"""
@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 google.protobuf.wrappers_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 _MonitorActivityStatus:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _MonitorActivityStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_MonitorActivityStatus.ValueType], builtins.type):  # noqa: F821
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    MONITOR_STATUS_INVALID: _MonitorActivityStatus.ValueType  # 0
    """Default invalid State"""
    MONITOR_STATUS_ACTIVE: _MonitorActivityStatus.ValueType  # 1
    """Marks the account is currently active in Qwak"""
    MONITOR_STATUS_DISABLED: _MonitorActivityStatus.ValueType  # 2
    """Marks that the account is disabled"""

class MonitorActivityStatus(_MonitorActivityStatus, metaclass=_MonitorActivityStatusEnumTypeWrapper): ...

MONITOR_STATUS_INVALID: MonitorActivityStatus.ValueType  # 0
"""Default invalid State"""
MONITOR_STATUS_ACTIVE: MonitorActivityStatus.ValueType  # 1
"""Marks the account is currently active in Qwak"""
MONITOR_STATUS_DISABLED: MonitorActivityStatus.ValueType  # 2
"""Marks that the account is disabled"""
global___MonitorActivityStatus = MonitorActivityStatus

class AlertingChannelCreateOptions(google.protobuf.message.Message):
    """Arguments for updating a new alerting channel"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    SPEC_FIELD_NUMBER: builtins.int
    name: builtins.str
    """Name for the alerting channel (unique per account)"""
    @property
    def spec(self) -> global___AlertingChannelSpec:
        """Specification for alerting channel"""
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        spec: global___AlertingChannelSpec | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["spec", b"spec"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["name", b"name", "spec", b"spec"]) -> None: ...

global___AlertingChannelCreateOptions = AlertingChannelCreateOptions

class AlertingChannelUpdateOptions(google.protobuf.message.Message):
    """Arguments for updating a new alerting channel"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    SPEC_FIELD_NUMBER: builtins.int
    id: builtins.str
    """Id of the alerting channel to update"""
    @property
    def name(self) -> google.protobuf.wrappers_pb2.StringValue:
        """New name for the channel (optional)"""
    @property
    def spec(self) -> global___AlertingChannelSpec:
        """New specification for the channel (optional)"""
    def __init__(
        self,
        *,
        id: builtins.str = ...,
        name: google.protobuf.wrappers_pb2.StringValue | None = ...,
        spec: global___AlertingChannelSpec | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["name", b"name", "spec", b"spec"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["id", b"id", "name", b"name", "spec", b"spec"]) -> None: ...

global___AlertingChannelUpdateOptions = AlertingChannelUpdateOptions

class AlertingChannelDescription(google.protobuf.message.Message):
    """a full description of alerting channel"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    METADATA_FIELD_NUMBER: builtins.int
    SPEC_FIELD_NUMBER: builtins.int
    @property
    def metadata(self) -> global___AlertingChannelMetadata:
        """Meta data of the alerting channel"""
    @property
    def spec(self) -> global___AlertingChannelSpec:
        """Specification of the alerting channel"""
    def __init__(
        self,
        *,
        metadata: global___AlertingChannelMetadata | None = ...,
        spec: global___AlertingChannelSpec | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["metadata", b"metadata", "spec", b"spec"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["metadata", b"metadata", "spec", b"spec"]) -> None: ...

global___AlertingChannelDescription = AlertingChannelDescription

class AlertingChannelMetadata(google.protobuf.message.Message):
    """Meta data of the alerting channel"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ACCOUNT_ID_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    CREATED_AT_FIELD_NUMBER: builtins.int
    LAST_MODIFIED_AT_FIELD_NUMBER: builtins.int
    DELETED_AT_FIELD_NUMBER: builtins.int
    account_id: builtins.str
    """Account id that owned the alerting channel"""
    id: builtins.str
    """Id of the alerting channel"""
    name: builtins.str
    """Name of the alerting channel"""
    @property
    def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """Creation time of alerting channel"""
    @property
    def last_modified_at(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """Last modification time of alerting channel"""
    @property
    def deleted_at(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """Last deleted time of alerting channel"""
    def __init__(
        self,
        *,
        account_id: builtins.str = ...,
        id: builtins.str = ...,
        name: builtins.str = ...,
        created_at: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        last_modified_at: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        deleted_at: google.protobuf.timestamp_pb2.Timestamp | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["created_at", b"created_at", "deleted_at", b"deleted_at", "last_modified_at", b"last_modified_at"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["account_id", b"account_id", "created_at", b"created_at", "deleted_at", b"deleted_at", "id", b"id", "last_modified_at", b"last_modified_at", "name", b"name"]) -> None: ...

global___AlertingChannelMetadata = AlertingChannelMetadata

class AlertingChannelSpec(google.protobuf.message.Message):
    """Specification of the alerting channel"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CONFIGURATION_FIELD_NUMBER: builtins.int
    @property
    def configuration(self) -> global___ChannelConfiguration:
        """Configuration of the alerting channel"""
    def __init__(
        self,
        *,
        configuration: global___ChannelConfiguration | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["configuration", b"configuration"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["configuration", b"configuration"]) -> None: ...

global___AlertingChannelSpec = AlertingChannelSpec

class ChannelConfiguration(google.protobuf.message.Message):
    """Configuration of the alerting channel"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SLACK_FIELD_NUMBER: builtins.int
    PAGERDUTY_FIELD_NUMBER: builtins.int
    OPSGENIE_FIELD_NUMBER: builtins.int
    @property
    def slack(self) -> global___SlackType:
        """Channel from type slack"""
    @property
    def pagerduty(self) -> global___PagerDutyType:
        """Channel from type Pagerduty"""
    @property
    def opsgenie(self) -> global___OpsgenieType:
        """Channel from type Opsgenie"""
    def __init__(
        self,
        *,
        slack: global___SlackType | None = ...,
        pagerduty: global___PagerDutyType | None = ...,
        opsgenie: global___OpsgenieType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["channel_type", b"channel_type", "opsgenie", b"opsgenie", "pagerduty", b"pagerduty", "slack", b"slack"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["channel_type", b"channel_type", "opsgenie", b"opsgenie", "pagerduty", b"pagerduty", "slack", b"slack"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["channel_type", b"channel_type"]) -> typing_extensions.Literal["slack", "pagerduty", "opsgenie"] | None: ...

global___ChannelConfiguration = ChannelConfiguration

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

    CHANNELS_TO_SYNC_FIELD_NUMBER: builtins.int
    ALREADY_UP_TO_DATE_FIELD_NUMBER: builtins.int
    @property
    def channels_to_sync(self) -> global___AlertingChannelToSync:
        """A response in case there are channels to sync"""
    @property
    def already_up_to_date(self) -> global___AlertingChannelsAlreadyUpToDate:
        """An indicator to a state which all channels are already synchronized"""
    def __init__(
        self,
        *,
        channels_to_sync: global___AlertingChannelToSync | None = ...,
        already_up_to_date: global___AlertingChannelsAlreadyUpToDate | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["already_up_to_date", b"already_up_to_date", "channels_to_sync", b"channels_to_sync", "types", b"types"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["already_up_to_date", b"already_up_to_date", "channels_to_sync", b"channels_to_sync", "types", b"types"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["types", b"types"]) -> typing_extensions.Literal["channels_to_sync", "already_up_to_date"] | None: ...

global___SyncResponse = SyncResponse

class AlertingChannelToSync(google.protobuf.message.Message):
    """List of alerting channels to sync to clusters"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DESCRIPTION_FIELD_NUMBER: builtins.int
    CHANNELS_TO_DELETE_FIELD_NUMBER: builtins.int
    @property
    def description(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AlertingChannelDescription]: ...
    @property
    def channels_to_delete(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AlertingChannelDescription]:
        """A response in case there are channels to delete"""
    def __init__(
        self,
        *,
        description: collections.abc.Iterable[global___AlertingChannelDescription] | None = ...,
        channels_to_delete: collections.abc.Iterable[global___AlertingChannelDescription] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["channels_to_delete", b"channels_to_delete", "description", b"description"]) -> None: ...

global___AlertingChannelToSync = AlertingChannelToSync

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

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

global___AlertingChannelToDelete = AlertingChannelToDelete

class AlertingChannelsAlreadyUpToDate(google.protobuf.message.Message):
    """No new Channels to sync into clusters"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___AlertingChannelsAlreadyUpToDate = AlertingChannelsAlreadyUpToDate

class SlackType(google.protobuf.message.Message):
    """Channel from type slack"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    API_URL_FIELD_NUMBER: builtins.int
    @property
    def api_url(self) -> global___SecretStringValue:
        """Api url for slack channel"""
    def __init__(
        self,
        *,
        api_url: global___SecretStringValue | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["api_url", b"api_url"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["api_url", b"api_url"]) -> None: ...

global___SlackType = SlackType

class PagerDutyType(google.protobuf.message.Message):
    """Channel from type Pagerduty"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ROUTING_KEY_FIELD_NUMBER: builtins.int
    SERVICE_KEY_FIELD_NUMBER: builtins.int
    URL_FIELD_NUMBER: builtins.int
    @property
    def routing_key(self) -> global___SecretStringValue:
        """Routing key for pd"""
    @property
    def service_key(self) -> global___SecretStringValue:
        """Service key for pd"""
    url: builtins.str
    """Url for pd"""
    def __init__(
        self,
        *,
        routing_key: global___SecretStringValue | None = ...,
        service_key: global___SecretStringValue | None = ...,
        url: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["routing_key", b"routing_key", "service_key", b"service_key"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["routing_key", b"routing_key", "service_key", b"service_key", "url", b"url"]) -> None: ...

global___PagerDutyType = PagerDutyType

class OpsgenieType(google.protobuf.message.Message):
    """Channel from type Opsgenie"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    API_KEY_FIELD_NUMBER: builtins.int
    @property
    def api_key(self) -> global___SecretStringValue:
        """Api key for opsgenie"""
    def __init__(
        self,
        *,
        api_key: global___SecretStringValue | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["api_key", b"api_key"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["api_key", b"api_key"]) -> None: ...

global___OpsgenieType = OpsgenieType

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

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

global___SecretStringValue = SecretStringValue
