# 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
            processed.
        index_id (str):
            The index resource ID that this operation is
            acting on.
    """

    common = proto.Field(proto.MESSAGE, number=1, message="CommonMetadata",)
    progress_entities = proto.Field(proto.MESSAGE, number=2, message="Progress",)
    index_id = proto.Field(proto.STRING, number=3,)


class DatastoreFirestoreMigrationMetadata(proto.Message):
    r"""Metadata for Datastore to Firestore migration operations.

    The DatastoreFirestoreMigration operation is not started by the
    end-user via an explicit "creation" method. This is an intentional
    deviation from the LRO design pattern.

    This singleton resource can be accessed at:
    ``projects/{project_id}/datastore-firestore-migration``

    Attributes:
        migration_state (google.cloud.datastore_admin_v1.types.MigrationState):
            The current state of migration from Cloud
            Datastore to Cloud Firestore in Datastore mode.
        migration_step (google.cloud.datastore_admin_v1.types.MigrationStep):
            The current step of migration from Cloud
            Datastore to Cloud Firestore in Datastore mode.
    """


# 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

            processed.
        index_id (str):
            The index resource ID that this operation is
            acting on.
    """

    common = proto.Field(proto.MESSAGE, number=1, message="CommonMetadata",)
    progress_entities = proto.Field(proto.MESSAGE, number=2, message="Progress",)
    index_id = proto.Field(proto.STRING, number=3,)


class DatastoreFirestoreMigrationMetadata(proto.Message):
    r"""Metadata for Datastore to Firestore migration operations.

    The DatastoreFirestoreMigration operation is not started by the
    end-user via an explicit "creation" method. This is an intentional
    deviation from the LRO design pattern.

    This singleton resource can be accessed at:
    ``projects/{project_id}/datastore-firestore-migration``

    Attributes:
        migration_state (google.cloud.datastore_admin_v1.types.MigrationState):
            The current state of migration from Cloud
            Datastore to Cloud Firestore in Datastore mode.
        migration_step (google.cloud.datastore_admin_v1.types.MigrationStep):
            The current step of migration from Cloud
            Datastore to Cloud Firestore in Datastore mode.
    """


    migration_state = proto.Field(proto.ENUM, number=1, enum=migration.MigrationState,)