import type * as gax from 'google-gax'; import type { Callback, CallOptions, Descriptors, ClientOptions, PaginationCallback } from 'google-gax'; import { Transform } from 'stream'; import * as protos from '../../protos/protos'; /** * This API allows users to manage their BigQuery reservations. * * A reservation provides computational resource guarantees, in the form of * [slots](https://cloud.google.com/bigquery/docs/slots), to users. A slot is a * unit of computational power in BigQuery, and serves as the basic unit of * parallelism. In a scan of a multi-partitioned table, a single slot operates * on a single partition of the table. A reservation resource exists as a child * resource of the admin project and location, e.g.: * `projects/myproject/locations/US/reservations/reservationName`. * * A capacity commitment is a way to purchase compute capacity for BigQuery jobs * (in the form of slots) with some committed period of usage. A capacity * commitment resource exists as a child resource of the admin project and * location, e.g.: * `projects/myproject/locations/US/capacityCommitments/id`. * @class * @memberof v1 */ export declare class ReservationServiceClient { private _terminated; private _opts; private _providedCustomServicePath; private _gaxModule; private _gaxGrpc; private _protos; private _defaults; private _universeDomain; private _servicePath; private _log; auth: gax.GoogleAuth; descriptors: Descriptors; warn: (code: string, message: string, warnType?: string) => void; innerApiCalls: { [name: string]: Function; }; pathTemplates: { [name: string]: gax.PathTemplate; }; reservationServiceStub?: Promise<{ [name: string]: Function; }>; /** * Construct an instance of ReservationServiceClient. * * @param {object} [options] - The configuration object. * The options accepted by the constructor are described in detail * in [this document](https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#creating-the-client-instance). * The common options are: * @param {object} [options.credentials] - Credentials object. * @param {string} [options.credentials.client_email] * @param {string} [options.credentials.private_key] * @param {string} [options.email] - Account email address. Required when * using a .pem or .p12 keyFilename. * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or * .p12 key downloaded from the Google Developers Console. If you provide * a path to a JSON file, the projectId option below is not necessary. * NOTE: .pem and .p12 require you to specify options.email as well. * @param {number} [options.port] - The port on which to connect to * the remote host. * @param {string} [options.projectId] - The project ID from the Google * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override. * Follows the structure of {@link gapicConfig}. * @param {boolean} [options.fallback] - Use HTTP/1.1 REST mode. * For more information, please check the * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}. * @param {gax} [gaxInstance]: loaded instance of `google-gax`. Useful if you * need to avoid loading the default gRPC version and want to use the fallback * HTTP implementation. Load only fallback version and pass it to the constructor: * ``` * const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC * const client = new ReservationServiceClient({fallback: true}, gax); * ``` */ constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback); /** * Initialize the client. * Performs asynchronous operations (such as authentication) and prepares the client. * This function will be called automatically when any class method is called for the * first time, but if you need to initialize it before calling an actual method, * feel free to call initialize() directly. * * You can await on this method if you want to make sure the client is initialized. * * @returns {Promise} A promise that resolves to an authenticated service stub. */ initialize(): Promise<{ [name: string]: Function; }>; /** * The DNS address for this API service. * @deprecated Use the apiEndpoint method of the client instance. * @returns {string} The DNS address for this service. */ static get servicePath(): string; /** * The DNS address for this API service - same as servicePath. * @deprecated Use the apiEndpoint method of the client instance. * @returns {string} The DNS address for this service. */ static get apiEndpoint(): string; /** * The DNS address for this API service. * @returns {string} The DNS address for this service. */ get apiEndpoint(): string; get universeDomain(): string; /** * The port for this API service. * @returns {number} The default port for this service. */ static get port(): number; /** * The scopes needed to make gRPC calls for every method defined * in this service. * @returns {string[]} List of default scopes. */ static get scopes(): string[]; getProjectId(): Promise; getProjectId(callback: Callback): void; /** * Creates a new reservation resource. * * @param {Object} request * The request object that will be sent. * @param {string} request.parent * Required. Project, location. E.g., * `projects/myproject/locations/US` * @param {string} request.reservationId * The reservation ID. It must only contain lower case alphanumeric * characters or dashes. It must start with a letter and must not end * with a dash. Its maximum length is 64 characters. * @param {google.cloud.bigquery.reservation.v1.Reservation} request.reservation * Definition of the new reservation to create. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.cloud.bigquery.reservation.v1.Reservation|Reservation}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example include:samples/generated/v1/reservation_service.create_reservation.js * region_tag:bigqueryreservation_v1_generated_ReservationService_CreateReservation_async */ createReservation(request?: protos.google.cloud.bigquery.reservation.v1.ICreateReservationRequest, options?: CallOptions): Promise<[ protos.google.cloud.bigquery.reservation.v1.IReservation, (protos.google.cloud.bigquery.reservation.v1.ICreateReservationRequest | undefined), {} | undefined ]>; createReservation(request: protos.google.cloud.bigquery.reservation.v1.ICreateReservationRequest, options: CallOptions, callback: Callback): void; createReservation(request: protos.google.cloud.bigquery.reservation.v1.ICreateReservationRequest, callback: Callback): void; /** * Returns information about the reservation. * * @param {Object} request * The request object that will be sent. * @param {string} request.name * Required. Resource name of the reservation to retrieve. E.g., * `projects/myproject/locations/US/reservations/team1-prod` * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.cloud.bigquery.reservation.v1.Reservation|Reservation}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example include:samples/generated/v1/reservation_service.get_reservation.js * region_tag:bigqueryreservation_v1_generated_ReservationService_GetReservation_async */ getReservation(request?: protos.google.cloud.bigquery.reservation.v1.IGetReservationRequest, options?: CallOptions): Promise<[ protos.google.cloud.bigquery.reservation.v1.IReservation, (protos.google.cloud.bigquery.reservation.v1.IGetReservationRequest | undefined), {} | undefined ]>; getReservation(request: protos.google.cloud.bigquery.reservation.v1.IGetReservationRequest, options: CallOptions, callback: Callback): void; getReservation(request: protos.google.cloud.bigquery.reservation.v1.IGetReservationRequest, callback: Callback): void; /** * Deletes a reservation. * Returns `google.rpc.Code.FAILED_PRECONDITION` when reservation has * assignments. * * @param {Object} request * The request object that will be sent. * @param {string} request.name * Required. Resource name of the reservation to retrieve. E.g., * `projects/myproject/locations/US/reservations/team1-prod` * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.protobuf.Empty|Empty}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example include:samples/generated/v1/reservation_service.delete_reservation.js * region_tag:bigqueryreservation_v1_generated_ReservationService_DeleteReservation_async */ deleteReservation(request?: protos.google.cloud.bigquery.reservation.v1.IDeleteReservationRequest, options?: CallOptions): Promise<[ protos.google.protobuf.IEmpty, (protos.google.cloud.bigquery.reservation.v1.IDeleteReservationRequest | undefined), {} | undefined ]>; deleteReservation(request: protos.google.cloud.bigquery.reservation.v1.IDeleteReservationRequest, options: CallOptions, callback: Callback): void; deleteReservation(request: protos.google.cloud.bigquery.reservation.v1.IDeleteReservationRequest, callback: Callback): void; /** * Updates an existing reservation resource. * * @param {Object} request * The request object that will be sent. * @param {google.cloud.bigquery.reservation.v1.Reservation} request.reservation * Content of the reservation to update. * @param {google.protobuf.FieldMask} request.updateMask * Standard field mask for the set of fields to be updated. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.cloud.bigquery.reservation.v1.Reservation|Reservation}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example include:samples/generated/v1/reservation_service.update_reservation.js * region_tag:bigqueryreservation_v1_generated_ReservationService_UpdateReservation_async */ updateReservation(request?: protos.google.cloud.bigquery.reservation.v1.IUpdateReservationRequest, options?: CallOptions): Promise<[ protos.google.cloud.bigquery.reservation.v1.IReservation, (protos.google.cloud.bigquery.reservation.v1.IUpdateReservationRequest | undefined), {} | undefined ]>; updateReservation(request: protos.google.cloud.bigquery.reservation.v1.IUpdateReservationRequest, options: CallOptions, callback: Callback): void; updateReservation(request: protos.google.cloud.bigquery.reservation.v1.IUpdateReservationRequest, callback: Callback): void; /** * Fail over a reservation to the secondary location. The operation should be * done in the current secondary location, which will be promoted to the * new primary location for the reservation. * Attempting to failover a reservation in the current primary location will * fail with the error code `google.rpc.Code.FAILED_PRECONDITION`. * * @param {Object} request * The request object that will be sent. * @param {string} request.name * Required. Resource name of the reservation to failover. E.g., * `projects/myproject/locations/US/reservations/team1-prod` * @param {google.cloud.bigquery.reservation.v1.FailoverMode} [request.failoverMode] * Optional. A parameter that determines how writes that are pending * replication are handled after a failover is initiated. If not specified, * HARD failover mode is used by default. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.cloud.bigquery.reservation.v1.Reservation|Reservation}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example include:samples/generated/v1/reservation_service.failover_reservation.js * region_tag:bigqueryreservation_v1_generated_ReservationService_FailoverReservation_async */ failoverReservation(request?: protos.google.cloud.bigquery.reservation.v1.IFailoverReservationRequest, options?: CallOptions): Promise<[ protos.google.cloud.bigquery.reservation.v1.IReservation, (protos.google.cloud.bigquery.reservation.v1.IFailoverReservationRequest | undefined), {} | undefined ]>; failoverReservation(request: protos.google.cloud.bigquery.reservation.v1.IFailoverReservationRequest, options: CallOptions, callback: Callback): void; failoverReservation(request: protos.google.cloud.bigquery.reservation.v1.IFailoverReservationRequest, callback: Callback): void; /** * Creates a new capacity commitment resource. * * @param {Object} request * The request object that will be sent. * @param {string} request.parent * Required. Resource name of the parent reservation. E.g., * `projects/myproject/locations/US` * @param {google.cloud.bigquery.reservation.v1.CapacityCommitment} request.capacityCommitment * Content of the capacity commitment to create. * @param {boolean} request.enforceSingleAdminProjectPerOrg * If true, fail the request if another project in the organization has a * capacity commitment. * @param {string} request.capacityCommitmentId * The optional capacity commitment ID. Capacity commitment name will be * generated automatically if this field is empty. * This field must only contain lower case alphanumeric characters or dashes. * The first and last character cannot be a dash. Max length is 64 characters. * NOTE: this ID won't be kept if the capacity commitment is split or merged. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.cloud.bigquery.reservation.v1.CapacityCommitment|CapacityCommitment}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example include:samples/generated/v1/reservation_service.create_capacity_commitment.js * region_tag:bigqueryreservation_v1_generated_ReservationService_CreateCapacityCommitment_async */ createCapacityCommitment(request?: protos.google.cloud.bigquery.reservation.v1.ICreateCapacityCommitmentRequest, options?: CallOptions): Promise<[ protos.google.cloud.bigquery.reservation.v1.ICapacityCommitment, (protos.google.cloud.bigquery.reservation.v1.ICreateCapacityCommitmentRequest | undefined), {} | undefined ]>; createCapacityCommitment(request: protos.google.cloud.bigquery.reservation.v1.ICreateCapacityCommitmentRequest, options: CallOptions, callback: Callback): void; createCapacityCommitment(request: protos.google.cloud.bigquery.reservation.v1.ICreateCapacityCommitmentRequest, callback: Callback): void; /** * Returns information about the capacity commitment. * * @param {Object} request * The request object that will be sent. * @param {string} request.name * Required. Resource name of the capacity commitment to retrieve. E.g., * `projects/myproject/locations/US/capacityCommitments/123` * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.cloud.bigquery.reservation.v1.CapacityCommitment|CapacityCommitment}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example include:samples/generated/v1/reservation_service.get_capacity_commitment.js * region_tag:bigqueryreservation_v1_generated_ReservationService_GetCapacityCommitment_async */ getCapacityCommitment(request?: protos.google.cloud.bigquery.reservation.v1.IGetCapacityCommitmentRequest, options?: CallOptions): Promise<[ protos.google.cloud.bigquery.reservation.v1.ICapacityCommitment, (protos.google.cloud.bigquery.reservation.v1.IGetCapacityCommitmentRequest | undefined), {} | undefined ]>; getCapacityCommitment(request: protos.google.cloud.bigquery.reservation.v1.IGetCapacityCommitmentRequest, options: CallOptions, callback: Callback): void; getCapacityCommitment(request: protos.google.cloud.bigquery.reservation.v1.IGetCapacityCommitmentRequest, callback: Callback): void; /** * Deletes a capacity commitment. Attempting to delete capacity commitment * before its commitment_end_time will fail with the error code * `google.rpc.Code.FAILED_PRECONDITION`. * * @param {Object} request * The request object that will be sent. * @param {string} request.name * Required. Resource name of the capacity commitment to delete. E.g., * `projects/myproject/locations/US/capacityCommitments/123` * @param {boolean} request.force * Can be used to force delete commitments even if assignments exist. Deleting * commitments with assignments may cause queries to fail if they no longer * have access to slots. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.protobuf.Empty|Empty}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example include:samples/generated/v1/reservation_service.delete_capacity_commitment.js * region_tag:bigqueryreservation_v1_generated_ReservationService_DeleteCapacityCommitment_async */ deleteCapacityCommitment(request?: protos.google.cloud.bigquery.reservation.v1.IDeleteCapacityCommitmentRequest, options?: CallOptions): Promise<[ protos.google.protobuf.IEmpty, (protos.google.cloud.bigquery.reservation.v1.IDeleteCapacityCommitmentRequest | undefined), {} | undefined ]>; deleteCapacityCommitment(request: protos.google.cloud.bigquery.reservation.v1.IDeleteCapacityCommitmentRequest, options: CallOptions, callback: Callback): void; deleteCapacityCommitment(request: protos.google.cloud.bigquery.reservation.v1.IDeleteCapacityCommitmentRequest, callback: Callback): void; /** * Updates an existing capacity commitment. * * Only `plan` and `renewal_plan` fields can be updated. * * Plan can only be changed to a plan of a longer commitment period. * Attempting to change to a plan with shorter commitment period will fail * with the error code `google.rpc.Code.FAILED_PRECONDITION`. * * @param {Object} request * The request object that will be sent. * @param {google.cloud.bigquery.reservation.v1.CapacityCommitment} request.capacityCommitment * Content of the capacity commitment to update. * @param {google.protobuf.FieldMask} request.updateMask * Standard field mask for the set of fields to be updated. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.cloud.bigquery.reservation.v1.CapacityCommitment|CapacityCommitment}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example include:samples/generated/v1/reservation_service.update_capacity_commitment.js * region_tag:bigqueryreservation_v1_generated_ReservationService_UpdateCapacityCommitment_async */ updateCapacityCommitment(request?: protos.google.cloud.bigquery.reservation.v1.IUpdateCapacityCommitmentRequest, options?: CallOptions): Promise<[ protos.google.cloud.bigquery.reservation.v1.ICapacityCommitment, (protos.google.cloud.bigquery.reservation.v1.IUpdateCapacityCommitmentRequest | undefined), {} | undefined ]>; updateCapacityCommitment(request: protos.google.cloud.bigquery.reservation.v1.IUpdateCapacityCommitmentRequest, options: CallOptions, callback: Callback): void; updateCapacityCommitment(request: protos.google.cloud.bigquery.reservation.v1.IUpdateCapacityCommitmentRequest, callback: Callback): void; /** * Splits capacity commitment to two commitments of the same plan and * `commitment_end_time`. * * A common use case is to enable downgrading commitments. * * For example, in order to downgrade from 10000 slots to 8000, you might * split a 10000 capacity commitment into commitments of 2000 and 8000. Then, * you delete the first one after the commitment end time passes. * * @param {Object} request * The request object that will be sent. * @param {string} request.name * Required. The resource name e.g.,: * `projects/myproject/locations/US/capacityCommitments/123` * @param {number} request.slotCount * Number of slots in the capacity commitment after the split. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.cloud.bigquery.reservation.v1.SplitCapacityCommitmentResponse|SplitCapacityCommitmentResponse}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example include:samples/generated/v1/reservation_service.split_capacity_commitment.js * region_tag:bigqueryreservation_v1_generated_ReservationService_SplitCapacityCommitment_async */ splitCapacityCommitment(request?: protos.google.cloud.bigquery.reservation.v1.ISplitCapacityCommitmentRequest, options?: CallOptions): Promise<[ protos.google.cloud.bigquery.reservation.v1.ISplitCapacityCommitmentResponse, (protos.google.cloud.bigquery.reservation.v1.ISplitCapacityCommitmentRequest | undefined), {} | undefined ]>; splitCapacityCommitment(request: protos.google.cloud.bigquery.reservation.v1.ISplitCapacityCommitmentRequest, options: CallOptions, callback: Callback): void; splitCapacityCommitment(request: protos.google.cloud.bigquery.reservation.v1.ISplitCapacityCommitmentRequest, callback: Callback): void; /** * Merges capacity commitments of the same plan into a single commitment. * * The resulting capacity commitment has the greater commitment_end_time * out of the to-be-merged capacity commitments. * * Attempting to merge capacity commitments of different plan will fail * with the error code `google.rpc.Code.FAILED_PRECONDITION`. * * @param {Object} request * The request object that will be sent. * @param {string} request.parent * Parent resource that identifies admin project and location e.g., * `projects/myproject/locations/us` * @param {string[]} request.capacityCommitmentIds * Ids of capacity commitments to merge. * These capacity commitments must exist under admin project and location * specified in the parent. * ID is the last portion of capacity commitment name e.g., 'abc' for * projects/myproject/locations/US/capacityCommitments/abc * @param {string} [request.capacityCommitmentId] * Optional. The optional resulting capacity commitment ID. Capacity * commitment name will be generated automatically if this field is empty. * This field must only contain lower case alphanumeric characters or dashes. * The first and last character cannot be a dash. Max length is 64 characters. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.cloud.bigquery.reservation.v1.CapacityCommitment|CapacityCommitment}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example include:samples/generated/v1/reservation_service.merge_capacity_commitments.js * region_tag:bigqueryreservation_v1_generated_ReservationService_MergeCapacityCommitments_async */ mergeCapacityCommitments(request?: protos.google.cloud.bigquery.reservation.v1.IMergeCapacityCommitmentsRequest, options?: CallOptions): Promise<[ protos.google.cloud.bigquery.reservation.v1.ICapacityCommitment, (protos.google.cloud.bigquery.reservation.v1.IMergeCapacityCommitmentsRequest | undefined), {} | undefined ]>; mergeCapacityCommitments(request: protos.google.cloud.bigquery.reservation.v1.IMergeCapacityCommitmentsRequest, options: CallOptions, callback: Callback): void; mergeCapacityCommitments(request: protos.google.cloud.bigquery.reservation.v1.IMergeCapacityCommitmentsRequest, callback: Callback): void; /** * Creates an assignment object which allows the given project to submit jobs * of a certain type using slots from the specified reservation. * * Currently a * resource (project, folder, organization) can only have one assignment per * each (job_type, location) combination, and that reservation will be used * for all jobs of the matching type. * * Different assignments can be created on different levels of the * projects, folders or organization hierarchy. During query execution, * the assignment is looked up at the project, folder and organization levels * in that order. The first assignment found is applied to the query. * * When creating assignments, it does not matter if other assignments exist at * higher levels. * * Example: * * * The organization `organizationA` contains two projects, `project1` * and `project2`. * * Assignments for all three entities (`organizationA`, `project1`, and * `project2`) could all be created and mapped to the same or different * reservations. * * "None" assignments represent an absence of the assignment. Projects * assigned to None use on-demand pricing. To create a "None" assignment, use * "none" as a reservation_id in the parent. Example parent: * `projects/myproject/locations/US/reservations/none`. * * Returns `google.rpc.Code.PERMISSION_DENIED` if user does not have * 'bigquery.admin' permissions on the project using the reservation * and the project that owns this reservation. * * Returns `google.rpc.Code.INVALID_ARGUMENT` when location of the assignment * does not match location of the reservation. * * @param {Object} request * The request object that will be sent. * @param {string} request.parent * Required. The parent resource name of the assignment * E.g. `projects/myproject/locations/US/reservations/team1-prod` * @param {google.cloud.bigquery.reservation.v1.Assignment} request.assignment * Assignment resource to create. * @param {string} request.assignmentId * The optional assignment ID. Assignment name will be generated automatically * if this field is empty. * This field must only contain lower case alphanumeric characters or dashes. * Max length is 64 characters. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.cloud.bigquery.reservation.v1.Assignment|Assignment}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example include:samples/generated/v1/reservation_service.create_assignment.js * region_tag:bigqueryreservation_v1_generated_ReservationService_CreateAssignment_async */ createAssignment(request?: protos.google.cloud.bigquery.reservation.v1.ICreateAssignmentRequest, options?: CallOptions): Promise<[ protos.google.cloud.bigquery.reservation.v1.IAssignment, (protos.google.cloud.bigquery.reservation.v1.ICreateAssignmentRequest | undefined), {} | undefined ]>; createAssignment(request: protos.google.cloud.bigquery.reservation.v1.ICreateAssignmentRequest, options: CallOptions, callback: Callback): void; createAssignment(request: protos.google.cloud.bigquery.reservation.v1.ICreateAssignmentRequest, callback: Callback): void; /** * Deletes a assignment. No expansion will happen. * * Example: * * * Organization `organizationA` contains two projects, `project1` and * `project2`. * * Reservation `res1` exists and was created previously. * * CreateAssignment was used previously to define the following * associations between entities and reservations: `` * and `` * * In this example, deletion of the `` assignment won't * affect the other assignment ``. After said deletion, * queries from `project1` will still use `res1` while queries from * `project2` will switch to use on-demand mode. * * @param {Object} request * The request object that will be sent. * @param {string} request.name * Required. Name of the resource, e.g. * `projects/myproject/locations/US/reservations/team1-prod/assignments/123` * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.protobuf.Empty|Empty}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example include:samples/generated/v1/reservation_service.delete_assignment.js * region_tag:bigqueryreservation_v1_generated_ReservationService_DeleteAssignment_async */ deleteAssignment(request?: protos.google.cloud.bigquery.reservation.v1.IDeleteAssignmentRequest, options?: CallOptions): Promise<[ protos.google.protobuf.IEmpty, (protos.google.cloud.bigquery.reservation.v1.IDeleteAssignmentRequest | undefined), {} | undefined ]>; deleteAssignment(request: protos.google.cloud.bigquery.reservation.v1.IDeleteAssignmentRequest, options: CallOptions, callback: Callback): void; deleteAssignment(request: protos.google.cloud.bigquery.reservation.v1.IDeleteAssignmentRequest, callback: Callback): void; /** * Moves an assignment under a new reservation. * * This differs from removing an existing assignment and recreating a new one * by providing a transactional change that ensures an assignee always has an * associated reservation. * * @param {Object} request * The request object that will be sent. * @param {string} request.name * Required. The resource name of the assignment, * e.g. * `projects/myproject/locations/US/reservations/team1-prod/assignments/123` * @param {string} request.destinationId * The new reservation ID, e.g.: * `projects/myotherproject/locations/US/reservations/team2-prod` * @param {string} request.assignmentId * The optional assignment ID. A new assignment name is generated if this * field is empty. * * This field can contain only lowercase alphanumeric characters or dashes. * Max length is 64 characters. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.cloud.bigquery.reservation.v1.Assignment|Assignment}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example include:samples/generated/v1/reservation_service.move_assignment.js * region_tag:bigqueryreservation_v1_generated_ReservationService_MoveAssignment_async */ moveAssignment(request?: protos.google.cloud.bigquery.reservation.v1.IMoveAssignmentRequest, options?: CallOptions): Promise<[ protos.google.cloud.bigquery.reservation.v1.IAssignment, (protos.google.cloud.bigquery.reservation.v1.IMoveAssignmentRequest | undefined), {} | undefined ]>; moveAssignment(request: protos.google.cloud.bigquery.reservation.v1.IMoveAssignmentRequest, options: CallOptions, callback: Callback): void; moveAssignment(request: protos.google.cloud.bigquery.reservation.v1.IMoveAssignmentRequest, callback: Callback): void; /** * Updates an existing assignment. * * Only the `priority` field can be updated. * * @param {Object} request * The request object that will be sent. * @param {google.cloud.bigquery.reservation.v1.Assignment} request.assignment * Content of the assignment to update. * @param {google.protobuf.FieldMask} request.updateMask * Standard field mask for the set of fields to be updated. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.cloud.bigquery.reservation.v1.Assignment|Assignment}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example include:samples/generated/v1/reservation_service.update_assignment.js * region_tag:bigqueryreservation_v1_generated_ReservationService_UpdateAssignment_async */ updateAssignment(request?: protos.google.cloud.bigquery.reservation.v1.IUpdateAssignmentRequest, options?: CallOptions): Promise<[ protos.google.cloud.bigquery.reservation.v1.IAssignment, (protos.google.cloud.bigquery.reservation.v1.IUpdateAssignmentRequest | undefined), {} | undefined ]>; updateAssignment(request: protos.google.cloud.bigquery.reservation.v1.IUpdateAssignmentRequest, options: CallOptions, callback: Callback): void; updateAssignment(request: protos.google.cloud.bigquery.reservation.v1.IUpdateAssignmentRequest, callback: Callback): void; /** * Retrieves a BI reservation. * * @param {Object} request * The request object that will be sent. * @param {string} request.name * Required. Name of the requested reservation, for example: * `projects/{project_id}/locations/{location_id}/biReservation` * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.cloud.bigquery.reservation.v1.BiReservation|BiReservation}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example include:samples/generated/v1/reservation_service.get_bi_reservation.js * region_tag:bigqueryreservation_v1_generated_ReservationService_GetBiReservation_async */ getBiReservation(request?: protos.google.cloud.bigquery.reservation.v1.IGetBiReservationRequest, options?: CallOptions): Promise<[ protos.google.cloud.bigquery.reservation.v1.IBiReservation, (protos.google.cloud.bigquery.reservation.v1.IGetBiReservationRequest | undefined), {} | undefined ]>; getBiReservation(request: protos.google.cloud.bigquery.reservation.v1.IGetBiReservationRequest, options: CallOptions, callback: Callback): void; getBiReservation(request: protos.google.cloud.bigquery.reservation.v1.IGetBiReservationRequest, callback: Callback): void; /** * Updates a BI reservation. * * Only fields specified in the `field_mask` are updated. * * A singleton BI reservation always exists with default size 0. * In order to reserve BI capacity it needs to be updated to an amount * greater than 0. In order to release BI capacity reservation size * must be set to 0. * * @param {Object} request * The request object that will be sent. * @param {google.cloud.bigquery.reservation.v1.BiReservation} request.biReservation * A reservation to update. * @param {google.protobuf.FieldMask} request.updateMask * A list of fields to be updated in this request. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.cloud.bigquery.reservation.v1.BiReservation|BiReservation}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example include:samples/generated/v1/reservation_service.update_bi_reservation.js * region_tag:bigqueryreservation_v1_generated_ReservationService_UpdateBiReservation_async */ updateBiReservation(request?: protos.google.cloud.bigquery.reservation.v1.IUpdateBiReservationRequest, options?: CallOptions): Promise<[ protos.google.cloud.bigquery.reservation.v1.IBiReservation, (protos.google.cloud.bigquery.reservation.v1.IUpdateBiReservationRequest | undefined), {} | undefined ]>; updateBiReservation(request: protos.google.cloud.bigquery.reservation.v1.IUpdateBiReservationRequest, options: CallOptions, callback: Callback): void; updateBiReservation(request: protos.google.cloud.bigquery.reservation.v1.IUpdateBiReservationRequest, callback: Callback): void; /** * Gets the access control policy for a resource. * May return: * * * A`NOT_FOUND` error if the resource doesn't exist or you don't have the * permission to view it. * * An empty policy if the resource exists but doesn't have a set policy. * * Supported resources are: * - Reservations * - ReservationAssignments * * To call this method, you must have the following Google IAM permissions: * * - `bigqueryreservation.reservations.getIamPolicy` to get policies on * reservations. * * @param {Object} request * The request object that will be sent. * @param {string} request.resource * REQUIRED: The resource for which the policy is being requested. * See the operation documentation for the appropriate value for this field. * @param {google.iam.v1.GetPolicyOptions} request.options * OPTIONAL: A `GetPolicyOptions` object for specifying options to * `GetIamPolicy`. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.iam.v1.Policy|Policy}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example include:samples/generated/v1/reservation_service.get_iam_policy.js * region_tag:bigqueryreservation_v1_generated_ReservationService_GetIamPolicy_async */ getIamPolicy(request?: protos.google.iam.v1.IGetIamPolicyRequest, options?: CallOptions): Promise<[ protos.google.iam.v1.IPolicy, protos.google.iam.v1.IGetIamPolicyRequest | undefined, {} | undefined ]>; getIamPolicy(request: protos.google.iam.v1.IGetIamPolicyRequest, options: CallOptions, callback: Callback): void; getIamPolicy(request: protos.google.iam.v1.IGetIamPolicyRequest, callback: Callback): void; /** * Sets an access control policy for a resource. Replaces any existing * policy. * * Supported resources are: * - Reservations * * To call this method, you must have the following Google IAM permissions: * * - `bigqueryreservation.reservations.setIamPolicy` to set policies on * reservations. * * @param {Object} request * The request object that will be sent. * @param {string} request.resource * REQUIRED: The resource for which the policy is being specified. * See the operation documentation for the appropriate value for this field. * @param {google.iam.v1.Policy} request.policy * REQUIRED: The complete policy to be applied to the `resource`. The size of * the policy is limited to a few 10s of KB. An empty policy is a * valid policy but certain Cloud Platform services (such as Projects) * might reject them. * @param {google.protobuf.FieldMask} request.updateMask * OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only * the fields in the mask will be modified. If no mask is provided, the * following default mask is used: * * `paths: "bindings, etag"` * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.iam.v1.Policy|Policy}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example include:samples/generated/v1/reservation_service.set_iam_policy.js * region_tag:bigqueryreservation_v1_generated_ReservationService_SetIamPolicy_async */ setIamPolicy(request?: protos.google.iam.v1.ISetIamPolicyRequest, options?: CallOptions): Promise<[ protos.google.iam.v1.IPolicy, protos.google.iam.v1.ISetIamPolicyRequest | undefined, {} | undefined ]>; setIamPolicy(request: protos.google.iam.v1.ISetIamPolicyRequest, options: CallOptions, callback: Callback): void; setIamPolicy(request: protos.google.iam.v1.ISetIamPolicyRequest, callback: Callback): void; /** * Gets your permissions on a resource. Returns an empty set of permissions if * the resource doesn't exist. * * Supported resources are: * - Reservations * * No Google IAM permissions are required to call this method. * * @param {Object} request * The request object that will be sent. * @param {string} request.resource * REQUIRED: The resource for which the policy detail is being requested. * See the operation documentation for the appropriate value for this field. * @param {string[]} request.permissions * The set of permissions to check for the `resource`. Permissions with * wildcards (such as '*' or 'storage.*') are not allowed. For more * information see * [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions). * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.iam.v1.TestIamPermissionsResponse|TestIamPermissionsResponse}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example include:samples/generated/v1/reservation_service.test_iam_permissions.js * region_tag:bigqueryreservation_v1_generated_ReservationService_TestIamPermissions_async */ testIamPermissions(request?: protos.google.iam.v1.ITestIamPermissionsRequest, options?: CallOptions): Promise<[ protos.google.iam.v1.ITestIamPermissionsResponse, protos.google.iam.v1.ITestIamPermissionsRequest | undefined, {} | undefined ]>; testIamPermissions(request: protos.google.iam.v1.ITestIamPermissionsRequest, options: CallOptions, callback: Callback): void; testIamPermissions(request: protos.google.iam.v1.ITestIamPermissionsRequest, callback: Callback): void; /** * Creates a new reservation group. * * @param {Object} request * The request object that will be sent. * @param {string} request.parent * Required. Project, location. E.g., * `projects/myproject/locations/US` * @param {string} request.reservationGroupId * Required. The reservation group ID. It must only contain lower case * alphanumeric characters or dashes. It must start with a letter and must not * end with a dash. Its maximum length is 64 characters. * @param {google.cloud.bigquery.reservation.v1.ReservationGroup} request.reservationGroup * Required. New Reservation Group to create. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.cloud.bigquery.reservation.v1.ReservationGroup|ReservationGroup}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example include:samples/generated/v1/reservation_service.create_reservation_group.js * region_tag:bigqueryreservation_v1_generated_ReservationService_CreateReservationGroup_async */ createReservationGroup(request?: protos.google.cloud.bigquery.reservation.v1.ICreateReservationGroupRequest, options?: CallOptions): Promise<[ protos.google.cloud.bigquery.reservation.v1.IReservationGroup, (protos.google.cloud.bigquery.reservation.v1.ICreateReservationGroupRequest | undefined), {} | undefined ]>; createReservationGroup(request: protos.google.cloud.bigquery.reservation.v1.ICreateReservationGroupRequest, options: CallOptions, callback: Callback): void; createReservationGroup(request: protos.google.cloud.bigquery.reservation.v1.ICreateReservationGroupRequest, callback: Callback): void; /** * Returns information about the reservation group. * * @param {Object} request * The request object that will be sent. * @param {string} request.name * Required. Resource name of the reservation group to retrieve. E.g., * `projects/myproject/locations/US/reservationGroups/team1-prod` * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.cloud.bigquery.reservation.v1.ReservationGroup|ReservationGroup}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example include:samples/generated/v1/reservation_service.get_reservation_group.js * region_tag:bigqueryreservation_v1_generated_ReservationService_GetReservationGroup_async */ getReservationGroup(request?: protos.google.cloud.bigquery.reservation.v1.IGetReservationGroupRequest, options?: CallOptions): Promise<[ protos.google.cloud.bigquery.reservation.v1.IReservationGroup, (protos.google.cloud.bigquery.reservation.v1.IGetReservationGroupRequest | undefined), {} | undefined ]>; getReservationGroup(request: protos.google.cloud.bigquery.reservation.v1.IGetReservationGroupRequest, options: CallOptions, callback: Callback): void; getReservationGroup(request: protos.google.cloud.bigquery.reservation.v1.IGetReservationGroupRequest, callback: Callback): void; /** * Deletes a reservation. * Returns `google.rpc.Code.FAILED_PRECONDITION` when reservation has * assignments. * * @param {Object} request * The request object that will be sent. * @param {string} request.name * Required. Resource name of the reservation group to retrieve. E.g., * `projects/myproject/locations/US/reservationGroups/team1-prod` * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.protobuf.Empty|Empty}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example include:samples/generated/v1/reservation_service.delete_reservation_group.js * region_tag:bigqueryreservation_v1_generated_ReservationService_DeleteReservationGroup_async */ deleteReservationGroup(request?: protos.google.cloud.bigquery.reservation.v1.IDeleteReservationGroupRequest, options?: CallOptions): Promise<[ protos.google.protobuf.IEmpty, (protos.google.cloud.bigquery.reservation.v1.IDeleteReservationGroupRequest | undefined), {} | undefined ]>; deleteReservationGroup(request: protos.google.cloud.bigquery.reservation.v1.IDeleteReservationGroupRequest, options: CallOptions, callback: Callback): void; deleteReservationGroup(request: protos.google.cloud.bigquery.reservation.v1.IDeleteReservationGroupRequest, callback: Callback): void; /** * Updates an existing reservation group resource. * * @param {Object} request * The request object that will be sent. * @param {google.cloud.bigquery.reservation.v1.ReservationGroup} request.reservationGroup * Required. Content of the reservation group to update. * @param {google.protobuf.FieldMask} [request.updateMask] * Optional. Standard field mask for the set of fields to be updated. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.cloud.bigquery.reservation.v1.ReservationGroup|ReservationGroup}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example include:samples/generated/v1/reservation_service.update_reservation_group.js * region_tag:bigqueryreservation_v1_generated_ReservationService_UpdateReservationGroup_async */ updateReservationGroup(request?: protos.google.cloud.bigquery.reservation.v1.IUpdateReservationGroupRequest, options?: CallOptions): Promise<[ protos.google.cloud.bigquery.reservation.v1.IReservationGroup, (protos.google.cloud.bigquery.reservation.v1.IUpdateReservationGroupRequest | undefined), {} | undefined ]>; updateReservationGroup(request: protos.google.cloud.bigquery.reservation.v1.IUpdateReservationGroupRequest, options: CallOptions, callback: Callback): void; updateReservationGroup(request: protos.google.cloud.bigquery.reservation.v1.IUpdateReservationGroupRequest, callback: Callback): void; /** * Lists all the reservations for the project in the specified location. * * @param {Object} request * The request object that will be sent. * @param {string} request.parent * Required. The parent resource name containing project and location, e.g.: * `projects/myproject/locations/US` * @param {number} request.pageSize * The maximum number of items to return per page. * @param {string} request.pageToken * The next_page_token value returned from a previous List request, if any. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is Array of {@link protos.google.cloud.bigquery.reservation.v1.Reservation|Reservation}. * The client library will perform auto-pagination by default: it will call the API as many * times as needed and will merge results from all the pages into this array. * Note that it can affect your quota. * We recommend using `listReservationsAsync()` * method described below for async iteration which you can stop as needed. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } * for more details and examples. */ listReservations(request?: protos.google.cloud.bigquery.reservation.v1.IListReservationsRequest, options?: CallOptions): Promise<[ protos.google.cloud.bigquery.reservation.v1.IReservation[], protos.google.cloud.bigquery.reservation.v1.IListReservationsRequest | null, protos.google.cloud.bigquery.reservation.v1.IListReservationsResponse ]>; listReservations(request: protos.google.cloud.bigquery.reservation.v1.IListReservationsRequest, options: CallOptions, callback: PaginationCallback): void; listReservations(request: protos.google.cloud.bigquery.reservation.v1.IListReservationsRequest, callback: PaginationCallback): void; /** * Equivalent to `listReservations`, but returns a NodeJS Stream object. * @param {Object} request * The request object that will be sent. * @param {string} request.parent * Required. The parent resource name containing project and location, e.g.: * `projects/myproject/locations/US` * @param {number} request.pageSize * The maximum number of items to return per page. * @param {string} request.pageToken * The next_page_token value returned from a previous List request, if any. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Stream} * An object stream which emits an object representing {@link protos.google.cloud.bigquery.reservation.v1.Reservation|Reservation} on 'data' event. * The client library will perform auto-pagination by default: it will call the API as many * times as needed. Note that it can affect your quota. * We recommend using `listReservationsAsync()` * method described below for async iteration which you can stop as needed. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } * for more details and examples. */ listReservationsStream(request?: protos.google.cloud.bigquery.reservation.v1.IListReservationsRequest, options?: CallOptions): Transform; /** * Equivalent to `listReservations`, but returns an iterable object. * * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. * @param {Object} request * The request object that will be sent. * @param {string} request.parent * Required. The parent resource name containing project and location, e.g.: * `projects/myproject/locations/US` * @param {number} request.pageSize * The maximum number of items to return per page. * @param {string} request.pageToken * The next_page_token value returned from a previous List request, if any. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Object} * An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. * When you iterate the returned iterable, each element will be an object representing * {@link protos.google.cloud.bigquery.reservation.v1.Reservation|Reservation}. The API will be called under the hood as needed, once per the page, * so you can stop the iteration when you don't need more results. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } * for more details and examples. * @example include:samples/generated/v1/reservation_service.list_reservations.js * region_tag:bigqueryreservation_v1_generated_ReservationService_ListReservations_async */ listReservationsAsync(request?: protos.google.cloud.bigquery.reservation.v1.IListReservationsRequest, options?: CallOptions): AsyncIterable; /** * Lists all the capacity commitments for the admin project. * * @param {Object} request * The request object that will be sent. * @param {string} request.parent * Required. Resource name of the parent reservation. E.g., * `projects/myproject/locations/US` * @param {number} request.pageSize * The maximum number of items to return. * @param {string} request.pageToken * The next_page_token value returned from a previous List request, if any. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is Array of {@link protos.google.cloud.bigquery.reservation.v1.CapacityCommitment|CapacityCommitment}. * The client library will perform auto-pagination by default: it will call the API as many * times as needed and will merge results from all the pages into this array. * Note that it can affect your quota. * We recommend using `listCapacityCommitmentsAsync()` * method described below for async iteration which you can stop as needed. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } * for more details and examples. */ listCapacityCommitments(request?: protos.google.cloud.bigquery.reservation.v1.IListCapacityCommitmentsRequest, options?: CallOptions): Promise<[ protos.google.cloud.bigquery.reservation.v1.ICapacityCommitment[], protos.google.cloud.bigquery.reservation.v1.IListCapacityCommitmentsRequest | null, protos.google.cloud.bigquery.reservation.v1.IListCapacityCommitmentsResponse ]>; listCapacityCommitments(request: protos.google.cloud.bigquery.reservation.v1.IListCapacityCommitmentsRequest, options: CallOptions, callback: PaginationCallback): void; listCapacityCommitments(request: protos.google.cloud.bigquery.reservation.v1.IListCapacityCommitmentsRequest, callback: PaginationCallback): void; /** * Equivalent to `listCapacityCommitments`, but returns a NodeJS Stream object. * @param {Object} request * The request object that will be sent. * @param {string} request.parent * Required. Resource name of the parent reservation. E.g., * `projects/myproject/locations/US` * @param {number} request.pageSize * The maximum number of items to return. * @param {string} request.pageToken * The next_page_token value returned from a previous List request, if any. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Stream} * An object stream which emits an object representing {@link protos.google.cloud.bigquery.reservation.v1.CapacityCommitment|CapacityCommitment} on 'data' event. * The client library will perform auto-pagination by default: it will call the API as many * times as needed. Note that it can affect your quota. * We recommend using `listCapacityCommitmentsAsync()` * method described below for async iteration which you can stop as needed. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } * for more details and examples. */ listCapacityCommitmentsStream(request?: protos.google.cloud.bigquery.reservation.v1.IListCapacityCommitmentsRequest, options?: CallOptions): Transform; /** * Equivalent to `listCapacityCommitments`, but returns an iterable object. * * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. * @param {Object} request * The request object that will be sent. * @param {string} request.parent * Required. Resource name of the parent reservation. E.g., * `projects/myproject/locations/US` * @param {number} request.pageSize * The maximum number of items to return. * @param {string} request.pageToken * The next_page_token value returned from a previous List request, if any. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Object} * An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. * When you iterate the returned iterable, each element will be an object representing * {@link protos.google.cloud.bigquery.reservation.v1.CapacityCommitment|CapacityCommitment}. The API will be called under the hood as needed, once per the page, * so you can stop the iteration when you don't need more results. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } * for more details and examples. * @example include:samples/generated/v1/reservation_service.list_capacity_commitments.js * region_tag:bigqueryreservation_v1_generated_ReservationService_ListCapacityCommitments_async */ listCapacityCommitmentsAsync(request?: protos.google.cloud.bigquery.reservation.v1.IListCapacityCommitmentsRequest, options?: CallOptions): AsyncIterable; /** * Lists assignments. * * Only explicitly created assignments will be returned. * * Example: * * * Organization `organizationA` contains two projects, `project1` and * `project2`. * * Reservation `res1` exists and was created previously. * * CreateAssignment was used previously to define the following * associations between entities and reservations: `` * and `` * * In this example, ListAssignments will just return the above two assignments * for reservation `res1`, and no expansion/merge will happen. * * The wildcard "-" can be used for * reservations in the request. In that case all assignments belongs to the * specified project and location will be listed. * * **Note** "-" cannot be used for projects nor locations. * * @param {Object} request * The request object that will be sent. * @param {string} request.parent * Required. The parent resource name e.g.: * * `projects/myproject/locations/US/reservations/team1-prod` * * Or: * * `projects/myproject/locations/US/reservations/-` * @param {number} request.pageSize * The maximum number of items to return per page. * @param {string} request.pageToken * The next_page_token value returned from a previous List request, if any. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is Array of {@link protos.google.cloud.bigquery.reservation.v1.Assignment|Assignment}. * The client library will perform auto-pagination by default: it will call the API as many * times as needed and will merge results from all the pages into this array. * Note that it can affect your quota. * We recommend using `listAssignmentsAsync()` * method described below for async iteration which you can stop as needed. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } * for more details and examples. */ listAssignments(request?: protos.google.cloud.bigquery.reservation.v1.IListAssignmentsRequest, options?: CallOptions): Promise<[ protos.google.cloud.bigquery.reservation.v1.IAssignment[], protos.google.cloud.bigquery.reservation.v1.IListAssignmentsRequest | null, protos.google.cloud.bigquery.reservation.v1.IListAssignmentsResponse ]>; listAssignments(request: protos.google.cloud.bigquery.reservation.v1.IListAssignmentsRequest, options: CallOptions, callback: PaginationCallback): void; listAssignments(request: protos.google.cloud.bigquery.reservation.v1.IListAssignmentsRequest, callback: PaginationCallback): void; /** * Equivalent to `listAssignments`, but returns a NodeJS Stream object. * @param {Object} request * The request object that will be sent. * @param {string} request.parent * Required. The parent resource name e.g.: * * `projects/myproject/locations/US/reservations/team1-prod` * * Or: * * `projects/myproject/locations/US/reservations/-` * @param {number} request.pageSize * The maximum number of items to return per page. * @param {string} request.pageToken * The next_page_token value returned from a previous List request, if any. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Stream} * An object stream which emits an object representing {@link protos.google.cloud.bigquery.reservation.v1.Assignment|Assignment} on 'data' event. * The client library will perform auto-pagination by default: it will call the API as many * times as needed. Note that it can affect your quota. * We recommend using `listAssignmentsAsync()` * method described below for async iteration which you can stop as needed. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } * for more details and examples. */ listAssignmentsStream(request?: protos.google.cloud.bigquery.reservation.v1.IListAssignmentsRequest, options?: CallOptions): Transform; /** * Equivalent to `listAssignments`, but returns an iterable object. * * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. * @param {Object} request * The request object that will be sent. * @param {string} request.parent * Required. The parent resource name e.g.: * * `projects/myproject/locations/US/reservations/team1-prod` * * Or: * * `projects/myproject/locations/US/reservations/-` * @param {number} request.pageSize * The maximum number of items to return per page. * @param {string} request.pageToken * The next_page_token value returned from a previous List request, if any. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Object} * An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. * When you iterate the returned iterable, each element will be an object representing * {@link protos.google.cloud.bigquery.reservation.v1.Assignment|Assignment}. The API will be called under the hood as needed, once per the page, * so you can stop the iteration when you don't need more results. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } * for more details and examples. * @example include:samples/generated/v1/reservation_service.list_assignments.js * region_tag:bigqueryreservation_v1_generated_ReservationService_ListAssignments_async */ listAssignmentsAsync(request?: protos.google.cloud.bigquery.reservation.v1.IListAssignmentsRequest, options?: CallOptions): AsyncIterable; /** * Deprecated: Looks up assignments for a specified resource for a particular * region. If the request is about a project: * * 1. Assignments created on the project will be returned if they exist. * 2. Otherwise assignments created on the closest ancestor will be * returned. * 3. Assignments for different JobTypes will all be returned. * * The same logic applies if the request is about a folder. * * If the request is about an organization, then assignments created on the * organization will be returned (organization doesn't have ancestors). * * Comparing to ListAssignments, there are some behavior * differences: * * 1. permission on the assignee will be verified in this API. * 2. Hierarchy lookup (project->folder->organization) happens in this API. * 3. Parent here is `projects/* /locations/*`, instead of * `projects/* /locations/*reservations/*`. * * **Note** "-" cannot be used for projects * nor locations. * * @param {Object} request * The request object that will be sent. * @param {string} request.parent * Required. The resource name of the admin project(containing project and * location), e.g.: * `projects/myproject/locations/US`. * @param {string} request.query * Please specify resource name as assignee in the query. * * Examples: * * * `assignee=projects/myproject` * * `assignee=folders/123` * * `assignee=organizations/456` * @param {number} request.pageSize * The maximum number of items to return per page. * @param {string} request.pageToken * The next_page_token value returned from a previous List request, if any. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is Array of {@link protos.google.cloud.bigquery.reservation.v1.Assignment|Assignment}. * The client library will perform auto-pagination by default: it will call the API as many * times as needed and will merge results from all the pages into this array. * Note that it can affect your quota. * We recommend using `searchAssignmentsAsync()` * method described below for async iteration which you can stop as needed. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } * for more details and examples. * @deprecated SearchAssignments is deprecated and may be removed in a future version. */ searchAssignments(request?: protos.google.cloud.bigquery.reservation.v1.ISearchAssignmentsRequest, options?: CallOptions): Promise<[ protos.google.cloud.bigquery.reservation.v1.IAssignment[], protos.google.cloud.bigquery.reservation.v1.ISearchAssignmentsRequest | null, protos.google.cloud.bigquery.reservation.v1.ISearchAssignmentsResponse ]>; searchAssignments(request: protos.google.cloud.bigquery.reservation.v1.ISearchAssignmentsRequest, options: CallOptions, callback: PaginationCallback): void; searchAssignments(request: protos.google.cloud.bigquery.reservation.v1.ISearchAssignmentsRequest, callback: PaginationCallback): void; /** * Equivalent to `searchAssignments`, but returns a NodeJS Stream object. * @param {Object} request * The request object that will be sent. * @param {string} request.parent * Required. The resource name of the admin project(containing project and * location), e.g.: * `projects/myproject/locations/US`. * @param {string} request.query * Please specify resource name as assignee in the query. * * Examples: * * * `assignee=projects/myproject` * * `assignee=folders/123` * * `assignee=organizations/456` * @param {number} request.pageSize * The maximum number of items to return per page. * @param {string} request.pageToken * The next_page_token value returned from a previous List request, if any. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Stream} * An object stream which emits an object representing {@link protos.google.cloud.bigquery.reservation.v1.Assignment|Assignment} on 'data' event. * The client library will perform auto-pagination by default: it will call the API as many * times as needed. Note that it can affect your quota. * We recommend using `searchAssignmentsAsync()` * method described below for async iteration which you can stop as needed. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } * for more details and examples. * @deprecated SearchAssignments is deprecated and may be removed in a future version. */ searchAssignmentsStream(request?: protos.google.cloud.bigquery.reservation.v1.ISearchAssignmentsRequest, options?: CallOptions): Transform; /** * Equivalent to `searchAssignments`, but returns an iterable object. * * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. * @param {Object} request * The request object that will be sent. * @param {string} request.parent * Required. The resource name of the admin project(containing project and * location), e.g.: * `projects/myproject/locations/US`. * @param {string} request.query * Please specify resource name as assignee in the query. * * Examples: * * * `assignee=projects/myproject` * * `assignee=folders/123` * * `assignee=organizations/456` * @param {number} request.pageSize * The maximum number of items to return per page. * @param {string} request.pageToken * The next_page_token value returned from a previous List request, if any. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Object} * An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. * When you iterate the returned iterable, each element will be an object representing * {@link protos.google.cloud.bigquery.reservation.v1.Assignment|Assignment}. The API will be called under the hood as needed, once per the page, * so you can stop the iteration when you don't need more results. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } * for more details and examples. * @example include:samples/generated/v1/reservation_service.search_assignments.js * region_tag:bigqueryreservation_v1_generated_ReservationService_SearchAssignments_async * @deprecated SearchAssignments is deprecated and may be removed in a future version. */ searchAssignmentsAsync(request?: protos.google.cloud.bigquery.reservation.v1.ISearchAssignmentsRequest, options?: CallOptions): AsyncIterable; /** * Looks up assignments for a specified resource for a particular region. * If the request is about a project: * * 1. Assignments created on the project will be returned if they exist. * 2. Otherwise assignments created on the closest ancestor will be * returned. * 3. Assignments for different JobTypes will all be returned. * * The same logic applies if the request is about a folder. * * If the request is about an organization, then assignments created on the * organization will be returned (organization doesn't have ancestors). * * Comparing to ListAssignments, there are some behavior * differences: * * 1. permission on the assignee will be verified in this API. * 2. Hierarchy lookup (project->folder->organization) happens in this API. * 3. Parent here is `projects/* /locations/*`, instead of * `projects/* /locations/*reservations/*`. * * @param {Object} request * The request object that will be sent. * @param {string} request.parent * Required. The resource name with location (project name could be the * wildcard '-'), e.g.: * `projects/-/locations/US`. * @param {string} request.query * Please specify resource name as assignee in the query. * * Examples: * * * `assignee=projects/myproject` * * `assignee=folders/123` * * `assignee=organizations/456` * @param {number} request.pageSize * The maximum number of items to return per page. * @param {string} request.pageToken * The next_page_token value returned from a previous List request, if any. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is Array of {@link protos.google.cloud.bigquery.reservation.v1.Assignment|Assignment}. * The client library will perform auto-pagination by default: it will call the API as many * times as needed and will merge results from all the pages into this array. * Note that it can affect your quota. * We recommend using `searchAllAssignmentsAsync()` * method described below for async iteration which you can stop as needed. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } * for more details and examples. */ searchAllAssignments(request?: protos.google.cloud.bigquery.reservation.v1.ISearchAllAssignmentsRequest, options?: CallOptions): Promise<[ protos.google.cloud.bigquery.reservation.v1.IAssignment[], protos.google.cloud.bigquery.reservation.v1.ISearchAllAssignmentsRequest | null, protos.google.cloud.bigquery.reservation.v1.ISearchAllAssignmentsResponse ]>; searchAllAssignments(request: protos.google.cloud.bigquery.reservation.v1.ISearchAllAssignmentsRequest, options: CallOptions, callback: PaginationCallback): void; searchAllAssignments(request: protos.google.cloud.bigquery.reservation.v1.ISearchAllAssignmentsRequest, callback: PaginationCallback): void; /** * Equivalent to `searchAllAssignments`, but returns a NodeJS Stream object. * @param {Object} request * The request object that will be sent. * @param {string} request.parent * Required. The resource name with location (project name could be the * wildcard '-'), e.g.: * `projects/-/locations/US`. * @param {string} request.query * Please specify resource name as assignee in the query. * * Examples: * * * `assignee=projects/myproject` * * `assignee=folders/123` * * `assignee=organizations/456` * @param {number} request.pageSize * The maximum number of items to return per page. * @param {string} request.pageToken * The next_page_token value returned from a previous List request, if any. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Stream} * An object stream which emits an object representing {@link protos.google.cloud.bigquery.reservation.v1.Assignment|Assignment} on 'data' event. * The client library will perform auto-pagination by default: it will call the API as many * times as needed. Note that it can affect your quota. * We recommend using `searchAllAssignmentsAsync()` * method described below for async iteration which you can stop as needed. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } * for more details and examples. */ searchAllAssignmentsStream(request?: protos.google.cloud.bigquery.reservation.v1.ISearchAllAssignmentsRequest, options?: CallOptions): Transform; /** * Equivalent to `searchAllAssignments`, but returns an iterable object. * * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. * @param {Object} request * The request object that will be sent. * @param {string} request.parent * Required. The resource name with location (project name could be the * wildcard '-'), e.g.: * `projects/-/locations/US`. * @param {string} request.query * Please specify resource name as assignee in the query. * * Examples: * * * `assignee=projects/myproject` * * `assignee=folders/123` * * `assignee=organizations/456` * @param {number} request.pageSize * The maximum number of items to return per page. * @param {string} request.pageToken * The next_page_token value returned from a previous List request, if any. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Object} * An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. * When you iterate the returned iterable, each element will be an object representing * {@link protos.google.cloud.bigquery.reservation.v1.Assignment|Assignment}. The API will be called under the hood as needed, once per the page, * so you can stop the iteration when you don't need more results. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } * for more details and examples. * @example include:samples/generated/v1/reservation_service.search_all_assignments.js * region_tag:bigqueryreservation_v1_generated_ReservationService_SearchAllAssignments_async */ searchAllAssignmentsAsync(request?: protos.google.cloud.bigquery.reservation.v1.ISearchAllAssignmentsRequest, options?: CallOptions): AsyncIterable; /** * Lists all the reservation groups for the project in the specified location. * * @param {Object} request * The request object that will be sent. * @param {string} request.parent * Required. The parent resource name containing project and location, e.g.: * `projects/myproject/locations/US` * @param {number} request.pageSize * The maximum number of items to return per page. * @param {string} request.pageToken * The next_page_token value returned from a previous List request, if any. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is Array of {@link protos.google.cloud.bigquery.reservation.v1.ReservationGroup|ReservationGroup}. * The client library will perform auto-pagination by default: it will call the API as many * times as needed and will merge results from all the pages into this array. * Note that it can affect your quota. * We recommend using `listReservationGroupsAsync()` * method described below for async iteration which you can stop as needed. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } * for more details and examples. */ listReservationGroups(request?: protos.google.cloud.bigquery.reservation.v1.IListReservationGroupsRequest, options?: CallOptions): Promise<[ protos.google.cloud.bigquery.reservation.v1.IReservationGroup[], protos.google.cloud.bigquery.reservation.v1.IListReservationGroupsRequest | null, protos.google.cloud.bigquery.reservation.v1.IListReservationGroupsResponse ]>; listReservationGroups(request: protos.google.cloud.bigquery.reservation.v1.IListReservationGroupsRequest, options: CallOptions, callback: PaginationCallback): void; listReservationGroups(request: protos.google.cloud.bigquery.reservation.v1.IListReservationGroupsRequest, callback: PaginationCallback): void; /** * Equivalent to `listReservationGroups`, but returns a NodeJS Stream object. * @param {Object} request * The request object that will be sent. * @param {string} request.parent * Required. The parent resource name containing project and location, e.g.: * `projects/myproject/locations/US` * @param {number} request.pageSize * The maximum number of items to return per page. * @param {string} request.pageToken * The next_page_token value returned from a previous List request, if any. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Stream} * An object stream which emits an object representing {@link protos.google.cloud.bigquery.reservation.v1.ReservationGroup|ReservationGroup} on 'data' event. * The client library will perform auto-pagination by default: it will call the API as many * times as needed. Note that it can affect your quota. * We recommend using `listReservationGroupsAsync()` * method described below for async iteration which you can stop as needed. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } * for more details and examples. */ listReservationGroupsStream(request?: protos.google.cloud.bigquery.reservation.v1.IListReservationGroupsRequest, options?: CallOptions): Transform; /** * Equivalent to `listReservationGroups`, but returns an iterable object. * * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. * @param {Object} request * The request object that will be sent. * @param {string} request.parent * Required. The parent resource name containing project and location, e.g.: * `projects/myproject/locations/US` * @param {number} request.pageSize * The maximum number of items to return per page. * @param {string} request.pageToken * The next_page_token value returned from a previous List request, if any. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Object} * An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. * When you iterate the returned iterable, each element will be an object representing * {@link protos.google.cloud.bigquery.reservation.v1.ReservationGroup|ReservationGroup}. The API will be called under the hood as needed, once per the page, * so you can stop the iteration when you don't need more results. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } * for more details and examples. * @example include:samples/generated/v1/reservation_service.list_reservation_groups.js * region_tag:bigqueryreservation_v1_generated_ReservationService_ListReservationGroups_async */ listReservationGroupsAsync(request?: protos.google.cloud.bigquery.reservation.v1.IListReservationGroupsRequest, options?: CallOptions): AsyncIterable; /** * Return a fully-qualified assignment resource name string. * * @param {string} project * @param {string} location * @param {string} reservation * @param {string} assignment * @returns {string} Resource name string. */ assignmentPath(project: string, location: string, reservation: string, assignment: string): string; /** * Parse the project from Assignment resource. * * @param {string} assignmentName * A fully-qualified path representing Assignment resource. * @returns {string} A string representing the project. */ matchProjectFromAssignmentName(assignmentName: string): string | number; /** * Parse the location from Assignment resource. * * @param {string} assignmentName * A fully-qualified path representing Assignment resource. * @returns {string} A string representing the location. */ matchLocationFromAssignmentName(assignmentName: string): string | number; /** * Parse the reservation from Assignment resource. * * @param {string} assignmentName * A fully-qualified path representing Assignment resource. * @returns {string} A string representing the reservation. */ matchReservationFromAssignmentName(assignmentName: string): string | number; /** * Parse the assignment from Assignment resource. * * @param {string} assignmentName * A fully-qualified path representing Assignment resource. * @returns {string} A string representing the assignment. */ matchAssignmentFromAssignmentName(assignmentName: string): string | number; /** * Return a fully-qualified biReservation resource name string. * * @param {string} project * @param {string} location * @returns {string} Resource name string. */ biReservationPath(project: string, location: string): string; /** * Parse the project from BiReservation resource. * * @param {string} biReservationName * A fully-qualified path representing BiReservation resource. * @returns {string} A string representing the project. */ matchProjectFromBiReservationName(biReservationName: string): string | number; /** * Parse the location from BiReservation resource. * * @param {string} biReservationName * A fully-qualified path representing BiReservation resource. * @returns {string} A string representing the location. */ matchLocationFromBiReservationName(biReservationName: string): string | number; /** * Return a fully-qualified capacityCommitment resource name string. * * @param {string} project * @param {string} location * @param {string} capacity_commitment * @returns {string} Resource name string. */ capacityCommitmentPath(project: string, location: string, capacityCommitment: string): string; /** * Parse the project from CapacityCommitment resource. * * @param {string} capacityCommitmentName * A fully-qualified path representing CapacityCommitment resource. * @returns {string} A string representing the project. */ matchProjectFromCapacityCommitmentName(capacityCommitmentName: string): string | number; /** * Parse the location from CapacityCommitment resource. * * @param {string} capacityCommitmentName * A fully-qualified path representing CapacityCommitment resource. * @returns {string} A string representing the location. */ matchLocationFromCapacityCommitmentName(capacityCommitmentName: string): string | number; /** * Parse the capacity_commitment from CapacityCommitment resource. * * @param {string} capacityCommitmentName * A fully-qualified path representing CapacityCommitment resource. * @returns {string} A string representing the capacity_commitment. */ matchCapacityCommitmentFromCapacityCommitmentName(capacityCommitmentName: string): string | number; /** * Return a fully-qualified location resource name string. * * @param {string} project * @param {string} location * @returns {string} Resource name string. */ locationPath(project: string, location: string): string; /** * Parse the project from Location resource. * * @param {string} locationName * A fully-qualified path representing Location resource. * @returns {string} A string representing the project. */ matchProjectFromLocationName(locationName: string): string | number; /** * Parse the location from Location resource. * * @param {string} locationName * A fully-qualified path representing Location resource. * @returns {string} A string representing the location. */ matchLocationFromLocationName(locationName: string): string | number; /** * Return a fully-qualified project resource name string. * * @param {string} project * @returns {string} Resource name string. */ projectPath(project: string): string; /** * Parse the project from Project resource. * * @param {string} projectName * A fully-qualified path representing Project resource. * @returns {string} A string representing the project. */ matchProjectFromProjectName(projectName: string): string | number; /** * Return a fully-qualified reservation resource name string. * * @param {string} project * @param {string} location * @param {string} reservation * @returns {string} Resource name string. */ reservationPath(project: string, location: string, reservation: string): string; /** * Parse the project from Reservation resource. * * @param {string} reservationName * A fully-qualified path representing Reservation resource. * @returns {string} A string representing the project. */ matchProjectFromReservationName(reservationName: string): string | number; /** * Parse the location from Reservation resource. * * @param {string} reservationName * A fully-qualified path representing Reservation resource. * @returns {string} A string representing the location. */ matchLocationFromReservationName(reservationName: string): string | number; /** * Parse the reservation from Reservation resource. * * @param {string} reservationName * A fully-qualified path representing Reservation resource. * @returns {string} A string representing the reservation. */ matchReservationFromReservationName(reservationName: string): string | number; /** * Return a fully-qualified reservationGroup resource name string. * * @param {string} project * @param {string} location * @param {string} reservation_group * @returns {string} Resource name string. */ reservationGroupPath(project: string, location: string, reservationGroup: string): string; /** * Parse the project from ReservationGroup resource. * * @param {string} reservationGroupName * A fully-qualified path representing ReservationGroup resource. * @returns {string} A string representing the project. */ matchProjectFromReservationGroupName(reservationGroupName: string): string | number; /** * Parse the location from ReservationGroup resource. * * @param {string} reservationGroupName * A fully-qualified path representing ReservationGroup resource. * @returns {string} A string representing the location. */ matchLocationFromReservationGroupName(reservationGroupName: string): string | number; /** * Parse the reservation_group from ReservationGroup resource. * * @param {string} reservationGroupName * A fully-qualified path representing ReservationGroup resource. * @returns {string} A string representing the reservation_group. */ matchReservationGroupFromReservationGroupName(reservationGroupName: string): string | number; /** * Terminate the gRPC channel and close the client. * * The client will no longer be usable and all future behavior is undefined. * @returns {Promise} A promise that resolves when the client is closed. */ close(): Promise; }