[BindServiceMethod(typeof(ReservationService), "BindService")]
public abstract class ReservationServiceBase
Base class for server-side implementations of ReservationService
Namespace
Google.Cloud.BigQuery.Reservation.V1Assembly
Google.Cloud.BigQuery.Reservation.V1.dll
Methods
CreateAssignment(CreateAssignmentRequest, ServerCallContext)
public virtual Task<Assignment> CreateAssignment(CreateAssignmentRequest request, ServerCallContext context)
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
andproject2
. - Assignments for all three entities (
organizationA
,project1
, andproject2
) 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.
Parameters | |
---|---|
Name | Description |
request | CreateAssignmentRequest The request received from the client. |
context | ServerCallContext The context of the server-side call handler being invoked. |
Returns | |
---|---|
Type | Description |
Task<Assignment> | The response to send back to the client (wrapped by a task). |
CreateCapacityCommitment(CreateCapacityCommitmentRequest, ServerCallContext)
public virtual Task<CapacityCommitment> CreateCapacityCommitment(CreateCapacityCommitmentRequest request, ServerCallContext context)
Creates a new capacity commitment resource.
Parameters | |
---|---|
Name | Description |
request | CreateCapacityCommitmentRequest The request received from the client. |
context | ServerCallContext The context of the server-side call handler being invoked. |
Returns | |
---|---|
Type | Description |
Task<CapacityCommitment> | The response to send back to the client (wrapped by a task). |
CreateReservation(CreateReservationRequest, ServerCallContext)
public virtual Task<Reservation> CreateReservation(CreateReservationRequest request, ServerCallContext context)
Creates a new reservation resource.
Parameters | |
---|---|
Name | Description |
request | CreateReservationRequest The request received from the client. |
context | ServerCallContext The context of the server-side call handler being invoked. |
Returns | |
---|---|
Type | Description |
Task<Reservation> | The response to send back to the client (wrapped by a task). |
DeleteAssignment(DeleteAssignmentRequest, ServerCallContext)
public virtual Task<Empty> DeleteAssignment(DeleteAssignmentRequest request, ServerCallContext context)
Deletes a assignment. No expansion will happen.
Example:
- Organization
organizationA
contains two projects,project1
andproject2
. - 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.
Parameters | |
---|---|
Name | Description |
request | DeleteAssignmentRequest The request received from the client. |
context | ServerCallContext The context of the server-side call handler being invoked. |
Returns | |
---|---|
Type | Description |
Task<Empty> | The response to send back to the client (wrapped by a task). |
DeleteCapacityCommitment(DeleteCapacityCommitmentRequest, ServerCallContext)
public virtual Task<Empty> DeleteCapacityCommitment(DeleteCapacityCommitmentRequest request, ServerCallContext context)
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
.
Parameters | |
---|---|
Name | Description |
request | DeleteCapacityCommitmentRequest The request received from the client. |
context | ServerCallContext The context of the server-side call handler being invoked. |
Returns | |
---|---|
Type | Description |
Task<Empty> | The response to send back to the client (wrapped by a task). |
DeleteReservation(DeleteReservationRequest, ServerCallContext)
public virtual Task<Empty> DeleteReservation(DeleteReservationRequest request, ServerCallContext context)
Deletes a reservation.
Returns google.rpc.Code.FAILED_PRECONDITION
when reservation has
assignments.
Parameters | |
---|---|
Name | Description |
request | DeleteReservationRequest The request received from the client. |
context | ServerCallContext The context of the server-side call handler being invoked. |
Returns | |
---|---|
Type | Description |
Task<Empty> | The response to send back to the client (wrapped by a task). |
GetBiReservation(GetBiReservationRequest, ServerCallContext)
public virtual Task<BiReservation> GetBiReservation(GetBiReservationRequest request, ServerCallContext context)
Retrieves a BI reservation.
Parameters | |
---|---|
Name | Description |
request | GetBiReservationRequest The request received from the client. |
context | ServerCallContext The context of the server-side call handler being invoked. |
Returns | |
---|---|
Type | Description |
Task<BiReservation> | The response to send back to the client (wrapped by a task). |
GetCapacityCommitment(GetCapacityCommitmentRequest, ServerCallContext)
public virtual Task<CapacityCommitment> GetCapacityCommitment(GetCapacityCommitmentRequest request, ServerCallContext context)
Returns information about the capacity commitment.
Parameters | |
---|---|
Name | Description |
request | GetCapacityCommitmentRequest The request received from the client. |
context | ServerCallContext The context of the server-side call handler being invoked. |
Returns | |
---|---|
Type | Description |
Task<CapacityCommitment> | The response to send back to the client (wrapped by a task). |
GetReservation(GetReservationRequest, ServerCallContext)
public virtual Task<Reservation> GetReservation(GetReservationRequest request, ServerCallContext context)
Returns information about the reservation.
Parameters | |
---|---|
Name | Description |
request | GetReservationRequest The request received from the client. |
context | ServerCallContext The context of the server-side call handler being invoked. |
Returns | |
---|---|
Type | Description |
Task<Reservation> | The response to send back to the client (wrapped by a task). |
ListAssignments(ListAssignmentsRequest, ServerCallContext)
public virtual Task<ListAssignmentsResponse> ListAssignments(ListAssignmentsRequest request, ServerCallContext context)
Lists assignments.
Only explicitly created assignments will be returned.
Example:
- Organization
organizationA
contains two projects,project1
andproject2
. - 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.
Parameters | |
---|---|
Name | Description |
request | ListAssignmentsRequest The request received from the client. |
context | ServerCallContext The context of the server-side call handler being invoked. |
Returns | |
---|---|
Type | Description |
Task<ListAssignmentsResponse> | The response to send back to the client (wrapped by a task). |
ListCapacityCommitments(ListCapacityCommitmentsRequest, ServerCallContext)
public virtual Task<ListCapacityCommitmentsResponse> ListCapacityCommitments(ListCapacityCommitmentsRequest request, ServerCallContext context)
Lists all the capacity commitments for the admin project.
Parameters | |
---|---|
Name | Description |
request | ListCapacityCommitmentsRequest The request received from the client. |
context | ServerCallContext The context of the server-side call handler being invoked. |
Returns | |
---|---|
Type | Description |
Task<ListCapacityCommitmentsResponse> | The response to send back to the client (wrapped by a task). |
ListReservations(ListReservationsRequest, ServerCallContext)
public virtual Task<ListReservationsResponse> ListReservations(ListReservationsRequest request, ServerCallContext context)
Lists all the reservations for the project in the specified location.
Parameters | |
---|---|
Name | Description |
request | ListReservationsRequest The request received from the client. |
context | ServerCallContext The context of the server-side call handler being invoked. |
Returns | |
---|---|
Type | Description |
Task<ListReservationsResponse> | The response to send back to the client (wrapped by a task). |
MergeCapacityCommitments(MergeCapacityCommitmentsRequest, ServerCallContext)
public virtual Task<CapacityCommitment> MergeCapacityCommitments(MergeCapacityCommitmentsRequest request, ServerCallContext context)
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
.
Parameters | |
---|---|
Name | Description |
request | MergeCapacityCommitmentsRequest The request received from the client. |
context | ServerCallContext The context of the server-side call handler being invoked. |
Returns | |
---|---|
Type | Description |
Task<CapacityCommitment> | The response to send back to the client (wrapped by a task). |
MoveAssignment(MoveAssignmentRequest, ServerCallContext)
public virtual Task<Assignment> MoveAssignment(MoveAssignmentRequest request, ServerCallContext context)
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.
Parameters | |
---|---|
Name | Description |
request | MoveAssignmentRequest The request received from the client. |
context | ServerCallContext The context of the server-side call handler being invoked. |
Returns | |
---|---|
Type | Description |
Task<Assignment> | The response to send back to the client (wrapped by a task). |
SearchAllAssignments(SearchAllAssignmentsRequest, ServerCallContext)
public virtual Task<SearchAllAssignmentsResponse> SearchAllAssignments(SearchAllAssignmentsRequest request, ServerCallContext context)
Looks up assignments for a specified resource for a particular region. If the request is about a project:
- Assignments created on the project will be returned if they exist.
- Otherwise assignments created on the closest ancestor will be returned.
- 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:
- permission on the assignee will be verified in this API.
- Hierarchy lookup (project->folder->organization) happens in this API.
- Parent here is
projects/*/locations/*
, instead ofprojects/*/locations/*reservations/*
.
Parameters | |
---|---|
Name | Description |
request | SearchAllAssignmentsRequest The request received from the client. |
context | ServerCallContext The context of the server-side call handler being invoked. |
Returns | |
---|---|
Type | Description |
Task<SearchAllAssignmentsResponse> | The response to send back to the client (wrapped by a task). |
SearchAssignments(SearchAssignmentsRequest, ServerCallContext)
public virtual Task<SearchAssignmentsResponse> SearchAssignments(SearchAssignmentsRequest request, ServerCallContext context)
Deprecated: Looks up assignments for a specified resource for a particular region. If the request is about a project:
- Assignments created on the project will be returned if they exist.
- Otherwise assignments created on the closest ancestor will be returned.
- 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:
- permission on the assignee will be verified in this API.
- Hierarchy lookup (project->folder->organization) happens in this API.
- Parent here is
projects/*/locations/*
, instead ofprojects/*/locations/*reservations/*
.
Note "-" cannot be used for projects nor locations.
Parameters | |
---|---|
Name | Description |
request | SearchAssignmentsRequest The request received from the client. |
context | ServerCallContext The context of the server-side call handler being invoked. |
Returns | |
---|---|
Type | Description |
Task<SearchAssignmentsResponse> | The response to send back to the client (wrapped by a task). |
SplitCapacityCommitment(SplitCapacityCommitmentRequest, ServerCallContext)
public virtual Task<SplitCapacityCommitmentResponse> SplitCapacityCommitment(SplitCapacityCommitmentRequest request, ServerCallContext context)
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.
Parameters | |
---|---|
Name | Description |
request | SplitCapacityCommitmentRequest The request received from the client. |
context | ServerCallContext The context of the server-side call handler being invoked. |
Returns | |
---|---|
Type | Description |
Task<SplitCapacityCommitmentResponse> | The response to send back to the client (wrapped by a task). |
UpdateAssignment(UpdateAssignmentRequest, ServerCallContext)
public virtual Task<Assignment> UpdateAssignment(UpdateAssignmentRequest request, ServerCallContext context)
Updates an existing assignment.
Only the priority
field can be updated.
Parameters | |
---|---|
Name | Description |
request | UpdateAssignmentRequest The request received from the client. |
context | ServerCallContext The context of the server-side call handler being invoked. |
Returns | |
---|---|
Type | Description |
Task<Assignment> | The response to send back to the client (wrapped by a task). |
UpdateBiReservation(UpdateBiReservationRequest, ServerCallContext)
public virtual Task<BiReservation> UpdateBiReservation(UpdateBiReservationRequest request, ServerCallContext context)
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.
Parameters | |
---|---|
Name | Description |
request | UpdateBiReservationRequest The request received from the client. |
context | ServerCallContext The context of the server-side call handler being invoked. |
Returns | |
---|---|
Type | Description |
Task<BiReservation> | The response to send back to the client (wrapped by a task). |
UpdateCapacityCommitment(UpdateCapacityCommitmentRequest, ServerCallContext)
public virtual Task<CapacityCommitment> UpdateCapacityCommitment(UpdateCapacityCommitmentRequest request, ServerCallContext context)
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
.
Parameters | |
---|---|
Name | Description |
request | UpdateCapacityCommitmentRequest The request received from the client. |
context | ServerCallContext The context of the server-side call handler being invoked. |
Returns | |
---|---|
Type | Description |
Task<CapacityCommitment> | The response to send back to the client (wrapped by a task). |
UpdateReservation(UpdateReservationRequest, ServerCallContext)
public virtual Task<Reservation> UpdateReservation(UpdateReservationRequest request, ServerCallContext context)
Updates an existing reservation resource.
Parameters | |
---|---|
Name | Description |
request | UpdateReservationRequest The request received from the client. |
context | ServerCallContext The context of the server-side call handler being invoked. |
Returns | |
---|---|
Type | Description |
Task<Reservation> | The response to send back to the client (wrapped by a task). |