# archive-control-proto commit: 03b6751d420e8e4e4cc9aeef4f76b13e28a7265f import datetime from archive_control.v1 import common_pb2 as _common_pb2 from archive_control.v1 import inventory_pb2 as _inventory_pb2 from archive_control.v1 import job_pb2 as _job_pb2 from archive_control.v1 import resource_pb2 as _resource_pb2 from archive_control.v1 import route_pb2 as _route_pb2 from google.protobuf import timestamp_pb2 as _timestamp_pb2 from google.protobuf.internal import containers as _containers from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from collections.abc import Iterable as _Iterable, Mapping as _Mapping from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union DESCRIPTOR: _descriptor.FileDescriptor class CommandAckStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () COMMAND_ACK_STATUS_UNSPECIFIED: _ClassVar[CommandAckStatus] COMMAND_ACK_STATUS_ACCEPTED: _ClassVar[CommandAckStatus] COMMAND_ACK_STATUS_DUPLICATE: _ClassVar[CommandAckStatus] COMMAND_ACK_STATUS_REJECTED: _ClassVar[CommandAckStatus] class JobEventType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () JOB_EVENT_TYPE_UNSPECIFIED: _ClassVar[JobEventType] JOB_EVENT_TYPE_ASSIGNED: _ClassVar[JobEventType] JOB_EVENT_TYPE_STEP_STARTED: _ClassVar[JobEventType] JOB_EVENT_TYPE_PROGRESS: _ClassVar[JobEventType] JOB_EVENT_TYPE_WAITING: _ClassVar[JobEventType] JOB_EVENT_TYPE_STALLED: _ClassVar[JobEventType] JOB_EVENT_TYPE_STEP_SUCCEEDED: _ClassVar[JobEventType] JOB_EVENT_TYPE_COMMITTED: _ClassVar[JobEventType] JOB_EVENT_TYPE_CANCELLING: _ClassVar[JobEventType] JOB_EVENT_TYPE_ROLLBACK_STARTED: _ClassVar[JobEventType] JOB_EVENT_TYPE_ROLLBACK_SUCCEEDED: _ClassVar[JobEventType] JOB_EVENT_TYPE_CLEANUP_REQUIRED: _ClassVar[JobEventType] JOB_EVENT_TYPE_SUCCEEDED: _ClassVar[JobEventType] JOB_EVENT_TYPE_FAILED: _ClassVar[JobEventType] JOB_EVENT_TYPE_CANCELLED: _ClassVar[JobEventType] COMMAND_ACK_STATUS_UNSPECIFIED: CommandAckStatus COMMAND_ACK_STATUS_ACCEPTED: CommandAckStatus COMMAND_ACK_STATUS_DUPLICATE: CommandAckStatus COMMAND_ACK_STATUS_REJECTED: CommandAckStatus JOB_EVENT_TYPE_UNSPECIFIED: JobEventType JOB_EVENT_TYPE_ASSIGNED: JobEventType JOB_EVENT_TYPE_STEP_STARTED: JobEventType JOB_EVENT_TYPE_PROGRESS: JobEventType JOB_EVENT_TYPE_WAITING: JobEventType JOB_EVENT_TYPE_STALLED: JobEventType JOB_EVENT_TYPE_STEP_SUCCEEDED: JobEventType JOB_EVENT_TYPE_COMMITTED: JobEventType JOB_EVENT_TYPE_CANCELLING: JobEventType JOB_EVENT_TYPE_ROLLBACK_STARTED: JobEventType JOB_EVENT_TYPE_ROLLBACK_SUCCEEDED: JobEventType JOB_EVENT_TYPE_CLEANUP_REQUIRED: JobEventType JOB_EVENT_TYPE_SUCCEEDED: JobEventType JOB_EVENT_TYPE_FAILED: JobEventType JOB_EVENT_TYPE_CANCELLED: JobEventType class AssignJobCommand(_message.Message): __slots__ = ("job", "expected_job_revision", "expected_last_event_sequence") JOB_FIELD_NUMBER: _ClassVar[int] EXPECTED_JOB_REVISION_FIELD_NUMBER: _ClassVar[int] EXPECTED_LAST_EVENT_SEQUENCE_FIELD_NUMBER: _ClassVar[int] job: _job_pb2.JobDefinition expected_job_revision: int expected_last_event_sequence: int def __init__(self, job: _Optional[_Union[_job_pb2.JobDefinition, _Mapping]] = ..., expected_job_revision: _Optional[int] = ..., expected_last_event_sequence: _Optional[int] = ...) -> None: ... class ExecuteStepCommand(_message.Message): __slots__ = ("job_id", "expected_job_revision", "step", "attempt", "expected_last_event_sequence") JOB_ID_FIELD_NUMBER: _ClassVar[int] EXPECTED_JOB_REVISION_FIELD_NUMBER: _ClassVar[int] STEP_FIELD_NUMBER: _ClassVar[int] ATTEMPT_FIELD_NUMBER: _ClassVar[int] EXPECTED_LAST_EVENT_SEQUENCE_FIELD_NUMBER: _ClassVar[int] job_id: str expected_job_revision: int step: _job_pb2.JobStepKind attempt: int expected_last_event_sequence: int def __init__(self, job_id: _Optional[str] = ..., expected_job_revision: _Optional[int] = ..., step: _Optional[_Union[_job_pb2.JobStepKind, str]] = ..., attempt: _Optional[int] = ..., expected_last_event_sequence: _Optional[int] = ...) -> None: ... class CancelJobCommand(_message.Message): __slots__ = ("job_id", "expected_job_revision", "reason", "expected_last_event_sequence") JOB_ID_FIELD_NUMBER: _ClassVar[int] EXPECTED_JOB_REVISION_FIELD_NUMBER: _ClassVar[int] REASON_FIELD_NUMBER: _ClassVar[int] EXPECTED_LAST_EVENT_SEQUENCE_FIELD_NUMBER: _ClassVar[int] job_id: str expected_job_revision: int reason: str expected_last_event_sequence: int def __init__(self, job_id: _Optional[str] = ..., expected_job_revision: _Optional[int] = ..., reason: _Optional[str] = ..., expected_last_event_sequence: _Optional[int] = ...) -> None: ... class EnsureRouteCommand(_message.Message): __slots__ = ("route",) ROUTE_FIELD_NUMBER: _ClassVar[int] route: _route_pb2.EnsureRouteSpec def __init__(self, route: _Optional[_Union[_route_pb2.EnsureRouteSpec, _Mapping]] = ...) -> None: ... class RequestJobSnapshotCommand(_message.Message): __slots__ = ("job_ids",) JOB_IDS_FIELD_NUMBER: _ClassVar[int] job_ids: _containers.RepeatedScalarFieldContainer[str] def __init__(self, job_ids: _Optional[_Iterable[str]] = ...) -> None: ... class ReconcileJobCommand(_message.Message): __slots__ = ("authoritative_job", "authoritative_last_event_sequence", "superseded_command_ids", "reason") AUTHORITATIVE_JOB_FIELD_NUMBER: _ClassVar[int] AUTHORITATIVE_LAST_EVENT_SEQUENCE_FIELD_NUMBER: _ClassVar[int] SUPERSEDED_COMMAND_IDS_FIELD_NUMBER: _ClassVar[int] REASON_FIELD_NUMBER: _ClassVar[int] authoritative_job: _job_pb2.JobRecord authoritative_last_event_sequence: int superseded_command_ids: _containers.RepeatedScalarFieldContainer[str] reason: str def __init__(self, authoritative_job: _Optional[_Union[_job_pb2.JobRecord, _Mapping]] = ..., authoritative_last_event_sequence: _Optional[int] = ..., superseded_command_ids: _Optional[_Iterable[str]] = ..., reason: _Optional[str] = ...) -> None: ... class Command(_message.Message): __slots__ = ("command_id", "created_at", "assign_job", "execute_step", "cancel_job", "ensure_route", "inventory_query", "request_job_snapshot", "reconcile_job") COMMAND_ID_FIELD_NUMBER: _ClassVar[int] CREATED_AT_FIELD_NUMBER: _ClassVar[int] ASSIGN_JOB_FIELD_NUMBER: _ClassVar[int] EXECUTE_STEP_FIELD_NUMBER: _ClassVar[int] CANCEL_JOB_FIELD_NUMBER: _ClassVar[int] ENSURE_ROUTE_FIELD_NUMBER: _ClassVar[int] INVENTORY_QUERY_FIELD_NUMBER: _ClassVar[int] REQUEST_JOB_SNAPSHOT_FIELD_NUMBER: _ClassVar[int] RECONCILE_JOB_FIELD_NUMBER: _ClassVar[int] command_id: str created_at: _timestamp_pb2.Timestamp assign_job: AssignJobCommand execute_step: ExecuteStepCommand cancel_job: CancelJobCommand ensure_route: EnsureRouteCommand inventory_query: _inventory_pb2.InventoryQuery request_job_snapshot: RequestJobSnapshotCommand reconcile_job: ReconcileJobCommand def __init__(self, command_id: _Optional[str] = ..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., assign_job: _Optional[_Union[AssignJobCommand, _Mapping]] = ..., execute_step: _Optional[_Union[ExecuteStepCommand, _Mapping]] = ..., cancel_job: _Optional[_Union[CancelJobCommand, _Mapping]] = ..., ensure_route: _Optional[_Union[EnsureRouteCommand, _Mapping]] = ..., inventory_query: _Optional[_Union[_inventory_pb2.InventoryQuery, _Mapping]] = ..., request_job_snapshot: _Optional[_Union[RequestJobSnapshotCommand, _Mapping]] = ..., reconcile_job: _Optional[_Union[ReconcileJobCommand, _Mapping]] = ...) -> None: ... class CommandAck(_message.Message): __slots__ = ("command_id", "status", "error") COMMAND_ID_FIELD_NUMBER: _ClassVar[int] STATUS_FIELD_NUMBER: _ClassVar[int] ERROR_FIELD_NUMBER: _ClassVar[int] command_id: str status: CommandAckStatus error: _common_pb2.Error def __init__(self, command_id: _Optional[str] = ..., status: _Optional[_Union[CommandAckStatus, str]] = ..., error: _Optional[_Union[_common_pb2.Error, _Mapping]] = ...) -> None: ... class JobEvent(_message.Message): __slots__ = ("event_id", "job_id", "sequence", "job_revision", "type", "state", "committed", "progress", "error", "observed_resource", "observed_placement", "occurred_at", "command_id") EVENT_ID_FIELD_NUMBER: _ClassVar[int] JOB_ID_FIELD_NUMBER: _ClassVar[int] SEQUENCE_FIELD_NUMBER: _ClassVar[int] JOB_REVISION_FIELD_NUMBER: _ClassVar[int] TYPE_FIELD_NUMBER: _ClassVar[int] STATE_FIELD_NUMBER: _ClassVar[int] COMMITTED_FIELD_NUMBER: _ClassVar[int] PROGRESS_FIELD_NUMBER: _ClassVar[int] ERROR_FIELD_NUMBER: _ClassVar[int] OBSERVED_RESOURCE_FIELD_NUMBER: _ClassVar[int] OBSERVED_PLACEMENT_FIELD_NUMBER: _ClassVar[int] OCCURRED_AT_FIELD_NUMBER: _ClassVar[int] COMMAND_ID_FIELD_NUMBER: _ClassVar[int] event_id: str job_id: str sequence: int job_revision: int type: JobEventType state: _job_pb2.JobState committed: bool progress: _job_pb2.JobProgress error: _common_pb2.Error observed_resource: _resource_pb2.ResourceStateFingerprint observed_placement: _resource_pb2.Placement occurred_at: _timestamp_pb2.Timestamp command_id: str def __init__(self, event_id: _Optional[str] = ..., job_id: _Optional[str] = ..., sequence: _Optional[int] = ..., job_revision: _Optional[int] = ..., type: _Optional[_Union[JobEventType, str]] = ..., state: _Optional[_Union[_job_pb2.JobState, str]] = ..., committed: _Optional[bool] = ..., progress: _Optional[_Union[_job_pb2.JobProgress, _Mapping]] = ..., error: _Optional[_Union[_common_pb2.Error, _Mapping]] = ..., observed_resource: _Optional[_Union[_resource_pb2.ResourceStateFingerprint, _Mapping]] = ..., observed_placement: _Optional[_Union[_resource_pb2.Placement, _Mapping]] = ..., occurred_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., command_id: _Optional[str] = ...) -> None: ... class JobSnapshot(_message.Message): __slots__ = ("job", "last_event_sequence", "in_flight_command_ids") JOB_FIELD_NUMBER: _ClassVar[int] LAST_EVENT_SEQUENCE_FIELD_NUMBER: _ClassVar[int] IN_FLIGHT_COMMAND_IDS_FIELD_NUMBER: _ClassVar[int] job: _job_pb2.JobRecord last_event_sequence: int in_flight_command_ids: _containers.RepeatedScalarFieldContainer[str] def __init__(self, job: _Optional[_Union[_job_pb2.JobRecord, _Mapping]] = ..., last_event_sequence: _Optional[int] = ..., in_flight_command_ids: _Optional[_Iterable[str]] = ...) -> None: ... class ClientStateSnapshot(_message.Message): __slots__ = ("snapshot_id", "active_jobs", "routes", "services", "observed_at") SNAPSHOT_ID_FIELD_NUMBER: _ClassVar[int] ACTIVE_JOBS_FIELD_NUMBER: _ClassVar[int] ROUTES_FIELD_NUMBER: _ClassVar[int] SERVICES_FIELD_NUMBER: _ClassVar[int] OBSERVED_AT_FIELD_NUMBER: _ClassVar[int] snapshot_id: str active_jobs: _containers.RepeatedCompositeFieldContainer[JobSnapshot] routes: _containers.RepeatedCompositeFieldContainer[_route_pb2.LocalRoute] services: _containers.RepeatedCompositeFieldContainer[_common_pb2.ServiceHealth] observed_at: _timestamp_pb2.Timestamp def __init__(self, snapshot_id: _Optional[str] = ..., active_jobs: _Optional[_Iterable[_Union[JobSnapshot, _Mapping]]] = ..., routes: _Optional[_Iterable[_Union[_route_pb2.LocalRoute, _Mapping]]] = ..., services: _Optional[_Iterable[_Union[_common_pb2.ServiceHealth, _Mapping]]] = ..., observed_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class RouteUpdate(_message.Message): __slots__ = ("command_id", "route", "verification", "error", "update_id", "sequence") COMMAND_ID_FIELD_NUMBER: _ClassVar[int] ROUTE_FIELD_NUMBER: _ClassVar[int] VERIFICATION_FIELD_NUMBER: _ClassVar[int] ERROR_FIELD_NUMBER: _ClassVar[int] UPDATE_ID_FIELD_NUMBER: _ClassVar[int] SEQUENCE_FIELD_NUMBER: _ClassVar[int] command_id: str route: _route_pb2.LocalRoute verification: _route_pb2.RouteVerification error: _common_pb2.Error update_id: str sequence: int def __init__(self, command_id: _Optional[str] = ..., route: _Optional[_Union[_route_pb2.LocalRoute, _Mapping]] = ..., verification: _Optional[_Union[_route_pb2.RouteVerification, _Mapping]] = ..., error: _Optional[_Union[_common_pb2.Error, _Mapping]] = ..., update_id: _Optional[str] = ..., sequence: _Optional[int] = ...) -> None: ... class ProtocolError(_message.Message): __slots__ = ("error", "offending_message_id") ERROR_FIELD_NUMBER: _ClassVar[int] OFFENDING_MESSAGE_ID_FIELD_NUMBER: _ClassVar[int] error: _common_pb2.Error offending_message_id: str def __init__(self, error: _Optional[_Union[_common_pb2.Error, _Mapping]] = ..., offending_message_id: _Optional[str] = ...) -> None: ...