docs: docs update (#911)

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
- [ ] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/google-api-python-client/issues/new/choose) before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
- [ ] Ensure the tests and linter pass
- [ ] Code coverage does not decrease (if any source code was changed)
- [ ] Appropriate docs were updated (if necessary)

Fixes #<issue_number_goes_here> 🦕
diff --git a/docs/dyn/iap_v1.v1.html b/docs/dyn/iap_v1.v1.html
index 45766a3..d3385f9 100644
--- a/docs/dyn/iap_v1.v1.html
+++ b/docs/dyn/iap_v1.v1.html
@@ -104,9 +104,9 @@
     The object takes the form of:
 
 { # Request message for `GetIamPolicy` method.
-    "options": { # Encapsulates settings provided to GetIamPolicy. # OPTIONAL: A `GetPolicyOptions` object for specifying options to
-        # `GetIamPolicy`. This field is only used by Cloud IAM.
-      "requestedPolicyVersion": 42, # Optional. The policy format version to be returned.
+    &quot;options&quot;: { # Encapsulates settings provided to GetIamPolicy. # OPTIONAL: A `GetPolicyOptions` object for specifying options to
+        # `GetIamPolicy`.
+      &quot;requestedPolicyVersion&quot;: 42, # Optional. The policy format version to be returned.
           #
           # Valid values are 0, 1, and 3. Requests specifying an invalid value will be
           # rejected.
@@ -114,6 +114,10 @@
           # Requests for policies with any conditional bindings must specify version 3.
           # Policies without any conditional bindings may specify any valid value 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).
     },
   }
 
@@ -135,36 +139,40 @@
       # permissions; each `role` can be an IAM predefined role or a user-created
       # custom role.
       #
-      # Optionally, a `binding` can specify a `condition`, which is a logical
-      # expression that allows access to a resource only if the expression evaluates
-      # to `true`. A condition can add constraints based on attributes of the
-      # request, the resource, or both.
+      # For some types of Google Cloud resources, a `binding` can also specify a
+      # `condition`, which is a logical expression that allows access to a resource
+      # only if the expression evaluates to `true`. A condition can add constraints
+      # based on attributes of the request, the resource, or both. To learn which
+      # resources support conditions in their IAM policies, see the
+      # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
       #
       # **JSON example:**
       #
       #     {
-      #       "bindings": [
+      #       &quot;bindings&quot;: [
       #         {
-      #           "role": "roles/resourcemanager.organizationAdmin",
-      #           "members": [
-      #             "user:mike@example.com",
-      #             "group:admins@example.com",
-      #             "domain:google.com",
-      #             "serviceAccount:my-project-id@appspot.gserviceaccount.com"
+      #           &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;,
+      #           &quot;members&quot;: [
+      #             &quot;user:mike@example.com&quot;,
+      #             &quot;group:admins@example.com&quot;,
+      #             &quot;domain:google.com&quot;,
+      #             &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot;
       #           ]
       #         },
       #         {
-      #           "role": "roles/resourcemanager.organizationViewer",
-      #           "members": ["user:eve@example.com"],
-      #           "condition": {
-      #             "title": "expirable access",
-      #             "description": "Does not grant access after Sep 2020",
-      #             "expression": "request.time &lt; timestamp('2020-10-01T00:00:00.000Z')",
+      #           &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;,
+      #           &quot;members&quot;: [
+      #             &quot;user:eve@example.com&quot;
+      #           ],
+      #           &quot;condition&quot;: {
+      #             &quot;title&quot;: &quot;expirable access&quot;,
+      #             &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;,
+      #             &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;,
       #           }
       #         }
       #       ],
-      #       "etag": "BwWWja0YfJA=",
-      #       "version": 3
+      #       &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;,
+      #       &quot;version&quot;: 3
       #     }
       #
       # **YAML example:**
@@ -182,19 +190,107 @@
       #       condition:
       #         title: expirable access
       #         description: Does not grant access after Sep 2020
-      #         expression: request.time &lt; timestamp('2020-10-01T00:00:00.000Z')
+      #         expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)
       #     - etag: BwWWja0YfJA=
       #     - version: 3
       #
       # For a description of IAM and its features, see the
       # [IAM documentation](https://cloud.google.com/iam/docs/).
-    "bindings": [ # Associates a list of `members` to a `role`. Optionally, may specify a
+    &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).
+    &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.
       { # Associates `members` with a `role`.
-        "role": "A String", # Role that is assigned to `members`.
+        &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`.
             # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
-        "members": [ # Specifies the identities requesting access for a Cloud Platform resource.
+        &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) # The condition that is associated with this binding.
+            #
+            # If the condition evaluates to `true`, then this binding applies to the
+            # current request.
+            #
+            # If the condition evaluates to `false`, then this binding does not apply to
+            # the current request. However, a different role binding might grant the same
+            # role to one or more of the members in this binding.
+            #
+            # To learn which resources support conditions in their IAM policies, see the
+            # [IAM
+            # documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+            # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
+            # are documented at https://github.com/google/cel-spec.
+            #
+            # Example (Comparison):
+            #
+            #     title: &quot;Summary size limit&quot;
+            #     description: &quot;Determines if a summary is less than 100 chars&quot;
+            #     expression: &quot;document.summary.size() &lt; 100&quot;
+            #
+            # Example (Equality):
+            #
+            #     title: &quot;Requestor is owner&quot;
+            #     description: &quot;Determines if requestor is the document owner&quot;
+            #     expression: &quot;document.owner == request.auth.claims.email&quot;
+            #
+            # Example (Logic):
+            #
+            #     title: &quot;Public documents&quot;
+            #     description: &quot;Determine whether the document should be publicly visible&quot;
+            #     expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot;
+            #
+            # Example (Data Manipulation):
+            #
+            #     title: &quot;Notification string&quot;
+            #     description: &quot;Create a notification string with a timestamp.&quot;
+            #     expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot;
+            #
+            # The exact variables and functions that may be referenced within an expression
+            # are determined by the service that evaluates it. See the service
+            # documentation for additional information.
+          &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
+              # syntax.
+          &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;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
+              # reporting, e.g. a file name and a position in the file.
+          &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;members&quot;: [ # Specifies the identities requesting access for a Cloud Platform resource.
             # `members` can have the following values:
             #
             # * `allUsers`: A special identifier that represents anyone who is
@@ -237,87 +333,10 @@
             # * `domain:{domain}`: The G Suite domain (primary) that represents all the
             #    users of that domain. For example, `google.com` or `example.com`.
             #
-          "A String",
+          &quot;A String&quot;,
         ],
-        "condition": { # Represents a textual expression in the Common Expression Language (CEL) # The condition that is associated with this binding.
-            # NOTE: An unsatisfied condition will not allow user access via current
-            # binding. Different bindings, including their conditions, are examined
-            # independently.
-            # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
-            # are documented at https://github.com/google/cel-spec.
-            #
-            # Example (Comparison):
-            #
-            #     title: "Summary size limit"
-            #     description: "Determines if a summary is less than 100 chars"
-            #     expression: "document.summary.size() &lt; 100"
-            #
-            # Example (Equality):
-            #
-            #     title: "Requestor is owner"
-            #     description: "Determines if requestor is the document owner"
-            #     expression: "document.owner == request.auth.claims.email"
-            #
-            # Example (Logic):
-            #
-            #     title: "Public documents"
-            #     description: "Determine whether the document should be publicly visible"
-            #     expression: "document.type != 'private' &amp;&amp; document.type != 'internal'"
-            #
-            # Example (Data Manipulation):
-            #
-            #     title: "Notification string"
-            #     description: "Create a notification string with a timestamp."
-            #     expression: "'New message received at ' + string(document.create_time)"
-            #
-            # The exact variables and functions that may be referenced within an expression
-            # are determined by the service that evaluates it. See the service
-            # documentation for additional information.
-          "description": "A String", # Optional. Description of the expression. This is a longer text which
-              # describes the expression, e.g. when hovered over it in a UI.
-          "expression": "A String", # Textual representation of an expression in Common Expression Language
-              # syntax.
-          "location": "A String", # Optional. String indicating the location of the expression for error
-              # reporting, e.g. a file name and a position in the file.
-          "title": "A String", # 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.
-        },
       },
     ],
-    "etag": "A String", # `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.
-    "version": 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.
   }</pre>
 </div>
 
@@ -338,123 +357,125 @@
   An object of the form:
 
     { # The IAP configurable settings.
-    "applicationSettings": { # Wrapper over application specific settings for IAP. # Top level wrapper for all application related settings in IAP
-      "accessDeniedPageSettings": { # Custom content configuration for access denied page. # Customization for Access Denied page.
-          # IAP allows customers to define a custom URI to use as the error page when
-          # access is denied to users. If IAP prevents access to this page, the default
-          # IAP error page will be displayed instead.
-        "accessDeniedPageUri": "A String", # The URI to be redirected to when access is denied.
-      },
-      "csmSettings": { # Configuration for RCTokens generated for CSM workloads protected by IAP. # Settings to configure IAP's behavior for a CSM mesh.
-          # RCTokens are IAP generated JWTs that can be verified at the application. The
-          # RCToken is primarily used for ISTIO deployments, and can be scoped to a
-          # single mesh by configuring the audience field accordingly
-        "rctokenAud": "A String", # Audience claim set in the generated RCToken. This value is not validated by
-            # IAP.
-      },
-    },
-    "accessSettings": { # Access related settings for IAP protected apps. # Top level wrapper for all access related setting in IAP
-      "oauthSettings": { # Configuration for OAuth login&amp;consent flow behavior as well as for OAuth # Settings to configure IAP's OAuth behavior.
-          # Credentials.
-        "loginHint": "A String", # Domain hint to send as hd=? parameter in OAuth request flow. Enables
-            # redirect to primary IDP by skipping Google's login screen.
-            # https://developers.google.com/identity/protocols/OpenIDConnect#hd-param
-            # Note: IAP does not verify that the id token's hd claim matches this value
-            # since access behavior is managed by IAM policies.
-        "clientId": "A String", # OAuth 2.0 client ID used in the OAuth flow to generate an access token. If
-            # this field is set, you can skip obtaining the OAuth credentials in this
-            # step:
-            # https://developers.google.com/identity/protocols/OAuth2?hl=en_US#1.-obtain-oauth-2.0-credentials-from-the-google-api-console.
-            # However, this could allow for client sharing. The risks of client sharing
-            # are outlined here:
-            # https://cloud.google.com/iap/docs/sharing-oauth-clients#risks.
-      },
-      "corsSettings": { # Allows customers to configure HTTP request paths that'll allow HTTP OPTIONS # Configuration to allow cross-origin requests via IAP.
-          # call to bypass authentication and authorization.
-        "allowHttpOptions": True or False, # Configuration to allow HTTP OPTIONS calls to skip authorization. If
-            # undefined, IAP will not apply any special logic to OPTIONS requests.
-      },
-      "policyDelegationSettings": { # PolicyDelegationConfig allows google-internal teams to use IAP for apps # Settings to configure Policy delegation for apps hosted in tenant projects.
-          # INTERNAL_ONLY.
-          # hosted in a tenant project. Using these settings, the app can delegate
-          # permission check to happen against the linked customer project.
-          # This is only ever supposed to be used by google internal teams, hence the
-          # restriction on the proto.
-        "policyName": { # Policy name to be checked
-          "region": "A String", # For Cloud IAM:
-              # The location of the Policy.
-              # Must be empty or "global" for Policies owned by global IAM.  Must name a
-              # region from prodspec/cloud-iam-cloudspec for Regional IAM Policies, see
-              # http://go/iam-faq#where-is-iam-currently-deployed.
-              #
-              # For Local IAM:
-              # This field should be set to "local".
-          "type": "A String", # Valid values for type might be 'gce', 'gcs', 'project', 'account' etc.
-          "id": "A String",
+      &quot;applicationSettings&quot;: { # Wrapper over application specific settings for IAP. # Top level wrapper for all application related settings in IAP
+        &quot;csmSettings&quot;: { # Configuration for RCTokens generated for CSM workloads protected by IAP. # Settings to configure IAP&#x27;s behavior for a CSM mesh.
+            # RCTokens are IAP generated JWTs that can be verified at the application. The
+            # RCToken is primarily used for ISTIO deployments, and can be scoped to a
+            # single mesh by configuring the audience field accordingly
+          &quot;rctokenAud&quot;: &quot;A String&quot;, # Audience claim set in the generated RCToken. This value is not validated by
+              # IAP.
         },
-        "iamPermission": "A String", # Permission to check in IAM.
-        "resource": { # IAM resource to check permission on
-          "labels": { # The service defined labels of the resource on which the conditions will be
-              # evaluated. The semantics - including the key names - are vague to IAM.
-              # If the effective condition has a reference to a `resource.labels[foo]`
-              # construct, IAM consults with this map to retrieve the values associated
-              # with `foo` key for Conditions evaluation. If the provided key is not found
-              # in the labels map, the condition would evaluate to false.
-              #
-              # This field is in limited use. If your intended use case is not expected
-              # to express resource.labels attribute in IAM Conditions, leave this field
-              # empty. Before planning on using this attribute please:
-              # * Read go/iam-conditions-labels-comm and ensure your service can meet the
-              #   data availability and management requirements.
-              # * Talk to iam-conditions-eng@ about your use case.
-            "a_key": "A String",
+        &quot;cookieDomain&quot;: &quot;A String&quot;, # The Domain value to set for cookies generated by IAP. This value is not
+            # validated by the API, but will be ignored at runtime if invalid.
+        &quot;accessDeniedPageSettings&quot;: { # Custom content configuration for access denied page. # Customization for Access Denied page.
+            # IAP allows customers to define a custom URI to use as the error page when
+            # access is denied to users. If IAP prevents access to this page, the default
+            # IAP error page will be displayed instead.
+          &quot;accessDeniedPageUri&quot;: &quot;A String&quot;, # The URI to be redirected to when access is denied.
+        },
+      },
+      &quot;accessSettings&quot;: { # Access related settings for IAP protected apps. # Top level wrapper for all access related setting in IAP
+        &quot;corsSettings&quot;: { # Allows customers to configure HTTP request paths that&#x27;ll allow HTTP OPTIONS # Configuration to allow cross-origin requests via IAP.
+            # call to bypass authentication and authorization.
+          &quot;allowHttpOptions&quot;: True or False, # Configuration to allow HTTP OPTIONS calls to skip authorization. If
+              # undefined, IAP will not apply any special logic to OPTIONS requests.
+        },
+        &quot;gcipSettings&quot;: { # Allows customers to configure tenant_id for GCIP instance per-app. # GCIP claims and endpoint configurations for 3p identity providers.
+          &quot;loginPageUri&quot;: &quot;A String&quot;, # Login page URI associated with the GCIP tenants.
+              # Typically, all resources within the same project share the same login page,
+              # though it could be overridden at the sub resource level.
+          &quot;tenantIds&quot;: [ # GCIP tenant ids that are linked to the IAP resource.
+              # tenant_ids could be a string beginning with a number character to indicate
+              # authenticating with GCIP tenant flow, or in the format of _&lt;ProjectNumber&gt;
+              # to indicate authenticating with GCIP agent flow.
+              # If agent flow is used, tenant_ids should only contain one single element,
+              # while for tenant flow, tenant_ids can contain multiple elements.
+            &quot;A String&quot;,
+          ],
+        },
+        &quot;policyDelegationSettings&quot;: { # PolicyDelegationConfig allows google-internal teams to use IAP for apps # Settings to configure Policy delegation for apps hosted in tenant projects.
+            # INTERNAL_ONLY.
+            # hosted in a tenant project. Using these settings, the app can delegate
+            # permission check to happen against the linked customer project.
+            # This is only ever supposed to be used by google internal teams, hence the
+            # restriction on the proto.
+          &quot;iamServiceName&quot;: &quot;A String&quot;, # The DNS name of the service (e.g. &quot;resourcemanager.googleapis.com&quot;).
+              # This should be the domain name part of the full resource names (see
+              # https://aip.dev/122#full-resource-names), which is usually
+              # the same as IamServiceSpec.service of the service where the resource type
+              # is defined.
+          &quot;iamPermission&quot;: &quot;A String&quot;, # Permission to check in IAM.
+          &quot;policyName&quot;: { # Policy name to be checked
+            &quot;type&quot;: &quot;A String&quot;, # Valid values for type might be &#x27;gce&#x27;, &#x27;gcs&#x27;, &#x27;project&#x27;, &#x27;account&#x27; etc.
+            &quot;id&quot;: &quot;A String&quot;,
+            &quot;region&quot;: &quot;A String&quot;, # For Cloud IAM:
+                # The location of the Policy.
+                # Must be empty or &quot;global&quot; for Policies owned by global IAM.  Must name a
+                # region from prodspec/cloud-iam-cloudspec for Regional IAM Policies, see
+                # go/iam-faq#where-is-iam-currently-deployed.
+                #
+                # For Local IAM:
+                # This field should be set to &quot;local&quot;.
           },
-          "type": "A String", # The public resource type name of the resource on which conditions will be
-              # evaluated. It is configured using the official_name of the ResourceType as
-              # defined in service configurations under //configs/cloud/resourcetypes.
-              # For example, the official_name for GCP projects is set as
-              # 'cloudresourcemanager.googleapis.com/Project' according to
-              # //configs/cloud/resourcetypes/google/cloud/resourcemanager/prod.yaml
-              # For details see go/iam-conditions-integration-guide.
-          "name": "A String", # Name of the resource on which conditions will be evaluated.
-              # Must use the Relative Resource Name of the resource, which is the URI
-              # path of the resource without the leading "/". Examples are
-              # "projects/_/buckets/[BUCKET-ID]" for storage buckets or
-              # "projects/[PROJECT-ID]/global/firewalls/[FIREWALL-ID]" for a firewall.
-              #
-              # This field is required for evaluating conditions with rules on resource
-              # names. For a `list` permission check, the resource.name value must be set
-              # to the parent resource. If the parent resource is a project, this field
-              # should be left unset.
-          "service": "A String", # The name of the service this resource belongs to. It is configured using
-              # the official_service_name of the Service as defined in service
-              # configurations under //configs/cloud/resourcetypes.
-              # For example, the official_service_name of cloud resource manager service
-              # is set as 'cloudresourcemanager.googleapis.com' according to
-              # //configs/cloud/resourcetypes/google/cloud/resourcemanager/prod.yaml
+          &quot;resource&quot;: { # IAM resource to check permission on
+            &quot;type&quot;: &quot;A String&quot;, # The public resource type name of the resource on which conditions will be
+                # evaluated. It is configured using the official_name of the ResourceType as
+                # defined in service configurations under //configs/cloud/resourcetypes.
+                # For example, the official_name for GCP projects is set as
+                # &#x27;cloudresourcemanager.googleapis.com/Project&#x27; according to
+                # //configs/cloud/resourcetypes/google/cloud/resourcemanager/prod.yaml
+                # For details see go/iam-conditions-integration-guide.
+            &quot;labels&quot;: { # The service defined labels of the resource on which the conditions will be
+                # evaluated. The semantics - including the key names - are vague to IAM.
+                # If the effective condition has a reference to a `resource.labels[foo]`
+                # construct, IAM consults with this map to retrieve the values associated
+                # with `foo` key for Conditions evaluation. If the provided key is not found
+                # in the labels map, the condition would evaluate to false.
+                #
+                # This field is in limited use. If your intended use case is not expected
+                # to express resource.labels attribute in IAM Conditions, leave this field
+                # empty. Before planning on using this attribute please:
+                # * Read go/iam-conditions-labels-comm and ensure your service can meet the
+                #   data availability and management requirements.
+                # * Talk to iam-conditions-eng@ about your use case.
+              &quot;a_key&quot;: &quot;A String&quot;,
+            },
+            &quot;service&quot;: &quot;A String&quot;, # The name of the service this resource belongs to. It is configured using
+                # the official_service_name of the Service as defined in service
+                # configurations under //configs/cloud/resourcetypes.
+                # For example, the official_service_name of cloud resource manager service
+                # is set as &#x27;cloudresourcemanager.googleapis.com&#x27; according to
+                # //configs/cloud/resourcetypes/google/cloud/resourcemanager/prod.yaml
+            &quot;name&quot;: &quot;A String&quot;, # Name of the resource on which conditions will be evaluated.
+                # Must use the Relative Resource Name of the resource, which is the URI
+                # path of the resource without the leading &quot;/&quot;. Examples are
+                # &quot;projects/_/buckets/[BUCKET-ID]&quot; for storage buckets or
+                # &quot;projects/[PROJECT-ID]/global/firewalls/[FIREWALL-ID]&quot; for a firewall.
+                #
+                # This field is required for evaluating conditions with rules on resource
+                # names. For a `list` permission check, the resource.name value must be set
+                # to the parent resource. If the parent resource is a project, this field
+                # should be left unset.
+          },
         },
-        "iamServiceName": "A String", # The DNS name of the service (e.g. "resourcemanager.googleapis.com").
-            # This should be the domain name part of the full resource names (see
-            # https://aip.dev/122#full-resource-names), which is usually
-            # the same as IamServiceSpec.service of the service where the resource type
-            # is defined.
+        &quot;oauthSettings&quot;: { # Configuration for OAuth login&amp;consent flow behavior as well as for OAuth # Settings to configure IAP&#x27;s OAuth behavior.
+            # Credentials.
+          &quot;clientId&quot;: &quot;A String&quot;, # OAuth 2.0 client ID used in the OAuth flow to generate an access token. If
+              # this field is set, you can skip obtaining the OAuth credentials in this
+              # step:
+              # https://developers.google.com/identity/protocols/OAuth2?hl=en_US#1.-obtain-oauth-2.0-credentials-from-the-google-api-console.
+              # However, this could allow for client sharing. The risks of client sharing
+              # are outlined here:
+              # https://cloud.google.com/iap/docs/sharing-oauth-clients#risks.
+          &quot;loginHint&quot;: &quot;A String&quot;, # Domain hint to send as hd=? parameter in OAuth request flow. Enables
+              # redirect to primary IDP by skipping Google&#x27;s login screen.
+              # https://developers.google.com/identity/protocols/OpenIDConnect#hd-param
+              # Note: IAP does not verify that the id token&#x27;s hd claim matches this value
+              # since access behavior is managed by IAM policies.
+        },
       },
-      "gcipSettings": { # Allows customers to configure tenant_id for GCIP instance per-app. # GCIP claims and endpoint configurations for 3p identity providers.
-        "loginPageUri": "A String", # Login page URI associated with the GCIP tenants.
-            # Typically, all resources within the same project share the same login page,
-            # though it could be overridden at the sub resource level.
-        "tenantIds": [ # GCIP tenant ids that are linked to the IAP resource.
-            # tenant_ids could be a string beginning with a number character to indicate
-            # authenticating with GCIP tenant flow, or in the format of _&lt;ProjectNumber&gt;
-            # to indicate authenticating with GCIP agent flow.
-            # If agent flow is used, tenant_ids should only contain one single element,
-            # while for tenant flow, tenant_ids can contain multiple elements.
-          "A String",
-        ],
-      },
-    },
-    "name": "A String", # Required. The resource name of the IAP protected resource.
-  }</pre>
+      &quot;name&quot;: &quot;A String&quot;, # Required. The resource name of the IAP protected resource.
+    }</pre>
 </div>
 
 <div class="method">
@@ -471,7 +492,7 @@
     The object takes the form of:
 
 { # Request message for `SetIamPolicy` method.
-    "policy": { # An Identity and Access Management (IAM) policy, which specifies access # REQUIRED: The complete policy to be applied to the `resource`. The size of
+    &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access # REQUIRED: The complete policy to be applied to the `resource`. The size of
         # the policy is limited to a few 10s of KB. An empty policy is a
         # valid policy but certain Cloud Platform services (such as Projects)
         # might reject them.
@@ -484,36 +505,40 @@
         # permissions; each `role` can be an IAM predefined role or a user-created
         # custom role.
         #
-        # Optionally, a `binding` can specify a `condition`, which is a logical
-        # expression that allows access to a resource only if the expression evaluates
-        # to `true`. A condition can add constraints based on attributes of the
-        # request, the resource, or both.
+        # For some types of Google Cloud resources, a `binding` can also specify a
+        # `condition`, which is a logical expression that allows access to a resource
+        # only if the expression evaluates to `true`. A condition can add constraints
+        # based on attributes of the request, the resource, or both. To learn which
+        # resources support conditions in their IAM policies, see the
+        # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
         #
         # **JSON example:**
         #
         #     {
-        #       "bindings": [
+        #       &quot;bindings&quot;: [
         #         {
-        #           "role": "roles/resourcemanager.organizationAdmin",
-        #           "members": [
-        #             "user:mike@example.com",
-        #             "group:admins@example.com",
-        #             "domain:google.com",
-        #             "serviceAccount:my-project-id@appspot.gserviceaccount.com"
+        #           &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;,
+        #           &quot;members&quot;: [
+        #             &quot;user:mike@example.com&quot;,
+        #             &quot;group:admins@example.com&quot;,
+        #             &quot;domain:google.com&quot;,
+        #             &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot;
         #           ]
         #         },
         #         {
-        #           "role": "roles/resourcemanager.organizationViewer",
-        #           "members": ["user:eve@example.com"],
-        #           "condition": {
-        #             "title": "expirable access",
-        #             "description": "Does not grant access after Sep 2020",
-        #             "expression": "request.time &lt; timestamp('2020-10-01T00:00:00.000Z')",
+        #           &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;,
+        #           &quot;members&quot;: [
+        #             &quot;user:eve@example.com&quot;
+        #           ],
+        #           &quot;condition&quot;: {
+        #             &quot;title&quot;: &quot;expirable access&quot;,
+        #             &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;,
+        #             &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;,
         #           }
         #         }
         #       ],
-        #       "etag": "BwWWja0YfJA=",
-        #       "version": 3
+        #       &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;,
+        #       &quot;version&quot;: 3
         #     }
         #
         # **YAML example:**
@@ -531,19 +556,107 @@
         #       condition:
         #         title: expirable access
         #         description: Does not grant access after Sep 2020
-        #         expression: request.time &lt; timestamp('2020-10-01T00:00:00.000Z')
+        #         expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)
         #     - etag: BwWWja0YfJA=
         #     - version: 3
         #
         # For a description of IAM and its features, see the
         # [IAM documentation](https://cloud.google.com/iam/docs/).
-      "bindings": [ # Associates a list of `members` to a `role`. Optionally, may specify a
+      &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).
+      &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.
         { # Associates `members` with a `role`.
-          "role": "A String", # Role that is assigned to `members`.
+          &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`.
               # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
-          "members": [ # Specifies the identities requesting access for a Cloud Platform resource.
+          &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) # The condition that is associated with this binding.
+              #
+              # If the condition evaluates to `true`, then this binding applies to the
+              # current request.
+              #
+              # If the condition evaluates to `false`, then this binding does not apply to
+              # the current request. However, a different role binding might grant the same
+              # role to one or more of the members in this binding.
+              #
+              # To learn which resources support conditions in their IAM policies, see the
+              # [IAM
+              # documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+              # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
+              # are documented at https://github.com/google/cel-spec.
+              #
+              # Example (Comparison):
+              #
+              #     title: &quot;Summary size limit&quot;
+              #     description: &quot;Determines if a summary is less than 100 chars&quot;
+              #     expression: &quot;document.summary.size() &lt; 100&quot;
+              #
+              # Example (Equality):
+              #
+              #     title: &quot;Requestor is owner&quot;
+              #     description: &quot;Determines if requestor is the document owner&quot;
+              #     expression: &quot;document.owner == request.auth.claims.email&quot;
+              #
+              # Example (Logic):
+              #
+              #     title: &quot;Public documents&quot;
+              #     description: &quot;Determine whether the document should be publicly visible&quot;
+              #     expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot;
+              #
+              # Example (Data Manipulation):
+              #
+              #     title: &quot;Notification string&quot;
+              #     description: &quot;Create a notification string with a timestamp.&quot;
+              #     expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot;
+              #
+              # The exact variables and functions that may be referenced within an expression
+              # are determined by the service that evaluates it. See the service
+              # documentation for additional information.
+            &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
+                # syntax.
+            &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;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
+                # reporting, e.g. a file name and a position in the file.
+            &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;members&quot;: [ # Specifies the identities requesting access for a Cloud Platform resource.
               # `members` can have the following values:
               #
               # * `allUsers`: A special identifier that represents anyone who is
@@ -586,87 +699,10 @@
               # * `domain:{domain}`: The G Suite domain (primary) that represents all the
               #    users of that domain. For example, `google.com` or `example.com`.
               #
-            "A String",
+            &quot;A String&quot;,
           ],
-          "condition": { # Represents a textual expression in the Common Expression Language (CEL) # The condition that is associated with this binding.
-              # NOTE: An unsatisfied condition will not allow user access via current
-              # binding. Different bindings, including their conditions, are examined
-              # independently.
-              # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
-              # are documented at https://github.com/google/cel-spec.
-              #
-              # Example (Comparison):
-              #
-              #     title: "Summary size limit"
-              #     description: "Determines if a summary is less than 100 chars"
-              #     expression: "document.summary.size() &lt; 100"
-              #
-              # Example (Equality):
-              #
-              #     title: "Requestor is owner"
-              #     description: "Determines if requestor is the document owner"
-              #     expression: "document.owner == request.auth.claims.email"
-              #
-              # Example (Logic):
-              #
-              #     title: "Public documents"
-              #     description: "Determine whether the document should be publicly visible"
-              #     expression: "document.type != 'private' &amp;&amp; document.type != 'internal'"
-              #
-              # Example (Data Manipulation):
-              #
-              #     title: "Notification string"
-              #     description: "Create a notification string with a timestamp."
-              #     expression: "'New message received at ' + string(document.create_time)"
-              #
-              # The exact variables and functions that may be referenced within an expression
-              # are determined by the service that evaluates it. See the service
-              # documentation for additional information.
-            "description": "A String", # Optional. Description of the expression. This is a longer text which
-                # describes the expression, e.g. when hovered over it in a UI.
-            "expression": "A String", # Textual representation of an expression in Common Expression Language
-                # syntax.
-            "location": "A String", # Optional. String indicating the location of the expression for error
-                # reporting, e.g. a file name and a position in the file.
-            "title": "A String", # 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.
-          },
         },
       ],
-      "etag": "A String", # `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.
-      "version": 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.
     },
   }
 
@@ -688,36 +724,40 @@
       # permissions; each `role` can be an IAM predefined role or a user-created
       # custom role.
       #
-      # Optionally, a `binding` can specify a `condition`, which is a logical
-      # expression that allows access to a resource only if the expression evaluates
-      # to `true`. A condition can add constraints based on attributes of the
-      # request, the resource, or both.
+      # For some types of Google Cloud resources, a `binding` can also specify a
+      # `condition`, which is a logical expression that allows access to a resource
+      # only if the expression evaluates to `true`. A condition can add constraints
+      # based on attributes of the request, the resource, or both. To learn which
+      # resources support conditions in their IAM policies, see the
+      # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
       #
       # **JSON example:**
       #
       #     {
-      #       "bindings": [
+      #       &quot;bindings&quot;: [
       #         {
-      #           "role": "roles/resourcemanager.organizationAdmin",
-      #           "members": [
-      #             "user:mike@example.com",
-      #             "group:admins@example.com",
-      #             "domain:google.com",
-      #             "serviceAccount:my-project-id@appspot.gserviceaccount.com"
+      #           &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;,
+      #           &quot;members&quot;: [
+      #             &quot;user:mike@example.com&quot;,
+      #             &quot;group:admins@example.com&quot;,
+      #             &quot;domain:google.com&quot;,
+      #             &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot;
       #           ]
       #         },
       #         {
-      #           "role": "roles/resourcemanager.organizationViewer",
-      #           "members": ["user:eve@example.com"],
-      #           "condition": {
-      #             "title": "expirable access",
-      #             "description": "Does not grant access after Sep 2020",
-      #             "expression": "request.time &lt; timestamp('2020-10-01T00:00:00.000Z')",
+      #           &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;,
+      #           &quot;members&quot;: [
+      #             &quot;user:eve@example.com&quot;
+      #           ],
+      #           &quot;condition&quot;: {
+      #             &quot;title&quot;: &quot;expirable access&quot;,
+      #             &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;,
+      #             &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;,
       #           }
       #         }
       #       ],
-      #       "etag": "BwWWja0YfJA=",
-      #       "version": 3
+      #       &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;,
+      #       &quot;version&quot;: 3
       #     }
       #
       # **YAML example:**
@@ -735,19 +775,107 @@
       #       condition:
       #         title: expirable access
       #         description: Does not grant access after Sep 2020
-      #         expression: request.time &lt; timestamp('2020-10-01T00:00:00.000Z')
+      #         expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)
       #     - etag: BwWWja0YfJA=
       #     - version: 3
       #
       # For a description of IAM and its features, see the
       # [IAM documentation](https://cloud.google.com/iam/docs/).
-    "bindings": [ # Associates a list of `members` to a `role`. Optionally, may specify a
+    &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).
+    &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.
       { # Associates `members` with a `role`.
-        "role": "A String", # Role that is assigned to `members`.
+        &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`.
             # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
-        "members": [ # Specifies the identities requesting access for a Cloud Platform resource.
+        &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) # The condition that is associated with this binding.
+            #
+            # If the condition evaluates to `true`, then this binding applies to the
+            # current request.
+            #
+            # If the condition evaluates to `false`, then this binding does not apply to
+            # the current request. However, a different role binding might grant the same
+            # role to one or more of the members in this binding.
+            #
+            # To learn which resources support conditions in their IAM policies, see the
+            # [IAM
+            # documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+            # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
+            # are documented at https://github.com/google/cel-spec.
+            #
+            # Example (Comparison):
+            #
+            #     title: &quot;Summary size limit&quot;
+            #     description: &quot;Determines if a summary is less than 100 chars&quot;
+            #     expression: &quot;document.summary.size() &lt; 100&quot;
+            #
+            # Example (Equality):
+            #
+            #     title: &quot;Requestor is owner&quot;
+            #     description: &quot;Determines if requestor is the document owner&quot;
+            #     expression: &quot;document.owner == request.auth.claims.email&quot;
+            #
+            # Example (Logic):
+            #
+            #     title: &quot;Public documents&quot;
+            #     description: &quot;Determine whether the document should be publicly visible&quot;
+            #     expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot;
+            #
+            # Example (Data Manipulation):
+            #
+            #     title: &quot;Notification string&quot;
+            #     description: &quot;Create a notification string with a timestamp.&quot;
+            #     expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot;
+            #
+            # The exact variables and functions that may be referenced within an expression
+            # are determined by the service that evaluates it. See the service
+            # documentation for additional information.
+          &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
+              # syntax.
+          &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;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
+              # reporting, e.g. a file name and a position in the file.
+          &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;members&quot;: [ # Specifies the identities requesting access for a Cloud Platform resource.
             # `members` can have the following values:
             #
             # * `allUsers`: A special identifier that represents anyone who is
@@ -790,87 +918,10 @@
             # * `domain:{domain}`: The G Suite domain (primary) that represents all the
             #    users of that domain. For example, `google.com` or `example.com`.
             #
-          "A String",
+          &quot;A String&quot;,
         ],
-        "condition": { # Represents a textual expression in the Common Expression Language (CEL) # The condition that is associated with this binding.
-            # NOTE: An unsatisfied condition will not allow user access via current
-            # binding. Different bindings, including their conditions, are examined
-            # independently.
-            # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
-            # are documented at https://github.com/google/cel-spec.
-            #
-            # Example (Comparison):
-            #
-            #     title: "Summary size limit"
-            #     description: "Determines if a summary is less than 100 chars"
-            #     expression: "document.summary.size() &lt; 100"
-            #
-            # Example (Equality):
-            #
-            #     title: "Requestor is owner"
-            #     description: "Determines if requestor is the document owner"
-            #     expression: "document.owner == request.auth.claims.email"
-            #
-            # Example (Logic):
-            #
-            #     title: "Public documents"
-            #     description: "Determine whether the document should be publicly visible"
-            #     expression: "document.type != 'private' &amp;&amp; document.type != 'internal'"
-            #
-            # Example (Data Manipulation):
-            #
-            #     title: "Notification string"
-            #     description: "Create a notification string with a timestamp."
-            #     expression: "'New message received at ' + string(document.create_time)"
-            #
-            # The exact variables and functions that may be referenced within an expression
-            # are determined by the service that evaluates it. See the service
-            # documentation for additional information.
-          "description": "A String", # Optional. Description of the expression. This is a longer text which
-              # describes the expression, e.g. when hovered over it in a UI.
-          "expression": "A String", # Textual representation of an expression in Common Expression Language
-              # syntax.
-          "location": "A String", # Optional. String indicating the location of the expression for error
-              # reporting, e.g. a file name and a position in the file.
-          "title": "A String", # 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.
-        },
       },
     ],
-    "etag": "A String", # `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.
-    "version": 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.
   }</pre>
 </div>
 
@@ -888,11 +939,11 @@
     The object takes the form of:
 
 { # Request message for `TestIamPermissions` method.
-    "permissions": [ # The set of permissions to check for the `resource`. Permissions with
-        # wildcards (such as '*' or 'storage.*') are not allowed. For more
+    &quot;permissions&quot;: [ # The set of permissions to check for the `resource`. Permissions with
+        # wildcards (such as &#x27;*&#x27; or &#x27;storage.*&#x27;) are not allowed. For more
         # information see
         # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
-      "A String",
+      &quot;A String&quot;,
     ],
   }
 
@@ -905,9 +956,9 @@
   An object of the form:
 
     { # Response message for `TestIamPermissions` method.
-    "permissions": [ # A subset of `TestPermissionsRequest.permissions` that the caller is
+    &quot;permissions&quot;: [ # A subset of `TestPermissionsRequest.permissions` that the caller is
         # allowed.
-      "A String",
+      &quot;A String&quot;,
     ],
   }</pre>
 </div>
@@ -923,123 +974,125 @@
     The object takes the form of:
 
 { # The IAP configurable settings.
-  "applicationSettings": { # Wrapper over application specific settings for IAP. # Top level wrapper for all application related settings in IAP
-    "accessDeniedPageSettings": { # Custom content configuration for access denied page. # Customization for Access Denied page.
-        # IAP allows customers to define a custom URI to use as the error page when
-        # access is denied to users. If IAP prevents access to this page, the default
-        # IAP error page will be displayed instead.
-      "accessDeniedPageUri": "A String", # The URI to be redirected to when access is denied.
-    },
-    "csmSettings": { # Configuration for RCTokens generated for CSM workloads protected by IAP. # Settings to configure IAP's behavior for a CSM mesh.
-        # RCTokens are IAP generated JWTs that can be verified at the application. The
-        # RCToken is primarily used for ISTIO deployments, and can be scoped to a
-        # single mesh by configuring the audience field accordingly
-      "rctokenAud": "A String", # Audience claim set in the generated RCToken. This value is not validated by
-          # IAP.
-    },
-  },
-  "accessSettings": { # Access related settings for IAP protected apps. # Top level wrapper for all access related setting in IAP
-    "oauthSettings": { # Configuration for OAuth login&amp;consent flow behavior as well as for OAuth # Settings to configure IAP's OAuth behavior.
-        # Credentials.
-      "loginHint": "A String", # Domain hint to send as hd=? parameter in OAuth request flow. Enables
-          # redirect to primary IDP by skipping Google's login screen.
-          # https://developers.google.com/identity/protocols/OpenIDConnect#hd-param
-          # Note: IAP does not verify that the id token's hd claim matches this value
-          # since access behavior is managed by IAM policies.
-      "clientId": "A String", # OAuth 2.0 client ID used in the OAuth flow to generate an access token. If
-          # this field is set, you can skip obtaining the OAuth credentials in this
-          # step:
-          # https://developers.google.com/identity/protocols/OAuth2?hl=en_US#1.-obtain-oauth-2.0-credentials-from-the-google-api-console.
-          # However, this could allow for client sharing. The risks of client sharing
-          # are outlined here:
-          # https://cloud.google.com/iap/docs/sharing-oauth-clients#risks.
-    },
-    "corsSettings": { # Allows customers to configure HTTP request paths that'll allow HTTP OPTIONS # Configuration to allow cross-origin requests via IAP.
-        # call to bypass authentication and authorization.
-      "allowHttpOptions": True or False, # Configuration to allow HTTP OPTIONS calls to skip authorization. If
-          # undefined, IAP will not apply any special logic to OPTIONS requests.
-    },
-    "policyDelegationSettings": { # PolicyDelegationConfig allows google-internal teams to use IAP for apps # Settings to configure Policy delegation for apps hosted in tenant projects.
-        # INTERNAL_ONLY.
-        # hosted in a tenant project. Using these settings, the app can delegate
-        # permission check to happen against the linked customer project.
-        # This is only ever supposed to be used by google internal teams, hence the
-        # restriction on the proto.
-      "policyName": { # Policy name to be checked
-        "region": "A String", # For Cloud IAM:
-            # The location of the Policy.
-            # Must be empty or "global" for Policies owned by global IAM.  Must name a
-            # region from prodspec/cloud-iam-cloudspec for Regional IAM Policies, see
-            # http://go/iam-faq#where-is-iam-currently-deployed.
-            #
-            # For Local IAM:
-            # This field should be set to "local".
-        "type": "A String", # Valid values for type might be 'gce', 'gcs', 'project', 'account' etc.
-        "id": "A String",
+    &quot;applicationSettings&quot;: { # Wrapper over application specific settings for IAP. # Top level wrapper for all application related settings in IAP
+      &quot;csmSettings&quot;: { # Configuration for RCTokens generated for CSM workloads protected by IAP. # Settings to configure IAP&#x27;s behavior for a CSM mesh.
+          # RCTokens are IAP generated JWTs that can be verified at the application. The
+          # RCToken is primarily used for ISTIO deployments, and can be scoped to a
+          # single mesh by configuring the audience field accordingly
+        &quot;rctokenAud&quot;: &quot;A String&quot;, # Audience claim set in the generated RCToken. This value is not validated by
+            # IAP.
       },
-      "iamPermission": "A String", # Permission to check in IAM.
-      "resource": { # IAM resource to check permission on
-        "labels": { # The service defined labels of the resource on which the conditions will be
-            # evaluated. The semantics - including the key names - are vague to IAM.
-            # If the effective condition has a reference to a `resource.labels[foo]`
-            # construct, IAM consults with this map to retrieve the values associated
-            # with `foo` key for Conditions evaluation. If the provided key is not found
-            # in the labels map, the condition would evaluate to false.
-            #
-            # This field is in limited use. If your intended use case is not expected
-            # to express resource.labels attribute in IAM Conditions, leave this field
-            # empty. Before planning on using this attribute please:
-            # * Read go/iam-conditions-labels-comm and ensure your service can meet the
-            #   data availability and management requirements.
-            # * Talk to iam-conditions-eng@ about your use case.
-          "a_key": "A String",
+      &quot;cookieDomain&quot;: &quot;A String&quot;, # The Domain value to set for cookies generated by IAP. This value is not
+          # validated by the API, but will be ignored at runtime if invalid.
+      &quot;accessDeniedPageSettings&quot;: { # Custom content configuration for access denied page. # Customization for Access Denied page.
+          # IAP allows customers to define a custom URI to use as the error page when
+          # access is denied to users. If IAP prevents access to this page, the default
+          # IAP error page will be displayed instead.
+        &quot;accessDeniedPageUri&quot;: &quot;A String&quot;, # The URI to be redirected to when access is denied.
+      },
+    },
+    &quot;accessSettings&quot;: { # Access related settings for IAP protected apps. # Top level wrapper for all access related setting in IAP
+      &quot;corsSettings&quot;: { # Allows customers to configure HTTP request paths that&#x27;ll allow HTTP OPTIONS # Configuration to allow cross-origin requests via IAP.
+          # call to bypass authentication and authorization.
+        &quot;allowHttpOptions&quot;: True or False, # Configuration to allow HTTP OPTIONS calls to skip authorization. If
+            # undefined, IAP will not apply any special logic to OPTIONS requests.
+      },
+      &quot;gcipSettings&quot;: { # Allows customers to configure tenant_id for GCIP instance per-app. # GCIP claims and endpoint configurations for 3p identity providers.
+        &quot;loginPageUri&quot;: &quot;A String&quot;, # Login page URI associated with the GCIP tenants.
+            # Typically, all resources within the same project share the same login page,
+            # though it could be overridden at the sub resource level.
+        &quot;tenantIds&quot;: [ # GCIP tenant ids that are linked to the IAP resource.
+            # tenant_ids could be a string beginning with a number character to indicate
+            # authenticating with GCIP tenant flow, or in the format of _&lt;ProjectNumber&gt;
+            # to indicate authenticating with GCIP agent flow.
+            # If agent flow is used, tenant_ids should only contain one single element,
+            # while for tenant flow, tenant_ids can contain multiple elements.
+          &quot;A String&quot;,
+        ],
+      },
+      &quot;policyDelegationSettings&quot;: { # PolicyDelegationConfig allows google-internal teams to use IAP for apps # Settings to configure Policy delegation for apps hosted in tenant projects.
+          # INTERNAL_ONLY.
+          # hosted in a tenant project. Using these settings, the app can delegate
+          # permission check to happen against the linked customer project.
+          # This is only ever supposed to be used by google internal teams, hence the
+          # restriction on the proto.
+        &quot;iamServiceName&quot;: &quot;A String&quot;, # The DNS name of the service (e.g. &quot;resourcemanager.googleapis.com&quot;).
+            # This should be the domain name part of the full resource names (see
+            # https://aip.dev/122#full-resource-names), which is usually
+            # the same as IamServiceSpec.service of the service where the resource type
+            # is defined.
+        &quot;iamPermission&quot;: &quot;A String&quot;, # Permission to check in IAM.
+        &quot;policyName&quot;: { # Policy name to be checked
+          &quot;type&quot;: &quot;A String&quot;, # Valid values for type might be &#x27;gce&#x27;, &#x27;gcs&#x27;, &#x27;project&#x27;, &#x27;account&#x27; etc.
+          &quot;id&quot;: &quot;A String&quot;,
+          &quot;region&quot;: &quot;A String&quot;, # For Cloud IAM:
+              # The location of the Policy.
+              # Must be empty or &quot;global&quot; for Policies owned by global IAM.  Must name a
+              # region from prodspec/cloud-iam-cloudspec for Regional IAM Policies, see
+              # go/iam-faq#where-is-iam-currently-deployed.
+              #
+              # For Local IAM:
+              # This field should be set to &quot;local&quot;.
         },
-        "type": "A String", # The public resource type name of the resource on which conditions will be
-            # evaluated. It is configured using the official_name of the ResourceType as
-            # defined in service configurations under //configs/cloud/resourcetypes.
-            # For example, the official_name for GCP projects is set as
-            # 'cloudresourcemanager.googleapis.com/Project' according to
-            # //configs/cloud/resourcetypes/google/cloud/resourcemanager/prod.yaml
-            # For details see go/iam-conditions-integration-guide.
-        "name": "A String", # Name of the resource on which conditions will be evaluated.
-            # Must use the Relative Resource Name of the resource, which is the URI
-            # path of the resource without the leading "/". Examples are
-            # "projects/_/buckets/[BUCKET-ID]" for storage buckets or
-            # "projects/[PROJECT-ID]/global/firewalls/[FIREWALL-ID]" for a firewall.
-            #
-            # This field is required for evaluating conditions with rules on resource
-            # names. For a `list` permission check, the resource.name value must be set
-            # to the parent resource. If the parent resource is a project, this field
-            # should be left unset.
-        "service": "A String", # The name of the service this resource belongs to. It is configured using
-            # the official_service_name of the Service as defined in service
-            # configurations under //configs/cloud/resourcetypes.
-            # For example, the official_service_name of cloud resource manager service
-            # is set as 'cloudresourcemanager.googleapis.com' according to
-            # //configs/cloud/resourcetypes/google/cloud/resourcemanager/prod.yaml
+        &quot;resource&quot;: { # IAM resource to check permission on
+          &quot;type&quot;: &quot;A String&quot;, # The public resource type name of the resource on which conditions will be
+              # evaluated. It is configured using the official_name of the ResourceType as
+              # defined in service configurations under //configs/cloud/resourcetypes.
+              # For example, the official_name for GCP projects is set as
+              # &#x27;cloudresourcemanager.googleapis.com/Project&#x27; according to
+              # //configs/cloud/resourcetypes/google/cloud/resourcemanager/prod.yaml
+              # For details see go/iam-conditions-integration-guide.
+          &quot;labels&quot;: { # The service defined labels of the resource on which the conditions will be
+              # evaluated. The semantics - including the key names - are vague to IAM.
+              # If the effective condition has a reference to a `resource.labels[foo]`
+              # construct, IAM consults with this map to retrieve the values associated
+              # with `foo` key for Conditions evaluation. If the provided key is not found
+              # in the labels map, the condition would evaluate to false.
+              #
+              # This field is in limited use. If your intended use case is not expected
+              # to express resource.labels attribute in IAM Conditions, leave this field
+              # empty. Before planning on using this attribute please:
+              # * Read go/iam-conditions-labels-comm and ensure your service can meet the
+              #   data availability and management requirements.
+              # * Talk to iam-conditions-eng@ about your use case.
+            &quot;a_key&quot;: &quot;A String&quot;,
+          },
+          &quot;service&quot;: &quot;A String&quot;, # The name of the service this resource belongs to. It is configured using
+              # the official_service_name of the Service as defined in service
+              # configurations under //configs/cloud/resourcetypes.
+              # For example, the official_service_name of cloud resource manager service
+              # is set as &#x27;cloudresourcemanager.googleapis.com&#x27; according to
+              # //configs/cloud/resourcetypes/google/cloud/resourcemanager/prod.yaml
+          &quot;name&quot;: &quot;A String&quot;, # Name of the resource on which conditions will be evaluated.
+              # Must use the Relative Resource Name of the resource, which is the URI
+              # path of the resource without the leading &quot;/&quot;. Examples are
+              # &quot;projects/_/buckets/[BUCKET-ID]&quot; for storage buckets or
+              # &quot;projects/[PROJECT-ID]/global/firewalls/[FIREWALL-ID]&quot; for a firewall.
+              #
+              # This field is required for evaluating conditions with rules on resource
+              # names. For a `list` permission check, the resource.name value must be set
+              # to the parent resource. If the parent resource is a project, this field
+              # should be left unset.
+        },
       },
-      "iamServiceName": "A String", # The DNS name of the service (e.g. "resourcemanager.googleapis.com").
-          # This should be the domain name part of the full resource names (see
-          # https://aip.dev/122#full-resource-names), which is usually
-          # the same as IamServiceSpec.service of the service where the resource type
-          # is defined.
+      &quot;oauthSettings&quot;: { # Configuration for OAuth login&amp;consent flow behavior as well as for OAuth # Settings to configure IAP&#x27;s OAuth behavior.
+          # Credentials.
+        &quot;clientId&quot;: &quot;A String&quot;, # OAuth 2.0 client ID used in the OAuth flow to generate an access token. If
+            # this field is set, you can skip obtaining the OAuth credentials in this
+            # step:
+            # https://developers.google.com/identity/protocols/OAuth2?hl=en_US#1.-obtain-oauth-2.0-credentials-from-the-google-api-console.
+            # However, this could allow for client sharing. The risks of client sharing
+            # are outlined here:
+            # https://cloud.google.com/iap/docs/sharing-oauth-clients#risks.
+        &quot;loginHint&quot;: &quot;A String&quot;, # Domain hint to send as hd=? parameter in OAuth request flow. Enables
+            # redirect to primary IDP by skipping Google&#x27;s login screen.
+            # https://developers.google.com/identity/protocols/OpenIDConnect#hd-param
+            # Note: IAP does not verify that the id token&#x27;s hd claim matches this value
+            # since access behavior is managed by IAM policies.
+      },
     },
-    "gcipSettings": { # Allows customers to configure tenant_id for GCIP instance per-app. # GCIP claims and endpoint configurations for 3p identity providers.
-      "loginPageUri": "A String", # Login page URI associated with the GCIP tenants.
-          # Typically, all resources within the same project share the same login page,
-          # though it could be overridden at the sub resource level.
-      "tenantIds": [ # GCIP tenant ids that are linked to the IAP resource.
-          # tenant_ids could be a string beginning with a number character to indicate
-          # authenticating with GCIP tenant flow, or in the format of _&lt;ProjectNumber&gt;
-          # to indicate authenticating with GCIP agent flow.
-          # If agent flow is used, tenant_ids should only contain one single element,
-          # while for tenant flow, tenant_ids can contain multiple elements.
-        "A String",
-      ],
-    },
-  },
-  "name": "A String", # Required. The resource name of the IAP protected resource.
-}
+    &quot;name&quot;: &quot;A String&quot;, # Required. The resource name of the IAP protected resource.
+  }
 
   updateMask: string, The field mask specifying which IAP settings should be updated.
 If omitted, the all of the settings are updated. See
@@ -1053,123 +1106,125 @@
   An object of the form:
 
     { # The IAP configurable settings.
-    "applicationSettings": { # Wrapper over application specific settings for IAP. # Top level wrapper for all application related settings in IAP
-      "accessDeniedPageSettings": { # Custom content configuration for access denied page. # Customization for Access Denied page.
-          # IAP allows customers to define a custom URI to use as the error page when
-          # access is denied to users. If IAP prevents access to this page, the default
-          # IAP error page will be displayed instead.
-        "accessDeniedPageUri": "A String", # The URI to be redirected to when access is denied.
-      },
-      "csmSettings": { # Configuration for RCTokens generated for CSM workloads protected by IAP. # Settings to configure IAP's behavior for a CSM mesh.
-          # RCTokens are IAP generated JWTs that can be verified at the application. The
-          # RCToken is primarily used for ISTIO deployments, and can be scoped to a
-          # single mesh by configuring the audience field accordingly
-        "rctokenAud": "A String", # Audience claim set in the generated RCToken. This value is not validated by
-            # IAP.
-      },
-    },
-    "accessSettings": { # Access related settings for IAP protected apps. # Top level wrapper for all access related setting in IAP
-      "oauthSettings": { # Configuration for OAuth login&amp;consent flow behavior as well as for OAuth # Settings to configure IAP's OAuth behavior.
-          # Credentials.
-        "loginHint": "A String", # Domain hint to send as hd=? parameter in OAuth request flow. Enables
-            # redirect to primary IDP by skipping Google's login screen.
-            # https://developers.google.com/identity/protocols/OpenIDConnect#hd-param
-            # Note: IAP does not verify that the id token's hd claim matches this value
-            # since access behavior is managed by IAM policies.
-        "clientId": "A String", # OAuth 2.0 client ID used in the OAuth flow to generate an access token. If
-            # this field is set, you can skip obtaining the OAuth credentials in this
-            # step:
-            # https://developers.google.com/identity/protocols/OAuth2?hl=en_US#1.-obtain-oauth-2.0-credentials-from-the-google-api-console.
-            # However, this could allow for client sharing. The risks of client sharing
-            # are outlined here:
-            # https://cloud.google.com/iap/docs/sharing-oauth-clients#risks.
-      },
-      "corsSettings": { # Allows customers to configure HTTP request paths that'll allow HTTP OPTIONS # Configuration to allow cross-origin requests via IAP.
-          # call to bypass authentication and authorization.
-        "allowHttpOptions": True or False, # Configuration to allow HTTP OPTIONS calls to skip authorization. If
-            # undefined, IAP will not apply any special logic to OPTIONS requests.
-      },
-      "policyDelegationSettings": { # PolicyDelegationConfig allows google-internal teams to use IAP for apps # Settings to configure Policy delegation for apps hosted in tenant projects.
-          # INTERNAL_ONLY.
-          # hosted in a tenant project. Using these settings, the app can delegate
-          # permission check to happen against the linked customer project.
-          # This is only ever supposed to be used by google internal teams, hence the
-          # restriction on the proto.
-        "policyName": { # Policy name to be checked
-          "region": "A String", # For Cloud IAM:
-              # The location of the Policy.
-              # Must be empty or "global" for Policies owned by global IAM.  Must name a
-              # region from prodspec/cloud-iam-cloudspec for Regional IAM Policies, see
-              # http://go/iam-faq#where-is-iam-currently-deployed.
-              #
-              # For Local IAM:
-              # This field should be set to "local".
-          "type": "A String", # Valid values for type might be 'gce', 'gcs', 'project', 'account' etc.
-          "id": "A String",
+      &quot;applicationSettings&quot;: { # Wrapper over application specific settings for IAP. # Top level wrapper for all application related settings in IAP
+        &quot;csmSettings&quot;: { # Configuration for RCTokens generated for CSM workloads protected by IAP. # Settings to configure IAP&#x27;s behavior for a CSM mesh.
+            # RCTokens are IAP generated JWTs that can be verified at the application. The
+            # RCToken is primarily used for ISTIO deployments, and can be scoped to a
+            # single mesh by configuring the audience field accordingly
+          &quot;rctokenAud&quot;: &quot;A String&quot;, # Audience claim set in the generated RCToken. This value is not validated by
+              # IAP.
         },
-        "iamPermission": "A String", # Permission to check in IAM.
-        "resource": { # IAM resource to check permission on
-          "labels": { # The service defined labels of the resource on which the conditions will be
-              # evaluated. The semantics - including the key names - are vague to IAM.
-              # If the effective condition has a reference to a `resource.labels[foo]`
-              # construct, IAM consults with this map to retrieve the values associated
-              # with `foo` key for Conditions evaluation. If the provided key is not found
-              # in the labels map, the condition would evaluate to false.
-              #
-              # This field is in limited use. If your intended use case is not expected
-              # to express resource.labels attribute in IAM Conditions, leave this field
-              # empty. Before planning on using this attribute please:
-              # * Read go/iam-conditions-labels-comm and ensure your service can meet the
-              #   data availability and management requirements.
-              # * Talk to iam-conditions-eng@ about your use case.
-            "a_key": "A String",
+        &quot;cookieDomain&quot;: &quot;A String&quot;, # The Domain value to set for cookies generated by IAP. This value is not
+            # validated by the API, but will be ignored at runtime if invalid.
+        &quot;accessDeniedPageSettings&quot;: { # Custom content configuration for access denied page. # Customization for Access Denied page.
+            # IAP allows customers to define a custom URI to use as the error page when
+            # access is denied to users. If IAP prevents access to this page, the default
+            # IAP error page will be displayed instead.
+          &quot;accessDeniedPageUri&quot;: &quot;A String&quot;, # The URI to be redirected to when access is denied.
+        },
+      },
+      &quot;accessSettings&quot;: { # Access related settings for IAP protected apps. # Top level wrapper for all access related setting in IAP
+        &quot;corsSettings&quot;: { # Allows customers to configure HTTP request paths that&#x27;ll allow HTTP OPTIONS # Configuration to allow cross-origin requests via IAP.
+            # call to bypass authentication and authorization.
+          &quot;allowHttpOptions&quot;: True or False, # Configuration to allow HTTP OPTIONS calls to skip authorization. If
+              # undefined, IAP will not apply any special logic to OPTIONS requests.
+        },
+        &quot;gcipSettings&quot;: { # Allows customers to configure tenant_id for GCIP instance per-app. # GCIP claims and endpoint configurations for 3p identity providers.
+          &quot;loginPageUri&quot;: &quot;A String&quot;, # Login page URI associated with the GCIP tenants.
+              # Typically, all resources within the same project share the same login page,
+              # though it could be overridden at the sub resource level.
+          &quot;tenantIds&quot;: [ # GCIP tenant ids that are linked to the IAP resource.
+              # tenant_ids could be a string beginning with a number character to indicate
+              # authenticating with GCIP tenant flow, or in the format of _&lt;ProjectNumber&gt;
+              # to indicate authenticating with GCIP agent flow.
+              # If agent flow is used, tenant_ids should only contain one single element,
+              # while for tenant flow, tenant_ids can contain multiple elements.
+            &quot;A String&quot;,
+          ],
+        },
+        &quot;policyDelegationSettings&quot;: { # PolicyDelegationConfig allows google-internal teams to use IAP for apps # Settings to configure Policy delegation for apps hosted in tenant projects.
+            # INTERNAL_ONLY.
+            # hosted in a tenant project. Using these settings, the app can delegate
+            # permission check to happen against the linked customer project.
+            # This is only ever supposed to be used by google internal teams, hence the
+            # restriction on the proto.
+          &quot;iamServiceName&quot;: &quot;A String&quot;, # The DNS name of the service (e.g. &quot;resourcemanager.googleapis.com&quot;).
+              # This should be the domain name part of the full resource names (see
+              # https://aip.dev/122#full-resource-names), which is usually
+              # the same as IamServiceSpec.service of the service where the resource type
+              # is defined.
+          &quot;iamPermission&quot;: &quot;A String&quot;, # Permission to check in IAM.
+          &quot;policyName&quot;: { # Policy name to be checked
+            &quot;type&quot;: &quot;A String&quot;, # Valid values for type might be &#x27;gce&#x27;, &#x27;gcs&#x27;, &#x27;project&#x27;, &#x27;account&#x27; etc.
+            &quot;id&quot;: &quot;A String&quot;,
+            &quot;region&quot;: &quot;A String&quot;, # For Cloud IAM:
+                # The location of the Policy.
+                # Must be empty or &quot;global&quot; for Policies owned by global IAM.  Must name a
+                # region from prodspec/cloud-iam-cloudspec for Regional IAM Policies, see
+                # go/iam-faq#where-is-iam-currently-deployed.
+                #
+                # For Local IAM:
+                # This field should be set to &quot;local&quot;.
           },
-          "type": "A String", # The public resource type name of the resource on which conditions will be
-              # evaluated. It is configured using the official_name of the ResourceType as
-              # defined in service configurations under //configs/cloud/resourcetypes.
-              # For example, the official_name for GCP projects is set as
-              # 'cloudresourcemanager.googleapis.com/Project' according to
-              # //configs/cloud/resourcetypes/google/cloud/resourcemanager/prod.yaml
-              # For details see go/iam-conditions-integration-guide.
-          "name": "A String", # Name of the resource on which conditions will be evaluated.
-              # Must use the Relative Resource Name of the resource, which is the URI
-              # path of the resource without the leading "/". Examples are
-              # "projects/_/buckets/[BUCKET-ID]" for storage buckets or
-              # "projects/[PROJECT-ID]/global/firewalls/[FIREWALL-ID]" for a firewall.
-              #
-              # This field is required for evaluating conditions with rules on resource
-              # names. For a `list` permission check, the resource.name value must be set
-              # to the parent resource. If the parent resource is a project, this field
-              # should be left unset.
-          "service": "A String", # The name of the service this resource belongs to. It is configured using
-              # the official_service_name of the Service as defined in service
-              # configurations under //configs/cloud/resourcetypes.
-              # For example, the official_service_name of cloud resource manager service
-              # is set as 'cloudresourcemanager.googleapis.com' according to
-              # //configs/cloud/resourcetypes/google/cloud/resourcemanager/prod.yaml
+          &quot;resource&quot;: { # IAM resource to check permission on
+            &quot;type&quot;: &quot;A String&quot;, # The public resource type name of the resource on which conditions will be
+                # evaluated. It is configured using the official_name of the ResourceType as
+                # defined in service configurations under //configs/cloud/resourcetypes.
+                # For example, the official_name for GCP projects is set as
+                # &#x27;cloudresourcemanager.googleapis.com/Project&#x27; according to
+                # //configs/cloud/resourcetypes/google/cloud/resourcemanager/prod.yaml
+                # For details see go/iam-conditions-integration-guide.
+            &quot;labels&quot;: { # The service defined labels of the resource on which the conditions will be
+                # evaluated. The semantics - including the key names - are vague to IAM.
+                # If the effective condition has a reference to a `resource.labels[foo]`
+                # construct, IAM consults with this map to retrieve the values associated
+                # with `foo` key for Conditions evaluation. If the provided key is not found
+                # in the labels map, the condition would evaluate to false.
+                #
+                # This field is in limited use. If your intended use case is not expected
+                # to express resource.labels attribute in IAM Conditions, leave this field
+                # empty. Before planning on using this attribute please:
+                # * Read go/iam-conditions-labels-comm and ensure your service can meet the
+                #   data availability and management requirements.
+                # * Talk to iam-conditions-eng@ about your use case.
+              &quot;a_key&quot;: &quot;A String&quot;,
+            },
+            &quot;service&quot;: &quot;A String&quot;, # The name of the service this resource belongs to. It is configured using
+                # the official_service_name of the Service as defined in service
+                # configurations under //configs/cloud/resourcetypes.
+                # For example, the official_service_name of cloud resource manager service
+                # is set as &#x27;cloudresourcemanager.googleapis.com&#x27; according to
+                # //configs/cloud/resourcetypes/google/cloud/resourcemanager/prod.yaml
+            &quot;name&quot;: &quot;A String&quot;, # Name of the resource on which conditions will be evaluated.
+                # Must use the Relative Resource Name of the resource, which is the URI
+                # path of the resource without the leading &quot;/&quot;. Examples are
+                # &quot;projects/_/buckets/[BUCKET-ID]&quot; for storage buckets or
+                # &quot;projects/[PROJECT-ID]/global/firewalls/[FIREWALL-ID]&quot; for a firewall.
+                #
+                # This field is required for evaluating conditions with rules on resource
+                # names. For a `list` permission check, the resource.name value must be set
+                # to the parent resource. If the parent resource is a project, this field
+                # should be left unset.
+          },
         },
-        "iamServiceName": "A String", # The DNS name of the service (e.g. "resourcemanager.googleapis.com").
-            # This should be the domain name part of the full resource names (see
-            # https://aip.dev/122#full-resource-names), which is usually
-            # the same as IamServiceSpec.service of the service where the resource type
-            # is defined.
+        &quot;oauthSettings&quot;: { # Configuration for OAuth login&amp;consent flow behavior as well as for OAuth # Settings to configure IAP&#x27;s OAuth behavior.
+            # Credentials.
+          &quot;clientId&quot;: &quot;A String&quot;, # OAuth 2.0 client ID used in the OAuth flow to generate an access token. If
+              # this field is set, you can skip obtaining the OAuth credentials in this
+              # step:
+              # https://developers.google.com/identity/protocols/OAuth2?hl=en_US#1.-obtain-oauth-2.0-credentials-from-the-google-api-console.
+              # However, this could allow for client sharing. The risks of client sharing
+              # are outlined here:
+              # https://cloud.google.com/iap/docs/sharing-oauth-clients#risks.
+          &quot;loginHint&quot;: &quot;A String&quot;, # Domain hint to send as hd=? parameter in OAuth request flow. Enables
+              # redirect to primary IDP by skipping Google&#x27;s login screen.
+              # https://developers.google.com/identity/protocols/OpenIDConnect#hd-param
+              # Note: IAP does not verify that the id token&#x27;s hd claim matches this value
+              # since access behavior is managed by IAM policies.
+        },
       },
-      "gcipSettings": { # Allows customers to configure tenant_id for GCIP instance per-app. # GCIP claims and endpoint configurations for 3p identity providers.
-        "loginPageUri": "A String", # Login page URI associated with the GCIP tenants.
-            # Typically, all resources within the same project share the same login page,
-            # though it could be overridden at the sub resource level.
-        "tenantIds": [ # GCIP tenant ids that are linked to the IAP resource.
-            # tenant_ids could be a string beginning with a number character to indicate
-            # authenticating with GCIP tenant flow, or in the format of _&lt;ProjectNumber&gt;
-            # to indicate authenticating with GCIP agent flow.
-            # If agent flow is used, tenant_ids should only contain one single element,
-            # while for tenant flow, tenant_ids can contain multiple elements.
-          "A String",
-        ],
-      },
-    },
-    "name": "A String", # Required. The resource name of the IAP protected resource.
-  }</pre>
+      &quot;name&quot;: &quot;A String&quot;, # Required. The resource name of the IAP protected resource.
+    }</pre>
 </div>
 
 </body></html>
\ No newline at end of file