///
import { ChannelCredentials, ChannelOptions, UntypedServiceImplementation, handleUnaryCall, Client, ClientUnaryCall, Metadata, CallOptions, ServiceError } from '@grpc/grpc-js';
import _m0 from 'protobufjs/minimal';
import { DatabaseSpec, Database } from '../../../../../yandex/cloud/mdb/mongodb/v1/database';
import { Operation } from '../../../../../yandex/cloud/operation/operation';
export declare const protobufPackage = "yandex.cloud.mdb.mongodb.v1";
export interface GetDatabaseRequest {
/**
* ID of the MongoDB cluster that the database belongs to.
* To get the cluster ID use a [ClusterService.List] request.
*/
clusterId: string;
/**
* Name of the MongoDB database to return.
* To get the name of the database use a [DatabaseService.List] request.
*/
databaseName: string;
}
export interface ListDatabasesRequest {
/**
* ID of the MongoDB cluster to list databases in.
* To get the cluster ID, use a [ClusterService.List] request.
*/
clusterId: 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 [ListDatabasesResponse.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
* [ListDatabasesResponse.next_page_token] returned by the previous list request.
*/
pageToken: string;
}
export interface ListDatabasesResponse {
/** List of MongoDB databases. */
databases: Database[];
/**
* This token allows you to get the next page of results for list requests. If the number of results
* is larger than [ListDatabasesRequest.page_size], use the [next_page_token] as the value
* for the [ListDatabasesRequest.page_token] 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 CreateDatabaseRequest {
/**
* ID of the MongoDB cluster to create a database in.
* To get the cluster ID, use a [ClusterService.List] request.
*/
clusterId: string;
/** Configuration of the database to create. */
databaseSpec?: DatabaseSpec;
}
export interface CreateDatabaseMetadata {
/** ID of the MongoDB cluster where a database is being created. */
clusterId: string;
/** Name of the MongoDB database that is being created. */
databaseName: string;
}
export interface DeleteDatabaseRequest {
/**
* ID of the MongoDB cluster to delete a database in.
* To get the cluster ID, use a [ClusterService.List] request.
*/
clusterId: string;
/**
* Name of the database to delete.
* To get the name of the database, use a [DatabaseService.List] request.
*/
databaseName: string;
}
export interface DeleteDatabaseMetadata {
/** ID of the MongoDB cluster where a database is being deleted. */
clusterId: string;
/** Name of the MongoDB database that is being deleted. */
databaseName: string;
}
export declare const GetDatabaseRequest: {
encode(message: GetDatabaseRequest, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): GetDatabaseRequest;
fromJSON(object: any): GetDatabaseRequest;
toJSON(message: GetDatabaseRequest): unknown;
fromPartial, never>>(object: I): GetDatabaseRequest;
};
export declare const ListDatabasesRequest: {
encode(message: ListDatabasesRequest, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): ListDatabasesRequest;
fromJSON(object: any): ListDatabasesRequest;
toJSON(message: ListDatabasesRequest): unknown;
fromPartial, never>>(object: I): ListDatabasesRequest;
};
export declare const ListDatabasesResponse: {
encode(message: ListDatabasesResponse, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): ListDatabasesResponse;
fromJSON(object: any): ListDatabasesResponse;
toJSON(message: ListDatabasesResponse): unknown;
fromPartial, never>)[] & Record, never>) | undefined;
nextPageToken?: string | undefined;
} & Record, never>>(object: I): ListDatabasesResponse;
};
export declare const CreateDatabaseRequest: {
encode(message: CreateDatabaseRequest, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): CreateDatabaseRequest;
fromJSON(object: any): CreateDatabaseRequest;
toJSON(message: CreateDatabaseRequest): unknown;
fromPartial, never>) | undefined;
} & Record, never>>(object: I): CreateDatabaseRequest;
};
export declare const CreateDatabaseMetadata: {
encode(message: CreateDatabaseMetadata, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): CreateDatabaseMetadata;
fromJSON(object: any): CreateDatabaseMetadata;
toJSON(message: CreateDatabaseMetadata): unknown;
fromPartial, never>>(object: I): CreateDatabaseMetadata;
};
export declare const DeleteDatabaseRequest: {
encode(message: DeleteDatabaseRequest, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): DeleteDatabaseRequest;
fromJSON(object: any): DeleteDatabaseRequest;
toJSON(message: DeleteDatabaseRequest): unknown;
fromPartial, never>>(object: I): DeleteDatabaseRequest;
};
export declare const DeleteDatabaseMetadata: {
encode(message: DeleteDatabaseMetadata, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): DeleteDatabaseMetadata;
fromJSON(object: any): DeleteDatabaseMetadata;
toJSON(message: DeleteDatabaseMetadata): unknown;
fromPartial, never>>(object: I): DeleteDatabaseMetadata;
};
/** A set of methods for managing MongoDB Database resources. */
export declare const DatabaseServiceService: {
/**
* Returns the specified MongoDB Database resource.
*
* To get the list of available MongoDB Database resources, make a [List] request.
*/
readonly get: {
readonly path: "/yandex.cloud.mdb.mongodb.v1.DatabaseService/Get";
readonly requestStream: false;
readonly responseStream: false;
readonly requestSerialize: (value: GetDatabaseRequest) => Buffer;
readonly requestDeserialize: (value: Buffer) => GetDatabaseRequest;
readonly responseSerialize: (value: Database) => Buffer;
readonly responseDeserialize: (value: Buffer) => Database;
};
/** Retrieves the list of MongoDB Database resources in the specified cluster. */
readonly list: {
readonly path: "/yandex.cloud.mdb.mongodb.v1.DatabaseService/List";
readonly requestStream: false;
readonly responseStream: false;
readonly requestSerialize: (value: ListDatabasesRequest) => Buffer;
readonly requestDeserialize: (value: Buffer) => ListDatabasesRequest;
readonly responseSerialize: (value: ListDatabasesResponse) => Buffer;
readonly responseDeserialize: (value: Buffer) => ListDatabasesResponse;
};
/** Creates a new MongoDB database in the specified cluster. */
readonly create: {
readonly path: "/yandex.cloud.mdb.mongodb.v1.DatabaseService/Create";
readonly requestStream: false;
readonly responseStream: false;
readonly requestSerialize: (value: CreateDatabaseRequest) => Buffer;
readonly requestDeserialize: (value: Buffer) => CreateDatabaseRequest;
readonly responseSerialize: (value: Operation) => Buffer;
readonly responseDeserialize: (value: Buffer) => Operation;
};
/** Deletes the specified MongoDB database. */
readonly delete: {
readonly path: "/yandex.cloud.mdb.mongodb.v1.DatabaseService/Delete";
readonly requestStream: false;
readonly responseStream: false;
readonly requestSerialize: (value: DeleteDatabaseRequest) => Buffer;
readonly requestDeserialize: (value: Buffer) => DeleteDatabaseRequest;
readonly responseSerialize: (value: Operation) => Buffer;
readonly responseDeserialize: (value: Buffer) => Operation;
};
};
export interface DatabaseServiceServer extends UntypedServiceImplementation {
/**
* Returns the specified MongoDB Database resource.
*
* To get the list of available MongoDB Database resources, make a [List] request.
*/
get: handleUnaryCall;
/** Retrieves the list of MongoDB Database resources in the specified cluster. */
list: handleUnaryCall;
/** Creates a new MongoDB database in the specified cluster. */
create: handleUnaryCall;
/** Deletes the specified MongoDB database. */
delete: handleUnaryCall;
}
export interface DatabaseServiceClient extends Client {
/**
* Returns the specified MongoDB Database resource.
*
* To get the list of available MongoDB Database resources, make a [List] request.
*/
get(request: GetDatabaseRequest, callback: (error: ServiceError | null, response: Database) => void): ClientUnaryCall;
get(request: GetDatabaseRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Database) => void): ClientUnaryCall;
get(request: GetDatabaseRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: Database) => void): ClientUnaryCall;
/** Retrieves the list of MongoDB Database resources in the specified cluster. */
list(request: ListDatabasesRequest, callback: (error: ServiceError | null, response: ListDatabasesResponse) => void): ClientUnaryCall;
list(request: ListDatabasesRequest, metadata: Metadata, callback: (error: ServiceError | null, response: ListDatabasesResponse) => void): ClientUnaryCall;
list(request: ListDatabasesRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: ListDatabasesResponse) => void): ClientUnaryCall;
/** Creates a new MongoDB database in the specified cluster. */
create(request: CreateDatabaseRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
create(request: CreateDatabaseRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
create(request: CreateDatabaseRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
/** Deletes the specified MongoDB database. */
delete(request: DeleteDatabaseRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
delete(request: DeleteDatabaseRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
delete(request: DeleteDatabaseRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
}
export declare const DatabaseServiceClient: {
new (address: string, credentials: ChannelCredentials, options?: Partial): DatabaseServiceClient;
service: typeof DatabaseServiceService;
};
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