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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    EMIT_INTERVAL_FIELD_NUMBER: builtins.int
    ENABLED_FIELD_NUMBER: builtins.int
    S3_BUCKET_NAME_FIELD_NUMBER: builtins.int
    S3_BUCKET_PREFIX_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    emit_interval: builtins.int
    enabled: builtins.bool
    s3_bucket_name: builtins.str
    s3_bucket_prefix: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        emit_interval: builtins.int = ...,
        enabled: builtins.bool = ...,
        s3_bucket_name: builtins.str = ...,
        s3_bucket_prefix: 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["emit_interval", b"emit_interval", "enabled", b"enabled", "resource_info", b"resource_info", "s3_bucket_name", b"s3_bucket_name", "s3_bucket_prefix", b"s3_bucket_prefix"]) -> None: ...

global___LoadBalancerAccessLoggingPolicy = LoadBalancerAccessLoggingPolicy

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    COOKIE_NAME_FIELD_NUMBER: builtins.int
    POLICY_NAME_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    cookie_name: builtins.str
    policy_name: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        cookie_name: builtins.str = ...,
        policy_name: 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["cookie_name", b"cookie_name", "policy_name", b"policy_name", "resource_info", b"resource_info"]) -> None: ...

global___LoadBalancerAppCookieStickinessPolicy = LoadBalancerAppCookieStickinessPolicy

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    ENABLED_FIELD_NUMBER: builtins.int
    TIMEOUT_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    enabled: builtins.bool
    timeout: builtins.int
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        enabled: builtins.bool = ...,
        timeout: builtins.int = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["enabled", b"enabled", "resource_info", b"resource_info", "timeout", b"timeout"]) -> None: ...

global___LoadBalancerConnectionDrainingPolicy = LoadBalancerConnectionDrainingPolicy

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    IDLE_TIMEOUT_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    idle_timeout: builtins.int
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        idle_timeout: builtins.int = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["idle_timeout", b"idle_timeout", "resource_info", b"resource_info"]) -> None: ...

global___LoadBalancerConnectionSettings = LoadBalancerConnectionSettings

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    HEALTHY_THRESHOLD_FIELD_NUMBER: builtins.int
    INTERVAL_FIELD_NUMBER: builtins.int
    TARGET_FIELD_NUMBER: builtins.int
    TIMEOUT_FIELD_NUMBER: builtins.int
    UNHEALTHY_THRESHOLD_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    healthy_threshold: builtins.str
    interval: builtins.str
    target: builtins.str
    timeout: builtins.str
    unhealthy_threshold: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        healthy_threshold: builtins.str = ...,
        interval: builtins.str = ...,
        target: builtins.str = ...,
        timeout: builtins.str = ...,
        unhealthy_threshold: 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["healthy_threshold", b"healthy_threshold", "interval", b"interval", "resource_info", b"resource_info", "target", b"target", "timeout", b"timeout", "unhealthy_threshold", b"unhealthy_threshold"]) -> None: ...

global___LoadBalancerHealthCheck = LoadBalancerHealthCheck

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    COOKIE_EXPIRATION_PERIOD_FIELD_NUMBER: builtins.int
    POLICY_NAME_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    cookie_expiration_period: builtins.str
    policy_name: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        cookie_expiration_period: builtins.str = ...,
        policy_name: 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["cookie_expiration_period", b"cookie_expiration_period", "policy_name", b"policy_name", "resource_info", b"resource_info"]) -> None: ...

global___LoadBalancerLBCookieStickinessPolicy = LoadBalancerLBCookieStickinessPolicy

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    INSTANCE_PORT_FIELD_NUMBER: builtins.int
    INSTANCE_PROTOCOL_FIELD_NUMBER: builtins.int
    LOAD_BALANCER_PORT_FIELD_NUMBER: builtins.int
    POLICY_NAMES_FIELD_NUMBER: builtins.int
    PROTOCOL_FIELD_NUMBER: builtins.int
    SSL_CERTIFICATE_ID_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    instance_port: builtins.str
    instance_protocol: builtins.str
    load_balancer_port: builtins.str
    @property
    def policy_names(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    protocol: builtins.str
    ssl_certificate_id: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        instance_port: builtins.str = ...,
        instance_protocol: builtins.str = ...,
        load_balancer_port: builtins.str = ...,
        policy_names: collections.abc.Iterable[builtins.str] | None = ...,
        protocol: builtins.str = ...,
        ssl_certificate_id: 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["instance_port", b"instance_port", "instance_protocol", b"instance_protocol", "load_balancer_port", b"load_balancer_port", "policy_names", b"policy_names", "protocol", b"protocol", "resource_info", b"resource_info", "ssl_certificate_id", b"ssl_certificate_id"]) -> None: ...

global___LoadBalancerListeners = LoadBalancerListeners

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

    @typing_extensions.final
    class AttributesEntry(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
    ATTRIBUTES_FIELD_NUMBER: builtins.int
    INSTANCE_PORTS_FIELD_NUMBER: builtins.int
    LOAD_BALANCER_PORTS_FIELD_NUMBER: builtins.int
    POLICY_NAME_FIELD_NUMBER: builtins.int
    POLICY_TYPE_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def attributes(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    @property
    def instance_ports(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def load_balancer_ports(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    policy_name: builtins.str
    policy_type: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        attributes: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        instance_ports: collections.abc.Iterable[builtins.str] | None = ...,
        load_balancer_ports: collections.abc.Iterable[builtins.str] | None = ...,
        policy_name: builtins.str = ...,
        policy_type: 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["attributes", b"attributes", "instance_ports", b"instance_ports", "load_balancer_ports", b"load_balancer_ports", "policy_name", b"policy_name", "policy_type", b"policy_type", "resource_info", b"resource_info"]) -> None: ...

global___LoadBalancerPolicies = LoadBalancerPolicies

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

    @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
    ACCESS_LOGGING_POLICY_FIELD_NUMBER: builtins.int
    APP_COOKIE_STICKINESS_POLICY_FIELD_NUMBER: builtins.int
    AVAILABILITY_ZONES_FIELD_NUMBER: builtins.int
    CONNECTION_DRAINING_POLICY_FIELD_NUMBER: builtins.int
    CONNECTION_SETTINGS_FIELD_NUMBER: builtins.int
    CROSS_ZONE_FIELD_NUMBER: builtins.int
    HEALTH_CHECK_FIELD_NUMBER: builtins.int
    INSTANCES_FIELD_NUMBER: builtins.int
    LB_COOKIE_STICKINESS_POLICY_FIELD_NUMBER: builtins.int
    LISTENERS_FIELD_NUMBER: builtins.int
    LOAD_BALANCER_NAME_FIELD_NUMBER: builtins.int
    POLICIES_FIELD_NUMBER: builtins.int
    SCHEME_FIELD_NUMBER: builtins.int
    SECURITY_GROUPS_FIELD_NUMBER: builtins.int
    SUBNETS_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def access_logging_policy(self) -> global___LoadBalancerAccessLoggingPolicy: ...
    @property
    def app_cookie_stickiness_policy(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___LoadBalancerAppCookieStickinessPolicy]: ...
    @property
    def availability_zones(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def connection_draining_policy(self) -> global___LoadBalancerConnectionDrainingPolicy: ...
    @property
    def connection_settings(self) -> global___LoadBalancerConnectionSettings: ...
    cross_zone: builtins.bool
    @property
    def health_check(self) -> global___LoadBalancerHealthCheck: ...
    @property
    def instances(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def lb_cookie_stickiness_policy(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___LoadBalancerLBCookieStickinessPolicy]: ...
    @property
    def listeners(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___LoadBalancerListeners]: ...
    load_balancer_name: builtins.str
    @property
    def policies(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___LoadBalancerPolicies]: ...
    scheme: builtins.str
    @property
    def security_groups(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def subnets(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        access_logging_policy: global___LoadBalancerAccessLoggingPolicy | None = ...,
        app_cookie_stickiness_policy: collections.abc.Iterable[global___LoadBalancerAppCookieStickinessPolicy] | None = ...,
        availability_zones: collections.abc.Iterable[builtins.str] | None = ...,
        connection_draining_policy: global___LoadBalancerConnectionDrainingPolicy | None = ...,
        connection_settings: global___LoadBalancerConnectionSettings | None = ...,
        cross_zone: builtins.bool = ...,
        health_check: global___LoadBalancerHealthCheck | None = ...,
        instances: collections.abc.Iterable[builtins.str] | None = ...,
        lb_cookie_stickiness_policy: collections.abc.Iterable[global___LoadBalancerLBCookieStickinessPolicy] | None = ...,
        listeners: collections.abc.Iterable[global___LoadBalancerListeners] | None = ...,
        load_balancer_name: builtins.str = ...,
        policies: collections.abc.Iterable[global___LoadBalancerPolicies] | None = ...,
        scheme: builtins.str = ...,
        security_groups: collections.abc.Iterable[builtins.str] | None = ...,
        subnets: collections.abc.Iterable[builtins.str] | None = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["access_logging_policy", b"access_logging_policy", "connection_draining_policy", b"connection_draining_policy", "connection_settings", b"connection_settings", "health_check", b"health_check", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["access_logging_policy", b"access_logging_policy", "app_cookie_stickiness_policy", b"app_cookie_stickiness_policy", "availability_zones", b"availability_zones", "connection_draining_policy", b"connection_draining_policy", "connection_settings", b"connection_settings", "cross_zone", b"cross_zone", "health_check", b"health_check", "instances", b"instances", "lb_cookie_stickiness_policy", b"lb_cookie_stickiness_policy", "listeners", b"listeners", "load_balancer_name", b"load_balancer_name", "policies", b"policies", "resource_info", b"resource_info", "scheme", b"scheme", "security_groups", b"security_groups", "subnets", b"subnets", "tags", b"tags"]) -> None: ...

global___LoadBalancer = LoadBalancer

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

    LOAD_BALANCER_FIELD_NUMBER: builtins.int
    @property
    def load_balancer(self) -> global___LoadBalancer: ...
    def __init__(
        self,
        *,
        load_balancer: global___LoadBalancer | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["load_balancer", b"load_balancer"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["load_balancer", b"load_balancer"]) -> None: ...

global___ElasticLoadBalancing = ElasticLoadBalancing
