Class ReservationServiceGrpc.ReservationServiceFutureStub (2.1.4)

public static final class ReservationServiceGrpc.ReservationServiceFutureStub extends AbstractFutureStub<ReservationServiceGrpc.ReservationServiceFutureStub>

This API allows users to manage their flat-rate BigQuery reservations. A reservation provides computational resource guarantees, in the form of 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.

Inheritance

java.lang.Object > io.grpc.stub.AbstractStub > io.grpc.stub.AbstractFutureStub > ReservationServiceGrpc.ReservationServiceFutureStub

Methods

build(Channel channel, CallOptions callOptions)

protected ReservationServiceGrpc.ReservationServiceFutureStub build(Channel channel, CallOptions callOptions)
Parameters
NameDescription
channelio.grpc.Channel
callOptionsio.grpc.CallOptions
Returns
TypeDescription
ReservationServiceGrpc.ReservationServiceFutureStub
Overrides
io.grpc.stub.AbstractStub.build(io.grpc.Channel,io.grpc.CallOptions)

createAssignment(CreateAssignmentRequest request)

public ListenableFuture<Assignment> createAssignment(CreateAssignmentRequest request)

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.
Parameter
NameDescription
requestCreateAssignmentRequest
Returns
TypeDescription
com.google.common.util.concurrent.ListenableFuture<Assignment>

createCapacityCommitment(CreateCapacityCommitmentRequest request)

public ListenableFuture<CapacityCommitment> createCapacityCommitment(CreateCapacityCommitmentRequest request)

Creates a new capacity commitment resource.

Parameter
NameDescription
requestCreateCapacityCommitmentRequest
Returns
TypeDescription
com.google.common.util.concurrent.ListenableFuture<CapacityCommitment>

createReservation(CreateReservationRequest request)

public ListenableFuture<Reservation> createReservation(CreateReservationRequest request)

Creates a new reservation resource.

Parameter
NameDescription
requestCreateReservationRequest
Returns
TypeDescription
com.google.common.util.concurrent.ListenableFuture<Reservation>

deleteAssignment(DeleteAssignmentRequest request)

public ListenableFuture<Empty> deleteAssignment(DeleteAssignmentRequest request)

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: <organizationA, res1> and <project1, res1> In this example, deletion of the <organizationA, res1> assignment won't affect the other assignment <project1, res1>. After said deletion, queries from project1 will still use res1 while queries from project2 will switch to use on-demand mode.
Parameter
NameDescription
requestDeleteAssignmentRequest
Returns
TypeDescription
com.google.common.util.concurrent.ListenableFuture<Empty>

deleteCapacityCommitment(DeleteCapacityCommitmentRequest request)

public ListenableFuture<Empty> deleteCapacityCommitment(DeleteCapacityCommitmentRequest request)

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.

Parameter
NameDescription
requestDeleteCapacityCommitmentRequest
Returns
TypeDescription
com.google.common.util.concurrent.ListenableFuture<Empty>

deleteReservation(DeleteReservationRequest request)

public ListenableFuture<Empty> deleteReservation(DeleteReservationRequest request)

Deletes a reservation. Returns google.rpc.Code.FAILED_PRECONDITION when reservation has assignments.

Parameter
NameDescription
requestDeleteReservationRequest
Returns
TypeDescription
com.google.common.util.concurrent.ListenableFuture<Empty>

getBiReservation(GetBiReservationRequest request)

public ListenableFuture<BiReservation> getBiReservation(GetBiReservationRequest request)

Retrieves a BI reservation.

Parameter
NameDescription
requestGetBiReservationRequest
Returns
TypeDescription
com.google.common.util.concurrent.ListenableFuture<BiReservation>

getCapacityCommitment(GetCapacityCommitmentRequest request)

public ListenableFuture<CapacityCommitment> getCapacityCommitment(GetCapacityCommitmentRequest request)

Returns information about the capacity commitment.

Parameter
NameDescription
requestGetCapacityCommitmentRequest
Returns
TypeDescription
com.google.common.util.concurrent.ListenableFuture<CapacityCommitment>

getReservation(GetReservationRequest request)

public ListenableFuture<Reservation> getReservation(GetReservationRequest request)

Returns information about the reservation.

Parameter
NameDescription
requestGetReservationRequest
Returns
TypeDescription
com.google.common.util.concurrent.ListenableFuture<Reservation>

listAssignments(ListAssignmentsRequest request)

public ListenableFuture<ListAssignmentsResponse> listAssignments(ListAssignmentsRequest request)

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: <organizationA, res1> and <project1, res1> 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.
Parameter
NameDescription
requestListAssignmentsRequest
Returns
TypeDescription
com.google.common.util.concurrent.ListenableFuture<ListAssignmentsResponse>

listCapacityCommitments(ListCapacityCommitmentsRequest request)

public ListenableFuture<ListCapacityCommitmentsResponse> listCapacityCommitments(ListCapacityCommitmentsRequest request)

Lists all the capacity commitments for the admin project.

Parameter
NameDescription
requestListCapacityCommitmentsRequest
Returns
TypeDescription
com.google.common.util.concurrent.ListenableFuture<ListCapacityCommitmentsResponse>

listReservations(ListReservationsRequest request)

public ListenableFuture<ListReservationsResponse> listReservations(ListReservationsRequest request)

Lists all the reservations for the project in the specified location.

Parameter
NameDescription
requestListReservationsRequest
Returns
TypeDescription
com.google.common.util.concurrent.ListenableFuture<ListReservationsResponse>

mergeCapacityCommitments(MergeCapacityCommitmentsRequest request)

public ListenableFuture<CapacityCommitment> mergeCapacityCommitments(MergeCapacityCommitmentsRequest request)

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.

Parameter
NameDescription
requestMergeCapacityCommitmentsRequest
Returns
TypeDescription
com.google.common.util.concurrent.ListenableFuture<CapacityCommitment>

moveAssignment(MoveAssignmentRequest request)

public ListenableFuture<Assignment> moveAssignment(MoveAssignmentRequest request)

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.

Parameter
NameDescription
requestMoveAssignmentRequest
Returns
TypeDescription
com.google.common.util.concurrent.ListenableFuture<Assignment>

searchAllAssignments(SearchAllAssignmentsRequest request)

public ListenableFuture<SearchAllAssignmentsResponse> searchAllAssignments(SearchAllAssignmentsRequest request)

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:
  4. permission on the assignee will be verified in this API.
  5. Hierarchy lookup (project->folder->organization) happens in this API.
  6. Parent here is projects/*/locations/*, instead of projects/*/locations/*reservations/*.
Parameter
NameDescription
requestSearchAllAssignmentsRequest
Returns
TypeDescription
com.google.common.util.concurrent.ListenableFuture<SearchAllAssignmentsResponse>

searchAssignments(SearchAssignmentsRequest request)

public ListenableFuture<SearchAssignmentsResponse> searchAssignments(SearchAssignmentsRequest request)

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:
  4. permission on the assignee will be verified in this API.
  5. Hierarchy lookup (project->folder->organization) happens in this API.
  6. Parent here is projects/*/locations/*, instead of projects/*/locations/*reservations/*. Note "-" cannot be used for projects nor locations.
Parameter
NameDescription
requestSearchAssignmentsRequest
Returns
TypeDescription
com.google.common.util.concurrent.ListenableFuture<SearchAssignmentsResponse>

splitCapacityCommitment(SplitCapacityCommitmentRequest request)

public ListenableFuture<SplitCapacityCommitmentResponse> splitCapacityCommitment(SplitCapacityCommitmentRequest request)

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 would change the plan of the first one to FLEX and then delete it.

Parameter
NameDescription
requestSplitCapacityCommitmentRequest
Returns
TypeDescription
com.google.common.util.concurrent.ListenableFuture<SplitCapacityCommitmentResponse>

updateBiReservation(UpdateBiReservationRequest request)

public ListenableFuture<BiReservation> updateBiReservation(UpdateBiReservationRequest request)

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.

Parameter
NameDescription
requestUpdateBiReservationRequest
Returns
TypeDescription
com.google.common.util.concurrent.ListenableFuture<BiReservation>

updateCapacityCommitment(UpdateCapacityCommitmentRequest request)

public ListenableFuture<CapacityCommitment> updateCapacityCommitment(UpdateCapacityCommitmentRequest request)

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.

Parameter
NameDescription
requestUpdateCapacityCommitmentRequest
Returns
TypeDescription
com.google.common.util.concurrent.ListenableFuture<CapacityCommitment>

updateReservation(UpdateReservationRequest request)

public ListenableFuture<Reservation> updateReservation(UpdateReservationRequest request)

Updates an existing reservation resource.

Parameter
NameDescription
requestUpdateReservationRequest
Returns
TypeDescription
com.google.common.util.concurrent.ListenableFuture<Reservation>