"""
@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 google.protobuf.wrappers_pb2
import typing
import yandex.cloud.quotamanager.v1.resource_pb2

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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

    RESOURCE_FIELD_NUMBER: builtins.int
    QUOTA_ID_FIELD_NUMBER: builtins.int
    quota_id: builtins.str
    """The id of the quota to retrieve."""
    @property
    def resource(self) -> yandex.cloud.quotamanager.v1.resource_pb2.Resource:
        """The resource for which the quota limit is being requested."""

    def __init__(
        self,
        *,
        resource: yandex.cloud.quotamanager.v1.resource_pb2.Resource | None = ...,
        quota_id: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["resource", b"resource"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["quota_id", b"quota_id", "resource", b"resource"]) -> None: ...

global___GetQuotaLimitRequest = GetQuotaLimitRequest

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

    RESOURCE_FIELD_NUMBER: builtins.int
    SERVICE_FIELD_NUMBER: builtins.int
    PAGE_SIZE_FIELD_NUMBER: builtins.int
    PAGE_TOKEN_FIELD_NUMBER: builtins.int
    service: builtins.str
    """The service for which quota limits are being requested."""
    page_size: builtins.int
    """The maximum number of quota limits to return per response."""
    page_token: builtins.str
    """Token to retrieve the next page of results. Omitted on the first request."""
    @property
    def resource(self) -> yandex.cloud.quotamanager.v1.resource_pb2.Resource:
        """The resource for which quota limits are being listed."""

    def __init__(
        self,
        *,
        resource: yandex.cloud.quotamanager.v1.resource_pb2.Resource | None = ...,
        service: builtins.str = ...,
        page_size: builtins.int = ...,
        page_token: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["resource", b"resource"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["page_size", b"page_size", "page_token", b"page_token", "resource", b"resource", "service", b"service"]) -> None: ...

global___ListQuotaLimitsRequest = ListQuotaLimitsRequest

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

    RESOURCE_FIELD_NUMBER: builtins.int
    QUOTA_LIMITS_FIELD_NUMBER: builtins.int
    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    next_page_token: builtins.str
    """Token to retrieve the next page of results."""
    @property
    def resource(self) -> yandex.cloud.quotamanager.v1.resource_pb2.Resource:
        """The associated resource for these quota limits."""

    @property
    def quota_limits(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___QuotaLimit]:
        """List of quota limits for the specified resource and service."""

    def __init__(
        self,
        *,
        resource: yandex.cloud.quotamanager.v1.resource_pb2.Resource | None = ...,
        quota_limits: collections.abc.Iterable[global___QuotaLimit] | None = ...,
        next_page_token: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["resource", b"resource"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["next_page_token", b"next_page_token", "quota_limits", b"quota_limits", "resource", b"resource"]) -> None: ...

global___ListQuotaLimitsResponse = ListQuotaLimitsResponse

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

    RESOURCE_TYPE_FIELD_NUMBER: builtins.int
    PAGE_SIZE_FIELD_NUMBER: builtins.int
    PAGE_TOKEN_FIELD_NUMBER: builtins.int
    resource_type: builtins.str
    """The type of resources for which services are being requested."""
    page_size: builtins.int
    """The maximum number of services to return per response."""
    page_token: builtins.str
    """Token to retrieve the next page of results. Omitted on the first request."""
    def __init__(
        self,
        *,
        resource_type: builtins.str = ...,
        page_size: builtins.int = ...,
        page_token: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["page_size", b"page_size", "page_token", b"page_token", "resource_type", b"resource_type"]) -> None: ...

global___ListServicesRequest = ListServicesRequest

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

    SERVICES_FIELD_NUMBER: builtins.int
    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    next_page_token: builtins.str
    """Token to retrieve the next page of results."""
    @property
    def services(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Service]:
        """List of services available for quota management."""

    def __init__(
        self,
        *,
        services: collections.abc.Iterable[global___Service] | None = ...,
        next_page_token: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["next_page_token", b"next_page_token", "services", b"services"]) -> None: ...

global___ListServicesResponse = ListServicesResponse

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

    QUOTA_ID_FIELD_NUMBER: builtins.int
    LIMIT_FIELD_NUMBER: builtins.int
    USAGE_FIELD_NUMBER: builtins.int
    quota_id: builtins.str
    """The unique id of the quota."""
    @property
    def limit(self) -> google.protobuf.wrappers_pb2.DoubleValue:
        """The limit value set for this quota."""

    @property
    def usage(self) -> google.protobuf.wrappers_pb2.DoubleValue:
        """The current usage level of this quota."""

    def __init__(
        self,
        *,
        quota_id: builtins.str = ...,
        limit: google.protobuf.wrappers_pb2.DoubleValue | None = ...,
        usage: google.protobuf.wrappers_pb2.DoubleValue | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["limit", b"limit", "usage", b"usage"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["limit", b"limit", "quota_id", b"quota_id", "usage", b"usage"]) -> None: ...

global___QuotaLimit = QuotaLimit

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

    ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    id: builtins.str
    """The unique id of the service."""
    name: builtins.str
    """The name of the service."""
    def __init__(
        self,
        *,
        id: builtins.str = ...,
        name: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["id", b"id", "name", b"name"]) -> None: ...

global___Service = Service
