docs: update generated docs (#981)

diff --git a/docs/dyn/cloudasset_v1p4beta1.v1p4beta1.html b/docs/dyn/cloudasset_v1p4beta1.v1p4beta1.html
index 9ecbfc8..d7af7c5 100644
--- a/docs/dyn/cloudasset_v1p4beta1.v1p4beta1.html
+++ b/docs/dyn/cloudasset_v1p4beta1.v1p4beta1.html
@@ -75,25 +75,91 @@
 <h1><a href="cloudasset_v1p4beta1.html">Cloud Asset API</a> . <a href="cloudasset_v1p4beta1.v1p4beta1.html">v1p4beta1</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
-  <code><a href="#analyzeIamPolicy">analyzeIamPolicy(parent, options_analyzeServiceAccountImpersonation=None, options_outputResourceEdges=None, options_expandResources=None, analysisQuery_accessSelector_roles=None, options_expandRoles=None, analysisQuery_accessSelector_permissions=None, options_executionTimeout=None, options_outputGroupEdges=None, options_expandGroups=None, analysisQuery_identitySelector_identity=None, analysisQuery_resourceSelector_fullResourceName=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Analyzes IAM policies based on the specified request. Returns</p>
+  <code><a href="#analyzeIamPolicy">analyzeIamPolicy(parent, options_outputGroupEdges=None, options_outputResourceEdges=None, options_expandRoles=None, analysisQuery_accessSelector_permissions=None, options_expandGroups=None, analysisQuery_accessSelector_roles=None, analysisQuery_identitySelector_identity=None, options_executionTimeout=None, analysisQuery_resourceSelector_fullResourceName=None, options_expandResources=None, options_analyzeServiceAccountImpersonation=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Analyzes IAM policies to answer which identities have what accesses on</p>
 <p class="toc_element">
   <code><a href="#exportIamPolicyAnalysis">exportIamPolicyAnalysis(parent, body=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Exports IAM policy analysis based on the specified request. This API</p>
+<p class="firstline">Exports the answers of which identities have what accesses on which</p>
 <h3>Method Details</h3>
 <div class="method">
-    <code class="details" id="analyzeIamPolicy">analyzeIamPolicy(parent, options_analyzeServiceAccountImpersonation=None, options_outputResourceEdges=None, options_expandResources=None, analysisQuery_accessSelector_roles=None, options_expandRoles=None, analysisQuery_accessSelector_permissions=None, options_executionTimeout=None, options_outputGroupEdges=None, options_expandGroups=None, analysisQuery_identitySelector_identity=None, analysisQuery_resourceSelector_fullResourceName=None, x__xgafv=None)</code>
-  <pre>Analyzes IAM policies based on the specified request. Returns
-a list of IamPolicyAnalysisResult matching the request.
+    <code class="details" id="analyzeIamPolicy">analyzeIamPolicy(parent, options_outputGroupEdges=None, options_outputResourceEdges=None, options_expandRoles=None, analysisQuery_accessSelector_permissions=None, options_expandGroups=None, analysisQuery_accessSelector_roles=None, analysisQuery_identitySelector_identity=None, options_executionTimeout=None, analysisQuery_resourceSelector_fullResourceName=None, options_expandResources=None, options_analyzeServiceAccountImpersonation=None, x__xgafv=None)</code>
+  <pre>Analyzes IAM policies to answer which identities have what accesses on
+which resources.
 
 Args:
   parent: string, Required. The relative name of the root asset. Only resources and IAM policies within
 the parent will be analyzed. This can only be an organization number (such
-as &quot;organizations/123&quot;) or a folder number (such as &quot;folders/123&quot;). (required)
+as &quot;organizations/123&quot;) or a folder number (such as &quot;folders/123&quot;).
+
+To know how to get organization id, visit [here
+](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).
+
+To know how to get folder id, visit [here
+](https://cloud.google.com/resource-manager/docs/creating-managing-folders#viewing_or_listing_folders_and_projects). (required)
+  options_outputGroupEdges: boolean, Optional. If true, the result will output group identity edges, starting
+from the binding&#x27;s group members, to any expanded identities.
+Default is false.
+  options_outputResourceEdges: boolean, Optional. If true, the result will output resource edges, starting
+from the policy attached resource, to any expanded resources.
+Default is false.
+  options_expandRoles: boolean, Optional. If true, the access section of result will expand any roles
+appearing in IAM policy bindings to include their permissions.
+
+If access_selector is specified, the access section of the result
+will be determined by the selector, and this flag will have no effect.
+
+Default is false.
+  analysisQuery_accessSelector_permissions: string, Optional. The permissions to appear in result. (repeated)
+  options_expandGroups: boolean, Optional. If true, the identities section of the result will expand any
+Google groups appearing in an IAM policy binding.
+
+If identity_selector is specified, the identity in the result will
+be determined by the selector, and this flag will have no effect.
+
+Default is false.
+  analysisQuery_accessSelector_roles: string, Optional. The roles to appear in result. (repeated)
+  analysisQuery_identitySelector_identity: string, Required. The identity appear in the form of members in
+[IAM policy
+binding](https://cloud.google.com/iam/reference/rest/v1/Binding).
+
+The examples of supported forms are:
+&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;.
+
+Notice that wildcard characters (such as * and ?) are not supported.
+You must give a specific identity.
+  options_executionTimeout: string, Optional. Amount of time executable has to complete.  See JSON representation of
+[Duration](https://developers.google.com/protocol-buffers/docs/proto3#json).
+
+If this field is set with a value less than the RPC deadline, and the
+execution of your query hasn&#x27;t finished in the specified
+execution timeout,  you will get a response with partial result.
+Otherwise, your query&#x27;s execution will continue until the RPC deadline.
+If it&#x27;s not finished until then, you will get a  DEADLINE_EXCEEDED error.
+
+Default is empty.
+  analysisQuery_resourceSelector_fullResourceName: string, Required. The [full resource
+name](https://cloud.google.com/asset-inventory/docs/resource-name-format)
+of a resource of [supported resource
+types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#analyzable_asset_types).
+  options_expandResources: boolean, Optional. If true, the resource section of the result will expand any
+resource attached to an IAM policy to include resources lower in the
+resource hierarchy.
+
+For example, if the request analyzes for which resources user A has
+permission P, and the results include an IAM policy with P on a GCP
+folder, the results will also include resources in that folder with
+permission P.
+
+If resource_selector is specified, the resource section of the result
+will be determined by the selector, and this flag will have no effect.
+Default is false.
   options_analyzeServiceAccountImpersonation: boolean, Optional. If true, the response will include access analysis from identities to
 resources via service account impersonation. This is a very expensive
 operation, because many derived queries will be executed. We highly
-recommend you use ExportIamPolicyAnalysis rpc instead.
+recommend you use AssetService.ExportIamPolicyAnalysis rpc instead.
 
 For example, if the request analyzes for which resources user A has
 permission P, and there&#x27;s an IAM policy states user A has
@@ -112,56 +178,6 @@
 AnalyzeIamPolicyResponse.service_account_impersonation_analysis.
 
 Default is false.
-  options_outputResourceEdges: boolean, Optional. If true, the result will output resource edges, starting
-from the policy attached resource, to any expanded resources.
-Default is false.
-  options_expandResources: boolean, Optional. If true, the resource section of the result will expand any
-resource attached to an IAM policy to include resources lower in the
-resource hierarchy.
-
-For example, if the request analyzes for which resources user A has
-permission P, and the results include an IAM policy with P on a GCP
-folder, the results will also include resources in that folder with
-permission P.
-
-If resource_selector is specified, the resource section of the result
-will be determined by the selector, and this flag will have no effect.
-Default is false.
-  analysisQuery_accessSelector_roles: string, Optional. The roles to appear in result. (repeated)
-  options_expandRoles: boolean, Optional. If true, the access section of result will expand any roles
-appearing in IAM policy bindings to include their permissions.
-
-If access_selector is specified, the access section of the result
-will be determined by the selector, and this flag will have no effect.
-
-Default is false.
-  analysisQuery_accessSelector_permissions: string, Optional. The permissions to appear in result. (repeated)
-  options_executionTimeout: string, Optional. Amount of time executable has to complete.  See JSON representation of
-[Duration](https://developers.google.com/protocol-buffers/docs/proto3#json).
-
-If this field is set with a value less than the RPC deadline, and the
-execution of your query hasn&#x27;t finished in the specified
-execution timeout,  you will get a response with partial result.
-Otherwise, your query&#x27;s execution will continue until the RPC deadline.
-If it&#x27;s not finished until then, you will get a  DEADLINE_EXCEEDED error.
-
-Default is empty.
-  options_outputGroupEdges: boolean, Optional. If true, the result will output group identity edges, starting
-from the binding&#x27;s group members, to any expanded identities.
-Default is false.
-  options_expandGroups: boolean, Optional. If true, the identities section of the result will expand any
-Google groups appearing in an IAM policy binding.
-
-If identity_selector is specified, the identity in the result will
-be determined by the selector, and this flag will have no effect.
-
-Default is false.
-  analysisQuery_identitySelector_identity: string, Required. The identity appear in the form of members in
-[IAM policy
-binding](https://cloud.google.com/iam/reference/rest/v1/Binding).
-  analysisQuery_resourceSelector_fullResourceName: string, Required. The [full resource
-name](https://cloud.google.com/apis/design/resource_names#full_resource_name)
-.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -171,61 +187,181 @@
   An object of the form:
 
     { # A response message for AssetService.AnalyzeIamPolicy.
-    &quot;fullyExplored&quot;: True or False, # Represents whether all entries in the main_analysis and
-        # service_account_impersonation_analysis have been fully explored to
-        # answer the query in the request.
-    &quot;nonCriticalErrors&quot;: [ # A list of non-critical errors happened during the request handling to
-        # explain why `fully_explored` is false, or empty if no error happened.
-      { # Represents analysis state of each node in the result graph or non-critical
-          # errors in the response.
-        &quot;code&quot;: &quot;A String&quot;, # The Google standard error code that best describes the state.
-            # For example:
-            # - OK means the node has been successfully explored;
-            # - PERMISSION_DENIED means an access denied error is encountered;
-            # - DEADLINE_EXCEEDED means the node hasn&#x27;t been explored in time;
-        &quot;cause&quot;: &quot;A String&quot;, # The human-readable description of the cause of failure.
-      },
-    ],
     &quot;mainAnalysis&quot;: { # An analysis message to group the query and results. # The main analysis that matches the original request.
       &quot;fullyExplored&quot;: True or False, # Represents whether all entries in the analysis_results have been
           # fully explored to answer the query.
-      &quot;analysisQuery&quot;: { # IAM policy analysis query message. # The analysis query.
-        &quot;parent&quot;: &quot;A String&quot;, # Required. The relative name of the root asset. Only resources and IAM policies within
-            # the parent will be analyzed. This can only be an organization number (such
-            # as &quot;organizations/123&quot;) or a folder number (such as &quot;folders/123&quot;).
-        &quot;resourceSelector&quot;: { # Specifies the resource to analyze for access policies, which may be set # Optional. Specifies a resource for analysis. Leaving it empty means ANY.
-            # directly on the resource, or on ancestors such as organizations, folders or
-            # projects. At least one of ResourceSelector, IdentitySelector or
-            # AccessSelector must be specified in a request.
-          &quot;fullResourceName&quot;: &quot;A String&quot;, # Required. The [full resource
-              # name](https://cloud.google.com/apis/design/resource_names#full_resource_name)
-              # .
-        },
-        &quot;accessSelector&quot;: { # Specifies roles and/or permissions to analyze, to determine both the # Optional. Specifies roles or permissions for analysis. Leaving it empty
-            # means ANY.
-            # identities possessing them and the resources they control. If multiple
-            # values are specified, results will include identities and resources
-            # matching any of them.
-          &quot;roles&quot;: [ # Optional. The roles to appear in result.
-            &quot;A String&quot;,
-          ],
-          &quot;permissions&quot;: [ # Optional. The permissions to appear in result.
-            &quot;A String&quot;,
-          ],
-        },
-        &quot;identitySelector&quot;: { # Specifies an identity for which to determine resource access, based on # Optional. Specifies an identity for analysis. Leaving it empty means ANY.
-            # roles assigned either directly to them or to the groups they belong to,
-            # directly or indirectly.
-          &quot;identity&quot;: &quot;A String&quot;, # Required. The identity appear in the form of members in
-              # [IAM policy
-              # binding](https://cloud.google.com/iam/reference/rest/v1/Binding).
-        },
-      },
       &quot;analysisResults&quot;: [ # A list of IamPolicyAnalysisResult that matches the analysis query, or
           # empty if no result is found.
         { # IAM Policy analysis result, consisting of one IAM policy binding and derived
             # access control lists.
+          &quot;accessControlLists&quot;: [ # The access control lists derived from the iam_binding that match or
+              # potentially match resource and access selectors specified in the request.
+            { # An access control list, derived from the above IAM policy binding, which
+                # contains a set of resources and accesses. May include one
+                # item from each set to compose an access control entry.
+                #
+                # NOTICE that there could be multiple access control lists for one IAM policy
+                # binding. The access control lists are created based on resource and access
+                # combinations.
+                #
+                # For example, assume we have the following cases in one IAM policy binding:
+                # - Permission P1 and P2 apply to resource R1 and R2;
+                # - Permission P3 applies to resource R2 and R3;
+                #
+                # This will result in the following access control lists:
+                # - AccessControlList 1: [R1, R2], [P1, P2]
+                # - AccessControlList 2: [R2, R3], [P3]
+              &quot;resources&quot;: [ # The resources that match one of the following conditions:
+                  # - The resource_selector, if it is specified in request;
+                  # - Otherwise, resources reachable from the policy attached resource.
+                { # A Google Cloud resource under analysis.
+                  &quot;fullResourceName&quot;: &quot;A String&quot;, # The [full resource
+                      # name](https://cloud.google.com/asset-inventory/docs/resource-name-format)
+                  &quot;analysisState&quot;: { # Represents the detailed state of an entity under analysis, such as a # The analysis state of this resource.
+                      # resource, an identity or an access.
+                    &quot;cause&quot;: &quot;A String&quot;, # The human-readable description of the cause of failure.
+                    &quot;code&quot;: &quot;A String&quot;, # The Google standard error code that best describes the state.
+                        # For example:
+                        # - OK means the analysis on this entity has been successfully finished;
+                        # - PERMISSION_DENIED means an access denied error is encountered;
+                        # - DEADLINE_EXCEEDED means the analysis on this entity hasn&#x27;t been started
+                        # in time;
+                  },
+                },
+              ],
+              &quot;accesses&quot;: [ # The accesses that match one of the following conditions:
+                  # - The access_selector, if it is specified in request;
+                  # - Otherwise, access specifiers reachable from the policy binding&#x27;s role.
+                { # An IAM role or permission under analysis.
+                  &quot;permission&quot;: &quot;A String&quot;, # The permission.
+                  &quot;analysisState&quot;: { # Represents the detailed state of an entity under analysis, such as a # The analysis state of this access.
+                      # resource, an identity or an access.
+                    &quot;cause&quot;: &quot;A String&quot;, # The human-readable description of the cause of failure.
+                    &quot;code&quot;: &quot;A String&quot;, # The Google standard error code that best describes the state.
+                        # For example:
+                        # - OK means the analysis on this entity has been successfully finished;
+                        # - PERMISSION_DENIED means an access denied error is encountered;
+                        # - DEADLINE_EXCEEDED means the analysis on this entity hasn&#x27;t been started
+                        # in time;
+                  },
+                  &quot;role&quot;: &quot;A String&quot;, # The role.
+                },
+              ],
+              &quot;resourceEdges&quot;: [ # Resource edges of the graph starting from the policy attached
+                  # resource to any descendant resources. The Edge.source_node contains
+                  # the full resource name of a parent resource and Edge.target_node
+                  # contains the full resource name of a child resource. This field is
+                  # present only if the output_resource_edges option is enabled in request.
+                { # A directional edge.
+                  &quot;sourceNode&quot;: &quot;A String&quot;, # The source node of the edge.
+                  &quot;targetNode&quot;: &quot;A String&quot;, # The target node of the edge.
+                },
+              ],
+            },
+          ],
+          &quot;fullyExplored&quot;: True or False, # Represents whether all analyses on the iam_binding have successfully
+              # finished.
+          &quot;identityList&quot;: { # The identity list derived from members of the iam_binding that match or
+              # potentially match identity selector specified in the request.
+            &quot;groupEdges&quot;: [ # Group identity edges of the graph starting from the binding&#x27;s
+                # group members to any node of the identities. The Edge.source_node
+                # contains a group, such as &quot;group:parent@google.com&quot;. The
+                # Edge.target_node contains a member of the group,
+                # such as &quot;group:child@google.com&quot; or &quot;user:foo@google.com&quot;.
+                # This field is present only if the output_group_edges option is enabled in
+                # request.
+              { # A directional edge.
+                &quot;sourceNode&quot;: &quot;A String&quot;, # The source node of the edge.
+                &quot;targetNode&quot;: &quot;A String&quot;, # The target node of the edge.
+              },
+            ],
+            &quot;identities&quot;: [ # Only the identities that match one of the following conditions will be
+                # presented:
+                # - The identity_selector, if it is specified in request;
+                # - Otherwise, identities reachable from the policy binding&#x27;s members.
+              { # An identity under analysis.
+                &quot;name&quot;: &quot;A String&quot;, # The identity name in any form of members appear in
+                    # [IAM policy
+                    # binding](https://cloud.google.com/iam/reference/rest/v1/Binding), such
+                    # as:
+                    # - user:foo@google.com
+                    # - group:group1@google.com
+                    # - serviceAccount:s1@prj1.iam.gserviceaccount.com
+                    # - projectOwner:some_project_id
+                    # - domain:google.com
+                    # - allUsers
+                    # - etc.
+                &quot;analysisState&quot;: { # Represents the detailed state of an entity under analysis, such as a # The analysis state of this identity.
+                    # resource, an identity or an access.
+                  &quot;cause&quot;: &quot;A String&quot;, # The human-readable description of the cause of failure.
+                  &quot;code&quot;: &quot;A String&quot;, # The Google standard error code that best describes the state.
+                      # For example:
+                      # - OK means the analysis on this entity has been successfully finished;
+                      # - PERMISSION_DENIED means an access denied error is encountered;
+                      # - DEADLINE_EXCEEDED means the analysis on this entity hasn&#x27;t been started
+                      # in time;
+                },
+              },
+            ],
+          },
+          &quot;attachedResourceFullName&quot;: &quot;A String&quot;, # The [full resource
+              # name](https://cloud.google.com/asset-inventory/docs/resource-name-format)
+              # of the resource to which the iam_binding policy attaches.
           &quot;iamBinding&quot;: { # Associates `members` with a `role`. # The Cloud IAM policy binding under analysis.
+            &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`.
+                # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+            &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;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;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;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
+                  # syntax.
+              &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
+                  # describes the expression, e.g. when hovered over it in a UI.
+            },
             &quot;members&quot;: [ # Specifies the identities requesting access for a Cloud Platform resource.
                 # `members` can have the following values:
                 #
@@ -271,214 +407,252 @@
                 #
               &quot;A String&quot;,
             ],
-            &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`.
-                # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
-            &quot;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;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;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
-                  # syntax.
-            },
           },
-          &quot;accessControlLists&quot;: [ # The access control lists derived from the iam_binding that match or
-              # potentially match resource and access selectors specified in the request.
-            { # An access control list, derived from the above IAM policy binding, which
-                # contains a set of resources and accesses. May include one
-                # item from each set to compose an access control entry.
-                #
-                # NOTICE that there could be multiple access control lists for one IAM policy
-                # binding. The access control lists are created based on resource and access
-                # combinations.
-                #
-                # For example, assume we have the following cases in one IAM policy binding:
-                # - Permission P1 and P2 apply to resource R1 and R2;
-                # - Permission P3 applies to resource R2 and R3;
-                #
-                # This will result in the following access control lists:
-                # - AccessControlList 1: [R1, R2], [P1, P2]
-                # - AccessControlList 2: [R2, R3], [P3]
-              &quot;accesses&quot;: [ # The accesses that match one of the following conditions:
-                  # - The access_selector, if it is specified in request;
-                  # - Otherwise, access specifiers reachable from the policy binding&#x27;s role.
-                { # A role or permission that appears in an access control list.
-                  &quot;permission&quot;: &quot;A String&quot;, # The permission.
-                  &quot;analysisState&quot;: { # Represents analysis state of each node in the result graph or non-critical # The analysis state of this access node.
-                      # errors in the response.
-                    &quot;code&quot;: &quot;A String&quot;, # The Google standard error code that best describes the state.
-                        # For example:
-                        # - OK means the node has been successfully explored;
-                        # - PERMISSION_DENIED means an access denied error is encountered;
-                        # - DEADLINE_EXCEEDED means the node hasn&#x27;t been explored in time;
-                    &quot;cause&quot;: &quot;A String&quot;, # The human-readable description of the cause of failure.
-                  },
-                  &quot;role&quot;: &quot;A String&quot;, # The role.
-                },
-              ],
-              &quot;resourceEdges&quot;: [ # Resource edges of the graph starting from the policy attached
-                  # resource to any descendant resources. The Edge.source_node contains
-                  # the full resource name of a parent resource and Edge.target_node
-                  # contains the full resource name of a child resource. This field is
-                  # present only if the output_resource_edges option is enabled in request.
-                { # A directional edge.
-                  &quot;sourceNode&quot;: &quot;A String&quot;, # The source node of the edge.
-                  &quot;targetNode&quot;: &quot;A String&quot;, # The target node of the edge.
-                },
-              ],
-              &quot;resources&quot;: [ # The resources that match one of the following conditions:
-                  # - The resource_selector, if it is specified in request;
-                  # - Otherwise, resources reachable from the policy attached resource.
-                { # A GCP resource that appears in an access control list.
-                  &quot;fullResourceName&quot;: &quot;A String&quot;, # The [full resource name](https://aip.dev/122#full-resource-names).
-                  &quot;analysisState&quot;: { # Represents analysis state of each node in the result graph or non-critical # The analysis state of this resource node.
-                      # errors in the response.
-                    &quot;code&quot;: &quot;A String&quot;, # The Google standard error code that best describes the state.
-                        # For example:
-                        # - OK means the node has been successfully explored;
-                        # - PERMISSION_DENIED means an access denied error is encountered;
-                        # - DEADLINE_EXCEEDED means the node hasn&#x27;t been explored in time;
-                    &quot;cause&quot;: &quot;A String&quot;, # The human-readable description of the cause of failure.
-                  },
-                },
-              ],
-            },
-          ],
-          &quot;fullyExplored&quot;: True or False, # Represents whether all nodes in the transitive closure of the
-              # iam_binding node have been explored.
-          &quot;identityList&quot;: { # The identity list derived from members of the iam_binding that match or
-              # potentially match identity selector specified in the request.
-            &quot;identities&quot;: [ # Only the identities that match one of the following conditions will be
-                # presented:
-                # - The identity_selector, if it is specified in request;
-                # - Otherwise, identities reachable from the policy binding&#x27;s members.
-              { # An identity that appears in an access control list.
-                &quot;analysisState&quot;: { # Represents analysis state of each node in the result graph or non-critical # The analysis state of this identity node.
-                    # errors in the response.
-                  &quot;code&quot;: &quot;A String&quot;, # The Google standard error code that best describes the state.
-                      # For example:
-                      # - OK means the node has been successfully explored;
-                      # - PERMISSION_DENIED means an access denied error is encountered;
-                      # - DEADLINE_EXCEEDED means the node hasn&#x27;t been explored in time;
-                  &quot;cause&quot;: &quot;A String&quot;, # The human-readable description of the cause of failure.
-                },
-                &quot;name&quot;: &quot;A String&quot;, # The identity name in any form of members appear in
-                    # [IAM policy
-                    # binding](https://cloud.google.com/iam/reference/rest/v1/Binding), such
-                    # as:
-                    # - user:foo@google.com
-                    # - group:group1@google.com
-                    # - serviceAccount:s1@prj1.iam.gserviceaccount.com
-                    # - projectOwner:some_project_id
-                    # - domain:google.com
-                    # - allUsers
-                    # - etc.
-              },
-            ],
-            &quot;groupEdges&quot;: [ # Group identity edges of the graph starting from the binding&#x27;s
-                # group members to any node of the identities. The Edge.source_node
-                # contains a group, such as &quot;group:parent@google.com&quot;. The
-                # Edge.target_node contains a member of the group,
-                # such as &quot;group:child@google.com&quot; or &quot;user:foo@google.com&quot;.
-                # This field is present only if the output_group_edges option is enabled in
-                # request.
-              { # A directional edge.
-                &quot;sourceNode&quot;: &quot;A String&quot;, # The source node of the edge.
-                &quot;targetNode&quot;: &quot;A String&quot;, # The target node of the edge.
-              },
-            ],
-          },
-          &quot;attachedResourceFullName&quot;: &quot;A String&quot;, # The full name of the resource to which the iam_binding policy attaches.
         },
       ],
+      &quot;analysisQuery&quot;: { # IAM policy analysis query message. # The analysis query.
+        &quot;accessSelector&quot;: { # Specifies roles and/or permissions to analyze, to determine both the # Optional. Specifies roles or permissions for analysis. This is optional.
+            # identities possessing them and the resources they control. If multiple
+            # values are specified, results will include identities and resources
+            # matching any of them.
+          &quot;roles&quot;: [ # Optional. The roles to appear in result.
+            &quot;A String&quot;,
+          ],
+          &quot;permissions&quot;: [ # Optional. The permissions to appear in result.
+            &quot;A String&quot;,
+          ],
+        },
+        &quot;resourceSelector&quot;: { # Specifies the resource to analyze for access policies, which may be set # Optional. Specifies a resource for analysis. Either ResourceSelector or
+            # IdentitySelector must be specified.
+            # directly on the resource, or on ancestors such as organizations, folders or
+            # projects.
+          &quot;fullResourceName&quot;: &quot;A String&quot;, # Required. The [full resource
+              # name](https://cloud.google.com/asset-inventory/docs/resource-name-format)
+              # of a resource of [supported resource
+              # types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#analyzable_asset_types).
+        },
+        &quot;parent&quot;: &quot;A String&quot;, # Required. The relative name of the root asset. Only resources and IAM policies within
+            # the parent will be analyzed. This can only be an organization number (such
+            # as &quot;organizations/123&quot;) or a folder number (such as &quot;folders/123&quot;).
+            #
+            # To know how to get organization id, visit [here
+            # ](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).
+            #
+            # To know how to get folder id, visit [here
+            # ](https://cloud.google.com/resource-manager/docs/creating-managing-folders#viewing_or_listing_folders_and_projects).
+        &quot;identitySelector&quot;: { # Specifies an identity for which to determine resource access, based on # Optional. Specifies an identity for analysis. Either ResourceSelector or
+            # IdentitySelector must be specified.
+            # roles assigned either directly to them or to the groups they belong to,
+            # directly or indirectly.
+          &quot;identity&quot;: &quot;A String&quot;, # Required. The identity appear in the form of members in
+              # [IAM policy
+              # binding](https://cloud.google.com/iam/reference/rest/v1/Binding).
+              #
+              # The examples of supported forms are:
+              # &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;.
+              #
+              # Notice that wildcard characters (such as * and ?) are not supported.
+              # You must give a specific identity.
+        },
+      },
     },
+    &quot;fullyExplored&quot;: True or False, # Represents whether all entries in the main_analysis and
+        # service_account_impersonation_analysis have been fully explored to
+        # answer the query in the request.
+    &quot;nonCriticalErrors&quot;: [ # A list of non-critical errors happened during the request handling to
+        # explain why `fully_explored` is false, or empty if no error happened.
+      { # Represents the detailed state of an entity under analysis, such as a
+          # resource, an identity or an access.
+        &quot;cause&quot;: &quot;A String&quot;, # The human-readable description of the cause of failure.
+        &quot;code&quot;: &quot;A String&quot;, # The Google standard error code that best describes the state.
+            # For example:
+            # - OK means the analysis on this entity has been successfully finished;
+            # - PERMISSION_DENIED means an access denied error is encountered;
+            # - DEADLINE_EXCEEDED means the analysis on this entity hasn&#x27;t been started
+            # in time;
+      },
+    ],
     &quot;serviceAccountImpersonationAnalysis&quot;: [ # The service account impersonation analysis if
         # AnalyzeIamPolicyRequest.analyze_service_account_impersonation is
         # enabled.
       { # An analysis message to group the query and results.
         &quot;fullyExplored&quot;: True or False, # Represents whether all entries in the analysis_results have been
             # fully explored to answer the query.
-        &quot;analysisQuery&quot;: { # IAM policy analysis query message. # The analysis query.
-          &quot;parent&quot;: &quot;A String&quot;, # Required. The relative name of the root asset. Only resources and IAM policies within
-              # the parent will be analyzed. This can only be an organization number (such
-              # as &quot;organizations/123&quot;) or a folder number (such as &quot;folders/123&quot;).
-          &quot;resourceSelector&quot;: { # Specifies the resource to analyze for access policies, which may be set # Optional. Specifies a resource for analysis. Leaving it empty means ANY.
-              # directly on the resource, or on ancestors such as organizations, folders or
-              # projects. At least one of ResourceSelector, IdentitySelector or
-              # AccessSelector must be specified in a request.
-            &quot;fullResourceName&quot;: &quot;A String&quot;, # Required. The [full resource
-                # name](https://cloud.google.com/apis/design/resource_names#full_resource_name)
-                # .
-          },
-          &quot;accessSelector&quot;: { # Specifies roles and/or permissions to analyze, to determine both the # Optional. Specifies roles or permissions for analysis. Leaving it empty
-              # means ANY.
-              # identities possessing them and the resources they control. If multiple
-              # values are specified, results will include identities and resources
-              # matching any of them.
-            &quot;roles&quot;: [ # Optional. The roles to appear in result.
-              &quot;A String&quot;,
-            ],
-            &quot;permissions&quot;: [ # Optional. The permissions to appear in result.
-              &quot;A String&quot;,
-            ],
-          },
-          &quot;identitySelector&quot;: { # Specifies an identity for which to determine resource access, based on # Optional. Specifies an identity for analysis. Leaving it empty means ANY.
-              # roles assigned either directly to them or to the groups they belong to,
-              # directly or indirectly.
-            &quot;identity&quot;: &quot;A String&quot;, # Required. The identity appear in the form of members in
-                # [IAM policy
-                # binding](https://cloud.google.com/iam/reference/rest/v1/Binding).
-          },
-        },
         &quot;analysisResults&quot;: [ # A list of IamPolicyAnalysisResult that matches the analysis query, or
             # empty if no result is found.
           { # IAM Policy analysis result, consisting of one IAM policy binding and derived
               # access control lists.
+            &quot;accessControlLists&quot;: [ # The access control lists derived from the iam_binding that match or
+                # potentially match resource and access selectors specified in the request.
+              { # An access control list, derived from the above IAM policy binding, which
+                  # contains a set of resources and accesses. May include one
+                  # item from each set to compose an access control entry.
+                  #
+                  # NOTICE that there could be multiple access control lists for one IAM policy
+                  # binding. The access control lists are created based on resource and access
+                  # combinations.
+                  #
+                  # For example, assume we have the following cases in one IAM policy binding:
+                  # - Permission P1 and P2 apply to resource R1 and R2;
+                  # - Permission P3 applies to resource R2 and R3;
+                  #
+                  # This will result in the following access control lists:
+                  # - AccessControlList 1: [R1, R2], [P1, P2]
+                  # - AccessControlList 2: [R2, R3], [P3]
+                &quot;resources&quot;: [ # The resources that match one of the following conditions:
+                    # - The resource_selector, if it is specified in request;
+                    # - Otherwise, resources reachable from the policy attached resource.
+                  { # A Google Cloud resource under analysis.
+                    &quot;fullResourceName&quot;: &quot;A String&quot;, # The [full resource
+                        # name](https://cloud.google.com/asset-inventory/docs/resource-name-format)
+                    &quot;analysisState&quot;: { # Represents the detailed state of an entity under analysis, such as a # The analysis state of this resource.
+                        # resource, an identity or an access.
+                      &quot;cause&quot;: &quot;A String&quot;, # The human-readable description of the cause of failure.
+                      &quot;code&quot;: &quot;A String&quot;, # The Google standard error code that best describes the state.
+                          # For example:
+                          # - OK means the analysis on this entity has been successfully finished;
+                          # - PERMISSION_DENIED means an access denied error is encountered;
+                          # - DEADLINE_EXCEEDED means the analysis on this entity hasn&#x27;t been started
+                          # in time;
+                    },
+                  },
+                ],
+                &quot;accesses&quot;: [ # The accesses that match one of the following conditions:
+                    # - The access_selector, if it is specified in request;
+                    # - Otherwise, access specifiers reachable from the policy binding&#x27;s role.
+                  { # An IAM role or permission under analysis.
+                    &quot;permission&quot;: &quot;A String&quot;, # The permission.
+                    &quot;analysisState&quot;: { # Represents the detailed state of an entity under analysis, such as a # The analysis state of this access.
+                        # resource, an identity or an access.
+                      &quot;cause&quot;: &quot;A String&quot;, # The human-readable description of the cause of failure.
+                      &quot;code&quot;: &quot;A String&quot;, # The Google standard error code that best describes the state.
+                          # For example:
+                          # - OK means the analysis on this entity has been successfully finished;
+                          # - PERMISSION_DENIED means an access denied error is encountered;
+                          # - DEADLINE_EXCEEDED means the analysis on this entity hasn&#x27;t been started
+                          # in time;
+                    },
+                    &quot;role&quot;: &quot;A String&quot;, # The role.
+                  },
+                ],
+                &quot;resourceEdges&quot;: [ # Resource edges of the graph starting from the policy attached
+                    # resource to any descendant resources. The Edge.source_node contains
+                    # the full resource name of a parent resource and Edge.target_node
+                    # contains the full resource name of a child resource. This field is
+                    # present only if the output_resource_edges option is enabled in request.
+                  { # A directional edge.
+                    &quot;sourceNode&quot;: &quot;A String&quot;, # The source node of the edge.
+                    &quot;targetNode&quot;: &quot;A String&quot;, # The target node of the edge.
+                  },
+                ],
+              },
+            ],
+            &quot;fullyExplored&quot;: True or False, # Represents whether all analyses on the iam_binding have successfully
+                # finished.
+            &quot;identityList&quot;: { # The identity list derived from members of the iam_binding that match or
+                # potentially match identity selector specified in the request.
+              &quot;groupEdges&quot;: [ # Group identity edges of the graph starting from the binding&#x27;s
+                  # group members to any node of the identities. The Edge.source_node
+                  # contains a group, such as &quot;group:parent@google.com&quot;. The
+                  # Edge.target_node contains a member of the group,
+                  # such as &quot;group:child@google.com&quot; or &quot;user:foo@google.com&quot;.
+                  # This field is present only if the output_group_edges option is enabled in
+                  # request.
+                { # A directional edge.
+                  &quot;sourceNode&quot;: &quot;A String&quot;, # The source node of the edge.
+                  &quot;targetNode&quot;: &quot;A String&quot;, # The target node of the edge.
+                },
+              ],
+              &quot;identities&quot;: [ # Only the identities that match one of the following conditions will be
+                  # presented:
+                  # - The identity_selector, if it is specified in request;
+                  # - Otherwise, identities reachable from the policy binding&#x27;s members.
+                { # An identity under analysis.
+                  &quot;name&quot;: &quot;A String&quot;, # The identity name in any form of members appear in
+                      # [IAM policy
+                      # binding](https://cloud.google.com/iam/reference/rest/v1/Binding), such
+                      # as:
+                      # - user:foo@google.com
+                      # - group:group1@google.com
+                      # - serviceAccount:s1@prj1.iam.gserviceaccount.com
+                      # - projectOwner:some_project_id
+                      # - domain:google.com
+                      # - allUsers
+                      # - etc.
+                  &quot;analysisState&quot;: { # Represents the detailed state of an entity under analysis, such as a # The analysis state of this identity.
+                      # resource, an identity or an access.
+                    &quot;cause&quot;: &quot;A String&quot;, # The human-readable description of the cause of failure.
+                    &quot;code&quot;: &quot;A String&quot;, # The Google standard error code that best describes the state.
+                        # For example:
+                        # - OK means the analysis on this entity has been successfully finished;
+                        # - PERMISSION_DENIED means an access denied error is encountered;
+                        # - DEADLINE_EXCEEDED means the analysis on this entity hasn&#x27;t been started
+                        # in time;
+                  },
+                },
+              ],
+            },
+            &quot;attachedResourceFullName&quot;: &quot;A String&quot;, # The [full resource
+                # name](https://cloud.google.com/asset-inventory/docs/resource-name-format)
+                # of the resource to which the iam_binding policy attaches.
             &quot;iamBinding&quot;: { # Associates `members` with a `role`. # The Cloud IAM policy binding under analysis.
+              &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`.
+                  # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+              &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;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;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;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
+                    # syntax.
+                &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
+                    # describes the expression, e.g. when hovered over it in a UI.
+              },
               &quot;members&quot;: [ # Specifies the identities requesting access for a Cloud Platform resource.
                   # `members` can have the following values:
                   #
@@ -524,170 +698,57 @@
                   #
                 &quot;A String&quot;,
               ],
-              &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`.
-                  # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
-              &quot;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;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;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
-                    # syntax.
-              },
             },
-            &quot;accessControlLists&quot;: [ # The access control lists derived from the iam_binding that match or
-                # potentially match resource and access selectors specified in the request.
-              { # An access control list, derived from the above IAM policy binding, which
-                  # contains a set of resources and accesses. May include one
-                  # item from each set to compose an access control entry.
-                  #
-                  # NOTICE that there could be multiple access control lists for one IAM policy
-                  # binding. The access control lists are created based on resource and access
-                  # combinations.
-                  #
-                  # For example, assume we have the following cases in one IAM policy binding:
-                  # - Permission P1 and P2 apply to resource R1 and R2;
-                  # - Permission P3 applies to resource R2 and R3;
-                  #
-                  # This will result in the following access control lists:
-                  # - AccessControlList 1: [R1, R2], [P1, P2]
-                  # - AccessControlList 2: [R2, R3], [P3]
-                &quot;accesses&quot;: [ # The accesses that match one of the following conditions:
-                    # - The access_selector, if it is specified in request;
-                    # - Otherwise, access specifiers reachable from the policy binding&#x27;s role.
-                  { # A role or permission that appears in an access control list.
-                    &quot;permission&quot;: &quot;A String&quot;, # The permission.
-                    &quot;analysisState&quot;: { # Represents analysis state of each node in the result graph or non-critical # The analysis state of this access node.
-                        # errors in the response.
-                      &quot;code&quot;: &quot;A String&quot;, # The Google standard error code that best describes the state.
-                          # For example:
-                          # - OK means the node has been successfully explored;
-                          # - PERMISSION_DENIED means an access denied error is encountered;
-                          # - DEADLINE_EXCEEDED means the node hasn&#x27;t been explored in time;
-                      &quot;cause&quot;: &quot;A String&quot;, # The human-readable description of the cause of failure.
-                    },
-                    &quot;role&quot;: &quot;A String&quot;, # The role.
-                  },
-                ],
-                &quot;resourceEdges&quot;: [ # Resource edges of the graph starting from the policy attached
-                    # resource to any descendant resources. The Edge.source_node contains
-                    # the full resource name of a parent resource and Edge.target_node
-                    # contains the full resource name of a child resource. This field is
-                    # present only if the output_resource_edges option is enabled in request.
-                  { # A directional edge.
-                    &quot;sourceNode&quot;: &quot;A String&quot;, # The source node of the edge.
-                    &quot;targetNode&quot;: &quot;A String&quot;, # The target node of the edge.
-                  },
-                ],
-                &quot;resources&quot;: [ # The resources that match one of the following conditions:
-                    # - The resource_selector, if it is specified in request;
-                    # - Otherwise, resources reachable from the policy attached resource.
-                  { # A GCP resource that appears in an access control list.
-                    &quot;fullResourceName&quot;: &quot;A String&quot;, # The [full resource name](https://aip.dev/122#full-resource-names).
-                    &quot;analysisState&quot;: { # Represents analysis state of each node in the result graph or non-critical # The analysis state of this resource node.
-                        # errors in the response.
-                      &quot;code&quot;: &quot;A String&quot;, # The Google standard error code that best describes the state.
-                          # For example:
-                          # - OK means the node has been successfully explored;
-                          # - PERMISSION_DENIED means an access denied error is encountered;
-                          # - DEADLINE_EXCEEDED means the node hasn&#x27;t been explored in time;
-                      &quot;cause&quot;: &quot;A String&quot;, # The human-readable description of the cause of failure.
-                    },
-                  },
-                ],
-              },
-            ],
-            &quot;fullyExplored&quot;: True or False, # Represents whether all nodes in the transitive closure of the
-                # iam_binding node have been explored.
-            &quot;identityList&quot;: { # The identity list derived from members of the iam_binding that match or
-                # potentially match identity selector specified in the request.
-              &quot;identities&quot;: [ # Only the identities that match one of the following conditions will be
-                  # presented:
-                  # - The identity_selector, if it is specified in request;
-                  # - Otherwise, identities reachable from the policy binding&#x27;s members.
-                { # An identity that appears in an access control list.
-                  &quot;analysisState&quot;: { # Represents analysis state of each node in the result graph or non-critical # The analysis state of this identity node.
-                      # errors in the response.
-                    &quot;code&quot;: &quot;A String&quot;, # The Google standard error code that best describes the state.
-                        # For example:
-                        # - OK means the node has been successfully explored;
-                        # - PERMISSION_DENIED means an access denied error is encountered;
-                        # - DEADLINE_EXCEEDED means the node hasn&#x27;t been explored in time;
-                    &quot;cause&quot;: &quot;A String&quot;, # The human-readable description of the cause of failure.
-                  },
-                  &quot;name&quot;: &quot;A String&quot;, # The identity name in any form of members appear in
-                      # [IAM policy
-                      # binding](https://cloud.google.com/iam/reference/rest/v1/Binding), such
-                      # as:
-                      # - user:foo@google.com
-                      # - group:group1@google.com
-                      # - serviceAccount:s1@prj1.iam.gserviceaccount.com
-                      # - projectOwner:some_project_id
-                      # - domain:google.com
-                      # - allUsers
-                      # - etc.
-                },
-              ],
-              &quot;groupEdges&quot;: [ # Group identity edges of the graph starting from the binding&#x27;s
-                  # group members to any node of the identities. The Edge.source_node
-                  # contains a group, such as &quot;group:parent@google.com&quot;. The
-                  # Edge.target_node contains a member of the group,
-                  # such as &quot;group:child@google.com&quot; or &quot;user:foo@google.com&quot;.
-                  # This field is present only if the output_group_edges option is enabled in
-                  # request.
-                { # A directional edge.
-                  &quot;sourceNode&quot;: &quot;A String&quot;, # The source node of the edge.
-                  &quot;targetNode&quot;: &quot;A String&quot;, # The target node of the edge.
-                },
-              ],
-            },
-            &quot;attachedResourceFullName&quot;: &quot;A String&quot;, # The full name of the resource to which the iam_binding policy attaches.
           },
         ],
+        &quot;analysisQuery&quot;: { # IAM policy analysis query message. # The analysis query.
+          &quot;accessSelector&quot;: { # Specifies roles and/or permissions to analyze, to determine both the # Optional. Specifies roles or permissions for analysis. This is optional.
+              # identities possessing them and the resources they control. If multiple
+              # values are specified, results will include identities and resources
+              # matching any of them.
+            &quot;roles&quot;: [ # Optional. The roles to appear in result.
+              &quot;A String&quot;,
+            ],
+            &quot;permissions&quot;: [ # Optional. The permissions to appear in result.
+              &quot;A String&quot;,
+            ],
+          },
+          &quot;resourceSelector&quot;: { # Specifies the resource to analyze for access policies, which may be set # Optional. Specifies a resource for analysis. Either ResourceSelector or
+              # IdentitySelector must be specified.
+              # directly on the resource, or on ancestors such as organizations, folders or
+              # projects.
+            &quot;fullResourceName&quot;: &quot;A String&quot;, # Required. The [full resource
+                # name](https://cloud.google.com/asset-inventory/docs/resource-name-format)
+                # of a resource of [supported resource
+                # types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#analyzable_asset_types).
+          },
+          &quot;parent&quot;: &quot;A String&quot;, # Required. The relative name of the root asset. Only resources and IAM policies within
+              # the parent will be analyzed. This can only be an organization number (such
+              # as &quot;organizations/123&quot;) or a folder number (such as &quot;folders/123&quot;).
+              #
+              # To know how to get organization id, visit [here
+              # ](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).
+              #
+              # To know how to get folder id, visit [here
+              # ](https://cloud.google.com/resource-manager/docs/creating-managing-folders#viewing_or_listing_folders_and_projects).
+          &quot;identitySelector&quot;: { # Specifies an identity for which to determine resource access, based on # Optional. Specifies an identity for analysis. Either ResourceSelector or
+              # IdentitySelector must be specified.
+              # roles assigned either directly to them or to the groups they belong to,
+              # directly or indirectly.
+            &quot;identity&quot;: &quot;A String&quot;, # Required. The identity appear in the form of members in
+                # [IAM policy
+                # binding](https://cloud.google.com/iam/reference/rest/v1/Binding).
+                #
+                # The examples of supported forms are:
+                # &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;.
+                #
+                # Notice that wildcard characters (such as * and ?) are not supported.
+                # You must give a specific identity.
+          },
+        },
       },
     ],
   }</pre>
@@ -695,15 +756,25 @@
 
 <div class="method">
     <code class="details" id="exportIamPolicyAnalysis">exportIamPolicyAnalysis(parent, body=None, x__xgafv=None)</code>
-  <pre>Exports IAM policy analysis based on the specified request. This API
-implements the google.longrunning.Operation API allowing you to keep
-track of the export. The metadata contains the request to help callers to
-map responses to requests.
+  <pre>Exports the answers of which identities have what accesses on which
+resources to a Google Cloud Storage destination. The output format is
+the JSON format that represents a AnalyzeIamPolicyResponse
+in the JSON format.
+This method implements the google.longrunning.Operation, which allows
+you to keep track of the export. We recommend intervals of at least 2
+seconds with exponential retry to poll the export operation result. The
+metadata contains the request to help callers to map responses to requests.
 
 Args:
   parent: string, Required. The relative name of the root asset. Only resources and IAM policies within
 the parent will be analyzed. This can only be an organization number (such
-as &quot;organizations/123&quot;) or a folder number (such as &quot;folders/123&quot;). (required)
+as &quot;organizations/123&quot;) or a folder number (such as &quot;folders/123&quot;).
+
+To know how to get organization id, visit [here
+](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).
+
+To know how to get folder id, visit [here
+](https://cloud.google.com/resource-manager/docs/creating-managing-folders#viewing_or_listing_folders_and_projects). (required)
   body: object, The request body.
     The object takes the form of:
 
@@ -730,6 +801,9 @@
           # AnalyzeIamPolicyResponse.service_account_impersonation_analysis.
           #
           # Default is false.
+      &quot;outputGroupEdges&quot;: True or False, # Optional. If true, the result will output group identity edges, starting
+          # from the binding&#x27;s group members, to any expanded identities.
+          # Default is false.
       &quot;expandResources&quot;: True or False, # Optional. If true, the resource section of the result will expand any
           # resource attached to an IAM policy to include resources lower in the
           # resource hierarchy.
@@ -742,12 +816,6 @@
           # If resource_selector is specified, the resource section of the result
           # will be determined by the selector, and this flag will have no effect.
           # Default is false.
-      &quot;outputGroupEdges&quot;: True or False, # Optional. If true, the result will output group identity edges, starting
-          # from the binding&#x27;s group members, to any expanded identities.
-          # Default is false.
-      &quot;outputResourceEdges&quot;: True or False, # Optional. If true, the result will output resource edges, starting
-          # from the policy attached resource, to any expanded resources.
-          # Default is false.
       &quot;expandRoles&quot;: True or False, # Optional. If true, the access section of result will expand any roles
           # appearing in IAM policy bindings to include their permissions.
           #
@@ -762,30 +830,12 @@
           # be determined by the selector, and this flag will have no effect.
           #
           # Default is false.
-    },
-    &quot;outputConfig&quot;: { # Output configuration for export IAM policy analysis destination. # Required. Output configuration indicating where the results will be output to.
-      &quot;gcsDestination&quot;: { # A Cloud Storage location. # Destination on Cloud Storage.
-        &quot;uri&quot;: &quot;A String&quot;, # Required. The uri of the Cloud Storage object. It&#x27;s the same uri that is used by
-            # gsutil. For example: &quot;gs://bucket_name/object_name&quot;. See [Viewing and
-            # Editing Object
-            # Metadata](https://cloud.google.com/storage/docs/viewing-editing-metadata)
-            # for more information.
-      },
+      &quot;outputResourceEdges&quot;: True or False, # Optional. If true, the result will output resource edges, starting
+          # from the policy attached resource, to any expanded resources.
+          # Default is false.
     },
     &quot;analysisQuery&quot;: { # IAM policy analysis query message. # Required. The request query.
-      &quot;parent&quot;: &quot;A String&quot;, # Required. The relative name of the root asset. Only resources and IAM policies within
-          # the parent will be analyzed. This can only be an organization number (such
-          # as &quot;organizations/123&quot;) or a folder number (such as &quot;folders/123&quot;).
-      &quot;resourceSelector&quot;: { # Specifies the resource to analyze for access policies, which may be set # Optional. Specifies a resource for analysis. Leaving it empty means ANY.
-          # directly on the resource, or on ancestors such as organizations, folders or
-          # projects. At least one of ResourceSelector, IdentitySelector or
-          # AccessSelector must be specified in a request.
-        &quot;fullResourceName&quot;: &quot;A String&quot;, # Required. The [full resource
-            # name](https://cloud.google.com/apis/design/resource_names#full_resource_name)
-            # .
-      },
-      &quot;accessSelector&quot;: { # Specifies roles and/or permissions to analyze, to determine both the # Optional. Specifies roles or permissions for analysis. Leaving it empty
-          # means ANY.
+      &quot;accessSelector&quot;: { # Specifies roles and/or permissions to analyze, to determine both the # Optional. Specifies roles or permissions for analysis. This is optional.
           # identities possessing them and the resources they control. If multiple
           # values are specified, results will include identities and resources
           # matching any of them.
@@ -796,12 +846,49 @@
           &quot;A String&quot;,
         ],
       },
-      &quot;identitySelector&quot;: { # Specifies an identity for which to determine resource access, based on # Optional. Specifies an identity for analysis. Leaving it empty means ANY.
+      &quot;resourceSelector&quot;: { # Specifies the resource to analyze for access policies, which may be set # Optional. Specifies a resource for analysis. Either ResourceSelector or
+          # IdentitySelector must be specified.
+          # directly on the resource, or on ancestors such as organizations, folders or
+          # projects.
+        &quot;fullResourceName&quot;: &quot;A String&quot;, # Required. The [full resource
+            # name](https://cloud.google.com/asset-inventory/docs/resource-name-format)
+            # of a resource of [supported resource
+            # types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#analyzable_asset_types).
+      },
+      &quot;parent&quot;: &quot;A String&quot;, # Required. The relative name of the root asset. Only resources and IAM policies within
+          # the parent will be analyzed. This can only be an organization number (such
+          # as &quot;organizations/123&quot;) or a folder number (such as &quot;folders/123&quot;).
+          #
+          # To know how to get organization id, visit [here
+          # ](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).
+          #
+          # To know how to get folder id, visit [here
+          # ](https://cloud.google.com/resource-manager/docs/creating-managing-folders#viewing_or_listing_folders_and_projects).
+      &quot;identitySelector&quot;: { # Specifies an identity for which to determine resource access, based on # Optional. Specifies an identity for analysis. Either ResourceSelector or
+          # IdentitySelector must be specified.
           # roles assigned either directly to them or to the groups they belong to,
           # directly or indirectly.
         &quot;identity&quot;: &quot;A String&quot;, # Required. The identity appear in the form of members in
             # [IAM policy
             # binding](https://cloud.google.com/iam/reference/rest/v1/Binding).
+            #
+            # The examples of supported forms are:
+            # &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;.
+            #
+            # Notice that wildcard characters (such as * and ?) are not supported.
+            # You must give a specific identity.
+      },
+    },
+    &quot;outputConfig&quot;: { # Output configuration for export IAM policy analysis destination. # Required. Output configuration indicating where the results will be output to.
+      &quot;gcsDestination&quot;: { # A Cloud Storage location. # Destination on Cloud Storage.
+        &quot;uri&quot;: &quot;A String&quot;, # Required. The uri of the Cloud Storage object. It&#x27;s the same uri that is used by
+            # gsutil. For example: &quot;gs://bucket_name/object_name&quot;. See [Viewing and
+            # Editing Object
+            # Metadata](https://cloud.google.com/storage/docs/viewing-editing-metadata)
+            # for more information.
       },
     },
   }
@@ -816,9 +903,9 @@
 
     { # This resource represents a long-running operation that is the result of a
       # network API call.
-    &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that
-        # originally returns it. If you use the default HTTP mapping, the
-        # `name` should be a resource name ending with `operations/{unique_id}`.
+    &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress.
+        # If `true`, the operation is completed, and either `error` or `response` is
+        # available.
     &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
         # different programming environments, including REST APIs and RPC APIs. It is
         # used by [gRPC](https://github.com/grpc). Each `Status` message contains
@@ -826,9 +913,6 @@
         #
         # You can find out more about this error model and how to work with it in the
         # [API Design Guide](https://cloud.google.com/apis/design/errors).
-      &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
-          # user-facing error message should be localized and sent in the
-          # google.rpc.Status.details field, or localized by the client.
       &quot;details&quot;: [ # A list of messages that carry the error details.  There is a common set of
           # message types for APIs to use.
         {
@@ -836,16 +920,19 @@
         },
       ],
       &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+      &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
+          # user-facing error message should be localized and sent in the
+          # google.rpc.Status.details field, or localized by the client.
     },
+    &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that
+        # originally returns it. If you use the default HTTP mapping, the
+        # `name` should be a resource name ending with `operations/{unique_id}`.
     &quot;metadata&quot;: { # Service-specific metadata associated with the operation.  It typically
         # contains progress information and common metadata such as create time.
         # Some services might not provide such metadata.  Any method that returns a
         # long-running operation should document the metadata type, if any.
       &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
     },
-    &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress.
-        # If `true`, the operation is completed, and either `error` or `response` is
-        # available.
     &quot;response&quot;: { # The normal response of the operation in case of success.  If the original
         # method returns no data on success, such as `Delete`, the response is
         # `google.protobuf.Empty`.  If the original method is standard