feat: add archive client foundation
This commit is contained in:
@@ -0,0 +1,215 @@
|
||||
# archive-control-proto commit: 4ec852014dad74606d4078b3ae1aa208c814b033
|
||||
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 Command(_message.Message):
|
||||
__slots__ = ("command_id", "created_at", "assign_job", "execute_step", "cancel_job", "ensure_route", "inventory_query", "request_job_snapshot")
|
||||
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]
|
||||
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
|
||||
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]] = ...) -> 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")
|
||||
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]
|
||||
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
|
||||
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]] = ...) -> 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: ...
|
||||
Reference in New Issue
Block a user