"""
@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 sys
import typing

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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

class _CloudProviderEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_CloudProvider.ValueType], builtins.type):  # noqa: F821
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    CLOUD_PROVIDER_INVALID: _CloudProvider.ValueType  # 0
    AWS: _CloudProvider.ValueType  # 1
    GCP: _CloudProvider.ValueType  # 2

class CloudProvider(_CloudProvider, metaclass=_CloudProviderEnumTypeWrapper): ...

CLOUD_PROVIDER_INVALID: CloudProvider.ValueType  # 0
AWS: CloudProvider.ValueType  # 1
GCP: CloudProvider.ValueType  # 2
global___CloudProvider = CloudProvider

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

class _CreateAccountRequestStatusCodeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_CreateAccountRequestStatusCode.ValueType], builtins.type):  # noqa: F821
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    CREATE_ACCOUNT_REQUEST_STATUS_CODE_INVALID: _CreateAccountRequestStatusCode.ValueType  # 0
    REQUEST_PENDING: _CreateAccountRequestStatusCode.ValueType  # 1
    """Waiting for creation"""
    REQUEST_REGISTERED: _CreateAccountRequestStatusCode.ValueType  # 2
    """Account successfully registered"""
    REQUEST_PROCESSING: _CreateAccountRequestStatusCode.ValueType  # 3
    """Creation in progress"""
    REQUEST_FAILED: _CreateAccountRequestStatusCode.ValueType  # 4
    """Account failed to registered"""

class CreateAccountRequestStatusCode(_CreateAccountRequestStatusCode, metaclass=_CreateAccountRequestStatusCodeEnumTypeWrapper): ...

CREATE_ACCOUNT_REQUEST_STATUS_CODE_INVALID: CreateAccountRequestStatusCode.ValueType  # 0
REQUEST_PENDING: CreateAccountRequestStatusCode.ValueType  # 1
"""Waiting for creation"""
REQUEST_REGISTERED: CreateAccountRequestStatusCode.ValueType  # 2
"""Account successfully registered"""
REQUEST_PROCESSING: CreateAccountRequestStatusCode.ValueType  # 3
"""Creation in progress"""
REQUEST_FAILED: CreateAccountRequestStatusCode.ValueType  # 4
"""Account failed to registered"""
global___CreateAccountRequestStatusCode = CreateAccountRequestStatusCode

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

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

global___CloudProviderAWS = CloudProviderAWS

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

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

global___CloudProviderGCP = CloudProviderGCP

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

    AWS_FIELD_NUMBER: builtins.int
    GCP_FIELD_NUMBER: builtins.int
    REGION_FIELD_NUMBER: builtins.int
    @property
    def aws(self) -> global___CloudProviderAWS: ...
    @property
    def gcp(self) -> global___CloudProviderGCP: ...
    region: builtins.str
    """Region"""
    def __init__(
        self,
        *,
        aws: global___CloudProviderAWS | None = ...,
        gcp: global___CloudProviderGCP | None = ...,
        region: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["aws", b"aws", "cloud_provider", b"cloud_provider", "gcp", b"gcp"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["aws", b"aws", "cloud_provider", b"cloud_provider", "gcp", b"gcp", "region", b"region"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["cloud_provider", b"cloud_provider"]) -> typing_extensions.Literal["aws", "gcp"] | None: ...

global___CloudProviderSpec = CloudProviderSpec

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

    ACCOUNT_NAME_FIELD_NUMBER: builtins.int
    CLOUD_PROVIDER_FIELD_NUMBER: builtins.int
    CLOUD_PROVIDER_SPEC_FIELD_NUMBER: builtins.int
    JFROG_TENANT_SPEC_FIELD_NUMBER: builtins.int
    CLUSTER_IDENTIFIER_FIELD_NUMBER: builtins.int
    account_name: builtins.str
    """Account name"""
    cloud_provider: global___CloudProvider.ValueType
    """Cluster provider"""
    @property
    def cloud_provider_spec(self) -> global___CloudProviderSpec:
        """Cloud provider spec"""
    @property
    def jfrog_tenant_spec(self) -> global___SelfServiceJFrogTenantSpec:
        """JFrog tenant spec"""
    @property
    def cluster_identifier(self) -> global___ClusterIdentifier:
        """Cluster identifier"""
    def __init__(
        self,
        *,
        account_name: builtins.str = ...,
        cloud_provider: global___CloudProvider.ValueType = ...,
        cloud_provider_spec: global___CloudProviderSpec | None = ...,
        jfrog_tenant_spec: global___SelfServiceJFrogTenantSpec | None = ...,
        cluster_identifier: global___ClusterIdentifier | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["cloud_provider_spec", b"cloud_provider_spec", "cluster_identifier", b"cluster_identifier", "jfrog_tenant_spec", b"jfrog_tenant_spec"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["account_name", b"account_name", "cloud_provider", b"cloud_provider", "cloud_provider_spec", b"cloud_provider_spec", "cluster_identifier", b"cluster_identifier", "jfrog_tenant_spec", b"jfrog_tenant_spec"]) -> None: ...

global___CreateAccountOptions = CreateAccountOptions

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

    CLUSTER_ID_FIELD_NUMBER: builtins.int
    @property
    def cluster_id(self) -> global___ClusterIdIdentifier: ...
    def __init__(
        self,
        *,
        cluster_id: global___ClusterIdIdentifier | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["cluster_id", b"cluster_id", "type", b"type"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["cluster_id", b"cluster_id", "type", b"type"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["type", b"type"]) -> typing_extensions.Literal["cluster_id"] | None: ...

global___ClusterIdentifier = ClusterIdentifier

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

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

global___ClusterIdIdentifier = ClusterIdIdentifier

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

    METADATA_FIELD_NUMBER: builtins.int
    SPEC_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    @property
    def metadata(self) -> global___CreateAccountRequestMetadata:
        """Metadata of the account creation request"""
    @property
    def spec(self) -> global___CreateAccountRequestSpec:
        """Spec of the account creation request"""
    @property
    def status(self) -> global___CreateAccountRequestStatus:
        """Status of the account creation request"""
    def __init__(
        self,
        *,
        metadata: global___CreateAccountRequestMetadata | None = ...,
        spec: global___CreateAccountRequestSpec | None = ...,
        status: global___CreateAccountRequestStatus | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["metadata", b"metadata", "spec", b"spec", "status", b"status"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["metadata", b"metadata", "spec", b"spec", "status", b"status"]) -> None: ...

global___CreateAccountRequestDescription = CreateAccountRequestDescription

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

    REQUEST_ID_FIELD_NUMBER: builtins.int
    CREATED_AT_FIELD_NUMBER: builtins.int
    REQUESTED_BY_FIELD_NUMBER: builtins.int
    request_id: builtins.str
    """Id of the request"""
    @property
    def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """Created at"""
    requested_by: builtins.str
    """The user id of the requesting user"""
    def __init__(
        self,
        *,
        request_id: builtins.str = ...,
        created_at: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        requested_by: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["created_at", b"created_at"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["created_at", b"created_at", "request_id", b"request_id", "requested_by", b"requested_by"]) -> None: ...

global___CreateAccountRequestMetadata = CreateAccountRequestMetadata

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

    ACCOUNT_NAME_FIELD_NUMBER: builtins.int
    account_name: builtins.str
    """The requested account name"""
    def __init__(
        self,
        *,
        account_name: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["account_name", b"account_name"]) -> None: ...

global___CreateAccountRequestSpec = CreateAccountRequestSpec

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

    CODE_FIELD_NUMBER: builtins.int
    LAST_CHANGED_AT_FIELD_NUMBER: builtins.int
    code: global___CreateAccountRequestStatusCode.ValueType
    """Status code"""
    @property
    def last_changed_at(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """When the status has been changed"""
    def __init__(
        self,
        *,
        code: global___CreateAccountRequestStatusCode.ValueType = ...,
        last_changed_at: google.protobuf.timestamp_pb2.Timestamp | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["last_changed_at", b"last_changed_at"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["code", b"code", "last_changed_at", b"last_changed_at"]) -> None: ...

global___CreateAccountRequestStatus = CreateAccountRequestStatus

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

    CLOUD_PROVIDER_FIELD_NUMBER: builtins.int
    REGIONS_FIELD_NUMBER: builtins.int
    cloud_provider: global___CloudProvider.ValueType
    """Cloud provider"""
    @property
    def regions(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
        """Region"""
    def __init__(
        self,
        *,
        cloud_provider: global___CloudProvider.ValueType = ...,
        regions: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["cloud_provider", b"cloud_provider", "regions", b"regions"]) -> None: ...

global___CloudProviderRegions = CloudProviderRegions

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

    PROJECT_KEY_FIELD_NUMBER: builtins.int
    project_key: builtins.str
    """The JFrog project's key"""
    def __init__(
        self,
        *,
        project_key: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["project_key", b"project_key"]) -> None: ...

global___SelfServiceJFrogProjectSpec = SelfServiceJFrogProjectSpec

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

    DEFAULT_PROJECT_SPEC_FIELD_NUMBER: builtins.int
    @property
    def default_project_spec(self) -> global___SelfServiceJFrogProjectSpec:
        """Default project spec"""
    def __init__(
        self,
        *,
        default_project_spec: global___SelfServiceJFrogProjectSpec | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["default_project_spec", b"default_project_spec"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["default_project_spec", b"default_project_spec"]) -> None: ...

global___SelfServiceJFrogTenantSpec = SelfServiceJFrogTenantSpec
