diff --git a/google-cloud-pubsub-v1/.owlbot-manifest.json b/google-cloud-pubsub-v1/.owlbot-manifest.json index ccb8d24a07ba..43bbc5381ca9 100644 --- a/google-cloud-pubsub-v1/.owlbot-manifest.json +++ b/google-cloud-pubsub-v1/.owlbot-manifest.json @@ -40,6 +40,7 @@ "proto_docs/google/protobuf/duration.rb", "proto_docs/google/protobuf/empty.rb", "proto_docs/google/protobuf/field_mask.rb", + "proto_docs/google/protobuf/struct.rb", "proto_docs/google/protobuf/timestamp.rb", "proto_docs/google/pubsub/v1/pubsub.rb", "proto_docs/google/pubsub/v1/schema.rb", diff --git a/google-cloud-pubsub-v1/lib/google/cloud/pubsub/v1/subscription_admin/client.rb b/google-cloud-pubsub-v1/lib/google/cloud/pubsub/v1/subscription_admin/client.rb index 71fa6e5bcede..57c9e406246f 100644 --- a/google-cloud-pubsub-v1/lib/google/cloud/pubsub/v1/subscription_admin/client.rb +++ b/google-cloud-pubsub-v1/lib/google/cloud/pubsub/v1/subscription_admin/client.rb @@ -429,6 +429,8 @@ def logger # resource. For example: # "123/environment": "production", # "123/costCenter": "marketing" + # See https://docs.cloud.google.com/pubsub/docs/tags for more information on + # using tags with Pub/Sub resources. # # @yield [response, operation] Access the result along with the RPC operation # @yieldparam response [::Google::Cloud::PubSub::V1::Subscription] @@ -513,7 +515,7 @@ def create_subscription request, options = nil # the default parameter values, pass an empty Hash as a request object (see above). # # @param subscription [::String] - # Required. Identifier. The name of the subscription to get. + # Required. The name of the subscription to get. # Format is `projects/{project}/subscriptions/{sub}`. # # @yield [response, operation] Access the result along with the RPC operation @@ -689,8 +691,8 @@ def update_subscription request, options = nil # the default parameter values, pass an empty Hash as a request object (see above). # # @param project [::String] - # Required. Identifier. The name of the project in which to list - # subscriptions. Format is `projects/{project-id}`. + # Required. The name of the project in which to list subscriptions. + # Format is `projects/{project-id}`. # @param page_size [::Integer] # Optional. Maximum number of subscriptions to return. # @param page_token [::String] @@ -791,7 +793,7 @@ def list_subscriptions request, options = nil # the default parameter values, pass an empty Hash as a request object (see above). # # @param subscription [::String] - # Required. Identifier. The subscription to delete. + # Required. The subscription to delete. # Format is `projects/{project}/subscriptions/{sub}`. # # @yield [response, operation] Access the result along with the RPC operation @@ -1359,7 +1361,7 @@ def modify_push_config request, options = nil # the default parameter values, pass an empty Hash as a request object (see above). # # @param snapshot [::String] - # Required. Identifier. The name of the snapshot to get. + # Required. The name of the snapshot to get. # Format is `projects/{project}/snapshots/{snap}`. # # @yield [response, operation] Access the result along with the RPC operation @@ -1449,7 +1451,7 @@ def get_snapshot request, options = nil # the default parameter values, pass an empty Hash as a request object (see above). # # @param project [::String] - # Required. Identifier. The name of the project in which to list snapshots. + # Required. The name of the project in which to list snapshots. # Format is `projects/{project-id}`. # @param page_size [::Integer] # Optional. Maximum number of snapshots to return. @@ -1562,10 +1564,10 @@ def list_snapshots request, options = nil # the default parameter values, pass an empty Hash as a request object (see above). # # @param name [::String] - # Required. Identifier. User-provided name for this snapshot. If the name is - # not provided in the request, the server will assign a random name for this - # snapshot on the same project as the subscription. Note that for REST API - # requests, you must specify a name. See the [resource name + # Required. User-provided name for this snapshot. If the name is not provided + # in the request, the server will assign a random name for this snapshot on + # the same project as the subscription. Note that for REST API requests, you + # must specify a name. See the [resource name # rules](https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names). # Format is `projects/{project}/snapshots/{snap}`. # @param subscription [::String] @@ -1586,6 +1588,8 @@ def list_snapshots request, options = nil # resource. For example: # "123/environment": "production", # "123/costCenter": "marketing" + # See https://docs.cloud.google.com/pubsub/docs/tags for more information on + # using tags with Pub/Sub resources. # # @yield [response, operation] Access the result along with the RPC operation # @yieldparam response [::Google::Cloud::PubSub::V1::Snapshot] @@ -1771,7 +1775,7 @@ def update_snapshot request, options = nil # the default parameter values, pass an empty Hash as a request object (see above). # # @param snapshot [::String] - # Required. Identifier. The name of the snapshot to delete. + # Required. The name of the snapshot to delete. # Format is `projects/{project}/snapshots/{snap}`. # # @yield [response, operation] Access the result along with the RPC operation diff --git a/google-cloud-pubsub-v1/lib/google/cloud/pubsub/v1/topic_admin/client.rb b/google-cloud-pubsub-v1/lib/google/cloud/pubsub/v1/topic_admin/client.rb index 0aac4cd2eed9..8c6c06ddbf4c 100644 --- a/google-cloud-pubsub-v1/lib/google/cloud/pubsub/v1/topic_admin/client.rb +++ b/google-cloud-pubsub-v1/lib/google/cloud/pubsub/v1/topic_admin/client.rb @@ -308,6 +308,8 @@ def logger # resource. For example: # "123/environment": "production", # "123/costCenter": "marketing" + # See https://docs.cloud.google.com/pubsub/docs/tags for more information on + # using tags with Pub/Sub resources. # # @yield [response, operation] Access the result along with the RPC operation # @yieldparam response [::Google::Cloud::PubSub::V1::Topic] @@ -485,8 +487,8 @@ def update_topic request, options = nil # the default parameter values, pass an empty Hash as a request object (see above). # # @param topic [::String] - # Required. Identifier. The messages in the request will be published on this - # topic. Format is `projects/{project}/topics/{topic}`. + # Required. The messages in the request will be published on this topic. + # Format is `projects/{project}/topics/{topic}`. # @param messages [::Array<::Google::Cloud::PubSub::V1::PubsubMessage, ::Hash>] # Required. The messages to publish. # @@ -573,7 +575,7 @@ def publish request, options = nil # the default parameter values, pass an empty Hash as a request object (see above). # # @param topic [::String] - # Required. Identifier. The name of the topic to get. + # Required. The name of the topic to get. # Format is `projects/{project}/topics/{topic}`. # # @yield [response, operation] Access the result along with the RPC operation @@ -659,7 +661,7 @@ def get_topic request, options = nil # the default parameter values, pass an empty Hash as a request object (see above). # # @param project [::String] - # Required. Identifier. The name of the project in which to list topics. + # Required. The name of the project in which to list topics. # Format is `projects/{project-id}`. # @param page_size [::Integer] # Optional. Maximum number of topics to return. @@ -949,7 +951,7 @@ def list_topic_snapshots request, options = nil # the default parameter values, pass an empty Hash as a request object (see above). # # @param topic [::String] - # Required. Identifier. Name of the topic to delete. + # Required. Name of the topic to delete. # Format is `projects/{project}/topics/{topic}`. # # @yield [response, operation] Access the result along with the RPC operation diff --git a/google-cloud-pubsub-v1/lib/google/pubsub/v1/pubsub_pb.rb b/google-cloud-pubsub-v1/lib/google/pubsub/v1/pubsub_pb.rb index 4d8ba220a3de..4205acd2be8a 100644 --- a/google-cloud-pubsub-v1/lib/google/pubsub/v1/pubsub_pb.rb +++ b/google-cloud-pubsub-v1/lib/google/pubsub/v1/pubsub_pb.rb @@ -11,11 +11,12 @@ require 'google/protobuf/duration_pb' require 'google/protobuf/empty_pb' require 'google/protobuf/field_mask_pb' +require 'google/protobuf/struct_pb' require 'google/protobuf/timestamp_pb' require 'google/pubsub/v1/schema_pb' -descriptor_data = "\n\x1dgoogle/pubsub/v1/pubsub.proto\x12\x10google.pubsub.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1dgoogle/pubsub/v1/schema.proto\"a\n\x14MessageStoragePolicy\x12(\n\x1b\x61llowed_persistence_regions\x18\x01 \x03(\tB\x03\xe0\x41\x01\x12\x1f\n\x12\x65nforce_in_transit\x18\x02 \x01(\x08\x42\x03\xe0\x41\x01\"\xb8\x01\n\x0eSchemaSettings\x12\x34\n\x06schema\x18\x01 \x01(\tB$\xe0\x41\x02\xfa\x41\x1e\n\x1cpubsub.googleapis.com/Schema\x12\x31\n\x08\x65ncoding\x18\x02 \x01(\x0e\x32\x1a.google.pubsub.v1.EncodingB\x03\xe0\x41\x01\x12\x1e\n\x11\x66irst_revision_id\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x1d\n\x10last_revision_id\x18\x04 \x01(\tB\x03\xe0\x41\x01\"\xe8\x17\n\x1bIngestionDataSourceSettings\x12T\n\x0b\x61ws_kinesis\x18\x01 \x01(\x0b\x32\x38.google.pubsub.v1.IngestionDataSourceSettings.AwsKinesisB\x03\xe0\x41\x01H\x00\x12X\n\rcloud_storage\x18\x02 \x01(\x0b\x32:.google.pubsub.v1.IngestionDataSourceSettings.CloudStorageB\x03\xe0\x41\x01H\x00\x12]\n\x10\x61zure_event_hubs\x18\x03 \x01(\x0b\x32<.google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubsB\x03\xe0\x41\x01H\x00\x12L\n\x07\x61ws_msk\x18\x05 \x01(\x0b\x32\x34.google.pubsub.v1.IngestionDataSourceSettings.AwsMskB\x03\xe0\x41\x01H\x00\x12\\\n\x0f\x63onfluent_cloud\x18\x06 \x01(\x0b\x32<.google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloudB\x03\xe0\x41\x01H\x00\x12K\n\x16platform_logs_settings\x18\x04 \x01(\x0b\x32&.google.pubsub.v1.PlatformLogsSettingsB\x03\xe0\x41\x01\x1a\xea\x02\n\nAwsKinesis\x12R\n\x05state\x18\x01 \x01(\x0e\x32>.google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis.StateB\x03\xe0\x41\x03\x12\x17\n\nstream_arn\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x19\n\x0c\x63onsumer_arn\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12\x19\n\x0c\x61ws_role_arn\x18\x04 \x01(\tB\x03\xe0\x41\x02\x12 \n\x13gcp_service_account\x18\x05 \x01(\tB\x03\xe0\x41\x02\"\x96\x01\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x12\x1d\n\x19KINESIS_PERMISSION_DENIED\x10\x02\x12\x1d\n\x19PUBLISH_PERMISSION_DENIED\x10\x03\x12\x14\n\x10STREAM_NOT_FOUND\x10\x04\x12\x16\n\x12\x43ONSUMER_NOT_FOUND\x10\x05\x1a\x95\x06\n\x0c\x43loudStorage\x12T\n\x05state\x18\x01 \x01(\x0e\x32@.google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.StateB\x03\xe0\x41\x03\x12\x13\n\x06\x62ucket\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x61\n\x0btext_format\x18\x03 \x01(\x0b\x32\x45.google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.TextFormatB\x03\xe0\x41\x01H\x00\x12\x61\n\x0b\x61vro_format\x18\x04 \x01(\x0b\x32\x45.google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.AvroFormatB\x03\xe0\x41\x01H\x00\x12n\n\x12pubsub_avro_format\x18\x05 \x01(\x0b\x32K.google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.PubSubAvroFormatB\x03\xe0\x41\x01H\x00\x12\x43\n\x1aminimum_object_create_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01\x12\x17\n\nmatch_glob\x18\t \x01(\tB\x03\xe0\x41\x01\x1a\x37\n\nTextFormat\x12\x1b\n\tdelimiter\x18\x01 \x01(\tB\x03\xe0\x41\x01H\x00\x88\x01\x01\x42\x0c\n\n_delimiter\x1a\x0c\n\nAvroFormat\x1a\x12\n\x10PubSubAvroFormat\"\x9a\x01\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x12#\n\x1f\x43LOUD_STORAGE_PERMISSION_DENIED\x10\x02\x12\x1d\n\x19PUBLISH_PERMISSION_DENIED\x10\x03\x12\x14\n\x10\x42UCKET_NOT_FOUND\x10\x04\x12\x14\n\x10TOO_MANY_OBJECTS\x10\x05\x42\x0e\n\x0cinput_format\x1a\xff\x03\n\x0e\x41zureEventHubs\x12V\n\x05state\x18\x01 \x01(\x0e\x32\x42.google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs.StateB\x03\xe0\x41\x03\x12\x1b\n\x0eresource_group\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x16\n\tnamespace\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x16\n\tevent_hub\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x16\n\tclient_id\x18\x05 \x01(\tB\x03\xe0\x41\x01\x12\x16\n\ttenant_id\x18\x06 \x01(\tB\x03\xe0\x41\x01\x12\x1c\n\x0fsubscription_id\x18\x07 \x01(\tB\x03\xe0\x41\x01\x12 \n\x13gcp_service_account\x18\x08 \x01(\tB\x03\xe0\x41\x01\"\xd7\x01\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x12 \n\x1c\x45VENT_HUBS_PERMISSION_DENIED\x10\x02\x12\x1d\n\x19PUBLISH_PERMISSION_DENIED\x10\x03\x12\x17\n\x13NAMESPACE_NOT_FOUND\x10\x04\x12\x17\n\x13\x45VENT_HUB_NOT_FOUND\x10\x05\x12\x1a\n\x16SUBSCRIPTION_NOT_FOUND\x10\x06\x12\x1c\n\x18RESOURCE_GROUP_NOT_FOUND\x10\x07\x1a\xf6\x02\n\x06\x41wsMsk\x12N\n\x05state\x18\x01 \x01(\x0e\x32:.google.pubsub.v1.IngestionDataSourceSettings.AwsMsk.StateB\x03\xe0\x41\x03\x12\x18\n\x0b\x63luster_arn\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x32\n\x05topic\x18\x03 \x01(\tB#\xe0\x41\x02\xfa\x41\x1d\n\x1bpubsub.googleapis.com/Topic\x12\x19\n\x0c\x61ws_role_arn\x18\x04 \x01(\tB\x03\xe0\x41\x02\x12 \n\x13gcp_service_account\x18\x05 \x01(\tB\x03\xe0\x41\x02\"\x90\x01\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x12\x19\n\x15MSK_PERMISSION_DENIED\x10\x02\x12\x1d\n\x19PUBLISH_PERMISSION_DENIED\x10\x03\x12\x15\n\x11\x43LUSTER_NOT_FOUND\x10\x04\x12\x13\n\x0fTOPIC_NOT_FOUND\x10\x05\x1a\xb6\x03\n\x0e\x43onfluentCloud\x12V\n\x05state\x18\x01 \x01(\x0e\x32\x42.google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud.StateB\x03\xe0\x41\x03\x12\x1d\n\x10\x62ootstrap_server\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x17\n\ncluster_id\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12\x12\n\x05topic\x18\x04 \x01(\tB\x03\xe0\x41\x02\x12\x1d\n\x10identity_pool_id\x18\x05 \x01(\tB\x03\xe0\x41\x02\x12 \n\x13gcp_service_account\x18\x06 \x01(\tB\x03\xe0\x41\x02\"\xbe\x01\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x12%\n!CONFLUENT_CLOUD_PERMISSION_DENIED\x10\x02\x12\x1d\n\x19PUBLISH_PERMISSION_DENIED\x10\x03\x12 \n\x1cUNREACHABLE_BOOTSTRAP_SERVER\x10\x04\x12\x15\n\x11\x43LUSTER_NOT_FOUND\x10\x05\x12\x13\n\x0fTOPIC_NOT_FOUND\x10\x06\x42\x08\n\x06source\"\xbf\x01\n\x14PlatformLogsSettings\x12\x46\n\x08severity\x18\x01 \x01(\x0e\x32/.google.pubsub.v1.PlatformLogsSettings.SeverityB\x03\xe0\x41\x01\"_\n\x08Severity\x12\x18\n\x14SEVERITY_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x44ISABLED\x10\x01\x12\t\n\x05\x44\x45\x42UG\x10\x02\x12\x08\n\x04INFO\x10\x03\x12\x0b\n\x07WARNING\x10\x04\x12\t\n\x05\x45RROR\x10\x05\"\xb9\x18\n\x15IngestionFailureEvent\x12\x32\n\x05topic\x18\x01 \x01(\tB#\xe0\x41\x02\xfa\x41\x1d\n\x1bpubsub.googleapis.com/Topic\x12\x1a\n\rerror_message\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x61\n\x15\x63loud_storage_failure\x18\x03 \x01(\x0b\x32;.google.pubsub.v1.IngestionFailureEvent.CloudStorageFailureB\x03\xe0\x41\x01H\x00\x12[\n\x0f\x61ws_msk_failure\x18\x04 \x01(\x0b\x32;.google.pubsub.v1.IngestionFailureEvent.AwsMskFailureReasonB\x03\xe0\x41\x01H\x00\x12l\n\x18\x61zure_event_hubs_failure\x18\x05 \x01(\x0b\x32\x43.google.pubsub.v1.IngestionFailureEvent.AzureEventHubsFailureReasonB\x03\xe0\x41\x01H\x00\x12k\n\x17\x63onfluent_cloud_failure\x18\x06 \x01(\x0b\x32\x43.google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReasonB\x03\xe0\x41\x01H\x00\x12\x63\n\x13\x61ws_kinesis_failure\x18\x07 \x01(\x0b\x32?.google.pubsub.v1.IngestionFailureEvent.AwsKinesisFailureReasonB\x03\xe0\x41\x01H\x00\x1a\x14\n\x12\x41piViolationReason\x1a\x13\n\x11\x41vroFailureReason\x1a\x17\n\x15SchemaViolationReason\x1a$\n\"MessageTransformationFailureReason\x1a\x98\x04\n\x13\x43loudStorageFailure\x12\x13\n\x06\x62ucket\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x18\n\x0bobject_name\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x1e\n\x11object_generation\x18\x03 \x01(\x03\x42\x03\xe0\x41\x01\x12]\n\x13\x61vro_failure_reason\x18\x05 \x01(\x0b\x32\x39.google.pubsub.v1.IngestionFailureEvent.AvroFailureReasonB\x03\xe0\x41\x01H\x00\x12_\n\x14\x61pi_violation_reason\x18\x06 \x01(\x0b\x32:.google.pubsub.v1.IngestionFailureEvent.ApiViolationReasonB\x03\xe0\x41\x01H\x00\x12\x65\n\x17schema_violation_reason\x18\x07 \x01(\x0b\x32=.google.pubsub.v1.IngestionFailureEvent.SchemaViolationReasonB\x03\xe0\x41\x01H\x00\x12\x80\x01\n%message_transformation_failure_reason\x18\x08 \x01(\x0b\x32J.google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReasonB\x03\xe0\x41\x01H\x00\x42\x08\n\x06reason\x1a\xce\x03\n\x13\x41wsMskFailureReason\x12\x18\n\x0b\x63luster_arn\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x18\n\x0bkafka_topic\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x19\n\x0cpartition_id\x18\x03 \x01(\x03\x42\x03\xe0\x41\x01\x12\x13\n\x06offset\x18\x04 \x01(\x03\x42\x03\xe0\x41\x01\x12_\n\x14\x61pi_violation_reason\x18\x05 \x01(\x0b\x32:.google.pubsub.v1.IngestionFailureEvent.ApiViolationReasonB\x03\xe0\x41\x01H\x00\x12\x65\n\x17schema_violation_reason\x18\x06 \x01(\x0b\x32=.google.pubsub.v1.IngestionFailureEvent.SchemaViolationReasonB\x03\xe0\x41\x01H\x00\x12\x80\x01\n%message_transformation_failure_reason\x18\x07 \x01(\x0b\x32J.google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReasonB\x03\xe0\x41\x01H\x00\x42\x08\n\x06reason\x1a\xd2\x03\n\x1b\x41zureEventHubsFailureReason\x12\x16\n\tnamespace\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x16\n\tevent_hub\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x19\n\x0cpartition_id\x18\x03 \x01(\x03\x42\x03\xe0\x41\x01\x12\x13\n\x06offset\x18\x04 \x01(\x03\x42\x03\xe0\x41\x01\x12_\n\x14\x61pi_violation_reason\x18\x05 \x01(\x0b\x32:.google.pubsub.v1.IngestionFailureEvent.ApiViolationReasonB\x03\xe0\x41\x01H\x00\x12\x65\n\x17schema_violation_reason\x18\x06 \x01(\x0b\x32=.google.pubsub.v1.IngestionFailureEvent.SchemaViolationReasonB\x03\xe0\x41\x01H\x00\x12\x80\x01\n%message_transformation_failure_reason\x18\x07 \x01(\x0b\x32J.google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReasonB\x03\xe0\x41\x01H\x00\x42\x08\n\x06reason\x1a\xd5\x03\n\x1b\x43onfluentCloudFailureReason\x12\x17\n\ncluster_id\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x18\n\x0bkafka_topic\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x19\n\x0cpartition_id\x18\x03 \x01(\x03\x42\x03\xe0\x41\x01\x12\x13\n\x06offset\x18\x04 \x01(\x03\x42\x03\xe0\x41\x01\x12_\n\x14\x61pi_violation_reason\x18\x05 \x01(\x0b\x32:.google.pubsub.v1.IngestionFailureEvent.ApiViolationReasonB\x03\xe0\x41\x01H\x00\x12\x65\n\x17schema_violation_reason\x18\x06 \x01(\x0b\x32=.google.pubsub.v1.IngestionFailureEvent.SchemaViolationReasonB\x03\xe0\x41\x01H\x00\x12\x80\x01\n%message_transformation_failure_reason\x18\x07 \x01(\x0b\x32J.google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReasonB\x03\xe0\x41\x01H\x00\x42\x08\n\x06reason\x1a\xc1\x03\n\x17\x41wsKinesisFailureReason\x12\x17\n\nstream_arn\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rpartition_key\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x1c\n\x0fsequence_number\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x65\n\x17schema_violation_reason\x18\x04 \x01(\x0b\x32=.google.pubsub.v1.IngestionFailureEvent.SchemaViolationReasonB\x03\xe0\x41\x01H\x00\x12\x80\x01\n%message_transformation_failure_reason\x18\x05 \x01(\x0b\x32J.google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReasonB\x03\xe0\x41\x01H\x00\x12_\n\x14\x61pi_violation_reason\x18\x06 \x01(\x0b\x32:.google.pubsub.v1.IngestionFailureEvent.ApiViolationReasonB\x03\xe0\x41\x01H\x00\x42\x08\n\x06reasonB\t\n\x07\x66\x61ilure\">\n\rJavaScriptUDF\x12\x1a\n\rfunction_name\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x11\n\x04\x63ode\x18\x02 \x01(\tB\x03\xe0\x41\x02\"\x8e\x01\n\x10MessageTransform\x12>\n\x0ejavascript_udf\x18\x02 \x01(\x0b\x32\x1f.google.pubsub.v1.JavaScriptUDFB\x03\xe0\x41\x01H\x00\x12\x16\n\x07\x65nabled\x18\x03 \x01(\x08\x42\x05\x18\x01\xe0\x41\x01\x12\x15\n\x08\x64isabled\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\x42\x0b\n\ttransform\"\xa0\x07\n\x05Topic\x12\x14\n\x04name\x18\x01 \x01(\tB\x06\xe0\x41\x02\xe0\x41\x08\x12\x38\n\x06labels\x18\x02 \x03(\x0b\x32#.google.pubsub.v1.Topic.LabelsEntryB\x03\xe0\x41\x01\x12K\n\x16message_storage_policy\x18\x03 \x01(\x0b\x32&.google.pubsub.v1.MessageStoragePolicyB\x03\xe0\x41\x01\x12?\n\x0ckms_key_name\x18\x05 \x01(\tB)\xe0\x41\x01\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\x12>\n\x0fschema_settings\x18\x06 \x01(\x0b\x32 .google.pubsub.v1.SchemaSettingsB\x03\xe0\x41\x01\x12\x1a\n\rsatisfies_pzs\x18\x07 \x01(\x08\x42\x03\xe0\x41\x01\x12\x42\n\x1amessage_retention_duration\x18\x08 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\x12\x31\n\x05state\x18\t \x01(\x0e\x32\x1d.google.pubsub.v1.Topic.StateB\x03\xe0\x41\x03\x12Z\n\x1eingestion_data_source_settings\x18\n \x01(\x0b\x32-.google.pubsub.v1.IngestionDataSourceSettingsB\x03\xe0\x41\x01\x12\x43\n\x12message_transforms\x18\r \x03(\x0b\x32\".google.pubsub.v1.MessageTransformB\x03\xe0\x41\x01\x12:\n\x04tags\x18\x0e \x03(\x0b\x32!.google.pubsub.v1.Topic.TagsEntryB\t\xe0\x41\x04\xe0\x41\x05\xe0\x41\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"H\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x12\x1c\n\x18INGESTION_RESOURCE_ERROR\x10\x02:c\xea\x41`\n\x1bpubsub.googleapis.com/Topic\x12!projects/{project}/topics/{topic}\x12\x0f_deleted-topic_*\x06topics2\x05topic\"\x80\x02\n\rPubsubMessage\x12\x11\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x42\x03\xe0\x41\x01\x12H\n\nattributes\x18\x02 \x03(\x0b\x32/.google.pubsub.v1.PubsubMessage.AttributesEntryB\x03\xe0\x41\x01\x12\x12\n\nmessage_id\x18\x03 \x01(\t\x12\x30\n\x0cpublish_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x19\n\x0cordering_key\x18\x05 \x01(\tB\x03\xe0\x41\x01\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"H\n\x0fGetTopicRequest\x12\x35\n\x05topic\x18\x01 \x01(\tB&\xe0\x41\x02\xe0\x41\x08\xfa\x41\x1d\n\x1bpubsub.googleapis.com/Topic\"w\n\x12UpdateTopicRequest\x12+\n\x05topic\x18\x01 \x01(\x0b\x32\x17.google.pubsub.v1.TopicB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02\"\x7f\n\x0ePublishRequest\x12\x35\n\x05topic\x18\x01 \x01(\tB&\xe0\x41\x02\xe0\x41\x08\xfa\x41\x1d\n\x1bpubsub.googleapis.com/Topic\x12\x36\n\x08messages\x18\x02 \x03(\x0b\x32\x1f.google.pubsub.v1.PubsubMessageB\x03\xe0\x41\x02\"+\n\x0fPublishResponse\x12\x18\n\x0bmessage_ids\x18\x01 \x03(\tB\x03\xe0\x41\x01\"\x8d\x01\n\x11ListTopicsRequest\x12G\n\x07project\x18\x01 \x01(\tB6\xe0\x41\x02\xe0\x41\x08\xfa\x41-\n+cloudresourcemanager.googleapis.com/Project\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\"`\n\x12ListTopicsResponse\x12,\n\x06topics\x18\x01 \x03(\x0b\x32\x17.google.pubsub.v1.TopicB\x03\xe0\x41\x01\x12\x1c\n\x0fnext_page_token\x18\x02 \x01(\tB\x03\xe0\x41\x01\"\x84\x01\n\x1dListTopicSubscriptionsRequest\x12\x32\n\x05topic\x18\x01 \x01(\tB#\xe0\x41\x02\xfa\x41\x1d\n\x1bpubsub.googleapis.com/Topic\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\"\x81\x01\n\x1eListTopicSubscriptionsResponse\x12\x41\n\rsubscriptions\x18\x01 \x03(\tB*\xe0\x41\x01\xfa\x41$\n\"pubsub.googleapis.com/Subscription\x12\x1c\n\x0fnext_page_token\x18\x02 \x01(\tB\x03\xe0\x41\x01\"\x80\x01\n\x19ListTopicSnapshotsRequest\x12\x32\n\x05topic\x18\x01 \x01(\tB#\xe0\x41\x02\xfa\x41\x1d\n\x1bpubsub.googleapis.com/Topic\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\"u\n\x1aListTopicSnapshotsResponse\x12\x39\n\tsnapshots\x18\x01 \x03(\tB&\xe0\x41\x01\xfa\x41 \n\x1epubsub.googleapis.com/Snapshot\x12\x1c\n\x0fnext_page_token\x18\x02 \x01(\tB\x03\xe0\x41\x01\"K\n\x12\x44\x65leteTopicRequest\x12\x35\n\x05topic\x18\x01 \x01(\tB&\xe0\x41\x02\xe0\x41\x08\xfa\x41\x1d\n\x1bpubsub.googleapis.com/Topic\"]\n\x19\x44\x65tachSubscriptionRequest\x12@\n\x0csubscription\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"pubsub.googleapis.com/Subscription\"\x1c\n\x1a\x44\x65tachSubscriptionResponse\"\xa8\x0c\n\x0cSubscription\x12\x14\n\x04name\x18\x01 \x01(\tB\x06\xe0\x41\x02\xe0\x41\x08\x12\x32\n\x05topic\x18\x02 \x01(\tB#\xe0\x41\x02\xfa\x41\x1d\n\x1bpubsub.googleapis.com/Topic\x12\x36\n\x0bpush_config\x18\x04 \x01(\x0b\x32\x1c.google.pubsub.v1.PushConfigB\x03\xe0\x41\x01\x12>\n\x0f\x62igquery_config\x18\x12 \x01(\x0b\x32 .google.pubsub.v1.BigQueryConfigB\x03\xe0\x41\x01\x12G\n\x14\x63loud_storage_config\x18\x16 \x01(\x0b\x32$.google.pubsub.v1.CloudStorageConfigB\x03\xe0\x41\x01\x12!\n\x14\x61\x63k_deadline_seconds\x18\x05 \x01(\x05\x42\x03\xe0\x41\x01\x12\"\n\x15retain_acked_messages\x18\x07 \x01(\x08\x42\x03\xe0\x41\x01\x12\x42\n\x1amessage_retention_duration\x18\x08 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\x12?\n\x06labels\x18\t \x03(\x0b\x32*.google.pubsub.v1.Subscription.LabelsEntryB\x03\xe0\x41\x01\x12$\n\x17\x65nable_message_ordering\x18\n \x01(\x08\x42\x03\xe0\x41\x01\x12\x42\n\x11\x65xpiration_policy\x18\x0b \x01(\x0b\x32\".google.pubsub.v1.ExpirationPolicyB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x0c \x01(\tB\x03\xe0\x41\x01\x12\x43\n\x12\x64\x65\x61\x64_letter_policy\x18\r \x01(\x0b\x32\".google.pubsub.v1.DeadLetterPolicyB\x03\xe0\x41\x01\x12\x38\n\x0cretry_policy\x18\x0e \x01(\x0b\x32\x1d.google.pubsub.v1.RetryPolicyB\x03\xe0\x41\x01\x12\x15\n\x08\x64\x65tached\x18\x0f \x01(\x08\x42\x03\xe0\x41\x01\x12)\n\x1c\x65nable_exactly_once_delivery\x18\x10 \x01(\x08\x42\x03\xe0\x41\x01\x12H\n topic_message_retention_duration\x18\x11 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x03\x12\x38\n\x05state\x18\x13 \x01(\x0e\x32$.google.pubsub.v1.Subscription.StateB\x03\xe0\x41\x03\x12i\n\x1f\x61nalytics_hub_subscription_info\x18\x17 \x01(\x0b\x32;.google.pubsub.v1.Subscription.AnalyticsHubSubscriptionInfoB\x03\xe0\x41\x03\x12\x43\n\x12message_transforms\x18\x19 \x03(\x0b\x32\".google.pubsub.v1.MessageTransformB\x03\xe0\x41\x01\x12\x41\n\x04tags\x18\x1a \x03(\x0b\x32(.google.pubsub.v1.Subscription.TagsEntryB\t\xe0\x41\x04\xe0\x41\x05\xe0\x41\x01\x1aw\n\x1c\x41nalyticsHubSubscriptionInfo\x12<\n\x07listing\x18\x01 \x01(\tB+\xe0\x41\x01\xfa\x41%\n#analyticshub.googleapis.com/Listing\x12\x19\n\x0csubscription\x18\x02 \x01(\tB\x03\xe0\x41\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\">\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x12\x12\n\x0eRESOURCE_ERROR\x10\x02:u\xea\x41r\n\"pubsub.googleapis.com/Subscription\x12/projects/{project}/subscriptions/{subscription}*\rsubscriptions2\x0csubscription\"\x7f\n\x0bRetryPolicy\x12\x37\n\x0fminimum_backoff\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\x12\x37\n\x0fmaximum_backoff\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\"v\n\x10\x44\x65\x61\x64LetterPolicy\x12>\n\x11\x64\x65\x61\x64_letter_topic\x18\x01 \x01(\tB#\xe0\x41\x01\xfa\x41\x1d\n\x1bpubsub.googleapis.com/Topic\x12\"\n\x15max_delivery_attempts\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\"?\n\x10\x45xpirationPolicy\x12+\n\x03ttl\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\"\x9a\x04\n\nPushConfig\x12\x1a\n\rpush_endpoint\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x45\n\nattributes\x18\x02 \x03(\x0b\x32,.google.pubsub.v1.PushConfig.AttributesEntryB\x03\xe0\x41\x01\x12\x41\n\noidc_token\x18\x03 \x01(\x0b\x32&.google.pubsub.v1.PushConfig.OidcTokenB\x03\xe0\x41\x01H\x00\x12I\n\x0epubsub_wrapper\x18\x04 \x01(\x0b\x32*.google.pubsub.v1.PushConfig.PubsubWrapperB\x03\xe0\x41\x01H\x01\x12\x41\n\nno_wrapper\x18\x05 \x01(\x0b\x32&.google.pubsub.v1.PushConfig.NoWrapperB\x03\xe0\x41\x01H\x01\x1a\x46\n\tOidcToken\x12\"\n\x15service_account_email\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08\x61udience\x18\x02 \x01(\tB\x03\xe0\x41\x01\x1a\x0f\n\rPubsubWrapper\x1a(\n\tNoWrapper\x12\x1b\n\x0ewrite_metadata\x18\x01 \x01(\x08\x42\x03\xe0\x41\x01\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x17\n\x15\x61uthentication_methodB\t\n\x07wrapper\"\x8e\x03\n\x0e\x42igQueryConfig\x12\x12\n\x05table\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x1d\n\x10use_topic_schema\x18\x02 \x01(\x08\x42\x03\xe0\x41\x01\x12\x1b\n\x0ewrite_metadata\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\x12 \n\x13\x64rop_unknown_fields\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\x12:\n\x05state\x18\x05 \x01(\x0e\x32&.google.pubsub.v1.BigQueryConfig.StateB\x03\xe0\x41\x03\x12\x1d\n\x10use_table_schema\x18\x06 \x01(\x08\x42\x03\xe0\x41\x01\x12\"\n\x15service_account_email\x18\x07 \x01(\tB\x03\xe0\x41\x01\"\x8a\x01\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x12\x15\n\x11PERMISSION_DENIED\x10\x02\x12\r\n\tNOT_FOUND\x10\x03\x12\x13\n\x0fSCHEMA_MISMATCH\x10\x04\x12#\n\x1fIN_TRANSIT_LOCATION_RESTRICTION\x10\x05\"\xe9\x05\n\x12\x43loudStorageConfig\x12\x13\n\x06\x62ucket\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x1c\n\x0f\x66ilename_prefix\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x1c\n\x0f\x66ilename_suffix\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12%\n\x18\x66ilename_datetime_format\x18\n \x01(\tB\x03\xe0\x41\x01\x12K\n\x0btext_config\x18\x04 \x01(\x0b\x32/.google.pubsub.v1.CloudStorageConfig.TextConfigB\x03\xe0\x41\x01H\x00\x12K\n\x0b\x61vro_config\x18\x05 \x01(\x0b\x32/.google.pubsub.v1.CloudStorageConfig.AvroConfigB\x03\xe0\x41\x01H\x00\x12\x34\n\x0cmax_duration\x18\x06 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\x12\x16\n\tmax_bytes\x18\x07 \x01(\x03\x42\x03\xe0\x41\x01\x12\x19\n\x0cmax_messages\x18\x08 \x01(\x03\x42\x03\xe0\x41\x01\x12>\n\x05state\x18\t \x01(\x0e\x32*.google.pubsub.v1.CloudStorageConfig.StateB\x03\xe0\x41\x03\x12\"\n\x15service_account_email\x18\x0b \x01(\tB\x03\xe0\x41\x01\x1a\x0c\n\nTextConfig\x1aH\n\nAvroConfig\x12\x1b\n\x0ewrite_metadata\x18\x01 \x01(\x08\x42\x03\xe0\x41\x01\x12\x1d\n\x10use_topic_schema\x18\x02 \x01(\x08\x42\x03\xe0\x41\x01\"\x8a\x01\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x12\x15\n\x11PERMISSION_DENIED\x10\x02\x12\r\n\tNOT_FOUND\x10\x03\x12#\n\x1fIN_TRANSIT_LOCATION_RESTRICTION\x10\x04\x12\x13\n\x0fSCHEMA_MISMATCH\x10\x05\x42\x0f\n\routput_format\"|\n\x0fReceivedMessage\x12\x13\n\x06\x61\x63k_id\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x35\n\x07message\x18\x02 \x01(\x0b\x32\x1f.google.pubsub.v1.PubsubMessageB\x03\xe0\x41\x01\x12\x1d\n\x10\x64\x65livery_attempt\x18\x03 \x01(\x05\x42\x03\xe0\x41\x01\"]\n\x16GetSubscriptionRequest\x12\x43\n\x0csubscription\x18\x01 \x01(\tB-\xe0\x41\x02\xe0\x41\x08\xfa\x41$\n\"pubsub.googleapis.com/Subscription\"\x8c\x01\n\x19UpdateSubscriptionRequest\x12\x39\n\x0csubscription\x18\x01 \x01(\x0b\x32\x1e.google.pubsub.v1.SubscriptionB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02\"\x94\x01\n\x18ListSubscriptionsRequest\x12G\n\x07project\x18\x01 \x01(\tB6\xe0\x41\x02\xe0\x41\x08\xfa\x41-\n+cloudresourcemanager.googleapis.com/Project\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\"u\n\x19ListSubscriptionsResponse\x12:\n\rsubscriptions\x18\x01 \x03(\x0b\x32\x1e.google.pubsub.v1.SubscriptionB\x03\xe0\x41\x01\x12\x1c\n\x0fnext_page_token\x18\x02 \x01(\tB\x03\xe0\x41\x01\"`\n\x19\x44\x65leteSubscriptionRequest\x12\x43\n\x0csubscription\x18\x01 \x01(\tB-\xe0\x41\x02\xe0\x41\x08\xfa\x41$\n\"pubsub.googleapis.com/Subscription\"\x93\x01\n\x17ModifyPushConfigRequest\x12@\n\x0csubscription\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"pubsub.googleapis.com/Subscription\x12\x36\n\x0bpush_config\x18\x02 \x01(\x0b\x32\x1c.google.pubsub.v1.PushConfigB\x03\xe0\x41\x02\"\x8d\x01\n\x0bPullRequest\x12@\n\x0csubscription\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"pubsub.googleapis.com/Subscription\x12!\n\x12return_immediately\x18\x02 \x01(\x08\x42\x05\x18\x01\xe0\x41\x01\x12\x19\n\x0cmax_messages\x18\x03 \x01(\x05\x42\x03\xe0\x41\x02\"Q\n\x0cPullResponse\x12\x41\n\x11received_messages\x18\x01 \x03(\x0b\x32!.google.pubsub.v1.ReceivedMessageB\x03\xe0\x41\x01\"\x95\x01\n\x18ModifyAckDeadlineRequest\x12@\n\x0csubscription\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"pubsub.googleapis.com/Subscription\x12\x14\n\x07\x61\x63k_ids\x18\x04 \x03(\tB\x03\xe0\x41\x02\x12!\n\x14\x61\x63k_deadline_seconds\x18\x03 \x01(\x05\x42\x03\xe0\x41\x02\"l\n\x12\x41\x63knowledgeRequest\x12@\n\x0csubscription\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"pubsub.googleapis.com/Subscription\x12\x14\n\x07\x61\x63k_ids\x18\x02 \x03(\tB\x03\xe0\x41\x02\"\xe6\x02\n\x14StreamingPullRequest\x12@\n\x0csubscription\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"pubsub.googleapis.com/Subscription\x12\x14\n\x07\x61\x63k_ids\x18\x02 \x03(\tB\x03\xe0\x41\x01\x12$\n\x17modify_deadline_seconds\x18\x03 \x03(\x05\x42\x03\xe0\x41\x01\x12$\n\x17modify_deadline_ack_ids\x18\x04 \x03(\tB\x03\xe0\x41\x01\x12(\n\x1bstream_ack_deadline_seconds\x18\x05 \x01(\x05\x42\x03\xe0\x41\x02\x12\x16\n\tclient_id\x18\x06 \x01(\tB\x03\xe0\x41\x01\x12%\n\x18max_outstanding_messages\x18\x07 \x01(\x03\x42\x03\xe0\x41\x01\x12\"\n\x15max_outstanding_bytes\x18\x08 \x01(\x03\x42\x03\xe0\x41\x01\x12\x1d\n\x10protocol_version\x18\n \x01(\x03\x42\x03\xe0\x41\x01\"\x9e\x06\n\x15StreamingPullResponse\x12\x41\n\x11received_messages\x18\x01 \x03(\x0b\x32!.google.pubsub.v1.ReceivedMessageB\x03\xe0\x41\x01\x12\x66\n\x18\x61\x63knowledge_confirmation\x18\x05 \x01(\x0b\x32?.google.pubsub.v1.StreamingPullResponse.AcknowledgeConfirmationB\x03\xe0\x41\x01\x12t\n modify_ack_deadline_confirmation\x18\x03 \x01(\x0b\x32\x45.google.pubsub.v1.StreamingPullResponse.ModifyAckDeadlineConfirmationB\x03\xe0\x41\x01\x12\x64\n\x17subscription_properties\x18\x04 \x01(\x0b\x32>.google.pubsub.v1.StreamingPullResponse.SubscriptionPropertiesB\x03\xe0\x41\x01\x1a\x94\x01\n\x17\x41\x63knowledgeConfirmation\x12\x14\n\x07\x61\x63k_ids\x18\x01 \x03(\tB\x03\xe0\x41\x01\x12\x1c\n\x0finvalid_ack_ids\x18\x02 \x03(\tB\x03\xe0\x41\x01\x12\x1e\n\x11unordered_ack_ids\x18\x03 \x03(\tB\x03\xe0\x41\x01\x12%\n\x18temporary_failed_ack_ids\x18\x04 \x03(\tB\x03\xe0\x41\x01\x1az\n\x1dModifyAckDeadlineConfirmation\x12\x14\n\x07\x61\x63k_ids\x18\x01 \x03(\tB\x03\xe0\x41\x01\x12\x1c\n\x0finvalid_ack_ids\x18\x02 \x03(\tB\x03\xe0\x41\x01\x12%\n\x18temporary_failed_ack_ids\x18\x03 \x03(\tB\x03\xe0\x41\x01\x1ak\n\x16SubscriptionProperties\x12*\n\x1d\x65xactly_once_delivery_enabled\x18\x01 \x01(\x08\x42\x03\xe0\x41\x01\x12%\n\x18message_ordering_enabled\x18\x02 \x01(\x08\x42\x03\xe0\x41\x01\"\x84\x03\n\x15\x43reateSnapshotRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xe0\x41\x08\xfa\x41 \n\x1epubsub.googleapis.com/Snapshot\x12@\n\x0csubscription\x18\x02 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"pubsub.googleapis.com/Subscription\x12H\n\x06labels\x18\x03 \x03(\x0b\x32\x33.google.pubsub.v1.CreateSnapshotRequest.LabelsEntryB\x03\xe0\x41\x01\x12J\n\x04tags\x18\x04 \x03(\x0b\x32\x31.google.pubsub.v1.CreateSnapshotRequest.TagsEntryB\t\xe0\x41\x04\xe0\x41\x05\xe0\x41\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x80\x01\n\x15UpdateSnapshotRequest\x12\x31\n\x08snapshot\x18\x01 \x01(\x0b\x32\x1a.google.pubsub.v1.SnapshotB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02\"\xd6\x02\n\x08Snapshot\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x32\n\x05topic\x18\x02 \x01(\tB#\xe0\x41\x01\xfa\x41\x1d\n\x1bpubsub.googleapis.com/Topic\x12\x34\n\x0b\x65xpire_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01\x12;\n\x06labels\x18\x04 \x03(\x0b\x32&.google.pubsub.v1.Snapshot.LabelsEntryB\x03\xe0\x41\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:a\xea\x41^\n\x1epubsub.googleapis.com/Snapshot\x12\'projects/{project}/snapshots/{snapshot}*\tsnapshots2\x08snapshot\"Q\n\x12GetSnapshotRequest\x12;\n\x08snapshot\x18\x01 \x01(\tB)\xe0\x41\x02\xe0\x41\x08\xfa\x41 \n\x1epubsub.googleapis.com/Snapshot\"\x90\x01\n\x14ListSnapshotsRequest\x12G\n\x07project\x18\x01 \x01(\tB6\xe0\x41\x02\xe0\x41\x08\xfa\x41-\n+cloudresourcemanager.googleapis.com/Project\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\"i\n\x15ListSnapshotsResponse\x12\x32\n\tsnapshots\x18\x01 \x03(\x0b\x32\x1a.google.pubsub.v1.SnapshotB\x03\xe0\x41\x01\x12\x1c\n\x0fnext_page_token\x18\x02 \x01(\tB\x03\xe0\x41\x01\"T\n\x15\x44\x65leteSnapshotRequest\x12;\n\x08snapshot\x18\x01 \x01(\tB)\xe0\x41\x02\xe0\x41\x08\xfa\x41 \n\x1epubsub.googleapis.com/Snapshot\"\xc6\x01\n\x0bSeekRequest\x12@\n\x0csubscription\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"pubsub.googleapis.com/Subscription\x12/\n\x04time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01H\x00\x12:\n\x08snapshot\x18\x03 \x01(\tB&\xe0\x41\x01\xfa\x41 \n\x1epubsub.googleapis.com/SnapshotH\x00\x42\x08\n\x06target\"\x0e\n\x0cSeekResponse2\xb8\x0b\n\tPublisher\x12q\n\x0b\x43reateTopic\x12\x17.google.pubsub.v1.Topic\x1a\x17.google.pubsub.v1.Topic\"0\xda\x41\x04name\x82\xd3\xe4\x93\x02#\x1a\x1e/v1/{name=projects/*/topics/*}:\x01*\x12\x91\x01\n\x0bUpdateTopic\x12$.google.pubsub.v1.UpdateTopicRequest\x1a\x17.google.pubsub.v1.Topic\"C\xda\x41\x11topic,update_mask\x82\xd3\xe4\x93\x02)2$/v1/{topic.name=projects/*/topics/*}:\x01*\x12\x93\x01\n\x07Publish\x12 .google.pubsub.v1.PublishRequest\x1a!.google.pubsub.v1.PublishResponse\"C\xda\x41\x0etopic,messages\x82\xd3\xe4\x93\x02,\"\'/v1/{topic=projects/*/topics/*}:publish:\x01*\x12w\n\x08GetTopic\x12!.google.pubsub.v1.GetTopicRequest\x1a\x17.google.pubsub.v1.Topic\"/\xda\x41\x05topic\x82\xd3\xe4\x93\x02!\x12\x1f/v1/{topic=projects/*/topics/*}\x12\x8a\x01\n\nListTopics\x12#.google.pubsub.v1.ListTopicsRequest\x1a$.google.pubsub.v1.ListTopicsResponse\"1\xda\x41\x07project\x82\xd3\xe4\x93\x02!\x12\x1f/v1/{project=projects/*}/topics\x12\xba\x01\n\x16ListTopicSubscriptions\x12/.google.pubsub.v1.ListTopicSubscriptionsRequest\x1a\x30.google.pubsub.v1.ListTopicSubscriptionsResponse\"=\xda\x41\x05topic\x82\xd3\xe4\x93\x02/\x12-/v1/{topic=projects/*/topics/*}/subscriptions\x12\xaa\x01\n\x12ListTopicSnapshots\x12+.google.pubsub.v1.ListTopicSnapshotsRequest\x1a,.google.pubsub.v1.ListTopicSnapshotsResponse\"9\xda\x41\x05topic\x82\xd3\xe4\x93\x02+\x12)/v1/{topic=projects/*/topics/*}/snapshots\x12|\n\x0b\x44\x65leteTopic\x12$.google.pubsub.v1.DeleteTopicRequest\x1a\x16.google.protobuf.Empty\"/\xda\x41\x05topic\x82\xd3\xe4\x93\x02!*\x1f/v1/{topic=projects/*/topics/*}\x12\xad\x01\n\x12\x44\x65tachSubscription\x12+.google.pubsub.v1.DetachSubscriptionRequest\x1a,.google.pubsub.v1.DetachSubscriptionResponse\"<\x82\xd3\xe4\x93\x02\x36\"4/v1/{subscription=projects/*/subscriptions/*}:detach\x1ap\xca\x41\x15pubsub.googleapis.com\xd2\x41Uhttps://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/pubsub2\xd2\x15\n\nSubscriber\x12\xb4\x01\n\x12\x43reateSubscription\x12\x1e.google.pubsub.v1.Subscription\x1a\x1e.google.pubsub.v1.Subscription\"^\xda\x41+name,topic,push_config,ack_deadline_seconds\x82\xd3\xe4\x93\x02*\x1a%/v1/{name=projects/*/subscriptions/*}:\x01*\x12\xa1\x01\n\x0fGetSubscription\x12(.google.pubsub.v1.GetSubscriptionRequest\x1a\x1e.google.pubsub.v1.Subscription\"D\xda\x41\x0csubscription\x82\xd3\xe4\x93\x02/\x12-/v1/{subscription=projects/*/subscriptions/*}\x12\xbb\x01\n\x12UpdateSubscription\x12+.google.pubsub.v1.UpdateSubscriptionRequest\x1a\x1e.google.pubsub.v1.Subscription\"X\xda\x41\x18subscription,update_mask\x82\xd3\xe4\x93\x02\x37\x32\x32/v1/{subscription.name=projects/*/subscriptions/*}:\x01*\x12\xa6\x01\n\x11ListSubscriptions\x12*.google.pubsub.v1.ListSubscriptionsRequest\x1a+.google.pubsub.v1.ListSubscriptionsResponse\"8\xda\x41\x07project\x82\xd3\xe4\x93\x02(\x12&/v1/{project=projects/*}/subscriptions\x12\x9f\x01\n\x12\x44\x65leteSubscription\x12+.google.pubsub.v1.DeleteSubscriptionRequest\x1a\x16.google.protobuf.Empty\"D\xda\x41\x0csubscription\x82\xd3\xe4\x93\x02/*-/v1/{subscription=projects/*/subscriptions/*}\x12\xcf\x01\n\x11ModifyAckDeadline\x12*.google.pubsub.v1.ModifyAckDeadlineRequest\x1a\x16.google.protobuf.Empty\"v\xda\x41)subscription,ack_ids,ack_deadline_seconds\x82\xd3\xe4\x93\x02\x44\"?/v1/{subscription=projects/*/subscriptions/*}:modifyAckDeadline:\x01*\x12\xa8\x01\n\x0b\x41\x63knowledge\x12$.google.pubsub.v1.AcknowledgeRequest\x1a\x16.google.protobuf.Empty\"[\xda\x41\x14subscription,ack_ids\x82\xd3\xe4\x93\x02>\"9/v1/{subscription=projects/*/subscriptions/*}:acknowledge:\x01*\x12\xd0\x01\n\x04Pull\x12\x1d.google.pubsub.v1.PullRequest\x1a\x1e.google.pubsub.v1.PullResponse\"\x88\x01\xda\x41,subscription,return_immediately,max_messages\xda\x41\x19subscription,max_messages\x82\xd3\xe4\x93\x02\x37\"2/v1/{subscription=projects/*/subscriptions/*}:pull:\x01*\x12\x66\n\rStreamingPull\x12&.google.pubsub.v1.StreamingPullRequest\x1a\'.google.pubsub.v1.StreamingPullResponse\"\x00(\x01\x30\x01\x12\xbb\x01\n\x10ModifyPushConfig\x12).google.pubsub.v1.ModifyPushConfigRequest\x1a\x16.google.protobuf.Empty\"d\xda\x41\x18subscription,push_config\x82\xd3\xe4\x93\x02\x43\">/v1/{subscription=projects/*/subscriptions/*}:modifyPushConfig:\x01*\x12\x89\x01\n\x0bGetSnapshot\x12$.google.pubsub.v1.GetSnapshotRequest\x1a\x1a.google.pubsub.v1.Snapshot\"8\xda\x41\x08snapshot\x82\xd3\xe4\x93\x02\'\x12%/v1/{snapshot=projects/*/snapshots/*}\x12\x96\x01\n\rListSnapshots\x12&.google.pubsub.v1.ListSnapshotsRequest\x1a\'.google.pubsub.v1.ListSnapshotsResponse\"4\xda\x41\x07project\x82\xd3\xe4\x93\x02$\x12\"/v1/{project=projects/*}/snapshots\x12\x97\x01\n\x0e\x43reateSnapshot\x12\'.google.pubsub.v1.CreateSnapshotRequest\x1a\x1a.google.pubsub.v1.Snapshot\"@\xda\x41\x11name,subscription\x82\xd3\xe4\x93\x02&\x1a!/v1/{name=projects/*/snapshots/*}:\x01*\x12\xa3\x01\n\x0eUpdateSnapshot\x12\'.google.pubsub.v1.UpdateSnapshotRequest\x1a\x1a.google.pubsub.v1.Snapshot\"L\xda\x41\x14snapshot,update_mask\x82\xd3\xe4\x93\x02/2*/v1/{snapshot.name=projects/*/snapshots/*}:\x01*\x12\x8b\x01\n\x0e\x44\x65leteSnapshot\x12\'.google.pubsub.v1.DeleteSnapshotRequest\x1a\x16.google.protobuf.Empty\"8\xda\x41\x08snapshot\x82\xd3\xe4\x93\x02\'*%/v1/{snapshot=projects/*/snapshots/*}\x12\x84\x01\n\x04Seek\x12\x1d.google.pubsub.v1.SeekRequest\x1a\x1e.google.pubsub.v1.SeekResponse\"=\x82\xd3\xe4\x93\x02\x37\"2/v1/{subscription=projects/*/subscriptions/*}:seek:\x01*\x1ap\xca\x41\x15pubsub.googleapis.com\xd2\x41Uhttps://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/pubsubB\xa7\x03\n\x14\x63om.google.pubsub.v1B\x0bPubsubProtoP\x01Z5cloud.google.com/go/pubsub/v2/apiv1/pubsubpb;pubsubpb\xaa\x02\x16Google.Cloud.PubSub.V1\xca\x02\x16Google\\Cloud\\PubSub\\V1\xea\x02\x19Google::Cloud::PubSub::V1\xea\x41x\n!cloudkms.googleapis.com/CryptoKey\x12Sprojects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}\xea\x41\x7f\n#analyticshub.googleapis.com/Listing\x12Xprojects/{project}/locations/{location}/dataExchanges/{data_exchange}/listings/{listing}b\x06proto3" +descriptor_data = "\n\x1dgoogle/pubsub/v1/pubsub.proto\x12\x10google.pubsub.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1dgoogle/pubsub/v1/schema.proto\"a\n\x14MessageStoragePolicy\x12(\n\x1b\x61llowed_persistence_regions\x18\x01 \x03(\tB\x03\xe0\x41\x01\x12\x1f\n\x12\x65nforce_in_transit\x18\x02 \x01(\x08\x42\x03\xe0\x41\x01\"\xb8\x01\n\x0eSchemaSettings\x12\x34\n\x06schema\x18\x01 \x01(\tB$\xe0\x41\x02\xfa\x41\x1e\n\x1cpubsub.googleapis.com/Schema\x12\x31\n\x08\x65ncoding\x18\x02 \x01(\x0e\x32\x1a.google.pubsub.v1.EncodingB\x03\xe0\x41\x01\x12\x1e\n\x11\x66irst_revision_id\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x1d\n\x10last_revision_id\x18\x04 \x01(\tB\x03\xe0\x41\x01\"\xe8\x17\n\x1bIngestionDataSourceSettings\x12T\n\x0b\x61ws_kinesis\x18\x01 \x01(\x0b\x32\x38.google.pubsub.v1.IngestionDataSourceSettings.AwsKinesisB\x03\xe0\x41\x01H\x00\x12X\n\rcloud_storage\x18\x02 \x01(\x0b\x32:.google.pubsub.v1.IngestionDataSourceSettings.CloudStorageB\x03\xe0\x41\x01H\x00\x12]\n\x10\x61zure_event_hubs\x18\x03 \x01(\x0b\x32<.google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubsB\x03\xe0\x41\x01H\x00\x12L\n\x07\x61ws_msk\x18\x05 \x01(\x0b\x32\x34.google.pubsub.v1.IngestionDataSourceSettings.AwsMskB\x03\xe0\x41\x01H\x00\x12\\\n\x0f\x63onfluent_cloud\x18\x06 \x01(\x0b\x32<.google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloudB\x03\xe0\x41\x01H\x00\x12K\n\x16platform_logs_settings\x18\x04 \x01(\x0b\x32&.google.pubsub.v1.PlatformLogsSettingsB\x03\xe0\x41\x01\x1a\xea\x02\n\nAwsKinesis\x12R\n\x05state\x18\x01 \x01(\x0e\x32>.google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis.StateB\x03\xe0\x41\x03\x12\x17\n\nstream_arn\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x19\n\x0c\x63onsumer_arn\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12\x19\n\x0c\x61ws_role_arn\x18\x04 \x01(\tB\x03\xe0\x41\x02\x12 \n\x13gcp_service_account\x18\x05 \x01(\tB\x03\xe0\x41\x02\"\x96\x01\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x12\x1d\n\x19KINESIS_PERMISSION_DENIED\x10\x02\x12\x1d\n\x19PUBLISH_PERMISSION_DENIED\x10\x03\x12\x14\n\x10STREAM_NOT_FOUND\x10\x04\x12\x16\n\x12\x43ONSUMER_NOT_FOUND\x10\x05\x1a\x95\x06\n\x0c\x43loudStorage\x12T\n\x05state\x18\x01 \x01(\x0e\x32@.google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.StateB\x03\xe0\x41\x03\x12\x13\n\x06\x62ucket\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x61\n\x0btext_format\x18\x03 \x01(\x0b\x32\x45.google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.TextFormatB\x03\xe0\x41\x01H\x00\x12\x61\n\x0b\x61vro_format\x18\x04 \x01(\x0b\x32\x45.google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.AvroFormatB\x03\xe0\x41\x01H\x00\x12n\n\x12pubsub_avro_format\x18\x05 \x01(\x0b\x32K.google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.PubSubAvroFormatB\x03\xe0\x41\x01H\x00\x12\x43\n\x1aminimum_object_create_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01\x12\x17\n\nmatch_glob\x18\t \x01(\tB\x03\xe0\x41\x01\x1a\x37\n\nTextFormat\x12\x1b\n\tdelimiter\x18\x01 \x01(\tB\x03\xe0\x41\x01H\x00\x88\x01\x01\x42\x0c\n\n_delimiter\x1a\x0c\n\nAvroFormat\x1a\x12\n\x10PubSubAvroFormat\"\x9a\x01\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x12#\n\x1f\x43LOUD_STORAGE_PERMISSION_DENIED\x10\x02\x12\x1d\n\x19PUBLISH_PERMISSION_DENIED\x10\x03\x12\x14\n\x10\x42UCKET_NOT_FOUND\x10\x04\x12\x14\n\x10TOO_MANY_OBJECTS\x10\x05\x42\x0e\n\x0cinput_format\x1a\xff\x03\n\x0e\x41zureEventHubs\x12V\n\x05state\x18\x01 \x01(\x0e\x32\x42.google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs.StateB\x03\xe0\x41\x03\x12\x1b\n\x0eresource_group\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x16\n\tnamespace\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x16\n\tevent_hub\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x16\n\tclient_id\x18\x05 \x01(\tB\x03\xe0\x41\x01\x12\x16\n\ttenant_id\x18\x06 \x01(\tB\x03\xe0\x41\x01\x12\x1c\n\x0fsubscription_id\x18\x07 \x01(\tB\x03\xe0\x41\x01\x12 \n\x13gcp_service_account\x18\x08 \x01(\tB\x03\xe0\x41\x01\"\xd7\x01\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x12 \n\x1c\x45VENT_HUBS_PERMISSION_DENIED\x10\x02\x12\x1d\n\x19PUBLISH_PERMISSION_DENIED\x10\x03\x12\x17\n\x13NAMESPACE_NOT_FOUND\x10\x04\x12\x17\n\x13\x45VENT_HUB_NOT_FOUND\x10\x05\x12\x1a\n\x16SUBSCRIPTION_NOT_FOUND\x10\x06\x12\x1c\n\x18RESOURCE_GROUP_NOT_FOUND\x10\x07\x1a\xf6\x02\n\x06\x41wsMsk\x12N\n\x05state\x18\x01 \x01(\x0e\x32:.google.pubsub.v1.IngestionDataSourceSettings.AwsMsk.StateB\x03\xe0\x41\x03\x12\x18\n\x0b\x63luster_arn\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x32\n\x05topic\x18\x03 \x01(\tB#\xe0\x41\x02\xfa\x41\x1d\n\x1bpubsub.googleapis.com/Topic\x12\x19\n\x0c\x61ws_role_arn\x18\x04 \x01(\tB\x03\xe0\x41\x02\x12 \n\x13gcp_service_account\x18\x05 \x01(\tB\x03\xe0\x41\x02\"\x90\x01\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x12\x19\n\x15MSK_PERMISSION_DENIED\x10\x02\x12\x1d\n\x19PUBLISH_PERMISSION_DENIED\x10\x03\x12\x15\n\x11\x43LUSTER_NOT_FOUND\x10\x04\x12\x13\n\x0fTOPIC_NOT_FOUND\x10\x05\x1a\xb6\x03\n\x0e\x43onfluentCloud\x12V\n\x05state\x18\x01 \x01(\x0e\x32\x42.google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud.StateB\x03\xe0\x41\x03\x12\x1d\n\x10\x62ootstrap_server\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x17\n\ncluster_id\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12\x12\n\x05topic\x18\x04 \x01(\tB\x03\xe0\x41\x02\x12\x1d\n\x10identity_pool_id\x18\x05 \x01(\tB\x03\xe0\x41\x02\x12 \n\x13gcp_service_account\x18\x06 \x01(\tB\x03\xe0\x41\x02\"\xbe\x01\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x12%\n!CONFLUENT_CLOUD_PERMISSION_DENIED\x10\x02\x12\x1d\n\x19PUBLISH_PERMISSION_DENIED\x10\x03\x12 \n\x1cUNREACHABLE_BOOTSTRAP_SERVER\x10\x04\x12\x15\n\x11\x43LUSTER_NOT_FOUND\x10\x05\x12\x13\n\x0fTOPIC_NOT_FOUND\x10\x06\x42\x08\n\x06source\"\xbf\x01\n\x14PlatformLogsSettings\x12\x46\n\x08severity\x18\x01 \x01(\x0e\x32/.google.pubsub.v1.PlatformLogsSettings.SeverityB\x03\xe0\x41\x01\"_\n\x08Severity\x12\x18\n\x14SEVERITY_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x44ISABLED\x10\x01\x12\t\n\x05\x44\x45\x42UG\x10\x02\x12\x08\n\x04INFO\x10\x03\x12\x0b\n\x07WARNING\x10\x04\x12\t\n\x05\x45RROR\x10\x05\"\xb9\x18\n\x15IngestionFailureEvent\x12\x32\n\x05topic\x18\x01 \x01(\tB#\xe0\x41\x02\xfa\x41\x1d\n\x1bpubsub.googleapis.com/Topic\x12\x1a\n\rerror_message\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x61\n\x15\x63loud_storage_failure\x18\x03 \x01(\x0b\x32;.google.pubsub.v1.IngestionFailureEvent.CloudStorageFailureB\x03\xe0\x41\x01H\x00\x12[\n\x0f\x61ws_msk_failure\x18\x04 \x01(\x0b\x32;.google.pubsub.v1.IngestionFailureEvent.AwsMskFailureReasonB\x03\xe0\x41\x01H\x00\x12l\n\x18\x61zure_event_hubs_failure\x18\x05 \x01(\x0b\x32\x43.google.pubsub.v1.IngestionFailureEvent.AzureEventHubsFailureReasonB\x03\xe0\x41\x01H\x00\x12k\n\x17\x63onfluent_cloud_failure\x18\x06 \x01(\x0b\x32\x43.google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReasonB\x03\xe0\x41\x01H\x00\x12\x63\n\x13\x61ws_kinesis_failure\x18\x07 \x01(\x0b\x32?.google.pubsub.v1.IngestionFailureEvent.AwsKinesisFailureReasonB\x03\xe0\x41\x01H\x00\x1a\x14\n\x12\x41piViolationReason\x1a\x13\n\x11\x41vroFailureReason\x1a\x17\n\x15SchemaViolationReason\x1a$\n\"MessageTransformationFailureReason\x1a\x98\x04\n\x13\x43loudStorageFailure\x12\x13\n\x06\x62ucket\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x18\n\x0bobject_name\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x1e\n\x11object_generation\x18\x03 \x01(\x03\x42\x03\xe0\x41\x01\x12]\n\x13\x61vro_failure_reason\x18\x05 \x01(\x0b\x32\x39.google.pubsub.v1.IngestionFailureEvent.AvroFailureReasonB\x03\xe0\x41\x01H\x00\x12_\n\x14\x61pi_violation_reason\x18\x06 \x01(\x0b\x32:.google.pubsub.v1.IngestionFailureEvent.ApiViolationReasonB\x03\xe0\x41\x01H\x00\x12\x65\n\x17schema_violation_reason\x18\x07 \x01(\x0b\x32=.google.pubsub.v1.IngestionFailureEvent.SchemaViolationReasonB\x03\xe0\x41\x01H\x00\x12\x80\x01\n%message_transformation_failure_reason\x18\x08 \x01(\x0b\x32J.google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReasonB\x03\xe0\x41\x01H\x00\x42\x08\n\x06reason\x1a\xce\x03\n\x13\x41wsMskFailureReason\x12\x18\n\x0b\x63luster_arn\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x18\n\x0bkafka_topic\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x19\n\x0cpartition_id\x18\x03 \x01(\x03\x42\x03\xe0\x41\x01\x12\x13\n\x06offset\x18\x04 \x01(\x03\x42\x03\xe0\x41\x01\x12_\n\x14\x61pi_violation_reason\x18\x05 \x01(\x0b\x32:.google.pubsub.v1.IngestionFailureEvent.ApiViolationReasonB\x03\xe0\x41\x01H\x00\x12\x65\n\x17schema_violation_reason\x18\x06 \x01(\x0b\x32=.google.pubsub.v1.IngestionFailureEvent.SchemaViolationReasonB\x03\xe0\x41\x01H\x00\x12\x80\x01\n%message_transformation_failure_reason\x18\x07 \x01(\x0b\x32J.google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReasonB\x03\xe0\x41\x01H\x00\x42\x08\n\x06reason\x1a\xd2\x03\n\x1b\x41zureEventHubsFailureReason\x12\x16\n\tnamespace\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x16\n\tevent_hub\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x19\n\x0cpartition_id\x18\x03 \x01(\x03\x42\x03\xe0\x41\x01\x12\x13\n\x06offset\x18\x04 \x01(\x03\x42\x03\xe0\x41\x01\x12_\n\x14\x61pi_violation_reason\x18\x05 \x01(\x0b\x32:.google.pubsub.v1.IngestionFailureEvent.ApiViolationReasonB\x03\xe0\x41\x01H\x00\x12\x65\n\x17schema_violation_reason\x18\x06 \x01(\x0b\x32=.google.pubsub.v1.IngestionFailureEvent.SchemaViolationReasonB\x03\xe0\x41\x01H\x00\x12\x80\x01\n%message_transformation_failure_reason\x18\x07 \x01(\x0b\x32J.google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReasonB\x03\xe0\x41\x01H\x00\x42\x08\n\x06reason\x1a\xd5\x03\n\x1b\x43onfluentCloudFailureReason\x12\x17\n\ncluster_id\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x18\n\x0bkafka_topic\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x19\n\x0cpartition_id\x18\x03 \x01(\x03\x42\x03\xe0\x41\x01\x12\x13\n\x06offset\x18\x04 \x01(\x03\x42\x03\xe0\x41\x01\x12_\n\x14\x61pi_violation_reason\x18\x05 \x01(\x0b\x32:.google.pubsub.v1.IngestionFailureEvent.ApiViolationReasonB\x03\xe0\x41\x01H\x00\x12\x65\n\x17schema_violation_reason\x18\x06 \x01(\x0b\x32=.google.pubsub.v1.IngestionFailureEvent.SchemaViolationReasonB\x03\xe0\x41\x01H\x00\x12\x80\x01\n%message_transformation_failure_reason\x18\x07 \x01(\x0b\x32J.google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReasonB\x03\xe0\x41\x01H\x00\x42\x08\n\x06reason\x1a\xc1\x03\n\x17\x41wsKinesisFailureReason\x12\x17\n\nstream_arn\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rpartition_key\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x1c\n\x0fsequence_number\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x65\n\x17schema_violation_reason\x18\x04 \x01(\x0b\x32=.google.pubsub.v1.IngestionFailureEvent.SchemaViolationReasonB\x03\xe0\x41\x01H\x00\x12\x80\x01\n%message_transformation_failure_reason\x18\x05 \x01(\x0b\x32J.google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReasonB\x03\xe0\x41\x01H\x00\x12_\n\x14\x61pi_violation_reason\x18\x06 \x01(\x0b\x32:.google.pubsub.v1.IngestionFailureEvent.ApiViolationReasonB\x03\xe0\x41\x01H\x00\x42\x08\n\x06reasonB\t\n\x07\x66\x61ilure\">\n\rJavaScriptUDF\x12\x1a\n\rfunction_name\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x11\n\x04\x63ode\x18\x02 \x01(\tB\x03\xe0\x41\x02\"\x81\x02\n\x0b\x41IInference\x12\x15\n\x08\x65ndpoint\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12Z\n\x16unstructured_inference\x18\x02 \x01(\x0b\x32\x33.google.pubsub.v1.AIInference.UnstructuredInferenceB\x03\xe0\x41\x01H\x00\x12\"\n\x15service_account_email\x18\x03 \x01(\tB\x03\xe0\x41\x01\x1aI\n\x15UnstructuredInference\x12\x30\n\nparameters\x18\x01 \x01(\x0b\x32\x17.google.protobuf.StructB\x03\xe0\x41\x01\x42\x10\n\x0einference_mode\"\xca\x01\n\x10MessageTransform\x12>\n\x0ejavascript_udf\x18\x02 \x01(\x0b\x32\x1f.google.pubsub.v1.JavaScriptUDFB\x03\xe0\x41\x01H\x00\x12:\n\x0c\x61i_inference\x18\x06 \x01(\x0b\x32\x1d.google.pubsub.v1.AIInferenceB\x03\xe0\x41\x01H\x00\x12\x16\n\x07\x65nabled\x18\x03 \x01(\x08\x42\x05\x18\x01\xe0\x41\x01\x12\x15\n\x08\x64isabled\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\x42\x0b\n\ttransform\"\xa0\x07\n\x05Topic\x12\x14\n\x04name\x18\x01 \x01(\tB\x06\xe0\x41\x02\xe0\x41\x08\x12\x38\n\x06labels\x18\x02 \x03(\x0b\x32#.google.pubsub.v1.Topic.LabelsEntryB\x03\xe0\x41\x01\x12K\n\x16message_storage_policy\x18\x03 \x01(\x0b\x32&.google.pubsub.v1.MessageStoragePolicyB\x03\xe0\x41\x01\x12?\n\x0ckms_key_name\x18\x05 \x01(\tB)\xe0\x41\x01\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\x12>\n\x0fschema_settings\x18\x06 \x01(\x0b\x32 .google.pubsub.v1.SchemaSettingsB\x03\xe0\x41\x01\x12\x1a\n\rsatisfies_pzs\x18\x07 \x01(\x08\x42\x03\xe0\x41\x01\x12\x42\n\x1amessage_retention_duration\x18\x08 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\x12\x31\n\x05state\x18\t \x01(\x0e\x32\x1d.google.pubsub.v1.Topic.StateB\x03\xe0\x41\x03\x12Z\n\x1eingestion_data_source_settings\x18\n \x01(\x0b\x32-.google.pubsub.v1.IngestionDataSourceSettingsB\x03\xe0\x41\x01\x12\x43\n\x12message_transforms\x18\r \x03(\x0b\x32\".google.pubsub.v1.MessageTransformB\x03\xe0\x41\x01\x12:\n\x04tags\x18\x0e \x03(\x0b\x32!.google.pubsub.v1.Topic.TagsEntryB\t\xe0\x41\x04\xe0\x41\x05\xe0\x41\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"H\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x12\x1c\n\x18INGESTION_RESOURCE_ERROR\x10\x02:c\xea\x41`\n\x1bpubsub.googleapis.com/Topic\x12!projects/{project}/topics/{topic}\x12\x0f_deleted-topic_*\x06topics2\x05topic\"\x80\x02\n\rPubsubMessage\x12\x11\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x42\x03\xe0\x41\x01\x12H\n\nattributes\x18\x02 \x03(\x0b\x32/.google.pubsub.v1.PubsubMessage.AttributesEntryB\x03\xe0\x41\x01\x12\x12\n\nmessage_id\x18\x03 \x01(\t\x12\x30\n\x0cpublish_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x19\n\x0cordering_key\x18\x05 \x01(\tB\x03\xe0\x41\x01\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"E\n\x0fGetTopicRequest\x12\x32\n\x05topic\x18\x01 \x01(\tB#\xe0\x41\x02\xfa\x41\x1d\n\x1bpubsub.googleapis.com/Topic\"w\n\x12UpdateTopicRequest\x12+\n\x05topic\x18\x01 \x01(\x0b\x32\x17.google.pubsub.v1.TopicB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02\"|\n\x0ePublishRequest\x12\x32\n\x05topic\x18\x01 \x01(\tB#\xe0\x41\x02\xfa\x41\x1d\n\x1bpubsub.googleapis.com/Topic\x12\x36\n\x08messages\x18\x02 \x03(\x0b\x32\x1f.google.pubsub.v1.PubsubMessageB\x03\xe0\x41\x02\"+\n\x0fPublishResponse\x12\x18\n\x0bmessage_ids\x18\x01 \x03(\tB\x03\xe0\x41\x01\"\x8a\x01\n\x11ListTopicsRequest\x12\x44\n\x07project\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+cloudresourcemanager.googleapis.com/Project\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\"`\n\x12ListTopicsResponse\x12,\n\x06topics\x18\x01 \x03(\x0b\x32\x17.google.pubsub.v1.TopicB\x03\xe0\x41\x01\x12\x1c\n\x0fnext_page_token\x18\x02 \x01(\tB\x03\xe0\x41\x01\"\x84\x01\n\x1dListTopicSubscriptionsRequest\x12\x32\n\x05topic\x18\x01 \x01(\tB#\xe0\x41\x02\xfa\x41\x1d\n\x1bpubsub.googleapis.com/Topic\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\"\x81\x01\n\x1eListTopicSubscriptionsResponse\x12\x41\n\rsubscriptions\x18\x01 \x03(\tB*\xe0\x41\x01\xfa\x41$\n\"pubsub.googleapis.com/Subscription\x12\x1c\n\x0fnext_page_token\x18\x02 \x01(\tB\x03\xe0\x41\x01\"\x80\x01\n\x19ListTopicSnapshotsRequest\x12\x32\n\x05topic\x18\x01 \x01(\tB#\xe0\x41\x02\xfa\x41\x1d\n\x1bpubsub.googleapis.com/Topic\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\"u\n\x1aListTopicSnapshotsResponse\x12\x39\n\tsnapshots\x18\x01 \x03(\tB&\xe0\x41\x01\xfa\x41 \n\x1epubsub.googleapis.com/Snapshot\x12\x1c\n\x0fnext_page_token\x18\x02 \x01(\tB\x03\xe0\x41\x01\"H\n\x12\x44\x65leteTopicRequest\x12\x32\n\x05topic\x18\x01 \x01(\tB#\xe0\x41\x02\xfa\x41\x1d\n\x1bpubsub.googleapis.com/Topic\"]\n\x19\x44\x65tachSubscriptionRequest\x12@\n\x0csubscription\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"pubsub.googleapis.com/Subscription\"\x1c\n\x1a\x44\x65tachSubscriptionResponse\"\xa8\x0c\n\x0cSubscription\x12\x14\n\x04name\x18\x01 \x01(\tB\x06\xe0\x41\x02\xe0\x41\x08\x12\x32\n\x05topic\x18\x02 \x01(\tB#\xe0\x41\x02\xfa\x41\x1d\n\x1bpubsub.googleapis.com/Topic\x12\x36\n\x0bpush_config\x18\x04 \x01(\x0b\x32\x1c.google.pubsub.v1.PushConfigB\x03\xe0\x41\x01\x12>\n\x0f\x62igquery_config\x18\x12 \x01(\x0b\x32 .google.pubsub.v1.BigQueryConfigB\x03\xe0\x41\x01\x12G\n\x14\x63loud_storage_config\x18\x16 \x01(\x0b\x32$.google.pubsub.v1.CloudStorageConfigB\x03\xe0\x41\x01\x12!\n\x14\x61\x63k_deadline_seconds\x18\x05 \x01(\x05\x42\x03\xe0\x41\x01\x12\"\n\x15retain_acked_messages\x18\x07 \x01(\x08\x42\x03\xe0\x41\x01\x12\x42\n\x1amessage_retention_duration\x18\x08 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\x12?\n\x06labels\x18\t \x03(\x0b\x32*.google.pubsub.v1.Subscription.LabelsEntryB\x03\xe0\x41\x01\x12$\n\x17\x65nable_message_ordering\x18\n \x01(\x08\x42\x03\xe0\x41\x01\x12\x42\n\x11\x65xpiration_policy\x18\x0b \x01(\x0b\x32\".google.pubsub.v1.ExpirationPolicyB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x0c \x01(\tB\x03\xe0\x41\x01\x12\x43\n\x12\x64\x65\x61\x64_letter_policy\x18\r \x01(\x0b\x32\".google.pubsub.v1.DeadLetterPolicyB\x03\xe0\x41\x01\x12\x38\n\x0cretry_policy\x18\x0e \x01(\x0b\x32\x1d.google.pubsub.v1.RetryPolicyB\x03\xe0\x41\x01\x12\x15\n\x08\x64\x65tached\x18\x0f \x01(\x08\x42\x03\xe0\x41\x01\x12)\n\x1c\x65nable_exactly_once_delivery\x18\x10 \x01(\x08\x42\x03\xe0\x41\x01\x12H\n topic_message_retention_duration\x18\x11 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x03\x12\x38\n\x05state\x18\x13 \x01(\x0e\x32$.google.pubsub.v1.Subscription.StateB\x03\xe0\x41\x03\x12i\n\x1f\x61nalytics_hub_subscription_info\x18\x17 \x01(\x0b\x32;.google.pubsub.v1.Subscription.AnalyticsHubSubscriptionInfoB\x03\xe0\x41\x03\x12\x43\n\x12message_transforms\x18\x19 \x03(\x0b\x32\".google.pubsub.v1.MessageTransformB\x03\xe0\x41\x01\x12\x41\n\x04tags\x18\x1a \x03(\x0b\x32(.google.pubsub.v1.Subscription.TagsEntryB\t\xe0\x41\x04\xe0\x41\x05\xe0\x41\x01\x1aw\n\x1c\x41nalyticsHubSubscriptionInfo\x12<\n\x07listing\x18\x01 \x01(\tB+\xe0\x41\x01\xfa\x41%\n#analyticshub.googleapis.com/Listing\x12\x19\n\x0csubscription\x18\x02 \x01(\tB\x03\xe0\x41\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\">\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x12\x12\n\x0eRESOURCE_ERROR\x10\x02:u\xea\x41r\n\"pubsub.googleapis.com/Subscription\x12/projects/{project}/subscriptions/{subscription}*\rsubscriptions2\x0csubscription\"\x7f\n\x0bRetryPolicy\x12\x37\n\x0fminimum_backoff\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\x12\x37\n\x0fmaximum_backoff\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\"v\n\x10\x44\x65\x61\x64LetterPolicy\x12>\n\x11\x64\x65\x61\x64_letter_topic\x18\x01 \x01(\tB#\xe0\x41\x01\xfa\x41\x1d\n\x1bpubsub.googleapis.com/Topic\x12\"\n\x15max_delivery_attempts\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\"?\n\x10\x45xpirationPolicy\x12+\n\x03ttl\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\"\x9a\x04\n\nPushConfig\x12\x1a\n\rpush_endpoint\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x45\n\nattributes\x18\x02 \x03(\x0b\x32,.google.pubsub.v1.PushConfig.AttributesEntryB\x03\xe0\x41\x01\x12\x41\n\noidc_token\x18\x03 \x01(\x0b\x32&.google.pubsub.v1.PushConfig.OidcTokenB\x03\xe0\x41\x01H\x00\x12I\n\x0epubsub_wrapper\x18\x04 \x01(\x0b\x32*.google.pubsub.v1.PushConfig.PubsubWrapperB\x03\xe0\x41\x01H\x01\x12\x41\n\nno_wrapper\x18\x05 \x01(\x0b\x32&.google.pubsub.v1.PushConfig.NoWrapperB\x03\xe0\x41\x01H\x01\x1a\x46\n\tOidcToken\x12\"\n\x15service_account_email\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08\x61udience\x18\x02 \x01(\tB\x03\xe0\x41\x01\x1a\x0f\n\rPubsubWrapper\x1a(\n\tNoWrapper\x12\x1b\n\x0ewrite_metadata\x18\x01 \x01(\x08\x42\x03\xe0\x41\x01\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x17\n\x15\x61uthentication_methodB\t\n\x07wrapper\"\xb2\x03\n\x0e\x42igQueryConfig\x12\x12\n\x05table\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x1d\n\x10use_topic_schema\x18\x02 \x01(\x08\x42\x03\xe0\x41\x01\x12\x1b\n\x0ewrite_metadata\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\x12 \n\x13\x64rop_unknown_fields\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\x12:\n\x05state\x18\x05 \x01(\x0e\x32&.google.pubsub.v1.BigQueryConfig.StateB\x03\xe0\x41\x03\x12\x1d\n\x10use_table_schema\x18\x06 \x01(\x08\x42\x03\xe0\x41\x01\x12\"\n\x15service_account_email\x18\x07 \x01(\tB\x03\xe0\x41\x01\"\xae\x01\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x12\x15\n\x11PERMISSION_DENIED\x10\x02\x12\r\n\tNOT_FOUND\x10\x03\x12\x13\n\x0fSCHEMA_MISMATCH\x10\x04\x12#\n\x1fIN_TRANSIT_LOCATION_RESTRICTION\x10\x05\x12\"\n\x1eVERTEX_AI_LOCATION_RESTRICTION\x10\x06\"\x8d\x06\n\x12\x43loudStorageConfig\x12\x13\n\x06\x62ucket\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x1c\n\x0f\x66ilename_prefix\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x1c\n\x0f\x66ilename_suffix\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12%\n\x18\x66ilename_datetime_format\x18\n \x01(\tB\x03\xe0\x41\x01\x12K\n\x0btext_config\x18\x04 \x01(\x0b\x32/.google.pubsub.v1.CloudStorageConfig.TextConfigB\x03\xe0\x41\x01H\x00\x12K\n\x0b\x61vro_config\x18\x05 \x01(\x0b\x32/.google.pubsub.v1.CloudStorageConfig.AvroConfigB\x03\xe0\x41\x01H\x00\x12\x34\n\x0cmax_duration\x18\x06 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\x12\x16\n\tmax_bytes\x18\x07 \x01(\x03\x42\x03\xe0\x41\x01\x12\x19\n\x0cmax_messages\x18\x08 \x01(\x03\x42\x03\xe0\x41\x01\x12>\n\x05state\x18\t \x01(\x0e\x32*.google.pubsub.v1.CloudStorageConfig.StateB\x03\xe0\x41\x03\x12\"\n\x15service_account_email\x18\x0b \x01(\tB\x03\xe0\x41\x01\x1a\x0c\n\nTextConfig\x1aH\n\nAvroConfig\x12\x1b\n\x0ewrite_metadata\x18\x01 \x01(\x08\x42\x03\xe0\x41\x01\x12\x1d\n\x10use_topic_schema\x18\x02 \x01(\x08\x42\x03\xe0\x41\x01\"\xae\x01\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x12\x15\n\x11PERMISSION_DENIED\x10\x02\x12\r\n\tNOT_FOUND\x10\x03\x12#\n\x1fIN_TRANSIT_LOCATION_RESTRICTION\x10\x04\x12\x13\n\x0fSCHEMA_MISMATCH\x10\x05\x12\"\n\x1eVERTEX_AI_LOCATION_RESTRICTION\x10\x06\x42\x0f\n\routput_format\"|\n\x0fReceivedMessage\x12\x13\n\x06\x61\x63k_id\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x35\n\x07message\x18\x02 \x01(\x0b\x32\x1f.google.pubsub.v1.PubsubMessageB\x03\xe0\x41\x01\x12\x1d\n\x10\x64\x65livery_attempt\x18\x03 \x01(\x05\x42\x03\xe0\x41\x01\"Z\n\x16GetSubscriptionRequest\x12@\n\x0csubscription\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"pubsub.googleapis.com/Subscription\"\x8c\x01\n\x19UpdateSubscriptionRequest\x12\x39\n\x0csubscription\x18\x01 \x01(\x0b\x32\x1e.google.pubsub.v1.SubscriptionB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02\"\x91\x01\n\x18ListSubscriptionsRequest\x12\x44\n\x07project\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+cloudresourcemanager.googleapis.com/Project\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\"u\n\x19ListSubscriptionsResponse\x12:\n\rsubscriptions\x18\x01 \x03(\x0b\x32\x1e.google.pubsub.v1.SubscriptionB\x03\xe0\x41\x01\x12\x1c\n\x0fnext_page_token\x18\x02 \x01(\tB\x03\xe0\x41\x01\"]\n\x19\x44\x65leteSubscriptionRequest\x12@\n\x0csubscription\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"pubsub.googleapis.com/Subscription\"\x93\x01\n\x17ModifyPushConfigRequest\x12@\n\x0csubscription\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"pubsub.googleapis.com/Subscription\x12\x36\n\x0bpush_config\x18\x02 \x01(\x0b\x32\x1c.google.pubsub.v1.PushConfigB\x03\xe0\x41\x02\"\x8d\x01\n\x0bPullRequest\x12@\n\x0csubscription\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"pubsub.googleapis.com/Subscription\x12!\n\x12return_immediately\x18\x02 \x01(\x08\x42\x05\x18\x01\xe0\x41\x01\x12\x19\n\x0cmax_messages\x18\x03 \x01(\x05\x42\x03\xe0\x41\x02\"Q\n\x0cPullResponse\x12\x41\n\x11received_messages\x18\x01 \x03(\x0b\x32!.google.pubsub.v1.ReceivedMessageB\x03\xe0\x41\x01\"\x95\x01\n\x18ModifyAckDeadlineRequest\x12@\n\x0csubscription\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"pubsub.googleapis.com/Subscription\x12\x14\n\x07\x61\x63k_ids\x18\x04 \x03(\tB\x03\xe0\x41\x02\x12!\n\x14\x61\x63k_deadline_seconds\x18\x03 \x01(\x05\x42\x03\xe0\x41\x02\"l\n\x12\x41\x63knowledgeRequest\x12@\n\x0csubscription\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"pubsub.googleapis.com/Subscription\x12\x14\n\x07\x61\x63k_ids\x18\x02 \x03(\tB\x03\xe0\x41\x02\"\xe6\x02\n\x14StreamingPullRequest\x12@\n\x0csubscription\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"pubsub.googleapis.com/Subscription\x12\x14\n\x07\x61\x63k_ids\x18\x02 \x03(\tB\x03\xe0\x41\x01\x12$\n\x17modify_deadline_seconds\x18\x03 \x03(\x05\x42\x03\xe0\x41\x01\x12$\n\x17modify_deadline_ack_ids\x18\x04 \x03(\tB\x03\xe0\x41\x01\x12(\n\x1bstream_ack_deadline_seconds\x18\x05 \x01(\x05\x42\x03\xe0\x41\x02\x12\x16\n\tclient_id\x18\x06 \x01(\tB\x03\xe0\x41\x01\x12%\n\x18max_outstanding_messages\x18\x07 \x01(\x03\x42\x03\xe0\x41\x01\x12\"\n\x15max_outstanding_bytes\x18\x08 \x01(\x03\x42\x03\xe0\x41\x01\x12\x1d\n\x10protocol_version\x18\n \x01(\x03\x42\x03\xe0\x41\x01\"\x9e\x06\n\x15StreamingPullResponse\x12\x41\n\x11received_messages\x18\x01 \x03(\x0b\x32!.google.pubsub.v1.ReceivedMessageB\x03\xe0\x41\x01\x12\x66\n\x18\x61\x63knowledge_confirmation\x18\x05 \x01(\x0b\x32?.google.pubsub.v1.StreamingPullResponse.AcknowledgeConfirmationB\x03\xe0\x41\x01\x12t\n modify_ack_deadline_confirmation\x18\x03 \x01(\x0b\x32\x45.google.pubsub.v1.StreamingPullResponse.ModifyAckDeadlineConfirmationB\x03\xe0\x41\x01\x12\x64\n\x17subscription_properties\x18\x04 \x01(\x0b\x32>.google.pubsub.v1.StreamingPullResponse.SubscriptionPropertiesB\x03\xe0\x41\x01\x1a\x94\x01\n\x17\x41\x63knowledgeConfirmation\x12\x14\n\x07\x61\x63k_ids\x18\x01 \x03(\tB\x03\xe0\x41\x01\x12\x1c\n\x0finvalid_ack_ids\x18\x02 \x03(\tB\x03\xe0\x41\x01\x12\x1e\n\x11unordered_ack_ids\x18\x03 \x03(\tB\x03\xe0\x41\x01\x12%\n\x18temporary_failed_ack_ids\x18\x04 \x03(\tB\x03\xe0\x41\x01\x1az\n\x1dModifyAckDeadlineConfirmation\x12\x14\n\x07\x61\x63k_ids\x18\x01 \x03(\tB\x03\xe0\x41\x01\x12\x1c\n\x0finvalid_ack_ids\x18\x02 \x03(\tB\x03\xe0\x41\x01\x12%\n\x18temporary_failed_ack_ids\x18\x03 \x03(\tB\x03\xe0\x41\x01\x1ak\n\x16SubscriptionProperties\x12*\n\x1d\x65xactly_once_delivery_enabled\x18\x01 \x01(\x08\x42\x03\xe0\x41\x01\x12%\n\x18message_ordering_enabled\x18\x02 \x01(\x08\x42\x03\xe0\x41\x01\"\x81\x03\n\x15\x43reateSnapshotRequest\x12\x34\n\x04name\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1epubsub.googleapis.com/Snapshot\x12@\n\x0csubscription\x18\x02 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"pubsub.googleapis.com/Subscription\x12H\n\x06labels\x18\x03 \x03(\x0b\x32\x33.google.pubsub.v1.CreateSnapshotRequest.LabelsEntryB\x03\xe0\x41\x01\x12J\n\x04tags\x18\x04 \x03(\x0b\x32\x31.google.pubsub.v1.CreateSnapshotRequest.TagsEntryB\t\xe0\x41\x04\xe0\x41\x05\xe0\x41\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x80\x01\n\x15UpdateSnapshotRequest\x12\x31\n\x08snapshot\x18\x01 \x01(\x0b\x32\x1a.google.pubsub.v1.SnapshotB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02\"\xd6\x02\n\x08Snapshot\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x32\n\x05topic\x18\x02 \x01(\tB#\xe0\x41\x01\xfa\x41\x1d\n\x1bpubsub.googleapis.com/Topic\x12\x34\n\x0b\x65xpire_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01\x12;\n\x06labels\x18\x04 \x03(\x0b\x32&.google.pubsub.v1.Snapshot.LabelsEntryB\x03\xe0\x41\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:a\xea\x41^\n\x1epubsub.googleapis.com/Snapshot\x12\'projects/{project}/snapshots/{snapshot}*\tsnapshots2\x08snapshot\"N\n\x12GetSnapshotRequest\x12\x38\n\x08snapshot\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1epubsub.googleapis.com/Snapshot\"\x8d\x01\n\x14ListSnapshotsRequest\x12\x44\n\x07project\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+cloudresourcemanager.googleapis.com/Project\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\"i\n\x15ListSnapshotsResponse\x12\x32\n\tsnapshots\x18\x01 \x03(\x0b\x32\x1a.google.pubsub.v1.SnapshotB\x03\xe0\x41\x01\x12\x1c\n\x0fnext_page_token\x18\x02 \x01(\tB\x03\xe0\x41\x01\"Q\n\x15\x44\x65leteSnapshotRequest\x12\x38\n\x08snapshot\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1epubsub.googleapis.com/Snapshot\"\xc6\x01\n\x0bSeekRequest\x12@\n\x0csubscription\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"pubsub.googleapis.com/Subscription\x12/\n\x04time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01H\x00\x12:\n\x08snapshot\x18\x03 \x01(\tB&\xe0\x41\x01\xfa\x41 \n\x1epubsub.googleapis.com/SnapshotH\x00\x42\x08\n\x06target\"\x0e\n\x0cSeekResponse2\xb8\x0b\n\tPublisher\x12q\n\x0b\x43reateTopic\x12\x17.google.pubsub.v1.Topic\x1a\x17.google.pubsub.v1.Topic\"0\xda\x41\x04name\x82\xd3\xe4\x93\x02#\x1a\x1e/v1/{name=projects/*/topics/*}:\x01*\x12\x91\x01\n\x0bUpdateTopic\x12$.google.pubsub.v1.UpdateTopicRequest\x1a\x17.google.pubsub.v1.Topic\"C\xda\x41\x11topic,update_mask\x82\xd3\xe4\x93\x02)2$/v1/{topic.name=projects/*/topics/*}:\x01*\x12\x93\x01\n\x07Publish\x12 .google.pubsub.v1.PublishRequest\x1a!.google.pubsub.v1.PublishResponse\"C\xda\x41\x0etopic,messages\x82\xd3\xe4\x93\x02,\"\'/v1/{topic=projects/*/topics/*}:publish:\x01*\x12w\n\x08GetTopic\x12!.google.pubsub.v1.GetTopicRequest\x1a\x17.google.pubsub.v1.Topic\"/\xda\x41\x05topic\x82\xd3\xe4\x93\x02!\x12\x1f/v1/{topic=projects/*/topics/*}\x12\x8a\x01\n\nListTopics\x12#.google.pubsub.v1.ListTopicsRequest\x1a$.google.pubsub.v1.ListTopicsResponse\"1\xda\x41\x07project\x82\xd3\xe4\x93\x02!\x12\x1f/v1/{project=projects/*}/topics\x12\xba\x01\n\x16ListTopicSubscriptions\x12/.google.pubsub.v1.ListTopicSubscriptionsRequest\x1a\x30.google.pubsub.v1.ListTopicSubscriptionsResponse\"=\xda\x41\x05topic\x82\xd3\xe4\x93\x02/\x12-/v1/{topic=projects/*/topics/*}/subscriptions\x12\xaa\x01\n\x12ListTopicSnapshots\x12+.google.pubsub.v1.ListTopicSnapshotsRequest\x1a,.google.pubsub.v1.ListTopicSnapshotsResponse\"9\xda\x41\x05topic\x82\xd3\xe4\x93\x02+\x12)/v1/{topic=projects/*/topics/*}/snapshots\x12|\n\x0b\x44\x65leteTopic\x12$.google.pubsub.v1.DeleteTopicRequest\x1a\x16.google.protobuf.Empty\"/\xda\x41\x05topic\x82\xd3\xe4\x93\x02!*\x1f/v1/{topic=projects/*/topics/*}\x12\xad\x01\n\x12\x44\x65tachSubscription\x12+.google.pubsub.v1.DetachSubscriptionRequest\x1a,.google.pubsub.v1.DetachSubscriptionResponse\"<\x82\xd3\xe4\x93\x02\x36\"4/v1/{subscription=projects/*/subscriptions/*}:detach\x1ap\xca\x41\x15pubsub.googleapis.com\xd2\x41Uhttps://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/pubsub2\xd2\x15\n\nSubscriber\x12\xb4\x01\n\x12\x43reateSubscription\x12\x1e.google.pubsub.v1.Subscription\x1a\x1e.google.pubsub.v1.Subscription\"^\xda\x41+name,topic,push_config,ack_deadline_seconds\x82\xd3\xe4\x93\x02*\x1a%/v1/{name=projects/*/subscriptions/*}:\x01*\x12\xa1\x01\n\x0fGetSubscription\x12(.google.pubsub.v1.GetSubscriptionRequest\x1a\x1e.google.pubsub.v1.Subscription\"D\xda\x41\x0csubscription\x82\xd3\xe4\x93\x02/\x12-/v1/{subscription=projects/*/subscriptions/*}\x12\xbb\x01\n\x12UpdateSubscription\x12+.google.pubsub.v1.UpdateSubscriptionRequest\x1a\x1e.google.pubsub.v1.Subscription\"X\xda\x41\x18subscription,update_mask\x82\xd3\xe4\x93\x02\x37\x32\x32/v1/{subscription.name=projects/*/subscriptions/*}:\x01*\x12\xa6\x01\n\x11ListSubscriptions\x12*.google.pubsub.v1.ListSubscriptionsRequest\x1a+.google.pubsub.v1.ListSubscriptionsResponse\"8\xda\x41\x07project\x82\xd3\xe4\x93\x02(\x12&/v1/{project=projects/*}/subscriptions\x12\x9f\x01\n\x12\x44\x65leteSubscription\x12+.google.pubsub.v1.DeleteSubscriptionRequest\x1a\x16.google.protobuf.Empty\"D\xda\x41\x0csubscription\x82\xd3\xe4\x93\x02/*-/v1/{subscription=projects/*/subscriptions/*}\x12\xcf\x01\n\x11ModifyAckDeadline\x12*.google.pubsub.v1.ModifyAckDeadlineRequest\x1a\x16.google.protobuf.Empty\"v\xda\x41)subscription,ack_ids,ack_deadline_seconds\x82\xd3\xe4\x93\x02\x44\"?/v1/{subscription=projects/*/subscriptions/*}:modifyAckDeadline:\x01*\x12\xa8\x01\n\x0b\x41\x63knowledge\x12$.google.pubsub.v1.AcknowledgeRequest\x1a\x16.google.protobuf.Empty\"[\xda\x41\x14subscription,ack_ids\x82\xd3\xe4\x93\x02>\"9/v1/{subscription=projects/*/subscriptions/*}:acknowledge:\x01*\x12\xd0\x01\n\x04Pull\x12\x1d.google.pubsub.v1.PullRequest\x1a\x1e.google.pubsub.v1.PullResponse\"\x88\x01\xda\x41,subscription,return_immediately,max_messages\xda\x41\x19subscription,max_messages\x82\xd3\xe4\x93\x02\x37\"2/v1/{subscription=projects/*/subscriptions/*}:pull:\x01*\x12\x66\n\rStreamingPull\x12&.google.pubsub.v1.StreamingPullRequest\x1a\'.google.pubsub.v1.StreamingPullResponse\"\x00(\x01\x30\x01\x12\xbb\x01\n\x10ModifyPushConfig\x12).google.pubsub.v1.ModifyPushConfigRequest\x1a\x16.google.protobuf.Empty\"d\xda\x41\x18subscription,push_config\x82\xd3\xe4\x93\x02\x43\">/v1/{subscription=projects/*/subscriptions/*}:modifyPushConfig:\x01*\x12\x89\x01\n\x0bGetSnapshot\x12$.google.pubsub.v1.GetSnapshotRequest\x1a\x1a.google.pubsub.v1.Snapshot\"8\xda\x41\x08snapshot\x82\xd3\xe4\x93\x02\'\x12%/v1/{snapshot=projects/*/snapshots/*}\x12\x96\x01\n\rListSnapshots\x12&.google.pubsub.v1.ListSnapshotsRequest\x1a\'.google.pubsub.v1.ListSnapshotsResponse\"4\xda\x41\x07project\x82\xd3\xe4\x93\x02$\x12\"/v1/{project=projects/*}/snapshots\x12\x97\x01\n\x0e\x43reateSnapshot\x12\'.google.pubsub.v1.CreateSnapshotRequest\x1a\x1a.google.pubsub.v1.Snapshot\"@\xda\x41\x11name,subscription\x82\xd3\xe4\x93\x02&\x1a!/v1/{name=projects/*/snapshots/*}:\x01*\x12\xa3\x01\n\x0eUpdateSnapshot\x12\'.google.pubsub.v1.UpdateSnapshotRequest\x1a\x1a.google.pubsub.v1.Snapshot\"L\xda\x41\x14snapshot,update_mask\x82\xd3\xe4\x93\x02/2*/v1/{snapshot.name=projects/*/snapshots/*}:\x01*\x12\x8b\x01\n\x0e\x44\x65leteSnapshot\x12\'.google.pubsub.v1.DeleteSnapshotRequest\x1a\x16.google.protobuf.Empty\"8\xda\x41\x08snapshot\x82\xd3\xe4\x93\x02\'*%/v1/{snapshot=projects/*/snapshots/*}\x12\x84\x01\n\x04Seek\x12\x1d.google.pubsub.v1.SeekRequest\x1a\x1e.google.pubsub.v1.SeekResponse\"=\x82\xd3\xe4\x93\x02\x37\"2/v1/{subscription=projects/*/subscriptions/*}:seek:\x01*\x1ap\xca\x41\x15pubsub.googleapis.com\xd2\x41Uhttps://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/pubsubB\xa7\x03\n\x14\x63om.google.pubsub.v1B\x0bPubsubProtoP\x01Z5cloud.google.com/go/pubsub/v2/apiv1/pubsubpb;pubsubpb\xaa\x02\x16Google.Cloud.PubSub.V1\xca\x02\x16Google\\Cloud\\PubSub\\V1\xea\x02\x19Google::Cloud::PubSub::V1\xea\x41x\n!cloudkms.googleapis.com/CryptoKey\x12Sprojects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}\xea\x41\x7f\n#analyticshub.googleapis.com/Listing\x12Xprojects/{project}/locations/{location}/dataExchanges/{data_exchange}/listings/{listing}b\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool @@ -31,6 +32,7 @@ warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" imports = [ ["google.protobuf.Timestamp", "google/protobuf/timestamp.proto"], + ["google.protobuf.Struct", "google/protobuf/struct.proto"], ["google.protobuf.Duration", "google/protobuf/duration.proto"], ["google.protobuf.FieldMask", "google/protobuf/field_mask.proto"], ] @@ -77,6 +79,8 @@ module V1 IngestionFailureEvent::ConfluentCloudFailureReason = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReason").msgclass IngestionFailureEvent::AwsKinesisFailureReason = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.pubsub.v1.IngestionFailureEvent.AwsKinesisFailureReason").msgclass JavaScriptUDF = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.pubsub.v1.JavaScriptUDF").msgclass + AIInference = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.pubsub.v1.AIInference").msgclass + AIInference::UnstructuredInference = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.pubsub.v1.AIInference.UnstructuredInference").msgclass MessageTransform = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.pubsub.v1.MessageTransform").msgclass Topic = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.pubsub.v1.Topic").msgclass Topic::State = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.pubsub.v1.Topic.State").enummodule diff --git a/google-cloud-pubsub-v1/proto_docs/google/protobuf/struct.rb b/google-cloud-pubsub-v1/proto_docs/google/protobuf/struct.rb new file mode 100644 index 000000000000..39e1aca868d2 --- /dev/null +++ b/google-cloud-pubsub-v1/proto_docs/google/protobuf/struct.rb @@ -0,0 +1,108 @@ +# frozen_string_literal: true + +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + + +module Google + module Protobuf + # `Struct` represents a structured data value, consisting of fields + # which map to dynamically typed values. In some languages, `Struct` + # might be supported by a native representation. For example, in + # scripting languages like JS a struct is represented as an + # object. The details of that representation are described together + # with the proto support for the language. + # + # The JSON representation for `Struct` is JSON object. + # @!attribute [rw] fields + # @return [::Google::Protobuf::Map{::String => ::Google::Protobuf::Value}] + # Unordered map of dynamically typed values. + class Struct + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # @!attribute [rw] key + # @return [::String] + # @!attribute [rw] value + # @return [::Google::Protobuf::Value] + class FieldsEntry + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end + + # `Value` represents a dynamically typed value which can be either + # null, a number, a string, a boolean, a recursive struct value, or a + # list of values. A producer of value is expected to set one of these + # variants. Absence of any variant indicates an error. + # + # The JSON representation for `Value` is JSON value. + # @!attribute [rw] null_value + # @return [::Google::Protobuf::NullValue] + # Represents a null value. + # + # Note: The following fields are mutually exclusive: `null_value`, `number_value`, `string_value`, `bool_value`, `struct_value`, `list_value`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] number_value + # @return [::Float] + # Represents a double value. + # + # Note: The following fields are mutually exclusive: `number_value`, `null_value`, `string_value`, `bool_value`, `struct_value`, `list_value`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] string_value + # @return [::String] + # Represents a string value. + # + # Note: The following fields are mutually exclusive: `string_value`, `null_value`, `number_value`, `bool_value`, `struct_value`, `list_value`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] bool_value + # @return [::Boolean] + # Represents a boolean value. + # + # Note: The following fields are mutually exclusive: `bool_value`, `null_value`, `number_value`, `string_value`, `struct_value`, `list_value`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] struct_value + # @return [::Google::Protobuf::Struct] + # Represents a structured value. + # + # Note: The following fields are mutually exclusive: `struct_value`, `null_value`, `number_value`, `string_value`, `bool_value`, `list_value`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] list_value + # @return [::Google::Protobuf::ListValue] + # Represents a repeated `Value`. + # + # Note: The following fields are mutually exclusive: `list_value`, `null_value`, `number_value`, `string_value`, `bool_value`, `struct_value`. If a field in that set is populated, all other fields in the set will automatically be cleared. + class Value + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # `ListValue` is a wrapper around a repeated field of values. + # + # The JSON representation for `ListValue` is JSON array. + # @!attribute [rw] values + # @return [::Array<::Google::Protobuf::Value>] + # Repeated field of dynamically typed values. + class ListValue + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # `NullValue` is a singleton enumeration to represent the null value for the + # `Value` type union. + # + # The JSON representation for `NullValue` is JSON `null`. + module NullValue + # Null value. + NULL_VALUE = 0 + end + end +end diff --git a/google-cloud-pubsub-v1/proto_docs/google/pubsub/v1/pubsub.rb b/google-cloud-pubsub-v1/proto_docs/google/pubsub/v1/pubsub.rb index 3ce2a2024198..76a8d53adbce 100644 --- a/google-cloud-pubsub-v1/proto_docs/google/pubsub/v1/pubsub.rb +++ b/google-cloud-pubsub-v1/proto_docs/google/pubsub/v1/pubsub.rb @@ -753,11 +753,54 @@ class JavaScriptUDF extend ::Google::Protobuf::MessageExts::ClassMethods end + # Configuration for making inference requests against Vertex AI models. + # @!attribute [rw] endpoint + # @return [::String] + # Required. An endpoint to a Vertex AI model of the form + # `projects/{project}/locations/{location}/endpoints/{endpoint}` or + # `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`. + # Vertex AI API requests will be sent to this endpoint. + # @!attribute [rw] unstructured_inference + # @return [::Google::Cloud::PubSub::V1::AIInference::UnstructuredInference] + # Optional. Requests and responses can be any arbitrary JSON object. + # @!attribute [rw] service_account_email + # @return [::String] + # Optional. The service account to use to make prediction requests against + # endpoints. The resource creator or updater that specifies this field must + # have `iam.serviceAccounts.actAs` permission on the service account. If not + # specified, the Pub/Sub [service + # agent](\\{$universe.dns_names.final_documentation_domain}/iam/docs/service-agents), + # service-\\{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used. + class AIInference + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # Configuration for making inferences using arbitrary JSON payloads. + # @!attribute [rw] parameters + # @return [::Google::Protobuf::Struct] + # Optional. A parameters object to be included in each inference request. + # The parameters object is combined with the data field of the Pub/Sub + # message to form the inference request. + class UnstructuredInference + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end + # All supported message transforms types. # @!attribute [rw] javascript_udf # @return [::Google::Cloud::PubSub::V1::JavaScriptUDF] # Optional. JavaScript User Defined Function. If multiple JavaScriptUDF's # are specified on a resource, each must have a unique `function_name`. + # + # Note: The following fields are mutually exclusive: `javascript_udf`, `ai_inference`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] ai_inference + # @return [::Google::Cloud::PubSub::V1::AIInference] + # Optional. AI Inference. Specifies the Vertex AI endpoint that inference + # requests built from the Pub/Sub message data and provided parameters will + # be sent to. + # + # Note: The following fields are mutually exclusive: `ai_inference`, `javascript_udf`. If a field in that set is populated, all other fields in the set will automatically be cleared. # @!attribute [rw] enabled # @deprecated This field is deprecated and may be removed in the next major version update. # @return [::Boolean] @@ -830,6 +873,8 @@ class MessageTransform # resource. For example: # "123/environment": "production", # "123/costCenter": "marketing" + # See https://docs.cloud.google.com/pubsub/docs/tags for more information on + # using tags with Pub/Sub resources. class Topic include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods @@ -922,7 +967,7 @@ class AttributesEntry # Request for the GetTopic method. # @!attribute [rw] topic # @return [::String] - # Required. Identifier. The name of the topic to get. + # Required. The name of the topic to get. # Format is `projects/{project}/topics/{topic}`. class GetTopicRequest include ::Google::Protobuf::MessageExts @@ -948,8 +993,8 @@ class UpdateTopicRequest # Request for the Publish method. # @!attribute [rw] topic # @return [::String] - # Required. Identifier. The messages in the request will be published on this - # topic. Format is `projects/{project}/topics/{topic}`. + # Required. The messages in the request will be published on this topic. + # Format is `projects/{project}/topics/{topic}`. # @!attribute [rw] messages # @return [::Array<::Google::Cloud::PubSub::V1::PubsubMessage>] # Required. The messages to publish. @@ -972,7 +1017,7 @@ class PublishResponse # Request for the `ListTopics` method. # @!attribute [rw] project # @return [::String] - # Required. Identifier. The name of the project in which to list topics. + # Required. The name of the project in which to list topics. # Format is `projects/{project-id}`. # @!attribute [rw] page_size # @return [::Integer] @@ -1068,7 +1113,7 @@ class ListTopicSnapshotsResponse # Request for the `DeleteTopic` method. # @!attribute [rw] topic # @return [::String] - # Required. Identifier. Name of the topic to delete. + # Required. Name of the topic to delete. # Format is `projects/{project}/topics/{topic}`. class DeleteTopicRequest include ::Google::Protobuf::MessageExts @@ -1238,7 +1283,7 @@ class DetachSubscriptionResponse # @!attribute [r] analytics_hub_subscription_info # @return [::Google::Cloud::PubSub::V1::Subscription::AnalyticsHubSubscriptionInfo] # Output only. Information about the associated Analytics Hub subscription. - # Only set if the subscritpion is created by Analytics Hub. + # Only set if the subscription is created by Analytics Hub. # @!attribute [rw] message_transforms # @return [::Array<::Google::Cloud::PubSub::V1::MessageTransform>] # Optional. Transforms to be applied to messages before they are delivered to @@ -1249,6 +1294,8 @@ class DetachSubscriptionResponse # resource. For example: # "123/environment": "production", # "123/costCenter": "marketing" + # See https://docs.cloud.google.com/pubsub/docs/tags for more information on + # using tags with Pub/Sub resources. class Subscription include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods @@ -1551,6 +1598,11 @@ module State # Cannot write to the destination because enforce_in_transit is set to true # and the destination locations are not in the allowed regions. IN_TRANSIT_LOCATION_RESTRICTION = 5 + + # Cannot write to the BigQuery table because the table is not in the same + # location as where Vertex AI models used in `message_transform`s are + # deployed. + VERTEX_AI_LOCATION_RESTRICTION = 6 end end @@ -1666,6 +1718,11 @@ module State # Cannot write to the Cloud Storage bucket due to an incompatibility # between the topic schema and subscription settings. SCHEMA_MISMATCH = 5 + + # Cannot write to the Cloud Storage bucket because the bucket is not in the + # same location as where Vertex AI models used in `message_transform`s are + # deployed. + VERTEX_AI_LOCATION_RESTRICTION = 6 end end @@ -1702,7 +1759,7 @@ class ReceivedMessage # Request for the GetSubscription method. # @!attribute [rw] subscription # @return [::String] - # Required. Identifier. The name of the subscription to get. + # Required. The name of the subscription to get. # Format is `projects/{project}/subscriptions/{sub}`. class GetSubscriptionRequest include ::Google::Protobuf::MessageExts @@ -1725,8 +1782,8 @@ class UpdateSubscriptionRequest # Request for the `ListSubscriptions` method. # @!attribute [rw] project # @return [::String] - # Required. Identifier. The name of the project in which to list - # subscriptions. Format is `projects/{project-id}`. + # Required. The name of the project in which to list subscriptions. + # Format is `projects/{project-id}`. # @!attribute [rw] page_size # @return [::Integer] # Optional. Maximum number of subscriptions to return. @@ -1757,7 +1814,7 @@ class ListSubscriptionsResponse # Request for the DeleteSubscription method. # @!attribute [rw] subscription # @return [::String] - # Required. Identifier. The subscription to delete. + # Required. The subscription to delete. # Format is `projects/{project}/subscriptions/{sub}`. class DeleteSubscriptionRequest include ::Google::Protobuf::MessageExts @@ -2017,10 +2074,10 @@ class SubscriptionProperties # Request for the `CreateSnapshot` method. # @!attribute [rw] name # @return [::String] - # Required. Identifier. User-provided name for this snapshot. If the name is - # not provided in the request, the server will assign a random name for this - # snapshot on the same project as the subscription. Note that for REST API - # requests, you must specify a name. See the [resource name + # Required. User-provided name for this snapshot. If the name is not provided + # in the request, the server will assign a random name for this snapshot on + # the same project as the subscription. Note that for REST API requests, you + # must specify a name. See the [resource name # rules](https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names). # Format is `projects/{project}/snapshots/{snap}`. # @!attribute [rw] subscription @@ -2044,6 +2101,8 @@ class SubscriptionProperties # resource. For example: # "123/environment": "production", # "123/costCenter": "marketing" + # See https://docs.cloud.google.com/pubsub/docs/tags for more information on + # using tags with Pub/Sub resources. class CreateSnapshotRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods @@ -2125,7 +2184,7 @@ class LabelsEntry # Request for the GetSnapshot method. # @!attribute [rw] snapshot # @return [::String] - # Required. Identifier. The name of the snapshot to get. + # Required. The name of the snapshot to get. # Format is `projects/{project}/snapshots/{snap}`. class GetSnapshotRequest include ::Google::Protobuf::MessageExts @@ -2135,7 +2194,7 @@ class GetSnapshotRequest # Request for the `ListSnapshots` method. # @!attribute [rw] project # @return [::String] - # Required. Identifier. The name of the project in which to list snapshots. + # Required. The name of the project in which to list snapshots. # Format is `projects/{project-id}`. # @!attribute [rw] page_size # @return [::Integer] @@ -2167,7 +2226,7 @@ class ListSnapshotsResponse # Request for the `DeleteSnapshot` method. # @!attribute [rw] snapshot # @return [::String] - # Required. Identifier. The name of the snapshot to delete. + # Required. The name of the snapshot to delete. # Format is `projects/{project}/snapshots/{snap}`. class DeleteSnapshotRequest include ::Google::Protobuf::MessageExts