"""
@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 RedisInstanceXMaintenancePolicyXWeeklyMaintenanceWindowXStartTime(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    HOURS_FIELD_NUMBER: builtins.int
    MINUTES_FIELD_NUMBER: builtins.int
    NANOS_FIELD_NUMBER: builtins.int
    SECONDS_FIELD_NUMBER: builtins.int
    hours: builtins.float
    minutes: builtins.float
    nanos: builtins.float
    seconds: builtins.float
    def __init__(
        self,
        *,
        hours: builtins.float = ...,
        minutes: builtins.float = ...,
        nanos: builtins.float = ...,
        seconds: builtins.float = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["hours", b"hours", "minutes", b"minutes", "nanos", b"nanos", "seconds", b"seconds"]) -> None: ...

global___RedisInstanceXMaintenancePolicyXWeeklyMaintenanceWindowXStartTime = RedisInstanceXMaintenancePolicyXWeeklyMaintenanceWindowXStartTime

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

    DAY_FIELD_NUMBER: builtins.int
    DURATION_FIELD_NUMBER: builtins.int
    START_TIME_FIELD_NUMBER: builtins.int
    day: builtins.str
    duration: builtins.str
    @property
    def start_time(self) -> global___RedisInstanceXMaintenancePolicyXWeeklyMaintenanceWindowXStartTime: ...
    def __init__(
        self,
        *,
        day: builtins.str = ...,
        duration: builtins.str = ...,
        start_time: global___RedisInstanceXMaintenancePolicyXWeeklyMaintenanceWindowXStartTime | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["start_time", b"start_time"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["day", b"day", "duration", b"duration", "start_time", b"start_time"]) -> None: ...

global___RedisInstanceXMaintenancePolicyXWeeklyMaintenanceWindow = RedisInstanceXMaintenancePolicyXWeeklyMaintenanceWindow

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

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

global___RedisInstanceXMaintenancePolicy = RedisInstanceXMaintenancePolicy

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

    END_TIME_FIELD_NUMBER: builtins.int
    SCHEDULE_DEADLINE_TIME_FIELD_NUMBER: builtins.int
    START_TIME_FIELD_NUMBER: builtins.int
    end_time: builtins.str
    schedule_deadline_time: builtins.str
    start_time: builtins.str
    def __init__(
        self,
        *,
        end_time: builtins.str = ...,
        schedule_deadline_time: builtins.str = ...,
        start_time: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["end_time", b"end_time", "schedule_deadline_time", b"schedule_deadline_time", "start_time", b"start_time"]) -> None: ...

global___RedisInstanceXMaintenanceSchedule = RedisInstanceXMaintenanceSchedule

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

    CREATE_FIELD_NUMBER: builtins.int
    DELETE_FIELD_NUMBER: builtins.int
    UPDATE_FIELD_NUMBER: builtins.int
    create: builtins.str
    delete: builtins.str
    update: builtins.str
    def __init__(
        self,
        *,
        create: builtins.str = ...,
        delete: builtins.str = ...,
        update: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["create", b"create", "delete", b"delete", "update", b"update"]) -> None: ...

global___RedisInstanceXTimeouts = RedisInstanceXTimeouts

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

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

    @typing_extensions.final
    class NodesEntry(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 RedisConfigsEntry(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 ServerCaCertsEntry(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: ...

    ALTERNATIVE_LOCATION_ID_FIELD_NUMBER: builtins.int
    AUTH_ENABLED_FIELD_NUMBER: builtins.int
    AUTH_STRING_FIELD_NUMBER: builtins.int
    AUTHORIZED_NETWORK_FIELD_NUMBER: builtins.int
    CONNECT_MODE_FIELD_NUMBER: builtins.int
    CREATE_TIME_FIELD_NUMBER: builtins.int
    CURRENT_LOCATION_ID_FIELD_NUMBER: builtins.int
    CUSTOMER_MANAGED_KEY_FIELD_NUMBER: builtins.int
    DISPLAY_NAME_FIELD_NUMBER: builtins.int
    HOST_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    LABELS_FIELD_NUMBER: builtins.int
    LOCATION_ID_FIELD_NUMBER: builtins.int
    MEMORY_SIZE_GB_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    NODES_FIELD_NUMBER: builtins.int
    PERSISTENCE_IAM_IDENTITY_FIELD_NUMBER: builtins.int
    PORT_FIELD_NUMBER: builtins.int
    PROJECT_FIELD_NUMBER: builtins.int
    READ_ENDPOINT_FIELD_NUMBER: builtins.int
    READ_ENDPOINT_PORT_FIELD_NUMBER: builtins.int
    READ_REPLICAS_MODE_FIELD_NUMBER: builtins.int
    REDIS_CONFIGS_FIELD_NUMBER: builtins.int
    REDIS_VERSION_FIELD_NUMBER: builtins.int
    REGION_FIELD_NUMBER: builtins.int
    REPLICA_COUNT_FIELD_NUMBER: builtins.int
    RESERVED_IP_RANGE_FIELD_NUMBER: builtins.int
    SECONDARY_IP_RANGE_FIELD_NUMBER: builtins.int
    SERVER_CA_CERTS_FIELD_NUMBER: builtins.int
    TIER_FIELD_NUMBER: builtins.int
    TRANSIT_ENCRYPTION_MODE_FIELD_NUMBER: builtins.int
    MAINTENANCE_POLICY_FIELD_NUMBER: builtins.int
    MAINTENANCE_SCHEDULE_FIELD_NUMBER: builtins.int
    TIMEOUTS_FIELD_NUMBER: builtins.int
    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    alternative_location_id: builtins.str
    auth_enabled: builtins.bool
    auth_string: builtins.str
    authorized_network: builtins.str
    connect_mode: builtins.str
    create_time: builtins.str
    current_location_id: builtins.str
    customer_managed_key: builtins.str
    display_name: builtins.str
    host: builtins.str
    id: builtins.str
    @property
    def labels(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    location_id: builtins.str
    memory_size_gb: builtins.float
    name: builtins.str
    @property
    def nodes(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    persistence_iam_identity: builtins.str
    port: builtins.float
    project: builtins.str
    read_endpoint: builtins.str
    read_endpoint_port: builtins.float
    read_replicas_mode: builtins.str
    @property
    def redis_configs(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    redis_version: builtins.str
    region: builtins.str
    replica_count: builtins.float
    reserved_ip_range: builtins.str
    secondary_ip_range: builtins.str
    @property
    def server_ca_certs(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    tier: builtins.str
    transit_encryption_mode: builtins.str
    @property
    def maintenance_policy(self) -> global___RedisInstanceXMaintenancePolicy: ...
    @property
    def maintenance_schedule(self) -> global___RedisInstanceXMaintenanceSchedule: ...
    @property
    def timeouts(self) -> global___RedisInstanceXTimeouts: ...
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    def __init__(
        self,
        *,
        alternative_location_id: builtins.str = ...,
        auth_enabled: builtins.bool = ...,
        auth_string: builtins.str = ...,
        authorized_network: builtins.str = ...,
        connect_mode: builtins.str = ...,
        create_time: builtins.str = ...,
        current_location_id: builtins.str = ...,
        customer_managed_key: builtins.str = ...,
        display_name: builtins.str = ...,
        host: builtins.str = ...,
        id: builtins.str = ...,
        labels: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        location_id: builtins.str = ...,
        memory_size_gb: builtins.float = ...,
        name: builtins.str = ...,
        nodes: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        persistence_iam_identity: builtins.str = ...,
        port: builtins.float = ...,
        project: builtins.str = ...,
        read_endpoint: builtins.str = ...,
        read_endpoint_port: builtins.float = ...,
        read_replicas_mode: builtins.str = ...,
        redis_configs: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        redis_version: builtins.str = ...,
        region: builtins.str = ...,
        replica_count: builtins.float = ...,
        reserved_ip_range: builtins.str = ...,
        secondary_ip_range: builtins.str = ...,
        server_ca_certs: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        tier: builtins.str = ...,
        transit_encryption_mode: builtins.str = ...,
        maintenance_policy: global___RedisInstanceXMaintenancePolicy | None = ...,
        maintenance_schedule: global___RedisInstanceXMaintenanceSchedule | None = ...,
        timeouts: global___RedisInstanceXTimeouts | None = ...,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["maintenance_policy", b"maintenance_policy", "maintenance_schedule", b"maintenance_schedule", "resource_info", b"resource_info", "timeouts", b"timeouts"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["alternative_location_id", b"alternative_location_id", "auth_enabled", b"auth_enabled", "auth_string", b"auth_string", "authorized_network", b"authorized_network", "connect_mode", b"connect_mode", "create_time", b"create_time", "current_location_id", b"current_location_id", "customer_managed_key", b"customer_managed_key", "display_name", b"display_name", "host", b"host", "id", b"id", "labels", b"labels", "location_id", b"location_id", "maintenance_policy", b"maintenance_policy", "maintenance_schedule", b"maintenance_schedule", "memory_size_gb", b"memory_size_gb", "name", b"name", "nodes", b"nodes", "persistence_iam_identity", b"persistence_iam_identity", "port", b"port", "project", b"project", "read_endpoint", b"read_endpoint", "read_endpoint_port", b"read_endpoint_port", "read_replicas_mode", b"read_replicas_mode", "redis_configs", b"redis_configs", "redis_version", b"redis_version", "region", b"region", "replica_count", b"replica_count", "reserved_ip_range", b"reserved_ip_range", "resource_info", b"resource_info", "secondary_ip_range", b"secondary_ip_range", "server_ca_certs", b"server_ca_certs", "tier", b"tier", "timeouts", b"timeouts", "transit_encryption_mode", b"transit_encryption_mode"]) -> None: ...

global___RedisInstance = RedisInstance
