google-cloud-pubsub-v1 0.23.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -28,6 +28,9 @@ module Google
28
28
  # @!attribute [rw] destinations
29
29
  # @return [::Array<::Google::Api::ClientLibraryDestination>]
30
30
  # The destination where API teams want this client library to be published.
31
+ # @!attribute [rw] selective_gapic_generation
32
+ # @return [::Google::Api::SelectiveGapicGeneration]
33
+ # Configuration for which RPCs should be generated in the GAPIC client.
31
34
  class CommonLanguageSettings
32
35
  include ::Google::Protobuf::MessageExts
33
36
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -196,9 +199,32 @@ module Google
196
199
  # @!attribute [rw] common
197
200
  # @return [::Google::Api::CommonLanguageSettings]
198
201
  # Some settings.
202
+ # @!attribute [rw] experimental_features
203
+ # @return [::Google::Api::PythonSettings::ExperimentalFeatures]
204
+ # Experimental features to be included during client library generation.
199
205
  class PythonSettings
200
206
  include ::Google::Protobuf::MessageExts
201
207
  extend ::Google::Protobuf::MessageExts::ClassMethods
208
+
209
+ # Experimental features to be included during client library generation.
210
+ # These fields will be deprecated once the feature graduates and is enabled
211
+ # by default.
212
+ # @!attribute [rw] rest_async_io_enabled
213
+ # @return [::Boolean]
214
+ # Enables generation of asynchronous REST clients if `rest` transport is
215
+ # enabled. By default, asynchronous REST clients will not be generated.
216
+ # This feature will be enabled by default 1 month after launching the
217
+ # feature in preview packages.
218
+ # @!attribute [rw] protobuf_pythonic_types_enabled
219
+ # @return [::Boolean]
220
+ # Enables generation of protobuf code using new types that are more
221
+ # Pythonic which are included in `protobuf>=5.29.x`. This feature will be
222
+ # enabled by default 1 month after launching the feature in preview
223
+ # packages.
224
+ class ExperimentalFeatures
225
+ include ::Google::Protobuf::MessageExts
226
+ extend ::Google::Protobuf::MessageExts::ClassMethods
227
+ end
202
228
  end
203
229
 
204
230
  # Settings for Node client libraries.
@@ -280,9 +306,28 @@ module Google
280
306
  # @!attribute [rw] common
281
307
  # @return [::Google::Api::CommonLanguageSettings]
282
308
  # Some settings.
309
+ # @!attribute [rw] renamed_services
310
+ # @return [::Google::Protobuf::Map{::String => ::String}]
311
+ # Map of service names to renamed services. Keys are the package relative
312
+ # service names and values are the name to be used for the service client
313
+ # and call options.
314
+ #
315
+ # publishing:
316
+ # go_settings:
317
+ # renamed_services:
318
+ # Publisher: TopicAdmin
283
319
  class GoSettings
284
320
  include ::Google::Protobuf::MessageExts
285
321
  extend ::Google::Protobuf::MessageExts::ClassMethods
322
+
323
+ # @!attribute [rw] key
324
+ # @return [::String]
325
+ # @!attribute [rw] value
326
+ # @return [::String]
327
+ class RenamedServicesEntry
328
+ include ::Google::Protobuf::MessageExts
329
+ extend ::Google::Protobuf::MessageExts::ClassMethods
330
+ end
286
331
  end
287
332
 
288
333
  # Describes the generator configuration for a method.
@@ -290,6 +335,13 @@ module Google
290
335
  # @return [::String]
291
336
  # The fully qualified name of the method, for which the options below apply.
292
337
  # This is used to find the method to apply the options.
338
+ #
339
+ # Example:
340
+ #
341
+ # publishing:
342
+ # method_settings:
343
+ # - selector: google.storage.control.v2.StorageControl.CreateFolder
344
+ # # method settings for CreateFolder...
293
345
  # @!attribute [rw] long_running
294
346
  # @return [::Google::Api::MethodSettings::LongRunning]
295
347
  # Describes settings to use for long-running operations when generating
@@ -298,17 +350,14 @@ module Google
298
350
  #
299
351
  # Example of a YAML configuration::
300
352
  #
301
- # publishing:
302
- # method_settings:
353
+ # publishing:
354
+ # method_settings:
303
355
  # - selector: google.cloud.speech.v2.Speech.BatchRecognize
304
356
  # long_running:
305
- # initial_poll_delay:
306
- # seconds: 60 # 1 minute
357
+ # initial_poll_delay: 60s # 1 minute
307
358
  # poll_delay_multiplier: 1.5
308
- # max_poll_delay:
309
- # seconds: 360 # 6 minutes
310
- # total_poll_timeout:
311
- # seconds: 54000 # 90 minutes
359
+ # max_poll_delay: 360s # 6 minutes
360
+ # total_poll_timeout: 54000s # 90 minutes
312
361
  # @!attribute [rw] auto_populated_fields
313
362
  # @return [::Array<::String>]
314
363
  # List of top-level fields of the request message, that should be
@@ -317,8 +366,8 @@ module Google
317
366
  #
318
367
  # Example of a YAML configuration:
319
368
  #
320
- # publishing:
321
- # method_settings:
369
+ # publishing:
370
+ # method_settings:
322
371
  # - selector: google.example.v1.ExampleService.CreateExample
323
372
  # auto_populated_fields:
324
373
  # - request_id
@@ -354,6 +403,17 @@ module Google
354
403
  end
355
404
  end
356
405
 
406
+ # This message is used to configure the generation of a subset of the RPCs in
407
+ # a service for client libraries.
408
+ # @!attribute [rw] methods
409
+ # @return [::Array<::String>]
410
+ # An allowlist of the fully qualified names of RPCs that should be included
411
+ # on public client surfaces.
412
+ class SelectiveGapicGeneration
413
+ include ::Google::Protobuf::MessageExts
414
+ extend ::Google::Protobuf::MessageExts::ClassMethods
415
+ end
416
+
357
417
  # The organization for which the client libraries are being published.
358
418
  # Affects the url where generated docs are published, etc.
359
419
  module ClientLibraryOrganization
@@ -124,8 +124,13 @@ module Google
124
124
  # @return [::String]
125
125
  # The plural name used in the resource name and permission names, such as
126
126
  # 'projects' for the resource name of 'projects/\\{project}' and the permission
127
- # name of 'cloudresourcemanager.googleapis.com/projects.get'. It is the same
128
- # concept of the `plural` field in k8s CRD spec
127
+ # name of 'cloudresourcemanager.googleapis.com/projects.get'. One exception
128
+ # to this is for Nested Collections that have stuttering names, as defined
129
+ # in [AIP-122](https://google.aip.dev/122#nested-collections), where the
130
+ # collection ID in the resource name pattern does not necessarily directly
131
+ # match the `plural` value.
132
+ #
133
+ # It is the same concept of the `plural` field in k8s CRD spec
129
134
  # https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
130
135
  #
131
136
  # Note: The plural form is required even for singleton resources. See
@@ -71,6 +71,13 @@ module Google
71
71
  # @!attribute [rw] aws_kinesis
72
72
  # @return [::Google::Cloud::PubSub::V1::IngestionDataSourceSettings::AwsKinesis]
73
73
  # Optional. Amazon Kinesis Data Streams.
74
+ # @!attribute [rw] cloud_storage
75
+ # @return [::Google::Cloud::PubSub::V1::IngestionDataSourceSettings::CloudStorage]
76
+ # Optional. Cloud Storage.
77
+ # @!attribute [rw] platform_logs_settings
78
+ # @return [::Google::Cloud::PubSub::V1::PlatformLogsSettings]
79
+ # Optional. Platform Logs settings. If unset, no Platform Logs will be
80
+ # generated.
74
81
  class IngestionDataSourceSettings
75
82
  include ::Google::Protobuf::MessageExts
76
83
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -133,6 +140,190 @@ module Google
133
140
  CONSUMER_NOT_FOUND = 5
134
141
  end
135
142
  end
143
+
144
+ # Ingestion settings for Cloud Storage.
145
+ # @!attribute [r] state
146
+ # @return [::Google::Cloud::PubSub::V1::IngestionDataSourceSettings::CloudStorage::State]
147
+ # Output only. An output-only field that indicates the state of the Cloud
148
+ # Storage ingestion source.
149
+ # @!attribute [rw] bucket
150
+ # @return [::String]
151
+ # Optional. Cloud Storage bucket. The bucket name must be without any
152
+ # prefix like "gs://". See the [bucket naming requirements]
153
+ # (https://cloud.google.com/storage/docs/buckets#naming).
154
+ # @!attribute [rw] text_format
155
+ # @return [::Google::Cloud::PubSub::V1::IngestionDataSourceSettings::CloudStorage::TextFormat]
156
+ # Optional. Data from Cloud Storage will be interpreted as text.
157
+ # @!attribute [rw] avro_format
158
+ # @return [::Google::Cloud::PubSub::V1::IngestionDataSourceSettings::CloudStorage::AvroFormat]
159
+ # Optional. Data from Cloud Storage will be interpreted in Avro format.
160
+ # @!attribute [rw] pubsub_avro_format
161
+ # @return [::Google::Cloud::PubSub::V1::IngestionDataSourceSettings::CloudStorage::PubSubAvroFormat]
162
+ # Optional. It will be assumed data from Cloud Storage was written via
163
+ # [Cloud Storage
164
+ # subscriptions](https://cloud.google.com/pubsub/docs/cloudstorage).
165
+ # @!attribute [rw] minimum_object_create_time
166
+ # @return [::Google::Protobuf::Timestamp]
167
+ # Optional. Only objects with a larger or equal creation timestamp will be
168
+ # ingested.
169
+ # @!attribute [rw] match_glob
170
+ # @return [::String]
171
+ # Optional. Glob pattern used to match objects that will be ingested. If
172
+ # unset, all objects will be ingested. See the [supported
173
+ # patterns](https://cloud.google.com/storage/docs/json_api/v1/objects/list#list-objects-and-prefixes-using-glob).
174
+ class CloudStorage
175
+ include ::Google::Protobuf::MessageExts
176
+ extend ::Google::Protobuf::MessageExts::ClassMethods
177
+
178
+ # Configuration for reading Cloud Storage data in text format. Each line of
179
+ # text as specified by the delimiter will be set to the `data` field of a
180
+ # Pub/Sub message.
181
+ # @!attribute [rw] delimiter
182
+ # @return [::String]
183
+ # Optional. When unset, '\n' is used.
184
+ class TextFormat
185
+ include ::Google::Protobuf::MessageExts
186
+ extend ::Google::Protobuf::MessageExts::ClassMethods
187
+ end
188
+
189
+ # Configuration for reading Cloud Storage data in Avro binary format. The
190
+ # bytes of each object will be set to the `data` field of a Pub/Sub
191
+ # message.
192
+ class AvroFormat
193
+ include ::Google::Protobuf::MessageExts
194
+ extend ::Google::Protobuf::MessageExts::ClassMethods
195
+ end
196
+
197
+ # Configuration for reading Cloud Storage data written via [Cloud Storage
198
+ # subscriptions](https://cloud.google.com/pubsub/docs/cloudstorage). The
199
+ # data and attributes fields of the originally exported Pub/Sub message
200
+ # will be restored when publishing.
201
+ class PubSubAvroFormat
202
+ include ::Google::Protobuf::MessageExts
203
+ extend ::Google::Protobuf::MessageExts::ClassMethods
204
+ end
205
+
206
+ # Possible states for ingestion from Cloud Storage.
207
+ module State
208
+ # Default value. This value is unused.
209
+ STATE_UNSPECIFIED = 0
210
+
211
+ # Ingestion is active.
212
+ ACTIVE = 1
213
+
214
+ # Permission denied encountered while calling the Cloud Storage API. This
215
+ # can happen if the Pub/Sub SA has not been granted the
216
+ # [appropriate
217
+ # permissions](https://cloud.google.com/storage/docs/access-control/iam-permissions):
218
+ # - storage.objects.list: to list the objects in a bucket.
219
+ # - storage.objects.get: to read the objects in a bucket.
220
+ # - storage.buckets.get: to verify the bucket exists.
221
+ CLOUD_STORAGE_PERMISSION_DENIED = 2
222
+
223
+ # Permission denied encountered while publishing to the topic. This can
224
+ # happen if the Pub/Sub SA has not been granted the [appropriate publish
225
+ # permissions](https://cloud.google.com/pubsub/docs/access-control#pubsub.publisher)
226
+ PUBLISH_PERMISSION_DENIED = 3
227
+
228
+ # The provided Cloud Storage bucket doesn't exist.
229
+ BUCKET_NOT_FOUND = 4
230
+
231
+ # The Cloud Storage bucket has too many objects, ingestion will be
232
+ # paused.
233
+ TOO_MANY_OBJECTS = 5
234
+ end
235
+ end
236
+ end
237
+
238
+ # Settings for Platform Logs produced by Pub/Sub.
239
+ # @!attribute [rw] severity
240
+ # @return [::Google::Cloud::PubSub::V1::PlatformLogsSettings::Severity]
241
+ # Optional. The minimum severity level of Platform Logs that will be written.
242
+ class PlatformLogsSettings
243
+ include ::Google::Protobuf::MessageExts
244
+ extend ::Google::Protobuf::MessageExts::ClassMethods
245
+
246
+ # Severity levels of Platform Logs.
247
+ module Severity
248
+ # Default value. Logs level is unspecified. Logs will be disabled.
249
+ SEVERITY_UNSPECIFIED = 0
250
+
251
+ # Logs will be disabled.
252
+ DISABLED = 1
253
+
254
+ # Debug logs and higher-severity logs will be written.
255
+ DEBUG = 2
256
+
257
+ # Info logs and higher-severity logs will be written.
258
+ INFO = 3
259
+
260
+ # Warning logs and higher-severity logs will be written.
261
+ WARNING = 4
262
+
263
+ # Only error logs will be written.
264
+ ERROR = 5
265
+ end
266
+ end
267
+
268
+ # Payload of the Platform Log entry sent when a failure is encountered while
269
+ # ingesting.
270
+ # @!attribute [rw] topic
271
+ # @return [::String]
272
+ # Required. Name of the import topic. Format is:
273
+ # projects/\\{project_name}/topics/\\{topic_name}.
274
+ # @!attribute [rw] error_message
275
+ # @return [::String]
276
+ # Required. Error details explaining why ingestion to Pub/Sub has failed.
277
+ # @!attribute [rw] cloud_storage_failure
278
+ # @return [::Google::Cloud::PubSub::V1::IngestionFailureEvent::CloudStorageFailure]
279
+ # Optional. Failure when ingesting from Cloud Storage.
280
+ class IngestionFailureEvent
281
+ include ::Google::Protobuf::MessageExts
282
+ extend ::Google::Protobuf::MessageExts::ClassMethods
283
+
284
+ # Specifies the reason why some data may have been left out of
285
+ # the desired Pub/Sub message due to the API message limits
286
+ # (https://cloud.google.com/pubsub/quotas#resource_limits). For example,
287
+ # when the number of attributes is larger than 100, the number of
288
+ # attributes is truncated to 100 to respect the limit on the attribute count.
289
+ # Other attribute limits are treated similarly. When the size of the desired
290
+ # message would've been larger than 10MB, the message won't be published at
291
+ # all, and ingestion of the subsequent messages will proceed as normal.
292
+ class ApiViolationReason
293
+ include ::Google::Protobuf::MessageExts
294
+ extend ::Google::Protobuf::MessageExts::ClassMethods
295
+ end
296
+
297
+ # Set when an Avro file is unsupported or its format is not valid. When this
298
+ # occurs, one or more Avro objects won't be ingested.
299
+ class AvroFailureReason
300
+ include ::Google::Protobuf::MessageExts
301
+ extend ::Google::Protobuf::MessageExts::ClassMethods
302
+ end
303
+
304
+ # Failure when ingesting from a Cloud Storage source.
305
+ # @!attribute [rw] bucket
306
+ # @return [::String]
307
+ # Optional. Name of the Cloud Storage bucket used for ingestion.
308
+ # @!attribute [rw] object_name
309
+ # @return [::String]
310
+ # Optional. Name of the Cloud Storage object which contained the section
311
+ # that couldn't be ingested.
312
+ # @!attribute [rw] object_generation
313
+ # @return [::Integer]
314
+ # Optional. Generation of the Cloud Storage object which contained the
315
+ # section that couldn't be ingested.
316
+ # @!attribute [rw] avro_failure_reason
317
+ # @return [::Google::Cloud::PubSub::V1::IngestionFailureEvent::AvroFailureReason]
318
+ # Optional. Failure encountered when parsing an Avro file.
319
+ # @!attribute [rw] api_violation_reason
320
+ # @return [::Google::Cloud::PubSub::V1::IngestionFailureEvent::ApiViolationReason]
321
+ # Optional. The Pub/Sub API limits prevented the desired message from
322
+ # being published.
323
+ class CloudStorageFailure
324
+ include ::Google::Protobuf::MessageExts
325
+ extend ::Google::Protobuf::MessageExts::ClassMethods
326
+ end
136
327
  end
137
328
 
138
329
  # A topic resource.
@@ -500,7 +691,7 @@ module Google
500
691
  # backlog, from the moment a message is published. If `retain_acked_messages`
501
692
  # is true, then this also configures the retention of acknowledged messages,
502
693
  # and thus configures how far back in time a `Seek` can be done. Defaults to
503
- # 7 days. Cannot be more than 7 days or less than 10 minutes.
694
+ # 7 days. Cannot be more than 31 days or less than 10 minutes.
504
695
  # @!attribute [rw] labels
505
696
  # @return [::Google::Protobuf::Map{::String => ::String}]
506
697
  # Optional. See [Creating and managing
@@ -579,10 +770,31 @@ module Google
579
770
  # @return [::Google::Cloud::PubSub::V1::Subscription::State]
580
771
  # Output only. An output-only field indicating whether or not the
581
772
  # subscription can receive messages.
773
+ # @!attribute [r] analytics_hub_subscription_info
774
+ # @return [::Google::Cloud::PubSub::V1::Subscription::AnalyticsHubSubscriptionInfo]
775
+ # Output only. Information about the associated Analytics Hub subscription.
776
+ # Only set if the subscritpion is created by Analytics Hub.
582
777
  class Subscription
583
778
  include ::Google::Protobuf::MessageExts
584
779
  extend ::Google::Protobuf::MessageExts::ClassMethods
585
780
 
781
+ # Information about an associated Analytics Hub subscription
782
+ # (https://cloud.google.com/bigquery/docs/analytics-hub-manage-subscriptions).
783
+ # @!attribute [rw] listing
784
+ # @return [::String]
785
+ # Optional. The name of the associated Analytics Hub listing resource.
786
+ # Pattern:
787
+ # "projects/\\{project}/locations/\\{location}/dataExchanges/\\{data_exchange}/listings/\\{listing}"
788
+ # @!attribute [rw] subscription
789
+ # @return [::String]
790
+ # Optional. The name of the associated Analytics Hub subscription resource.
791
+ # Pattern:
792
+ # "projects/\\{project}/locations/\\{location}/subscriptions/\\{subscription}"
793
+ class AnalyticsHubSubscriptionInfo
794
+ include ::Google::Protobuf::MessageExts
795
+ extend ::Google::Protobuf::MessageExts::ClassMethods
796
+ end
797
+
586
798
  # @!attribute [rw] key
587
799
  # @return [::String]
588
800
  # @!attribute [rw] value
@@ -814,6 +1026,14 @@ module Google
814
1026
  # Optional. When true, use the BigQuery table's schema as the columns to
815
1027
  # write to in BigQuery. `use_table_schema` and `use_topic_schema` cannot be
816
1028
  # enabled at the same time.
1029
+ # @!attribute [rw] service_account_email
1030
+ # @return [::String]
1031
+ # Optional. The service account to use to write to BigQuery. The subscription
1032
+ # creator or updater that specifies this field must have
1033
+ # `iam.serviceAccounts.actAs` permission on the service account. If not
1034
+ # specified, the Pub/Sub [service
1035
+ # agent](https://cloud.google.com/iam/docs/service-agents),
1036
+ # service-\\{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
817
1037
  class BigQueryConfig
818
1038
  include ::Google::Protobuf::MessageExts
819
1039
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -885,10 +1105,22 @@ module Google
885
1105
  # Optional. The maximum bytes that can be written to a Cloud Storage file
886
1106
  # before a new file is created. Min 1 KB, max 10 GiB. The max_bytes limit may
887
1107
  # be exceeded in cases where messages are larger than the limit.
1108
+ # @!attribute [rw] max_messages
1109
+ # @return [::Integer]
1110
+ # Optional. The maximum number of messages that can be written to a Cloud
1111
+ # Storage file before a new file is created. Min 1000 messages.
888
1112
  # @!attribute [r] state
889
1113
  # @return [::Google::Cloud::PubSub::V1::CloudStorageConfig::State]
890
1114
  # Output only. An output-only field that indicates whether or not the
891
1115
  # subscription can receive messages.
1116
+ # @!attribute [rw] service_account_email
1117
+ # @return [::String]
1118
+ # Optional. The service account to use to write to Cloud Storage. The
1119
+ # subscription creator or updater that specifies this field must have
1120
+ # `iam.serviceAccounts.actAs` permission on the service account. If not
1121
+ # specified, the Pub/Sub
1122
+ # [service agent](https://cloud.google.com/iam/docs/service-agents),
1123
+ # service-\\{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
892
1124
  class CloudStorageConfig
893
1125
  include ::Google::Protobuf::MessageExts
894
1126
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -911,6 +1143,10 @@ module Google
911
1143
  # put in their own fields while all other message properties other than
912
1144
  # data (for example, an ordering_key, if present) are added as entries in
913
1145
  # the attributes map.
1146
+ # @!attribute [rw] use_topic_schema
1147
+ # @return [::Boolean]
1148
+ # Optional. When true, the output Cloud Storage file will be serialized
1149
+ # using the topic schema, if it exists.
914
1150
  class AvroConfig
915
1151
  include ::Google::Protobuf::MessageExts
916
1152
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -934,6 +1170,10 @@ module Google
934
1170
  # Cannot write to the destination because enforce_in_transit is set to true
935
1171
  # and the destination locations are not in the allowed regions.
936
1172
  IN_TRANSIT_LOCATION_RESTRICTION = 4
1173
+
1174
+ # Cannot write to the Cloud Storage bucket due to an incompatibility
1175
+ # between the topic schema and subscription settings.
1176
+ SCHEMA_MISMATCH = 5
937
1177
  end
938
1178
  end
939
1179
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-pubsub-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.23.0
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-04-15 00:00:00.000000000 Z
11
+ date: 2024-12-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gapic-common
@@ -16,7 +16,7 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.21.1
19
+ version: 0.24.0
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: 2.a
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 0.21.1
29
+ version: 0.24.0
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: 2.a
@@ -133,7 +133,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
133
133
  - !ruby/object:Gem::Version
134
134
  version: '0'
135
135
  requirements: []
136
- rubygems_version: 3.5.6
136
+ rubygems_version: 3.5.23
137
137
  signing_key:
138
138
  specification_version: 4
139
139
  summary: Provides reliable, many-to-many, asynchronous messaging between applications.