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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing.final
class ExternalInstance(google.protobuf.message.Message):
    """ExternalInstance attachment to external service subscription."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    @typing.final
    class PropertiesEntry(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: ...

    NAME_FIELD_NUMBER: builtins.int
    PROPERTIES_FIELD_NUMBER: builtins.int
    SUBSCRIPTION_FIELD_NUMBER: builtins.int
    LICENSE_FIELD_NUMBER: builtins.int
    name: builtins.str
    """Optional external subscription name."""
    @property
    def properties(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]:
        """Mapping of vendor defined properties in key, value format."""

    @property
    def subscription(self) -> global___ExternalSubscription: ...
    @property
    def license(self) -> global___ExternalLicense: ...
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        properties: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        subscription: global___ExternalSubscription | None = ...,
        license: global___ExternalLicense | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["license", b"license", "subscription", b"subscription", "vendor", b"vendor"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["license", b"license", "name", b"name", "properties", b"properties", "subscription", b"subscription", "vendor", b"vendor"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["vendor", b"vendor"]) -> typing.Literal["subscription", "license"] | None: ...

global___ExternalInstance = ExternalInstance

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

    SUBSCRIPTION_ID_FIELD_NUMBER: builtins.int
    LICENSE_ID_FIELD_NUMBER: builtins.int
    ACTIVATION_KEY_FIELD_NUMBER: builtins.int
    subscription_id: builtins.str
    """External subscription id."""
    license_id: builtins.str
    """Optional: paired license id for external subscription."""
    activation_key: builtins.str
    """Optional: default activation key for external subscription."""
    def __init__(
        self,
        *,
        subscription_id: builtins.str = ...,
        license_id: builtins.str = ...,
        activation_key: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["activation_key", b"activation_key", "license_id", b"license_id", "subscription_id", b"subscription_id"]) -> None: ...

global___ExternalSubscription = ExternalSubscription

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

    LICENSE_ID_FIELD_NUMBER: builtins.int
    PAYLOAD_FIELD_NUMBER: builtins.int
    license_id: builtins.str
    """External license bound to subscription instance."""
    payload: builtins.bytes
    """License (vendor specific) payload."""
    def __init__(
        self,
        *,
        license_id: builtins.str = ...,
        payload: builtins.bytes = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["license_id", b"license_id", "payload", b"payload"]) -> None: ...

global___ExternalLicense = ExternalLicense
