google-cloud-hypercompute_cluster-v1beta 1.2.0 → 1.3.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.
- checksums.yaml +4 -4
- data/README.md +2 -3
- data/lib/google/cloud/hypercompute_cluster/v1beta/hypercompute_cluster/client.rb +122 -3
- data/lib/google/cloud/hypercompute_cluster/v1beta/hypercompute_cluster/paths.rb +221 -7
- data/lib/google/cloud/hypercompute_cluster/v1beta/hypercompute_cluster/rest/client.rb +115 -3
- data/lib/google/cloud/hypercompute_cluster/v1beta/hypercompute_cluster/rest/service_stub.rb +61 -0
- data/lib/google/cloud/hypercompute_cluster/v1beta/version.rb +1 -1
- data/lib/google/cloud/hypercomputecluster/v1beta/hypercompute_cluster_pb.rb +16 -1
- data/lib/google/cloud/hypercomputecluster/v1beta/hypercompute_cluster_services_pb.rb +3 -1
- data/lib/google/cloud/hypercomputecluster/v1beta/operation_metadata_pb.rb +27 -1
- data/proto_docs/google/cloud/hypercomputecluster/v1beta/hypercompute_cluster.rb +615 -39
- data/proto_docs/google/cloud/hypercomputecluster/v1beta/operation_metadata.rb +371 -0
- metadata +10 -7
|
@@ -34,7 +34,8 @@ module Google
|
|
|
34
34
|
# `projects/{project}/locations/{location}/clusters/{cluster}`.
|
|
35
35
|
# @!attribute [rw] description
|
|
36
36
|
# @return [::String]
|
|
37
|
-
# Optional.
|
|
37
|
+
# Optional. A description for your cluster. You can use up to 2,048
|
|
38
|
+
# characters.
|
|
38
39
|
# @!attribute [rw] labels
|
|
39
40
|
# @return [::Google::Protobuf::Map{::String => ::String}]
|
|
40
41
|
# Optional.
|
|
@@ -54,7 +55,7 @@ module Google
|
|
|
54
55
|
# cluster's intended state.
|
|
55
56
|
# @!attribute [rw] network_resources
|
|
56
57
|
# @return [::Google::Protobuf::Map{::String => ::Google::Cloud::HypercomputeCluster::V1beta::NetworkResource}]
|
|
57
|
-
# Optional. Network resources available to the cluster. Must contain
|
|
58
|
+
# Optional. Network resources available to the cluster. Must contain exactly
|
|
58
59
|
# one value. Keys specify the ID of the network resource by which it can be
|
|
59
60
|
# referenced elsewhere, and must conform to
|
|
60
61
|
# [RFC-1034](https://datatracker.ietf.org/doc/html/rfc1034) (lower-case,
|
|
@@ -75,6 +76,9 @@ module Google
|
|
|
75
76
|
# @return [::Google::Cloud::HypercomputeCluster::V1beta::Orchestrator]
|
|
76
77
|
# Optional. Orchestrator that is responsible for scheduling and running jobs
|
|
77
78
|
# on the cluster.
|
|
79
|
+
# @!attribute [r] uid
|
|
80
|
+
# @return [::String]
|
|
81
|
+
# Output only. The globally unique identifier for this Cluster.
|
|
78
82
|
class Cluster
|
|
79
83
|
include ::Google::Protobuf::MessageExts
|
|
80
84
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
@@ -188,9 +192,10 @@ module Google
|
|
|
188
192
|
# format `projects/{project}/locations/{location}`.
|
|
189
193
|
# @!attribute [rw] cluster_id
|
|
190
194
|
# @return [::String]
|
|
191
|
-
# Required. ID of the cluster to create.
|
|
192
|
-
#
|
|
193
|
-
#
|
|
195
|
+
# Required. The ID of the cluster to create.
|
|
196
|
+
# The cluster ID must start with a lowercase letter (`a`-`z`), use only
|
|
197
|
+
# lowercase letters or numbers, and contain up to 10 characters. For example,
|
|
198
|
+
# specify `cluster001`.
|
|
194
199
|
# @!attribute [rw] cluster
|
|
195
200
|
# @return [::Google::Cloud::HypercomputeCluster::V1beta::Cluster]
|
|
196
201
|
# Required. Cluster to create.
|
|
@@ -240,11 +245,59 @@ module Google
|
|
|
240
245
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
241
246
|
end
|
|
242
247
|
|
|
248
|
+
# Request message for
|
|
249
|
+
# {::Google::Cloud::HypercomputeCluster::V1beta::HypercomputeCluster::Client#list_nodes ListNodes}.
|
|
250
|
+
# @!attribute [rw] parent
|
|
251
|
+
# @return [::String]
|
|
252
|
+
# Required. Parent cluster of the nodes to list, in the format
|
|
253
|
+
# `projects/{project}/locations/{location}/clusters/{cluster}`.
|
|
254
|
+
# @!attribute [rw] page_size
|
|
255
|
+
# @return [::Integer]
|
|
256
|
+
# Optional. Maximum number of nodes to return. The service may return fewer
|
|
257
|
+
# than this value.
|
|
258
|
+
# @!attribute [rw] page_token
|
|
259
|
+
# @return [::String]
|
|
260
|
+
# Optional. A page token received from a previous `ListNodes` call. Provide
|
|
261
|
+
# this to retrieve the subsequent page. When paginating, all other parameters
|
|
262
|
+
# provided to `ListNodes` must match the call that provided the page
|
|
263
|
+
# token.
|
|
264
|
+
# @!attribute [rw] filter
|
|
265
|
+
# @return [::String]
|
|
266
|
+
# Optional. [Filter](https://google.aip.dev/160) to apply to the returned
|
|
267
|
+
# results.
|
|
268
|
+
# @!attribute [rw] order_by
|
|
269
|
+
# @return [::String]
|
|
270
|
+
# Optional. How to order the resulting nodes. Must be one of the following
|
|
271
|
+
# strings:
|
|
272
|
+
#
|
|
273
|
+
# * `name`
|
|
274
|
+
# * `name desc`
|
|
275
|
+
#
|
|
276
|
+
# If not specified, nodes will be returned in an arbitrary order.
|
|
277
|
+
class ListNodesRequest
|
|
278
|
+
include ::Google::Protobuf::MessageExts
|
|
279
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
280
|
+
end
|
|
281
|
+
|
|
282
|
+
# Response message for
|
|
283
|
+
# {::Google::Cloud::HypercomputeCluster::V1beta::HypercomputeCluster::Client#list_nodes ListNodes}.
|
|
284
|
+
# @!attribute [rw] nodes
|
|
285
|
+
# @return [::Array<::Google::Cloud::HypercomputeCluster::V1beta::Node>]
|
|
286
|
+
# Nodes in the specified cluster.
|
|
287
|
+
# @!attribute [rw] next_page_token
|
|
288
|
+
# @return [::String]
|
|
289
|
+
# A token that can be sent as `page_token` to retrieve the next page. If this
|
|
290
|
+
# field is absent, there are no subsequent pages.
|
|
291
|
+
class ListNodesResponse
|
|
292
|
+
include ::Google::Protobuf::MessageExts
|
|
293
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
294
|
+
end
|
|
295
|
+
|
|
243
296
|
# A resource representing a network that connects the various components of a
|
|
244
297
|
# cluster together.
|
|
245
|
-
# @!attribute [
|
|
298
|
+
# @!attribute [r] network
|
|
246
299
|
# @return [::Google::Cloud::HypercomputeCluster::V1beta::NetworkReference]
|
|
247
|
-
#
|
|
300
|
+
# Output only. A reference to a network in Google Compute Engine.
|
|
248
301
|
# @!attribute [rw] config
|
|
249
302
|
# @return [::Google::Cloud::HypercomputeCluster::V1beta::NetworkResourceConfig]
|
|
250
303
|
# Immutable. Configuration for this network resource, which describes how it
|
|
@@ -325,24 +378,25 @@ module Google
|
|
|
325
378
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
326
379
|
end
|
|
327
380
|
|
|
328
|
-
#
|
|
329
|
-
#
|
|
330
|
-
# @!attribute [
|
|
381
|
+
# Represents a form of persistent storage that you can mount onto compute
|
|
382
|
+
# resources in the cluster.
|
|
383
|
+
# @!attribute [r] filestore
|
|
331
384
|
# @return [::Google::Cloud::HypercomputeCluster::V1beta::FilestoreReference]
|
|
332
|
-
#
|
|
333
|
-
# resource was configured to use Filestore.
|
|
385
|
+
# Output only. A reference to a Filestore instance. Populated if and only
|
|
386
|
+
# if the storage resource was configured to use Filestore.
|
|
334
387
|
#
|
|
335
388
|
# Note: The following fields are mutually exclusive: `filestore`, `bucket`, `lustre`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
|
336
|
-
# @!attribute [
|
|
389
|
+
# @!attribute [r] bucket
|
|
337
390
|
# @return [::Google::Cloud::HypercomputeCluster::V1beta::BucketReference]
|
|
338
|
-
#
|
|
339
|
-
# storage resource was configured to use Google Cloud
|
|
391
|
+
# Output only. A reference to a Google Cloud Storage bucket. Populated if
|
|
392
|
+
# and only if the storage resource was configured to use Google Cloud
|
|
393
|
+
# Storage.
|
|
340
394
|
#
|
|
341
395
|
# Note: The following fields are mutually exclusive: `bucket`, `filestore`, `lustre`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
|
342
|
-
# @!attribute [
|
|
396
|
+
# @!attribute [r] lustre
|
|
343
397
|
# @return [::Google::Cloud::HypercomputeCluster::V1beta::LustreReference]
|
|
344
|
-
#
|
|
345
|
-
# storage resource was configured to use Managed Lustre.
|
|
398
|
+
# Output only. A reference to a Managed Lustre instance. Populated if and
|
|
399
|
+
# only if the storage resource was configured to use Managed Lustre.
|
|
346
400
|
#
|
|
347
401
|
# Note: The following fields are mutually exclusive: `lustre`, `filestore`, `bucket`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
|
348
402
|
# @!attribute [rw] config
|
|
@@ -396,37 +450,43 @@ module Google
|
|
|
396
450
|
# Optional. Immutable. If set, indicates that a new Filestore instance
|
|
397
451
|
# should be created.
|
|
398
452
|
#
|
|
399
|
-
# Note: The following fields are mutually exclusive: `new_filestore`, `existing_filestore`, `new_bucket`, `existing_bucket`, `new_lustre`, `existing_lustre`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
|
453
|
+
# Note: The following fields are mutually exclusive: `new_filestore`, `existing_filestore`, `new_bucket`, `existing_bucket`, `new_lustre`, `existing_lustre`, `existing_nfs`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
|
400
454
|
# @!attribute [rw] existing_filestore
|
|
401
455
|
# @return [::Google::Cloud::HypercomputeCluster::V1beta::ExistingFilestoreConfig]
|
|
402
456
|
# Optional. Immutable. If set, indicates that an existing Filestore
|
|
403
457
|
# instance should be imported.
|
|
404
458
|
#
|
|
405
|
-
# Note: The following fields are mutually exclusive: `existing_filestore`, `new_filestore`, `new_bucket`, `existing_bucket`, `new_lustre`, `existing_lustre`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
|
459
|
+
# Note: The following fields are mutually exclusive: `existing_filestore`, `new_filestore`, `new_bucket`, `existing_bucket`, `new_lustre`, `existing_lustre`, `existing_nfs`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
|
406
460
|
# @!attribute [rw] new_bucket
|
|
407
461
|
# @return [::Google::Cloud::HypercomputeCluster::V1beta::NewBucketConfig]
|
|
408
462
|
# Optional. Immutable. If set, indicates that a new Cloud Storage bucket
|
|
409
463
|
# should be created.
|
|
410
464
|
#
|
|
411
|
-
# Note: The following fields are mutually exclusive: `new_bucket`, `new_filestore`, `existing_filestore`, `existing_bucket`, `new_lustre`, `existing_lustre`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
|
465
|
+
# Note: The following fields are mutually exclusive: `new_bucket`, `new_filestore`, `existing_filestore`, `existing_bucket`, `new_lustre`, `existing_lustre`, `existing_nfs`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
|
412
466
|
# @!attribute [rw] existing_bucket
|
|
413
467
|
# @return [::Google::Cloud::HypercomputeCluster::V1beta::ExistingBucketConfig]
|
|
414
468
|
# Optional. Immutable. If set, indicates that an existing Cloud Storage
|
|
415
469
|
# bucket should be imported.
|
|
416
470
|
#
|
|
417
|
-
# Note: The following fields are mutually exclusive: `existing_bucket`, `new_filestore`, `existing_filestore`, `new_bucket`, `new_lustre`, `existing_lustre`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
|
471
|
+
# Note: The following fields are mutually exclusive: `existing_bucket`, `new_filestore`, `existing_filestore`, `new_bucket`, `new_lustre`, `existing_lustre`, `existing_nfs`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
|
418
472
|
# @!attribute [rw] new_lustre
|
|
419
473
|
# @return [::Google::Cloud::HypercomputeCluster::V1beta::NewLustreConfig]
|
|
420
474
|
# Optional. Immutable. If set, indicates that a new Managed Lustre instance
|
|
421
475
|
# should be created.
|
|
422
476
|
#
|
|
423
|
-
# Note: The following fields are mutually exclusive: `new_lustre`, `new_filestore`, `existing_filestore`, `new_bucket`, `existing_bucket`, `existing_lustre`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
|
477
|
+
# Note: The following fields are mutually exclusive: `new_lustre`, `new_filestore`, `existing_filestore`, `new_bucket`, `existing_bucket`, `existing_lustre`, `existing_nfs`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
|
424
478
|
# @!attribute [rw] existing_lustre
|
|
425
479
|
# @return [::Google::Cloud::HypercomputeCluster::V1beta::ExistingLustreConfig]
|
|
426
480
|
# Optional. Immutable. If set, indicates that an existing Managed Lustre
|
|
427
481
|
# instance should be imported.
|
|
428
482
|
#
|
|
429
|
-
# Note: The following fields are mutually exclusive: `existing_lustre`, `new_filestore`, `existing_filestore`, `new_bucket`, `existing_bucket`, `new_lustre`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
|
483
|
+
# Note: The following fields are mutually exclusive: `existing_lustre`, `new_filestore`, `existing_filestore`, `new_bucket`, `existing_bucket`, `new_lustre`, `existing_nfs`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
|
484
|
+
# @!attribute [rw] existing_nfs
|
|
485
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::ExistingNfsConfig]
|
|
486
|
+
# Optional. Immutable. If set, indicates that an existing NFS share should
|
|
487
|
+
# be imported.
|
|
488
|
+
#
|
|
489
|
+
# Note: The following fields are mutually exclusive: `existing_nfs`, `new_filestore`, `existing_filestore`, `new_bucket`, `existing_bucket`, `new_lustre`, `existing_lustre`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
|
430
490
|
class StorageResourceConfig
|
|
431
491
|
include ::Google::Protobuf::MessageExts
|
|
432
492
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
@@ -439,7 +499,7 @@ module Google
|
|
|
439
499
|
# @!attribute [rw] filestore
|
|
440
500
|
# @return [::String]
|
|
441
501
|
# Required. Immutable. Name of the Filestore instance to create, in the
|
|
442
|
-
# format `projects/{project}/locations/{location}/instances/{instance}
|
|
502
|
+
# format `projects/{project}/locations/{location}/instances/{instance}`.
|
|
443
503
|
# @!attribute [rw] description
|
|
444
504
|
# @return [::String]
|
|
445
505
|
# Optional. Immutable. Description of the instance. Maximum of 2048
|
|
@@ -561,6 +621,9 @@ module Google
|
|
|
561
621
|
# Lowest-cost storage for data archiving, online backup, and disaster
|
|
562
622
|
# recovery.
|
|
563
623
|
ARCHIVE = 4
|
|
624
|
+
|
|
625
|
+
# Storage class optimized for I/O intensive workloads.
|
|
626
|
+
RAPID = 5
|
|
564
627
|
end
|
|
565
628
|
end
|
|
566
629
|
|
|
@@ -579,6 +642,12 @@ module Google
|
|
|
579
642
|
module TerminalStorageClass
|
|
580
643
|
# Unspecified terminal storage class
|
|
581
644
|
TERMINAL_STORAGE_CLASS_UNSPECIFIED = 0
|
|
645
|
+
|
|
646
|
+
# Nearline terminal storage class
|
|
647
|
+
NEARLINE = 1
|
|
648
|
+
|
|
649
|
+
# Archive terminal storage class
|
|
650
|
+
ARCHIVE = 2
|
|
582
651
|
end
|
|
583
652
|
end
|
|
584
653
|
|
|
@@ -625,6 +694,12 @@ module Google
|
|
|
625
694
|
# @return [::Integer]
|
|
626
695
|
# Required. Immutable. Storage capacity of the instance in gibibytes (GiB).
|
|
627
696
|
# Allowed values are between 18000 and 7632000.
|
|
697
|
+
# @!attribute [rw] per_unit_storage_throughput
|
|
698
|
+
# @return [::Integer]
|
|
699
|
+
# Optional. Immutable. Throughput of the instance in MB/s/TiB. Valid values
|
|
700
|
+
# are 125, 250, 500, 1000. See [Performance tiers and maximum storage
|
|
701
|
+
# capacities](https://cloud.google.com/managed-lustre/docs/create-instance#performance-tiers)
|
|
702
|
+
# for more information.
|
|
628
703
|
class NewLustreConfig
|
|
629
704
|
include ::Google::Protobuf::MessageExts
|
|
630
705
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
@@ -644,6 +719,24 @@ module Google
|
|
|
644
719
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
645
720
|
end
|
|
646
721
|
|
|
722
|
+
# When set in a
|
|
723
|
+
# {::Google::Cloud::HypercomputeCluster::V1beta::StorageResourceConfig StorageResourceConfig},
|
|
724
|
+
# indicates that an existing NFS share should be imported.
|
|
725
|
+
# @!attribute [rw] server_ip_address
|
|
726
|
+
# @return [::String]
|
|
727
|
+
# Required. Immutable. Server IP address of the NFS share.
|
|
728
|
+
# @!attribute [rw] remote_mount
|
|
729
|
+
# @return [::String]
|
|
730
|
+
# Required. Immutable. Remote mount path of the NFS share.
|
|
731
|
+
# @!attribute [rw] mount_options
|
|
732
|
+
# @return [::String]
|
|
733
|
+
# Optional. Immutable. Options to mount the NFS share, as expected by
|
|
734
|
+
# fs_mntops field infstab(5), for example: "rw,vers=4.1,nconnect=2,noatime".
|
|
735
|
+
class ExistingNfsConfig
|
|
736
|
+
include ::Google::Protobuf::MessageExts
|
|
737
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
738
|
+
end
|
|
739
|
+
|
|
647
740
|
# A resource defining how virtual machines and accelerators should be
|
|
648
741
|
# provisioned for the cluster.
|
|
649
742
|
# @!attribute [rw] config
|
|
@@ -699,6 +792,10 @@ module Google
|
|
|
699
792
|
# Required. Immutable. Name of the Compute Engine [machine
|
|
700
793
|
# type](https://cloud.google.com/compute/docs/machine-resource) to use, e.g.
|
|
701
794
|
# `n2-standard-2`.
|
|
795
|
+
# @!attribute [rw] network_tags
|
|
796
|
+
# @return [::Array<::String>]
|
|
797
|
+
# Optional. Immutable. A list of network tags to attach to the VM instances.
|
|
798
|
+
# A maximum of 64 network tags are allowed.
|
|
702
799
|
class NewOnDemandInstancesConfig
|
|
703
800
|
include ::Google::Protobuf::MessageExts
|
|
704
801
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
@@ -719,9 +816,29 @@ module Google
|
|
|
719
816
|
# Required. Immutable. Name of the Compute Engine [machine
|
|
720
817
|
# type](https://cloud.google.com/compute/docs/machine-resource) to use, e.g.
|
|
721
818
|
# `n2-standard-2`.
|
|
819
|
+
# @!attribute [rw] termination_action
|
|
820
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::NewSpotInstancesConfig::TerminationAction]
|
|
821
|
+
# Optional. Termination action for the instance. If not specified, Compute
|
|
822
|
+
# Engine sets the termination action to DELETE.
|
|
823
|
+
# @!attribute [rw] network_tags
|
|
824
|
+
# @return [::Array<::String>]
|
|
825
|
+
# Optional. Immutable. A list of network tags to attach to the VM instances.
|
|
826
|
+
# A maximum of 64 network tags are allowed.
|
|
722
827
|
class NewSpotInstancesConfig
|
|
723
828
|
include ::Google::Protobuf::MessageExts
|
|
724
829
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
830
|
+
|
|
831
|
+
# Specifies the termination action of the instance.
|
|
832
|
+
module TerminationAction
|
|
833
|
+
# Not set.
|
|
834
|
+
TERMINATION_ACTION_UNSPECIFIED = 0
|
|
835
|
+
|
|
836
|
+
# Compute Engine stops the Spot VM on preemption.
|
|
837
|
+
STOP = 1
|
|
838
|
+
|
|
839
|
+
# Compute Engine deletes the Spot VM on preemption.
|
|
840
|
+
DELETE = 2
|
|
841
|
+
end
|
|
725
842
|
end
|
|
726
843
|
|
|
727
844
|
# When set in a
|
|
@@ -733,6 +850,26 @@ module Google
|
|
|
733
850
|
# Optional. Immutable. Name of the reservation from which VM instances
|
|
734
851
|
# should be created, in the format
|
|
735
852
|
# `projects/{project}/zones/{zone}/reservations/{reservation}`.
|
|
853
|
+
#
|
|
854
|
+
# Note: The following fields are mutually exclusive: `reservation`, `reservation_block`, `reservation_sub_block`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
|
855
|
+
# @!attribute [rw] reservation_block
|
|
856
|
+
# @return [::String]
|
|
857
|
+
# Optional. Immutable. Name of the reservation block from which VM
|
|
858
|
+
# instances should be created, in the format
|
|
859
|
+
# `projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks/{reservation_block}`.
|
|
860
|
+
#
|
|
861
|
+
# Note: The following fields are mutually exclusive: `reservation_block`, `reservation`, `reservation_sub_block`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
|
862
|
+
# @!attribute [rw] reservation_sub_block
|
|
863
|
+
# @return [::String]
|
|
864
|
+
# Optional. Immutable. Name of the reservation sub block from which VM
|
|
865
|
+
# instances should be created, in the format
|
|
866
|
+
# `projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks/{reservation_block}/reservationSubBlocks/{reservation_sub_block}`.
|
|
867
|
+
#
|
|
868
|
+
# Note: The following fields are mutually exclusive: `reservation_sub_block`, `reservation`, `reservation_block`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
|
869
|
+
# @!attribute [rw] network_tags
|
|
870
|
+
# @return [::Array<::String>]
|
|
871
|
+
# Optional. Immutable. A list of network tags to attach to the VM instances.
|
|
872
|
+
# A maximum of 64 network tags are allowed.
|
|
736
873
|
class NewReservedInstancesConfig
|
|
737
874
|
include ::Google::Protobuf::MessageExts
|
|
738
875
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
@@ -756,6 +893,10 @@ module Google
|
|
|
756
893
|
# @return [::Google::Protobuf::Duration]
|
|
757
894
|
# Required. Immutable. Specifies the time limit for created instances.
|
|
758
895
|
# Instances will be terminated at the end of this duration.
|
|
896
|
+
# @!attribute [rw] network_tags
|
|
897
|
+
# @return [::Array<::String>]
|
|
898
|
+
# Optional. Immutable. A list of network tags to attach to the VM instances.
|
|
899
|
+
# A maximum of 64 network tags are allowed.
|
|
759
900
|
class NewFlexStartInstancesConfig
|
|
760
901
|
include ::Google::Protobuf::MessageExts
|
|
761
902
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
@@ -765,12 +906,22 @@ module Google
|
|
|
765
906
|
# boot disk for a Compute Engine VM instance.
|
|
766
907
|
# @!attribute [rw] type
|
|
767
908
|
# @return [::String]
|
|
768
|
-
#
|
|
909
|
+
# Optional. [Persistent disk
|
|
769
910
|
# type](https://cloud.google.com/compute/docs/disks#disk-types), in the
|
|
770
911
|
# format `projects/{project}/zones/{zone}/diskTypes/{disk_type}`.
|
|
771
912
|
# @!attribute [rw] size_gb
|
|
772
913
|
# @return [::Integer]
|
|
773
|
-
#
|
|
914
|
+
# Optional. The size of the disk in gigabytes (GB), which must be at least 40
|
|
915
|
+
# GB.
|
|
916
|
+
# @!attribute [rw] storage_pools
|
|
917
|
+
# @return [::Array<::String>]
|
|
918
|
+
# Optional. The [storage
|
|
919
|
+
# pools](https://docs.cloud.google.com/compute/docs/disks/storage-pools) used
|
|
920
|
+
# for creating the boot disk, in the format:
|
|
921
|
+
# `projects/{project}/zones/{zone}/storagePools/{storage_pool}`.
|
|
922
|
+
#
|
|
923
|
+
# Currently, only one Hyperdisk Balanced storage pool is supported.
|
|
924
|
+
# The storage pool must reside in the same zone as the compute instance.
|
|
774
925
|
class BootDisk
|
|
775
926
|
include ::Google::Protobuf::MessageExts
|
|
776
927
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
@@ -783,6 +934,14 @@ module Google
|
|
|
783
934
|
# @return [::Google::Cloud::HypercomputeCluster::V1beta::SlurmOrchestrator]
|
|
784
935
|
# Optional. If set, indicates that the cluster should use Slurm as the
|
|
785
936
|
# orchestrator.
|
|
937
|
+
#
|
|
938
|
+
# Note: The following fields are mutually exclusive: `slurm`, `compute_engine`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
|
939
|
+
# @!attribute [rw] compute_engine
|
|
940
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::ComputeEngineOrchestrator]
|
|
941
|
+
# Optional. If set, indicates that the cluster should use Compute Engine as
|
|
942
|
+
# the orchestrator.
|
|
943
|
+
#
|
|
944
|
+
# Note: The following fields are mutually exclusive: `compute_engine`, `slurm`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
|
786
945
|
class Orchestrator
|
|
787
946
|
include ::Google::Protobuf::MessageExts
|
|
788
947
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
@@ -798,13 +957,14 @@ module Google
|
|
|
798
957
|
# cluster over SSH.
|
|
799
958
|
# @!attribute [rw] node_sets
|
|
800
959
|
# @return [::Array<::Google::Cloud::HypercomputeCluster::V1beta::SlurmNodeSet>]
|
|
801
|
-
#
|
|
802
|
-
#
|
|
960
|
+
# Optional. Compute resource configuration for the Slurm nodesets in your
|
|
961
|
+
# cluster. If not specified, the cluster won't create any nodes.
|
|
803
962
|
# @!attribute [rw] partitions
|
|
804
963
|
# @return [::Array<::Google::Cloud::HypercomputeCluster::V1beta::SlurmPartition>]
|
|
805
|
-
#
|
|
806
|
-
#
|
|
807
|
-
# partition
|
|
964
|
+
# Optional. Configuration for the Slurm partitions in your cluster. Each
|
|
965
|
+
# partition can contain one or more nodesets, and you can submit separate
|
|
966
|
+
# jobs on each partition. If you don't specify at least one partition in your
|
|
967
|
+
# cluster, you can't submit jobs to the cluster.
|
|
808
968
|
# @!attribute [rw] default_partition
|
|
809
969
|
# @return [::String]
|
|
810
970
|
# Optional. Default partition to use for submitted jobs that do not
|
|
@@ -836,15 +996,15 @@ module Google
|
|
|
836
996
|
# Engine instances.
|
|
837
997
|
# @!attribute [rw] id
|
|
838
998
|
# @return [::String]
|
|
839
|
-
# Required.
|
|
840
|
-
# partitions.
|
|
841
|
-
#
|
|
842
|
-
#
|
|
999
|
+
# Required. The ID for the nodeset, which allows it to be referenced by
|
|
1000
|
+
# cluster partitions. The nodeset ID must start with a lowercase letter
|
|
1001
|
+
# (`a`-`z`), use only lowercase letters or numbers, and contain up to 15
|
|
1002
|
+
# characters. For example, specify `nodeset001`.
|
|
843
1003
|
# @!attribute [rw] compute_id
|
|
844
1004
|
# @return [::String]
|
|
845
|
-
#
|
|
1005
|
+
# Required. The ID of the compute resource on which this nodeset runs. Must
|
|
846
1006
|
# match a key in the cluster's
|
|
847
|
-
#
|
|
1007
|
+
# {::Google::Cloud::HypercomputeCluster::V1beta::Cluster#compute_resources compute_resources}.
|
|
848
1008
|
# @!attribute [rw] storage_configs
|
|
849
1009
|
# @return [::Array<::Google::Cloud::HypercomputeCluster::V1beta::StorageConfig>]
|
|
850
1010
|
# Optional. How [storage
|
|
@@ -862,6 +1022,9 @@ module Google
|
|
|
862
1022
|
# the number of additional nodes the cluster can bring online. Leave empty if
|
|
863
1023
|
# you do not want the cluster to create nodes dynamically, and instead rely
|
|
864
1024
|
# only on static nodes.
|
|
1025
|
+
# @!attribute [rw] resource_policy_config
|
|
1026
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::ResourcePolicyConfig]
|
|
1027
|
+
# Optional. Resource policy configuration for the nodeset.
|
|
865
1028
|
class SlurmNodeSet
|
|
866
1029
|
include ::Google::Protobuf::MessageExts
|
|
867
1030
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
@@ -897,6 +1060,17 @@ module Google
|
|
|
897
1060
|
end
|
|
898
1061
|
end
|
|
899
1062
|
|
|
1063
|
+
# Policy describing how VM instances should be created.
|
|
1064
|
+
# @!attribute [rw] accelerator_topology
|
|
1065
|
+
# @return [::String]
|
|
1066
|
+
# Optional. Specifies the topology required to create a partition for VMs
|
|
1067
|
+
# that have interconnected accelerators, in the format `AxB` or `AxBxC`,
|
|
1068
|
+
# where `A`, `B`, and `C` are integers.
|
|
1069
|
+
class ResourcePolicyConfig
|
|
1070
|
+
include ::Google::Protobuf::MessageExts
|
|
1071
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
1072
|
+
end
|
|
1073
|
+
|
|
900
1074
|
# Configuration for Slurm partitions in the cluster. Partitions are groups of
|
|
901
1075
|
# nodesets, and are how clients specify where their workloads should be run.
|
|
902
1076
|
# @!attribute [rw] id
|
|
@@ -936,6 +1110,9 @@ module Google
|
|
|
936
1110
|
# Optional. [Startup
|
|
937
1111
|
# script](https://cloud.google.com/compute/docs/instances/startup-scripts/linux)
|
|
938
1112
|
# to be run on each login node instance. Max 256KB.
|
|
1113
|
+
# The script must complete within the system-defined default timeout of 5
|
|
1114
|
+
# minutes. For tasks that require more time, consider running them in the
|
|
1115
|
+
# background using methods such as `&` or `nohup`.
|
|
939
1116
|
# @!attribute [rw] enable_os_login
|
|
940
1117
|
# @return [::Boolean]
|
|
941
1118
|
# Optional. Whether [OS Login](https://cloud.google.com/compute/docs/oslogin)
|
|
@@ -961,6 +1138,10 @@ module Google
|
|
|
961
1138
|
# @!attribute [rw] boot_disk
|
|
962
1139
|
# @return [::Google::Cloud::HypercomputeCluster::V1beta::BootDisk]
|
|
963
1140
|
# Optional. Boot disk for the login node.
|
|
1141
|
+
# @!attribute [rw] network_tags
|
|
1142
|
+
# @return [::Array<::String>]
|
|
1143
|
+
# Optional. Network tags to be applied to each login node instance.
|
|
1144
|
+
# A maximum of 64 network tags are allowed.
|
|
964
1145
|
class SlurmLoginNodes
|
|
965
1146
|
include ::Google::Protobuf::MessageExts
|
|
966
1147
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
@@ -975,13 +1156,26 @@ module Google
|
|
|
975
1156
|
end
|
|
976
1157
|
end
|
|
977
1158
|
|
|
1159
|
+
# Service account email and scopes
|
|
1160
|
+
# @!attribute [rw] email
|
|
1161
|
+
# @return [::String]
|
|
1162
|
+
# Optional. Service account email
|
|
1163
|
+
# @!attribute [rw] scopes
|
|
1164
|
+
# @return [::Array<::String>]
|
|
1165
|
+
# Optional. Service account scopes
|
|
1166
|
+
class ServiceAccount
|
|
1167
|
+
include ::Google::Protobuf::MessageExts
|
|
1168
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
1169
|
+
end
|
|
1170
|
+
|
|
978
1171
|
# Description of how a [storage
|
|
979
1172
|
# resource][google.cloud.hypercomputecluster.v1beta.StorageResource] should be
|
|
980
1173
|
# mounted on a VM instance.
|
|
981
1174
|
# @!attribute [rw] id
|
|
982
1175
|
# @return [::String]
|
|
983
1176
|
# Required. ID of the storage resource to mount, which must match a key in
|
|
984
|
-
# the cluster's
|
|
1177
|
+
# the cluster's
|
|
1178
|
+
# {::Google::Cloud::HypercomputeCluster::V1beta::Cluster#storage_resources storage_resources}.
|
|
985
1179
|
# @!attribute [rw] local_mount
|
|
986
1180
|
# @return [::String]
|
|
987
1181
|
# Required. A directory inside the VM instance's file system where the
|
|
@@ -1001,6 +1195,388 @@ module Google
|
|
|
1001
1195
|
include ::Google::Protobuf::MessageExts
|
|
1002
1196
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
1003
1197
|
end
|
|
1198
|
+
|
|
1199
|
+
# A resource representing a compute node managed by Cluster Director.
|
|
1200
|
+
# @!attribute [rw] name
|
|
1201
|
+
# @return [::String]
|
|
1202
|
+
# Identifier. [Relative resource name](https://google.aip.dev/122) of the
|
|
1203
|
+
# node, in the format
|
|
1204
|
+
# `projects/{project}/locations/{location}/clusters/{cluster}/nodes/{node}`.
|
|
1205
|
+
# @!attribute [r] zone
|
|
1206
|
+
# @return [::String]
|
|
1207
|
+
# Output only. Name of the zone in which the node is running, e.g.
|
|
1208
|
+
# `us-central1-a`.
|
|
1209
|
+
# @!attribute [r] state
|
|
1210
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::Node::State]
|
|
1211
|
+
# Output only. High-level lifecycle state of the node.
|
|
1212
|
+
# @!attribute [r] state_message
|
|
1213
|
+
# @return [::String]
|
|
1214
|
+
# Output only. Human-readable message providing extra information about the
|
|
1215
|
+
# current state.
|
|
1216
|
+
# @!attribute [r] running_jobs
|
|
1217
|
+
# @return [::Boolean]
|
|
1218
|
+
# Output only. Indicates whether the node is currently executing workloads.
|
|
1219
|
+
# @!attribute [r] accepting_jobs
|
|
1220
|
+
# @return [::Boolean]
|
|
1221
|
+
# Output only. Indicates whether the node is available for new job
|
|
1222
|
+
# allocations.
|
|
1223
|
+
# @!attribute [r] provisioning_model
|
|
1224
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::Node::ProvisioningModel]
|
|
1225
|
+
# Output only. Provisioning model of the node.
|
|
1226
|
+
# @!attribute [r] slurm_details
|
|
1227
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::SlurmNodeDetails]
|
|
1228
|
+
# Output only. Slurm-specific details for the node.
|
|
1229
|
+
# @!attribute [r] compute_engine_details
|
|
1230
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::ComputeEngineNodeDetails]
|
|
1231
|
+
# Output only. Compute Engine-specific details for the node.
|
|
1232
|
+
# @!attribute [r] create_time
|
|
1233
|
+
# @return [::Google::Protobuf::Timestamp]
|
|
1234
|
+
# Output only. Time that the node was originally created.
|
|
1235
|
+
# @!attribute [r] update_time
|
|
1236
|
+
# @return [::Google::Protobuf::Timestamp]
|
|
1237
|
+
# Output only. Time that the node was most recently updated.
|
|
1238
|
+
class Node
|
|
1239
|
+
include ::Google::Protobuf::MessageExts
|
|
1240
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
1241
|
+
|
|
1242
|
+
# High-level lifecycle state of the node.
|
|
1243
|
+
module State
|
|
1244
|
+
# Not set.
|
|
1245
|
+
STATE_UNSPECIFIED = 0
|
|
1246
|
+
|
|
1247
|
+
# The node is being provisioned at the infrastructure layer or
|
|
1248
|
+
# initialized by the orchestrator.
|
|
1249
|
+
CREATING = 1
|
|
1250
|
+
|
|
1251
|
+
# The node is healthy and operational.
|
|
1252
|
+
ACTIVE = 2
|
|
1253
|
+
|
|
1254
|
+
# The node is transitioning to a stopped or suspended state.
|
|
1255
|
+
SUSPENDING = 3
|
|
1256
|
+
|
|
1257
|
+
# The node is suspended or stopped and not consuming compute resources.
|
|
1258
|
+
SUSPENDED = 4
|
|
1259
|
+
|
|
1260
|
+
# The node is undergoing maintenance or automatic recovery.
|
|
1261
|
+
REPAIRING = 5
|
|
1262
|
+
|
|
1263
|
+
# The node is in an unhealthy or terminal error state.
|
|
1264
|
+
FAILED = 6
|
|
1265
|
+
|
|
1266
|
+
# The node is being deleted.
|
|
1267
|
+
DELETING = 7
|
|
1268
|
+
|
|
1269
|
+
# The node has no VM assigned to it.
|
|
1270
|
+
UNPROVISIONED = 8
|
|
1271
|
+
end
|
|
1272
|
+
|
|
1273
|
+
# Provisioning model of the node.
|
|
1274
|
+
module ProvisioningModel
|
|
1275
|
+
# Not set.
|
|
1276
|
+
PROVISIONING_MODEL_UNSPECIFIED = 0
|
|
1277
|
+
|
|
1278
|
+
# The node is provisioned on demand. User controlled runtime, no discounts.
|
|
1279
|
+
ON_DEMAND = 1
|
|
1280
|
+
|
|
1281
|
+
# The node is provisioned as a spot VM. Heavily discounted, no guaranteed
|
|
1282
|
+
# runtime.
|
|
1283
|
+
SPOT = 2
|
|
1284
|
+
|
|
1285
|
+
# The node is provisioned as a reservation-bound VM. Bound to the lifecycle
|
|
1286
|
+
# of the reservation in which it is provisioned.
|
|
1287
|
+
RESERVATION_BOUND = 3
|
|
1288
|
+
|
|
1289
|
+
# The node is provisioned as a flex-start VM. Has a limited runtime.
|
|
1290
|
+
FLEX_START = 4
|
|
1291
|
+
end
|
|
1292
|
+
end
|
|
1293
|
+
|
|
1294
|
+
# Slurm-specific details for a Node.
|
|
1295
|
+
# @!attribute [r] states
|
|
1296
|
+
# @return [::Array<::String>]
|
|
1297
|
+
# Output only. Raw state flags directly from Slurm.
|
|
1298
|
+
# @!attribute [r] reason
|
|
1299
|
+
# @return [::String]
|
|
1300
|
+
# Output only. User-readable reason for the current state.
|
|
1301
|
+
# @!attribute [r] partitions
|
|
1302
|
+
# @return [::Array<::String>]
|
|
1303
|
+
# Output only. Slurm partitions this node belongs to.
|
|
1304
|
+
# @!attribute [r] nodeset
|
|
1305
|
+
# @return [::String]
|
|
1306
|
+
# Output only. The ID of the nodeset this node belongs to.
|
|
1307
|
+
# @!attribute [r] comment
|
|
1308
|
+
# @return [::String]
|
|
1309
|
+
# Output only. System comments from Slurm.
|
|
1310
|
+
class SlurmNodeDetails
|
|
1311
|
+
include ::Google::Protobuf::MessageExts
|
|
1312
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
1313
|
+
end
|
|
1314
|
+
|
|
1315
|
+
# Compute Engine-specific details for a Node.
|
|
1316
|
+
# @!attribute [r] instance
|
|
1317
|
+
# @return [::String]
|
|
1318
|
+
# Output only. [Relative resource name](https://google.aip.dev/122) of the VM
|
|
1319
|
+
# instance, in the format
|
|
1320
|
+
# `projects/{project}/zones/{zone}/instances/{instance}`.
|
|
1321
|
+
# @!attribute [r] machine_type
|
|
1322
|
+
# @return [::String]
|
|
1323
|
+
# Output only. Name of the Compute Engine [machine
|
|
1324
|
+
# type](https://cloud.google.com/compute/docs/machine-resource) to use, e.g.
|
|
1325
|
+
# `n2-standard-2`.
|
|
1326
|
+
# @!attribute [r] state
|
|
1327
|
+
# @return [::String]
|
|
1328
|
+
# Output only. The Compute Engine VM [instance lifecycle
|
|
1329
|
+
# state](https://cloud.google.com/compute/docs/instances/instance-lifecycle).
|
|
1330
|
+
# @!attribute [r] instance_group_manager
|
|
1331
|
+
# @return [::String]
|
|
1332
|
+
# Output only. [Relative resource name](https://google.aip.dev/122) of the
|
|
1333
|
+
# managed instance group, in the format
|
|
1334
|
+
# `projects/{project}/zones/{zone}/instanceGroupManagers/{instance_group_manager}`.
|
|
1335
|
+
# or
|
|
1336
|
+
# `projects/{project}/regions/{region}/instanceGroupManagers/{instance_group_manager}`
|
|
1337
|
+
class ComputeEngineNodeDetails
|
|
1338
|
+
include ::Google::Protobuf::MessageExts
|
|
1339
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
1340
|
+
end
|
|
1341
|
+
|
|
1342
|
+
# When set in
|
|
1343
|
+
# {::Google::Cloud::HypercomputeCluster::V1beta::Orchestrator Orchestrator},
|
|
1344
|
+
# indicates that the cluster should create nodes using Compute Engine.
|
|
1345
|
+
# @!attribute [rw] managed_instance_groups
|
|
1346
|
+
# @return [::Google::Protobuf::Map{::String => ::Google::Cloud::HypercomputeCluster::V1beta::ManagedInstanceGroup}]
|
|
1347
|
+
# Optional. Managed instance groups that should be created by the
|
|
1348
|
+
# orchestrator. Keys must conform to
|
|
1349
|
+
# [RFC-1034](https://datatracker.ietf.org/doc/html/rfc1034) (lower-case,
|
|
1350
|
+
# alphanumeric, and at most 63 characters).
|
|
1351
|
+
# @!attribute [rw] existing_instances
|
|
1352
|
+
# @return [::Google::Protobuf::Map{::String => ::Google::Cloud::HypercomputeCluster::V1beta::ExistingInstances}]
|
|
1353
|
+
# Optional. Existing instances that will be governed by the orchestrator.
|
|
1354
|
+
# Keys must conform to
|
|
1355
|
+
# [RFC-1034](https://datatracker.ietf.org/doc/html/rfc1034) (lower-case,
|
|
1356
|
+
# alphanumeric, and at most 63 characters).
|
|
1357
|
+
class ComputeEngineOrchestrator
|
|
1358
|
+
include ::Google::Protobuf::MessageExts
|
|
1359
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
1360
|
+
|
|
1361
|
+
# @!attribute [rw] key
|
|
1362
|
+
# @return [::String]
|
|
1363
|
+
# @!attribute [rw] value
|
|
1364
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::ManagedInstanceGroup]
|
|
1365
|
+
class ManagedInstanceGroupsEntry
|
|
1366
|
+
include ::Google::Protobuf::MessageExts
|
|
1367
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
1368
|
+
end
|
|
1369
|
+
|
|
1370
|
+
# @!attribute [rw] key
|
|
1371
|
+
# @return [::String]
|
|
1372
|
+
# @!attribute [rw] value
|
|
1373
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::ExistingInstances]
|
|
1374
|
+
class ExistingInstancesEntry
|
|
1375
|
+
include ::Google::Protobuf::MessageExts
|
|
1376
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
1377
|
+
end
|
|
1378
|
+
end
|
|
1379
|
+
|
|
1380
|
+
# A managed instance group based on a compute resource.
|
|
1381
|
+
# @!attribute [r] instance_group_manager
|
|
1382
|
+
# @return [::String]
|
|
1383
|
+
# Output only. Name of the managed instance group, in the format
|
|
1384
|
+
# `projects/{project}/zones/{zone}/instanceGroupManagers/{instance_group_manager}`.
|
|
1385
|
+
# or
|
|
1386
|
+
# `projects/{project}/regions/{region}/instanceGroupManagers/{instance_group_manager}`
|
|
1387
|
+
# @!attribute [rw] compute_id
|
|
1388
|
+
# @return [::String]
|
|
1389
|
+
# Required. ID of the compute resource used to create this managed instance
|
|
1390
|
+
# group.
|
|
1391
|
+
# @!attribute [rw] target_size
|
|
1392
|
+
# @return [::Integer]
|
|
1393
|
+
# Optional. Target number of running instances for this managed instance
|
|
1394
|
+
# group.
|
|
1395
|
+
# @!attribute [rw] storage_configs
|
|
1396
|
+
# @return [::Array<::Google::Cloud::HypercomputeCluster::V1beta::StorageConfig>]
|
|
1397
|
+
# Optional. How [storage
|
|
1398
|
+
# resources][google.cloud.hypercomputecluster.v1beta.StorageResource] should
|
|
1399
|
+
# be mounted on each instance in this managed instance group.
|
|
1400
|
+
# @!attribute [r] instance_template
|
|
1401
|
+
# @return [::String]
|
|
1402
|
+
# Output only. Instance template used to create instances in this group.
|
|
1403
|
+
# @!attribute [rw] resource_policy_config
|
|
1404
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::ResourcePolicyConfig]
|
|
1405
|
+
# Optional. Resource policy configuration for this managed instance group.
|
|
1406
|
+
# @!attribute [rw] boot_disk
|
|
1407
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::BootDisk]
|
|
1408
|
+
# Optional. Boot disk for the managed instance group.
|
|
1409
|
+
# @!attribute [rw] additional_disks
|
|
1410
|
+
# @return [::Google::Protobuf::Map{::String => ::Google::Cloud::HypercomputeCluster::V1beta::Disk}]
|
|
1411
|
+
# Optional. Additional disks for the managed instance group. Each VM of the
|
|
1412
|
+
# MIG will have its own clone of each disk described in the additional_disks
|
|
1413
|
+
# map. The disks themselves live as long as the MIG and if a VM is replaced
|
|
1414
|
+
# by a new VM of the same name then the replacement VM attaches to the same
|
|
1415
|
+
# disks as the VM it replaced. Each disk has a custom device name matching
|
|
1416
|
+
# the key in the map.
|
|
1417
|
+
# @!attribute [rw] startup_script
|
|
1418
|
+
# @return [::String]
|
|
1419
|
+
# Optional. Startup script to be run on each VM instance in the nodeset.
|
|
1420
|
+
# @!attribute [rw] enable_public_ips
|
|
1421
|
+
# @return [::Boolean]
|
|
1422
|
+
# Optional. Whether to enable public IPs for the instances in the managed
|
|
1423
|
+
# instance group.
|
|
1424
|
+
# @!attribute [rw] enable_os_login
|
|
1425
|
+
# @return [::Boolean]
|
|
1426
|
+
# Optional. Whether [OS Login](https://cloud.google.com/compute/docs/oslogin)
|
|
1427
|
+
# should be enabled on instances in this managed instance group.
|
|
1428
|
+
# @!attribute [rw] startup_script_timeout
|
|
1429
|
+
# @return [::Google::Protobuf::Duration]
|
|
1430
|
+
# Optional. The maximum time to wait for the startup script to complete. If
|
|
1431
|
+
# the script exceeds this duration, the instance setup will be considered
|
|
1432
|
+
# failed. This value must be positive. If this value is unset, a default
|
|
1433
|
+
# timeout of 5 minutes (300 seconds) will be used by the system.
|
|
1434
|
+
# @!attribute [rw] metadata
|
|
1435
|
+
# @return [::Google::Protobuf::Map{::String => ::String}]
|
|
1436
|
+
# Optional. Custom
|
|
1437
|
+
# [metadata](https://cloud.google.com/compute/docs/metadata/overview)
|
|
1438
|
+
# key-value pairs to be applied to each VM instance in the managed instance
|
|
1439
|
+
# group.
|
|
1440
|
+
# @!attribute [rw] service_account
|
|
1441
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::ServiceAccount]
|
|
1442
|
+
# Required. Immutable. Service account to be used by the instances in the
|
|
1443
|
+
# managed instance group.
|
|
1444
|
+
# @!attribute [rw] labels
|
|
1445
|
+
# @return [::Google::Protobuf::Map{::String => ::String}]
|
|
1446
|
+
# Optional.
|
|
1447
|
+
# [Labels](https://cloud.google.com/compute/docs/labeling-resources) that
|
|
1448
|
+
# should be applied to each VM instance in the managed instance group.
|
|
1449
|
+
class ManagedInstanceGroup
|
|
1450
|
+
include ::Google::Protobuf::MessageExts
|
|
1451
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
1452
|
+
|
|
1453
|
+
# @!attribute [rw] key
|
|
1454
|
+
# @return [::String]
|
|
1455
|
+
# @!attribute [rw] value
|
|
1456
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::Disk]
|
|
1457
|
+
class AdditionalDisksEntry
|
|
1458
|
+
include ::Google::Protobuf::MessageExts
|
|
1459
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
1460
|
+
end
|
|
1461
|
+
|
|
1462
|
+
# @!attribute [rw] key
|
|
1463
|
+
# @return [::String]
|
|
1464
|
+
# @!attribute [rw] value
|
|
1465
|
+
# @return [::String]
|
|
1466
|
+
class MetadataEntry
|
|
1467
|
+
include ::Google::Protobuf::MessageExts
|
|
1468
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
1469
|
+
end
|
|
1470
|
+
|
|
1471
|
+
# @!attribute [rw] key
|
|
1472
|
+
# @return [::String]
|
|
1473
|
+
# @!attribute [rw] value
|
|
1474
|
+
# @return [::String]
|
|
1475
|
+
class LabelsEntry
|
|
1476
|
+
include ::Google::Protobuf::MessageExts
|
|
1477
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
1478
|
+
end
|
|
1479
|
+
end
|
|
1480
|
+
|
|
1481
|
+
# Additional disk for managed instance groups.
|
|
1482
|
+
# @!attribute [rw] image
|
|
1483
|
+
# @return [::String]
|
|
1484
|
+
# Optional. Source image for the disk.
|
|
1485
|
+
#
|
|
1486
|
+
# Note: The following fields are mutually exclusive: `image`, `snapshot`, `existing_disk`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
|
1487
|
+
# @!attribute [rw] snapshot
|
|
1488
|
+
# @return [::String]
|
|
1489
|
+
# Optional. Source snapshot for the disk.
|
|
1490
|
+
#
|
|
1491
|
+
# Note: The following fields are mutually exclusive: `snapshot`, `image`, `existing_disk`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
|
1492
|
+
# @!attribute [rw] existing_disk
|
|
1493
|
+
# @return [::String]
|
|
1494
|
+
# Optional. An existing persistent disk to attach read-only to all VMs in
|
|
1495
|
+
# the managed instance group, in the format
|
|
1496
|
+
# `projects/{project}/zones/{zone}/disks/{disk}`.
|
|
1497
|
+
#
|
|
1498
|
+
# Note: The following fields are mutually exclusive: `existing_disk`, `image`, `snapshot`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
|
1499
|
+
# @!attribute [rw] type
|
|
1500
|
+
# @return [::String]
|
|
1501
|
+
# Optional. [Persistent disk
|
|
1502
|
+
# type](https://cloud.google.com/compute/docs/disks#disk-types), in the
|
|
1503
|
+
# format `projects/{project}/zones/{zone}/diskTypes/{disk_type}`.
|
|
1504
|
+
# This field is required when creating a new disk.
|
|
1505
|
+
# @!attribute [rw] size_gb
|
|
1506
|
+
# @return [::Integer]
|
|
1507
|
+
# Optional. Size of the disk in GB.
|
|
1508
|
+
# This field is required when creating a new disk.
|
|
1509
|
+
class Disk
|
|
1510
|
+
include ::Google::Protobuf::MessageExts
|
|
1511
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
1512
|
+
end
|
|
1513
|
+
|
|
1514
|
+
# ExistingInstances defines a list of existing VM instances to include in
|
|
1515
|
+
# the cluster.
|
|
1516
|
+
# @!attribute [rw] project
|
|
1517
|
+
# @return [::String]
|
|
1518
|
+
# Optional. Immutable. Project containing the instances, in the format
|
|
1519
|
+
# `projects/{project}`.
|
|
1520
|
+
#
|
|
1521
|
+
# Note: The following fields are mutually exclusive: `project`, `instance_group_manager`, `region_instance_group_manager`, `reservation`, `reservation_block`, `reservation_sub_block`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
|
1522
|
+
# @!attribute [rw] instance_group_manager
|
|
1523
|
+
# @return [::String]
|
|
1524
|
+
# Optional. Immutable. Managed instance group containing the instances, in
|
|
1525
|
+
# the format
|
|
1526
|
+
# `projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}`.
|
|
1527
|
+
#
|
|
1528
|
+
# Note: The following fields are mutually exclusive: `instance_group_manager`, `project`, `region_instance_group_manager`, `reservation`, `reservation_block`, `reservation_sub_block`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
|
1529
|
+
# @!attribute [rw] region_instance_group_manager
|
|
1530
|
+
# @return [::String]
|
|
1531
|
+
# Optional. Immutable. Regional managed instance group containing the
|
|
1532
|
+
# instances, in the format
|
|
1533
|
+
# `projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}`.
|
|
1534
|
+
#
|
|
1535
|
+
# Note: The following fields are mutually exclusive: `region_instance_group_manager`, `project`, `instance_group_manager`, `reservation`, `reservation_block`, `reservation_sub_block`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
|
1536
|
+
# @!attribute [rw] reservation
|
|
1537
|
+
# @return [::String]
|
|
1538
|
+
# Optional. Immutable. Reservation containing the instances, in the format
|
|
1539
|
+
# `projects/{project}/zones/{zone}/reservations/{reservation}`.
|
|
1540
|
+
#
|
|
1541
|
+
# Note: The following fields are mutually exclusive: `reservation`, `project`, `instance_group_manager`, `region_instance_group_manager`, `reservation_block`, `reservation_sub_block`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
|
1542
|
+
# @!attribute [rw] reservation_block
|
|
1543
|
+
# @return [::String]
|
|
1544
|
+
# Optional. Immutable. Reservation block containing the instances, in the
|
|
1545
|
+
# format
|
|
1546
|
+
# `projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks/{reservationBlock}`.
|
|
1547
|
+
#
|
|
1548
|
+
# Note: The following fields are mutually exclusive: `reservation_block`, `project`, `instance_group_manager`, `region_instance_group_manager`, `reservation`, `reservation_sub_block`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
|
1549
|
+
# @!attribute [rw] reservation_sub_block
|
|
1550
|
+
# @return [::String]
|
|
1551
|
+
# Optional. Immutable. Reservation sub block containing the instances, in
|
|
1552
|
+
# the format
|
|
1553
|
+
# `projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks/{reservationBlock}/reservationSubBlocks/{reservationSubBlock}`.
|
|
1554
|
+
#
|
|
1555
|
+
# Note: The following fields are mutually exclusive: `reservation_sub_block`, `project`, `instance_group_manager`, `region_instance_group_manager`, `reservation`, `reservation_block`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
|
1556
|
+
# @!attribute [rw] labels
|
|
1557
|
+
# @return [::Google::Protobuf::Map{::String => ::String}]
|
|
1558
|
+
# Optional. Immutable. Labels specifying the instances to include. Instances
|
|
1559
|
+
# from the source will be included only if they contain each of these labels.
|
|
1560
|
+
# If no labels are specified, all instances from the source will be included.
|
|
1561
|
+
# Example: \\{"env": "prod", "app": "worker"}
|
|
1562
|
+
# @!attribute [r] networks
|
|
1563
|
+
# @return [::Array<::Google::Cloud::HypercomputeCluster::V1beta::NetworkReference>]
|
|
1564
|
+
# Output only. Networks stores the list of [VPC
|
|
1565
|
+
# networks](https://cloud.google.com/vpc/docs/vpc) attached to these existing
|
|
1566
|
+
# instances, discovered during the cluster creation and update.
|
|
1567
|
+
class ExistingInstances
|
|
1568
|
+
include ::Google::Protobuf::MessageExts
|
|
1569
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
1570
|
+
|
|
1571
|
+
# @!attribute [rw] key
|
|
1572
|
+
# @return [::String]
|
|
1573
|
+
# @!attribute [rw] value
|
|
1574
|
+
# @return [::String]
|
|
1575
|
+
class LabelsEntry
|
|
1576
|
+
include ::Google::Protobuf::MessageExts
|
|
1577
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
1578
|
+
end
|
|
1579
|
+
end
|
|
1004
1580
|
end
|
|
1005
1581
|
end
|
|
1006
1582
|
end
|