blob: 18b7f0480b16c83bd46e9be2572730dc82a7d116 [file] [log] [blame]
Takashi Matsuo06694102015-09-11 13:55:40 -07001<html><body>
2<style>
3
4body, h1, h2, h3, div, span, p, pre, a {
5 margin: 0;
6 padding: 0;
7 border: 0;
8 font-weight: inherit;
9 font-style: inherit;
10 font-size: 100%;
11 font-family: inherit;
12 vertical-align: baseline;
13}
14
15body {
16 font-size: 13px;
17 padding: 1em;
18}
19
20h1 {
21 font-size: 26px;
22 margin-bottom: 1em;
23}
24
25h2 {
26 font-size: 24px;
27 margin-bottom: 1em;
28}
29
30h3 {
31 font-size: 20px;
32 margin-bottom: 1em;
33 margin-top: 1em;
34}
35
36pre, code {
37 line-height: 1.5;
38 font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
39}
40
41pre {
42 margin-top: 0.5em;
43}
44
45h1, h2, h3, p {
46 font-family: Arial, sans serif;
47}
48
49h1, h2, h3 {
50 border-bottom: solid #CCC 1px;
51}
52
53.toc_element {
54 margin-top: 0.5em;
55}
56
57.firstline {
58 margin-left: 2 em;
59}
60
61.method {
62 margin-top: 1em;
63 border: solid 1px #CCC;
64 padding: 1em;
65 background: #EEE;
66}
67
68.details {
69 font-weight: bold;
70 font-size: 14px;
71}
72
73</style>
74
Bu Sun Kim715bd7f2019-06-14 16:50:42 -070075<h1><a href="pubsub_v1.html">Cloud Pub/Sub API</a> . <a href="pubsub_v1.projects.html">projects</a> . <a href="pubsub_v1.projects.subscriptions.html">subscriptions</a></h1>
Takashi Matsuo06694102015-09-11 13:55:40 -070076<h2>Instance Methods</h2>
77<p class="toc_element">
Thomas Coffee2f245372017-03-27 10:39:26 -070078 <code><a href="#acknowledge">acknowledge(subscription, body, x__xgafv=None)</a></code></p>
Jon Wayne Parrott692617a2017-01-06 09:58:29 -080079<p class="firstline">Acknowledges the messages associated with the `ack_ids` in the</p>
Takashi Matsuo06694102015-09-11 13:55:40 -070080<p class="toc_element">
Thomas Coffee2f245372017-03-27 10:39:26 -070081 <code><a href="#create">create(name, body, x__xgafv=None)</a></code></p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -070082<p class="firstline">Creates a subscription to a given topic. See the</p>
Takashi Matsuo06694102015-09-11 13:55:40 -070083<p class="toc_element">
Thomas Coffee2f245372017-03-27 10:39:26 -070084 <code><a href="#delete">delete(subscription, x__xgafv=None)</a></code></p>
Jon Wayne Parrott692617a2017-01-06 09:58:29 -080085<p class="firstline">Deletes an existing subscription. All messages retained in the subscription</p>
Takashi Matsuo06694102015-09-11 13:55:40 -070086<p class="toc_element">
Thomas Coffee2f245372017-03-27 10:39:26 -070087 <code><a href="#get">get(subscription, x__xgafv=None)</a></code></p>
Takashi Matsuo06694102015-09-11 13:55:40 -070088<p class="firstline">Gets the configuration details of a subscription.</p>
89<p class="toc_element">
Thomas Coffee2f245372017-03-27 10:39:26 -070090 <code><a href="#getIamPolicy">getIamPolicy(resource, x__xgafv=None)</a></code></p>
Jon Wayne Parrott692617a2017-01-06 09:58:29 -080091<p class="firstline">Gets the access control policy for a resource.</p>
Takashi Matsuo06694102015-09-11 13:55:40 -070092<p class="toc_element">
Thomas Coffee2f245372017-03-27 10:39:26 -070093 <code><a href="#list">list(project, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
Takashi Matsuo06694102015-09-11 13:55:40 -070094<p class="firstline">Lists matching subscriptions.</p>
95<p class="toc_element">
96 <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
97<p class="firstline">Retrieves the next page of results.</p>
98<p class="toc_element">
Thomas Coffee2f245372017-03-27 10:39:26 -070099 <code><a href="#modifyAckDeadline">modifyAckDeadline(subscription, body, x__xgafv=None)</a></code></p>
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800100<p class="firstline">Modifies the ack deadline for a specific message. This method is useful</p>
Takashi Matsuo06694102015-09-11 13:55:40 -0700101<p class="toc_element">
Thomas Coffee2f245372017-03-27 10:39:26 -0700102 <code><a href="#modifyPushConfig">modifyPushConfig(subscription, body, x__xgafv=None)</a></code></p>
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800103<p class="firstline">Modifies the `PushConfig` for a specified subscription.</p>
Takashi Matsuo06694102015-09-11 13:55:40 -0700104<p class="toc_element">
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700105 <code><a href="#patch">patch(name, body, x__xgafv=None)</a></code></p>
106<p class="firstline">Updates an existing subscription. Note that certain properties of a</p>
107<p class="toc_element">
Thomas Coffee2f245372017-03-27 10:39:26 -0700108 <code><a href="#pull">pull(subscription, body, x__xgafv=None)</a></code></p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700109<p class="firstline">Pulls messages from the server. The server may return `UNAVAILABLE` if</p>
110<p class="toc_element">
111 <code><a href="#seek">seek(subscription, body, x__xgafv=None)</a></code></p>
112<p class="firstline">Seeks an existing subscription to a point in time or to a given snapshot,</p>
Takashi Matsuo06694102015-09-11 13:55:40 -0700113<p class="toc_element">
Thomas Coffee2f245372017-03-27 10:39:26 -0700114 <code><a href="#setIamPolicy">setIamPolicy(resource, body, x__xgafv=None)</a></code></p>
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800115<p class="firstline">Sets the access control policy on the specified resource. Replaces any</p>
Takashi Matsuo06694102015-09-11 13:55:40 -0700116<p class="toc_element">
Thomas Coffee2f245372017-03-27 10:39:26 -0700117 <code><a href="#testIamPermissions">testIamPermissions(resource, body, x__xgafv=None)</a></code></p>
Takashi Matsuo06694102015-09-11 13:55:40 -0700118<p class="firstline">Returns permissions that a caller has on the specified resource.</p>
119<h3>Method Details</h3>
120<div class="method">
Thomas Coffee2f245372017-03-27 10:39:26 -0700121 <code class="details" id="acknowledge">acknowledge(subscription, body, x__xgafv=None)</code>
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800122 <pre>Acknowledges the messages associated with the `ack_ids` in the
123`AcknowledgeRequest`. The Pub/Sub system can remove the relevant messages
124from the subscription.
125
126Acknowledging a message whose ack deadline has expired may succeed,
127but such a message may be redelivered later. Acknowledging a message more
128than once will not result in an error.
Takashi Matsuo06694102015-09-11 13:55:40 -0700129
130Args:
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800131 subscription: string, The subscription whose message is being acknowledged.
132Format is `projects/{project}/subscriptions/{sub}`. (required)
Takashi Matsuo06694102015-09-11 13:55:40 -0700133 body: object, The request body. (required)
134 The object takes the form of:
135
136{ # Request for the Acknowledge method.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800137 "ackIds": [ # The acknowledgment ID for the messages being acknowledged that was returned
138 # by the Pub/Sub system in the `Pull` response. Must not be empty.
Takashi Matsuo06694102015-09-11 13:55:40 -0700139 "A String",
140 ],
141 }
142
143 x__xgafv: string, V1 error format.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800144 Allowed values
145 1 - v1 error format
146 2 - v2 error format
Takashi Matsuo06694102015-09-11 13:55:40 -0700147
148Returns:
149 An object of the form:
150
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800151 { # A generic empty message that you can re-use to avoid defining duplicated
152 # empty messages in your APIs. A typical example is to use it as the request
153 # or the response type of an API method. For instance:
154 #
155 # service Foo {
156 # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
157 # }
158 #
159 # The JSON representation for `Empty` is empty JSON object `{}`.
Takashi Matsuo06694102015-09-11 13:55:40 -0700160 }</pre>
161</div>
162
163<div class="method">
Thomas Coffee2f245372017-03-27 10:39:26 -0700164 <code class="details" id="create">create(name, body, x__xgafv=None)</code>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700165 <pre>Creates a subscription to a given topic. See the
166<a href="https://cloud.google.com/pubsub/docs/admin#resource_names">
167resource name rules</a>.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800168If the subscription already exists, returns `ALREADY_EXISTS`.
169If the corresponding topic doesn't exist, returns `NOT_FOUND`.
170
171If the name is not provided in the request, the server will assign a random
172name for this subscription on the same project as the topic, conforming
173to the
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700174[resource name
175format](https://cloud.google.com/pubsub/docs/admin#resource_names). The
176generated name is populated in the returned Subscription object. Note that
177for REST API requests, you must specify a name in the request.
Takashi Matsuo06694102015-09-11 13:55:40 -0700178
179Args:
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800180 name: string, The name of the subscription. It must have the format
181`"projects/{project}/subscriptions/{subscription}"`. `{subscription}` must
182start with a letter, and contain only letters (`[A-Za-z]`), numbers
183(`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),
184plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters
185in length, and it must not start with `"goog"`. (required)
Takashi Matsuo06694102015-09-11 13:55:40 -0700186 body: object, The request body. (required)
187 The object takes the form of:
188
189{ # A subscription resource.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700190 "name": "A String", # The name of the subscription. It must have the format
191 # `"projects/{project}/subscriptions/{subscription}"`. `{subscription}` must
192 # start with a letter, and contain only letters (`[A-Za-z]`), numbers
193 # (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),
194 # plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters
195 # in length, and it must not start with `"goog"`.
196 "ackDeadlineSeconds": 42, # The approximate amount of time (on a best-effort basis) Pub/Sub waits for
197 # the subscriber to acknowledge receipt before resending the message. In the
198 # interval after the message is delivered and before it is acknowledged, it
199 # is considered to be <i>outstanding</i>. During that time period, the
200 # message will not be redelivered (on a best-effort basis).
Sai Cheemalapati4ba8c232017-06-06 18:46:08 -0400201 #
202 # For pull subscriptions, this value is used as the initial value for the ack
203 # deadline. To override this value for a given message, call
204 # `ModifyAckDeadline` with the corresponding `ack_id` if using
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700205 # non-streaming pull or send the `ack_id` in a
206 # `StreamingModifyAckDeadlineRequest` if using streaming pull.
Sai Cheemalapati4ba8c232017-06-06 18:46:08 -0400207 # The minimum custom deadline you can specify is 10 seconds.
208 # The maximum custom deadline you can specify is 600 seconds (10 minutes).
209 # If this parameter is 0, a default value of 10 seconds is used.
210 #
211 # For push delivery, this value is also used to set the request timeout for
212 # the call to the push endpoint.
213 #
214 # If the subscriber never acknowledges the message, the Pub/Sub
215 # system will eventually redeliver the message.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700216 "labels": { # See <a href="https://cloud.google.com/pubsub/docs/labels"> Creating and
217 # managing labels</a>.
218 "a_key": "A String",
219 },
Sai Cheemalapati4ba8c232017-06-06 18:46:08 -0400220 "pushConfig": { # Configuration for a push delivery endpoint. # If push delivery is used with this subscription, this field is
221 # used to configure it. An empty `pushConfig` signifies that the subscriber
222 # will pull and ack messages using API methods.
223 "attributes": { # Endpoint configuration attributes.
224 #
225 # Every endpoint has a set of API supported attributes that can be used to
226 # control different aspects of the message delivery.
227 #
228 # The currently supported attribute is `x-goog-version`, which you can
229 # use to change the format of the pushed message. This attribute
230 # indicates the version of the data expected by the endpoint. This
231 # controls the shape of the pushed message (i.e., its fields and metadata).
232 # The endpoint version is based on the version of the Pub/Sub API.
233 #
234 # If not present during the `CreateSubscription` call, it will default to
235 # the version of the API used to make such call. If not present during a
236 # `ModifyPushConfig` call, its value will not be changed. `GetSubscription`
237 # calls will always return a valid version, even if the subscription was
238 # created without this attribute.
239 #
240 # The possible values for this attribute are:
241 #
242 # * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API.
243 # * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API.
244 "a_key": "A String",
245 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700246 "oidcToken": { # Contains information needed for generating an # If specified, Pub/Sub will generate and attach an OIDC JWT token as an
247 # `Authorization` header in the HTTP request for every pushed message.
248 # [OpenID Connect
249 # token](https://developers.google.com/identity/protocols/OpenIDConnect).
250 "audience": "A String", # Audience to be used when generating OIDC token. The audience claim
251 # identifies the recipients that the JWT is intended for. The audience
252 # value is a single case-sensitive string. Having multiple values (array)
253 # for the audience field is not supported. More info about the OIDC JWT
254 # token audience here: https://tools.ietf.org/html/rfc7519#section-4.1.3
255 # Note: if not specified, the Push endpoint URL will be used.
256 "serviceAccountEmail": "A String", # [Service account
257 # email](https://cloud.google.com/iam/docs/service-accounts)
258 # to be used for generating the OIDC token. The caller (for
259 # CreateSubscription, UpdateSubscription, and ModifyPushConfig RPCs) must
260 # have the iam.serviceAccounts.actAs permission for the service account.
261 },
Sai Cheemalapati4ba8c232017-06-06 18:46:08 -0400262 "pushEndpoint": "A String", # A URL locating the endpoint to which messages should be pushed.
263 # For example, a Webhook endpoint might use "https://example.com/push".
264 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700265 "topic": "A String", # The name of the topic from which this subscription is receiving messages.
266 # Format is `projects/{project}/topics/{topic}`.
267 # The value of this field will be `_deleted-topic_` if the topic has been
268 # deleted.
269 "messageRetentionDuration": "A String", # How long to retain unacknowledged messages in the subscription's backlog,
270 # from the moment a message is published.
271 # If `retain_acked_messages` is true, then this also configures the retention
272 # of acknowledged messages, and thus configures how far back in time a `Seek`
273 # can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10
274 # minutes.
275 "retainAckedMessages": True or False, # Indicates whether to retain acknowledged messages. If true, then
276 # messages are not expunged from the subscription's backlog, even if they are
277 # acknowledged, until they fall out of the `message_retention_duration`
278 # window. This must be true if you would like to
279 # <a
280 # href="https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time">
281 # Seek to a timestamp</a>.
282 "expirationPolicy": { # A policy that specifies the conditions for resource expiration (i.e., # A policy that specifies the conditions for this subscription's expiration.
283 # A subscription is considered active as long as any connected subscriber is
284 # successfully consuming messages from the subscription or is issuing
285 # operations on the subscription. If `expiration_policy` is not set, a
286 # *default policy* with `ttl` of 31 days will be used. The minimum allowed
287 # value for `expiration_policy.ttl` is 1 day.
288 # automatic resource deletion).
289 "ttl": "A String", # Specifies the "time-to-live" duration for an associated resource. The
290 # resource expires if it is not active for a period of `ttl`. The definition
291 # of "activity" depends on the type of the associated resource. The minimum
292 # and maximum allowed values for `ttl` depend on the type of the associated
293 # resource, as well. If `ttl` is not set, the associated resource never
294 # expires.
295 },
Sai Cheemalapati4ba8c232017-06-06 18:46:08 -0400296}
297
298 x__xgafv: string, V1 error format.
299 Allowed values
300 1 - v1 error format
301 2 - v2 error format
302
303Returns:
304 An object of the form:
305
306 { # A subscription resource.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700307 "name": "A String", # The name of the subscription. It must have the format
308 # `"projects/{project}/subscriptions/{subscription}"`. `{subscription}` must
309 # start with a letter, and contain only letters (`[A-Za-z]`), numbers
310 # (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),
311 # plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters
312 # in length, and it must not start with `"goog"`.
313 "ackDeadlineSeconds": 42, # The approximate amount of time (on a best-effort basis) Pub/Sub waits for
314 # the subscriber to acknowledge receipt before resending the message. In the
315 # interval after the message is delivered and before it is acknowledged, it
316 # is considered to be <i>outstanding</i>. During that time period, the
317 # message will not be redelivered (on a best-effort basis).
Sai Cheemalapati4ba8c232017-06-06 18:46:08 -0400318 #
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800319 # For pull subscriptions, this value is used as the initial value for the ack
320 # deadline. To override this value for a given message, call
321 # `ModifyAckDeadline` with the corresponding `ack_id` if using
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700322 # non-streaming pull or send the `ack_id` in a
323 # `StreamingModifyAckDeadlineRequest` if using streaming pull.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800324 # The minimum custom deadline you can specify is 10 seconds.
325 # The maximum custom deadline you can specify is 600 seconds (10 minutes).
326 # If this parameter is 0, a default value of 10 seconds is used.
Sai Cheemalapati4ba8c232017-06-06 18:46:08 -0400327 #
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800328 # For push delivery, this value is also used to set the request timeout for
329 # the call to the push endpoint.
Sai Cheemalapati4ba8c232017-06-06 18:46:08 -0400330 #
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800331 # If the subscriber never acknowledges the message, the Pub/Sub
332 # system will eventually redeliver the message.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700333 "labels": { # See <a href="https://cloud.google.com/pubsub/docs/labels"> Creating and
334 # managing labels</a>.
335 "a_key": "A String",
336 },
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800337 "pushConfig": { # Configuration for a push delivery endpoint. # If push delivery is used with this subscription, this field is
338 # used to configure it. An empty `pushConfig` signifies that the subscriber
339 # will pull and ack messages using API methods.
340 "attributes": { # Endpoint configuration attributes.
341 #
342 # Every endpoint has a set of API supported attributes that can be used to
343 # control different aspects of the message delivery.
344 #
345 # The currently supported attribute is `x-goog-version`, which you can
Sai Cheemalapatie833b792017-03-24 15:06:46 -0700346 # use to change the format of the pushed message. This attribute
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800347 # indicates the version of the data expected by the endpoint. This
Sai Cheemalapatie833b792017-03-24 15:06:46 -0700348 # controls the shape of the pushed message (i.e., its fields and metadata).
349 # The endpoint version is based on the version of the Pub/Sub API.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800350 #
351 # If not present during the `CreateSubscription` call, it will default to
352 # the version of the API used to make such call. If not present during a
353 # `ModifyPushConfig` call, its value will not be changed. `GetSubscription`
354 # calls will always return a valid version, even if the subscription was
355 # created without this attribute.
356 #
357 # The possible values for this attribute are:
358 #
359 # * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API.
360 # * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API.
Takashi Matsuo06694102015-09-11 13:55:40 -0700361 "a_key": "A String",
362 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700363 "oidcToken": { # Contains information needed for generating an # If specified, Pub/Sub will generate and attach an OIDC JWT token as an
364 # `Authorization` header in the HTTP request for every pushed message.
365 # [OpenID Connect
366 # token](https://developers.google.com/identity/protocols/OpenIDConnect).
367 "audience": "A String", # Audience to be used when generating OIDC token. The audience claim
368 # identifies the recipients that the JWT is intended for. The audience
369 # value is a single case-sensitive string. Having multiple values (array)
370 # for the audience field is not supported. More info about the OIDC JWT
371 # token audience here: https://tools.ietf.org/html/rfc7519#section-4.1.3
372 # Note: if not specified, the Push endpoint URL will be used.
373 "serviceAccountEmail": "A String", # [Service account
374 # email](https://cloud.google.com/iam/docs/service-accounts)
375 # to be used for generating the OIDC token. The caller (for
376 # CreateSubscription, UpdateSubscription, and ModifyPushConfig RPCs) must
377 # have the iam.serviceAccounts.actAs permission for the service account.
378 },
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800379 "pushEndpoint": "A String", # A URL locating the endpoint to which messages should be pushed.
380 # For example, a Webhook endpoint might use "https://example.com/push".
Takashi Matsuo06694102015-09-11 13:55:40 -0700381 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700382 "topic": "A String", # The name of the topic from which this subscription is receiving messages.
383 # Format is `projects/{project}/topics/{topic}`.
384 # The value of this field will be `_deleted-topic_` if the topic has been
385 # deleted.
386 "messageRetentionDuration": "A String", # How long to retain unacknowledged messages in the subscription's backlog,
387 # from the moment a message is published.
388 # If `retain_acked_messages` is true, then this also configures the retention
389 # of acknowledged messages, and thus configures how far back in time a `Seek`
390 # can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10
391 # minutes.
392 "retainAckedMessages": True or False, # Indicates whether to retain acknowledged messages. If true, then
393 # messages are not expunged from the subscription's backlog, even if they are
394 # acknowledged, until they fall out of the `message_retention_duration`
395 # window. This must be true if you would like to
396 # <a
397 # href="https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time">
398 # Seek to a timestamp</a>.
399 "expirationPolicy": { # A policy that specifies the conditions for resource expiration (i.e., # A policy that specifies the conditions for this subscription's expiration.
400 # A subscription is considered active as long as any connected subscriber is
401 # successfully consuming messages from the subscription or is issuing
402 # operations on the subscription. If `expiration_policy` is not set, a
403 # *default policy* with `ttl` of 31 days will be used. The minimum allowed
404 # value for `expiration_policy.ttl` is 1 day.
405 # automatic resource deletion).
406 "ttl": "A String", # Specifies the "time-to-live" duration for an associated resource. The
407 # resource expires if it is not active for a period of `ttl`. The definition
408 # of "activity" depends on the type of the associated resource. The minimum
409 # and maximum allowed values for `ttl` depend on the type of the associated
410 # resource, as well. If `ttl` is not set, the associated resource never
411 # expires.
412 },
Sai Cheemalapati4ba8c232017-06-06 18:46:08 -0400413 }</pre>
Takashi Matsuo06694102015-09-11 13:55:40 -0700414</div>
415
416<div class="method">
Thomas Coffee2f245372017-03-27 10:39:26 -0700417 <code class="details" id="delete">delete(subscription, x__xgafv=None)</code>
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800418 <pre>Deletes an existing subscription. All messages retained in the subscription
419are immediately dropped. Calls to `Pull` after deletion will return
420`NOT_FOUND`. After a subscription is deleted, a new one may be created with
421the same name, but the new one has no association with the old
422subscription or its topic unless the same topic is specified.
Takashi Matsuo06694102015-09-11 13:55:40 -0700423
424Args:
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800425 subscription: string, The subscription to delete.
426Format is `projects/{project}/subscriptions/{sub}`. (required)
Takashi Matsuo06694102015-09-11 13:55:40 -0700427 x__xgafv: string, V1 error format.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800428 Allowed values
429 1 - v1 error format
430 2 - v2 error format
Takashi Matsuo06694102015-09-11 13:55:40 -0700431
432Returns:
433 An object of the form:
434
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800435 { # A generic empty message that you can re-use to avoid defining duplicated
436 # empty messages in your APIs. A typical example is to use it as the request
437 # or the response type of an API method. For instance:
438 #
439 # service Foo {
440 # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
441 # }
442 #
443 # The JSON representation for `Empty` is empty JSON object `{}`.
Takashi Matsuo06694102015-09-11 13:55:40 -0700444 }</pre>
445</div>
446
447<div class="method">
Thomas Coffee2f245372017-03-27 10:39:26 -0700448 <code class="details" id="get">get(subscription, x__xgafv=None)</code>
Takashi Matsuo06694102015-09-11 13:55:40 -0700449 <pre>Gets the configuration details of a subscription.
450
451Args:
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800452 subscription: string, The name of the subscription to get.
453Format is `projects/{project}/subscriptions/{sub}`. (required)
Takashi Matsuo06694102015-09-11 13:55:40 -0700454 x__xgafv: string, V1 error format.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800455 Allowed values
456 1 - v1 error format
457 2 - v2 error format
Takashi Matsuo06694102015-09-11 13:55:40 -0700458
459Returns:
460 An object of the form:
461
462 { # A subscription resource.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700463 "name": "A String", # The name of the subscription. It must have the format
464 # `"projects/{project}/subscriptions/{subscription}"`. `{subscription}` must
465 # start with a letter, and contain only letters (`[A-Za-z]`), numbers
466 # (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),
467 # plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters
468 # in length, and it must not start with `"goog"`.
469 "ackDeadlineSeconds": 42, # The approximate amount of time (on a best-effort basis) Pub/Sub waits for
470 # the subscriber to acknowledge receipt before resending the message. In the
471 # interval after the message is delivered and before it is acknowledged, it
472 # is considered to be <i>outstanding</i>. During that time period, the
473 # message will not be redelivered (on a best-effort basis).
Sai Cheemalapati4ba8c232017-06-06 18:46:08 -0400474 #
475 # For pull subscriptions, this value is used as the initial value for the ack
476 # deadline. To override this value for a given message, call
477 # `ModifyAckDeadline` with the corresponding `ack_id` if using
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700478 # non-streaming pull or send the `ack_id` in a
479 # `StreamingModifyAckDeadlineRequest` if using streaming pull.
Sai Cheemalapati4ba8c232017-06-06 18:46:08 -0400480 # The minimum custom deadline you can specify is 10 seconds.
481 # The maximum custom deadline you can specify is 600 seconds (10 minutes).
482 # If this parameter is 0, a default value of 10 seconds is used.
483 #
484 # For push delivery, this value is also used to set the request timeout for
485 # the call to the push endpoint.
486 #
487 # If the subscriber never acknowledges the message, the Pub/Sub
488 # system will eventually redeliver the message.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700489 "labels": { # See <a href="https://cloud.google.com/pubsub/docs/labels"> Creating and
490 # managing labels</a>.
491 "a_key": "A String",
492 },
Sai Cheemalapati4ba8c232017-06-06 18:46:08 -0400493 "pushConfig": { # Configuration for a push delivery endpoint. # If push delivery is used with this subscription, this field is
494 # used to configure it. An empty `pushConfig` signifies that the subscriber
495 # will pull and ack messages using API methods.
496 "attributes": { # Endpoint configuration attributes.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800497 #
Sai Cheemalapati4ba8c232017-06-06 18:46:08 -0400498 # Every endpoint has a set of API supported attributes that can be used to
499 # control different aspects of the message delivery.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800500 #
Sai Cheemalapati4ba8c232017-06-06 18:46:08 -0400501 # The currently supported attribute is `x-goog-version`, which you can
502 # use to change the format of the pushed message. This attribute
503 # indicates the version of the data expected by the endpoint. This
504 # controls the shape of the pushed message (i.e., its fields and metadata).
505 # The endpoint version is based on the version of the Pub/Sub API.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800506 #
Sai Cheemalapati4ba8c232017-06-06 18:46:08 -0400507 # If not present during the `CreateSubscription` call, it will default to
508 # the version of the API used to make such call. If not present during a
509 # `ModifyPushConfig` call, its value will not be changed. `GetSubscription`
510 # calls will always return a valid version, even if the subscription was
511 # created without this attribute.
512 #
513 # The possible values for this attribute are:
514 #
515 # * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API.
516 # * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API.
517 "a_key": "A String",
Takashi Matsuo06694102015-09-11 13:55:40 -0700518 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700519 "oidcToken": { # Contains information needed for generating an # If specified, Pub/Sub will generate and attach an OIDC JWT token as an
520 # `Authorization` header in the HTTP request for every pushed message.
521 # [OpenID Connect
522 # token](https://developers.google.com/identity/protocols/OpenIDConnect).
523 "audience": "A String", # Audience to be used when generating OIDC token. The audience claim
524 # identifies the recipients that the JWT is intended for. The audience
525 # value is a single case-sensitive string. Having multiple values (array)
526 # for the audience field is not supported. More info about the OIDC JWT
527 # token audience here: https://tools.ietf.org/html/rfc7519#section-4.1.3
528 # Note: if not specified, the Push endpoint URL will be used.
529 "serviceAccountEmail": "A String", # [Service account
530 # email](https://cloud.google.com/iam/docs/service-accounts)
531 # to be used for generating the OIDC token. The caller (for
532 # CreateSubscription, UpdateSubscription, and ModifyPushConfig RPCs) must
533 # have the iam.serviceAccounts.actAs permission for the service account.
534 },
Sai Cheemalapati4ba8c232017-06-06 18:46:08 -0400535 "pushEndpoint": "A String", # A URL locating the endpoint to which messages should be pushed.
536 # For example, a Webhook endpoint might use "https://example.com/push".
537 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700538 "topic": "A String", # The name of the topic from which this subscription is receiving messages.
539 # Format is `projects/{project}/topics/{topic}`.
540 # The value of this field will be `_deleted-topic_` if the topic has been
541 # deleted.
542 "messageRetentionDuration": "A String", # How long to retain unacknowledged messages in the subscription's backlog,
543 # from the moment a message is published.
544 # If `retain_acked_messages` is true, then this also configures the retention
545 # of acknowledged messages, and thus configures how far back in time a `Seek`
546 # can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10
547 # minutes.
548 "retainAckedMessages": True or False, # Indicates whether to retain acknowledged messages. If true, then
549 # messages are not expunged from the subscription's backlog, even if they are
550 # acknowledged, until they fall out of the `message_retention_duration`
551 # window. This must be true if you would like to
552 # <a
553 # href="https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time">
554 # Seek to a timestamp</a>.
555 "expirationPolicy": { # A policy that specifies the conditions for resource expiration (i.e., # A policy that specifies the conditions for this subscription's expiration.
556 # A subscription is considered active as long as any connected subscriber is
557 # successfully consuming messages from the subscription or is issuing
558 # operations on the subscription. If `expiration_policy` is not set, a
559 # *default policy* with `ttl` of 31 days will be used. The minimum allowed
560 # value for `expiration_policy.ttl` is 1 day.
561 # automatic resource deletion).
562 "ttl": "A String", # Specifies the "time-to-live" duration for an associated resource. The
563 # resource expires if it is not active for a period of `ttl`. The definition
564 # of "activity" depends on the type of the associated resource. The minimum
565 # and maximum allowed values for `ttl` depend on the type of the associated
566 # resource, as well. If `ttl` is not set, the associated resource never
567 # expires.
568 },
Sai Cheemalapati4ba8c232017-06-06 18:46:08 -0400569 }</pre>
Takashi Matsuo06694102015-09-11 13:55:40 -0700570</div>
571
572<div class="method">
Thomas Coffee2f245372017-03-27 10:39:26 -0700573 <code class="details" id="getIamPolicy">getIamPolicy(resource, x__xgafv=None)</code>
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800574 <pre>Gets the access control policy for a resource.
575Returns an empty policy if the resource exists and does not have a policy
576set.
Takashi Matsuo06694102015-09-11 13:55:40 -0700577
578Args:
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800579 resource: string, REQUIRED: The resource for which the policy is being requested.
Sai Cheemalapatie833b792017-03-24 15:06:46 -0700580See the operation documentation for the appropriate value for this field. (required)
Takashi Matsuo06694102015-09-11 13:55:40 -0700581 x__xgafv: string, V1 error format.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800582 Allowed values
583 1 - v1 error format
584 2 - v2 error format
Takashi Matsuo06694102015-09-11 13:55:40 -0700585
586Returns:
587 An object of the form:
588
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800589 { # Defines an Identity and Access Management (IAM) policy. It is used to
590 # specify access control policies for Cloud Platform resources.
591 #
592 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700593 # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800594 # `members` to a `role`, where the members can be user accounts, Google groups,
595 # Google domains, and service accounts. A `role` is a named list of permissions
596 # defined by IAM.
597 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700598 # **JSON Example**
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800599 #
600 # {
601 # "bindings": [
602 # {
603 # "role": "roles/owner",
604 # "members": [
605 # "user:mike@example.com",
606 # "group:admins@example.com",
607 # "domain:google.com",
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700608 # "serviceAccount:my-other-app@appspot.gserviceaccount.com"
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800609 # ]
610 # },
611 # {
612 # "role": "roles/viewer",
613 # "members": ["user:sean@example.com"]
614 # }
615 # ]
616 # }
617 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700618 # **YAML Example**
619 #
620 # bindings:
621 # - members:
622 # - user:mike@example.com
623 # - group:admins@example.com
624 # - domain:google.com
625 # - serviceAccount:my-other-app@appspot.gserviceaccount.com
626 # role: roles/owner
627 # - members:
628 # - user:sean@example.com
629 # role: roles/viewer
630 #
631 #
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800632 # For a description of IAM and its features, see the
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700633 # [IAM developer's guide](https://cloud.google.com/iam/docs).
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800634 "bindings": [ # Associates a list of `members` to a `role`.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800635 # `bindings` with no members will result in an error.
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800636 { # Associates `members` with a `role`.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800637 "role": "A String", # Role that is assigned to `members`.
638 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800639 "members": [ # Specifies the identities requesting access for a Cloud Platform resource.
640 # `members` can have the following values:
641 #
642 # * `allUsers`: A special identifier that represents anyone who is
643 # on the internet; with or without a Google account.
644 #
645 # * `allAuthenticatedUsers`: A special identifier that represents anyone
646 # who is authenticated with a Google account or a service account.
647 #
648 # * `user:{emailid}`: An email address that represents a specific Google
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700649 # account. For example, `alice@gmail.com` .
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800650 #
651 #
652 # * `serviceAccount:{emailid}`: An email address that represents a service
653 # account. For example, `my-other-app@appspot.gserviceaccount.com`.
654 #
655 # * `group:{emailid}`: An email address that represents a Google group.
656 # For example, `admins@example.com`.
657 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700658 #
659 # * `domain:{domain}`: The G Suite domain (primary) that represents all the
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800660 # users of that domain. For example, `google.com` or `example.com`.
661 #
Takashi Matsuo06694102015-09-11 13:55:40 -0700662 "A String",
663 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700664 "condition": { # Represents an expression text. Example: # The condition that is associated with this binding.
665 # NOTE: An unsatisfied condition will not allow user access via current
666 # binding. Different bindings, including their conditions, are examined
667 # independently.
668 #
669 # title: "User account presence"
670 # description: "Determines whether the request has a user account"
671 # expression: "size(request.user) > 0"
672 "location": "A String", # An optional string indicating the location of the expression for error
673 # reporting, e.g. a file name and a position in the file.
674 "expression": "A String", # Textual representation of an expression in
675 # Common Expression Language syntax.
676 #
677 # The application context of the containing message determines which
678 # well-known feature set of CEL is supported.
679 "description": "A String", # An optional description of the expression. This is a longer text which
680 # describes the expression, e.g. when hovered over it in a UI.
681 "title": "A String", # An optional title for the expression, i.e. a short string describing
682 # its purpose. This can be used e.g. in UIs which allow to enter the
683 # expression.
684 },
Takashi Matsuo06694102015-09-11 13:55:40 -0700685 },
686 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700687 "version": 42, # Deprecated.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800688 "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
689 # prevent simultaneous updates of a policy from overwriting each other.
690 # It is strongly suggested that systems make use of the `etag` in the
691 # read-modify-write cycle to perform policy updates in order to avoid race
692 # conditions: An `etag` is returned in the response to `getIamPolicy`, and
693 # systems are expected to put that etag in the request to `setIamPolicy` to
694 # ensure that their change will be applied to the same version of the policy.
695 #
696 # If no `etag` is provided in the call to `setIamPolicy`, then the existing
697 # policy is overwritten blindly.
Takashi Matsuo06694102015-09-11 13:55:40 -0700698 }</pre>
699</div>
700
701<div class="method">
Thomas Coffee2f245372017-03-27 10:39:26 -0700702 <code class="details" id="list">list(project, pageSize=None, pageToken=None, x__xgafv=None)</code>
Takashi Matsuo06694102015-09-11 13:55:40 -0700703 <pre>Lists matching subscriptions.
704
705Args:
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700706 project: string, The name of the project in which to list subscriptions.
707Format is `projects/{project-id}`. (required)
Takashi Matsuo06694102015-09-11 13:55:40 -0700708 pageSize: integer, Maximum number of subscriptions to return.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800709 pageToken: string, The value returned by the last `ListSubscriptionsResponse`; indicates that
710this is a continuation of a prior `ListSubscriptions` call, and that the
711system should return the next page of data.
Takashi Matsuo06694102015-09-11 13:55:40 -0700712 x__xgafv: string, V1 error format.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800713 Allowed values
714 1 - v1 error format
715 2 - v2 error format
Takashi Matsuo06694102015-09-11 13:55:40 -0700716
717Returns:
718 An object of the form:
719
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800720 { # Response for the `ListSubscriptions` method.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800721 "nextPageToken": "A String", # If not empty, indicates that there may be more subscriptions that match
722 # the request; this value should be passed in a new
723 # `ListSubscriptionsRequest` to get more subscriptions.
Takashi Matsuo06694102015-09-11 13:55:40 -0700724 "subscriptions": [ # The subscriptions that match the request.
725 { # A subscription resource.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700726 "name": "A String", # The name of the subscription. It must have the format
727 # `"projects/{project}/subscriptions/{subscription}"`. `{subscription}` must
728 # start with a letter, and contain only letters (`[A-Za-z]`), numbers
729 # (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),
730 # plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters
731 # in length, and it must not start with `"goog"`.
732 "ackDeadlineSeconds": 42, # The approximate amount of time (on a best-effort basis) Pub/Sub waits for
733 # the subscriber to acknowledge receipt before resending the message. In the
734 # interval after the message is delivered and before it is acknowledged, it
735 # is considered to be <i>outstanding</i>. During that time period, the
736 # message will not be redelivered (on a best-effort basis).
Sai Cheemalapati4ba8c232017-06-06 18:46:08 -0400737 #
738 # For pull subscriptions, this value is used as the initial value for the ack
739 # deadline. To override this value for a given message, call
740 # `ModifyAckDeadline` with the corresponding `ack_id` if using
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700741 # non-streaming pull or send the `ack_id` in a
742 # `StreamingModifyAckDeadlineRequest` if using streaming pull.
Sai Cheemalapati4ba8c232017-06-06 18:46:08 -0400743 # The minimum custom deadline you can specify is 10 seconds.
744 # The maximum custom deadline you can specify is 600 seconds (10 minutes).
745 # If this parameter is 0, a default value of 10 seconds is used.
746 #
747 # For push delivery, this value is also used to set the request timeout for
748 # the call to the push endpoint.
749 #
750 # If the subscriber never acknowledges the message, the Pub/Sub
751 # system will eventually redeliver the message.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700752 "labels": { # See <a href="https://cloud.google.com/pubsub/docs/labels"> Creating and
753 # managing labels</a>.
754 "a_key": "A String",
755 },
Sai Cheemalapati4ba8c232017-06-06 18:46:08 -0400756 "pushConfig": { # Configuration for a push delivery endpoint. # If push delivery is used with this subscription, this field is
757 # used to configure it. An empty `pushConfig` signifies that the subscriber
758 # will pull and ack messages using API methods.
759 "attributes": { # Endpoint configuration attributes.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800760 #
Sai Cheemalapati4ba8c232017-06-06 18:46:08 -0400761 # Every endpoint has a set of API supported attributes that can be used to
762 # control different aspects of the message delivery.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800763 #
Sai Cheemalapati4ba8c232017-06-06 18:46:08 -0400764 # The currently supported attribute is `x-goog-version`, which you can
765 # use to change the format of the pushed message. This attribute
766 # indicates the version of the data expected by the endpoint. This
767 # controls the shape of the pushed message (i.e., its fields and metadata).
768 # The endpoint version is based on the version of the Pub/Sub API.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800769 #
Sai Cheemalapati4ba8c232017-06-06 18:46:08 -0400770 # If not present during the `CreateSubscription` call, it will default to
771 # the version of the API used to make such call. If not present during a
772 # `ModifyPushConfig` call, its value will not be changed. `GetSubscription`
773 # calls will always return a valid version, even if the subscription was
774 # created without this attribute.
775 #
776 # The possible values for this attribute are:
777 #
778 # * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API.
779 # * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API.
780 "a_key": "A String",
Takashi Matsuo06694102015-09-11 13:55:40 -0700781 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700782 "oidcToken": { # Contains information needed for generating an # If specified, Pub/Sub will generate and attach an OIDC JWT token as an
783 # `Authorization` header in the HTTP request for every pushed message.
784 # [OpenID Connect
785 # token](https://developers.google.com/identity/protocols/OpenIDConnect).
786 "audience": "A String", # Audience to be used when generating OIDC token. The audience claim
787 # identifies the recipients that the JWT is intended for. The audience
788 # value is a single case-sensitive string. Having multiple values (array)
789 # for the audience field is not supported. More info about the OIDC JWT
790 # token audience here: https://tools.ietf.org/html/rfc7519#section-4.1.3
791 # Note: if not specified, the Push endpoint URL will be used.
792 "serviceAccountEmail": "A String", # [Service account
793 # email](https://cloud.google.com/iam/docs/service-accounts)
794 # to be used for generating the OIDC token. The caller (for
795 # CreateSubscription, UpdateSubscription, and ModifyPushConfig RPCs) must
796 # have the iam.serviceAccounts.actAs permission for the service account.
797 },
Sai Cheemalapati4ba8c232017-06-06 18:46:08 -0400798 "pushEndpoint": "A String", # A URL locating the endpoint to which messages should be pushed.
799 # For example, a Webhook endpoint might use "https://example.com/push".
Takashi Matsuo06694102015-09-11 13:55:40 -0700800 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700801 "topic": "A String", # The name of the topic from which this subscription is receiving messages.
802 # Format is `projects/{project}/topics/{topic}`.
803 # The value of this field will be `_deleted-topic_` if the topic has been
804 # deleted.
805 "messageRetentionDuration": "A String", # How long to retain unacknowledged messages in the subscription's backlog,
806 # from the moment a message is published.
807 # If `retain_acked_messages` is true, then this also configures the retention
808 # of acknowledged messages, and thus configures how far back in time a `Seek`
809 # can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10
810 # minutes.
811 "retainAckedMessages": True or False, # Indicates whether to retain acknowledged messages. If true, then
812 # messages are not expunged from the subscription's backlog, even if they are
813 # acknowledged, until they fall out of the `message_retention_duration`
814 # window. This must be true if you would like to
815 # <a
816 # href="https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time">
817 # Seek to a timestamp</a>.
818 "expirationPolicy": { # A policy that specifies the conditions for resource expiration (i.e., # A policy that specifies the conditions for this subscription's expiration.
819 # A subscription is considered active as long as any connected subscriber is
820 # successfully consuming messages from the subscription or is issuing
821 # operations on the subscription. If `expiration_policy` is not set, a
822 # *default policy* with `ttl` of 31 days will be used. The minimum allowed
823 # value for `expiration_policy.ttl` is 1 day.
824 # automatic resource deletion).
825 "ttl": "A String", # Specifies the "time-to-live" duration for an associated resource. The
826 # resource expires if it is not active for a period of `ttl`. The definition
827 # of "activity" depends on the type of the associated resource. The minimum
828 # and maximum allowed values for `ttl` depend on the type of the associated
829 # resource, as well. If `ttl` is not set, the associated resource never
830 # expires.
831 },
Sai Cheemalapati4ba8c232017-06-06 18:46:08 -0400832 },
Takashi Matsuo06694102015-09-11 13:55:40 -0700833 ],
834 }</pre>
835</div>
836
837<div class="method">
838 <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
839 <pre>Retrieves the next page of results.
840
841Args:
842 previous_request: The request for the previous page. (required)
843 previous_response: The response from the request for the previous page. (required)
844
845Returns:
846 A request object that you can call 'execute()' on to request the next
847 page. Returns None if there are no more items in the collection.
848 </pre>
849</div>
850
851<div class="method">
Thomas Coffee2f245372017-03-27 10:39:26 -0700852 <code class="details" id="modifyAckDeadline">modifyAckDeadline(subscription, body, x__xgafv=None)</code>
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800853 <pre>Modifies the ack deadline for a specific message. This method is useful
854to indicate that more time is needed to process a message by the
855subscriber, or to make the message available for redelivery if the
856processing was interrupted. Note that this does not modify the
857subscription-level `ackDeadlineSeconds` used for subsequent messages.
Takashi Matsuo06694102015-09-11 13:55:40 -0700858
859Args:
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800860 subscription: string, The name of the subscription.
861Format is `projects/{project}/subscriptions/{sub}`. (required)
Takashi Matsuo06694102015-09-11 13:55:40 -0700862 body: object, The request body. (required)
863 The object takes the form of:
864
865{ # Request for the ModifyAckDeadline method.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800866 "ackDeadlineSeconds": 42, # The new ack deadline with respect to the time this request was sent to
867 # the Pub/Sub system. For example, if the value is 10, the new
868 # ack deadline will expire 10 seconds after the `ModifyAckDeadline` call
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700869 # was made. Specifying zero might immediately make the message available for
870 # delivery to another subscriber client. This typically results in an
871 # increase in the rate of message redeliveries (that is, duplicates).
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800872 # The minimum deadline you can specify is 0 seconds.
873 # The maximum deadline you can specify is 600 seconds (10 minutes).
Takashi Matsuo06694102015-09-11 13:55:40 -0700874 "ackIds": [ # List of acknowledgment IDs.
875 "A String",
876 ],
877 }
878
879 x__xgafv: string, V1 error format.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800880 Allowed values
881 1 - v1 error format
882 2 - v2 error format
Takashi Matsuo06694102015-09-11 13:55:40 -0700883
884Returns:
885 An object of the form:
886
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800887 { # A generic empty message that you can re-use to avoid defining duplicated
888 # empty messages in your APIs. A typical example is to use it as the request
889 # or the response type of an API method. For instance:
890 #
891 # service Foo {
892 # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
893 # }
894 #
895 # The JSON representation for `Empty` is empty JSON object `{}`.
Takashi Matsuo06694102015-09-11 13:55:40 -0700896 }</pre>
897</div>
898
899<div class="method">
Thomas Coffee2f245372017-03-27 10:39:26 -0700900 <code class="details" id="modifyPushConfig">modifyPushConfig(subscription, body, x__xgafv=None)</code>
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800901 <pre>Modifies the `PushConfig` for a specified subscription.
902
903This may be used to change a push subscription to a pull one (signified by
904an empty `PushConfig`) or vice versa, or change the endpoint URL and other
905attributes of a push subscription. Messages will accumulate for delivery
906continuously through the call regardless of changes to the `PushConfig`.
Takashi Matsuo06694102015-09-11 13:55:40 -0700907
908Args:
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800909 subscription: string, The name of the subscription.
910Format is `projects/{project}/subscriptions/{sub}`. (required)
Takashi Matsuo06694102015-09-11 13:55:40 -0700911 body: object, The request body. (required)
912 The object takes the form of:
913
914{ # Request for the ModifyPushConfig method.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800915 "pushConfig": { # Configuration for a push delivery endpoint. # The push configuration for future deliveries.
916 #
917 # An empty `pushConfig` indicates that the Pub/Sub system should
918 # stop pushing messages from the given subscription and allow
919 # messages to be pulled and acknowledged - effectively pausing
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700920 # the subscription if `Pull` or `StreamingPull` is not called.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800921 "attributes": { # Endpoint configuration attributes.
922 #
923 # Every endpoint has a set of API supported attributes that can be used to
924 # control different aspects of the message delivery.
925 #
926 # The currently supported attribute is `x-goog-version`, which you can
Sai Cheemalapatie833b792017-03-24 15:06:46 -0700927 # use to change the format of the pushed message. This attribute
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800928 # indicates the version of the data expected by the endpoint. This
Sai Cheemalapatie833b792017-03-24 15:06:46 -0700929 # controls the shape of the pushed message (i.e., its fields and metadata).
930 # The endpoint version is based on the version of the Pub/Sub API.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800931 #
932 # If not present during the `CreateSubscription` call, it will default to
933 # the version of the API used to make such call. If not present during a
934 # `ModifyPushConfig` call, its value will not be changed. `GetSubscription`
935 # calls will always return a valid version, even if the subscription was
936 # created without this attribute.
937 #
938 # The possible values for this attribute are:
939 #
940 # * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API.
941 # * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API.
Takashi Matsuo06694102015-09-11 13:55:40 -0700942 "a_key": "A String",
943 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700944 "oidcToken": { # Contains information needed for generating an # If specified, Pub/Sub will generate and attach an OIDC JWT token as an
945 # `Authorization` header in the HTTP request for every pushed message.
946 # [OpenID Connect
947 # token](https://developers.google.com/identity/protocols/OpenIDConnect).
948 "audience": "A String", # Audience to be used when generating OIDC token. The audience claim
949 # identifies the recipients that the JWT is intended for. The audience
950 # value is a single case-sensitive string. Having multiple values (array)
951 # for the audience field is not supported. More info about the OIDC JWT
952 # token audience here: https://tools.ietf.org/html/rfc7519#section-4.1.3
953 # Note: if not specified, the Push endpoint URL will be used.
954 "serviceAccountEmail": "A String", # [Service account
955 # email](https://cloud.google.com/iam/docs/service-accounts)
956 # to be used for generating the OIDC token. The caller (for
957 # CreateSubscription, UpdateSubscription, and ModifyPushConfig RPCs) must
958 # have the iam.serviceAccounts.actAs permission for the service account.
959 },
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800960 "pushEndpoint": "A String", # A URL locating the endpoint to which messages should be pushed.
961 # For example, a Webhook endpoint might use "https://example.com/push".
Takashi Matsuo06694102015-09-11 13:55:40 -0700962 },
963 }
964
965 x__xgafv: string, V1 error format.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800966 Allowed values
967 1 - v1 error format
968 2 - v2 error format
Takashi Matsuo06694102015-09-11 13:55:40 -0700969
970Returns:
971 An object of the form:
972
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800973 { # A generic empty message that you can re-use to avoid defining duplicated
974 # empty messages in your APIs. A typical example is to use it as the request
975 # or the response type of an API method. For instance:
976 #
977 # service Foo {
978 # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
979 # }
980 #
981 # The JSON representation for `Empty` is empty JSON object `{}`.
Takashi Matsuo06694102015-09-11 13:55:40 -0700982 }</pre>
983</div>
984
985<div class="method">
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700986 <code class="details" id="patch">patch(name, body, x__xgafv=None)</code>
987 <pre>Updates an existing subscription. Note that certain properties of a
988subscription, such as its topic, are not modifiable.
989
990Args:
991 name: string, The name of the subscription. It must have the format
992`"projects/{project}/subscriptions/{subscription}"`. `{subscription}` must
993start with a letter, and contain only letters (`[A-Za-z]`), numbers
994(`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),
995plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters
996in length, and it must not start with `"goog"`. (required)
997 body: object, The request body. (required)
998 The object takes the form of:
999
1000{ # Request for the UpdateSubscription method.
1001 "updateMask": "A String", # Indicates which fields in the provided subscription to update.
1002 # Must be specified and non-empty.
1003 "subscription": { # A subscription resource. # The updated subscription object.
1004 "name": "A String", # The name of the subscription. It must have the format
1005 # `"projects/{project}/subscriptions/{subscription}"`. `{subscription}` must
1006 # start with a letter, and contain only letters (`[A-Za-z]`), numbers
1007 # (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),
1008 # plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters
1009 # in length, and it must not start with `"goog"`.
1010 "ackDeadlineSeconds": 42, # The approximate amount of time (on a best-effort basis) Pub/Sub waits for
1011 # the subscriber to acknowledge receipt before resending the message. In the
1012 # interval after the message is delivered and before it is acknowledged, it
1013 # is considered to be <i>outstanding</i>. During that time period, the
1014 # message will not be redelivered (on a best-effort basis).
1015 #
1016 # For pull subscriptions, this value is used as the initial value for the ack
1017 # deadline. To override this value for a given message, call
1018 # `ModifyAckDeadline` with the corresponding `ack_id` if using
1019 # non-streaming pull or send the `ack_id` in a
1020 # `StreamingModifyAckDeadlineRequest` if using streaming pull.
1021 # The minimum custom deadline you can specify is 10 seconds.
1022 # The maximum custom deadline you can specify is 600 seconds (10 minutes).
1023 # If this parameter is 0, a default value of 10 seconds is used.
1024 #
1025 # For push delivery, this value is also used to set the request timeout for
1026 # the call to the push endpoint.
1027 #
1028 # If the subscriber never acknowledges the message, the Pub/Sub
1029 # system will eventually redeliver the message.
1030 "labels": { # See <a href="https://cloud.google.com/pubsub/docs/labels"> Creating and
1031 # managing labels</a>.
1032 "a_key": "A String",
1033 },
1034 "pushConfig": { # Configuration for a push delivery endpoint. # If push delivery is used with this subscription, this field is
1035 # used to configure it. An empty `pushConfig` signifies that the subscriber
1036 # will pull and ack messages using API methods.
1037 "attributes": { # Endpoint configuration attributes.
1038 #
1039 # Every endpoint has a set of API supported attributes that can be used to
1040 # control different aspects of the message delivery.
1041 #
1042 # The currently supported attribute is `x-goog-version`, which you can
1043 # use to change the format of the pushed message. This attribute
1044 # indicates the version of the data expected by the endpoint. This
1045 # controls the shape of the pushed message (i.e., its fields and metadata).
1046 # The endpoint version is based on the version of the Pub/Sub API.
1047 #
1048 # If not present during the `CreateSubscription` call, it will default to
1049 # the version of the API used to make such call. If not present during a
1050 # `ModifyPushConfig` call, its value will not be changed. `GetSubscription`
1051 # calls will always return a valid version, even if the subscription was
1052 # created without this attribute.
1053 #
1054 # The possible values for this attribute are:
1055 #
1056 # * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API.
1057 # * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API.
1058 "a_key": "A String",
1059 },
1060 "oidcToken": { # Contains information needed for generating an # If specified, Pub/Sub will generate and attach an OIDC JWT token as an
1061 # `Authorization` header in the HTTP request for every pushed message.
1062 # [OpenID Connect
1063 # token](https://developers.google.com/identity/protocols/OpenIDConnect).
1064 "audience": "A String", # Audience to be used when generating OIDC token. The audience claim
1065 # identifies the recipients that the JWT is intended for. The audience
1066 # value is a single case-sensitive string. Having multiple values (array)
1067 # for the audience field is not supported. More info about the OIDC JWT
1068 # token audience here: https://tools.ietf.org/html/rfc7519#section-4.1.3
1069 # Note: if not specified, the Push endpoint URL will be used.
1070 "serviceAccountEmail": "A String", # [Service account
1071 # email](https://cloud.google.com/iam/docs/service-accounts)
1072 # to be used for generating the OIDC token. The caller (for
1073 # CreateSubscription, UpdateSubscription, and ModifyPushConfig RPCs) must
1074 # have the iam.serviceAccounts.actAs permission for the service account.
1075 },
1076 "pushEndpoint": "A String", # A URL locating the endpoint to which messages should be pushed.
1077 # For example, a Webhook endpoint might use "https://example.com/push".
1078 },
1079 "topic": "A String", # The name of the topic from which this subscription is receiving messages.
1080 # Format is `projects/{project}/topics/{topic}`.
1081 # The value of this field will be `_deleted-topic_` if the topic has been
1082 # deleted.
1083 "messageRetentionDuration": "A String", # How long to retain unacknowledged messages in the subscription's backlog,
1084 # from the moment a message is published.
1085 # If `retain_acked_messages` is true, then this also configures the retention
1086 # of acknowledged messages, and thus configures how far back in time a `Seek`
1087 # can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10
1088 # minutes.
1089 "retainAckedMessages": True or False, # Indicates whether to retain acknowledged messages. If true, then
1090 # messages are not expunged from the subscription's backlog, even if they are
1091 # acknowledged, until they fall out of the `message_retention_duration`
1092 # window. This must be true if you would like to
1093 # <a
1094 # href="https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time">
1095 # Seek to a timestamp</a>.
1096 "expirationPolicy": { # A policy that specifies the conditions for resource expiration (i.e., # A policy that specifies the conditions for this subscription's expiration.
1097 # A subscription is considered active as long as any connected subscriber is
1098 # successfully consuming messages from the subscription or is issuing
1099 # operations on the subscription. If `expiration_policy` is not set, a
1100 # *default policy* with `ttl` of 31 days will be used. The minimum allowed
1101 # value for `expiration_policy.ttl` is 1 day.
1102 # automatic resource deletion).
1103 "ttl": "A String", # Specifies the "time-to-live" duration for an associated resource. The
1104 # resource expires if it is not active for a period of `ttl`. The definition
1105 # of "activity" depends on the type of the associated resource. The minimum
1106 # and maximum allowed values for `ttl` depend on the type of the associated
1107 # resource, as well. If `ttl` is not set, the associated resource never
1108 # expires.
1109 },
1110 },
1111 }
1112
1113 x__xgafv: string, V1 error format.
1114 Allowed values
1115 1 - v1 error format
1116 2 - v2 error format
1117
1118Returns:
1119 An object of the form:
1120
1121 { # A subscription resource.
1122 "name": "A String", # The name of the subscription. It must have the format
1123 # `"projects/{project}/subscriptions/{subscription}"`. `{subscription}` must
1124 # start with a letter, and contain only letters (`[A-Za-z]`), numbers
1125 # (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),
1126 # plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters
1127 # in length, and it must not start with `"goog"`.
1128 "ackDeadlineSeconds": 42, # The approximate amount of time (on a best-effort basis) Pub/Sub waits for
1129 # the subscriber to acknowledge receipt before resending the message. In the
1130 # interval after the message is delivered and before it is acknowledged, it
1131 # is considered to be <i>outstanding</i>. During that time period, the
1132 # message will not be redelivered (on a best-effort basis).
1133 #
1134 # For pull subscriptions, this value is used as the initial value for the ack
1135 # deadline. To override this value for a given message, call
1136 # `ModifyAckDeadline` with the corresponding `ack_id` if using
1137 # non-streaming pull or send the `ack_id` in a
1138 # `StreamingModifyAckDeadlineRequest` if using streaming pull.
1139 # The minimum custom deadline you can specify is 10 seconds.
1140 # The maximum custom deadline you can specify is 600 seconds (10 minutes).
1141 # If this parameter is 0, a default value of 10 seconds is used.
1142 #
1143 # For push delivery, this value is also used to set the request timeout for
1144 # the call to the push endpoint.
1145 #
1146 # If the subscriber never acknowledges the message, the Pub/Sub
1147 # system will eventually redeliver the message.
1148 "labels": { # See <a href="https://cloud.google.com/pubsub/docs/labels"> Creating and
1149 # managing labels</a>.
1150 "a_key": "A String",
1151 },
1152 "pushConfig": { # Configuration for a push delivery endpoint. # If push delivery is used with this subscription, this field is
1153 # used to configure it. An empty `pushConfig` signifies that the subscriber
1154 # will pull and ack messages using API methods.
1155 "attributes": { # Endpoint configuration attributes.
1156 #
1157 # Every endpoint has a set of API supported attributes that can be used to
1158 # control different aspects of the message delivery.
1159 #
1160 # The currently supported attribute is `x-goog-version`, which you can
1161 # use to change the format of the pushed message. This attribute
1162 # indicates the version of the data expected by the endpoint. This
1163 # controls the shape of the pushed message (i.e., its fields and metadata).
1164 # The endpoint version is based on the version of the Pub/Sub API.
1165 #
1166 # If not present during the `CreateSubscription` call, it will default to
1167 # the version of the API used to make such call. If not present during a
1168 # `ModifyPushConfig` call, its value will not be changed. `GetSubscription`
1169 # calls will always return a valid version, even if the subscription was
1170 # created without this attribute.
1171 #
1172 # The possible values for this attribute are:
1173 #
1174 # * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API.
1175 # * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API.
1176 "a_key": "A String",
1177 },
1178 "oidcToken": { # Contains information needed for generating an # If specified, Pub/Sub will generate and attach an OIDC JWT token as an
1179 # `Authorization` header in the HTTP request for every pushed message.
1180 # [OpenID Connect
1181 # token](https://developers.google.com/identity/protocols/OpenIDConnect).
1182 "audience": "A String", # Audience to be used when generating OIDC token. The audience claim
1183 # identifies the recipients that the JWT is intended for. The audience
1184 # value is a single case-sensitive string. Having multiple values (array)
1185 # for the audience field is not supported. More info about the OIDC JWT
1186 # token audience here: https://tools.ietf.org/html/rfc7519#section-4.1.3
1187 # Note: if not specified, the Push endpoint URL will be used.
1188 "serviceAccountEmail": "A String", # [Service account
1189 # email](https://cloud.google.com/iam/docs/service-accounts)
1190 # to be used for generating the OIDC token. The caller (for
1191 # CreateSubscription, UpdateSubscription, and ModifyPushConfig RPCs) must
1192 # have the iam.serviceAccounts.actAs permission for the service account.
1193 },
1194 "pushEndpoint": "A String", # A URL locating the endpoint to which messages should be pushed.
1195 # For example, a Webhook endpoint might use "https://example.com/push".
1196 },
1197 "topic": "A String", # The name of the topic from which this subscription is receiving messages.
1198 # Format is `projects/{project}/topics/{topic}`.
1199 # The value of this field will be `_deleted-topic_` if the topic has been
1200 # deleted.
1201 "messageRetentionDuration": "A String", # How long to retain unacknowledged messages in the subscription's backlog,
1202 # from the moment a message is published.
1203 # If `retain_acked_messages` is true, then this also configures the retention
1204 # of acknowledged messages, and thus configures how far back in time a `Seek`
1205 # can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10
1206 # minutes.
1207 "retainAckedMessages": True or False, # Indicates whether to retain acknowledged messages. If true, then
1208 # messages are not expunged from the subscription's backlog, even if they are
1209 # acknowledged, until they fall out of the `message_retention_duration`
1210 # window. This must be true if you would like to
1211 # <a
1212 # href="https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time">
1213 # Seek to a timestamp</a>.
1214 "expirationPolicy": { # A policy that specifies the conditions for resource expiration (i.e., # A policy that specifies the conditions for this subscription's expiration.
1215 # A subscription is considered active as long as any connected subscriber is
1216 # successfully consuming messages from the subscription or is issuing
1217 # operations on the subscription. If `expiration_policy` is not set, a
1218 # *default policy* with `ttl` of 31 days will be used. The minimum allowed
1219 # value for `expiration_policy.ttl` is 1 day.
1220 # automatic resource deletion).
1221 "ttl": "A String", # Specifies the "time-to-live" duration for an associated resource. The
1222 # resource expires if it is not active for a period of `ttl`. The definition
1223 # of "activity" depends on the type of the associated resource. The minimum
1224 # and maximum allowed values for `ttl` depend on the type of the associated
1225 # resource, as well. If `ttl` is not set, the associated resource never
1226 # expires.
1227 },
1228 }</pre>
1229</div>
1230
1231<div class="method">
Thomas Coffee2f245372017-03-27 10:39:26 -07001232 <code class="details" id="pull">pull(subscription, body, x__xgafv=None)</code>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001233 <pre>Pulls messages from the server. The server may return `UNAVAILABLE` if
Jon Wayne Parrott692617a2017-01-06 09:58:29 -08001234there are too many concurrent pull requests pending for the given
1235subscription.
Takashi Matsuo06694102015-09-11 13:55:40 -07001236
1237Args:
Jon Wayne Parrott692617a2017-01-06 09:58:29 -08001238 subscription: string, The subscription from which messages should be pulled.
1239Format is `projects/{project}/subscriptions/{sub}`. (required)
Takashi Matsuo06694102015-09-11 13:55:40 -07001240 body: object, The request body. (required)
1241 The object takes the form of:
1242
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -08001243{ # Request for the `Pull` method.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -08001244 "returnImmediately": True or False, # If this field set to true, the system will respond immediately even if
1245 # it there are no messages available to return in the `Pull` response.
1246 # Otherwise, the system may wait (for a bounded amount of time) until at
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001247 # least one message is available, rather than returning no messages.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -08001248 "maxMessages": 42, # The maximum number of messages returned for this request. The Pub/Sub
1249 # system may return fewer than the number specified.
Takashi Matsuo06694102015-09-11 13:55:40 -07001250 }
1251
1252 x__xgafv: string, V1 error format.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -08001253 Allowed values
1254 1 - v1 error format
1255 2 - v2 error format
Takashi Matsuo06694102015-09-11 13:55:40 -07001256
1257Returns:
1258 An object of the form:
1259
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -08001260 { # Response for the `Pull` method.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001261 "receivedMessages": [ # Received Pub/Sub messages. The list will be empty if there are no more
1262 # messages available in the backlog. For JSON, the response can be entirely
1263 # empty. The Pub/Sub system may return fewer than the `maxMessages` requested
1264 # even if there are more messages available in the backlog.
Takashi Matsuo06694102015-09-11 13:55:40 -07001265 { # A message and its corresponding acknowledgment ID.
1266 "ackId": "A String", # This ID can be used to acknowledge the received message.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001267 "message": { # A message that is published by publishers and consumed by subscribers. The # The message.
1268 # message must contain either a non-empty data field or at least one attribute.
1269 # Note that client libraries represent this object differently
1270 # depending on the language. See the corresponding
1271 # <a href="https://cloud.google.com/pubsub/docs/reference/libraries">client
1272 # library documentation</a> for more information. See
1273 # <a href="https://cloud.google.com/pubsub/quotas">Quotas and limits</a>
1274 # for more information about message limits.
Takashi Matsuo06694102015-09-11 13:55:40 -07001275 "attributes": { # Optional attributes for this message.
1276 "a_key": "A String",
1277 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001278 "data": "A String", # The message data field. If this field is empty, the message must contain
1279 # at least one attribute.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -08001280 "publishTime": "A String", # The time at which the message was published, populated by the server when
1281 # it receives the `Publish` call. It must not be populated by the
1282 # publisher in a `Publish` call.
1283 "messageId": "A String", # ID of this message, assigned by the server when the message is published.
1284 # Guaranteed to be unique within the topic. This value may be read by a
1285 # subscriber that receives a `PubsubMessage` via a `Pull` call or a push
1286 # delivery. It must not be populated by the publisher in a `Publish` call.
Takashi Matsuo06694102015-09-11 13:55:40 -07001287 },
1288 },
1289 ],
1290 }</pre>
1291</div>
1292
1293<div class="method">
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001294 <code class="details" id="seek">seek(subscription, body, x__xgafv=None)</code>
1295 <pre>Seeks an existing subscription to a point in time or to a given snapshot,
1296whichever is provided in the request. Snapshots are used in
1297<a href="https://cloud.google.com/pubsub/docs/replay-overview">Seek</a>
1298operations, which allow
1299you to manage message acknowledgments in bulk. That is, you can set the
1300acknowledgment state of messages in an existing subscription to the state
1301captured by a snapshot. Note that both the subscription and the snapshot
1302must be on the same topic.
1303
1304Args:
1305 subscription: string, The subscription to affect. (required)
1306 body: object, The request body. (required)
1307 The object takes the form of:
1308
1309{ # Request for the `Seek` method.
1310 "snapshot": "A String", # The snapshot to seek to. The snapshot's topic must be the same as that of
1311 # the provided subscription.
1312 # Format is `projects/{project}/snapshots/{snap}`.
1313 "time": "A String", # The time to seek to.
1314 # Messages retained in the subscription that were published before this
1315 # time are marked as acknowledged, and messages retained in the
1316 # subscription that were published after this time are marked as
1317 # unacknowledged. Note that this operation affects only those messages
1318 # retained in the subscription (configured by the combination of
1319 # `message_retention_duration` and `retain_acked_messages`). For example,
1320 # if `time` corresponds to a point before the message retention
1321 # window (or to a point before the system's notion of the subscription
1322 # creation time), only retained messages will be marked as unacknowledged,
1323 # and already-expunged messages will not be restored.
1324 }
1325
1326 x__xgafv: string, V1 error format.
1327 Allowed values
1328 1 - v1 error format
1329 2 - v2 error format
1330
1331Returns:
1332 An object of the form:
1333
1334 { # Response for the `Seek` method (this response is empty).
1335 }</pre>
1336</div>
1337
1338<div class="method">
Thomas Coffee2f245372017-03-27 10:39:26 -07001339 <code class="details" id="setIamPolicy">setIamPolicy(resource, body, x__xgafv=None)</code>
Jon Wayne Parrott692617a2017-01-06 09:58:29 -08001340 <pre>Sets the access control policy on the specified resource. Replaces any
1341existing policy.
Takashi Matsuo06694102015-09-11 13:55:40 -07001342
1343Args:
Jon Wayne Parrott692617a2017-01-06 09:58:29 -08001344 resource: string, REQUIRED: The resource for which the policy is being specified.
Sai Cheemalapatie833b792017-03-24 15:06:46 -07001345See the operation documentation for the appropriate value for this field. (required)
Takashi Matsuo06694102015-09-11 13:55:40 -07001346 body: object, The request body. (required)
1347 The object takes the form of:
1348
1349{ # Request message for `SetIamPolicy` method.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -08001350 "policy": { # Defines an Identity and Access Management (IAM) policy. It is used to # REQUIRED: The complete policy to be applied to the `resource`. The size of
1351 # the policy is limited to a few 10s of KB. An empty policy is a
1352 # valid policy but certain Cloud Platform services (such as Projects)
1353 # might reject them.
1354 # specify access control policies for Cloud Platform resources.
1355 #
1356 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001357 # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
Jon Wayne Parrott692617a2017-01-06 09:58:29 -08001358 # `members` to a `role`, where the members can be user accounts, Google groups,
1359 # Google domains, and service accounts. A `role` is a named list of permissions
1360 # defined by IAM.
1361 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001362 # **JSON Example**
Jon Wayne Parrott692617a2017-01-06 09:58:29 -08001363 #
1364 # {
1365 # "bindings": [
1366 # {
1367 # "role": "roles/owner",
1368 # "members": [
1369 # "user:mike@example.com",
1370 # "group:admins@example.com",
1371 # "domain:google.com",
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001372 # "serviceAccount:my-other-app@appspot.gserviceaccount.com"
Jon Wayne Parrott692617a2017-01-06 09:58:29 -08001373 # ]
1374 # },
1375 # {
1376 # "role": "roles/viewer",
1377 # "members": ["user:sean@example.com"]
1378 # }
1379 # ]
1380 # }
1381 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001382 # **YAML Example**
1383 #
1384 # bindings:
1385 # - members:
1386 # - user:mike@example.com
1387 # - group:admins@example.com
1388 # - domain:google.com
1389 # - serviceAccount:my-other-app@appspot.gserviceaccount.com
1390 # role: roles/owner
1391 # - members:
1392 # - user:sean@example.com
1393 # role: roles/viewer
1394 #
1395 #
Jon Wayne Parrott692617a2017-01-06 09:58:29 -08001396 # For a description of IAM and its features, see the
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001397 # [IAM developer's guide](https://cloud.google.com/iam/docs).
Jon Wayne Parrott692617a2017-01-06 09:58:29 -08001398 "bindings": [ # Associates a list of `members` to a `role`.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -08001399 # `bindings` with no members will result in an error.
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -08001400 { # Associates `members` with a `role`.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -08001401 "role": "A String", # Role that is assigned to `members`.
1402 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -08001403 "members": [ # Specifies the identities requesting access for a Cloud Platform resource.
1404 # `members` can have the following values:
1405 #
1406 # * `allUsers`: A special identifier that represents anyone who is
1407 # on the internet; with or without a Google account.
1408 #
1409 # * `allAuthenticatedUsers`: A special identifier that represents anyone
1410 # who is authenticated with a Google account or a service account.
1411 #
1412 # * `user:{emailid}`: An email address that represents a specific Google
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001413 # account. For example, `alice@gmail.com` .
Jon Wayne Parrott692617a2017-01-06 09:58:29 -08001414 #
1415 #
1416 # * `serviceAccount:{emailid}`: An email address that represents a service
1417 # account. For example, `my-other-app@appspot.gserviceaccount.com`.
1418 #
1419 # * `group:{emailid}`: An email address that represents a Google group.
1420 # For example, `admins@example.com`.
1421 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001422 #
1423 # * `domain:{domain}`: The G Suite domain (primary) that represents all the
Jon Wayne Parrott692617a2017-01-06 09:58:29 -08001424 # users of that domain. For example, `google.com` or `example.com`.
1425 #
Takashi Matsuo06694102015-09-11 13:55:40 -07001426 "A String",
1427 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001428 "condition": { # Represents an expression text. Example: # The condition that is associated with this binding.
1429 # NOTE: An unsatisfied condition will not allow user access via current
1430 # binding. Different bindings, including their conditions, are examined
1431 # independently.
1432 #
1433 # title: "User account presence"
1434 # description: "Determines whether the request has a user account"
1435 # expression: "size(request.user) > 0"
1436 "location": "A String", # An optional string indicating the location of the expression for error
1437 # reporting, e.g. a file name and a position in the file.
1438 "expression": "A String", # Textual representation of an expression in
1439 # Common Expression Language syntax.
1440 #
1441 # The application context of the containing message determines which
1442 # well-known feature set of CEL is supported.
1443 "description": "A String", # An optional description of the expression. This is a longer text which
1444 # describes the expression, e.g. when hovered over it in a UI.
1445 "title": "A String", # An optional title for the expression, i.e. a short string describing
1446 # its purpose. This can be used e.g. in UIs which allow to enter the
1447 # expression.
1448 },
Takashi Matsuo06694102015-09-11 13:55:40 -07001449 },
1450 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001451 "version": 42, # Deprecated.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -08001452 "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
1453 # prevent simultaneous updates of a policy from overwriting each other.
1454 # It is strongly suggested that systems make use of the `etag` in the
1455 # read-modify-write cycle to perform policy updates in order to avoid race
1456 # conditions: An `etag` is returned in the response to `getIamPolicy`, and
1457 # systems are expected to put that etag in the request to `setIamPolicy` to
1458 # ensure that their change will be applied to the same version of the policy.
1459 #
1460 # If no `etag` is provided in the call to `setIamPolicy`, then the existing
1461 # policy is overwritten blindly.
Takashi Matsuo06694102015-09-11 13:55:40 -07001462 },
1463 }
1464
1465 x__xgafv: string, V1 error format.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -08001466 Allowed values
1467 1 - v1 error format
1468 2 - v2 error format
Takashi Matsuo06694102015-09-11 13:55:40 -07001469
1470Returns:
1471 An object of the form:
1472
Jon Wayne Parrott692617a2017-01-06 09:58:29 -08001473 { # Defines an Identity and Access Management (IAM) policy. It is used to
1474 # specify access control policies for Cloud Platform resources.
1475 #
1476 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001477 # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
Jon Wayne Parrott692617a2017-01-06 09:58:29 -08001478 # `members` to a `role`, where the members can be user accounts, Google groups,
1479 # Google domains, and service accounts. A `role` is a named list of permissions
1480 # defined by IAM.
1481 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001482 # **JSON Example**
Jon Wayne Parrott692617a2017-01-06 09:58:29 -08001483 #
1484 # {
1485 # "bindings": [
1486 # {
1487 # "role": "roles/owner",
1488 # "members": [
1489 # "user:mike@example.com",
1490 # "group:admins@example.com",
1491 # "domain:google.com",
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001492 # "serviceAccount:my-other-app@appspot.gserviceaccount.com"
Jon Wayne Parrott692617a2017-01-06 09:58:29 -08001493 # ]
1494 # },
1495 # {
1496 # "role": "roles/viewer",
1497 # "members": ["user:sean@example.com"]
1498 # }
1499 # ]
1500 # }
1501 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001502 # **YAML Example**
1503 #
1504 # bindings:
1505 # - members:
1506 # - user:mike@example.com
1507 # - group:admins@example.com
1508 # - domain:google.com
1509 # - serviceAccount:my-other-app@appspot.gserviceaccount.com
1510 # role: roles/owner
1511 # - members:
1512 # - user:sean@example.com
1513 # role: roles/viewer
1514 #
1515 #
Jon Wayne Parrott692617a2017-01-06 09:58:29 -08001516 # For a description of IAM and its features, see the
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001517 # [IAM developer's guide](https://cloud.google.com/iam/docs).
Jon Wayne Parrott692617a2017-01-06 09:58:29 -08001518 "bindings": [ # Associates a list of `members` to a `role`.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -08001519 # `bindings` with no members will result in an error.
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -08001520 { # Associates `members` with a `role`.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -08001521 "role": "A String", # Role that is assigned to `members`.
1522 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -08001523 "members": [ # Specifies the identities requesting access for a Cloud Platform resource.
1524 # `members` can have the following values:
1525 #
1526 # * `allUsers`: A special identifier that represents anyone who is
1527 # on the internet; with or without a Google account.
1528 #
1529 # * `allAuthenticatedUsers`: A special identifier that represents anyone
1530 # who is authenticated with a Google account or a service account.
1531 #
1532 # * `user:{emailid}`: An email address that represents a specific Google
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001533 # account. For example, `alice@gmail.com` .
Jon Wayne Parrott692617a2017-01-06 09:58:29 -08001534 #
1535 #
1536 # * `serviceAccount:{emailid}`: An email address that represents a service
1537 # account. For example, `my-other-app@appspot.gserviceaccount.com`.
1538 #
1539 # * `group:{emailid}`: An email address that represents a Google group.
1540 # For example, `admins@example.com`.
1541 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001542 #
1543 # * `domain:{domain}`: The G Suite domain (primary) that represents all the
Jon Wayne Parrott692617a2017-01-06 09:58:29 -08001544 # users of that domain. For example, `google.com` or `example.com`.
1545 #
Takashi Matsuo06694102015-09-11 13:55:40 -07001546 "A String",
1547 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001548 "condition": { # Represents an expression text. Example: # The condition that is associated with this binding.
1549 # NOTE: An unsatisfied condition will not allow user access via current
1550 # binding. Different bindings, including their conditions, are examined
1551 # independently.
1552 #
1553 # title: "User account presence"
1554 # description: "Determines whether the request has a user account"
1555 # expression: "size(request.user) > 0"
1556 "location": "A String", # An optional string indicating the location of the expression for error
1557 # reporting, e.g. a file name and a position in the file.
1558 "expression": "A String", # Textual representation of an expression in
1559 # Common Expression Language syntax.
1560 #
1561 # The application context of the containing message determines which
1562 # well-known feature set of CEL is supported.
1563 "description": "A String", # An optional description of the expression. This is a longer text which
1564 # describes the expression, e.g. when hovered over it in a UI.
1565 "title": "A String", # An optional title for the expression, i.e. a short string describing
1566 # its purpose. This can be used e.g. in UIs which allow to enter the
1567 # expression.
1568 },
Takashi Matsuo06694102015-09-11 13:55:40 -07001569 },
1570 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001571 "version": 42, # Deprecated.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -08001572 "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
1573 # prevent simultaneous updates of a policy from overwriting each other.
1574 # It is strongly suggested that systems make use of the `etag` in the
1575 # read-modify-write cycle to perform policy updates in order to avoid race
1576 # conditions: An `etag` is returned in the response to `getIamPolicy`, and
1577 # systems are expected to put that etag in the request to `setIamPolicy` to
1578 # ensure that their change will be applied to the same version of the policy.
1579 #
1580 # If no `etag` is provided in the call to `setIamPolicy`, then the existing
1581 # policy is overwritten blindly.
Takashi Matsuo06694102015-09-11 13:55:40 -07001582 }</pre>
1583</div>
1584
1585<div class="method">
Thomas Coffee2f245372017-03-27 10:39:26 -07001586 <code class="details" id="testIamPermissions">testIamPermissions(resource, body, x__xgafv=None)</code>
Takashi Matsuo06694102015-09-11 13:55:40 -07001587 <pre>Returns permissions that a caller has on the specified resource.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -08001588If the resource does not exist, this will return an empty set of
1589permissions, not a NOT_FOUND error.
Takashi Matsuo06694102015-09-11 13:55:40 -07001590
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001591Note: This operation is designed to be used for building permission-aware
1592UIs and command-line tools, not for authorization checking. This operation
1593may "fail open" without warning.
1594
Takashi Matsuo06694102015-09-11 13:55:40 -07001595Args:
Jon Wayne Parrott692617a2017-01-06 09:58:29 -08001596 resource: string, REQUIRED: The resource for which the policy detail is being requested.
Sai Cheemalapatie833b792017-03-24 15:06:46 -07001597See the operation documentation for the appropriate value for this field. (required)
Takashi Matsuo06694102015-09-11 13:55:40 -07001598 body: object, The request body. (required)
1599 The object takes the form of:
1600
1601{ # Request message for `TestIamPermissions` method.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -08001602 "permissions": [ # The set of permissions to check for the `resource`. Permissions with
1603 # wildcards (such as '*' or 'storage.*') are not allowed. For more
1604 # information see
1605 # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
Takashi Matsuo06694102015-09-11 13:55:40 -07001606 "A String",
1607 ],
1608 }
1609
1610 x__xgafv: string, V1 error format.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -08001611 Allowed values
1612 1 - v1 error format
1613 2 - v2 error format
Takashi Matsuo06694102015-09-11 13:55:40 -07001614
1615Returns:
1616 An object of the form:
1617
1618 { # Response message for `TestIamPermissions` method.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -08001619 "permissions": [ # A subset of `TestPermissionsRequest.permissions` that the caller is
1620 # allowed.
Takashi Matsuo06694102015-09-11 13:55:40 -07001621 "A String",
1622 ],
1623 }</pre>
1624</div>
1625
1626</body></html>