/// import { ChannelCredentials, ChannelOptions, UntypedServiceImplementation, handleUnaryCall, Client, ClientUnaryCall, Metadata, CallOptions, ServiceError } from '@grpc/grpc-js'; import _m0 from 'protobufjs/minimal'; import { SymmetricAlgorithm, SymmetricKey_Status, SymmetricKey, SymmetricKeyVersion } from '../../../../yandex/cloud/kms/v1/symmetric_key'; import { Duration } from '../../../../google/protobuf/duration'; 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.kms.v1"; export interface CreateSymmetricKeyRequest { /** ID of the folder to create a symmetric KMS key in. */ folderId: string; /** Name of the key. */ name: string; /** Description of the key. */ description: string; /** * Custom labels for the symmetric KMS key as `key:value` pairs. Maximum 64 per key. * For example, `"project": "mvp"` or `"source": "dictionary"`. */ labels: { [key: string]: string; }; /** Encryption algorithm to be used with a new key version, generated with the next rotation. */ defaultAlgorithm: SymmetricAlgorithm; /** * Interval between automatic rotations. To disable automatic rotation, don't include * this field in the creation request. */ rotationPeriod?: Duration; /** Flag that inhibits deletion of the symmetric KMS key */ deletionProtection: boolean; } export interface CreateSymmetricKeyRequest_LabelsEntry { key: string; value: string; } export interface CreateSymmetricKeyMetadata { /** ID of the key being created. */ keyId: string; /** ID of the primary version of the key being created. */ primaryVersionId: string; } export interface GetSymmetricKeyRequest { /** * ID of the symmetric KMS key to return. * To get the ID of a symmetric KMS key use a [SymmetricKeyService.List] request. */ keyId: string; } export interface ListSymmetricKeysRequest { /** ID of the folder to list symmetric KMS keys in. */ 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 [ListSymmetricKeysResponse.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 * [ListSymmetricKeysResponse.next_page_token] returned by a previous list request. */ pageToken: string; } export interface ListSymmetricKeysResponse { /** List of symmetric KMS keys in the specified folder. */ keys: SymmetricKey[]; /** * This token allows you to get the next page of results for list requests. If the number * of results is greater than the specified [ListSymmetricKeysRequest.page_size], use * the [next_page_token] as the value for the [ListSymmetricKeysRequest.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 ListSymmetricKeyVersionsRequest { /** ID of the symmetric KMS key to list versions for. */ keyId: 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 [ListSymmetricKeyVersionsResponse.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 * [ListSymmetricKeyVersionsResponse.next_page_token] returned by a previous list request. */ pageToken: string; } export interface ListSymmetricKeyVersionsResponse { /** List of versions for the specified symmetric KMS key. */ keyVersions: SymmetricKeyVersion[]; /** * This token allows you to get the next page of results for list requests. If the number * of results is greater than the specified [ListSymmetricKeyVersionsRequest.page_size], use * the [next_page_token] as the value for the [ListSymmetricKeyVersionsRequest.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 UpdateSymmetricKeyRequest { /** * ID of the symmetric KMS key to update. * To get the ID of a symmetric KMS key use a [SymmetricKeyService.List] request. */ keyId: string; /** Field mask that specifies which attributes of the symmetric KMS key are going to be updated. */ updateMask?: FieldMask; /** New name for the symmetric KMS key. */ name: string; /** New description for the symmetric KMS key. */ description: string; /** * New status for the symmetric KMS key. * Using the [SymmetricKeyService.Update] method you can only set ACTIVE or INACTIVE status. */ status: SymmetricKey_Status; /** Custom labels for the symmetric KMS key as `key:value` pairs. Maximum 64 per key. */ labels: { [key: string]: string; }; /** Default encryption algorithm to be used with new versions of the symmetric KMS key. */ defaultAlgorithm: SymmetricAlgorithm; /** Time period between automatic symmetric KMS key rotations. */ rotationPeriod?: Duration; /** Flag that inhibits deletion of the symmetric KMS key */ deletionProtection: boolean; } export interface UpdateSymmetricKeyRequest_LabelsEntry { key: string; value: string; } export interface UpdateSymmetricKeyMetadata { /** ID of the key being updated. */ keyId: string; } export interface DeleteSymmetricKeyRequest { /** ID of the key to be deleted. */ keyId: string; } export interface DeleteSymmetricKeyMetadata { /** ID of the key being deleted. */ keyId: string; } export interface SetPrimarySymmetricKeyVersionRequest { /** ID of the key to set a primary version for. */ keyId: string; /** ID of the version that should become primary for the specified key. */ versionId: string; } export interface SetPrimarySymmetricKeyVersionMetadata { /** ID of the key that the primary version if being changed for. */ keyId: string; /** ID of the version that is being made primary for the key. */ versionId: string; } export interface RotateSymmetricKeyRequest { /** ID of the key to be rotated. */ keyId: string; } export interface RotateSymmetricKeyMetadata { /** ID of the key being rotated. */ keyId: string; /** ID of the version generated as a result of key rotation. */ newPrimaryVersionId: string; } export interface ScheduleSymmetricKeyVersionDestructionRequest { /** ID of the key whose version should be scheduled for destruction. */ keyId: string; /** ID of the version to be destroyed. */ versionId: string; /** * Time interval between the version destruction request and actual destruction. * Default value: 7 days. */ pendingPeriod?: Duration; } export interface ScheduleSymmetricKeyVersionDestructionMetadata { /** ID of the key whose version is being scheduled for destruction. */ keyId: string; /** ID of the version that is being scheduled for destruction. */ versionId: string; /** Time when the version is scheduled to be destroyed. */ destroyAt?: Date; } export interface CancelSymmetricKeyVersionDestructionRequest { /** ID of the key to cancel a version's destruction for. */ keyId: string; /** ID of the version whose scheduled destruction should be cancelled. */ versionId: string; } export interface CancelSymmetricKeyVersionDestructionMetadata { /** ID of the key whose version's destruction is being cancelled. */ keyId: string; /** ID of the version whose scheduled destruction is being cancelled. */ versionId: string; } export interface ListSymmetricKeyOperationsRequest { /** * ID of the symmetric KMS key to get operations for. * * To get the key ID, use a [SymmetricKeyService.List] request. */ keyId: string; /** * 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 [ListSymmetricKeyOperationsResponse.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 * [ListSymmetricKeyOperationsResponse.next_page_token] returned by a previous list request. */ pageToken: string; } export interface ListSymmetricKeyOperationsResponse { /** List of operations for the specified key. */ operations: Operation[]; /** * This token allows you to get the next page of results for list requests. If the number of results * is larger than [ListSymmetricKeyOperationsRequest.page_size], use the [next_page_token] as the value * for the [ListSymmetricKeyOperationsRequest.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 CreateSymmetricKeyRequest: { encode(message: CreateSymmetricKeyRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): CreateSymmetricKeyRequest; fromJSON(object: any): CreateSymmetricKeyRequest; toJSON(message: CreateSymmetricKeyRequest): unknown; fromPartial, never>) | undefined; defaultAlgorithm?: SymmetricAlgorithm | undefined; rotationPeriod?: ({ seconds?: number | undefined; nanos?: number | undefined; } & { seconds?: number | undefined; nanos?: number | undefined; } & Record, never>) | undefined; deletionProtection?: boolean | undefined; } & Record, never>>(object: I): CreateSymmetricKeyRequest; }; export declare const CreateSymmetricKeyRequest_LabelsEntry: { encode(message: CreateSymmetricKeyRequest_LabelsEntry, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): CreateSymmetricKeyRequest_LabelsEntry; fromJSON(object: any): CreateSymmetricKeyRequest_LabelsEntry; toJSON(message: CreateSymmetricKeyRequest_LabelsEntry): unknown; fromPartial, never>>(object: I): CreateSymmetricKeyRequest_LabelsEntry; }; export declare const CreateSymmetricKeyMetadata: { encode(message: CreateSymmetricKeyMetadata, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): CreateSymmetricKeyMetadata; fromJSON(object: any): CreateSymmetricKeyMetadata; toJSON(message: CreateSymmetricKeyMetadata): unknown; fromPartial, never>>(object: I): CreateSymmetricKeyMetadata; }; export declare const GetSymmetricKeyRequest: { encode(message: GetSymmetricKeyRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): GetSymmetricKeyRequest; fromJSON(object: any): GetSymmetricKeyRequest; toJSON(message: GetSymmetricKeyRequest): unknown; fromPartial, never>>(object: I): GetSymmetricKeyRequest; }; export declare const ListSymmetricKeysRequest: { encode(message: ListSymmetricKeysRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ListSymmetricKeysRequest; fromJSON(object: any): ListSymmetricKeysRequest; toJSON(message: ListSymmetricKeysRequest): unknown; fromPartial, never>>(object: I): ListSymmetricKeysRequest; }; export declare const ListSymmetricKeysResponse: { encode(message: ListSymmetricKeysResponse, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ListSymmetricKeysResponse; fromJSON(object: any): ListSymmetricKeysResponse; toJSON(message: ListSymmetricKeysResponse): unknown; fromPartial, never>) | undefined; status?: SymmetricKey_Status | undefined; primaryVersion?: ({ id?: string | undefined; keyId?: string | undefined; status?: import("../../../../yandex/cloud/kms/v1/symmetric_key").SymmetricKeyVersion_Status | undefined; algorithm?: SymmetricAlgorithm | undefined; createdAt?: Date | undefined; primary?: boolean | undefined; destroyAt?: Date | undefined; hostedByHsm?: boolean | undefined; } & { id?: string | undefined; keyId?: string | undefined; status?: import("../../../../yandex/cloud/kms/v1/symmetric_key").SymmetricKeyVersion_Status | undefined; algorithm?: SymmetricAlgorithm | undefined; createdAt?: Date | undefined; primary?: boolean | undefined; destroyAt?: Date | undefined; hostedByHsm?: boolean | undefined; } & Record, never>) | undefined; defaultAlgorithm?: SymmetricAlgorithm | undefined; rotatedAt?: Date | undefined; rotationPeriod?: ({ seconds?: number | undefined; nanos?: number | undefined; } & { seconds?: number | undefined; nanos?: number | undefined; } & Record, never>) | undefined; deletionProtection?: boolean | undefined; } & Record, never>)[] & Record, never>) | undefined; nextPageToken?: string | undefined; } & Record, never>>(object: I): ListSymmetricKeysResponse; }; export declare const ListSymmetricKeyVersionsRequest: { encode(message: ListSymmetricKeyVersionsRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ListSymmetricKeyVersionsRequest; fromJSON(object: any): ListSymmetricKeyVersionsRequest; toJSON(message: ListSymmetricKeyVersionsRequest): unknown; fromPartial, never>>(object: I): ListSymmetricKeyVersionsRequest; }; export declare const ListSymmetricKeyVersionsResponse: { encode(message: ListSymmetricKeyVersionsResponse, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ListSymmetricKeyVersionsResponse; fromJSON(object: any): ListSymmetricKeyVersionsResponse; toJSON(message: ListSymmetricKeyVersionsResponse): unknown; fromPartial, never>)[] & Record, never>) | undefined; nextPageToken?: string | undefined; } & Record, never>>(object: I): ListSymmetricKeyVersionsResponse; }; export declare const UpdateSymmetricKeyRequest: { encode(message: UpdateSymmetricKeyRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): UpdateSymmetricKeyRequest; fromJSON(object: any): UpdateSymmetricKeyRequest; toJSON(message: UpdateSymmetricKeyRequest): unknown; fromPartial, never>) | undefined; } & Record, never>) | undefined; name?: string | undefined; description?: string | undefined; status?: SymmetricKey_Status | undefined; labels?: ({ [x: string]: string | undefined; } & { [x: string]: string | undefined; } & Record, never>) | undefined; defaultAlgorithm?: SymmetricAlgorithm | undefined; rotationPeriod?: ({ seconds?: number | undefined; nanos?: number | undefined; } & { seconds?: number | undefined; nanos?: number | undefined; } & Record, never>) | undefined; deletionProtection?: boolean | undefined; } & Record, never>>(object: I): UpdateSymmetricKeyRequest; }; export declare const UpdateSymmetricKeyRequest_LabelsEntry: { encode(message: UpdateSymmetricKeyRequest_LabelsEntry, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): UpdateSymmetricKeyRequest_LabelsEntry; fromJSON(object: any): UpdateSymmetricKeyRequest_LabelsEntry; toJSON(message: UpdateSymmetricKeyRequest_LabelsEntry): unknown; fromPartial, never>>(object: I): UpdateSymmetricKeyRequest_LabelsEntry; }; export declare const UpdateSymmetricKeyMetadata: { encode(message: UpdateSymmetricKeyMetadata, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): UpdateSymmetricKeyMetadata; fromJSON(object: any): UpdateSymmetricKeyMetadata; toJSON(message: UpdateSymmetricKeyMetadata): unknown; fromPartial, never>>(object: I): UpdateSymmetricKeyMetadata; }; export declare const DeleteSymmetricKeyRequest: { encode(message: DeleteSymmetricKeyRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): DeleteSymmetricKeyRequest; fromJSON(object: any): DeleteSymmetricKeyRequest; toJSON(message: DeleteSymmetricKeyRequest): unknown; fromPartial, never>>(object: I): DeleteSymmetricKeyRequest; }; export declare const DeleteSymmetricKeyMetadata: { encode(message: DeleteSymmetricKeyMetadata, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): DeleteSymmetricKeyMetadata; fromJSON(object: any): DeleteSymmetricKeyMetadata; toJSON(message: DeleteSymmetricKeyMetadata): unknown; fromPartial, never>>(object: I): DeleteSymmetricKeyMetadata; }; export declare const SetPrimarySymmetricKeyVersionRequest: { encode(message: SetPrimarySymmetricKeyVersionRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): SetPrimarySymmetricKeyVersionRequest; fromJSON(object: any): SetPrimarySymmetricKeyVersionRequest; toJSON(message: SetPrimarySymmetricKeyVersionRequest): unknown; fromPartial, never>>(object: I): SetPrimarySymmetricKeyVersionRequest; }; export declare const SetPrimarySymmetricKeyVersionMetadata: { encode(message: SetPrimarySymmetricKeyVersionMetadata, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): SetPrimarySymmetricKeyVersionMetadata; fromJSON(object: any): SetPrimarySymmetricKeyVersionMetadata; toJSON(message: SetPrimarySymmetricKeyVersionMetadata): unknown; fromPartial, never>>(object: I): SetPrimarySymmetricKeyVersionMetadata; }; export declare const RotateSymmetricKeyRequest: { encode(message: RotateSymmetricKeyRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): RotateSymmetricKeyRequest; fromJSON(object: any): RotateSymmetricKeyRequest; toJSON(message: RotateSymmetricKeyRequest): unknown; fromPartial, never>>(object: I): RotateSymmetricKeyRequest; }; export declare const RotateSymmetricKeyMetadata: { encode(message: RotateSymmetricKeyMetadata, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): RotateSymmetricKeyMetadata; fromJSON(object: any): RotateSymmetricKeyMetadata; toJSON(message: RotateSymmetricKeyMetadata): unknown; fromPartial, never>>(object: I): RotateSymmetricKeyMetadata; }; export declare const ScheduleSymmetricKeyVersionDestructionRequest: { encode(message: ScheduleSymmetricKeyVersionDestructionRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ScheduleSymmetricKeyVersionDestructionRequest; fromJSON(object: any): ScheduleSymmetricKeyVersionDestructionRequest; toJSON(message: ScheduleSymmetricKeyVersionDestructionRequest): unknown; fromPartial, never>) | undefined; } & Record, never>>(object: I): ScheduleSymmetricKeyVersionDestructionRequest; }; export declare const ScheduleSymmetricKeyVersionDestructionMetadata: { encode(message: ScheduleSymmetricKeyVersionDestructionMetadata, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ScheduleSymmetricKeyVersionDestructionMetadata; fromJSON(object: any): ScheduleSymmetricKeyVersionDestructionMetadata; toJSON(message: ScheduleSymmetricKeyVersionDestructionMetadata): unknown; fromPartial, never>>(object: I): ScheduleSymmetricKeyVersionDestructionMetadata; }; export declare const CancelSymmetricKeyVersionDestructionRequest: { encode(message: CancelSymmetricKeyVersionDestructionRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): CancelSymmetricKeyVersionDestructionRequest; fromJSON(object: any): CancelSymmetricKeyVersionDestructionRequest; toJSON(message: CancelSymmetricKeyVersionDestructionRequest): unknown; fromPartial, never>>(object: I): CancelSymmetricKeyVersionDestructionRequest; }; export declare const CancelSymmetricKeyVersionDestructionMetadata: { encode(message: CancelSymmetricKeyVersionDestructionMetadata, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): CancelSymmetricKeyVersionDestructionMetadata; fromJSON(object: any): CancelSymmetricKeyVersionDestructionMetadata; toJSON(message: CancelSymmetricKeyVersionDestructionMetadata): unknown; fromPartial, never>>(object: I): CancelSymmetricKeyVersionDestructionMetadata; }; export declare const ListSymmetricKeyOperationsRequest: { encode(message: ListSymmetricKeyOperationsRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ListSymmetricKeyOperationsRequest; fromJSON(object: any): ListSymmetricKeyOperationsRequest; toJSON(message: ListSymmetricKeyOperationsRequest): unknown; fromPartial, never>>(object: I): ListSymmetricKeyOperationsRequest; }; export declare const ListSymmetricKeyOperationsResponse: { encode(message: ListSymmetricKeyOperationsResponse, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ListSymmetricKeyOperationsResponse; fromJSON(object: any): ListSymmetricKeyOperationsResponse; toJSON(message: ListSymmetricKeyOperationsResponse): 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): ListSymmetricKeyOperationsResponse; }; /** Set of methods for managing symmetric KMS keys. */ export declare const SymmetricKeyServiceService: { /** Creates a symmetric KMS key in the specified folder. */ readonly create: { readonly path: "/yandex.cloud.kms.v1.SymmetricKeyService/Create"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: CreateSymmetricKeyRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => CreateSymmetricKeyRequest; readonly responseSerialize: (value: Operation) => Buffer; readonly responseDeserialize: (value: Buffer) => Operation; }; /** * Returns the specified symmetric KMS key. * * To get the list of available symmetric KMS keys, make a [SymmetricKeyService.List] request. */ readonly get: { readonly path: "/yandex.cloud.kms.v1.SymmetricKeyService/Get"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: GetSymmetricKeyRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => GetSymmetricKeyRequest; readonly responseSerialize: (value: SymmetricKey) => Buffer; readonly responseDeserialize: (value: Buffer) => SymmetricKey; }; /** Returns the list of symmetric KMS keys in the specified folder. */ readonly list: { readonly path: "/yandex.cloud.kms.v1.SymmetricKeyService/List"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: ListSymmetricKeysRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => ListSymmetricKeysRequest; readonly responseSerialize: (value: ListSymmetricKeysResponse) => Buffer; readonly responseDeserialize: (value: Buffer) => ListSymmetricKeysResponse; }; /** Returns the list of versions of the specified symmetric KMS key. */ readonly listVersions: { readonly path: "/yandex.cloud.kms.v1.SymmetricKeyService/ListVersions"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: ListSymmetricKeyVersionsRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => ListSymmetricKeyVersionsRequest; readonly responseSerialize: (value: ListSymmetricKeyVersionsResponse) => Buffer; readonly responseDeserialize: (value: Buffer) => ListSymmetricKeyVersionsResponse; }; /** Updates the specified symmetric KMS key. */ readonly update: { readonly path: "/yandex.cloud.kms.v1.SymmetricKeyService/Update"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: UpdateSymmetricKeyRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => UpdateSymmetricKeyRequest; readonly responseSerialize: (value: Operation) => Buffer; readonly responseDeserialize: (value: Buffer) => Operation; }; /** * Deletes the specified symmetric KMS key. This action also automatically schedules * the destruction of all of the key's versions in 72 hours. * * The key and its versions appear absent in [SymmetricKeyService.Get] and [SymmetricKeyService.List] * requests, but can be restored within 72 hours with a request to tech support. */ readonly delete: { readonly path: "/yandex.cloud.kms.v1.SymmetricKeyService/Delete"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: DeleteSymmetricKeyRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => DeleteSymmetricKeyRequest; readonly responseSerialize: (value: Operation) => Buffer; readonly responseDeserialize: (value: Buffer) => Operation; }; /** * Sets the primary version for the specified key. The primary version is used * by default for all encrypt/decrypt operations where no version ID is specified. */ readonly setPrimaryVersion: { readonly path: "/yandex.cloud.kms.v1.SymmetricKeyService/SetPrimaryVersion"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: SetPrimarySymmetricKeyVersionRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => SetPrimarySymmetricKeyVersionRequest; readonly responseSerialize: (value: Operation) => Buffer; readonly responseDeserialize: (value: Buffer) => Operation; }; /** * Schedules the specified key version for destruction. * * Scheduled destruction can be cancelled with the [SymmetricKeyService.CancelVersionDestruction] method. */ readonly scheduleVersionDestruction: { readonly path: "/yandex.cloud.kms.v1.SymmetricKeyService/ScheduleVersionDestruction"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: ScheduleSymmetricKeyVersionDestructionRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => ScheduleSymmetricKeyVersionDestructionRequest; readonly responseSerialize: (value: Operation) => Buffer; readonly responseDeserialize: (value: Buffer) => Operation; }; /** Cancels previously scheduled version destruction, if the version hasn't been destroyed yet. */ readonly cancelVersionDestruction: { readonly path: "/yandex.cloud.kms.v1.SymmetricKeyService/CancelVersionDestruction"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: CancelSymmetricKeyVersionDestructionRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => CancelSymmetricKeyVersionDestructionRequest; readonly responseSerialize: (value: Operation) => Buffer; readonly responseDeserialize: (value: Buffer) => Operation; }; /** * Rotates the specified key: creates a new key version and makes it the primary version. * The old version remains available for decryption of ciphertext encrypted with it. */ readonly rotate: { readonly path: "/yandex.cloud.kms.v1.SymmetricKeyService/Rotate"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: RotateSymmetricKeyRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => RotateSymmetricKeyRequest; readonly responseSerialize: (value: Operation) => Buffer; readonly responseDeserialize: (value: Buffer) => Operation; }; /** Lists operations for the specified symmetric KMS key. */ readonly listOperations: { readonly path: "/yandex.cloud.kms.v1.SymmetricKeyService/ListOperations"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: ListSymmetricKeyOperationsRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => ListSymmetricKeyOperationsRequest; readonly responseSerialize: (value: ListSymmetricKeyOperationsResponse) => Buffer; readonly responseDeserialize: (value: Buffer) => ListSymmetricKeyOperationsResponse; }; /** Lists existing access bindings for the specified key. */ readonly listAccessBindings: { readonly path: "/yandex.cloud.kms.v1.SymmetricKeyService/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 key. */ readonly setAccessBindings: { readonly path: "/yandex.cloud.kms.v1.SymmetricKeyService/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 specified key. */ readonly updateAccessBindings: { readonly path: "/yandex.cloud.kms.v1.SymmetricKeyService/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 SymmetricKeyServiceServer extends UntypedServiceImplementation { /** Creates a symmetric KMS key in the specified folder. */ create: handleUnaryCall; /** * Returns the specified symmetric KMS key. * * To get the list of available symmetric KMS keys, make a [SymmetricKeyService.List] request. */ get: handleUnaryCall; /** Returns the list of symmetric KMS keys in the specified folder. */ list: handleUnaryCall; /** Returns the list of versions of the specified symmetric KMS key. */ listVersions: handleUnaryCall; /** Updates the specified symmetric KMS key. */ update: handleUnaryCall; /** * Deletes the specified symmetric KMS key. This action also automatically schedules * the destruction of all of the key's versions in 72 hours. * * The key and its versions appear absent in [SymmetricKeyService.Get] and [SymmetricKeyService.List] * requests, but can be restored within 72 hours with a request to tech support. */ delete: handleUnaryCall; /** * Sets the primary version for the specified key. The primary version is used * by default for all encrypt/decrypt operations where no version ID is specified. */ setPrimaryVersion: handleUnaryCall; /** * Schedules the specified key version for destruction. * * Scheduled destruction can be cancelled with the [SymmetricKeyService.CancelVersionDestruction] method. */ scheduleVersionDestruction: handleUnaryCall; /** Cancels previously scheduled version destruction, if the version hasn't been destroyed yet. */ cancelVersionDestruction: handleUnaryCall; /** * Rotates the specified key: creates a new key version and makes it the primary version. * The old version remains available for decryption of ciphertext encrypted with it. */ rotate: handleUnaryCall; /** Lists operations for the specified symmetric KMS key. */ listOperations: handleUnaryCall; /** Lists existing access bindings for the specified key. */ listAccessBindings: handleUnaryCall; /** Sets access bindings for the key. */ setAccessBindings: handleUnaryCall; /** Updates access bindings for the specified key. */ updateAccessBindings: handleUnaryCall; } export interface SymmetricKeyServiceClient extends Client { /** Creates a symmetric KMS key in the specified folder. */ create(request: CreateSymmetricKeyRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; create(request: CreateSymmetricKeyRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; create(request: CreateSymmetricKeyRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; /** * Returns the specified symmetric KMS key. * * To get the list of available symmetric KMS keys, make a [SymmetricKeyService.List] request. */ get(request: GetSymmetricKeyRequest, callback: (error: ServiceError | null, response: SymmetricKey) => void): ClientUnaryCall; get(request: GetSymmetricKeyRequest, metadata: Metadata, callback: (error: ServiceError | null, response: SymmetricKey) => void): ClientUnaryCall; get(request: GetSymmetricKeyRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: SymmetricKey) => void): ClientUnaryCall; /** Returns the list of symmetric KMS keys in the specified folder. */ list(request: ListSymmetricKeysRequest, callback: (error: ServiceError | null, response: ListSymmetricKeysResponse) => void): ClientUnaryCall; list(request: ListSymmetricKeysRequest, metadata: Metadata, callback: (error: ServiceError | null, response: ListSymmetricKeysResponse) => void): ClientUnaryCall; list(request: ListSymmetricKeysRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: ListSymmetricKeysResponse) => void): ClientUnaryCall; /** Returns the list of versions of the specified symmetric KMS key. */ listVersions(request: ListSymmetricKeyVersionsRequest, callback: (error: ServiceError | null, response: ListSymmetricKeyVersionsResponse) => void): ClientUnaryCall; listVersions(request: ListSymmetricKeyVersionsRequest, metadata: Metadata, callback: (error: ServiceError | null, response: ListSymmetricKeyVersionsResponse) => void): ClientUnaryCall; listVersions(request: ListSymmetricKeyVersionsRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: ListSymmetricKeyVersionsResponse) => void): ClientUnaryCall; /** Updates the specified symmetric KMS key. */ update(request: UpdateSymmetricKeyRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; update(request: UpdateSymmetricKeyRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; update(request: UpdateSymmetricKeyRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; /** * Deletes the specified symmetric KMS key. This action also automatically schedules * the destruction of all of the key's versions in 72 hours. * * The key and its versions appear absent in [SymmetricKeyService.Get] and [SymmetricKeyService.List] * requests, but can be restored within 72 hours with a request to tech support. */ delete(request: DeleteSymmetricKeyRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; delete(request: DeleteSymmetricKeyRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; delete(request: DeleteSymmetricKeyRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; /** * Sets the primary version for the specified key. The primary version is used * by default for all encrypt/decrypt operations where no version ID is specified. */ setPrimaryVersion(request: SetPrimarySymmetricKeyVersionRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; setPrimaryVersion(request: SetPrimarySymmetricKeyVersionRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; setPrimaryVersion(request: SetPrimarySymmetricKeyVersionRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; /** * Schedules the specified key version for destruction. * * Scheduled destruction can be cancelled with the [SymmetricKeyService.CancelVersionDestruction] method. */ scheduleVersionDestruction(request: ScheduleSymmetricKeyVersionDestructionRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; scheduleVersionDestruction(request: ScheduleSymmetricKeyVersionDestructionRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; scheduleVersionDestruction(request: ScheduleSymmetricKeyVersionDestructionRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; /** Cancels previously scheduled version destruction, if the version hasn't been destroyed yet. */ cancelVersionDestruction(request: CancelSymmetricKeyVersionDestructionRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; cancelVersionDestruction(request: CancelSymmetricKeyVersionDestructionRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; cancelVersionDestruction(request: CancelSymmetricKeyVersionDestructionRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; /** * Rotates the specified key: creates a new key version and makes it the primary version. * The old version remains available for decryption of ciphertext encrypted with it. */ rotate(request: RotateSymmetricKeyRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; rotate(request: RotateSymmetricKeyRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; rotate(request: RotateSymmetricKeyRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; /** Lists operations for the specified symmetric KMS key. */ listOperations(request: ListSymmetricKeyOperationsRequest, callback: (error: ServiceError | null, response: ListSymmetricKeyOperationsResponse) => void): ClientUnaryCall; listOperations(request: ListSymmetricKeyOperationsRequest, metadata: Metadata, callback: (error: ServiceError | null, response: ListSymmetricKeyOperationsResponse) => void): ClientUnaryCall; listOperations(request: ListSymmetricKeyOperationsRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: ListSymmetricKeyOperationsResponse) => void): ClientUnaryCall; /** Lists existing access bindings for the specified key. */ 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 key. */ 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 specified key. */ 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 SymmetricKeyServiceClient: { new (address: string, credentials: ChannelCredentials, options?: Partial): SymmetricKeyServiceClient; service: typeof SymmetricKeyServiceService; }; 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 {};
= P extends Builtin ? P : P & { [K in keyof P]: Exact
; } & Record>, never>; export {};