The CIDR block that the TPU node will use when selecting an IP address.
This CIDR block must be a /29 block; the Compute Engine networks API
forbids a smaller block, and using a larger block would be wasteful (a
node can only consume one IP address). Errors will occur if the CIDR block
has already been used for a currently existing TPU node, the CIDR block
conflicts with any subnetworks in the user's provided network, or the
provided network is peered with another network that is using that CIDR
block.
The name of a network they wish to peer the TPU node to. It must be a
preexisting Compute Engine network inside of the project on which this API
has been activated. If none is provided, "default" will be used.
Output only. The network endpoints where TPU workers can be accessed and
sent work. It is recommended that Tensorflow clients of the node reach out
to the 0th entry in this map first.
Output only. The service account used to run the tensor flow services
within the node. To share resources, including Google Cloud Storage data,
with the Tensorflow job running in the Node, this account must have
permissions to that data.
Whether the VPC peering for the node is set up through Service Networking
API. The VPC Peering should be set up before provisioning the node.
If this field is set, cidr_block field should not be specified. If the
network, that you want to peer the TPU Node to, is Shared VPC networks,
the node must be created with this this field enabled.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThe \u003ccode\u003eNode\u003c/code\u003e class in the Google Cloud TPU v1 API represents a TPU instance, inheriting from \u003ccode\u003eobject\u003c/code\u003e and implementing several interfaces including \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe latest version of the \u003ccode\u003eGoogle.Cloud.Tpu.V1.Node\u003c/code\u003e API is 2.4.0, and the API provides different versions dating back to 1.0.0.\u003c/p\u003e\n"],["\u003cp\u003eKey properties of the \u003ccode\u003eNode\u003c/code\u003e class include \u003ccode\u003eAcceleratorType\u003c/code\u003e (hardware type), \u003ccode\u003eApiVersion\u003c/code\u003e (API version), \u003ccode\u003eCidrBlock\u003c/code\u003e (IP address range), \u003ccode\u003eHealth\u003c/code\u003e (health status), \u003ccode\u003eNetworkEndpoints\u003c/code\u003e (access points for TPU workers), and \u003ccode\u003eTensorflowVersion\u003c/code\u003e (Tensorflow version in the Node).\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eNode\u003c/code\u003e class offers constructors for creating new instances, either default or by copying an existing \u003ccode\u003eNode\u003c/code\u003e instance.\u003c/p\u003e\n"],["\u003cp\u003eThe properties \u003ccode\u003eIpAddress\u003c/code\u003e and \u003ccode\u003ePort\u003c/code\u003e are now obsolete and have been replaced by \u003ccode\u003eNetworkEndpoints\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# Cloud TPU v1 API - Class Node (2.4.0)\n\nVersion latestkeyboard_arrow_down\n\n- [2.4.0 (latest)](/dotnet/docs/reference/Google.Cloud.Tpu.V1/latest/Google.Cloud.Tpu.V1.Node)\n- [2.3.0](/dotnet/docs/reference/Google.Cloud.Tpu.V1/2.3.0/Google.Cloud.Tpu.V1.Node)\n- [2.2.0](/dotnet/docs/reference/Google.Cloud.Tpu.V1/2.2.0/Google.Cloud.Tpu.V1.Node)\n- [2.1.0](/dotnet/docs/reference/Google.Cloud.Tpu.V1/2.1.0/Google.Cloud.Tpu.V1.Node)\n- [2.0.0](/dotnet/docs/reference/Google.Cloud.Tpu.V1/2.0.0/Google.Cloud.Tpu.V1.Node)\n- [1.1.0](/dotnet/docs/reference/Google.Cloud.Tpu.V1/1.1.0/Google.Cloud.Tpu.V1.Node)\n- [1.0.0](/dotnet/docs/reference/Google.Cloud.Tpu.V1/1.0.0/Google.Cloud.Tpu.V1.Node) \n\n public sealed class Node : IMessage\u003cNode\u003e, IEquatable\u003cNode\u003e, IDeepCloneable\u003cNode\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Cloud TPU v1 API class Node.\n\nA TPU instance. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e Node \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[Node](/dotnet/docs/reference/Google.Cloud.Tpu.V1/latest/Google.Cloud.Tpu.V1.Node), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[Node](/dotnet/docs/reference/Google.Cloud.Tpu.V1/latest/Google.Cloud.Tpu.V1.Node), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[Node](/dotnet/docs/reference/Google.Cloud.Tpu.V1/latest/Google.Cloud.Tpu.V1.Node), [IBufferMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IBufferMessage.html), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage.html) \n\nInherited Members\n-----------------\n\n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Cloud.Tpu.V1](/dotnet/docs/reference/Google.Cloud.Tpu.V1/latest/Google.Cloud.Tpu.V1)\n\nAssembly\n--------\n\nGoogle.Cloud.Tpu.V1.dll\n\nConstructors\n------------\n\n### Node()\n\n public Node()\n\n### Node(Node)\n\n public Node(Node other)\n\nProperties\n----------\n\n### AcceleratorType\n\n public string AcceleratorType { get; set; }\n\nRequired. The type of hardware accelerators associated with this node.\n\n### ApiVersion\n\n public Node.Types.ApiVersion ApiVersion { get; set; }\n\nOutput only. The API version that created this Node.\n\n### CidrBlock\n\n public string CidrBlock { get; set; }\n\nThe CIDR block that the TPU node will use when selecting an IP address.\nThis CIDR block must be a /29 block; the Compute Engine networks API\nforbids a smaller block, and using a larger block would be wasteful (a\nnode can only consume one IP address). Errors will occur if the CIDR block\nhas already been used for a currently existing TPU node, the CIDR block\nconflicts with any subnetworks in the user's provided network, or the\nprovided network is peered with another network that is using that CIDR\nblock.\n\n### CreateTime\n\n public Timestamp CreateTime { get; set; }\n\nOutput only. The time when the node was created.\n\n### Description\n\n public string Description { get; set; }\n\nThe user-supplied description of the TPU. Maximum of 512 characters.\n\n### Health\n\n public Node.Types.Health Health { get; set; }\n\nThe health status of the TPU node.\n\n### HealthDescription\n\n public string HealthDescription { get; set; }\n\nOutput only. If this field is populated, it contains a description of why\nthe TPU Node is unhealthy.\n\n### IpAddress\n\n [Obsolete]\n public string IpAddress { get; set; }\n\nOutput only. DEPRECATED! Use network_endpoints instead.\nThe network address for the TPU Node as visible to Compute Engine\ninstances.\n\n### Labels\n\n public MapField\u003cstring, string\u003e Labels { get; }\n\nResource labels to represent user-provided metadata.\n\n### Name\n\n public string Name { get; set; }\n\nOutput only. Immutable. The name of the TPU\n\n### Network\n\n public string Network { get; set; }\n\nThe name of a network they wish to peer the TPU node to. It must be a\npreexisting Compute Engine network inside of the project on which this API\nhas been activated. If none is provided, \"default\" will be used.\n\n### NetworkEndpoints\n\n public RepeatedField\u003cNetworkEndpoint\u003e NetworkEndpoints { get; }\n\nOutput only. The network endpoints where TPU workers can be accessed and\nsent work. It is recommended that Tensorflow clients of the node reach out\nto the 0th entry in this map first.\n\n### NodeName\n\n public NodeName NodeName { get; set; }\n\n[NodeName](/dotnet/docs/reference/Google.Cloud.Tpu.V1/latest/Google.Cloud.Tpu.V1.NodeName)-typed view over the [Name](/dotnet/docs/reference/Google.Cloud.Tpu.V1/latest/Google.Cloud.Tpu.V1.Node#Google_Cloud_Tpu_V1_Node_Name) resource name property.\n\n### Port\n\n [Obsolete]\n public string Port { get; set; }\n\nOutput only. DEPRECATED! Use network_endpoints instead.\nThe network port for the TPU Node as visible to Compute Engine instances.\n\n### SchedulingConfig\n\n public SchedulingConfig SchedulingConfig { get; set; }\n\nThe scheduling options for this node.\n\n### ServiceAccount\n\n public string ServiceAccount { get; set; }\n\nOutput only. The service account used to run the tensor flow services\nwithin the node. To share resources, including Google Cloud Storage data,\nwith the Tensorflow job running in the Node, this account must have\npermissions to that data.\n\n### State\n\n public Node.Types.State State { get; set; }\n\nOutput only. The current state for the TPU Node.\n\n### Symptoms\n\n public RepeatedField\u003cSymptom\u003e Symptoms { get; }\n\nOutput only. The Symptoms that have occurred to the TPU Node.\n\n### TensorflowVersion\n\n public string TensorflowVersion { get; set; }\n\nRequired. The version of Tensorflow running in the Node.\n\n### UseServiceNetworking\n\n public bool UseServiceNetworking { get; set; }\n\nWhether the VPC peering for the node is set up through Service Networking\nAPI. The VPC Peering should be set up before provisioning the node.\nIf this field is set, cidr_block field should not be specified. If the\nnetwork, that you want to peer the TPU Node to, is Shared VPC networks,\nthe node must be created with this this field enabled."]]