google-cloud-gdc_hardware_management-v1alpha 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +122 -0
  4. data/LICENSE.md +201 -0
  5. data/README.md +144 -0
  6. data/lib/google/cloud/gdc_hardware_management/v1alpha/bindings_override.rb +102 -0
  7. data/lib/google/cloud/gdc_hardware_management/v1alpha/gdc_hardware_management/client.rb +3998 -0
  8. data/lib/google/cloud/gdc_hardware_management/v1alpha/gdc_hardware_management/credentials.rb +47 -0
  9. data/lib/google/cloud/gdc_hardware_management/v1alpha/gdc_hardware_management/operations.rb +809 -0
  10. data/lib/google/cloud/gdc_hardware_management/v1alpha/gdc_hardware_management/paths.rb +208 -0
  11. data/lib/google/cloud/gdc_hardware_management/v1alpha/gdc_hardware_management/rest/client.rb +3741 -0
  12. data/lib/google/cloud/gdc_hardware_management/v1alpha/gdc_hardware_management/rest/operations.rb +902 -0
  13. data/lib/google/cloud/gdc_hardware_management/v1alpha/gdc_hardware_management/rest/service_stub.rb +2029 -0
  14. data/lib/google/cloud/gdc_hardware_management/v1alpha/gdc_hardware_management/rest.rb +54 -0
  15. data/lib/google/cloud/gdc_hardware_management/v1alpha/gdc_hardware_management.rb +56 -0
  16. data/lib/google/cloud/gdc_hardware_management/v1alpha/rest.rb +38 -0
  17. data/lib/google/cloud/gdc_hardware_management/v1alpha/version.rb +28 -0
  18. data/lib/google/cloud/gdc_hardware_management/v1alpha.rb +45 -0
  19. data/lib/google/cloud/gdchardwaremanagement/v1alpha/resources_pb.rb +89 -0
  20. data/lib/google/cloud/gdchardwaremanagement/v1alpha/service_pb.rb +98 -0
  21. data/lib/google/cloud/gdchardwaremanagement/v1alpha/service_services_pb.rb +109 -0
  22. data/lib/google-cloud-gdc_hardware_management-v1alpha.rb +21 -0
  23. data/proto_docs/README.md +4 -0
  24. data/proto_docs/google/api/client.rb +399 -0
  25. data/proto_docs/google/api/field_behavior.rb +85 -0
  26. data/proto_docs/google/api/field_info.rb +65 -0
  27. data/proto_docs/google/api/launch_stage.rb +71 -0
  28. data/proto_docs/google/api/resource.rb +222 -0
  29. data/proto_docs/google/cloud/gdchardwaremanagement/v1alpha/resources.rb +917 -0
  30. data/proto_docs/google/cloud/gdchardwaremanagement/v1alpha/service.rb +803 -0
  31. data/proto_docs/google/longrunning/operations.rb +164 -0
  32. data/proto_docs/google/protobuf/any.rb +145 -0
  33. data/proto_docs/google/protobuf/duration.rb +98 -0
  34. data/proto_docs/google/protobuf/empty.rb +34 -0
  35. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  36. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  37. data/proto_docs/google/rpc/status.rb +48 -0
  38. data/proto_docs/google/type/date.rb +53 -0
  39. data/proto_docs/google/type/datetime.rb +99 -0
  40. data/proto_docs/google/type/dayofweek.rb +49 -0
  41. data/proto_docs/google/type/postal_address.rb +135 -0
  42. data/proto_docs/google/type/timeofday.rb +45 -0
  43. metadata +141 -0
@@ -0,0 +1,917 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 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 GDCHardwareManagement
23
+ module V1alpha
24
+ # An order for GDC hardware.
25
+ # @!attribute [rw] name
26
+ # @return [::String]
27
+ # Identifier. Name of this order.
28
+ # Format: `projects/{project}/locations/{location}/orders/{order}`
29
+ # @!attribute [rw] display_name
30
+ # @return [::String]
31
+ # Optional. Display name of this order.
32
+ # @!attribute [r] create_time
33
+ # @return [::Google::Protobuf::Timestamp]
34
+ # Output only. Time when this order was created.
35
+ # @!attribute [r] update_time
36
+ # @return [::Google::Protobuf::Timestamp]
37
+ # Output only. Time when this order was last updated.
38
+ # @!attribute [rw] labels
39
+ # @return [::Google::Protobuf::Map{::String => ::String}]
40
+ # Optional. Labels associated with this order as key value pairs.
41
+ # For more information about labels, see [Create and manage
42
+ # labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels).
43
+ # @!attribute [r] state
44
+ # @return [::Google::Cloud::GDCHardwareManagement::V1alpha::Order::State]
45
+ # Output only. State of this order. On order creation, state will be set to
46
+ # DRAFT.
47
+ # @!attribute [rw] organization_contact
48
+ # @return [::Google::Cloud::GDCHardwareManagement::V1alpha::OrganizationContact]
49
+ # Required. Customer contact information.
50
+ # @!attribute [rw] target_workloads
51
+ # @return [::Array<::String>]
52
+ # Optional. Customer specified workloads of interest targeted by this order.
53
+ # This must contain <= 20 elements and the length of each element must be <=
54
+ # 50 characters.
55
+ # @!attribute [rw] customer_motivation
56
+ # @return [::String]
57
+ # Required. Information about the customer's motivation for this order. The
58
+ # length of this field must be <= 1000 characters.
59
+ # @!attribute [rw] fulfillment_time
60
+ # @return [::Google::Protobuf::Timestamp]
61
+ # Required. Customer specified deadline by when this order should be
62
+ # fulfilled.
63
+ # @!attribute [rw] region_code
64
+ # @return [::String]
65
+ # Required. [Unicode CLDR](http://cldr.unicode.org/) region code where this
66
+ # order will be deployed. For a list of valid CLDR region codes, see the
67
+ # [Language Subtag
68
+ # Registry](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry).
69
+ # @!attribute [r] order_form_uri
70
+ # @return [::String]
71
+ # Output only. Link to the order form.
72
+ # @!attribute [r] type
73
+ # @return [::Google::Cloud::GDCHardwareManagement::V1alpha::Order::Type]
74
+ # Output only. Type of this Order.
75
+ # @!attribute [r] submit_time
76
+ # @return [::Google::Protobuf::Timestamp]
77
+ # Output only. Time when the order was submitted. Is auto-populated to the
78
+ # current time when an order is submitted.
79
+ # @!attribute [rw] billing_id
80
+ # @return [::String]
81
+ # Required. The Google Cloud Billing ID to be charged for this order.
82
+ # @!attribute [rw] existing_hardware
83
+ # @return [::Array<::Google::Cloud::GDCHardwareManagement::V1alpha::HardwareLocation>]
84
+ # Optional. Existing hardware to be removed as part of this order.
85
+ # Note: any hardware removed will be recycled unless otherwise agreed.
86
+ class Order
87
+ include ::Google::Protobuf::MessageExts
88
+ extend ::Google::Protobuf::MessageExts::ClassMethods
89
+
90
+ # @!attribute [rw] key
91
+ # @return [::String]
92
+ # @!attribute [rw] value
93
+ # @return [::String]
94
+ class LabelsEntry
95
+ include ::Google::Protobuf::MessageExts
96
+ extend ::Google::Protobuf::MessageExts::ClassMethods
97
+ end
98
+
99
+ # Valid states of an order.
100
+ module State
101
+ # State of the order is unspecified.
102
+ STATE_UNSPECIFIED = 0
103
+
104
+ # Order is being drafted by the customer and has not been submitted yet.
105
+ DRAFT = 1
106
+
107
+ # Order has been submitted to Google.
108
+ SUBMITTED = 2
109
+
110
+ # Order has been accepted by Google.
111
+ ACCEPTED = 3
112
+
113
+ # Order needs more information from the customer.
114
+ ADDITIONAL_INFO_NEEDED = 4
115
+
116
+ # Google has initiated building hardware for the order.
117
+ BUILDING = 5
118
+
119
+ # The hardware has been built and is being shipped.
120
+ SHIPPING = 6
121
+
122
+ # The hardware is being installed.
123
+ INSTALLING = 7
124
+
125
+ # An error occurred in processing the order and customer intervention is
126
+ # required.
127
+ FAILED = 8
128
+
129
+ # Order has been partially completed i.e., some hardware have been
130
+ # delivered and installed.
131
+ PARTIALLY_COMPLETED = 9
132
+
133
+ # Order has been completed.
134
+ COMPLETED = 10
135
+
136
+ # Order has been cancelled.
137
+ CANCELLED = 11
138
+ end
139
+
140
+ # Valid types of an Order.
141
+ module Type
142
+ # Type of the order is unspecified.
143
+ TYPE_UNSPECIFIED = 0
144
+
145
+ # Paid by the customer.
146
+ PAID = 1
147
+
148
+ # Proof of concept for the customer.
149
+ POC = 2
150
+ end
151
+ end
152
+
153
+ # A physical site where hardware will be installed.
154
+ # @!attribute [rw] name
155
+ # @return [::String]
156
+ # Identifier. Name of the site.
157
+ # Format: `projects/{project}/locations/{location}/sites/{site}`
158
+ # @!attribute [rw] display_name
159
+ # @return [::String]
160
+ # Optional. Display name of this Site.
161
+ # @!attribute [rw] description
162
+ # @return [::String]
163
+ # Optional. Description of this Site.
164
+ # @!attribute [r] create_time
165
+ # @return [::Google::Protobuf::Timestamp]
166
+ # Output only. Time when this site was created.
167
+ # @!attribute [r] update_time
168
+ # @return [::Google::Protobuf::Timestamp]
169
+ # Output only. Time when this site was last updated.
170
+ # @!attribute [rw] labels
171
+ # @return [::Google::Protobuf::Map{::String => ::String}]
172
+ # Optional. Labels associated with this site as key value pairs.
173
+ # For more information about labels, see [Create and manage
174
+ # labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels).
175
+ # @!attribute [rw] organization_contact
176
+ # @return [::Google::Cloud::GDCHardwareManagement::V1alpha::OrganizationContact]
177
+ # Required. Contact information for this site.
178
+ # @!attribute [rw] google_maps_pin_uri
179
+ # @return [::String]
180
+ # Required. A URL to the Google Maps address location of the site.
181
+ # An example value is `https://goo.gl/maps/xxxxxxxxx`.
182
+ # @!attribute [rw] access_times
183
+ # @return [::Array<::Google::Cloud::GDCHardwareManagement::V1alpha::TimePeriod>]
184
+ # Optional. The time periods when the site is accessible.
185
+ # If this field is empty, the site is accessible at all times.
186
+ # @!attribute [rw] notes
187
+ # @return [::String]
188
+ # Optional. Any additional notes for this Site. Please include information
189
+ # about:
190
+ # - security or access restrictions
191
+ # - any regulations affecting the technicians visiting the site
192
+ # - any special process or approval required to move the equipment
193
+ # - whether a representative will be available during site visits
194
+ class Site
195
+ include ::Google::Protobuf::MessageExts
196
+ extend ::Google::Protobuf::MessageExts::ClassMethods
197
+
198
+ # @!attribute [rw] key
199
+ # @return [::String]
200
+ # @!attribute [rw] value
201
+ # @return [::String]
202
+ class LabelsEntry
203
+ include ::Google::Protobuf::MessageExts
204
+ extend ::Google::Protobuf::MessageExts::ClassMethods
205
+ end
206
+ end
207
+
208
+ # A group of hardware that is part of the same order, has the same SKU, and is
209
+ # delivered to the same site.
210
+ # @!attribute [rw] name
211
+ # @return [::String]
212
+ # Identifier. Name of this hardware group.
213
+ # Format:
214
+ # `projects/{project}/locations/{location}/orders/{order}/hardwareGroups/{hardware_group}`
215
+ # @!attribute [r] create_time
216
+ # @return [::Google::Protobuf::Timestamp]
217
+ # Output only. Time when this hardware group was created.
218
+ # @!attribute [r] update_time
219
+ # @return [::Google::Protobuf::Timestamp]
220
+ # Output only. Time when this hardware group was last updated.
221
+ # @!attribute [rw] labels
222
+ # @return [::Google::Protobuf::Map{::String => ::String}]
223
+ # Optional. Labels associated with this hardware group as key value pairs.
224
+ # For more information about labels, see [Create and manage
225
+ # labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels).
226
+ # @!attribute [rw] hardware_count
227
+ # @return [::Integer]
228
+ # Required. Number of hardware in this HardwareGroup.
229
+ # @!attribute [rw] config
230
+ # @return [::Google::Cloud::GDCHardwareManagement::V1alpha::HardwareConfig]
231
+ # Required. Configuration for hardware in this HardwareGroup.
232
+ # @!attribute [rw] site
233
+ # @return [::String]
234
+ # Required. Name of the site where the hardware in this HardwareGroup will be
235
+ # delivered.
236
+ # Format: `projects/{project}/locations/{location}/sites/{site}`
237
+ # @!attribute [r] state
238
+ # @return [::Google::Cloud::GDCHardwareManagement::V1alpha::HardwareGroup::State]
239
+ # Output only. Current state of this HardwareGroup.
240
+ # @!attribute [rw] zone
241
+ # @return [::String]
242
+ # Optional. Name of the zone that the hardware in this HardwareGroup belongs
243
+ # to. Format: `projects/{project}/locations/{location}/zones/{zone}`
244
+ # @!attribute [rw] requested_installation_date
245
+ # @return [::Google::Type::Date]
246
+ # Optional. Requested installation date for the hardware in this
247
+ # HardwareGroup. Filled in by the customer.
248
+ class HardwareGroup
249
+ include ::Google::Protobuf::MessageExts
250
+ extend ::Google::Protobuf::MessageExts::ClassMethods
251
+
252
+ # @!attribute [rw] key
253
+ # @return [::String]
254
+ # @!attribute [rw] value
255
+ # @return [::String]
256
+ class LabelsEntry
257
+ include ::Google::Protobuf::MessageExts
258
+ extend ::Google::Protobuf::MessageExts::ClassMethods
259
+ end
260
+
261
+ # Valid states of a HardwareGroup.
262
+ module State
263
+ # State of the HardwareGroup is unspecified.
264
+ STATE_UNSPECIFIED = 0
265
+
266
+ # More information is required from the customer to make progress.
267
+ ADDITIONAL_INFO_NEEDED = 1
268
+
269
+ # Google has initiated building hardware for this HardwareGroup.
270
+ BUILDING = 2
271
+
272
+ # The hardware has been built and is being shipped.
273
+ SHIPPING = 3
274
+
275
+ # The hardware is being installed.
276
+ INSTALLING = 4
277
+
278
+ # Some hardware in the HardwareGroup have been installed.
279
+ PARTIALLY_INSTALLED = 5
280
+
281
+ # All hardware in the HardwareGroup have been installed.
282
+ INSTALLED = 6
283
+
284
+ # An error occurred and customer intervention is required.
285
+ FAILED = 7
286
+ end
287
+ end
288
+
289
+ # An instance of hardware installed at a site.
290
+ # @!attribute [rw] name
291
+ # @return [::String]
292
+ # Identifier. Name of this hardware.
293
+ # Format: `projects/{project}/locations/{location}/hardware/{hardware}`
294
+ # @!attribute [rw] display_name
295
+ # @return [::String]
296
+ # Optional. Display name for this hardware.
297
+ # @!attribute [r] create_time
298
+ # @return [::Google::Protobuf::Timestamp]
299
+ # Output only. Time when this hardware was created.
300
+ # @!attribute [r] update_time
301
+ # @return [::Google::Protobuf::Timestamp]
302
+ # Output only. Time when this hardware was last updated.
303
+ # @!attribute [rw] labels
304
+ # @return [::Google::Protobuf::Map{::String => ::String}]
305
+ # Optional. Labels associated with this hardware as key value pairs.
306
+ # For more information about labels, see [Create and manage
307
+ # labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels).
308
+ # @!attribute [rw] order
309
+ # @return [::String]
310
+ # Required. Name of the order that this hardware belongs to.
311
+ # Format: `projects/{project}/locations/{location}/orders/{order}`
312
+ # @!attribute [r] hardware_group
313
+ # @return [::String]
314
+ # Output only. Name for the hardware group that this hardware belongs to.
315
+ # Format:
316
+ # `projects/{project}/locations/{location}/orders/{order}/hardwareGroups/{hardware_group}`
317
+ # @!attribute [rw] site
318
+ # @return [::String]
319
+ # Required. Name for the site that this hardware belongs to.
320
+ # Format: `projects/{project}/locations/{location}/sites/{site}`
321
+ # @!attribute [r] state
322
+ # @return [::Google::Cloud::GDCHardwareManagement::V1alpha::Hardware::State]
323
+ # Output only. Current state for this hardware.
324
+ # @!attribute [r] ciq_uri
325
+ # @return [::String]
326
+ # Output only. Link to the Customer Intake Questionnaire (CIQ) sheet for this
327
+ # Hardware.
328
+ # @!attribute [rw] config
329
+ # @return [::Google::Cloud::GDCHardwareManagement::V1alpha::HardwareConfig]
330
+ # Required. Configuration for this hardware.
331
+ # @!attribute [r] estimated_installation_date
332
+ # @return [::Google::Type::Date]
333
+ # Output only. Estimated installation date for this hardware.
334
+ # @!attribute [rw] physical_info
335
+ # @return [::Google::Cloud::GDCHardwareManagement::V1alpha::HardwarePhysicalInfo]
336
+ # Optional. Physical properties of this hardware.
337
+ # @!attribute [rw] installation_info
338
+ # @return [::Google::Cloud::GDCHardwareManagement::V1alpha::HardwareInstallationInfo]
339
+ # Optional. Information for installation of this hardware.
340
+ # @!attribute [rw] zone
341
+ # @return [::String]
342
+ # Required. Name for the zone that this hardware belongs to.
343
+ # Format: `projects/{project}/locations/{location}/zones/{zone}`
344
+ # @!attribute [rw] requested_installation_date
345
+ # @return [::Google::Type::Date]
346
+ # Optional. Requested installation date for this hardware. This is
347
+ # auto-populated when the order is accepted, if the hardware's HardwareGroup
348
+ # specifies this. It can also be filled in by the customer.
349
+ # @!attribute [r] actual_installation_date
350
+ # @return [::Google::Type::Date]
351
+ # Output only. Actual installation date for this hardware. Filled in by
352
+ # Google.
353
+ class Hardware
354
+ include ::Google::Protobuf::MessageExts
355
+ extend ::Google::Protobuf::MessageExts::ClassMethods
356
+
357
+ # @!attribute [rw] key
358
+ # @return [::String]
359
+ # @!attribute [rw] value
360
+ # @return [::String]
361
+ class LabelsEntry
362
+ include ::Google::Protobuf::MessageExts
363
+ extend ::Google::Protobuf::MessageExts::ClassMethods
364
+ end
365
+
366
+ # Valid states for hardware.
367
+ module State
368
+ # State of the Hardware is unspecified.
369
+ STATE_UNSPECIFIED = 0
370
+
371
+ # More information is required from the customer to make progress.
372
+ ADDITIONAL_INFO_NEEDED = 1
373
+
374
+ # Google has initiated building hardware for this Hardware.
375
+ BUILDING = 2
376
+
377
+ # The hardware has been built and is being shipped.
378
+ SHIPPING = 3
379
+
380
+ # The hardware is being installed.
381
+ INSTALLING = 4
382
+
383
+ # The hardware has been installed.
384
+ INSTALLED = 5
385
+
386
+ # An error occurred and customer intervention is required.
387
+ FAILED = 6
388
+ end
389
+ end
390
+
391
+ # A comment on an order.
392
+ # @!attribute [rw] name
393
+ # @return [::String]
394
+ # Identifier. Name of this comment.
395
+ # Format:
396
+ # `projects/{project}/locations/{location}/orders/{order}/comments/{comment}`
397
+ # @!attribute [r] create_time
398
+ # @return [::Google::Protobuf::Timestamp]
399
+ # Output only. Time when this comment was created.
400
+ # @!attribute [rw] labels
401
+ # @return [::Google::Protobuf::Map{::String => ::String}]
402
+ # Optional. Labels associated with this comment as key value pairs.
403
+ # For more information about labels, see [Create and manage
404
+ # labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels).
405
+ # @!attribute [r] author
406
+ # @return [::String]
407
+ # Output only. Username of the author of this comment. This is auto-populated
408
+ # from the credentials used during creation of the comment.
409
+ # @!attribute [rw] text
410
+ # @return [::String]
411
+ # Required. Text of this comment. The length of text must be <= 1000
412
+ # characters.
413
+ class Comment
414
+ include ::Google::Protobuf::MessageExts
415
+ extend ::Google::Protobuf::MessageExts::ClassMethods
416
+
417
+ # @!attribute [rw] key
418
+ # @return [::String]
419
+ # @!attribute [rw] value
420
+ # @return [::String]
421
+ class LabelsEntry
422
+ include ::Google::Protobuf::MessageExts
423
+ extend ::Google::Protobuf::MessageExts::ClassMethods
424
+ end
425
+ end
426
+
427
+ # A log entry of a change made to an order.
428
+ # @!attribute [rw] name
429
+ # @return [::String]
430
+ # Identifier. Name of this change log entry.
431
+ # Format:
432
+ # `projects/{project}/locations/{location}/orders/{order}/changeLogEntries/{change_log_entry}`
433
+ # @!attribute [r] create_time
434
+ # @return [::Google::Protobuf::Timestamp]
435
+ # Output only. Time when this change log entry was created.
436
+ # @!attribute [rw] labels
437
+ # @return [::Google::Protobuf::Map{::String => ::String}]
438
+ # Optional. Labels associated with this change log entry as key value pairs.
439
+ # For more information about labels, see [Create and manage
440
+ # labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels).
441
+ # @!attribute [r] log
442
+ # @return [::String]
443
+ # Output only. Content of this log entry.
444
+ class ChangeLogEntry
445
+ include ::Google::Protobuf::MessageExts
446
+ extend ::Google::Protobuf::MessageExts::ClassMethods
447
+
448
+ # @!attribute [rw] key
449
+ # @return [::String]
450
+ # @!attribute [rw] value
451
+ # @return [::String]
452
+ class LabelsEntry
453
+ include ::Google::Protobuf::MessageExts
454
+ extend ::Google::Protobuf::MessageExts::ClassMethods
455
+ end
456
+ end
457
+
458
+ # A stock keeping unit (SKU) of GDC hardware.
459
+ # @!attribute [rw] name
460
+ # @return [::String]
461
+ # Identifier. Name of this SKU.
462
+ # Format: `projects/{project}/locations/{location}/skus/{sku}`
463
+ # @!attribute [r] display_name
464
+ # @return [::String]
465
+ # Output only. Display name of this SKU.
466
+ # @!attribute [r] create_time
467
+ # @return [::Google::Protobuf::Timestamp]
468
+ # Output only. Time when this SKU was created.
469
+ # @!attribute [r] update_time
470
+ # @return [::Google::Protobuf::Timestamp]
471
+ # Output only. Time when this SKU was last updated.
472
+ # @!attribute [r] config
473
+ # @return [::Google::Cloud::GDCHardwareManagement::V1alpha::SkuConfig]
474
+ # Output only. Configuration for this SKU.
475
+ # @!attribute [r] instances
476
+ # @return [::Array<::Google::Cloud::GDCHardwareManagement::V1alpha::SkuInstance>]
477
+ # Output only. Available instances of this SKU. This field should be used for
478
+ # checking availability of a SKU.
479
+ # @!attribute [r] description
480
+ # @return [::String]
481
+ # Output only. Description of this SKU.
482
+ # @!attribute [r] revision_id
483
+ # @return [::String]
484
+ # Output only. The SKU revision ID.
485
+ # A new revision is created whenever `config` is updated. The format is an
486
+ # 8-character hexadecimal string.
487
+ # @!attribute [r] is_active
488
+ # @return [::Boolean]
489
+ # Output only. Flag to indicate whether or not this revision is active. Only
490
+ # an active revision can be used in a new Order.
491
+ # @!attribute [r] type
492
+ # @return [::Google::Cloud::GDCHardwareManagement::V1alpha::Sku::Type]
493
+ # Output only. Type of this SKU.
494
+ # @!attribute [r] vcpu_count
495
+ # @return [::Integer]
496
+ # Output only. The vCPU count associated with this SKU.
497
+ class Sku
498
+ include ::Google::Protobuf::MessageExts
499
+ extend ::Google::Protobuf::MessageExts::ClassMethods
500
+
501
+ # Valid types of a SKU.
502
+ module Type
503
+ # Type of the SKU is unspecified. This is not an allowed value.
504
+ TYPE_UNSPECIFIED = 0
505
+
506
+ # Rack SKU.
507
+ RACK = 1
508
+
509
+ # Server SKU.
510
+ SERVER = 2
511
+ end
512
+ end
513
+
514
+ # A zone holding a set of hardware.
515
+ # @!attribute [rw] name
516
+ # @return [::String]
517
+ # Identifier. Name of this zone.
518
+ # Format: `projects/{project}/locations/{location}/zones/{zone}`
519
+ # @!attribute [r] create_time
520
+ # @return [::Google::Protobuf::Timestamp]
521
+ # Output only. Time when this zone was created.
522
+ # @!attribute [r] update_time
523
+ # @return [::Google::Protobuf::Timestamp]
524
+ # Output only. Time when this zone was last updated.
525
+ # @!attribute [rw] labels
526
+ # @return [::Google::Protobuf::Map{::String => ::String}]
527
+ # Optional. Labels associated with this zone as key value pairs.
528
+ # For more information about labels, see [Create and manage
529
+ # labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels).
530
+ # @!attribute [rw] display_name
531
+ # @return [::String]
532
+ # Optional. Human friendly display name of this zone.
533
+ # @!attribute [r] state
534
+ # @return [::Google::Cloud::GDCHardwareManagement::V1alpha::Zone::State]
535
+ # Output only. Current state for this zone.
536
+ # @!attribute [rw] contacts
537
+ # @return [::Array<::Google::Cloud::GDCHardwareManagement::V1alpha::Contact>]
538
+ # Required. The points of contact.
539
+ # @!attribute [r] ciq_uri
540
+ # @return [::String]
541
+ # Output only. Link to the Customer Intake Questionnaire (CIQ) sheet for this
542
+ # zone.
543
+ # @!attribute [rw] network_config
544
+ # @return [::Google::Cloud::GDCHardwareManagement::V1alpha::ZoneNetworkConfig]
545
+ # Optional. Networking configuration for this zone.
546
+ # @!attribute [r] globally_unique_id
547
+ # @return [::String]
548
+ # Output only. Globally unique identifier generated for this Edge Zone.
549
+ class Zone
550
+ include ::Google::Protobuf::MessageExts
551
+ extend ::Google::Protobuf::MessageExts::ClassMethods
552
+
553
+ # @!attribute [rw] key
554
+ # @return [::String]
555
+ # @!attribute [rw] value
556
+ # @return [::String]
557
+ class LabelsEntry
558
+ include ::Google::Protobuf::MessageExts
559
+ extend ::Google::Protobuf::MessageExts::ClassMethods
560
+ end
561
+
562
+ # Valid states for a zone.
563
+ module State
564
+ # State of the Zone is unspecified.
565
+ STATE_UNSPECIFIED = 0
566
+
567
+ # More information is required from the customer to make progress.
568
+ ADDITIONAL_INFO_NEEDED = 1
569
+
570
+ # Google is preparing the Zone.
571
+ PREPARING = 2
572
+
573
+ # Factory turnup has succeeded.
574
+ READY_FOR_CUSTOMER_FACTORY_TURNUP_CHECKS = 5
575
+
576
+ # The Zone is ready for site turnup.
577
+ READY_FOR_SITE_TURNUP = 6
578
+
579
+ # The Zone failed in factory turnup checks.
580
+ CUSTOMER_FACTORY_TURNUP_CHECKS_FAILED = 7
581
+
582
+ # The Zone is available to use.
583
+ ACTIVE = 3
584
+
585
+ # The Zone has been cancelled.
586
+ CANCELLED = 4
587
+ end
588
+ end
589
+
590
+ # Contact information of the customer organization.
591
+ # @!attribute [rw] address
592
+ # @return [::Google::Type::PostalAddress]
593
+ # Required. The organization's address.
594
+ # @!attribute [rw] email
595
+ # @return [::String]
596
+ # Optional. The organization's email.
597
+ # @!attribute [rw] phone
598
+ # @return [::String]
599
+ # Optional. The organization's phone number.
600
+ # @!attribute [rw] contacts
601
+ # @return [::Array<::Google::Cloud::GDCHardwareManagement::V1alpha::Contact>]
602
+ # Required. The individual points of contact in the organization at this
603
+ # location.
604
+ class OrganizationContact
605
+ include ::Google::Protobuf::MessageExts
606
+ extend ::Google::Protobuf::MessageExts::ClassMethods
607
+ end
608
+
609
+ # Contact details of a point of contact.
610
+ # @!attribute [rw] given_name
611
+ # @return [::String]
612
+ # Required. Given name of the contact.
613
+ # @!attribute [rw] family_name
614
+ # @return [::String]
615
+ # Optional. Family name of the contact.
616
+ # @!attribute [rw] email
617
+ # @return [::String]
618
+ # Required. Email of the contact.
619
+ # @!attribute [rw] phone
620
+ # @return [::String]
621
+ # Required. Phone number of the contact.
622
+ # @!attribute [rw] time_zone
623
+ # @return [::Google::Type::TimeZone]
624
+ # Optional. Time zone of the contact.
625
+ # @!attribute [rw] reachable_times
626
+ # @return [::Array<::Google::Cloud::GDCHardwareManagement::V1alpha::TimePeriod>]
627
+ # Optional. The time periods when the contact is reachable.
628
+ # If this field is empty, the contact is reachable at all times.
629
+ class Contact
630
+ include ::Google::Protobuf::MessageExts
631
+ extend ::Google::Protobuf::MessageExts::ClassMethods
632
+ end
633
+
634
+ # Configuration for GDC hardware.
635
+ # @!attribute [rw] sku
636
+ # @return [::String]
637
+ # Required. Reference to the SKU for this hardware. This can point to a
638
+ # specific SKU revision in the form of `resource_name@revision_id` as defined
639
+ # in [AIP-162](https://google.aip.dev/162). If no revision_id is specified,
640
+ # it refers to the latest revision.
641
+ # @!attribute [rw] power_supply
642
+ # @return [::Google::Cloud::GDCHardwareManagement::V1alpha::PowerSupply]
643
+ # Required. Power supply type for this hardware.
644
+ # @!attribute [rw] subscription_duration_months
645
+ # @return [::Integer]
646
+ # Optional. Subscription duration for the hardware in months.
647
+ class HardwareConfig
648
+ include ::Google::Protobuf::MessageExts
649
+ extend ::Google::Protobuf::MessageExts::ClassMethods
650
+ end
651
+
652
+ # Configuration for a SKU.
653
+ # @!attribute [rw] cpu
654
+ # @return [::String]
655
+ # Information about CPU configuration.
656
+ # @!attribute [rw] gpu
657
+ # @return [::String]
658
+ # Information about GPU configuration.
659
+ # @!attribute [rw] ram
660
+ # @return [::String]
661
+ # Information about RAM configuration.
662
+ # @!attribute [rw] storage
663
+ # @return [::String]
664
+ # Information about storage configuration.
665
+ class SkuConfig
666
+ include ::Google::Protobuf::MessageExts
667
+ extend ::Google::Protobuf::MessageExts::ClassMethods
668
+ end
669
+
670
+ # A specific instance of the SKU.
671
+ # @!attribute [rw] region_code
672
+ # @return [::String]
673
+ # The [Unicode CLDR](https://cldr.unicode.org) region code where this
674
+ # instance is available.
675
+ # @!attribute [rw] power_supply
676
+ # @return [::Google::Cloud::GDCHardwareManagement::V1alpha::PowerSupply]
677
+ # Power supply type for this instance.
678
+ # @!attribute [rw] billing_sku
679
+ # @return [::String]
680
+ # Reference to the corresponding SKU in the Cloud Billing API.
681
+ # The estimated price information can be retrieved using that API.
682
+ # Format: `services/{service}/skus/{sku}`
683
+ # @!attribute [rw] billing_sku_per_vcpu
684
+ # @return [::String]
685
+ # Reference to the corresponding SKU per vCPU in the Cloud Billing API.
686
+ # The estimated price information can be retrieved using that API.
687
+ # Format: `services/{service}/skus/{sku}`
688
+ # @!attribute [rw] subscription_duration_months
689
+ # @return [::Integer]
690
+ # Subscription duration for the hardware in months.
691
+ class SkuInstance
692
+ include ::Google::Protobuf::MessageExts
693
+ extend ::Google::Protobuf::MessageExts::ClassMethods
694
+ end
695
+
696
+ # Physical properties of a hardware.
697
+ # @!attribute [rw] power_receptacle
698
+ # @return [::Google::Cloud::GDCHardwareManagement::V1alpha::HardwarePhysicalInfo::PowerReceptacleType]
699
+ # Required. The power receptacle type.
700
+ # @!attribute [rw] network_uplink
701
+ # @return [::Google::Cloud::GDCHardwareManagement::V1alpha::HardwarePhysicalInfo::NetworkUplinkType]
702
+ # Required. Type of the uplink network connection.
703
+ # @!attribute [rw] voltage
704
+ # @return [::Google::Cloud::GDCHardwareManagement::V1alpha::HardwarePhysicalInfo::Voltage]
705
+ # Required. Voltage of the power supply.
706
+ # @!attribute [rw] amperes
707
+ # @return [::Google::Cloud::GDCHardwareManagement::V1alpha::HardwarePhysicalInfo::Amperes]
708
+ # Required. Amperes of the power supply.
709
+ class HardwarePhysicalInfo
710
+ include ::Google::Protobuf::MessageExts
711
+ extend ::Google::Protobuf::MessageExts::ClassMethods
712
+
713
+ # Valid power receptacle types.
714
+ module PowerReceptacleType
715
+ # Facility plug type is unspecified.
716
+ POWER_RECEPTACLE_TYPE_UNSPECIFIED = 0
717
+
718
+ # NEMA 5-15.
719
+ NEMA_5_15 = 1
720
+
721
+ # C13.
722
+ C_13 = 2
723
+
724
+ # Standard european receptacle.
725
+ STANDARD_EU = 3
726
+ end
727
+
728
+ # Valid network uplink types.
729
+ module NetworkUplinkType
730
+ # Network uplink type is unspecified.
731
+ NETWORK_UPLINK_TYPE_UNSPECIFIED = 0
732
+
733
+ # RJ-45.
734
+ RJ_45 = 1
735
+ end
736
+
737
+ # Valid voltage values.
738
+ module Voltage
739
+ # Voltage is unspecified.
740
+ VOLTAGE_UNSPECIFIED = 0
741
+
742
+ # 120V.
743
+ VOLTAGE_110 = 1
744
+
745
+ # 220V.
746
+ VOLTAGE_220 = 3
747
+ end
748
+
749
+ # Valid amperes values.
750
+ module Amperes
751
+ # Amperes is unspecified.
752
+ AMPERES_UNSPECIFIED = 0
753
+
754
+ # 15A.
755
+ AMPERES_15 = 1
756
+ end
757
+ end
758
+
759
+ # Information for installation of a Hardware.
760
+ # @!attribute [rw] rack_location
761
+ # @return [::String]
762
+ # Optional. Location of the rack in the site e.g. Floor 2, Room 201, Row 7,
763
+ # Rack 3.
764
+ # @!attribute [rw] power_distance_meters
765
+ # @return [::Integer]
766
+ # Required. Distance from the power outlet in meters.
767
+ # @!attribute [rw] switch_distance_meters
768
+ # @return [::Integer]
769
+ # Required. Distance from the network switch in meters.
770
+ # @!attribute [rw] rack_unit_dimensions
771
+ # @return [::Google::Cloud::GDCHardwareManagement::V1alpha::Dimensions]
772
+ # Required. Dimensions of the rack unit.
773
+ # @!attribute [rw] rack_space
774
+ # @return [::Google::Cloud::GDCHardwareManagement::V1alpha::RackSpace]
775
+ # Required. Rack space allocated for the hardware.
776
+ # @!attribute [rw] rack_type
777
+ # @return [::Google::Cloud::GDCHardwareManagement::V1alpha::HardwareInstallationInfo::RackType]
778
+ # Required. Type of the rack.
779
+ class HardwareInstallationInfo
780
+ include ::Google::Protobuf::MessageExts
781
+ extend ::Google::Protobuf::MessageExts::ClassMethods
782
+
783
+ # Valid rack types.
784
+ module RackType
785
+ # Rack type is unspecified.
786
+ RACK_TYPE_UNSPECIFIED = 0
787
+
788
+ # Two post rack.
789
+ TWO_POST = 1
790
+
791
+ # Four post rack.
792
+ FOUR_POST = 2
793
+ end
794
+ end
795
+
796
+ # Networking configuration for a zone.
797
+ # @!attribute [rw] machine_mgmt_ipv4_range
798
+ # @return [::String]
799
+ # Required. An IPv4 address block for machine management.
800
+ # Should be a private RFC1918 or public CIDR block large enough to allocate
801
+ # at least one address per machine in the Zone.
802
+ # Should be in `management_ipv4_subnet`, and disjoint with other address
803
+ # ranges.
804
+ # @!attribute [rw] kubernetes_node_ipv4_range
805
+ # @return [::String]
806
+ # Required. An IPv4 address block for kubernetes nodes.
807
+ # Should be a private RFC1918 or public CIDR block large enough to allocate
808
+ # at least one address per machine in the Zone.
809
+ # Should be in `kubernetes_ipv4_subnet`, and disjoint with other address
810
+ # ranges.
811
+ # @!attribute [rw] kubernetes_control_plane_ipv4_range
812
+ # @return [::String]
813
+ # Required. An IPv4 address block for kubernetes control plane.
814
+ # Should be a private RFC1918 or public CIDR block large enough to allocate
815
+ # at least one address per cluster in the Zone.
816
+ # Should be in `kubernetes_ipv4_subnet`, and disjoint with other address
817
+ # ranges.
818
+ # @!attribute [rw] management_ipv4_subnet
819
+ # @return [::Google::Cloud::GDCHardwareManagement::V1alpha::Subnet]
820
+ # Required. An IPv4 subnet for the management network.
821
+ # @!attribute [rw] kubernetes_ipv4_subnet
822
+ # @return [::Google::Cloud::GDCHardwareManagement::V1alpha::Subnet]
823
+ # Optional. An IPv4 subnet for the kubernetes network.
824
+ # If unspecified, the kubernetes subnet will be the same as the management
825
+ # subnet.
826
+ class ZoneNetworkConfig
827
+ include ::Google::Protobuf::MessageExts
828
+ extend ::Google::Protobuf::MessageExts::ClassMethods
829
+ end
830
+
831
+ # Represents a subnet.
832
+ # @!attribute [rw] address_range
833
+ # @return [::String]
834
+ # Required. Address range for this subnet in CIDR notation.
835
+ # @!attribute [rw] default_gateway_ip_address
836
+ # @return [::String]
837
+ # Required. Default gateway for this subnet.
838
+ class Subnet
839
+ include ::Google::Protobuf::MessageExts
840
+ extend ::Google::Protobuf::MessageExts::ClassMethods
841
+ end
842
+
843
+ # Represents a time period in a week.
844
+ # @!attribute [rw] start_time
845
+ # @return [::Google::Type::TimeOfDay]
846
+ # Required. The start of the time period.
847
+ # @!attribute [rw] end_time
848
+ # @return [::Google::Type::TimeOfDay]
849
+ # Required. The end of the time period.
850
+ # @!attribute [rw] days
851
+ # @return [::Array<::Google::Type::DayOfWeek>]
852
+ # Required. The days of the week that the time period is active.
853
+ class TimePeriod
854
+ include ::Google::Protobuf::MessageExts
855
+ extend ::Google::Protobuf::MessageExts::ClassMethods
856
+ end
857
+
858
+ # Represents the dimensions of an object.
859
+ # @!attribute [rw] width_inches
860
+ # @return [::Float]
861
+ # Required. Width in inches.
862
+ # @!attribute [rw] height_inches
863
+ # @return [::Float]
864
+ # Required. Height in inches.
865
+ # @!attribute [rw] depth_inches
866
+ # @return [::Float]
867
+ # Required. Depth in inches.
868
+ class Dimensions
869
+ include ::Google::Protobuf::MessageExts
870
+ extend ::Google::Protobuf::MessageExts::ClassMethods
871
+ end
872
+
873
+ # Represents contiguous space in a rack.
874
+ # @!attribute [rw] start_rack_unit
875
+ # @return [::Integer]
876
+ # Required. First rack unit of the rack space (inclusive).
877
+ # @!attribute [rw] end_rack_unit
878
+ # @return [::Integer]
879
+ # Required. Last rack unit of the rack space (inclusive).
880
+ class RackSpace
881
+ include ::Google::Protobuf::MessageExts
882
+ extend ::Google::Protobuf::MessageExts::ClassMethods
883
+ end
884
+
885
+ # Represents the location of one or many hardware.
886
+ # @!attribute [rw] site
887
+ # @return [::String]
888
+ # Required. Name of the site where the hardware are present.
889
+ # Format: `projects/{project}/locations/{location}/sites/{site}`
890
+ # @!attribute [rw] rack_location
891
+ # @return [::String]
892
+ # Required. Location of the rack in the site e.g. Floor 2, Room 201, Row 7,
893
+ # Rack 3.
894
+ # @!attribute [rw] rack_space
895
+ # @return [::Array<::Google::Cloud::GDCHardwareManagement::V1alpha::RackSpace>]
896
+ # Optional. Spaces occupied by the hardware in the rack.
897
+ # If unset, this location is assumed to be the entire rack.
898
+ class HardwareLocation
899
+ include ::Google::Protobuf::MessageExts
900
+ extend ::Google::Protobuf::MessageExts::ClassMethods
901
+ end
902
+
903
+ # The power supply options.
904
+ module PowerSupply
905
+ # Power supply is unspecified.
906
+ POWER_SUPPLY_UNSPECIFIED = 0
907
+
908
+ # AC power supply.
909
+ POWER_SUPPLY_AC = 1
910
+
911
+ # DC power supply.
912
+ POWER_SUPPLY_DC = 2
913
+ end
914
+ end
915
+ end
916
+ end
917
+ end