"""
@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 NetworkConnectivityHubXTimeouts(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___NetworkConnectivityHubXTimeouts = NetworkConnectivityHubXTimeouts

@typing_extensions.final
class NetworkConnectivityHub(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 RoutingVpcsEntry(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: ...

    CREATE_TIME_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    LABELS_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    PROJECT_FIELD_NUMBER: builtins.int
    ROUTING_VPCS_FIELD_NUMBER: builtins.int
    STATE_FIELD_NUMBER: builtins.int
    UNIQUE_ID_FIELD_NUMBER: builtins.int
    UPDATE_TIME_FIELD_NUMBER: builtins.int
    TIMEOUTS_FIELD_NUMBER: builtins.int
    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    create_time: builtins.str
    description: builtins.str
    id: builtins.str
    @property
    def labels(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    name: builtins.str
    project: builtins.str
    @property
    def routing_vpcs(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    state: builtins.str
    unique_id: builtins.str
    update_time: builtins.str
    @property
    def timeouts(self) -> global___NetworkConnectivityHubXTimeouts: ...
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    def __init__(
        self,
        *,
        create_time: builtins.str = ...,
        description: builtins.str = ...,
        id: builtins.str = ...,
        labels: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        name: builtins.str = ...,
        project: builtins.str = ...,
        routing_vpcs: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        state: builtins.str = ...,
        unique_id: builtins.str = ...,
        update_time: builtins.str = ...,
        timeouts: global___NetworkConnectivityHubXTimeouts | None = ...,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info", "timeouts", b"timeouts"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["create_time", b"create_time", "description", b"description", "id", b"id", "labels", b"labels", "name", b"name", "project", b"project", "resource_info", b"resource_info", "routing_vpcs", b"routing_vpcs", "state", b"state", "timeouts", b"timeouts", "unique_id", b"unique_id", "update_time", b"update_time"]) -> None: ...

global___NetworkConnectivityHub = NetworkConnectivityHub

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

    SITE_TO_SITE_DATA_TRANSFER_FIELD_NUMBER: builtins.int
    URIS_FIELD_NUMBER: builtins.int
    site_to_site_data_transfer: builtins.bool
    @property
    def uris(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        site_to_site_data_transfer: builtins.bool = ...,
        uris: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["site_to_site_data_transfer", b"site_to_site_data_transfer", "uris", b"uris"]) -> None: ...

global___NetworkConnectivitySpokeXLinkedInterconnectAttachments = NetworkConnectivitySpokeXLinkedInterconnectAttachments

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

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

global___NetworkConnectivitySpokeXLinkedRouterApplianceInstancesXInstances = NetworkConnectivitySpokeXLinkedRouterApplianceInstancesXInstances

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

    SITE_TO_SITE_DATA_TRANSFER_FIELD_NUMBER: builtins.int
    INSTANCES_FIELD_NUMBER: builtins.int
    site_to_site_data_transfer: builtins.bool
    @property
    def instances(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NetworkConnectivitySpokeXLinkedRouterApplianceInstancesXInstances]: ...
    def __init__(
        self,
        *,
        site_to_site_data_transfer: builtins.bool = ...,
        instances: collections.abc.Iterable[global___NetworkConnectivitySpokeXLinkedRouterApplianceInstancesXInstances] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["instances", b"instances", "site_to_site_data_transfer", b"site_to_site_data_transfer"]) -> None: ...

global___NetworkConnectivitySpokeXLinkedRouterApplianceInstances = NetworkConnectivitySpokeXLinkedRouterApplianceInstances

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

    SITE_TO_SITE_DATA_TRANSFER_FIELD_NUMBER: builtins.int
    URIS_FIELD_NUMBER: builtins.int
    site_to_site_data_transfer: builtins.bool
    @property
    def uris(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        site_to_site_data_transfer: builtins.bool = ...,
        uris: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["site_to_site_data_transfer", b"site_to_site_data_transfer", "uris", b"uris"]) -> None: ...

global___NetworkConnectivitySpokeXLinkedVpnTunnels = NetworkConnectivitySpokeXLinkedVpnTunnels

@typing_extensions.final
class NetworkConnectivitySpokeXTimeouts(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___NetworkConnectivitySpokeXTimeouts = NetworkConnectivitySpokeXTimeouts

@typing_extensions.final
class NetworkConnectivitySpoke(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: ...

    CREATE_TIME_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    HUB_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    LABELS_FIELD_NUMBER: builtins.int
    LOCATION_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    PROJECT_FIELD_NUMBER: builtins.int
    STATE_FIELD_NUMBER: builtins.int
    UNIQUE_ID_FIELD_NUMBER: builtins.int
    UPDATE_TIME_FIELD_NUMBER: builtins.int
    LINKED_INTERCONNECT_ATTACHMENTS_FIELD_NUMBER: builtins.int
    LINKED_ROUTER_APPLIANCE_INSTANCES_FIELD_NUMBER: builtins.int
    LINKED_VPN_TUNNELS_FIELD_NUMBER: builtins.int
    TIMEOUTS_FIELD_NUMBER: builtins.int
    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    create_time: builtins.str
    description: builtins.str
    hub: builtins.str
    id: builtins.str
    @property
    def labels(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    location: builtins.str
    name: builtins.str
    project: builtins.str
    state: builtins.str
    unique_id: builtins.str
    update_time: builtins.str
    @property
    def linked_interconnect_attachments(self) -> global___NetworkConnectivitySpokeXLinkedInterconnectAttachments: ...
    @property
    def linked_router_appliance_instances(self) -> global___NetworkConnectivitySpokeXLinkedRouterApplianceInstances: ...
    @property
    def linked_vpn_tunnels(self) -> global___NetworkConnectivitySpokeXLinkedVpnTunnels: ...
    @property
    def timeouts(self) -> global___NetworkConnectivitySpokeXTimeouts: ...
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    def __init__(
        self,
        *,
        create_time: builtins.str = ...,
        description: builtins.str = ...,
        hub: builtins.str = ...,
        id: builtins.str = ...,
        labels: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        location: builtins.str = ...,
        name: builtins.str = ...,
        project: builtins.str = ...,
        state: builtins.str = ...,
        unique_id: builtins.str = ...,
        update_time: builtins.str = ...,
        linked_interconnect_attachments: global___NetworkConnectivitySpokeXLinkedInterconnectAttachments | None = ...,
        linked_router_appliance_instances: global___NetworkConnectivitySpokeXLinkedRouterApplianceInstances | None = ...,
        linked_vpn_tunnels: global___NetworkConnectivitySpokeXLinkedVpnTunnels | None = ...,
        timeouts: global___NetworkConnectivitySpokeXTimeouts | None = ...,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["linked_interconnect_attachments", b"linked_interconnect_attachments", "linked_router_appliance_instances", b"linked_router_appliance_instances", "linked_vpn_tunnels", b"linked_vpn_tunnels", "resource_info", b"resource_info", "timeouts", b"timeouts"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["create_time", b"create_time", "description", b"description", "hub", b"hub", "id", b"id", "labels", b"labels", "linked_interconnect_attachments", b"linked_interconnect_attachments", "linked_router_appliance_instances", b"linked_router_appliance_instances", "linked_vpn_tunnels", b"linked_vpn_tunnels", "location", b"location", "name", b"name", "project", b"project", "resource_info", b"resource_info", "state", b"state", "timeouts", b"timeouts", "unique_id", b"unique_id", "update_time", b"update_time"]) -> None: ...

global___NetworkConnectivitySpoke = NetworkConnectivitySpoke

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

    INSTANCE_FIELD_NUMBER: builtins.int
    IP_ADDRESS_FIELD_NUMBER: builtins.int
    NETWORK_FIELD_NUMBER: builtins.int
    PORT_FIELD_NUMBER: builtins.int
    PROJECT_ID_FIELD_NUMBER: builtins.int
    instance: builtins.str
    ip_address: builtins.str
    network: builtins.str
    port: builtins.float
    project_id: builtins.str
    def __init__(
        self,
        *,
        instance: builtins.str = ...,
        ip_address: builtins.str = ...,
        network: builtins.str = ...,
        port: builtins.float = ...,
        project_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["instance", b"instance", "ip_address", b"ip_address", "network", b"network", "port", b"port", "project_id", b"project_id"]) -> None: ...

global___NetworkManagementConnectivityTestXDestination = NetworkManagementConnectivityTestXDestination

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

    INSTANCE_FIELD_NUMBER: builtins.int
    IP_ADDRESS_FIELD_NUMBER: builtins.int
    NETWORK_FIELD_NUMBER: builtins.int
    NETWORK_TYPE_FIELD_NUMBER: builtins.int
    PORT_FIELD_NUMBER: builtins.int
    PROJECT_ID_FIELD_NUMBER: builtins.int
    instance: builtins.str
    ip_address: builtins.str
    network: builtins.str
    network_type: builtins.str
    port: builtins.float
    project_id: builtins.str
    def __init__(
        self,
        *,
        instance: builtins.str = ...,
        ip_address: builtins.str = ...,
        network: builtins.str = ...,
        network_type: builtins.str = ...,
        port: builtins.float = ...,
        project_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["instance", b"instance", "ip_address", b"ip_address", "network", b"network", "network_type", b"network_type", "port", b"port", "project_id", b"project_id"]) -> None: ...

global___NetworkManagementConnectivityTestXSource = NetworkManagementConnectivityTestXSource

@typing_extensions.final
class NetworkManagementConnectivityTestXTimeouts(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___NetworkManagementConnectivityTestXTimeouts = NetworkManagementConnectivityTestXTimeouts

@typing_extensions.final
class NetworkManagementConnectivityTest(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: ...

    DESCRIPTION_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    LABELS_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    PROJECT_FIELD_NUMBER: builtins.int
    PROTOCOL_FIELD_NUMBER: builtins.int
    RELATED_PROJECTS_FIELD_NUMBER: builtins.int
    DESTINATION_FIELD_NUMBER: builtins.int
    SOURCE_FIELD_NUMBER: builtins.int
    TIMEOUTS_FIELD_NUMBER: builtins.int
    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    description: builtins.str
    id: builtins.str
    @property
    def labels(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    name: builtins.str
    project: builtins.str
    protocol: builtins.str
    @property
    def related_projects(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def destination(self) -> global___NetworkManagementConnectivityTestXDestination: ...
    @property
    def source(self) -> global___NetworkManagementConnectivityTestXSource: ...
    @property
    def timeouts(self) -> global___NetworkManagementConnectivityTestXTimeouts: ...
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    def __init__(
        self,
        *,
        description: builtins.str = ...,
        id: builtins.str = ...,
        labels: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        name: builtins.str = ...,
        project: builtins.str = ...,
        protocol: builtins.str = ...,
        related_projects: collections.abc.Iterable[builtins.str] | None = ...,
        destination: global___NetworkManagementConnectivityTestXDestination | None = ...,
        source: global___NetworkManagementConnectivityTestXSource | None = ...,
        timeouts: global___NetworkManagementConnectivityTestXTimeouts | None = ...,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["destination", b"destination", "resource_info", b"resource_info", "source", b"source", "timeouts", b"timeouts"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["description", b"description", "destination", b"destination", "id", b"id", "labels", b"labels", "name", b"name", "project", b"project", "protocol", b"protocol", "related_projects", b"related_projects", "resource_info", b"resource_info", "source", b"source", "timeouts", b"timeouts"]) -> None: ...

global___NetworkManagementConnectivityTest = NetworkManagementConnectivityTest

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

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

global___NetworkServicesEdgeCacheKeysetXPublicKey = NetworkServicesEdgeCacheKeysetXPublicKey

@typing_extensions.final
class NetworkServicesEdgeCacheKeysetXTimeouts(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___NetworkServicesEdgeCacheKeysetXTimeouts = NetworkServicesEdgeCacheKeysetXTimeouts

@typing_extensions.final
class NetworkServicesEdgeCacheKeyset(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: ...

    DESCRIPTION_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    LABELS_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    PROJECT_FIELD_NUMBER: builtins.int
    PUBLIC_KEY_FIELD_NUMBER: builtins.int
    TIMEOUTS_FIELD_NUMBER: builtins.int
    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    description: builtins.str
    id: builtins.str
    @property
    def labels(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    name: builtins.str
    project: builtins.str
    @property
    def public_key(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NetworkServicesEdgeCacheKeysetXPublicKey]: ...
    @property
    def timeouts(self) -> global___NetworkServicesEdgeCacheKeysetXTimeouts: ...
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    def __init__(
        self,
        *,
        description: builtins.str = ...,
        id: builtins.str = ...,
        labels: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        name: builtins.str = ...,
        project: builtins.str = ...,
        public_key: collections.abc.Iterable[global___NetworkServicesEdgeCacheKeysetXPublicKey] | None = ...,
        timeouts: global___NetworkServicesEdgeCacheKeysetXTimeouts | None = ...,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info", "timeouts", b"timeouts"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["description", b"description", "id", b"id", "labels", b"labels", "name", b"name", "project", b"project", "public_key", b"public_key", "resource_info", b"resource_info", "timeouts", b"timeouts"]) -> None: ...

global___NetworkServicesEdgeCacheKeyset = NetworkServicesEdgeCacheKeyset

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

    CONNECT_TIMEOUT_FIELD_NUMBER: builtins.int
    MAX_ATTEMPTS_TIMEOUT_FIELD_NUMBER: builtins.int
    READ_TIMEOUT_FIELD_NUMBER: builtins.int
    RESPONSE_TIMEOUT_FIELD_NUMBER: builtins.int
    connect_timeout: builtins.str
    max_attempts_timeout: builtins.str
    read_timeout: builtins.str
    response_timeout: builtins.str
    def __init__(
        self,
        *,
        connect_timeout: builtins.str = ...,
        max_attempts_timeout: builtins.str = ...,
        read_timeout: builtins.str = ...,
        response_timeout: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["connect_timeout", b"connect_timeout", "max_attempts_timeout", b"max_attempts_timeout", "read_timeout", b"read_timeout", "response_timeout", b"response_timeout"]) -> None: ...

global___NetworkServicesEdgeCacheOriginXTimeout = NetworkServicesEdgeCacheOriginXTimeout

@typing_extensions.final
class NetworkServicesEdgeCacheOriginXTimeouts(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___NetworkServicesEdgeCacheOriginXTimeouts = NetworkServicesEdgeCacheOriginXTimeouts

@typing_extensions.final
class NetworkServicesEdgeCacheOrigin(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: ...

    DESCRIPTION_FIELD_NUMBER: builtins.int
    FAILOVER_ORIGIN_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    LABELS_FIELD_NUMBER: builtins.int
    MAX_ATTEMPTS_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    ORIGIN_ADDRESS_FIELD_NUMBER: builtins.int
    PORT_FIELD_NUMBER: builtins.int
    PROJECT_FIELD_NUMBER: builtins.int
    PROTOCOL_FIELD_NUMBER: builtins.int
    RETRY_CONDITIONS_FIELD_NUMBER: builtins.int
    TIMEOUT_FIELD_NUMBER: builtins.int
    TIMEOUTS_FIELD_NUMBER: builtins.int
    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    description: builtins.str
    failover_origin: builtins.str
    id: builtins.str
    @property
    def labels(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    max_attempts: builtins.float
    name: builtins.str
    origin_address: builtins.str
    port: builtins.float
    project: builtins.str
    protocol: builtins.str
    @property
    def retry_conditions(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def timeout(self) -> global___NetworkServicesEdgeCacheOriginXTimeout: ...
    @property
    def timeouts(self) -> global___NetworkServicesEdgeCacheOriginXTimeouts: ...
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    def __init__(
        self,
        *,
        description: builtins.str = ...,
        failover_origin: builtins.str = ...,
        id: builtins.str = ...,
        labels: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        max_attempts: builtins.float = ...,
        name: builtins.str = ...,
        origin_address: builtins.str = ...,
        port: builtins.float = ...,
        project: builtins.str = ...,
        protocol: builtins.str = ...,
        retry_conditions: collections.abc.Iterable[builtins.str] | None = ...,
        timeout: global___NetworkServicesEdgeCacheOriginXTimeout | None = ...,
        timeouts: global___NetworkServicesEdgeCacheOriginXTimeouts | None = ...,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info", "timeout", b"timeout", "timeouts", b"timeouts"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["description", b"description", "failover_origin", b"failover_origin", "id", b"id", "labels", b"labels", "max_attempts", b"max_attempts", "name", b"name", "origin_address", b"origin_address", "port", b"port", "project", b"project", "protocol", b"protocol", "resource_info", b"resource_info", "retry_conditions", b"retry_conditions", "timeout", b"timeout", "timeouts", b"timeouts"]) -> None: ...

global___NetworkServicesEdgeCacheOrigin = NetworkServicesEdgeCacheOrigin

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

    ENABLE_FIELD_NUMBER: builtins.int
    SAMPLE_RATE_FIELD_NUMBER: builtins.int
    enable: builtins.bool
    sample_rate: builtins.float
    def __init__(
        self,
        *,
        enable: builtins.bool = ...,
        sample_rate: builtins.float = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["enable", b"enable", "sample_rate", b"sample_rate"]) -> None: ...

global___NetworkServicesEdgeCacheServiceXLogConfig = NetworkServicesEdgeCacheServiceXLogConfig

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

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

global___NetworkServicesEdgeCacheServiceXRoutingXHostRule = NetworkServicesEdgeCacheServiceXRoutingXHostRule

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

    HEADER_NAME_FIELD_NUMBER: builtins.int
    HEADER_VALUE_FIELD_NUMBER: builtins.int
    REPLACE_FIELD_NUMBER: builtins.int
    header_name: builtins.str
    header_value: builtins.str
    replace: builtins.bool
    def __init__(
        self,
        *,
        header_name: builtins.str = ...,
        header_value: builtins.str = ...,
        replace: builtins.bool = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["header_name", b"header_name", "header_value", b"header_value", "replace", b"replace"]) -> None: ...

global___NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXHeaderActionXRequestHeaderToAdd = NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXHeaderActionXRequestHeaderToAdd

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

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

global___NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXHeaderActionXRequestHeaderToRemove = NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXHeaderActionXRequestHeaderToRemove

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

    HEADER_NAME_FIELD_NUMBER: builtins.int
    HEADER_VALUE_FIELD_NUMBER: builtins.int
    REPLACE_FIELD_NUMBER: builtins.int
    header_name: builtins.str
    header_value: builtins.str
    replace: builtins.bool
    def __init__(
        self,
        *,
        header_name: builtins.str = ...,
        header_value: builtins.str = ...,
        replace: builtins.bool = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["header_name", b"header_name", "header_value", b"header_value", "replace", b"replace"]) -> None: ...

global___NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXHeaderActionXResponseHeaderToAdd = NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXHeaderActionXResponseHeaderToAdd

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

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

global___NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXHeaderActionXResponseHeaderToRemove = NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXHeaderActionXResponseHeaderToRemove

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

    REQUEST_HEADER_TO_ADD_FIELD_NUMBER: builtins.int
    REQUEST_HEADER_TO_REMOVE_FIELD_NUMBER: builtins.int
    RESPONSE_HEADER_TO_ADD_FIELD_NUMBER: builtins.int
    RESPONSE_HEADER_TO_REMOVE_FIELD_NUMBER: builtins.int
    @property
    def request_header_to_add(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXHeaderActionXRequestHeaderToAdd]: ...
    @property
    def request_header_to_remove(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXHeaderActionXRequestHeaderToRemove]: ...
    @property
    def response_header_to_add(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXHeaderActionXResponseHeaderToAdd]: ...
    @property
    def response_header_to_remove(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXHeaderActionXResponseHeaderToRemove]: ...
    def __init__(
        self,
        *,
        request_header_to_add: collections.abc.Iterable[global___NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXHeaderActionXRequestHeaderToAdd] | None = ...,
        request_header_to_remove: collections.abc.Iterable[global___NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXHeaderActionXRequestHeaderToRemove] | None = ...,
        response_header_to_add: collections.abc.Iterable[global___NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXHeaderActionXResponseHeaderToAdd] | None = ...,
        response_header_to_remove: collections.abc.Iterable[global___NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXHeaderActionXResponseHeaderToRemove] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["request_header_to_add", b"request_header_to_add", "request_header_to_remove", b"request_header_to_remove", "response_header_to_add", b"response_header_to_add", "response_header_to_remove", b"response_header_to_remove"]) -> None: ...

global___NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXHeaderAction = NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXHeaderAction

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

    EXACT_MATCH_FIELD_NUMBER: builtins.int
    HEADER_NAME_FIELD_NUMBER: builtins.int
    INVERT_MATCH_FIELD_NUMBER: builtins.int
    PREFIX_MATCH_FIELD_NUMBER: builtins.int
    PRESENT_MATCH_FIELD_NUMBER: builtins.int
    SUFFIX_MATCH_FIELD_NUMBER: builtins.int
    exact_match: builtins.str
    header_name: builtins.str
    invert_match: builtins.bool
    prefix_match: builtins.str
    present_match: builtins.bool
    suffix_match: builtins.str
    def __init__(
        self,
        *,
        exact_match: builtins.str = ...,
        header_name: builtins.str = ...,
        invert_match: builtins.bool = ...,
        prefix_match: builtins.str = ...,
        present_match: builtins.bool = ...,
        suffix_match: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["exact_match", b"exact_match", "header_name", b"header_name", "invert_match", b"invert_match", "prefix_match", b"prefix_match", "present_match", b"present_match", "suffix_match", b"suffix_match"]) -> None: ...

global___NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXMatchRuleXHeaderMatch = NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXMatchRuleXHeaderMatch

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

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

global___NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXMatchRuleXQueryParameterMatch = NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXMatchRuleXQueryParameterMatch

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

    FULL_PATH_MATCH_FIELD_NUMBER: builtins.int
    IGNORE_CASE_FIELD_NUMBER: builtins.int
    PATH_TEMPLATE_MATCH_FIELD_NUMBER: builtins.int
    PREFIX_MATCH_FIELD_NUMBER: builtins.int
    HEADER_MATCH_FIELD_NUMBER: builtins.int
    QUERY_PARAMETER_MATCH_FIELD_NUMBER: builtins.int
    full_path_match: builtins.str
    ignore_case: builtins.bool
    path_template_match: builtins.str
    prefix_match: builtins.str
    @property
    def header_match(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXMatchRuleXHeaderMatch]: ...
    @property
    def query_parameter_match(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXMatchRuleXQueryParameterMatch]: ...
    def __init__(
        self,
        *,
        full_path_match: builtins.str = ...,
        ignore_case: builtins.bool = ...,
        path_template_match: builtins.str = ...,
        prefix_match: builtins.str = ...,
        header_match: collections.abc.Iterable[global___NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXMatchRuleXHeaderMatch] | None = ...,
        query_parameter_match: collections.abc.Iterable[global___NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXMatchRuleXQueryParameterMatch] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["full_path_match", b"full_path_match", "header_match", b"header_match", "ignore_case", b"ignore_case", "path_template_match", b"path_template_match", "prefix_match", b"prefix_match", "query_parameter_match", b"query_parameter_match"]) -> None: ...

global___NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXMatchRule = NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXMatchRule

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

    EXCLUDE_HOST_FIELD_NUMBER: builtins.int
    EXCLUDE_QUERY_STRING_FIELD_NUMBER: builtins.int
    EXCLUDED_QUERY_PARAMETERS_FIELD_NUMBER: builtins.int
    INCLUDE_PROTOCOL_FIELD_NUMBER: builtins.int
    INCLUDED_COOKIE_NAMES_FIELD_NUMBER: builtins.int
    INCLUDED_HEADER_NAMES_FIELD_NUMBER: builtins.int
    INCLUDED_QUERY_PARAMETERS_FIELD_NUMBER: builtins.int
    exclude_host: builtins.bool
    exclude_query_string: builtins.bool
    @property
    def excluded_query_parameters(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    include_protocol: builtins.bool
    @property
    def included_cookie_names(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def included_header_names(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def included_query_parameters(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        exclude_host: builtins.bool = ...,
        exclude_query_string: builtins.bool = ...,
        excluded_query_parameters: collections.abc.Iterable[builtins.str] | None = ...,
        include_protocol: builtins.bool = ...,
        included_cookie_names: collections.abc.Iterable[builtins.str] | None = ...,
        included_header_names: collections.abc.Iterable[builtins.str] | None = ...,
        included_query_parameters: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["exclude_host", b"exclude_host", "exclude_query_string", b"exclude_query_string", "excluded_query_parameters", b"excluded_query_parameters", "include_protocol", b"include_protocol", "included_cookie_names", b"included_cookie_names", "included_header_names", b"included_header_names", "included_query_parameters", b"included_query_parameters"]) -> None: ...

global___NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXRouteActionXCdnPolicyXCacheKeyPolicy = NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXRouteActionXCdnPolicyXCacheKeyPolicy

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

    @typing_extensions.final
    class NegativeCachingPolicyEntry(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: ...

    CACHE_MODE_FIELD_NUMBER: builtins.int
    CLIENT_TTL_FIELD_NUMBER: builtins.int
    DEFAULT_TTL_FIELD_NUMBER: builtins.int
    MAX_TTL_FIELD_NUMBER: builtins.int
    NEGATIVE_CACHING_FIELD_NUMBER: builtins.int
    NEGATIVE_CACHING_POLICY_FIELD_NUMBER: builtins.int
    SIGNED_REQUEST_KEYSET_FIELD_NUMBER: builtins.int
    SIGNED_REQUEST_MODE_FIELD_NUMBER: builtins.int
    CACHE_KEY_POLICY_FIELD_NUMBER: builtins.int
    cache_mode: builtins.str
    client_ttl: builtins.str
    default_ttl: builtins.str
    max_ttl: builtins.str
    negative_caching: builtins.bool
    @property
    def negative_caching_policy(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    signed_request_keyset: builtins.str
    signed_request_mode: builtins.str
    @property
    def cache_key_policy(self) -> global___NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXRouteActionXCdnPolicyXCacheKeyPolicy: ...
    def __init__(
        self,
        *,
        cache_mode: builtins.str = ...,
        client_ttl: builtins.str = ...,
        default_ttl: builtins.str = ...,
        max_ttl: builtins.str = ...,
        negative_caching: builtins.bool = ...,
        negative_caching_policy: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        signed_request_keyset: builtins.str = ...,
        signed_request_mode: builtins.str = ...,
        cache_key_policy: global___NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXRouteActionXCdnPolicyXCacheKeyPolicy | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["cache_key_policy", b"cache_key_policy"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["cache_key_policy", b"cache_key_policy", "cache_mode", b"cache_mode", "client_ttl", b"client_ttl", "default_ttl", b"default_ttl", "max_ttl", b"max_ttl", "negative_caching", b"negative_caching", "negative_caching_policy", b"negative_caching_policy", "signed_request_keyset", b"signed_request_keyset", "signed_request_mode", b"signed_request_mode"]) -> None: ...

global___NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXRouteActionXCdnPolicy = NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXRouteActionXCdnPolicy

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

    ALLOW_CREDENTIALS_FIELD_NUMBER: builtins.int
    ALLOW_HEADERS_FIELD_NUMBER: builtins.int
    ALLOW_METHODS_FIELD_NUMBER: builtins.int
    ALLOW_ORIGINS_FIELD_NUMBER: builtins.int
    DISABLED_FIELD_NUMBER: builtins.int
    EXPOSE_HEADERS_FIELD_NUMBER: builtins.int
    MAX_AGE_FIELD_NUMBER: builtins.int
    allow_credentials: builtins.bool
    @property
    def allow_headers(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def allow_methods(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def allow_origins(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    disabled: builtins.bool
    @property
    def expose_headers(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    max_age: builtins.str
    def __init__(
        self,
        *,
        allow_credentials: builtins.bool = ...,
        allow_headers: collections.abc.Iterable[builtins.str] | None = ...,
        allow_methods: collections.abc.Iterable[builtins.str] | None = ...,
        allow_origins: collections.abc.Iterable[builtins.str] | None = ...,
        disabled: builtins.bool = ...,
        expose_headers: collections.abc.Iterable[builtins.str] | None = ...,
        max_age: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["allow_credentials", b"allow_credentials", "allow_headers", b"allow_headers", "allow_methods", b"allow_methods", "allow_origins", b"allow_origins", "disabled", b"disabled", "expose_headers", b"expose_headers", "max_age", b"max_age"]) -> None: ...

global___NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXRouteActionXCorsPolicy = NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXRouteActionXCorsPolicy

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

    HOST_REWRITE_FIELD_NUMBER: builtins.int
    PATH_PREFIX_REWRITE_FIELD_NUMBER: builtins.int
    PATH_TEMPLATE_REWRITE_FIELD_NUMBER: builtins.int
    host_rewrite: builtins.str
    path_prefix_rewrite: builtins.str
    path_template_rewrite: builtins.str
    def __init__(
        self,
        *,
        host_rewrite: builtins.str = ...,
        path_prefix_rewrite: builtins.str = ...,
        path_template_rewrite: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["host_rewrite", b"host_rewrite", "path_prefix_rewrite", b"path_prefix_rewrite", "path_template_rewrite", b"path_template_rewrite"]) -> None: ...

global___NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXRouteActionXUrlRewrite = NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXRouteActionXUrlRewrite

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

    CDN_POLICY_FIELD_NUMBER: builtins.int
    CORS_POLICY_FIELD_NUMBER: builtins.int
    URL_REWRITE_FIELD_NUMBER: builtins.int
    @property
    def cdn_policy(self) -> global___NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXRouteActionXCdnPolicy: ...
    @property
    def cors_policy(self) -> global___NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXRouteActionXCorsPolicy: ...
    @property
    def url_rewrite(self) -> global___NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXRouteActionXUrlRewrite: ...
    def __init__(
        self,
        *,
        cdn_policy: global___NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXRouteActionXCdnPolicy | None = ...,
        cors_policy: global___NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXRouteActionXCorsPolicy | None = ...,
        url_rewrite: global___NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXRouteActionXUrlRewrite | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["cdn_policy", b"cdn_policy", "cors_policy", b"cors_policy", "url_rewrite", b"url_rewrite"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["cdn_policy", b"cdn_policy", "cors_policy", b"cors_policy", "url_rewrite", b"url_rewrite"]) -> None: ...

global___NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXRouteAction = NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXRouteAction

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

    HOST_REDIRECT_FIELD_NUMBER: builtins.int
    HTTPS_REDIRECT_FIELD_NUMBER: builtins.int
    PATH_REDIRECT_FIELD_NUMBER: builtins.int
    PREFIX_REDIRECT_FIELD_NUMBER: builtins.int
    REDIRECT_RESPONSE_CODE_FIELD_NUMBER: builtins.int
    STRIP_QUERY_FIELD_NUMBER: builtins.int
    host_redirect: builtins.str
    https_redirect: builtins.bool
    path_redirect: builtins.str
    prefix_redirect: builtins.str
    redirect_response_code: builtins.str
    strip_query: builtins.bool
    def __init__(
        self,
        *,
        host_redirect: builtins.str = ...,
        https_redirect: builtins.bool = ...,
        path_redirect: builtins.str = ...,
        prefix_redirect: builtins.str = ...,
        redirect_response_code: builtins.str = ...,
        strip_query: builtins.bool = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["host_redirect", b"host_redirect", "https_redirect", b"https_redirect", "path_redirect", b"path_redirect", "prefix_redirect", b"prefix_redirect", "redirect_response_code", b"redirect_response_code", "strip_query", b"strip_query"]) -> None: ...

global___NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXUrlRedirect = NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXUrlRedirect

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

    DESCRIPTION_FIELD_NUMBER: builtins.int
    ORIGIN_FIELD_NUMBER: builtins.int
    PRIORITY_FIELD_NUMBER: builtins.int
    HEADER_ACTION_FIELD_NUMBER: builtins.int
    MATCH_RULE_FIELD_NUMBER: builtins.int
    ROUTE_ACTION_FIELD_NUMBER: builtins.int
    URL_REDIRECT_FIELD_NUMBER: builtins.int
    description: builtins.str
    origin: builtins.str
    priority: builtins.str
    @property
    def header_action(self) -> global___NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXHeaderAction: ...
    @property
    def match_rule(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXMatchRule]: ...
    @property
    def route_action(self) -> global___NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXRouteAction: ...
    @property
    def url_redirect(self) -> global___NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXUrlRedirect: ...
    def __init__(
        self,
        *,
        description: builtins.str = ...,
        origin: builtins.str = ...,
        priority: builtins.str = ...,
        header_action: global___NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXHeaderAction | None = ...,
        match_rule: collections.abc.Iterable[global___NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXMatchRule] | None = ...,
        route_action: global___NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXRouteAction | None = ...,
        url_redirect: global___NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRuleXUrlRedirect | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["header_action", b"header_action", "route_action", b"route_action", "url_redirect", b"url_redirect"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["description", b"description", "header_action", b"header_action", "match_rule", b"match_rule", "origin", b"origin", "priority", b"priority", "route_action", b"route_action", "url_redirect", b"url_redirect"]) -> None: ...

global___NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRule = NetworkServicesEdgeCacheServiceXRoutingXPathMatcherXRouteRule

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

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

global___NetworkServicesEdgeCacheServiceXRoutingXPathMatcher = NetworkServicesEdgeCacheServiceXRoutingXPathMatcher

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

    HOST_RULE_FIELD_NUMBER: builtins.int
    PATH_MATCHER_FIELD_NUMBER: builtins.int
    @property
    def host_rule(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NetworkServicesEdgeCacheServiceXRoutingXHostRule]: ...
    @property
    def path_matcher(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NetworkServicesEdgeCacheServiceXRoutingXPathMatcher]: ...
    def __init__(
        self,
        *,
        host_rule: collections.abc.Iterable[global___NetworkServicesEdgeCacheServiceXRoutingXHostRule] | None = ...,
        path_matcher: collections.abc.Iterable[global___NetworkServicesEdgeCacheServiceXRoutingXPathMatcher] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["host_rule", b"host_rule", "path_matcher", b"path_matcher"]) -> None: ...

global___NetworkServicesEdgeCacheServiceXRouting = NetworkServicesEdgeCacheServiceXRouting

@typing_extensions.final
class NetworkServicesEdgeCacheServiceXTimeouts(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___NetworkServicesEdgeCacheServiceXTimeouts = NetworkServicesEdgeCacheServiceXTimeouts

@typing_extensions.final
class NetworkServicesEdgeCacheService(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: ...

    DESCRIPTION_FIELD_NUMBER: builtins.int
    DISABLE_HTTP2_FIELD_NUMBER: builtins.int
    DISABLE_QUIC_FIELD_NUMBER: builtins.int
    EDGE_SECURITY_POLICY_FIELD_NUMBER: builtins.int
    EDGE_SSL_CERTIFICATES_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    IPV4_ADDRESSES_FIELD_NUMBER: builtins.int
    IPV6_ADDRESSES_FIELD_NUMBER: builtins.int
    LABELS_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    PROJECT_FIELD_NUMBER: builtins.int
    REQUIRE_TLS_FIELD_NUMBER: builtins.int
    SSL_POLICY_FIELD_NUMBER: builtins.int
    LOG_CONFIG_FIELD_NUMBER: builtins.int
    ROUTING_FIELD_NUMBER: builtins.int
    TIMEOUTS_FIELD_NUMBER: builtins.int
    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    description: builtins.str
    disable_http2: builtins.bool
    disable_quic: builtins.bool
    edge_security_policy: builtins.str
    @property
    def edge_ssl_certificates(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    id: builtins.str
    @property
    def ipv4_addresses(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def ipv6_addresses(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def labels(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    name: builtins.str
    project: builtins.str
    require_tls: builtins.bool
    ssl_policy: builtins.str
    @property
    def log_config(self) -> global___NetworkServicesEdgeCacheServiceXLogConfig: ...
    @property
    def routing(self) -> global___NetworkServicesEdgeCacheServiceXRouting: ...
    @property
    def timeouts(self) -> global___NetworkServicesEdgeCacheServiceXTimeouts: ...
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    def __init__(
        self,
        *,
        description: builtins.str = ...,
        disable_http2: builtins.bool = ...,
        disable_quic: builtins.bool = ...,
        edge_security_policy: builtins.str = ...,
        edge_ssl_certificates: collections.abc.Iterable[builtins.str] | None = ...,
        id: builtins.str = ...,
        ipv4_addresses: collections.abc.Iterable[builtins.str] | None = ...,
        ipv6_addresses: collections.abc.Iterable[builtins.str] | None = ...,
        labels: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        name: builtins.str = ...,
        project: builtins.str = ...,
        require_tls: builtins.bool = ...,
        ssl_policy: builtins.str = ...,
        log_config: global___NetworkServicesEdgeCacheServiceXLogConfig | None = ...,
        routing: global___NetworkServicesEdgeCacheServiceXRouting | None = ...,
        timeouts: global___NetworkServicesEdgeCacheServiceXTimeouts | None = ...,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["log_config", b"log_config", "resource_info", b"resource_info", "routing", b"routing", "timeouts", b"timeouts"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["description", b"description", "disable_http2", b"disable_http2", "disable_quic", b"disable_quic", "edge_security_policy", b"edge_security_policy", "edge_ssl_certificates", b"edge_ssl_certificates", "id", b"id", "ipv4_addresses", b"ipv4_addresses", "ipv6_addresses", b"ipv6_addresses", "labels", b"labels", "log_config", b"log_config", "name", b"name", "project", b"project", "require_tls", b"require_tls", "resource_info", b"resource_info", "routing", b"routing", "ssl_policy", b"ssl_policy", "timeouts", b"timeouts"]) -> None: ...

global___NetworkServicesEdgeCacheService = NetworkServicesEdgeCacheService
