"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""

import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.field_mask_pb2
import google.protobuf.internal.containers
import google.protobuf.message
import google.protobuf.struct_pb2
import google.protobuf.timestamp_pb2
import google.protobuf.wrappers_pb2
import typing
import yandex.cloud.datasphere.v1.project_pb2

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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

    FOLDER_ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    SETTINGS_FIELD_NUMBER: builtins.int
    LIMITS_FIELD_NUMBER: builtins.int
    folder_id: builtins.str
    """ID of the folder to create a project in.
    To get the folder ID use a [yandex.cloud.resourcemanager.v1.FolderService.List] request.
    """
    name: builtins.str
    """Name of the project."""
    description: builtins.str
    """Description of the project."""
    @property
    def settings(self) -> yandex.cloud.datasphere.v1.project_pb2.Project.Settings:
        """Settings of the project."""

    @property
    def limits(self) -> yandex.cloud.datasphere.v1.project_pb2.Project.Limits:
        """Limits of the project."""

    def __init__(
        self,
        *,
        folder_id: builtins.str = ...,
        name: builtins.str = ...,
        description: builtins.str = ...,
        settings: yandex.cloud.datasphere.v1.project_pb2.Project.Settings | None = ...,
        limits: yandex.cloud.datasphere.v1.project_pb2.Project.Limits | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["limits", b"limits", "settings", b"settings"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["description", b"description", "folder_id", b"folder_id", "limits", b"limits", "name", b"name", "settings", b"settings"]) -> None: ...

global___CreateProjectRequest = CreateProjectRequest

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

    PROJECT_ID_FIELD_NUMBER: builtins.int
    project_id: builtins.str
    """ID of the project that is being created."""
    def __init__(
        self,
        *,
        project_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["project_id", b"project_id"]) -> None: ...

global___CreateProjectMetadata = CreateProjectMetadata

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

    PROJECT_ID_FIELD_NUMBER: builtins.int
    UPDATE_MASK_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    SETTINGS_FIELD_NUMBER: builtins.int
    LIMITS_FIELD_NUMBER: builtins.int
    project_id: builtins.str
    """ID of the Project resource to update.
    To get the project ID use a [ProjectService.List] request.
    """
    name: builtins.str
    """Name of the project."""
    description: builtins.str
    """Description of the project."""
    @property
    def update_mask(self) -> google.protobuf.field_mask_pb2.FieldMask:
        """Field mask that specifies which fields of the Project resource are going to be updated."""

    @property
    def settings(self) -> yandex.cloud.datasphere.v1.project_pb2.Project.Settings:
        """Settings of the project."""

    @property
    def limits(self) -> yandex.cloud.datasphere.v1.project_pb2.Project.Limits:
        """Limits of the project."""

    def __init__(
        self,
        *,
        project_id: builtins.str = ...,
        update_mask: google.protobuf.field_mask_pb2.FieldMask | None = ...,
        name: builtins.str = ...,
        description: builtins.str = ...,
        settings: yandex.cloud.datasphere.v1.project_pb2.Project.Settings | None = ...,
        limits: yandex.cloud.datasphere.v1.project_pb2.Project.Limits | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["limits", b"limits", "settings", b"settings", "update_mask", b"update_mask"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["description", b"description", "limits", b"limits", "name", b"name", "project_id", b"project_id", "settings", b"settings", "update_mask", b"update_mask"]) -> None: ...

global___UpdateProjectRequest = UpdateProjectRequest

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

    PROJECT_ID_FIELD_NUMBER: builtins.int
    project_id: builtins.str
    """ID of the project that is being updated."""
    def __init__(
        self,
        *,
        project_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["project_id", b"project_id"]) -> None: ...

global___UpdateProjectMetadata = UpdateProjectMetadata

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

    PROJECT_ID_FIELD_NUMBER: builtins.int
    project_id: builtins.str
    """ID of the Project resource to delete.
    To get the project ID use a [ProjectService.List] request.
    """
    def __init__(
        self,
        *,
        project_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["project_id", b"project_id"]) -> None: ...

global___DeleteProjectRequest = DeleteProjectRequest

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

    PROJECT_ID_FIELD_NUMBER: builtins.int
    project_id: builtins.str
    """ID of the project that is being deleted."""
    def __init__(
        self,
        *,
        project_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["project_id", b"project_id"]) -> None: ...

global___DeleteProjectMetadata = DeleteProjectMetadata

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

    PROJECT_ID_FIELD_NUMBER: builtins.int
    project_id: builtins.str
    """ID of the Project resource to open.
    To get the project ID use a [ProjectService.List] request.
    """
    def __init__(
        self,
        *,
        project_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["project_id", b"project_id"]) -> None: ...

global___OpenProjectRequest = OpenProjectRequest

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

    PROJECT_ID_FIELD_NUMBER: builtins.int
    project_id: builtins.str
    """ID of the project that is being opened."""
    def __init__(
        self,
        *,
        project_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["project_id", b"project_id"]) -> None: ...

global___OpenProjectMetadata = OpenProjectMetadata

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

    PROJECT_URL_FIELD_NUMBER: builtins.int
    SESSION_TOKEN_FIELD_NUMBER: builtins.int
    project_url: builtins.str
    """URL of the project that is being opened.
    Make GET request to [project_url] with sessionToken query parameter equals to [session_token]
    or POST request to [project_url] with sessionToken body parameter equals to [session_token]
    to fetch Datasphere web interface.
    """
    session_token: builtins.str
    """Session token of the project that is being opened."""
    def __init__(
        self,
        *,
        project_url: builtins.str = ...,
        session_token: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["project_url", b"project_url", "session_token", b"session_token"]) -> None: ...

global___OpenProjectResponse = OpenProjectResponse

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

    PROJECT_ID_FIELD_NUMBER: builtins.int
    project_id: builtins.str
    """ID of the Project resource to return.
    To get the project ID use a [ProjectService.List] request.
    """
    def __init__(
        self,
        *,
        project_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["project_id", b"project_id"]) -> None: ...

global___GetProjectRequest = GetProjectRequest

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

    FOLDER_ID_FIELD_NUMBER: builtins.int
    PAGE_SIZE_FIELD_NUMBER: builtins.int
    PAGE_TOKEN_FIELD_NUMBER: builtins.int
    folder_id: builtins.str
    """ID of the folder to list projects in.
    To get the folder ID use a [yandex.cloud.resourcemanager.v1.FolderService.List] request.
    """
    page_size: builtins.int
    """The maximum number of results per page to return. If the number of available
    results is larger than [page_size],
    the service returns a [ListProjectsResponse.next_page_token]
    that can be used to get the next page of results in subsequent list requests.
    """
    page_token: builtins.str
    """Page token. To get the next page of results, set [page_token] to the
    [ListProjectsResponse.next_page_token] returned by a previous list request.
    """
    def __init__(
        self,
        *,
        folder_id: builtins.str = ...,
        page_size: builtins.int = ...,
        page_token: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["folder_id", b"folder_id", "page_size", b"page_size", "page_token", b"page_token"]) -> None: ...

global___ListProjectsRequest = ListProjectsRequest

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

    PROJECTS_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 list requests. If the number of results
    is larger than [ListProjectsRequest.page_size], use
    the [next_page_token] as the value
    for the [ListProjectsRequest.page_token] query parameter
    in the next list request. Each subsequent list request will have its own
    [next_page_token] to continue paging through the results.
    """
    @property
    def projects(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[yandex.cloud.datasphere.v1.project_pb2.Project]:
        """List of Project resources."""

    def __init__(
        self,
        *,
        projects: collections.abc.Iterable[yandex.cloud.datasphere.v1.project_pb2.Project] | None = ...,
        next_page_token: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["next_page_token", b"next_page_token", "projects", b"projects"]) -> None: ...

global___ListProjectsResponse = ListProjectsResponse

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

    PROJECT_ID_FIELD_NUMBER: builtins.int
    project_id: builtins.str
    """ID of the project to return the unit balance for."""
    def __init__(
        self,
        *,
        project_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["project_id", b"project_id"]) -> None: ...

global___GetUnitBalanceRequest = GetUnitBalanceRequest

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

    UNIT_BALANCE_FIELD_NUMBER: builtins.int
    @property
    def unit_balance(self) -> google.protobuf.wrappers_pb2.Int64Value:
        """The number of units available to the project."""

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

global___GetUnitBalanceResponse = GetUnitBalanceResponse

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

    PROJECT_ID_FIELD_NUMBER: builtins.int
    UNIT_BALANCE_FIELD_NUMBER: builtins.int
    project_id: builtins.str
    """ID of the project to set the unit balance for."""
    @property
    def unit_balance(self) -> google.protobuf.wrappers_pb2.Int64Value:
        """The number of units available to the project."""

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

global___SetUnitBalanceRequest = SetUnitBalanceRequest

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

    PROJECT_ID_FIELD_NUMBER: builtins.int
    NOTEBOOK_ID_FIELD_NUMBER: builtins.int
    CELL_ID_FIELD_NUMBER: builtins.int
    INPUT_VARIABLES_FIELD_NUMBER: builtins.int
    OUTPUT_VARIABLE_NAMES_FIELD_NUMBER: builtins.int
    project_id: builtins.str
    """ID of the project to execute notebook/cell in."""
    notebook_id: builtins.str
    """ID of the notebook to execute."""
    cell_id: builtins.str
    """ID of the cell to execute."""
    @property
    def input_variables(self) -> google.protobuf.struct_pb2.Struct:
        """Values of input variables."""

    @property
    def output_variable_names(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
        """Names of output variables."""

    def __init__(
        self,
        *,
        project_id: builtins.str = ...,
        notebook_id: builtins.str = ...,
        cell_id: builtins.str = ...,
        input_variables: google.protobuf.struct_pb2.Struct | None = ...,
        output_variable_names: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["cell_id", b"cell_id", "input_variables", b"input_variables", "notebook_id", b"notebook_id", "target", b"target"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["cell_id", b"cell_id", "input_variables", b"input_variables", "notebook_id", b"notebook_id", "output_variable_names", b"output_variable_names", "project_id", b"project_id", "target", b"target"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["target", b"target"]) -> typing.Literal["notebook_id", "cell_id"] | None: ...

global___ProjectExecutionRequest = ProjectExecutionRequest

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

    PROJECT_ID_FIELD_NUMBER: builtins.int
    NOTEBOOK_ID_FIELD_NUMBER: builtins.int
    CELL_ID_FIELD_NUMBER: builtins.int
    project_id: builtins.str
    """ID of the project in which notebook is being executed."""
    notebook_id: builtins.str
    """ID of the notebook that is being executed"""
    cell_id: builtins.str
    """ID of the cell that is being executed"""
    def __init__(
        self,
        *,
        project_id: builtins.str = ...,
        notebook_id: builtins.str = ...,
        cell_id: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["cell_id", b"cell_id", "notebook_id", b"notebook_id", "target", b"target"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["cell_id", b"cell_id", "notebook_id", b"notebook_id", "project_id", b"project_id", "target", b"target"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["target", b"target"]) -> typing.Literal["notebook_id", "cell_id"] | None: ...

global___ProjectExecutionMetadata = ProjectExecutionMetadata

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

    CHECKPOINT_ID_FIELD_NUMBER: builtins.int
    OUTPUT_VARIABLES_FIELD_NUMBER: builtins.int
    checkpoint_id: builtins.str
    """ID of the checkpoint resulting from the execution."""
    @property
    def output_variables(self) -> google.protobuf.struct_pb2.Struct:
        """Values of output variables resulting from the execution."""

    def __init__(
        self,
        *,
        checkpoint_id: builtins.str = ...,
        output_variables: google.protobuf.struct_pb2.Struct | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["output_variables", b"output_variables"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["checkpoint_id", b"checkpoint_id", "output_variables", b"output_variables"]) -> None: ...

global___ProjectExecutionResponse = ProjectExecutionResponse

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

    PROJECT_ID_FIELD_NUMBER: builtins.int
    CELL_ID_FIELD_NUMBER: builtins.int
    CHECKPOINT_ID_FIELD_NUMBER: builtins.int
    START_AT_FIELD_NUMBER: builtins.int
    project_id: builtins.str
    """ID of the project to return cell outputs for."""
    cell_id: builtins.str
    """ID of the cell to return outputs for."""
    checkpoint_id: builtins.str
    """ID of the checkpoint to return cell outputs for."""
    @property
    def start_at(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """Timestamp from which to return outputs."""

    def __init__(
        self,
        *,
        project_id: builtins.str = ...,
        cell_id: builtins.str = ...,
        checkpoint_id: builtins.str = ...,
        start_at: google.protobuf.timestamp_pb2.Timestamp | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["start_at", b"start_at"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["cell_id", b"cell_id", "checkpoint_id", b"checkpoint_id", "project_id", b"project_id", "start_at", b"start_at"]) -> None: ...

global___CellOutputsRequest = CellOutputsRequest

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

    OUTPUTS_FIELD_NUMBER: builtins.int
    @property
    def outputs(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
        """List of outputs."""

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

global___CellOutputsResponse = CellOutputsResponse

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

    PROJECT_ID_FIELD_NUMBER: builtins.int
    NOTEBOOK_ID_FIELD_NUMBER: builtins.int
    VARIABLE_NAMES_FIELD_NUMBER: builtins.int
    CHECKPOINT_ID_FIELD_NUMBER: builtins.int
    project_id: builtins.str
    """ID of the project, for which to return state variables."""
    notebook_id: builtins.str
    """ID of the notebook, for which to return state variables."""
    checkpoint_id: builtins.str
    """ID of the checkpoint, for which to return state variables."""
    @property
    def variable_names(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
        """Names of variables to return."""

    def __init__(
        self,
        *,
        project_id: builtins.str = ...,
        notebook_id: builtins.str = ...,
        variable_names: collections.abc.Iterable[builtins.str] | None = ...,
        checkpoint_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["checkpoint_id", b"checkpoint_id", "notebook_id", b"notebook_id", "project_id", b"project_id", "variable_names", b"variable_names"]) -> None: ...

global___GetStateVariablesRequest = GetStateVariablesRequest

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

    VARIABLES_FIELD_NUMBER: builtins.int
    @property
    def variables(self) -> google.protobuf.struct_pb2.Struct:
        """Values of the specified variables."""

    def __init__(
        self,
        *,
        variables: google.protobuf.struct_pb2.Struct | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["variables", b"variables"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["variables", b"variables"]) -> None: ...

global___GetStateVariablesResponse = GetStateVariablesResponse

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

    PROJECT_ID_FIELD_NUMBER: builtins.int
    NOTEBOOK_PATH_FIELD_NUMBER: builtins.int
    project_id: builtins.str
    """ID of the project, for which to return notebook metadata."""
    notebook_path: builtins.str
    """Path of the notebook to get metadata."""
    def __init__(
        self,
        *,
        project_id: builtins.str = ...,
        notebook_path: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["notebook_path", b"notebook_path", "project_id", b"project_id"]) -> None: ...

global___GetNotebookMetadataRequest = GetNotebookMetadataRequest

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

    NOTEBOOK_ID_FIELD_NUMBER: builtins.int
    CREATED_AT_FIELD_NUMBER: builtins.int
    MODIFIED_AT_FIELD_NUMBER: builtins.int
    CONTENT_LENGTH_FIELD_NUMBER: builtins.int
    CELL_IDS_FIELD_NUMBER: builtins.int
    notebook_id: builtins.str
    """ID of the specified notebook."""
    content_length: builtins.int
    """Content length of the specified notebook."""
    @property
    def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """The time the notebook was created."""

    @property
    def modified_at(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """The time the notebook was modified last time."""

    @property
    def cell_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
        """Cell ids of the specified notebook."""

    def __init__(
        self,
        *,
        notebook_id: builtins.str = ...,
        created_at: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        modified_at: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        content_length: builtins.int = ...,
        cell_ids: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["created_at", b"created_at", "modified_at", b"modified_at"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["cell_ids", b"cell_ids", "content_length", b"content_length", "created_at", b"created_at", "modified_at", b"modified_at", "notebook_id", b"notebook_id"]) -> None: ...

global___GetNotebookMetadataResponse = GetNotebookMetadataResponse
