docs: update generated docs (#1053)

Updates for both discovery docs and epydoc API Documentation

Fixes: #1049
diff --git a/docs/dyn/cloudidentity_v1beta1.groups.memberships.html b/docs/dyn/cloudidentity_v1beta1.groups.memberships.html
index 1750d5b..e0f3174 100644
--- a/docs/dyn/cloudidentity_v1beta1.groups.memberships.html
+++ b/docs/dyn/cloudidentity_v1beta1.groups.memberships.html
@@ -75,6 +75,12 @@
 <h1><a href="cloudidentity_v1beta1.html">Cloud Identity API</a> . <a href="cloudidentity_v1beta1.groups.html">groups</a> . <a href="cloudidentity_v1beta1.groups.memberships.html">memberships</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
+  <code><a href="#checkTransitiveMembership">checkTransitiveMembership(parent, query=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Check a potential member for membership in a group.</p>
+<p class="toc_element">
+  <code><a href="#close">close()</a></code></p>
+<p class="firstline">Close httplib2 connections.</p>
+<p class="toc_element">
   <code><a href="#create">create(parent, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Creates a `Membership`.</p>
 <p class="toc_element">
@@ -84,116 +90,89 @@
   <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
 <p class="firstline">Retrieves a `Membership`.</p>
 <p class="toc_element">
-  <code><a href="#list">list(parent, view=None, pageToken=None, pageSize=None, x__xgafv=None)</a></code></p>
+  <code><a href="#getMembershipGraph">getMembershipGraph(parent, query=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Get a membership graph of a member or member/group.</p>
+<p class="toc_element">
+  <code><a href="#list">list(parent, pageToken=None, pageSize=None, view=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Lists the `Membership`s within a `Group`.</p>
 <p class="toc_element">
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
 <p class="firstline">Retrieves the next page of results.</p>
 <p class="toc_element">
   <code><a href="#lookup">lookup(parent, memberKey_namespace=None, memberKey_id=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Looks up the [resource</p>
+<p class="firstline">Looks up the [resource name](https://cloud.google.com/apis/design/resource_names) of a `Membership` by its `EntityKey`.</p>
 <p class="toc_element">
   <code><a href="#modifyMembershipRoles">modifyMembershipRoles(name, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Modifies the `MembershipRole`s of a `Membership`.</p>
+<p class="toc_element">
+  <code><a href="#searchTransitiveGroups">searchTransitiveGroups(parent, pageSize=None, pageToken=None, query=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Search transitive groups of a member.</p>
+<p class="toc_element">
+  <code><a href="#searchTransitiveGroups_next">searchTransitiveGroups_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#searchTransitiveMemberships">searchTransitiveMemberships(parent, pageToken=None, pageSize=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Search transitive memberships of a group.</p>
+<p class="toc_element">
+  <code><a href="#searchTransitiveMemberships_next">searchTransitiveMemberships_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
 <h3>Method Details</h3>
 <div class="method">
+    <code class="details" id="checkTransitiveMembership">checkTransitiveMembership(parent, query=None, x__xgafv=None)</code>
+  <pre>Check a potential member for membership in a group.
+
+Args:
+  parent: string, [Resource name](https://cloud.google.com/apis/design/resource_names) of the group to check the transitive membership in. Format: `groups/{group_id}`, where `group_id` is the unique id assigned to the Group to which the Membership belongs to. (required)
+  query: string, Required. A CEL expression that MUST include member specification. This is a `required` field. Example query: member_key_id == ‘member_key_id_value’ [ &amp;&amp; member_key_namespace == ‘member_key_namespace_value’ ]
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response message for MembershipsService.CheckTransitiveMembership.
+    &quot;hasMembership&quot;: True or False, # Response does not include the possible roles of a member since the behavior of this rpc is not all-or-nothing unlike the other rpcs. So, it may not be possible to list all the roles definitively, due to possible lack of authorization in some of the paths.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="close">close()</code>
+  <pre>Close httplib2 connections.</pre>
+</div>
+
+<div class="method">
     <code class="details" id="create">create(parent, body=None, x__xgafv=None)</code>
   <pre>Creates a `Membership`.
 
 Args:
-  parent: string, Required. The parent `Group` resource under which to create the `Membership`.
-
-Must be of the form `groups/{group_id}`. (required)
+  parent: string, Required. The parent `Group` resource under which to create the `Membership`. Must be of the form `groups/{group_id}`. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # A membership within the Cloud Identity Groups API.
-    # 
-    # A `Membership` defines a relationship between a `Group` and an entity
-    # belonging to that `Group`, referred to as a &quot;member&quot;.
-  &quot;preferredMemberKey&quot;: { # A unique identifier for an entity in the Cloud Identity Groups API. # Required. Immutable. The `EntityKey` of the member.
-      # 
-      # Either `member_key` or `preferred_member_key` must be set when calling
-      # MembershipsService.CreateMembership but not both; both shall be set
-      # when returned.
-      #
-      # An entity can represent either a group with an optional `namespace` or a user
-      # without a `namespace`. The combination of `id` and `namespace` must be
-      # unique; however, the same `id` can be used with different `namespace`s.
-    &quot;id&quot;: &quot;A String&quot;, # The ID of the entity.
-        #
-        # For Google-managed entities, the `id` must be the email address of an
-        # existing group or user.
-        #
-        # For external-identity-mapped entities, the `id` must be a string conforming
-        # to the Identity Source&#x27;s requirements.
-        #
-        # Must be unique within a `namespace`.
-    &quot;namespace&quot;: &quot;A String&quot;, # The namespace in which the entity exists.
-        #
-        # If not specified, the `EntityKey` represents a Google-managed entity such
-        # as a Google user or a Google Group.
-        #
-        # If specified, the `EntityKey` represents an external-identity-mapped group.
-        # The namespace must correspond to an identity source created in Admin
-        # Console and must be in the form of `identitysources/{identity_source_id}.
-  },
-  &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time when the `Membership` was created.
-  &quot;name&quot;: &quot;A String&quot;, # Output only. The [resource name](https://cloud.google.com/apis/design/resource_names) of
-      # the `Membership`.
-      # 
-      # Shall be of the form `groups/{group_id}/memberships/{membership_id}`.
-  &quot;type&quot;: &quot;A String&quot;, # Output only. The type of the membership.
-  &quot;memberKey&quot;: { # A unique identifier for an entity in the Cloud Identity Groups API. # Immutable. The `EntityKey` of the member.
-      # 
-      # Either `member_key` or `preferred_member_key` must be set when calling
-      # MembershipsService.CreateMembership but not both; both shall be set
-      # when returned.
-      #
-      # An entity can represent either a group with an optional `namespace` or a user
-      # without a `namespace`. The combination of `id` and `namespace` must be
-      # unique; however, the same `id` can be used with different `namespace`s.
-    &quot;id&quot;: &quot;A String&quot;, # The ID of the entity.
-        #
-        # For Google-managed entities, the `id` must be the email address of an
-        # existing group or user.
-        #
-        # For external-identity-mapped entities, the `id` must be a string conforming
-        # to the Identity Source&#x27;s requirements.
-        #
-        # Must be unique within a `namespace`.
-    &quot;namespace&quot;: &quot;A String&quot;, # The namespace in which the entity exists.
-        #
-        # If not specified, the `EntityKey` represents a Google-managed entity such
-        # as a Google user or a Google Group.
-        #
-        # If specified, the `EntityKey` represents an external-identity-mapped group.
-        # The namespace must correspond to an identity source created in Admin
-        # Console and must be in the form of `identitysources/{identity_source_id}.
-  },
-  &quot;roles&quot;: [ # The `MembershipRole`s that apply to the `Membership`.
-      # 
-      # If unspecified, defaults to a single `MembershipRole` with `name` `MEMBER`.
-      # 
-      # Must not contain duplicate `MembershipRole`s with the same `name`.
-    { # A membership role within the Cloud Identity Groups API.
-        #
-        # A `MembershipRole` defines the privileges granted to a `Membership`.
-      &quot;expiryDetail&quot;: { # The `MembershipRole` expiry details. # The expiry details of the `MembershipRole`.
-          #
-          # Expiry details are only supported for `MEMBER` `MembershipRoles`.
-          #
-          # May be set if `name` is `MEMBER`. Must not be set if `name` is any other
-          # value.
-        &quot;expireTime&quot;: &quot;A String&quot;, # The time at which the `MembershipRole` will expire.
-      },
-      &quot;name&quot;: &quot;A String&quot;, # The name of the `MembershipRole`.
-          #
-          # Must be one of `OWNER`, `MANAGER`, `MEMBER`.
+{ # A membership within the Cloud Identity Groups API. A `Membership` defines a relationship between a `Group` and an entity belonging to that `Group`, referred to as a &quot;member&quot;.
+    &quot;preferredMemberKey&quot;: { # A unique identifier for an entity in the Cloud Identity Groups API. An entity can represent either a group with an optional `namespace` or a user without a `namespace`. The combination of `id` and `namespace` must be unique; however, the same `id` can be used with different `namespace`s. # Required. Immutable. The `EntityKey` of the member. Either `member_key` or `preferred_member_key` must be set when calling MembershipsService.CreateMembership but not both; both shall be set when returned.
+      &quot;id&quot;: &quot;A String&quot;, # The ID of the entity. For Google-managed entities, the `id` must be the email address of an existing group or user. For external-identity-mapped entities, the `id` must be a string conforming to the Identity Source&#x27;s requirements. Must be unique within a `namespace`.
+      &quot;namespace&quot;: &quot;A String&quot;, # The namespace in which the entity exists. If not specified, the `EntityKey` represents a Google-managed entity such as a Google user or a Google Group. If specified, the `EntityKey` represents an external-identity-mapped group. The namespace must correspond to an identity source created in Admin Console and must be in the form of `identitysources/{identity_source_id}.
     },
-  ],
-  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time when the `Membership` was last updated.
-}
+    &quot;roles&quot;: [ # The `MembershipRole`s that apply to the `Membership`. If unspecified, defaults to a single `MembershipRole` with `name` `MEMBER`. Must not contain duplicate `MembershipRole`s with the same `name`.
+      { # A membership role within the Cloud Identity Groups API. A `MembershipRole` defines the privileges granted to a `Membership`.
+        &quot;name&quot;: &quot;A String&quot;, # The name of the `MembershipRole`. Must be one of `OWNER`, `MANAGER`, `MEMBER`.
+        &quot;expiryDetail&quot;: { # The `MembershipRole` expiry details. # The expiry details of the `MembershipRole`. Expiry details are only supported for `MEMBER` `MembershipRoles`. May be set if `name` is `MEMBER`. Must not be set if `name` is any other value.
+          &quot;expireTime&quot;: &quot;A String&quot;, # The time at which the `MembershipRole` will expire.
+        },
+      },
+    ],
+    &quot;name&quot;: &quot;A String&quot;, # Output only. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Membership`. Shall be of the form `groups/{group_id}/memberships/{membership_id}`.
+    &quot;memberKey&quot;: { # A unique identifier for an entity in the Cloud Identity Groups API. An entity can represent either a group with an optional `namespace` or a user without a `namespace`. The combination of `id` and `namespace` must be unique; however, the same `id` can be used with different `namespace`s. # Immutable. The `EntityKey` of the member. Either `member_key` or `preferred_member_key` must be set when calling MembershipsService.CreateMembership but not both; both shall be set when returned.
+      &quot;id&quot;: &quot;A String&quot;, # The ID of the entity. For Google-managed entities, the `id` must be the email address of an existing group or user. For external-identity-mapped entities, the `id` must be a string conforming to the Identity Source&#x27;s requirements. Must be unique within a `namespace`.
+      &quot;namespace&quot;: &quot;A String&quot;, # The namespace in which the entity exists. If not specified, the `EntityKey` represents a Google-managed entity such as a Google user or a Google Group. If specified, the `EntityKey` represents an external-identity-mapped group. The namespace must correspond to an identity source created in Admin Console and must be in the form of `identitysources/{identity_source_id}.
+    },
+    &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time when the `Membership` was created.
+    &quot;type&quot;: &quot;A String&quot;, # Output only. The type of the membership.
+    &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time when the `Membership` was last updated.
+  }
 
   x__xgafv: string, V1 error format.
     Allowed values
@@ -203,48 +182,24 @@
 Returns:
   An object of the form:
 
-    { # 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;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
-        # three pieces of data: error code, error message, and error details.
-        #
-        # 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).
+    { # 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;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 `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+      &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+    },
+    &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. 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). # The error result of the operation in case of failure or cancellation.
+      &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;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
-      &quot;details&quot;: [ # A list of messages that carry the error details.  There is a common set of
-          # message types for APIs to use.
+      &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
         {
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
         },
       ],
-      &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;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;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;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
-        # `Get`/`Create`/`Update`, the response should be the resource.  For other
-        # methods, the response should have the type `XxxResponse`, where `Xxx`
-        # is the original method name.  For example, if the original method name
-        # is `TakeSnapshot()`, the inferred response type is
-        # `TakeSnapshotResponse`.
-      &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.
   }</pre>
 </div>
 
@@ -253,10 +208,7 @@
   <pre>Deletes a `Membership`.
 
 Args:
-  name: string, Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of
-the `Membership` to delete.
-
-Must be of the form `groups/{group_id}/memberships/{membership_id}`. (required)
+  name: string, Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Membership` to delete. Must be of the form `groups/{group_id}/memberships/{membership_id}`. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -265,48 +217,24 @@
 Returns:
   An object of the form:
 
-    { # 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;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
-        # three pieces of data: error code, error message, and error details.
-        #
-        # 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).
+    { # 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;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 `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+      &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+    },
+    &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. 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). # The error result of the operation in case of failure or cancellation.
+      &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;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
-      &quot;details&quot;: [ # A list of messages that carry the error details.  There is a common set of
-          # message types for APIs to use.
+      &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
         {
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
         },
       ],
-      &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;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;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;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
-        # `Get`/`Create`/`Update`, the response should be the resource.  For other
-        # methods, the response should have the type `XxxResponse`, where `Xxx`
-        # is the original method name.  For example, if the original method name
-        # is `TakeSnapshot()`, the inferred response type is
-        # `TakeSnapshotResponse`.
-      &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.
   }</pre>
 </div>
 
@@ -315,10 +243,7 @@
   <pre>Retrieves a `Membership`.
 
 Args:
-  name: string, Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of
-the `Membership` to retrieve.
-
-Must be of the form `groups/{group_id}/memberships/{membership_id}`. (required)
+  name: string, Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Membership` to retrieve. Must be of the form `groups/{group_id}/memberships/{membership_id}`. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -327,120 +252,78 @@
 Returns:
   An object of the form:
 
-    { # A membership within the Cloud Identity Groups API.
-      #
-      # A `Membership` defines a relationship between a `Group` and an entity
-      # belonging to that `Group`, referred to as a &quot;member&quot;.
-    &quot;preferredMemberKey&quot;: { # A unique identifier for an entity in the Cloud Identity Groups API. # Required. Immutable. The `EntityKey` of the member.
-        #
-        # Either `member_key` or `preferred_member_key` must be set when calling
-        # MembershipsService.CreateMembership but not both; both shall be set
-        # when returned.
-        #
-        # An entity can represent either a group with an optional `namespace` or a user
-        # without a `namespace`. The combination of `id` and `namespace` must be
-        # unique; however, the same `id` can be used with different `namespace`s.
-      &quot;id&quot;: &quot;A String&quot;, # The ID of the entity.
-          #
-          # For Google-managed entities, the `id` must be the email address of an
-          # existing group or user.
-          #
-          # For external-identity-mapped entities, the `id` must be a string conforming
-          # to the Identity Source&#x27;s requirements.
-          #
-          # Must be unique within a `namespace`.
-      &quot;namespace&quot;: &quot;A String&quot;, # The namespace in which the entity exists.
-          #
-          # If not specified, the `EntityKey` represents a Google-managed entity such
-          # as a Google user or a Google Group.
-          #
-          # If specified, the `EntityKey` represents an external-identity-mapped group.
-          # The namespace must correspond to an identity source created in Admin
-          # Console and must be in the form of `identitysources/{identity_source_id}.
-    },
-    &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time when the `Membership` was created.
-    &quot;name&quot;: &quot;A String&quot;, # Output only. The [resource name](https://cloud.google.com/apis/design/resource_names) of
-        # the `Membership`.
-        #
-        # Shall be of the form `groups/{group_id}/memberships/{membership_id}`.
-    &quot;type&quot;: &quot;A String&quot;, # Output only. The type of the membership.
-    &quot;memberKey&quot;: { # A unique identifier for an entity in the Cloud Identity Groups API. # Immutable. The `EntityKey` of the member.
-        #
-        # Either `member_key` or `preferred_member_key` must be set when calling
-        # MembershipsService.CreateMembership but not both; both shall be set
-        # when returned.
-        #
-        # An entity can represent either a group with an optional `namespace` or a user
-        # without a `namespace`. The combination of `id` and `namespace` must be
-        # unique; however, the same `id` can be used with different `namespace`s.
-      &quot;id&quot;: &quot;A String&quot;, # The ID of the entity.
-          #
-          # For Google-managed entities, the `id` must be the email address of an
-          # existing group or user.
-          #
-          # For external-identity-mapped entities, the `id` must be a string conforming
-          # to the Identity Source&#x27;s requirements.
-          #
-          # Must be unique within a `namespace`.
-      &quot;namespace&quot;: &quot;A String&quot;, # The namespace in which the entity exists.
-          #
-          # If not specified, the `EntityKey` represents a Google-managed entity such
-          # as a Google user or a Google Group.
-          #
-          # If specified, the `EntityKey` represents an external-identity-mapped group.
-          # The namespace must correspond to an identity source created in Admin
-          # Console and must be in the form of `identitysources/{identity_source_id}.
-    },
-    &quot;roles&quot;: [ # The `MembershipRole`s that apply to the `Membership`.
-        #
-        # If unspecified, defaults to a single `MembershipRole` with `name` `MEMBER`.
-        #
-        # Must not contain duplicate `MembershipRole`s with the same `name`.
-      { # A membership role within the Cloud Identity Groups API.
-          #
-          # A `MembershipRole` defines the privileges granted to a `Membership`.
-        &quot;expiryDetail&quot;: { # The `MembershipRole` expiry details. # The expiry details of the `MembershipRole`.
-            #
-            # Expiry details are only supported for `MEMBER` `MembershipRoles`.
-            #
-            # May be set if `name` is `MEMBER`. Must not be set if `name` is any other
-            # value.
-          &quot;expireTime&quot;: &quot;A String&quot;, # The time at which the `MembershipRole` will expire.
-        },
-        &quot;name&quot;: &quot;A String&quot;, # The name of the `MembershipRole`.
-            #
-            # Must be one of `OWNER`, `MANAGER`, `MEMBER`.
+    { # A membership within the Cloud Identity Groups API. A `Membership` defines a relationship between a `Group` and an entity belonging to that `Group`, referred to as a &quot;member&quot;.
+      &quot;preferredMemberKey&quot;: { # A unique identifier for an entity in the Cloud Identity Groups API. An entity can represent either a group with an optional `namespace` or a user without a `namespace`. The combination of `id` and `namespace` must be unique; however, the same `id` can be used with different `namespace`s. # Required. Immutable. The `EntityKey` of the member. Either `member_key` or `preferred_member_key` must be set when calling MembershipsService.CreateMembership but not both; both shall be set when returned.
+        &quot;id&quot;: &quot;A String&quot;, # The ID of the entity. For Google-managed entities, the `id` must be the email address of an existing group or user. For external-identity-mapped entities, the `id` must be a string conforming to the Identity Source&#x27;s requirements. Must be unique within a `namespace`.
+        &quot;namespace&quot;: &quot;A String&quot;, # The namespace in which the entity exists. If not specified, the `EntityKey` represents a Google-managed entity such as a Google user or a Google Group. If specified, the `EntityKey` represents an external-identity-mapped group. The namespace must correspond to an identity source created in Admin Console and must be in the form of `identitysources/{identity_source_id}.
       },
-    ],
-    &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time when the `Membership` was last updated.
+      &quot;roles&quot;: [ # The `MembershipRole`s that apply to the `Membership`. If unspecified, defaults to a single `MembershipRole` with `name` `MEMBER`. Must not contain duplicate `MembershipRole`s with the same `name`.
+        { # A membership role within the Cloud Identity Groups API. A `MembershipRole` defines the privileges granted to a `Membership`.
+          &quot;name&quot;: &quot;A String&quot;, # The name of the `MembershipRole`. Must be one of `OWNER`, `MANAGER`, `MEMBER`.
+          &quot;expiryDetail&quot;: { # The `MembershipRole` expiry details. # The expiry details of the `MembershipRole`. Expiry details are only supported for `MEMBER` `MembershipRoles`. May be set if `name` is `MEMBER`. Must not be set if `name` is any other value.
+            &quot;expireTime&quot;: &quot;A String&quot;, # The time at which the `MembershipRole` will expire.
+          },
+        },
+      ],
+      &quot;name&quot;: &quot;A String&quot;, # Output only. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Membership`. Shall be of the form `groups/{group_id}/memberships/{membership_id}`.
+      &quot;memberKey&quot;: { # A unique identifier for an entity in the Cloud Identity Groups API. An entity can represent either a group with an optional `namespace` or a user without a `namespace`. The combination of `id` and `namespace` must be unique; however, the same `id` can be used with different `namespace`s. # Immutable. The `EntityKey` of the member. Either `member_key` or `preferred_member_key` must be set when calling MembershipsService.CreateMembership but not both; both shall be set when returned.
+        &quot;id&quot;: &quot;A String&quot;, # The ID of the entity. For Google-managed entities, the `id` must be the email address of an existing group or user. For external-identity-mapped entities, the `id` must be a string conforming to the Identity Source&#x27;s requirements. Must be unique within a `namespace`.
+        &quot;namespace&quot;: &quot;A String&quot;, # The namespace in which the entity exists. If not specified, the `EntityKey` represents a Google-managed entity such as a Google user or a Google Group. If specified, the `EntityKey` represents an external-identity-mapped group. The namespace must correspond to an identity source created in Admin Console and must be in the form of `identitysources/{identity_source_id}.
+      },
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time when the `Membership` was created.
+      &quot;type&quot;: &quot;A String&quot;, # Output only. The type of the membership.
+      &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time when the `Membership` was last updated.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="getMembershipGraph">getMembershipGraph(parent, query=None, x__xgafv=None)</code>
+  <pre>Get a membership graph of a member or member/group.
+
+Args:
+  parent: string, Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the group to search transitive memberships in. Format: `groups/{group_id}`, where `group_id` is the unique ID assigned to the Group to which the Membership belongs to. group_id can be a wildcard collection id &quot;-&quot;. When a group_id is specified, the membership graph will be constrained to paths between the member (defined in the query) and the parent. If a wildcard collection is provided, all membership paths connected to the member will be returned. (required)
+  query: string, Required. A CEL expression that MUST include member specification AND label(s). Example query: member_key_id == ‘member_key_id_value’ [ &amp;&amp; member_key_namespace == ‘member_key_namespace_value’ ] &amp;&amp; in labels
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # 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;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 `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+      &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+    },
+    &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. 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). # The error result of the operation in case of failure or cancellation.
+      &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;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+      &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+        {
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+        },
+      ],
+    },
+    &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.
+    },
   }</pre>
 </div>
 
 <div class="method">
-    <code class="details" id="list">list(parent, view=None, pageToken=None, pageSize=None, x__xgafv=None)</code>
+    <code class="details" id="list">list(parent, pageToken=None, pageSize=None, view=None, x__xgafv=None)</code>
   <pre>Lists the `Membership`s within a `Group`.
 
 Args:
-  parent: string, Required. The parent `Group` resource under which to lookup the `Membership` name.
-
-Must be of the form `groups/{group_id}`. (required)
-  view: string, The level of detail to be returned.
-
-If unspecified, defaults to `MembershipView.BASIC`.
-  pageToken: string, The `next_page_token` value returned from a previous search request, if
-any.
-  pageSize: integer, The maximum number of results to return.
-
-Note that the number of results returned may be less than this value even
-if there are more available results. To fetch all results, clients must
-continue calling this method repeatedly until the response no longer
-contains a `next_page_token`.
-
-If unspecified, defaults to 200 for `GroupView.BASIC` and to 50 for
-`GroupView.FULL`.
-
-Must not be greater than 1000 for `GroupView.BASIC` or 500 for
-`GroupView.FULL`.
+  parent: string, Required. The parent `Group` resource under which to lookup the `Membership` name. Must be of the form `groups/{group_id}`. (required)
+  pageToken: string, The `next_page_token` value returned from a previous search request, if any.
+  pageSize: integer, The maximum number of results to return. Note that the number of results returned may be less than this value even if there are more available results. To fetch all results, clients must continue calling this method repeatedly until the response no longer contains a `next_page_token`. If unspecified, defaults to 200 for `GroupView.BASIC` and to 50 for `GroupView.FULL`. Must not be greater than 1000 for `GroupView.BASIC` or 500 for `GroupView.FULL`.
+  view: string, The level of detail to be returned. If unspecified, defaults to `MembershipView.BASIC`.
+    Allowed values
+      BASIC - Default. Only basic resource information is returned.
+      FULL - All resource information is returned.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -450,97 +333,31 @@
   An object of the form:
 
     { # The response message for MembershipsService.ListMemberships.
+    &quot;nextPageToken&quot;: &quot;A String&quot;, # A continuation token to retrieve the next page of results, or empty if there are no more results available.
     &quot;memberships&quot;: [ # The `Membership`s under the specified `parent`.
-      { # A membership within the Cloud Identity Groups API.
-          #
-          # A `Membership` defines a relationship between a `Group` and an entity
-          # belonging to that `Group`, referred to as a &quot;member&quot;.
-        &quot;preferredMemberKey&quot;: { # A unique identifier for an entity in the Cloud Identity Groups API. # Required. Immutable. The `EntityKey` of the member.
-            #
-            # Either `member_key` or `preferred_member_key` must be set when calling
-            # MembershipsService.CreateMembership but not both; both shall be set
-            # when returned.
-            #
-            # An entity can represent either a group with an optional `namespace` or a user
-            # without a `namespace`. The combination of `id` and `namespace` must be
-            # unique; however, the same `id` can be used with different `namespace`s.
-          &quot;id&quot;: &quot;A String&quot;, # The ID of the entity.
-              #
-              # For Google-managed entities, the `id` must be the email address of an
-              # existing group or user.
-              #
-              # For external-identity-mapped entities, the `id` must be a string conforming
-              # to the Identity Source&#x27;s requirements.
-              #
-              # Must be unique within a `namespace`.
-          &quot;namespace&quot;: &quot;A String&quot;, # The namespace in which the entity exists.
-              #
-              # If not specified, the `EntityKey` represents a Google-managed entity such
-              # as a Google user or a Google Group.
-              #
-              # If specified, the `EntityKey` represents an external-identity-mapped group.
-              # The namespace must correspond to an identity source created in Admin
-              # Console and must be in the form of `identitysources/{identity_source_id}.
-        },
-        &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time when the `Membership` was created.
-        &quot;name&quot;: &quot;A String&quot;, # Output only. The [resource name](https://cloud.google.com/apis/design/resource_names) of
-            # the `Membership`.
-            #
-            # Shall be of the form `groups/{group_id}/memberships/{membership_id}`.
-        &quot;type&quot;: &quot;A String&quot;, # Output only. The type of the membership.
-        &quot;memberKey&quot;: { # A unique identifier for an entity in the Cloud Identity Groups API. # Immutable. The `EntityKey` of the member.
-            #
-            # Either `member_key` or `preferred_member_key` must be set when calling
-            # MembershipsService.CreateMembership but not both; both shall be set
-            # when returned.
-            #
-            # An entity can represent either a group with an optional `namespace` or a user
-            # without a `namespace`. The combination of `id` and `namespace` must be
-            # unique; however, the same `id` can be used with different `namespace`s.
-          &quot;id&quot;: &quot;A String&quot;, # The ID of the entity.
-              #
-              # For Google-managed entities, the `id` must be the email address of an
-              # existing group or user.
-              #
-              # For external-identity-mapped entities, the `id` must be a string conforming
-              # to the Identity Source&#x27;s requirements.
-              #
-              # Must be unique within a `namespace`.
-          &quot;namespace&quot;: &quot;A String&quot;, # The namespace in which the entity exists.
-              #
-              # If not specified, the `EntityKey` represents a Google-managed entity such
-              # as a Google user or a Google Group.
-              #
-              # If specified, the `EntityKey` represents an external-identity-mapped group.
-              # The namespace must correspond to an identity source created in Admin
-              # Console and must be in the form of `identitysources/{identity_source_id}.
-        },
-        &quot;roles&quot;: [ # The `MembershipRole`s that apply to the `Membership`.
-            #
-            # If unspecified, defaults to a single `MembershipRole` with `name` `MEMBER`.
-            #
-            # Must not contain duplicate `MembershipRole`s with the same `name`.
-          { # A membership role within the Cloud Identity Groups API.
-              #
-              # A `MembershipRole` defines the privileges granted to a `Membership`.
-            &quot;expiryDetail&quot;: { # The `MembershipRole` expiry details. # The expiry details of the `MembershipRole`.
-                #
-                # Expiry details are only supported for `MEMBER` `MembershipRoles`.
-                #
-                # May be set if `name` is `MEMBER`. Must not be set if `name` is any other
-                # value.
-              &quot;expireTime&quot;: &quot;A String&quot;, # The time at which the `MembershipRole` will expire.
-            },
-            &quot;name&quot;: &quot;A String&quot;, # The name of the `MembershipRole`.
-                #
-                # Must be one of `OWNER`, `MANAGER`, `MEMBER`.
+      { # A membership within the Cloud Identity Groups API. A `Membership` defines a relationship between a `Group` and an entity belonging to that `Group`, referred to as a &quot;member&quot;.
+          &quot;preferredMemberKey&quot;: { # A unique identifier for an entity in the Cloud Identity Groups API. An entity can represent either a group with an optional `namespace` or a user without a `namespace`. The combination of `id` and `namespace` must be unique; however, the same `id` can be used with different `namespace`s. # Required. Immutable. The `EntityKey` of the member. Either `member_key` or `preferred_member_key` must be set when calling MembershipsService.CreateMembership but not both; both shall be set when returned.
+            &quot;id&quot;: &quot;A String&quot;, # The ID of the entity. For Google-managed entities, the `id` must be the email address of an existing group or user. For external-identity-mapped entities, the `id` must be a string conforming to the Identity Source&#x27;s requirements. Must be unique within a `namespace`.
+            &quot;namespace&quot;: &quot;A String&quot;, # The namespace in which the entity exists. If not specified, the `EntityKey` represents a Google-managed entity such as a Google user or a Google Group. If specified, the `EntityKey` represents an external-identity-mapped group. The namespace must correspond to an identity source created in Admin Console and must be in the form of `identitysources/{identity_source_id}.
           },
-        ],
-        &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time when the `Membership` was last updated.
-      },
+          &quot;roles&quot;: [ # The `MembershipRole`s that apply to the `Membership`. If unspecified, defaults to a single `MembershipRole` with `name` `MEMBER`. Must not contain duplicate `MembershipRole`s with the same `name`.
+            { # A membership role within the Cloud Identity Groups API. A `MembershipRole` defines the privileges granted to a `Membership`.
+              &quot;name&quot;: &quot;A String&quot;, # The name of the `MembershipRole`. Must be one of `OWNER`, `MANAGER`, `MEMBER`.
+              &quot;expiryDetail&quot;: { # The `MembershipRole` expiry details. # The expiry details of the `MembershipRole`. Expiry details are only supported for `MEMBER` `MembershipRoles`. May be set if `name` is `MEMBER`. Must not be set if `name` is any other value.
+                &quot;expireTime&quot;: &quot;A String&quot;, # The time at which the `MembershipRole` will expire.
+              },
+            },
+          ],
+          &quot;name&quot;: &quot;A String&quot;, # Output only. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Membership`. Shall be of the form `groups/{group_id}/memberships/{membership_id}`.
+          &quot;memberKey&quot;: { # A unique identifier for an entity in the Cloud Identity Groups API. An entity can represent either a group with an optional `namespace` or a user without a `namespace`. The combination of `id` and `namespace` must be unique; however, the same `id` can be used with different `namespace`s. # Immutable. The `EntityKey` of the member. Either `member_key` or `preferred_member_key` must be set when calling MembershipsService.CreateMembership but not both; both shall be set when returned.
+            &quot;id&quot;: &quot;A String&quot;, # The ID of the entity. For Google-managed entities, the `id` must be the email address of an existing group or user. For external-identity-mapped entities, the `id` must be a string conforming to the Identity Source&#x27;s requirements. Must be unique within a `namespace`.
+            &quot;namespace&quot;: &quot;A String&quot;, # The namespace in which the entity exists. If not specified, the `EntityKey` represents a Google-managed entity such as a Google user or a Google Group. If specified, the `EntityKey` represents an external-identity-mapped group. The namespace must correspond to an identity source created in Admin Console and must be in the form of `identitysources/{identity_source_id}.
+          },
+          &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time when the `Membership` was created.
+          &quot;type&quot;: &quot;A String&quot;, # Output only. The type of the membership.
+          &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time when the `Membership` was last updated.
+        },
     ],
-    &quot;nextPageToken&quot;: &quot;A String&quot;, # A continuation token to retrieve the next page of results, or empty if
-        # there are no more results available.
   }</pre>
 </div>
 
@@ -560,31 +377,12 @@
 
 <div class="method">
     <code class="details" id="lookup">lookup(parent, memberKey_namespace=None, memberKey_id=None, x__xgafv=None)</code>
-  <pre>Looks up the [resource
-name](https://cloud.google.com/apis/design/resource_names) of a
-`Membership` by its `EntityKey`.
+  <pre>Looks up the [resource name](https://cloud.google.com/apis/design/resource_names) of a `Membership` by its `EntityKey`.
 
 Args:
-  parent: string, Required. The parent `Group` resource under which to lookup the `Membership` name.
-
-Must be of the form `groups/{group_id}`. (required)
-  memberKey_namespace: string, The namespace in which the entity exists.
-
-If not specified, the `EntityKey` represents a Google-managed entity such
-as a Google user or a Google Group.
-
-If specified, the `EntityKey` represents an external-identity-mapped group.
-The namespace must correspond to an identity source created in Admin
-Console and must be in the form of `identitysources/{identity_source_id}.
-  memberKey_id: string, The ID of the entity.
-
-For Google-managed entities, the `id` must be the email address of an
-existing group or user.
-
-For external-identity-mapped entities, the `id` must be a string conforming
-to the Identity Source&#x27;s requirements.
-
-Must be unique within a `namespace`.
+  parent: string, Required. The parent `Group` resource under which to lookup the `Membership` name. Must be of the form `groups/{group_id}`. (required)
+  memberKey_namespace: string, The namespace in which the entity exists. If not specified, the `EntityKey` represents a Google-managed entity such as a Google user or a Google Group. If specified, the `EntityKey` represents an external-identity-mapped group. The namespace must correspond to an identity source created in Admin Console and must be in the form of `identitysources/{identity_source_id}.
+  memberKey_id: string, The ID of the entity. For Google-managed entities, the `id` must be the email address of an existing group or user. For external-identity-mapped entities, the `id` must be a string conforming to the Identity Source&#x27;s requirements. Must be unique within a `namespace`.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -594,10 +392,7 @@
   An object of the form:
 
     { # The response message for MembershipsService.LookupMembershipName.
-    &quot;name&quot;: &quot;A String&quot;, # The [resource name](https://cloud.google.com/apis/design/resource_names) of
-        # the looked-up `Membership`.
-        #
-        # Must be of the form `groups/{group_id}/memberships/{membership_id}`.
+    &quot;name&quot;: &quot;A String&quot;, # The [resource name](https://cloud.google.com/apis/design/resource_names) of the looked-up `Membership`. Must be of the form `groups/{group_id}/memberships/{membership_id}`.
   }</pre>
 </div>
 
@@ -606,79 +401,33 @@
   <pre>Modifies the `MembershipRole`s of a `Membership`.
 
 Args:
-  name: string, Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of
-the `Membership` whose roles are to be modified.
-
-Must be of the form `groups/{group_id}/memberships/{membership_id}`. (required)
+  name: string, Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Membership` whose roles are to be modified. Must be of the form `groups/{group_id}/memberships/{membership_id}`. (required)
   body: object, The request body.
     The object takes the form of:
 
 { # The request message for MembershipsService.ModifyMembershipRoles.
-    &quot;updateRolesParams&quot;: [ # The `MembershipRole`s to be updated.
-        # 
-        # Updating roles in the same request as adding or removing roles is not
-        # supported.
-        # 
-        # Must not be set if either `add_roles` or `remove_roles` is set.
+    &quot;updateRolesParams&quot;: [ # The `MembershipRole`s to be updated. Updating roles in the same request as adding or removing roles is not supported. Must not be set if either `add_roles` or `remove_roles` is set.
       { # The details of an update to a `MembershipRole`.
-        &quot;fieldMask&quot;: &quot;A String&quot;, # The fully-qualified names of fields to update.
-            #
-            # May only contain the field `expiry_detail`.
-        &quot;membershipRole&quot;: { # A membership role within the Cloud Identity Groups API. # The `MembershipRole`s to be updated.
-            #
-            # Only `MEMBER` `MembershipRoles` can currently be updated.
-            #
-            # May only contain a `MembershipRole` with `name` `MEMBER`.
-            #
-            # A `MembershipRole` defines the privileges granted to a `Membership`.
-          &quot;expiryDetail&quot;: { # The `MembershipRole` expiry details. # The expiry details of the `MembershipRole`.
-              #
-              # Expiry details are only supported for `MEMBER` `MembershipRoles`.
-              #
-              # May be set if `name` is `MEMBER`. Must not be set if `name` is any other
-              # value.
+        &quot;membershipRole&quot;: { # A membership role within the Cloud Identity Groups API. A `MembershipRole` defines the privileges granted to a `Membership`. # The `MembershipRole`s to be updated. Only `MEMBER` `MembershipRoles` can currently be updated. May only contain a `MembershipRole` with `name` `MEMBER`.
+          &quot;name&quot;: &quot;A String&quot;, # The name of the `MembershipRole`. Must be one of `OWNER`, `MANAGER`, `MEMBER`.
+          &quot;expiryDetail&quot;: { # The `MembershipRole` expiry details. # The expiry details of the `MembershipRole`. Expiry details are only supported for `MEMBER` `MembershipRoles`. May be set if `name` is `MEMBER`. Must not be set if `name` is any other value.
             &quot;expireTime&quot;: &quot;A String&quot;, # The time at which the `MembershipRole` will expire.
           },
-          &quot;name&quot;: &quot;A String&quot;, # The name of the `MembershipRole`.
-              #
-              # Must be one of `OWNER`, `MANAGER`, `MEMBER`.
         },
+        &quot;fieldMask&quot;: &quot;A String&quot;, # The fully-qualified names of fields to update. May only contain the field `expiry_detail`.
       },
     ],
-    &quot;addRoles&quot;: [ # The `MembershipRole`s to be added.
-        # 
-        # Adding or removing roles in the same request as updating roles is not
-        # supported.
-        # 
-        # Must not be set if `update_roles_params` is set.
-      { # A membership role within the Cloud Identity Groups API.
-          #
-          # A `MembershipRole` defines the privileges granted to a `Membership`.
-        &quot;expiryDetail&quot;: { # The `MembershipRole` expiry details. # The expiry details of the `MembershipRole`.
-            #
-            # Expiry details are only supported for `MEMBER` `MembershipRoles`.
-            #
-            # May be set if `name` is `MEMBER`. Must not be set if `name` is any other
-            # value.
+    &quot;removeRoles&quot;: [ # The `name`s of the `MembershipRole`s to be removed. Adding or removing roles in the same request as updating roles is not supported. It is not possible to remove the `MEMBER` `MembershipRole`. If you wish to delete a `Membership`, call MembershipsService.DeleteMembership instead. Must not contain `MEMBER`. Must not be set if `update_roles_params` is set.
+      &quot;A String&quot;,
+    ],
+    &quot;addRoles&quot;: [ # The `MembershipRole`s to be added. Adding or removing roles in the same request as updating roles is not supported. Must not be set if `update_roles_params` is set.
+      { # A membership role within the Cloud Identity Groups API. A `MembershipRole` defines the privileges granted to a `Membership`.
+        &quot;name&quot;: &quot;A String&quot;, # The name of the `MembershipRole`. Must be one of `OWNER`, `MANAGER`, `MEMBER`.
+        &quot;expiryDetail&quot;: { # The `MembershipRole` expiry details. # The expiry details of the `MembershipRole`. Expiry details are only supported for `MEMBER` `MembershipRoles`. May be set if `name` is `MEMBER`. Must not be set if `name` is any other value.
           &quot;expireTime&quot;: &quot;A String&quot;, # The time at which the `MembershipRole` will expire.
         },
-        &quot;name&quot;: &quot;A String&quot;, # The name of the `MembershipRole`.
-            #
-            # Must be one of `OWNER`, `MANAGER`, `MEMBER`.
       },
     ],
-    &quot;removeRoles&quot;: [ # The `name`s of the `MembershipRole`s to be removed.
-        # 
-        # Adding or removing roles in the same request as updating roles is not
-        # supported.
-        # 
-        # It is not possible to remove the `MEMBER` `MembershipRole`. If you wish to
-        # delete a `Membership`, call MembershipsService.DeleteMembership
-        # instead.
-        # 
-        # Must not contain `MEMBER`. Must not be set if `update_roles_params` is set.
-      &quot;A String&quot;,
-    ],
   }
 
   x__xgafv: string, V1 error format.
@@ -690,94 +439,136 @@
   An object of the form:
 
     { # The response message for MembershipsService.ModifyMembershipRoles.
-    &quot;membership&quot;: { # A membership within the Cloud Identity Groups API. # The `Membership` resource after modifying its `MembershipRole`s.
-        #
-        # A `Membership` defines a relationship between a `Group` and an entity
-        # belonging to that `Group`, referred to as a &quot;member&quot;.
-      &quot;preferredMemberKey&quot;: { # A unique identifier for an entity in the Cloud Identity Groups API. # Required. Immutable. The `EntityKey` of the member.
-          #
-          # Either `member_key` or `preferred_member_key` must be set when calling
-          # MembershipsService.CreateMembership but not both; both shall be set
-          # when returned.
-          #
-          # An entity can represent either a group with an optional `namespace` or a user
-          # without a `namespace`. The combination of `id` and `namespace` must be
-          # unique; however, the same `id` can be used with different `namespace`s.
-        &quot;id&quot;: &quot;A String&quot;, # The ID of the entity.
-            #
-            # For Google-managed entities, the `id` must be the email address of an
-            # existing group or user.
-            #
-            # For external-identity-mapped entities, the `id` must be a string conforming
-            # to the Identity Source&#x27;s requirements.
-            #
-            # Must be unique within a `namespace`.
-        &quot;namespace&quot;: &quot;A String&quot;, # The namespace in which the entity exists.
-            #
-            # If not specified, the `EntityKey` represents a Google-managed entity such
-            # as a Google user or a Google Group.
-            #
-            # If specified, the `EntityKey` represents an external-identity-mapped group.
-            # The namespace must correspond to an identity source created in Admin
-            # Console and must be in the form of `identitysources/{identity_source_id}.
-      },
-      &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time when the `Membership` was created.
-      &quot;name&quot;: &quot;A String&quot;, # Output only. The [resource name](https://cloud.google.com/apis/design/resource_names) of
-          # the `Membership`.
-          #
-          # Shall be of the form `groups/{group_id}/memberships/{membership_id}`.
-      &quot;type&quot;: &quot;A String&quot;, # Output only. The type of the membership.
-      &quot;memberKey&quot;: { # A unique identifier for an entity in the Cloud Identity Groups API. # Immutable. The `EntityKey` of the member.
-          #
-          # Either `member_key` or `preferred_member_key` must be set when calling
-          # MembershipsService.CreateMembership but not both; both shall be set
-          # when returned.
-          #
-          # An entity can represent either a group with an optional `namespace` or a user
-          # without a `namespace`. The combination of `id` and `namespace` must be
-          # unique; however, the same `id` can be used with different `namespace`s.
-        &quot;id&quot;: &quot;A String&quot;, # The ID of the entity.
-            #
-            # For Google-managed entities, the `id` must be the email address of an
-            # existing group or user.
-            #
-            # For external-identity-mapped entities, the `id` must be a string conforming
-            # to the Identity Source&#x27;s requirements.
-            #
-            # Must be unique within a `namespace`.
-        &quot;namespace&quot;: &quot;A String&quot;, # The namespace in which the entity exists.
-            #
-            # If not specified, the `EntityKey` represents a Google-managed entity such
-            # as a Google user or a Google Group.
-            #
-            # If specified, the `EntityKey` represents an external-identity-mapped group.
-            # The namespace must correspond to an identity source created in Admin
-            # Console and must be in the form of `identitysources/{identity_source_id}.
-      },
-      &quot;roles&quot;: [ # The `MembershipRole`s that apply to the `Membership`.
-          #
-          # If unspecified, defaults to a single `MembershipRole` with `name` `MEMBER`.
-          #
-          # Must not contain duplicate `MembershipRole`s with the same `name`.
-        { # A membership role within the Cloud Identity Groups API.
-            #
-            # A `MembershipRole` defines the privileges granted to a `Membership`.
-          &quot;expiryDetail&quot;: { # The `MembershipRole` expiry details. # The expiry details of the `MembershipRole`.
-              #
-              # Expiry details are only supported for `MEMBER` `MembershipRoles`.
-              #
-              # May be set if `name` is `MEMBER`. Must not be set if `name` is any other
-              # value.
-            &quot;expireTime&quot;: &quot;A String&quot;, # The time at which the `MembershipRole` will expire.
-          },
-          &quot;name&quot;: &quot;A String&quot;, # The name of the `MembershipRole`.
-              #
-              # Must be one of `OWNER`, `MANAGER`, `MEMBER`.
+    &quot;membership&quot;: { # A membership within the Cloud Identity Groups API. A `Membership` defines a relationship between a `Group` and an entity belonging to that `Group`, referred to as a &quot;member&quot;. # The `Membership` resource after modifying its `MembershipRole`s.
+        &quot;preferredMemberKey&quot;: { # A unique identifier for an entity in the Cloud Identity Groups API. An entity can represent either a group with an optional `namespace` or a user without a `namespace`. The combination of `id` and `namespace` must be unique; however, the same `id` can be used with different `namespace`s. # Required. Immutable. The `EntityKey` of the member. Either `member_key` or `preferred_member_key` must be set when calling MembershipsService.CreateMembership but not both; both shall be set when returned.
+          &quot;id&quot;: &quot;A String&quot;, # The ID of the entity. For Google-managed entities, the `id` must be the email address of an existing group or user. For external-identity-mapped entities, the `id` must be a string conforming to the Identity Source&#x27;s requirements. Must be unique within a `namespace`.
+          &quot;namespace&quot;: &quot;A String&quot;, # The namespace in which the entity exists. If not specified, the `EntityKey` represents a Google-managed entity such as a Google user or a Google Group. If specified, the `EntityKey` represents an external-identity-mapped group. The namespace must correspond to an identity source created in Admin Console and must be in the form of `identitysources/{identity_source_id}.
         },
-      ],
-      &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time when the `Membership` was last updated.
-    },
+        &quot;roles&quot;: [ # The `MembershipRole`s that apply to the `Membership`. If unspecified, defaults to a single `MembershipRole` with `name` `MEMBER`. Must not contain duplicate `MembershipRole`s with the same `name`.
+          { # A membership role within the Cloud Identity Groups API. A `MembershipRole` defines the privileges granted to a `Membership`.
+            &quot;name&quot;: &quot;A String&quot;, # The name of the `MembershipRole`. Must be one of `OWNER`, `MANAGER`, `MEMBER`.
+            &quot;expiryDetail&quot;: { # The `MembershipRole` expiry details. # The expiry details of the `MembershipRole`. Expiry details are only supported for `MEMBER` `MembershipRoles`. May be set if `name` is `MEMBER`. Must not be set if `name` is any other value.
+              &quot;expireTime&quot;: &quot;A String&quot;, # The time at which the `MembershipRole` will expire.
+            },
+          },
+        ],
+        &quot;name&quot;: &quot;A String&quot;, # Output only. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Membership`. Shall be of the form `groups/{group_id}/memberships/{membership_id}`.
+        &quot;memberKey&quot;: { # A unique identifier for an entity in the Cloud Identity Groups API. An entity can represent either a group with an optional `namespace` or a user without a `namespace`. The combination of `id` and `namespace` must be unique; however, the same `id` can be used with different `namespace`s. # Immutable. The `EntityKey` of the member. Either `member_key` or `preferred_member_key` must be set when calling MembershipsService.CreateMembership but not both; both shall be set when returned.
+          &quot;id&quot;: &quot;A String&quot;, # The ID of the entity. For Google-managed entities, the `id` must be the email address of an existing group or user. For external-identity-mapped entities, the `id` must be a string conforming to the Identity Source&#x27;s requirements. Must be unique within a `namespace`.
+          &quot;namespace&quot;: &quot;A String&quot;, # The namespace in which the entity exists. If not specified, the `EntityKey` represents a Google-managed entity such as a Google user or a Google Group. If specified, the `EntityKey` represents an external-identity-mapped group. The namespace must correspond to an identity source created in Admin Console and must be in the form of `identitysources/{identity_source_id}.
+        },
+        &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time when the `Membership` was created.
+        &quot;type&quot;: &quot;A String&quot;, # Output only. The type of the membership.
+        &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time when the `Membership` was last updated.
+      },
   }</pre>
 </div>
 
+<div class="method">
+    <code class="details" id="searchTransitiveGroups">searchTransitiveGroups(parent, pageSize=None, pageToken=None, query=None, x__xgafv=None)</code>
+  <pre>Search transitive groups of a member.
+
+Args:
+  parent: string, [Resource name](https://cloud.google.com/apis/design/resource_names) of the group to search transitive memberships in. Format: `groups/{group_id}`, where `group_id` is always &#x27;-&#x27; as this API will search across all groups for a given member. (required)
+  pageSize: integer, The default page size is 200 (max 1000).
+  pageToken: string, The next_page_token value returned from a previous list request, if any.
+  query: string, Required. A CEL expression that MUST include member specification AND label(s). This is a `required` field. Users can search on label attributes of groups. CONTAINS match (&#x27;in&#x27;) is supported on labels. Example query: member_key_id == ‘member_key_id_value’ [ &amp;&amp; member_key_namespace == ‘member_key_namespace_value’ ] &amp;&amp; in labels
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response message for MembershipsService.SearchTransitiveGroups.
+    &quot;nextPageToken&quot;: &quot;A String&quot;, # Token to retrieve the next page of results, or empty if there are no more results available for listing.
+    &quot;memberships&quot;: [ # List of transitive groups satisfying the query.
+      { # Message representing a transitive group of a user or a group.
+        &quot;group&quot;: &quot;A String&quot;, # Resource name for this group.
+        &quot;labels&quot;: { # Labels for Group resource.
+          &quot;a_key&quot;: &quot;A String&quot;,
+        },
+        &quot;groupKey&quot;: { # A unique identifier for an entity in the Cloud Identity Groups API. An entity can represent either a group with an optional `namespace` or a user without a `namespace`. The combination of `id` and `namespace` must be unique; however, the same `id` can be used with different `namespace`s. # Entity key has an id and a namespace. In case of discussion forums, the id will be an email address without a namespace.
+          &quot;id&quot;: &quot;A String&quot;, # The ID of the entity. For Google-managed entities, the `id` must be the email address of an existing group or user. For external-identity-mapped entities, the `id` must be a string conforming to the Identity Source&#x27;s requirements. Must be unique within a `namespace`.
+          &quot;namespace&quot;: &quot;A String&quot;, # The namespace in which the entity exists. If not specified, the `EntityKey` represents a Google-managed entity such as a Google user or a Google Group. If specified, the `EntityKey` represents an external-identity-mapped group. The namespace must correspond to an identity source created in Admin Console and must be in the form of `identitysources/{identity_source_id}.
+        },
+        &quot;relationType&quot;: &quot;A String&quot;, # The relation between the member and the transitive group.
+        &quot;roles&quot;: [ # Membership roles of the member for the group.
+          { # Message representing the role of a TransitiveMembership.
+            &quot;role&quot;: &quot;A String&quot;, # TransitiveMembershipRole in string format. Currently supported TransitiveMembershipRoles: `&quot;MEMBER&quot;`, `&quot;OWNER&quot;`, and `&quot;MANAGER&quot;`.
+          },
+        ],
+        &quot;displayName&quot;: &quot;A String&quot;, # Display name for this group.
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="searchTransitiveGroups_next">searchTransitiveGroups_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call &#x27;execute()&#x27; on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="searchTransitiveMemberships">searchTransitiveMemberships(parent, pageToken=None, pageSize=None, x__xgafv=None)</code>
+  <pre>Search transitive memberships of a group.
+
+Args:
+  parent: string, [Resource name](https://cloud.google.com/apis/design/resource_names) of the group to search transitive memberships in. Format: `groups/{group_id}`, where `group_id` is the unique ID assigned to the Group. (required)
+  pageToken: string, The next_page_token value returned from a previous list request, if any.
+  pageSize: integer, The default page size is 200 (max 1000).
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response message for MembershipsService.SearchTransitiveMemberships.
+    &quot;nextPageToken&quot;: &quot;A String&quot;, # Token to retrieve the next page of results, or empty if there are no more results.
+    &quot;memberships&quot;: [ # List of transitive members satisfying the query.
+      { # Message representing a transitive membership of a group.
+        &quot;preferredMemberKey&quot;: [ # Entity key has an id and a namespace. In case of discussion forums, the id will be an email address without a namespace.
+          { # A unique identifier for an entity in the Cloud Identity Groups API. An entity can represent either a group with an optional `namespace` or a user without a `namespace`. The combination of `id` and `namespace` must be unique; however, the same `id` can be used with different `namespace`s.
+            &quot;id&quot;: &quot;A String&quot;, # The ID of the entity. For Google-managed entities, the `id` must be the email address of an existing group or user. For external-identity-mapped entities, the `id` must be a string conforming to the Identity Source&#x27;s requirements. Must be unique within a `namespace`.
+            &quot;namespace&quot;: &quot;A String&quot;, # The namespace in which the entity exists. If not specified, the `EntityKey` represents a Google-managed entity such as a Google user or a Google Group. If specified, the `EntityKey` represents an external-identity-mapped group. The namespace must correspond to an identity source created in Admin Console and must be in the form of `identitysources/{identity_source_id}.
+          },
+        ],
+        &quot;member&quot;: &quot;A String&quot;, # Resource name for this member if member is a GROUP, otherwise it is empty.
+        &quot;relationType&quot;: &quot;A String&quot;, # The relation between the group and the transitive member.
+        &quot;roles&quot;: [ # The membership role details (i.e name of role and expiry time).
+          { # Message representing the role of a TransitiveMembership.
+            &quot;role&quot;: &quot;A String&quot;, # TransitiveMembershipRole in string format. Currently supported TransitiveMembershipRoles: `&quot;MEMBER&quot;`, `&quot;OWNER&quot;`, and `&quot;MANAGER&quot;`.
+          },
+        ],
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="searchTransitiveMemberships_next">searchTransitiveMemberships_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call &#x27;execute()&#x27; on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
 </body></html>
\ No newline at end of file