"""
@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.message
import google.protobuf.timestamp_pb2
import sys

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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

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

        PROJECT_FIELD_NUMBER: builtins.int
        CREDENTIALS_FIELD_NUMBER: builtins.int
        project: builtins.str
        credentials: builtins.str
        """TODO(naphat) there should be an integrations table for this and elevate to top level data model"""
        def __init__(
            self,
            *,
            project: builtins.str = ...,
            credentials: builtins.str = ...,
        ) -> None: ...
        def ClearField(self, field_name: typing_extensions.Literal["credentials", b"credentials", "project", b"project"]) -> None: ...

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

        ACCESS_KEY_FIELD_NUMBER: builtins.int
        SECRET_KEY_FIELD_NUMBER: builtins.int
        ACCOUNT_ID_FIELD_NUMBER: builtins.int
        ROLE_ARN_FIELD_NUMBER: builtins.int
        access_key: builtins.str
        secret_key: builtins.str
        account_id: builtins.str
        role_arn: builtins.str
        def __init__(
            self,
            *,
            access_key: builtins.str = ...,
            secret_key: builtins.str = ...,
            account_id: builtins.str = ...,
            role_arn: builtins.str = ...,
        ) -> None: ...
        def ClearField(self, field_name: typing_extensions.Literal["access_key", b"access_key", "account_id", b"account_id", "role_arn", b"role_arn", "secret_key", b"secret_key"]) -> None: ...

    NAME_FIELD_NUMBER: builtins.int
    GCP_OPTIONS_FIELD_NUMBER: builtins.int
    EKS_OPTIONS_FIELD_NUMBER: builtins.int
    INSTANCE_TYPE_FIELD_NUMBER: builtins.int
    NODEPOOL_ZONES_FIELD_NUMBER: builtins.int
    NODE_COUNT_PER_ZONE_FIELD_NUMBER: builtins.int
    REGION_FIELD_NUMBER: builtins.int
    name: builtins.str
    @property
    def gcp_options(self) -> global___ConfigureK8sClusterReq.GcpOptions: ...
    @property
    def eks_options(self) -> global___ConfigureK8sClusterReq.EKSOptions: ...
    instance_type: builtins.str
    @property
    def nodepool_zones(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    node_count_per_zone: builtins.int
    region: builtins.str
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        gcp_options: global___ConfigureK8sClusterReq.GcpOptions | None = ...,
        eks_options: global___ConfigureK8sClusterReq.EKSOptions | None = ...,
        instance_type: builtins.str = ...,
        nodepool_zones: collections.abc.Iterable[builtins.str] | None = ...,
        node_count_per_zone: builtins.int = ...,
        region: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["cloud_provider_oneof", b"cloud_provider_oneof", "eks_options", b"eks_options", "gcp_options", b"gcp_options"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["cloud_provider_oneof", b"cloud_provider_oneof", "eks_options", b"eks_options", "gcp_options", b"gcp_options", "instance_type", b"instance_type", "name", b"name", "node_count_per_zone", b"node_count_per_zone", "nodepool_zones", b"nodepool_zones", "region", b"region"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["cloud_provider_oneof", b"cloud_provider_oneof"]) -> typing_extensions.Literal["gcp_options", "eks_options"] | None: ...

global___ConfigureK8sClusterReq = ConfigureK8sClusterReq

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

    ID_FIELD_NUMBER: builtins.int
    RUN_ID_FIELD_NUMBER: builtins.int
    VERSION_FIELD_NUMBER: builtins.int
    ARCHIVE_URL_FIELD_NUMBER: builtins.int
    id: builtins.str
    @property
    def run_id(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    version: builtins.str
    archive_url: builtins.str
    """TODO(naphat) delete archive_url once we automate pulumi runs"""
    def __init__(
        self,
        *,
        id: builtins.str = ...,
        run_id: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        version: builtins.str = ...,
        archive_url: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["run_id", b"run_id"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["archive_url", b"archive_url", "id", b"id", "run_id", b"run_id", "version", b"version"]) -> None: ...

global___ConfigureK8sClusterResp = ConfigureK8sClusterResp

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

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

        VERSION_FIELD_NUMBER: builtins.int
        STATE_FIELD_NUMBER: builtins.int
        TERMINAL_FIELD_NUMBER: builtins.int
        CREATION_TIMESTAMP_FIELD_NUMBER: builtins.int
        LAST_UPDATE_TIMESTAMP_FIELD_NUMBER: builtins.int
        MESSAGE_FIELD_NUMBER: builtins.int
        version: builtins.str
        state: builtins.str
        terminal: builtins.bool
        @property
        def creation_timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
        @property
        def last_update_timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
        message: builtins.str
        def __init__(
            self,
            *,
            version: builtins.str = ...,
            state: builtins.str = ...,
            terminal: builtins.bool = ...,
            creation_timestamp: google.protobuf.timestamp_pb2.Timestamp | None = ...,
            last_update_timestamp: google.protobuf.timestamp_pb2.Timestamp | None = ...,
            message: builtins.str = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["creation_timestamp", b"creation_timestamp", "last_update_timestamp", b"last_update_timestamp"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["creation_timestamp", b"creation_timestamp", "last_update_timestamp", b"last_update_timestamp", "message", b"message", "state", b"state", "terminal", b"terminal", "version", b"version"]) -> None: ...

    ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    LATEST_RUN_FIELD_NUMBER: builtins.int
    id: builtins.str
    name: builtins.str
    type: builtins.str
    @property
    def latest_run(self) -> global___ManagedResource.Run: ...
    def __init__(
        self,
        *,
        id: builtins.str = ...,
        name: builtins.str = ...,
        type: builtins.str = ...,
        latest_run: global___ManagedResource.Run | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["latest_run", b"latest_run"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["id", b"id", "latest_run", b"latest_run", "name", b"name", "type", b"type"]) -> None: ...

global___ManagedResource = ManagedResource

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

    MANAGED_RESOURCE_FIELD_NUMBER: builtins.int
    managed_resource: builtins.str
    def __init__(
        self,
        *,
        managed_resource: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["managed_resource", b"managed_resource"]) -> None: ...

global___GetManagedResourceReq = GetManagedResourceReq

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

    MANAGED_RESOURCE_FIELD_NUMBER: builtins.int
    @property
    def managed_resource(self) -> global___ManagedResource: ...
    def __init__(
        self,
        *,
        managed_resource: global___ManagedResource | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["managed_resource", b"managed_resource"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["managed_resource", b"managed_resource"]) -> None: ...

global___GetManagedResourceResp = GetManagedResourceResp

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

    def __init__(
        self,
    ) -> None: ...

global___ListManagedResourcesReq = ListManagedResourcesReq

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

    MANAGED_RESOURCES_FIELD_NUMBER: builtins.int
    @property
    def managed_resources(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ManagedResource]: ...
    def __init__(
        self,
        *,
        managed_resources: collections.abc.Iterable[global___ManagedResource] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["managed_resources", b"managed_resources"]) -> None: ...

global___ListManagedResourcesResp = ListManagedResourcesResp

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

    MANAGED_RESOURCE_FIELD_NUMBER: builtins.int
    VERSION_FIELD_NUMBER: builtins.int
    managed_resource: builtins.str
    version: builtins.str
    """default to latest version"""
    def __init__(
        self,
        *,
        managed_resource: builtins.str = ...,
        version: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["managed_resource", b"managed_resource", "version", b"version"]) -> None: ...

global___GetArchiveReq = GetArchiveReq

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

    BYTES_FIELD_NUMBER: builtins.int
    bytes: builtins.bytes
    def __init__(
        self,
        *,
        bytes: builtins.bytes = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["bytes", b"bytes"]) -> None: ...

global___GetArchiveResp = GetArchiveResp

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

    MANAGED_RESOURCE_FIELD_NUMBER: builtins.int
    RUN_ID_FIELD_NUMBER: builtins.int
    SUCCEEDED_FIELD_NUMBER: builtins.int
    MSG_FIELD_NUMBER: builtins.int
    managed_resource: builtins.str
    @property
    def run_id(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    succeeded: builtins.bool
    msg: builtins.str
    def __init__(
        self,
        *,
        managed_resource: builtins.str = ...,
        run_id: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        succeeded: builtins.bool = ...,
        msg: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["run_id", b"run_id"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["managed_resource", b"managed_resource", "msg", b"msg", "run_id", b"run_id", "succeeded", b"succeeded"]) -> None: ...

global___MarkRunDoneReq = MarkRunDoneReq

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

    def __init__(
        self,
    ) -> None: ...

global___MarkRunDoneResp = MarkRunDoneResp

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

    MANAGED_RESOURCE_FIELD_NUMBER: builtins.int
    managed_resource: builtins.str
    def __init__(
        self,
        *,
        managed_resource: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["managed_resource", b"managed_resource"]) -> None: ...

global___DeleteManagedResourceReq = DeleteManagedResourceReq

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

    ID_FIELD_NUMBER: builtins.int
    RUN_ID_FIELD_NUMBER: builtins.int
    id: builtins.str
    """resource ID and run ID, which can be used in conjunction with GetManagedResource to track
    status of deletion.
    """
    @property
    def run_id(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    def __init__(
        self,
        *,
        id: builtins.str = ...,
        run_id: google.protobuf.timestamp_pb2.Timestamp | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["run_id", b"run_id"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["id", b"id", "run_id", b"run_id"]) -> None: ...

global___DeleteManagedResourceResp = DeleteManagedResourceResp
