"""
@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 shared.shared_pb2
import sys

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing_extensions.final
class Microsoft_Cache(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    REDIS_FIELD_NUMBER: builtins.int
    REDIS_FIREWALL_RULES_FIELD_NUMBER: builtins.int
    REDIS_LINKED_SERVERS_FIELD_NUMBER: builtins.int
    REDIS_PATCH_SCHEDULES_FIELD_NUMBER: builtins.int
    @property
    def redis(self) -> global___Redis: ...
    @property
    def redis_firewall_rules(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___RedisFirewallRules]: ...
    @property
    def redis_linked_servers(self) -> global___RedisLinkedServers: ...
    @property
    def redis_patch_schedules(self) -> global___RedisPatchSchedules: ...
    def __init__(
        self,
        *,
        redis: global___Redis | None = ...,
        redis_firewall_rules: collections.abc.Iterable[global___RedisFirewallRules] | None = ...,
        redis_linked_servers: global___RedisLinkedServers | None = ...,
        redis_patch_schedules: global___RedisPatchSchedules | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["redis", b"redis", "redis_linked_servers", b"redis_linked_servers", "redis_patch_schedules", b"redis_patch_schedules"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["redis", b"redis", "redis_firewall_rules", b"redis_firewall_rules", "redis_linked_servers", b"redis_linked_servers", "redis_patch_schedules", b"redis_patch_schedules"]) -> None: ...

global___Microsoft_Cache = Microsoft_Cache

@typing_extensions.final
class RedisPrivateEndpointConnections(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    PRIVATE_ENDPOINT_FIELD_NUMBER: builtins.int
    PRIVATE_LINK_SERVICE_CONNECTION_STATE_FIELD_NUMBER: builtins.int
    PROVISIONING_STATE_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    name: builtins.str
    @property
    def private_endpoint(self) -> global___PrivateEndpoint: ...
    @property
    def private_link_service_connection_state(self) -> global___PrivateLinkServiceConnectionState: ...
    provisioning_state: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        name: builtins.str = ...,
        private_endpoint: global___PrivateEndpoint | None = ...,
        private_link_service_connection_state: global___PrivateLinkServiceConnectionState | None = ...,
        provisioning_state: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["private_endpoint", b"private_endpoint", "private_link_service_connection_state", b"private_link_service_connection_state", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["name", b"name", "private_endpoint", b"private_endpoint", "private_link_service_connection_state", b"private_link_service_connection_state", "provisioning_state", b"provisioning_state", "resource_info", b"resource_info"]) -> None: ...

global___RedisPrivateEndpointConnections = RedisPrivateEndpointConnections

@typing_extensions.final
class PrivateLinkServiceConnectionState(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ACTIONS_REQUIRED_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    actions_required: builtins.str
    description: builtins.str
    status: builtins.str
    def __init__(
        self,
        *,
        actions_required: builtins.str = ...,
        description: builtins.str = ...,
        status: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["actions_required", b"actions_required", "description", b"description", "status", b"status"]) -> None: ...

global___PrivateLinkServiceConnectionState = PrivateLinkServiceConnectionState

@typing_extensions.final
class PrivateEndpoint(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___PrivateEndpoint = PrivateEndpoint

@typing_extensions.final
class RedisPatchSchedules(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    SCHEDULE_ENTRIES_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    name: builtins.str
    @property
    def schedule_entries(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ScheduleEntry]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        name: builtins.str = ...,
        schedule_entries: collections.abc.Iterable[global___ScheduleEntry] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["name", b"name", "resource_info", b"resource_info", "schedule_entries", b"schedule_entries"]) -> None: ...

global___RedisPatchSchedules = RedisPatchSchedules

@typing_extensions.final
class ScheduleEntry(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DAY_OF_WEEK_FIELD_NUMBER: builtins.int
    MAINTENANCE_WINDOW_FIELD_NUMBER: builtins.int
    START_HOUR_UTC_FIELD_NUMBER: builtins.int
    day_of_week: builtins.str
    maintenance_window: builtins.str
    start_hour_utc: builtins.int
    def __init__(
        self,
        *,
        day_of_week: builtins.str = ...,
        maintenance_window: builtins.str = ...,
        start_hour_utc: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["day_of_week", b"day_of_week", "maintenance_window", b"maintenance_window", "start_hour_utc", b"start_hour_utc"]) -> None: ...

global___ScheduleEntry = ScheduleEntry

@typing_extensions.final
class RedisLinkedServers(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    LINKED_REDIS_CACHE_ID_FIELD_NUMBER: builtins.int
    LINKED_REDIS_CACHE_LOCATION_FIELD_NUMBER: builtins.int
    SERVER_ROLE_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    name: builtins.str
    linked_redis_cache_id: builtins.str
    linked_redis_cache_location: builtins.str
    server_role: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        name: builtins.str = ...,
        linked_redis_cache_id: builtins.str = ...,
        linked_redis_cache_location: builtins.str = ...,
        server_role: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["linked_redis_cache_id", b"linked_redis_cache_id", "linked_redis_cache_location", b"linked_redis_cache_location", "name", b"name", "resource_info", b"resource_info", "server_role", b"server_role"]) -> None: ...

global___RedisLinkedServers = RedisLinkedServers

@typing_extensions.final
class RedisFirewallRules(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    END_IP_FIELD_NUMBER: builtins.int
    START_IP_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    name: builtins.str
    end_ip: builtins.str
    start_ip: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        name: builtins.str = ...,
        end_ip: builtins.str = ...,
        start_ip: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["end_ip", b"end_ip", "name", b"name", "resource_info", b"resource_info", "start_ip", b"start_ip"]) -> None: ...

global___RedisFirewallRules = RedisFirewallRules

@typing_extensions.final
class Redis(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    @typing_extensions.final
    class TenantSettingsEntry(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_extensions.Literal["key", b"key", "value", b"value"]) -> None: ...

    @typing_extensions.final
    class TagsEntry(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_extensions.Literal["key", b"key", "value", b"value"]) -> None: ...

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    LOCATION_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    ENABLE_NON_SSL_PORT_FIELD_NUMBER: builtins.int
    MINIMUM_TLS_VERSION_FIELD_NUMBER: builtins.int
    PUBLIC_NETWORK_ACCESS_FIELD_NUMBER: builtins.int
    REDIS_CONFIGURATION_FIELD_NUMBER: builtins.int
    REDIS_VERSION_FIELD_NUMBER: builtins.int
    REPLICAS_PER_MASTER_FIELD_NUMBER: builtins.int
    REPLICAS_PER_PRIMARY_FIELD_NUMBER: builtins.int
    SHARD_COUNT_FIELD_NUMBER: builtins.int
    SKU_FIELD_NUMBER: builtins.int
    STATIC_IP_FIELD_NUMBER: builtins.int
    SUBNET_ID_FIELD_NUMBER: builtins.int
    TENANT_SETTINGS_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    ZONES_FIELD_NUMBER: builtins.int
    REDIS_PRIVATE_ENDPOINT_CONNECTIONS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def identity(self) -> global___ManagedServiceIdentity: ...
    location: builtins.str
    name: builtins.str
    enable_non_ssl_port: builtins.bool
    minimum_tls_version: builtins.str
    public_network_access: builtins.str
    @property
    def redis_configuration(self) -> global___RedisCommonPropertiesRedisConfiguration: ...
    redis_version: builtins.str
    replicas_per_master: builtins.int
    replicas_per_primary: builtins.int
    shard_count: builtins.int
    @property
    def sku(self) -> global___Sku: ...
    static_ip: builtins.str
    subnet_id: builtins.str
    @property
    def tenant_settings(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    @property
    def zones(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def redis_private_endpoint_connections(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___RedisPrivateEndpointConnections]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        identity: global___ManagedServiceIdentity | None = ...,
        location: builtins.str = ...,
        name: builtins.str = ...,
        enable_non_ssl_port: builtins.bool = ...,
        minimum_tls_version: builtins.str = ...,
        public_network_access: builtins.str = ...,
        redis_configuration: global___RedisCommonPropertiesRedisConfiguration | None = ...,
        redis_version: builtins.str = ...,
        replicas_per_master: builtins.int = ...,
        replicas_per_primary: builtins.int = ...,
        shard_count: builtins.int = ...,
        sku: global___Sku | None = ...,
        static_ip: builtins.str = ...,
        subnet_id: builtins.str = ...,
        tenant_settings: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        zones: collections.abc.Iterable[builtins.str] | None = ...,
        redis_private_endpoint_connections: collections.abc.Iterable[global___RedisPrivateEndpointConnections] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["identity", b"identity", "redis_configuration", b"redis_configuration", "resource_info", b"resource_info", "sku", b"sku"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["enable_non_ssl_port", b"enable_non_ssl_port", "identity", b"identity", "location", b"location", "minimum_tls_version", b"minimum_tls_version", "name", b"name", "public_network_access", b"public_network_access", "redis_configuration", b"redis_configuration", "redis_private_endpoint_connections", b"redis_private_endpoint_connections", "redis_version", b"redis_version", "replicas_per_master", b"replicas_per_master", "replicas_per_primary", b"replicas_per_primary", "resource_info", b"resource_info", "shard_count", b"shard_count", "sku", b"sku", "static_ip", b"static_ip", "subnet_id", b"subnet_id", "tags", b"tags", "tenant_settings", b"tenant_settings", "zones", b"zones"]) -> None: ...

global___Redis = Redis

@typing_extensions.final
class Sku(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CAPACITY_FIELD_NUMBER: builtins.int
    FAMILY_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    capacity: builtins.int
    family: builtins.str
    name: builtins.str
    def __init__(
        self,
        *,
        capacity: builtins.int = ...,
        family: builtins.str = ...,
        name: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["capacity", b"capacity", "family", b"family", "name", b"name"]) -> None: ...

global___Sku = Sku

@typing_extensions.final
class RedisCommonPropertiesRedisConfiguration(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    @typing_extensions.final
    class AdditionalPropertiesEntry(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_extensions.Literal["key", b"key", "value", b"value"]) -> None: ...

    ADDITIONAL_PROPERTIES_FIELD_NUMBER: builtins.int
    AOF_STORAGE_CONNECTION_STRING_0_FIELD_NUMBER: builtins.int
    AOF_STORAGE_CONNECTION_STRING_1_FIELD_NUMBER: builtins.int
    MAXFRAGMENTATIONMEMORY_RESERVED_FIELD_NUMBER: builtins.int
    MAXMEMORY_DELTA_FIELD_NUMBER: builtins.int
    MAXMEMORY_POLICY_FIELD_NUMBER: builtins.int
    MAXMEMORY_RESERVED_FIELD_NUMBER: builtins.int
    RDB_BACKUP_ENABLED_FIELD_NUMBER: builtins.int
    RDB_BACKUP_FREQUENCY_FIELD_NUMBER: builtins.int
    RDB_BACKUP_MAX_SNAPSHOT_COUNT_FIELD_NUMBER: builtins.int
    RDB_STORAGE_CONNECTION_STRING_FIELD_NUMBER: builtins.int
    @property
    def additional_properties(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    aof_storage_connection_string_0: builtins.str
    aof_storage_connection_string_1: builtins.str
    maxfragmentationmemory_reserved: builtins.str
    maxmemory_delta: builtins.str
    maxmemory_policy: builtins.str
    maxmemory_reserved: builtins.str
    rdb_backup_enabled: builtins.str
    rdb_backup_frequency: builtins.str
    rdb_backup_max_snapshot_count: builtins.str
    rdb_storage_connection_string: builtins.str
    def __init__(
        self,
        *,
        additional_properties: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        aof_storage_connection_string_0: builtins.str = ...,
        aof_storage_connection_string_1: builtins.str = ...,
        maxfragmentationmemory_reserved: builtins.str = ...,
        maxmemory_delta: builtins.str = ...,
        maxmemory_policy: builtins.str = ...,
        maxmemory_reserved: builtins.str = ...,
        rdb_backup_enabled: builtins.str = ...,
        rdb_backup_frequency: builtins.str = ...,
        rdb_backup_max_snapshot_count: builtins.str = ...,
        rdb_storage_connection_string: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["additional_properties", b"additional_properties", "aof_storage_connection_string_0", b"aof_storage_connection_string_0", "aof_storage_connection_string_1", b"aof_storage_connection_string_1", "maxfragmentationmemory_reserved", b"maxfragmentationmemory_reserved", "maxmemory_delta", b"maxmemory_delta", "maxmemory_policy", b"maxmemory_policy", "maxmemory_reserved", b"maxmemory_reserved", "rdb_backup_enabled", b"rdb_backup_enabled", "rdb_backup_frequency", b"rdb_backup_frequency", "rdb_backup_max_snapshot_count", b"rdb_backup_max_snapshot_count", "rdb_storage_connection_string", b"rdb_storage_connection_string"]) -> None: ...

global___RedisCommonPropertiesRedisConfiguration = RedisCommonPropertiesRedisConfiguration

@typing_extensions.final
class ManagedServiceIdentity(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    @typing_extensions.final
    class UserAssignedIdentitiesEntry(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_extensions.Literal["key", b"key", "value", b"value"]) -> None: ...

    TYPE_FIELD_NUMBER: builtins.int
    USER_ASSIGNED_IDENTITIES_FIELD_NUMBER: builtins.int
    type: builtins.str
    @property
    def user_assigned_identities(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    def __init__(
        self,
        *,
        type: builtins.str = ...,
        user_assigned_identities: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["type", b"type", "user_assigned_identities", b"user_assigned_identities"]) -> None: ...

global___ManagedServiceIdentity = ManagedServiceIdentity
