# Cloud Identity API . groups

## Instance Methods

Returns the memberships Resource.

Close httplib2 connections.

Creates a Group.

Deletes a Group.

Retrieves a Group.

Lists groups within a customer or a domain.

Retrieves the next page of results.

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

Updates a Group.

Searches for Groups.

Retrieves the next page of results.

### Method Details

`close()`

    Close httplib2 connections.

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

    Creates a Group.

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

    { # Resource representing a Group.
        "labels": { # Required. `Required`. Labels for Group resource. For creating Groups under a namespace, set label key to 'labels/system/groups/external' and label value as empty.
          "a_key": "A String",
        },
        "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.
        "createTime": "A String", # Output only. The time when the Group was created. Output only.
        "groupKey": { # 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 Group. Must be set when creating a Group, read-only afterwards.
          "namespace": "A 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 `"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.
        "updateTime": "A String", # Output only. The time when the Group was last updated. Output only.
        "name": "A String", # Output only. [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", # Required. Immutable. 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`.
      }

      initialGroupConfig: string, Optional. The initial configuration option for the `Group`.
        Allowed values
          INITIAL_GROUP_CONFIG_UNSPECIFIED - Default. Should not be used.
          WITH_INITIAL_OWNER - The end user making the request will be added as the initial owner of the `Group`.
          EMPTY - An empty group is created without any initial owners. This can only be used by admins of the domain.
      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.
        "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}`.
        "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.
        },
        "error": { # 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.
          "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.
          "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.
            },
          ],
          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        },
        "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.
        "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, Required. [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.
        "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}`.
        "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.
        },
        "error": { # 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.
          "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.
          "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.
            },
          ],
          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        },
        "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.
        "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, Required. [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.
          "labels": { # Required. `Required`. Labels for Group resource. For creating Groups under a namespace, set label key to 'labels/system/groups/external' and label value as empty.
            "a_key": "A String",
          },
          "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.
          "createTime": "A String", # Output only. The time when the Group was created. Output only.
          "groupKey": { # 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 Group. Must be set when creating a Group, read-only afterwards.
            "namespace": "A 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 `"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.
          "updateTime": "A String", # Output only. The time when the Group was last updated. Output only.
          "name": "A String", # Output only. [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", # Required. Immutable. 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`.
        }

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

    Lists groups within a customer or a domain.

    Args:
      pageToken: string, The next_page_token value returned from a previous list request, if any.
      view: string, Group 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.
      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. Customer ID to list all groups from.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Response message for ListGroups operation.
        "groups": [ # Groups returned in response to list request. The results are not sorted.
          { # Resource representing a Group.
              "labels": { # Required. `Required`. Labels for Group resource. For creating Groups under a namespace, set label key to 'labels/system/groups/external' and label value as empty.
                "a_key": "A String",
              },
              "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.
              "createTime": "A String", # Output only. The time when the Group was created. Output only.
              "groupKey": { # 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 Group. Must be set when creating a Group, read-only afterwards.
                "namespace": "A 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 `"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.
              "updateTime": "A String", # Output only. The time when the Group was last updated. Output only.
              "name": "A String", # Output only. [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", # Required. Immutable. 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`.
            },
        ],
        "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(groupKey_namespace=None, groupKey_id=None, x__xgafv=None)`

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

    Args:
      groupKey_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 `"identitysources/{identity_source_id}"` is created corresponding to every Identity Source `identity_source_id`.
      groupKey_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 Group in the format: `groups/{group_id}`, where `group_id` is the unique ID assigned to the Group.
      }

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

    Updates a Group.

    Args:
      name: string, Output only. [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.
        The object takes the form of:

    { # Resource representing a Group.
        "labels": { # Required. `Required`. Labels for Group resource. For creating Groups under a namespace, set label key to 'labels/system/groups/external' and label value as empty.
          "a_key": "A String",
        },
        "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.
        "createTime": "A String", # Output only. The time when the Group was created. Output only.
        "groupKey": { # 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 Group. Must be set when creating a Group, read-only afterwards.
          "namespace": "A 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 `"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.
        "updateTime": "A String", # Output only. The time when the Group was last updated. Output only.
        "name": "A String", # Output only. [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", # Required. Immutable. 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`.
      }

      updateMask: string, Required. 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.
        "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}`.
        "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.
        },
        "error": { # 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.
          "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.
          "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.
            },
          ],
          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        },
        "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.
        "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(pageToken=None, query=None, pageSize=None, view=None, x__xgafv=None)`

    Searches for Groups.

    Args:
      pageToken: string, The next_page_token value returned from a previous search request, if any.
      query: string, Required. `Required`. Query string for performing search on groups. Users can search on parent and label attributes of groups. EXACT match ('==') is supported on parent, and CONTAINS match ('in') is supported on labels.
      pageSize: integer, The default page size is 200 (max 1000) for the BASIC view, and 50 (max 500) for the FULL view.
      view: string, Group 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
          2 - v2 error format

    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.
              "labels": { # Required. `Required`. Labels for Group resource. For creating Groups under a namespace, set label key to 'labels/system/groups/external' and label value as empty.
                "a_key": "A String",
              },
              "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.
              "createTime": "A String", # Output only. The time when the Group was created. Output only.
              "groupKey": { # 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 Group. Must be set when creating a Group, read-only afterwards.
                "namespace": "A 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 `"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.
              "updateTime": "A String", # Output only. The time when the Group was last updated. Output only.
              "name": "A String", # Output only. [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", # Required. Immutable. 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`.
            },
        ],
      }

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