///
import { ChannelCredentials, ChannelOptions, UntypedServiceImplementation, handleUnaryCall, Client, ClientUnaryCall, Metadata, CallOptions, ServiceError } from '@grpc/grpc-js';
import _m0 from 'protobufjs/minimal';
import { Os, Image } from '../../../../yandex/cloud/compute/v1/image';
import { HardwareGeneration } from '../../../../yandex/cloud/compute/v1/hardware_generation';
import { FieldMask } from '../../../../google/protobuf/field_mask';
import { Operation } from '../../../../yandex/cloud/operation/operation';
import { ListAccessBindingsRequest, ListAccessBindingsResponse, SetAccessBindingsRequest, UpdateAccessBindingsRequest } from '../../../../yandex/cloud/access/access';
export declare const protobufPackage = "yandex.cloud.compute.v1";
export interface GetImageRequest {
/**
* ID of the Image resource to return.
* To get the image ID, use a [ImageService.List] request.
*/
imageId: string;
}
export interface GetImageLatestByFamilyRequest {
/**
* ID of the folder to get the image from.
* To get the folder ID, use a [yandex.cloud.resourcemanager.v1.FolderService.List] request.
*/
folderId: string;
/** Name of the image family to search for. */
family: string;
}
export interface ListImagesRequest {
/**
* ID of the folder to list images 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 [ListImagesResponse.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
* [ListImagesResponse.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 ListImagesResponse {
/** List of images. */
images: Image[];
/**
* This token allows you to get the next page of results for list requests. If the number of results
* is larger than [ListSnapshotsRequest.page_size], use
* the [next_page_token] as the value
* for the [ListSnapshotsRequest.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 CreateImageRequest {
/**
* ID of the folder to create an image in.
* To get the folder ID, use a [yandex.cloud.resourcemanager.v1.FolderService.List] request.
*/
folderId: string;
/** Name of the image. */
name: string;
/** Description of the image. */
description: string;
/** Resource labels as `key:value` pairs. */
labels: {
[key: string]: string;
};
/**
* The name of the image family to which this image belongs. For more information, see [Image family](/docs/compute/concepts/image#family).
*
* To get an information about the most recent image from a family, use a [ImageService.GetLatestByFamily] request.
*/
family: string;
/**
* Minimum size of the disk that will be created from this image.
* Specified in bytes. Should be more than the volume of source data.
*/
minDiskSize: number;
/**
* License IDs that indicate which licenses are attached to this resource.
* License IDs are used to calculate additional charges for the use of the virtual machine.
*
* The correct license ID is generated by the platform. IDs are inherited by new resources created from this resource.
*
* If you know the license IDs, specify them when you create the image.
* For example, if you create a disk image using a third-party utility and load it into Object Storage, the license IDs will be lost.
* You can specify them in this request.
*/
productIds: string[];
/** ID of the source image to create the new image from. */
imageId: string | undefined;
/** ID of the disk to create the image from. */
diskId: string | undefined;
/** ID of the snapshot to create the image from. */
snapshotId: string | undefined;
/**
* URI of the source image to create the new image from.
* Currently only supports links to images that are stored in Object Storage.
* Must be a valid [pre-signed URL](/docs/storage/concepts/pre-signed-urls).
* Currently only supports Qcow2, VMDK, and RAW image formats.
*/
uri: string | undefined;
/**
* Operating system that is contained in the image.
*
* If not specified and you used the `image_id` or `disk_id` field to set the source, then the value can be inherited from the source resource.
*/
os?: Os;
/** When true, an image pool will be created for fast creation disks from the image. */
pooled: boolean;
/**
* 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;
}
export interface CreateImageRequest_LabelsEntry {
key: string;
value: string;
}
export interface CreateImageMetadata {
/** ID of the image that is being created. */
imageId: string;
}
export interface UpdateImageRequest {
/**
* ID of the Image resource to update.
* To get the image ID, use a [ImageService.List] request.
*/
imageId: string;
/** Field mask that specifies which fields of the Image resource are going to be updated. */
updateMask?: FieldMask;
/** Name of the image. */
name: string;
/** Description of the image. */
description: string;
/**
* Minimum size of the disk that can be created from this image.
* Specified in bytes. Should be more than the volume of source data and more than the virtual disk size.
*/
minDiskSize: number;
/**
* Resource labels as `key:value` pairs.
*
* Existing set of `labels` is completely replaced by the provided set.
*/
labels: {
[key: string]: string;
};
}
export interface UpdateImageRequest_LabelsEntry {
key: string;
value: string;
}
export interface UpdateImageMetadata {
/** ID of the Image resource that is being updated. */
imageId: string;
}
export interface DeleteImageRequest {
/**
* ID of the image to delete.
* To get the image ID, use a [ImageService.List] request.
*/
imageId: string;
}
export interface DeleteImageMetadata {
/** ID of the image that is being deleted. */
imageId: string;
}
export interface ListImageOperationsRequest {
/** ID of the Image resource to list operations for. */
imageId: 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 [ListImageOperationsResponse.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
* [ListImageOperationsResponse.next_page_token] returned by a previous list request.
*/
pageToken: string;
}
export interface ListImageOperationsResponse {
/** List of operations for the specified image. */
operations: Operation[];
/**
* This token allows you to get the next page of results for list requests. If the number of results
* is larger than [ListImageOperationsRequest.page_size], use the [next_page_token] as the value
* for the [ListImageOperationsRequest.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 declare const GetImageRequest: {
encode(message: GetImageRequest, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): GetImageRequest;
fromJSON(object: any): GetImageRequest;
toJSON(message: GetImageRequest): unknown;
fromPartial, never>>(object: I): GetImageRequest;
};
export declare const GetImageLatestByFamilyRequest: {
encode(message: GetImageLatestByFamilyRequest, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): GetImageLatestByFamilyRequest;
fromJSON(object: any): GetImageLatestByFamilyRequest;
toJSON(message: GetImageLatestByFamilyRequest): unknown;
fromPartial, never>>(object: I): GetImageLatestByFamilyRequest;
};
export declare const ListImagesRequest: {
encode(message: ListImagesRequest, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): ListImagesRequest;
fromJSON(object: any): ListImagesRequest;
toJSON(message: ListImagesRequest): unknown;
fromPartial, never>>(object: I): ListImagesRequest;
};
export declare const ListImagesResponse: {
encode(message: ListImagesResponse, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): ListImagesResponse;
fromJSON(object: any): ListImagesResponse;
toJSON(message: ListImagesResponse): unknown;
fromPartial, never>) | undefined;
family?: string | undefined;
storageSize?: number | undefined;
minDiskSize?: number | undefined;
productIds?: (string[] & string[] & Record, never>) | undefined;
status?: import("../../../../yandex/cloud/compute/v1/image").Image_Status | undefined;
os?: ({
type?: import("../../../../yandex/cloud/compute/v1/image").Os_Type | undefined;
} & {
type?: import("../../../../yandex/cloud/compute/v1/image").Os_Type | undefined;
} & Record, never>) | undefined;
pooled?: boolean | 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): ListImagesResponse;
};
export declare const CreateImageRequest: {
encode(message: CreateImageRequest, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): CreateImageRequest;
fromJSON(object: any): CreateImageRequest;
toJSON(message: CreateImageRequest): unknown;
fromPartial, never>) | undefined;
family?: string | undefined;
minDiskSize?: number | undefined;
productIds?: (string[] & string[] & Record, never>) | undefined;
imageId?: string | undefined;
diskId?: string | undefined;
snapshotId?: string | undefined;
uri?: string | undefined;
os?: ({
type?: import("../../../../yandex/cloud/compute/v1/image").Os_Type | undefined;
} & {
type?: import("../../../../yandex/cloud/compute/v1/image").Os_Type | undefined;
} & Record, never>) | undefined;
pooled?: boolean | 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;
} & Record, never>>(object: I): CreateImageRequest;
};
export declare const CreateImageRequest_LabelsEntry: {
encode(message: CreateImageRequest_LabelsEntry, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): CreateImageRequest_LabelsEntry;
fromJSON(object: any): CreateImageRequest_LabelsEntry;
toJSON(message: CreateImageRequest_LabelsEntry): unknown;
fromPartial, never>>(object: I): CreateImageRequest_LabelsEntry;
};
export declare const CreateImageMetadata: {
encode(message: CreateImageMetadata, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): CreateImageMetadata;
fromJSON(object: any): CreateImageMetadata;
toJSON(message: CreateImageMetadata): unknown;
fromPartial, never>>(object: I): CreateImageMetadata;
};
export declare const UpdateImageRequest: {
encode(message: UpdateImageRequest, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): UpdateImageRequest;
fromJSON(object: any): UpdateImageRequest;
toJSON(message: UpdateImageRequest): unknown;
fromPartial, never>) | undefined;
} & Record, never>) | undefined;
name?: string | undefined;
description?: string | undefined;
minDiskSize?: number | undefined;
labels?: ({
[x: string]: string | undefined;
} & {
[x: string]: string | undefined;
} & Record, never>) | undefined;
} & Record, never>>(object: I): UpdateImageRequest;
};
export declare const UpdateImageRequest_LabelsEntry: {
encode(message: UpdateImageRequest_LabelsEntry, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): UpdateImageRequest_LabelsEntry;
fromJSON(object: any): UpdateImageRequest_LabelsEntry;
toJSON(message: UpdateImageRequest_LabelsEntry): unknown;
fromPartial, never>>(object: I): UpdateImageRequest_LabelsEntry;
};
export declare const UpdateImageMetadata: {
encode(message: UpdateImageMetadata, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): UpdateImageMetadata;
fromJSON(object: any): UpdateImageMetadata;
toJSON(message: UpdateImageMetadata): unknown;
fromPartial, never>>(object: I): UpdateImageMetadata;
};
export declare const DeleteImageRequest: {
encode(message: DeleteImageRequest, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): DeleteImageRequest;
fromJSON(object: any): DeleteImageRequest;
toJSON(message: DeleteImageRequest): unknown;
fromPartial, never>>(object: I): DeleteImageRequest;
};
export declare const DeleteImageMetadata: {
encode(message: DeleteImageMetadata, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): DeleteImageMetadata;
fromJSON(object: any): DeleteImageMetadata;
toJSON(message: DeleteImageMetadata): unknown;
fromPartial, never>>(object: I): DeleteImageMetadata;
};
export declare const ListImageOperationsRequest: {
encode(message: ListImageOperationsRequest, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): ListImageOperationsRequest;
fromJSON(object: any): ListImageOperationsRequest;
toJSON(message: ListImageOperationsRequest): unknown;
fromPartial, never>>(object: I): ListImageOperationsRequest;
};
export declare const ListImageOperationsResponse: {
encode(message: ListImageOperationsResponse, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): ListImageOperationsResponse;
fromJSON(object: any): ListImageOperationsResponse;
toJSON(message: ListImageOperationsResponse): 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): ListImageOperationsResponse;
};
/** A set of methods for managing Image resources. */
export declare const ImageServiceService: {
/**
* Returns the specified Image resource.
*
* To get the list of available Image resources, make a [List] request.
*/
readonly get: {
readonly path: "/yandex.cloud.compute.v1.ImageService/Get";
readonly requestStream: false;
readonly responseStream: false;
readonly requestSerialize: (value: GetImageRequest) => Buffer;
readonly requestDeserialize: (value: Buffer) => GetImageRequest;
readonly responseSerialize: (value: Image) => Buffer;
readonly responseDeserialize: (value: Buffer) => Image;
};
/** Returns the latest image that is part of an image family. */
readonly getLatestByFamily: {
readonly path: "/yandex.cloud.compute.v1.ImageService/GetLatestByFamily";
readonly requestStream: false;
readonly responseStream: false;
readonly requestSerialize: (value: GetImageLatestByFamilyRequest) => Buffer;
readonly requestDeserialize: (value: Buffer) => GetImageLatestByFamilyRequest;
readonly responseSerialize: (value: Image) => Buffer;
readonly responseDeserialize: (value: Buffer) => Image;
};
/** Retrieves the list of Image resources in the specified folder. */
readonly list: {
readonly path: "/yandex.cloud.compute.v1.ImageService/List";
readonly requestStream: false;
readonly responseStream: false;
readonly requestSerialize: (value: ListImagesRequest) => Buffer;
readonly requestDeserialize: (value: Buffer) => ListImagesRequest;
readonly responseSerialize: (value: ListImagesResponse) => Buffer;
readonly responseDeserialize: (value: Buffer) => ListImagesResponse;
};
/**
* Creates an image in the specified folder.
*
* You can create an image from a disk, snapshot, other image or URI.
* Method starts an asynchronous operation that can be cancelled while it is in progress.
*/
readonly create: {
readonly path: "/yandex.cloud.compute.v1.ImageService/Create";
readonly requestStream: false;
readonly responseStream: false;
readonly requestSerialize: (value: CreateImageRequest) => Buffer;
readonly requestDeserialize: (value: Buffer) => CreateImageRequest;
readonly responseSerialize: (value: Operation) => Buffer;
readonly responseDeserialize: (value: Buffer) => Operation;
};
/** Updates the specified image. */
readonly update: {
readonly path: "/yandex.cloud.compute.v1.ImageService/Update";
readonly requestStream: false;
readonly responseStream: false;
readonly requestSerialize: (value: UpdateImageRequest) => Buffer;
readonly requestDeserialize: (value: Buffer) => UpdateImageRequest;
readonly responseSerialize: (value: Operation) => Buffer;
readonly responseDeserialize: (value: Buffer) => Operation;
};
/**
* Deletes the specified image.
*
* Deleting an image removes its data permanently and is irreversible.
*/
readonly delete: {
readonly path: "/yandex.cloud.compute.v1.ImageService/Delete";
readonly requestStream: false;
readonly responseStream: false;
readonly requestSerialize: (value: DeleteImageRequest) => Buffer;
readonly requestDeserialize: (value: Buffer) => DeleteImageRequest;
readonly responseSerialize: (value: Operation) => Buffer;
readonly responseDeserialize: (value: Buffer) => Operation;
};
/** Lists operations for the specified image. */
readonly listOperations: {
readonly path: "/yandex.cloud.compute.v1.ImageService/ListOperations";
readonly requestStream: false;
readonly responseStream: false;
readonly requestSerialize: (value: ListImageOperationsRequest) => Buffer;
readonly requestDeserialize: (value: Buffer) => ListImageOperationsRequest;
readonly responseSerialize: (value: ListImageOperationsResponse) => Buffer;
readonly responseDeserialize: (value: Buffer) => ListImageOperationsResponse;
};
/** Lists access bindings for the image. */
readonly listAccessBindings: {
readonly path: "/yandex.cloud.compute.v1.ImageService/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 image. */
readonly setAccessBindings: {
readonly path: "/yandex.cloud.compute.v1.ImageService/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 image. */
readonly updateAccessBindings: {
readonly path: "/yandex.cloud.compute.v1.ImageService/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 ImageServiceServer extends UntypedServiceImplementation {
/**
* Returns the specified Image resource.
*
* To get the list of available Image resources, make a [List] request.
*/
get: handleUnaryCall;
/** Returns the latest image that is part of an image family. */
getLatestByFamily: handleUnaryCall;
/** Retrieves the list of Image resources in the specified folder. */
list: handleUnaryCall;
/**
* Creates an image in the specified folder.
*
* You can create an image from a disk, snapshot, other image or URI.
* Method starts an asynchronous operation that can be cancelled while it is in progress.
*/
create: handleUnaryCall;
/** Updates the specified image. */
update: handleUnaryCall;
/**
* Deletes the specified image.
*
* Deleting an image removes its data permanently and is irreversible.
*/
delete: handleUnaryCall;
/** Lists operations for the specified image. */
listOperations: handleUnaryCall;
/** Lists access bindings for the image. */
listAccessBindings: handleUnaryCall;
/** Sets access bindings for the image. */
setAccessBindings: handleUnaryCall;
/** Updates access bindings for the image. */
updateAccessBindings: handleUnaryCall;
}
export interface ImageServiceClient extends Client {
/**
* Returns the specified Image resource.
*
* To get the list of available Image resources, make a [List] request.
*/
get(request: GetImageRequest, callback: (error: ServiceError | null, response: Image) => void): ClientUnaryCall;
get(request: GetImageRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Image) => void): ClientUnaryCall;
get(request: GetImageRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: Image) => void): ClientUnaryCall;
/** Returns the latest image that is part of an image family. */
getLatestByFamily(request: GetImageLatestByFamilyRequest, callback: (error: ServiceError | null, response: Image) => void): ClientUnaryCall;
getLatestByFamily(request: GetImageLatestByFamilyRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Image) => void): ClientUnaryCall;
getLatestByFamily(request: GetImageLatestByFamilyRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: Image) => void): ClientUnaryCall;
/** Retrieves the list of Image resources in the specified folder. */
list(request: ListImagesRequest, callback: (error: ServiceError | null, response: ListImagesResponse) => void): ClientUnaryCall;
list(request: ListImagesRequest, metadata: Metadata, callback: (error: ServiceError | null, response: ListImagesResponse) => void): ClientUnaryCall;
list(request: ListImagesRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: ListImagesResponse) => void): ClientUnaryCall;
/**
* Creates an image in the specified folder.
*
* You can create an image from a disk, snapshot, other image or URI.
* Method starts an asynchronous operation that can be cancelled while it is in progress.
*/
create(request: CreateImageRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
create(request: CreateImageRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
create(request: CreateImageRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
/** Updates the specified image. */
update(request: UpdateImageRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
update(request: UpdateImageRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
update(request: UpdateImageRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
/**
* Deletes the specified image.
*
* Deleting an image removes its data permanently and is irreversible.
*/
delete(request: DeleteImageRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
delete(request: DeleteImageRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
delete(request: DeleteImageRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
/** Lists operations for the specified image. */
listOperations(request: ListImageOperationsRequest, callback: (error: ServiceError | null, response: ListImageOperationsResponse) => void): ClientUnaryCall;
listOperations(request: ListImageOperationsRequest, metadata: Metadata, callback: (error: ServiceError | null, response: ListImageOperationsResponse) => void): ClientUnaryCall;
listOperations(request: ListImageOperationsRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: ListImageOperationsResponse) => void): ClientUnaryCall;
/** Lists access bindings for the image. */
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 image. */
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 image. */
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 ImageServiceClient: {
new (address: string, credentials: ChannelCredentials, options?: Partial): ImageServiceClient;
service: typeof ImageServiceService;
};
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