Cloud Firestore API . projects . databases . indexes

Instance Methods

create(parent, body, x__xgafv=None)

Creates the specified index.

delete(name, x__xgafv=None)

Deletes an index.

get(name, x__xgafv=None)

Gets an index.

list(parent, pageToken=None, x__xgafv=None, pageSize=None, filter=None)

Lists the indexes that match the specified filters.

list_next(previous_request, previous_response)

Retrieves the next page of results.

Method Details

create(parent, body, 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 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 field cannot be created.

Args:
  parent: string, The name of the database this index will apply to. For example:
`projects/{project_id}/databases/{database_id}` (required)
  body: object, The request body. (required)
    The object takes the form of:

{ # An index definition.
    "fields": [ # The fields to index.
      { # A field of an index.
        "fieldPath": "A String", # The path of the field. Must match the field path specification described
            # by google.firestore.v1beta1.Document.fields.
            # Special field path `__name__` may be used by itself or at the end of a
            # path. `__type__` may be used only at the end of path.
        "mode": "A String", # The field's mode.
      },
    ],
    "state": "A String", # The state of the index.
        # Output only.
    "name": "A String", # The resource name of the index.
        # Output only.
    "collectionId": "A String", # The collection ID to which this index applies. 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.
    "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.
    },
    "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). The error model is designed to be:
        #
        # - Simple to use and understand for most users
        # - Flexible enough to meet unexpected needs
        #
        # # Overview
        #
        # The `Status` message contains three pieces of data: error code, error
        # message, and error details. The error code should be an enum value of
        # google.rpc.Code, but it may accept additional error codes if needed.  The
        # error message should be a developer-facing English message that helps
        # developers *understand* and *resolve* the error. If a localized user-facing
        # error message is needed, put the localized message in the error details or
        # localize it in the client. The optional error details may contain arbitrary
        # information about the error. There is a predefined set of error detail types
        # in the package `google.rpc` that can be used for common error conditions.
        #
        # # Language mapping
        #
        # The `Status` message is the logical representation of the error model, but it
        # is not necessarily the actual wire format. When the `Status` message is
        # exposed in different client libraries and different wire protocols, it can be
        # mapped differently. For example, it will likely be mapped to some exceptions
        # in Java, but more likely mapped to some error codes in C.
        #
        # # Other uses
        #
        # The error model and the `Status` message can be used in a variety of
        # environments, either with or without APIs, to provide a
        # consistent developer experience across different environments.
        #
        # Example uses of this error model include:
        #
        # - Partial errors. If a service needs to return partial errors to the client,
        #     it may embed the `Status` in the normal response to indicate the partial
        #     errors.
        #
        # - Workflow errors. A typical workflow has multiple steps. Each step may
        #     have a `Status` message for error reporting.
        #
        # - Batch operations. If a client uses batch request and batch response, the
        #     `Status` message should be used directly inside batch response, one for
        #     each error sub-response.
        #
        # - Asynchronous operations. If an API call embeds asynchronous operation
        #     results in its response, the status of those operations should be
        #     represented directly using the `Status` message.
        #
        # - Logging. If some API errors are stored in logs, the message `Status` could
        #     be used directly after any stripping needed for security/privacy reasons.
      "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 have the format of `operations/some/unique/name`.
  }
delete(name, x__xgafv=None)
Deletes an index.

Args:
  name: string, The index name. For example:
`projects/{project_id}/databases/{database_id}/indexes/{index_id}` (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A generic empty message that you can re-use to avoid defining duplicated
      # empty messages in your APIs. A typical example is to use it as the request
      # or the response type of an API method. For instance:
      #
      #     service Foo {
      #       rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
      #     }
      #
      # The JSON representation for `Empty` is empty JSON object `{}`.
  }
get(name, x__xgafv=None)
Gets an index.

Args:
  name: string, The name of the index. For example:
`projects/{project_id}/databases/{database_id}/indexes/{index_id}` (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # An index definition.
      "fields": [ # The fields to index.
        { # A field of an index.
          "fieldPath": "A String", # The path of the field. Must match the field path specification described
              # by google.firestore.v1beta1.Document.fields.
              # Special field path `__name__` may be used by itself or at the end of a
              # path. `__type__` may be used only at the end of path.
          "mode": "A String", # The field's mode.
        },
      ],
      "state": "A String", # The state of the index.
          # Output only.
      "name": "A String", # The resource name of the index.
          # Output only.
      "collectionId": "A String", # The collection ID to which this index applies. Required.
    }
list(parent, pageToken=None, x__xgafv=None, pageSize=None, filter=None)
Lists the indexes that match the specified filters.

Args:
  parent: string, The database name. For example:
`projects/{project_id}/databases/{database_id}` (required)
  pageToken: string, The standard List page token.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format
  pageSize: integer, The standard List page size.
  filter: string, A parameter

Returns:
  An object of the form:

    { # The response for FirestoreAdmin.ListIndexes.
    "nextPageToken": "A String", # The standard List next-page token.
    "indexes": [ # The indexes.
      { # An index definition.
          "fields": [ # The fields to index.
            { # A field of an index.
              "fieldPath": "A String", # The path of the field. Must match the field path specification described
                  # by google.firestore.v1beta1.Document.fields.
                  # Special field path `__name__` may be used by itself or at the end of a
                  # path. `__type__` may be used only at the end of path.
              "mode": "A String", # The field's mode.
            },
          ],
          "state": "A String", # The state of the index.
              # Output only.
          "name": "A String", # The resource name of the index.
              # Output only.
          "collectionId": "A String", # The collection ID to which this index applies. Required.
        },
    ],
  }
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.