google-cloud-capacity_planner-v1beta 0.a → 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.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +122 -0
  4. data/README.md +153 -8
  5. data/lib/google/cloud/capacity_planner/v1beta/capacity_planning_service/client.rb +686 -0
  6. data/lib/google/cloud/capacity_planner/v1beta/capacity_planning_service/credentials.rb +48 -0
  7. data/lib/google/cloud/capacity_planner/v1beta/capacity_planning_service/paths.rb +64 -0
  8. data/lib/google/cloud/capacity_planner/v1beta/capacity_planning_service/rest/client.rb +639 -0
  9. data/lib/google/cloud/capacity_planner/v1beta/capacity_planning_service/rest/service_stub.rb +279 -0
  10. data/lib/google/cloud/capacity_planner/v1beta/capacity_planning_service/rest.rb +54 -0
  11. data/lib/google/cloud/capacity_planner/v1beta/capacity_planning_service.rb +57 -0
  12. data/lib/google/cloud/capacity_planner/v1beta/rest.rb +38 -0
  13. data/lib/google/cloud/capacity_planner/v1beta/usage_service/client.rb +1214 -0
  14. data/lib/google/cloud/capacity_planner/v1beta/usage_service/credentials.rb +48 -0
  15. data/lib/google/cloud/capacity_planner/v1beta/usage_service/operations.rb +813 -0
  16. data/lib/google/cloud/capacity_planner/v1beta/usage_service/paths.rb +50 -0
  17. data/lib/google/cloud/capacity_planner/v1beta/usage_service/rest/client.rb +1146 -0
  18. data/lib/google/cloud/capacity_planner/v1beta/usage_service/rest/operations.rb +914 -0
  19. data/lib/google/cloud/capacity_planner/v1beta/usage_service/rest/service_stub.rb +546 -0
  20. data/lib/google/cloud/capacity_planner/v1beta/usage_service/rest.rb +53 -0
  21. data/lib/google/cloud/capacity_planner/v1beta/usage_service.rb +56 -0
  22. data/lib/google/cloud/capacity_planner/v1beta/version.rb +7 -2
  23. data/lib/google/cloud/capacity_planner/v1beta.rb +46 -0
  24. data/lib/google/cloud/capacityplanner/v1beta/allocation_pb.rb +53 -0
  25. data/lib/google/cloud/capacityplanner/v1beta/capacity_planning_service_pb.rb +73 -0
  26. data/lib/google/cloud/capacityplanner/v1beta/capacity_planning_service_services_pb.rb +54 -0
  27. data/lib/google/cloud/capacityplanner/v1beta/future_reservation_pb.rb +51 -0
  28. data/lib/google/cloud/capacityplanner/v1beta/location_pb.rb +46 -0
  29. data/lib/google/cloud/capacityplanner/v1beta/resource_pb.rb +51 -0
  30. data/lib/google/cloud/capacityplanner/v1beta/usage_service_pb.rb +90 -0
  31. data/lib/google/cloud/capacityplanner/v1beta/usage_service_services_pb.rb +61 -0
  32. data/lib/google-cloud-capacity_planner-v1beta.rb +21 -0
  33. data/proto_docs/README.md +4 -0
  34. data/proto_docs/google/api/client.rb +473 -0
  35. data/proto_docs/google/api/field_behavior.rb +85 -0
  36. data/proto_docs/google/api/launch_stage.rb +71 -0
  37. data/proto_docs/google/api/resource.rb +227 -0
  38. data/proto_docs/google/cloud/capacityplanner/v1beta/allocation.rb +206 -0
  39. data/proto_docs/google/cloud/capacityplanner/v1beta/capacity_planning_service.rb +374 -0
  40. data/proto_docs/google/cloud/capacityplanner/v1beta/future_reservation.rb +185 -0
  41. data/proto_docs/google/cloud/capacityplanner/v1beta/location.rb +79 -0
  42. data/proto_docs/google/cloud/capacityplanner/v1beta/resource.rb +159 -0
  43. data/proto_docs/google/cloud/capacityplanner/v1beta/usage_service.rb +912 -0
  44. data/proto_docs/google/longrunning/operations.rb +173 -0
  45. data/proto_docs/google/protobuf/any.rb +145 -0
  46. data/proto_docs/google/protobuf/duration.rb +98 -0
  47. data/proto_docs/google/protobuf/empty.rb +34 -0
  48. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  49. data/proto_docs/google/rpc/status.rb +48 -0
  50. data/proto_docs/google/type/date.rb +53 -0
  51. metadata +83 -9
@@ -0,0 +1,374 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2025 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 CapacityPlanner
23
+ module V1beta
24
+ # Request for getting a capacity plan.
25
+ # @!attribute [rw] name
26
+ # @return [::String]
27
+ # Required. The name of the capacity plan to retrieve.
28
+ # Format: projects/\\{project}/capacityPlans/\\{capacity_plan}
29
+ class GetCapacityPlanRequest
30
+ include ::Google::Protobuf::MessageExts
31
+ extend ::Google::Protobuf::MessageExts::ClassMethods
32
+ end
33
+
34
+ # Request for querying capacity plans.
35
+ # @!attribute [rw] parent
36
+ # @return [::String]
37
+ # Required. The parent resource container.
38
+ # Format:
39
+ # projects/\\{project} or
40
+ # folders/\\{folder} or
41
+ # organizations/\\{organization}
42
+ # @!attribute [rw] page_size
43
+ # @return [::Integer]
44
+ # Optional. The maximum number of plans to return per page. The service may
45
+ # return fewer than this value. If unspecified, the server will use a
46
+ # sensible default. The maximum value is 1000; values above 1000 will be
47
+ # coerced to 1000.
48
+ # @!attribute [rw] page_token
49
+ # @return [::String]
50
+ # Optional. A page token, received from a previous `QueryCapacityPlans` call.
51
+ # Provide this to retrieve the subsequent page.
52
+ # @!attribute [rw] location
53
+ # @return [::String]
54
+ # Optional. The Google Cloud Platform location of capacity plans. If
55
+ # unspecified, all locations will be included.
56
+ class QueryCapacityPlansRequest
57
+ include ::Google::Protobuf::MessageExts
58
+ extend ::Google::Protobuf::MessageExts::ClassMethods
59
+ end
60
+
61
+ # Response of querying capacity plans.
62
+ # @!attribute [rw] capacity_plans
63
+ # @return [::Array<::Google::Cloud::CapacityPlanner::V1beta::CapacityPlan>]
64
+ # List of capacity plans.
65
+ # @!attribute [rw] next_page_token
66
+ # @return [::String]
67
+ # Token to retrieve the next page of results. This will be empty if there are
68
+ # no more pages.
69
+ class QueryCapacityPlansResponse
70
+ include ::Google::Protobuf::MessageExts
71
+ extend ::Google::Protobuf::MessageExts::ClassMethods
72
+ end
73
+
74
+ # Request for capacity plan insights.
75
+ # @!attribute [rw] parent
76
+ # @return [::String]
77
+ # Required. The parent resource container.
78
+ # Format: projects/\\{project}
79
+ # @!attribute [rw] capacity_plan_filters
80
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::CapacityPlanFilters]
81
+ # Required. The filters to apply to the capacity plan.
82
+ class QueryCapacityPlanInsightsRequest
83
+ include ::Google::Protobuf::MessageExts
84
+ extend ::Google::Protobuf::MessageExts::ClassMethods
85
+ end
86
+
87
+ # Response for capacity plan insights.
88
+ # @!attribute [rw] aggregated_capacity_plan_view
89
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::CapacityPlanView]
90
+ # Optional. The aggregated capacity plan view. This is the aggregated view of
91
+ # all the capacity plans that match the filters.
92
+ class QueryCapacityPlanInsightsResponse
93
+ include ::Google::Protobuf::MessageExts
94
+ extend ::Google::Protobuf::MessageExts::ClassMethods
95
+ end
96
+
97
+ # CapacityPlanFilters is a set of filters to apply to the capacity plan.
98
+ # @!attribute [rw] keys
99
+ # @return [::Array<::Google::Cloud::CapacityPlanner::V1beta::CapacityPlanKey>]
100
+ # Required. The capacity plan keys to include in the response.
101
+ # @!attribute [rw] capacity_types
102
+ # @return [::Array<::Google::Cloud::CapacityPlanner::V1beta::CapacityType>]
103
+ # Required. The capacity types to include in the response.
104
+ # @!attribute [rw] capacity_plan_id
105
+ # @return [::String]
106
+ # Optional. Optional capacity plan id. Should be populated for request page
107
+ # to lock based on the same capacity plan.
108
+ class CapacityPlanFilters
109
+ include ::Google::Protobuf::MessageExts
110
+ extend ::Google::Protobuf::MessageExts::ClassMethods
111
+ end
112
+
113
+ # CapacityPlanKey is a the unique identifier for each Capacity Plan.
114
+ # @!attribute [rw] resource_container
115
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::ResourceContainer]
116
+ # Required. The resource container associated with the capacity plan.
117
+ # @!attribute [rw] resource_id_key
118
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::ResourceIdKey]
119
+ # Required. The resource id key associated with the capacity plan.
120
+ # @!attribute [rw] location_id
121
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::LocationIdentifier]
122
+ # Required. Identifier of location.
123
+ class CapacityPlanKey
124
+ include ::Google::Protobuf::MessageExts
125
+ extend ::Google::Protobuf::MessageExts::ClassMethods
126
+ end
127
+
128
+ # CapacityPlanView contains the capacity plan key and the time series views.
129
+ # @!attribute [rw] key
130
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::CapacityPlanKey]
131
+ # Required. The capacity plan key associated with the capacity plan view.
132
+ # @!attribute [rw] time_series_views
133
+ # @return [::Array<::Google::Cloud::CapacityPlanner::V1beta::TimeSeriesView>]
134
+ # Required. The time series views associated with the capacity plan view.
135
+ class CapacityPlanView
136
+ include ::Google::Protobuf::MessageExts
137
+ extend ::Google::Protobuf::MessageExts::ClassMethods
138
+ end
139
+
140
+ # TimeSeriesView contains capacity_value which has the timeseries for a given
141
+ # type. Each type as a single timeseries associated with it.
142
+ # @!attribute [rw] type
143
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::CapacityType]
144
+ # Required. The capacity type associated with the time series view.
145
+ # @!attribute [rw] capacity_value
146
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::DemandValue]
147
+ # Required. The capacity value associated with the time series view.
148
+ class TimeSeriesView
149
+ include ::Google::Protobuf::MessageExts
150
+ extend ::Google::Protobuf::MessageExts::ClassMethods
151
+ end
152
+
153
+ # A plan for additional capacity needed by a Google Cloud Platform project.
154
+ # This is synonymous with CapacityDemand, CapacityRequest, and
155
+ # CapacityDemandRequest.
156
+ # @!attribute [rw] name
157
+ # @return [::String]
158
+ # Identifier. The name of the capacity plan.
159
+ #
160
+ # Format:
161
+ # projects/\\{project}/capacityPlans/\\{capacity_plan_id}
162
+ # @!attribute [rw] capacity_demand_metadata
163
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::DemandMetadata]
164
+ # Optional. The metadata associated with a capacity demand.
165
+ # @!attribute [rw] service_demands
166
+ # @return [::Array<::Google::Cloud::CapacityPlanner::V1beta::ServiceDemand>]
167
+ # Required. The capacity demand associated with a service.
168
+ # @!attribute [r] reporter
169
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::User]
170
+ # Output only. User who created the capacity plan.
171
+ # @!attribute [r] state
172
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::State]
173
+ # Output only. State of the plan.
174
+ # @!attribute [r] create_time
175
+ # @return [::Google::Protobuf::Timestamp]
176
+ # Output only. Timestamp when the plan was created.
177
+ # @!attribute [r] update_time
178
+ # @return [::Google::Protobuf::Timestamp]
179
+ # Output only. Timestamp when the plan was last updated.
180
+ # @!attribute [rw] description
181
+ # @return [::String]
182
+ # Optional. Description of the plan.
183
+ # @!attribute [rw] title
184
+ # @return [::String]
185
+ # Optional. Title of the plan.
186
+ class CapacityPlan
187
+ include ::Google::Protobuf::MessageExts
188
+ extend ::Google::Protobuf::MessageExts::ClassMethods
189
+ end
190
+
191
+ # The metadata associated with a capacity demand.
192
+ # @!attribute [rw] demand_preferences
193
+ # @return [::Array<::Google::Cloud::CapacityPlanner::V1beta::DemandPreference>]
194
+ # Optional. The preferences associated with a capacity demand.
195
+ class DemandMetadata
196
+ include ::Google::Protobuf::MessageExts
197
+ extend ::Google::Protobuf::MessageExts::ClassMethods
198
+ end
199
+
200
+ # Preference associated with a request, such as flexibility with alternate
201
+ # resource type.
202
+ # @!attribute [r] preference_id
203
+ # @return [::String]
204
+ # Output only. The preference id.
205
+ # @!attribute [rw] value
206
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::Value]
207
+ # Required. The value of demand preference.
208
+ class DemandPreference
209
+ include ::Google::Protobuf::MessageExts
210
+ extend ::Google::Protobuf::MessageExts::ClassMethods
211
+ end
212
+
213
+ # Capacity demand for a service.
214
+ # @!attribute [rw] service
215
+ # @return [::String]
216
+ # Required. Name of the service.
217
+ # @!attribute [rw] demand_metadata
218
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::DemandMetadata]
219
+ # Optional. The metadata associated with a service demand.
220
+ # @!attribute [rw] resource_demands
221
+ # @return [::Array<::Google::Cloud::CapacityPlanner::V1beta::ResourceDemand>]
222
+ # Required. The demand associated with the resources.
223
+ class ServiceDemand
224
+ include ::Google::Protobuf::MessageExts
225
+ extend ::Google::Protobuf::MessageExts::ClassMethods
226
+ end
227
+
228
+ # Capacity demand for a resource.
229
+ # @!attribute [r] id
230
+ # @return [::String]
231
+ # Output only. Identifier of resource demand.
232
+ # @!attribute [rw] resource_container
233
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::ResourceContainer]
234
+ # Required. The resource container associated with the demand.
235
+ # @!attribute [rw] resource_id
236
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::ResourceIdentifier]
237
+ # Required. Identifier of resource.
238
+ # @!attribute [rw] location_id
239
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::LocationIdentifier]
240
+ # Required. Identifier of location.
241
+ # @!attribute [r] state
242
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::State]
243
+ # Output only. State of the resource demand.
244
+ # @!attribute [r] reporter
245
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::User]
246
+ # Output only. User who reported the demand.
247
+ # @!attribute [r] create_time
248
+ # @return [::Google::Protobuf::Timestamp]
249
+ # Output only. Timestamp when the demand was created.
250
+ # @!attribute [r] update_time
251
+ # @return [::Google::Protobuf::Timestamp]
252
+ # Output only. Timestamp when the demand was last updated.
253
+ # @!attribute [rw] demand_values
254
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::DemandValues]
255
+ # Required. The demand values associated with the resource.
256
+ # @!attribute [rw] demand_metadata
257
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::DemandMetadata]
258
+ # Optional. The metadata associated with the demand.
259
+ # @!attribute [rw] child_resource_demands
260
+ # @return [::Array<::Google::Cloud::CapacityPlanner::V1beta::ChildResourceDemand>]
261
+ # Optional. The child resource demands associated with the resource.
262
+ class ResourceDemand
263
+ include ::Google::Protobuf::MessageExts
264
+ extend ::Google::Protobuf::MessageExts::ClassMethods
265
+ end
266
+
267
+ # A user who created or updated a capacity demand.
268
+ # @!attribute [rw] email
269
+ # @return [::String]
270
+ # Required. Email of the user.
271
+ class User
272
+ include ::Google::Protobuf::MessageExts
273
+ extend ::Google::Protobuf::MessageExts::ClassMethods
274
+ end
275
+
276
+ # The capacity demand values for a resource.
277
+ # @!attribute [rw] values
278
+ # @return [::Array<::Google::Cloud::CapacityPlanner::V1beta::DemandValue>]
279
+ # Required. The demand values.
280
+ class DemandValues
281
+ include ::Google::Protobuf::MessageExts
282
+ extend ::Google::Protobuf::MessageExts::ClassMethods
283
+ end
284
+
285
+ # Capacity demand value for a single resource attribute such as CPU count,
286
+ # vertex AI peak QPM, etc.
287
+ # @!attribute [rw] name
288
+ # @return [::String]
289
+ # Required. The name of the demand value such as CPU count.
290
+ # @!attribute [rw] time_values
291
+ # @return [::Array<::Google::Cloud::CapacityPlanner::V1beta::TimeValue>]
292
+ # Required. The demand values at different time points.
293
+ # @!attribute [rw] unit
294
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::Unit]
295
+ # Required. Unit of measurement.
296
+ class DemandValue
297
+ include ::Google::Protobuf::MessageExts
298
+ extend ::Google::Protobuf::MessageExts::ClassMethods
299
+ end
300
+
301
+ # Capacity demand value for a single time point.
302
+ # @!attribute [rw] time
303
+ # @return [::Google::Protobuf::Timestamp]
304
+ # Required. The time point. If this demand value is non-temporal, set time to
305
+ # -1.
306
+ # @!attribute [rw] value
307
+ # @return [::Float]
308
+ # Required. The demand value at the time point.
309
+ class TimeValue
310
+ include ::Google::Protobuf::MessageExts
311
+ extend ::Google::Protobuf::MessageExts::ClassMethods
312
+ end
313
+
314
+ # Capacity demand for a child resource such as shapes.
315
+ # @!attribute [rw] resource_id
316
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::ResourceIdentifier]
317
+ # Required. Identifier of resource.
318
+ # @!attribute [rw] demand_values
319
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::DemandValues]
320
+ # Required. The demand values associated with the child resource.
321
+ # @!attribute [rw] demand_metadata
322
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::DemandMetadata]
323
+ # Optional. The metadata associated with the child resource demand.
324
+ class ChildResourceDemand
325
+ include ::Google::Protobuf::MessageExts
326
+ extend ::Google::Protobuf::MessageExts::ClassMethods
327
+ end
328
+
329
+ # The state of a capacity demand.
330
+ module State
331
+ # The state is unspecified.
332
+ STATE_UNSPECIFIED = 0
333
+
334
+ # The demand is pending review.
335
+ PENDING_REVIEW = 1
336
+
337
+ # The demand is in review.
338
+ IN_REVIEW = 3
339
+
340
+ # The demand is provisionally approved.
341
+ APPROVED_PROVISIONAL = 8
342
+
343
+ # The demand is obsolete.
344
+ OBSOLETE = 5
345
+
346
+ # The demand cannot be fulfilled.
347
+ CANNOT_BE_FULFILLED = 7
348
+
349
+ # The demand is on hold, contact sales.
350
+ ON_HOLD_CONTACT_SALES = 9
351
+
352
+ # The demand is in fulfillment.
353
+ IN_FULFILLMENT = 10
354
+ end
355
+
356
+ # CapacityType is the type of the capacity plan.
357
+ module CapacityType
358
+ # Default value.
359
+ CAPACITY_TYPE_UNKNOWN = 0
360
+
361
+ # Latest inorganic data stored in horizon DB that is in draft state.
362
+ CAPACITY_TYPE_INORGANIC_DRAFT = 1
363
+
364
+ # Latest inorganic data stored in horizon DB that are pending i.e. submitted
365
+ # or assessment.
366
+ CAPACITY_TYPE_INORGANIC_PENDING = 2
367
+
368
+ # Latest inorganic data stored in horizon DB that has been approved.
369
+ CAPACITY_TYPE_INORGANIC_APPROVED = 3
370
+ end
371
+ end
372
+ end
373
+ end
374
+ end
@@ -0,0 +1,185 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2025 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 CapacityPlanner
23
+ module V1beta
24
+ # Repesents Future Reservation request which is part of aggregated
25
+ # reservations data response of "QueryReservations".
26
+ # @!attribute [rw] specific_sku_properties
27
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::FutureReservation::SpecificSKUProperties]
28
+ # Future Reservation configuration to indicate instance properties and
29
+ # total count.
30
+ # @!attribute [rw] id
31
+ # @return [::Integer]
32
+ # A unique identifier for this future reservation. The server
33
+ # defines this identifier.
34
+ # @!attribute [rw] create_time
35
+ # @return [::Google::Protobuf::Timestamp]
36
+ # The creation timestamp for this future reservation.
37
+ # @!attribute [rw] zone
38
+ # @return [::String]
39
+ # URL of the Zone where this future reservation resides.
40
+ # @!attribute [rw] description
41
+ # @return [::String]
42
+ # Description of the future reservation provided by user.
43
+ # @!attribute [rw] future_reservation
44
+ # @return [::String]
45
+ # The future reservation resource name.
46
+ # @!attribute [rw] owner_project_id
47
+ # @return [::String]
48
+ # @!attribute [rw] time_window
49
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::FutureReservation::TimeWindow]
50
+ # Time window for this Future Reservation.
51
+ # @!attribute [rw] share_settings
52
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::Allocation::ShareSettings]
53
+ # List of Projects/Folders to share with.
54
+ # @!attribute [rw] name_prefix
55
+ # @return [::String]
56
+ # Name prefix for the reservations to be created at the time of
57
+ # delivery. The name prefix must comply with RFC1035.
58
+ # Maximum allowed length for name prefix is 20. Automatically created
59
+ # reservations name format will be <name-prefix>-date-####.
60
+ # @!attribute [rw] status
61
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::FutureReservation::Status]
62
+ # Status of the Future Reservation
63
+ # @!attribute [rw] auto_created_reservations_delete_time
64
+ # @return [::Google::Protobuf::Timestamp]
65
+ # Future timestamp when the FR auto-created reservations will be deleted by
66
+ # Compute Engine. Format of this field must be a valid RFC3339 value.
67
+ # @!attribute [rw] auto_delete_auto_created_reservations
68
+ # @return [::Boolean]
69
+ # Setting for enabling or disabling automatic deletion for auto-created
70
+ # reservation. If set to true, auto-created reservations will be
71
+ # deleted at Future Reservation's end time (default) or at user's defined
72
+ # timestamp if any of the
73
+ # [auto_created_reservations_delete_time, auto_created_reservations_duration]
74
+ # values is specified.
75
+ # For keeping auto-created reservation indefinitely, this value should be set
76
+ # to false.
77
+ class FutureReservation
78
+ include ::Google::Protobuf::MessageExts
79
+ extend ::Google::Protobuf::MessageExts::ClassMethods
80
+
81
+ # Represents specific SKU properties for the Future Reservation.
82
+ # @!attribute [rw] instance_properties
83
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::Allocation::SpecificSKUAllocation::AllocatedInstanceProperties]
84
+ # Properties of the SKU instances being reserved.
85
+ # @!attribute [rw] total_count
86
+ # @return [::Integer]
87
+ # Total number of instances for which capacity assurance is requested at a
88
+ # future time period.
89
+ class SpecificSKUProperties
90
+ include ::Google::Protobuf::MessageExts
91
+ extend ::Google::Protobuf::MessageExts::ClassMethods
92
+ end
93
+
94
+ # Represents time window for the Future Reservation.
95
+ # @!attribute [rw] start_time
96
+ # @return [::Google::Protobuf::Timestamp]
97
+ # Start time of the Future Reservation.
98
+ # @!attribute [rw] end_time
99
+ # @return [::Google::Protobuf::Timestamp]
100
+ # End time of the Future Reservation.
101
+ class TimeWindow
102
+ include ::Google::Protobuf::MessageExts
103
+ extend ::Google::Protobuf::MessageExts::ClassMethods
104
+ end
105
+
106
+ # Represents status related to the future reservation.
107
+ # @!attribute [rw] procurement_status
108
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::FutureReservation::Status::ProcurementStatus]
109
+ # Current state of this Future Reservation
110
+ # @!attribute [rw] lock_time
111
+ # @return [::Google::Protobuf::Timestamp]
112
+ # Time when Future Reservation would become LOCKED, after which no
113
+ # modifications to Future Reservation will be allowed. Applicable only
114
+ # after the Future Reservation is in the APPROVED state. The lock_time is
115
+ # an RFC3339 string. The procurement_status will transition to PROCURING
116
+ # state at this time.
117
+ # @!attribute [rw] auto_created_reservations
118
+ # @return [::Array<::String>]
119
+ # Fully qualified urls of the automatically created reservations at
120
+ # start_time.
121
+ # @!attribute [rw] fulfilled_count
122
+ # @return [::Integer]
123
+ # This count indicates the fulfilled capacity so far. This is set during
124
+ # "PROVISIONING" state. This count also includes capacity delivered as part
125
+ # of existing matching reservations.
126
+ class Status
127
+ include ::Google::Protobuf::MessageExts
128
+ extend ::Google::Protobuf::MessageExts::ClassMethods
129
+
130
+ # Represents procurement status of the Future Reservation.
131
+ module ProcurementStatus
132
+ # This is unused status value.
133
+ PROCUREMENT_STATUS_UNSPECIFIED = 0
134
+
135
+ # Future reservation is pending approval by Google Cloud Platform.
136
+ PENDING_APPROVAL = 1
137
+
138
+ # Future reservation is approved by Google Cloud Platform.
139
+ APPROVED = 2
140
+
141
+ # Future reservation is committed by the customer.
142
+ COMMITTED = 3
143
+
144
+ # Future reservation is rejected by Google Cloud Platform.
145
+ DECLINED = 4
146
+
147
+ # Future reservation is cancelled by the customer.
148
+ CANCELLED = 5
149
+
150
+ # Future reservation is being procured by Google Cloud Platform. Beyond
151
+ # this point, Future reservation is locked and no further modifications
152
+ # are allowed.
153
+ PROCURING = 6
154
+
155
+ # Future reservation capacity is being provisioned. This state will be
156
+ # entered after start_time, while reservations are being created to
157
+ # provide total_count reserved instance slots. This state will not
158
+ # persist past start_time + 24h.
159
+ PROVISIONING = 7
160
+
161
+ # Future reservation is fulfilled completely.
162
+ FULFILLED = 8
163
+
164
+ # Future reservation failed. No additional reservations were provided.
165
+ FAILED = 9
166
+
167
+ # Future reservation is partially fulfilled. Additional reservations were
168
+ # provided but did not reach total_count reserved instance slots.
169
+ FAILED_PARTIALLY_FULFILLED = 10
170
+
171
+ # Related status for PlanningStatus.Draft. Transitions to
172
+ # PENDING_APPROVAL upon user submitting FR.
173
+ DRAFTING = 11
174
+
175
+ # An Amendment to the Future Reservation has been requested. If the
176
+ # Amendment is declined, the Future Reservation will be restored to the
177
+ # last known good state.
178
+ PENDING_AMENDMENT_APPROVAL = 12
179
+ end
180
+ end
181
+ end
182
+ end
183
+ end
184
+ end
185
+ end
@@ -0,0 +1,79 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2025 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 CapacityPlanner
23
+ module V1beta
24
+ # Identifier for a Google Cloud Platform location.
25
+ # @!attribute [rw] location_level
26
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::LocationLevel]
27
+ # The location level such as a region.
28
+ # @!attribute [rw] source
29
+ # @return [::String]
30
+ # Required. Location where resource is sourced. For Cloud Storage, the
31
+ # alphabetically first location is the source.
32
+ # @!attribute [rw] linked_locations
33
+ # @return [::Array<::Google::Cloud::CapacityPlanner::V1beta::LocationIdentifier::LinkedLocation>]
34
+ # Optional. Other linked locations.
35
+ class LocationIdentifier
36
+ include ::Google::Protobuf::MessageExts
37
+ extend ::Google::Protobuf::MessageExts::ClassMethods
38
+
39
+ # @!attribute [rw] location_level
40
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::LocationLevel]
41
+ # The location level such as a region.
42
+ # @!attribute [rw] location
43
+ # @return [::String]
44
+ # Required. The linked cloud location.
45
+ # @!attribute [rw] label
46
+ # @return [::String]
47
+ class LinkedLocation
48
+ include ::Google::Protobuf::MessageExts
49
+ extend ::Google::Protobuf::MessageExts::ClassMethods
50
+ end
51
+ end
52
+
53
+ # The level of the Google Cloud Platform location.
54
+ module LocationLevel
55
+ # Location level is unspecified.
56
+ LOCATION_LEVEL_UNSPECIFIED = 0
57
+
58
+ # Cloud region.
59
+ REGION = 1
60
+
61
+ # Cloud zone.
62
+ ZONE = 2
63
+
64
+ # Globally.
65
+ GLOBAL = 3
66
+
67
+ # A metro.
68
+ METRO = 4
69
+
70
+ # Dual region pair.
71
+ DUAL_REGION = 5
72
+
73
+ # Multiple regions.
74
+ MULTI_REGION = 6
75
+ end
76
+ end
77
+ end
78
+ end
79
+ end