# Cloud Identity API . groups

## Instance Methods

Returns the memberships Resource.

Creates a Group.

Deletes a Group.

Retrieves a Group.

Looks up [resource

Updates a Group.

Searches for Groups.

Retrieves the next page of results.

### Method Details

`create(body, x__xgafv=None)`

    Creates a Group.

    Args:
      body: object, The request body. (required)
        The object takes the form of:

    { # Resource representing a Group
      "updateTime": "A String", # The time when the Group was last updated.
          # Output only
      "additionalGroupKeys": [ # Optional. Additional entity key aliases for a Group
        { # 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.
          "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.
        },
      ],
      "displayName": "A String", # The Group's display name.
      "name": "A String", # [Resource name](https://cloud.google.com/apis/design/resource_names) of the
          # Group in the format: `groups/{group_id}`, where group_id is the unique id
          # assigned to the Group.
          #
          # Must be left blank while creating a Group
      "parent": "A String", # The entity under which this Group resides in Cloud Identity resource
          # hierarchy. Must be set when creating a Group, read-only afterwards.
          #
          # Currently allowed types: 'identitysources'.
      "labels": { # Labels for Group resource.
          # Required.
          # For creating Groups under a namespace, set label key to
          # 'labels/system/groups/external' and label value as empty.
        "a_key": "A String",
      },
      "groupKey": { # An EntityKey uniquely identifies an Entity. Namespaces are used to provide # EntityKey of the Group.
          #
          # Must be set when creating a Group, read-only afterwards.
          # 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", # The time when the Group was created.
          # Output only
      "description": "A String", # An extended description to help users determine the purpose of a Group. For
          # example, you can include information about who should join the Group, the
          # types of messages to send to the Group, links to FAQs about the Group, or
          # related Groups. Maximum length is 4,096 characters.
    }

      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 Group.

    Args:
      name: string, [Resource name](https://cloud.google.com/apis/design/resource_names) of the
    Group in the format: `groups/{group_id}`, where `group_id` is the unique id
    assigned to the Group. (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 Group.

    Args:
      name: string, [Resource name](https://cloud.google.com/apis/design/resource_names) of the
    Group in the format: `groups/{group_id}`, where `group_id` is the unique id
    assigned to the Group. (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 Group
        "updateTime": "A String", # The time when the Group was last updated.
            # Output only
        "additionalGroupKeys": [ # Optional. Additional entity key aliases for a Group
          { # 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.
            "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.
          },
        ],
        "displayName": "A String", # The Group's display name.
        "name": "A String", # [Resource name](https://cloud.google.com/apis/design/resource_names) of the
            # Group in the format: `groups/{group_id}`, where group_id is the unique id
            # assigned to the Group.
            #
            # Must be left blank while creating a Group
        "parent": "A String", # The entity under which this Group resides in Cloud Identity resource
            # hierarchy. Must be set when creating a Group, read-only afterwards.
            #
            # Currently allowed types: 'identitysources'.
        "labels": { # Labels for Group resource.
            # Required.
            # For creating Groups under a namespace, set label key to
            # 'labels/system/groups/external' and label value as empty.
          "a_key": "A String",
        },
        "groupKey": { # An EntityKey uniquely identifies an Entity. Namespaces are used to provide # EntityKey of the Group.
            #
            # Must be set when creating a Group, read-only afterwards.
            # 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", # The time when the Group was created.
            # Output only
        "description": "A String", # An extended description to help users determine the purpose of a Group. For
            # example, you can include information about who should join the Group, the
            # types of messages to send to the Group, links to FAQs about the Group, or
            # related Groups. Maximum length is 4,096 characters.
      }

`lookup(groupKey_id=None, groupKey_namespace=None, x__xgafv=None)`

    Looks up [resource
    name](https://cloud.google.com/apis/design/resource_names) of a Group by
    its EntityKey.

    Args:
      groupKey_id: string, The id of the entity within the given namespace. The id must be unique
    within its namespace.
      groupKey_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`.
      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
            # Group in the format: `groups/{group_id}`, where `group_id` is the unique id
            # assigned to the Group.
      }

`patch(name, body, updateMask=None, x__xgafv=None)`

    Updates a Group.

    Args:
      name: string, [Resource name](https://cloud.google.com/apis/design/resource_names) of the
    Group in the format: `groups/{group_id}`, where group_id is the unique id
    assigned to the Group.

    Must be left blank while creating a Group (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # Resource representing a Group
      "updateTime": "A String", # The time when the Group was last updated.
          # Output only
      "additionalGroupKeys": [ # Optional. Additional entity key aliases for a Group
        { # 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.
          "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.
        },
      ],
      "displayName": "A String", # The Group's display name.
      "name": "A String", # [Resource name](https://cloud.google.com/apis/design/resource_names) of the
          # Group in the format: `groups/{group_id}`, where group_id is the unique id
          # assigned to the Group.
          #
          # Must be left blank while creating a Group
      "parent": "A String", # The entity under which this Group resides in Cloud Identity resource
          # hierarchy. Must be set when creating a Group, read-only afterwards.
          #
          # Currently allowed types: 'identitysources'.
      "labels": { # Labels for Group resource.
          # Required.
          # For creating Groups under a namespace, set label key to
          # 'labels/system/groups/external' and label value as empty.
        "a_key": "A String",
      },
      "groupKey": { # An EntityKey uniquely identifies an Entity. Namespaces are used to provide # EntityKey of the Group.
          #
          # Must be set when creating a Group, read-only afterwards.
          # 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", # The time when the Group was created.
          # Output only
      "description": "A String", # An extended description to help users determine the purpose of a Group. For
          # example, you can include information about who should join the Group, the
          # types of messages to send to the Group, links to FAQs about the Group, or
          # related Groups. Maximum length is 4,096 characters.
    }

      updateMask: string, Editable fields: `display_name`, `description`
      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.
        },
      }

`search(pageSize=None, pageToken=None, query=None, x__xgafv=None, view=None)`

    Searches for Groups.

    Args:
      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 search request, if any.
      query: string, Query string for performing search on groups.
    Users can search on namespace and label attributes of groups.
    EXACT match ('=') is supported on namespace, and CONTAINS match (':') is
    supported on labels. This is a `required` field.
    Multiple queries can be combined using `AND` operator. The operator is case
    sensitive.
    An example query would be:
    "namespace= AND labels:".
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format
      view: string, Group resource view to be returned. Defaults to [GroupView.BASIC]().

    Returns:
      An object of the form:

        {
        "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no
            # more results available for specified query.
        "groups": [ # List of Groups satisfying the search query.
          { # Resource representing a Group
            "updateTime": "A String", # The time when the Group was last updated.
                # Output only
            "additionalGroupKeys": [ # Optional. Additional entity key aliases for a Group
              { # 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.
                "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.
              },
            ],
            "displayName": "A String", # The Group's display name.
            "name": "A String", # [Resource name](https://cloud.google.com/apis/design/resource_names) of the
                # Group in the format: `groups/{group_id}`, where group_id is the unique id
                # assigned to the Group.
                #
                # Must be left blank while creating a Group
            "parent": "A String", # The entity under which this Group resides in Cloud Identity resource
                # hierarchy. Must be set when creating a Group, read-only afterwards.
                #
                # Currently allowed types: 'identitysources'.
            "labels": { # Labels for Group resource.
                # Required.
                # For creating Groups under a namespace, set label key to
                # 'labels/system/groups/external' and label value as empty.
              "a_key": "A String",
            },
            "groupKey": { # An EntityKey uniquely identifies an Entity. Namespaces are used to provide # EntityKey of the Group.
                #
                # Must be set when creating a Group, read-only afterwards.
                # 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", # The time when the Group was created.
                # Output only
            "description": "A String", # An extended description to help users determine the purpose of a Group. For
                # example, you can include information about who should join the Group, the
                # types of messages to send to the Group, links to FAQs about the Group, or
                # related Groups. Maximum length is 4,096 characters.
          },
        ],
      }

`search_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.