google-apis-hypercomputecluster_v1 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.
@@ -0,0 +1,722 @@
1
+ # Copyright 2020 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module HypercomputeclusterV1
24
+
25
+ class BootDisk
26
+ class Representation < Google::Apis::Core::JsonRepresentation; end
27
+
28
+ include Google::Apis::Core::JsonObjectSupport
29
+ end
30
+
31
+ class BucketReference
32
+ class Representation < Google::Apis::Core::JsonRepresentation; end
33
+
34
+ include Google::Apis::Core::JsonObjectSupport
35
+ end
36
+
37
+ class CancelOperationRequest
38
+ class Representation < Google::Apis::Core::JsonRepresentation; end
39
+
40
+ include Google::Apis::Core::JsonObjectSupport
41
+ end
42
+
43
+ class Cluster
44
+ class Representation < Google::Apis::Core::JsonRepresentation; end
45
+
46
+ include Google::Apis::Core::JsonObjectSupport
47
+ end
48
+
49
+ class ComputeInstance
50
+ class Representation < Google::Apis::Core::JsonRepresentation; end
51
+
52
+ include Google::Apis::Core::JsonObjectSupport
53
+ end
54
+
55
+ class ComputeInstanceSlurmNodeSet
56
+ class Representation < Google::Apis::Core::JsonRepresentation; end
57
+
58
+ include Google::Apis::Core::JsonObjectSupport
59
+ end
60
+
61
+ class ComputeResource
62
+ class Representation < Google::Apis::Core::JsonRepresentation; end
63
+
64
+ include Google::Apis::Core::JsonObjectSupport
65
+ end
66
+
67
+ class ComputeResourceConfig
68
+ class Representation < Google::Apis::Core::JsonRepresentation; end
69
+
70
+ include Google::Apis::Core::JsonObjectSupport
71
+ end
72
+
73
+ class Empty
74
+ class Representation < Google::Apis::Core::JsonRepresentation; end
75
+
76
+ include Google::Apis::Core::JsonObjectSupport
77
+ end
78
+
79
+ class ExistingBucketConfig
80
+ class Representation < Google::Apis::Core::JsonRepresentation; end
81
+
82
+ include Google::Apis::Core::JsonObjectSupport
83
+ end
84
+
85
+ class ExistingFilestoreConfig
86
+ class Representation < Google::Apis::Core::JsonRepresentation; end
87
+
88
+ include Google::Apis::Core::JsonObjectSupport
89
+ end
90
+
91
+ class ExistingLustreConfig
92
+ class Representation < Google::Apis::Core::JsonRepresentation; end
93
+
94
+ include Google::Apis::Core::JsonObjectSupport
95
+ end
96
+
97
+ class ExistingNetworkConfig
98
+ class Representation < Google::Apis::Core::JsonRepresentation; end
99
+
100
+ include Google::Apis::Core::JsonObjectSupport
101
+ end
102
+
103
+ class FileShareConfig
104
+ class Representation < Google::Apis::Core::JsonRepresentation; end
105
+
106
+ include Google::Apis::Core::JsonObjectSupport
107
+ end
108
+
109
+ class FilestoreReference
110
+ class Representation < Google::Apis::Core::JsonRepresentation; end
111
+
112
+ include Google::Apis::Core::JsonObjectSupport
113
+ end
114
+
115
+ class GcsAutoclassConfig
116
+ class Representation < Google::Apis::Core::JsonRepresentation; end
117
+
118
+ include Google::Apis::Core::JsonObjectSupport
119
+ end
120
+
121
+ class GcsHierarchicalNamespaceConfig
122
+ class Representation < Google::Apis::Core::JsonRepresentation; end
123
+
124
+ include Google::Apis::Core::JsonObjectSupport
125
+ end
126
+
127
+ class ListClustersResponse
128
+ class Representation < Google::Apis::Core::JsonRepresentation; end
129
+
130
+ include Google::Apis::Core::JsonObjectSupport
131
+ end
132
+
133
+ class ListLocationsResponse
134
+ class Representation < Google::Apis::Core::JsonRepresentation; end
135
+
136
+ include Google::Apis::Core::JsonObjectSupport
137
+ end
138
+
139
+ class ListOperationsResponse
140
+ class Representation < Google::Apis::Core::JsonRepresentation; end
141
+
142
+ include Google::Apis::Core::JsonObjectSupport
143
+ end
144
+
145
+ class Location
146
+ class Representation < Google::Apis::Core::JsonRepresentation; end
147
+
148
+ include Google::Apis::Core::JsonObjectSupport
149
+ end
150
+
151
+ class LustreReference
152
+ class Representation < Google::Apis::Core::JsonRepresentation; end
153
+
154
+ include Google::Apis::Core::JsonObjectSupport
155
+ end
156
+
157
+ class NetworkReference
158
+ class Representation < Google::Apis::Core::JsonRepresentation; end
159
+
160
+ include Google::Apis::Core::JsonObjectSupport
161
+ end
162
+
163
+ class NetworkResource
164
+ class Representation < Google::Apis::Core::JsonRepresentation; end
165
+
166
+ include Google::Apis::Core::JsonObjectSupport
167
+ end
168
+
169
+ class NetworkResourceConfig
170
+ class Representation < Google::Apis::Core::JsonRepresentation; end
171
+
172
+ include Google::Apis::Core::JsonObjectSupport
173
+ end
174
+
175
+ class NewBucketConfig
176
+ class Representation < Google::Apis::Core::JsonRepresentation; end
177
+
178
+ include Google::Apis::Core::JsonObjectSupport
179
+ end
180
+
181
+ class NewFilestoreConfig
182
+ class Representation < Google::Apis::Core::JsonRepresentation; end
183
+
184
+ include Google::Apis::Core::JsonObjectSupport
185
+ end
186
+
187
+ class NewFlexStartInstancesConfig
188
+ class Representation < Google::Apis::Core::JsonRepresentation; end
189
+
190
+ include Google::Apis::Core::JsonObjectSupport
191
+ end
192
+
193
+ class NewLustreConfig
194
+ class Representation < Google::Apis::Core::JsonRepresentation; end
195
+
196
+ include Google::Apis::Core::JsonObjectSupport
197
+ end
198
+
199
+ class NewNetworkConfig
200
+ class Representation < Google::Apis::Core::JsonRepresentation; end
201
+
202
+ include Google::Apis::Core::JsonObjectSupport
203
+ end
204
+
205
+ class NewOnDemandInstancesConfig
206
+ class Representation < Google::Apis::Core::JsonRepresentation; end
207
+
208
+ include Google::Apis::Core::JsonObjectSupport
209
+ end
210
+
211
+ class NewReservedInstancesConfig
212
+ class Representation < Google::Apis::Core::JsonRepresentation; end
213
+
214
+ include Google::Apis::Core::JsonObjectSupport
215
+ end
216
+
217
+ class NewSpotInstancesConfig
218
+ class Representation < Google::Apis::Core::JsonRepresentation; end
219
+
220
+ include Google::Apis::Core::JsonObjectSupport
221
+ end
222
+
223
+ class Operation
224
+ class Representation < Google::Apis::Core::JsonRepresentation; end
225
+
226
+ include Google::Apis::Core::JsonObjectSupport
227
+ end
228
+
229
+ class OperationMetadata
230
+ class Representation < Google::Apis::Core::JsonRepresentation; end
231
+
232
+ include Google::Apis::Core::JsonObjectSupport
233
+ end
234
+
235
+ class Orchestrator
236
+ class Representation < Google::Apis::Core::JsonRepresentation; end
237
+
238
+ include Google::Apis::Core::JsonObjectSupport
239
+ end
240
+
241
+ class SlurmLoginNodes
242
+ class Representation < Google::Apis::Core::JsonRepresentation; end
243
+
244
+ include Google::Apis::Core::JsonObjectSupport
245
+ end
246
+
247
+ class SlurmNodeSet
248
+ class Representation < Google::Apis::Core::JsonRepresentation; end
249
+
250
+ include Google::Apis::Core::JsonObjectSupport
251
+ end
252
+
253
+ class SlurmOrchestrator
254
+ class Representation < Google::Apis::Core::JsonRepresentation; end
255
+
256
+ include Google::Apis::Core::JsonObjectSupport
257
+ end
258
+
259
+ class SlurmPartition
260
+ class Representation < Google::Apis::Core::JsonRepresentation; end
261
+
262
+ include Google::Apis::Core::JsonObjectSupport
263
+ end
264
+
265
+ class Status
266
+ class Representation < Google::Apis::Core::JsonRepresentation; end
267
+
268
+ include Google::Apis::Core::JsonObjectSupport
269
+ end
270
+
271
+ class StorageConfig
272
+ class Representation < Google::Apis::Core::JsonRepresentation; end
273
+
274
+ include Google::Apis::Core::JsonObjectSupport
275
+ end
276
+
277
+ class StorageResource
278
+ class Representation < Google::Apis::Core::JsonRepresentation; end
279
+
280
+ include Google::Apis::Core::JsonObjectSupport
281
+ end
282
+
283
+ class StorageResourceConfig
284
+ class Representation < Google::Apis::Core::JsonRepresentation; end
285
+
286
+ include Google::Apis::Core::JsonObjectSupport
287
+ end
288
+
289
+ class BootDisk
290
+ # @private
291
+ class Representation < Google::Apis::Core::JsonRepresentation
292
+ property :size_gb, :numeric_string => true, as: 'sizeGb'
293
+ property :type, as: 'type'
294
+ end
295
+ end
296
+
297
+ class BucketReference
298
+ # @private
299
+ class Representation < Google::Apis::Core::JsonRepresentation
300
+ property :bucket, as: 'bucket'
301
+ end
302
+ end
303
+
304
+ class CancelOperationRequest
305
+ # @private
306
+ class Representation < Google::Apis::Core::JsonRepresentation
307
+ end
308
+ end
309
+
310
+ class Cluster
311
+ # @private
312
+ class Representation < Google::Apis::Core::JsonRepresentation
313
+ hash :compute_resources, as: 'computeResources', class: Google::Apis::HypercomputeclusterV1::ComputeResource, decorator: Google::Apis::HypercomputeclusterV1::ComputeResource::Representation
314
+
315
+ property :create_time, as: 'createTime'
316
+ property :description, as: 'description'
317
+ hash :labels, as: 'labels'
318
+ property :name, as: 'name'
319
+ hash :network_resources, as: 'networkResources', class: Google::Apis::HypercomputeclusterV1::NetworkResource, decorator: Google::Apis::HypercomputeclusterV1::NetworkResource::Representation
320
+
321
+ property :orchestrator, as: 'orchestrator', class: Google::Apis::HypercomputeclusterV1::Orchestrator, decorator: Google::Apis::HypercomputeclusterV1::Orchestrator::Representation
322
+
323
+ property :reconciling, as: 'reconciling'
324
+ hash :storage_resources, as: 'storageResources', class: Google::Apis::HypercomputeclusterV1::StorageResource, decorator: Google::Apis::HypercomputeclusterV1::StorageResource::Representation
325
+
326
+ property :update_time, as: 'updateTime'
327
+ end
328
+ end
329
+
330
+ class ComputeInstance
331
+ # @private
332
+ class Representation < Google::Apis::Core::JsonRepresentation
333
+ property :instance, as: 'instance'
334
+ end
335
+ end
336
+
337
+ class ComputeInstanceSlurmNodeSet
338
+ # @private
339
+ class Representation < Google::Apis::Core::JsonRepresentation
340
+ property :boot_disk, as: 'bootDisk', class: Google::Apis::HypercomputeclusterV1::BootDisk, decorator: Google::Apis::HypercomputeclusterV1::BootDisk::Representation
341
+
342
+ hash :labels, as: 'labels'
343
+ property :startup_script, as: 'startupScript'
344
+ end
345
+ end
346
+
347
+ class ComputeResource
348
+ # @private
349
+ class Representation < Google::Apis::Core::JsonRepresentation
350
+ property :config, as: 'config', class: Google::Apis::HypercomputeclusterV1::ComputeResourceConfig, decorator: Google::Apis::HypercomputeclusterV1::ComputeResourceConfig::Representation
351
+
352
+ end
353
+ end
354
+
355
+ class ComputeResourceConfig
356
+ # @private
357
+ class Representation < Google::Apis::Core::JsonRepresentation
358
+ property :new_flex_start_instances, as: 'newFlexStartInstances', class: Google::Apis::HypercomputeclusterV1::NewFlexStartInstancesConfig, decorator: Google::Apis::HypercomputeclusterV1::NewFlexStartInstancesConfig::Representation
359
+
360
+ property :new_on_demand_instances, as: 'newOnDemandInstances', class: Google::Apis::HypercomputeclusterV1::NewOnDemandInstancesConfig, decorator: Google::Apis::HypercomputeclusterV1::NewOnDemandInstancesConfig::Representation
361
+
362
+ property :new_reserved_instances, as: 'newReservedInstances', class: Google::Apis::HypercomputeclusterV1::NewReservedInstancesConfig, decorator: Google::Apis::HypercomputeclusterV1::NewReservedInstancesConfig::Representation
363
+
364
+ property :new_spot_instances, as: 'newSpotInstances', class: Google::Apis::HypercomputeclusterV1::NewSpotInstancesConfig, decorator: Google::Apis::HypercomputeclusterV1::NewSpotInstancesConfig::Representation
365
+
366
+ end
367
+ end
368
+
369
+ class Empty
370
+ # @private
371
+ class Representation < Google::Apis::Core::JsonRepresentation
372
+ end
373
+ end
374
+
375
+ class ExistingBucketConfig
376
+ # @private
377
+ class Representation < Google::Apis::Core::JsonRepresentation
378
+ property :bucket, as: 'bucket'
379
+ end
380
+ end
381
+
382
+ class ExistingFilestoreConfig
383
+ # @private
384
+ class Representation < Google::Apis::Core::JsonRepresentation
385
+ property :filestore, as: 'filestore'
386
+ end
387
+ end
388
+
389
+ class ExistingLustreConfig
390
+ # @private
391
+ class Representation < Google::Apis::Core::JsonRepresentation
392
+ property :lustre, as: 'lustre'
393
+ end
394
+ end
395
+
396
+ class ExistingNetworkConfig
397
+ # @private
398
+ class Representation < Google::Apis::Core::JsonRepresentation
399
+ property :network, as: 'network'
400
+ property :subnetwork, as: 'subnetwork'
401
+ end
402
+ end
403
+
404
+ class FileShareConfig
405
+ # @private
406
+ class Representation < Google::Apis::Core::JsonRepresentation
407
+ property :capacity_gb, :numeric_string => true, as: 'capacityGb'
408
+ property :file_share, as: 'fileShare'
409
+ end
410
+ end
411
+
412
+ class FilestoreReference
413
+ # @private
414
+ class Representation < Google::Apis::Core::JsonRepresentation
415
+ property :filestore, as: 'filestore'
416
+ end
417
+ end
418
+
419
+ class GcsAutoclassConfig
420
+ # @private
421
+ class Representation < Google::Apis::Core::JsonRepresentation
422
+ property :enabled, as: 'enabled'
423
+ property :terminal_storage_class, as: 'terminalStorageClass'
424
+ end
425
+ end
426
+
427
+ class GcsHierarchicalNamespaceConfig
428
+ # @private
429
+ class Representation < Google::Apis::Core::JsonRepresentation
430
+ property :enabled, as: 'enabled'
431
+ end
432
+ end
433
+
434
+ class ListClustersResponse
435
+ # @private
436
+ class Representation < Google::Apis::Core::JsonRepresentation
437
+ collection :clusters, as: 'clusters', class: Google::Apis::HypercomputeclusterV1::Cluster, decorator: Google::Apis::HypercomputeclusterV1::Cluster::Representation
438
+
439
+ property :next_page_token, as: 'nextPageToken'
440
+ collection :unreachable, as: 'unreachable'
441
+ end
442
+ end
443
+
444
+ class ListLocationsResponse
445
+ # @private
446
+ class Representation < Google::Apis::Core::JsonRepresentation
447
+ collection :locations, as: 'locations', class: Google::Apis::HypercomputeclusterV1::Location, decorator: Google::Apis::HypercomputeclusterV1::Location::Representation
448
+
449
+ property :next_page_token, as: 'nextPageToken'
450
+ end
451
+ end
452
+
453
+ class ListOperationsResponse
454
+ # @private
455
+ class Representation < Google::Apis::Core::JsonRepresentation
456
+ property :next_page_token, as: 'nextPageToken'
457
+ collection :operations, as: 'operations', class: Google::Apis::HypercomputeclusterV1::Operation, decorator: Google::Apis::HypercomputeclusterV1::Operation::Representation
458
+
459
+ collection :unreachable, as: 'unreachable'
460
+ end
461
+ end
462
+
463
+ class Location
464
+ # @private
465
+ class Representation < Google::Apis::Core::JsonRepresentation
466
+ property :display_name, as: 'displayName'
467
+ hash :labels, as: 'labels'
468
+ property :location_id, as: 'locationId'
469
+ hash :metadata, as: 'metadata'
470
+ property :name, as: 'name'
471
+ end
472
+ end
473
+
474
+ class LustreReference
475
+ # @private
476
+ class Representation < Google::Apis::Core::JsonRepresentation
477
+ property :lustre, as: 'lustre'
478
+ end
479
+ end
480
+
481
+ class NetworkReference
482
+ # @private
483
+ class Representation < Google::Apis::Core::JsonRepresentation
484
+ property :network, as: 'network'
485
+ property :subnetwork, as: 'subnetwork'
486
+ end
487
+ end
488
+
489
+ class NetworkResource
490
+ # @private
491
+ class Representation < Google::Apis::Core::JsonRepresentation
492
+ property :config, as: 'config', class: Google::Apis::HypercomputeclusterV1::NetworkResourceConfig, decorator: Google::Apis::HypercomputeclusterV1::NetworkResourceConfig::Representation
493
+
494
+ property :network, as: 'network', class: Google::Apis::HypercomputeclusterV1::NetworkReference, decorator: Google::Apis::HypercomputeclusterV1::NetworkReference::Representation
495
+
496
+ end
497
+ end
498
+
499
+ class NetworkResourceConfig
500
+ # @private
501
+ class Representation < Google::Apis::Core::JsonRepresentation
502
+ property :existing_network, as: 'existingNetwork', class: Google::Apis::HypercomputeclusterV1::ExistingNetworkConfig, decorator: Google::Apis::HypercomputeclusterV1::ExistingNetworkConfig::Representation
503
+
504
+ property :new_network, as: 'newNetwork', class: Google::Apis::HypercomputeclusterV1::NewNetworkConfig, decorator: Google::Apis::HypercomputeclusterV1::NewNetworkConfig::Representation
505
+
506
+ end
507
+ end
508
+
509
+ class NewBucketConfig
510
+ # @private
511
+ class Representation < Google::Apis::Core::JsonRepresentation
512
+ property :autoclass, as: 'autoclass', class: Google::Apis::HypercomputeclusterV1::GcsAutoclassConfig, decorator: Google::Apis::HypercomputeclusterV1::GcsAutoclassConfig::Representation
513
+
514
+ property :bucket, as: 'bucket'
515
+ property :hierarchical_namespace, as: 'hierarchicalNamespace', class: Google::Apis::HypercomputeclusterV1::GcsHierarchicalNamespaceConfig, decorator: Google::Apis::HypercomputeclusterV1::GcsHierarchicalNamespaceConfig::Representation
516
+
517
+ property :storage_class, as: 'storageClass'
518
+ end
519
+ end
520
+
521
+ class NewFilestoreConfig
522
+ # @private
523
+ class Representation < Google::Apis::Core::JsonRepresentation
524
+ property :description, as: 'description'
525
+ collection :file_shares, as: 'fileShares', class: Google::Apis::HypercomputeclusterV1::FileShareConfig, decorator: Google::Apis::HypercomputeclusterV1::FileShareConfig::Representation
526
+
527
+ property :filestore, as: 'filestore'
528
+ property :protocol, as: 'protocol'
529
+ property :tier, as: 'tier'
530
+ end
531
+ end
532
+
533
+ class NewFlexStartInstancesConfig
534
+ # @private
535
+ class Representation < Google::Apis::Core::JsonRepresentation
536
+ property :machine_type, as: 'machineType'
537
+ property :max_duration, as: 'maxDuration'
538
+ property :zone, as: 'zone'
539
+ end
540
+ end
541
+
542
+ class NewLustreConfig
543
+ # @private
544
+ class Representation < Google::Apis::Core::JsonRepresentation
545
+ property :capacity_gb, :numeric_string => true, as: 'capacityGb'
546
+ property :description, as: 'description'
547
+ property :filesystem, as: 'filesystem'
548
+ property :lustre, as: 'lustre'
549
+ end
550
+ end
551
+
552
+ class NewNetworkConfig
553
+ # @private
554
+ class Representation < Google::Apis::Core::JsonRepresentation
555
+ property :description, as: 'description'
556
+ property :network, as: 'network'
557
+ end
558
+ end
559
+
560
+ class NewOnDemandInstancesConfig
561
+ # @private
562
+ class Representation < Google::Apis::Core::JsonRepresentation
563
+ property :machine_type, as: 'machineType'
564
+ property :zone, as: 'zone'
565
+ end
566
+ end
567
+
568
+ class NewReservedInstancesConfig
569
+ # @private
570
+ class Representation < Google::Apis::Core::JsonRepresentation
571
+ property :reservation, as: 'reservation'
572
+ end
573
+ end
574
+
575
+ class NewSpotInstancesConfig
576
+ # @private
577
+ class Representation < Google::Apis::Core::JsonRepresentation
578
+ property :machine_type, as: 'machineType'
579
+ property :termination_action, as: 'terminationAction'
580
+ property :zone, as: 'zone'
581
+ end
582
+ end
583
+
584
+ class Operation
585
+ # @private
586
+ class Representation < Google::Apis::Core::JsonRepresentation
587
+ property :done, as: 'done'
588
+ property :error, as: 'error', class: Google::Apis::HypercomputeclusterV1::Status, decorator: Google::Apis::HypercomputeclusterV1::Status::Representation
589
+
590
+ hash :metadata, as: 'metadata'
591
+ property :name, as: 'name'
592
+ hash :response, as: 'response'
593
+ end
594
+ end
595
+
596
+ class OperationMetadata
597
+ # @private
598
+ class Representation < Google::Apis::Core::JsonRepresentation
599
+ property :api_version, as: 'apiVersion'
600
+ property :create_time, as: 'createTime'
601
+ property :end_time, as: 'endTime'
602
+ property :requested_cancellation, as: 'requestedCancellation'
603
+ property :target, as: 'target'
604
+ property :verb, as: 'verb'
605
+ end
606
+ end
607
+
608
+ class Orchestrator
609
+ # @private
610
+ class Representation < Google::Apis::Core::JsonRepresentation
611
+ property :slurm, as: 'slurm', class: Google::Apis::HypercomputeclusterV1::SlurmOrchestrator, decorator: Google::Apis::HypercomputeclusterV1::SlurmOrchestrator::Representation
612
+
613
+ end
614
+ end
615
+
616
+ class SlurmLoginNodes
617
+ # @private
618
+ class Representation < Google::Apis::Core::JsonRepresentation
619
+ property :boot_disk, as: 'bootDisk', class: Google::Apis::HypercomputeclusterV1::BootDisk, decorator: Google::Apis::HypercomputeclusterV1::BootDisk::Representation
620
+
621
+ property :count, :numeric_string => true, as: 'count'
622
+ property :enable_os_login, as: 'enableOsLogin'
623
+ property :enable_public_ips, as: 'enablePublicIps'
624
+ collection :instances, as: 'instances', class: Google::Apis::HypercomputeclusterV1::ComputeInstance, decorator: Google::Apis::HypercomputeclusterV1::ComputeInstance::Representation
625
+
626
+ hash :labels, as: 'labels'
627
+ property :machine_type, as: 'machineType'
628
+ property :startup_script, as: 'startupScript'
629
+ collection :storage_configs, as: 'storageConfigs', class: Google::Apis::HypercomputeclusterV1::StorageConfig, decorator: Google::Apis::HypercomputeclusterV1::StorageConfig::Representation
630
+
631
+ property :zone, as: 'zone'
632
+ end
633
+ end
634
+
635
+ class SlurmNodeSet
636
+ # @private
637
+ class Representation < Google::Apis::Core::JsonRepresentation
638
+ property :compute_id, as: 'computeId'
639
+ property :compute_instance, as: 'computeInstance', class: Google::Apis::HypercomputeclusterV1::ComputeInstanceSlurmNodeSet, decorator: Google::Apis::HypercomputeclusterV1::ComputeInstanceSlurmNodeSet::Representation
640
+
641
+ property :id, as: 'id'
642
+ property :max_dynamic_node_count, :numeric_string => true, as: 'maxDynamicNodeCount'
643
+ property :static_node_count, :numeric_string => true, as: 'staticNodeCount'
644
+ collection :storage_configs, as: 'storageConfigs', class: Google::Apis::HypercomputeclusterV1::StorageConfig, decorator: Google::Apis::HypercomputeclusterV1::StorageConfig::Representation
645
+
646
+ end
647
+ end
648
+
649
+ class SlurmOrchestrator
650
+ # @private
651
+ class Representation < Google::Apis::Core::JsonRepresentation
652
+ property :default_partition, as: 'defaultPartition'
653
+ collection :epilog_bash_scripts, as: 'epilogBashScripts'
654
+ property :login_nodes, as: 'loginNodes', class: Google::Apis::HypercomputeclusterV1::SlurmLoginNodes, decorator: Google::Apis::HypercomputeclusterV1::SlurmLoginNodes::Representation
655
+
656
+ collection :node_sets, as: 'nodeSets', class: Google::Apis::HypercomputeclusterV1::SlurmNodeSet, decorator: Google::Apis::HypercomputeclusterV1::SlurmNodeSet::Representation
657
+
658
+ collection :partitions, as: 'partitions', class: Google::Apis::HypercomputeclusterV1::SlurmPartition, decorator: Google::Apis::HypercomputeclusterV1::SlurmPartition::Representation
659
+
660
+ collection :prolog_bash_scripts, as: 'prologBashScripts'
661
+ end
662
+ end
663
+
664
+ class SlurmPartition
665
+ # @private
666
+ class Representation < Google::Apis::Core::JsonRepresentation
667
+ property :id, as: 'id'
668
+ collection :node_set_ids, as: 'nodeSetIds'
669
+ end
670
+ end
671
+
672
+ class Status
673
+ # @private
674
+ class Representation < Google::Apis::Core::JsonRepresentation
675
+ property :code, as: 'code'
676
+ collection :details, as: 'details'
677
+ property :message, as: 'message'
678
+ end
679
+ end
680
+
681
+ class StorageConfig
682
+ # @private
683
+ class Representation < Google::Apis::Core::JsonRepresentation
684
+ property :id, as: 'id'
685
+ property :local_mount, as: 'localMount'
686
+ end
687
+ end
688
+
689
+ class StorageResource
690
+ # @private
691
+ class Representation < Google::Apis::Core::JsonRepresentation
692
+ property :bucket, as: 'bucket', class: Google::Apis::HypercomputeclusterV1::BucketReference, decorator: Google::Apis::HypercomputeclusterV1::BucketReference::Representation
693
+
694
+ property :config, as: 'config', class: Google::Apis::HypercomputeclusterV1::StorageResourceConfig, decorator: Google::Apis::HypercomputeclusterV1::StorageResourceConfig::Representation
695
+
696
+ property :filestore, as: 'filestore', class: Google::Apis::HypercomputeclusterV1::FilestoreReference, decorator: Google::Apis::HypercomputeclusterV1::FilestoreReference::Representation
697
+
698
+ property :lustre, as: 'lustre', class: Google::Apis::HypercomputeclusterV1::LustreReference, decorator: Google::Apis::HypercomputeclusterV1::LustreReference::Representation
699
+
700
+ end
701
+ end
702
+
703
+ class StorageResourceConfig
704
+ # @private
705
+ class Representation < Google::Apis::Core::JsonRepresentation
706
+ property :existing_bucket, as: 'existingBucket', class: Google::Apis::HypercomputeclusterV1::ExistingBucketConfig, decorator: Google::Apis::HypercomputeclusterV1::ExistingBucketConfig::Representation
707
+
708
+ property :existing_filestore, as: 'existingFilestore', class: Google::Apis::HypercomputeclusterV1::ExistingFilestoreConfig, decorator: Google::Apis::HypercomputeclusterV1::ExistingFilestoreConfig::Representation
709
+
710
+ property :existing_lustre, as: 'existingLustre', class: Google::Apis::HypercomputeclusterV1::ExistingLustreConfig, decorator: Google::Apis::HypercomputeclusterV1::ExistingLustreConfig::Representation
711
+
712
+ property :new_bucket, as: 'newBucket', class: Google::Apis::HypercomputeclusterV1::NewBucketConfig, decorator: Google::Apis::HypercomputeclusterV1::NewBucketConfig::Representation
713
+
714
+ property :new_filestore, as: 'newFilestore', class: Google::Apis::HypercomputeclusterV1::NewFilestoreConfig, decorator: Google::Apis::HypercomputeclusterV1::NewFilestoreConfig::Representation
715
+
716
+ property :new_lustre, as: 'newLustre', class: Google::Apis::HypercomputeclusterV1::NewLustreConfig, decorator: Google::Apis::HypercomputeclusterV1::NewLustreConfig::Representation
717
+
718
+ end
719
+ end
720
+ end
721
+ end
722
+ end