# Path: google/cloud/datastore_admin_v1/types/index.py
# class Index(proto.Message):
#     class AncestorMode(proto.Enum):
#     class Direction(proto.Enum):
#     class State(proto.Enum):
#     class IndexedProperty(proto.Message):
#         ANCESTOR_MODE_UNSPECIFIED = 0
#         NONE = 1
#         ALL_ANCESTORS = 2
#         DIRECTION_UNSPECIFIED = 0
#         ASCENDING = 1
#         DESCENDING = 2
#         STATE_UNSPECIFIED = 0
#         CREATING = 1
#         READY = 2
#         DELETING = 3
#         ERROR = 4
# 
# Path: google/cloud/datastore_admin_v1/types/migration.py
# class MigrationState(proto.Enum):
# class MigrationStep(proto.Enum):
# class MigrationStateEvent(proto.Message):
# class MigrationProgressEvent(proto.Message):
#     class ConcurrencyMode(proto.Enum):
#     class PrepareStepDetails(proto.Message):
#     class RedirectWritesStepDetails(proto.Message):
#     MIGRATION_STATE_UNSPECIFIED = 0
#     RUNNING = 1
#     PAUSED = 2
#     COMPLETE = 3
#     MIGRATION_STEP_UNSPECIFIED = 0
#     PREPARE = 6
#     START = 1
#     APPLY_WRITES_SYNCHRONOUSLY = 7
#     COPY_AND_VERIFY = 2
#     REDIRECT_EVENTUALLY_CONSISTENT_READS = 3
#     REDIRECT_STRONGLY_CONSISTENT_READS = 4
#     REDIRECT_WRITES = 5
#         CONCURRENCY_MODE_UNSPECIFIED = 0
#         PESSIMISTIC = 1
#         OPTIMISTIC = 2


import proto  # type: ignore
from google.cloud.datastore_admin_v1.types import index as gda_index
from google.cloud.datastore_admin_v1.types import migration
from google.protobuf import timestamp_pb2  # type: ignore
        namespace_ids (Sequence[str]):
            An empty list represents all namespaces. This
            is the preferred usage for projects that don't
            use namespaces.
            An empty string element represents the default
            namespace. This should be used if the project
            has data in non-default namespaces, but doesn't
            want to include them.
            Each namespace in this list must be unique.
    """

    kinds = proto.RepeatedField(proto.STRING, number=1,)
    namespace_ids = proto.RepeatedField(proto.STRING, number=2,)


class CreateIndexRequest(proto.Message):
    r"""The request for
    [google.datastore.admin.v1.DatastoreAdmin.CreateIndex][google.datastore.admin.v1.DatastoreAdmin.CreateIndex].

    Attributes:
        project_id (str):
            Project ID against which to make the request.
        index (google.cloud.datastore_admin_v1.types.Index):
            The index to create. The name and state
            fields are output only and will be ignored.
            Single property indexes cannot be created or
            deleted.
    """

    project_id = proto.Field(proto.STRING, number=1,)

# Path: google/cloud/datastore_admin_v1/types/index.py
# class Index(proto.Message):
#     class AncestorMode(proto.Enum):
#     class Direction(proto.Enum):
#     class State(proto.Enum):
#     class IndexedProperty(proto.Message):
#         ANCESTOR_MODE_UNSPECIFIED = 0
#         NONE = 1
#         ALL_ANCESTORS = 2
#         DIRECTION_UNSPECIFIED = 0
#         ASCENDING = 1
#         DESCENDING = 2
#         STATE_UNSPECIFIED = 0
#         CREATING = 1
#         READY = 2
#         DELETING = 3
#         ERROR = 4
# 
# Path: google/cloud/datastore_admin_v1/types/migration.py
# class MigrationState(proto.Enum):
# class MigrationStep(proto.Enum):
# class MigrationStateEvent(proto.Message):
# class MigrationProgressEvent(proto.Message):
#     class ConcurrencyMode(proto.Enum):
#     class PrepareStepDetails(proto.Message):
#     class RedirectWritesStepDetails(proto.Message):
#     MIGRATION_STATE_UNSPECIFIED = 0
#     RUNNING = 1
#     PAUSED = 2
#     COMPLETE = 3
#     MIGRATION_STEP_UNSPECIFIED = 0
#     PREPARE = 6
#     START = 1
#     APPLY_WRITES_SYNCHRONOUSLY = 7
#     COPY_AND_VERIFY = 2
#     REDIRECT_EVENTUALLY_CONSISTENT_READS = 3
#     REDIRECT_STRONGLY_CONSISTENT_READS = 4
#     REDIRECT_WRITES = 5
#         CONCURRENCY_MODE_UNSPECIFIED = 0
#         PESSIMISTIC = 1
#         OPTIMISTIC = 2


# Path: google/cloud/datastore_admin_v1/types/datastore_admin.py
import proto  # type: ignore
from google.cloud.datastore_admin_v1.types import index as gda_index
from google.cloud.datastore_admin_v1.types import migration
from google.protobuf import timestamp_pb2  # type: ignore

        namespace_ids (Sequence[str]):
            An empty list represents all namespaces. This
            is the preferred usage for projects that don't
            use namespaces.
            An empty string element represents the default
            namespace. This should be used if the project
            has data in non-default namespaces, but doesn't
            want to include them.
            Each namespace in this list must be unique.
    """

    kinds = proto.RepeatedField(proto.STRING, number=1,)
    namespace_ids = proto.RepeatedField(proto.STRING, number=2,)


class CreateIndexRequest(proto.Message):
    r"""The request for
    [google.datastore.admin.v1.DatastoreAdmin.CreateIndex][google.datastore.admin.v1.DatastoreAdmin.CreateIndex].

    Attributes:
        project_id (str):
            Project ID against which to make the request.
        index (google.cloud.datastore_admin_v1.types.Index):
            The index to create. The name and state
            fields are output only and will be ignored.
            Single property indexes cannot be created or
            deleted.
    """

    project_id = proto.Field(proto.STRING, number=1,)

    index = proto.Field(proto.MESSAGE, number=3, message=gda_index.Index,)