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,912 @@
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
+ # The `QueryUsageHistories` request.
25
+ # Next : 16
26
+ # @!attribute [rw] parent
27
+ # @return [::String]
28
+ # Required. The compute engine resource and location for the time series
29
+ # values to return. The format is:
30
+ #
31
+ # projects/{project}/locations/{location} or
32
+ # organizations/{organization}/locations/{location} or
33
+ # folders/{folder}/locations/{location}
34
+ # @!attribute [rw] location_level
35
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::TimeSeries::LocationType]
36
+ # Optional. The location level of the reservations usage timeseries.
37
+ # @!attribute [rw] is_spot
38
+ # @return [::Boolean]
39
+ # Optional. The is_spot flag is used to fetch the usage data for preemptible
40
+ # Resources.
41
+ # @!attribute [rw] machine_family
42
+ # @return [::String]
43
+ # The machine family for the `UsageHistory` values to return. Possible values
44
+ # include "n1", and "n2d". See
45
+ # https://cloud.google.com/compute/docs/machine-types for more examples.
46
+ # Empty machine_family will return results matching all machine families.
47
+ # @!attribute [rw] machine_shape
48
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::MachineShape]
49
+ # Optional. The machine shape for the `UsageHistory` values to return.
50
+ # @!attribute [rw] disk_type
51
+ # @return [::String]
52
+ # Optional. The disk_type for the `UsageHistory` values to return request
53
+ # with persistent-disk cloud_resource_type. Empty disk_type will return
54
+ # results matching all disk types.
55
+ # @!attribute [rw] confidential_mode
56
+ # @return [::Boolean]
57
+ # Optional. Whether the persistent disk is in confidential mode.
58
+ # @!attribute [rw] gpu_type
59
+ # @return [::String]
60
+ # Optional. The GPU type for the `UsageHistory` values to return. Sample
61
+ # values are "nvidia-tesla-t4", and "nvidia-tesla-a100". See
62
+ # https://cloud.google.com/compute/docs/gpus for a list. Empty gpu_type
63
+ # will return results matching all GPUs.
64
+ # @!attribute [rw] tpu_type
65
+ # @return [::String]
66
+ # Optional. The TPU type for the `UsageHistory` values to return. Empty
67
+ # tpu_type will return results matching all TPUs.
68
+ # @!attribute [rw] cloud_resource_type
69
+ # @return [::String]
70
+ # The resource for the `UsageHistory` values to return. Possible values
71
+ # include "gce-vcpus", "gce-ram", "gce-local-ssd", "gce-persistent-disk",
72
+ # "gce-gpu" and "gce-tpu".
73
+ # Empty cloud_resource_type will return results matching all resources.
74
+ # @!attribute [rw] usage_aggregation_method
75
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::UsageHistory::AggregationMethod]
76
+ # The method that should be used to convert sampled usage data to daily
77
+ # usage values.
78
+ # AGGREGATION_METHOD_UNSPECIFIED will return results matching all the
79
+ # aggregation methods.
80
+ # @!attribute [rw] start_date
81
+ # @return [::Google::Type::Date]
82
+ # Optional. The start date of reservations usage.
83
+ # @!attribute [rw] end_date
84
+ # @return [::Google::Type::Date]
85
+ # Optional. The end date of reservations usage.
86
+ class QueryUsageHistoriesRequest
87
+ include ::Google::Protobuf::MessageExts
88
+ extend ::Google::Protobuf::MessageExts::ClassMethods
89
+ end
90
+
91
+ # The `QueryUsageHistories` response.
92
+ # @!attribute [rw] usage_histories
93
+ # @return [::Array<::Google::Cloud::CapacityPlanner::V1beta::UsageHistory>]
94
+ # The usage histories that match the request.
95
+ class QueryUsageHistoriesResponse
96
+ include ::Google::Protobuf::MessageExts
97
+ extend ::Google::Protobuf::MessageExts::ClassMethods
98
+ end
99
+
100
+ # The `QueryForecasts` request.
101
+ # Next : 14
102
+ # @!attribute [rw] parent
103
+ # @return [::String]
104
+ # Required. The compute engine resource and location for the time series
105
+ # values to return. The format is:
106
+ #
107
+ # projects/\\{project}/locations/\\{location} or
108
+ # organizations/\\{organization}/locations/\\{location} or
109
+ # folders/\\{folder}/locations/\\{location}
110
+ # @!attribute [rw] machine_family
111
+ # @return [::String]
112
+ # The machine family to use to select the `Forecast` values to return.
113
+ # Possible values include "n1", and "n2d".
114
+ # Empty machine_family will return results matching all machine families.
115
+ # @!attribute [rw] machine_shape
116
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::MachineShape]
117
+ # Optional. The machine shape for the time series values to return.
118
+ # @!attribute [rw] disk_type
119
+ # @return [::String]
120
+ # Optional. The disk_type for the `Forecast` values to return with request
121
+ # persistent-disk cloud_resource_type.
122
+ # Empty disk_type will return results matching all disk types.
123
+ # @!attribute [rw] confidential_mode
124
+ # @return [::Boolean]
125
+ # Optional. Whether the persistent disk is in confidential mode.
126
+ # @!attribute [rw] gpu_type
127
+ # @return [::String]
128
+ # Optional. The GPU type for the `Forecast` values to return. Sample values
129
+ # are "nvidia-tesla-t4", and "nvidia-tesla-a100". See
130
+ # https://cloud.google.com/compute/docs/gpus for a list. Empty gpu_type
131
+ # will return results matching all GPUs.
132
+ # @!attribute [rw] tpu_type
133
+ # @return [::String]
134
+ # Optional. The TPU type for the `Forecast` values to return. Empty tpu_type
135
+ # will return results matching all TPUs.
136
+ # @!attribute [rw] cloud_resource_type
137
+ # @return [::String]
138
+ # The resource for the `Forecast` values to return. Possible values include
139
+ # "gce-vcpus", "gce-ram", "gce-local-ssd", "gce-persistent-disk", "gce-gpu"
140
+ # and "gce-tpu".
141
+ # Empty cloud_resource_type will return results matching all resources.
142
+ # @!attribute [rw] forecast_type
143
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::Forecast::ForecastType]
144
+ # The type of forecast to use to select the `Forecast` values to return.
145
+ # FORECAST_TYPE_UNSPECIFIED will return results matching all the forecast
146
+ # types.
147
+ # @!attribute [rw] prediction_interval
148
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::Forecast::PredictionInterval]
149
+ # The prediction interval to use to select the `Forecast` values to return.
150
+ # PREDICTION_INTERVAL_UNSPECIFIED will return results matching all prediction
151
+ # intervals.
152
+ # @!attribute [rw] aggregation_method
153
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::UsageHistory::AggregationMethod]
154
+ # Aggregation Method of the historical usage for which the forecast is
155
+ # generated
156
+ class QueryForecastsRequest
157
+ include ::Google::Protobuf::MessageExts
158
+ extend ::Google::Protobuf::MessageExts::ClassMethods
159
+ end
160
+
161
+ # The `QueryForecasts` response.
162
+ # @!attribute [rw] forecasts
163
+ # @return [::Array<::Google::Cloud::CapacityPlanner::V1beta::Forecast>]
164
+ # The forecasts that match the request.
165
+ class QueryForecastsResponse
166
+ include ::Google::Protobuf::MessageExts
167
+ extend ::Google::Protobuf::MessageExts::ClassMethods
168
+ end
169
+
170
+ # The `QueryReservations` request.
171
+ # @!attribute [rw] parent
172
+ # @return [::String]
173
+ # Required. The compute engine resource and location for the time series
174
+ # values to return. The format is:
175
+ #
176
+ # projects/\\{project}/locations/\\{location} or
177
+ # organizations/\\{organization}/locations/\\{location} or
178
+ # folders/\\{folder}/locations/\\{location}
179
+ # @!attribute [rw] location_level
180
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::TimeSeries::LocationType]
181
+ # Optional. The location level of the reservations usage timeseries.
182
+ # @!attribute [rw] machine_family
183
+ # @return [::String]
184
+ # Optional. The machine family to use to select the aggregate reserved values
185
+ # to return. Possible values include "n1", and "n2d" etc. Empty
186
+ # machine_family will return results matching all machine families.
187
+ # @!attribute [rw] machine_shape
188
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::MachineShape]
189
+ # Optional. The machine_shape as a filter to select matching reservations.
190
+ # @!attribute [rw] gpu_type
191
+ # @return [::String]
192
+ # Optional. The GPU type for the reserved values to return. Sample values
193
+ # are "nvidia-tesla-t4", and "nvidia-tesla-a100". See
194
+ # https://cloud.google.com/compute/docs/gpus for a list. Empty gpu_type
195
+ # will return results matching all GPUs.
196
+ # @!attribute [rw] cloud_resource_type
197
+ # @return [::String]
198
+ # Optional. The resource for the reserved values to return. Possible values
199
+ # include "gce-vcpus", "gce-ram", "gce-local-ssd", "gce-gpu" and "gce-vm".
200
+ # @!attribute [rw] reservation_type
201
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::QueryReservationsRequest::ReservationType]
202
+ # Optional. The Reservation type for example, future reservation request and
203
+ # allocation. If unspecified, all types are
204
+ # included.
205
+ # @!attribute [rw] share_type
206
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::QueryReservationsRequest::ShareType]
207
+ # Optional. Types of share settings to filter reservations in response. If
208
+ # unspecified, all types are included.
209
+ # @!attribute [rw] ownership_type
210
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::QueryReservationsRequest::OwnershipType]
211
+ # Optional. Types of ownerships to filter reservations based on.
212
+ # In case of OWNED, it filters reservations which are owned by selected
213
+ # parent project/folder/organization. If unspecified, all types are
214
+ # included.
215
+ # @!attribute [rw] reservation_data_level
216
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::QueryReservationsRequest::ReservationDataLevel]
217
+ # Optional. Reservations output data format.
218
+ # @!attribute [rw] include_unapproved_reservations
219
+ # @return [::Boolean]
220
+ # Optional. Whether to include pending for approval reservations in the
221
+ # response. This field is only applicable for future reservations.
222
+ # @!attribute [rw] aggregation_method
223
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::UsageHistory::AggregationMethod]
224
+ # Optional. Aggregation Method of the historical reservation usage
225
+ # @!attribute [rw] start_date
226
+ # @return [::Google::Type::Date]
227
+ # Optional. The start date of reservations usage.
228
+ # @!attribute [rw] end_date
229
+ # @return [::Google::Type::Date]
230
+ # Optional. The end date of reservations usage.
231
+ class QueryReservationsRequest
232
+ include ::Google::Protobuf::MessageExts
233
+ extend ::Google::Protobuf::MessageExts::ClassMethods
234
+
235
+ # Type of the reservation
236
+ module ReservationType
237
+ # No reservation type specified.
238
+ RESERVATION_TYPE_UNSPECIFIED = 0
239
+
240
+ # Allocation refers to realized reservation either auto created or created
241
+ # by the users on demand.
242
+ RESERVATION_TYPE_ALLOCATION = 1
243
+
244
+ # Future Reservation requests created by users.
245
+ RESERVATION_TYPE_FUTURE_RESERVATION = 2
246
+
247
+ # All reservations.
248
+ RESERVATION_TYPE_ALL = 3
249
+ end
250
+
251
+ # Possible scope in which the reservation can be shared.
252
+ module ShareType
253
+ # No share type specified.
254
+ SHARE_TYPE_UNSPECIFIED = 0
255
+
256
+ # Default value, for which reservation is open to only owner project.
257
+ SHARE_TYPE_LOCAL = 1
258
+
259
+ # Shared-reservation is open to specific projects.
260
+ SHARE_TYPE_SPECIFIC_PROJECTS = 2
261
+ end
262
+
263
+ # Reservation ownership status to provide distinction for Capacity Planning.
264
+ module OwnershipType
265
+ # No ownership status specified.
266
+ OWNERSHIP_TYPE_UNSPECIFIED = 0
267
+
268
+ # For the reservations owned within selected Google Cloud Platform Resource
269
+ # Container (project/folder/organization).
270
+ OWNERSHIP_TYPE_OWNED = 1
271
+
272
+ # For the reservations consumable within selected Google Cloud Platform
273
+ # Resource Container (project/folder/organization), but not owned by them.
274
+ OWNERSHIP_TYPE_SHARED_BY_OTHERS = 2
275
+ end
276
+
277
+ # The form in which data of reservations should be returned.
278
+ # In case of AGGREGATED, timeseries for selected reservations is returned. If
279
+ # unspecified, all levels are included.
280
+ module ReservationDataLevel
281
+ # No reservation data level specified.
282
+ RESERVATION_DATA_LEVEL_UNSPECIFIED = 0
283
+
284
+ # aggregated reservations data in a timeseries or aggregation over
285
+ # timeseries.
286
+ RESERVATION_DATA_LEVEL_AGGREGATED = 1
287
+
288
+ # per reservation detail which is equivalent of Arcus Future Reservation or
289
+ # Allocation with only limited fields which are useful for Capacity
290
+ # Planning.
291
+ RESERVATION_DATA_LEVEL_PER_RESERVATION = 2
292
+ end
293
+ end
294
+
295
+ # The `QueryReservations` response.
296
+ # @!attribute [rw] reservations
297
+ # @return [::Array<::Google::Cloud::CapacityPlanner::V1beta::ReservationData>]
298
+ # The reservations data that match the request.
299
+ class QueryReservationsResponse
300
+ include ::Google::Protobuf::MessageExts
301
+ extend ::Google::Protobuf::MessageExts::ClassMethods
302
+ end
303
+
304
+ # A single data point in a time series.
305
+ # @!attribute [rw] event_time
306
+ # @return [::Google::Protobuf::Timestamp]
307
+ # The time which the data point applies.
308
+ # @!attribute [rw] value
309
+ # @return [::Float]
310
+ # The value of the data point.
311
+ class Point
312
+ include ::Google::Protobuf::MessageExts
313
+ extend ::Google::Protobuf::MessageExts::ClassMethods
314
+ end
315
+
316
+ # A collection of data points that describes the predicted time-varying values
317
+ # of a resource.
318
+ # @!attribute [rw] name
319
+ # @return [::String]
320
+ # The resource name of the connection in the form of:
321
+ # `projects/{project_id}/locations/{location_id}/forecasts/{forecast_id}` or
322
+ # `organizations/{organization_id}/locations/{location_id}/forecasts/{forecast_id}`
323
+ # or `folders/{folder_id}/locations/{location_id}/forecasts/{forecast_id}`
324
+ # @!attribute [rw] time_series
325
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::TimeSeries]
326
+ # The collection of data points that represent the predicted values. Note
327
+ # that some of these values may be in the past (if, for example, the forecast
328
+ # was created in the past and predicted values for the present day).
329
+ # @!attribute [rw] forecast_type
330
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::Forecast::ForecastType]
331
+ # The type of forecast.
332
+ # @!attribute [rw] bounds
333
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::Forecast::Bounds]
334
+ # The bounds represented by this forecast time series.
335
+ # @!attribute [rw] prediction_interval
336
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::Forecast::PredictionInterval]
337
+ # The prediction interval represented by the time series.
338
+ # @!attribute [rw] aggregation_method
339
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::UsageHistory::AggregationMethod]
340
+ # Aggregation Method of the historical usage for which the forecast is
341
+ # generated
342
+ class Forecast
343
+ include ::Google::Protobuf::MessageExts
344
+ extend ::Google::Protobuf::MessageExts::ClassMethods
345
+
346
+ # The type of the forecast. This describes the method that was used to
347
+ # produce future time series values from historical time series values.
348
+ module ForecastType
349
+ # No forecast type is specified.
350
+ FORECAST_TYPE_UNSPECIFIED = 0
351
+
352
+ # Statistical forecast.
353
+ STATISTICAL = 1
354
+
355
+ # Statistical forecast that attempts to predict the seasonal affects of
356
+ # Black Friday and Cyber Monday.
357
+ STATISTICAL_WITH_BFCM = 2
358
+
359
+ # Yearly Seasonality model provides generic seasonality beyond BFCM.
360
+ YEARLY_SEASONALITY = 3
361
+ end
362
+
363
+ # The bounds of the forecast time series.
364
+ module Bounds
365
+ # No bounds is specified.
366
+ BOUNDS_UNSPECIFIED = 0
367
+
368
+ # The time series represents the upper bound of the forecast.
369
+ LOWER_BOUND = 1
370
+
371
+ # The time series represents the median expected forecast value.
372
+ MEDIAN = 2
373
+
374
+ # The time series represents the lower bound of the forecast.
375
+ UPPER_BOUND = 3
376
+ end
377
+
378
+ # The prediction interval represented by a forecast.
379
+ module PredictionInterval
380
+ # No prediction interval is specified.
381
+ PREDICTION_INTERVAL_UNSPECIFIED = 0
382
+
383
+ # This represents a prediction interval that has 90% confidence. For
384
+ # example, for a symmetric prediction interval, a `PredictionInterval`
385
+ # of `PREDICTION_INTERVAL_90` means that the `UPPER_BOUND` will represent
386
+ # the 95th precentile.
387
+ PREDICTION_INTERVAL_90 = 1
388
+
389
+ # This represents a prediction interval that has 50% confidence. For
390
+ # example, for a symmetric prediction interval, a `PredictionInterval`
391
+ # of `PREDICTION_INTERVAL_50` means that the `UPPER_BOUND` will represent
392
+ # the 75th precentile.
393
+ PREDICTION_INTERVAL_50 = 2
394
+ end
395
+ end
396
+
397
+ # A collection of data points that describes the historical time-varying values
398
+ # of a resource.
399
+ # @!attribute [rw] time_series
400
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::TimeSeries]
401
+ # The collection of data points that represent the historical values.
402
+ # @!attribute [rw] aggregation_method
403
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::UsageHistory::AggregationMethod]
404
+ # Method used to convert sampled usage data to time series values.
405
+ class UsageHistory
406
+ include ::Google::Protobuf::MessageExts
407
+ extend ::Google::Protobuf::MessageExts::ClassMethods
408
+
409
+ # Methods for converting sampled data to time series values.
410
+ module AggregationMethod
411
+ # No aggregation method is specified.
412
+ AGGREGATION_METHOD_UNSPECIFIED = 0
413
+
414
+ MEDIAN = 1
415
+
416
+ # Time series values represent the 99th percentile of the sampled values.
417
+ PEAK = 2
418
+
419
+ # Time series values represent the 50th(median) percentile of the sampled
420
+ # values.
421
+ P50 = 3
422
+
423
+ # Time series values represent the 75th percentile of the sampled values.
424
+ P75 = 4
425
+
426
+ # Time series values represent the 99th percentile of the sampled values.
427
+ P99 = 5
428
+ end
429
+ end
430
+
431
+ # A collection of data points that describes the time-varying values of a
432
+ # resource. A time series is identified by its ID.
433
+ # Next : 13
434
+ # @!attribute [rw] location_type
435
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::TimeSeries::LocationType]
436
+ # Required. The type of location that the time series is summarizing.
437
+ # @!attribute [rw] location
438
+ # @return [::String]
439
+ # Optional. The location of the usage data in time series.
440
+ # @!attribute [rw] is_spot
441
+ # @return [::Boolean]
442
+ # Optional. The location of the usage data in time series.
443
+ # @!attribute [rw] machine_family
444
+ # @return [::String]
445
+ # The machine family for the time series values to return. Possible values
446
+ # include "n1" and "n2d".
447
+ # @!attribute [rw] disk_type
448
+ # @return [::String]
449
+ # The disk type for the time series values to return.
450
+ # @!attribute [rw] confidential_mode
451
+ # @return [::Boolean]
452
+ # Optional. The confidential mode for disk.
453
+ # @!attribute [rw] gpu_type
454
+ # @return [::String]
455
+ # The GPU type of the time series.
456
+ # @!attribute [rw] tpu_type
457
+ # @return [::String]
458
+ # The TPU type of the time series.
459
+ # @!attribute [rw] machine_shape
460
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::MachineShape]
461
+ # The machine shape of the time series.
462
+ # @!attribute [rw] cloud_resource_type
463
+ # @return [::String]
464
+ # The resource for the time series values to return. Possible values include
465
+ # "gce-vcpus", "gce-ram", "gce-local-ssd", "gce-persistent-disk", "gce-gpu",
466
+ # "gce-tpu" and "gce-vm".
467
+ # @!attribute [rw] points
468
+ # @return [::Array<::Google::Cloud::CapacityPlanner::V1beta::Point>]
469
+ # The data points of this time series. When listing time series, points are
470
+ # returned in chronological order.
471
+ # @!attribute [rw] unit
472
+ # @return [::String]
473
+ # The units in which the values are reported.
474
+ class TimeSeries
475
+ include ::Google::Protobuf::MessageExts
476
+ extend ::Google::Protobuf::MessageExts::ClassMethods
477
+
478
+ # The type of location that the time series is summarizing.
479
+ module LocationType
480
+ # No location type was specified.
481
+ LOCATION_TYPE_UNSPECIFIED = 0
482
+
483
+ # Time series values represent usage aggregated at the region level.
484
+ REGIONAL = 1
485
+
486
+ # Time series values represent usage aggregated at the zone level.
487
+ ZONAL = 2
488
+ end
489
+ end
490
+
491
+ # Response entity for reservations data.
492
+ # @!attribute [rw] name
493
+ # @return [::String]
494
+ # Identifier. The resource name of the connection in the form of:
495
+ # `projects/{project_id}/locations/{location_id}/reservations/{reservation_id}`
496
+ # or
497
+ # `organizations/{organization_id}/locations/{location_id}/reservations/{reservation_id}`
498
+ # or
499
+ # `folders/{folder_id}/locations/{location_id}/reservations/{reservation_id}`
500
+ # @!attribute [rw] time_series
501
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::TimeSeries]
502
+ # The collection of data points that represent the aggregated reserved value
503
+ # for reservations filtered by the criteria.
504
+ # @!attribute [rw] used_reservation_values
505
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::TimeSeries]
506
+ # The collection of data points that represent the aggregated used value for
507
+ # reservations filtered by the criteria.
508
+ # @!attribute [rw] future_reservations
509
+ # @return [::Array<::Google::Cloud::CapacityPlanner::V1beta::FutureReservation>]
510
+ # Future reservations filtered by the criteria.
511
+ # @!attribute [rw] allocations
512
+ # @return [::Array<::Google::Cloud::CapacityPlanner::V1beta::Allocation>]
513
+ # Allocations filtered by the criteria.
514
+ class ReservationData
515
+ include ::Google::Protobuf::MessageExts
516
+ extend ::Google::Protobuf::MessageExts::ClassMethods
517
+ end
518
+
519
+ # Machine shape details
520
+ # Next : 13
521
+ # @!attribute [rw] machine_family
522
+ # @return [::String]
523
+ # Optional. The VM family.
524
+ # @!attribute [rw] machine_type
525
+ # @return [::String]
526
+ # Optional. The characteristics of the sampled VM expressed as a string.
527
+ # @!attribute [rw] machine_shape
528
+ # @return [::String]
529
+ # Optional. The customer visible string representing the type of VM.
530
+ # @!attribute [rw] cpu_cores
531
+ # @return [::Float]
532
+ # Optional. Number of CPU cores per VM.
533
+ # @!attribute [rw] gpu_type
534
+ # @return [::String]
535
+ # Optional. The type of GPU with the VM.
536
+ # @!attribute [rw] gpu_compute_type
537
+ # @return [::String]
538
+ # Optional. The GPU name recognized by Compute Engine APIs.
539
+ # @!attribute [rw] gpu_cores
540
+ # @return [::Integer]
541
+ # Optional. The number of GPU cores per VM.
542
+ # @!attribute [rw] local_ssd_partitions
543
+ # @return [::Integer]
544
+ # Optional. The number of local SSD partitions per VM.
545
+ # @!attribute [rw] local_ssd_gb
546
+ # @return [::Float]
547
+ # Optional. Total amount of local SSD storage.
548
+ # @!attribute [rw] memory_gb
549
+ # @return [::Float]
550
+ # Optional. Total amount of memory with the VM.
551
+ # @!attribute [rw] local_ssd_interface
552
+ # @return [::String]
553
+ # Optional. The local SSD interface used such as nvme or scsi
554
+ # @!attribute [rw] min_cpu_platform
555
+ # @return [::String]
556
+ # Optional. The Min-cpu platform used such as icelake
557
+ class MachineShape
558
+ include ::Google::Protobuf::MessageExts
559
+ extend ::Google::Protobuf::MessageExts::ClassMethods
560
+ end
561
+
562
+ # The `ExportUsageHistories` request
563
+ # Next : 12
564
+ # @!attribute [rw] parent
565
+ # @return [::String]
566
+ # Required. The compute engine resource and location for the time series
567
+ # values to return. The format is:
568
+ # projects/\\{project}/locations/\\{location} or
569
+ # organizations/\\{organization}/locations/\\{location} or
570
+ # folders/\\{folder}/locations/\\{location}
571
+ # @!attribute [rw] is_spot
572
+ # @return [::Boolean]
573
+ # Optional. Set true to export usage for spot resources.
574
+ # @!attribute [rw] machine_family
575
+ # @return [::String]
576
+ # Optional. The machine family for the `UsageHistory` values to return.
577
+ # Possible values include "n1", and "n2d". See
578
+ # https://cloud.google.com/compute/docs/machine-types for more examples.
579
+ # @!attribute [rw] machine_shape
580
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::MachineShape]
581
+ # Optional. The machine shape for the time series values to export.
582
+ # @!attribute [rw] disk_type
583
+ # @return [::String]
584
+ # Optional. The disk_type for the `UsageHistory` values to return request
585
+ # with persistent-disk resource_type. Possible values include "pd-ssd",
586
+ # "pd-standard", "pd-balanced", and "pd-extreme".
587
+ # @!attribute [rw] gpu_type
588
+ # @return [::String]
589
+ # Optional. The GPU type for the `UsageHistory` values to return. Sample
590
+ # values are "nvidia-tesla-t4", and "nvidia-tesla-a100". See
591
+ # https://cloud.google.com/compute/docs/gpus for a list. Empty gpu_type
592
+ # will return results matching all GPUs.
593
+ # @!attribute [rw] tpu_type
594
+ # @return [::String]
595
+ # Optional. The TPU type for the `UsageHistory` values to return. Empty
596
+ # tpu_type will return results matching all TPUs.
597
+ # @!attribute [rw] resource_type
598
+ # @return [::String]
599
+ # Required. The resource for the `UsageHistory` values to return. Possible
600
+ # values include "gce-vcpus", "gce-ram", "gce-local-ssd",
601
+ # "gce-persistent-disk", "gce-gpu" and "gce-tpu".
602
+ # @!attribute [rw] usage_aggregation_method
603
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::UsageHistory::AggregationMethod]
604
+ # Optional. The method that should be used to convert sampled usage data to
605
+ # daily usage values. AGGREGATION_METHOD_UNSPECIFIED will return results
606
+ # matching all the aggregation methods.
607
+ # @!attribute [rw] start_date
608
+ # @return [::Google::Type::Date]
609
+ # Optional. The start date of usage.
610
+ # @!attribute [rw] end_date
611
+ # @return [::Google::Type::Date]
612
+ # Optional. The end date of usage.
613
+ # @!attribute [rw] output_config
614
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::OutputConfig]
615
+ # Required. Output configuration indicating where the results will be output
616
+ # to.
617
+ class ExportUsageHistoriesRequest
618
+ include ::Google::Protobuf::MessageExts
619
+ extend ::Google::Protobuf::MessageExts::ClassMethods
620
+ end
621
+
622
+ # The `ExportForecasts` request
623
+ # Next : 13
624
+ # @!attribute [rw] parent
625
+ # @return [::String]
626
+ # Required. The compute engine resource and location for the time series
627
+ # values to return. The format is:
628
+ # projects/\\{project}/locations/\\{location} or
629
+ # organizations/\\{organization}/locations/\\{location} or
630
+ # folders/\\{folder}/locations/\\{location}
631
+ # @!attribute [rw] machine_family
632
+ # @return [::String]
633
+ # Optional. The machine family to use to select the `Forecast` values to
634
+ # return. Possible values include "n1", and "n2d".
635
+ # @!attribute [rw] machine_shape
636
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::MachineShape]
637
+ # Optional. The machine shape for the time series values to export.
638
+ # @!attribute [rw] disk_type
639
+ # @return [::String]
640
+ # Optional. The disk_type for the `Forecast` values to return with request
641
+ # persistent-disk resource_type.
642
+ # @!attribute [rw] gpu_type
643
+ # @return [::String]
644
+ # Optional. The GPU type for the `Forecast` values to return. Sample values
645
+ # are "nvidia-tesla-t4", and "nvidia-tesla-a100". See
646
+ # https://cloud.google.com/compute/docs/gpus for a list. Empty gpu_type
647
+ # will return results matching all GPUs.
648
+ # @!attribute [rw] tpu_type
649
+ # @return [::String]
650
+ # Optional. The TPU type for the `Forecast` values to return. Empty tpu_type
651
+ # will return results matching all TPUs.
652
+ # @!attribute [rw] resource_type
653
+ # @return [::String]
654
+ # Required. The resource for the `Forecast` values to return. Possible values
655
+ # include "gce-vcpus", "gce-ram", "gce-local-ssd", "gce-persistent-disk",
656
+ # "gce-gpu" and "gce-tpu".
657
+ # @!attribute [rw] prediction_interval
658
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::Forecast::PredictionInterval]
659
+ # Optional. The prediction interval to use to select the `Forecast` values to
660
+ # return. PREDICTION_INTERVAL_UNSPECIFIED will return results matching all
661
+ # prediction intervals.
662
+ # @!attribute [rw] aggregation_method
663
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::UsageHistory::AggregationMethod]
664
+ # Optional. Aggregation Method of the historical usage for which the forecast
665
+ # is generated.
666
+ # @!attribute [rw] start_date
667
+ # @return [::Google::Type::Date]
668
+ # Optional. The start date of forecasts.
669
+ # @!attribute [rw] end_date
670
+ # @return [::Google::Type::Date]
671
+ # Optional. The end date of forecasts.
672
+ # @!attribute [rw] output_config
673
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::OutputConfig]
674
+ # Required. Output configuration indicating where the results will be output
675
+ # to.
676
+ class ExportForecastsRequest
677
+ include ::Google::Protobuf::MessageExts
678
+ extend ::Google::Protobuf::MessageExts::ClassMethods
679
+ end
680
+
681
+ # The `ExportReservationsUsage` request
682
+ # @!attribute [rw] machine_family
683
+ # @return [::String]
684
+ # Optional. The machine family to query reservations and usage by. For
685
+ # example: n1, n2d.
686
+ #
687
+ # Note: The following fields are mutually exclusive: `machine_family`, `machine_shape`, `gpu_type`. If a field in that set is populated, all other fields in the set will automatically be cleared.
688
+ # @!attribute [rw] machine_shape
689
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::MachineShape]
690
+ # Optional. The machine_shape as a filter to select matching reservations
691
+ # and its usage.
692
+ #
693
+ # Note: The following fields are mutually exclusive: `machine_shape`, `machine_family`, `gpu_type`. If a field in that set is populated, all other fields in the set will automatically be cleared.
694
+ # @!attribute [rw] gpu_type
695
+ # @return [::String]
696
+ # Optional. The GPU type to query reservations and usage by. For example:
697
+ # NVIDIA T4.
698
+ #
699
+ # Note: The following fields are mutually exclusive: `gpu_type`, `machine_family`, `machine_shape`. If a field in that set is populated, all other fields in the set will automatically be cleared.
700
+ # @!attribute [rw] parent
701
+ # @return [::String]
702
+ # Required. The compute engine resource and location of the
703
+ # reservationsusage. The format is:
704
+ # projects/\\{project}/locations/\\{location} or
705
+ # organizations/\\{organization}/locations/\\{location} or
706
+ # folders/\\{folder}/locations/\\{location}
707
+ # @!attribute [rw] location_level
708
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::TimeSeries::LocationType]
709
+ # Optional. The location level of the reservations usage timeseries.
710
+ # @!attribute [rw] cloud_resource_type
711
+ # @return [::String]
712
+ # Required. The resource for the `ReservationsUsage` values to return.
713
+ # Possible values include "gce-vcpus", "gce-ram", "gce-local-ssd", and
714
+ # "gce-gpu".
715
+ # @!attribute [rw] usage_aggregation_method
716
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::UsageHistory::AggregationMethod]
717
+ # Required. The method that should be used to convert sampled reservations
718
+ # data to daily usage values.
719
+ # @!attribute [rw] share_type
720
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::ExportReservationsUsageRequest::ShareType]
721
+ # Optional. Type of share settings to filter reservations in response. If
722
+ # unspecified, all types are included.
723
+ # @!attribute [rw] start_date
724
+ # @return [::Google::Type::Date]
725
+ # Optional. The start date of reservations usage.
726
+ # @!attribute [rw] end_date
727
+ # @return [::Google::Type::Date]
728
+ # Optional. The end date of reservations usage.
729
+ # @!attribute [rw] output_config
730
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::OutputConfig]
731
+ # Required. Output configuration indicating where the results will be output
732
+ # to.
733
+ class ExportReservationsUsageRequest
734
+ include ::Google::Protobuf::MessageExts
735
+ extend ::Google::Protobuf::MessageExts::ClassMethods
736
+
737
+ # Possible scope in which the reservation can be shared.
738
+ module ShareType
739
+ # No share type specified.
740
+ SHARE_TYPE_UNSPECIFIED = 0
741
+
742
+ # Default value, for which reservation is open to only owner project.
743
+ SHARE_TYPE_LOCAL = 1
744
+
745
+ # Shared-reservation is open to specific projects.
746
+ SHARE_TYPE_SPECIFIC_PROJECTS = 2
747
+ end
748
+ end
749
+
750
+ # Output configuration for export destination.
751
+ # @!attribute [rw] gcs_destination
752
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::GcsDestination]
753
+ # Destination on Cloud Storage.
754
+ #
755
+ # Note: The following fields are mutually exclusive: `gcs_destination`, `bigquery_destination`. If a field in that set is populated, all other fields in the set will automatically be cleared.
756
+ # @!attribute [rw] bigquery_destination
757
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::BigQueryDestination]
758
+ # Destination on BigQuery.
759
+ #
760
+ # Note: The following fields are mutually exclusive: `bigquery_destination`, `gcs_destination`. If a field in that set is populated, all other fields in the set will automatically be cleared.
761
+ class OutputConfig
762
+ include ::Google::Protobuf::MessageExts
763
+ extend ::Google::Protobuf::MessageExts::ClassMethods
764
+ end
765
+
766
+ # A Cloud Storage location.
767
+ # @!attribute [rw] uri
768
+ # @return [::String]
769
+ # Optional. The path to the file in Cloud Storage where the export will be
770
+ # stored. The URI is in the form `gs://bucketName/fileName`. If the file
771
+ # already exists, the request succeeds, but the operation fails.
772
+ # @!attribute [rw] bucket
773
+ # @return [::String]
774
+ # Required. The bucket name to which the export will be stored.
775
+ # @!attribute [rw] object
776
+ # @return [::String]
777
+ # Required. The object name to which the export will be stored.
778
+ # @!attribute [rw] force
779
+ # @return [::Boolean]
780
+ # Optional. Flag to indicate overwrite in case file already exists.
781
+ class GcsDestination
782
+ include ::Google::Protobuf::MessageExts
783
+ extend ::Google::Protobuf::MessageExts::ClassMethods
784
+ end
785
+
786
+ # A BigQuery destination for exporting assets to.
787
+ # @!attribute [rw] dataset
788
+ # @return [::String]
789
+ # Required. The BigQuery dataset in format
790
+ # "projects/\\{projectId}/datasets/\\{datasetId}", to which the snapshot result
791
+ # should be exported. If this dataset does not exist, the export call returns
792
+ # an INVALID_ARGUMENT error.
793
+ # @!attribute [rw] table
794
+ # @return [::String]
795
+ # Required. The BigQuery table to which the snapshot result should be
796
+ # written.
797
+ # @!attribute [rw] partition_key
798
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::BigQueryDestination::PartitionKey]
799
+ # Optional. The partition key for BigQuery partitioned table.
800
+ # @!attribute [rw] write_disposition
801
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::BigQueryDestination::WriteDisposition]
802
+ # Optional. Specifies the action that occurs if the destination table or
803
+ # partition already exists.
804
+ # @!attribute [rw] create_disposition
805
+ # @return [::Google::Cloud::CapacityPlanner::V1beta::BigQueryDestination::CreateDisposition]
806
+ # Optional. Specifies the action that occurs if the destination table does
807
+ # not exist
808
+ # @!attribute [rw] gcs_location
809
+ # @return [::String]
810
+ # Optional. Specifies the Cloud Storage location.
811
+ # Users can choose to provide a location for Cloud Storage bucket to store
812
+ # the exported data. (as it is possible that some locations are restricted
813
+ # via org policy for that project) Temporary Cloud Storage bucket creation is
814
+ # an interim step for BigQuery upload. If no value is provided, the default
815
+ # location used will be 'US'.
816
+ class BigQueryDestination
817
+ include ::Google::Protobuf::MessageExts
818
+ extend ::Google::Protobuf::MessageExts::ClassMethods
819
+
820
+ # This enum determines the partition key column for the BigQuery tables.
821
+ # Partitioning can improve query performance and reduce query cost by
822
+ # filtering partitions. Refer to
823
+ # https://cloud.google.com/bigquery/docs/partitioned-tables for details.
824
+ module PartitionKey
825
+ # Unspecified partition key. Tables won't be partitioned using this
826
+ # option.
827
+ PARTITION_KEY_UNSPECIFIED = 0
828
+
829
+ # The time when the request is received. If specified as partition key,
830
+ # the result table(s) is partitioned by the RequestTime column, an
831
+ # additional timestamp column representing when the request was received.
832
+ REQUEST_TIME = 1
833
+ end
834
+
835
+ # Specifies the action that occurs if the destination table or partition
836
+ # already exists. By default, the data will be appended to the existing
837
+ # table.
838
+ module WriteDisposition
839
+ # Unspecified write disposition.
840
+ WRITE_DISPOSITION_UNSPECIFIED = 0
841
+
842
+ # If the table or partition already exists, BigQuery appends the data to
843
+ # the table or the latest partition.
844
+ WRITE_APPEND = 1
845
+
846
+ # If the table or partition already exists, BigQuery overwrites the entire
847
+ # table or all the partitions data.
848
+ WRITE_TRUNCATE = 2
849
+
850
+ # If the table already exists and contains data, an error is returned.
851
+ WRITE_EMPTY = 3
852
+ end
853
+
854
+ # Specifies the action that occurs if the destination table does not exist.
855
+ # By default, a new table will be created.
856
+ module CreateDisposition
857
+ # Unspecified create disposition.
858
+ CREATE_DISPOSITION_UNSPECIFIED = 0
859
+
860
+ # If the table does not exist, BigQuery creates the table.
861
+ CREATE_IF_NEEDED = 1
862
+
863
+ # If the table does not exist, an error will be returned.
864
+ CREATE_NEVER = 2
865
+ end
866
+ end
867
+
868
+ # Represents the metadata of a long-running operation.
869
+ # @!attribute [r] create_time
870
+ # @return [::Google::Protobuf::Timestamp]
871
+ # Output only. The time the operation was created.
872
+ # @!attribute [r] end_time
873
+ # @return [::Google::Protobuf::Timestamp]
874
+ # Output only. The time the operation finished running.
875
+ class OperationMetadata
876
+ include ::Google::Protobuf::MessageExts
877
+ extend ::Google::Protobuf::MessageExts::ClassMethods
878
+ end
879
+
880
+ # A response message for [UsageService.ExportUsageHistories].
881
+ # @!attribute [rw] response
882
+ # @return [::String]
883
+ # The response message for the usage history export. In case of bigquery,
884
+ # it will also contain job id.
885
+ class ExportUsageHistoriesResponse
886
+ include ::Google::Protobuf::MessageExts
887
+ extend ::Google::Protobuf::MessageExts::ClassMethods
888
+ end
889
+
890
+ # A response message for [UsageService.ExportForecasts].
891
+ # @!attribute [rw] response
892
+ # @return [::String]
893
+ # The response message for the forecast export. In case of bigquery,
894
+ # it will also contain job id.
895
+ class ExportForecastsResponse
896
+ include ::Google::Protobuf::MessageExts
897
+ extend ::Google::Protobuf::MessageExts::ClassMethods
898
+ end
899
+
900
+ # A response message for [UsageService.ExportReservationsUsage].
901
+ # @!attribute [rw] response
902
+ # @return [::String]
903
+ # The response message for the reservations usage export. In case of
904
+ # bigquery, it will also contain job id.
905
+ class ExportReservationsUsageResponse
906
+ include ::Google::Protobuf::MessageExts
907
+ extend ::Google::Protobuf::MessageExts::ClassMethods
908
+ end
909
+ end
910
+ end
911
+ end
912
+ end