# Cloud Identity API . groups . memberships

## Instance Methods

Creates a Membership.

Deletes a Membership.

Retrieves a Membership.

List Memberships within a Group.

Retrieves the next page of results.

Looks up [resource

### Method Details

`create(parent, body, x__xgafv=None)`

    Creates a Membership.

    Args:
      parent: string, [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. (required)
        The object takes the form of:

    { # Resource representing a Membership within a Group
        "roles": [ # Roles for a member within the Group.
            #
            # Currently supported MembershipRoles: `"MEMBER"`.
          { # Resource representing a role within a Membership.
            "name": "A String", # MembershipRole in string format.
                #
                # Currently supported MembershipRoles: `"MEMBER"`.
          },
        ],
        "memberKey": { # An EntityKey uniquely identifies an Entity. Namespaces are used to provide # 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.
          "namespace": "A String", # Namespaces provide isolation for ids, i.e 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 `"identitysources/{identity_source_id}"` is
              # created corresponding to every Identity Source `identity_source_id`.
          "id": "A String", # The id of the entity within the given namespace. The id must be unique
              # within its namespace.
        },
        "createTime": "A String", # Creation timestamp of the Membership.
        "updateTime": "A String", # Last updated timestamp of the Membership.
        "name": "A String", # [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.
      }

      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.
        "error": { # 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).
          "message": "A String", # 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.
          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
          "details": [ # A list of messages that carry the error details.  There is a common set of
              # message types for APIs to use.
            {
              "a_key": "", # Properties of the object. Contains field @type with type URL.
            },
          ],
        },
        "done": 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.
        "response": { # 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`.
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
        "name": "A String", # 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}`.
        "metadata": { # 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.
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
      }

`delete(name, x__xgafv=None)`

    Deletes a Membership.

    Args:
      name: string, [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
          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.
        "error": { # 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).
          "message": "A String", # 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.
          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
          "details": [ # A list of messages that carry the error details.  There is a common set of
              # message types for APIs to use.
            {
              "a_key": "", # Properties of the object. Contains field @type with type URL.
            },
          ],
        },
        "done": 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.
        "response": { # 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`.
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
        "name": "A String", # 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}`.
        "metadata": { # 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.
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
      }

`get(name, x__xgafv=None)`

    Retrieves a Membership.

    Args:
      name: string, [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
          2 - v2 error format

    Returns:
      An object of the form:

        { # Resource representing a Membership within a Group
          "roles": [ # Roles for a member within the Group.
              #
              # Currently supported MembershipRoles: `"MEMBER"`.
            { # Resource representing a role within a Membership.
              "name": "A String", # MembershipRole in string format.
                  #
                  # Currently supported MembershipRoles: `"MEMBER"`.
            },
          ],
          "memberKey": { # An EntityKey uniquely identifies an Entity. Namespaces are used to provide # 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.
            "namespace": "A String", # Namespaces provide isolation for ids, i.e 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 `"identitysources/{identity_source_id}"` is
                # created corresponding to every Identity Source `identity_source_id`.
            "id": "A String", # The id of the entity within the given namespace. The id must be unique
                # within its namespace.
          },
          "createTime": "A String", # Creation timestamp of the Membership.
          "updateTime": "A String", # Last updated timestamp of the Membership.
          "name": "A String", # [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.
        }

`list(parent, pageSize=None, pageToken=None, x__xgafv=None, view=None)`

    List Memberships within a Group.

    Args:
      parent: string, [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
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format
      view: string, Membership resource view to be returned. Defaults to MembershipView.BASIC.

    Returns:
      An object of the form:

        {
        "memberships": [ # List of Memberships
          { # Resource representing a Membership within a Group
              "roles": [ # Roles for a member within the Group.
                  #
                  # Currently supported MembershipRoles: `"MEMBER"`.
                { # Resource representing a role within a Membership.
                  "name": "A String", # MembershipRole in string format.
                      #
                      # Currently supported MembershipRoles: `"MEMBER"`.
                },
              ],
              "memberKey": { # An EntityKey uniquely identifies an Entity. Namespaces are used to provide # 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.
                "namespace": "A String", # Namespaces provide isolation for ids, i.e 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 `"identitysources/{identity_source_id}"` is
                    # created corresponding to every Identity Source `identity_source_id`.
                "id": "A String", # The id of the entity within the given namespace. The id must be unique
                    # within its namespace.
              },
              "createTime": "A String", # Creation timestamp of the Membership.
              "updateTime": "A String", # Last updated timestamp of the Membership.
              "name": "A String", # [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.
            },
        ],
        "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no
            # more results available for listing.
      }

`list_next(previous_request, previous_response)`

    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 'execute()' on to request the next
      page. Returns None if there are no more items in the collection.

`lookup(parent, memberKey_namespace=None, memberKey_id=None, x__xgafv=None)`

    Looks up [resource
    name](https://cloud.google.com/apis/design/resource_names) of a Membership
    within a Group by member's EntityKey.

    Args:
      parent: string, [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, i.e 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 `"identitysources/{identity_source_id}"` 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
          2 - v2 error format

    Returns:
      An object of the form:

        {
        "name": "A String", # [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.
      }