Manages TPU nodes and other resources.
TPU API v2
Equality
Instances of this class created via copy-construction or copy-assignment always compare equal. Instances created with equal std::shared_ptr<*Connection>
objects compare equal. Objects that compare equal share the same underlying resources.
Performance
Creating a new instance of this class is a relatively expensive operation, new objects establish new connections to the service. In contrast, copy-construction, move-construction, and the corresponding assignment operations are relatively efficient as the copies share all underlying resources.
Thread Safety
Concurrent access to different instances of this class, even if they compare equal, is guaranteed to work. Two or more threads operating on the same instance of this class is not guaranteed to work. Since copy-construction and move-construction is a relatively efficient operation, consider using such a copy when using this class from multiple threads.
Constructors
TpuClient(TpuClient const &)
Copy and move support
TpuClient const &
TpuClient(TpuClient &&)
Copy and move support
TpuClient &&
TpuClient(std::shared_ptr< TpuConnection >, Options)
connection
std::shared_ptr< TpuConnection >
opts
Options
Operators
operator=(TpuClient const &)
Copy and move support
TpuClient const &
TpuClient &
operator=(TpuClient &&)
Copy and move support
TpuClient &&
TpuClient &
Functions
ListNodes(std::string const &, Options)
Lists nodes.
parent
std::string const &
Required. The parent resource name.
opts
Options
Optional. Override the class-level options, such as retry and backoff policies.
StreamRange< google::cloud::tpu::v2::Node >
a StreamRange
to iterate of the results. See the documentation of this type for details. In brief, this class has begin()
and end()
member functions returning a iterator class meeting the input iterator requirements
. The value type for this iterator is a StatusOr
as the iteration may fail even after some values are retrieved successfully, for example, if there is a network disconnect. An empty set of results does not indicate an error, it indicates that there are no resources meeting the request criteria. On a successful iteration the StatusOr
<T>
contains elements of type google.cloud.tpu.v2.Node
, or rather, the C++ class generated by Protobuf from that type. Please consult the Protobuf documentation for details on the Protobuf mapping rules
.
ListNodes(google::cloud::tpu::v2::ListNodesRequest, Options)
Lists nodes.
request
google::cloud::tpu::v2::ListNodesRequest
Unary RPCs, such as the one wrapped by this function, receive a single request
proto message which includes all the inputs for the RPC. In this case, the proto message is a google.cloud.tpu.v2.ListNodesRequest
. Proto messages are converted to C++ classes by Protobuf, using the Protobuf mapping rules
.
opts
Options
Optional. Override the class-level options, such as retry and backoff policies.
StreamRange< google::cloud::tpu::v2::Node >
a StreamRange
to iterate of the results. See the documentation of this type for details. In brief, this class has begin()
and end()
member functions returning a iterator class meeting the input iterator requirements
. The value type for this iterator is a StatusOr
as the iteration may fail even after some values are retrieved successfully, for example, if there is a network disconnect. An empty set of results does not indicate an error, it indicates that there are no resources meeting the request criteria. On a successful iteration the StatusOr
<T>
contains elements of type google.cloud.tpu.v2.Node
, or rather, the C++ class generated by Protobuf from that type. Please consult the Protobuf documentation for details on the Protobuf mapping rules
.
GetNode(std::string const &, Options)
Gets the details of a node.
name
std::string const &
Required. The resource name.
opts
Options
Optional. Override the class-level options, such as retry and backoff policies.
StatusOr< google::cloud::tpu::v2::Node >
the result of the RPC. The response message type ( google.cloud.tpu.v2.Node
) is mapped to a C++ class using the Protobuf mapping rules
. If the request fails, the StatusOr
contains the error details.
GetNode(google::cloud::tpu::v2::GetNodeRequest const &, Options)
Gets the details of a node.
request
google::cloud::tpu::v2::GetNodeRequest const &
Unary RPCs, such as the one wrapped by this function, receive a single request
proto message which includes all the inputs for the RPC. In this case, the proto message is a google.cloud.tpu.v2.GetNodeRequest
. Proto messages are converted to C++ classes by Protobuf, using the Protobuf mapping rules
.
opts
Options
Optional. Override the class-level options, such as retry and backoff policies.
StatusOr< google::cloud::tpu::v2::Node >
the result of the RPC. The response message type ( google.cloud.tpu.v2.Node
) is mapped to a C++ class using the Protobuf mapping rules
. If the request fails, the StatusOr
contains the error details.
CreateNode(std::string const &, google::cloud::tpu::v2::Node const &, std::string const &, Options)
Creates a node.
parent
std::string const &
Required. The parent resource name.
node
google::cloud::tpu::v2::Node const &
Required. The node.
node_id
std::string const &
The unqualified resource name.
opts
Options
Optional. Override the class-level options, such as retry and backoff policies.
future< StatusOr< google::cloud::tpu::v2::Node > >
A future
that becomes satisfied when the LRO ( Long Running Operation
) completes or the polling policy in effect for this call is exhausted. The future is satisfied with an error if the LRO completes with an error or the polling policy is exhausted. In this case the StatusOr
returned by the future contains the error. If the LRO completes successfully the value of the future contains the LRO's result. For this RPC the result is a google.cloud.tpu.v2.Node
proto message. The C++ class representing this message is created by Protobuf, using the Protobuf mapping rules
.
CreateNode(google::cloud::tpu::v2::CreateNodeRequest const &, Options)
Creates a node.
request
google::cloud::tpu::v2::CreateNodeRequest const &
Unary RPCs, such as the one wrapped by this function, receive a single request
proto message which includes all the inputs for the RPC. In this case, the proto message is a google.cloud.tpu.v2.CreateNodeRequest
. Proto messages are converted to C++ classes by Protobuf, using the Protobuf mapping rules
.
opts
Options
Optional. Override the class-level options, such as retry and backoff policies.
future< StatusOr< google::cloud::tpu::v2::Node > >
A future
that becomes satisfied when the LRO ( Long Running Operation
) completes or the polling policy in effect for this call is exhausted. The future is satisfied with an error if the LRO completes with an error or the polling policy is exhausted. In this case the StatusOr
returned by the future contains the error. If the LRO completes successfully the value of the future contains the LRO's result. For this RPC the result is a google.cloud.tpu.v2.Node
proto message. The C++ class representing this message is created by Protobuf, using the Protobuf mapping rules
.
DeleteNode(std::string const &, Options)
Deletes a node.
name
std::string const &
Required. The resource name.
opts
Options
Optional. Override the class-level options, such as retry and backoff policies.
future< StatusOr< google::cloud::tpu::v2::OperationMetadata > >
A future
that becomes satisfied when the LRO ( Long Running Operation
) completes or the polling policy in effect for this call is exhausted. The future is satisfied with an error if the LRO completes with an error or the polling policy is exhausted. In this case the StatusOr
returned by the future contains the error. If the LRO completes successfully the value of the future contains the LRO's result. For this RPC the result is a google.cloud.tpu.v2.OperationMetadata
proto message. The C++ class representing this message is created by Protobuf, using the Protobuf mapping rules
.
DeleteNode(google::cloud::tpu::v2::DeleteNodeRequest const &, Options)
Deletes a node.
request
google::cloud::tpu::v2::DeleteNodeRequest const &
Unary RPCs, such as the one wrapped by this function, receive a single request
proto message which includes all the inputs for the RPC. In this case, the proto message is a google.cloud.tpu.v2.DeleteNodeRequest
. Proto messages are converted to C++ classes by Protobuf, using the Protobuf mapping rules
.
opts
Options
Optional. Override the class-level options, such as retry and backoff policies.
future< StatusOr< google::cloud::tpu::v2::OperationMetadata > >
A future
that becomes satisfied when the LRO ( Long Running Operation
) completes or the polling policy in effect for this call is exhausted. The future is satisfied with an error if the LRO completes with an error or the polling policy is exhausted. In this case the StatusOr
returned by the future contains the error. If the LRO completes successfully the value of the future contains the LRO's result. For this RPC the result is a google.cloud.tpu.v2.OperationMetadata
proto message. The C++ class representing this message is created by Protobuf, using the Protobuf mapping rules
.
StopNode(google::cloud::tpu::v2::StopNodeRequest const &, Options)
Stops a node.
This operation is only available with single TPU nodes.
request
google::cloud::tpu::v2::StopNodeRequest const &
Unary RPCs, such as the one wrapped by this function, receive a single request
proto message which includes all the inputs for the RPC. In this case, the proto message is a google.cloud.tpu.v2.StopNodeRequest
. Proto messages are converted to C++ classes by Protobuf, using the Protobuf mapping rules
.
opts
Options
Optional. Override the class-level options, such as retry and backoff policies.
future< StatusOr< google::cloud::tpu::v2::Node > >
A future
that becomes satisfied when the LRO ( Long Running Operation
) completes or the polling policy in effect for this call is exhausted. The future is satisfied with an error if the LRO completes with an error or the polling policy is exhausted. In this case the StatusOr
returned by the future contains the error. If the LRO completes successfully the value of the future contains the LRO's result. For this RPC the result is a google.cloud.tpu.v2.Node
proto message. The C++ class representing this message is created by Protobuf, using the Protobuf mapping rules
.
StartNode(google::cloud::tpu::v2::StartNodeRequest const &, Options)
Starts a node.
request
google::cloud::tpu::v2::StartNodeRequest const &
Unary RPCs, such as the one wrapped by this function, receive a single request
proto message which includes all the inputs for the RPC. In this case, the proto message is a google.cloud.tpu.v2.StartNodeRequest
. Proto messages are converted to C++ classes by Protobuf, using the Protobuf mapping rules
.
opts
Options
Optional. Override the class-level options, such as retry and backoff policies.
future< StatusOr< google::cloud::tpu::v2::Node > >
A future
that becomes satisfied when the LRO ( Long Running Operation
) completes or the polling policy in effect for this call is exhausted. The future is satisfied with an error if the LRO completes with an error or the polling policy is exhausted. In this case the StatusOr
returned by the future contains the error. If the LRO completes successfully the value of the future contains the LRO's result. For this RPC the result is a google.cloud.tpu.v2.Node
proto message. The C++ class representing this message is created by Protobuf, using the Protobuf mapping rules
.
UpdateNode(google::cloud::tpu::v2::Node const &, google::protobuf::FieldMask const &, Options)
Updates the configurations of a node.
node
google::cloud::tpu::v2::Node const &
Required. The node. Only fields specified in update_mask are updated.
update_mask
google::protobuf::FieldMask const &
Required. Mask of fields from [Node][Tpu.Node] to update. Supported fields: [description, tags, labels, metadata, network_config.enable_external_ips].
opts
Options
Optional. Override the class-level options, such as retry and backoff policies.
future< StatusOr< google::cloud::tpu::v2::Node > >
A future
that becomes satisfied when the LRO ( Long Running Operation
) completes or the polling policy in effect for this call is exhausted. The future is satisfied with an error if the LRO completes with an error or the polling policy is exhausted. In this case the StatusOr
returned by the future contains the error. If the LRO completes successfully the value of the future contains the LRO's result. For this RPC the result is a google.cloud.tpu.v2.Node
proto message. The C++ class representing this message is created by Protobuf, using the Protobuf mapping rules
.
UpdateNode(google::cloud::tpu::v2::UpdateNodeRequest const &, Options)
Updates the configurations of a node.
request
google::cloud::tpu::v2::UpdateNodeRequest const &
Unary RPCs, such as the one wrapped by this function, receive a single request
proto message which includes all the inputs for the RPC. In this case, the proto message is a google.cloud.tpu.v2.UpdateNodeRequest
. Proto messages are converted to C++ classes by Protobuf, using the Protobuf mapping rules
.
opts
Options
Optional. Override the class-level options, such as retry and backoff policies.
future< StatusOr< google::cloud::tpu::v2::Node > >
A future
that becomes satisfied when the LRO ( Long Running Operation
) completes or the polling policy in effect for this call is exhausted. The future is satisfied with an error if the LRO completes with an error or the polling policy is exhausted. In this case the StatusOr
returned by the future contains the error. If the LRO completes successfully the value of the future contains the LRO's result. For this RPC the result is a google.cloud.tpu.v2.Node
proto message. The C++ class representing this message is created by Protobuf, using the Protobuf mapping rules
.
GenerateServiceIdentity(google::cloud::tpu::v2::GenerateServiceIdentityRequest const &, Options)
Generates the Cloud TPU service identity for the project.
request
google::cloud::tpu::v2::GenerateServiceIdentityRequest const &
Unary RPCs, such as the one wrapped by this function, receive a single request
proto message which includes all the inputs for the RPC. In this case, the proto message is a google.cloud.tpu.v2.GenerateServiceIdentityRequest
. Proto messages are converted to C++ classes by Protobuf, using the Protobuf mapping rules
.
opts
Options
Optional. Override the class-level options, such as retry and backoff policies.
StatusOr< google::cloud::tpu::v2::GenerateServiceIdentityResponse >
the result of the RPC. The response message type ( google.cloud.tpu.v2.GenerateServiceIdentityResponse
) is mapped to a C++ class using the Protobuf mapping rules
. If the request fails, the StatusOr
contains the error details.
ListAcceleratorTypes(std::string const &, Options)
Lists accelerator types supported by this API.
parent
std::string const &
Required. The parent resource name.
opts
Options
Optional. Override the class-level options, such as retry and backoff policies.
StreamRange< google::cloud::tpu::v2::AcceleratorType >
a StreamRange
to iterate of the results. See the documentation of this type for details. In brief, this class has begin()
and end()
member functions returning a iterator class meeting the input iterator requirements
. The value type for this iterator is a StatusOr
as the iteration may fail even after some values are retrieved successfully, for example, if there is a network disconnect. An empty set of results does not indicate an error, it indicates that there are no resources meeting the request criteria. On a successful iteration the StatusOr
<T>
contains elements of type google.cloud.tpu.v2.AcceleratorType
, or rather, the C++ class generated by Protobuf from that type. Please consult the Protobuf documentation for details on the Protobuf mapping rules
.
ListAcceleratorTypes(google::cloud::tpu::v2::ListAcceleratorTypesRequest, Options)
Lists accelerator types supported by this API.
request
google::cloud::tpu::v2::ListAcceleratorTypesRequest
Unary RPCs, such as the one wrapped by this function, receive a single request
proto message which includes all the inputs for the RPC. In this case, the proto message is a google.cloud.tpu.v2.ListAcceleratorTypesRequest
. Proto messages are converted to C++ classes by Protobuf, using the Protobuf mapping rules
.
opts
Options
Optional. Override the class-level options, such as retry and backoff policies.
StreamRange< google::cloud::tpu::v2::AcceleratorType >
a StreamRange
to iterate of the results. See the documentation of this type for details. In brief, this class has begin()
and end()
member functions returning a iterator class meeting the input iterator requirements
. The value type for this iterator is a StatusOr
as the iteration may fail even after some values are retrieved successfully, for example, if there is a network disconnect. An empty set of results does not indicate an error, it indicates that there are no resources meeting the request criteria. On a successful iteration the StatusOr
<T>
contains elements of type google.cloud.tpu.v2.AcceleratorType
, or rather, the C++ class generated by Protobuf from that type. Please consult the Protobuf documentation for details on the Protobuf mapping rules
.
GetAcceleratorType(std::string const &, Options)
Gets AcceleratorType.
name
std::string const &
Required. The resource name.
opts
Options
Optional. Override the class-level options, such as retry and backoff policies.
StatusOr< google::cloud::tpu::v2::AcceleratorType >
the result of the RPC. The response message type ( google.cloud.tpu.v2.AcceleratorType
) is mapped to a C++ class using the Protobuf mapping rules
. If the request fails, the StatusOr
contains the error details.
GetAcceleratorType(google::cloud::tpu::v2::GetAcceleratorTypeRequest const &, Options)
Gets AcceleratorType.
request
google::cloud::tpu::v2::GetAcceleratorTypeRequest const &
Unary RPCs, such as the one wrapped by this function, receive a single request
proto message which includes all the inputs for the RPC. In this case, the proto message is a google.cloud.tpu.v2.GetAcceleratorTypeRequest
. Proto messages are converted to C++ classes by Protobuf, using the Protobuf mapping rules
.
opts
Options
Optional. Override the class-level options, such as retry and backoff policies.
StatusOr< google::cloud::tpu::v2::AcceleratorType >
the result of the RPC. The response message type ( google.cloud.tpu.v2.AcceleratorType
) is mapped to a C++ class using the Protobuf mapping rules
. If the request fails, the StatusOr
contains the error details.
ListRuntimeVersions(std::string const &, Options)
Lists runtime versions supported by this API.
parent
std::string const &
Required. The parent resource name.
opts
Options
Optional. Override the class-level options, such as retry and backoff policies.
StreamRange< google::cloud::tpu::v2::RuntimeVersion >
a StreamRange
to iterate of the results. See the documentation of this type for details. In brief, this class has begin()
and end()
member functions returning a iterator class meeting the input iterator requirements
. The value type for this iterator is a StatusOr
as the iteration may fail even after some values are retrieved successfully, for example, if there is a network disconnect. An empty set of results does not indicate an error, it indicates that there are no resources meeting the request criteria. On a successful iteration the StatusOr
<T>
contains elements of type google.cloud.tpu.v2.RuntimeVersion
, or rather, the C++ class generated by Protobuf from that type. Please consult the Protobuf documentation for details on the Protobuf mapping rules
.
ListRuntimeVersions(google::cloud::tpu::v2::ListRuntimeVersionsRequest, Options)
Lists runtime versions supported by this API.
request
google::cloud::tpu::v2::ListRuntimeVersionsRequest
Unary RPCs, such as the one wrapped by this function, receive a single request
proto message which includes all the inputs for the RPC. In this case, the proto message is a google.cloud.tpu.v2.ListRuntimeVersionsRequest
. Proto messages are converted to C++ classes by Protobuf, using the Protobuf mapping rules
.
opts
Options
Optional. Override the class-level options, such as retry and backoff policies.
StreamRange< google::cloud::tpu::v2::RuntimeVersion >
a StreamRange
to iterate of the results. See the documentation of this type for details. In brief, this class has begin()
and end()
member functions returning a iterator class meeting the input iterator requirements
. The value type for this iterator is a StatusOr
as the iteration may fail even after some values are retrieved successfully, for example, if there is a network disconnect. An empty set of results does not indicate an error, it indicates that there are no resources meeting the request criteria. On a successful iteration the StatusOr
<T>
contains elements of type google.cloud.tpu.v2.RuntimeVersion
, or rather, the C++ class generated by Protobuf from that type. Please consult the Protobuf documentation for details on the Protobuf mapping rules
.
GetRuntimeVersion(std::string const &, Options)
Gets a runtime version.
name
std::string const &
Required. The resource name.
opts
Options
Optional. Override the class-level options, such as retry and backoff policies.
StatusOr< google::cloud::tpu::v2::RuntimeVersion >
the result of the RPC. The response message type ( google.cloud.tpu.v2.RuntimeVersion
) is mapped to a C++ class using the Protobuf mapping rules
. If the request fails, the StatusOr
contains the error details.
GetRuntimeVersion(google::cloud::tpu::v2::GetRuntimeVersionRequest const &, Options)
Gets a runtime version.
request
google::cloud::tpu::v2::GetRuntimeVersionRequest const &
Unary RPCs, such as the one wrapped by this function, receive a single request
proto message which includes all the inputs for the RPC. In this case, the proto message is a google.cloud.tpu.v2.GetRuntimeVersionRequest
. Proto messages are converted to C++ classes by Protobuf, using the Protobuf mapping rules
.
opts
Options
Optional. Override the class-level options, such as retry and backoff policies.
StatusOr< google::cloud::tpu::v2::RuntimeVersion >
the result of the RPC. The response message type ( google.cloud.tpu.v2.RuntimeVersion
) is mapped to a C++ class using the Protobuf mapping rules
. If the request fails, the StatusOr
contains the error details.
GetGuestAttributes(google::cloud::tpu::v2::GetGuestAttributesRequest const &, Options)
Retrieves the guest attributes for the node.
request
google::cloud::tpu::v2::GetGuestAttributesRequest const &
Unary RPCs, such as the one wrapped by this function, receive a single request
proto message which includes all the inputs for the RPC. In this case, the proto message is a google.cloud.tpu.v2.GetGuestAttributesRequest
. Proto messages are converted to C++ classes by Protobuf, using the Protobuf mapping rules
.
opts
Options
Optional. Override the class-level options, such as retry and backoff policies.
StatusOr< google::cloud::tpu::v2::GetGuestAttributesResponse >
the result of the RPC. The response message type ( google.cloud.tpu.v2.GetGuestAttributesResponse
) is mapped to a C++ class using the Protobuf mapping rules
. If the request fails, the StatusOr
contains the error details.

