"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.protobuf.descriptor
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import google.protobuf.timestamp_pb2
import qwak.administration.runtime_configuration.v0.network_config_pb2
import qwak.administration.runtime_configuration.v0.runtime_config_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 _ClusterInstallationType:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _ClusterInstallationTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ClusterInstallationType.ValueType], builtins.type):  # noqa: F821
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    CLUSTER_INSTALLATION_TYPE_INVALID: _ClusterInstallationType.ValueType  # 0
    SELF_HOSTED_CLUSTER_INSTALLATION_TYPE: _ClusterInstallationType.ValueType  # 1
    SELF_SERVICE_CLUSTER_INSTALLATION_TYPE: _ClusterInstallationType.ValueType  # 2
    HYBRID_CLUSTER_INSTALLATION_TYPE: _ClusterInstallationType.ValueType  # 3

class ClusterInstallationType(_ClusterInstallationType, metaclass=_ClusterInstallationTypeEnumTypeWrapper): ...

CLUSTER_INSTALLATION_TYPE_INVALID: ClusterInstallationType.ValueType  # 0
SELF_HOSTED_CLUSTER_INSTALLATION_TYPE: ClusterInstallationType.ValueType  # 1
SELF_SERVICE_CLUSTER_INSTALLATION_TYPE: ClusterInstallationType.ValueType  # 2
HYBRID_CLUSTER_INSTALLATION_TYPE: ClusterInstallationType.ValueType  # 3
global___ClusterInstallationType = ClusterInstallationType

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

    ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    CONFIGURATION_FIELD_NUMBER: builtins.int
    CLUSTER_METADATA_FIELD_NUMBER: builtins.int
    id: builtins.str
    """Assigned cluster ID"""
    name: builtins.str
    """Cluster name"""
    @property
    def configuration(self) -> global___ClusterConfiguration:
        """Cluster configuration"""
    @property
    def cluster_metadata(self) -> global___ClusterMetadata:
        """Cluster metadata"""
    def __init__(
        self,
        *,
        id: builtins.str = ...,
        name: builtins.str = ...,
        configuration: global___ClusterConfiguration | None = ...,
        cluster_metadata: global___ClusterMetadata | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["cluster_metadata", b"cluster_metadata", "configuration", b"configuration"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["cluster_metadata", b"cluster_metadata", "configuration", b"configuration", "id", b"id", "name", b"name"]) -> None: ...

global___Cluster = Cluster

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

    CREATED_AT_FIELD_NUMBER: builtins.int
    CREATED_BY_FIELD_NUMBER: builtins.int
    LAST_MODIFIED_AT_FIELD_NUMBER: builtins.int
    LAST_MODIFIED_BY_FIELD_NUMBER: builtins.int
    @property
    def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """When the cluster was created"""
    created_by: builtins.str
    """User-id who created the cluster"""
    @property
    def last_modified_at(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """When the cluster was last modified"""
    last_modified_by: builtins.str
    """User-id who last modified the cluster"""
    def __init__(
        self,
        *,
        created_at: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        created_by: builtins.str = ...,
        last_modified_at: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        last_modified_by: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["created_at", b"created_at", "last_modified_at", b"last_modified_at"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["created_at", b"created_at", "created_by", b"created_by", "last_modified_at", b"last_modified_at", "last_modified_by", b"last_modified_by"]) -> None: ...

global___ClusterMetadata = ClusterMetadata

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

    SELF_HOSTED_CONFIGURATION_FIELD_NUMBER: builtins.int
    SELF_SERVICE_CONFIGURATION_FIELD_NUMBER: builtins.int
    HYBRID_CONFIGURATION_FIELD_NUMBER: builtins.int
    @property
    def self_hosted_configuration(self) -> global___SelfHostedConfiguration: ...
    @property
    def self_service_configuration(self) -> global___SelfServiceConfiguration: ...
    @property
    def hybrid_configuration(self) -> global___HybridConfiguration: ...
    def __init__(
        self,
        *,
        self_hosted_configuration: global___SelfHostedConfiguration | None = ...,
        self_service_configuration: global___SelfServiceConfiguration | None = ...,
        hybrid_configuration: global___HybridConfiguration | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["hybrid_configuration", b"hybrid_configuration", "self_hosted_configuration", b"self_hosted_configuration", "self_service_configuration", b"self_service_configuration", "type", b"type"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["hybrid_configuration", b"hybrid_configuration", "self_hosted_configuration", b"self_hosted_configuration", "self_service_configuration", b"self_service_configuration", "type", b"type"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["type", b"type"]) -> typing_extensions.Literal["self_hosted_configuration", "self_service_configuration", "hybrid_configuration"] | None: ...

global___ClusterConfiguration = ClusterConfiguration

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

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

global___SelfHostedConfiguration = SelfHostedConfiguration

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

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

global___SelfServiceConfiguration = SelfServiceConfiguration

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

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

global___HybridConfiguration = HybridConfiguration

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

    RUNTIME_CONFIGURATION_FIELD_NUMBER: builtins.int
    NETWORK_CONFIGURATION_FIELD_NUMBER: builtins.int
    @property
    def runtime_configuration(self) -> qwak.administration.runtime_configuration.v0.runtime_config_pb2.RuntimeConfiguration: ...
    @property
    def network_configuration(self) -> qwak.administration.runtime_configuration.v0.network_config_pb2.ClusterNetworkConfiguration: ...
    def __init__(
        self,
        *,
        runtime_configuration: qwak.administration.runtime_configuration.v0.runtime_config_pb2.RuntimeConfiguration | None = ...,
        network_configuration: qwak.administration.runtime_configuration.v0.network_config_pb2.ClusterNetworkConfiguration | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["network_configuration", b"network_configuration", "runtime_configuration", b"runtime_configuration"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["network_configuration", b"network_configuration", "runtime_configuration", b"runtime_configuration"]) -> None: ...

global___RuntimeConfiguration = RuntimeConfiguration

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

    DISPLAY_NAME_FIELD_NUMBER: builtins.int
    CONFIGURATION_SPEC_FIELD_NUMBER: builtins.int
    display_name: builtins.str
    """display name"""
    @property
    def configuration_spec(self) -> global___ClusterConfigurationSpec:
        """Configuration for the cluster"""
    def __init__(
        self,
        *,
        display_name: builtins.str = ...,
        configuration_spec: global___ClusterConfigurationSpec | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["configuration_spec", b"configuration_spec"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["configuration_spec", b"configuration_spec", "display_name", b"display_name"]) -> None: ...

global___ClusterSpec = ClusterSpec

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

    SELF_HOSTED_CONFIGURATION_FIELD_NUMBER: builtins.int
    SELF_SERVICE_CONFIGURATION_FIELD_NUMBER: builtins.int
    HYBRID_CONFIGURATION_FIELD_NUMBER: builtins.int
    @property
    def self_hosted_configuration(self) -> global___SelfHostedConfigurationSpec: ...
    @property
    def self_service_configuration(self) -> global___SelfServiceConfigurationSpec: ...
    @property
    def hybrid_configuration(self) -> global___HybridConfigurationSpec: ...
    def __init__(
        self,
        *,
        self_hosted_configuration: global___SelfHostedConfigurationSpec | None = ...,
        self_service_configuration: global___SelfServiceConfigurationSpec | None = ...,
        hybrid_configuration: global___HybridConfigurationSpec | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["hybrid_configuration", b"hybrid_configuration", "self_hosted_configuration", b"self_hosted_configuration", "self_service_configuration", b"self_service_configuration", "type", b"type"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["hybrid_configuration", b"hybrid_configuration", "self_hosted_configuration", b"self_hosted_configuration", "self_service_configuration", b"self_service_configuration", "type", b"type"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["type", b"type"]) -> typing_extensions.Literal["self_hosted_configuration", "self_service_configuration", "hybrid_configuration"] | None: ...

global___ClusterConfigurationSpec = ClusterConfigurationSpec

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

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

global___SelfHostedConfigurationSpec = SelfHostedConfigurationSpec

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

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

global___SelfServiceConfigurationSpec = SelfServiceConfigurationSpec

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

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

global___HybridConfigurationSpec = HybridConfigurationSpec

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

    RUNTIME_CONFIGURATION_FIELD_NUMBER: builtins.int
    NETWORK_CONFIGURATION_FIELD_NUMBER: builtins.int
    @property
    def runtime_configuration(self) -> qwak.administration.runtime_configuration.v0.runtime_config_pb2.RuntimeConfiguration: ...
    @property
    def network_configuration(self) -> qwak.administration.runtime_configuration.v0.network_config_pb2.ClusterNetworkConfiguration: ...
    def __init__(
        self,
        *,
        runtime_configuration: qwak.administration.runtime_configuration.v0.runtime_config_pb2.RuntimeConfiguration | None = ...,
        network_configuration: qwak.administration.runtime_configuration.v0.network_config_pb2.ClusterNetworkConfiguration | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["network_configuration", b"network_configuration", "runtime_configuration", b"runtime_configuration"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["network_configuration", b"network_configuration", "runtime_configuration", b"runtime_configuration"]) -> None: ...

global___RuntimeConfigurationSpec = RuntimeConfigurationSpec

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

    VALID_FIELD_NUMBER: builtins.int
    @property
    def valid(self) -> global___ClusterValid:
        """TBD: updating, deleting etc states"""
    def __init__(
        self,
        *,
        valid: global___ClusterValid | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["state", b"state", "valid", b"valid"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["state", b"state", "valid", b"valid"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["state", b"state"]) -> typing_extensions.Literal["valid"] | None: ...

global___ClusterState = ClusterState

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

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

global___ClusterValid = ClusterValid

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

    INSTALLATION_TYPE_FIELD_NUMBER: builtins.int
    installation_type: global___ClusterInstallationType.ValueType
    def __init__(
        self,
        *,
        installation_type: global___ClusterInstallationType.ValueType = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["installation_type", b"installation_type"]) -> None: ...

global___ClusterBrief = ClusterBrief
