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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing.final
class LicenseServerMetadata(google.protobuf.message.Message):
    """License server metadata"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    @typing.final
    class LabelsEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: builtins.str
        value: builtins.str
        def __init__(
            self,
            *,
            key: builtins.str = ...,
            value: builtins.str = ...,
        ) -> None: ...
        def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ...

    LABELS_FIELD_NUMBER: builtins.int
    @property
    def labels(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]:
        """Custom labels for the license server"""

    def __init__(
        self,
        *,
        labels: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["labels", b"labels"]) -> None: ...

global___LicenseServerMetadata = LicenseServerMetadata

@typing.final
class RegisterRequest(google.protobuf.message.Message):
    """Request to register a license server"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ORGANIZATION_ID_FIELD_NUMBER: builtins.int
    BILLING_ACCOUNT_ID_FIELD_NUMBER: builtins.int
    METADATA_FIELD_NUMBER: builtins.int
    organization_id: builtins.str
    """Organization ID"""
    billing_account_id: builtins.str
    """Billing account ID"""
    @property
    def metadata(self) -> global___LicenseServerMetadata:
        """Optional metadata for the license server"""

    def __init__(
        self,
        *,
        organization_id: builtins.str = ...,
        billing_account_id: builtins.str = ...,
        metadata: global___LicenseServerMetadata | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["metadata", b"metadata"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["billing_account_id", b"billing_account_id", "metadata", b"metadata", "organization_id", b"organization_id"]) -> None: ...

global___RegisterRequest = RegisterRequest

@typing.final
class LicenseServer(google.protobuf.message.Message):
    """License server entity"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SERVER_ID_FIELD_NUMBER: builtins.int
    LS_CA_CERTIFICATE_FIELD_NUMBER: builtins.int
    LS_PRIVATE_KEY_FIELD_NUMBER: builtins.int
    VALID_UNTIL_FIELD_NUMBER: builtins.int
    server_id: builtins.str
    """Unique server ID"""
    ls_ca_certificate: builtins.str
    """License server CA certificate"""
    ls_private_key: builtins.str
    """Private key for the license server"""
    @property
    def valid_until(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """Timestamp when the credentials expire"""

    def __init__(
        self,
        *,
        server_id: builtins.str = ...,
        ls_ca_certificate: builtins.str = ...,
        ls_private_key: builtins.str = ...,
        valid_until: google.protobuf.timestamp_pb2.Timestamp | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["valid_until", b"valid_until"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["ls_ca_certificate", b"ls_ca_certificate", "ls_private_key", b"ls_private_key", "server_id", b"server_id", "valid_until", b"valid_until"]) -> None: ...

global___LicenseServer = LicenseServer

@typing.final
class RegisterLicenseServerMetadata(google.protobuf.message.Message):
    """Metadata for register license server operation"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ORGANIZATION_ID_FIELD_NUMBER: builtins.int
    BILLING_ACCOUNT_ID_FIELD_NUMBER: builtins.int
    organization_id: builtins.str
    """Organization ID"""
    billing_account_id: builtins.str
    """Billing account ID"""
    def __init__(
        self,
        *,
        organization_id: builtins.str = ...,
        billing_account_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["billing_account_id", b"billing_account_id", "organization_id", b"organization_id"]) -> None: ...

global___RegisterLicenseServerMetadata = RegisterLicenseServerMetadata
