google-cloud-bigquery-reservation-v1 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,247 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Api
22
+ # A simple descriptor of a resource type.
23
+ #
24
+ # ResourceDescriptor annotates a resource message (either by means of a
25
+ # protobuf annotation or use in the service config), and associates the
26
+ # resource's schema, the resource type, and the pattern of the resource name.
27
+ #
28
+ # Example:
29
+ #
30
+ # message Topic {
31
+ # // Indicates this message defines a resource schema.
32
+ # // Declares the resource type in the format of {service}/{kind}.
33
+ # // For Kubernetes resources, the format is {api group}/{kind}.
34
+ # option (google.api.resource) = {
35
+ # type: "pubsub.googleapis.com/Topic"
36
+ # name_descriptor: {
37
+ # pattern: "projects/{project}/topics/{topic}"
38
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
39
+ # parent_name_extractor: "projects/{project}"
40
+ # }
41
+ # };
42
+ # }
43
+ #
44
+ # The ResourceDescriptor Yaml config will look like:
45
+ #
46
+ # resources:
47
+ # - type: "pubsub.googleapis.com/Topic"
48
+ # name_descriptor:
49
+ # - pattern: "projects/\\{project}/topics/\\{topic}"
50
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
51
+ # parent_name_extractor: "projects/\\{project}"
52
+ #
53
+ # Sometimes, resources have multiple patterns, typically because they can
54
+ # live under multiple parents.
55
+ #
56
+ # Example:
57
+ #
58
+ # message LogEntry {
59
+ # option (google.api.resource) = {
60
+ # type: "logging.googleapis.com/LogEntry"
61
+ # name_descriptor: {
62
+ # pattern: "projects/{project}/logs/{log}"
63
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
64
+ # parent_name_extractor: "projects/{project}"
65
+ # }
66
+ # name_descriptor: {
67
+ # pattern: "folders/{folder}/logs/{log}"
68
+ # parent_type: "cloudresourcemanager.googleapis.com/Folder"
69
+ # parent_name_extractor: "folders/{folder}"
70
+ # }
71
+ # name_descriptor: {
72
+ # pattern: "organizations/{organization}/logs/{log}"
73
+ # parent_type: "cloudresourcemanager.googleapis.com/Organization"
74
+ # parent_name_extractor: "organizations/{organization}"
75
+ # }
76
+ # name_descriptor: {
77
+ # pattern: "billingAccounts/{billing_account}/logs/{log}"
78
+ # parent_type: "billing.googleapis.com/BillingAccount"
79
+ # parent_name_extractor: "billingAccounts/{billing_account}"
80
+ # }
81
+ # };
82
+ # }
83
+ #
84
+ # The ResourceDescriptor Yaml config will look like:
85
+ #
86
+ # resources:
87
+ # - type: 'logging.googleapis.com/LogEntry'
88
+ # name_descriptor:
89
+ # - pattern: "projects/{project}/logs/{log}"
90
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
91
+ # parent_name_extractor: "projects/{project}"
92
+ # - pattern: "folders/{folder}/logs/{log}"
93
+ # parent_type: "cloudresourcemanager.googleapis.com/Folder"
94
+ # parent_name_extractor: "folders/{folder}"
95
+ # - pattern: "organizations/{organization}/logs/{log}"
96
+ # parent_type: "cloudresourcemanager.googleapis.com/Organization"
97
+ # parent_name_extractor: "organizations/{organization}"
98
+ # - pattern: "billingAccounts/{billing_account}/logs/{log}"
99
+ # parent_type: "billing.googleapis.com/BillingAccount"
100
+ # parent_name_extractor: "billingAccounts/{billing_account}"
101
+ #
102
+ # For flexible resources, the resource name doesn't contain parent names, but
103
+ # the resource itself has parents for policy evaluation.
104
+ #
105
+ # Example:
106
+ #
107
+ # message Shelf {
108
+ # option (google.api.resource) = {
109
+ # type: "library.googleapis.com/Shelf"
110
+ # name_descriptor: {
111
+ # pattern: "shelves/{shelf}"
112
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
113
+ # }
114
+ # name_descriptor: {
115
+ # pattern: "shelves/{shelf}"
116
+ # parent_type: "cloudresourcemanager.googleapis.com/Folder"
117
+ # }
118
+ # };
119
+ # }
120
+ #
121
+ # The ResourceDescriptor Yaml config will look like:
122
+ #
123
+ # resources:
124
+ # - type: 'library.googleapis.com/Shelf'
125
+ # name_descriptor:
126
+ # - pattern: "shelves/{shelf}"
127
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
128
+ # - pattern: "shelves/{shelf}"
129
+ # parent_type: "cloudresourcemanager.googleapis.com/Folder"
130
+ # @!attribute [rw] type
131
+ # @return [::String]
132
+ # The resource type. It must be in the format of
133
+ # \\{service_name}/\\{resource_type_kind}. The `resource_type_kind` must be
134
+ # singular and must not include version numbers.
135
+ #
136
+ # Example: `storage.googleapis.com/Bucket`
137
+ #
138
+ # The value of the resource_type_kind must follow the regular expression
139
+ # /[A-Za-z][a-zA-Z0-9]+/. It should start with an upper case character and
140
+ # should use PascalCase (UpperCamelCase). The maximum number of
141
+ # characters allowed for the `resource_type_kind` is 100.
142
+ # @!attribute [rw] pattern
143
+ # @return [::Array<::String>]
144
+ # Optional. The relative resource name pattern associated with this resource
145
+ # type. The DNS prefix of the full resource name shouldn't be specified here.
146
+ #
147
+ # The path pattern must follow the syntax, which aligns with HTTP binding
148
+ # syntax:
149
+ #
150
+ # Template = Segment { "/" Segment } ;
151
+ # Segment = LITERAL | Variable ;
152
+ # Variable = "{" LITERAL "}" ;
153
+ #
154
+ # Examples:
155
+ #
156
+ # - "projects/\\{project}/topics/\\{topic}"
157
+ # - "projects/\\{project}/knowledgeBases/\\{knowledge_base}"
158
+ #
159
+ # The components in braces correspond to the IDs for each resource in the
160
+ # hierarchy. It is expected that, if multiple patterns are provided,
161
+ # the same component name (e.g. "project") refers to IDs of the same
162
+ # type of resource.
163
+ # @!attribute [rw] name_field
164
+ # @return [::String]
165
+ # Optional. The field on the resource that designates the resource name
166
+ # field. If omitted, this is assumed to be "name".
167
+ # @!attribute [rw] history
168
+ # @return [::Google::Api::ResourceDescriptor::History]
169
+ # Optional. The historical or future-looking state of the resource pattern.
170
+ #
171
+ # Example:
172
+ #
173
+ # // The InspectTemplate message originally only supported resource
174
+ # // names with organization, and project was added later.
175
+ # message InspectTemplate {
176
+ # option (google.api.resource) = {
177
+ # type: "dlp.googleapis.com/InspectTemplate"
178
+ # pattern:
179
+ # "organizations/{organization}/inspectTemplates/{inspect_template}"
180
+ # pattern: "projects/{project}/inspectTemplates/{inspect_template}"
181
+ # history: ORIGINALLY_SINGLE_PATTERN
182
+ # };
183
+ # }
184
+ # @!attribute [rw] plural
185
+ # @return [::String]
186
+ # The plural name used in the resource name, such as 'projects' for
187
+ # the name of 'projects/\\{project}'. It is the same concept of the `plural`
188
+ # field in k8s CRD spec
189
+ # https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
190
+ # @!attribute [rw] singular
191
+ # @return [::String]
192
+ # The same concept of the `singular` field in k8s CRD spec
193
+ # https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
194
+ # Such as "project" for the `resourcemanager.googleapis.com/Project` type.
195
+ class ResourceDescriptor
196
+ include ::Google::Protobuf::MessageExts
197
+ extend ::Google::Protobuf::MessageExts::ClassMethods
198
+
199
+ # A description of the historical or future-looking state of the
200
+ # resource pattern.
201
+ module History
202
+ # The "unset" value.
203
+ HISTORY_UNSPECIFIED = 0
204
+
205
+ # The resource originally had one pattern and launched as such, and
206
+ # additional patterns were added later.
207
+ ORIGINALLY_SINGLE_PATTERN = 1
208
+
209
+ # The resource has one pattern, but the API owner expects to add more
210
+ # later. (This is the inverse of ORIGINALLY_SINGLE_PATTERN, and prevents
211
+ # that from being necessary once there are multiple patterns.)
212
+ FUTURE_MULTI_PATTERN = 2
213
+ end
214
+ end
215
+
216
+ # Defines a proto annotation that describes a string field that refers to
217
+ # an API resource.
218
+ # @!attribute [rw] type
219
+ # @return [::String]
220
+ # The resource type that the annotated field references.
221
+ #
222
+ # Example:
223
+ #
224
+ # message Subscription {
225
+ # string topic = 2 [(google.api.resource_reference) = {
226
+ # type: "pubsub.googleapis.com/Topic"
227
+ # }];
228
+ # }
229
+ # @!attribute [rw] child_type
230
+ # @return [::String]
231
+ # The resource type of a child collection that the annotated field
232
+ # references. This is useful for annotating the `parent` field that
233
+ # doesn't have a fixed resource type.
234
+ #
235
+ # Example:
236
+ #
237
+ # message ListLogEntriesRequest {
238
+ # string parent = 1 [(google.api.resource_reference) = {
239
+ # child_type: "logging.googleapis.com/LogEntry"
240
+ # };
241
+ # }
242
+ class ResourceReference
243
+ include ::Google::Protobuf::MessageExts
244
+ extend ::Google::Protobuf::MessageExts::ClassMethods
245
+ end
246
+ end
247
+ end
@@ -0,0 +1,554 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Bigquery
23
+ module Reservation
24
+ module V1
25
+ # A reservation is a mechanism used to guarantee slots to users.
26
+ # @!attribute [rw] name
27
+ # @return [::String]
28
+ # The resource name of the reservation, e.g.,
29
+ # `projects/*/locations/*/reservations/team1-prod`.
30
+ # @!attribute [rw] slot_capacity
31
+ # @return [::Integer]
32
+ # Minimum slots available to this reservation. A slot is a unit of
33
+ # computational power in BigQuery, and serves as the unit of parallelism.
34
+ #
35
+ # Queries using this reservation might use more slots during runtime if
36
+ # ignore_idle_slots is set to false.
37
+ #
38
+ # If the new reservation's slot capacity exceed the parent's slot capacity or
39
+ # if total slot capacity of the new reservation and its siblings exceeds the
40
+ # parent's slot capacity, the request will fail with
41
+ # `google.rpc.Code.RESOURCE_EXHAUSTED`.
42
+ # @!attribute [rw] ignore_idle_slots
43
+ # @return [::Boolean]
44
+ # If false, any query using this reservation will use idle slots from other
45
+ # reservations within the same admin project. If true, a query using this
46
+ # reservation will execute with the slot capacity specified above at most.
47
+ class Reservation
48
+ include ::Google::Protobuf::MessageExts
49
+ extend ::Google::Protobuf::MessageExts::ClassMethods
50
+ end
51
+
52
+ # Capacity commitment is a way to purchase compute capacity for BigQuery jobs
53
+ # (in the form of slots) with some committed period of usage. Annual
54
+ # commitments renew by default. Commitments can be removed after their
55
+ # commitment end time passes.
56
+ #
57
+ # In order to remove annual commitment, its plan needs to be changed
58
+ # to monthly or flex first.
59
+ #
60
+ # A capacity commitment resource exists as a child resource of the admin
61
+ # project.
62
+ # @!attribute [r] name
63
+ # @return [::String]
64
+ # Output only. The resource name of the capacity commitment, e.g.,
65
+ # `projects/myproject/locations/US/capacityCommitments/123`
66
+ # @!attribute [rw] slot_count
67
+ # @return [::Integer]
68
+ # Number of slots in this commitment.
69
+ # @!attribute [rw] plan
70
+ # @return [::Google::Cloud::Bigquery::Reservation::V1::CapacityCommitment::CommitmentPlan]
71
+ # Capacity commitment commitment plan.
72
+ # @!attribute [r] state
73
+ # @return [::Google::Cloud::Bigquery::Reservation::V1::CapacityCommitment::State]
74
+ # Output only. State of the commitment.
75
+ # @!attribute [r] commitment_end_time
76
+ # @return [::Google::Protobuf::Timestamp]
77
+ # Output only. The end of the current commitment period. It is applicable only for ACTIVE
78
+ # capacity commitments.
79
+ # @!attribute [r] failure_status
80
+ # @return [::Google::Rpc::Status]
81
+ # Output only. For FAILED commitment plan, provides the reason of failure.
82
+ # @!attribute [rw] renewal_plan
83
+ # @return [::Google::Cloud::Bigquery::Reservation::V1::CapacityCommitment::CommitmentPlan]
84
+ # The plan this capacity commitment is converted to after commitment_end_time
85
+ # passes. Once the plan is changed, committed period is extended according to
86
+ # commitment plan. Only applicable for ANNUAL and TRIAL commitments.
87
+ class CapacityCommitment
88
+ include ::Google::Protobuf::MessageExts
89
+ extend ::Google::Protobuf::MessageExts::ClassMethods
90
+
91
+ # Commitment plan defines the current committed period. Capacity commitment
92
+ # cannot be deleted during it's committed period.
93
+ module CommitmentPlan
94
+ # Invalid plan value. Requests with this value will be rejected with
95
+ # error code `google.rpc.Code.INVALID_ARGUMENT`.
96
+ COMMITMENT_PLAN_UNSPECIFIED = 0
97
+
98
+ # Flex commitments have committed period of 1 minute after becoming ACTIVE.
99
+ # After that, they are not in a committed period anymore and can be removed
100
+ # any time.
101
+ FLEX = 3
102
+
103
+ # Trial commitments have a committed period of 182 days after becoming
104
+ # ACTIVE. After that, they are converted to a new commitment based on the
105
+ # `renewal_plan`. Default `renewal_plan` for Trial commitment is Flex so
106
+ # that it can be deleted right after committed period ends.
107
+ TRIAL = 5
108
+
109
+ # Monthly commitments have a committed period of 30 days after becoming
110
+ # ACTIVE. After that, they are not in a committed period anymore and can be
111
+ # removed any time.
112
+ MONTHLY = 2
113
+
114
+ # Annual commitments have a committed period of 365 days after becoming
115
+ # ACTIVE. After that they are converted to a new commitment based on the
116
+ # renewal_plan.
117
+ ANNUAL = 4
118
+ end
119
+
120
+ # Capacity commitment can either become ACTIVE right away or transition
121
+ # from PENDING to ACTIVE or FAILED.
122
+ module State
123
+ # Invalid state value.
124
+ STATE_UNSPECIFIED = 0
125
+
126
+ # Capacity commitment is pending provisioning. Pending capacity commitment
127
+ # does not contribute to the parent's slot_capacity.
128
+ PENDING = 1
129
+
130
+ # Once slots are provisioned, capacity commitment becomes active.
131
+ # slot_count is added to the parent's slot_capacity.
132
+ ACTIVE = 2
133
+
134
+ # Capacity commitment is failed to be activated by the backend.
135
+ FAILED = 3
136
+ end
137
+ end
138
+
139
+ # The request for {::Google::Cloud::Bigquery::Reservation::V1::ReservationService::Client#create_reservation ReservationService.CreateReservation}.
140
+ # @!attribute [rw] parent
141
+ # @return [::String]
142
+ # Required. Project, location. E.g.,
143
+ # `projects/myproject/locations/US`
144
+ # @!attribute [rw] reservation_id
145
+ # @return [::String]
146
+ # The reservation ID. This field must only contain lower case alphanumeric
147
+ # characters or dash. Max length is 64 characters.
148
+ # @!attribute [rw] reservation
149
+ # @return [::Google::Cloud::Bigquery::Reservation::V1::Reservation]
150
+ # Definition of the new reservation to create.
151
+ class CreateReservationRequest
152
+ include ::Google::Protobuf::MessageExts
153
+ extend ::Google::Protobuf::MessageExts::ClassMethods
154
+ end
155
+
156
+ # The request for {::Google::Cloud::Bigquery::Reservation::V1::ReservationService::Client#list_reservations ReservationService.ListReservations}.
157
+ # @!attribute [rw] parent
158
+ # @return [::String]
159
+ # Required. The parent resource name containing project and location, e.g.:
160
+ # `projects/myproject/locations/US`
161
+ # @!attribute [rw] page_size
162
+ # @return [::Integer]
163
+ # The maximum number of items to return per page.
164
+ # @!attribute [rw] page_token
165
+ # @return [::String]
166
+ # The next_page_token value returned from a previous List request, if any.
167
+ class ListReservationsRequest
168
+ include ::Google::Protobuf::MessageExts
169
+ extend ::Google::Protobuf::MessageExts::ClassMethods
170
+ end
171
+
172
+ # The response for {::Google::Cloud::Bigquery::Reservation::V1::ReservationService::Client#list_reservations ReservationService.ListReservations}.
173
+ # @!attribute [rw] reservations
174
+ # @return [::Array<::Google::Cloud::Bigquery::Reservation::V1::Reservation>]
175
+ # List of reservations visible to the user.
176
+ # @!attribute [rw] next_page_token
177
+ # @return [::String]
178
+ # Token to retrieve the next page of results, or empty if there are no
179
+ # more results in the list.
180
+ class ListReservationsResponse
181
+ include ::Google::Protobuf::MessageExts
182
+ extend ::Google::Protobuf::MessageExts::ClassMethods
183
+ end
184
+
185
+ # The request for {::Google::Cloud::Bigquery::Reservation::V1::ReservationService::Client#get_reservation ReservationService.GetReservation}.
186
+ # @!attribute [rw] name
187
+ # @return [::String]
188
+ # Required. Resource name of the reservation to retrieve. E.g.,
189
+ # `projects/myproject/locations/US/reservations/team1-prod`
190
+ class GetReservationRequest
191
+ include ::Google::Protobuf::MessageExts
192
+ extend ::Google::Protobuf::MessageExts::ClassMethods
193
+ end
194
+
195
+ # The request for {::Google::Cloud::Bigquery::Reservation::V1::ReservationService::Client#delete_reservation ReservationService.DeleteReservation}.
196
+ # @!attribute [rw] name
197
+ # @return [::String]
198
+ # Required. Resource name of the reservation to retrieve. E.g.,
199
+ # `projects/myproject/locations/US/reservations/team1-prod`
200
+ class DeleteReservationRequest
201
+ include ::Google::Protobuf::MessageExts
202
+ extend ::Google::Protobuf::MessageExts::ClassMethods
203
+ end
204
+
205
+ # The request for {::Google::Cloud::Bigquery::Reservation::V1::ReservationService::Client#update_reservation ReservationService.UpdateReservation}.
206
+ # @!attribute [rw] reservation
207
+ # @return [::Google::Cloud::Bigquery::Reservation::V1::Reservation]
208
+ # Content of the reservation to update.
209
+ # @!attribute [rw] update_mask
210
+ # @return [::Google::Protobuf::FieldMask]
211
+ # Standard field mask for the set of fields to be updated.
212
+ class UpdateReservationRequest
213
+ include ::Google::Protobuf::MessageExts
214
+ extend ::Google::Protobuf::MessageExts::ClassMethods
215
+ end
216
+
217
+ # The request for {::Google::Cloud::Bigquery::Reservation::V1::ReservationService::Client#create_capacity_commitment ReservationService.CreateCapacityCommitment}.
218
+ # @!attribute [rw] parent
219
+ # @return [::String]
220
+ # Required. Resource name of the parent reservation. E.g.,
221
+ # `projects/myproject/locations/US`
222
+ # @!attribute [rw] capacity_commitment
223
+ # @return [::Google::Cloud::Bigquery::Reservation::V1::CapacityCommitment]
224
+ # Content of the capacity commitment to create.
225
+ # @!attribute [rw] enforce_single_admin_project_per_org
226
+ # @return [::Boolean]
227
+ # If true, fail the request if another project in the organization has a
228
+ # capacity commitment.
229
+ class CreateCapacityCommitmentRequest
230
+ include ::Google::Protobuf::MessageExts
231
+ extend ::Google::Protobuf::MessageExts::ClassMethods
232
+ end
233
+
234
+ # The request for {::Google::Cloud::Bigquery::Reservation::V1::ReservationService::Client#list_capacity_commitments ReservationService.ListCapacityCommitments}.
235
+ # @!attribute [rw] parent
236
+ # @return [::String]
237
+ # Required. Resource name of the parent reservation. E.g.,
238
+ # `projects/myproject/locations/US`
239
+ # @!attribute [rw] page_size
240
+ # @return [::Integer]
241
+ # The maximum number of items to return.
242
+ # @!attribute [rw] page_token
243
+ # @return [::String]
244
+ # The next_page_token value returned from a previous List request, if any.
245
+ class ListCapacityCommitmentsRequest
246
+ include ::Google::Protobuf::MessageExts
247
+ extend ::Google::Protobuf::MessageExts::ClassMethods
248
+ end
249
+
250
+ # The response for {::Google::Cloud::Bigquery::Reservation::V1::ReservationService::Client#list_capacity_commitments ReservationService.ListCapacityCommitments}.
251
+ # @!attribute [rw] capacity_commitments
252
+ # @return [::Array<::Google::Cloud::Bigquery::Reservation::V1::CapacityCommitment>]
253
+ # List of capacity commitments visible to the user.
254
+ # @!attribute [rw] next_page_token
255
+ # @return [::String]
256
+ # Token to retrieve the next page of results, or empty if there are no
257
+ # more results in the list.
258
+ class ListCapacityCommitmentsResponse
259
+ include ::Google::Protobuf::MessageExts
260
+ extend ::Google::Protobuf::MessageExts::ClassMethods
261
+ end
262
+
263
+ # The request for {::Google::Cloud::Bigquery::Reservation::V1::ReservationService::Client#get_capacity_commitment ReservationService.GetCapacityCommitment}.
264
+ # @!attribute [rw] name
265
+ # @return [::String]
266
+ # Required. Resource name of the capacity commitment to retrieve. E.g.,
267
+ # `projects/myproject/locations/US/capacityCommitments/123`
268
+ class GetCapacityCommitmentRequest
269
+ include ::Google::Protobuf::MessageExts
270
+ extend ::Google::Protobuf::MessageExts::ClassMethods
271
+ end
272
+
273
+ # The request for {::Google::Cloud::Bigquery::Reservation::V1::ReservationService::Client#delete_capacity_commitment ReservationService.DeleteCapacityCommitment}.
274
+ # @!attribute [rw] name
275
+ # @return [::String]
276
+ # Required. Resource name of the capacity commitment to delete. E.g.,
277
+ # `projects/myproject/locations/US/capacityCommitments/123`
278
+ class DeleteCapacityCommitmentRequest
279
+ include ::Google::Protobuf::MessageExts
280
+ extend ::Google::Protobuf::MessageExts::ClassMethods
281
+ end
282
+
283
+ # The request for {::Google::Cloud::Bigquery::Reservation::V1::ReservationService::Client#update_capacity_commitment ReservationService.UpdateCapacityCommitment}.
284
+ # @!attribute [rw] capacity_commitment
285
+ # @return [::Google::Cloud::Bigquery::Reservation::V1::CapacityCommitment]
286
+ # Content of the capacity commitment to update.
287
+ # @!attribute [rw] update_mask
288
+ # @return [::Google::Protobuf::FieldMask]
289
+ # Standard field mask for the set of fields to be updated.
290
+ class UpdateCapacityCommitmentRequest
291
+ include ::Google::Protobuf::MessageExts
292
+ extend ::Google::Protobuf::MessageExts::ClassMethods
293
+ end
294
+
295
+ # The request for {::Google::Cloud::Bigquery::Reservation::V1::ReservationService::Client#split_capacity_commitment ReservationService.SplitCapacityCommitment}.
296
+ # @!attribute [rw] name
297
+ # @return [::String]
298
+ # Required. The resource name e.g.,:
299
+ # `projects/myproject/locations/US/capacityCommitments/123`
300
+ # @!attribute [rw] slot_count
301
+ # @return [::Integer]
302
+ # Number of slots in the capacity commitment after the split.
303
+ class SplitCapacityCommitmentRequest
304
+ include ::Google::Protobuf::MessageExts
305
+ extend ::Google::Protobuf::MessageExts::ClassMethods
306
+ end
307
+
308
+ # The response for {::Google::Cloud::Bigquery::Reservation::V1::ReservationService::Client#split_capacity_commitment ReservationService.SplitCapacityCommitment}.
309
+ # @!attribute [rw] first
310
+ # @return [::Google::Cloud::Bigquery::Reservation::V1::CapacityCommitment]
311
+ # First capacity commitment, result of a split.
312
+ # @!attribute [rw] second
313
+ # @return [::Google::Cloud::Bigquery::Reservation::V1::CapacityCommitment]
314
+ # Second capacity commitment, result of a split.
315
+ class SplitCapacityCommitmentResponse
316
+ include ::Google::Protobuf::MessageExts
317
+ extend ::Google::Protobuf::MessageExts::ClassMethods
318
+ end
319
+
320
+ # The request for {::Google::Cloud::Bigquery::Reservation::V1::ReservationService::Client#merge_capacity_commitments ReservationService.MergeCapacityCommitments}.
321
+ # @!attribute [rw] parent
322
+ # @return [::String]
323
+ # Parent resource that identifies admin project and location e.g.,
324
+ # `projects/myproject/locations/us`
325
+ # @!attribute [rw] capacity_commitment_ids
326
+ # @return [::Array<::String>]
327
+ # Ids of capacity commitments to merge.
328
+ # These capacity commitments must exist under admin project and location
329
+ # specified in the parent.
330
+ # ID is the last portion of capacity commitment name e.g., 'abc' for
331
+ # projects/myproject/locations/US/capacityCommitments/abc
332
+ class MergeCapacityCommitmentsRequest
333
+ include ::Google::Protobuf::MessageExts
334
+ extend ::Google::Protobuf::MessageExts::ClassMethods
335
+ end
336
+
337
+ # A Assignment allows a project to submit jobs
338
+ # of a certain type using slots from the specified reservation.
339
+ # @!attribute [r] name
340
+ # @return [::String]
341
+ # Output only. Name of the resource. E.g.:
342
+ # `projects/myproject/locations/US/reservations/team1-prod/assignments/123`.
343
+ # @!attribute [rw] assignee
344
+ # @return [::String]
345
+ # The resource which will use the reservation. E.g.
346
+ # `projects/myproject`, `folders/123`, or `organizations/456`.
347
+ # @!attribute [rw] job_type
348
+ # @return [::Google::Cloud::Bigquery::Reservation::V1::Assignment::JobType]
349
+ # Which type of jobs will use the reservation.
350
+ # @!attribute [r] state
351
+ # @return [::Google::Cloud::Bigquery::Reservation::V1::Assignment::State]
352
+ # Output only. State of the assignment.
353
+ class Assignment
354
+ include ::Google::Protobuf::MessageExts
355
+ extend ::Google::Protobuf::MessageExts::ClassMethods
356
+
357
+ # Types of job, which could be specified when using the reservation.
358
+ module JobType
359
+ # Invalid type. Requests with this value will be rejected with
360
+ # error code `google.rpc.Code.INVALID_ARGUMENT`.
361
+ JOB_TYPE_UNSPECIFIED = 0
362
+
363
+ # Pipeline (load/export) jobs from the project will use the reservation.
364
+ PIPELINE = 1
365
+
366
+ # Query jobs from the project will use the reservation.
367
+ QUERY = 2
368
+ end
369
+
370
+ # Assignment will remain in PENDING state if no active capacity commitment is
371
+ # present. It will become ACTIVE when some capacity commitment becomes
372
+ # active.
373
+ module State
374
+ # Invalid state value.
375
+ STATE_UNSPECIFIED = 0
376
+
377
+ # Queries from assignee will be executed as on-demand, if related
378
+ # assignment is pending.
379
+ PENDING = 1
380
+
381
+ # Assignment is ready.
382
+ ACTIVE = 2
383
+ end
384
+ end
385
+
386
+ # The request for {::Google::Cloud::Bigquery::Reservation::V1::ReservationService::Client#create_assignment ReservationService.CreateAssignment}.
387
+ # Note: "bigquery.reservationAssignments.create" permission is required on the
388
+ # related assignee.
389
+ # @!attribute [rw] parent
390
+ # @return [::String]
391
+ # Required. The parent resource name of the assignment
392
+ # E.g. `projects/myproject/locations/US/reservations/team1-prod`
393
+ # @!attribute [rw] assignment
394
+ # @return [::Google::Cloud::Bigquery::Reservation::V1::Assignment]
395
+ # Assignment resource to create.
396
+ class CreateAssignmentRequest
397
+ include ::Google::Protobuf::MessageExts
398
+ extend ::Google::Protobuf::MessageExts::ClassMethods
399
+ end
400
+
401
+ # The request for {::Google::Cloud::Bigquery::Reservation::V1::ReservationService::Client#list_assignments ReservationService.ListAssignments}.
402
+ # @!attribute [rw] parent
403
+ # @return [::String]
404
+ # Required. The parent resource name e.g.:
405
+ #
406
+ # `projects/myproject/locations/US/reservations/team1-prod`
407
+ #
408
+ # Or:
409
+ #
410
+ # `projects/myproject/locations/US/reservations/-`
411
+ # @!attribute [rw] page_size
412
+ # @return [::Integer]
413
+ # The maximum number of items to return per page.
414
+ # @!attribute [rw] page_token
415
+ # @return [::String]
416
+ # The next_page_token value returned from a previous List request, if any.
417
+ class ListAssignmentsRequest
418
+ include ::Google::Protobuf::MessageExts
419
+ extend ::Google::Protobuf::MessageExts::ClassMethods
420
+ end
421
+
422
+ # The response for {::Google::Cloud::Bigquery::Reservation::V1::ReservationService::Client#list_assignments ReservationService.ListAssignments}.
423
+ # @!attribute [rw] assignments
424
+ # @return [::Array<::Google::Cloud::Bigquery::Reservation::V1::Assignment>]
425
+ # List of assignments visible to the user.
426
+ # @!attribute [rw] next_page_token
427
+ # @return [::String]
428
+ # Token to retrieve the next page of results, or empty if there are no
429
+ # more results in the list.
430
+ class ListAssignmentsResponse
431
+ include ::Google::Protobuf::MessageExts
432
+ extend ::Google::Protobuf::MessageExts::ClassMethods
433
+ end
434
+
435
+ # The request for {::Google::Cloud::Bigquery::Reservation::V1::ReservationService::Client#delete_assignment ReservationService.DeleteAssignment}.
436
+ # Note: "bigquery.reservationAssignments.delete" permission is required on the
437
+ # related assignee.
438
+ # @!attribute [rw] name
439
+ # @return [::String]
440
+ # Required. Name of the resource, e.g.
441
+ # `projects/myproject/locations/US/reservations/team1-prod/assignments/123`
442
+ class DeleteAssignmentRequest
443
+ include ::Google::Protobuf::MessageExts
444
+ extend ::Google::Protobuf::MessageExts::ClassMethods
445
+ end
446
+
447
+ # The request for
448
+ # {::Google::Cloud::Bigquery::Reservation::V1::ReservationService::Client#search_assignments ReservationService.SearchAssignments}.
449
+ # Note: "bigquery.reservationAssignments.search" permission is required on the
450
+ # related assignee.
451
+ # @!attribute [rw] parent
452
+ # @return [::String]
453
+ # Required. The resource name of the admin project(containing project and location),
454
+ # e.g.:
455
+ # `projects/myproject/locations/US`.
456
+ # @!attribute [rw] query
457
+ # @return [::String]
458
+ # Please specify resource name as assignee in the query.
459
+ #
460
+ # Examples:
461
+ #
462
+ # * `assignee=projects/myproject`
463
+ # * `assignee=folders/123`
464
+ # * `assignee=organizations/456`
465
+ # @!attribute [rw] page_size
466
+ # @return [::Integer]
467
+ # The maximum number of items to return per page.
468
+ # @!attribute [rw] page_token
469
+ # @return [::String]
470
+ # The next_page_token value returned from a previous List request, if any.
471
+ class SearchAssignmentsRequest
472
+ include ::Google::Protobuf::MessageExts
473
+ extend ::Google::Protobuf::MessageExts::ClassMethods
474
+ end
475
+
476
+ # The response for {::Google::Cloud::Bigquery::Reservation::V1::ReservationService::Client#search_assignments ReservationService.SearchAssignments}.
477
+ # @!attribute [rw] assignments
478
+ # @return [::Array<::Google::Cloud::Bigquery::Reservation::V1::Assignment>]
479
+ # List of assignments visible to the user.
480
+ # @!attribute [rw] next_page_token
481
+ # @return [::String]
482
+ # Token to retrieve the next page of results, or empty if there are no
483
+ # more results in the list.
484
+ class SearchAssignmentsResponse
485
+ include ::Google::Protobuf::MessageExts
486
+ extend ::Google::Protobuf::MessageExts::ClassMethods
487
+ end
488
+
489
+ # The request for
490
+ # {::Google::Cloud::Bigquery::Reservation::V1::ReservationService::Client#move_assignment ReservationService.MoveAssignment}.
491
+ #
492
+ # **Note**: "bigquery.reservationAssignments.create" permission is required on
493
+ # the destination_id.
494
+ #
495
+ # **Note**: "bigquery.reservationAssignments.create" and
496
+ # "bigquery.reservationAssignments.delete" permission are required on the
497
+ # related assignee.
498
+ # @!attribute [rw] name
499
+ # @return [::String]
500
+ # Required. The resource name of the assignment,
501
+ # e.g.
502
+ # `projects/myproject/locations/US/reservations/team1-prod/assignments/123`
503
+ # @!attribute [rw] destination_id
504
+ # @return [::String]
505
+ # The new reservation ID, e.g.:
506
+ # `projects/myotherproject/locations/US/reservations/team2-prod`
507
+ class MoveAssignmentRequest
508
+ include ::Google::Protobuf::MessageExts
509
+ extend ::Google::Protobuf::MessageExts::ClassMethods
510
+ end
511
+
512
+ # Represents a BI Reservation.
513
+ # @!attribute [rw] name
514
+ # @return [::String]
515
+ # The resource name of the singleton BI reservation.
516
+ # Reservation names have the form
517
+ # `projects/{project_id}/locations/{location_id}/bireservation`.
518
+ # @!attribute [r] update_time
519
+ # @return [::Google::Protobuf::Timestamp]
520
+ # Output only. The last update timestamp of a reservation.
521
+ # @!attribute [rw] size
522
+ # @return [::Integer]
523
+ # Size of a reservation, in bytes.
524
+ class BiReservation
525
+ include ::Google::Protobuf::MessageExts
526
+ extend ::Google::Protobuf::MessageExts::ClassMethods
527
+ end
528
+
529
+ # A request to get a singleton BI reservation.
530
+ # @!attribute [rw] name
531
+ # @return [::String]
532
+ # Required. Name of the requested reservation, for example:
533
+ # `projects/{project_id}/locations/{location_id}/bireservation`
534
+ class GetBiReservationRequest
535
+ include ::Google::Protobuf::MessageExts
536
+ extend ::Google::Protobuf::MessageExts::ClassMethods
537
+ end
538
+
539
+ # A request to update a BI reservation.
540
+ # @!attribute [rw] bi_reservation
541
+ # @return [::Google::Cloud::Bigquery::Reservation::V1::BiReservation]
542
+ # A reservation to update.
543
+ # @!attribute [rw] update_mask
544
+ # @return [::Google::Protobuf::FieldMask]
545
+ # A list of fields to be updated in this request.
546
+ class UpdateBiReservationRequest
547
+ include ::Google::Protobuf::MessageExts
548
+ extend ::Google::Protobuf::MessageExts::ClassMethods
549
+ end
550
+ end
551
+ end
552
+ end
553
+ end
554
+ end