"""
@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 typing
import yandex.cloud.cdn.v1.resource_pb2
import yandex.cloud.cdn.v1.rule_pb2

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing.final
class ListResourceRulesRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_ID_FIELD_NUMBER: builtins.int
    resource_id: builtins.str
    """ID of resource."""
    def __init__(
        self,
        *,
        resource_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["resource_id", b"resource_id"]) -> None: ...

global___ListResourceRulesRequest = ListResourceRulesRequest

@typing.final
class ListResourceRulesResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RULES_FIELD_NUMBER: builtins.int
    @property
    def rules(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[yandex.cloud.cdn.v1.rule_pb2.Rule]:
        """List of the resource rules."""

    def __init__(
        self,
        *,
        rules: collections.abc.Iterable[yandex.cloud.cdn.v1.rule_pb2.Rule] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["rules", b"rules"]) -> None: ...

global___ListResourceRulesResponse = ListResourceRulesResponse

@typing.final
class CreateResourceRuleRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    RULE_PATTERN_FIELD_NUMBER: builtins.int
    OPTIONS_FIELD_NUMBER: builtins.int
    resource_id: builtins.str
    """ID of resource."""
    name: builtins.str
    """Name of created resource rule."""
    rule_pattern: builtins.str
    """Resource rule pattern."""
    @property
    def options(self) -> yandex.cloud.cdn.v1.resource_pb2.ResourceOptions: ...
    def __init__(
        self,
        *,
        resource_id: builtins.str = ...,
        name: builtins.str = ...,
        rule_pattern: builtins.str = ...,
        options: yandex.cloud.cdn.v1.resource_pb2.ResourceOptions | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["options", b"options"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["name", b"name", "options", b"options", "resource_id", b"resource_id", "rule_pattern", b"rule_pattern"]) -> None: ...

global___CreateResourceRuleRequest = CreateResourceRuleRequest

@typing.final
class CreateResourceRuleMetadata(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_ID_FIELD_NUMBER: builtins.int
    RULE_ID_FIELD_NUMBER: builtins.int
    resource_id: builtins.str
    """ID of resource."""
    rule_id: builtins.int
    """ID of created resource rule."""
    def __init__(
        self,
        *,
        resource_id: builtins.str = ...,
        rule_id: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["resource_id", b"resource_id", "rule_id", b"rule_id"]) -> None: ...

global___CreateResourceRuleMetadata = CreateResourceRuleMetadata

@typing.final
class GetResourceRuleRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_ID_FIELD_NUMBER: builtins.int
    RULE_ID_FIELD_NUMBER: builtins.int
    resource_id: builtins.str
    """ID of resource."""
    rule_id: builtins.int
    """ID of the requested resource rule."""
    def __init__(
        self,
        *,
        resource_id: builtins.str = ...,
        rule_id: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["resource_id", b"resource_id", "rule_id", b"rule_id"]) -> None: ...

global___GetResourceRuleRequest = GetResourceRuleRequest

@typing.final
class UpdateResourceRuleRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_ID_FIELD_NUMBER: builtins.int
    RULE_ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    RULE_PATTERN_FIELD_NUMBER: builtins.int
    OPTIONS_FIELD_NUMBER: builtins.int
    resource_id: builtins.str
    """ID of resource."""
    rule_id: builtins.int
    """ID of updated resource rule."""
    name: builtins.str
    """Name of updated resource rule."""
    rule_pattern: builtins.str
    """Resource rule pattern."""
    @property
    def options(self) -> yandex.cloud.cdn.v1.resource_pb2.ResourceOptions: ...
    def __init__(
        self,
        *,
        resource_id: builtins.str = ...,
        rule_id: builtins.int = ...,
        name: builtins.str = ...,
        rule_pattern: builtins.str = ...,
        options: yandex.cloud.cdn.v1.resource_pb2.ResourceOptions | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["options", b"options"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["name", b"name", "options", b"options", "resource_id", b"resource_id", "rule_id", b"rule_id", "rule_pattern", b"rule_pattern"]) -> None: ...

global___UpdateResourceRuleRequest = UpdateResourceRuleRequest

@typing.final
class UpdateResourceRuleMetadata(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_ID_FIELD_NUMBER: builtins.int
    RULE_ID_FIELD_NUMBER: builtins.int
    resource_id: builtins.str
    """ID of resource."""
    rule_id: builtins.int
    """ID of updated resource rule."""
    def __init__(
        self,
        *,
        resource_id: builtins.str = ...,
        rule_id: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["resource_id", b"resource_id", "rule_id", b"rule_id"]) -> None: ...

global___UpdateResourceRuleMetadata = UpdateResourceRuleMetadata

@typing.final
class DeleteResourceRuleRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_ID_FIELD_NUMBER: builtins.int
    RULE_ID_FIELD_NUMBER: builtins.int
    resource_id: builtins.str
    """ID of resource."""
    rule_id: builtins.int
    """ID of deleted resource rule."""
    def __init__(
        self,
        *,
        resource_id: builtins.str = ...,
        rule_id: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["resource_id", b"resource_id", "rule_id", b"rule_id"]) -> None: ...

global___DeleteResourceRuleRequest = DeleteResourceRuleRequest

@typing.final
class DeleteResourceRuleMetadata(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_ID_FIELD_NUMBER: builtins.int
    RULE_ID_FIELD_NUMBER: builtins.int
    resource_id: builtins.str
    """ID of resource."""
    rule_id: builtins.int
    """ID of deleted resource rule."""
    def __init__(
        self,
        *,
        resource_id: builtins.str = ...,
        rule_id: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["resource_id", b"resource_id", "rule_id", b"rule_id"]) -> None: ...

global___DeleteResourceRuleMetadata = DeleteResourceRuleMetadata
