google-cloud-pubsub 0.35.0 → 0.36.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9eb65ead0bfa397fca5d4eab13a005d64dabb629da1b0b4638fbbd45fab65cf3
4
- data.tar.gz: 01027a9e96bda8a16107309c06eba2f4cd971a56ca851b59463a1958c06a63ec
3
+ metadata.gz: e6bdfb3062337b8aaf70394ea5f2c35054ac9cbe83836631b188456b8801c39e
4
+ data.tar.gz: 6f51848602a6702095214030780ddeae82e715b364541d2c1b8014232610c6b7
5
5
  SHA512:
6
- metadata.gz: 93dfbbcc2ea3e8cb444ed00bbf92a9d514cbf3868fc7cbe540be112358203c0d0becf16dd36e459accd65a1cb12db589f7e29a8942685418356b8a530ce374c9
7
- data.tar.gz: 660f2887f98ddef1f1c5a83f928e4855008f6770c3bbe02ac6f9a1c567ad8bd3dfc160bdbb7abc397de8197ccd27e6d588443c352a8ff3a6b8cfd3e09b3231bb
6
+ metadata.gz: 693140e1add6261c55b61d3a9514db9c10afcf4dd04f0e0d1dd369aabd915aa8dce15eda2408e1d9be6cc9f54d9f546c638eb7d8aa66ca63319dd014e2382536
7
+ data.tar.gz: 8872761deb3b50239a4bee8d8ef9259492e5e60259e6a6508f632134e0521443910dc54dd4536c0dc4242a2d40c0fc9e4cb911109a5754aace8c8596f2c36138
data/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # Release History
2
2
 
3
+ ### 0.36.0 / 2019-05-21
4
+
5
+ * Add Topic#kms_key
6
+ * Add the Cloud KMS encryption key that will be used to
7
+ protect access to messages published on a topic.
8
+ * Updates to the low-level API:
9
+ * Add Topic#kms_key_name (experimental)
10
+ * Snapshots no longer marked beta.
11
+ * Update IAM documentation.
12
+
3
13
  ### 0.35.0 / 2019-04-25
4
14
 
5
15
  * Add Subscription#push_config and Subscription::PushConfig
@@ -171,6 +171,9 @@ module Google
171
171
  # optional. Label keys must start with a letter and each label in the
172
172
  # list must have a different key. See [Creating and Managing
173
173
  # Labels](https://cloud.google.com/pubsub/docs/labels).
174
+ # @param [String] kms_key The Cloud KMS encryption key that will be used
175
+ # to protect access to messages published on this topic. Optional.
176
+ # For example: `projects/a/locations/b/keyRings/c/cryptoKeys/d`
174
177
  # @param [Hash] async A hash of values to configure the topic's
175
178
  # {AsyncPublisher} that is created when {Topic#publish_async}
176
179
  # is called. Optional.
@@ -199,9 +202,11 @@ module Google
199
202
  # pubsub = Google::Cloud::PubSub.new
200
203
  # topic = pubsub.create_topic "my-topic"
201
204
  #
202
- def create_topic topic_name, labels: nil, async: nil
205
+ def create_topic topic_name, labels: nil, kms_key: nil, async: nil
203
206
  ensure_service!
204
- grpc = service.create_topic topic_name, labels: labels
207
+ grpc = service.create_topic topic_name,
208
+ labels: labels,
209
+ kms_key_name: kms_key
205
210
  Topic.from_grpc grpc, service, async: async
206
211
  end
207
212
  alias new_topic create_topic
@@ -125,11 +125,12 @@ module Google
125
125
 
126
126
  ##
127
127
  # Creates the given topic with the given name.
128
- def create_topic topic_name, labels: nil, options: {}
128
+ def create_topic topic_name, labels: nil, kms_key_name: nil, options: {}
129
129
  execute do
130
130
  publisher.create_topic topic_path(topic_name, options),
131
- labels: labels,
132
- options: default_options
131
+ labels: labels,
132
+ kms_key_name: kms_key_name,
133
+ options: default_options
133
134
  end
134
135
  end
135
136
 
@@ -132,6 +132,56 @@ module Google
132
132
  @resource_name = nil
133
133
  end
134
134
 
135
+ ##
136
+ # The Cloud KMS encryption key that will be used to protect access
137
+ # to messages published on this topic.
138
+ # For example: `projects/a/locations/b/keyRings/c/cryptoKeys/d`
139
+ # The default value is `nil`, which means default encryption is used.
140
+ #
141
+ # Makes an API call to retrieve the KMS encryption key when called on a
142
+ # reference object. See {#reference?}.
143
+ #
144
+ # @return [String]
145
+ #
146
+ # @example
147
+ # require "google/cloud/pubsub"
148
+ #
149
+ # pubsub = Google::Cloud::PubSub.new
150
+ #
151
+ # topic = pubsub.topic "my-topic"
152
+ #
153
+ # topic.kms_key #=> "projects/a/locations/b/keyRings/c/cryptoKeys/d"
154
+ #
155
+ def kms_key
156
+ ensure_grpc!
157
+ @grpc.kms_key_name
158
+ end
159
+
160
+ ##
161
+ # Set the Cloud KMS encryption key that will be used to protect access
162
+ # to messages published on this topic.
163
+ # For example: `projects/a/locations/b/keyRings/c/cryptoKeys/d`
164
+ # The default value is `nil`, which means default encryption is used.
165
+ #
166
+ # @param [String] new_kms_key_name New Cloud KMS key name
167
+ #
168
+ # @example
169
+ # require "google/cloud/pubsub"
170
+ #
171
+ # pubsub = Google::Cloud::PubSub.new
172
+ #
173
+ # topic = pubsub.topic "my-topic"
174
+ #
175
+ # key_name = "projects/a/locations/b/keyRings/c/cryptoKeys/d"
176
+ # topic.kms_key = key_name
177
+ #
178
+ def kms_key= new_kms_key_name
179
+ update_grpc = Google::Cloud::PubSub::V1::Topic.new \
180
+ name: name, kms_key_name: new_kms_key_name
181
+ @grpc = service.update_topic update_grpc, :kms_key_name
182
+ @resource_name = nil
183
+ end
184
+
135
185
  ##
136
186
  # Permanently deletes the topic.
137
187
  #
@@ -48,6 +48,15 @@ module Google
48
48
  # CreateTopic or to UpdateTopic. This field will be populated in the
49
49
  # responses for GetTopic, CreateTopic, and UpdateTopic: if not present in the
50
50
  # response, then no constraints are in effect.
51
+ # @!attribute [rw] kms_key_name
52
+ # @return [String]
53
+ # The resource name of the Cloud KMS CryptoKey to be used to protect access
54
+ # to messages published on this topic.
55
+ #
56
+ # The expected format is `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
57
+ # <b>EXPERIMENTAL:</b> This feature is part of a closed alpha release. This
58
+ # API might be changed in backward-incompatible ways and is not recommended
59
+ # for production use. It is not subject to any SLA or deprecation policy.
51
60
  class Topic; end
52
61
 
53
62
  # A message that is published by publishers and consumed by subscribers. The
@@ -176,10 +185,7 @@ module Google
176
185
  # `ListTopicSubscriptionsRequest` to get more subscriptions.
177
186
  class ListTopicSubscriptionsResponse; end
178
187
 
179
- # Request for the `ListTopicSnapshots` method. <br><br>
180
- # <b>BETA:</b> This feature is part of a beta release. This API might be
181
- # changed in backward-incompatible ways and is not recommended for production
182
- # use. It is not subject to any SLA or deprecation policy.
188
+ # Request for the `ListTopicSnapshots` method.
183
189
  # @!attribute [rw] topic
184
190
  # @return [String]
185
191
  # The name of the topic that snapshots are attached to.
@@ -194,10 +200,7 @@ module Google
194
200
  # that the system should return the next page of data.
195
201
  class ListTopicSnapshotsRequest; end
196
202
 
197
- # Response for the `ListTopicSnapshots` method.<br><br>
198
- # <b>BETA:</b> This feature is part of a beta release. This API might be
199
- # changed in backward-incompatible ways and is not recommended for production
200
- # use. It is not subject to any SLA or deprecation policy.
203
+ # Response for the `ListTopicSnapshots` method.
201
204
  # @!attribute [rw] snapshots
202
205
  # @return [Array<String>]
203
206
  # The names of the snapshots that match the request.
@@ -266,10 +269,6 @@ module Google
266
269
  # <a
267
270
  # href="https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time">
268
271
  # Seek to a timestamp</a>.
269
- # <br><br>
270
- # <b>BETA:</b> This feature is part of a beta release. This API might be
271
- # changed in backward-incompatible ways and is not recommended for production
272
- # use. It is not subject to any SLA or deprecation policy.
273
272
  # @!attribute [rw] message_retention_duration
274
273
  # @return [Google::Protobuf::Duration]
275
274
  # How long to retain unacknowledged messages in the subscription's backlog,
@@ -277,10 +276,7 @@ module Google
277
276
  # If `retain_acked_messages` is true, then this also configures the retention
278
277
  # of acknowledged messages, and thus configures how far back in time a `Seek`
279
278
  # can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10
280
- # minutes.<br><br>
281
- # <b>BETA:</b> This feature is part of a beta release. This API might be
282
- # changed in backward-incompatible ways and is not recommended for production
283
- # use. It is not subject to any SLA or deprecation policy.
279
+ # minutes.
284
280
  # @!attribute [rw] labels
285
281
  # @return [Hash{String => String}]
286
282
  # See <a href="https://cloud.google.com/pubsub/docs/labels"> Creating and
@@ -302,9 +298,6 @@ module Google
302
298
  # operations on the subscription. If `expiration_policy` is not set, a
303
299
  # *default policy* with `ttl` of 31 days will be used. The minimum allowed
304
300
  # value for `expiration_policy.ttl` is 1 day.
305
- # <b>BETA:</b> This feature is part of a beta release. This API might be
306
- # changed in backward-incompatible ways and is not recommended for production
307
- # use. It is not subject to any SLA or deprecation policy.
308
301
  class Subscription; end
309
302
 
310
303
  # A policy that specifies the conditions for resource expiration (i.e.,
@@ -360,9 +353,8 @@ module Google
360
353
  # [Service account
361
354
  # email](https://cloud.google.com/iam/docs/service-accounts)
362
355
  # to be used for generating the OIDC token. The caller (for
363
- # CreateSubscription, UpdateSubscription, and ModifyPushConfig calls) must
356
+ # CreateSubscription, UpdateSubscription, and ModifyPushConfig RPCs) must
364
357
  # have the iam.serviceAccounts.actAs permission for the service account.
365
- # See https://cloud.google.com/iam/docs/understanding-roles#service-accounts-roles.
366
358
  # @!attribute [rw] audience
367
359
  # @return [String]
368
360
  # Audience to be used when generating OIDC token. The audience claim
@@ -556,10 +548,7 @@ module Google
556
548
  # Received Pub/Sub messages. This will not be empty.
557
549
  class StreamingPullResponse; end
558
550
 
559
- # Request for the `CreateSnapshot` method.<br><br>
560
- # <b>BETA:</b> This feature is part of a beta release. This API might be
561
- # changed in backward-incompatible ways and is not recommended for production
562
- # use. It is not subject to any SLA or deprecation policy.
551
+ # Request for the `CreateSnapshot` method.
563
552
  # @!attribute [rw] name
564
553
  # @return [String]
565
554
  # Optional user-provided name for this snapshot.
@@ -586,10 +575,7 @@ module Google
586
575
  # managing labels</a>.
587
576
  class CreateSnapshotRequest; end
588
577
 
589
- # Request for the UpdateSnapshot method.<br><br>
590
- # <b>BETA:</b> This feature is part of a beta release. This API might be
591
- # changed in backward-incompatible ways and is not recommended for production
592
- # use. It is not subject to any SLA or deprecation policy.
578
+ # Request for the UpdateSnapshot method.
593
579
  # @!attribute [rw] snapshot
594
580
  # @return [Google::Cloud::PubSub::V1::Snapshot]
595
581
  # The updated snapshot object.
@@ -604,10 +590,7 @@ module Google
604
590
  # operations, which allow
605
591
  # you to manage message acknowledgments in bulk. That is, you can set the
606
592
  # acknowledgment state of messages in an existing subscription to the state
607
- # captured by a snapshot.<br><br>
608
- # <b>BETA:</b> This feature is part of a beta release. This API might be
609
- # changed in backward-incompatible ways and is not recommended for production
610
- # use. It is not subject to any SLA or deprecation policy.
593
+ # captured by a snapshot.
611
594
  # @!attribute [rw] name
612
595
  # @return [String]
613
596
  # The name of the snapshot.
@@ -632,20 +615,14 @@ module Google
632
615
  # managing labels</a>.
633
616
  class Snapshot; end
634
617
 
635
- # Request for the GetSnapshot method.<br><br>
636
- # <b>BETA:</b> This feature is part of a beta release. This API might be
637
- # changed in backward-incompatible ways and is not recommended for production
638
- # use. It is not subject to any SLA or deprecation policy.
618
+ # Request for the GetSnapshot method.
639
619
  # @!attribute [rw] snapshot
640
620
  # @return [String]
641
621
  # The name of the snapshot to get.
642
622
  # Format is `projects/{project}/snapshots/{snap}`.
643
623
  class GetSnapshotRequest; end
644
624
 
645
- # Request for the `ListSnapshots` method.<br><br>
646
- # <b>BETA:</b> This feature is part of a beta release. This API might be
647
- # changed in backward-incompatible ways and is not recommended for production
648
- # use. It is not subject to any SLA or deprecation policy.
625
+ # Request for the `ListSnapshots` method.
649
626
  # @!attribute [rw] project
650
627
  # @return [String]
651
628
  # The name of the project in which to list snapshots.
@@ -660,10 +637,7 @@ module Google
660
637
  # should return the next page of data.
661
638
  class ListSnapshotsRequest; end
662
639
 
663
- # Response for the `ListSnapshots` method.<br><br>
664
- # <b>BETA:</b> This feature is part of a beta release. This API might be
665
- # changed in backward-incompatible ways and is not recommended for production
666
- # use. It is not subject to any SLA or deprecation policy.
640
+ # Response for the `ListSnapshots` method.
667
641
  # @!attribute [rw] snapshots
668
642
  # @return [Array<Google::Cloud::PubSub::V1::Snapshot>]
669
643
  # The resulting snapshots.
@@ -673,20 +647,14 @@ module Google
673
647
  # request; this value should be passed in a new `ListSnapshotsRequest`.
674
648
  class ListSnapshotsResponse; end
675
649
 
676
- # Request for the `DeleteSnapshot` method.<br><br>
677
- # <b>BETA:</b> This feature is part of a beta release. This API might be
678
- # changed in backward-incompatible ways and is not recommended for production
679
- # use. It is not subject to any SLA or deprecation policy.
650
+ # Request for the `DeleteSnapshot` method.
680
651
  # @!attribute [rw] snapshot
681
652
  # @return [String]
682
653
  # The name of the snapshot to delete.
683
654
  # Format is `projects/{project}/snapshots/{snap}`.
684
655
  class DeleteSnapshotRequest; end
685
656
 
686
- # Request for the `Seek` method. <br><br>
687
- # <b>BETA:</b> This feature is part of a beta release. This API might be
688
- # changed in backward-incompatible ways and is not recommended for production
689
- # use. It is not subject to any SLA or deprecation policy.
657
+ # Request for the `Seek` method.
690
658
  # @!attribute [rw] subscription
691
659
  # @return [String]
692
660
  # The subscription to affect.
@@ -0,0 +1,19 @@
1
+ # Copyright 2019 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # https://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+
16
+ module Google
17
+ module Type
18
+ end
19
+ end
@@ -87,17 +87,26 @@ module Google
87
87
  ].freeze
88
88
 
89
89
 
90
+ PROJECT_PATH_TEMPLATE = Google::Gax::PathTemplate.new(
91
+ "projects/{project}"
92
+ )
93
+
94
+ private_constant :PROJECT_PATH_TEMPLATE
95
+
90
96
  TOPIC_PATH_TEMPLATE = Google::Gax::PathTemplate.new(
91
97
  "projects/{project}/topics/{topic}"
92
98
  )
93
99
 
94
100
  private_constant :TOPIC_PATH_TEMPLATE
95
101
 
96
- PROJECT_PATH_TEMPLATE = Google::Gax::PathTemplate.new(
97
- "projects/{project}"
98
- )
99
-
100
- private_constant :PROJECT_PATH_TEMPLATE
102
+ # Returns a fully-qualified project resource name string.
103
+ # @param project [String]
104
+ # @return [String]
105
+ def self.project_path project
106
+ PROJECT_PATH_TEMPLATE.render(
107
+ :"project" => project
108
+ )
109
+ end
101
110
 
102
111
  # Returns a fully-qualified topic resource name string.
103
112
  # @param project [String]
@@ -110,15 +119,6 @@ module Google
110
119
  )
111
120
  end
112
121
 
113
- # Returns a fully-qualified project resource name string.
114
- # @param project [String]
115
- # @return [String]
116
- def self.project_path project
117
- PROJECT_PATH_TEMPLATE.render(
118
- :"project" => project
119
- )
120
- end
121
-
122
122
  # @param credentials [Google::Auth::Credentials, String, Hash, GRPC::Core::Channel, GRPC::Core::ChannelCredentials, Proc]
123
123
  # Provides the means for authenticating requests made by the client. This parameter can
124
124
  # be many types.
@@ -341,6 +341,14 @@ module Google
341
341
  # response, then no constraints are in effect.
342
342
  # A hash of the same form as `Google::Cloud::PubSub::V1::MessageStoragePolicy`
343
343
  # can also be provided.
344
+ # @param kms_key_name [String]
345
+ # The resource name of the Cloud KMS CryptoKey to be used to protect access
346
+ # to messages published on this topic.
347
+ #
348
+ # The expected format is `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
349
+ # <b>EXPERIMENTAL:</b> This feature is part of a closed alpha release. This
350
+ # API might be changed in backward-incompatible ways and is not recommended
351
+ # for production use. It is not subject to any SLA or deprecation policy.
344
352
  # @param options [Google::Gax::CallOptions]
345
353
  # Overrides the default settings for this call, e.g, timeout,
346
354
  # retries, etc.
@@ -360,12 +368,14 @@ module Google
360
368
  name,
361
369
  labels: nil,
362
370
  message_storage_policy: nil,
371
+ kms_key_name: nil,
363
372
  options: nil,
364
373
  &block
365
374
  req = {
366
375
  name: name,
367
376
  labels: labels,
368
- message_storage_policy: message_storage_policy
377
+ message_storage_policy: message_storage_policy,
378
+ kms_key_name: kms_key_name
369
379
  }.delete_if { |_, v| v.nil? }
370
380
  req = Google::Gax::to_proto(req, Google::Cloud::PubSub::V1::Topic)
371
381
  @create_topic.call(req, options, &block)
@@ -641,8 +651,7 @@ module Google
641
651
  #
642
652
  # @param resource [String]
643
653
  # REQUIRED: The resource for which the policy is being specified.
644
- # `resource` is usually specified as a path. For example, a Project
645
- # resource is specified as `projects/{project}`.
654
+ # See the operation documentation for the appropriate value for this field.
646
655
  # @param policy [Google::Iam::V1::Policy | Hash]
647
656
  # REQUIRED: The complete policy to be applied to the `resource`. The size of
648
657
  # the policy is limited to a few 10s of KB. An empty policy is a
@@ -687,8 +696,7 @@ module Google
687
696
  #
688
697
  # @param resource [String]
689
698
  # REQUIRED: The resource for which the policy is being requested.
690
- # `resource` is usually specified as a path. For example, a Project
691
- # resource is specified as `projects/{project}`.
699
+ # See the operation documentation for the appropriate value for this field.
692
700
  # @param options [Google::Gax::CallOptions]
693
701
  # Overrides the default settings for this call, e.g, timeout,
694
702
  # retries, etc.
@@ -719,10 +727,13 @@ module Google
719
727
  # If the resource does not exist, this will return an empty set of
720
728
  # permissions, not a NOT_FOUND error.
721
729
  #
730
+ # Note: This operation is designed to be used for building permission-aware
731
+ # UIs and command-line tools, not for authorization checking. This operation
732
+ # may "fail open" without warning.
733
+ #
722
734
  # @param resource [String]
723
735
  # REQUIRED: The resource for which the policy detail is being requested.
724
- # `resource` is usually specified as a path. For example, a Project
725
- # resource is specified as `projects/{project}`.
736
+ # See the operation documentation for the appropriate value for this field.
726
737
  # @param permissions [Array<String>]
727
738
  # The set of permissions to check for the `resource`. Permissions with
728
739
  # wildcards (such as '*' or 'storage.*') are not allowed. For more
@@ -77,6 +77,18 @@ module Google
77
77
  ].freeze
78
78
 
79
79
 
80
+ PROJECT_PATH_TEMPLATE = Google::Gax::PathTemplate.new(
81
+ "projects/{project}"
82
+ )
83
+
84
+ private_constant :PROJECT_PATH_TEMPLATE
85
+
86
+ SNAPSHOT_PATH_TEMPLATE = Google::Gax::PathTemplate.new(
87
+ "projects/{project}/snapshots/{snapshot}"
88
+ )
89
+
90
+ private_constant :SNAPSHOT_PATH_TEMPLATE
91
+
80
92
  SUBSCRIPTION_PATH_TEMPLATE = Google::Gax::PathTemplate.new(
81
93
  "projects/{project}/subscriptions/{subscription}"
82
94
  )
@@ -89,17 +101,25 @@ module Google
89
101
 
90
102
  private_constant :TOPIC_PATH_TEMPLATE
91
103
 
92
- PROJECT_PATH_TEMPLATE = Google::Gax::PathTemplate.new(
93
- "projects/{project}"
94
- )
95
-
96
- private_constant :PROJECT_PATH_TEMPLATE
97
-
98
- SNAPSHOT_PATH_TEMPLATE = Google::Gax::PathTemplate.new(
99
- "projects/{project}/snapshots/{snapshot}"
100
- )
104
+ # Returns a fully-qualified project resource name string.
105
+ # @param project [String]
106
+ # @return [String]
107
+ def self.project_path project
108
+ PROJECT_PATH_TEMPLATE.render(
109
+ :"project" => project
110
+ )
111
+ end
101
112
 
102
- private_constant :SNAPSHOT_PATH_TEMPLATE
113
+ # Returns a fully-qualified snapshot resource name string.
114
+ # @param project [String]
115
+ # @param snapshot [String]
116
+ # @return [String]
117
+ def self.snapshot_path project, snapshot
118
+ SNAPSHOT_PATH_TEMPLATE.render(
119
+ :"project" => project,
120
+ :"snapshot" => snapshot
121
+ )
122
+ end
103
123
 
104
124
  # Returns a fully-qualified subscription resource name string.
105
125
  # @param project [String]
@@ -123,26 +143,6 @@ module Google
123
143
  )
124
144
  end
125
145
 
126
- # Returns a fully-qualified project resource name string.
127
- # @param project [String]
128
- # @return [String]
129
- def self.project_path project
130
- PROJECT_PATH_TEMPLATE.render(
131
- :"project" => project
132
- )
133
- end
134
-
135
- # Returns a fully-qualified snapshot resource name string.
136
- # @param project [String]
137
- # @param snapshot [String]
138
- # @return [String]
139
- def self.snapshot_path project, snapshot
140
- SNAPSHOT_PATH_TEMPLATE.render(
141
- :"project" => project,
142
- :"snapshot" => snapshot
143
- )
144
- end
145
-
146
146
  # @param credentials [Google::Auth::Credentials, String, Hash, GRPC::Core::Channel, GRPC::Core::ChannelCredentials, Proc]
147
147
  # Provides the means for authenticating requests made by the client. This parameter can
148
148
  # be many types.
@@ -463,20 +463,13 @@ module Google
463
463
  # <a
464
464
  # href="https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time">
465
465
  # Seek to a timestamp</a>.
466
- # <br><br>
467
- # <b>BETA:</b> This feature is part of a beta release. This API might be
468
- # changed in backward-incompatible ways and is not recommended for production
469
- # use. It is not subject to any SLA or deprecation policy.
470
466
  # @param message_retention_duration [Google::Protobuf::Duration | Hash]
471
467
  # How long to retain unacknowledged messages in the subscription's backlog,
472
468
  # from the moment a message is published.
473
469
  # If `retain_acked_messages` is true, then this also configures the retention
474
470
  # of acknowledged messages, and thus configures how far back in time a `Seek`
475
471
  # can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10
476
- # minutes.<br><br>
477
- # <b>BETA:</b> This feature is part of a beta release. This API might be
478
- # changed in backward-incompatible ways and is not recommended for production
479
- # use. It is not subject to any SLA or deprecation policy.
472
+ # minutes.
480
473
  # A hash of the same form as `Google::Protobuf::Duration`
481
474
  # can also be provided.
482
475
  # @param labels [Hash{String => String}]
@@ -497,9 +490,6 @@ module Google
497
490
  # operations on the subscription. If `expiration_policy` is not set, a
498
491
  # *default policy* with `ttl` of 31 days will be used. The minimum allowed
499
492
  # value for `expiration_policy.ttl` is 1 day.
500
- # <b>BETA:</b> This feature is part of a beta release. This API might be
501
- # changed in backward-incompatible ways and is not recommended for production
502
- # use. It is not subject to any SLA or deprecation policy.
503
493
  # A hash of the same form as `Google::Cloud::PubSub::V1::ExpirationPolicy`
504
494
  # can also be provided.
505
495
  # @param options [Google::Gax::CallOptions]
@@ -958,10 +948,7 @@ module Google
958
948
  # operations, which allow
959
949
  # you to manage message acknowledgments in bulk. That is, you can set the
960
950
  # acknowledgment state of messages in an existing subscription to the state
961
- # captured by a snapshot.<br><br>
962
- # <b>BETA:</b> This feature is part of a beta release. This API might be
963
- # changed in backward-incompatible ways and is not recommended for production
964
- # use. It is not subject to any SLA or deprecation policy.
951
+ # captured by a snapshot.
965
952
  #
966
953
  # @param project [String]
967
954
  # The name of the project in which to list snapshots.
@@ -1022,11 +1009,7 @@ module Google
1022
1009
  # you to manage message acknowledgments in bulk. That is, you can set the
1023
1010
  # acknowledgment state of messages in an existing subscription to the state
1024
1011
  # captured by a snapshot.
1025
- # <br><br>
1026
- # <b>BETA:</b> This feature is part of a beta release. This API might be
1027
- # changed in backward-incompatible ways and is not recommended for production
1028
- # use. It is not subject to any SLA or deprecation policy.<br><br>
1029
- # If the snapshot already exists, returns `ALREADY_EXISTS`.
1012
+ # <br><br>If the snapshot already exists, returns `ALREADY_EXISTS`.
1030
1013
  # If the requested subscription doesn't exist, returns `NOT_FOUND`.
1031
1014
  # If the backlog in the subscription is too old -- and the resulting snapshot
1032
1015
  # would expire in less than 1 hour -- then `FAILED_PRECONDITION` is returned.
@@ -1096,11 +1079,7 @@ module Google
1096
1079
  # operations, which allow
1097
1080
  # you to manage message acknowledgments in bulk. That is, you can set the
1098
1081
  # acknowledgment state of messages in an existing subscription to the state
1099
- # captured by a snapshot.<br><br>
1100
- # <b>BETA:</b> This feature is part of a beta release. This API might be
1101
- # changed in backward-incompatible ways and is not recommended for production
1102
- # use. It is not subject to any SLA or deprecation policy.
1103
- # Note that certain properties of a snapshot are not modifiable.
1082
+ # captured by a snapshot.
1104
1083
  #
1105
1084
  # @param snapshot [Google::Cloud::PubSub::V1::Snapshot | Hash]
1106
1085
  # The updated snapshot object.
@@ -1150,9 +1129,6 @@ module Google
1150
1129
  # you to manage message acknowledgments in bulk. That is, you can set the
1151
1130
  # acknowledgment state of messages in an existing subscription to the state
1152
1131
  # captured by a snapshot.<br><br>
1153
- # <b>BETA:</b> This feature is part of a beta release. This API might be
1154
- # changed in backward-incompatible ways and is not recommended for production
1155
- # use. It is not subject to any SLA or deprecation policy.
1156
1132
  # When the snapshot is deleted, all messages retained in the snapshot
1157
1133
  # are immediately dropped. After a snapshot is deleted, a new one may be
1158
1134
  # created with the same name, but the new one has no association with the old
@@ -1194,10 +1170,7 @@ module Google
1194
1170
  # you to manage message acknowledgments in bulk. That is, you can set the
1195
1171
  # acknowledgment state of messages in an existing subscription to the state
1196
1172
  # captured by a snapshot. Note that both the subscription and the snapshot
1197
- # must be on the same topic.<br><br>
1198
- # <b>BETA:</b> This feature is part of a beta release. This API might be
1199
- # changed in backward-incompatible ways and is not recommended for production
1200
- # use. It is not subject to any SLA or deprecation policy.
1173
+ # must be on the same topic.
1201
1174
  #
1202
1175
  # @param subscription [String]
1203
1176
  # The subscription to affect.
@@ -1254,8 +1227,7 @@ module Google
1254
1227
  #
1255
1228
  # @param resource [String]
1256
1229
  # REQUIRED: The resource for which the policy is being specified.
1257
- # `resource` is usually specified as a path. For example, a Project
1258
- # resource is specified as `projects/{project}`.
1230
+ # See the operation documentation for the appropriate value for this field.
1259
1231
  # @param policy [Google::Iam::V1::Policy | Hash]
1260
1232
  # REQUIRED: The complete policy to be applied to the `resource`. The size of
1261
1233
  # the policy is limited to a few 10s of KB. An empty policy is a
@@ -1300,8 +1272,7 @@ module Google
1300
1272
  #
1301
1273
  # @param resource [String]
1302
1274
  # REQUIRED: The resource for which the policy is being requested.
1303
- # `resource` is usually specified as a path. For example, a Project
1304
- # resource is specified as `projects/{project}`.
1275
+ # See the operation documentation for the appropriate value for this field.
1305
1276
  # @param options [Google::Gax::CallOptions]
1306
1277
  # Overrides the default settings for this call, e.g, timeout,
1307
1278
  # retries, etc.
@@ -1332,10 +1303,13 @@ module Google
1332
1303
  # If the resource does not exist, this will return an empty set of
1333
1304
  # permissions, not a NOT_FOUND error.
1334
1305
  #
1306
+ # Note: This operation is designed to be used for building permission-aware
1307
+ # UIs and command-line tools, not for authorization checking. This operation
1308
+ # may "fail open" without warning.
1309
+ #
1335
1310
  # @param resource [String]
1336
1311
  # REQUIRED: The resource for which the policy detail is being requested.
1337
- # `resource` is usually specified as a path. For example, a Project
1338
- # resource is specified as `projects/{project}`.
1312
+ # See the operation documentation for the appropriate value for this field.
1339
1313
  # @param permissions [Array<String>]
1340
1314
  # The set of permissions to check for the `resource`. Permissions with
1341
1315
  # wildcards (such as '*' or 'storage.*') are not allowed. For more
@@ -16,7 +16,7 @@
16
16
  module Google
17
17
  module Cloud
18
18
  module PubSub
19
- VERSION = "0.35.0".freeze
19
+ VERSION = "0.36.0".freeze
20
20
  end
21
21
 
22
22
  Pubsub = PubSub unless const_defined? :Pubsub
@@ -5,6 +5,7 @@
5
5
  require 'google/protobuf'
6
6
 
7
7
  require 'google/api/annotations_pb'
8
+ require 'google/api/resource_pb'
8
9
  require 'google/protobuf/duration_pb'
9
10
  require 'google/protobuf/empty_pb'
10
11
  require 'google/protobuf/field_mask_pb'
@@ -17,6 +18,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
17
18
  optional :name, :string, 1
18
19
  map :labels, :string, :string, 2
19
20
  optional :message_storage_policy, :message, 3, "google.pubsub.v1.MessageStoragePolicy"
21
+ optional :kms_key_name, :string, 5
20
22
  end
21
23
  add_message "google.pubsub.v1.PubsubMessage" do
22
24
  optional :data, :bytes, 1
@@ -61,10 +61,7 @@ module Google::Cloud::PubSub::V1
61
61
  # operations, which allow
62
62
  # you to manage message acknowledgments in bulk. That is, you can set the
63
63
  # acknowledgment state of messages in an existing subscription to the state
64
- # captured by a snapshot.<br><br>
65
- # <b>BETA:</b> This feature is part of a beta release. This API might be
66
- # changed in backward-incompatible ways and is not recommended for production
67
- # use. It is not subject to any SLA or deprecation policy.
64
+ # captured by a snapshot.
68
65
  rpc :ListTopicSnapshots, ListTopicSnapshotsRequest, ListTopicSnapshotsResponse
69
66
  # Deletes the topic with the given name. Returns `NOT_FOUND` if the topic
70
67
  # does not exist. After a topic is deleted, a new topic may be created with
@@ -152,20 +149,14 @@ module Google::Cloud::PubSub::V1
152
149
  # <a href="https://cloud.google.com/pubsub/docs/replay-overview">Seek</a>
153
150
  # operations, which allow you to manage message acknowledgments in bulk. That
154
151
  # is, you can set the acknowledgment state of messages in an existing
155
- # subscription to the state captured by a snapshot.<br><br>
156
- # <b>BETA:</b> This feature is part of a beta release. This API might be
157
- # changed in backward-incompatible ways and is not recommended for production
158
- # use. It is not subject to any SLA or deprecation policy.
152
+ # subscription to the state captured by a snapshot.
159
153
  rpc :GetSnapshot, GetSnapshotRequest, Snapshot
160
154
  # Lists the existing snapshots. Snapshots are used in
161
155
  # <a href="https://cloud.google.com/pubsub/docs/replay-overview">Seek</a>
162
156
  # operations, which allow
163
157
  # you to manage message acknowledgments in bulk. That is, you can set the
164
158
  # acknowledgment state of messages in an existing subscription to the state
165
- # captured by a snapshot.<br><br>
166
- # <b>BETA:</b> This feature is part of a beta release. This API might be
167
- # changed in backward-incompatible ways and is not recommended for production
168
- # use. It is not subject to any SLA or deprecation policy.
159
+ # captured by a snapshot.
169
160
  rpc :ListSnapshots, ListSnapshotsRequest, ListSnapshotsResponse
170
161
  # Creates a snapshot from the requested subscription. Snapshots are used in
171
162
  # <a href="https://cloud.google.com/pubsub/docs/replay-overview">Seek</a>
@@ -173,11 +164,7 @@ module Google::Cloud::PubSub::V1
173
164
  # you to manage message acknowledgments in bulk. That is, you can set the
174
165
  # acknowledgment state of messages in an existing subscription to the state
175
166
  # captured by a snapshot.
176
- # <br><br>
177
- # <b>BETA:</b> This feature is part of a beta release. This API might be
178
- # changed in backward-incompatible ways and is not recommended for production
179
- # use. It is not subject to any SLA or deprecation policy.<br><br>
180
- # If the snapshot already exists, returns `ALREADY_EXISTS`.
167
+ # <br><br>If the snapshot already exists, returns `ALREADY_EXISTS`.
181
168
  # If the requested subscription doesn't exist, returns `NOT_FOUND`.
182
169
  # If the backlog in the subscription is too old -- and the resulting snapshot
183
170
  # would expire in less than 1 hour -- then `FAILED_PRECONDITION` is returned.
@@ -195,11 +182,7 @@ module Google::Cloud::PubSub::V1
195
182
  # operations, which allow
196
183
  # you to manage message acknowledgments in bulk. That is, you can set the
197
184
  # acknowledgment state of messages in an existing subscription to the state
198
- # captured by a snapshot.<br><br>
199
- # <b>BETA:</b> This feature is part of a beta release. This API might be
200
- # changed in backward-incompatible ways and is not recommended for production
201
- # use. It is not subject to any SLA or deprecation policy.
202
- # Note that certain properties of a snapshot are not modifiable.
185
+ # captured by a snapshot.
203
186
  rpc :UpdateSnapshot, UpdateSnapshotRequest, Snapshot
204
187
  # Removes an existing snapshot. Snapshots are used in
205
188
  # <a href="https://cloud.google.com/pubsub/docs/replay-overview">Seek</a>
@@ -207,9 +190,6 @@ module Google::Cloud::PubSub::V1
207
190
  # you to manage message acknowledgments in bulk. That is, you can set the
208
191
  # acknowledgment state of messages in an existing subscription to the state
209
192
  # captured by a snapshot.<br><br>
210
- # <b>BETA:</b> This feature is part of a beta release. This API might be
211
- # changed in backward-incompatible ways and is not recommended for production
212
- # use. It is not subject to any SLA or deprecation policy.
213
193
  # When the snapshot is deleted, all messages retained in the snapshot
214
194
  # are immediately dropped. After a snapshot is deleted, a new one may be
215
195
  # created with the same name, but the new one has no association with the old
@@ -222,10 +202,7 @@ module Google::Cloud::PubSub::V1
222
202
  # you to manage message acknowledgments in bulk. That is, you can set the
223
203
  # acknowledgment state of messages in an existing subscription to the state
224
204
  # captured by a snapshot. Note that both the subscription and the snapshot
225
- # must be on the same topic.<br><br>
226
- # <b>BETA:</b> This feature is part of a beta release. This API might be
227
- # changed in backward-incompatible ways and is not recommended for production
228
- # use. It is not subject to any SLA or deprecation policy.
205
+ # must be on the same topic.
229
206
  rpc :Seek, SeekRequest, SeekResponse
230
207
  end
231
208
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-pubsub
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.35.0
4
+ version: 0.36.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Moore
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2019-04-25 00:00:00.000000000 Z
12
+ date: 2019-05-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: google-cloud-core
@@ -39,6 +39,26 @@ dependencies:
39
39
  - - "~>"
40
40
  - !ruby/object:Gem::Version
41
41
  version: '1.3'
42
+ - !ruby/object:Gem::Dependency
43
+ name: googleapis-common-protos
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: 1.3.9
49
+ - - "<"
50
+ - !ruby/object:Gem::Version
51
+ version: '2.0'
52
+ type: :runtime
53
+ prerelease: false
54
+ version_requirements: !ruby/object:Gem::Requirement
55
+ requirements:
56
+ - - ">="
57
+ - !ruby/object:Gem::Version
58
+ version: 1.3.9
59
+ - - "<"
60
+ - !ruby/object:Gem::Version
61
+ version: '2.0'
42
62
  - !ruby/object:Gem::Dependency
43
63
  name: grpc-google-iam-v1
44
64
  requirement: !ruby/object:Gem::Requirement
@@ -258,6 +278,7 @@ files:
258
278
  - lib/google/cloud/pubsub/v1/doc/google/protobuf/field_mask.rb
259
279
  - lib/google/cloud/pubsub/v1/doc/google/protobuf/timestamp.rb
260
280
  - lib/google/cloud/pubsub/v1/doc/google/pubsub/v1/pubsub.rb
281
+ - lib/google/cloud/pubsub/v1/doc/google/type/expr.rb
261
282
  - lib/google/cloud/pubsub/v1/publisher_client.rb
262
283
  - lib/google/cloud/pubsub/v1/publisher_client_config.json
263
284
  - lib/google/cloud/pubsub/v1/subscriber_client.rb