# Cloud Datastore API . projects . indexes

## Instance Methods

Close httplib2 connections.

Creates the specified index. A newly created index's initial state is `CREATING`. On completion of the returned google.longrunning.Operation, the state will be `READY`. If the index already exists, the call will return an `ALREADY_EXISTS` status. During index creation, the process could result in an error, in which case the index will move to the `ERROR` state. The process can be recovered by fixing the data that caused the error, removing the index with delete, then re-creating the index with create. Indexes with a single property cannot be created.

Deletes an existing index. An index can only be deleted if it is in a `READY` or `ERROR` state. On successful execution of the request, the index will be in a `DELETING` state. And on completion of the returned google.longrunning.Operation, the index will be removed. During index deletion, the process could result in an error, in which case the index will move to the `ERROR` state. The process can be recovered by fixing the data that caused the error, followed by calling delete again.

Gets an index.

Lists the indexes that match the specified filters. Datastore uses an eventually consistent query to fetch the list of indexes and may occasionally return stale results.

Retrieves the next page of results.

### Method Details

`close()`

    Close httplib2 connections.

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

    Creates the specified index. A newly created index's initial state is `CREATING`. On completion of the returned google.longrunning.Operation, the state will be `READY`. If the index already exists, the call will return an `ALREADY_EXISTS` status. During index creation, the process could result in an error, in which case the index will move to the `ERROR` state. The process can be recovered by fixing the data that caused the error, removing the index with delete, then re-creating the index with create. Indexes with a single property cannot be created.

    Args:
      projectId: string, Project ID against which to make the request. (required)
      body: object, The request body.
        The object takes the form of:

    { # Datastore composite index definition.
      "ancestor": "A String", # Required. The index's ancestor mode. Must not be ANCESTOR_MODE_UNSPECIFIED.
      "indexId": "A String", # Output only. The resource ID of the index.
      "kind": "A String", # Required. The entity kind to which this index applies.
      "projectId": "A String", # Output only. Project ID.
      "properties": [ # Required. An ordered sequence of property names and their index attributes.
        { # A property of an index.
          "direction": "A String", # Required. The indexed property's direction. Must not be DIRECTION_UNSPECIFIED.
          "name": "A String", # Required. The property name to index.
        },
      ],
      "state": "A String", # Output only. The state of the index.
    }

      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.
      "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.
      "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.
        "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.
          },
        ],
        "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.
      },
      "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.
      },
      "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.
      },
    }

`delete(projectId, indexId, x__xgafv=None)`

    Deletes an existing index. An index can only be deleted if it is in a `READY` or `ERROR` state. On successful execution of the request, the index will be in a `DELETING` state. And on completion of the returned google.longrunning.Operation, the index will be removed. During index deletion, the process could result in an error, in which case the index will move to the `ERROR` state. The process can be recovered by fixing the data that caused the error, followed by calling delete again.

    Args:
      projectId: string, Project ID against which to make the request. (required)
      indexId: string, The resource ID of the index to delete. (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.
      "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.
      "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.
        "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.
          },
        ],
        "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.
      },
      "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.
      },
      "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.
      },
    }

`get(projectId, indexId, x__xgafv=None)`

    Gets an index.

    Args:
      projectId: string, Project ID against which to make the request. (required)
      indexId: string, The resource ID of the index to get. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Datastore composite index definition.
      "ancestor": "A String", # Required. The index's ancestor mode. Must not be ANCESTOR_MODE_UNSPECIFIED.
      "indexId": "A String", # Output only. The resource ID of the index.
      "kind": "A String", # Required. The entity kind to which this index applies.
      "projectId": "A String", # Output only. Project ID.
      "properties": [ # Required. An ordered sequence of property names and their index attributes.
        { # A property of an index.
          "direction": "A String", # Required. The indexed property's direction. Must not be DIRECTION_UNSPECIFIED.
          "name": "A String", # Required. The property name to index.
        },
      ],
      "state": "A String", # Output only. The state of the index.
    }

`list(projectId, filter=None, pageSize=None, pageToken=None, x__xgafv=None)`

    Lists the indexes that match the specified filters. Datastore uses an eventually consistent query to fetch the list of indexes and may occasionally return stale results.

    Args:
      projectId: string, Project ID against which to make the request. (required)
      filter: string, A parameter
      pageSize: integer, The maximum number of items to return. If zero, then all results will be returned.
      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

    Returns:
      An object of the form:

        { # The response for google.datastore.admin.v1.DatastoreAdmin.ListIndexes.
      "indexes": [ # The indexes.
        { # Datastore composite index definition.
          "ancestor": "A String", # Required. The index's ancestor mode. Must not be ANCESTOR_MODE_UNSPECIFIED.
          "indexId": "A String", # Output only. The resource ID of the index.
          "kind": "A String", # Required. The entity kind to which this index applies.
          "projectId": "A String", # Output only. Project ID.
          "properties": [ # Required. An ordered sequence of property names and their index attributes.
            { # A property of an index.
              "direction": "A String", # Required. The indexed property's direction. Must not be DIRECTION_UNSPECIFIED.
              "name": "A String", # Required. The property name to index.
            },
          ],
          "state": "A String", # Output only. The state of the index.
        },
      ],
      "nextPageToken": "A String", # The standard List next-page token.
    }

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