docs: update generated docs (#1053)

Updates for both discovery docs and epydoc API Documentation

Fixes: #1049
diff --git a/docs/dyn/cloudidentity_v1.groups.memberships.html b/docs/dyn/cloudidentity_v1.groups.memberships.html
index fa1610d..6bd7db0 100644
--- a/docs/dyn/cloudidentity_v1.groups.memberships.html
+++ b/docs/dyn/cloudidentity_v1.groups.memberships.html
@@ -75,6 +75,9 @@
 <h1><a href="cloudidentity_v1.html">Cloud Identity API</a> . <a href="cloudidentity_v1.groups.html">groups</a> . <a href="cloudidentity_v1.groups.memberships.html">memberships</a></h1>
 <h2>Instance Methods</h2>
 <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">
@@ -91,53 +94,40 @@
 <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 [resource</p>
+<p class="firstline">Looks up [resource name](https://cloud.google.com/apis/design/resource_names) of a Membership within a Group by member's 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>
 <h3>Method Details</h3>
 <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. [Resource name](https://cloud.google.com/apis/design/resource_names) of the
-Group to create Membership within. Format: `groups/{group_id}`, where
-`group_id` is the unique ID assigned to the Group. (required)
+  parent: string, Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Group to create Membership within. Format: `groups/{group_id}`, where `group_id` is the unique ID assigned to the Group. (required)
   body: object, The request body.
     The object takes the form of:
 
 { # Resource representing a Membership within a Group
-    &quot;roles&quot;: [ # Roles for a member within the Group.
-        # 
-        # Currently supported MembershipRoles: `&quot;MEMBER&quot;`.
-      { # Resource representing a role within a Membership.
-        &quot;name&quot;: &quot;A String&quot;, # MembershipRole in string format.
-            #
-            # Currently supported MembershipRoles: `&quot;MEMBER&quot;`.
-      },
-    ],
-    &quot;preferredMemberKey&quot;: { # An EntityKey uniquely identifies an Entity. Namespaces are used to provide # Required. Immutable. EntityKey of the entity to be added as the member. Must be set while
-        # creating a Membership, read-only afterwards.
-        # 
-        # Currently allowed entity types: `Users`, `Groups`.
-        # isolation for IDs. A single ID can be reused across namespaces but the
-        # combination of a namespace and an ID must be unique.
-      &quot;namespace&quot;: &quot;A String&quot;, # Namespaces provide isolation for IDs, so an ID only needs to be unique
-          # within its namespace.
-          #
-          # Namespaces are currently only created as part of IdentitySource creation
-          # from Admin Console. A namespace `&quot;identitysources/{identity_source_id}&quot;` is
-          # created corresponding to every Identity Source `identity_source_id`.
-      &quot;id&quot;: &quot;A String&quot;, # The ID of the entity within the given namespace. The ID must be unique
-          # within its namespace.
+  &quot;preferredMemberKey&quot;: { # An EntityKey uniquely identifies an Entity. Namespaces are used to provide isolation for IDs. A single ID can be reused across namespaces but the combination of a namespace and an ID must be unique. # Required. Immutable. EntityKey of the entity to be added as the member. Must be set while creating a Membership, read-only afterwards. Currently allowed entity types: `Users`, `Groups`.
+    &quot;namespace&quot;: &quot;A String&quot;, # Namespaces provide isolation for IDs, so an ID only needs to be unique within its namespace. Namespaces are currently only created as part of IdentitySource creation from Admin Console. A namespace `&quot;identitysources/{identity_source_id}&quot;` is created corresponding to every Identity Source `identity_source_id`.
+    &quot;id&quot;: &quot;A String&quot;, # The ID of the entity within the given namespace. The ID must be unique within its namespace.
+  },
+  &quot;type&quot;: &quot;A String&quot;, # Output only. The type of the membership.
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Last updated timestamp of the Membership. Output only.
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. Creation timestamp of the Membership. Output only.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Membership in the format: `groups/{group_id}/memberships/{member_id}`, where group_id is the unique ID assigned to the Group to which Membership belongs to, and member_id is the unique ID assigned to the member Must be left blank while creating a Membership.
+  &quot;roles&quot;: [ # Roles for a member within the Group. Currently supported MembershipRoles: `&quot;MEMBER&quot;`.
+    { # Resource representing a role within a Membership.
+      &quot;name&quot;: &quot;A String&quot;, # MembershipRole in string format. Currently supported MembershipRoles: `&quot;MEMBER&quot;`.
     },
-    &quot;name&quot;: &quot;A String&quot;, # Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the
-        # Membership in the format: `groups/{group_id}/memberships/{member_id}`,
-        # where group_id is the unique ID assigned to the Group to which Membership
-        # belongs to, and member_id is the unique ID assigned to the member
-        # 
-        # Must be left blank while creating a Membership.
-    &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Last updated timestamp of the Membership. Output only.
-    &quot;createTime&quot;: &quot;A String&quot;, # Output only. Creation timestamp of the Membership. Output only.
-  }
+  ],
+}
 
   x__xgafv: string, V1 error format.
     Allowed values
@@ -147,48 +137,24 @@
 Returns:
   An object of the form:
 
-    { # This resource represents a long-running operation that is the result of a
-      # network API call.
-    &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).
-      &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.
+    { # 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;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;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;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
     },
-    &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;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;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;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.
   }</pre>
 </div>
 
@@ -197,12 +163,7 @@
   <pre>Deletes a Membership.
 
 Args:
-  name: string, Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the
-Membership to be deleted.
-
-Format: `groups/{group_id}/memberships/{member_id}`, where `group_id` is
-the unique ID assigned to the Group to which Membership belongs to, and
-member_id is the unique ID assigned to the member. (required)
+  name: string, Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Membership to be deleted. Format: `groups/{group_id}/memberships/{member_id}`, where `group_id` is the unique ID assigned to the Group to which Membership belongs to, and member_id is the unique ID assigned to the member. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -211,48 +172,24 @@
 Returns:
   An object of the form:
 
-    { # This resource represents a long-running operation that is the result of a
-      # network API call.
-    &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).
-      &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.
+    { # 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;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;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;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
     },
-    &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;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;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;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.
   }</pre>
 </div>
 
@@ -261,12 +198,7 @@
   <pre>Retrieves a Membership.
 
 Args:
-  name: string, Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the
-Membership to be retrieved.
-
-Format: `groups/{group_id}/memberships/{member_id}`, where `group_id` is
-the unique id assigned to the Group to which Membership belongs to, and
-`member_id` is the unique ID assigned to the member. (required)
+  name: string, Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Membership to be retrieved. Format: `groups/{group_id}/memberships/{member_id}`, where `group_id` is the unique id assigned to the Group to which Membership belongs to, and `member_id` is the unique ID assigned to the member. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -276,39 +208,20 @@
   An object of the form:
 
     { # Resource representing a Membership within a Group
-      &quot;roles&quot;: [ # Roles for a member within the Group.
-          #
-          # Currently supported MembershipRoles: `&quot;MEMBER&quot;`.
-        { # Resource representing a role within a Membership.
-          &quot;name&quot;: &quot;A String&quot;, # MembershipRole in string format.
-              #
-              # Currently supported MembershipRoles: `&quot;MEMBER&quot;`.
-        },
-      ],
-      &quot;preferredMemberKey&quot;: { # An EntityKey uniquely identifies an Entity. Namespaces are used to provide # Required. Immutable. EntityKey of the entity to be added as the member. Must be set while
-          # creating a Membership, read-only afterwards.
-          #
-          # Currently allowed entity types: `Users`, `Groups`.
-          # isolation for IDs. A single ID can be reused across namespaces but the
-          # combination of a namespace and an ID must be unique.
-        &quot;namespace&quot;: &quot;A String&quot;, # Namespaces provide isolation for IDs, so an ID only needs to be unique
-            # within its namespace.
-            #
-            # Namespaces are currently only created as part of IdentitySource creation
-            # from Admin Console. A namespace `&quot;identitysources/{identity_source_id}&quot;` is
-            # created corresponding to every Identity Source `identity_source_id`.
-        &quot;id&quot;: &quot;A String&quot;, # The ID of the entity within the given namespace. The ID must be unique
-            # within its namespace.
+    &quot;preferredMemberKey&quot;: { # An EntityKey uniquely identifies an Entity. Namespaces are used to provide isolation for IDs. A single ID can be reused across namespaces but the combination of a namespace and an ID must be unique. # Required. Immutable. EntityKey of the entity to be added as the member. Must be set while creating a Membership, read-only afterwards. Currently allowed entity types: `Users`, `Groups`.
+      &quot;namespace&quot;: &quot;A String&quot;, # Namespaces provide isolation for IDs, so an ID only needs to be unique within its namespace. Namespaces are currently only created as part of IdentitySource creation from Admin Console. A namespace `&quot;identitysources/{identity_source_id}&quot;` is created corresponding to every Identity Source `identity_source_id`.
+      &quot;id&quot;: &quot;A String&quot;, # The ID of the entity within the given namespace. The ID must be unique within its namespace.
+    },
+    &quot;type&quot;: &quot;A String&quot;, # Output only. The type of the membership.
+    &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Last updated timestamp of the Membership. Output only.
+    &quot;createTime&quot;: &quot;A String&quot;, # Output only. Creation timestamp of the Membership. Output only.
+    &quot;name&quot;: &quot;A String&quot;, # Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Membership in the format: `groups/{group_id}/memberships/{member_id}`, where group_id is the unique ID assigned to the Group to which Membership belongs to, and member_id is the unique ID assigned to the member Must be left blank while creating a Membership.
+    &quot;roles&quot;: [ # Roles for a member within the Group. Currently supported MembershipRoles: `&quot;MEMBER&quot;`.
+      { # Resource representing a role within a Membership.
+        &quot;name&quot;: &quot;A String&quot;, # MembershipRole in string format. Currently supported MembershipRoles: `&quot;MEMBER&quot;`.
       },
-      &quot;name&quot;: &quot;A String&quot;, # Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the
-          # Membership in the format: `groups/{group_id}/memberships/{member_id}`,
-          # where group_id is the unique ID assigned to the Group to which Membership
-          # belongs to, and member_id is the unique ID assigned to the member
-          #
-          # Must be left blank while creating a Membership.
-      &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Last updated timestamp of the Membership. Output only.
-      &quot;createTime&quot;: &quot;A String&quot;, # Output only. Creation timestamp of the Membership. Output only.
-    }</pre>
+    ],
+  }</pre>
 </div>
 
 <div class="method">
@@ -316,15 +229,14 @@
   <pre>Lists Memberships within a Group.
 
 Args:
-  parent: string, Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the
-Group to list Memberships within.
-
-Format: `groups/{group_id}`, where `group_id` is the unique ID assigned to
-the Group. (required)
-  pageSize: integer, The default page size is 200 (max 1000) for the BASIC view, and 50
-(max 500) for the FULL view.
+  parent: string, Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Group to list Memberships within. Format: `groups/{group_id}`, where `group_id` is the unique ID assigned to the Group. (required)
+  pageSize: integer, The default page size is 200 (max 1000) for the BASIC view, and 50 (max 500) for the FULL view.
   pageToken: string, The next_page_token value returned from a previous list request, if any.
   view: string, Membership resource view to be returned. Defaults to View.BASIC.
+    Allowed values
+      VIEW_UNSPECIFIED - Default. Should not be used.
+      BASIC - Server responses only include basic information.
+      FULL - Full representation of the resource.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -334,43 +246,23 @@
   An object of the form:
 
     {
-    &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;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 Memberships.
       { # Resource representing a Membership within a Group
-          &quot;roles&quot;: [ # Roles for a member within the Group.
-              #
-              # Currently supported MembershipRoles: `&quot;MEMBER&quot;`.
-            { # Resource representing a role within a Membership.
-              &quot;name&quot;: &quot;A String&quot;, # MembershipRole in string format.
-                  #
-                  # Currently supported MembershipRoles: `&quot;MEMBER&quot;`.
-            },
-          ],
-          &quot;preferredMemberKey&quot;: { # An EntityKey uniquely identifies an Entity. Namespaces are used to provide # Required. Immutable. EntityKey of the entity to be added as the member. Must be set while
-              # creating a Membership, read-only afterwards.
-              #
-              # Currently allowed entity types: `Users`, `Groups`.
-              # isolation for IDs. A single ID can be reused across namespaces but the
-              # combination of a namespace and an ID must be unique.
-            &quot;namespace&quot;: &quot;A String&quot;, # Namespaces provide isolation for IDs, so an ID only needs to be unique
-                # within its namespace.
-                #
-                # Namespaces are currently only created as part of IdentitySource creation
-                # from Admin Console. A namespace `&quot;identitysources/{identity_source_id}&quot;` is
-                # created corresponding to every Identity Source `identity_source_id`.
-            &quot;id&quot;: &quot;A String&quot;, # The ID of the entity within the given namespace. The ID must be unique
-                # within its namespace.
-          },
-          &quot;name&quot;: &quot;A String&quot;, # Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the
-              # Membership in the format: `groups/{group_id}/memberships/{member_id}`,
-              # where group_id is the unique ID assigned to the Group to which Membership
-              # belongs to, and member_id is the unique ID assigned to the member
-              #
-              # Must be left blank while creating a Membership.
-          &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Last updated timestamp of the Membership. Output only.
-          &quot;createTime&quot;: &quot;A String&quot;, # Output only. Creation timestamp of the Membership. Output only.
+        &quot;preferredMemberKey&quot;: { # An EntityKey uniquely identifies an Entity. Namespaces are used to provide isolation for IDs. A single ID can be reused across namespaces but the combination of a namespace and an ID must be unique. # Required. Immutable. EntityKey of the entity to be added as the member. Must be set while creating a Membership, read-only afterwards. Currently allowed entity types: `Users`, `Groups`.
+          &quot;namespace&quot;: &quot;A String&quot;, # Namespaces provide isolation for IDs, so an ID only needs to be unique within its namespace. Namespaces are currently only created as part of IdentitySource creation from Admin Console. A namespace `&quot;identitysources/{identity_source_id}&quot;` is created corresponding to every Identity Source `identity_source_id`.
+          &quot;id&quot;: &quot;A String&quot;, # The ID of the entity within the given namespace. The ID must be unique within its namespace.
         },
+        &quot;type&quot;: &quot;A String&quot;, # Output only. The type of the membership.
+        &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Last updated timestamp of the Membership. Output only.
+        &quot;createTime&quot;: &quot;A String&quot;, # Output only. Creation timestamp of the Membership. Output only.
+        &quot;name&quot;: &quot;A String&quot;, # Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Membership in the format: `groups/{group_id}/memberships/{member_id}`, where group_id is the unique ID assigned to the Group to which Membership belongs to, and member_id is the unique ID assigned to the member Must be left blank while creating a Membership.
+        &quot;roles&quot;: [ # Roles for a member within the Group. Currently supported MembershipRoles: `&quot;MEMBER&quot;`.
+          { # Resource representing a role within a Membership.
+            &quot;name&quot;: &quot;A String&quot;, # MembershipRole in string format. Currently supported MembershipRoles: `&quot;MEMBER&quot;`.
+          },
+        ],
+      },
     ],
   }</pre>
 </div>
@@ -391,24 +283,12 @@
 
 <div class="method">
     <code class="details" id="lookup">lookup(parent, memberKey_namespace=None, memberKey_id=None, x__xgafv=None)</code>
-  <pre>Looks up [resource
-name](https://cloud.google.com/apis/design/resource_names) of a Membership
-within a Group by member&#x27;s EntityKey.
+  <pre>Looks up [resource name](https://cloud.google.com/apis/design/resource_names) of a Membership within a Group by member&#x27;s EntityKey.
 
 Args:
-  parent: string, Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the
-Group to lookup Membership within.
-
-Format: `groups/{group_id}`, where `group_id` is the unique ID assigned to
-the Group. (required)
-  memberKey_namespace: string, Namespaces provide isolation for IDs, so an ID only needs to be unique
-within its namespace.
-
-Namespaces are currently only created as part of IdentitySource creation
-from Admin Console. A namespace `&quot;identitysources/{identity_source_id}&quot;` is
-created corresponding to every Identity Source `identity_source_id`.
-  memberKey_id: string, The ID of the entity within the given namespace. The ID must be unique
-within its namespace.
+  parent: string, Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Group to lookup Membership within. Format: `groups/{group_id}`, where `group_id` is the unique ID assigned to the Group. (required)
+  memberKey_namespace: string, Namespaces provide isolation for IDs, so an ID only needs to be unique within its namespace. Namespaces are currently only created as part of IdentitySource creation from Admin Console. A namespace `&quot;identitysources/{identity_source_id}&quot;` is created corresponding to every Identity Source `identity_source_id`.
+  memberKey_id: string, The ID of the entity within the given namespace. The ID must be unique within its namespace.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -418,12 +298,54 @@
   An object of the form:
 
     {
-    &quot;name&quot;: &quot;A String&quot;, # [Resource name](https://cloud.google.com/apis/design/resource_names) of the
-        # Membership being looked up.
-        #
-        # Format: `groups/{group_id}/memberships/{member_id}`, where `group_id` is
-        # the unique ID assigned to the Group to which Membership belongs to, and
-        # `member_id` is the unique ID assigned to the member.
+    &quot;name&quot;: &quot;A String&quot;, # [Resource name](https://cloud.google.com/apis/design/resource_names) of the Membership being looked up. Format: `groups/{group_id}/memberships/{member_id}`, where `group_id` is the unique ID assigned to the Group to which Membership belongs to, and `member_id` is the unique ID assigned to the member.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="modifyMembershipRoles">modifyMembershipRoles(name, body=None, x__xgafv=None)</code>
+  <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)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # The request message for MembershipsService.ModifyMembershipRoles.
+    &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.
+      { # Resource representing a role within a Membership.
+        &quot;name&quot;: &quot;A String&quot;, # MembershipRole in string format. Currently supported MembershipRoles: `&quot;MEMBER&quot;`.
+      },
+    ],
+    &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.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response message for MembershipsService.ModifyMembershipRoles.
+    &quot;membership&quot;: { # Resource representing a Membership within a Group # The `Membership` resource after modifying its `MembershipRole`s.
+      &quot;preferredMemberKey&quot;: { # An EntityKey uniquely identifies an Entity. Namespaces are used to provide isolation for IDs. A single ID can be reused across namespaces but the combination of a namespace and an ID must be unique. # Required. Immutable. EntityKey of the entity to be added as the member. Must be set while creating a Membership, read-only afterwards. Currently allowed entity types: `Users`, `Groups`.
+        &quot;namespace&quot;: &quot;A String&quot;, # Namespaces provide isolation for IDs, so an ID only needs to be unique within its namespace. Namespaces are currently only created as part of IdentitySource creation from Admin Console. A namespace `&quot;identitysources/{identity_source_id}&quot;` is created corresponding to every Identity Source `identity_source_id`.
+        &quot;id&quot;: &quot;A String&quot;, # The ID of the entity within the given namespace. The ID must be unique within its namespace.
+      },
+      &quot;type&quot;: &quot;A String&quot;, # Output only. The type of the membership.
+      &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Last updated timestamp of the Membership. Output only.
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. Creation timestamp of the Membership. Output only.
+      &quot;name&quot;: &quot;A String&quot;, # Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Membership in the format: `groups/{group_id}/memberships/{member_id}`, where group_id is the unique ID assigned to the Group to which Membership belongs to, and member_id is the unique ID assigned to the member Must be left blank while creating a Membership.
+      &quot;roles&quot;: [ # Roles for a member within the Group. Currently supported MembershipRoles: `&quot;MEMBER&quot;`.
+        { # Resource representing a role within a Membership.
+          &quot;name&quot;: &quot;A String&quot;, # MembershipRole in string format. Currently supported MembershipRoles: `&quot;MEMBER&quot;`.
+        },
+      ],
+    },
   }</pre>
 </div>