"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import google.protobuf.timestamp_pb2
import qwak.user_application.common.v0.resources_pb2
import qwak.user_application.v0.user_application_pb2
import sys
import typing

if sys.version_info >= (3, 10):
    import typing as typing_extensions
else:
    import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class _Type:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _TypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_Type.ValueType], builtins.type):  # noqa: F821
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    CPU: _Type.ValueType  # 0
    GPU: _Type.ValueType  # 1

class Type(_Type, metaclass=_TypeEnumTypeWrapper): ...

CPU: Type.ValueType  # 0
GPU: Type.ValueType  # 1
global___Type = Type

class _WorkspaceStatus:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _WorkspaceStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_WorkspaceStatus.ValueType], builtins.type):  # noqa: F821
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    WORKSPACE_STATUS_UNKNOWN: _WorkspaceStatus.ValueType  # 0
    WORKSPACE_STATUS_INITIALIZING: _WorkspaceStatus.ValueType  # 1
    WORKSPACE_STATUS_STARTED: _WorkspaceStatus.ValueType  # 2
    WORKSPACE_STATUS_STOPPED: _WorkspaceStatus.ValueType  # 3
    WORKSPACE_STATUS_ERROR: _WorkspaceStatus.ValueType  # 4

class WorkspaceStatus(_WorkspaceStatus, metaclass=_WorkspaceStatusEnumTypeWrapper): ...

WORKSPACE_STATUS_UNKNOWN: WorkspaceStatus.ValueType  # 0
WORKSPACE_STATUS_INITIALIZING: WorkspaceStatus.ValueType  # 1
WORKSPACE_STATUS_STARTED: WorkspaceStatus.ValueType  # 2
WORKSPACE_STATUS_STOPPED: WorkspaceStatus.ValueType  # 3
WORKSPACE_STATUS_ERROR: WorkspaceStatus.ValueType  # 4
global___WorkspaceStatus = WorkspaceStatus

class _DeploymentState:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _DeploymentStateEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_DeploymentState.ValueType], builtins.type):  # noqa: F821
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    DEPLOYMENT_STATE_UNKNOWN: _DeploymentState.ValueType  # 0
    DEPLOYMENT_STATE_INITIATING_WORKSPACE: _DeploymentState.ValueType  # 1
    DEPLOYMENT_STATE_DEPLOYING_REQUEST_WORKSPACE: _DeploymentState.ValueType  # 2
    DEPLOYMENT_STATE_FAILED_EVENT_COMMAND_WORKSPACE: _DeploymentState.ValueType  # 3
    DEPLOYMENT_STATE_DELETION_IN_PROGRESS: _DeploymentState.ValueType  # 4
    DEPLOYMENT_STATE_RESUME_EVENT_COMMAND_WORKSPACE: _DeploymentState.ValueType  # 5
    DEPLOYMENT_STATE_STOP_EVENT_COMMAND_WORKSPACE: _DeploymentState.ValueType  # 6
    DEPLOYMENT_STATE_STOPPING_DEPLOYMENT: _DeploymentState.ValueType  # 7
    DEPLOYMENT_STATE_STOPPED_DEPLOYMENT: _DeploymentState.ValueType  # 8
    DEPLOYMENT_STATE_INITIALIZED: _DeploymentState.ValueType  # 9
    DEPLOYMENT_STATE_READY: _DeploymentState.ValueType  # 10
    DEPLOYMENT_STATE_CONTAINERS_READY: _DeploymentState.ValueType  # 11
    DEPLOYMENT_STATE_POD_SCHEDULED: _DeploymentState.ValueType  # 12
    DEPLOYMENT_STATE_UNSCHEDULABLE: _DeploymentState.ValueType  # 13
    DEPLOYMENT_STATE_CONTAINERS_NOT_READY: _DeploymentState.ValueType  # 14
    DEPLOYMENT_STATE_AVAILABLE: _DeploymentState.ValueType  # 15
    DEPLOYMENT_STATE_PROGRESSING: _DeploymentState.ValueType  # 16
    DEPLOYMENT_STATE_REPLICA_FAILURE: _DeploymentState.ValueType  # 17
    DEPLOYMENT_STATE_MINIMUM_REPLICAS_AVAILABLE: _DeploymentState.ValueType  # 18
    DEPLOYMENT_STATE_MINIMUM_REPLICAS_UNAVAILABLE: _DeploymentState.ValueType  # 19
    DEPLOYMENT_STATE_PROGRESS_DEAD_LINE_EXCEEDED: _DeploymentState.ValueType  # 20
    DEPLOYMENT_STATE_NEW_REPLICA_SET_AVAILABLE: _DeploymentState.ValueType  # 21
    DEPLOYMENT_STATE_IDLE_TIME_STOPPED_DEPLOYMENT: _DeploymentState.ValueType  # 22

class DeploymentState(_DeploymentState, metaclass=_DeploymentStateEnumTypeWrapper): ...

DEPLOYMENT_STATE_UNKNOWN: DeploymentState.ValueType  # 0
DEPLOYMENT_STATE_INITIATING_WORKSPACE: DeploymentState.ValueType  # 1
DEPLOYMENT_STATE_DEPLOYING_REQUEST_WORKSPACE: DeploymentState.ValueType  # 2
DEPLOYMENT_STATE_FAILED_EVENT_COMMAND_WORKSPACE: DeploymentState.ValueType  # 3
DEPLOYMENT_STATE_DELETION_IN_PROGRESS: DeploymentState.ValueType  # 4
DEPLOYMENT_STATE_RESUME_EVENT_COMMAND_WORKSPACE: DeploymentState.ValueType  # 5
DEPLOYMENT_STATE_STOP_EVENT_COMMAND_WORKSPACE: DeploymentState.ValueType  # 6
DEPLOYMENT_STATE_STOPPING_DEPLOYMENT: DeploymentState.ValueType  # 7
DEPLOYMENT_STATE_STOPPED_DEPLOYMENT: DeploymentState.ValueType  # 8
DEPLOYMENT_STATE_INITIALIZED: DeploymentState.ValueType  # 9
DEPLOYMENT_STATE_READY: DeploymentState.ValueType  # 10
DEPLOYMENT_STATE_CONTAINERS_READY: DeploymentState.ValueType  # 11
DEPLOYMENT_STATE_POD_SCHEDULED: DeploymentState.ValueType  # 12
DEPLOYMENT_STATE_UNSCHEDULABLE: DeploymentState.ValueType  # 13
DEPLOYMENT_STATE_CONTAINERS_NOT_READY: DeploymentState.ValueType  # 14
DEPLOYMENT_STATE_AVAILABLE: DeploymentState.ValueType  # 15
DEPLOYMENT_STATE_PROGRESSING: DeploymentState.ValueType  # 16
DEPLOYMENT_STATE_REPLICA_FAILURE: DeploymentState.ValueType  # 17
DEPLOYMENT_STATE_MINIMUM_REPLICAS_AVAILABLE: DeploymentState.ValueType  # 18
DEPLOYMENT_STATE_MINIMUM_REPLICAS_UNAVAILABLE: DeploymentState.ValueType  # 19
DEPLOYMENT_STATE_PROGRESS_DEAD_LINE_EXCEEDED: DeploymentState.ValueType  # 20
DEPLOYMENT_STATE_NEW_REPLICA_SET_AVAILABLE: DeploymentState.ValueType  # 21
DEPLOYMENT_STATE_IDLE_TIME_STOPPED_DEPLOYMENT: DeploymentState.ValueType  # 22
global___DeploymentState = DeploymentState

class Workspace(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    WORKSPACE_NAME_FIELD_NUMBER: builtins.int
    CLIENT_POD_COMPUTE_RESOURCES_FIELD_NUMBER: builtins.int
    IMAGE_ID_FIELD_NUMBER: builtins.int
    CREATOR_USER_ID_FIELD_NUMBER: builtins.int
    LAST_UPDATE_USER_ID_FIELD_NUMBER: builtins.int
    CREATE_TIME_FIELD_NUMBER: builtins.int
    LAST_UPDATE_TIME_FIELD_NUMBER: builtins.int
    WORKSPACE_ID_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    WORKSPACE_DEPLOYMENT_STATE_FIELD_NUMBER: builtins.int
    WORKSPACE_STATUS_FIELD_NUMBER: builtins.int
    ERROR_MESSAGE_FIELD_NUMBER: builtins.int
    IMAGE_NAME_FIELD_NUMBER: builtins.int
    ENVIRONMENT_ID_FIELD_NUMBER: builtins.int
    BUILD_IDS_FIELD_NUMBER: builtins.int
    workspace_name: builtins.str
    """Workspace name"""
    @property
    def client_pod_compute_resources(self) -> qwak.user_application.common.v0.resources_pb2.ClientPodComputeResources:
        """Deployment workspace pod compute resources"""
    image_id: builtins.str
    """Image id"""
    creator_user_id: builtins.str
    """Creator user of the workspace"""
    last_update_user_id: builtins.str
    """Last update user id of the workspace"""
    @property
    def create_time(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def last_update_time(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    workspace_id: builtins.str
    """Workspace id"""
    @property
    def tags(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    workspace_deployment_state: global___DeploymentState.ValueType
    """Workspace deployment state"""
    workspace_status: global___WorkspaceStatus.ValueType
    """Workspace Status"""
    error_message: builtins.str
    """Error message"""
    image_name: builtins.str
    environment_id: builtins.str
    @property
    def build_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        workspace_name: builtins.str = ...,
        client_pod_compute_resources: qwak.user_application.common.v0.resources_pb2.ClientPodComputeResources | None = ...,
        image_id: builtins.str = ...,
        creator_user_id: builtins.str = ...,
        last_update_user_id: builtins.str = ...,
        create_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        last_update_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        workspace_id: builtins.str = ...,
        tags: collections.abc.Iterable[builtins.str] | None = ...,
        workspace_deployment_state: global___DeploymentState.ValueType = ...,
        workspace_status: global___WorkspaceStatus.ValueType = ...,
        error_message: builtins.str = ...,
        image_name: builtins.str = ...,
        environment_id: builtins.str = ...,
        build_ids: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["client_pod_compute_resources", b"client_pod_compute_resources", "create_time", b"create_time", "last_update_time", b"last_update_time"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["build_ids", b"build_ids", "client_pod_compute_resources", b"client_pod_compute_resources", "create_time", b"create_time", "creator_user_id", b"creator_user_id", "environment_id", b"environment_id", "error_message", b"error_message", "image_id", b"image_id", "image_name", b"image_name", "last_update_time", b"last_update_time", "last_update_user_id", b"last_update_user_id", "tags", b"tags", "workspace_deployment_state", b"workspace_deployment_state", "workspace_id", b"workspace_id", "workspace_name", b"workspace_name", "workspace_status", b"workspace_status"]) -> None: ...

global___Workspace = Workspace

class WorkspaceSpec(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    WORKSPACE_NAME_FIELD_NUMBER: builtins.int
    CLIENT_POD_COMPUTE_RESOURCES_FIELD_NUMBER: builtins.int
    IMAGE_ID_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    ENVIRONMENT_ID_FIELD_NUMBER: builtins.int
    BUILD_ID_FIELD_NUMBER: builtins.int
    workspace_name: builtins.str
    """Workspace name"""
    @property
    def client_pod_compute_resources(self) -> qwak.user_application.common.v0.resources_pb2.ClientPodComputeResources:
        """Deployment workspace pod compute resources"""
    image_id: builtins.str
    """Image id"""
    @property
    def tags(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
        """Tags"""
    environment_id: builtins.str
    """Environment id"""
    build_id: builtins.str
    """Build id it was created from"""
    def __init__(
        self,
        *,
        workspace_name: builtins.str = ...,
        client_pod_compute_resources: qwak.user_application.common.v0.resources_pb2.ClientPodComputeResources | None = ...,
        image_id: builtins.str = ...,
        tags: collections.abc.Iterable[builtins.str] | None = ...,
        environment_id: builtins.str = ...,
        build_id: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["client_pod_compute_resources", b"client_pod_compute_resources"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["build_id", b"build_id", "client_pod_compute_resources", b"client_pod_compute_resources", "environment_id", b"environment_id", "image_id", b"image_id", "tags", b"tags", "workspace_name", b"workspace_name"]) -> None: ...

global___WorkspaceSpec = WorkspaceSpec

class WorkspaceDeploymentSnapshot(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    WORKSPACE_NAME_FIELD_NUMBER: builtins.int
    WORKSPACE_ID_FIELD_NUMBER: builtins.int
    DEPLOYMENT_FIELD_NUMBER: builtins.int
    REPLICAS_FIELD_NUMBER: builtins.int
    PODS_FIELD_NUMBER: builtins.int
    STATEFUL_SET_FIELD_NUMBER: builtins.int
    workspace_name: builtins.str
    """Workspace name"""
    workspace_id: builtins.str
    """Workspace id"""
    @property
    def deployment(self) -> qwak.user_application.v0.user_application_pb2.Spec:
        """Deployment spec"""
    @property
    def replicas(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[qwak.user_application.v0.user_application_pb2.Spec]:
        """Replica spec"""
    @property
    def pods(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[qwak.user_application.v0.user_application_pb2.Spec]:
        """Pod spec"""
    @property
    def stateful_set(self) -> qwak.user_application.v0.user_application_pb2.Spec:
        """StatefulSet spec"""
    def __init__(
        self,
        *,
        workspace_name: builtins.str = ...,
        workspace_id: builtins.str = ...,
        deployment: qwak.user_application.v0.user_application_pb2.Spec | None = ...,
        replicas: collections.abc.Iterable[qwak.user_application.v0.user_application_pb2.Spec] | None = ...,
        pods: collections.abc.Iterable[qwak.user_application.v0.user_application_pb2.Spec] | None = ...,
        stateful_set: qwak.user_application.v0.user_application_pb2.Spec | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["deployment", b"deployment", "stateful_set", b"stateful_set"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["deployment", b"deployment", "pods", b"pods", "replicas", b"replicas", "stateful_set", b"stateful_set", "workspace_id", b"workspace_id", "workspace_name", b"workspace_name"]) -> None: ...

global___WorkspaceDeploymentSnapshot = WorkspaceDeploymentSnapshot

class UpdateWorkspaceStatusFromEdgeDetails(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ACCOUNT_ID_FIELD_NUMBER: builtins.int
    ENVIRONMENT_ID_FIELD_NUMBER: builtins.int
    WORKSPACE_DEPLOYMENT_SNAPSHOT_FIELD_NUMBER: builtins.int
    account_id: builtins.str
    environment_id: builtins.str
    @property
    def workspace_deployment_snapshot(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___WorkspaceDeploymentSnapshot]: ...
    def __init__(
        self,
        *,
        account_id: builtins.str = ...,
        environment_id: builtins.str = ...,
        workspace_deployment_snapshot: collections.abc.Iterable[global___WorkspaceDeploymentSnapshot] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["account_id", b"account_id", "environment_id", b"environment_id", "workspace_deployment_snapshot", b"workspace_deployment_snapshot"]) -> None: ...

global___UpdateWorkspaceStatusFromEdgeDetails = UpdateWorkspaceStatusFromEdgeDetails

class WorkspaceImage(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    id: builtins.str
    name: builtins.str
    type: global___Type.ValueType
    def __init__(
        self,
        *,
        id: builtins.str = ...,
        name: builtins.str = ...,
        type: global___Type.ValueType = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["id", b"id", "name", b"name", "type", b"type"]) -> None: ...

global___WorkspaceImage = WorkspaceImage

class DefaultWorkspaceDetails(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CPU_COMPUTE_RESOURCES_FIELD_NUMBER: builtins.int
    GPU_COMPUTE_RESOURCES_FIELD_NUMBER: builtins.int
    CPU_IMAGE_ID_FIELD_NUMBER: builtins.int
    GPU_IMAGE_ID_FIELD_NUMBER: builtins.int
    @property
    def cpu_compute_resources(self) -> qwak.user_application.common.v0.resources_pb2.ClientPodComputeResources: ...
    @property
    def gpu_compute_resources(self) -> qwak.user_application.common.v0.resources_pb2.ClientPodComputeResources: ...
    cpu_image_id: builtins.str
    gpu_image_id: builtins.str
    def __init__(
        self,
        *,
        cpu_compute_resources: qwak.user_application.common.v0.resources_pb2.ClientPodComputeResources | None = ...,
        gpu_compute_resources: qwak.user_application.common.v0.resources_pb2.ClientPodComputeResources | None = ...,
        cpu_image_id: builtins.str = ...,
        gpu_image_id: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["cpu_compute_resources", b"cpu_compute_resources", "gpu_compute_resources", b"gpu_compute_resources"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["cpu_compute_resources", b"cpu_compute_resources", "cpu_image_id", b"cpu_image_id", "gpu_compute_resources", b"gpu_compute_resources", "gpu_image_id", b"gpu_image_id"]) -> None: ...

global___DefaultWorkspaceDetails = DefaultWorkspaceDetails
