• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<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
75<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>
76<h2>Instance Methods</h2>
77<p class="toc_element">
78  <code><a href="#acknowledge">acknowledge(subscription, body, x__xgafv=None)</a></code></p>
79<p class="firstline">Acknowledges the messages associated with the `ack_ids` in the</p>
80<p class="toc_element">
81  <code><a href="#create">create(name, body, x__xgafv=None)</a></code></p>
82<p class="firstline">Creates a subscription to a given topic. See the</p>
83<p class="toc_element">
84  <code><a href="#delete">delete(subscription, x__xgafv=None)</a></code></p>
85<p class="firstline">Deletes an existing subscription. All messages retained in the subscription</p>
86<p class="toc_element">
87  <code><a href="#get">get(subscription, x__xgafv=None)</a></code></p>
88<p class="firstline">Gets the configuration details of a subscription.</p>
89<p class="toc_element">
90  <code><a href="#getIamPolicy">getIamPolicy(resource, x__xgafv=None)</a></code></p>
91<p class="firstline">Gets the access control policy for a resource.</p>
92<p class="toc_element">
93  <code><a href="#list">list(project, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
94<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">
99  <code><a href="#modifyAckDeadline">modifyAckDeadline(subscription, body, x__xgafv=None)</a></code></p>
100<p class="firstline">Modifies the ack deadline for a specific message. This method is useful</p>
101<p class="toc_element">
102  <code><a href="#modifyPushConfig">modifyPushConfig(subscription, body, x__xgafv=None)</a></code></p>
103<p class="firstline">Modifies the `PushConfig` for a specified subscription.</p>
104<p class="toc_element">
105  <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">
108  <code><a href="#pull">pull(subscription, body, x__xgafv=None)</a></code></p>
109<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>
113<p class="toc_element">
114  <code><a href="#setIamPolicy">setIamPolicy(resource, body, x__xgafv=None)</a></code></p>
115<p class="firstline">Sets the access control policy on the specified resource. Replaces any</p>
116<p class="toc_element">
117  <code><a href="#testIamPermissions">testIamPermissions(resource, body, x__xgafv=None)</a></code></p>
118<p class="firstline">Returns permissions that a caller has on the specified resource.</p>
119<h3>Method Details</h3>
120<div class="method">
121    <code class="details" id="acknowledge">acknowledge(subscription, body, x__xgafv=None)</code>
122  <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.
129
130Args:
131  subscription: string, The subscription whose message is being acknowledged.
132Format is `projects/{project}/subscriptions/{sub}`. (required)
133  body: object, The request body. (required)
134    The object takes the form of:
135
136{ # Request for the Acknowledge method.
137    "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.
139      "A String",
140    ],
141  }
142
143  x__xgafv: string, V1 error format.
144    Allowed values
145      1 - v1 error format
146      2 - v2 error format
147
148Returns:
149  An object of the form:
150
151    { # 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 `{}`.
160  }</pre>
161</div>
162
163<div class="method">
164    <code class="details" id="create">create(name, body, x__xgafv=None)</code>
165  <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>.
168If 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
174[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.
178
179Args:
180  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)
186  body: object, The request body. (required)
187    The object takes the form of:
188
189{ # A subscription resource.
190  "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).
201      #
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
205      # non-streaming pull or send the `ack_id` in a
206      # `StreamingModifyAckDeadlineRequest` if using streaming pull.
207      # 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.
216  "labels": { # See <a href="https://cloud.google.com/pubsub/docs/labels"> Creating and
217      # managing labels</a>.
218    "a_key": "A String",
219  },
220  "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    },
246    "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    },
262    "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  },
265  "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  },
296}
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.
307    "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).
318        #
319        # 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
322        # non-streaming pull or send the `ack_id` in a
323        # `StreamingModifyAckDeadlineRequest` if using streaming pull.
324        # 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.
327        #
328        # For push delivery, this value is also used to set the request timeout for
329        # the call to the push endpoint.
330        #
331        # If the subscriber never acknowledges the message, the Pub/Sub
332        # system will eventually redeliver the message.
333    "labels": { # See <a href="https://cloud.google.com/pubsub/docs/labels"> Creating and
334        # managing labels</a>.
335      "a_key": "A String",
336    },
337    "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
346          # use to change the format of the pushed message. This attribute
347          # indicates the version of the data expected by the endpoint. This
348          # 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.
350          #
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.
361        "a_key": "A String",
362      },
363      "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      },
379      "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".
381    },
382    "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    },
413  }</pre>
414</div>
415
416<div class="method">
417    <code class="details" id="delete">delete(subscription, x__xgafv=None)</code>
418  <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.
423
424Args:
425  subscription: string, The subscription to delete.
426Format is `projects/{project}/subscriptions/{sub}`. (required)
427  x__xgafv: string, V1 error format.
428    Allowed values
429      1 - v1 error format
430      2 - v2 error format
431
432Returns:
433  An object of the form:
434
435    { # 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 `{}`.
444  }</pre>
445</div>
446
447<div class="method">
448    <code class="details" id="get">get(subscription, x__xgafv=None)</code>
449  <pre>Gets the configuration details of a subscription.
450
451Args:
452  subscription: string, The name of the subscription to get.
453Format is `projects/{project}/subscriptions/{sub}`. (required)
454  x__xgafv: string, V1 error format.
455    Allowed values
456      1 - v1 error format
457      2 - v2 error format
458
459Returns:
460  An object of the form:
461
462    { # A subscription resource.
463    "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).
474        #
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
478        # non-streaming pull or send the `ack_id` in a
479        # `StreamingModifyAckDeadlineRequest` if using streaming pull.
480        # 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.
489    "labels": { # See <a href="https://cloud.google.com/pubsub/docs/labels"> Creating and
490        # managing labels</a>.
491      "a_key": "A String",
492    },
493    "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.
497          #
498          # Every endpoint has a set of API supported attributes that can be used to
499          # control different aspects of the message delivery.
500          #
501          # 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.
506          #
507          # 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",
518      },
519      "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      },
535      "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    },
538    "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    },
569  }</pre>
570</div>
571
572<div class="method">
573    <code class="details" id="getIamPolicy">getIamPolicy(resource, x__xgafv=None)</code>
574  <pre>Gets the access control policy for a resource.
575Returns an empty policy if the resource exists and does not have a policy
576set.
577
578Args:
579  resource: string, REQUIRED: The resource for which the policy is being requested.
580See the operation documentation for the appropriate value for this field. (required)
581  x__xgafv: string, V1 error format.
582    Allowed values
583      1 - v1 error format
584      2 - v2 error format
585
586Returns:
587  An object of the form:
588
589    { # Defines an Identity and Access Management (IAM) policy. It is used to
590      # specify access control policies for Cloud Platform resources.
591      #
592      #
593      # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
594      # `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      #
598      # **JSON Example**
599      #
600      #     {
601      #       "bindings": [
602      #         {
603      #           "role": "roles/owner",
604      #           "members": [
605      #             "user:mike@example.com",
606      #             "group:admins@example.com",
607      #             "domain:google.com",
608      #             "serviceAccount:my-other-app@appspot.gserviceaccount.com"
609      #           ]
610      #         },
611      #         {
612      #           "role": "roles/viewer",
613      #           "members": ["user:sean@example.com"]
614      #         }
615      #       ]
616      #     }
617      #
618      # **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      #
632      # For a description of IAM and its features, see the
633      # [IAM developer's guide](https://cloud.google.com/iam/docs).
634    "bindings": [ # Associates a list of `members` to a `role`.
635        # `bindings` with no members will result in an error.
636      { # Associates `members` with a `role`.
637        "role": "A String", # Role that is assigned to `members`.
638            # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
639        "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
649            #    account. For example, `alice@gmail.com` .
650            #
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            #
658            #
659            # * `domain:{domain}`: The G Suite domain (primary) that represents all the
660            #    users of that domain. For example, `google.com` or `example.com`.
661            #
662          "A String",
663        ],
664        "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        },
685      },
686    ],
687    "version": 42, # Deprecated.
688    "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.
698  }</pre>
699</div>
700
701<div class="method">
702    <code class="details" id="list">list(project, pageSize=None, pageToken=None, x__xgafv=None)</code>
703  <pre>Lists matching subscriptions.
704
705Args:
706  project: string, The name of the project in which to list subscriptions.
707Format is `projects/{project-id}`. (required)
708  pageSize: integer, Maximum number of subscriptions to return.
709  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.
712  x__xgafv: string, V1 error format.
713    Allowed values
714      1 - v1 error format
715      2 - v2 error format
716
717Returns:
718  An object of the form:
719
720    { # Response for the `ListSubscriptions` method.
721    "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.
724    "subscriptions": [ # The subscriptions that match the request.
725      { # A subscription resource.
726        "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).
737            #
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
741            # non-streaming pull or send the `ack_id` in a
742            # `StreamingModifyAckDeadlineRequest` if using streaming pull.
743            # 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.
752        "labels": { # See <a href="https://cloud.google.com/pubsub/docs/labels"> Creating and
753            # managing labels</a>.
754          "a_key": "A String",
755        },
756        "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.
760              #
761              # Every endpoint has a set of API supported attributes that can be used to
762              # control different aspects of the message delivery.
763              #
764              # 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.
769              #
770              # 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",
781          },
782          "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          },
798          "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".
800        },
801        "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        },
832      },
833    ],
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">
852    <code class="details" id="modifyAckDeadline">modifyAckDeadline(subscription, body, x__xgafv=None)</code>
853  <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.
858
859Args:
860  subscription: string, The name of the subscription.
861Format is `projects/{project}/subscriptions/{sub}`. (required)
862  body: object, The request body. (required)
863    The object takes the form of:
864
865{ # Request for the ModifyAckDeadline method.
866    "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
869        # 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).
872        # The minimum deadline you can specify is 0 seconds.
873        # The maximum deadline you can specify is 600 seconds (10 minutes).
874    "ackIds": [ # List of acknowledgment IDs.
875      "A String",
876    ],
877  }
878
879  x__xgafv: string, V1 error format.
880    Allowed values
881      1 - v1 error format
882      2 - v2 error format
883
884Returns:
885  An object of the form:
886
887    { # 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 `{}`.
896  }</pre>
897</div>
898
899<div class="method">
900    <code class="details" id="modifyPushConfig">modifyPushConfig(subscription, body, x__xgafv=None)</code>
901  <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`.
907
908Args:
909  subscription: string, The name of the subscription.
910Format is `projects/{project}/subscriptions/{sub}`. (required)
911  body: object, The request body. (required)
912    The object takes the form of:
913
914{ # Request for the ModifyPushConfig method.
915    "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
920        # the subscription if `Pull` or `StreamingPull` is not called.
921      "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
927          # use to change the format of the pushed message. This attribute
928          # indicates the version of the data expected by the endpoint. This
929          # 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.
931          #
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.
942        "a_key": "A String",
943      },
944      "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      },
960      "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".
962    },
963  }
964
965  x__xgafv: string, V1 error format.
966    Allowed values
967      1 - v1 error format
968      2 - v2 error format
969
970Returns:
971  An object of the form:
972
973    { # 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 `{}`.
982  }</pre>
983</div>
984
985<div class="method">
986    <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">
1232    <code class="details" id="pull">pull(subscription, body, x__xgafv=None)</code>
1233  <pre>Pulls messages from the server. The server may return `UNAVAILABLE` if
1234there are too many concurrent pull requests pending for the given
1235subscription.
1236
1237Args:
1238  subscription: string, The subscription from which messages should be pulled.
1239Format is `projects/{project}/subscriptions/{sub}`. (required)
1240  body: object, The request body. (required)
1241    The object takes the form of:
1242
1243{ # Request for the `Pull` method.
1244    "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
1247        # least one message is available, rather than returning no messages.
1248    "maxMessages": 42, # The maximum number of messages returned for this request. The Pub/Sub
1249        # system may return fewer than the number specified.
1250  }
1251
1252  x__xgafv: string, V1 error format.
1253    Allowed values
1254      1 - v1 error format
1255      2 - v2 error format
1256
1257Returns:
1258  An object of the form:
1259
1260    { # Response for the `Pull` method.
1261    "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.
1265      { # A message and its corresponding acknowledgment ID.
1266        "ackId": "A String", # This ID can be used to acknowledge the received message.
1267        "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.
1275          "attributes": { # Optional attributes for this message.
1276            "a_key": "A String",
1277          },
1278          "data": "A String", # The message data field. If this field is empty, the message must contain
1279              # at least one attribute.
1280          "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.
1287        },
1288      },
1289    ],
1290  }</pre>
1291</div>
1292
1293<div class="method">
1294    <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">
1339    <code class="details" id="setIamPolicy">setIamPolicy(resource, body, x__xgafv=None)</code>
1340  <pre>Sets the access control policy on the specified resource. Replaces any
1341existing policy.
1342
1343Args:
1344  resource: string, REQUIRED: The resource for which the policy is being specified.
1345See the operation documentation for the appropriate value for this field. (required)
1346  body: object, The request body. (required)
1347    The object takes the form of:
1348
1349{ # Request message for `SetIamPolicy` method.
1350    "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        #
1357        # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
1358        # `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        #
1362        # **JSON Example**
1363        #
1364        #     {
1365        #       "bindings": [
1366        #         {
1367        #           "role": "roles/owner",
1368        #           "members": [
1369        #             "user:mike@example.com",
1370        #             "group:admins@example.com",
1371        #             "domain:google.com",
1372        #             "serviceAccount:my-other-app@appspot.gserviceaccount.com"
1373        #           ]
1374        #         },
1375        #         {
1376        #           "role": "roles/viewer",
1377        #           "members": ["user:sean@example.com"]
1378        #         }
1379        #       ]
1380        #     }
1381        #
1382        # **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        #
1396        # For a description of IAM and its features, see the
1397        # [IAM developer's guide](https://cloud.google.com/iam/docs).
1398      "bindings": [ # Associates a list of `members` to a `role`.
1399          # `bindings` with no members will result in an error.
1400        { # Associates `members` with a `role`.
1401          "role": "A String", # Role that is assigned to `members`.
1402              # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
1403          "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
1413              #    account. For example, `alice@gmail.com` .
1414              #
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              #
1422              #
1423              # * `domain:{domain}`: The G Suite domain (primary) that represents all the
1424              #    users of that domain. For example, `google.com` or `example.com`.
1425              #
1426            "A String",
1427          ],
1428          "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          },
1449        },
1450      ],
1451      "version": 42, # Deprecated.
1452      "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.
1462    },
1463  }
1464
1465  x__xgafv: string, V1 error format.
1466    Allowed values
1467      1 - v1 error format
1468      2 - v2 error format
1469
1470Returns:
1471  An object of the form:
1472
1473    { # Defines an Identity and Access Management (IAM) policy. It is used to
1474      # specify access control policies for Cloud Platform resources.
1475      #
1476      #
1477      # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
1478      # `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      #
1482      # **JSON Example**
1483      #
1484      #     {
1485      #       "bindings": [
1486      #         {
1487      #           "role": "roles/owner",
1488      #           "members": [
1489      #             "user:mike@example.com",
1490      #             "group:admins@example.com",
1491      #             "domain:google.com",
1492      #             "serviceAccount:my-other-app@appspot.gserviceaccount.com"
1493      #           ]
1494      #         },
1495      #         {
1496      #           "role": "roles/viewer",
1497      #           "members": ["user:sean@example.com"]
1498      #         }
1499      #       ]
1500      #     }
1501      #
1502      # **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      #
1516      # For a description of IAM and its features, see the
1517      # [IAM developer's guide](https://cloud.google.com/iam/docs).
1518    "bindings": [ # Associates a list of `members` to a `role`.
1519        # `bindings` with no members will result in an error.
1520      { # Associates `members` with a `role`.
1521        "role": "A String", # Role that is assigned to `members`.
1522            # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
1523        "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
1533            #    account. For example, `alice@gmail.com` .
1534            #
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            #
1542            #
1543            # * `domain:{domain}`: The G Suite domain (primary) that represents all the
1544            #    users of that domain. For example, `google.com` or `example.com`.
1545            #
1546          "A String",
1547        ],
1548        "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        },
1569      },
1570    ],
1571    "version": 42, # Deprecated.
1572    "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.
1582  }</pre>
1583</div>
1584
1585<div class="method">
1586    <code class="details" id="testIamPermissions">testIamPermissions(resource, body, x__xgafv=None)</code>
1587  <pre>Returns permissions that a caller has on the specified resource.
1588If the resource does not exist, this will return an empty set of
1589permissions, not a NOT_FOUND error.
1590
1591Note: 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
1595Args:
1596  resource: string, REQUIRED: The resource for which the policy detail is being requested.
1597See the operation documentation for the appropriate value for this field. (required)
1598  body: object, The request body. (required)
1599    The object takes the form of:
1600
1601{ # Request message for `TestIamPermissions` method.
1602    "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).
1606      "A String",
1607    ],
1608  }
1609
1610  x__xgafv: string, V1 error format.
1611    Allowed values
1612      1 - v1 error format
1613      2 - v2 error format
1614
1615Returns:
1616  An object of the form:
1617
1618    { # Response message for `TestIamPermissions` method.
1619    "permissions": [ # A subset of `TestPermissionsRequest.permissions` that the caller is
1620        # allowed.
1621      "A String",
1622    ],
1623  }</pre>
1624</div>
1625
1626</body></html>