# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/cloud/firestore_v1beta1/proto/admin/firestore_admin.proto

import sys

_b = sys.version_info[0] < 3 and (lambda x: x) or (lambda x: x.encode("latin1"))
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
from google.protobuf import descriptor_pb2

# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
from google.cloud.firestore_v1beta1.proto.admin import (
    index_pb2 as google_dot_cloud_dot_firestore__v1beta1_dot_proto_dot_admin_dot_index__pb2,
)
from google.longrunning import (
    operations_pb2 as google_dot_longrunning_dot_operations__pb2,
)
from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
    name="google/cloud/firestore_v1beta1/proto/admin/firestore_admin.proto",
    package="google.firestore.admin.v1beta1",
    syntax="proto3",
    serialized_pb=_b(
        '\n@google/cloud/firestore_v1beta1/proto/admin/firestore_admin.proto\x12\x1egoogle.firestore.admin.v1beta1\x1a\x1cgoogle/api/annotations.proto\x1a\x36google/cloud/firestore_v1beta1/proto/admin/index.proto\x1a#google/longrunning/operations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\x80\x03\n\x16IndexOperationMetadata\x12.\n\nstart_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\r\n\x05index\x18\x03 \x01(\t\x12\\\n\x0eoperation_type\x18\x04 \x01(\x0e\x32\x44.google.firestore.admin.v1beta1.IndexOperationMetadata.OperationType\x12\x11\n\tcancelled\x18\x05 \x01(\x08\x12\x43\n\x11\x64ocument_progress\x18\x06 \x01(\x0b\x32(.google.firestore.admin.v1beta1.Progress"C\n\rOperationType\x12\x1e\n\x1aOPERATION_TYPE_UNSPECIFIED\x10\x00\x12\x12\n\x0e\x43REATING_INDEX\x10\x01":\n\x08Progress\x12\x16\n\x0ework_completed\x18\x01 \x01(\x03\x12\x16\n\x0ework_estimated\x18\x02 \x01(\x03"Z\n\x12\x43reateIndexRequest\x12\x0e\n\x06parent\x18\x01 \x01(\t\x12\x34\n\x05index\x18\x02 \x01(\x0b\x32%.google.firestore.admin.v1beta1.Index"\x1f\n\x0fGetIndexRequest\x12\x0c\n\x04name\x18\x01 \x01(\t"[\n\x12ListIndexesRequest\x12\x0e\n\x06parent\x18\x01 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x02 \x01(\t\x12\x11\n\tpage_size\x18\x03 \x01(\x05\x12\x12\n\npage_token\x18\x04 \x01(\t""\n\x12\x44\x65leteIndexRequest\x12\x0c\n\x04name\x18\x01 \x01(\t"f\n\x13ListIndexesResponse\x12\x36\n\x07indexes\x18\x01 \x03(\x0b\x32%.google.firestore.admin.v1beta1.Index\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t2\x9c\x05\n\x0e\x46irestoreAdmin\x12\xa1\x01\n\x0b\x43reateIndex\x12\x32.google.firestore.admin.v1beta1.CreateIndexRequest\x1a\x1d.google.longrunning.Operation"?\x82\xd3\xe4\x93\x02\x39"0/v1beta1/{parent=projects/*/databases/*}/indexes:\x05index\x12\xb0\x01\n\x0bListIndexes\x12\x32.google.firestore.admin.v1beta1.ListIndexesRequest\x1a\x33.google.firestore.admin.v1beta1.ListIndexesResponse"8\x82\xd3\xe4\x93\x02\x32\x12\x30/v1beta1/{parent=projects/*/databases/*}/indexes\x12\x9c\x01\n\x08GetIndex\x12/.google.firestore.admin.v1beta1.GetIndexRequest\x1a%.google.firestore.admin.v1beta1.Index"8\x82\xd3\xe4\x93\x02\x32\x12\x30/v1beta1/{name=projects/*/databases/*/indexes/*}\x12\x93\x01\n\x0b\x44\x65leteIndex\x12\x32.google.firestore.admin.v1beta1.DeleteIndexRequest\x1a\x16.google.protobuf.Empty"8\x82\xd3\xe4\x93\x02\x32*0/v1beta1/{name=projects/*/databases/*/indexes/*}B\xae\x01\n"com.google.firestore.admin.v1beta1B\x13\x46irestoreAdminProtoP\x01ZCgoogle.golang.org/genproto/googleapis/firestore/admin/v1beta1;admin\xa2\x02\x04GCFS\xaa\x02$Google.Cloud.Firestore.Admin.V1Beta1b\x06proto3'
    ),
    dependencies=[
        google_dot_api_dot_annotations__pb2.DESCRIPTOR,
        google_dot_cloud_dot_firestore__v1beta1_dot_proto_dot_admin_dot_index__pb2.DESCRIPTOR,
        google_dot_longrunning_dot_operations__pb2.DESCRIPTOR,
        google_dot_protobuf_dot_empty__pb2.DESCRIPTOR,
        google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,
    ],
)


_INDEXOPERATIONMETADATA_OPERATIONTYPE = _descriptor.EnumDescriptor(
    name="OperationType",
    full_name="google.firestore.admin.v1beta1.IndexOperationMetadata.OperationType",
    filename=None,
    file=DESCRIPTOR,
    values=[
        _descriptor.EnumValueDescriptor(
            name="OPERATION_TYPE_UNSPECIFIED",
            index=0,
            number=0,
            options=None,
            type=None,
        ),
        _descriptor.EnumValueDescriptor(
            name="CREATING_INDEX", index=1, number=1, options=None, type=None
        ),
    ],
    containing_type=None,
    options=None,
    serialized_start=603,
    serialized_end=670,
)
_sym_db.RegisterEnumDescriptor(_INDEXOPERATIONMETADATA_OPERATIONTYPE)


_INDEXOPERATIONMETADATA = _descriptor.Descriptor(
    name="IndexOperationMetadata",
    full_name="google.firestore.admin.v1beta1.IndexOperationMetadata",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="start_time",
            full_name="google.firestore.admin.v1beta1.IndexOperationMetadata.start_time",
            index=0,
            number=1,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="end_time",
            full_name="google.firestore.admin.v1beta1.IndexOperationMetadata.end_time",
            index=1,
            number=2,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="index",
            full_name="google.firestore.admin.v1beta1.IndexOperationMetadata.index",
            index=2,
            number=3,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="operation_type",
            full_name="google.firestore.admin.v1beta1.IndexOperationMetadata.operation_type",
            index=3,
            number=4,
            type=14,
            cpp_type=8,
            label=1,
            has_default_value=False,
            default_value=0,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="cancelled",
            full_name="google.firestore.admin.v1beta1.IndexOperationMetadata.cancelled",
            index=4,
            number=5,
            type=8,
            cpp_type=7,
            label=1,
            has_default_value=False,
            default_value=False,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="document_progress",
            full_name="google.firestore.admin.v1beta1.IndexOperationMetadata.document_progress",
            index=5,
            number=6,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[_INDEXOPERATIONMETADATA_OPERATIONTYPE],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=286,
    serialized_end=670,
)


_PROGRESS = _descriptor.Descriptor(
    name="Progress",
    full_name="google.firestore.admin.v1beta1.Progress",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="work_completed",
            full_name="google.firestore.admin.v1beta1.Progress.work_completed",
            index=0,
            number=1,
            type=3,
            cpp_type=2,
            label=1,
            has_default_value=False,
            default_value=0,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="work_estimated",
            full_name="google.firestore.admin.v1beta1.Progress.work_estimated",
            index=1,
            number=2,
            type=3,
            cpp_type=2,
            label=1,
            has_default_value=False,
            default_value=0,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=672,
    serialized_end=730,
)


_CREATEINDEXREQUEST = _descriptor.Descriptor(
    name="CreateIndexRequest",
    full_name="google.firestore.admin.v1beta1.CreateIndexRequest",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="parent",
            full_name="google.firestore.admin.v1beta1.CreateIndexRequest.parent",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="index",
            full_name="google.firestore.admin.v1beta1.CreateIndexRequest.index",
            index=1,
            number=2,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=732,
    serialized_end=822,
)


_GETINDEXREQUEST = _descriptor.Descriptor(
    name="GetIndexRequest",
    full_name="google.firestore.admin.v1beta1.GetIndexRequest",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="name",
            full_name="google.firestore.admin.v1beta1.GetIndexRequest.name",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        )
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=824,
    serialized_end=855,
)


_LISTINDEXESREQUEST = _descriptor.Descriptor(
    name="ListIndexesRequest",
    full_name="google.firestore.admin.v1beta1.ListIndexesRequest",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="parent",
            full_name="google.firestore.admin.v1beta1.ListIndexesRequest.parent",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="filter",
            full_name="google.firestore.admin.v1beta1.ListIndexesRequest.filter",
            index=1,
            number=2,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="page_size",
            full_name="google.firestore.admin.v1beta1.ListIndexesRequest.page_size",
            index=2,
            number=3,
            type=5,
            cpp_type=1,
            label=1,
            has_default_value=False,
            default_value=0,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="page_token",
            full_name="google.firestore.admin.v1beta1.ListIndexesRequest.page_token",
            index=3,
            number=4,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=857,
    serialized_end=948,
)


_DELETEINDEXREQUEST = _descriptor.Descriptor(
    name="DeleteIndexRequest",
    full_name="google.firestore.admin.v1beta1.DeleteIndexRequest",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="name",
            full_name="google.firestore.admin.v1beta1.DeleteIndexRequest.name",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        )
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=950,
    serialized_end=984,
)


_LISTINDEXESRESPONSE = _descriptor.Descriptor(
    name="ListIndexesResponse",
    full_name="google.firestore.admin.v1beta1.ListIndexesResponse",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="indexes",
            full_name="google.firestore.admin.v1beta1.ListIndexesResponse.indexes",
            index=0,
            number=1,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="next_page_token",
            full_name="google.firestore.admin.v1beta1.ListIndexesResponse.next_page_token",
            index=1,
            number=2,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=986,
    serialized_end=1088,
)

_INDEXOPERATIONMETADATA.fields_by_name[
    "start_time"
].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_INDEXOPERATIONMETADATA.fields_by_name[
    "end_time"
].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_INDEXOPERATIONMETADATA.fields_by_name[
    "operation_type"
].enum_type = _INDEXOPERATIONMETADATA_OPERATIONTYPE
_INDEXOPERATIONMETADATA.fields_by_name["document_progress"].message_type = _PROGRESS
_INDEXOPERATIONMETADATA_OPERATIONTYPE.containing_type = _INDEXOPERATIONMETADATA
_CREATEINDEXREQUEST.fields_by_name[
    "index"
].message_type = (
    google_dot_cloud_dot_firestore__v1beta1_dot_proto_dot_admin_dot_index__pb2._INDEX
)
_LISTINDEXESRESPONSE.fields_by_name[
    "indexes"
].message_type = (
    google_dot_cloud_dot_firestore__v1beta1_dot_proto_dot_admin_dot_index__pb2._INDEX
)
DESCRIPTOR.message_types_by_name["IndexOperationMetadata"] = _INDEXOPERATIONMETADATA
DESCRIPTOR.message_types_by_name["Progress"] = _PROGRESS
DESCRIPTOR.message_types_by_name["CreateIndexRequest"] = _CREATEINDEXREQUEST
DESCRIPTOR.message_types_by_name["GetIndexRequest"] = _GETINDEXREQUEST
DESCRIPTOR.message_types_by_name["ListIndexesRequest"] = _LISTINDEXESREQUEST
DESCRIPTOR.message_types_by_name["DeleteIndexRequest"] = _DELETEINDEXREQUEST
DESCRIPTOR.message_types_by_name["ListIndexesResponse"] = _LISTINDEXESRESPONSE
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

IndexOperationMetadata = _reflection.GeneratedProtocolMessageType(
    "IndexOperationMetadata",
    (_message.Message,),
    dict(
        DESCRIPTOR=_INDEXOPERATIONMETADATA,
        __module__="google.cloud.firestore_v1beta1.proto.admin.firestore_admin_pb2",
        __doc__="""Metadata for index operations. This metadata populates the metadata
  field of [google.longrunning.Operation][google.longrunning.Operation].
  
  
  Attributes:
      start_time:
          The time that work began on the operation.
      end_time:
          The time the operation ended, either successfully or
          otherwise. Unset if the operation is still active.
      index:
          The index resource that this operation is acting on. For
          example: ``projects/{project_id}/databases/{database_id}/index
          es/{index_id}``
      operation_type:
          The type of index operation.
      cancelled:
          True if the [google.longrunning.Operation] was cancelled. If
          the cancellation is in progress, cancelled will be true but [g
          oogle.longrunning.Operation.done][google.longrunning.Operation
          .done] will be false.
      document_progress:
          Progress of the existing operation, measured in number of
          documents.
  """,
        # @@protoc_insertion_point(class_scope:google.firestore.admin.v1beta1.IndexOperationMetadata)
    ),
)
_sym_db.RegisterMessage(IndexOperationMetadata)

Progress = _reflection.GeneratedProtocolMessageType(
    "Progress",
    (_message.Message,),
    dict(
        DESCRIPTOR=_PROGRESS,
        __module__="google.cloud.firestore_v1beta1.proto.admin.firestore_admin_pb2",
        __doc__="""Measures the progress of a particular metric.
  
  
  Attributes:
      work_completed:
          An estimate of how much work has been completed. Note that
          this may be greater than ``work_estimated``.
      work_estimated:
          An estimate of how much work needs to be performed. Zero if
          the work estimate is unavailable. May change as work
          progresses.
  """,
        # @@protoc_insertion_point(class_scope:google.firestore.admin.v1beta1.Progress)
    ),
)
_sym_db.RegisterMessage(Progress)

CreateIndexRequest = _reflection.GeneratedProtocolMessageType(
    "CreateIndexRequest",
    (_message.Message,),
    dict(
        DESCRIPTOR=_CREATEINDEXREQUEST,
        __module__="google.cloud.firestore_v1beta1.proto.admin.firestore_admin_pb2",
        __doc__="""The request for
  [FirestoreAdmin.CreateIndex][google.firestore.admin.v1beta1.FirestoreAdmin.CreateIndex].
  
  
  Attributes:
      parent:
          The name of the database this index will apply to. For
          example: ``projects/{project_id}/databases/{database_id}``
      index:
          The index to create. The name and state should not be
          specified. Certain single field indexes cannot be created or
          deleted.
  """,
        # @@protoc_insertion_point(class_scope:google.firestore.admin.v1beta1.CreateIndexRequest)
    ),
)
_sym_db.RegisterMessage(CreateIndexRequest)

GetIndexRequest = _reflection.GeneratedProtocolMessageType(
    "GetIndexRequest",
    (_message.Message,),
    dict(
        DESCRIPTOR=_GETINDEXREQUEST,
        __module__="google.cloud.firestore_v1beta1.proto.admin.firestore_admin_pb2",
        __doc__="""The request for
  [FirestoreAdmin.GetIndex][google.firestore.admin.v1beta1.FirestoreAdmin.GetIndex].
  
  
  Attributes:
      name:
          The name of the index. For example: ``projects/{project_id}/da
          tabases/{database_id}/indexes/{index_id}``
  """,
        # @@protoc_insertion_point(class_scope:google.firestore.admin.v1beta1.GetIndexRequest)
    ),
)
_sym_db.RegisterMessage(GetIndexRequest)

ListIndexesRequest = _reflection.GeneratedProtocolMessageType(
    "ListIndexesRequest",
    (_message.Message,),
    dict(
        DESCRIPTOR=_LISTINDEXESREQUEST,
        __module__="google.cloud.firestore_v1beta1.proto.admin.firestore_admin_pb2",
        __doc__="""The request for
  [FirestoreAdmin.ListIndexes][google.firestore.admin.v1beta1.FirestoreAdmin.ListIndexes].
  
  
  Attributes:
      parent:
          The database name. For example:
          ``projects/{project_id}/databases/{database_id}``
      page_size:
          The standard List page size.
      page_token:
          The standard List page token.
  """,
        # @@protoc_insertion_point(class_scope:google.firestore.admin.v1beta1.ListIndexesRequest)
    ),
)
_sym_db.RegisterMessage(ListIndexesRequest)

DeleteIndexRequest = _reflection.GeneratedProtocolMessageType(
    "DeleteIndexRequest",
    (_message.Message,),
    dict(
        DESCRIPTOR=_DELETEINDEXREQUEST,
        __module__="google.cloud.firestore_v1beta1.proto.admin.firestore_admin_pb2",
        __doc__="""The request for
  [FirestoreAdmin.DeleteIndex][google.firestore.admin.v1beta1.FirestoreAdmin.DeleteIndex].
  
  
  Attributes:
      name:
          The index name. For example: ``projects/{project_id}/databases
          /{database_id}/indexes/{index_id}``
  """,
        # @@protoc_insertion_point(class_scope:google.firestore.admin.v1beta1.DeleteIndexRequest)
    ),
)
_sym_db.RegisterMessage(DeleteIndexRequest)

ListIndexesResponse = _reflection.GeneratedProtocolMessageType(
    "ListIndexesResponse",
    (_message.Message,),
    dict(
        DESCRIPTOR=_LISTINDEXESRESPONSE,
        __module__="google.cloud.firestore_v1beta1.proto.admin.firestore_admin_pb2",
        __doc__="""The response for
  [FirestoreAdmin.ListIndexes][google.firestore.admin.v1beta1.FirestoreAdmin.ListIndexes].
  
  
  Attributes:
      indexes:
          The indexes.
      next_page_token:
          The standard List next-page token.
  """,
        # @@protoc_insertion_point(class_scope:google.firestore.admin.v1beta1.ListIndexesResponse)
    ),
)
_sym_db.RegisterMessage(ListIndexesResponse)


DESCRIPTOR.has_options = True
DESCRIPTOR._options = _descriptor._ParseOptions(
    descriptor_pb2.FileOptions(),
    _b(
        '\n"com.google.firestore.admin.v1beta1B\023FirestoreAdminProtoP\001ZCgoogle.golang.org/genproto/googleapis/firestore/admin/v1beta1;admin\242\002\004GCFS\252\002$Google.Cloud.Firestore.Admin.V1Beta1'
    ),
)

_FIRESTOREADMIN = _descriptor.ServiceDescriptor(
    name="FirestoreAdmin",
    full_name="google.firestore.admin.v1beta1.FirestoreAdmin",
    file=DESCRIPTOR,
    index=0,
    options=None,
    serialized_start=1091,
    serialized_end=1759,
    methods=[
        _descriptor.MethodDescriptor(
            name="CreateIndex",
            full_name="google.firestore.admin.v1beta1.FirestoreAdmin.CreateIndex",
            index=0,
            containing_service=None,
            input_type=_CREATEINDEXREQUEST,
            output_type=google_dot_longrunning_dot_operations__pb2._OPERATION,
            options=_descriptor._ParseOptions(
                descriptor_pb2.MethodOptions(),
                _b(
                    '\202\323\344\223\0029"0/v1beta1/{parent=projects/*/databases/*}/indexes:\005index'
                ),
            ),
        ),
        _descriptor.MethodDescriptor(
            name="ListIndexes",
            full_name="google.firestore.admin.v1beta1.FirestoreAdmin.ListIndexes",
            index=1,
            containing_service=None,
            input_type=_LISTINDEXESREQUEST,
            output_type=_LISTINDEXESRESPONSE,
            options=_descriptor._ParseOptions(
                descriptor_pb2.MethodOptions(),
                _b(
                    "\202\323\344\223\0022\0220/v1beta1/{parent=projects/*/databases/*}/indexes"
                ),
            ),
        ),
        _descriptor.MethodDescriptor(
            name="GetIndex",
            full_name="google.firestore.admin.v1beta1.FirestoreAdmin.GetIndex",
            index=2,
            containing_service=None,
            input_type=_GETINDEXREQUEST,
            output_type=google_dot_cloud_dot_firestore__v1beta1_dot_proto_dot_admin_dot_index__pb2._INDEX,
            options=_descriptor._ParseOptions(
                descriptor_pb2.MethodOptions(),
                _b(
                    "\202\323\344\223\0022\0220/v1beta1/{name=projects/*/databases/*/indexes/*}"
                ),
            ),
        ),
        _descriptor.MethodDescriptor(
            name="DeleteIndex",
            full_name="google.firestore.admin.v1beta1.FirestoreAdmin.DeleteIndex",
            index=3,
            containing_service=None,
            input_type=_DELETEINDEXREQUEST,
            output_type=google_dot_protobuf_dot_empty__pb2._EMPTY,
            options=_descriptor._ParseOptions(
                descriptor_pb2.MethodOptions(),
                _b(
                    "\202\323\344\223\0022*0/v1beta1/{name=projects/*/databases/*/indexes/*}"
                ),
            ),
        ),
    ],
)
_sym_db.RegisterServiceDescriptor(_FIRESTOREADMIN)

DESCRIPTOR.services_by_name["FirestoreAdmin"] = _FIRESTOREADMIN

try:
    # THESE ELEMENTS WILL BE DEPRECATED.
    # Please use the generated *_pb2_grpc.py files instead.
    import grpc
    from grpc.beta import implementations as beta_implementations
    from grpc.beta import interfaces as beta_interfaces
    from grpc.framework.common import cardinality
    from grpc.framework.interfaces.face import utilities as face_utilities

    class FirestoreAdminStub(object):
        """The Cloud Firestore Admin API.

    This API provides several administrative services for Cloud Firestore.

    # Concepts

    Project, Database, Namespace, Collection, and Document are used as defined in
    the Google Cloud Firestore API.

    Operation: An Operation represents work being performed in the background.


    # Services

    ## Index

    The index service manages Cloud Firestore indexes.

    Index creation is performed asynchronously.
    An Operation resource is created for each such asynchronous operation.
    The state of the operation (including any errors encountered)
    may be queried via the Operation resource.

    ## Metadata

    Provides metadata and statistical information about data in Cloud Firestore.
    The data provided as part of this API may be stale.

    ## Operation

    The Operations collection provides a record of actions performed for the
    specified Project (including any Operations in progress). Operations are not
    created directly but through calls on other collections or resources.

    An Operation that is not yet done may be cancelled. The request to cancel is
    asynchronous and the Operation may continue to run for some time after the
    request to cancel is made.

    An Operation that is done may be deleted so that it is no longer listed as
    part of the Operation collection.

    Operations are created by service `FirestoreAdmin`, but are accessed via
    service `google.longrunning.Operations`.
    """

        def __init__(self, channel):
            """Constructor.

      Args:
        channel: A grpc.Channel.
      """
            self.CreateIndex = channel.unary_unary(
                "/google.firestore.admin.v1beta1.FirestoreAdmin/CreateIndex",
                request_serializer=CreateIndexRequest.SerializeToString,
                response_deserializer=google_dot_longrunning_dot_operations__pb2.Operation.FromString,
            )
            self.ListIndexes = channel.unary_unary(
                "/google.firestore.admin.v1beta1.FirestoreAdmin/ListIndexes",
                request_serializer=ListIndexesRequest.SerializeToString,
                response_deserializer=ListIndexesResponse.FromString,
            )
            self.GetIndex = channel.unary_unary(
                "/google.firestore.admin.v1beta1.FirestoreAdmin/GetIndex",
                request_serializer=GetIndexRequest.SerializeToString,
                response_deserializer=google_dot_cloud_dot_firestore__v1beta1_dot_proto_dot_admin_dot_index__pb2.Index.FromString,
            )
            self.DeleteIndex = channel.unary_unary(
                "/google.firestore.admin.v1beta1.FirestoreAdmin/DeleteIndex",
                request_serializer=DeleteIndexRequest.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            )

    class FirestoreAdminServicer(object):
        """The Cloud Firestore Admin API.

    This API provides several administrative services for Cloud Firestore.

    # Concepts

    Project, Database, Namespace, Collection, and Document are used as defined in
    the Google Cloud Firestore API.

    Operation: An Operation represents work being performed in the background.


    # Services

    ## Index

    The index service manages Cloud Firestore indexes.

    Index creation is performed asynchronously.
    An Operation resource is created for each such asynchronous operation.
    The state of the operation (including any errors encountered)
    may be queried via the Operation resource.

    ## Metadata

    Provides metadata and statistical information about data in Cloud Firestore.
    The data provided as part of this API may be stale.

    ## Operation

    The Operations collection provides a record of actions performed for the
    specified Project (including any Operations in progress). Operations are not
    created directly but through calls on other collections or resources.

    An Operation that is not yet done may be cancelled. The request to cancel is
    asynchronous and the Operation may continue to run for some time after the
    request to cancel is made.

    An Operation that is done may be deleted so that it is no longer listed as
    part of the Operation collection.

    Operations are created by service `FirestoreAdmin`, but are accessed via
    service `google.longrunning.Operations`.
    """

        def CreateIndex(self, request, context):
            """Creates the specified index.
      A newly created index's initial state is `CREATING`. On completion of the
      returned [google.longrunning.Operation][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][google.firestore.admin.v1beta1.FirestoreAdmin.DeleteIndex], then re-creating the index with
      [create][google.firestore.admin.v1beta1.FirestoreAdmin.CreateIndex].

      Indexes with a single field cannot be created.
      """
            context.set_code(grpc.StatusCode.UNIMPLEMENTED)
            context.set_details("Method not implemented!")
            raise NotImplementedError("Method not implemented!")

        def ListIndexes(self, request, context):
            """Lists the indexes that match the specified filters.
      """
            context.set_code(grpc.StatusCode.UNIMPLEMENTED)
            context.set_details("Method not implemented!")
            raise NotImplementedError("Method not implemented!")

        def GetIndex(self, request, context):
            """Gets an index.
      """
            context.set_code(grpc.StatusCode.UNIMPLEMENTED)
            context.set_details("Method not implemented!")
            raise NotImplementedError("Method not implemented!")

        def DeleteIndex(self, request, context):
            """Deletes an index.
      """
            context.set_code(grpc.StatusCode.UNIMPLEMENTED)
            context.set_details("Method not implemented!")
            raise NotImplementedError("Method not implemented!")

    def add_FirestoreAdminServicer_to_server(servicer, server):
        rpc_method_handlers = {
            "CreateIndex": grpc.unary_unary_rpc_method_handler(
                servicer.CreateIndex,
                request_deserializer=CreateIndexRequest.FromString,
                response_serializer=google_dot_longrunning_dot_operations__pb2.Operation.SerializeToString,
            ),
            "ListIndexes": grpc.unary_unary_rpc_method_handler(
                servicer.ListIndexes,
                request_deserializer=ListIndexesRequest.FromString,
                response_serializer=ListIndexesResponse.SerializeToString,
            ),
            "GetIndex": grpc.unary_unary_rpc_method_handler(
                servicer.GetIndex,
                request_deserializer=GetIndexRequest.FromString,
                response_serializer=google_dot_cloud_dot_firestore__v1beta1_dot_proto_dot_admin_dot_index__pb2.Index.SerializeToString,
            ),
            "DeleteIndex": grpc.unary_unary_rpc_method_handler(
                servicer.DeleteIndex,
                request_deserializer=DeleteIndexRequest.FromString,
                response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
        }
        generic_handler = grpc.method_handlers_generic_handler(
            "google.firestore.admin.v1beta1.FirestoreAdmin", rpc_method_handlers
        )
        server.add_generic_rpc_handlers((generic_handler,))

    class BetaFirestoreAdminServicer(object):
        """The Beta API is deprecated for 0.15.0 and later.

    It is recommended to use the GA API (classes and functions in this
    file not marked beta) for all further purposes. This class was generated
    only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0."""

        """The Cloud Firestore Admin API.

    This API provides several administrative services for Cloud Firestore.

    # Concepts

    Project, Database, Namespace, Collection, and Document are used as defined in
    the Google Cloud Firestore API.

    Operation: An Operation represents work being performed in the background.


    # Services

    ## Index

    The index service manages Cloud Firestore indexes.

    Index creation is performed asynchronously.
    An Operation resource is created for each such asynchronous operation.
    The state of the operation (including any errors encountered)
    may be queried via the Operation resource.

    ## Metadata

    Provides metadata and statistical information about data in Cloud Firestore.
    The data provided as part of this API may be stale.

    ## Operation

    The Operations collection provides a record of actions performed for the
    specified Project (including any Operations in progress). Operations are not
    created directly but through calls on other collections or resources.

    An Operation that is not yet done may be cancelled. The request to cancel is
    asynchronous and the Operation may continue to run for some time after the
    request to cancel is made.

    An Operation that is done may be deleted so that it is no longer listed as
    part of the Operation collection.

    Operations are created by service `FirestoreAdmin`, but are accessed via
    service `google.longrunning.Operations`.
    """

        def CreateIndex(self, request, context):
            """Creates the specified index.
      A newly created index's initial state is `CREATING`. On completion of the
      returned [google.longrunning.Operation][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][google.firestore.admin.v1beta1.FirestoreAdmin.DeleteIndex], then re-creating the index with
      [create][google.firestore.admin.v1beta1.FirestoreAdmin.CreateIndex].

      Indexes with a single field cannot be created.
      """
            context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)

        def ListIndexes(self, request, context):
            """Lists the indexes that match the specified filters.
      """
            context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)

        def GetIndex(self, request, context):
            """Gets an index.
      """
            context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)

        def DeleteIndex(self, request, context):
            """Deletes an index.
      """
            context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)

    class BetaFirestoreAdminStub(object):
        """The Beta API is deprecated for 0.15.0 and later.

    It is recommended to use the GA API (classes and functions in this
    file not marked beta) for all further purposes. This class was generated
    only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0."""

        """The Cloud Firestore Admin API.

    This API provides several administrative services for Cloud Firestore.

    # Concepts

    Project, Database, Namespace, Collection, and Document are used as defined in
    the Google Cloud Firestore API.

    Operation: An Operation represents work being performed in the background.


    # Services

    ## Index

    The index service manages Cloud Firestore indexes.

    Index creation is performed asynchronously.
    An Operation resource is created for each such asynchronous operation.
    The state of the operation (including any errors encountered)
    may be queried via the Operation resource.

    ## Metadata

    Provides metadata and statistical information about data in Cloud Firestore.
    The data provided as part of this API may be stale.

    ## Operation

    The Operations collection provides a record of actions performed for the
    specified Project (including any Operations in progress). Operations are not
    created directly but through calls on other collections or resources.

    An Operation that is not yet done may be cancelled. The request to cancel is
    asynchronous and the Operation may continue to run for some time after the
    request to cancel is made.

    An Operation that is done may be deleted so that it is no longer listed as
    part of the Operation collection.

    Operations are created by service `FirestoreAdmin`, but are accessed via
    service `google.longrunning.Operations`.
    """

        def CreateIndex(
            self,
            request,
            timeout,
            metadata=None,
            with_call=False,
            protocol_options=None,
        ):
            """Creates the specified index.
      A newly created index's initial state is `CREATING`. On completion of the
      returned [google.longrunning.Operation][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][google.firestore.admin.v1beta1.FirestoreAdmin.DeleteIndex], then re-creating the index with
      [create][google.firestore.admin.v1beta1.FirestoreAdmin.CreateIndex].

      Indexes with a single field cannot be created.
      """
            raise NotImplementedError()

        CreateIndex.future = None

        def ListIndexes(
            self,
            request,
            timeout,
            metadata=None,
            with_call=False,
            protocol_options=None,
        ):
            """Lists the indexes that match the specified filters.
      """
            raise NotImplementedError()

        ListIndexes.future = None

        def GetIndex(
            self,
            request,
            timeout,
            metadata=None,
            with_call=False,
            protocol_options=None,
        ):
            """Gets an index.
      """
            raise NotImplementedError()

        GetIndex.future = None

        def DeleteIndex(
            self,
            request,
            timeout,
            metadata=None,
            with_call=False,
            protocol_options=None,
        ):
            """Deletes an index.
      """
            raise NotImplementedError()

        DeleteIndex.future = None

    def beta_create_FirestoreAdmin_server(
        servicer, pool=None, pool_size=None, default_timeout=None, maximum_timeout=None
    ):
        """The Beta API is deprecated for 0.15.0 and later.

    It is recommended to use the GA API (classes and functions in this
    file not marked beta) for all further purposes. This function was
    generated only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0"""
        request_deserializers = {
            (
                "google.firestore.admin.v1beta1.FirestoreAdmin",
                "CreateIndex",
            ): CreateIndexRequest.FromString,
            (
                "google.firestore.admin.v1beta1.FirestoreAdmin",
                "DeleteIndex",
            ): DeleteIndexRequest.FromString,
            (
                "google.firestore.admin.v1beta1.FirestoreAdmin",
                "GetIndex",
            ): GetIndexRequest.FromString,
            (
                "google.firestore.admin.v1beta1.FirestoreAdmin",
                "ListIndexes",
            ): ListIndexesRequest.FromString,
        }
        response_serializers = {
            (
                "google.firestore.admin.v1beta1.FirestoreAdmin",
                "CreateIndex",
            ): google_dot_longrunning_dot_operations__pb2.Operation.SerializeToString,
            (
                "google.firestore.admin.v1beta1.FirestoreAdmin",
                "DeleteIndex",
            ): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            (
                "google.firestore.admin.v1beta1.FirestoreAdmin",
                "GetIndex",
            ): google_dot_cloud_dot_firestore__v1beta1_dot_proto_dot_admin_dot_index__pb2.Index.SerializeToString,
            (
                "google.firestore.admin.v1beta1.FirestoreAdmin",
                "ListIndexes",
            ): ListIndexesResponse.SerializeToString,
        }
        method_implementations = {
            (
                "google.firestore.admin.v1beta1.FirestoreAdmin",
                "CreateIndex",
            ): face_utilities.unary_unary_inline(servicer.CreateIndex),
            (
                "google.firestore.admin.v1beta1.FirestoreAdmin",
                "DeleteIndex",
            ): face_utilities.unary_unary_inline(servicer.DeleteIndex),
            (
                "google.firestore.admin.v1beta1.FirestoreAdmin",
                "GetIndex",
            ): face_utilities.unary_unary_inline(servicer.GetIndex),
            (
                "google.firestore.admin.v1beta1.FirestoreAdmin",
                "ListIndexes",
            ): face_utilities.unary_unary_inline(servicer.ListIndexes),
        }
        server_options = beta_implementations.server_options(
            request_deserializers=request_deserializers,
            response_serializers=response_serializers,
            thread_pool=pool,
            thread_pool_size=pool_size,
            default_timeout=default_timeout,
            maximum_timeout=maximum_timeout,
        )
        return beta_implementations.server(
            method_implementations, options=server_options
        )

    def beta_create_FirestoreAdmin_stub(
        channel, host=None, metadata_transformer=None, pool=None, pool_size=None
    ):
        """The Beta API is deprecated for 0.15.0 and later.

    It is recommended to use the GA API (classes and functions in this
    file not marked beta) for all further purposes. This function was
    generated only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0"""
        request_serializers = {
            (
                "google.firestore.admin.v1beta1.FirestoreAdmin",
                "CreateIndex",
            ): CreateIndexRequest.SerializeToString,
            (
                "google.firestore.admin.v1beta1.FirestoreAdmin",
                "DeleteIndex",
            ): DeleteIndexRequest.SerializeToString,
            (
                "google.firestore.admin.v1beta1.FirestoreAdmin",
                "GetIndex",
            ): GetIndexRequest.SerializeToString,
            (
                "google.firestore.admin.v1beta1.FirestoreAdmin",
                "ListIndexes",
            ): ListIndexesRequest.SerializeToString,
        }
        response_deserializers = {
            (
                "google.firestore.admin.v1beta1.FirestoreAdmin",
                "CreateIndex",
            ): google_dot_longrunning_dot_operations__pb2.Operation.FromString,
            (
                "google.firestore.admin.v1beta1.FirestoreAdmin",
                "DeleteIndex",
            ): google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            (
                "google.firestore.admin.v1beta1.FirestoreAdmin",
                "GetIndex",
            ): google_dot_cloud_dot_firestore__v1beta1_dot_proto_dot_admin_dot_index__pb2.Index.FromString,
            (
                "google.firestore.admin.v1beta1.FirestoreAdmin",
                "ListIndexes",
            ): ListIndexesResponse.FromString,
        }
        cardinalities = {
            "CreateIndex": cardinality.Cardinality.UNARY_UNARY,
            "DeleteIndex": cardinality.Cardinality.UNARY_UNARY,
            "GetIndex": cardinality.Cardinality.UNARY_UNARY,
            "ListIndexes": cardinality.Cardinality.UNARY_UNARY,
        }
        stub_options = beta_implementations.stub_options(
            host=host,
            metadata_transformer=metadata_transformer,
            request_serializers=request_serializers,
            response_deserializers=response_deserializers,
            thread_pool=pool,
            thread_pool_size=pool_size,
        )
        return beta_implementations.dynamic_stub(
            channel,
            "google.firestore.admin.v1beta1.FirestoreAdmin",
            cardinalities,
            options=stub_options,
        )


except ImportError:
    pass
# @@protoc_insertion_point(module_scope)
