"""
@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.mdb.opensearch.v1.extension_pb2

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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

    CLUSTER_ID_FIELD_NUMBER: builtins.int
    EXTENSION_ID_FIELD_NUMBER: builtins.int
    cluster_id: builtins.str
    """Required. ID of the cluster."""
    extension_id: builtins.str
    """Required. ID of the extension to return."""
    def __init__(
        self,
        *,
        cluster_id: builtins.str = ...,
        extension_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["cluster_id", b"cluster_id", "extension_id", b"extension_id"]) -> None: ...

global___GetExtensionRequest = GetExtensionRequest

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

    CLUSTER_ID_FIELD_NUMBER: builtins.int
    PAGE_SIZE_FIELD_NUMBER: builtins.int
    PAGE_TOKEN_FIELD_NUMBER: builtins.int
    cluster_id: builtins.str
    """Required. ID of the cluster to list extensions in."""
    page_size: builtins.int
    """The maximum number of results per page that should be returned. If the number of available
    results is larger than `page_size`, the service returns a `next_page_token` that can be used
    to get the next page of results in subsequent ListBackups requests.
    Acceptable values are 0 to 1000, inclusive. Default value: 100.
    """
    page_token: builtins.str
    """Page token. Set `page_token` to the `next_page_token` returned by a previous ListBackups
    request to get the next page of results.
    """
    def __init__(
        self,
        *,
        cluster_id: builtins.str = ...,
        page_size: builtins.int = ...,
        page_token: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["cluster_id", b"cluster_id", "page_size", b"page_size", "page_token", b"page_token"]) -> None: ...

global___ListExtensionsRequest = ListExtensionsRequest

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

    EXTENSIONS_FIELD_NUMBER: builtins.int
    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    next_page_token: builtins.str
    """This token allows you to get the next page of results for ListBackups requests,
    if the number of results is larger than `page_size` specified in the request.
    To get the next page, specify the value of `next_page_token` as a value for
    the `page_token` parameter in the next ListBackups request. Subsequent ListBackups
    requests will have their own `next_page_token` to continue paging through the results.
    """
    @property
    def extensions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[yandex.cloud.mdb.opensearch.v1.extension_pb2.Extension]:
        """Requested list of extensions."""

    def __init__(
        self,
        *,
        extensions: collections.abc.Iterable[yandex.cloud.mdb.opensearch.v1.extension_pb2.Extension] | None = ...,
        next_page_token: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["extensions", b"extensions", "next_page_token", b"next_page_token"]) -> None: ...

global___ListExtensionsResponse = ListExtensionsResponse

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

    CLUSTER_ID_FIELD_NUMBER: builtins.int
    EXTENSION_ID_FIELD_NUMBER: builtins.int
    cluster_id: builtins.str
    """Required. ID of the cluster."""
    extension_id: builtins.str
    """Required. ID of the extension to delete."""
    def __init__(
        self,
        *,
        cluster_id: builtins.str = ...,
        extension_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["cluster_id", b"cluster_id", "extension_id", b"extension_id"]) -> None: ...

global___DeleteExtensionRequest = DeleteExtensionRequest

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

    CLUSTER_ID_FIELD_NUMBER: builtins.int
    EXTENSION_ID_FIELD_NUMBER: builtins.int
    cluster_id: builtins.str
    """Required. ID of the cluster."""
    extension_id: builtins.str
    """Required. ID of the extension to delete."""
    def __init__(
        self,
        *,
        cluster_id: builtins.str = ...,
        extension_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["cluster_id", b"cluster_id", "extension_id", b"extension_id"]) -> None: ...

global___DeleteExtensionMetadata = DeleteExtensionMetadata

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

    CLUSTER_ID_FIELD_NUMBER: builtins.int
    EXTENSION_ID_FIELD_NUMBER: builtins.int
    ACTIVE_FIELD_NUMBER: builtins.int
    cluster_id: builtins.str
    """Required. ID of the cluster."""
    extension_id: builtins.str
    """Required. ID of the extension to update."""
    active: builtins.bool
    def __init__(
        self,
        *,
        cluster_id: builtins.str = ...,
        extension_id: builtins.str = ...,
        active: builtins.bool = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["active", b"active", "cluster_id", b"cluster_id", "extension_id", b"extension_id"]) -> None: ...

global___UpdateExtensionRequest = UpdateExtensionRequest

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

    CLUSTER_ID_FIELD_NUMBER: builtins.int
    EXTENSION_ID_FIELD_NUMBER: builtins.int
    cluster_id: builtins.str
    """Required. ID of the cluster."""
    extension_id: builtins.str
    """Required. ID of the extension."""
    def __init__(
        self,
        *,
        cluster_id: builtins.str = ...,
        extension_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["cluster_id", b"cluster_id", "extension_id", b"extension_id"]) -> None: ...

global___UpdateExtensionMetadata = UpdateExtensionMetadata

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

    CLUSTER_ID_FIELD_NUMBER: builtins.int
    EXTENSION_SPEC_FIELD_NUMBER: builtins.int
    cluster_id: builtins.str
    """Required. ID of the cluster."""
    @property
    def extension_spec(self) -> yandex.cloud.mdb.opensearch.v1.extension_pb2.ExtensionSpec: ...
    def __init__(
        self,
        *,
        cluster_id: builtins.str = ...,
        extension_spec: yandex.cloud.mdb.opensearch.v1.extension_pb2.ExtensionSpec | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["extension_spec", b"extension_spec"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["cluster_id", b"cluster_id", "extension_spec", b"extension_spec"]) -> None: ...

global___CreateExtensionRequest = CreateExtensionRequest

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

    CLUSTER_ID_FIELD_NUMBER: builtins.int
    EXTENSION_ID_FIELD_NUMBER: builtins.int
    cluster_id: builtins.str
    """Required. ID of the cluster."""
    extension_id: builtins.str
    """Required. ID of the extension."""
    def __init__(
        self,
        *,
        cluster_id: builtins.str = ...,
        extension_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["cluster_id", b"cluster_id", "extension_id", b"extension_id"]) -> None: ...

global___CreateExtensionMetadata = CreateExtensionMetadata
