/// import { ChannelCredentials, ChannelOptions, UntypedServiceImplementation, handleUnaryCall, Client, ClientUnaryCall, Metadata, CallOptions, ServiceError } from '@grpc/grpc-js'; import _m0 from 'protobufjs/minimal'; import { DiskPlacementPolicy, Disk } from '../../../../yandex/cloud/compute/v1/disk'; import { HardwareGeneration } from '../../../../yandex/cloud/compute/v1/hardware_generation'; import { FieldMask } from '../../../../google/protobuf/field_mask'; import { Operation } from '../../../../yandex/cloud/operation/operation'; import { SnapshotSchedule } from '../../../../yandex/cloud/compute/v1/snapshot_schedule'; import { ListAccessBindingsRequest, ListAccessBindingsResponse, SetAccessBindingsRequest, UpdateAccessBindingsRequest } from '../../../../yandex/cloud/access/access'; export declare const protobufPackage = "yandex.cloud.compute.v1"; export interface GetDiskRequest { /** * ID of the Disk resource to return. * To get the disk ID use a [DiskService.List] request. */ diskId: string; } export interface ListDisksRequest { /** * ID of the folder to list disks in. * To get the folder ID use a [yandex.cloud.resourcemanager.v1.FolderService.List] request. */ folderId: string; /** * The maximum number of results per page to return. If the number of available * results is larger than [page_size], * the service returns a [ListDisksResponse.next_page_token] * that can be used to get the next page of results in subsequent list requests. */ pageSize: number; /** * Page token. To get the next page of results, set [page_token] to the * [ListDisksResponse.next_page_token] returned by a previous list request. */ pageToken: string; /** * A filter expression that filters resources listed in the response. * The expression consists of one or more conditions united by `AND` operator: ` [AND [<...> AND ]]`. * * Each condition has the form ` `, where: * 1. `` is the field name. Currently you can use filtering only on the limited number of fields. * 2. `` is a logical operator, one of `=`, `!=`, `IN`, `NOT IN`. * 3. `` represents a value. * String values should be written in double (`"`) or single (`'`) quotes. C-style escape sequences are supported (`\"` turns to `"`, `\'` to `'`, `\\` to backslash). */ filter: string; /** * By which column the listing should be ordered and in which direction, * format is "createdAt desc". "id asc" if omitted. * The default sorting order is ascending */ orderBy: string; } export interface ListDisksResponse { /** List of Disk resources. */ disks: Disk[]; /** * This token allows you to get the next page of results for list requests. If the number of results * is larger than [ListDisksRequest.page_size], use * the [next_page_token] as the value * for the [ListDisksRequest.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. */ nextPageToken: string; } export interface CreateDiskRequest { /** * ID of the folder to create a disk in. * To get the folder ID use a [yandex.cloud.resourcemanager.v1.FolderService.List] request. */ folderId: string; /** Name of the disk. */ name: string; /** Description of the disk. */ description: string; /** Resource labels as `key:value` pairs. */ labels: { [key: string]: string; }; /** * ID of the disk type. * To get a list of available disk types use the [yandex.cloud.compute.v1.DiskTypeService.List] request. */ typeId: string; /** * ID of the availability zone where the disk resides. * To get a list of available zones use the [yandex.cloud.compute.v1.ZoneService.List] request. */ zoneId: string; /** * Size of the disk, specified in bytes. * If the disk was created from a image, this value should be more than the * [yandex.cloud.compute.v1.Image.min_disk_size] value. */ size: number; /** ID of the image to create the disk from. */ imageId: string | undefined; /** ID of the snapshot to restore the disk from. */ snapshotId: string | undefined; /** Block size used for disk, specified in bytes. The default is 4096. */ blockSize: number; /** Placement policy configuration. */ diskPlacementPolicy?: DiskPlacementPolicy; /** List of IDs of the snapshot schedules to attach the disk to. */ snapshotScheduleIds: string[]; /** * Specify the overrides to hardware_generation of a source disk, image or snapshot, * or to the default values if the source does not define it. */ hardwareGeneration?: HardwareGeneration; /** ID of KMS key for disk encryption. */ kmsKeyId: string; } export interface CreateDiskRequest_LabelsEntry { key: string; value: string; } export interface CreateDiskMetadata { /** ID of the disk that is being created. */ diskId: string; } export interface UpdateDiskRequest { /** * ID of the Disk resource to update. * To get the disk ID use a [DiskService.List] request. */ diskId: string; /** Field mask that specifies which fields of the Disk resource are going to be updated. */ updateMask?: FieldMask; /** Name of the disk. */ name: string; /** Description of the disk. */ description: string; /** * Resource labels as `key:value` pairs. * * Existing set of `labels` is completely replaced by the provided set. */ labels: { [key: string]: string; }; /** Size of the disk, specified in bytes. */ size: number; /** Placement policy configuration. */ diskPlacementPolicy?: DiskPlacementPolicy; } export interface UpdateDiskRequest_LabelsEntry { key: string; value: string; } export interface UpdateDiskMetadata { /** ID of the Disk resource that is being updated. */ diskId: string; } export interface DeleteDiskRequest { /** * ID of the disk to delete. * To get the disk ID use a [DiskService.List] request. */ diskId: string; } export interface DeleteDiskMetadata { /** ID of the disk that is being deleted. */ diskId: string; } export interface ListDiskOperationsRequest { /** ID of the Disk resource to list operations for. */ diskId: string; /** * The maximum number of results per page to return. If the number of available * results is larger than [page_size], the service returns a [ListDiskOperationsResponse.next_page_token] * that can be used to get the next page of results in subsequent list requests. */ pageSize: number; /** * Page token. To get the next page of results, set [page_token] to the * [ListDiskOperationsResponse.next_page_token] returned by a previous list request. */ pageToken: string; } export interface ListDiskOperationsResponse { /** List of operations for the specified disk. */ operations: Operation[]; /** * This token allows you to get the next page of results for list requests. If the number of results * is larger than [ListDiskOperationsRequest.page_size], use the [next_page_token] as the value * for the [ListDiskOperationsRequest.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. */ nextPageToken: string; } export interface MoveDiskRequest { /** * ID of the disk to move. * * To get the disk ID, make a [DiskService.List] request. */ diskId: string; /** * ID of the folder to move the disk to. * * To get the folder ID, make a [yandex.cloud.resourcemanager.v1.FolderService.List] request. */ destinationFolderId: string; } export interface MoveDiskMetadata { /** ID of the disk that is being moved. */ diskId: string; /** ID of the folder that the disk is being moved from. */ sourceFolderId: string; /** ID of the folder that the disk is being moved to. */ destinationFolderId: string; } export interface RelocateDiskRequest { /** * ID of the disk to move. * * To get the disk ID, make a [DiskService.List] request. */ diskId: string; /** * ID of the availability zone to move the disk to. * * To get the zone ID, make a [ZoneService.List] request. */ destinationZoneId: string; /** Placement policy configuration in target zone. Must be specified if disk has placement policy. */ diskPlacementPolicy?: DiskPlacementPolicy; } export interface RelocateDiskMetadata { /** ID of the disk that is being moved. */ diskId: string; /** ID of the availability zone that the disk is being moved from. */ sourceZoneId: string; /** ID of the availability zone that the disk is being moved to. */ destinationZoneId: string; } export interface ListDiskSnapshotSchedulesRequest { /** ID of the disk to list snapshot schedules for. */ diskId: string; /** * The maximum number of results per page to return. If the number of available * results is larger than `page_size`, the service returns a [ListDiskSnapshotSchedulesResponse.next_page_token] * that can be used to get the next page of results in subsequent list requests. * * Default value: 100. */ pageSize: number; /** * Page token. To get the next page of results, set `page_token` to the * [ListDiskSnapshotSchedulesResponse.next_page_token] returned by a previous list request. */ pageToken: string; } export interface ListDiskSnapshotSchedulesResponse { /** List of snapshot schedules the specified disk is attached to. */ snapshotSchedules: SnapshotSchedule[]; /** * Token for getting the next page of the list. If the number of results is greater than * the specified [ListDiskSnapshotSchedulesRequest.page_size], use `next_page_token` as the value * for the [ListDiskSnapshotSchedulesRequest.page_token] parameter in the next list request. * * Each subsequent page will have its own `next_page_token` to continue paging through the results. */ nextPageToken: string; } export declare const GetDiskRequest: { encode(message: GetDiskRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): GetDiskRequest; fromJSON(object: any): GetDiskRequest; toJSON(message: GetDiskRequest): unknown; fromPartial, never>>(object: I): GetDiskRequest; }; export declare const ListDisksRequest: { encode(message: ListDisksRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ListDisksRequest; fromJSON(object: any): ListDisksRequest; toJSON(message: ListDisksRequest): unknown; fromPartial, never>>(object: I): ListDisksRequest; }; export declare const ListDisksResponse: { encode(message: ListDisksResponse, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ListDisksResponse; fromJSON(object: any): ListDisksResponse; toJSON(message: ListDisksResponse): unknown; fromPartial, never>) | undefined; typeId?: string | undefined; zoneId?: string | undefined; size?: number | undefined; blockSize?: number | undefined; productIds?: (string[] & string[] & Record, never>) | undefined; status?: import("../../../../yandex/cloud/compute/v1/disk").Disk_Status | undefined; sourceImageId?: string | undefined; sourceSnapshotId?: string | undefined; instanceIds?: (string[] & string[] & Record, never>) | undefined; diskPlacementPolicy?: ({ placementGroupId?: string | undefined; placementGroupPartition?: number | undefined; } & { placementGroupId?: string | undefined; placementGroupPartition?: number | undefined; } & Record, never>) | undefined; hardwareGeneration?: ({ legacyFeatures?: { pciTopology?: import("../../../../yandex/cloud/compute/v1/hardware_generation").PCITopology | undefined; } | undefined; generation2Features?: {} | undefined; } & { legacyFeatures?: ({ pciTopology?: import("../../../../yandex/cloud/compute/v1/hardware_generation").PCITopology | undefined; } & { pciTopology?: import("../../../../yandex/cloud/compute/v1/hardware_generation").PCITopology | undefined; } & Record, never>) | undefined; generation2Features?: ({} & {} & Record, never>) | undefined; } & Record, never>) | undefined; kmsKey?: ({ keyId?: string | undefined; versionId?: string | undefined; } & { keyId?: string | undefined; versionId?: string | undefined; } & Record, never>) | undefined; } & Record, never>)[] & Record, never>) | undefined; nextPageToken?: string | undefined; } & Record, never>>(object: I): ListDisksResponse; }; export declare const CreateDiskRequest: { encode(message: CreateDiskRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): CreateDiskRequest; fromJSON(object: any): CreateDiskRequest; toJSON(message: CreateDiskRequest): unknown; fromPartial, never>) | undefined; typeId?: string | undefined; zoneId?: string | undefined; size?: number | undefined; imageId?: string | undefined; snapshotId?: string | undefined; blockSize?: number | undefined; diskPlacementPolicy?: ({ placementGroupId?: string | undefined; placementGroupPartition?: number | undefined; } & { placementGroupId?: string | undefined; placementGroupPartition?: number | undefined; } & Record, never>) | undefined; snapshotScheduleIds?: (string[] & string[] & Record, never>) | undefined; hardwareGeneration?: ({ legacyFeatures?: { pciTopology?: import("../../../../yandex/cloud/compute/v1/hardware_generation").PCITopology | undefined; } | undefined; generation2Features?: {} | undefined; } & { legacyFeatures?: ({ pciTopology?: import("../../../../yandex/cloud/compute/v1/hardware_generation").PCITopology | undefined; } & { pciTopology?: import("../../../../yandex/cloud/compute/v1/hardware_generation").PCITopology | undefined; } & Record, never>) | undefined; generation2Features?: ({} & {} & Record, never>) | undefined; } & Record, never>) | undefined; kmsKeyId?: string | undefined; } & Record, never>>(object: I): CreateDiskRequest; }; export declare const CreateDiskRequest_LabelsEntry: { encode(message: CreateDiskRequest_LabelsEntry, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): CreateDiskRequest_LabelsEntry; fromJSON(object: any): CreateDiskRequest_LabelsEntry; toJSON(message: CreateDiskRequest_LabelsEntry): unknown; fromPartial, never>>(object: I): CreateDiskRequest_LabelsEntry; }; export declare const CreateDiskMetadata: { encode(message: CreateDiskMetadata, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): CreateDiskMetadata; fromJSON(object: any): CreateDiskMetadata; toJSON(message: CreateDiskMetadata): unknown; fromPartial, never>>(object: I): CreateDiskMetadata; }; export declare const UpdateDiskRequest: { encode(message: UpdateDiskRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): UpdateDiskRequest; fromJSON(object: any): UpdateDiskRequest; toJSON(message: UpdateDiskRequest): unknown; fromPartial, never>) | undefined; } & Record, never>) | undefined; name?: string | undefined; description?: string | undefined; labels?: ({ [x: string]: string | undefined; } & { [x: string]: string | undefined; } & Record, never>) | undefined; size?: number | undefined; diskPlacementPolicy?: ({ placementGroupId?: string | undefined; placementGroupPartition?: number | undefined; } & { placementGroupId?: string | undefined; placementGroupPartition?: number | undefined; } & Record, never>) | undefined; } & Record, never>>(object: I): UpdateDiskRequest; }; export declare const UpdateDiskRequest_LabelsEntry: { encode(message: UpdateDiskRequest_LabelsEntry, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): UpdateDiskRequest_LabelsEntry; fromJSON(object: any): UpdateDiskRequest_LabelsEntry; toJSON(message: UpdateDiskRequest_LabelsEntry): unknown; fromPartial, never>>(object: I): UpdateDiskRequest_LabelsEntry; }; export declare const UpdateDiskMetadata: { encode(message: UpdateDiskMetadata, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): UpdateDiskMetadata; fromJSON(object: any): UpdateDiskMetadata; toJSON(message: UpdateDiskMetadata): unknown; fromPartial, never>>(object: I): UpdateDiskMetadata; }; export declare const DeleteDiskRequest: { encode(message: DeleteDiskRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): DeleteDiskRequest; fromJSON(object: any): DeleteDiskRequest; toJSON(message: DeleteDiskRequest): unknown; fromPartial, never>>(object: I): DeleteDiskRequest; }; export declare const DeleteDiskMetadata: { encode(message: DeleteDiskMetadata, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): DeleteDiskMetadata; fromJSON(object: any): DeleteDiskMetadata; toJSON(message: DeleteDiskMetadata): unknown; fromPartial, never>>(object: I): DeleteDiskMetadata; }; export declare const ListDiskOperationsRequest: { encode(message: ListDiskOperationsRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ListDiskOperationsRequest; fromJSON(object: any): ListDiskOperationsRequest; toJSON(message: ListDiskOperationsRequest): unknown; fromPartial, never>>(object: I): ListDiskOperationsRequest; }; export declare const ListDiskOperationsResponse: { encode(message: ListDiskOperationsResponse, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ListDiskOperationsResponse; fromJSON(object: any): ListDiskOperationsResponse; toJSON(message: ListDiskOperationsResponse): unknown; fromPartial, never>) | undefined; error?: ({ code?: number | undefined; message?: string | undefined; details?: { typeUrl?: string | undefined; value?: Buffer | undefined; }[] | undefined; } & { code?: number | undefined; message?: string | undefined; details?: ({ typeUrl?: string | undefined; value?: Buffer | undefined; }[] & ({ typeUrl?: string | undefined; value?: Buffer | undefined; } & { typeUrl?: string | undefined; value?: Buffer | undefined; } & Record, never>)[] & Record, never>) | undefined; } & Record, never>) | undefined; response?: ({ typeUrl?: string | undefined; value?: Buffer | undefined; } & { typeUrl?: string | undefined; value?: Buffer | undefined; } & Record, never>) | undefined; } & Record, never>)[] & Record, never>) | undefined; nextPageToken?: string | undefined; } & Record, never>>(object: I): ListDiskOperationsResponse; }; export declare const MoveDiskRequest: { encode(message: MoveDiskRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): MoveDiskRequest; fromJSON(object: any): MoveDiskRequest; toJSON(message: MoveDiskRequest): unknown; fromPartial, never>>(object: I): MoveDiskRequest; }; export declare const MoveDiskMetadata: { encode(message: MoveDiskMetadata, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): MoveDiskMetadata; fromJSON(object: any): MoveDiskMetadata; toJSON(message: MoveDiskMetadata): unknown; fromPartial, never>>(object: I): MoveDiskMetadata; }; export declare const RelocateDiskRequest: { encode(message: RelocateDiskRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): RelocateDiskRequest; fromJSON(object: any): RelocateDiskRequest; toJSON(message: RelocateDiskRequest): unknown; fromPartial, never>) | undefined; } & Record, never>>(object: I): RelocateDiskRequest; }; export declare const RelocateDiskMetadata: { encode(message: RelocateDiskMetadata, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): RelocateDiskMetadata; fromJSON(object: any): RelocateDiskMetadata; toJSON(message: RelocateDiskMetadata): unknown; fromPartial, never>>(object: I): RelocateDiskMetadata; }; export declare const ListDiskSnapshotSchedulesRequest: { encode(message: ListDiskSnapshotSchedulesRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ListDiskSnapshotSchedulesRequest; fromJSON(object: any): ListDiskSnapshotSchedulesRequest; toJSON(message: ListDiskSnapshotSchedulesRequest): unknown; fromPartial, never>>(object: I): ListDiskSnapshotSchedulesRequest; }; export declare const ListDiskSnapshotSchedulesResponse: { encode(message: ListDiskSnapshotSchedulesResponse, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ListDiskSnapshotSchedulesResponse; fromJSON(object: any): ListDiskSnapshotSchedulesResponse; toJSON(message: ListDiskSnapshotSchedulesResponse): unknown; fromPartial, never>) | undefined; status?: import("../../../../yandex/cloud/compute/v1/snapshot_schedule").SnapshotSchedule_Status | undefined; schedulePolicy?: ({ startAt?: Date | undefined; expression?: string | undefined; } & { startAt?: Date | undefined; expression?: string | undefined; } & Record, never>) | undefined; retentionPeriod?: ({ seconds?: number | undefined; nanos?: number | undefined; } & { seconds?: number | undefined; nanos?: number | undefined; } & Record, never>) | undefined; snapshotCount?: number | undefined; snapshotSpec?: ({ description?: string | undefined; labels?: { [x: string]: string | undefined; } | undefined; } & { description?: string | undefined; labels?: ({ [x: string]: string | undefined; } & { [x: string]: string | undefined; } & Record, never>) | undefined; } & Record, never>) | undefined; } & Record, never>)[] & Record, never>) | undefined; nextPageToken?: string | undefined; } & Record, never>>(object: I): ListDiskSnapshotSchedulesResponse; }; /** A set of methods for managing Disk resources. */ export declare const DiskServiceService: { /** * Returns the specified Disk resource. * * To get the list of available Disk resources, make a [List] request. */ readonly get: { readonly path: "/yandex.cloud.compute.v1.DiskService/Get"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: GetDiskRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => GetDiskRequest; readonly responseSerialize: (value: Disk) => Buffer; readonly responseDeserialize: (value: Buffer) => Disk; }; /** Retrieves the list of Disk resources in the specified folder. */ readonly list: { readonly path: "/yandex.cloud.compute.v1.DiskService/List"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: ListDisksRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => ListDisksRequest; readonly responseSerialize: (value: ListDisksResponse) => Buffer; readonly responseDeserialize: (value: Buffer) => ListDisksResponse; }; /** * Creates a disk in the specified folder. * * You can create an empty disk or restore it from a snapshot or an image. * Method starts an asynchronous operation that can be cancelled while it is in progress. */ readonly create: { readonly path: "/yandex.cloud.compute.v1.DiskService/Create"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: CreateDiskRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => CreateDiskRequest; readonly responseSerialize: (value: Operation) => Buffer; readonly responseDeserialize: (value: Buffer) => Operation; }; /** Updates the specified disk. */ readonly update: { readonly path: "/yandex.cloud.compute.v1.DiskService/Update"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: UpdateDiskRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => UpdateDiskRequest; readonly responseSerialize: (value: Operation) => Buffer; readonly responseDeserialize: (value: Buffer) => Operation; }; /** * Deletes the specified disk. * * Deleting a disk removes its data permanently and is irreversible. However, deleting a disk does not delete * any snapshots or images previously made from the disk. You must delete snapshots and images separately. * * It is not possible to delete a disk that is attached to an instance. */ readonly delete: { readonly path: "/yandex.cloud.compute.v1.DiskService/Delete"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: DeleteDiskRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => DeleteDiskRequest; readonly responseSerialize: (value: Operation) => Buffer; readonly responseDeserialize: (value: Buffer) => Operation; }; /** Lists operations for the specified disk. */ readonly listOperations: { readonly path: "/yandex.cloud.compute.v1.DiskService/ListOperations"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: ListDiskOperationsRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => ListDiskOperationsRequest; readonly responseSerialize: (value: ListDiskOperationsResponse) => Buffer; readonly responseDeserialize: (value: Buffer) => ListDiskOperationsResponse; }; /** Moves the specified disk to another folder of the same cloud. */ readonly move: { readonly path: "/yandex.cloud.compute.v1.DiskService/Move"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: MoveDiskRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => MoveDiskRequest; readonly responseSerialize: (value: Operation) => Buffer; readonly responseDeserialize: (value: Buffer) => Operation; }; /** * Moves the specified disk to another availability zone * * Disk must be detached from instances. To move attached * disk use [InstanceService.Relocate] request. */ readonly relocate: { readonly path: "/yandex.cloud.compute.v1.DiskService/Relocate"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: RelocateDiskRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => RelocateDiskRequest; readonly responseSerialize: (value: Operation) => Buffer; readonly responseDeserialize: (value: Buffer) => Operation; }; /** Retrieves the list of snapshot schedules the specified disk is attached to. */ readonly listSnapshotSchedules: { readonly path: "/yandex.cloud.compute.v1.DiskService/ListSnapshotSchedules"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: ListDiskSnapshotSchedulesRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => ListDiskSnapshotSchedulesRequest; readonly responseSerialize: (value: ListDiskSnapshotSchedulesResponse) => Buffer; readonly responseDeserialize: (value: Buffer) => ListDiskSnapshotSchedulesResponse; }; /** Lists access bindings for the disk. */ readonly listAccessBindings: { readonly path: "/yandex.cloud.compute.v1.DiskService/ListAccessBindings"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: ListAccessBindingsRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => ListAccessBindingsRequest; readonly responseSerialize: (value: ListAccessBindingsResponse) => Buffer; readonly responseDeserialize: (value: Buffer) => ListAccessBindingsResponse; }; /** Sets access bindings for the disk. */ readonly setAccessBindings: { readonly path: "/yandex.cloud.compute.v1.DiskService/SetAccessBindings"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: SetAccessBindingsRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => SetAccessBindingsRequest; readonly responseSerialize: (value: Operation) => Buffer; readonly responseDeserialize: (value: Buffer) => Operation; }; /** Updates access bindings for the disk. */ readonly updateAccessBindings: { readonly path: "/yandex.cloud.compute.v1.DiskService/UpdateAccessBindings"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: UpdateAccessBindingsRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => UpdateAccessBindingsRequest; readonly responseSerialize: (value: Operation) => Buffer; readonly responseDeserialize: (value: Buffer) => Operation; }; }; export interface DiskServiceServer extends UntypedServiceImplementation { /** * Returns the specified Disk resource. * * To get the list of available Disk resources, make a [List] request. */ get: handleUnaryCall; /** Retrieves the list of Disk resources in the specified folder. */ list: handleUnaryCall; /** * Creates a disk in the specified folder. * * You can create an empty disk or restore it from a snapshot or an image. * Method starts an asynchronous operation that can be cancelled while it is in progress. */ create: handleUnaryCall; /** Updates the specified disk. */ update: handleUnaryCall; /** * Deletes the specified disk. * * Deleting a disk removes its data permanently and is irreversible. However, deleting a disk does not delete * any snapshots or images previously made from the disk. You must delete snapshots and images separately. * * It is not possible to delete a disk that is attached to an instance. */ delete: handleUnaryCall; /** Lists operations for the specified disk. */ listOperations: handleUnaryCall; /** Moves the specified disk to another folder of the same cloud. */ move: handleUnaryCall; /** * Moves the specified disk to another availability zone * * Disk must be detached from instances. To move attached * disk use [InstanceService.Relocate] request. */ relocate: handleUnaryCall; /** Retrieves the list of snapshot schedules the specified disk is attached to. */ listSnapshotSchedules: handleUnaryCall; /** Lists access bindings for the disk. */ listAccessBindings: handleUnaryCall; /** Sets access bindings for the disk. */ setAccessBindings: handleUnaryCall; /** Updates access bindings for the disk. */ updateAccessBindings: handleUnaryCall; } export interface DiskServiceClient extends Client { /** * Returns the specified Disk resource. * * To get the list of available Disk resources, make a [List] request. */ get(request: GetDiskRequest, callback: (error: ServiceError | null, response: Disk) => void): ClientUnaryCall; get(request: GetDiskRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Disk) => void): ClientUnaryCall; get(request: GetDiskRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: Disk) => void): ClientUnaryCall; /** Retrieves the list of Disk resources in the specified folder. */ list(request: ListDisksRequest, callback: (error: ServiceError | null, response: ListDisksResponse) => void): ClientUnaryCall; list(request: ListDisksRequest, metadata: Metadata, callback: (error: ServiceError | null, response: ListDisksResponse) => void): ClientUnaryCall; list(request: ListDisksRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: ListDisksResponse) => void): ClientUnaryCall; /** * Creates a disk in the specified folder. * * You can create an empty disk or restore it from a snapshot or an image. * Method starts an asynchronous operation that can be cancelled while it is in progress. */ create(request: CreateDiskRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; create(request: CreateDiskRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; create(request: CreateDiskRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; /** Updates the specified disk. */ update(request: UpdateDiskRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; update(request: UpdateDiskRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; update(request: UpdateDiskRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; /** * Deletes the specified disk. * * Deleting a disk removes its data permanently and is irreversible. However, deleting a disk does not delete * any snapshots or images previously made from the disk. You must delete snapshots and images separately. * * It is not possible to delete a disk that is attached to an instance. */ delete(request: DeleteDiskRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; delete(request: DeleteDiskRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; delete(request: DeleteDiskRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; /** Lists operations for the specified disk. */ listOperations(request: ListDiskOperationsRequest, callback: (error: ServiceError | null, response: ListDiskOperationsResponse) => void): ClientUnaryCall; listOperations(request: ListDiskOperationsRequest, metadata: Metadata, callback: (error: ServiceError | null, response: ListDiskOperationsResponse) => void): ClientUnaryCall; listOperations(request: ListDiskOperationsRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: ListDiskOperationsResponse) => void): ClientUnaryCall; /** Moves the specified disk to another folder of the same cloud. */ move(request: MoveDiskRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; move(request: MoveDiskRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; move(request: MoveDiskRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; /** * Moves the specified disk to another availability zone * * Disk must be detached from instances. To move attached * disk use [InstanceService.Relocate] request. */ relocate(request: RelocateDiskRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; relocate(request: RelocateDiskRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; relocate(request: RelocateDiskRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; /** Retrieves the list of snapshot schedules the specified disk is attached to. */ listSnapshotSchedules(request: ListDiskSnapshotSchedulesRequest, callback: (error: ServiceError | null, response: ListDiskSnapshotSchedulesResponse) => void): ClientUnaryCall; listSnapshotSchedules(request: ListDiskSnapshotSchedulesRequest, metadata: Metadata, callback: (error: ServiceError | null, response: ListDiskSnapshotSchedulesResponse) => void): ClientUnaryCall; listSnapshotSchedules(request: ListDiskSnapshotSchedulesRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: ListDiskSnapshotSchedulesResponse) => void): ClientUnaryCall; /** Lists access bindings for the disk. */ listAccessBindings(request: ListAccessBindingsRequest, callback: (error: ServiceError | null, response: ListAccessBindingsResponse) => void): ClientUnaryCall; listAccessBindings(request: ListAccessBindingsRequest, metadata: Metadata, callback: (error: ServiceError | null, response: ListAccessBindingsResponse) => void): ClientUnaryCall; listAccessBindings(request: ListAccessBindingsRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: ListAccessBindingsResponse) => void): ClientUnaryCall; /** Sets access bindings for the disk. */ setAccessBindings(request: SetAccessBindingsRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; setAccessBindings(request: SetAccessBindingsRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; setAccessBindings(request: SetAccessBindingsRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; /** Updates access bindings for the disk. */ updateAccessBindings(request: UpdateAccessBindingsRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; updateAccessBindings(request: UpdateAccessBindingsRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; updateAccessBindings(request: UpdateAccessBindingsRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; } export declare const DiskServiceClient: { new (address: string, credentials: ChannelCredentials, options?: Partial): DiskServiceClient; service: typeof DiskServiceService; }; type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; export type DeepPartial = T extends Builtin ? T : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends {} ? { [K in keyof T]?: DeepPartial; } : Partial; type KeysOfUnion = T extends T ? keyof T : never; export type Exact = P extends Builtin ? P : P & { [K in keyof P]: Exact; } & Record>, never>; export {};