Class: Google::Cloud::PubSub::V1::IngestionDataSourceSettings

Inherits:
Object
  • Object
show all
Extended by:
Protobuf::MessageExts::ClassMethods
Includes:
Protobuf::MessageExts
Defined in:
proto_docs/google/pubsub/v1/pubsub.rb

Overview

Settings for an ingestion data source on a topic.

Defined Under Namespace

Classes: AwsKinesis

Instance Attribute Summary collapse

Instance Attribute Details

#aws_kinesis::Google::Cloud::PubSub::V1::IngestionDataSourceSettings::AwsKinesis

Returns Optional. Amazon Kinesis Data Streams.

Returns:



74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
# File 'proto_docs/google/pubsub/v1/pubsub.rb', line 74

class IngestionDataSourceSettings
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Ingestion settings for Amazon Kinesis Data Streams.
  # @!attribute [r] state
  #   @return [::Google::Cloud::PubSub::V1::IngestionDataSourceSettings::AwsKinesis::State]
  #     Output only. An output-only field that indicates the state of the Kinesis
  #     ingestion source.
  # @!attribute [rw] stream_arn
  #   @return [::String]
  #     Required. The Kinesis stream ARN to ingest data from.
  # @!attribute [rw] consumer_arn
  #   @return [::String]
  #     Required. The Kinesis consumer ARN to used for ingestion in Enhanced
  #     Fan-Out mode. The consumer must be already created and ready to be used.
  # @!attribute [rw] aws_role_arn
  #   @return [::String]
  #     Required. AWS role ARN to be used for Federated Identity authentication
  #     with Kinesis. Check the Pub/Sub docs for how to set up this role and the
  #     required permissions that need to be attached to it.
  # @!attribute [rw] gcp_service_account
  #   @return [::String]
  #     Required. The GCP service account to be used for Federated Identity
  #     authentication with Kinesis (via a `AssumeRoleWithWebIdentity` call for
  #     the provided role). The `aws_role_arn` must be set up with
  #     `accounts.google.com:sub` equals to this service account number.
  class AwsKinesis
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Possible states for ingestion from Amazon Kinesis Data Streams.
    module State
      # Default value. This value is unused.
      STATE_UNSPECIFIED = 0

      # Ingestion is active.
      ACTIVE = 1

      # Permission denied encountered while consuming data from Kinesis.
      # This can happen if:
      #   - The provided `aws_role_arn` does not exist or does not have the
      #     appropriate permissions attached.
      #   - The provided `aws_role_arn` is not set up properly for Identity
      #     Federation using `gcp_service_account`.
      #   - The Pub/Sub SA is not granted the
      #     `iam.serviceAccounts.getOpenIdToken` permission on
      #     `gcp_service_account`.
      KINESIS_PERMISSION_DENIED = 2

      # Permission denied encountered while publishing to the topic. This can
      # happen if the Pub/Sub SA has not been granted the [appropriate publish
      # permissions](https://cloud.google.com/pubsub/docs/access-control#pubsub.publisher)
      PUBLISH_PERMISSION_DENIED = 3

      # The Kinesis stream does not exist.
      STREAM_NOT_FOUND = 4

      # The Kinesis consumer does not exist.
      CONSUMER_NOT_FOUND = 5
    end
  end
end