google-cloud-tpu-v1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,511 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2021 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 Tpu
23
+ module V1
24
+ # Sets the scheduling options for this node.
25
+ # @!attribute [rw] preemptible
26
+ # @return [::Boolean]
27
+ # Defines whether the node is preemptible.
28
+ # @!attribute [rw] reserved
29
+ # @return [::Boolean]
30
+ # Whether the node is created under a reservation.
31
+ class SchedulingConfig
32
+ include ::Google::Protobuf::MessageExts
33
+ extend ::Google::Protobuf::MessageExts::ClassMethods
34
+ end
35
+
36
+ # A network endpoint over which a TPU worker can be reached.
37
+ # @!attribute [rw] ip_address
38
+ # @return [::String]
39
+ # The IP address of this network endpoint.
40
+ # @!attribute [rw] port
41
+ # @return [::Integer]
42
+ # The port of this network endpoint.
43
+ class NetworkEndpoint
44
+ include ::Google::Protobuf::MessageExts
45
+ extend ::Google::Protobuf::MessageExts::ClassMethods
46
+ end
47
+
48
+ # A TPU instance.
49
+ # @!attribute [r] name
50
+ # @return [::String]
51
+ # Output only. Immutable. The name of the TPU
52
+ # @!attribute [rw] description
53
+ # @return [::String]
54
+ # The user-supplied description of the TPU. Maximum of 512 characters.
55
+ # @!attribute [rw] accelerator_type
56
+ # @return [::String]
57
+ # Required. The type of hardware accelerators associated with this node.
58
+ # @!attribute [rw] ip_address
59
+ # @return [::String]
60
+ # Output only. DEPRECATED! Use network_endpoints instead.
61
+ # The network address for the TPU Node as visible to Compute Engine
62
+ # instances.
63
+ # @!attribute [rw] port
64
+ # @return [::String]
65
+ # Output only. DEPRECATED! Use network_endpoints instead.
66
+ # The network port for the TPU Node as visible to Compute Engine instances.
67
+ # @!attribute [r] state
68
+ # @return [::Google::Cloud::Tpu::V1::Node::State]
69
+ # Output only. The current state for the TPU Node.
70
+ # @!attribute [r] health_description
71
+ # @return [::String]
72
+ # Output only. If this field is populated, it contains a description of why the TPU Node
73
+ # is unhealthy.
74
+ # @!attribute [rw] tensorflow_version
75
+ # @return [::String]
76
+ # Required. The version of Tensorflow running in the Node.
77
+ # @!attribute [rw] network
78
+ # @return [::String]
79
+ # The name of a network they wish to peer the TPU node to. It must be a
80
+ # preexisting Compute Engine network inside of the project on which this API
81
+ # has been activated. If none is provided, "default" will be used.
82
+ # @!attribute [rw] cidr_block
83
+ # @return [::String]
84
+ # The CIDR block that the TPU node will use when selecting an IP address.
85
+ # This CIDR block must be a /29 block; the Compute Engine networks API
86
+ # forbids a smaller block, and using a larger block would be wasteful (a
87
+ # node can only consume one IP address). Errors will occur if the CIDR block
88
+ # has already been used for a currently existing TPU node, the CIDR block
89
+ # conflicts with any subnetworks in the user's provided network, or the
90
+ # provided network is peered with another network that is using that CIDR
91
+ # block.
92
+ # @!attribute [r] service_account
93
+ # @return [::String]
94
+ # Output only. The service account used to run the tensor flow services within the node.
95
+ # To share resources, including Google Cloud Storage data, with the
96
+ # Tensorflow job running in the Node, this account must have permissions to
97
+ # that data.
98
+ # @!attribute [r] create_time
99
+ # @return [::Google::Protobuf::Timestamp]
100
+ # Output only. The time when the node was created.
101
+ # @!attribute [rw] scheduling_config
102
+ # @return [::Google::Cloud::Tpu::V1::SchedulingConfig]
103
+ # The scheduling options for this node.
104
+ # @!attribute [r] network_endpoints
105
+ # @return [::Array<::Google::Cloud::Tpu::V1::NetworkEndpoint>]
106
+ # Output only. The network endpoints where TPU workers can be accessed and
107
+ # sent work. It is recommended that Tensorflow clients of the node reach out
108
+ # to the 0th entry in this map first.
109
+ # @!attribute [rw] health
110
+ # @return [::Google::Cloud::Tpu::V1::Node::Health]
111
+ # The health status of the TPU node.
112
+ # @!attribute [rw] labels
113
+ # @return [::Google::Protobuf::Map{::String => ::String}]
114
+ # Resource labels to represent user-provided metadata.
115
+ # @!attribute [rw] use_service_networking
116
+ # @return [::Boolean]
117
+ # Whether the VPC peering for the node is set up through Service Networking
118
+ # API. The VPC Peering should be set up before provisioning the node.
119
+ # If this field is set, cidr_block field should not be specified. If the
120
+ # network, that you want to peer the TPU Node to, is Shared VPC networks,
121
+ # the node must be created with this this field enabled.
122
+ # @!attribute [r] api_version
123
+ # @return [::Google::Cloud::Tpu::V1::Node::ApiVersion]
124
+ # Output only. The API version that created this Node.
125
+ # @!attribute [r] symptoms
126
+ # @return [::Array<::Google::Cloud::Tpu::V1::Symptom>]
127
+ # Output only. The Symptoms that have occurred to the TPU Node.
128
+ class Node
129
+ include ::Google::Protobuf::MessageExts
130
+ extend ::Google::Protobuf::MessageExts::ClassMethods
131
+
132
+ # @!attribute [rw] key
133
+ # @return [::String]
134
+ # @!attribute [rw] value
135
+ # @return [::String]
136
+ class LabelsEntry
137
+ include ::Google::Protobuf::MessageExts
138
+ extend ::Google::Protobuf::MessageExts::ClassMethods
139
+ end
140
+
141
+ # Represents the different states of a TPU node during its lifecycle.
142
+ module State
143
+ # TPU node state is not known/set.
144
+ STATE_UNSPECIFIED = 0
145
+
146
+ # TPU node is being created.
147
+ CREATING = 1
148
+
149
+ # TPU node has been created and is fully usable.
150
+ READY = 2
151
+
152
+ # TPU node is restarting.
153
+ RESTARTING = 3
154
+
155
+ # TPU node is undergoing reimaging.
156
+ REIMAGING = 4
157
+
158
+ # TPU node is being deleted.
159
+ DELETING = 5
160
+
161
+ # TPU node is being repaired and may be unusable. Details can be
162
+ # found in the `help_description` field.
163
+ REPAIRING = 6
164
+
165
+ # TPU node is stopped.
166
+ STOPPED = 8
167
+
168
+ # TPU node is currently stopping.
169
+ STOPPING = 9
170
+
171
+ # TPU node is currently starting.
172
+ STARTING = 10
173
+
174
+ # TPU node has been preempted. Only applies to Preemptible TPU Nodes.
175
+ PREEMPTED = 11
176
+
177
+ # TPU node has been terminated due to maintenance or has reached the end of
178
+ # its life cycle (for preemptible nodes).
179
+ TERMINATED = 12
180
+
181
+ # TPU node is currently hiding.
182
+ HIDING = 13
183
+
184
+ # TPU node has been hidden.
185
+ HIDDEN = 14
186
+
187
+ # TPU node is currently unhiding.
188
+ UNHIDING = 15
189
+ end
190
+
191
+ # Health defines the status of a TPU node as reported by
192
+ # Health Monitor.
193
+ module Health
194
+ # Health status is unknown: not initialized or failed to retrieve.
195
+ HEALTH_UNSPECIFIED = 0
196
+
197
+ # The resource is healthy.
198
+ HEALTHY = 1
199
+
200
+ # The resource is unhealthy.
201
+ DEPRECATED_UNHEALTHY = 2
202
+
203
+ # The resource is unresponsive.
204
+ TIMEOUT = 3
205
+
206
+ # The in-guest ML stack is unhealthy.
207
+ UNHEALTHY_TENSORFLOW = 4
208
+
209
+ # The node is under maintenance/priority boost caused rescheduling and
210
+ # will resume running once rescheduled.
211
+ UNHEALTHY_MAINTENANCE = 5
212
+ end
213
+
214
+ # TPU API Version.
215
+ module ApiVersion
216
+ # API version is unknown.
217
+ API_VERSION_UNSPECIFIED = 0
218
+
219
+ # TPU API V1Alpha1 version.
220
+ V1_ALPHA1 = 1
221
+
222
+ # TPU API V1 version.
223
+ V1 = 2
224
+
225
+ # TPU API V2Alpha1 version.
226
+ V2_ALPHA1 = 3
227
+ end
228
+ end
229
+
230
+ # Request for {::Google::Cloud::Tpu::V1::Tpu::Client#list_nodes ListNodes}.
231
+ # @!attribute [rw] parent
232
+ # @return [::String]
233
+ # Required. The parent resource name.
234
+ # @!attribute [rw] page_size
235
+ # @return [::Integer]
236
+ # The maximum number of items to return.
237
+ # @!attribute [rw] page_token
238
+ # @return [::String]
239
+ # The next_page_token value returned from a previous List request, if any.
240
+ class ListNodesRequest
241
+ include ::Google::Protobuf::MessageExts
242
+ extend ::Google::Protobuf::MessageExts::ClassMethods
243
+ end
244
+
245
+ # Response for {::Google::Cloud::Tpu::V1::Tpu::Client#list_nodes ListNodes}.
246
+ # @!attribute [rw] nodes
247
+ # @return [::Array<::Google::Cloud::Tpu::V1::Node>]
248
+ # The listed nodes.
249
+ # @!attribute [rw] next_page_token
250
+ # @return [::String]
251
+ # The next page token or empty if none.
252
+ # @!attribute [rw] unreachable
253
+ # @return [::Array<::String>]
254
+ # Locations that could not be reached.
255
+ class ListNodesResponse
256
+ include ::Google::Protobuf::MessageExts
257
+ extend ::Google::Protobuf::MessageExts::ClassMethods
258
+ end
259
+
260
+ # Request for {::Google::Cloud::Tpu::V1::Tpu::Client#get_node GetNode}.
261
+ # @!attribute [rw] name
262
+ # @return [::String]
263
+ # Required. The resource name.
264
+ class GetNodeRequest
265
+ include ::Google::Protobuf::MessageExts
266
+ extend ::Google::Protobuf::MessageExts::ClassMethods
267
+ end
268
+
269
+ # Request for {::Google::Cloud::Tpu::V1::Tpu::Client#create_node CreateNode}.
270
+ # @!attribute [rw] parent
271
+ # @return [::String]
272
+ # Required. The parent resource name.
273
+ # @!attribute [rw] node_id
274
+ # @return [::String]
275
+ # The unqualified resource name.
276
+ # @!attribute [rw] node
277
+ # @return [::Google::Cloud::Tpu::V1::Node]
278
+ # Required. The node.
279
+ class CreateNodeRequest
280
+ include ::Google::Protobuf::MessageExts
281
+ extend ::Google::Protobuf::MessageExts::ClassMethods
282
+ end
283
+
284
+ # Request for {::Google::Cloud::Tpu::V1::Tpu::Client#delete_node DeleteNode}.
285
+ # @!attribute [rw] name
286
+ # @return [::String]
287
+ # Required. The resource name.
288
+ class DeleteNodeRequest
289
+ include ::Google::Protobuf::MessageExts
290
+ extend ::Google::Protobuf::MessageExts::ClassMethods
291
+ end
292
+
293
+ # Request for {::Google::Cloud::Tpu::V1::Tpu::Client#reimage_node ReimageNode}.
294
+ # @!attribute [rw] name
295
+ # @return [::String]
296
+ # The resource name.
297
+ # @!attribute [rw] tensorflow_version
298
+ # @return [::String]
299
+ # The version for reimage to create.
300
+ class ReimageNodeRequest
301
+ include ::Google::Protobuf::MessageExts
302
+ extend ::Google::Protobuf::MessageExts::ClassMethods
303
+ end
304
+
305
+ # Request for {::Google::Cloud::Tpu::V1::Tpu::Client#stop_node StopNode}.
306
+ # @!attribute [rw] name
307
+ # @return [::String]
308
+ # The resource name.
309
+ class StopNodeRequest
310
+ include ::Google::Protobuf::MessageExts
311
+ extend ::Google::Protobuf::MessageExts::ClassMethods
312
+ end
313
+
314
+ # Request for {::Google::Cloud::Tpu::V1::Tpu::Client#start_node StartNode}.
315
+ # @!attribute [rw] name
316
+ # @return [::String]
317
+ # The resource name.
318
+ class StartNodeRequest
319
+ include ::Google::Protobuf::MessageExts
320
+ extend ::Google::Protobuf::MessageExts::ClassMethods
321
+ end
322
+
323
+ # A tensorflow version that a Node can be configured with.
324
+ # @!attribute [rw] name
325
+ # @return [::String]
326
+ # The resource name.
327
+ # @!attribute [rw] version
328
+ # @return [::String]
329
+ # the tensorflow version.
330
+ class TensorFlowVersion
331
+ include ::Google::Protobuf::MessageExts
332
+ extend ::Google::Protobuf::MessageExts::ClassMethods
333
+ end
334
+
335
+ # Request for {::Google::Cloud::Tpu::V1::Tpu::Client#get_tensor_flow_version GetTensorFlowVersion}.
336
+ # @!attribute [rw] name
337
+ # @return [::String]
338
+ # Required. The resource name.
339
+ class GetTensorFlowVersionRequest
340
+ include ::Google::Protobuf::MessageExts
341
+ extend ::Google::Protobuf::MessageExts::ClassMethods
342
+ end
343
+
344
+ # Request for {::Google::Cloud::Tpu::V1::Tpu::Client#list_tensor_flow_versions ListTensorFlowVersions}.
345
+ # @!attribute [rw] parent
346
+ # @return [::String]
347
+ # Required. The parent resource name.
348
+ # @!attribute [rw] page_size
349
+ # @return [::Integer]
350
+ # The maximum number of items to return.
351
+ # @!attribute [rw] page_token
352
+ # @return [::String]
353
+ # The next_page_token value returned from a previous List request, if any.
354
+ # @!attribute [rw] filter
355
+ # @return [::String]
356
+ # List filter.
357
+ # @!attribute [rw] order_by
358
+ # @return [::String]
359
+ # Sort results.
360
+ class ListTensorFlowVersionsRequest
361
+ include ::Google::Protobuf::MessageExts
362
+ extend ::Google::Protobuf::MessageExts::ClassMethods
363
+ end
364
+
365
+ # Response for {::Google::Cloud::Tpu::V1::Tpu::Client#list_tensor_flow_versions ListTensorFlowVersions}.
366
+ # @!attribute [rw] tensorflow_versions
367
+ # @return [::Array<::Google::Cloud::Tpu::V1::TensorFlowVersion>]
368
+ # The listed nodes.
369
+ # @!attribute [rw] next_page_token
370
+ # @return [::String]
371
+ # The next page token or empty if none.
372
+ # @!attribute [rw] unreachable
373
+ # @return [::Array<::String>]
374
+ # Locations that could not be reached.
375
+ class ListTensorFlowVersionsResponse
376
+ include ::Google::Protobuf::MessageExts
377
+ extend ::Google::Protobuf::MessageExts::ClassMethods
378
+ end
379
+
380
+ # A accelerator type that a Node can be configured with.
381
+ # @!attribute [rw] name
382
+ # @return [::String]
383
+ # The resource name.
384
+ # @!attribute [rw] type
385
+ # @return [::String]
386
+ # the accelerator type.
387
+ class AcceleratorType
388
+ include ::Google::Protobuf::MessageExts
389
+ extend ::Google::Protobuf::MessageExts::ClassMethods
390
+ end
391
+
392
+ # Request for {::Google::Cloud::Tpu::V1::Tpu::Client#get_accelerator_type GetAcceleratorType}.
393
+ # @!attribute [rw] name
394
+ # @return [::String]
395
+ # Required. The resource name.
396
+ class GetAcceleratorTypeRequest
397
+ include ::Google::Protobuf::MessageExts
398
+ extend ::Google::Protobuf::MessageExts::ClassMethods
399
+ end
400
+
401
+ # Request for {::Google::Cloud::Tpu::V1::Tpu::Client#list_accelerator_types ListAcceleratorTypes}.
402
+ # @!attribute [rw] parent
403
+ # @return [::String]
404
+ # Required. The parent resource name.
405
+ # @!attribute [rw] page_size
406
+ # @return [::Integer]
407
+ # The maximum number of items to return.
408
+ # @!attribute [rw] page_token
409
+ # @return [::String]
410
+ # The next_page_token value returned from a previous List request, if any.
411
+ # @!attribute [rw] filter
412
+ # @return [::String]
413
+ # List filter.
414
+ # @!attribute [rw] order_by
415
+ # @return [::String]
416
+ # Sort results.
417
+ class ListAcceleratorTypesRequest
418
+ include ::Google::Protobuf::MessageExts
419
+ extend ::Google::Protobuf::MessageExts::ClassMethods
420
+ end
421
+
422
+ # Response for {::Google::Cloud::Tpu::V1::Tpu::Client#list_accelerator_types ListAcceleratorTypes}.
423
+ # @!attribute [rw] accelerator_types
424
+ # @return [::Array<::Google::Cloud::Tpu::V1::AcceleratorType>]
425
+ # The listed nodes.
426
+ # @!attribute [rw] next_page_token
427
+ # @return [::String]
428
+ # The next page token or empty if none.
429
+ # @!attribute [rw] unreachable
430
+ # @return [::Array<::String>]
431
+ # Locations that could not be reached.
432
+ class ListAcceleratorTypesResponse
433
+ include ::Google::Protobuf::MessageExts
434
+ extend ::Google::Protobuf::MessageExts::ClassMethods
435
+ end
436
+
437
+ # Metadata describing an {::Google::Longrunning::Operation Operation}
438
+ # @!attribute [rw] create_time
439
+ # @return [::Google::Protobuf::Timestamp]
440
+ # The time the operation was created.
441
+ # @!attribute [rw] end_time
442
+ # @return [::Google::Protobuf::Timestamp]
443
+ # The time the operation finished running.
444
+ # @!attribute [rw] target
445
+ # @return [::String]
446
+ # Target of the operation - for example
447
+ # projects/project-1/connectivityTests/test-1
448
+ # @!attribute [rw] verb
449
+ # @return [::String]
450
+ # Name of the verb executed by the operation.
451
+ # @!attribute [rw] status_detail
452
+ # @return [::String]
453
+ # Human-readable status of the operation, if any.
454
+ # @!attribute [rw] cancel_requested
455
+ # @return [::Boolean]
456
+ # Specifies if cancellation was requested for the operation.
457
+ # @!attribute [rw] api_version
458
+ # @return [::String]
459
+ # API version.
460
+ class OperationMetadata
461
+ include ::Google::Protobuf::MessageExts
462
+ extend ::Google::Protobuf::MessageExts::ClassMethods
463
+ end
464
+
465
+ # A Symptom instance.
466
+ # @!attribute [rw] create_time
467
+ # @return [::Google::Protobuf::Timestamp]
468
+ # Timestamp when the Symptom is created.
469
+ # @!attribute [rw] symptom_type
470
+ # @return [::Google::Cloud::Tpu::V1::Symptom::SymptomType]
471
+ # Type of the Symptom.
472
+ # @!attribute [rw] details
473
+ # @return [::String]
474
+ # Detailed information of the current Symptom.
475
+ # @!attribute [rw] worker_id
476
+ # @return [::String]
477
+ # A string used to uniquely distinguish a worker within a TPU node.
478
+ class Symptom
479
+ include ::Google::Protobuf::MessageExts
480
+ extend ::Google::Protobuf::MessageExts::ClassMethods
481
+
482
+ # SymptomType represents the different types of Symptoms that a TPU can be
483
+ # at.
484
+ module SymptomType
485
+ # Unspecified symptom.
486
+ SYMPTOM_TYPE_UNSPECIFIED = 0
487
+
488
+ # TPU VM memory is low.
489
+ LOW_MEMORY = 1
490
+
491
+ # TPU runtime is out of memory.
492
+ OUT_OF_MEMORY = 2
493
+
494
+ # TPU runtime execution has timed out.
495
+ EXECUTE_TIMED_OUT = 3
496
+
497
+ # TPU runtime fails to construct a mesh that recognizes each TPU device's
498
+ # neighbors.
499
+ MESH_BUILD_FAIL = 4
500
+
501
+ # TPU HBM is out of memory.
502
+ HBM_OUT_OF_MEMORY = 5
503
+
504
+ # Abusive behaviors have been identified on the current project.
505
+ PROJECT_ABUSE = 6
506
+ end
507
+ end
508
+ end
509
+ end
510
+ end
511
+ end