google-cloud-bigquery-reservation-v1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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