blob: 09cd93427b59173d6cb78b44dd9f174cb1339063 [file] [log] [blame]
type: com.google.api.codegen.ConfigProto
language_settings:
java:
package_name: com.google.cloud.pubsub.spi.v1
interface_names:
google.pubsub.v1.Publisher: TopicAdmin
google.pubsub.v1.Subscriber: SubscriptionAdmin
python:
package_name: google.cloud.gapic.pubsub.v1
go:
package_name: cloud.google.com/go/pubsub/apiv1
domain_layer_location: cloud.google.com/go/pubsub
csharp:
package_name: Google.Cloud.PubSub.V1
ruby:
package_name: Google::Cloud::Pubsub::V1
php:
package_name: Google\Cloud\PubSub\V1
nodejs:
package_name: pubsub.v1
domain_layer_location: google-cloud
license_header:
copyright_file: copyright-google.txt
license_file: license-header-apache-2.0.txt
fixed_resource_name_values:
- entity_name: deleted_topic
fixed_value: _deleted-topic_
collection_oneofs:
- oneof_name: topic_oneof
collection_names:
- topic
- deleted_topic
interfaces:
- name: google.pubsub.v1.Subscriber
lang_doc:
java: To retrieve messages from a subscription, see the Subscriber class.
collections:
- name_pattern: projects/{project}
entity_name: project
- name_pattern: projects/{project}/snapshots/{snapshot}
entity_name: snapshot
- name_pattern: projects/{project}/subscriptions/{subscription}
entity_name: subscription
- name_pattern: projects/{project}/topics/{topic}
entity_name: topic
retry_codes_def:
- name: idempotent
retry_codes:
- UNAVAILABLE
- DEADLINE_EXCEEDED
- name: non_idempotent
retry_codes:
- UNAVAILABLE
- name: pull
retry_codes:
- DEADLINE_EXCEEDED
- INTERNAL
- CANCELLED
- RESOURCE_EXHAUSTED
- UNAVAILABLE
retry_params_def:
- name: default
initial_retry_delay_millis: 100
retry_delay_multiplier: 1.3
max_retry_delay_millis: 60000 # 60 seconds
initial_rpc_timeout_millis: 60000 # 60 seconds
rpc_timeout_multiplier: 1
max_rpc_timeout_millis: 60000 # 60 seconds
total_timeout_millis: 600000 # 10 minutes
- name: messaging
initial_retry_delay_millis: 100
retry_delay_multiplier: 1.3
max_retry_delay_millis: 60000 # 60 seconds
initial_rpc_timeout_millis: 12000 # 12 seconds
rpc_timeout_multiplier: 1
max_rpc_timeout_millis: 12000 # 12 seconds
total_timeout_millis: 600000 # 10 minutes
experimental_features:
iam_resources:
- type: google.pubsub.v1.Subscription
field: name
- type: google.pubsub.v1.Topic
field: name
methods:
- name: CreateSubscription
flattening:
groups:
- parameters:
- name
- topic
- push_config
- ack_deadline_seconds
required_fields:
- name
- topic
request_object_method: true
resource_name_treatment: STATIC_TYPES
retry_codes_name: idempotent
retry_params_name: default
field_name_patterns:
name: subscription
topic: topic
timeout_millis: 60000
- name: GetSubscription
flattening:
groups:
- parameters:
- subscription
required_fields:
- subscription
request_object_method: false
resource_name_treatment: STATIC_TYPES
retry_codes_name: idempotent
retry_params_name: default
field_name_patterns:
subscription: subscription
timeout_millis: 60000
- name: UpdateSubscription
required_fields:
- subscription
- update_mask
request_object_method: true
retry_codes_name: idempotent
retry_params_name: default
timeout_millis: 60000
surface_treatments:
- include_languages:
- java
visibility: PACKAGE
- name: ListSubscriptions
flattening:
groups:
- parameters:
- project
required_fields:
- project
request_object_method: true
resource_name_treatment: STATIC_TYPES
page_streaming:
request:
page_size_field: page_size
token_field: page_token
response:
token_field: next_page_token
resources_field: subscriptions
retry_codes_name: idempotent
retry_params_name: default
field_name_patterns:
project: project
timeout_millis: 60000
- name: DeleteSubscription
flattening:
groups:
- parameters:
- subscription
required_fields:
- subscription
request_object_method: false
resource_name_treatment: STATIC_TYPES
retry_codes_name: idempotent
retry_params_name: default
field_name_patterns:
subscription: subscription
timeout_millis: 60000
- name: ModifyAckDeadline
flattening:
groups:
- parameters:
- subscription
- ack_ids
- ack_deadline_seconds
required_fields:
- subscription
- ack_ids
- ack_deadline_seconds
request_object_method: true
resource_name_treatment: STATIC_TYPES
retry_codes_name: non_idempotent
retry_params_name: default
field_name_patterns:
subscription: subscription
timeout_millis: 60000
surface_treatments:
- include_languages:
- java
visibility: PACKAGE
- name: Acknowledge
flattening:
groups:
- parameters:
- subscription
- ack_ids
required_fields:
- subscription
- ack_ids
request_object_method: true
resource_name_treatment: STATIC_TYPES
retry_codes_name: non_idempotent
retry_params_name: messaging
field_name_patterns:
subscription: subscription
timeout_millis: 60000
surface_treatments:
- include_languages:
- java
visibility: PACKAGE
- name: Pull
flattening:
groups:
- parameters:
- subscription
- return_immediately
- max_messages
required_fields:
- subscription
- max_messages
request_object_method: true
resource_name_treatment: STATIC_TYPES
retry_codes_name: pull
retry_params_name: messaging
field_name_patterns:
subscription: subscription
timeout_millis: 60000
surface_treatments:
- include_languages:
- java
visibility: PACKAGE
- name: StreamingPull
required_fields:
- subscription
- stream_ack_deadline_seconds
grpc_streaming:
response:
resources_field: received_messages
resource_name_treatment: STATIC_TYPES
retry_codes_name: pull
retry_params_name: messaging
field_name_patterns:
subscription: subscription
timeout_millis: 60000
surface_treatments:
- include_languages:
- java
visibility: PACKAGE
- name: ModifyPushConfig
flattening:
groups:
- parameters:
- subscription
- push_config
required_fields:
- subscription
- push_config
request_object_method: true
resource_name_treatment: STATIC_TYPES
retry_codes_name: non_idempotent
retry_params_name: default
field_name_patterns:
subscription: subscription
timeout_millis: 60000
- name: ListSnapshots
flattening:
groups:
- parameters:
- project
required_fields:
- project
request_object_method: true
resource_name_treatment: STATIC_TYPES
page_streaming:
request:
page_size_field: page_size
token_field: page_token
response:
token_field: next_page_token
resources_field: snapshots
retry_codes_name: idempotent
retry_params_name: default
field_name_patterns:
project: project
timeout_millis: 60000
- name: CreateSnapshot
flattening:
groups:
- parameters:
- name
- subscription
required_fields:
- name
- subscription
request_object_method: true
resource_name_treatment: STATIC_TYPES
retry_codes_name: idempotent
retry_params_name: default
field_name_patterns:
name: snapshot
subscription: subscription
timeout_millis: 60000
- name: DeleteSnapshot
flattening:
groups:
- parameters:
- snapshot
required_fields:
- snapshot
request_object_method: false
resource_name_treatment: STATIC_TYPES
retry_codes_name: idempotent
retry_params_name: default
field_name_patterns:
snapshot: snapshot
timeout_millis: 60000
- name: Seek
# Not including flattening until oneof support.
# https://github.com/googleapis/toolkit/issues/1057
required_fields:
- subscription
request_object_method: true
resource_name_treatment: STATIC_TYPES
retry_codes_name: non_idempotent
retry_params_name: default
field_name_patterns:
subscription: subscription
timeout_millis: 60000
- name: SetIamPolicy
flattening:
groups:
- parameters:
- resource
- policy
required_fields:
- resource
- policy
request_object_method: true
retry_codes_name: non_idempotent
retry_params_name: default
field_name_patterns:
resource: subscription
timeout_millis: 60000
reroute_to_grpc_interface: google.iam.v1.IAMPolicy
surface_treatments:
- include_languages:
- go
visibility: DISABLED
- name: GetIamPolicy
flattening:
groups:
- parameters:
- resource
required_fields:
- resource
request_object_method: false
retry_codes_name: idempotent
retry_params_name: default
field_name_patterns:
resource: subscription
timeout_millis: 60000
reroute_to_grpc_interface: google.iam.v1.IAMPolicy
surface_treatments:
- include_languages:
- go
visibility: DISABLED
- name: TestIamPermissions
flattening:
groups:
- parameters:
- resource
- permissions
required_fields:
- resource
- permissions
request_object_method: true
retry_codes_name: non_idempotent
retry_params_name: default
field_name_patterns:
resource: subscription
timeout_millis: 60000
reroute_to_grpc_interface: google.iam.v1.IAMPolicy
surface_treatments:
- include_languages:
- go
visibility: DISABLED
- name: google.pubsub.v1.Publisher
lang_doc:
java: To publish messages to a topic, see the Publisher class.
smoke_test:
method: CreateTopic
init_fields:
- name%project=$PROJECT_ID
- name%topic="smoketesttopic-$RANDOM"
collections:
- name_pattern: projects/{project}
entity_name: project
- name_pattern: projects/{project}/topics/{topic}
entity_name: topic
retry_codes_def:
- name: idempotent
retry_codes:
- UNAVAILABLE
- DEADLINE_EXCEEDED
- name: one_plus_delivery
retry_codes:
- ABORTED
- CANCELLED
- INTERNAL
- RESOURCE_EXHAUSTED
- UNKNOWN
- UNAVAILABLE
- DEADLINE_EXCEEDED
- name: non_idempotent
retry_codes:
- UNAVAILABLE
retry_params_def:
- name: default
initial_retry_delay_millis: 100
retry_delay_multiplier: 1.3
max_retry_delay_millis: 60000 # 60 seconds
initial_rpc_timeout_millis: 60000 # 60 seconds
rpc_timeout_multiplier: 1
max_rpc_timeout_millis: 60000 # 60 seconds
total_timeout_millis: 600000 # 10 minutes
- name: messaging
initial_retry_delay_millis: 100
retry_delay_multiplier: 1.3
max_retry_delay_millis: 60000 # 60 seconds
initial_rpc_timeout_millis: 12000 # 12 seconds
rpc_timeout_multiplier: 1
max_rpc_timeout_millis: 12000 # 12 seconds
total_timeout_millis: 600000 # 10 minutes
experimental_features:
iam_resources:
- type: google.pubsub.v1.Subscription
field: name
- type: google.pubsub.v1.Topic
field: name
methods:
- name: CreateTopic
flattening:
groups:
- parameters:
- name
required_fields:
- name
request_object_method: false
resource_name_treatment: STATIC_TYPES
retry_codes_name: idempotent
retry_params_name: default
field_name_patterns:
name: topic
timeout_millis: 60000
- name: Publish
flattening:
groups:
- parameters:
- topic
- messages
required_fields:
- topic
- messages
request_object_method: true
resource_name_treatment: STATIC_TYPES
retry_codes_name: one_plus_delivery
retry_params_name: messaging
batching:
thresholds:
element_count_threshold: 10
element_count_limit: 1000 # TO BE REMOVED LATER
request_byte_threshold: 1024 # 1 Kb
request_byte_limit: 10485760 # TO BE REMOVED LATER
delay_threshold_millis: 10
batch_descriptor:
batched_field: messages
discriminator_fields:
- topic
subresponse_field: message_ids
field_name_patterns:
topic: topic
sample_code_init_fields:
- messages[0].data
timeout_millis: 60000
surface_treatments:
- include_languages:
- java
visibility: PACKAGE
- name: GetTopic
flattening:
groups:
- parameters:
- topic
required_fields:
- topic
request_object_method: false
resource_name_treatment: STATIC_TYPES
retry_codes_name: idempotent
retry_params_name: default
field_name_patterns:
topic: topic
timeout_millis: 60000
- name: ListTopics
flattening:
groups:
- parameters:
- project
required_fields:
- project
request_object_method: true
resource_name_treatment: STATIC_TYPES
page_streaming:
request:
page_size_field: page_size
token_field: page_token
response:
token_field: next_page_token
resources_field: topics
retry_codes_name: idempotent
retry_params_name: default
field_name_patterns:
project: project
timeout_millis: 60000
- name: ListTopicSubscriptions
flattening:
groups:
- parameters:
- topic
required_fields:
- topic
request_object_method: true
resource_name_treatment: STATIC_TYPES
page_streaming:
request:
page_size_field: page_size
token_field: page_token
response:
token_field: next_page_token
resources_field: subscriptions
retry_codes_name: idempotent
retry_params_name: default
field_name_patterns:
topic: topic
timeout_millis: 60000
- name: DeleteTopic
flattening:
groups:
- parameters:
- topic
required_fields:
- topic
request_object_method: false
resource_name_treatment: STATIC_TYPES
retry_codes_name: idempotent
retry_params_name: default
field_name_patterns:
topic: topic
timeout_millis: 60000
- name: SetIamPolicy
flattening:
groups:
- parameters:
- resource
- policy
required_fields:
- resource
- policy
request_object_method: true
retry_codes_name: non_idempotent
retry_params_name: default
field_name_patterns:
resource: topic
timeout_millis: 60000
reroute_to_grpc_interface: google.iam.v1.IAMPolicy
surface_treatments:
- include_languages:
- go
visibility: DISABLED
- name: GetIamPolicy
flattening:
groups:
- parameters:
- resource
required_fields:
- resource
request_object_method: false
retry_codes_name: idempotent
retry_params_name: default
field_name_patterns:
resource: topic
timeout_millis: 60000
reroute_to_grpc_interface: google.iam.v1.IAMPolicy
surface_treatments:
- include_languages:
- go
visibility: DISABLED
- name: TestIamPermissions
flattening:
groups:
- parameters:
- resource
- permissions
required_fields:
- resource
- permissions
request_object_method: true
retry_codes_name: non_idempotent
retry_params_name: default
field_name_patterns:
resource: topic
timeout_millis: 60000
reroute_to_grpc_interface: google.iam.v1.IAMPolicy
surface_treatments:
- include_languages:
- go
visibility: DISABLED
resource_name_generation:
- message_name: Topic
field_entity_map:
name: topic
- message_name: GetTopicRequest
field_entity_map:
topic: topic
- message_name: PublishRequest
field_entity_map:
topic: topic
- message_name: ListTopicsRequest
field_entity_map:
project: project
- message_name: ListTopicSubscriptionsRequest
field_entity_map:
topic: topic
- message_name: ListTopicSubscriptionsResponse
field_entity_map:
subscriptions: subscription
- message_name: DeleteTopicRequest
field_entity_map:
topic: topic
- message_name: Subscription
field_entity_map:
name: subscription
topic: topic_oneof
- message_name: GetSubscriptionRequest
field_entity_map:
subscription: subscription
- message_name: ListSubscriptionsRequest
field_entity_map:
project: project
- message_name: DeleteSubscriptionRequest
field_entity_map:
subscription: subscription
- message_name: ModifyPushConfigRequest
field_entity_map:
subscription: subscription
- message_name: PullRequest
field_entity_map:
subscription: subscription
- message_name: ModifyAckDeadlineRequest
field_entity_map:
subscription: subscription
- message_name: AcknowledgeRequest
field_entity_map:
subscription: subscription
- message_name: StreamingPullRequest
field_entity_map:
subscription: subscription
- message_name: Snapshot
field_entity_map:
name: snapshot
topic: topic
- message_name: CreateSnapshotRequest
field_entity_map:
name: snapshot
subscription: subscription
- message_name: ListSnapshotsRequest
field_entity_map:
project: project
- message_name: DeleteSnapshotRequest
field_entity_map:
snapshot: snapshot
- message_name: SeekRequest
field_entity_map:
subscription: subscription
snapshot: snapshot