google-cloud-hypercompute_cluster-v1beta 0.a → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.yardopts +12 -0
- data/AUTHENTICATION.md +122 -0
- data/README.md +154 -8
- data/lib/google/cloud/hypercompute_cluster/v1beta/bindings_override.rb +75 -0
- data/lib/google/cloud/hypercompute_cluster/v1beta/hypercompute_cluster/client.rb +968 -0
- data/lib/google/cloud/hypercompute_cluster/v1beta/hypercompute_cluster/credentials.rb +47 -0
- data/lib/google/cloud/hypercompute_cluster/v1beta/hypercompute_cluster/operations.rb +841 -0
- data/lib/google/cloud/hypercompute_cluster/v1beta/hypercompute_cluster/paths.rb +217 -0
- data/lib/google/cloud/hypercompute_cluster/v1beta/hypercompute_cluster/rest/client.rb +898 -0
- data/lib/google/cloud/hypercompute_cluster/v1beta/hypercompute_cluster/rest/operations.rb +925 -0
- data/lib/google/cloud/hypercompute_cluster/v1beta/hypercompute_cluster/rest/service_stub.rb +388 -0
- data/lib/google/cloud/hypercompute_cluster/v1beta/hypercompute_cluster/rest.rb +54 -0
- data/lib/google/cloud/hypercompute_cluster/v1beta/hypercompute_cluster.rb +56 -0
- data/lib/google/cloud/hypercompute_cluster/v1beta/rest.rb +38 -0
- data/lib/google/cloud/hypercompute_cluster/v1beta/version.rb +7 -2
- data/lib/google/cloud/hypercompute_cluster/v1beta.rb +45 -0
- data/lib/google/cloud/hypercomputecluster/v1beta/hypercompute_cluster_pb.rb +101 -0
- data/lib/google/cloud/hypercomputecluster/v1beta/hypercompute_cluster_services_pb.rb +53 -0
- data/lib/google/cloud/hypercomputecluster/v1beta/operation_metadata_pb.rb +47 -0
- data/lib/google-cloud-hypercompute_cluster-v1beta.rb +21 -0
- data/proto_docs/README.md +4 -0
- data/proto_docs/google/api/client.rb +473 -0
- data/proto_docs/google/api/field_behavior.rb +85 -0
- data/proto_docs/google/api/field_info.rb +88 -0
- data/proto_docs/google/api/launch_stage.rb +71 -0
- data/proto_docs/google/api/resource.rb +227 -0
- data/proto_docs/google/cloud/hypercomputecluster/v1beta/hypercompute_cluster.rb +1007 -0
- data/proto_docs/google/cloud/hypercomputecluster/v1beta/operation_metadata.rb +55 -0
- data/proto_docs/google/longrunning/operations.rb +191 -0
- data/proto_docs/google/protobuf/any.rb +145 -0
- data/proto_docs/google/protobuf/duration.rb +98 -0
- data/proto_docs/google/protobuf/empty.rb +34 -0
- data/proto_docs/google/protobuf/field_mask.rb +229 -0
- data/proto_docs/google/protobuf/timestamp.rb +127 -0
- data/proto_docs/google/rpc/status.rb +48 -0
- metadata +84 -9
|
@@ -0,0 +1,1007 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# Copyright 2025 Google LLC
|
|
4
|
+
#
|
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
# you may not use this file except in compliance with the License.
|
|
7
|
+
# You may obtain a copy of the License at
|
|
8
|
+
#
|
|
9
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
#
|
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
# See the License for the specific language governing permissions and
|
|
15
|
+
# limitations under the License.
|
|
16
|
+
|
|
17
|
+
# Auto-generated by gapic-generator-ruby. DO NOT EDIT!
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
module Google
|
|
21
|
+
module Cloud
|
|
22
|
+
module HypercomputeCluster
|
|
23
|
+
module V1beta
|
|
24
|
+
# A collection of virtual machines and connected resources forming a
|
|
25
|
+
# high-performance computing cluster capable of running large-scale, tightly
|
|
26
|
+
# coupled workloads. A cluster combines a set a compute resources that perform
|
|
27
|
+
# computations, storage resources that contain inputs and store outputs, an
|
|
28
|
+
# orchestrator that is responsible for assigning jobs to compute resources, and
|
|
29
|
+
# network resources that connect everything together.
|
|
30
|
+
# @!attribute [rw] name
|
|
31
|
+
# @return [::String]
|
|
32
|
+
# Identifier. [Relative resource name](https://google.aip.dev/122) of the
|
|
33
|
+
# cluster, in the format
|
|
34
|
+
# `projects/{project}/locations/{location}/clusters/{cluster}`.
|
|
35
|
+
# @!attribute [rw] description
|
|
36
|
+
# @return [::String]
|
|
37
|
+
# Optional. User-provided description of the cluster.
|
|
38
|
+
# @!attribute [rw] labels
|
|
39
|
+
# @return [::Google::Protobuf::Map{::String => ::String}]
|
|
40
|
+
# Optional.
|
|
41
|
+
# [Labels](https://cloud.google.com/compute/docs/labeling-resources) applied
|
|
42
|
+
# to the cluster. Labels can be used to organize clusters and to filter them
|
|
43
|
+
# in queries.
|
|
44
|
+
# @!attribute [r] create_time
|
|
45
|
+
# @return [::Google::Protobuf::Timestamp]
|
|
46
|
+
# Output only. Time that the cluster was originally created.
|
|
47
|
+
# @!attribute [r] update_time
|
|
48
|
+
# @return [::Google::Protobuf::Timestamp]
|
|
49
|
+
# Output only. Time that the cluster was most recently updated.
|
|
50
|
+
# @!attribute [r] reconciling
|
|
51
|
+
# @return [::Boolean]
|
|
52
|
+
# Output only. Indicates whether changes to the cluster are currently in
|
|
53
|
+
# flight. If this is `true`, then the current state might not match the
|
|
54
|
+
# cluster's intended state.
|
|
55
|
+
# @!attribute [rw] network_resources
|
|
56
|
+
# @return [::Google::Protobuf::Map{::String => ::Google::Cloud::HypercomputeCluster::V1beta::NetworkResource}]
|
|
57
|
+
# Optional. Network resources available to the cluster. Must contain at most
|
|
58
|
+
# one value. Keys specify the ID of the network resource by which it can be
|
|
59
|
+
# referenced elsewhere, and must conform to
|
|
60
|
+
# [RFC-1034](https://datatracker.ietf.org/doc/html/rfc1034) (lower-case,
|
|
61
|
+
# alphanumeric, and at most 63 characters).
|
|
62
|
+
# @!attribute [rw] storage_resources
|
|
63
|
+
# @return [::Google::Protobuf::Map{::String => ::Google::Cloud::HypercomputeCluster::V1beta::StorageResource}]
|
|
64
|
+
# Optional. Storage resources available to the cluster. Keys specify the ID
|
|
65
|
+
# of the storage resource by which it can be referenced elsewhere, and must
|
|
66
|
+
# conform to [RFC-1034](https://datatracker.ietf.org/doc/html/rfc1034)
|
|
67
|
+
# (lower-case, alphanumeric, and at most 63 characters).
|
|
68
|
+
# @!attribute [rw] compute_resources
|
|
69
|
+
# @return [::Google::Protobuf::Map{::String => ::Google::Cloud::HypercomputeCluster::V1beta::ComputeResource}]
|
|
70
|
+
# Optional. Compute resources available to the cluster. Keys specify the ID
|
|
71
|
+
# of the compute resource by which it can be referenced elsewhere, and must
|
|
72
|
+
# conform to [RFC-1034](https://datatracker.ietf.org/doc/html/rfc1034)
|
|
73
|
+
# (lower-case, alphanumeric, and at most 63 characters).
|
|
74
|
+
# @!attribute [rw] orchestrator
|
|
75
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::Orchestrator]
|
|
76
|
+
# Optional. Orchestrator that is responsible for scheduling and running jobs
|
|
77
|
+
# on the cluster.
|
|
78
|
+
class Cluster
|
|
79
|
+
include ::Google::Protobuf::MessageExts
|
|
80
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
81
|
+
|
|
82
|
+
# @!attribute [rw] key
|
|
83
|
+
# @return [::String]
|
|
84
|
+
# @!attribute [rw] value
|
|
85
|
+
# @return [::String]
|
|
86
|
+
class LabelsEntry
|
|
87
|
+
include ::Google::Protobuf::MessageExts
|
|
88
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
# @!attribute [rw] key
|
|
92
|
+
# @return [::String]
|
|
93
|
+
# @!attribute [rw] value
|
|
94
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::NetworkResource]
|
|
95
|
+
class NetworkResourcesEntry
|
|
96
|
+
include ::Google::Protobuf::MessageExts
|
|
97
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
# @!attribute [rw] key
|
|
101
|
+
# @return [::String]
|
|
102
|
+
# @!attribute [rw] value
|
|
103
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::StorageResource]
|
|
104
|
+
class StorageResourcesEntry
|
|
105
|
+
include ::Google::Protobuf::MessageExts
|
|
106
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
# @!attribute [rw] key
|
|
110
|
+
# @return [::String]
|
|
111
|
+
# @!attribute [rw] value
|
|
112
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::ComputeResource]
|
|
113
|
+
class ComputeResourcesEntry
|
|
114
|
+
include ::Google::Protobuf::MessageExts
|
|
115
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
116
|
+
end
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
# Request message for
|
|
120
|
+
# {::Google::Cloud::HypercomputeCluster::V1beta::HypercomputeCluster::Client#list_clusters ListClusters}.
|
|
121
|
+
# @!attribute [rw] parent
|
|
122
|
+
# @return [::String]
|
|
123
|
+
# Required. Parent location of the clusters to list, in the format
|
|
124
|
+
# `projects/{project}/locations/{location}`.
|
|
125
|
+
# @!attribute [rw] page_size
|
|
126
|
+
# @return [::Integer]
|
|
127
|
+
# Optional. Maximum number of clusters to return. The service may return
|
|
128
|
+
# fewer than this value.
|
|
129
|
+
# @!attribute [rw] page_token
|
|
130
|
+
# @return [::String]
|
|
131
|
+
# Optional. A page token received from a previous `ListClusters` call.
|
|
132
|
+
# Provide this to retrieve the subsequent page. When paginating, all other
|
|
133
|
+
# parameters provided to `ListClusters` must match the call that provided the
|
|
134
|
+
# page token.
|
|
135
|
+
# @!attribute [rw] filter
|
|
136
|
+
# @return [::String]
|
|
137
|
+
# Optional. [Filter](https://google.aip.dev/160) to apply to the returned
|
|
138
|
+
# results.
|
|
139
|
+
# @!attribute [rw] order_by
|
|
140
|
+
# @return [::String]
|
|
141
|
+
# Optional. How to order the resulting clusters. Must be one of the following
|
|
142
|
+
# strings:
|
|
143
|
+
#
|
|
144
|
+
# * `name`
|
|
145
|
+
# * `name desc`
|
|
146
|
+
# * `create_time`
|
|
147
|
+
# * `create_time desc`
|
|
148
|
+
#
|
|
149
|
+
# If not specified, clusters will be returned in an arbitrary order.
|
|
150
|
+
class ListClustersRequest
|
|
151
|
+
include ::Google::Protobuf::MessageExts
|
|
152
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
153
|
+
end
|
|
154
|
+
|
|
155
|
+
# Response message for
|
|
156
|
+
# {::Google::Cloud::HypercomputeCluster::V1beta::HypercomputeCluster::Client#list_clusters ListClusters}.
|
|
157
|
+
# @!attribute [rw] clusters
|
|
158
|
+
# @return [::Array<::Google::Cloud::HypercomputeCluster::V1beta::Cluster>]
|
|
159
|
+
# Clusters in the specified location.
|
|
160
|
+
# @!attribute [rw] next_page_token
|
|
161
|
+
# @return [::String]
|
|
162
|
+
# A token that can be sent as `page_token` to retrieve the next page. If this
|
|
163
|
+
# field is absent, there are no subsequent pages.
|
|
164
|
+
# @!attribute [rw] unreachable
|
|
165
|
+
# @return [::Array<::String>]
|
|
166
|
+
# Locations that could not be reached.
|
|
167
|
+
class ListClustersResponse
|
|
168
|
+
include ::Google::Protobuf::MessageExts
|
|
169
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
170
|
+
end
|
|
171
|
+
|
|
172
|
+
# Request message for
|
|
173
|
+
# {::Google::Cloud::HypercomputeCluster::V1beta::HypercomputeCluster::Client#get_cluster GetCluster}.
|
|
174
|
+
# @!attribute [rw] name
|
|
175
|
+
# @return [::String]
|
|
176
|
+
# Required. Name of the cluster to retrieve, in the format
|
|
177
|
+
# `projects/{project}/locations/{location}/clusters/{cluster}`.
|
|
178
|
+
class GetClusterRequest
|
|
179
|
+
include ::Google::Protobuf::MessageExts
|
|
180
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
181
|
+
end
|
|
182
|
+
|
|
183
|
+
# Request message for
|
|
184
|
+
# {::Google::Cloud::HypercomputeCluster::V1beta::HypercomputeCluster::Client#create_cluster CreateCluster}.
|
|
185
|
+
# @!attribute [rw] parent
|
|
186
|
+
# @return [::String]
|
|
187
|
+
# Required. Parent location in which the cluster should be created, in the
|
|
188
|
+
# format `projects/{project}/locations/{location}`.
|
|
189
|
+
# @!attribute [rw] cluster_id
|
|
190
|
+
# @return [::String]
|
|
191
|
+
# Required. ID of the cluster to create. Must conform to
|
|
192
|
+
# [RFC-1034](https://datatracker.ietf.org/doc/html/rfc1034) (lower-case,
|
|
193
|
+
# alphanumeric, and at most 63 characters).
|
|
194
|
+
# @!attribute [rw] cluster
|
|
195
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::Cluster]
|
|
196
|
+
# Required. Cluster to create.
|
|
197
|
+
# @!attribute [rw] request_id
|
|
198
|
+
# @return [::String]
|
|
199
|
+
# Optional. A unique identifier for this request. A random UUID is
|
|
200
|
+
# recommended. This request is idempotent if and only if `request_id` is
|
|
201
|
+
# provided.
|
|
202
|
+
class CreateClusterRequest
|
|
203
|
+
include ::Google::Protobuf::MessageExts
|
|
204
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
205
|
+
end
|
|
206
|
+
|
|
207
|
+
# Request message for
|
|
208
|
+
# {::Google::Cloud::HypercomputeCluster::V1beta::HypercomputeCluster::Client#update_cluster UpdateCluster}.
|
|
209
|
+
# @!attribute [rw] cluster
|
|
210
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::Cluster]
|
|
211
|
+
# Required. Cluster to update.
|
|
212
|
+
# @!attribute [rw] update_mask
|
|
213
|
+
# @return [::Google::Protobuf::FieldMask]
|
|
214
|
+
# Optional. Mask specifying which fields in the cluster to update. All paths
|
|
215
|
+
# must be specified explicitly - wildcards are not supported. At least one
|
|
216
|
+
# path must be provided.
|
|
217
|
+
# @!attribute [rw] request_id
|
|
218
|
+
# @return [::String]
|
|
219
|
+
# Optional. A unique identifier for this request. A random UUID is
|
|
220
|
+
# recommended. This request is idempotent if and only if `request_id` is
|
|
221
|
+
# provided.
|
|
222
|
+
class UpdateClusterRequest
|
|
223
|
+
include ::Google::Protobuf::MessageExts
|
|
224
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
225
|
+
end
|
|
226
|
+
|
|
227
|
+
# Request message for
|
|
228
|
+
# {::Google::Cloud::HypercomputeCluster::V1beta::HypercomputeCluster::Client#delete_cluster DeleteCluster}.
|
|
229
|
+
# @!attribute [rw] name
|
|
230
|
+
# @return [::String]
|
|
231
|
+
# Required. Name of the cluster to delete, in the format
|
|
232
|
+
# `projects/{project}/locations/{location}/clusters/{cluster}`.
|
|
233
|
+
# @!attribute [rw] request_id
|
|
234
|
+
# @return [::String]
|
|
235
|
+
# Optional. A unique identifier for this request. A random UUID is
|
|
236
|
+
# recommended. This request is idempotent if and only if `request_id` is
|
|
237
|
+
# provided.
|
|
238
|
+
class DeleteClusterRequest
|
|
239
|
+
include ::Google::Protobuf::MessageExts
|
|
240
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
241
|
+
end
|
|
242
|
+
|
|
243
|
+
# A resource representing a network that connects the various components of a
|
|
244
|
+
# cluster together.
|
|
245
|
+
# @!attribute [rw] network
|
|
246
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::NetworkReference]
|
|
247
|
+
# Reference to a network in Google Compute Engine.
|
|
248
|
+
# @!attribute [rw] config
|
|
249
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::NetworkResourceConfig]
|
|
250
|
+
# Immutable. Configuration for this network resource, which describes how it
|
|
251
|
+
# should be created or imported. This field only controls how the network
|
|
252
|
+
# resource is initially created or imported. Subsequent changes to the
|
|
253
|
+
# network resource should be made via the resource's API and will not be
|
|
254
|
+
# reflected in the configuration.
|
|
255
|
+
class NetworkResource
|
|
256
|
+
include ::Google::Protobuf::MessageExts
|
|
257
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
258
|
+
end
|
|
259
|
+
|
|
260
|
+
# A reference to a [VPC network](https://cloud.google.com/vpc/docs/vpc) in
|
|
261
|
+
# Google Compute Engine.
|
|
262
|
+
# @!attribute [r] network
|
|
263
|
+
# @return [::String]
|
|
264
|
+
# Output only. Name of the network, in the format
|
|
265
|
+
# `projects/{project}/global/networks/{network}`.
|
|
266
|
+
# @!attribute [r] subnetwork
|
|
267
|
+
# @return [::String]
|
|
268
|
+
# Output only. Name of the particular subnetwork being used by the cluster,
|
|
269
|
+
# in the format
|
|
270
|
+
# `projects/{project}/regions/{region}/subnetworks/{subnetwork}`.
|
|
271
|
+
class NetworkReference
|
|
272
|
+
include ::Google::Protobuf::MessageExts
|
|
273
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
274
|
+
end
|
|
275
|
+
|
|
276
|
+
# Describes how a network resource should be initialized. Each network resource
|
|
277
|
+
# can either be imported from an existing Google Cloud resource or initialized
|
|
278
|
+
# when the cluster is created.
|
|
279
|
+
# @!attribute [rw] new_network
|
|
280
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::NewNetworkConfig]
|
|
281
|
+
# Optional. Immutable. If set, indicates that a new network should be
|
|
282
|
+
# created.
|
|
283
|
+
#
|
|
284
|
+
# Note: The following fields are mutually exclusive: `new_network`, `existing_network`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
|
285
|
+
# @!attribute [rw] existing_network
|
|
286
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::ExistingNetworkConfig]
|
|
287
|
+
# Optional. Immutable. If set, indicates that an existing network should be
|
|
288
|
+
# imported.
|
|
289
|
+
#
|
|
290
|
+
# Note: The following fields are mutually exclusive: `existing_network`, `new_network`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
|
291
|
+
class NetworkResourceConfig
|
|
292
|
+
include ::Google::Protobuf::MessageExts
|
|
293
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
294
|
+
end
|
|
295
|
+
|
|
296
|
+
# When set in a
|
|
297
|
+
# {::Google::Cloud::HypercomputeCluster::V1beta::NetworkResourceConfig NetworkResourceConfig},
|
|
298
|
+
# indicates that a new network should be created.
|
|
299
|
+
# @!attribute [rw] network
|
|
300
|
+
# @return [::String]
|
|
301
|
+
# Required. Immutable. Name of the network to create, in the format
|
|
302
|
+
# `projects/{project}/global/networks/{network}`.
|
|
303
|
+
# @!attribute [rw] description
|
|
304
|
+
# @return [::String]
|
|
305
|
+
# Optional. Immutable. Description of the network. Maximum of 2048
|
|
306
|
+
# characters.
|
|
307
|
+
class NewNetworkConfig
|
|
308
|
+
include ::Google::Protobuf::MessageExts
|
|
309
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
310
|
+
end
|
|
311
|
+
|
|
312
|
+
# When set in a
|
|
313
|
+
# {::Google::Cloud::HypercomputeCluster::V1beta::NetworkResourceConfig NetworkResourceConfig},
|
|
314
|
+
# indicates that an existing network should be imported.
|
|
315
|
+
# @!attribute [rw] network
|
|
316
|
+
# @return [::String]
|
|
317
|
+
# Required. Immutable. Name of the network to import, in the format
|
|
318
|
+
# `projects/{project}/global/networks/{network}`.
|
|
319
|
+
# @!attribute [rw] subnetwork
|
|
320
|
+
# @return [::String]
|
|
321
|
+
# Required. Immutable. Particular subnetwork to use, in the format
|
|
322
|
+
# `projects/{project}/regions/{region}/subnetworks/{subnetwork}`.
|
|
323
|
+
class ExistingNetworkConfig
|
|
324
|
+
include ::Google::Protobuf::MessageExts
|
|
325
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
326
|
+
end
|
|
327
|
+
|
|
328
|
+
# A resource representing a form of persistent storage that is accessible to
|
|
329
|
+
# compute resources in the cluster.
|
|
330
|
+
# @!attribute [rw] filestore
|
|
331
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::FilestoreReference]
|
|
332
|
+
# Reference to a Filestore instance. Populated if and only if the storage
|
|
333
|
+
# resource was configured to use Filestore.
|
|
334
|
+
#
|
|
335
|
+
# 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 [rw] bucket
|
|
337
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::BucketReference]
|
|
338
|
+
# Reference to a Google Cloud Storage bucket. Populated if and only if the
|
|
339
|
+
# storage resource was configured to use Google Cloud Storage.
|
|
340
|
+
#
|
|
341
|
+
# 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 [rw] lustre
|
|
343
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::LustreReference]
|
|
344
|
+
# Reference to a Managed Lustre instance. Populated if and only if the
|
|
345
|
+
# storage resource was configured to use Managed Lustre.
|
|
346
|
+
#
|
|
347
|
+
# 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
|
+
# @!attribute [rw] config
|
|
349
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::StorageResourceConfig]
|
|
350
|
+
# Required. Immutable. Configuration for this storage resource, which
|
|
351
|
+
# describes how it should be created or imported. This field only controls
|
|
352
|
+
# how the storage resource is initially created or imported. Subsequent
|
|
353
|
+
# changes to the storage resource should be made via the resource's API and
|
|
354
|
+
# will not be reflected in the configuration.
|
|
355
|
+
class StorageResource
|
|
356
|
+
include ::Google::Protobuf::MessageExts
|
|
357
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
358
|
+
end
|
|
359
|
+
|
|
360
|
+
# A reference to a [Filestore](https://cloud.google.com/filestore) instance.
|
|
361
|
+
# @!attribute [r] filestore
|
|
362
|
+
# @return [::String]
|
|
363
|
+
# Output only. Name of the Filestore instance, in the format
|
|
364
|
+
# `projects/{project}/locations/{location}/instances/{instance}`
|
|
365
|
+
class FilestoreReference
|
|
366
|
+
include ::Google::Protobuf::MessageExts
|
|
367
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
368
|
+
end
|
|
369
|
+
|
|
370
|
+
# A reference to a [Google Cloud Storage](https://cloud.google.com/storage)
|
|
371
|
+
# bucket.
|
|
372
|
+
# @!attribute [r] bucket
|
|
373
|
+
# @return [::String]
|
|
374
|
+
# Output only. Name of the bucket.
|
|
375
|
+
class BucketReference
|
|
376
|
+
include ::Google::Protobuf::MessageExts
|
|
377
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
378
|
+
end
|
|
379
|
+
|
|
380
|
+
# A reference to a [Managed
|
|
381
|
+
# Lustre](https://cloud.google.com/products/managed-lustre) instance.
|
|
382
|
+
# @!attribute [r] lustre
|
|
383
|
+
# @return [::String]
|
|
384
|
+
# Output only. Name of the Managed Lustre instance, in the format
|
|
385
|
+
# `projects/{project}/locations/{location}/instances/{instance}`
|
|
386
|
+
class LustreReference
|
|
387
|
+
include ::Google::Protobuf::MessageExts
|
|
388
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
389
|
+
end
|
|
390
|
+
|
|
391
|
+
# Describes how a storage resource should be initialized. Each storage resource
|
|
392
|
+
# can either be imported from an existing Google Cloud resource or initialized
|
|
393
|
+
# when the cluster is created.
|
|
394
|
+
# @!attribute [rw] new_filestore
|
|
395
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::NewFilestoreConfig]
|
|
396
|
+
# Optional. Immutable. If set, indicates that a new Filestore instance
|
|
397
|
+
# should be created.
|
|
398
|
+
#
|
|
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.
|
|
400
|
+
# @!attribute [rw] existing_filestore
|
|
401
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::ExistingFilestoreConfig]
|
|
402
|
+
# Optional. Immutable. If set, indicates that an existing Filestore
|
|
403
|
+
# instance should be imported.
|
|
404
|
+
#
|
|
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.
|
|
406
|
+
# @!attribute [rw] new_bucket
|
|
407
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::NewBucketConfig]
|
|
408
|
+
# Optional. Immutable. If set, indicates that a new Cloud Storage bucket
|
|
409
|
+
# should be created.
|
|
410
|
+
#
|
|
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.
|
|
412
|
+
# @!attribute [rw] existing_bucket
|
|
413
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::ExistingBucketConfig]
|
|
414
|
+
# Optional. Immutable. If set, indicates that an existing Cloud Storage
|
|
415
|
+
# bucket should be imported.
|
|
416
|
+
#
|
|
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.
|
|
418
|
+
# @!attribute [rw] new_lustre
|
|
419
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::NewLustreConfig]
|
|
420
|
+
# Optional. Immutable. If set, indicates that a new Managed Lustre instance
|
|
421
|
+
# should be created.
|
|
422
|
+
#
|
|
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.
|
|
424
|
+
# @!attribute [rw] existing_lustre
|
|
425
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::ExistingLustreConfig]
|
|
426
|
+
# Optional. Immutable. If set, indicates that an existing Managed Lustre
|
|
427
|
+
# instance should be imported.
|
|
428
|
+
#
|
|
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.
|
|
430
|
+
class StorageResourceConfig
|
|
431
|
+
include ::Google::Protobuf::MessageExts
|
|
432
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
433
|
+
end
|
|
434
|
+
|
|
435
|
+
# When set in a
|
|
436
|
+
# {::Google::Cloud::HypercomputeCluster::V1beta::StorageResourceConfig StorageResourceConfig},
|
|
437
|
+
# indicates that a new [Filestore](https://cloud.google.com/filestore) instance
|
|
438
|
+
# should be created.
|
|
439
|
+
# @!attribute [rw] filestore
|
|
440
|
+
# @return [::String]
|
|
441
|
+
# Required. Immutable. Name of the Filestore instance to create, in the
|
|
442
|
+
# format `projects/{project}/locations/{location}/instances/{instance}`
|
|
443
|
+
# @!attribute [rw] description
|
|
444
|
+
# @return [::String]
|
|
445
|
+
# Optional. Immutable. Description of the instance. Maximum of 2048
|
|
446
|
+
# characters.
|
|
447
|
+
# @!attribute [rw] file_shares
|
|
448
|
+
# @return [::Array<::Google::Cloud::HypercomputeCluster::V1beta::FileShareConfig>]
|
|
449
|
+
# Required. Immutable. File system shares on the instance. Exactly one file
|
|
450
|
+
# share must be specified.
|
|
451
|
+
# @!attribute [rw] tier
|
|
452
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::NewFilestoreConfig::Tier]
|
|
453
|
+
# Required. Immutable. Service tier to use for the instance.
|
|
454
|
+
# @!attribute [rw] protocol
|
|
455
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::NewFilestoreConfig::Protocol]
|
|
456
|
+
# Optional. Immutable. Access protocol to use for all file shares in the
|
|
457
|
+
# instance. Defaults to NFS V3 if not set.
|
|
458
|
+
class NewFilestoreConfig
|
|
459
|
+
include ::Google::Protobuf::MessageExts
|
|
460
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
461
|
+
|
|
462
|
+
# Available [service
|
|
463
|
+
# tiers](https://cloud.google.com/filestore/docs/service-tiers) for Filestore
|
|
464
|
+
# instances.
|
|
465
|
+
module Tier
|
|
466
|
+
# Not set.
|
|
467
|
+
TIER_UNSPECIFIED = 0
|
|
468
|
+
|
|
469
|
+
# Offers expanded capacity and performance scaling capabilities suitable
|
|
470
|
+
# for high-performance computing application requirements.
|
|
471
|
+
ZONAL = 4
|
|
472
|
+
|
|
473
|
+
# Offers features and availability needed for mission-critical,
|
|
474
|
+
# high-performance computing workloads.
|
|
475
|
+
REGIONAL = 6
|
|
476
|
+
end
|
|
477
|
+
|
|
478
|
+
# File access protocol for Filestore instances.
|
|
479
|
+
module Protocol
|
|
480
|
+
# Not set.
|
|
481
|
+
PROTOCOL_UNSPECIFIED = 0
|
|
482
|
+
|
|
483
|
+
# NFS 3.0.
|
|
484
|
+
NFSV3 = 1
|
|
485
|
+
|
|
486
|
+
# NFS 4.1.
|
|
487
|
+
NFSV41 = 2
|
|
488
|
+
end
|
|
489
|
+
end
|
|
490
|
+
|
|
491
|
+
# Message describing filestore configuration
|
|
492
|
+
# @!attribute [rw] capacity_gb
|
|
493
|
+
# @return [::Integer]
|
|
494
|
+
# Required. Size of the filestore in GB. Must be between 1024 and 102400, and
|
|
495
|
+
# must meet scalability requirements described at
|
|
496
|
+
# https://cloud.google.com/filestore/docs/service-tiers.
|
|
497
|
+
# @!attribute [rw] file_share
|
|
498
|
+
# @return [::String]
|
|
499
|
+
# Required. Filestore share location
|
|
500
|
+
class FileShareConfig
|
|
501
|
+
include ::Google::Protobuf::MessageExts
|
|
502
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
503
|
+
end
|
|
504
|
+
|
|
505
|
+
# When set in a
|
|
506
|
+
# {::Google::Cloud::HypercomputeCluster::V1beta::StorageResourceConfig StorageResourceConfig},
|
|
507
|
+
# indicates that an existing [Filestore](https://cloud.google.com/filestore)
|
|
508
|
+
# instance should be imported.
|
|
509
|
+
# @!attribute [rw] filestore
|
|
510
|
+
# @return [::String]
|
|
511
|
+
# Required. Immutable. Name of the Filestore instance to import, in the
|
|
512
|
+
# format `projects/{project}/locations/{location}/instances/{instance}`
|
|
513
|
+
class ExistingFilestoreConfig
|
|
514
|
+
include ::Google::Protobuf::MessageExts
|
|
515
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
516
|
+
end
|
|
517
|
+
|
|
518
|
+
# When set in a
|
|
519
|
+
# {::Google::Cloud::HypercomputeCluster::V1beta::StorageResourceConfig StorageResourceConfig},
|
|
520
|
+
# indicates that a new [Google Cloud Storage](https://cloud.google.com/storage)
|
|
521
|
+
# bucket should be created.
|
|
522
|
+
# @!attribute [rw] autoclass
|
|
523
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::GcsAutoclassConfig]
|
|
524
|
+
# Optional. Immutable. If set, indicates that the bucket should use
|
|
525
|
+
# [Autoclass](https://cloud.google.com/storage/docs/autoclass).
|
|
526
|
+
#
|
|
527
|
+
# Note: The following fields are mutually exclusive: `autoclass`, `storage_class`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
|
528
|
+
# @!attribute [rw] storage_class
|
|
529
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::NewBucketConfig::StorageClass]
|
|
530
|
+
# Optional. Immutable. If set, uses the provided storage class as the
|
|
531
|
+
# bucket's default storage class.
|
|
532
|
+
#
|
|
533
|
+
# Note: The following fields are mutually exclusive: `storage_class`, `autoclass`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
|
534
|
+
# @!attribute [rw] bucket
|
|
535
|
+
# @return [::String]
|
|
536
|
+
# Required. Immutable. Name of the Cloud Storage bucket to create.
|
|
537
|
+
# @!attribute [rw] hierarchical_namespace
|
|
538
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::GcsHierarchicalNamespaceConfig]
|
|
539
|
+
# Optional. Immutable. If set, indicates that the bucket should use
|
|
540
|
+
# [hierarchical
|
|
541
|
+
# namespaces](https://cloud.google.com/storage/docs/hns-overview).
|
|
542
|
+
class NewBucketConfig
|
|
543
|
+
include ::Google::Protobuf::MessageExts
|
|
544
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
545
|
+
|
|
546
|
+
# [Storage class](https://cloud.google.com/storage/docs/storage-classes) for
|
|
547
|
+
# a Cloud Storage bucket.
|
|
548
|
+
module StorageClass
|
|
549
|
+
# Not set.
|
|
550
|
+
STORAGE_CLASS_UNSPECIFIED = 0
|
|
551
|
+
|
|
552
|
+
# Best for data that is frequently accessed.
|
|
553
|
+
STANDARD = 1
|
|
554
|
+
|
|
555
|
+
# Low-cost storage for data that is accessed less frequently.
|
|
556
|
+
NEARLINE = 2
|
|
557
|
+
|
|
558
|
+
# Very low-cost storage for infrequently accessed data.
|
|
559
|
+
COLDLINE = 3
|
|
560
|
+
|
|
561
|
+
# Lowest-cost storage for data archiving, online backup, and disaster
|
|
562
|
+
# recovery.
|
|
563
|
+
ARCHIVE = 4
|
|
564
|
+
end
|
|
565
|
+
end
|
|
566
|
+
|
|
567
|
+
# Message describing Google Cloud Storage autoclass configuration
|
|
568
|
+
# @!attribute [rw] enabled
|
|
569
|
+
# @return [::Boolean]
|
|
570
|
+
# Required. Enables Auto-class feature.
|
|
571
|
+
# @!attribute [rw] terminal_storage_class
|
|
572
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::GcsAutoclassConfig::TerminalStorageClass]
|
|
573
|
+
# Optional. Terminal storage class of the autoclass bucket
|
|
574
|
+
class GcsAutoclassConfig
|
|
575
|
+
include ::Google::Protobuf::MessageExts
|
|
576
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
577
|
+
|
|
578
|
+
# Terminal storage class types of the autoclass bucket
|
|
579
|
+
module TerminalStorageClass
|
|
580
|
+
# Unspecified terminal storage class
|
|
581
|
+
TERMINAL_STORAGE_CLASS_UNSPECIFIED = 0
|
|
582
|
+
end
|
|
583
|
+
end
|
|
584
|
+
|
|
585
|
+
# Message describing Google Cloud Storage hierarchical namespace configuration
|
|
586
|
+
# @!attribute [rw] enabled
|
|
587
|
+
# @return [::Boolean]
|
|
588
|
+
# Required. Enables hierarchical namespace setup for the bucket.
|
|
589
|
+
class GcsHierarchicalNamespaceConfig
|
|
590
|
+
include ::Google::Protobuf::MessageExts
|
|
591
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
592
|
+
end
|
|
593
|
+
|
|
594
|
+
# When set in a
|
|
595
|
+
# {::Google::Cloud::HypercomputeCluster::V1beta::StorageResourceConfig StorageResourceConfig},
|
|
596
|
+
# indicates that an existing [Google Cloud
|
|
597
|
+
# Storage](https://cloud.google.com/storage) bucket should be imported.
|
|
598
|
+
# @!attribute [rw] bucket
|
|
599
|
+
# @return [::String]
|
|
600
|
+
# Required. Immutable. Name of the Cloud Storage bucket to import.
|
|
601
|
+
class ExistingBucketConfig
|
|
602
|
+
include ::Google::Protobuf::MessageExts
|
|
603
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
604
|
+
end
|
|
605
|
+
|
|
606
|
+
# When set in a
|
|
607
|
+
# {::Google::Cloud::HypercomputeCluster::V1beta::StorageResourceConfig StorageResourceConfig},
|
|
608
|
+
# indicates that a new [Managed
|
|
609
|
+
# Lustre](https://cloud.google.com/products/managed-lustre) instance should be
|
|
610
|
+
# created.
|
|
611
|
+
# @!attribute [rw] lustre
|
|
612
|
+
# @return [::String]
|
|
613
|
+
# Required. Immutable. Name of the Managed Lustre instance to create, in the
|
|
614
|
+
# format `projects/{project}/locations/{location}/instances/{instance}`
|
|
615
|
+
# @!attribute [rw] description
|
|
616
|
+
# @return [::String]
|
|
617
|
+
# Optional. Immutable. Description of the Managed Lustre instance. Maximum of
|
|
618
|
+
# 2048 characters.
|
|
619
|
+
# @!attribute [rw] filesystem
|
|
620
|
+
# @return [::String]
|
|
621
|
+
# Required. Immutable. Filesystem name for this instance. This name is used
|
|
622
|
+
# by client-side tools, including when mounting the instance. Must be 8
|
|
623
|
+
# characters or less and can only contain letters and numbers.
|
|
624
|
+
# @!attribute [rw] capacity_gb
|
|
625
|
+
# @return [::Integer]
|
|
626
|
+
# Required. Immutable. Storage capacity of the instance in gibibytes (GiB).
|
|
627
|
+
# Allowed values are between 18000 and 7632000.
|
|
628
|
+
class NewLustreConfig
|
|
629
|
+
include ::Google::Protobuf::MessageExts
|
|
630
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
631
|
+
end
|
|
632
|
+
|
|
633
|
+
# When set in a
|
|
634
|
+
# {::Google::Cloud::HypercomputeCluster::V1beta::StorageResourceConfig StorageResourceConfig},
|
|
635
|
+
# indicates that an existing [Managed
|
|
636
|
+
# Lustre](https://cloud.google.com/products/managed-lustre) instance should be
|
|
637
|
+
# imported.
|
|
638
|
+
# @!attribute [rw] lustre
|
|
639
|
+
# @return [::String]
|
|
640
|
+
# Required. Immutable. Name of the Managed Lustre instance to import, in the
|
|
641
|
+
# format `projects/{project}/locations/{location}/instances/{instance}`
|
|
642
|
+
class ExistingLustreConfig
|
|
643
|
+
include ::Google::Protobuf::MessageExts
|
|
644
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
645
|
+
end
|
|
646
|
+
|
|
647
|
+
# A resource defining how virtual machines and accelerators should be
|
|
648
|
+
# provisioned for the cluster.
|
|
649
|
+
# @!attribute [rw] config
|
|
650
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::ComputeResourceConfig]
|
|
651
|
+
# Required. Immutable. Configuration for this compute resource, which
|
|
652
|
+
# describes how it should be created at runtime.
|
|
653
|
+
class ComputeResource
|
|
654
|
+
include ::Google::Protobuf::MessageExts
|
|
655
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
656
|
+
end
|
|
657
|
+
|
|
658
|
+
# Describes how a compute resource should be created at runtime.
|
|
659
|
+
# @!attribute [rw] new_on_demand_instances
|
|
660
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::NewOnDemandInstancesConfig]
|
|
661
|
+
# Optional. Immutable. If set, indicates that this resource should use
|
|
662
|
+
# on-demand VMs.
|
|
663
|
+
#
|
|
664
|
+
# Note: The following fields are mutually exclusive: `new_on_demand_instances`, `new_spot_instances`, `new_reserved_instances`, `new_flex_start_instances`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
|
665
|
+
# @!attribute [rw] new_spot_instances
|
|
666
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::NewSpotInstancesConfig]
|
|
667
|
+
# Optional. Immutable. If set, indicates that this resource should use spot
|
|
668
|
+
# VMs.
|
|
669
|
+
#
|
|
670
|
+
# Note: The following fields are mutually exclusive: `new_spot_instances`, `new_on_demand_instances`, `new_reserved_instances`, `new_flex_start_instances`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
|
671
|
+
# @!attribute [rw] new_reserved_instances
|
|
672
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::NewReservedInstancesConfig]
|
|
673
|
+
# Optional. Immutable. If set, indicates that this resource should use
|
|
674
|
+
# reserved VMs.
|
|
675
|
+
#
|
|
676
|
+
# Note: The following fields are mutually exclusive: `new_reserved_instances`, `new_on_demand_instances`, `new_spot_instances`, `new_flex_start_instances`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
|
677
|
+
# @!attribute [rw] new_flex_start_instances
|
|
678
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::NewFlexStartInstancesConfig]
|
|
679
|
+
# Optional. Immutable. If set, indicates that this resource should use
|
|
680
|
+
# flex-start VMs.
|
|
681
|
+
#
|
|
682
|
+
# Note: The following fields are mutually exclusive: `new_flex_start_instances`, `new_on_demand_instances`, `new_spot_instances`, `new_reserved_instances`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
|
683
|
+
class ComputeResourceConfig
|
|
684
|
+
include ::Google::Protobuf::MessageExts
|
|
685
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
686
|
+
end
|
|
687
|
+
|
|
688
|
+
# When set in a
|
|
689
|
+
# {::Google::Cloud::HypercomputeCluster::V1beta::ComputeResourceConfig ComputeResourceConfig},
|
|
690
|
+
# indicates that on-demand (i.e., using the standard provisioning model) VM
|
|
691
|
+
# instances should be created.
|
|
692
|
+
# @!attribute [rw] zone
|
|
693
|
+
# @return [::String]
|
|
694
|
+
# Required. Immutable. Name of the zone in which VM instances should run,
|
|
695
|
+
# e.g., `us-central1-a`. Must be in the same region as the cluster, and must
|
|
696
|
+
# match the zone of any other resources specified in the cluster.
|
|
697
|
+
# @!attribute [rw] machine_type
|
|
698
|
+
# @return [::String]
|
|
699
|
+
# Required. Immutable. Name of the Compute Engine [machine
|
|
700
|
+
# type](https://cloud.google.com/compute/docs/machine-resource) to use, e.g.
|
|
701
|
+
# `n2-standard-2`.
|
|
702
|
+
class NewOnDemandInstancesConfig
|
|
703
|
+
include ::Google::Protobuf::MessageExts
|
|
704
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
705
|
+
end
|
|
706
|
+
|
|
707
|
+
# When set in a
|
|
708
|
+
# {::Google::Cloud::HypercomputeCluster::V1beta::ComputeResourceConfig ComputeResourceConfig},
|
|
709
|
+
# indicates that [spot
|
|
710
|
+
# VM](https://cloud.google.com/compute/docs/instances/spot) instances should be
|
|
711
|
+
# created.
|
|
712
|
+
# @!attribute [rw] zone
|
|
713
|
+
# @return [::String]
|
|
714
|
+
# Required. Immutable. Name of the zone in which VM instances should run,
|
|
715
|
+
# e.g., `us-central1-a`. Must be in the same region as the cluster, and must
|
|
716
|
+
# match the zone of any other resources specified in the cluster.
|
|
717
|
+
# @!attribute [rw] machine_type
|
|
718
|
+
# @return [::String]
|
|
719
|
+
# Required. Immutable. Name of the Compute Engine [machine
|
|
720
|
+
# type](https://cloud.google.com/compute/docs/machine-resource) to use, e.g.
|
|
721
|
+
# `n2-standard-2`.
|
|
722
|
+
class NewSpotInstancesConfig
|
|
723
|
+
include ::Google::Protobuf::MessageExts
|
|
724
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
725
|
+
end
|
|
726
|
+
|
|
727
|
+
# When set in a
|
|
728
|
+
# {::Google::Cloud::HypercomputeCluster::V1beta::ComputeResourceConfig ComputeResourceConfig},
|
|
729
|
+
# indicates that VM instances should be created from a
|
|
730
|
+
# [reservation](https://cloud.google.com/compute/docs/instances/reservations-overview).
|
|
731
|
+
# @!attribute [rw] reservation
|
|
732
|
+
# @return [::String]
|
|
733
|
+
# Optional. Immutable. Name of the reservation from which VM instances
|
|
734
|
+
# should be created, in the format
|
|
735
|
+
# `projects/{project}/zones/{zone}/reservations/{reservation}`.
|
|
736
|
+
class NewReservedInstancesConfig
|
|
737
|
+
include ::Google::Protobuf::MessageExts
|
|
738
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
739
|
+
end
|
|
740
|
+
|
|
741
|
+
# When set in a
|
|
742
|
+
# {::Google::Cloud::HypercomputeCluster::V1beta::ComputeResourceConfig ComputeResourceConfig},
|
|
743
|
+
# indicates that VM instances should be created using [Flex
|
|
744
|
+
# Start](https://cloud.google.com/compute/docs/instances/provisioning-models).
|
|
745
|
+
# @!attribute [rw] zone
|
|
746
|
+
# @return [::String]
|
|
747
|
+
# Required. Immutable. Name of the zone in which VM instances should run,
|
|
748
|
+
# e.g., `us-central1-a`. Must be in the same region as the cluster, and must
|
|
749
|
+
# match the zone of any other resources specified in the cluster.
|
|
750
|
+
# @!attribute [rw] machine_type
|
|
751
|
+
# @return [::String]
|
|
752
|
+
# Required. Immutable. Name of the Compute Engine [machine
|
|
753
|
+
# type](https://cloud.google.com/compute/docs/machine-resource) to use, e.g.
|
|
754
|
+
# `n2-standard-2`.
|
|
755
|
+
# @!attribute [rw] max_duration
|
|
756
|
+
# @return [::Google::Protobuf::Duration]
|
|
757
|
+
# Required. Immutable. Specifies the time limit for created instances.
|
|
758
|
+
# Instances will be terminated at the end of this duration.
|
|
759
|
+
class NewFlexStartInstancesConfig
|
|
760
|
+
include ::Google::Protobuf::MessageExts
|
|
761
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
762
|
+
end
|
|
763
|
+
|
|
764
|
+
# A [Persistent disk](https://cloud.google.com/compute/docs/disks) used as the
|
|
765
|
+
# boot disk for a Compute Engine VM instance.
|
|
766
|
+
# @!attribute [rw] type
|
|
767
|
+
# @return [::String]
|
|
768
|
+
# Required. Immutable. [Persistent disk
|
|
769
|
+
# type](https://cloud.google.com/compute/docs/disks#disk-types), in the
|
|
770
|
+
# format `projects/{project}/zones/{zone}/diskTypes/{disk_type}`.
|
|
771
|
+
# @!attribute [rw] size_gb
|
|
772
|
+
# @return [::Integer]
|
|
773
|
+
# Required. Immutable. Size of the disk in gigabytes. Must be at least 10GB.
|
|
774
|
+
class BootDisk
|
|
775
|
+
include ::Google::Protobuf::MessageExts
|
|
776
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
777
|
+
end
|
|
778
|
+
|
|
779
|
+
# The component responsible for scheduling and running workloads on the
|
|
780
|
+
# cluster as well as providing the user interface for interacting with the
|
|
781
|
+
# cluster at runtime.
|
|
782
|
+
# @!attribute [rw] slurm
|
|
783
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::SlurmOrchestrator]
|
|
784
|
+
# Optional. If set, indicates that the cluster should use Slurm as the
|
|
785
|
+
# orchestrator.
|
|
786
|
+
class Orchestrator
|
|
787
|
+
include ::Google::Protobuf::MessageExts
|
|
788
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
789
|
+
end
|
|
790
|
+
|
|
791
|
+
# When set in
|
|
792
|
+
# {::Google::Cloud::HypercomputeCluster::V1beta::Orchestrator Orchestrator},
|
|
793
|
+
# indicates that the cluster should use [Slurm](https://slurm.schedmd.com/) as
|
|
794
|
+
# the orchestrator.
|
|
795
|
+
# @!attribute [rw] login_nodes
|
|
796
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::SlurmLoginNodes]
|
|
797
|
+
# Required. Configuration for login nodes, which allow users to access the
|
|
798
|
+
# cluster over SSH.
|
|
799
|
+
# @!attribute [rw] node_sets
|
|
800
|
+
# @return [::Array<::Google::Cloud::HypercomputeCluster::V1beta::SlurmNodeSet>]
|
|
801
|
+
# Required. Configuration of Slurm nodesets, which define groups of compute
|
|
802
|
+
# resources that can be used by Slurm. At least one compute node is required.
|
|
803
|
+
# @!attribute [rw] partitions
|
|
804
|
+
# @return [::Array<::Google::Cloud::HypercomputeCluster::V1beta::SlurmPartition>]
|
|
805
|
+
# Required. Configuration of Slurm partitions, which group one or more
|
|
806
|
+
# nodesets. Acts as a queue against which jobs can be submitted. At least one
|
|
807
|
+
# partition is required.
|
|
808
|
+
# @!attribute [rw] default_partition
|
|
809
|
+
# @return [::String]
|
|
810
|
+
# Optional. Default partition to use for submitted jobs that do not
|
|
811
|
+
# explicitly specify a partition. Required if and only if there is more than
|
|
812
|
+
# one partition, in which case it must match the id of one of the partitions.
|
|
813
|
+
# @!attribute [rw] prolog_bash_scripts
|
|
814
|
+
# @return [::Array<::String>]
|
|
815
|
+
# Optional. Slurm [prolog
|
|
816
|
+
# scripts](https://slurm.schedmd.com/prolog_epilog.html), which will be
|
|
817
|
+
# executed by compute nodes before a node begins running a new job. Values
|
|
818
|
+
# must not be empty.
|
|
819
|
+
# @!attribute [rw] epilog_bash_scripts
|
|
820
|
+
# @return [::Array<::String>]
|
|
821
|
+
# Optional. Slurm [epilog
|
|
822
|
+
# scripts](https://slurm.schedmd.com/prolog_epilog.html), which will be
|
|
823
|
+
# executed by compute nodes whenever a node finishes running a job. Values
|
|
824
|
+
# must not be empty.
|
|
825
|
+
class SlurmOrchestrator
|
|
826
|
+
include ::Google::Protobuf::MessageExts
|
|
827
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
828
|
+
end
|
|
829
|
+
|
|
830
|
+
# Configuration for Slurm nodesets in the cluster. Nodesets are groups of
|
|
831
|
+
# compute nodes used by Slurm that are responsible for running workloads
|
|
832
|
+
# submitted to the cluster.
|
|
833
|
+
# @!attribute [rw] compute_instance
|
|
834
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::ComputeInstanceSlurmNodeSet]
|
|
835
|
+
# Optional. If set, indicates that the nodeset should be backed by Compute
|
|
836
|
+
# Engine instances.
|
|
837
|
+
# @!attribute [rw] id
|
|
838
|
+
# @return [::String]
|
|
839
|
+
# Required. Identifier for the nodeset, which allows it to be referenced by
|
|
840
|
+
# partitions. Must conform to
|
|
841
|
+
# [RFC-1034](https://datatracker.ietf.org/doc/html/rfc1034) (lower-case,
|
|
842
|
+
# alphanumeric, and at most 63 characters).
|
|
843
|
+
# @!attribute [rw] compute_id
|
|
844
|
+
# @return [::String]
|
|
845
|
+
# Optional. ID of the compute resource on which this nodeset will run. Must
|
|
846
|
+
# match a key in the cluster's
|
|
847
|
+
# [compute_resources](Cluster.compute_resources).
|
|
848
|
+
# @!attribute [rw] storage_configs
|
|
849
|
+
# @return [::Array<::Google::Cloud::HypercomputeCluster::V1beta::StorageConfig>]
|
|
850
|
+
# Optional. How [storage
|
|
851
|
+
# resources][google.cloud.hypercomputecluster.v1beta.StorageResource] should
|
|
852
|
+
# be mounted on each compute node.
|
|
853
|
+
# @!attribute [rw] static_node_count
|
|
854
|
+
# @return [::Integer]
|
|
855
|
+
# Optional. Number of nodes to be statically created for this nodeset. The
|
|
856
|
+
# cluster will attempt to ensure that at least this many nodes exist at all
|
|
857
|
+
# times.
|
|
858
|
+
# @!attribute [rw] max_dynamic_node_count
|
|
859
|
+
# @return [::Integer]
|
|
860
|
+
# Optional. Controls how many additional nodes a cluster can bring online to
|
|
861
|
+
# handle workloads. Set this value to enable dynamic node creation and limit
|
|
862
|
+
# the number of additional nodes the cluster can bring online. Leave empty if
|
|
863
|
+
# you do not want the cluster to create nodes dynamically, and instead rely
|
|
864
|
+
# only on static nodes.
|
|
865
|
+
class SlurmNodeSet
|
|
866
|
+
include ::Google::Protobuf::MessageExts
|
|
867
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
868
|
+
end
|
|
869
|
+
|
|
870
|
+
# When set in a
|
|
871
|
+
# {::Google::Cloud::HypercomputeCluster::V1beta::SlurmNodeSet SlurmNodeSet},
|
|
872
|
+
# indicates that the nodeset should be backed by Compute Engine VM instances.
|
|
873
|
+
# @!attribute [rw] startup_script
|
|
874
|
+
# @return [::String]
|
|
875
|
+
# Optional. [Startup
|
|
876
|
+
# script](https://cloud.google.com/compute/docs/instances/startup-scripts/linux)
|
|
877
|
+
# to be run on each VM instance in the nodeset. Max 256KB.
|
|
878
|
+
# @!attribute [rw] labels
|
|
879
|
+
# @return [::Google::Protobuf::Map{::String => ::String}]
|
|
880
|
+
# Optional.
|
|
881
|
+
# [Labels](https://cloud.google.com/compute/docs/labeling-resources) that
|
|
882
|
+
# should be applied to each VM instance in the nodeset.
|
|
883
|
+
# @!attribute [rw] boot_disk
|
|
884
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::BootDisk]
|
|
885
|
+
# Optional. Boot disk for the compute instance
|
|
886
|
+
class ComputeInstanceSlurmNodeSet
|
|
887
|
+
include ::Google::Protobuf::MessageExts
|
|
888
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
889
|
+
|
|
890
|
+
# @!attribute [rw] key
|
|
891
|
+
# @return [::String]
|
|
892
|
+
# @!attribute [rw] value
|
|
893
|
+
# @return [::String]
|
|
894
|
+
class LabelsEntry
|
|
895
|
+
include ::Google::Protobuf::MessageExts
|
|
896
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
897
|
+
end
|
|
898
|
+
end
|
|
899
|
+
|
|
900
|
+
# Configuration for Slurm partitions in the cluster. Partitions are groups of
|
|
901
|
+
# nodesets, and are how clients specify where their workloads should be run.
|
|
902
|
+
# @!attribute [rw] id
|
|
903
|
+
# @return [::String]
|
|
904
|
+
# Required. ID of the partition, which is how users will identify it. Must
|
|
905
|
+
# conform to [RFC-1034](https://datatracker.ietf.org/doc/html/rfc1034)
|
|
906
|
+
# (lower-case, alphanumeric, and at most 63 characters).
|
|
907
|
+
# @!attribute [rw] node_set_ids
|
|
908
|
+
# @return [::Array<::String>]
|
|
909
|
+
# Required. IDs of the nodesets that make up this partition. Values must
|
|
910
|
+
# match
|
|
911
|
+
# {::Google::Cloud::HypercomputeCluster::V1beta::SlurmNodeSet#id SlurmNodeSet.id}.
|
|
912
|
+
class SlurmPartition
|
|
913
|
+
include ::Google::Protobuf::MessageExts
|
|
914
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
915
|
+
end
|
|
916
|
+
|
|
917
|
+
# Configuration for Slurm [login
|
|
918
|
+
# nodes](https://slurm.schedmd.com/quickstart_admin.html#login) in the cluster.
|
|
919
|
+
# Login nodes are Compute Engine VM instances that allow users to access the
|
|
920
|
+
# cluster over SSH.
|
|
921
|
+
# @!attribute [rw] count
|
|
922
|
+
# @return [::Integer]
|
|
923
|
+
# Required. Number of login node instances to create.
|
|
924
|
+
# @!attribute [rw] zone
|
|
925
|
+
# @return [::String]
|
|
926
|
+
# Required. Name of the zone in which login nodes should run, e.g.,
|
|
927
|
+
# `us-central1-a`. Must be in the same region as the cluster, and must match
|
|
928
|
+
# the zone of any other resources specified in the cluster.
|
|
929
|
+
# @!attribute [rw] machine_type
|
|
930
|
+
# @return [::String]
|
|
931
|
+
# Required. Name of the Compute Engine [machine
|
|
932
|
+
# type](https://cloud.google.com/compute/docs/machine-resource) to use for
|
|
933
|
+
# login nodes, e.g. `n2-standard-2`.
|
|
934
|
+
# @!attribute [rw] startup_script
|
|
935
|
+
# @return [::String]
|
|
936
|
+
# Optional. [Startup
|
|
937
|
+
# script](https://cloud.google.com/compute/docs/instances/startup-scripts/linux)
|
|
938
|
+
# to be run on each login node instance. Max 256KB.
|
|
939
|
+
# @!attribute [rw] enable_os_login
|
|
940
|
+
# @return [::Boolean]
|
|
941
|
+
# Optional. Whether [OS Login](https://cloud.google.com/compute/docs/oslogin)
|
|
942
|
+
# should be enabled on login node instances.
|
|
943
|
+
# @!attribute [rw] enable_public_ips
|
|
944
|
+
# @return [::Boolean]
|
|
945
|
+
# Optional. Whether login node instances should be assigned [external IP
|
|
946
|
+
# addresses](https://cloud.google.com/compute/docs/ip-addresses#externaladdresses).
|
|
947
|
+
# @!attribute [rw] labels
|
|
948
|
+
# @return [::Google::Protobuf::Map{::String => ::String}]
|
|
949
|
+
# Optional.
|
|
950
|
+
# [Labels](https://cloud.google.com/compute/docs/labeling-resources) that
|
|
951
|
+
# should be applied to each login node instance.
|
|
952
|
+
# @!attribute [rw] storage_configs
|
|
953
|
+
# @return [::Array<::Google::Cloud::HypercomputeCluster::V1beta::StorageConfig>]
|
|
954
|
+
# Optional. How [storage
|
|
955
|
+
# resources][google.cloud.hypercomputecluster.v1beta.StorageResource] should
|
|
956
|
+
# be mounted on each login node.
|
|
957
|
+
# @!attribute [r] instances
|
|
958
|
+
# @return [::Array<::Google::Cloud::HypercomputeCluster::V1beta::ComputeInstance>]
|
|
959
|
+
# Output only. Information about the login node instances that were created
|
|
960
|
+
# in Compute Engine.
|
|
961
|
+
# @!attribute [rw] boot_disk
|
|
962
|
+
# @return [::Google::Cloud::HypercomputeCluster::V1beta::BootDisk]
|
|
963
|
+
# Optional. Boot disk for the login node.
|
|
964
|
+
class SlurmLoginNodes
|
|
965
|
+
include ::Google::Protobuf::MessageExts
|
|
966
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
967
|
+
|
|
968
|
+
# @!attribute [rw] key
|
|
969
|
+
# @return [::String]
|
|
970
|
+
# @!attribute [rw] value
|
|
971
|
+
# @return [::String]
|
|
972
|
+
class LabelsEntry
|
|
973
|
+
include ::Google::Protobuf::MessageExts
|
|
974
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
975
|
+
end
|
|
976
|
+
end
|
|
977
|
+
|
|
978
|
+
# Description of how a [storage
|
|
979
|
+
# resource][google.cloud.hypercomputecluster.v1beta.StorageResource] should be
|
|
980
|
+
# mounted on a VM instance.
|
|
981
|
+
# @!attribute [rw] id
|
|
982
|
+
# @return [::String]
|
|
983
|
+
# Required. ID of the storage resource to mount, which must match a key in
|
|
984
|
+
# the cluster's [storage_resources](Cluster.storage_resources).
|
|
985
|
+
# @!attribute [rw] local_mount
|
|
986
|
+
# @return [::String]
|
|
987
|
+
# Required. A directory inside the VM instance's file system where the
|
|
988
|
+
# storage resource should be mounted (e.g., `/mnt/share`).
|
|
989
|
+
class StorageConfig
|
|
990
|
+
include ::Google::Protobuf::MessageExts
|
|
991
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
992
|
+
end
|
|
993
|
+
|
|
994
|
+
# Details about a Compute Engine
|
|
995
|
+
# [instance](https://cloud.google.com/compute/docs/instances).
|
|
996
|
+
# @!attribute [r] instance
|
|
997
|
+
# @return [::String]
|
|
998
|
+
# Output only. Name of the VM instance, in the format
|
|
999
|
+
# `projects/{project}/zones/{zone}/instances/{instance}`.
|
|
1000
|
+
class ComputeInstance
|
|
1001
|
+
include ::Google::Protobuf::MessageExts
|
|
1002
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
1003
|
+
end
|
|
1004
|
+
end
|
|
1005
|
+
end
|
|
1006
|
+
end
|
|
1007
|
+
end
|