{
  "batchPath": "batch",
  "version": "v1alpha1",
  "discoveryVersion": "v1",
  "kind": "discovery#restDescription",
  "ownerDomain": "google.com",
  "version_module": true,
  "canonicalName": "TPU",
  "rootUrl": "https://tpu.googleapis.com/",
  "basePath": "",
  "parameters": {
    "fields": {
      "type": "string",
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query"
    },
    "quotaUser": {
      "location": "query",
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
      "type": "string"
    },
    "access_token": {
      "type": "string",
      "location": "query",
      "description": "OAuth access token."
    },
    "prettyPrint": {
      "location": "query",
      "description": "Returns response with indentations and line breaks.",
      "type": "boolean",
      "default": "true"
    },
    "uploadType": {
      "type": "string",
      "location": "query",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\")."
    },
    "callback": {
      "type": "string",
      "location": "query",
      "description": "JSONP"
    },
    "oauth_token": {
      "type": "string",
      "description": "OAuth 2.0 token for the current user.",
      "location": "query"
    },
    "upload_protocol": {
      "type": "string",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "location": "query"
    },
    "alt": {
      "description": "Data format for response.",
      "default": "json",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "location": "query",
      "type": "string",
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ]
    },
    "key": {
      "type": "string",
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "location": "query"
    },
    "$.xgafv": {
      "enum": [
        "1",
        "2"
      ],
      "description": "V1 error format.",
      "type": "string",
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "location": "query"
    }
  },
  "id": "tpu:v1alpha1",
  "revision": "20260127",
  "resources": {
    "projects": {
      "resources": {
        "locations": {
          "methods": {
            "get": {
              "parameterOrder": [
                "name"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "description": "Gets information about a location.",
              "parameters": {
                "name": {
                  "pattern": "^projects/[^/]+/locations/[^/]+$",
                  "location": "path",
                  "type": "string",
                  "description": "Resource name for the location.",
                  "required": true
                }
              },
              "response": {
                "$ref": "Location"
              },
              "id": "tpu.projects.locations.get",
              "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}",
              "path": "v1alpha1/{+name}",
              "httpMethod": "GET"
            },
            "list": {
              "httpMethod": "GET",
              "path": "v1alpha1/{+name}/locations",
              "flatPath": "v1alpha1/projects/{projectsId}/locations",
              "id": "tpu.projects.locations.list",
              "parameters": {
                "pageToken": {
                  "location": "query",
                  "description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.",
                  "type": "string"
                },
                "extraLocationTypes": {
                  "type": "string",
                  "location": "query",
                  "repeated": true,
                  "description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage."
                },
                "filter": {
                  "type": "string",
                  "location": "query",
                  "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160)."
                },
                "pageSize": {
                  "location": "query",
                  "description": "The maximum number of results to return. If not set, the service selects a default.",
                  "format": "int32",
                  "type": "integer"
                },
                "name": {
                  "description": "The resource that owns the locations collection, if applicable.",
                  "required": true,
                  "pattern": "^projects/[^/]+$",
                  "location": "path",
                  "type": "string"
                }
              },
              "response": {
                "$ref": "ListLocationsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.",
              "parameterOrder": [
                "name"
              ]
            }
          },
          "resources": {
            "nodes": {
              "methods": {
                "get": {
                  "deprecated": true,
                  "httpMethod": "GET",
                  "path": "v1alpha1/{+name}",
                  "id": "tpu.projects.locations.nodes.get",
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/nodes/[^/]+$",
                      "location": "path",
                      "type": "string",
                      "description": "Required. The resource name.",
                      "required": true
                    }
                  },
                  "response": {
                    "$ref": "Node"
                  },
                  "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/nodes/{nodesId}",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Gets the details of a node.",
                  "parameterOrder": [
                    "name"
                  ]
                },
                "stop": {
                  "deprecated": true,
                  "path": "v1alpha1/{+name}:stop",
                  "httpMethod": "POST",
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/nodes/[^/]+$",
                      "location": "path",
                      "type": "string",
                      "description": "The resource name.",
                      "required": true
                    }
                  },
                  "response": {
                    "$ref": "Operation"
                  },
                  "id": "tpu.projects.locations.nodes.stop",
                  "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/nodes/{nodesId}:stop",
                  "request": {
                    "$ref": "StopNodeRequest"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Stops a node. This operation is only available with single TPU nodes.",
                  "parameterOrder": [
                    "name"
                  ]
                },
                "create": {
                  "parameterOrder": [
                    "parent"
                  ],
                  "request": {
                    "$ref": "Node"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Creates a node.",
                  "parameters": {
                    "nodeId": {
                      "type": "string",
                      "location": "query",
                      "description": "The unqualified resource name."
                    },
                    "requestId": {
                      "type": "string",
                      "location": "query",
                      "description": "Idempotent request UUID."
                    },
                    "parent": {
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "required": true,
                      "description": "Required. The parent resource name."
                    }
                  },
                  "response": {
                    "$ref": "Operation"
                  },
                  "id": "tpu.projects.locations.nodes.create",
                  "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/nodes",
                  "deprecated": true,
                  "path": "v1alpha1/{+parent}/nodes",
                  "httpMethod": "POST"
                },
                "list": {
                  "httpMethod": "GET",
                  "path": "v1alpha1/{+parent}/nodes",
                  "deprecated": true,
                  "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/nodes",
                  "id": "tpu.projects.locations.nodes.list",
                  "parameters": {
                    "pageToken": {
                      "location": "query",
                      "description": "The next_page_token value returned from a previous List request, if any.",
                      "type": "string"
                    },
                    "parent": {
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "type": "string",
                      "description": "Required. The parent resource name.",
                      "required": true
                    },
                    "pageSize": {
                      "type": "integer",
                      "description": "The maximum number of items to return.",
                      "format": "int32",
                      "location": "query"
                    }
                  },
                  "response": {
                    "$ref": "ListNodesResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Lists nodes.",
                  "parameterOrder": [
                    "parent"
                  ]
                },
                "reimage": {
                  "parameterOrder": [
                    "name"
                  ],
                  "request": {
                    "$ref": "ReimageNodeRequest"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Reimages a node's OS.",
                  "parameters": {
                    "name": {
                      "required": true,
                      "description": "The resource name.",
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/nodes/[^/]+$",
                      "location": "path"
                    }
                  },
                  "response": {
                    "$ref": "Operation"
                  },
                  "id": "tpu.projects.locations.nodes.reimage",
                  "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/nodes/{nodesId}:reimage",
                  "deprecated": true,
                  "path": "v1alpha1/{+name}:reimage",
                  "httpMethod": "POST"
                },
                "start": {
                  "request": {
                    "$ref": "StartNodeRequest"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Starts a node.",
                  "parameterOrder": [
                    "name"
                  ],
                  "deprecated": true,
                  "path": "v1alpha1/{+name}:start",
                  "httpMethod": "POST",
                  "parameters": {
                    "name": {
                      "required": true,
                      "description": "The resource name.",
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/nodes/[^/]+$",
                      "location": "path"
                    }
                  },
                  "response": {
                    "$ref": "Operation"
                  },
                  "id": "tpu.projects.locations.nodes.start",
                  "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/nodes/{nodesId}:start"
                },
                "delete": {
                  "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/nodes/{nodesId}",
                  "parameters": {
                    "name": {
                      "required": true,
                      "description": "Required. The resource name.",
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/nodes/[^/]+$",
                      "location": "path"
                    },
                    "requestId": {
                      "location": "query",
                      "description": "Idempotent request UUID.",
                      "type": "string"
                    }
                  },
                  "response": {
                    "$ref": "Operation"
                  },
                  "id": "tpu.projects.locations.nodes.delete",
                  "path": "v1alpha1/{+name}",
                  "httpMethod": "DELETE",
                  "deprecated": true,
                  "parameterOrder": [
                    "name"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Deletes a node."
                }
              },
              "deprecated": true
            },
            "tensorflowVersions": {
              "methods": {
                "get": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Gets TensorFlow Version.",
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1alpha1/{+name}",
                  "httpMethod": "GET",
                  "deprecated": true,
                  "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/tensorflowVersions/{tensorflowVersionsId}",
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/tensorflowVersions/[^/]+$",
                      "location": "path",
                      "type": "string",
                      "description": "Required. The resource name.",
                      "required": true
                    }
                  },
                  "response": {
                    "$ref": "TensorFlowVersion"
                  },
                  "id": "tpu.projects.locations.tensorflowVersions.get"
                },
                "list": {
                  "path": "v1alpha1/{+parent}/tensorflowVersions",
                  "httpMethod": "GET",
                  "deprecated": true,
                  "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/tensorflowVersions",
                  "parameters": {
                    "parent": {
                      "description": "Required. The parent resource name.",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "type": "string"
                    },
                    "pageToken": {
                      "type": "string",
                      "location": "query",
                      "description": "The next_page_token value returned from a previous List request, if any."
                    },
                    "pageSize": {
                      "type": "integer",
                      "location": "query",
                      "description": "The maximum number of items to return.",
                      "format": "int32"
                    },
                    "filter": {
                      "type": "string",
                      "description": "List filter.",
                      "location": "query"
                    },
                    "orderBy": {
                      "type": "string",
                      "description": "Sort results.",
                      "location": "query"
                    }
                  },
                  "response": {
                    "$ref": "ListTensorFlowVersionsResponse"
                  },
                  "id": "tpu.projects.locations.tensorflowVersions.list",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Lists TensorFlow versions supported by this API.",
                  "parameterOrder": [
                    "parent"
                  ]
                }
              },
              "deprecated": true
            },
            "operations": {
              "methods": {
                "get": {
                  "parameterOrder": [
                    "name"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
                  "parameters": {
                    "name": {
                      "description": "The name of the operation resource.",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "location": "path",
                      "type": "string"
                    }
                  },
                  "response": {
                    "$ref": "Operation"
                  },
                  "id": "tpu.projects.locations.operations.get",
                  "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
                  "path": "v1alpha1/{+name}",
                  "httpMethod": "GET"
                },
                "cancel": {
                  "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel",
                  "id": "tpu.projects.locations.operations.cancel",
                  "parameters": {
                    "name": {
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "location": "path",
                      "required": true,
                      "description": "The name of the operation resource to be cancelled."
                    }
                  },
                  "response": {
                    "$ref": "Empty"
                  },
                  "httpMethod": "POST",
                  "path": "v1alpha1/{+name}:cancel",
                  "parameterOrder": [
                    "name"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`."
                },
                "list": {
                  "path": "v1alpha1/{+name}/operations",
                  "httpMethod": "GET",
                  "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/operations",
                  "parameters": {
                    "filter": {
                      "type": "string",
                      "location": "query",
                      "description": "The standard list filter."
                    },
                    "pageSize": {
                      "type": "integer",
                      "location": "query",
                      "description": "The standard list page size.",
                      "format": "int32"
                    },
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "type": "string",
                      "description": "The name of the operation's parent resource.",
                      "required": true
                    },
                    "returnPartialSuccess": {
                      "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `\"projects/example/locations/-\"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.",
                      "location": "query",
                      "type": "boolean"
                    },
                    "pageToken": {
                      "type": "string",
                      "description": "The standard list page token.",
                      "location": "query"
                    }
                  },
                  "response": {
                    "$ref": "ListOperationsResponse"
                  },
                  "id": "tpu.projects.locations.operations.list",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
                  "parameterOrder": [
                    "name"
                  ]
                },
                "delete": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.",
                  "parameterOrder": [
                    "name"
                  ],
                  "httpMethod": "DELETE",
                  "path": "v1alpha1/{+name}",
                  "id": "tpu.projects.locations.operations.delete",
                  "parameters": {
                    "name": {
                      "required": true,
                      "description": "The name of the operation resource to be deleted.",
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "location": "path"
                    }
                  },
                  "response": {
                    "$ref": "Empty"
                  },
                  "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}"
                }
              }
            },
            "acceleratorTypes": {
              "methods": {
                "get": {
                  "path": "v1alpha1/{+name}",
                  "httpMethod": "GET",
                  "deprecated": true,
                  "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/acceleratorTypes/{acceleratorTypesId}",
                  "parameters": {
                    "name": {
                      "required": true,
                      "description": "Required. The resource name.",
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/acceleratorTypes/[^/]+$",
                      "location": "path"
                    }
                  },
                  "response": {
                    "$ref": "AcceleratorType"
                  },
                  "id": "tpu.projects.locations.acceleratorTypes.get",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Gets AcceleratorType.",
                  "parameterOrder": [
                    "name"
                  ]
                },
                "list": {
                  "parameterOrder": [
                    "parent"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Lists accelerator types supported by this API.",
                  "parameters": {
                    "parent": {
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "type": "string",
                      "description": "Required. The parent resource name.",
                      "required": true
                    },
                    "pageToken": {
                      "location": "query",
                      "description": "The next_page_token value returned from a previous List request, if any.",
                      "type": "string"
                    },
                    "pageSize": {
                      "type": "integer",
                      "description": "The maximum number of items to return.",
                      "format": "int32",
                      "location": "query"
                    },
                    "filter": {
                      "type": "string",
                      "description": "List filter.",
                      "location": "query"
                    },
                    "orderBy": {
                      "type": "string",
                      "location": "query",
                      "description": "Sort results."
                    }
                  },
                  "response": {
                    "$ref": "ListAcceleratorTypesResponse"
                  },
                  "id": "tpu.projects.locations.acceleratorTypes.list",
                  "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/acceleratorTypes",
                  "deprecated": true,
                  "path": "v1alpha1/{+parent}/acceleratorTypes",
                  "httpMethod": "GET"
                }
              },
              "deprecated": true
            }
          }
        }
      }
    }
  },
  "name": "tpu",
  "schemas": {
    "Operation": {
      "description": "This resource represents a long-running operation that is the result of a network API call.",
      "properties": {
        "error": {
          "description": "The error result of the operation in case of failure or cancellation.",
          "$ref": "Status"
        },
        "name": {
          "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.",
          "type": "string"
        },
        "metadata": {
          "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
          "type": "object",
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          }
        },
        "done": {
          "type": "boolean",
          "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available."
        },
        "response": {
          "type": "object",
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          },
          "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`."
        }
      },
      "id": "Operation",
      "type": "object"
    },
    "StartNodeRequest": {
      "deprecated": true,
      "description": "DEPRECATED: Please use TPU API v2alpha1 instead. Request for StartNode.",
      "id": "StartNodeRequest",
      "type": "object",
      "properties": {}
    },
    "ListAcceleratorTypesResponse": {
      "deprecated": true,
      "description": "DEPRECATED: Please use TPU API v2alpha1 instead. Response for ListAcceleratorTypes.",
      "id": "ListAcceleratorTypesResponse",
      "type": "object",
      "properties": {
        "acceleratorTypes": {
          "items": {
            "$ref": "AcceleratorType"
          },
          "description": "The listed nodes.",
          "type": "array"
        },
        "unreachable": {
          "items": {
            "type": "string"
          },
          "description": "Locations that could not be reached.",
          "type": "array"
        },
        "nextPageToken": {
          "type": "string",
          "description": "The next page token or empty if none."
        }
      }
    },
    "Node": {
      "description": "DEPRECATED: Please use TPU API v2alpha1 instead. A TPU instance.",
      "deprecated": true,
      "properties": {
        "name": {
          "description": "Output only. Immutable. The name of the TPU",
          "readOnly": true,
          "type": "string"
        },
        "state": {
          "type": "string",
          "enumDescriptions": [
            "TPU node state is not known/set.",
            "TPU node is being created.",
            "TPU node has been created.",
            "TPU node is restarting.",
            "TPU node is undergoing reimaging.",
            "TPU node is being deleted.",
            "TPU node is being repaired and may be unusable. Details can be found in the `help_description` field.",
            "TPU node is stopped.",
            "TPU node is currently stopping.",
            "TPU node is currently starting.",
            "TPU node has been preempted. Only applies to Preemptible TPU Nodes.",
            "TPU node has been terminated due to maintenance or has reached the end of its life cycle (for preemptible nodes).",
            "TPU node is currently hiding.",
            "TPU node has been hidden.",
            "TPU node is currently unhiding.",
            "TPU node has unknown state after a failed repair."
          ],
          "readOnly": true,
          "enum": [
            "STATE_UNSPECIFIED",
            "CREATING",
            "READY",
            "RESTARTING",
            "REIMAGING",
            "DELETING",
            "REPAIRING",
            "STOPPED",
            "STOPPING",
            "STARTING",
            "PREEMPTED",
            "TERMINATED",
            "HIDING",
            "HIDDEN",
            "UNHIDING",
            "UNKNOWN"
          ],
          "description": "Output only. The current state for the TPU Node."
        },
        "useServiceNetworking": {
          "description": "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.",
          "type": "boolean"
        },
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Resource labels to represent user-provided metadata."
        },
        "serviceAccount": {
          "type": "string",
          "readOnly": true,
          "description": "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."
        },
        "apiVersion": {
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "API version is unknown.",
            "TPU API V1Alpha1 version.",
            "TPU API V1 version.",
            "TPU API V2Alpha1 version."
          ],
          "description": "Output only. The API version that created this Node.",
          "enum": [
            "API_VERSION_UNSPECIFIED",
            "V1_ALPHA1",
            "V1",
            "V2_ALPHA1"
          ]
        },
        "ipAddress": {
          "deprecated": true,
          "type": "string",
          "description": "Output only. DEPRECATED! Use network_endpoints instead. The network address for the TPU Node as visible to Compute Engine instances."
        },
        "port": {
          "description": "Output only. DEPRECATED! Use network_endpoints instead. The network port for the TPU Node as visible to Compute Engine instances.",
          "deprecated": true,
          "type": "string"
        },
        "schedulingConfig": {
          "description": "The scheduling options for this node.",
          "$ref": "SchedulingConfig"
        },
        "symptoms": {
          "description": "Output only. The Symptoms that have occurred to the TPU Node.",
          "readOnly": true,
          "items": {
            "$ref": "Symptom"
          },
          "type": "array"
        },
        "networkEndpoints": {
          "readOnly": true,
          "items": {
            "$ref": "NetworkEndpoint"
          },
          "description": "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.",
          "type": "array"
        },
        "description": {
          "description": "The user-supplied description of the TPU. Maximum of 512 characters.",
          "type": "string"
        },
        "network": {
          "type": "string",
          "description": "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."
        },
        "cidrBlock": {
          "type": "string",
          "description": "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."
        },
        "health": {
          "description": "The health status of the TPU node.",
          "type": "string",
          "enumDescriptions": [
            "Health status is unknown: not initialized or failed to retrieve.",
            "The resource is healthy.",
            "The resource is unhealthy.",
            "The resource is unresponsive.",
            "The in-guest ML stack is unhealthy.",
            "The node is under maintenance/priority boost caused rescheduling and will resume running once rescheduled."
          ],
          "enum": [
            "HEALTH_UNSPECIFIED",
            "HEALTHY",
            "DEPRECATED_UNHEALTHY",
            "TIMEOUT",
            "UNHEALTHY_TENSORFLOW",
            "UNHEALTHY_MAINTENANCE"
          ]
        },
        "tensorflowVersion": {
          "description": "Required. The version of Tensorflow running in the Node.",
          "type": "string"
        },
        "acceleratorType": {
          "description": "Required. The type of hardware accelerators associated with this node.",
          "type": "string"
        },
        "healthDescription": {
          "description": "Output only. If this field is populated, it contains a description of why the TPU Node is unhealthy.",
          "readOnly": true,
          "type": "string"
        },
        "createTime": {
          "type": "string",
          "description": "Output only. The time when the node was created.",
          "format": "google-datetime",
          "readOnly": true
        }
      },
      "id": "Node",
      "type": "object"
    },
    "ReimageNodeRequest": {
      "deprecated": true,
      "description": "DEPRECATED: Please use TPU API v2alpha1 instead. Request for ReimageNode.",
      "id": "ReimageNodeRequest",
      "type": "object",
      "properties": {
        "tensorflowVersion": {
          "type": "string",
          "description": "The version for reimage to create."
        }
      }
    },
    "Location": {
      "description": "A resource that represents a Google Cloud location.",
      "properties": {
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}"
        },
        "locationId": {
          "type": "string",
          "description": "The canonical id for this location. For example: `\"us-east1\"`."
        },
        "displayName": {
          "type": "string",
          "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\"."
        },
        "metadata": {
          "description": "Service-specific metadata. For example the available capacity at the given location.",
          "type": "object",
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          }
        },
        "name": {
          "type": "string",
          "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`"
        }
      },
      "id": "Location",
      "type": "object"
    },
    "SchedulingConfig": {
      "deprecated": true,
      "description": "DEPRECATED: Please use TPU API v2alpha1 instead. Sets the scheduling options for this node.",
      "id": "SchedulingConfig",
      "type": "object",
      "properties": {
        "preemptible": {
          "type": "boolean",
          "description": "Defines whether the node is preemptible."
        },
        "reserved": {
          "type": "boolean",
          "description": "Whether the node is created under a reservation."
        }
      }
    },
    "Symptom": {
      "description": "DEPRECATED: Please use TPU API v2alpha1 instead. A Symptom instance.",
      "deprecated": true,
      "properties": {
        "details": {
          "description": "Detailed information of the current Symptom.",
          "type": "string"
        },
        "workerId": {
          "description": "A string used to uniquely distinguish a worker within a TPU node.",
          "type": "string"
        },
        "symptomType": {
          "type": "string",
          "enumDescriptions": [
            "Unspecified symptom.",
            "TPU VM memory is low.",
            "TPU runtime is out of memory.",
            "TPU runtime execution has timed out.",
            "TPU runtime fails to construct a mesh that recognizes each TPU device's neighbors.",
            "TPU HBM is out of memory.",
            "Abusive behaviors have been identified on the current project."
          ],
          "enum": [
            "SYMPTOM_TYPE_UNSPECIFIED",
            "LOW_MEMORY",
            "OUT_OF_MEMORY",
            "EXECUTE_TIMED_OUT",
            "MESH_BUILD_FAIL",
            "HBM_OUT_OF_MEMORY",
            "PROJECT_ABUSE"
          ],
          "description": "Type of the Symptom."
        },
        "createTime": {
          "type": "string",
          "description": "Timestamp when the Symptom is created.",
          "format": "google-datetime"
        }
      },
      "id": "Symptom",
      "type": "object"
    },
    "ListTensorFlowVersionsResponse": {
      "deprecated": true,
      "description": "DEPRECATED: Please use TPU API v2alpha1 instead. Response for ListTensorFlowVersions.",
      "id": "ListTensorFlowVersionsResponse",
      "type": "object",
      "properties": {
        "nextPageToken": {
          "description": "The next page token or empty if none.",
          "type": "string"
        },
        "unreachable": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Locations that could not be reached."
        },
        "tensorflowVersions": {
          "description": "The listed nodes.",
          "items": {
            "$ref": "TensorFlowVersion"
          },
          "type": "array"
        }
      }
    },
    "AcceleratorType": {
      "deprecated": true,
      "description": "DEPRECATED: Please use TPU API v2alpha1 instead. A accelerator type that a Node can be configured with.",
      "id": "AcceleratorType",
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The resource name."
        },
        "type": {
          "description": "the accelerator type.",
          "type": "string"
        }
      }
    },
    "NetworkEndpoint": {
      "description": "DEPRECATED: Please use TPU API v2alpha1 instead. A network endpoint over which a TPU worker can be reached.",
      "deprecated": true,
      "properties": {
        "ipAddress": {
          "type": "string",
          "description": "The IP address of this network endpoint."
        },
        "port": {
          "type": "integer",
          "description": "The port of this network endpoint.",
          "format": "int32"
        }
      },
      "id": "NetworkEndpoint",
      "type": "object"
    },
    "StopNodeRequest": {
      "description": "DEPRECATED: Please use TPU API v2alpha1 instead. Request for StopNode.",
      "deprecated": true,
      "properties": {},
      "id": "StopNodeRequest",
      "type": "object"
    },
    "ListNodesResponse": {
      "description": "DEPRECATED: Please use TPU API v2alpha1 instead. Response for ListNodes.",
      "deprecated": true,
      "properties": {
        "nodes": {
          "type": "array",
          "description": "The listed nodes.",
          "items": {
            "$ref": "Node"
          }
        },
        "nextPageToken": {
          "type": "string",
          "description": "The next page token or empty if none."
        },
        "unreachable": {
          "description": "Locations that could not be reached.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "id": "ListNodesResponse",
      "type": "object"
    },
    "Empty": {
      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }",
      "properties": {},
      "id": "Empty",
      "type": "object"
    },
    "OperationMetadata": {
      "id": "OperationMetadata",
      "type": "object",
      "properties": {
        "verb": {
          "type": "string",
          "description": "Name of the verb executed by the operation."
        },
        "statusDetail": {
          "type": "string",
          "description": "Human-readable status of the operation, if any."
        },
        "target": {
          "type": "string",
          "description": "Target of the operation - for example projects/project-1/connectivityTests/test-1"
        },
        "cancelRequested": {
          "type": "boolean",
          "description": "Specifies if cancellation was requested for the operation."
        },
        "apiVersion": {
          "type": "string",
          "description": "API version."
        },
        "createTime": {
          "description": "The time the operation was created.",
          "format": "google-datetime",
          "type": "string"
        },
        "endTime": {
          "type": "string",
          "description": "The time the operation finished running.",
          "format": "google-datetime"
        }
      },
      "deprecated": true,
      "description": "DEPRECATED: Please use TPU API v2alpha1 instead. Metadata describing an Operation"
    },
    "ListLocationsResponse": {
      "id": "ListLocationsResponse",
      "type": "object",
      "description": "The response message for Locations.ListLocations.",
      "properties": {
        "locations": {
          "type": "array",
          "items": {
            "$ref": "Location"
          },
          "description": "A list of locations that matches the specified filter in the request."
        },
        "nextPageToken": {
          "description": "The standard List next-page token.",
          "type": "string"
        }
      }
    },
    "ListOperationsResponse": {
      "description": "The response message for Operations.ListOperations.",
      "properties": {
        "operations": {
          "description": "A list of operations that matches the specified filter in the request.",
          "items": {
            "$ref": "Operation"
          },
          "type": "array"
        },
        "unreachable": {
          "items": {
            "type": "string"
          },
          "description": "Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections. For example, when attempting to list all resources across all supported locations.",
          "type": "array"
        },
        "nextPageToken": {
          "description": "The standard List next-page token.",
          "type": "string"
        }
      },
      "id": "ListOperationsResponse",
      "type": "object"
    },
    "Status": {
      "id": "Status",
      "type": "object",
      "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
      "properties": {
        "code": {
          "description": "The status code, which should be an enum value of google.rpc.Code.",
          "format": "int32",
          "type": "integer"
        },
        "message": {
          "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.",
          "type": "string"
        },
        "details": {
          "type": "array",
          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
          "items": {
            "type": "object",
            "additionalProperties": {
              "type": "any",
              "description": "Properties of the object. Contains field @type with type URL."
            }
          }
        }
      }
    },
    "TensorFlowVersion": {
      "deprecated": true,
      "description": "DEPRECATED: Please use TPU API v2alpha1 instead. A tensorflow version that a Node can be configured with.",
      "id": "TensorFlowVersion",
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The resource name."
        },
        "version": {
          "type": "string",
          "description": "the tensorflow version."
        }
      }
    }
  },
  "baseUrl": "https://tpu.googleapis.com/",
  "protocol": "rest",
  "ownerName": "Google",
  "description": "TPU API provides customers with access to Google TPU technology.",
  "servicePath": "",
  "fullyEncodeReservedExpansion": true,
  "title": "Cloud TPU API",
  "documentationLink": "https://cloud.google.com/tpu/",
  "mtlsRootUrl": "https://tpu.mtls.googleapis.com/",
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/cloud-platform": {
          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
        }
      }
    }
  }
}
