google-cloud-tpu-v1 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,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