google-cloud-gdc_hardware_management-v1alpha 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 (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