Cloud Firestore API . projects . databases . collectionGroups . indexes

Instance Methods

create(parent, body, x__xgafv=None)

Creates a composite index. This returns a google.longrunning.Operation

delete(name, x__xgafv=None)

Deletes a composite index.

get(name, x__xgafv=None)

Gets a composite index.

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

Lists composite indexes.

list_next(previous_request, previous_response)

Retrieves the next page of results.

Method Details

create(parent, body, x__xgafv=None)
Creates a composite index. This returns a google.longrunning.Operation
which may be used to track the status of the creation. The metadata for
the operation will be the type IndexOperationMetadata.

Args:
  parent: string, A parent name of the form
`projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}` (required)
  body: object, The request body. (required)
    The object takes the form of:

{ # Cloud Firestore indexes enable simple and complex queries against
    # documents in a database.
  "fields": [ # The fields supported by this index.
      # 
      # For composite indexes, this is always 2 or more fields.
      # The last field entry is always for the field path `__name__`. If, on
      # creation, `__name__` was not specified as the last field, it will be added
      # automatically with the same direction as that of the last field defined. If
      # the final field in a composite index is not directional, the `__name__`
      # will be ordered ASCENDING (unless explicitly specified).
      # 
      # For single field indexes, this will always be exactly one entry with a
      # field path equal to the field path of the associated field.
    { # A field in an index.
        # The field_path describes which field is indexed, the value_mode describes
        # how the field value is indexed.
      "fieldPath": "A String", # Can be __name__.
          # For single field indexes, this must match the name of the field or may
          # be omitted.
      "order": "A String", # Indicates that this field supports ordering by the specified order or
          # comparing using =, <, <=, >, >=.
      "arrayConfig": "A String", # Indicates that this field supports operations on `array_value`s.
    },
  ],
  "queryScope": "A String", # Indexes with a collection query scope specified allow queries
      # against a collection that is the child of a specific document, specified at
      # query time, and that has the same collection id.
      # 
      # Indexes with a collection group query scope specified allow queries against
      # all collections descended from a specific document, specified at query
      # time, and that have the same collection id as this index.
  "state": "A String", # Output only.
      # The serving state of the index.
  "name": "A String", # Output only.
      # A server defined name for this index.
      # The form of this name for composite indexes will be:
      # `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{composite_index_id}`
      # For single field indexes, this field will be empty.
}

  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 a composite index.

Args:
  name: string, A name of the form
`projects/{project_id}/databases/{database_id}/collectionGroups/{collection_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 a composite index.

Args:
  name: string, A name of the form
`projects/{project_id}/databases/{database_id}/collectionGroups/{collection_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:

    { # Cloud Firestore indexes enable simple and complex queries against
      # documents in a database.
    "fields": [ # The fields supported by this index.
        #
        # For composite indexes, this is always 2 or more fields.
        # The last field entry is always for the field path `__name__`. If, on
        # creation, `__name__` was not specified as the last field, it will be added
        # automatically with the same direction as that of the last field defined. If
        # the final field in a composite index is not directional, the `__name__`
        # will be ordered ASCENDING (unless explicitly specified).
        #
        # For single field indexes, this will always be exactly one entry with a
        # field path equal to the field path of the associated field.
      { # A field in an index.
          # The field_path describes which field is indexed, the value_mode describes
          # how the field value is indexed.
        "fieldPath": "A String", # Can be __name__.
            # For single field indexes, this must match the name of the field or may
            # be omitted.
        "order": "A String", # Indicates that this field supports ordering by the specified order or
            # comparing using =, <, <=, >, >=.
        "arrayConfig": "A String", # Indicates that this field supports operations on `array_value`s.
      },
    ],
    "queryScope": "A String", # Indexes with a collection query scope specified allow queries
        # against a collection that is the child of a specific document, specified at
        # query time, and that has the same collection id.
        #
        # Indexes with a collection group query scope specified allow queries against
        # all collections descended from a specific document, specified at query
        # time, and that have the same collection id as this index.
    "state": "A String", # Output only.
        # The serving state of the index.
    "name": "A String", # Output only.
        # A server defined name for this index.
        # The form of this name for composite indexes will be:
        # `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{composite_index_id}`
        # For single field indexes, this field will be empty.
  }
list(parent, pageToken=None, x__xgafv=None, pageSize=None, filter=None)
Lists composite indexes.

Args:
  parent: string, A parent name of the form
`projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}` (required)
  pageToken: string, A page token, returned from a previous call to
FirestoreAdmin.ListIndexes, that may be used to get the next
page of results.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format
  pageSize: integer, The number of results to return.
  filter: string, The filter to apply to list results.

Returns:
  An object of the form:

    { # The response for FirestoreAdmin.ListIndexes.
    "nextPageToken": "A String", # A page token that may be used to request another page of results. If blank,
        # this is the last page.
    "indexes": [ # The requested indexes.
      { # Cloud Firestore indexes enable simple and complex queries against
          # documents in a database.
        "fields": [ # The fields supported by this index.
            #
            # For composite indexes, this is always 2 or more fields.
            # The last field entry is always for the field path `__name__`. If, on
            # creation, `__name__` was not specified as the last field, it will be added
            # automatically with the same direction as that of the last field defined. If
            # the final field in a composite index is not directional, the `__name__`
            # will be ordered ASCENDING (unless explicitly specified).
            #
            # For single field indexes, this will always be exactly one entry with a
            # field path equal to the field path of the associated field.
          { # A field in an index.
              # The field_path describes which field is indexed, the value_mode describes
              # how the field value is indexed.
            "fieldPath": "A String", # Can be __name__.
                # For single field indexes, this must match the name of the field or may
                # be omitted.
            "order": "A String", # Indicates that this field supports ordering by the specified order or
                # comparing using =, <, <=, >, >=.
            "arrayConfig": "A String", # Indicates that this field supports operations on `array_value`s.
          },
        ],
        "queryScope": "A String", # Indexes with a collection query scope specified allow queries
            # against a collection that is the child of a specific document, specified at
            # query time, and that has the same collection id.
            #
            # Indexes with a collection group query scope specified allow queries against
            # all collections descended from a specific document, specified at query
            # time, and that have the same collection id as this index.
        "state": "A String", # Output only.
            # The serving state of the index.
        "name": "A String", # Output only.
            # A server defined name for this index.
            # The form of this name for composite indexes will be:
            # `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{composite_index_id}`
            # For single field indexes, this field will be empty.
      },
    ],
  }
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.