docs: update generated docs (#981)

diff --git a/docs/dyn/pubsub_v1.projects.subscriptions.html b/docs/dyn/pubsub_v1.projects.subscriptions.html
index 36216c6..f161c02 100644
--- a/docs/dyn/pubsub_v1.projects.subscriptions.html
+++ b/docs/dyn/pubsub_v1.projects.subscriptions.html
@@ -79,18 +79,21 @@
 <p class="firstline">Acknowledges the messages associated with the `ack_ids` in the</p>
 <p class="toc_element">
   <code><a href="#create">create(name, body=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Creates a subscription to a given topic. See the</p>
+<p class="firstline">Creates a subscription to a given topic. See the [resource name rules]</p>
 <p class="toc_element">
   <code><a href="#delete">delete(subscription, x__xgafv=None)</a></code></p>
 <p class="firstline">Deletes an existing subscription. All messages retained in the subscription</p>
 <p class="toc_element">
+  <code><a href="#detach">detach(subscription, x__xgafv=None)</a></code></p>
+<p class="firstline">Detaches a subscription from this topic. All messages retained in the</p>
+<p class="toc_element">
   <code><a href="#get">get(subscription, x__xgafv=None)</a></code></p>
 <p class="firstline">Gets the configuration details of a subscription.</p>
 <p class="toc_element">
   <code><a href="#getIamPolicy">getIamPolicy(resource, options_requestedPolicyVersion=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Gets the access control policy for a resource.</p>
 <p class="toc_element">
-  <code><a href="#list">list(project, pageToken=None, pageSize=None, x__xgafv=None)</a></code></p>
+  <code><a href="#list">list(project, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Lists matching subscriptions.</p>
 <p class="toc_element">
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
@@ -162,19 +165,17 @@
 
 <div class="method">
     <code class="details" id="create">create(name, body=None, x__xgafv=None)</code>
-  <pre>Creates a subscription to a given topic. See the
-&lt;a href=&quot;https://cloud.google.com/pubsub/docs/admin#resource_names&quot;&gt;
-resource name rules&lt;/a&gt;.
+  <pre>Creates a subscription to a given topic. See the [resource name rules]
+(https://cloud.google.com/pubsub/docs/admin#resource_names).
 If the subscription already exists, returns `ALREADY_EXISTS`.
 If the corresponding topic doesn&#x27;t exist, returns `NOT_FOUND`.
 
 If the name is not provided in the request, the server will assign a random
 name for this subscription on the same project as the topic, conforming
-to the
-[resource name
-format](https://cloud.google.com/pubsub/docs/admin#resource_names). The
-generated name is populated in the returned Subscription object. Note that
-for REST API requests, you must specify a name in the request.
+to the [resource name format]
+(https://cloud.google.com/pubsub/docs/admin#resource_names). The generated
+name is populated in the returned Subscription object. Note that for REST
+API requests, you must specify a name in the request.
 
 Args:
   name: string, Required. The name of the subscription. It must have the format
@@ -187,168 +188,97 @@
     The object takes the form of:
 
 { # A subscription resource.
-  &quot;pushConfig&quot;: { # Configuration for a push delivery endpoint. # If push delivery is used with this subscription, this field is
-      # used to configure it. An empty `pushConfig` signifies that the subscriber
-      # will pull and ack messages using API methods.
-    &quot;attributes&quot;: { # Endpoint configuration attributes that can be used to control different
-        # aspects of the message delivery.
-        #
-        # The only currently supported attribute is `x-goog-version`, which you can
-        # use to change the format of the pushed message. This attribute
-        # indicates the version of the data expected by the endpoint. This
-        # controls the shape of the pushed message (i.e., its fields and metadata).
-        #
-        # If not present during the `CreateSubscription` call, it will default to
-        # the version of the Pub/Sub API used to make such call. If not present in a
-        # `ModifyPushConfig` call, its value will not be changed. `GetSubscription`
-        # calls will always return a valid version, even if the subscription was
-        # created without this attribute.
-        #
-        # The only supported values for the `x-goog-version` attribute are:
-        #
-        # * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API.
-        # * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API.
-        #
-        # For example:
-        # &lt;pre&gt;&lt;code&gt;attributes { &quot;x-goog-version&quot;: &quot;v1&quot; } &lt;/code&gt;&lt;/pre&gt;
+    &quot;topic&quot;: &quot;A String&quot;, # Required. The name of the topic from which this subscription is receiving messages.
+        # Format is `projects/{project}/topics/{topic}`.
+        # The value of this field will be `_deleted-topic_` if the topic has been
+        # deleted.
+    &quot;ackDeadlineSeconds&quot;: 42, # The approximate amount of time (on a best-effort basis) Pub/Sub waits for
+        # the subscriber to acknowledge receipt before resending the message. In the
+        # interval after the message is delivered and before it is acknowledged, it
+        # is considered to be &lt;i&gt;outstanding&lt;/i&gt;. During that time period, the
+        # message will not be redelivered (on a best-effort basis).
+        # 
+        # For pull subscriptions, this value is used as the initial value for the ack
+        # deadline. To override this value for a given message, call
+        # `ModifyAckDeadline` with the corresponding `ack_id` if using
+        # non-streaming pull or send the `ack_id` in a
+        # `StreamingModifyAckDeadlineRequest` if using streaming pull.
+        # The minimum custom deadline you can specify is 10 seconds.
+        # The maximum custom deadline you can specify is 600 seconds (10 minutes).
+        # If this parameter is 0, a default value of 10 seconds is used.
+        # 
+        # For push delivery, this value is also used to set the request timeout for
+        # the call to the push endpoint.
+        # 
+        # If the subscriber never acknowledges the message, the Pub/Sub
+        # system will eventually redeliver the message.
+    &quot;labels&quot;: { # See &lt;a href=&quot;https://cloud.google.com/pubsub/docs/labels&quot;&gt; Creating and
+        # managing labels&lt;/a&gt;.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
-    &quot;pushEndpoint&quot;: &quot;A String&quot;, # A URL locating the endpoint to which messages should be pushed.
-        # For example, a Webhook endpoint might use `https://example.com/push`.
-    &quot;oidcToken&quot;: { # Contains information needed for generating an # If specified, Pub/Sub will generate and attach an OIDC JWT token as an
-        # `Authorization` header in the HTTP request for every pushed message.
-        # [OpenID Connect
-        # token](https://developers.google.com/identity/protocols/OpenIDConnect).
-      &quot;audience&quot;: &quot;A String&quot;, # Audience to be used when generating OIDC token. The audience claim
-          # identifies the recipients that the JWT is intended for. The audience
-          # value is a single case-sensitive string. Having multiple values (array)
-          # for the audience field is not supported. More info about the OIDC JWT
-          # token audience here: https://tools.ietf.org/html/rfc7519#section-4.1.3
-          # Note: if not specified, the Push endpoint URL will be used.
-      &quot;serviceAccountEmail&quot;: &quot;A String&quot;, # [Service account
-          # email](https://cloud.google.com/iam/docs/service-accounts)
-          # to be used for generating the OIDC token. The caller (for
-          # CreateSubscription, UpdateSubscription, and ModifyPushConfig RPCs) must
-          # have the iam.serviceAccounts.actAs permission for the service account.
+    &quot;expirationPolicy&quot;: { # A policy that specifies the conditions for resource expiration (i.e., # A policy that specifies the conditions for this subscription&#x27;s expiration.
+        # A subscription is considered active as long as any connected subscriber is
+        # successfully consuming messages from the subscription or is issuing
+        # operations on the subscription. If `expiration_policy` is not set, a
+        # *default policy* with `ttl` of 31 days will be used. The minimum allowed
+        # value for `expiration_policy.ttl` is 1 day.
+        # automatic resource deletion).
+      &quot;ttl&quot;: &quot;A String&quot;, # Specifies the &quot;time-to-live&quot; duration for an associated resource. The
+          # resource expires if it is not active for a period of `ttl`. The definition
+          # of &quot;activity&quot; depends on the type of the associated resource. The minimum
+          # and maximum allowed values for `ttl` depend on the type of the associated
+          # resource, as well. If `ttl` is not set, the associated resource never
+          # expires.
     },
-  },
-  &quot;filter&quot;: &quot;A String&quot;, # An expression written in the Cloud Pub/Sub filter language. If non-empty,
-      # then only `PubsubMessage`s whose `attributes` field matches the filter are
-      # delivered on this subscription. If empty, then no messages are filtered
-      # out.
-      # &lt;b&gt;EXPERIMENTAL:&lt;/b&gt; This feature is part of a closed alpha release. This
-      # API might be changed in backward-incompatible ways and is not recommended
-      # for production use. It is not subject to any SLA or deprecation policy.
-  &quot;ackDeadlineSeconds&quot;: 42, # The approximate amount of time (on a best-effort basis) Pub/Sub waits for
-      # the subscriber to acknowledge receipt before resending the message. In the
-      # interval after the message is delivered and before it is acknowledged, it
-      # is considered to be &lt;i&gt;outstanding&lt;/i&gt;. During that time period, the
-      # message will not be redelivered (on a best-effort basis).
-      # 
-      # For pull subscriptions, this value is used as the initial value for the ack
-      # deadline. To override this value for a given message, call
-      # `ModifyAckDeadline` with the corresponding `ack_id` if using
-      # non-streaming pull or send the `ack_id` in a
-      # `StreamingModifyAckDeadlineRequest` if using streaming pull.
-      # The minimum custom deadline you can specify is 10 seconds.
-      # The maximum custom deadline you can specify is 600 seconds (10 minutes).
-      # If this parameter is 0, a default value of 10 seconds is used.
-      # 
-      # For push delivery, this value is also used to set the request timeout for
-      # the call to the push endpoint.
-      # 
-      # If the subscriber never acknowledges the message, the Pub/Sub
-      # system will eventually redeliver the message.
-  &quot;messageRetentionDuration&quot;: &quot;A String&quot;, # How long to retain unacknowledged messages in the subscription&#x27;s backlog,
-      # from the moment a message is published.
-      # If `retain_acked_messages` is true, then this also configures the retention
-      # of acknowledged messages, and thus configures how far back in time a `Seek`
-      # can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10
-      # minutes.
-  &quot;retainAckedMessages&quot;: True or False, # Indicates whether to retain acknowledged messages. If true, then
-      # messages are not expunged from the subscription&#x27;s backlog, even if they are
-      # acknowledged, until they fall out of the `message_retention_duration`
-      # window. This must be true if you would like to
-      # &lt;a
-      # href=&quot;https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time&quot;&gt;
-      # Seek to a timestamp&lt;/a&gt;.
-  &quot;labels&quot;: { # See &lt;a href=&quot;https://cloud.google.com/pubsub/docs/labels&quot;&gt; Creating and
-      # managing labels&lt;/a&gt;.
-    &quot;a_key&quot;: &quot;A String&quot;,
-  },
-  &quot;deadLetterPolicy&quot;: { # Dead lettering is done on a best effort basis. The same message might be # A policy that specifies the conditions for dead lettering messages in
-      # this subscription. If dead_letter_policy is not set, dead lettering
-      # is disabled.
-      # 
-      # The Cloud Pub/Sub service account associated with this subscriptions&#x27;s
-      # parent project (i.e.,
-      # service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have
-      # permission to Acknowledge() messages on this subscription.
-      # dead lettered multiple times.
-      #
-      # If validation on any of the fields fails at subscription creation/updation,
-      # the create/update subscription request will fail.
-    &quot;deadLetterTopic&quot;: &quot;A String&quot;, # The name of the topic to which dead letter messages should be published.
-        # Format is `projects/{project}/topics/{topic}`.The Cloud Pub/Sub service
-        # account associated with the enclosing subscription&#x27;s parent project (i.e.,
-        # service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have
-        # permission to Publish() to this topic.
+    &quot;retryPolicy&quot;: { # A policy that specifies how Cloud Pub/Sub retries message delivery. # A policy that specifies how Pub/Sub retries message delivery for this
+        # subscription.
+        # 
+        # If not set, the default retry policy is applied. This generally implies
+        # that messages will be retried as soon as possible for healthy subscribers.
+        # RetryPolicy will be triggered on NACKs or acknowledgement deadline
+        # exceeded events for a given message.
         #
-        # The operation will fail if the topic does not exist.
-        # Users should ensure that there is a subscription attached to this topic
-        # since messages published to a topic with no subscriptions are lost.
-    &quot;maxDeliveryAttempts&quot;: 42, # The maximum number of delivery attempts for any message. The value must be
-        # between 5 and 100.
+        # Retry delay will be exponential based on provided minimum and maximum
+        # backoffs. https://en.wikipedia.org/wiki/Exponential_backoff.
         #
-        # The number of delivery attempts is defined as 1 + (the sum of number of
-        # NACKs and number of times the acknowledgement deadline has been exceeded
-        # for the message).
+        # RetryPolicy will be triggered on NACKs or acknowledgement deadline exceeded
+        # events for a given message.
         #
-        # A NACK is any call to ModifyAckDeadline with a 0 deadline. Note that
-        # client libraries may automatically extend ack_deadlines.
-        #
-        # This field will be honored on a best effort basis.
-        #
-        # If this parameter is 0, a default value of 5 is used.
-  },
-  &quot;expirationPolicy&quot;: { # A policy that specifies the conditions for resource expiration (i.e., # A policy that specifies the conditions for this subscription&#x27;s expiration.
-      # A subscription is considered active as long as any connected subscriber is
-      # successfully consuming messages from the subscription or is issuing
-      # operations on the subscription. If `expiration_policy` is not set, a
-      # *default policy* with `ttl` of 31 days will be used. The minimum allowed
-      # value for `expiration_policy.ttl` is 1 day.
-      # automatic resource deletion).
-    &quot;ttl&quot;: &quot;A String&quot;, # Specifies the &quot;time-to-live&quot; duration for an associated resource. The
-        # resource expires if it is not active for a period of `ttl`. The definition
-        # of &quot;activity&quot; depends on the type of the associated resource. The minimum
-        # and maximum allowed values for `ttl` depend on the type of the associated
-        # resource, as well. If `ttl` is not set, the associated resource never
-        # expires.
-  },
-  &quot;name&quot;: &quot;A String&quot;, # Required. The name of the subscription. It must have the format
-      # `&quot;projects/{project}/subscriptions/{subscription}&quot;`. `{subscription}` must
-      # start with a letter, and contain only letters (`[A-Za-z]`), numbers
-      # (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),
-      # plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters
-      # in length, and it must not start with `&quot;goog&quot;`.
-  &quot;topic&quot;: &quot;A String&quot;, # Required. The name of the topic from which this subscription is receiving messages.
-      # Format is `projects/{project}/topics/{topic}`.
-      # The value of this field will be `_deleted-topic_` if the topic has been
-      # deleted.
-}
-
-  x__xgafv: string, V1 error format.
-    Allowed values
-      1 - v1 error format
-      2 - v2 error format
-
-Returns:
-  An object of the form:
-
-    { # A subscription resource.
+        # Retry Policy is implemented on a best effort basis. At times, the delay
+        # between consecutive deliveries may not match the configuration. That is,
+        # delay can be more or less than configured backoff.
+      &quot;minimumBackoff&quot;: &quot;A String&quot;, # The minimum delay between consecutive deliveries of a given message.
+          # Value should be between 0 and 600 seconds. Defaults to 10 seconds.
+      &quot;maximumBackoff&quot;: &quot;A String&quot;, # The maximum delay between consecutive deliveries of a given message.
+          # Value should be between 0 and 600 seconds. Defaults to 600 seconds.
+    },
+    &quot;messageRetentionDuration&quot;: &quot;A String&quot;, # How long to retain unacknowledged messages in the subscription&#x27;s backlog,
+        # from the moment a message is published.
+        # If `retain_acked_messages` is true, then this also configures the retention
+        # of acknowledged messages, and thus configures how far back in time a `Seek`
+        # can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10
+        # minutes.
     &quot;pushConfig&quot;: { # Configuration for a push delivery endpoint. # If push delivery is used with this subscription, this field is
         # used to configure it. An empty `pushConfig` signifies that the subscriber
         # will pull and ack messages using API methods.
+      &quot;oidcToken&quot;: { # Contains information needed for generating an # If specified, Pub/Sub will generate and attach an OIDC JWT token as an
+          # `Authorization` header in the HTTP request for every pushed message.
+          # [OpenID Connect
+          # token](https://developers.google.com/identity/protocols/OpenIDConnect).
+        &quot;audience&quot;: &quot;A String&quot;, # Audience to be used when generating OIDC token. The audience claim
+            # identifies the recipients that the JWT is intended for. The audience
+            # value is a single case-sensitive string. Having multiple values (array)
+            # for the audience field is not supported. More info about the OIDC JWT
+            # token audience here: https://tools.ietf.org/html/rfc7519#section-4.1.3
+            # Note: if not specified, the Push endpoint URL will be used.
+        &quot;serviceAccountEmail&quot;: &quot;A String&quot;, # [Service account
+            # email](https://cloud.google.com/iam/docs/service-accounts)
+            # to be used for generating the OIDC token. The caller (for
+            # CreateSubscription, UpdateSubscription, and ModifyPushConfig RPCs) must
+            # have the iam.serviceAccounts.actAs permission for the service account.
+      },
+      &quot;pushEndpoint&quot;: &quot;A String&quot;, # A URL locating the endpoint to which messages should be pushed.
+          # For example, a Webhook endpoint might use `https://example.com/push`.
       &quot;attributes&quot;: { # Endpoint configuration attributes that can be used to control different
           # aspects of the message delivery.
           #
@@ -372,73 +302,11 @@
           # &lt;pre&gt;&lt;code&gt;attributes { &quot;x-goog-version&quot;: &quot;v1&quot; } &lt;/code&gt;&lt;/pre&gt;
         &quot;a_key&quot;: &quot;A String&quot;,
       },
-      &quot;pushEndpoint&quot;: &quot;A String&quot;, # A URL locating the endpoint to which messages should be pushed.
-          # For example, a Webhook endpoint might use `https://example.com/push`.
-      &quot;oidcToken&quot;: { # Contains information needed for generating an # If specified, Pub/Sub will generate and attach an OIDC JWT token as an
-          # `Authorization` header in the HTTP request for every pushed message.
-          # [OpenID Connect
-          # token](https://developers.google.com/identity/protocols/OpenIDConnect).
-        &quot;audience&quot;: &quot;A String&quot;, # Audience to be used when generating OIDC token. The audience claim
-            # identifies the recipients that the JWT is intended for. The audience
-            # value is a single case-sensitive string. Having multiple values (array)
-            # for the audience field is not supported. More info about the OIDC JWT
-            # token audience here: https://tools.ietf.org/html/rfc7519#section-4.1.3
-            # Note: if not specified, the Push endpoint URL will be used.
-        &quot;serviceAccountEmail&quot;: &quot;A String&quot;, # [Service account
-            # email](https://cloud.google.com/iam/docs/service-accounts)
-            # to be used for generating the OIDC token. The caller (for
-            # CreateSubscription, UpdateSubscription, and ModifyPushConfig RPCs) must
-            # have the iam.serviceAccounts.actAs permission for the service account.
-      },
-    },
-    &quot;filter&quot;: &quot;A String&quot;, # An expression written in the Cloud Pub/Sub filter language. If non-empty,
-        # then only `PubsubMessage`s whose `attributes` field matches the filter are
-        # delivered on this subscription. If empty, then no messages are filtered
-        # out.
-        # &lt;b&gt;EXPERIMENTAL:&lt;/b&gt; This feature is part of a closed alpha release. This
-        # API might be changed in backward-incompatible ways and is not recommended
-        # for production use. It is not subject to any SLA or deprecation policy.
-    &quot;ackDeadlineSeconds&quot;: 42, # The approximate amount of time (on a best-effort basis) Pub/Sub waits for
-        # the subscriber to acknowledge receipt before resending the message. In the
-        # interval after the message is delivered and before it is acknowledged, it
-        # is considered to be &lt;i&gt;outstanding&lt;/i&gt;. During that time period, the
-        # message will not be redelivered (on a best-effort basis).
-        #
-        # For pull subscriptions, this value is used as the initial value for the ack
-        # deadline. To override this value for a given message, call
-        # `ModifyAckDeadline` with the corresponding `ack_id` if using
-        # non-streaming pull or send the `ack_id` in a
-        # `StreamingModifyAckDeadlineRequest` if using streaming pull.
-        # The minimum custom deadline you can specify is 10 seconds.
-        # The maximum custom deadline you can specify is 600 seconds (10 minutes).
-        # If this parameter is 0, a default value of 10 seconds is used.
-        #
-        # For push delivery, this value is also used to set the request timeout for
-        # the call to the push endpoint.
-        #
-        # If the subscriber never acknowledges the message, the Pub/Sub
-        # system will eventually redeliver the message.
-    &quot;messageRetentionDuration&quot;: &quot;A String&quot;, # How long to retain unacknowledged messages in the subscription&#x27;s backlog,
-        # from the moment a message is published.
-        # If `retain_acked_messages` is true, then this also configures the retention
-        # of acknowledged messages, and thus configures how far back in time a `Seek`
-        # can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10
-        # minutes.
-    &quot;retainAckedMessages&quot;: True or False, # Indicates whether to retain acknowledged messages. If true, then
-        # messages are not expunged from the subscription&#x27;s backlog, even if they are
-        # acknowledged, until they fall out of the `message_retention_duration`
-        # window. This must be true if you would like to
-        # &lt;a
-        # href=&quot;https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time&quot;&gt;
-        # Seek to a timestamp&lt;/a&gt;.
-    &quot;labels&quot;: { # See &lt;a href=&quot;https://cloud.google.com/pubsub/docs/labels&quot;&gt; Creating and
-        # managing labels&lt;/a&gt;.
-      &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;deadLetterPolicy&quot;: { # Dead lettering is done on a best effort basis. The same message might be # A policy that specifies the conditions for dead lettering messages in
         # this subscription. If dead_letter_policy is not set, dead lettering
         # is disabled.
-        #
+        # 
         # The Cloud Pub/Sub service account associated with this subscriptions&#x27;s
         # parent project (i.e.,
         # service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have
@@ -470,31 +338,200 @@
           #
           # If this parameter is 0, a default value of 5 is used.
     },
-    &quot;expirationPolicy&quot;: { # A policy that specifies the conditions for resource expiration (i.e., # A policy that specifies the conditions for this subscription&#x27;s expiration.
-        # A subscription is considered active as long as any connected subscriber is
-        # successfully consuming messages from the subscription or is issuing
-        # operations on the subscription. If `expiration_policy` is not set, a
-        # *default policy* with `ttl` of 31 days will be used. The minimum allowed
-        # value for `expiration_policy.ttl` is 1 day.
-        # automatic resource deletion).
-      &quot;ttl&quot;: &quot;A String&quot;, # Specifies the &quot;time-to-live&quot; duration for an associated resource. The
-          # resource expires if it is not active for a period of `ttl`. The definition
-          # of &quot;activity&quot; depends on the type of the associated resource. The minimum
-          # and maximum allowed values for `ttl` depend on the type of the associated
-          # resource, as well. If `ttl` is not set, the associated resource never
-          # expires.
-    },
+    &quot;filter&quot;: &quot;A String&quot;, # An expression written in the Pub/Sub [filter
+        # language](https://cloud.google.com/pubsub/docs/filtering). If non-empty,
+        # then only `PubsubMessage`s whose `attributes` field matches the filter are
+        # delivered on this subscription. If empty, then no messages are filtered
+        # out.
+    &quot;retainAckedMessages&quot;: True or False, # Indicates whether to retain acknowledged messages. If true, then
+        # messages are not expunged from the subscription&#x27;s backlog, even if they are
+        # acknowledged, until they fall out of the `message_retention_duration`
+        # window. This must be true if you would like to [Seek to a timestamp]
+        # (https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time).
     &quot;name&quot;: &quot;A String&quot;, # Required. The name of the subscription. It must have the format
         # `&quot;projects/{project}/subscriptions/{subscription}&quot;`. `{subscription}` must
         # start with a letter, and contain only letters (`[A-Za-z]`), numbers
         # (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),
         # plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters
         # in length, and it must not start with `&quot;goog&quot;`.
-    &quot;topic&quot;: &quot;A String&quot;, # Required. The name of the topic from which this subscription is receiving messages.
-        # Format is `projects/{project}/topics/{topic}`.
-        # The value of this field will be `_deleted-topic_` if the topic has been
-        # deleted.
-  }</pre>
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A subscription resource.
+      &quot;topic&quot;: &quot;A String&quot;, # Required. The name of the topic from which this subscription is receiving messages.
+          # Format is `projects/{project}/topics/{topic}`.
+          # The value of this field will be `_deleted-topic_` if the topic has been
+          # deleted.
+      &quot;ackDeadlineSeconds&quot;: 42, # The approximate amount of time (on a best-effort basis) Pub/Sub waits for
+          # the subscriber to acknowledge receipt before resending the message. In the
+          # interval after the message is delivered and before it is acknowledged, it
+          # is considered to be &lt;i&gt;outstanding&lt;/i&gt;. During that time period, the
+          # message will not be redelivered (on a best-effort basis).
+          #
+          # For pull subscriptions, this value is used as the initial value for the ack
+          # deadline. To override this value for a given message, call
+          # `ModifyAckDeadline` with the corresponding `ack_id` if using
+          # non-streaming pull or send the `ack_id` in a
+          # `StreamingModifyAckDeadlineRequest` if using streaming pull.
+          # The minimum custom deadline you can specify is 10 seconds.
+          # The maximum custom deadline you can specify is 600 seconds (10 minutes).
+          # If this parameter is 0, a default value of 10 seconds is used.
+          #
+          # For push delivery, this value is also used to set the request timeout for
+          # the call to the push endpoint.
+          #
+          # If the subscriber never acknowledges the message, the Pub/Sub
+          # system will eventually redeliver the message.
+      &quot;labels&quot;: { # See &lt;a href=&quot;https://cloud.google.com/pubsub/docs/labels&quot;&gt; Creating and
+          # managing labels&lt;/a&gt;.
+        &quot;a_key&quot;: &quot;A String&quot;,
+      },
+      &quot;expirationPolicy&quot;: { # A policy that specifies the conditions for resource expiration (i.e., # A policy that specifies the conditions for this subscription&#x27;s expiration.
+          # A subscription is considered active as long as any connected subscriber is
+          # successfully consuming messages from the subscription or is issuing
+          # operations on the subscription. If `expiration_policy` is not set, a
+          # *default policy* with `ttl` of 31 days will be used. The minimum allowed
+          # value for `expiration_policy.ttl` is 1 day.
+          # automatic resource deletion).
+        &quot;ttl&quot;: &quot;A String&quot;, # Specifies the &quot;time-to-live&quot; duration for an associated resource. The
+            # resource expires if it is not active for a period of `ttl`. The definition
+            # of &quot;activity&quot; depends on the type of the associated resource. The minimum
+            # and maximum allowed values for `ttl` depend on the type of the associated
+            # resource, as well. If `ttl` is not set, the associated resource never
+            # expires.
+      },
+      &quot;retryPolicy&quot;: { # A policy that specifies how Cloud Pub/Sub retries message delivery. # A policy that specifies how Pub/Sub retries message delivery for this
+          # subscription.
+          #
+          # If not set, the default retry policy is applied. This generally implies
+          # that messages will be retried as soon as possible for healthy subscribers.
+          # RetryPolicy will be triggered on NACKs or acknowledgement deadline
+          # exceeded events for a given message.
+          #
+          # Retry delay will be exponential based on provided minimum and maximum
+          # backoffs. https://en.wikipedia.org/wiki/Exponential_backoff.
+          #
+          # RetryPolicy will be triggered on NACKs or acknowledgement deadline exceeded
+          # events for a given message.
+          #
+          # Retry Policy is implemented on a best effort basis. At times, the delay
+          # between consecutive deliveries may not match the configuration. That is,
+          # delay can be more or less than configured backoff.
+        &quot;minimumBackoff&quot;: &quot;A String&quot;, # The minimum delay between consecutive deliveries of a given message.
+            # Value should be between 0 and 600 seconds. Defaults to 10 seconds.
+        &quot;maximumBackoff&quot;: &quot;A String&quot;, # The maximum delay between consecutive deliveries of a given message.
+            # Value should be between 0 and 600 seconds. Defaults to 600 seconds.
+      },
+      &quot;messageRetentionDuration&quot;: &quot;A String&quot;, # How long to retain unacknowledged messages in the subscription&#x27;s backlog,
+          # from the moment a message is published.
+          # If `retain_acked_messages` is true, then this also configures the retention
+          # of acknowledged messages, and thus configures how far back in time a `Seek`
+          # can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10
+          # minutes.
+      &quot;pushConfig&quot;: { # Configuration for a push delivery endpoint. # If push delivery is used with this subscription, this field is
+          # used to configure it. An empty `pushConfig` signifies that the subscriber
+          # will pull and ack messages using API methods.
+        &quot;oidcToken&quot;: { # Contains information needed for generating an # If specified, Pub/Sub will generate and attach an OIDC JWT token as an
+            # `Authorization` header in the HTTP request for every pushed message.
+            # [OpenID Connect
+            # token](https://developers.google.com/identity/protocols/OpenIDConnect).
+          &quot;audience&quot;: &quot;A String&quot;, # Audience to be used when generating OIDC token. The audience claim
+              # identifies the recipients that the JWT is intended for. The audience
+              # value is a single case-sensitive string. Having multiple values (array)
+              # for the audience field is not supported. More info about the OIDC JWT
+              # token audience here: https://tools.ietf.org/html/rfc7519#section-4.1.3
+              # Note: if not specified, the Push endpoint URL will be used.
+          &quot;serviceAccountEmail&quot;: &quot;A String&quot;, # [Service account
+              # email](https://cloud.google.com/iam/docs/service-accounts)
+              # to be used for generating the OIDC token. The caller (for
+              # CreateSubscription, UpdateSubscription, and ModifyPushConfig RPCs) must
+              # have the iam.serviceAccounts.actAs permission for the service account.
+        },
+        &quot;pushEndpoint&quot;: &quot;A String&quot;, # A URL locating the endpoint to which messages should be pushed.
+            # For example, a Webhook endpoint might use `https://example.com/push`.
+        &quot;attributes&quot;: { # Endpoint configuration attributes that can be used to control different
+            # aspects of the message delivery.
+            #
+            # The only currently supported attribute is `x-goog-version`, which you can
+            # use to change the format of the pushed message. This attribute
+            # indicates the version of the data expected by the endpoint. This
+            # controls the shape of the pushed message (i.e., its fields and metadata).
+            #
+            # If not present during the `CreateSubscription` call, it will default to
+            # the version of the Pub/Sub API used to make such call. If not present in a
+            # `ModifyPushConfig` call, its value will not be changed. `GetSubscription`
+            # calls will always return a valid version, even if the subscription was
+            # created without this attribute.
+            #
+            # The only supported values for the `x-goog-version` attribute are:
+            #
+            # * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API.
+            # * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API.
+            #
+            # For example:
+            # &lt;pre&gt;&lt;code&gt;attributes { &quot;x-goog-version&quot;: &quot;v1&quot; } &lt;/code&gt;&lt;/pre&gt;
+          &quot;a_key&quot;: &quot;A String&quot;,
+        },
+      },
+      &quot;deadLetterPolicy&quot;: { # Dead lettering is done on a best effort basis. The same message might be # A policy that specifies the conditions for dead lettering messages in
+          # this subscription. If dead_letter_policy is not set, dead lettering
+          # is disabled.
+          #
+          # The Cloud Pub/Sub service account associated with this subscriptions&#x27;s
+          # parent project (i.e.,
+          # service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have
+          # permission to Acknowledge() messages on this subscription.
+          # dead lettered multiple times.
+          #
+          # If validation on any of the fields fails at subscription creation/updation,
+          # the create/update subscription request will fail.
+        &quot;deadLetterTopic&quot;: &quot;A String&quot;, # The name of the topic to which dead letter messages should be published.
+            # Format is `projects/{project}/topics/{topic}`.The Cloud Pub/Sub service
+            # account associated with the enclosing subscription&#x27;s parent project (i.e.,
+            # service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have
+            # permission to Publish() to this topic.
+            #
+            # The operation will fail if the topic does not exist.
+            # Users should ensure that there is a subscription attached to this topic
+            # since messages published to a topic with no subscriptions are lost.
+        &quot;maxDeliveryAttempts&quot;: 42, # The maximum number of delivery attempts for any message. The value must be
+            # between 5 and 100.
+            #
+            # The number of delivery attempts is defined as 1 + (the sum of number of
+            # NACKs and number of times the acknowledgement deadline has been exceeded
+            # for the message).
+            #
+            # A NACK is any call to ModifyAckDeadline with a 0 deadline. Note that
+            # client libraries may automatically extend ack_deadlines.
+            #
+            # This field will be honored on a best effort basis.
+            #
+            # If this parameter is 0, a default value of 5 is used.
+      },
+      &quot;filter&quot;: &quot;A String&quot;, # An expression written in the Pub/Sub [filter
+          # language](https://cloud.google.com/pubsub/docs/filtering). If non-empty,
+          # then only `PubsubMessage`s whose `attributes` field matches the filter are
+          # delivered on this subscription. If empty, then no messages are filtered
+          # out.
+      &quot;retainAckedMessages&quot;: True or False, # Indicates whether to retain acknowledged messages. If true, then
+          # messages are not expunged from the subscription&#x27;s backlog, even if they are
+          # acknowledged, until they fall out of the `message_retention_duration`
+          # window. This must be true if you would like to [Seek to a timestamp]
+          # (https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time).
+      &quot;name&quot;: &quot;A String&quot;, # Required. The name of the subscription. It must have the format
+          # `&quot;projects/{project}/subscriptions/{subscription}&quot;`. `{subscription}` must
+          # start with a letter, and contain only letters (`[A-Za-z]`), numbers
+          # (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),
+          # plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters
+          # in length, and it must not start with `&quot;goog&quot;`.
+    }</pre>
 </div>
 
 <div class="method">
@@ -529,6 +566,29 @@
 </div>
 
 <div class="method">
+    <code class="details" id="detach">detach(subscription, x__xgafv=None)</code>
+  <pre>Detaches a subscription from this topic. All messages retained in the
+subscription are dropped. Subsequent `Pull` and `StreamingPull` requests
+will return FAILED_PRECONDITION. If the subscription is a push
+subscription, pushes to the endpoint will stop.
+
+Args:
+  subscription: string, Required. The subscription to detach.
+Format is `projects/{project}/subscriptions/{subscription}`. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response for the DetachSubscription method.
+      # Reserved for future use.
+  }</pre>
+</div>
+
+<div class="method">
     <code class="details" id="get">get(subscription, x__xgafv=None)</code>
   <pre>Gets the configuration details of a subscription.
 
@@ -544,155 +604,173 @@
   An object of the form:
 
     { # A subscription resource.
-    &quot;pushConfig&quot;: { # Configuration for a push delivery endpoint. # If push delivery is used with this subscription, this field is
-        # used to configure it. An empty `pushConfig` signifies that the subscriber
-        # will pull and ack messages using API methods.
-      &quot;attributes&quot;: { # Endpoint configuration attributes that can be used to control different
-          # aspects of the message delivery.
+      &quot;topic&quot;: &quot;A String&quot;, # Required. The name of the topic from which this subscription is receiving messages.
+          # Format is `projects/{project}/topics/{topic}`.
+          # The value of this field will be `_deleted-topic_` if the topic has been
+          # deleted.
+      &quot;ackDeadlineSeconds&quot;: 42, # The approximate amount of time (on a best-effort basis) Pub/Sub waits for
+          # the subscriber to acknowledge receipt before resending the message. In the
+          # interval after the message is delivered and before it is acknowledged, it
+          # is considered to be &lt;i&gt;outstanding&lt;/i&gt;. During that time period, the
+          # message will not be redelivered (on a best-effort basis).
           #
-          # The only currently supported attribute is `x-goog-version`, which you can
-          # use to change the format of the pushed message. This attribute
-          # indicates the version of the data expected by the endpoint. This
-          # controls the shape of the pushed message (i.e., its fields and metadata).
+          # For pull subscriptions, this value is used as the initial value for the ack
+          # deadline. To override this value for a given message, call
+          # `ModifyAckDeadline` with the corresponding `ack_id` if using
+          # non-streaming pull or send the `ack_id` in a
+          # `StreamingModifyAckDeadlineRequest` if using streaming pull.
+          # The minimum custom deadline you can specify is 10 seconds.
+          # The maximum custom deadline you can specify is 600 seconds (10 minutes).
+          # If this parameter is 0, a default value of 10 seconds is used.
           #
-          # If not present during the `CreateSubscription` call, it will default to
-          # the version of the Pub/Sub API used to make such call. If not present in a
-          # `ModifyPushConfig` call, its value will not be changed. `GetSubscription`
-          # calls will always return a valid version, even if the subscription was
-          # created without this attribute.
+          # For push delivery, this value is also used to set the request timeout for
+          # the call to the push endpoint.
           #
-          # The only supported values for the `x-goog-version` attribute are:
-          #
-          # * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API.
-          # * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API.
-          #
-          # For example:
-          # &lt;pre&gt;&lt;code&gt;attributes { &quot;x-goog-version&quot;: &quot;v1&quot; } &lt;/code&gt;&lt;/pre&gt;
+          # If the subscriber never acknowledges the message, the Pub/Sub
+          # system will eventually redeliver the message.
+      &quot;labels&quot;: { # See &lt;a href=&quot;https://cloud.google.com/pubsub/docs/labels&quot;&gt; Creating and
+          # managing labels&lt;/a&gt;.
         &quot;a_key&quot;: &quot;A String&quot;,
       },
-      &quot;pushEndpoint&quot;: &quot;A String&quot;, # A URL locating the endpoint to which messages should be pushed.
-          # For example, a Webhook endpoint might use `https://example.com/push`.
-      &quot;oidcToken&quot;: { # Contains information needed for generating an # If specified, Pub/Sub will generate and attach an OIDC JWT token as an
-          # `Authorization` header in the HTTP request for every pushed message.
-          # [OpenID Connect
-          # token](https://developers.google.com/identity/protocols/OpenIDConnect).
-        &quot;audience&quot;: &quot;A String&quot;, # Audience to be used when generating OIDC token. The audience claim
-            # identifies the recipients that the JWT is intended for. The audience
-            # value is a single case-sensitive string. Having multiple values (array)
-            # for the audience field is not supported. More info about the OIDC JWT
-            # token audience here: https://tools.ietf.org/html/rfc7519#section-4.1.3
-            # Note: if not specified, the Push endpoint URL will be used.
-        &quot;serviceAccountEmail&quot;: &quot;A String&quot;, # [Service account
-            # email](https://cloud.google.com/iam/docs/service-accounts)
-            # to be used for generating the OIDC token. The caller (for
-            # CreateSubscription, UpdateSubscription, and ModifyPushConfig RPCs) must
-            # have the iam.serviceAccounts.actAs permission for the service account.
+      &quot;expirationPolicy&quot;: { # A policy that specifies the conditions for resource expiration (i.e., # A policy that specifies the conditions for this subscription&#x27;s expiration.
+          # A subscription is considered active as long as any connected subscriber is
+          # successfully consuming messages from the subscription or is issuing
+          # operations on the subscription. If `expiration_policy` is not set, a
+          # *default policy* with `ttl` of 31 days will be used. The minimum allowed
+          # value for `expiration_policy.ttl` is 1 day.
+          # automatic resource deletion).
+        &quot;ttl&quot;: &quot;A String&quot;, # Specifies the &quot;time-to-live&quot; duration for an associated resource. The
+            # resource expires if it is not active for a period of `ttl`. The definition
+            # of &quot;activity&quot; depends on the type of the associated resource. The minimum
+            # and maximum allowed values for `ttl` depend on the type of the associated
+            # resource, as well. If `ttl` is not set, the associated resource never
+            # expires.
       },
-    },
-    &quot;filter&quot;: &quot;A String&quot;, # An expression written in the Cloud Pub/Sub filter language. If non-empty,
-        # then only `PubsubMessage`s whose `attributes` field matches the filter are
-        # delivered on this subscription. If empty, then no messages are filtered
-        # out.
-        # &lt;b&gt;EXPERIMENTAL:&lt;/b&gt; This feature is part of a closed alpha release. This
-        # API might be changed in backward-incompatible ways and is not recommended
-        # for production use. It is not subject to any SLA or deprecation policy.
-    &quot;ackDeadlineSeconds&quot;: 42, # The approximate amount of time (on a best-effort basis) Pub/Sub waits for
-        # the subscriber to acknowledge receipt before resending the message. In the
-        # interval after the message is delivered and before it is acknowledged, it
-        # is considered to be &lt;i&gt;outstanding&lt;/i&gt;. During that time period, the
-        # message will not be redelivered (on a best-effort basis).
-        #
-        # For pull subscriptions, this value is used as the initial value for the ack
-        # deadline. To override this value for a given message, call
-        # `ModifyAckDeadline` with the corresponding `ack_id` if using
-        # non-streaming pull or send the `ack_id` in a
-        # `StreamingModifyAckDeadlineRequest` if using streaming pull.
-        # The minimum custom deadline you can specify is 10 seconds.
-        # The maximum custom deadline you can specify is 600 seconds (10 minutes).
-        # If this parameter is 0, a default value of 10 seconds is used.
-        #
-        # For push delivery, this value is also used to set the request timeout for
-        # the call to the push endpoint.
-        #
-        # If the subscriber never acknowledges the message, the Pub/Sub
-        # system will eventually redeliver the message.
-    &quot;messageRetentionDuration&quot;: &quot;A String&quot;, # How long to retain unacknowledged messages in the subscription&#x27;s backlog,
-        # from the moment a message is published.
-        # If `retain_acked_messages` is true, then this also configures the retention
-        # of acknowledged messages, and thus configures how far back in time a `Seek`
-        # can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10
-        # minutes.
-    &quot;retainAckedMessages&quot;: True or False, # Indicates whether to retain acknowledged messages. If true, then
-        # messages are not expunged from the subscription&#x27;s backlog, even if they are
-        # acknowledged, until they fall out of the `message_retention_duration`
-        # window. This must be true if you would like to
-        # &lt;a
-        # href=&quot;https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time&quot;&gt;
-        # Seek to a timestamp&lt;/a&gt;.
-    &quot;labels&quot;: { # See &lt;a href=&quot;https://cloud.google.com/pubsub/docs/labels&quot;&gt; Creating and
-        # managing labels&lt;/a&gt;.
-      &quot;a_key&quot;: &quot;A String&quot;,
-    },
-    &quot;deadLetterPolicy&quot;: { # Dead lettering is done on a best effort basis. The same message might be # A policy that specifies the conditions for dead lettering messages in
-        # this subscription. If dead_letter_policy is not set, dead lettering
-        # is disabled.
-        #
-        # The Cloud Pub/Sub service account associated with this subscriptions&#x27;s
-        # parent project (i.e.,
-        # service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have
-        # permission to Acknowledge() messages on this subscription.
-        # dead lettered multiple times.
-        #
-        # If validation on any of the fields fails at subscription creation/updation,
-        # the create/update subscription request will fail.
-      &quot;deadLetterTopic&quot;: &quot;A String&quot;, # The name of the topic to which dead letter messages should be published.
-          # Format is `projects/{project}/topics/{topic}`.The Cloud Pub/Sub service
-          # account associated with the enclosing subscription&#x27;s parent project (i.e.,
+      &quot;retryPolicy&quot;: { # A policy that specifies how Cloud Pub/Sub retries message delivery. # A policy that specifies how Pub/Sub retries message delivery for this
+          # subscription.
+          #
+          # If not set, the default retry policy is applied. This generally implies
+          # that messages will be retried as soon as possible for healthy subscribers.
+          # RetryPolicy will be triggered on NACKs or acknowledgement deadline
+          # exceeded events for a given message.
+          #
+          # Retry delay will be exponential based on provided minimum and maximum
+          # backoffs. https://en.wikipedia.org/wiki/Exponential_backoff.
+          #
+          # RetryPolicy will be triggered on NACKs or acknowledgement deadline exceeded
+          # events for a given message.
+          #
+          # Retry Policy is implemented on a best effort basis. At times, the delay
+          # between consecutive deliveries may not match the configuration. That is,
+          # delay can be more or less than configured backoff.
+        &quot;minimumBackoff&quot;: &quot;A String&quot;, # The minimum delay between consecutive deliveries of a given message.
+            # Value should be between 0 and 600 seconds. Defaults to 10 seconds.
+        &quot;maximumBackoff&quot;: &quot;A String&quot;, # The maximum delay between consecutive deliveries of a given message.
+            # Value should be between 0 and 600 seconds. Defaults to 600 seconds.
+      },
+      &quot;messageRetentionDuration&quot;: &quot;A String&quot;, # How long to retain unacknowledged messages in the subscription&#x27;s backlog,
+          # from the moment a message is published.
+          # If `retain_acked_messages` is true, then this also configures the retention
+          # of acknowledged messages, and thus configures how far back in time a `Seek`
+          # can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10
+          # minutes.
+      &quot;pushConfig&quot;: { # Configuration for a push delivery endpoint. # If push delivery is used with this subscription, this field is
+          # used to configure it. An empty `pushConfig` signifies that the subscriber
+          # will pull and ack messages using API methods.
+        &quot;oidcToken&quot;: { # Contains information needed for generating an # If specified, Pub/Sub will generate and attach an OIDC JWT token as an
+            # `Authorization` header in the HTTP request for every pushed message.
+            # [OpenID Connect
+            # token](https://developers.google.com/identity/protocols/OpenIDConnect).
+          &quot;audience&quot;: &quot;A String&quot;, # Audience to be used when generating OIDC token. The audience claim
+              # identifies the recipients that the JWT is intended for. The audience
+              # value is a single case-sensitive string. Having multiple values (array)
+              # for the audience field is not supported. More info about the OIDC JWT
+              # token audience here: https://tools.ietf.org/html/rfc7519#section-4.1.3
+              # Note: if not specified, the Push endpoint URL will be used.
+          &quot;serviceAccountEmail&quot;: &quot;A String&quot;, # [Service account
+              # email](https://cloud.google.com/iam/docs/service-accounts)
+              # to be used for generating the OIDC token. The caller (for
+              # CreateSubscription, UpdateSubscription, and ModifyPushConfig RPCs) must
+              # have the iam.serviceAccounts.actAs permission for the service account.
+        },
+        &quot;pushEndpoint&quot;: &quot;A String&quot;, # A URL locating the endpoint to which messages should be pushed.
+            # For example, a Webhook endpoint might use `https://example.com/push`.
+        &quot;attributes&quot;: { # Endpoint configuration attributes that can be used to control different
+            # aspects of the message delivery.
+            #
+            # The only currently supported attribute is `x-goog-version`, which you can
+            # use to change the format of the pushed message. This attribute
+            # indicates the version of the data expected by the endpoint. This
+            # controls the shape of the pushed message (i.e., its fields and metadata).
+            #
+            # If not present during the `CreateSubscription` call, it will default to
+            # the version of the Pub/Sub API used to make such call. If not present in a
+            # `ModifyPushConfig` call, its value will not be changed. `GetSubscription`
+            # calls will always return a valid version, even if the subscription was
+            # created without this attribute.
+            #
+            # The only supported values for the `x-goog-version` attribute are:
+            #
+            # * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API.
+            # * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API.
+            #
+            # For example:
+            # &lt;pre&gt;&lt;code&gt;attributes { &quot;x-goog-version&quot;: &quot;v1&quot; } &lt;/code&gt;&lt;/pre&gt;
+          &quot;a_key&quot;: &quot;A String&quot;,
+        },
+      },
+      &quot;deadLetterPolicy&quot;: { # Dead lettering is done on a best effort basis. The same message might be # A policy that specifies the conditions for dead lettering messages in
+          # this subscription. If dead_letter_policy is not set, dead lettering
+          # is disabled.
+          #
+          # The Cloud Pub/Sub service account associated with this subscriptions&#x27;s
+          # parent project (i.e.,
           # service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have
-          # permission to Publish() to this topic.
+          # permission to Acknowledge() messages on this subscription.
+          # dead lettered multiple times.
           #
-          # The operation will fail if the topic does not exist.
-          # Users should ensure that there is a subscription attached to this topic
-          # since messages published to a topic with no subscriptions are lost.
-      &quot;maxDeliveryAttempts&quot;: 42, # The maximum number of delivery attempts for any message. The value must be
-          # between 5 and 100.
-          #
-          # The number of delivery attempts is defined as 1 + (the sum of number of
-          # NACKs and number of times the acknowledgement deadline has been exceeded
-          # for the message).
-          #
-          # A NACK is any call to ModifyAckDeadline with a 0 deadline. Note that
-          # client libraries may automatically extend ack_deadlines.
-          #
-          # This field will be honored on a best effort basis.
-          #
-          # If this parameter is 0, a default value of 5 is used.
-    },
-    &quot;expirationPolicy&quot;: { # A policy that specifies the conditions for resource expiration (i.e., # A policy that specifies the conditions for this subscription&#x27;s expiration.
-        # A subscription is considered active as long as any connected subscriber is
-        # successfully consuming messages from the subscription or is issuing
-        # operations on the subscription. If `expiration_policy` is not set, a
-        # *default policy* with `ttl` of 31 days will be used. The minimum allowed
-        # value for `expiration_policy.ttl` is 1 day.
-        # automatic resource deletion).
-      &quot;ttl&quot;: &quot;A String&quot;, # Specifies the &quot;time-to-live&quot; duration for an associated resource. The
-          # resource expires if it is not active for a period of `ttl`. The definition
-          # of &quot;activity&quot; depends on the type of the associated resource. The minimum
-          # and maximum allowed values for `ttl` depend on the type of the associated
-          # resource, as well. If `ttl` is not set, the associated resource never
-          # expires.
-    },
-    &quot;name&quot;: &quot;A String&quot;, # Required. The name of the subscription. It must have the format
-        # `&quot;projects/{project}/subscriptions/{subscription}&quot;`. `{subscription}` must
-        # start with a letter, and contain only letters (`[A-Za-z]`), numbers
-        # (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),
-        # plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters
-        # in length, and it must not start with `&quot;goog&quot;`.
-    &quot;topic&quot;: &quot;A String&quot;, # Required. The name of the topic from which this subscription is receiving messages.
-        # Format is `projects/{project}/topics/{topic}`.
-        # The value of this field will be `_deleted-topic_` if the topic has been
-        # deleted.
-  }</pre>
+          # If validation on any of the fields fails at subscription creation/updation,
+          # the create/update subscription request will fail.
+        &quot;deadLetterTopic&quot;: &quot;A String&quot;, # The name of the topic to which dead letter messages should be published.
+            # Format is `projects/{project}/topics/{topic}`.The Cloud Pub/Sub service
+            # account associated with the enclosing subscription&#x27;s parent project (i.e.,
+            # service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have
+            # permission to Publish() to this topic.
+            #
+            # The operation will fail if the topic does not exist.
+            # Users should ensure that there is a subscription attached to this topic
+            # since messages published to a topic with no subscriptions are lost.
+        &quot;maxDeliveryAttempts&quot;: 42, # The maximum number of delivery attempts for any message. The value must be
+            # between 5 and 100.
+            #
+            # The number of delivery attempts is defined as 1 + (the sum of number of
+            # NACKs and number of times the acknowledgement deadline has been exceeded
+            # for the message).
+            #
+            # A NACK is any call to ModifyAckDeadline with a 0 deadline. Note that
+            # client libraries may automatically extend ack_deadlines.
+            #
+            # This field will be honored on a best effort basis.
+            #
+            # If this parameter is 0, a default value of 5 is used.
+      },
+      &quot;filter&quot;: &quot;A String&quot;, # An expression written in the Pub/Sub [filter
+          # language](https://cloud.google.com/pubsub/docs/filtering). If non-empty,
+          # then only `PubsubMessage`s whose `attributes` field matches the filter are
+          # delivered on this subscription. If empty, then no messages are filtered
+          # out.
+      &quot;retainAckedMessages&quot;: True or False, # Indicates whether to retain acknowledged messages. If true, then
+          # messages are not expunged from the subscription&#x27;s backlog, even if they are
+          # acknowledged, until they fall out of the `message_retention_duration`
+          # window. This must be true if you would like to [Seek to a timestamp]
+          # (https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time).
+      &quot;name&quot;: &quot;A String&quot;, # Required. The name of the subscription. It must have the format
+          # `&quot;projects/{project}/subscriptions/{subscription}&quot;`. `{subscription}` must
+          # start with a letter, and contain only letters (`[A-Za-z]`), numbers
+          # (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),
+          # plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters
+          # in length, and it must not start with `&quot;goog&quot;`.
+    }</pre>
 </div>
 
 <div class="method">
@@ -791,6 +869,42 @@
       #
       # For a description of IAM and its features, see the
       # [IAM documentation](https://cloud.google.com/iam/docs/).
+    &quot;version&quot;: 42, # Specifies the format of the policy.
+        #
+        # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
+        # are rejected.
+        #
+        # Any operation that affects conditional role bindings must specify version
+        # `3`. This requirement applies to the following operations:
+        #
+        # * Getting a policy that includes a conditional role binding
+        # * Adding a conditional role binding to a policy
+        # * Changing a conditional role binding in a policy
+        # * Removing any role binding, with or without a condition, from a policy
+        #   that includes conditions
+        #
+        # **Important:** If you use IAM Conditions, you must include the `etag` field
+        # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
+        # you to overwrite a version `3` policy with a version `1` policy, and all of
+        # the conditions in the version `3` policy are lost.
+        #
+        # If a policy does not include any conditions, operations on that policy may
+        # specify any valid version or leave the field unset.
+        #
+        # To learn which resources support conditions in their IAM policies, see the
+        # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+    &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help
+        # prevent simultaneous updates of a policy from overwriting each other.
+        # It is strongly suggested that systems make use of the `etag` in the
+        # read-modify-write cycle to perform policy updates in order to avoid race
+        # conditions: An `etag` is returned in the response to `getIamPolicy`, and
+        # systems are expected to put that etag in the request to `setIamPolicy` to
+        # ensure that their change will be applied to the same version of the policy.
+        #
+        # **Important:** If you use IAM Conditions, you must include the `etag` field
+        # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
+        # you to overwrite a version `3` policy with a version `1` policy, and all of
+        # the conditions in the version `3` policy are lost.
     &quot;bindings&quot;: [ # Associates a list of `members` to a `role`. Optionally, may specify a
         # `condition` that determines how and when the `bindings` are applied. Each
         # of the `bindings` must contain at least one member.
@@ -842,11 +956,13 @@
           &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing
               # its purpose. This can be used e.g. in UIs which allow to enter the
               # expression.
-          &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
-              # describes the expression, e.g. when hovered over it in a UI.
           &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
               # syntax.
+          &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
+              # describes the expression, e.g. when hovered over it in a UI.
         },
+        &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`.
+            # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
         &quot;members&quot;: [ # Specifies the identities requesting access for a Cloud Platform resource.
             # `members` can have the following values:
             #
@@ -892,60 +1008,22 @@
             #
           &quot;A String&quot;,
         ],
-        &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`.
-            # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
       },
     ],
-    &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help
-        # prevent simultaneous updates of a policy from overwriting each other.
-        # It is strongly suggested that systems make use of the `etag` in the
-        # read-modify-write cycle to perform policy updates in order to avoid race
-        # conditions: An `etag` is returned in the response to `getIamPolicy`, and
-        # systems are expected to put that etag in the request to `setIamPolicy` to
-        # ensure that their change will be applied to the same version of the policy.
-        #
-        # **Important:** If you use IAM Conditions, you must include the `etag` field
-        # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
-        # you to overwrite a version `3` policy with a version `1` policy, and all of
-        # the conditions in the version `3` policy are lost.
-    &quot;version&quot;: 42, # Specifies the format of the policy.
-        #
-        # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
-        # are rejected.
-        #
-        # Any operation that affects conditional role bindings must specify version
-        # `3`. This requirement applies to the following operations:
-        #
-        # * Getting a policy that includes a conditional role binding
-        # * Adding a conditional role binding to a policy
-        # * Changing a conditional role binding in a policy
-        # * Removing any role binding, with or without a condition, from a policy
-        #   that includes conditions
-        #
-        # **Important:** If you use IAM Conditions, you must include the `etag` field
-        # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
-        # you to overwrite a version `3` policy with a version `1` policy, and all of
-        # the conditions in the version `3` policy are lost.
-        #
-        # If a policy does not include any conditions, operations on that policy may
-        # specify any valid version or leave the field unset.
-        #
-        # To learn which resources support conditions in their IAM policies, see the
-        # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
   }</pre>
 </div>
 
 <div class="method">
-    <code class="details" id="list">list(project, pageToken=None, pageSize=None, x__xgafv=None)</code>
+    <code class="details" id="list">list(project, pageSize=None, pageToken=None, x__xgafv=None)</code>
   <pre>Lists matching subscriptions.
 
 Args:
   project: string, Required. The name of the project in which to list subscriptions.
 Format is `projects/{project-id}`. (required)
+  pageSize: integer, Maximum number of subscriptions to return.
   pageToken: string, The value returned by the last `ListSubscriptionsResponse`; indicates that
 this is a continuation of a prior `ListSubscriptions` call, and that the
 system should return the next page of data.
-  pageSize: integer, Maximum number of subscriptions to return.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -957,155 +1035,173 @@
     { # Response for the `ListSubscriptions` method.
     &quot;subscriptions&quot;: [ # The subscriptions that match the request.
       { # A subscription resource.
-        &quot;pushConfig&quot;: { # Configuration for a push delivery endpoint. # If push delivery is used with this subscription, this field is
-            # used to configure it. An empty `pushConfig` signifies that the subscriber
-            # will pull and ack messages using API methods.
-          &quot;attributes&quot;: { # Endpoint configuration attributes that can be used to control different
-              # aspects of the message delivery.
+          &quot;topic&quot;: &quot;A String&quot;, # Required. The name of the topic from which this subscription is receiving messages.
+              # Format is `projects/{project}/topics/{topic}`.
+              # The value of this field will be `_deleted-topic_` if the topic has been
+              # deleted.
+          &quot;ackDeadlineSeconds&quot;: 42, # The approximate amount of time (on a best-effort basis) Pub/Sub waits for
+              # the subscriber to acknowledge receipt before resending the message. In the
+              # interval after the message is delivered and before it is acknowledged, it
+              # is considered to be &lt;i&gt;outstanding&lt;/i&gt;. During that time period, the
+              # message will not be redelivered (on a best-effort basis).
               #
-              # The only currently supported attribute is `x-goog-version`, which you can
-              # use to change the format of the pushed message. This attribute
-              # indicates the version of the data expected by the endpoint. This
-              # controls the shape of the pushed message (i.e., its fields and metadata).
+              # For pull subscriptions, this value is used as the initial value for the ack
+              # deadline. To override this value for a given message, call
+              # `ModifyAckDeadline` with the corresponding `ack_id` if using
+              # non-streaming pull or send the `ack_id` in a
+              # `StreamingModifyAckDeadlineRequest` if using streaming pull.
+              # The minimum custom deadline you can specify is 10 seconds.
+              # The maximum custom deadline you can specify is 600 seconds (10 minutes).
+              # If this parameter is 0, a default value of 10 seconds is used.
               #
-              # If not present during the `CreateSubscription` call, it will default to
-              # the version of the Pub/Sub API used to make such call. If not present in a
-              # `ModifyPushConfig` call, its value will not be changed. `GetSubscription`
-              # calls will always return a valid version, even if the subscription was
-              # created without this attribute.
+              # For push delivery, this value is also used to set the request timeout for
+              # the call to the push endpoint.
               #
-              # The only supported values for the `x-goog-version` attribute are:
-              #
-              # * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API.
-              # * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API.
-              #
-              # For example:
-              # &lt;pre&gt;&lt;code&gt;attributes { &quot;x-goog-version&quot;: &quot;v1&quot; } &lt;/code&gt;&lt;/pre&gt;
+              # If the subscriber never acknowledges the message, the Pub/Sub
+              # system will eventually redeliver the message.
+          &quot;labels&quot;: { # See &lt;a href=&quot;https://cloud.google.com/pubsub/docs/labels&quot;&gt; Creating and
+              # managing labels&lt;/a&gt;.
             &quot;a_key&quot;: &quot;A String&quot;,
           },
-          &quot;pushEndpoint&quot;: &quot;A String&quot;, # A URL locating the endpoint to which messages should be pushed.
-              # For example, a Webhook endpoint might use `https://example.com/push`.
-          &quot;oidcToken&quot;: { # Contains information needed for generating an # If specified, Pub/Sub will generate and attach an OIDC JWT token as an
-              # `Authorization` header in the HTTP request for every pushed message.
-              # [OpenID Connect
-              # token](https://developers.google.com/identity/protocols/OpenIDConnect).
-            &quot;audience&quot;: &quot;A String&quot;, # Audience to be used when generating OIDC token. The audience claim
-                # identifies the recipients that the JWT is intended for. The audience
-                # value is a single case-sensitive string. Having multiple values (array)
-                # for the audience field is not supported. More info about the OIDC JWT
-                # token audience here: https://tools.ietf.org/html/rfc7519#section-4.1.3
-                # Note: if not specified, the Push endpoint URL will be used.
-            &quot;serviceAccountEmail&quot;: &quot;A String&quot;, # [Service account
-                # email](https://cloud.google.com/iam/docs/service-accounts)
-                # to be used for generating the OIDC token. The caller (for
-                # CreateSubscription, UpdateSubscription, and ModifyPushConfig RPCs) must
-                # have the iam.serviceAccounts.actAs permission for the service account.
+          &quot;expirationPolicy&quot;: { # A policy that specifies the conditions for resource expiration (i.e., # A policy that specifies the conditions for this subscription&#x27;s expiration.
+              # A subscription is considered active as long as any connected subscriber is
+              # successfully consuming messages from the subscription or is issuing
+              # operations on the subscription. If `expiration_policy` is not set, a
+              # *default policy* with `ttl` of 31 days will be used. The minimum allowed
+              # value for `expiration_policy.ttl` is 1 day.
+              # automatic resource deletion).
+            &quot;ttl&quot;: &quot;A String&quot;, # Specifies the &quot;time-to-live&quot; duration for an associated resource. The
+                # resource expires if it is not active for a period of `ttl`. The definition
+                # of &quot;activity&quot; depends on the type of the associated resource. The minimum
+                # and maximum allowed values for `ttl` depend on the type of the associated
+                # resource, as well. If `ttl` is not set, the associated resource never
+                # expires.
           },
-        },
-        &quot;filter&quot;: &quot;A String&quot;, # An expression written in the Cloud Pub/Sub filter language. If non-empty,
-            # then only `PubsubMessage`s whose `attributes` field matches the filter are
-            # delivered on this subscription. If empty, then no messages are filtered
-            # out.
-            # &lt;b&gt;EXPERIMENTAL:&lt;/b&gt; This feature is part of a closed alpha release. This
-            # API might be changed in backward-incompatible ways and is not recommended
-            # for production use. It is not subject to any SLA or deprecation policy.
-        &quot;ackDeadlineSeconds&quot;: 42, # The approximate amount of time (on a best-effort basis) Pub/Sub waits for
-            # the subscriber to acknowledge receipt before resending the message. In the
-            # interval after the message is delivered and before it is acknowledged, it
-            # is considered to be &lt;i&gt;outstanding&lt;/i&gt;. During that time period, the
-            # message will not be redelivered (on a best-effort basis).
-            #
-            # For pull subscriptions, this value is used as the initial value for the ack
-            # deadline. To override this value for a given message, call
-            # `ModifyAckDeadline` with the corresponding `ack_id` if using
-            # non-streaming pull or send the `ack_id` in a
-            # `StreamingModifyAckDeadlineRequest` if using streaming pull.
-            # The minimum custom deadline you can specify is 10 seconds.
-            # The maximum custom deadline you can specify is 600 seconds (10 minutes).
-            # If this parameter is 0, a default value of 10 seconds is used.
-            #
-            # For push delivery, this value is also used to set the request timeout for
-            # the call to the push endpoint.
-            #
-            # If the subscriber never acknowledges the message, the Pub/Sub
-            # system will eventually redeliver the message.
-        &quot;messageRetentionDuration&quot;: &quot;A String&quot;, # How long to retain unacknowledged messages in the subscription&#x27;s backlog,
-            # from the moment a message is published.
-            # If `retain_acked_messages` is true, then this also configures the retention
-            # of acknowledged messages, and thus configures how far back in time a `Seek`
-            # can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10
-            # minutes.
-        &quot;retainAckedMessages&quot;: True or False, # Indicates whether to retain acknowledged messages. If true, then
-            # messages are not expunged from the subscription&#x27;s backlog, even if they are
-            # acknowledged, until they fall out of the `message_retention_duration`
-            # window. This must be true if you would like to
-            # &lt;a
-            # href=&quot;https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time&quot;&gt;
-            # Seek to a timestamp&lt;/a&gt;.
-        &quot;labels&quot;: { # See &lt;a href=&quot;https://cloud.google.com/pubsub/docs/labels&quot;&gt; Creating and
-            # managing labels&lt;/a&gt;.
-          &quot;a_key&quot;: &quot;A String&quot;,
-        },
-        &quot;deadLetterPolicy&quot;: { # Dead lettering is done on a best effort basis. The same message might be # A policy that specifies the conditions for dead lettering messages in
-            # this subscription. If dead_letter_policy is not set, dead lettering
-            # is disabled.
-            #
-            # The Cloud Pub/Sub service account associated with this subscriptions&#x27;s
-            # parent project (i.e.,
-            # service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have
-            # permission to Acknowledge() messages on this subscription.
-            # dead lettered multiple times.
-            #
-            # If validation on any of the fields fails at subscription creation/updation,
-            # the create/update subscription request will fail.
-          &quot;deadLetterTopic&quot;: &quot;A String&quot;, # The name of the topic to which dead letter messages should be published.
-              # Format is `projects/{project}/topics/{topic}`.The Cloud Pub/Sub service
-              # account associated with the enclosing subscription&#x27;s parent project (i.e.,
+          &quot;retryPolicy&quot;: { # A policy that specifies how Cloud Pub/Sub retries message delivery. # A policy that specifies how Pub/Sub retries message delivery for this
+              # subscription.
+              #
+              # If not set, the default retry policy is applied. This generally implies
+              # that messages will be retried as soon as possible for healthy subscribers.
+              # RetryPolicy will be triggered on NACKs or acknowledgement deadline
+              # exceeded events for a given message.
+              #
+              # Retry delay will be exponential based on provided minimum and maximum
+              # backoffs. https://en.wikipedia.org/wiki/Exponential_backoff.
+              #
+              # RetryPolicy will be triggered on NACKs or acknowledgement deadline exceeded
+              # events for a given message.
+              #
+              # Retry Policy is implemented on a best effort basis. At times, the delay
+              # between consecutive deliveries may not match the configuration. That is,
+              # delay can be more or less than configured backoff.
+            &quot;minimumBackoff&quot;: &quot;A String&quot;, # The minimum delay between consecutive deliveries of a given message.
+                # Value should be between 0 and 600 seconds. Defaults to 10 seconds.
+            &quot;maximumBackoff&quot;: &quot;A String&quot;, # The maximum delay between consecutive deliveries of a given message.
+                # Value should be between 0 and 600 seconds. Defaults to 600 seconds.
+          },
+          &quot;messageRetentionDuration&quot;: &quot;A String&quot;, # How long to retain unacknowledged messages in the subscription&#x27;s backlog,
+              # from the moment a message is published.
+              # If `retain_acked_messages` is true, then this also configures the retention
+              # of acknowledged messages, and thus configures how far back in time a `Seek`
+              # can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10
+              # minutes.
+          &quot;pushConfig&quot;: { # Configuration for a push delivery endpoint. # If push delivery is used with this subscription, this field is
+              # used to configure it. An empty `pushConfig` signifies that the subscriber
+              # will pull and ack messages using API methods.
+            &quot;oidcToken&quot;: { # Contains information needed for generating an # If specified, Pub/Sub will generate and attach an OIDC JWT token as an
+                # `Authorization` header in the HTTP request for every pushed message.
+                # [OpenID Connect
+                # token](https://developers.google.com/identity/protocols/OpenIDConnect).
+              &quot;audience&quot;: &quot;A String&quot;, # Audience to be used when generating OIDC token. The audience claim
+                  # identifies the recipients that the JWT is intended for. The audience
+                  # value is a single case-sensitive string. Having multiple values (array)
+                  # for the audience field is not supported. More info about the OIDC JWT
+                  # token audience here: https://tools.ietf.org/html/rfc7519#section-4.1.3
+                  # Note: if not specified, the Push endpoint URL will be used.
+              &quot;serviceAccountEmail&quot;: &quot;A String&quot;, # [Service account
+                  # email](https://cloud.google.com/iam/docs/service-accounts)
+                  # to be used for generating the OIDC token. The caller (for
+                  # CreateSubscription, UpdateSubscription, and ModifyPushConfig RPCs) must
+                  # have the iam.serviceAccounts.actAs permission for the service account.
+            },
+            &quot;pushEndpoint&quot;: &quot;A String&quot;, # A URL locating the endpoint to which messages should be pushed.
+                # For example, a Webhook endpoint might use `https://example.com/push`.
+            &quot;attributes&quot;: { # Endpoint configuration attributes that can be used to control different
+                # aspects of the message delivery.
+                #
+                # The only currently supported attribute is `x-goog-version`, which you can
+                # use to change the format of the pushed message. This attribute
+                # indicates the version of the data expected by the endpoint. This
+                # controls the shape of the pushed message (i.e., its fields and metadata).
+                #
+                # If not present during the `CreateSubscription` call, it will default to
+                # the version of the Pub/Sub API used to make such call. If not present in a
+                # `ModifyPushConfig` call, its value will not be changed. `GetSubscription`
+                # calls will always return a valid version, even if the subscription was
+                # created without this attribute.
+                #
+                # The only supported values for the `x-goog-version` attribute are:
+                #
+                # * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API.
+                # * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API.
+                #
+                # For example:
+                # &lt;pre&gt;&lt;code&gt;attributes { &quot;x-goog-version&quot;: &quot;v1&quot; } &lt;/code&gt;&lt;/pre&gt;
+              &quot;a_key&quot;: &quot;A String&quot;,
+            },
+          },
+          &quot;deadLetterPolicy&quot;: { # Dead lettering is done on a best effort basis. The same message might be # A policy that specifies the conditions for dead lettering messages in
+              # this subscription. If dead_letter_policy is not set, dead lettering
+              # is disabled.
+              #
+              # The Cloud Pub/Sub service account associated with this subscriptions&#x27;s
+              # parent project (i.e.,
               # service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have
-              # permission to Publish() to this topic.
+              # permission to Acknowledge() messages on this subscription.
+              # dead lettered multiple times.
               #
-              # The operation will fail if the topic does not exist.
-              # Users should ensure that there is a subscription attached to this topic
-              # since messages published to a topic with no subscriptions are lost.
-          &quot;maxDeliveryAttempts&quot;: 42, # The maximum number of delivery attempts for any message. The value must be
-              # between 5 and 100.
-              #
-              # The number of delivery attempts is defined as 1 + (the sum of number of
-              # NACKs and number of times the acknowledgement deadline has been exceeded
-              # for the message).
-              #
-              # A NACK is any call to ModifyAckDeadline with a 0 deadline. Note that
-              # client libraries may automatically extend ack_deadlines.
-              #
-              # This field will be honored on a best effort basis.
-              #
-              # If this parameter is 0, a default value of 5 is used.
+              # If validation on any of the fields fails at subscription creation/updation,
+              # the create/update subscription request will fail.
+            &quot;deadLetterTopic&quot;: &quot;A String&quot;, # The name of the topic to which dead letter messages should be published.
+                # Format is `projects/{project}/topics/{topic}`.The Cloud Pub/Sub service
+                # account associated with the enclosing subscription&#x27;s parent project (i.e.,
+                # service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have
+                # permission to Publish() to this topic.
+                #
+                # The operation will fail if the topic does not exist.
+                # Users should ensure that there is a subscription attached to this topic
+                # since messages published to a topic with no subscriptions are lost.
+            &quot;maxDeliveryAttempts&quot;: 42, # The maximum number of delivery attempts for any message. The value must be
+                # between 5 and 100.
+                #
+                # The number of delivery attempts is defined as 1 + (the sum of number of
+                # NACKs and number of times the acknowledgement deadline has been exceeded
+                # for the message).
+                #
+                # A NACK is any call to ModifyAckDeadline with a 0 deadline. Note that
+                # client libraries may automatically extend ack_deadlines.
+                #
+                # This field will be honored on a best effort basis.
+                #
+                # If this parameter is 0, a default value of 5 is used.
+          },
+          &quot;filter&quot;: &quot;A String&quot;, # An expression written in the Pub/Sub [filter
+              # language](https://cloud.google.com/pubsub/docs/filtering). If non-empty,
+              # then only `PubsubMessage`s whose `attributes` field matches the filter are
+              # delivered on this subscription. If empty, then no messages are filtered
+              # out.
+          &quot;retainAckedMessages&quot;: True or False, # Indicates whether to retain acknowledged messages. If true, then
+              # messages are not expunged from the subscription&#x27;s backlog, even if they are
+              # acknowledged, until they fall out of the `message_retention_duration`
+              # window. This must be true if you would like to [Seek to a timestamp]
+              # (https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time).
+          &quot;name&quot;: &quot;A String&quot;, # Required. The name of the subscription. It must have the format
+              # `&quot;projects/{project}/subscriptions/{subscription}&quot;`. `{subscription}` must
+              # start with a letter, and contain only letters (`[A-Za-z]`), numbers
+              # (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),
+              # plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters
+              # in length, and it must not start with `&quot;goog&quot;`.
         },
-        &quot;expirationPolicy&quot;: { # A policy that specifies the conditions for resource expiration (i.e., # A policy that specifies the conditions for this subscription&#x27;s expiration.
-            # A subscription is considered active as long as any connected subscriber is
-            # successfully consuming messages from the subscription or is issuing
-            # operations on the subscription. If `expiration_policy` is not set, a
-            # *default policy* with `ttl` of 31 days will be used. The minimum allowed
-            # value for `expiration_policy.ttl` is 1 day.
-            # automatic resource deletion).
-          &quot;ttl&quot;: &quot;A String&quot;, # Specifies the &quot;time-to-live&quot; duration for an associated resource. The
-              # resource expires if it is not active for a period of `ttl`. The definition
-              # of &quot;activity&quot; depends on the type of the associated resource. The minimum
-              # and maximum allowed values for `ttl` depend on the type of the associated
-              # resource, as well. If `ttl` is not set, the associated resource never
-              # expires.
-        },
-        &quot;name&quot;: &quot;A String&quot;, # Required. The name of the subscription. It must have the format
-            # `&quot;projects/{project}/subscriptions/{subscription}&quot;`. `{subscription}` must
-            # start with a letter, and contain only letters (`[A-Za-z]`), numbers
-            # (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),
-            # plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters
-            # in length, and it must not start with `&quot;goog&quot;`.
-        &quot;topic&quot;: &quot;A String&quot;, # Required. The name of the topic from which this subscription is receiving messages.
-            # Format is `projects/{project}/topics/{topic}`.
-            # The value of this field will be `_deleted-topic_` if the topic has been
-            # deleted.
-      },
     ],
     &quot;nextPageToken&quot;: &quot;A String&quot;, # If not empty, indicates that there may be more subscriptions that match
         # the request; this value should be passed in a new
@@ -1197,6 +1293,24 @@
         # stop pushing messages from the given subscription and allow
         # messages to be pulled and acknowledged - effectively pausing
         # the subscription if `Pull` or `StreamingPull` is not called.
+      &quot;oidcToken&quot;: { # Contains information needed for generating an # If specified, Pub/Sub will generate and attach an OIDC JWT token as an
+          # `Authorization` header in the HTTP request for every pushed message.
+          # [OpenID Connect
+          # token](https://developers.google.com/identity/protocols/OpenIDConnect).
+        &quot;audience&quot;: &quot;A String&quot;, # Audience to be used when generating OIDC token. The audience claim
+            # identifies the recipients that the JWT is intended for. The audience
+            # value is a single case-sensitive string. Having multiple values (array)
+            # for the audience field is not supported. More info about the OIDC JWT
+            # token audience here: https://tools.ietf.org/html/rfc7519#section-4.1.3
+            # Note: if not specified, the Push endpoint URL will be used.
+        &quot;serviceAccountEmail&quot;: &quot;A String&quot;, # [Service account
+            # email](https://cloud.google.com/iam/docs/service-accounts)
+            # to be used for generating the OIDC token. The caller (for
+            # CreateSubscription, UpdateSubscription, and ModifyPushConfig RPCs) must
+            # have the iam.serviceAccounts.actAs permission for the service account.
+      },
+      &quot;pushEndpoint&quot;: &quot;A String&quot;, # A URL locating the endpoint to which messages should be pushed.
+          # For example, a Webhook endpoint might use `https://example.com/push`.
       &quot;attributes&quot;: { # Endpoint configuration attributes that can be used to control different
           # aspects of the message delivery.
           #
@@ -1220,24 +1334,6 @@
           # &lt;pre&gt;&lt;code&gt;attributes { &quot;x-goog-version&quot;: &quot;v1&quot; } &lt;/code&gt;&lt;/pre&gt;
         &quot;a_key&quot;: &quot;A String&quot;,
       },
-      &quot;pushEndpoint&quot;: &quot;A String&quot;, # A URL locating the endpoint to which messages should be pushed.
-          # For example, a Webhook endpoint might use `https://example.com/push`.
-      &quot;oidcToken&quot;: { # Contains information needed for generating an # If specified, Pub/Sub will generate and attach an OIDC JWT token as an
-          # `Authorization` header in the HTTP request for every pushed message.
-          # [OpenID Connect
-          # token](https://developers.google.com/identity/protocols/OpenIDConnect).
-        &quot;audience&quot;: &quot;A String&quot;, # Audience to be used when generating OIDC token. The audience claim
-            # identifies the recipients that the JWT is intended for. The audience
-            # value is a single case-sensitive string. Having multiple values (array)
-            # for the audience field is not supported. More info about the OIDC JWT
-            # token audience here: https://tools.ietf.org/html/rfc7519#section-4.1.3
-            # Note: if not specified, the Push endpoint URL will be used.
-        &quot;serviceAccountEmail&quot;: &quot;A String&quot;, # [Service account
-            # email](https://cloud.google.com/iam/docs/service-accounts)
-            # to be used for generating the OIDC token. The caller (for
-            # CreateSubscription, UpdateSubscription, and ModifyPushConfig RPCs) must
-            # have the iam.serviceAccounts.actAs permission for the service account.
-      },
     },
   }
 
@@ -1277,12 +1373,278 @@
     The object takes the form of:
 
 { # Request for the UpdateSubscription method.
+    &quot;subscription&quot;: { # A subscription resource. # Required. The updated subscription object.
+        &quot;topic&quot;: &quot;A String&quot;, # Required. The name of the topic from which this subscription is receiving messages.
+            # Format is `projects/{project}/topics/{topic}`.
+            # The value of this field will be `_deleted-topic_` if the topic has been
+            # deleted.
+        &quot;ackDeadlineSeconds&quot;: 42, # The approximate amount of time (on a best-effort basis) Pub/Sub waits for
+            # the subscriber to acknowledge receipt before resending the message. In the
+            # interval after the message is delivered and before it is acknowledged, it
+            # is considered to be &lt;i&gt;outstanding&lt;/i&gt;. During that time period, the
+            # message will not be redelivered (on a best-effort basis).
+            #
+            # For pull subscriptions, this value is used as the initial value for the ack
+            # deadline. To override this value for a given message, call
+            # `ModifyAckDeadline` with the corresponding `ack_id` if using
+            # non-streaming pull or send the `ack_id` in a
+            # `StreamingModifyAckDeadlineRequest` if using streaming pull.
+            # The minimum custom deadline you can specify is 10 seconds.
+            # The maximum custom deadline you can specify is 600 seconds (10 minutes).
+            # If this parameter is 0, a default value of 10 seconds is used.
+            #
+            # For push delivery, this value is also used to set the request timeout for
+            # the call to the push endpoint.
+            #
+            # If the subscriber never acknowledges the message, the Pub/Sub
+            # system will eventually redeliver the message.
+        &quot;labels&quot;: { # See &lt;a href=&quot;https://cloud.google.com/pubsub/docs/labels&quot;&gt; Creating and
+            # managing labels&lt;/a&gt;.
+          &quot;a_key&quot;: &quot;A String&quot;,
+        },
+        &quot;expirationPolicy&quot;: { # A policy that specifies the conditions for resource expiration (i.e., # A policy that specifies the conditions for this subscription&#x27;s expiration.
+            # A subscription is considered active as long as any connected subscriber is
+            # successfully consuming messages from the subscription or is issuing
+            # operations on the subscription. If `expiration_policy` is not set, a
+            # *default policy* with `ttl` of 31 days will be used. The minimum allowed
+            # value for `expiration_policy.ttl` is 1 day.
+            # automatic resource deletion).
+          &quot;ttl&quot;: &quot;A String&quot;, # Specifies the &quot;time-to-live&quot; duration for an associated resource. The
+              # resource expires if it is not active for a period of `ttl`. The definition
+              # of &quot;activity&quot; depends on the type of the associated resource. The minimum
+              # and maximum allowed values for `ttl` depend on the type of the associated
+              # resource, as well. If `ttl` is not set, the associated resource never
+              # expires.
+        },
+        &quot;retryPolicy&quot;: { # A policy that specifies how Cloud Pub/Sub retries message delivery. # A policy that specifies how Pub/Sub retries message delivery for this
+            # subscription.
+            #
+            # If not set, the default retry policy is applied. This generally implies
+            # that messages will be retried as soon as possible for healthy subscribers.
+            # RetryPolicy will be triggered on NACKs or acknowledgement deadline
+            # exceeded events for a given message.
+            #
+            # Retry delay will be exponential based on provided minimum and maximum
+            # backoffs. https://en.wikipedia.org/wiki/Exponential_backoff.
+            #
+            # RetryPolicy will be triggered on NACKs or acknowledgement deadline exceeded
+            # events for a given message.
+            #
+            # Retry Policy is implemented on a best effort basis. At times, the delay
+            # between consecutive deliveries may not match the configuration. That is,
+            # delay can be more or less than configured backoff.
+          &quot;minimumBackoff&quot;: &quot;A String&quot;, # The minimum delay between consecutive deliveries of a given message.
+              # Value should be between 0 and 600 seconds. Defaults to 10 seconds.
+          &quot;maximumBackoff&quot;: &quot;A String&quot;, # The maximum delay between consecutive deliveries of a given message.
+              # Value should be between 0 and 600 seconds. Defaults to 600 seconds.
+        },
+        &quot;messageRetentionDuration&quot;: &quot;A String&quot;, # How long to retain unacknowledged messages in the subscription&#x27;s backlog,
+            # from the moment a message is published.
+            # If `retain_acked_messages` is true, then this also configures the retention
+            # of acknowledged messages, and thus configures how far back in time a `Seek`
+            # can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10
+            # minutes.
+        &quot;pushConfig&quot;: { # Configuration for a push delivery endpoint. # If push delivery is used with this subscription, this field is
+            # used to configure it. An empty `pushConfig` signifies that the subscriber
+            # will pull and ack messages using API methods.
+          &quot;oidcToken&quot;: { # Contains information needed for generating an # If specified, Pub/Sub will generate and attach an OIDC JWT token as an
+              # `Authorization` header in the HTTP request for every pushed message.
+              # [OpenID Connect
+              # token](https://developers.google.com/identity/protocols/OpenIDConnect).
+            &quot;audience&quot;: &quot;A String&quot;, # Audience to be used when generating OIDC token. The audience claim
+                # identifies the recipients that the JWT is intended for. The audience
+                # value is a single case-sensitive string. Having multiple values (array)
+                # for the audience field is not supported. More info about the OIDC JWT
+                # token audience here: https://tools.ietf.org/html/rfc7519#section-4.1.3
+                # Note: if not specified, the Push endpoint URL will be used.
+            &quot;serviceAccountEmail&quot;: &quot;A String&quot;, # [Service account
+                # email](https://cloud.google.com/iam/docs/service-accounts)
+                # to be used for generating the OIDC token. The caller (for
+                # CreateSubscription, UpdateSubscription, and ModifyPushConfig RPCs) must
+                # have the iam.serviceAccounts.actAs permission for the service account.
+          },
+          &quot;pushEndpoint&quot;: &quot;A String&quot;, # A URL locating the endpoint to which messages should be pushed.
+              # For example, a Webhook endpoint might use `https://example.com/push`.
+          &quot;attributes&quot;: { # Endpoint configuration attributes that can be used to control different
+              # aspects of the message delivery.
+              #
+              # The only currently supported attribute is `x-goog-version`, which you can
+              # use to change the format of the pushed message. This attribute
+              # indicates the version of the data expected by the endpoint. This
+              # controls the shape of the pushed message (i.e., its fields and metadata).
+              #
+              # If not present during the `CreateSubscription` call, it will default to
+              # the version of the Pub/Sub API used to make such call. If not present in a
+              # `ModifyPushConfig` call, its value will not be changed. `GetSubscription`
+              # calls will always return a valid version, even if the subscription was
+              # created without this attribute.
+              #
+              # The only supported values for the `x-goog-version` attribute are:
+              #
+              # * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API.
+              # * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API.
+              #
+              # For example:
+              # &lt;pre&gt;&lt;code&gt;attributes { &quot;x-goog-version&quot;: &quot;v1&quot; } &lt;/code&gt;&lt;/pre&gt;
+            &quot;a_key&quot;: &quot;A String&quot;,
+          },
+        },
+        &quot;deadLetterPolicy&quot;: { # Dead lettering is done on a best effort basis. The same message might be # A policy that specifies the conditions for dead lettering messages in
+            # this subscription. If dead_letter_policy is not set, dead lettering
+            # is disabled.
+            #
+            # The Cloud Pub/Sub service account associated with this subscriptions&#x27;s
+            # parent project (i.e.,
+            # service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have
+            # permission to Acknowledge() messages on this subscription.
+            # dead lettered multiple times.
+            #
+            # If validation on any of the fields fails at subscription creation/updation,
+            # the create/update subscription request will fail.
+          &quot;deadLetterTopic&quot;: &quot;A String&quot;, # The name of the topic to which dead letter messages should be published.
+              # Format is `projects/{project}/topics/{topic}`.The Cloud Pub/Sub service
+              # account associated with the enclosing subscription&#x27;s parent project (i.e.,
+              # service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have
+              # permission to Publish() to this topic.
+              #
+              # The operation will fail if the topic does not exist.
+              # Users should ensure that there is a subscription attached to this topic
+              # since messages published to a topic with no subscriptions are lost.
+          &quot;maxDeliveryAttempts&quot;: 42, # The maximum number of delivery attempts for any message. The value must be
+              # between 5 and 100.
+              #
+              # The number of delivery attempts is defined as 1 + (the sum of number of
+              # NACKs and number of times the acknowledgement deadline has been exceeded
+              # for the message).
+              #
+              # A NACK is any call to ModifyAckDeadline with a 0 deadline. Note that
+              # client libraries may automatically extend ack_deadlines.
+              #
+              # This field will be honored on a best effort basis.
+              #
+              # If this parameter is 0, a default value of 5 is used.
+        },
+        &quot;filter&quot;: &quot;A String&quot;, # An expression written in the Pub/Sub [filter
+            # language](https://cloud.google.com/pubsub/docs/filtering). If non-empty,
+            # then only `PubsubMessage`s whose `attributes` field matches the filter are
+            # delivered on this subscription. If empty, then no messages are filtered
+            # out.
+        &quot;retainAckedMessages&quot;: True or False, # Indicates whether to retain acknowledged messages. If true, then
+            # messages are not expunged from the subscription&#x27;s backlog, even if they are
+            # acknowledged, until they fall out of the `message_retention_duration`
+            # window. This must be true if you would like to [Seek to a timestamp]
+            # (https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time).
+        &quot;name&quot;: &quot;A String&quot;, # Required. The name of the subscription. It must have the format
+            # `&quot;projects/{project}/subscriptions/{subscription}&quot;`. `{subscription}` must
+            # start with a letter, and contain only letters (`[A-Za-z]`), numbers
+            # (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),
+            # plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters
+            # in length, and it must not start with `&quot;goog&quot;`.
+      },
     &quot;updateMask&quot;: &quot;A String&quot;, # Required. Indicates which fields in the provided subscription to update.
         # Must be specified and non-empty.
-    &quot;subscription&quot;: { # A subscription resource. # Required. The updated subscription object.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A subscription resource.
+      &quot;topic&quot;: &quot;A String&quot;, # Required. The name of the topic from which this subscription is receiving messages.
+          # Format is `projects/{project}/topics/{topic}`.
+          # The value of this field will be `_deleted-topic_` if the topic has been
+          # deleted.
+      &quot;ackDeadlineSeconds&quot;: 42, # The approximate amount of time (on a best-effort basis) Pub/Sub waits for
+          # the subscriber to acknowledge receipt before resending the message. In the
+          # interval after the message is delivered and before it is acknowledged, it
+          # is considered to be &lt;i&gt;outstanding&lt;/i&gt;. During that time period, the
+          # message will not be redelivered (on a best-effort basis).
+          #
+          # For pull subscriptions, this value is used as the initial value for the ack
+          # deadline. To override this value for a given message, call
+          # `ModifyAckDeadline` with the corresponding `ack_id` if using
+          # non-streaming pull or send the `ack_id` in a
+          # `StreamingModifyAckDeadlineRequest` if using streaming pull.
+          # The minimum custom deadline you can specify is 10 seconds.
+          # The maximum custom deadline you can specify is 600 seconds (10 minutes).
+          # If this parameter is 0, a default value of 10 seconds is used.
+          #
+          # For push delivery, this value is also used to set the request timeout for
+          # the call to the push endpoint.
+          #
+          # If the subscriber never acknowledges the message, the Pub/Sub
+          # system will eventually redeliver the message.
+      &quot;labels&quot;: { # See &lt;a href=&quot;https://cloud.google.com/pubsub/docs/labels&quot;&gt; Creating and
+          # managing labels&lt;/a&gt;.
+        &quot;a_key&quot;: &quot;A String&quot;,
+      },
+      &quot;expirationPolicy&quot;: { # A policy that specifies the conditions for resource expiration (i.e., # A policy that specifies the conditions for this subscription&#x27;s expiration.
+          # A subscription is considered active as long as any connected subscriber is
+          # successfully consuming messages from the subscription or is issuing
+          # operations on the subscription. If `expiration_policy` is not set, a
+          # *default policy* with `ttl` of 31 days will be used. The minimum allowed
+          # value for `expiration_policy.ttl` is 1 day.
+          # automatic resource deletion).
+        &quot;ttl&quot;: &quot;A String&quot;, # Specifies the &quot;time-to-live&quot; duration for an associated resource. The
+            # resource expires if it is not active for a period of `ttl`. The definition
+            # of &quot;activity&quot; depends on the type of the associated resource. The minimum
+            # and maximum allowed values for `ttl` depend on the type of the associated
+            # resource, as well. If `ttl` is not set, the associated resource never
+            # expires.
+      },
+      &quot;retryPolicy&quot;: { # A policy that specifies how Cloud Pub/Sub retries message delivery. # A policy that specifies how Pub/Sub retries message delivery for this
+          # subscription.
+          #
+          # If not set, the default retry policy is applied. This generally implies
+          # that messages will be retried as soon as possible for healthy subscribers.
+          # RetryPolicy will be triggered on NACKs or acknowledgement deadline
+          # exceeded events for a given message.
+          #
+          # Retry delay will be exponential based on provided minimum and maximum
+          # backoffs. https://en.wikipedia.org/wiki/Exponential_backoff.
+          #
+          # RetryPolicy will be triggered on NACKs or acknowledgement deadline exceeded
+          # events for a given message.
+          #
+          # Retry Policy is implemented on a best effort basis. At times, the delay
+          # between consecutive deliveries may not match the configuration. That is,
+          # delay can be more or less than configured backoff.
+        &quot;minimumBackoff&quot;: &quot;A String&quot;, # The minimum delay between consecutive deliveries of a given message.
+            # Value should be between 0 and 600 seconds. Defaults to 10 seconds.
+        &quot;maximumBackoff&quot;: &quot;A String&quot;, # The maximum delay between consecutive deliveries of a given message.
+            # Value should be between 0 and 600 seconds. Defaults to 600 seconds.
+      },
+      &quot;messageRetentionDuration&quot;: &quot;A String&quot;, # How long to retain unacknowledged messages in the subscription&#x27;s backlog,
+          # from the moment a message is published.
+          # If `retain_acked_messages` is true, then this also configures the retention
+          # of acknowledged messages, and thus configures how far back in time a `Seek`
+          # can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10
+          # minutes.
       &quot;pushConfig&quot;: { # Configuration for a push delivery endpoint. # If push delivery is used with this subscription, this field is
           # used to configure it. An empty `pushConfig` signifies that the subscriber
           # will pull and ack messages using API methods.
+        &quot;oidcToken&quot;: { # Contains information needed for generating an # If specified, Pub/Sub will generate and attach an OIDC JWT token as an
+            # `Authorization` header in the HTTP request for every pushed message.
+            # [OpenID Connect
+            # token](https://developers.google.com/identity/protocols/OpenIDConnect).
+          &quot;audience&quot;: &quot;A String&quot;, # Audience to be used when generating OIDC token. The audience claim
+              # identifies the recipients that the JWT is intended for. The audience
+              # value is a single case-sensitive string. Having multiple values (array)
+              # for the audience field is not supported. More info about the OIDC JWT
+              # token audience here: https://tools.ietf.org/html/rfc7519#section-4.1.3
+              # Note: if not specified, the Push endpoint URL will be used.
+          &quot;serviceAccountEmail&quot;: &quot;A String&quot;, # [Service account
+              # email](https://cloud.google.com/iam/docs/service-accounts)
+              # to be used for generating the OIDC token. The caller (for
+              # CreateSubscription, UpdateSubscription, and ModifyPushConfig RPCs) must
+              # have the iam.serviceAccounts.actAs permission for the service account.
+        },
+        &quot;pushEndpoint&quot;: &quot;A String&quot;, # A URL locating the endpoint to which messages should be pushed.
+            # For example, a Webhook endpoint might use `https://example.com/push`.
         &quot;attributes&quot;: { # Endpoint configuration attributes that can be used to control different
             # aspects of the message delivery.
             #
@@ -1306,68 +1668,6 @@
             # &lt;pre&gt;&lt;code&gt;attributes { &quot;x-goog-version&quot;: &quot;v1&quot; } &lt;/code&gt;&lt;/pre&gt;
           &quot;a_key&quot;: &quot;A String&quot;,
         },
-        &quot;pushEndpoint&quot;: &quot;A String&quot;, # A URL locating the endpoint to which messages should be pushed.
-            # For example, a Webhook endpoint might use `https://example.com/push`.
-        &quot;oidcToken&quot;: { # Contains information needed for generating an # If specified, Pub/Sub will generate and attach an OIDC JWT token as an
-            # `Authorization` header in the HTTP request for every pushed message.
-            # [OpenID Connect
-            # token](https://developers.google.com/identity/protocols/OpenIDConnect).
-          &quot;audience&quot;: &quot;A String&quot;, # Audience to be used when generating OIDC token. The audience claim
-              # identifies the recipients that the JWT is intended for. The audience
-              # value is a single case-sensitive string. Having multiple values (array)
-              # for the audience field is not supported. More info about the OIDC JWT
-              # token audience here: https://tools.ietf.org/html/rfc7519#section-4.1.3
-              # Note: if not specified, the Push endpoint URL will be used.
-          &quot;serviceAccountEmail&quot;: &quot;A String&quot;, # [Service account
-              # email](https://cloud.google.com/iam/docs/service-accounts)
-              # to be used for generating the OIDC token. The caller (for
-              # CreateSubscription, UpdateSubscription, and ModifyPushConfig RPCs) must
-              # have the iam.serviceAccounts.actAs permission for the service account.
-        },
-      },
-      &quot;filter&quot;: &quot;A String&quot;, # An expression written in the Cloud Pub/Sub filter language. If non-empty,
-          # then only `PubsubMessage`s whose `attributes` field matches the filter are
-          # delivered on this subscription. If empty, then no messages are filtered
-          # out.
-          # &lt;b&gt;EXPERIMENTAL:&lt;/b&gt; This feature is part of a closed alpha release. This
-          # API might be changed in backward-incompatible ways and is not recommended
-          # for production use. It is not subject to any SLA or deprecation policy.
-      &quot;ackDeadlineSeconds&quot;: 42, # The approximate amount of time (on a best-effort basis) Pub/Sub waits for
-          # the subscriber to acknowledge receipt before resending the message. In the
-          # interval after the message is delivered and before it is acknowledged, it
-          # is considered to be &lt;i&gt;outstanding&lt;/i&gt;. During that time period, the
-          # message will not be redelivered (on a best-effort basis).
-          #
-          # For pull subscriptions, this value is used as the initial value for the ack
-          # deadline. To override this value for a given message, call
-          # `ModifyAckDeadline` with the corresponding `ack_id` if using
-          # non-streaming pull or send the `ack_id` in a
-          # `StreamingModifyAckDeadlineRequest` if using streaming pull.
-          # The minimum custom deadline you can specify is 10 seconds.
-          # The maximum custom deadline you can specify is 600 seconds (10 minutes).
-          # If this parameter is 0, a default value of 10 seconds is used.
-          #
-          # For push delivery, this value is also used to set the request timeout for
-          # the call to the push endpoint.
-          #
-          # If the subscriber never acknowledges the message, the Pub/Sub
-          # system will eventually redeliver the message.
-      &quot;messageRetentionDuration&quot;: &quot;A String&quot;, # How long to retain unacknowledged messages in the subscription&#x27;s backlog,
-          # from the moment a message is published.
-          # If `retain_acked_messages` is true, then this also configures the retention
-          # of acknowledged messages, and thus configures how far back in time a `Seek`
-          # can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10
-          # minutes.
-      &quot;retainAckedMessages&quot;: True or False, # Indicates whether to retain acknowledged messages. If true, then
-          # messages are not expunged from the subscription&#x27;s backlog, even if they are
-          # acknowledged, until they fall out of the `message_retention_duration`
-          # window. This must be true if you would like to
-          # &lt;a
-          # href=&quot;https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time&quot;&gt;
-          # Seek to a timestamp&lt;/a&gt;.
-      &quot;labels&quot;: { # See &lt;a href=&quot;https://cloud.google.com/pubsub/docs/labels&quot;&gt; Creating and
-          # managing labels&lt;/a&gt;.
-        &quot;a_key&quot;: &quot;A String&quot;,
       },
       &quot;deadLetterPolicy&quot;: { # Dead lettering is done on a best effort basis. The same message might be # A policy that specifies the conditions for dead lettering messages in
           # this subscription. If dead_letter_policy is not set, dead lettering
@@ -1404,191 +1704,23 @@
             #
             # If this parameter is 0, a default value of 5 is used.
       },
-      &quot;expirationPolicy&quot;: { # A policy that specifies the conditions for resource expiration (i.e., # A policy that specifies the conditions for this subscription&#x27;s expiration.
-          # A subscription is considered active as long as any connected subscriber is
-          # successfully consuming messages from the subscription or is issuing
-          # operations on the subscription. If `expiration_policy` is not set, a
-          # *default policy* with `ttl` of 31 days will be used. The minimum allowed
-          # value for `expiration_policy.ttl` is 1 day.
-          # automatic resource deletion).
-        &quot;ttl&quot;: &quot;A String&quot;, # Specifies the &quot;time-to-live&quot; duration for an associated resource. The
-            # resource expires if it is not active for a period of `ttl`. The definition
-            # of &quot;activity&quot; depends on the type of the associated resource. The minimum
-            # and maximum allowed values for `ttl` depend on the type of the associated
-            # resource, as well. If `ttl` is not set, the associated resource never
-            # expires.
-      },
+      &quot;filter&quot;: &quot;A String&quot;, # An expression written in the Pub/Sub [filter
+          # language](https://cloud.google.com/pubsub/docs/filtering). If non-empty,
+          # then only `PubsubMessage`s whose `attributes` field matches the filter are
+          # delivered on this subscription. If empty, then no messages are filtered
+          # out.
+      &quot;retainAckedMessages&quot;: True or False, # Indicates whether to retain acknowledged messages. If true, then
+          # messages are not expunged from the subscription&#x27;s backlog, even if they are
+          # acknowledged, until they fall out of the `message_retention_duration`
+          # window. This must be true if you would like to [Seek to a timestamp]
+          # (https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time).
       &quot;name&quot;: &quot;A String&quot;, # Required. The name of the subscription. It must have the format
           # `&quot;projects/{project}/subscriptions/{subscription}&quot;`. `{subscription}` must
           # start with a letter, and contain only letters (`[A-Za-z]`), numbers
           # (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),
           # plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters
           # in length, and it must not start with `&quot;goog&quot;`.
-      &quot;topic&quot;: &quot;A String&quot;, # Required. The name of the topic from which this subscription is receiving messages.
-          # Format is `projects/{project}/topics/{topic}`.
-          # The value of this field will be `_deleted-topic_` if the topic has been
-          # deleted.
-    },
-  }
-
-  x__xgafv: string, V1 error format.
-    Allowed values
-      1 - v1 error format
-      2 - v2 error format
-
-Returns:
-  An object of the form:
-
-    { # A subscription resource.
-    &quot;pushConfig&quot;: { # Configuration for a push delivery endpoint. # If push delivery is used with this subscription, this field is
-        # used to configure it. An empty `pushConfig` signifies that the subscriber
-        # will pull and ack messages using API methods.
-      &quot;attributes&quot;: { # Endpoint configuration attributes that can be used to control different
-          # aspects of the message delivery.
-          #
-          # The only currently supported attribute is `x-goog-version`, which you can
-          # use to change the format of the pushed message. This attribute
-          # indicates the version of the data expected by the endpoint. This
-          # controls the shape of the pushed message (i.e., its fields and metadata).
-          #
-          # If not present during the `CreateSubscription` call, it will default to
-          # the version of the Pub/Sub API used to make such call. If not present in a
-          # `ModifyPushConfig` call, its value will not be changed. `GetSubscription`
-          # calls will always return a valid version, even if the subscription was
-          # created without this attribute.
-          #
-          # The only supported values for the `x-goog-version` attribute are:
-          #
-          # * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API.
-          # * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API.
-          #
-          # For example:
-          # &lt;pre&gt;&lt;code&gt;attributes { &quot;x-goog-version&quot;: &quot;v1&quot; } &lt;/code&gt;&lt;/pre&gt;
-        &quot;a_key&quot;: &quot;A String&quot;,
-      },
-      &quot;pushEndpoint&quot;: &quot;A String&quot;, # A URL locating the endpoint to which messages should be pushed.
-          # For example, a Webhook endpoint might use `https://example.com/push`.
-      &quot;oidcToken&quot;: { # Contains information needed for generating an # If specified, Pub/Sub will generate and attach an OIDC JWT token as an
-          # `Authorization` header in the HTTP request for every pushed message.
-          # [OpenID Connect
-          # token](https://developers.google.com/identity/protocols/OpenIDConnect).
-        &quot;audience&quot;: &quot;A String&quot;, # Audience to be used when generating OIDC token. The audience claim
-            # identifies the recipients that the JWT is intended for. The audience
-            # value is a single case-sensitive string. Having multiple values (array)
-            # for the audience field is not supported. More info about the OIDC JWT
-            # token audience here: https://tools.ietf.org/html/rfc7519#section-4.1.3
-            # Note: if not specified, the Push endpoint URL will be used.
-        &quot;serviceAccountEmail&quot;: &quot;A String&quot;, # [Service account
-            # email](https://cloud.google.com/iam/docs/service-accounts)
-            # to be used for generating the OIDC token. The caller (for
-            # CreateSubscription, UpdateSubscription, and ModifyPushConfig RPCs) must
-            # have the iam.serviceAccounts.actAs permission for the service account.
-      },
-    },
-    &quot;filter&quot;: &quot;A String&quot;, # An expression written in the Cloud Pub/Sub filter language. If non-empty,
-        # then only `PubsubMessage`s whose `attributes` field matches the filter are
-        # delivered on this subscription. If empty, then no messages are filtered
-        # out.
-        # &lt;b&gt;EXPERIMENTAL:&lt;/b&gt; This feature is part of a closed alpha release. This
-        # API might be changed in backward-incompatible ways and is not recommended
-        # for production use. It is not subject to any SLA or deprecation policy.
-    &quot;ackDeadlineSeconds&quot;: 42, # The approximate amount of time (on a best-effort basis) Pub/Sub waits for
-        # the subscriber to acknowledge receipt before resending the message. In the
-        # interval after the message is delivered and before it is acknowledged, it
-        # is considered to be &lt;i&gt;outstanding&lt;/i&gt;. During that time period, the
-        # message will not be redelivered (on a best-effort basis).
-        #
-        # For pull subscriptions, this value is used as the initial value for the ack
-        # deadline. To override this value for a given message, call
-        # `ModifyAckDeadline` with the corresponding `ack_id` if using
-        # non-streaming pull or send the `ack_id` in a
-        # `StreamingModifyAckDeadlineRequest` if using streaming pull.
-        # The minimum custom deadline you can specify is 10 seconds.
-        # The maximum custom deadline you can specify is 600 seconds (10 minutes).
-        # If this parameter is 0, a default value of 10 seconds is used.
-        #
-        # For push delivery, this value is also used to set the request timeout for
-        # the call to the push endpoint.
-        #
-        # If the subscriber never acknowledges the message, the Pub/Sub
-        # system will eventually redeliver the message.
-    &quot;messageRetentionDuration&quot;: &quot;A String&quot;, # How long to retain unacknowledged messages in the subscription&#x27;s backlog,
-        # from the moment a message is published.
-        # If `retain_acked_messages` is true, then this also configures the retention
-        # of acknowledged messages, and thus configures how far back in time a `Seek`
-        # can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10
-        # minutes.
-    &quot;retainAckedMessages&quot;: True or False, # Indicates whether to retain acknowledged messages. If true, then
-        # messages are not expunged from the subscription&#x27;s backlog, even if they are
-        # acknowledged, until they fall out of the `message_retention_duration`
-        # window. This must be true if you would like to
-        # &lt;a
-        # href=&quot;https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time&quot;&gt;
-        # Seek to a timestamp&lt;/a&gt;.
-    &quot;labels&quot;: { # See &lt;a href=&quot;https://cloud.google.com/pubsub/docs/labels&quot;&gt; Creating and
-        # managing labels&lt;/a&gt;.
-      &quot;a_key&quot;: &quot;A String&quot;,
-    },
-    &quot;deadLetterPolicy&quot;: { # Dead lettering is done on a best effort basis. The same message might be # A policy that specifies the conditions for dead lettering messages in
-        # this subscription. If dead_letter_policy is not set, dead lettering
-        # is disabled.
-        #
-        # The Cloud Pub/Sub service account associated with this subscriptions&#x27;s
-        # parent project (i.e.,
-        # service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have
-        # permission to Acknowledge() messages on this subscription.
-        # dead lettered multiple times.
-        #
-        # If validation on any of the fields fails at subscription creation/updation,
-        # the create/update subscription request will fail.
-      &quot;deadLetterTopic&quot;: &quot;A String&quot;, # The name of the topic to which dead letter messages should be published.
-          # Format is `projects/{project}/topics/{topic}`.The Cloud Pub/Sub service
-          # account associated with the enclosing subscription&#x27;s parent project (i.e.,
-          # service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have
-          # permission to Publish() to this topic.
-          #
-          # The operation will fail if the topic does not exist.
-          # Users should ensure that there is a subscription attached to this topic
-          # since messages published to a topic with no subscriptions are lost.
-      &quot;maxDeliveryAttempts&quot;: 42, # The maximum number of delivery attempts for any message. The value must be
-          # between 5 and 100.
-          #
-          # The number of delivery attempts is defined as 1 + (the sum of number of
-          # NACKs and number of times the acknowledgement deadline has been exceeded
-          # for the message).
-          #
-          # A NACK is any call to ModifyAckDeadline with a 0 deadline. Note that
-          # client libraries may automatically extend ack_deadlines.
-          #
-          # This field will be honored on a best effort basis.
-          #
-          # If this parameter is 0, a default value of 5 is used.
-    },
-    &quot;expirationPolicy&quot;: { # A policy that specifies the conditions for resource expiration (i.e., # A policy that specifies the conditions for this subscription&#x27;s expiration.
-        # A subscription is considered active as long as any connected subscriber is
-        # successfully consuming messages from the subscription or is issuing
-        # operations on the subscription. If `expiration_policy` is not set, a
-        # *default policy* with `ttl` of 31 days will be used. The minimum allowed
-        # value for `expiration_policy.ttl` is 1 day.
-        # automatic resource deletion).
-      &quot;ttl&quot;: &quot;A String&quot;, # Specifies the &quot;time-to-live&quot; duration for an associated resource. The
-          # resource expires if it is not active for a period of `ttl`. The definition
-          # of &quot;activity&quot; depends on the type of the associated resource. The minimum
-          # and maximum allowed values for `ttl` depend on the type of the associated
-          # resource, as well. If `ttl` is not set, the associated resource never
-          # expires.
-    },
-    &quot;name&quot;: &quot;A String&quot;, # Required. The name of the subscription. It must have the format
-        # `&quot;projects/{project}/subscriptions/{subscription}&quot;`. `{subscription}` must
-        # start with a letter, and contain only letters (`[A-Za-z]`), numbers
-        # (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),
-        # plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters
-        # in length, and it must not start with `&quot;goog&quot;`.
-    &quot;topic&quot;: &quot;A String&quot;, # Required. The name of the topic from which this subscription is receiving messages.
-        # Format is `projects/{project}/topics/{topic}`.
-        # The value of this field will be `_deleted-topic_` if the topic has been
-        # deleted.
-  }</pre>
+    }</pre>
 </div>
 
 <div class="method">
@@ -1630,6 +1762,30 @@
         # empty. The Pub/Sub system may return fewer than the `maxMessages` requested
         # even if there are more messages available in the backlog.
       { # A message and its corresponding acknowledgment ID.
+        &quot;message&quot;: { # A message that is published by publishers and consumed by subscribers. The # The message.
+            # message must contain either a non-empty data field or at least one attribute.
+            # Note that client libraries represent this object differently
+            # depending on the language. See the corresponding [client library
+            # documentation](https://cloud.google.com/pubsub/docs/reference/libraries) for
+            # more information. See [quotas and limits]
+            # (https://cloud.google.com/pubsub/quotas) for more information about message
+            # limits.
+          &quot;data&quot;: &quot;A String&quot;, # The message data field. If this field is empty, the message must contain
+              # at least one attribute.
+          &quot;publishTime&quot;: &quot;A String&quot;, # The time at which the message was published, populated by the server when
+              # it receives the `Publish` call. It must not be populated by the
+              # publisher in a `Publish` call.
+          &quot;messageId&quot;: &quot;A String&quot;, # ID of this message, assigned by the server when the message is published.
+              # Guaranteed to be unique within the topic. This value may be read by a
+              # subscriber that receives a `PubsubMessage` via a `Pull` call or a push
+              # delivery. It must not be populated by the publisher in a `Publish` call.
+          &quot;attributes&quot;: { # Attributes for this message. If this field is empty, the message must
+              # contain non-empty data. This can be used to filter messages on the
+              # subscription.
+            &quot;a_key&quot;: &quot;A String&quot;,
+          },
+        },
+        &quot;ackId&quot;: &quot;A String&quot;, # This ID can be used to acknowledge the received message.
         &quot;deliveryAttempt&quot;: 42, # The approximate number of times that Cloud Pub/Sub has attempted to deliver
             # the associated message to a subscriber.
             #
@@ -1646,29 +1802,6 @@
             # value of 1. The value is calculated at best effort and is approximate.
             #
             # If a DeadLetterPolicy is not set on the subscription, this will be 0.
-        &quot;message&quot;: { # A message that is published by publishers and consumed by subscribers. The # The message.
-            # message must contain either a non-empty data field or at least one attribute.
-            # Note that client libraries represent this object differently
-            # depending on the language. See the corresponding
-            # &lt;a href=&quot;https://cloud.google.com/pubsub/docs/reference/libraries&quot;&gt;client
-            # library documentation&lt;/a&gt; for more information. See
-            # &lt;a href=&quot;https://cloud.google.com/pubsub/quotas&quot;&gt;Quotas and limits&lt;/a&gt;
-            # for more information about message limits.
-          &quot;publishTime&quot;: &quot;A String&quot;, # The time at which the message was published, populated by the server when
-              # it receives the `Publish` call. It must not be populated by the
-              # publisher in a `Publish` call.
-          &quot;data&quot;: &quot;A String&quot;, # The message data field. If this field is empty, the message must contain
-              # at least one attribute.
-          &quot;messageId&quot;: &quot;A String&quot;, # ID of this message, assigned by the server when the message is published.
-              # Guaranteed to be unique within the topic. This value may be read by a
-              # subscriber that receives a `PubsubMessage` via a `Pull` call or a push
-              # delivery. It must not be populated by the publisher in a `Publish` call.
-          &quot;attributes&quot;: { # Attributes for this message. If this field is empty, the message must
-              # contain non-empty data.
-            &quot;a_key&quot;: &quot;A String&quot;,
-          },
-        },
-        &quot;ackId&quot;: &quot;A String&quot;, # This ID can be used to acknowledge the received message.
       },
     ],
   }</pre>
@@ -1677,13 +1810,12 @@
 <div class="method">
     <code class="details" id="seek">seek(subscription, body=None, x__xgafv=None)</code>
   <pre>Seeks an existing subscription to a point in time or to a given snapshot,
-whichever is provided in the request. Snapshots are used in
-&lt;a href=&quot;https://cloud.google.com/pubsub/docs/replay-overview&quot;&gt;Seek&lt;/a&gt;
-operations, which allow
-you to manage message acknowledgments in bulk. That is, you can set the
-acknowledgment state of messages in an existing subscription to the state
-captured by a snapshot. Note that both the subscription and the snapshot
-must be on the same topic.
+whichever is provided in the request. Snapshots are used in [Seek](
+https://cloud.google.com/pubsub/docs/replay-overview) operations, which
+allow you to manage message acknowledgments in bulk. That is, you can set
+the acknowledgment state of messages in an existing subscription to the
+state captured by a snapshot. Note that both the subscription and the
+snapshot must be on the same topic.
 
 Args:
   subscription: string, Required. The subscription to affect. (required)
@@ -1691,9 +1823,6 @@
     The object takes the form of:
 
 { # Request for the `Seek` method.
-    &quot;snapshot&quot;: &quot;A String&quot;, # The snapshot to seek to. The snapshot&#x27;s topic must be the same as that of
-        # the provided subscription.
-        # Format is `projects/{project}/snapshots/{snap}`.
     &quot;time&quot;: &quot;A String&quot;, # The time to seek to.
         # Messages retained in the subscription that were published before this
         # time are marked as acknowledged, and messages retained in the
@@ -1705,6 +1834,9 @@
         # window (or to a point before the system&#x27;s notion of the subscription
         # creation time), only retained messages will be marked as unacknowledged,
         # and already-expunged messages will not be restored.
+    &quot;snapshot&quot;: &quot;A String&quot;, # The snapshot to seek to. The snapshot&#x27;s topic must be the same as that of
+        # the provided subscription.
+        # Format is `projects/{project}/snapshots/{snap}`.
   }
 
   x__xgafv: string, V1 error format.
@@ -1803,6 +1935,42 @@
         #
         # For a description of IAM and its features, see the
         # [IAM documentation](https://cloud.google.com/iam/docs/).
+      &quot;version&quot;: 42, # Specifies the format of the policy.
+          #
+          # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
+          # are rejected.
+          #
+          # Any operation that affects conditional role bindings must specify version
+          # `3`. This requirement applies to the following operations:
+          #
+          # * Getting a policy that includes a conditional role binding
+          # * Adding a conditional role binding to a policy
+          # * Changing a conditional role binding in a policy
+          # * Removing any role binding, with or without a condition, from a policy
+          #   that includes conditions
+          #
+          # **Important:** If you use IAM Conditions, you must include the `etag` field
+          # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
+          # you to overwrite a version `3` policy with a version `1` policy, and all of
+          # the conditions in the version `3` policy are lost.
+          #
+          # If a policy does not include any conditions, operations on that policy may
+          # specify any valid version or leave the field unset.
+          #
+          # To learn which resources support conditions in their IAM policies, see the
+          # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+      &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help
+          # prevent simultaneous updates of a policy from overwriting each other.
+          # It is strongly suggested that systems make use of the `etag` in the
+          # read-modify-write cycle to perform policy updates in order to avoid race
+          # conditions: An `etag` is returned in the response to `getIamPolicy`, and
+          # systems are expected to put that etag in the request to `setIamPolicy` to
+          # ensure that their change will be applied to the same version of the policy.
+          #
+          # **Important:** If you use IAM Conditions, you must include the `etag` field
+          # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
+          # you to overwrite a version `3` policy with a version `1` policy, and all of
+          # the conditions in the version `3` policy are lost.
       &quot;bindings&quot;: [ # Associates a list of `members` to a `role`. Optionally, may specify a
           # `condition` that determines how and when the `bindings` are applied. Each
           # of the `bindings` must contain at least one member.
@@ -1854,11 +2022,13 @@
             &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing
                 # its purpose. This can be used e.g. in UIs which allow to enter the
                 # expression.
-            &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
-                # describes the expression, e.g. when hovered over it in a UI.
             &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
                 # syntax.
+            &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
+                # describes the expression, e.g. when hovered over it in a UI.
           },
+          &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`.
+              # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
           &quot;members&quot;: [ # Specifies the identities requesting access for a Cloud Platform resource.
               # `members` can have the following values:
               #
@@ -1904,46 +2074,8 @@
               #
             &quot;A String&quot;,
           ],
-          &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`.
-              # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
         },
       ],
-      &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help
-          # prevent simultaneous updates of a policy from overwriting each other.
-          # It is strongly suggested that systems make use of the `etag` in the
-          # read-modify-write cycle to perform policy updates in order to avoid race
-          # conditions: An `etag` is returned in the response to `getIamPolicy`, and
-          # systems are expected to put that etag in the request to `setIamPolicy` to
-          # ensure that their change will be applied to the same version of the policy.
-          #
-          # **Important:** If you use IAM Conditions, you must include the `etag` field
-          # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
-          # you to overwrite a version `3` policy with a version `1` policy, and all of
-          # the conditions in the version `3` policy are lost.
-      &quot;version&quot;: 42, # Specifies the format of the policy.
-          #
-          # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
-          # are rejected.
-          #
-          # Any operation that affects conditional role bindings must specify version
-          # `3`. This requirement applies to the following operations:
-          #
-          # * Getting a policy that includes a conditional role binding
-          # * Adding a conditional role binding to a policy
-          # * Changing a conditional role binding in a policy
-          # * Removing any role binding, with or without a condition, from a policy
-          #   that includes conditions
-          #
-          # **Important:** If you use IAM Conditions, you must include the `etag` field
-          # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
-          # you to overwrite a version `3` policy with a version `1` policy, and all of
-          # the conditions in the version `3` policy are lost.
-          #
-          # If a policy does not include any conditions, operations on that policy may
-          # specify any valid version or leave the field unset.
-          #
-          # To learn which resources support conditions in their IAM policies, see the
-          # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
     },
   }
 
@@ -2022,6 +2154,42 @@
       #
       # For a description of IAM and its features, see the
       # [IAM documentation](https://cloud.google.com/iam/docs/).
+    &quot;version&quot;: 42, # Specifies the format of the policy.
+        #
+        # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
+        # are rejected.
+        #
+        # Any operation that affects conditional role bindings must specify version
+        # `3`. This requirement applies to the following operations:
+        #
+        # * Getting a policy that includes a conditional role binding
+        # * Adding a conditional role binding to a policy
+        # * Changing a conditional role binding in a policy
+        # * Removing any role binding, with or without a condition, from a policy
+        #   that includes conditions
+        #
+        # **Important:** If you use IAM Conditions, you must include the `etag` field
+        # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
+        # you to overwrite a version `3` policy with a version `1` policy, and all of
+        # the conditions in the version `3` policy are lost.
+        #
+        # If a policy does not include any conditions, operations on that policy may
+        # specify any valid version or leave the field unset.
+        #
+        # To learn which resources support conditions in their IAM policies, see the
+        # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+    &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help
+        # prevent simultaneous updates of a policy from overwriting each other.
+        # It is strongly suggested that systems make use of the `etag` in the
+        # read-modify-write cycle to perform policy updates in order to avoid race
+        # conditions: An `etag` is returned in the response to `getIamPolicy`, and
+        # systems are expected to put that etag in the request to `setIamPolicy` to
+        # ensure that their change will be applied to the same version of the policy.
+        #
+        # **Important:** If you use IAM Conditions, you must include the `etag` field
+        # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
+        # you to overwrite a version `3` policy with a version `1` policy, and all of
+        # the conditions in the version `3` policy are lost.
     &quot;bindings&quot;: [ # Associates a list of `members` to a `role`. Optionally, may specify a
         # `condition` that determines how and when the `bindings` are applied. Each
         # of the `bindings` must contain at least one member.
@@ -2073,11 +2241,13 @@
           &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing
               # its purpose. This can be used e.g. in UIs which allow to enter the
               # expression.
-          &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
-              # describes the expression, e.g. when hovered over it in a UI.
           &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
               # syntax.
+          &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
+              # describes the expression, e.g. when hovered over it in a UI.
         },
+        &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`.
+            # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
         &quot;members&quot;: [ # Specifies the identities requesting access for a Cloud Platform resource.
             # `members` can have the following values:
             #
@@ -2123,46 +2293,8 @@
             #
           &quot;A String&quot;,
         ],
-        &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`.
-            # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
       },
     ],
-    &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help
-        # prevent simultaneous updates of a policy from overwriting each other.
-        # It is strongly suggested that systems make use of the `etag` in the
-        # read-modify-write cycle to perform policy updates in order to avoid race
-        # conditions: An `etag` is returned in the response to `getIamPolicy`, and
-        # systems are expected to put that etag in the request to `setIamPolicy` to
-        # ensure that their change will be applied to the same version of the policy.
-        #
-        # **Important:** If you use IAM Conditions, you must include the `etag` field
-        # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
-        # you to overwrite a version `3` policy with a version `1` policy, and all of
-        # the conditions in the version `3` policy are lost.
-    &quot;version&quot;: 42, # Specifies the format of the policy.
-        #
-        # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
-        # are rejected.
-        #
-        # Any operation that affects conditional role bindings must specify version
-        # `3`. This requirement applies to the following operations:
-        #
-        # * Getting a policy that includes a conditional role binding
-        # * Adding a conditional role binding to a policy
-        # * Changing a conditional role binding in a policy
-        # * Removing any role binding, with or without a condition, from a policy
-        #   that includes conditions
-        #
-        # **Important:** If you use IAM Conditions, you must include the `etag` field
-        # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
-        # you to overwrite a version `3` policy with a version `1` policy, and all of
-        # the conditions in the version `3` policy are lost.
-        #
-        # If a policy does not include any conditions, operations on that policy may
-        # specify any valid version or leave the field unset.
-        #
-        # To learn which resources support conditions in their IAM policies, see the
-        # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
   }</pre>
 </div>