{
  "version_module": true,
  "name": "tpu",
  "basePath": "",
  "parameters": {
    "prettyPrint": {
      "type": "boolean",
      "location": "query",
      "description": "Returns response with indentations and line breaks.",
      "default": "true"
    },
    "quotaUser": {
      "type": "string",
      "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."
    },
    "oauth_token": {
      "description": "OAuth 2.0 token for the current user.",
      "type": "string",
      "location": "query"
    },
    "upload_protocol": {
      "type": "string",
      "location": "query",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\")."
    },
    "key": {
      "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.",
      "type": "string",
      "location": "query"
    },
    "access_token": {
      "type": "string",
      "location": "query",
      "description": "OAuth access token."
    },
    "callback": {
      "type": "string",
      "location": "query",
      "description": "JSONP"
    },
    "alt": {
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "type": "string",
      "description": "Data format for response.",
      "default": "json",
      "location": "query"
    },
    "$.xgafv": {
      "enum": [
        "1",
        "2"
      ],
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "type": "string",
      "description": "V1 error format.",
      "location": "query"
    },
    "fields": {
      "type": "string",
      "location": "query",
      "description": "Selector specifying which fields to include in a partial response."
    },
    "uploadType": {
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "type": "string",
      "location": "query"
    }
  },
  "id": "tpu:v2alpha1",
  "ownerDomain": "google.com",
  "baseUrl": "https://tpu.googleapis.com/",
  "description": "TPU API provides customers with access to Google TPU technology.",
  "protocol": "rest",
  "mtlsRootUrl": "https://tpu.mtls.googleapis.com/",
  "title": "Cloud TPU API",
  "resources": {
    "projects": {
      "resources": {
        "locations": {
          "methods": {
            "get": {
              "parameters": {
                "name": {
                  "required": true,
                  "pattern": "^projects/[^/]+/locations/[^/]+$",
                  "type": "string",
                  "description": "Resource name for the location.",
                  "location": "path"
                }
              },
              "parameterOrder": [
                "name"
              ],
              "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}",
              "response": {
                "$ref": "Location"
              },
              "description": "Gets information about a location.",
              "httpMethod": "GET",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "id": "tpu.projects.locations.get",
              "path": "v2alpha1/{+name}"
            },
            "list": {
              "parameterOrder": [
                "name"
              ],
              "flatPath": "v2alpha1/projects/{projectsId}/locations",
              "parameters": {
                "pageSize": {
                  "description": "The maximum number of results to return. If not set, the service selects a default.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.",
                  "location": "query",
                  "type": "string"
                },
                "extraLocationTypes": {
                  "description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.",
                  "repeated": true,
                  "location": "query",
                  "type": "string"
                },
                "name": {
                  "location": "path",
                  "description": "The resource that owns the locations collection, if applicable.",
                  "required": true,
                  "pattern": "^projects/[^/]+$",
                  "type": "string"
                },
                "filter": {
                  "location": "query",
                  "type": "string",
                  "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)."
                }
              },
              "id": "tpu.projects.locations.list",
              "path": "v2alpha1/{+name}/locations",
              "response": {
                "$ref": "ListLocationsResponse"
              },
              "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.",
              "httpMethod": "GET",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "generateServiceIdentity": {
              "parameterOrder": [
                "parent"
              ],
              "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}:generateServiceIdentity",
              "parameters": {
                "parent": {
                  "pattern": "^projects/[^/]+/locations/[^/]+$",
                  "type": "string",
                  "required": true,
                  "description": "Required. The parent resource name.",
                  "location": "path"
                }
              },
              "request": {
                "$ref": "GenerateServiceIdentityRequest"
              },
              "id": "tpu.projects.locations.generateServiceIdentity",
              "path": "v2alpha1/{+parent}:generateServiceIdentity",
              "response": {
                "$ref": "GenerateServiceIdentityResponse"
              },
              "description": "Generates the Cloud TPU service identity for the project.",
              "httpMethod": "POST",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            }
          },
          "resources": {
            "operations": {
              "methods": {
                "delete": {
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "type": "string",
                      "required": true,
                      "description": "The name of the operation resource to be deleted.",
                      "location": "path"
                    }
                  },
                  "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
                  "parameterOrder": [
                    "name"
                  ],
                  "httpMethod": "DELETE",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "response": {
                    "$ref": "Empty"
                  },
                  "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`.",
                  "path": "v2alpha1/{+name}",
                  "id": "tpu.projects.locations.operations.delete"
                },
                "list": {
                  "id": "tpu.projects.locations.operations.list",
                  "path": "v2alpha1/{+name}/operations",
                  "response": {
                    "$ref": "ListOperationsResponse"
                  },
                  "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
                  "httpMethod": "GET",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "name"
                  ],
                  "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/operations",
                  "parameters": {
                    "pageSize": {
                      "location": "query",
                      "type": "integer",
                      "description": "The standard list page size.",
                      "format": "int32"
                    },
                    "pageToken": {
                      "description": "The standard list page token.",
                      "location": "query",
                      "type": "string"
                    },
                    "returnPartialSuccess": {
                      "location": "query",
                      "type": "boolean",
                      "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."
                    },
                    "name": {
                      "location": "path",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "type": "string",
                      "description": "The name of the operation's parent resource."
                    },
                    "filter": {
                      "location": "query",
                      "type": "string",
                      "description": "The standard list filter."
                    }
                  }
                },
                "get": {
                  "parameterOrder": [
                    "name"
                  ],
                  "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
                  "parameters": {
                    "name": {
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "type": "string",
                      "required": true,
                      "description": "The name of the operation resource."
                    }
                  },
                  "id": "tpu.projects.locations.operations.get",
                  "path": "v2alpha1/{+name}",
                  "response": {
                    "$ref": "Operation"
                  },
                  "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.",
                  "httpMethod": "GET",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "cancel": {
                  "parameters": {
                    "name": {
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "type": "string",
                      "required": true,
                      "description": "The name of the operation resource to be cancelled."
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel",
                  "response": {
                    "$ref": "Empty"
                  },
                  "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`.",
                  "httpMethod": "POST",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "id": "tpu.projects.locations.operations.cancel",
                  "path": "v2alpha1/{+name}:cancel"
                }
              }
            },
            "acceleratorTypes": {
              "methods": {
                "list": {
                  "parameters": {
                    "filter": {
                      "location": "query",
                      "type": "string",
                      "description": "List filter."
                    },
                    "pageSize": {
                      "location": "query",
                      "type": "integer",
                      "description": "The maximum number of items to return.",
                      "format": "int32"
                    },
                    "orderBy": {
                      "description": "Sort results.",
                      "location": "query",
                      "type": "string"
                    },
                    "parent": {
                      "description": "Required. The parent resource name.",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "type": "string",
                      "required": true,
                      "location": "path"
                    },
                    "pageToken": {
                      "location": "query",
                      "type": "string",
                      "description": "The next_page_token value returned from a previous List request, if any."
                    }
                  },
                  "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/acceleratorTypes",
                  "parameterOrder": [
                    "parent"
                  ],
                  "httpMethod": "GET",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "response": {
                    "$ref": "ListAcceleratorTypesResponse"
                  },
                  "description": "Lists accelerator types supported by this API.",
                  "path": "v2alpha1/{+parent}/acceleratorTypes",
                  "id": "tpu.projects.locations.acceleratorTypes.list"
                },
                "get": {
                  "id": "tpu.projects.locations.acceleratorTypes.get",
                  "path": "v2alpha1/{+name}",
                  "response": {
                    "$ref": "AcceleratorType"
                  },
                  "description": "Gets AcceleratorType.",
                  "httpMethod": "GET",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "name"
                  ],
                  "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/acceleratorTypes/{acceleratorTypesId}",
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/acceleratorTypes/[^/]+$",
                      "type": "string",
                      "required": true,
                      "description": "Required. The resource name.",
                      "location": "path"
                    }
                  }
                }
              }
            },
            "nodes": {
              "methods": {
                "start": {
                  "parameters": {
                    "name": {
                      "location": "path",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/nodes/[^/]+$",
                      "type": "string",
                      "description": "Required. The resource name."
                    }
                  },
                  "request": {
                    "$ref": "StartNodeRequest"
                  },
                  "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/nodes/{nodesId}:start",
                  "parameterOrder": [
                    "name"
                  ],
                  "httpMethod": "POST",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "response": {
                    "$ref": "Operation"
                  },
                  "description": "Starts a node.",
                  "path": "v2alpha1/{+name}:start",
                  "id": "tpu.projects.locations.nodes.start"
                },
                "performMaintenance": {
                  "request": {
                    "$ref": "PerformMaintenanceRequest"
                  },
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/nodes/[^/]+$",
                      "type": "string",
                      "required": true,
                      "description": "Required. The resource name.",
                      "location": "path"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/nodes/{nodesId}:performMaintenance",
                  "response": {
                    "$ref": "Operation"
                  },
                  "description": "Perform manual maintenance on a node.",
                  "httpMethod": "POST",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "id": "tpu.projects.locations.nodes.performMaintenance",
                  "path": "v2alpha1/{+name}:performMaintenance"
                },
                "stop": {
                  "parameters": {
                    "name": {
                      "description": "Required. The resource name.",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/nodes/[^/]+$",
                      "type": "string",
                      "location": "path"
                    }
                  },
                  "request": {
                    "$ref": "StopNodeRequest"
                  },
                  "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/nodes/{nodesId}:stop",
                  "parameterOrder": [
                    "name"
                  ],
                  "httpMethod": "POST",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "response": {
                    "$ref": "Operation"
                  },
                  "description": "Stops a node. This operation is only available with single TPU nodes.",
                  "path": "v2alpha1/{+name}:stop",
                  "id": "tpu.projects.locations.nodes.stop"
                },
                "simulateMaintenanceEvent": {
                  "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/nodes/{nodesId}:simulateMaintenanceEvent",
                  "parameterOrder": [
                    "name"
                  ],
                  "request": {
                    "$ref": "SimulateMaintenanceEventRequest"
                  },
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/nodes/[^/]+$",
                      "type": "string",
                      "required": true,
                      "description": "Required. The resource name.",
                      "location": "path"
                    }
                  },
                  "path": "v2alpha1/{+name}:simulateMaintenanceEvent",
                  "id": "tpu.projects.locations.nodes.simulateMaintenanceEvent",
                  "httpMethod": "POST",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "response": {
                    "$ref": "Operation"
                  },
                  "description": "Simulates a maintenance event."
                },
                "list": {
                  "parameters": {
                    "pageSize": {
                      "description": "The maximum number of items to return.",
                      "format": "int32",
                      "location": "query",
                      "type": "integer"
                    },
                    "parent": {
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "type": "string",
                      "required": true,
                      "description": "Required. The parent resource name.",
                      "location": "path"
                    },
                    "pageToken": {
                      "location": "query",
                      "type": "string",
                      "description": "The next_page_token value returned from a previous List request, if any."
                    }
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/nodes",
                  "response": {
                    "$ref": "ListNodesResponse"
                  },
                  "description": "Lists nodes.",
                  "httpMethod": "GET",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "id": "tpu.projects.locations.nodes.list",
                  "path": "v2alpha1/{+parent}/nodes"
                },
                "create": {
                  "path": "v2alpha1/{+parent}/nodes",
                  "id": "tpu.projects.locations.nodes.create",
                  "httpMethod": "POST",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "response": {
                    "$ref": "Operation"
                  },
                  "description": "Creates a node.",
                  "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/nodes",
                  "parameterOrder": [
                    "parent"
                  ],
                  "request": {
                    "$ref": "Node"
                  },
                  "parameters": {
                    "parent": {
                      "location": "path",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "type": "string",
                      "description": "Required. The parent resource name."
                    },
                    "requestId": {
                      "description": "Idempotent request UUID.",
                      "location": "query",
                      "type": "string"
                    },
                    "nodeId": {
                      "location": "query",
                      "type": "string",
                      "description": "The unqualified resource name."
                    }
                  }
                },
                "patch": {
                  "httpMethod": "PATCH",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "response": {
                    "$ref": "Operation"
                  },
                  "description": "Updates the configurations of a node.",
                  "path": "v2alpha1/{+name}",
                  "id": "tpu.projects.locations.nodes.patch",
                  "request": {
                    "$ref": "Node"
                  },
                  "parameters": {
                    "name": {
                      "location": "path",
                      "description": "Output only. Immutable. The name of the TPU.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/nodes/[^/]+$",
                      "type": "string",
                      "required": true
                    },
                    "updateMask": {
                      "location": "query",
                      "type": "string",
                      "description": "Required. Mask of fields from Node to update. Supported fields: [description, tags, labels, metadata, network_config.enable_external_ips].",
                      "format": "google-fieldmask"
                    }
                  },
                  "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/nodes/{nodesId}",
                  "parameterOrder": [
                    "name"
                  ]
                },
                "get": {
                  "response": {
                    "$ref": "Node"
                  },
                  "description": "Gets the details of a node.",
                  "httpMethod": "GET",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "id": "tpu.projects.locations.nodes.get",
                  "path": "v2alpha1/{+name}",
                  "parameters": {
                    "name": {
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/nodes/[^/]+$",
                      "type": "string",
                      "required": true,
                      "description": "Required. The resource name."
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/nodes/{nodesId}"
                },
                "delete": {
                  "parameterOrder": [
                    "name"
                  ],
                  "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/nodes/{nodesId}",
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/nodes/[^/]+$",
                      "type": "string",
                      "required": true,
                      "description": "Required. The resource name.",
                      "location": "path"
                    },
                    "requestId": {
                      "description": "Idempotent request UUID.",
                      "location": "query",
                      "type": "string"
                    }
                  },
                  "id": "tpu.projects.locations.nodes.delete",
                  "path": "v2alpha1/{+name}",
                  "response": {
                    "$ref": "Operation"
                  },
                  "description": "Deletes a node.",
                  "httpMethod": "DELETE",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "getGuestAttributes": {
                  "request": {
                    "$ref": "GetGuestAttributesRequest"
                  },
                  "parameters": {
                    "name": {
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/nodes/[^/]+$",
                      "type": "string",
                      "required": true,
                      "description": "Required. The resource name."
                    }
                  },
                  "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/nodes/{nodesId}:getGuestAttributes",
                  "parameterOrder": [
                    "name"
                  ],
                  "httpMethod": "POST",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "response": {
                    "$ref": "GetGuestAttributesResponse"
                  },
                  "description": "Retrieves the guest attributes for the node.",
                  "path": "v2alpha1/{+name}:getGuestAttributes",
                  "id": "tpu.projects.locations.nodes.getGuestAttributes"
                }
              }
            },
            "queuedResources": {
              "methods": {
                "list": {
                  "parameterOrder": [
                    "parent"
                  ],
                  "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/queuedResources",
                  "parameters": {
                    "pageToken": {
                      "description": "The next_page_token value returned from a previous List request, if any.",
                      "location": "query",
                      "type": "string"
                    },
                    "pageSize": {
                      "location": "query",
                      "type": "integer",
                      "description": "The maximum number of items to return.",
                      "format": "int32"
                    },
                    "parent": {
                      "description": "Required. The parent resource name.",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "type": "string",
                      "location": "path"
                    }
                  },
                  "id": "tpu.projects.locations.queuedResources.list",
                  "path": "v2alpha1/{+parent}/queuedResources",
                  "response": {
                    "$ref": "ListQueuedResourcesResponse"
                  },
                  "description": "Lists queued resources.",
                  "httpMethod": "GET",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "reset": {
                  "httpMethod": "POST",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "response": {
                    "$ref": "Operation"
                  },
                  "description": "Resets a QueuedResource TPU instance",
                  "path": "v2alpha1/{+name}:reset",
                  "id": "tpu.projects.locations.queuedResources.reset",
                  "parameters": {
                    "name": {
                      "location": "path",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/queuedResources/[^/]+$",
                      "type": "string",
                      "description": "Required. The name of the queued resource."
                    }
                  },
                  "request": {
                    "$ref": "ResetQueuedResourceRequest"
                  },
                  "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/queuedResources/{queuedResourcesId}:reset",
                  "parameterOrder": [
                    "name"
                  ]
                },
                "delete": {
                  "parameters": {
                    "requestId": {
                      "description": "Idempotent request UUID.",
                      "location": "query",
                      "type": "string"
                    },
                    "force": {
                      "location": "query",
                      "type": "boolean",
                      "description": "If set to true, all running nodes belonging to this queued resource will be deleted first and then the queued resource will be deleted. Otherwise (i.e. force=false), the queued resource will only be deleted if its nodes have already been deleted or the queued resource is in the ACCEPTED, FAILED, or SUSPENDED state."
                    },
                    "name": {
                      "description": "Required. The resource name.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/queuedResources/[^/]+$",
                      "type": "string",
                      "required": true,
                      "location": "path"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/queuedResources/{queuedResourcesId}",
                  "response": {
                    "$ref": "Operation"
                  },
                  "description": "Deletes a QueuedResource TPU instance.",
                  "httpMethod": "DELETE",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "id": "tpu.projects.locations.queuedResources.delete",
                  "path": "v2alpha1/{+name}"
                },
                "performMaintenanceQueuedResource": {
                  "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/queuedResources/{queuedResourcesId}:performMaintenanceQueuedResource",
                  "parameterOrder": [
                    "name"
                  ],
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/queuedResources/[^/]+$",
                      "type": "string",
                      "required": true,
                      "description": "Required. The name of the QueuedResource which holds the nodes to perform maintenance on.",
                      "location": "path"
                    }
                  },
                  "request": {
                    "$ref": "PerformMaintenanceQueuedResourceRequest"
                  },
                  "path": "v2alpha1/{+name}:performMaintenanceQueuedResource",
                  "id": "tpu.projects.locations.queuedResources.performMaintenanceQueuedResource",
                  "httpMethod": "POST",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "response": {
                    "$ref": "Operation"
                  },
                  "description": "Perform manual maintenance on specific nodes of a QueuedResource."
                },
                "create": {
                  "id": "tpu.projects.locations.queuedResources.create",
                  "path": "v2alpha1/{+parent}/queuedResources",
                  "response": {
                    "$ref": "Operation"
                  },
                  "description": "Creates a QueuedResource TPU instance.",
                  "httpMethod": "POST",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "parent"
                  ],
                  "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/queuedResources",
                  "parameters": {
                    "parent": {
                      "description": "Required. The parent resource name.",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "type": "string",
                      "location": "path"
                    },
                    "requestId": {
                      "location": "query",
                      "type": "string",
                      "description": "Idempotent request UUID."
                    },
                    "queuedResourceId": {
                      "location": "query",
                      "type": "string",
                      "description": "The unqualified resource name. Should follow the `^[A-Za-z0-9_.~+%-]+$` regex format."
                    }
                  },
                  "request": {
                    "$ref": "QueuedResource"
                  }
                },
                "get": {
                  "id": "tpu.projects.locations.queuedResources.get",
                  "path": "v2alpha1/{+name}",
                  "response": {
                    "$ref": "QueuedResource"
                  },
                  "description": "Gets details of a queued resource.",
                  "httpMethod": "GET",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "name"
                  ],
                  "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/queuedResources/{queuedResourcesId}",
                  "parameters": {
                    "name": {
                      "description": "Required. The resource name.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/queuedResources/[^/]+$",
                      "type": "string",
                      "required": true,
                      "location": "path"
                    }
                  }
                },
                "getMaintenanceInfo": {
                  "parameters": {
                    "name": {
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/queuedResources/[^/]+$",
                      "type": "string",
                      "required": true,
                      "description": "Required. The QueuedResource name."
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/queuedResources/{queuedResourcesId}:getMaintenanceInfo",
                  "response": {
                    "$ref": "GetMaintenanceInfoResponse"
                  },
                  "description": "Gets the maintenance info for a queued resource.",
                  "httpMethod": "GET",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "id": "tpu.projects.locations.queuedResources.getMaintenanceInfo",
                  "path": "v2alpha1/{+name}:getMaintenanceInfo"
                }
              }
            },
            "reservations": {
              "methods": {
                "list": {
                  "parameters": {
                    "parent": {
                      "description": "Required. The parent for reservations.",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "type": "string",
                      "required": true,
                      "location": "path"
                    },
                    "pageSize": {
                      "location": "query",
                      "type": "integer",
                      "description": "The maximum number of items to return. Defaults to 0 if not specified, which means no limit.",
                      "format": "int32"
                    },
                    "pageToken": {
                      "location": "query",
                      "type": "string",
                      "description": "The next_page_token value returned from a previous List request, if any."
                    }
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/reservations",
                  "response": {
                    "$ref": "ListReservationsResponse"
                  },
                  "description": "Retrieves the reservations for the given project in the given location.",
                  "httpMethod": "GET",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "id": "tpu.projects.locations.reservations.list",
                  "path": "v2alpha1/{+parent}/reservations"
                }
              }
            },
            "runtimeVersions": {
              "methods": {
                "list": {
                  "path": "v2alpha1/{+parent}/runtimeVersions",
                  "id": "tpu.projects.locations.runtimeVersions.list",
                  "httpMethod": "GET",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "response": {
                    "$ref": "ListRuntimeVersionsResponse"
                  },
                  "description": "Lists runtime versions supported by this API.",
                  "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/runtimeVersions",
                  "parameterOrder": [
                    "parent"
                  ],
                  "parameters": {
                    "parent": {
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "type": "string",
                      "description": "Required. The parent resource name.",
                      "location": "path"
                    },
                    "pageSize": {
                      "description": "The maximum number of items to return.",
                      "format": "int32",
                      "location": "query",
                      "type": "integer"
                    },
                    "orderBy": {
                      "description": "Sort results.",
                      "location": "query",
                      "type": "string"
                    },
                    "pageToken": {
                      "location": "query",
                      "type": "string",
                      "description": "The next_page_token value returned from a previous List request, if any."
                    },
                    "filter": {
                      "location": "query",
                      "type": "string",
                      "description": "List filter."
                    }
                  }
                },
                "get": {
                  "httpMethod": "GET",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "response": {
                    "$ref": "RuntimeVersion"
                  },
                  "description": "Gets a runtime version.",
                  "path": "v2alpha1/{+name}",
                  "id": "tpu.projects.locations.runtimeVersions.get",
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/runtimeVersions/[^/]+$",
                      "type": "string",
                      "required": true,
                      "description": "Required. The resource name.",
                      "location": "path"
                    }
                  },
                  "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/runtimeVersions/{runtimeVersionsId}",
                  "parameterOrder": [
                    "name"
                  ]
                }
              }
            }
          }
        }
      }
    }
  },
  "version": "v2alpha1",
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "schemas": {
    "Tpu": {
      "id": "Tpu",
      "description": "Details of the TPU resource(s) being requested.",
      "properties": {
        "nodeSpec": {
          "type": "array",
          "description": "The TPU node(s) being requested.",
          "items": {
            "$ref": "NodeSpec"
          }
        }
      },
      "type": "object"
    },
    "Spot": {
      "id": "Spot",
      "description": "Spot tier definition.",
      "properties": {},
      "type": "object"
    },
    "GetGuestAttributesRequest": {
      "type": "object",
      "id": "GetGuestAttributesRequest",
      "description": "Request for GetGuestAttributes.",
      "properties": {
        "workerIds": {
          "type": "array",
          "description": "The 0-based worker ID. If it is empty, all workers' GuestAttributes will be returned.",
          "items": {
            "type": "string"
          }
        },
        "queryPath": {
          "description": "The guest attributes path to be queried.",
          "type": "string"
        }
      }
    },
    "SimulateMaintenanceEventRequest": {
      "id": "SimulateMaintenanceEventRequest",
      "description": "Request for SimulateMaintenanceEvent.",
      "properties": {
        "workerIds": {
          "description": "The 0-based worker ID. If it is empty, worker ID 0 will be selected for maintenance event simulation. A maintenance event will only be fired on the first specified worker ID. Future implementations may support firing on multiple workers.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "QueueingPolicy": {
      "type": "object",
      "id": "QueueingPolicy",
      "description": "Defines the policy of the QueuedRequest.",
      "properties": {
        "validInterval": {
          "description": "An absolute time interval within which resources may be created.",
          "$ref": "Interval"
        },
        "validUntilDuration": {
          "description": "A relative time after which resources should not be created. If the request cannot be fulfilled by this time the request will be failed.",
          "format": "google-duration",
          "type": "string"
        },
        "validUntilTime": {
          "type": "string",
          "description": "An absolute time after which resources should not be created. If the request cannot be fulfilled by this time the request will be failed.",
          "format": "google-datetime"
        },
        "validAfterTime": {
          "type": "string",
          "description": "An absolute time at which resources may be created.",
          "format": "google-datetime"
        },
        "validAfterDuration": {
          "type": "string",
          "description": "A relative time after which resources may be created.",
          "format": "google-duration"
        }
      }
    },
    "GuestAttributesValue": {
      "id": "GuestAttributesValue",
      "description": "Array of guest attribute namespace/key/value tuples.",
      "properties": {
        "items": {
          "description": "The list of guest attributes entries.",
          "items": {
            "$ref": "GuestAttributesEntry"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "UpcomingMaintenance": {
      "id": "UpcomingMaintenance",
      "description": "Upcoming Maintenance notification information.",
      "properties": {
        "canReschedule": {
          "description": "Indicates if the maintenance can be customer triggered.",
          "type": "boolean"
        },
        "windowStartTime": {
          "description": "The current start time of the maintenance window. This timestamp value is in RFC3339 text format.",
          "type": "string"
        },
        "type": {
          "description": "Defines the type of maintenance.",
          "enumDescriptions": [
            "No type specified. Do not use this value.",
            "Scheduled maintenance (e.g. maintenance after uptime guarantee is complete).",
            "Unscheduled maintenance (e.g. emergency maintenance during uptime guarantee)."
          ],
          "enum": [
            "UNKNOWN_TYPE",
            "SCHEDULED",
            "UNSCHEDULED"
          ],
          "type": "string"
        },
        "windowEndTime": {
          "description": "The time by which the maintenance disruption will be completed. This timestamp value is in RFC3339 text format.",
          "type": "string"
        },
        "maintenanceStatus": {
          "type": "string",
          "enumDescriptions": [
            "Unknown maintenance status. Do not use this value.",
            "There is pending maintenance.",
            "There is ongoing maintenance on this VM."
          ],
          "enum": [
            "UNKNOWN",
            "PENDING",
            "ONGOING"
          ],
          "description": "The status of the maintenance."
        },
        "latestWindowStartTime": {
          "description": "The latest time for the planned maintenance window to start. This timestamp value is in RFC3339 text format.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "NodeSpec": {
      "type": "object",
      "id": "NodeSpec",
      "description": "Details of the TPU node(s) being requested. Users can request either a single node or multiple nodes. NodeSpec provides the specification for node(s) to be created.",
      "properties": {
        "multiNodeParams": {
          "description": "Optional. Fields to specify in case of multi-node request.",
          "$ref": "MultiNodeParams"
        },
        "nodeId": {
          "description": "The unqualified resource name. Should follow the `^[A-Za-z0-9_.~+%-]+$` regex format. This is only specified when requesting a single node. In case of multi-node requests, multi_node_params must be populated instead. It's an error to specify both node_id and multi_node_params.",
          "type": "string"
        },
        "node": {
          "description": "Required. The node.",
          "$ref": "Node"
        },
        "parent": {
          "description": "Required. The parent resource name.",
          "type": "string"
        }
      }
    },
    "Standard": {
      "id": "Standard",
      "description": "Details of a standard reservation.",
      "properties": {
        "capacityUnits": {
          "description": "Capacity units this reservation is measured in.",
          "enumDescriptions": [
            "The capacity units is not known/set.",
            "The capacity unit is set to CORES.",
            "The capacity unit is set to CHIPS."
          ],
          "enum": [
            "CAPACITY_UNITS_UNSPECIFIED",
            "CORES",
            "CHIPS"
          ],
          "type": "string"
        },
        "usage": {
          "description": "The current usage of the reservation.",
          "$ref": "Usage"
        },
        "interval": {
          "description": "The start and end time of the reservation.",
          "$ref": "Interval"
        },
        "size": {
          "description": "The size of the reservation, in the units specified in the 'capacity_units' field.",
          "format": "int32",
          "type": "integer"
        },
        "resourceType": {
          "description": "The resource type of the reservation.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Reservation": {
      "id": "Reservation",
      "description": "A reservation describes the amount of a resource 'allotted' for a defined period of time.",
      "properties": {
        "name": {
          "description": "The reservation name with the format: projects/{projectID}/locations/{location}/reservations/{reservationID}",
          "type": "string"
        },
        "standard": {
          "description": "A standard reservation.",
          "$ref": "Standard"
        },
        "state": {
          "description": "Output only. The state of the Reservation.",
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "The Reservation state is unspecified.",
            "The Reservation has been approved.",
            "The Reservation is being provisioned.",
            "The Reservation is active.",
            "The Reservation is being deprovisioned.",
            "The Reservation is past its end date.",
            "The Reservation encountered a failure during mutation."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "APPROVED",
            "PROVISIONING",
            "ACTIVE",
            "DEPROVISIONING",
            "EXPIRED",
            "FAILED"
          ]
        }
      },
      "type": "object"
    },
    "ResetQueuedResourceRequest": {
      "id": "ResetQueuedResourceRequest",
      "description": "Request for ResetQueuedResource.",
      "properties": {},
      "type": "object"
    },
    "Interval": {
      "type": "object",
      "id": "Interval",
      "description": "Represents a time interval, encoded as a Timestamp start (inclusive) and a Timestamp end (exclusive). The start must be less than or equal to the end. When the start equals the end, the interval is empty (matches no time). When both start and end are unspecified, the interval matches any time.",
      "properties": {
        "endTime": {
          "description": "Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end.",
          "format": "google-datetime",
          "type": "string"
        },
        "startTime": {
          "type": "string",
          "description": "Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start.",
          "format": "google-datetime"
        }
      }
    },
    "SuspendingData": {
      "id": "SuspendingData",
      "description": "Further data for the suspending state.",
      "properties": {},
      "type": "object"
    },
    "RunDuration": {
      "id": "RunDuration",
      "description": "Defines the maximum lifetime of the requested resource.",
      "properties": {
        "maxRunDuration": {
          "type": "string",
          "description": "The maximum duration of the requested resource.",
          "format": "google-duration"
        },
        "terminationTime": {
          "description": "The time at which the requested resource will be terminated.",
          "format": "google-datetime",
          "type": "string"
        }
      },
      "type": "object"
    },
    "DeletingData": {
      "id": "DeletingData",
      "description": "Further data for the deleting state.",
      "properties": {},
      "type": "object"
    },
    "NetworkConfig": {
      "id": "NetworkConfig",
      "description": "Network related configurations.",
      "properties": {
        "enableExternalIps": {
          "description": "Indicates that external IP addresses would be associated with the TPU workers. If set to false, the specified subnetwork or network should have Private Google Access enabled.",
          "type": "boolean"
        },
        "canIpForward": {
          "description": "Allows the TPU node to send and receive packets with non-matching destination or source IPs. This is required if you plan to use the TPU workers to forward routes.",
          "type": "boolean"
        },
        "queueCount": {
          "description": "Optional. Specifies networking queue count for TPU VM instance's network interface.",
          "format": "int32",
          "type": "integer"
        },
        "subnetwork": {
          "description": "The name of the subnetwork for the TPU node. It must be a preexisting Google Compute Engine subnetwork. If none is provided, \"default\" will be used.",
          "type": "string"
        },
        "network": {
          "description": "The name of the network for the TPU node. It must be a preexisting Google Compute Engine network. If none is provided, \"default\" will be used.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "AccessConfig": {
      "id": "AccessConfig",
      "description": "An access config attached to the TPU worker.",
      "properties": {
        "externalIp": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. An external IP address associated with the TPU worker."
        }
      },
      "type": "object"
    },
    "AcceleratorType": {
      "id": "AcceleratorType",
      "description": "A accelerator type that a Node can be configured with.",
      "properties": {
        "type": {
          "description": "The accelerator type.",
          "type": "string"
        },
        "name": {
          "description": "The resource name.",
          "type": "string"
        },
        "acceleratorConfigs": {
          "description": "The accelerator config.",
          "items": {
            "$ref": "AcceleratorConfig"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "AcceleratorConfig": {
      "type": "object",
      "id": "AcceleratorConfig",
      "description": "A TPU accelerator configuration.",
      "properties": {
        "type": {
          "enumDescriptions": [
            "Unspecified version.",
            "TPU v2.",
            "TPU v3.",
            "TPU v4.",
            "TPU v5lite pod.",
            "TPU v5.",
            "TPU v6e."
          ],
          "enum": [
            "TYPE_UNSPECIFIED",
            "V2",
            "V3",
            "V4",
            "V5LITE_POD",
            "V5P",
            "V6E"
          ],
          "type": "string",
          "description": "Required. Type of TPU."
        },
        "topology": {
          "description": "Required. Topology of TPU in chips.",
          "type": "string"
        }
      }
    },
    "ListRuntimeVersionsResponse": {
      "id": "ListRuntimeVersionsResponse",
      "description": "Response for ListRuntimeVersions.",
      "properties": {
        "unreachable": {
          "description": "Locations that could not be reached.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "runtimeVersions": {
          "description": "The listed nodes.",
          "items": {
            "$ref": "RuntimeVersion"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "The next page token or empty if none.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ActiveData": {
      "type": "object",
      "id": "ActiveData",
      "description": "Further data for the active state.",
      "properties": {}
    },
    "NetworkEndpoint": {
      "id": "NetworkEndpoint",
      "description": "A network endpoint over which a TPU worker can be reached.",
      "properties": {
        "port": {
          "type": "integer",
          "description": "The port of this network endpoint.",
          "format": "int32"
        },
        "ipAddress": {
          "description": "The internal IP address of this network endpoint.",
          "type": "string"
        },
        "accessConfig": {
          "description": "The access config for the TPU worker.",
          "$ref": "AccessConfig"
        }
      },
      "type": "object"
    },
    "PerformMaintenanceRequest": {
      "type": "object",
      "id": "PerformMaintenanceRequest",
      "description": "Request for PerformMaintenance.",
      "properties": {}
    },
    "ProvisioningData": {
      "type": "object",
      "id": "ProvisioningData",
      "description": "Further data for the provisioning state.",
      "properties": {}
    },
    "FailedData": {
      "type": "object",
      "id": "FailedData",
      "description": "Further data for the failed state.",
      "properties": {
        "error": {
          "description": "The error that caused the queued resource to enter the FAILED state.",
          "$ref": "Status"
        }
      }
    },
    "ListReservationsResponse": {
      "id": "ListReservationsResponse",
      "description": "Response for ListReservations.",
      "properties": {
        "nextPageToken": {
          "description": "The next page token or empty if none.",
          "type": "string"
        },
        "reservations": {
          "type": "array",
          "description": "The listed reservations.",
          "items": {
            "$ref": "Reservation"
          }
        }
      },
      "type": "object"
    },
    "Usage": {
      "type": "object",
      "id": "Usage",
      "description": "Usage details of a reservation.",
      "properties": {
        "total": {
          "description": "The real-time value of usage within the reservation, with the unit specified in field capacity_units.",
          "format": "int64",
          "type": "string"
        }
      }
    },
    "Empty": {
      "id": "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": {},
      "type": "object"
    },
    "Status": {
      "type": "object",
      "id": "Status",
      "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": {
        "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": {
          "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."
            }
          },
          "type": "array"
        },
        "code": {
          "description": "The status code, which should be an enum value of google.rpc.Code.",
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "ListQueuedResourcesResponse": {
      "id": "ListQueuedResourcesResponse",
      "description": "Response for ListQueuedResources.",
      "properties": {
        "unreachable": {
          "type": "array",
          "description": "Locations that could not be reached.",
          "items": {
            "type": "string"
          }
        },
        "queuedResources": {
          "type": "array",
          "description": "The listed queued resources.",
          "items": {
            "$ref": "QueuedResource"
          }
        },
        "nextPageToken": {
          "description": "The next page token or empty if none.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Guaranteed": {
      "type": "object",
      "id": "Guaranteed",
      "description": "Guaranteed tier definition.",
      "properties": {
        "minDuration": {
          "description": "Optional. Defines the minimum duration of the guarantee. If specified, the requested resources will only be provisioned if they can be allocated for at least the given duration.",
          "format": "google-duration",
          "type": "string"
        },
        "reserved": {
          "description": "Optional. Specifies the request should be scheduled on reserved capacity.",
          "type": "boolean"
        }
      }
    },
    "CustomerEncryptionKey": {
      "id": "CustomerEncryptionKey",
      "description": "Customer's encryption key.",
      "properties": {
        "kmsKeyName": {
          "description": "The name of the encryption key that is stored in Google Cloud KMS. For example: \"kmsKeyName\": \"projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_REGION/cryptoKeys/KEY The fully-qualifed key name may be returned for resource GET requests. For example: \"kmsKeyName\": \"projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_REGION/cryptoKeys/KEY/cryptoKeyVersions/1 ",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Location": {
      "id": "Location",
      "description": "A resource that represents a Google Cloud location.",
      "properties": {
        "name": {
          "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`",
          "type": "string"
        },
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}"
        },
        "locationId": {
          "description": "The canonical id for this location. For example: `\"us-east1\"`.",
          "type": "string"
        },
        "displayName": {
          "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".",
          "type": "string"
        },
        "metadata": {
          "type": "object",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          },
          "description": "Service-specific metadata. For example the available capacity at the given location."
        }
      },
      "type": "object"
    },
    "SuspendedData": {
      "type": "object",
      "id": "SuspendedData",
      "description": "Further data for the suspended state.",
      "properties": {}
    },
    "GuestAttributes": {
      "type": "object",
      "id": "GuestAttributes",
      "description": "A guest attributes.",
      "properties": {
        "queryPath": {
          "description": "The path to be queried. This can be the default namespace ('/') or a nested namespace ('/\\/') or a specified key ('/\\/\\')",
          "type": "string"
        },
        "queryValue": {
          "description": "The value of the requested queried path.",
          "$ref": "GuestAttributesValue"
        }
      }
    },
    "CreatingData": {
      "id": "CreatingData",
      "description": "Further data for the creating state.",
      "properties": {},
      "type": "object"
    },
    "Symptom": {
      "id": "Symptom",
      "description": "A Symptom instance.",
      "properties": {
        "symptomType": {
          "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"
          ],
          "type": "string",
          "description": "Type of the Symptom."
        },
        "createTime": {
          "type": "string",
          "description": "Timestamp when the Symptom is created.",
          "format": "google-datetime"
        },
        "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"
        }
      },
      "type": "object"
    },
    "SchedulingConfig": {
      "type": "object",
      "id": "SchedulingConfig",
      "description": "Sets the scheduling options for this node.",
      "properties": {
        "preemptible": {
          "description": "Defines whether the node is preemptible.",
          "type": "boolean"
        },
        "reserved": {
          "description": "Whether the node is created under a reservation.",
          "type": "boolean"
        },
        "reservationName": {
          "description": "Optional. Name of the reservation in which the node should be provisioned.",
          "type": "string"
        },
        "terminationTimestamp": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. The time at which the node will be terminated.",
          "format": "google-datetime"
        },
        "provisioningModel": {
          "enumDescriptions": [
            "Provisioning model is unknown.",
            "Standard provisioning with user controlled runtime.",
            "Spot provisioning with no guaranteed runtime.",
            "Reservation provisioning with runtime bound to the lifetime of the consumed reservation."
          ],
          "enum": [
            "PROVISIONING_MODEL_UNSPECIFIED",
            "STANDARD",
            "SPOT",
            "RESERVATION_BOUND"
          ],
          "type": "string",
          "description": "Optional. Defines the provisioning model for the node."
        },
        "spot": {
          "description": "Optional. Defines whether the node is Spot VM.",
          "type": "boolean"
        }
      }
    },
    "BootDiskConfig": {
      "id": "BootDiskConfig",
      "description": "Boot disk configurations.",
      "properties": {
        "enableConfidentialCompute": {
          "description": "Optional. Whether the boot disk will be created with confidential compute mode.",
          "type": "boolean"
        },
        "provisionedIops": {
          "type": "string",
          "description": "Optional. Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. To learn more about IOPS, see [Provisioning persistent disk performance](https://cloud.google.com/compute/docs/disks/performance#provisioned-iops).",
          "format": "int64"
        },
        "provisionedThroughput": {
          "description": "Optional. Indicates how much throughput to provision for the disk. This sets the number of throughput MB per second that the disk can handle.",
          "format": "int64",
          "type": "string"
        },
        "storagePool": {
          "description": "Optional. The storage pool in which the boot disk is created. You can provide this as a partial or full URL to the resource.",
          "type": "string"
        },
        "customerEncryptionKey": {
          "description": "Optional. Customer encryption key for boot disk.",
          "$ref": "CustomerEncryptionKey"
        },
        "diskSizeGb": {
          "type": "string",
          "description": "Optional. Size of the boot disk in GB. It must be larger than or equal to the size of the image.",
          "format": "int64"
        },
        "sourceImage": {
          "description": "Optional. Image from which boot disk is to be created. If not specified, the default image for the runtime version will be used. Example: `projects/$PROJECT_ID/global/images/$IMAGE_NAME`.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ListOperationsResponse": {
      "id": "ListOperationsResponse",
      "description": "The response message for Operations.ListOperations.",
      "properties": {
        "operations": {
          "type": "array",
          "description": "A list of operations that matches the specified filter in the request.",
          "items": {
            "$ref": "Operation"
          }
        },
        "unreachable": {
          "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.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "The standard List next-page token.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "AttachedDisk": {
      "id": "AttachedDisk",
      "description": "A node-attached disk resource.",
      "properties": {
        "sourceDisk": {
          "description": "Specifies the full path to an existing disk. For example: \"projects/my-project/zones/us-central1-c/disks/my-disk\".",
          "type": "string"
        },
        "workerIds": {
          "description": "Optional. The list of worker IDs this disk is attached to.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "mode": {
          "description": "The mode in which to attach this disk. If not specified, the default is READ_WRITE mode. Only applicable to data_disks.",
          "type": "string",
          "enumDescriptions": [
            "The disk mode is not known/set.",
            "Attaches the disk in read-write mode. Only one TPU node can attach a disk in read-write mode at a time.",
            "Attaches the disk in read-only mode. Multiple TPU nodes can attach a disk in read-only mode at a time."
          ],
          "enum": [
            "DISK_MODE_UNSPECIFIED",
            "READ_WRITE",
            "READ_ONLY"
          ]
        }
      },
      "type": "object"
    },
    "MultiNodeParams": {
      "id": "MultiNodeParams",
      "description": "Parameters to specify for multi-node QueuedResource requests. This field must be populated in case of multi-node requests instead of node_id. It's an error to specify both node_id and multi_node_params.",
      "properties": {
        "nodeIdPrefix": {
          "description": "Prefix of node_ids in case of multi-node request Should follow the `^[A-Za-z0-9_.~+%-]+$` regex format. If node_count = 3 and node_id_prefix = \"np\", node ids of nodes created will be \"np-0\", \"np-1\", \"np-2\". If this field is not provided we use queued_resource_id as the node_id_prefix.",
          "type": "string"
        },
        "nodeCount": {
          "description": "Required. Number of nodes with this spec. The system will attempt to provison \"node_count\" nodes as part of the request. This needs to be \u003e 1.",
          "format": "int32",
          "type": "integer"
        },
        "workloadType": {
          "type": "string",
          "enumDescriptions": [
            "Not specified.",
            "All of the nodes are available most of the time. Recommended for training workloads.",
            "Most of the nodes are available all of the time. Recommended for serving workloads."
          ],
          "enum": [
            "WORKLOAD_TYPE_UNSPECIFIED",
            "THROUGHPUT_OPTIMIZED",
            "AVAILABILITY_OPTIMIZED"
          ],
          "description": "Optional. The workload type for the multi-node request."
        }
      },
      "type": "object"
    },
    "ListNodesResponse": {
      "type": "object",
      "id": "ListNodesResponse",
      "description": "Response for ListNodes.",
      "properties": {
        "nodes": {
          "description": "The listed nodes.",
          "items": {
            "$ref": "Node"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "The next page token or empty if none.",
          "type": "string"
        },
        "unreachable": {
          "type": "array",
          "description": "Locations that could not be reached.",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "GenerateServiceIdentityRequest": {
      "id": "GenerateServiceIdentityRequest",
      "description": "Request for GenerateServiceIdentity.",
      "properties": {},
      "type": "object"
    },
    "QueuedResourceState": {
      "type": "object",
      "id": "QueuedResourceState",
      "description": "QueuedResourceState defines the details of the QueuedResource request.",
      "properties": {
        "acceptedData": {
          "description": "Further data for the accepted state.",
          "$ref": "AcceptedData"
        },
        "activeData": {
          "description": "Further data for the active state.",
          "$ref": "ActiveData"
        },
        "creatingData": {
          "description": "Further data for the creating state.",
          "$ref": "CreatingData"
        },
        "deletingData": {
          "description": "Further data for the deleting state.",
          "$ref": "DeletingData"
        },
        "suspendedData": {
          "description": "Further data for the suspended state.",
          "$ref": "SuspendedData"
        },
        "state": {
          "enumDescriptions": [
            "State of the QueuedResource request is not known/set.",
            "The QueuedResource request has been received. We're still working on determining if we will be able to honor this request.",
            "The QueuedResource request has passed initial validation/admission control and has been persisted in the queue.",
            "The QueuedResource request has been selected. The associated resources are currently being provisioned (or very soon will begin provisioning).",
            "The request could not be completed. This may be due to some late-discovered problem with the request itself, or due to unavailability of resources within the constraints of the request (e.g., the 'valid until' start timing constraint expired).",
            "The QueuedResource is being deleted.",
            "The resources specified in the QueuedResource request have been provisioned and are ready for use by the end-user/consumer.",
            "The resources specified in the QueuedResource request are being deleted. This may have been initiated by the user, or the Cloud TPU service. Inspect the state data for more details.",
            "The resources specified in the QueuedResource request have been deleted.",
            "The QueuedResource request has passed initial validation and has been persisted in the queue. It will remain in this state until there are sufficient free resources to begin provisioning your request. Wait times will vary significantly depending on demand levels. When demand is high, not all requests can be immediately provisioned. If you need more reliable obtainability of TPUs consider purchasing a reservation. To put a limit on how long you are willing to wait, use [timing constraints](https://cloud.google.com/tpu/docs/queued-resources#request_a_queued_resource_before_a_specified_time)."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "CREATING",
            "ACCEPTED",
            "PROVISIONING",
            "FAILED",
            "DELETING",
            "ACTIVE",
            "SUSPENDING",
            "SUSPENDED",
            "WAITING_FOR_RESOURCES"
          ],
          "type": "string",
          "description": "State of the QueuedResource request."
        },
        "provisioningData": {
          "description": "Further data for the provisioning state.",
          "$ref": "ProvisioningData"
        },
        "failedData": {
          "description": "Further data for the failed state.",
          "$ref": "FailedData"
        },
        "suspendingData": {
          "description": "Further data for the suspending state.",
          "$ref": "SuspendingData"
        },
        "stateInitiator": {
          "description": "Output only. The initiator of the QueuedResources's current state. Used to indicate whether the SUSPENDING/SUSPENDED state was initiated by the user or the service.",
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "The state initiator is unspecified.",
            "The current QueuedResource state was initiated by the user.",
            "The current QueuedResource state was initiated by the service."
          ],
          "enum": [
            "STATE_INITIATOR_UNSPECIFIED",
            "USER",
            "SERVICE"
          ]
        }
      }
    },
    "NodeUpcomingMaintenanceInfo": {
      "id": "NodeUpcomingMaintenanceInfo",
      "description": "A tuple containing node name / ID and maintenance info.",
      "properties": {
        "upcomingMaintenance": {
          "description": "Upcoming maintenance info for this node.",
          "$ref": "UpcomingMaintenance"
        },
        "nodeName": {
          "description": "Unqualified node name.",
          "type": "string"
        },
        "nodeUid": {
          "type": "string",
          "description": "UID of this node.",
          "format": "int64"
        }
      },
      "type": "object"
    },
    "QueuedResource": {
      "id": "QueuedResource",
      "description": "A QueuedResource represents a request for resources that will be placed in a queue and fulfilled when the necessary resources are available.",
      "properties": {
        "bestEffort": {
          "description": "The BestEffort tier.",
          "$ref": "BestEffort"
        },
        "guaranteed": {
          "description": "The Guaranteed tier.",
          "$ref": "Guaranteed"
        },
        "spot": {
          "description": "Optional. The Spot tier.",
          "$ref": "Spot"
        },
        "queueingPolicy": {
          "description": "The queueing policy of the QueuedRequest.",
          "$ref": "QueueingPolicy"
        },
        "provisioningModel": {
          "description": "Optional. The provisioning model for the resource.",
          "enumDescriptions": [
            "Provisioning model is unknown.",
            "Standard provisioning with user controlled runtime.",
            "Spot provisioning with no guaranteed runtime.",
            "Reservation provisioning with runtime bound to the lifetime of the consumed reservation.",
            "Provisioning with DWS Flex Start with max run duration."
          ],
          "enum": [
            "PROVISIONING_MODEL_UNSPECIFIED",
            "STANDARD",
            "SPOT",
            "RESERVATION_BOUND",
            "FLEX_START"
          ],
          "type": "string"
        },
        "tpu": {
          "description": "Defines a TPU resource.",
          "$ref": "Tpu"
        },
        "createTime": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. The time when the QueuedResource was created.",
          "format": "google-datetime"
        },
        "runDuration": {
          "description": "Optional. The duration of the requested resource.",
          "$ref": "RunDuration"
        },
        "name": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. Immutable. The name of the QueuedResource."
        },
        "state": {
          "description": "Output only. State of the QueuedResource request.",
          "readOnly": true,
          "$ref": "QueuedResourceState"
        },
        "reservationName": {
          "description": "Name of the reservation in which the resource should be provisioned. Format: projects/{project}/locations/{zone}/reservations/{reservation}",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GetMaintenanceInfoResponse": {
      "type": "object",
      "id": "GetMaintenanceInfoResponse",
      "description": "Response for GetMaintenanceInfo.",
      "properties": {
        "nodeUpcomingMaintenances": {
          "type": "array",
          "description": "The list of upcoming maintenance entries.",
          "items": {
            "$ref": "NodeUpcomingMaintenanceInfo"
          }
        }
      }
    },
    "OperationMetadata": {
      "id": "OperationMetadata",
      "description": "Metadata describing an Operation",
      "properties": {
        "endTime": {
          "type": "string",
          "description": "The time the operation finished running.",
          "format": "google-datetime"
        },
        "target": {
          "description": "Target of the operation - for example projects/project-1/connectivityTests/test-1",
          "type": "string"
        },
        "createTime": {
          "type": "string",
          "description": "The time the operation was created.",
          "format": "google-datetime"
        },
        "verb": {
          "description": "Name of the verb executed by the operation.",
          "type": "string"
        },
        "apiVersion": {
          "description": "API version.",
          "type": "string"
        },
        "cancelRequested": {
          "description": "Specifies if cancellation was requested for the operation.",
          "type": "boolean"
        },
        "statusDetail": {
          "description": "Human-readable status of the operation, if any.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "RuntimeVersion": {
      "type": "object",
      "id": "RuntimeVersion",
      "description": "A runtime version that a Node can be configured with.",
      "properties": {
        "version": {
          "description": "The runtime version.",
          "type": "string"
        },
        "name": {
          "description": "The resource name.",
          "type": "string"
        }
      }
    },
    "GuestAttributesEntry": {
      "type": "object",
      "id": "GuestAttributesEntry",
      "description": "A guest attributes namespace/key/value entry.",
      "properties": {
        "value": {
          "description": "Value for the guest attribute entry.",
          "type": "string"
        },
        "namespace": {
          "description": "Namespace for the guest attribute entry.",
          "type": "string"
        },
        "key": {
          "description": "Key for the guest attribute entry.",
          "type": "string"
        }
      }
    },
    "StopNodeRequest": {
      "type": "object",
      "id": "StopNodeRequest",
      "description": "Request for StopNode.",
      "properties": {}
    },
    "Operation": {
      "type": "object",
      "id": "Operation",
      "description": "This resource represents a long-running operation that is the result of a network API call.",
      "properties": {
        "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"
        },
        "error": {
          "description": "The error result of the operation in case of failure or cancellation.",
          "$ref": "Status"
        },
        "done": {
          "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.",
          "type": "boolean"
        },
        "metadata": {
          "type": "object",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          },
          "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."
        },
        "response": {
          "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`.",
          "type": "object",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          }
        }
      }
    },
    "Node": {
      "type": "object",
      "id": "Node",
      "description": "A TPU instance.",
      "properties": {
        "runtimeVersion": {
          "description": "Required. The runtime version running in the Node.",
          "type": "string"
        },
        "acceleratorType": {
          "description": "The type of hardware accelerators associated with this node.",
          "type": "string"
        },
        "healthDescription": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. If this field is populated, it contains a description of why the TPU Node is unhealthy."
        },
        "serviceAccount": {
          "description": "The Google Cloud Platform Service Account to be used by the TPU node VMs. If None is specified, the default compute service account will be used.",
          "$ref": "ServiceAccount"
        },
        "metadata": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Custom metadata to apply to the TPU Node. Can set startup-script and shutdown-script"
        },
        "acceleratorConfig": {
          "description": "The AccleratorConfig for the TPU Node.",
          "$ref": "AcceleratorConfig"
        },
        "networkConfigs": {
          "type": "array",
          "description": "Optional. Repeated network configurations for the TPU node. This field is used to specify multiple networks configs for the TPU node. network_config and network_configs are mutually exclusive, you can only specify one of them. If both are specified, an error will be returned.",
          "items": {
            "$ref": "NetworkConfig"
          }
        },
        "apiVersion": {
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "API version is unknown.",
            "TPU API V1Alpha1 version.",
            "TPU API V1 version.",
            "TPU API V2Alpha1 version."
          ],
          "enum": [
            "API_VERSION_UNSPECIFIED",
            "V1_ALPHA1",
            "V1",
            "V2_ALPHA1"
          ],
          "description": "Output only. The API version that created this Node."
        },
        "name": {
          "description": "Output only. Immutable. The name of the TPU.",
          "readOnly": true,
          "type": "string"
        },
        "tags": {
          "type": "array",
          "description": "Tags to apply to the TPU Node. Tags are used to identify valid sources or targets for network firewalls.",
          "items": {
            "type": "string"
          }
        },
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Resource labels to represent user-provided metadata."
        },
        "bootDiskConfig": {
          "description": "Optional. Boot disk configuration.",
          "$ref": "BootDiskConfig"
        },
        "networkEndpoints": {
          "description": "Output only. The network endpoints where TPU workers can be accessed and sent work. It is recommended that runtime clients of the node reach out to the 0th entry in this map first.",
          "items": {
            "$ref": "NetworkEndpoint"
          },
          "readOnly": true,
          "type": "array"
        },
        "id": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. The unique identifier for the TPU Node.",
          "format": "int64"
        },
        "autocheckpointEnabled": {
          "description": "Optional. Whether Autocheckpoint is enabled.",
          "type": "boolean"
        },
        "description": {
          "description": "The user-supplied description of the TPU. Maximum of 512 characters.",
          "type": "string"
        },
        "queuedResource": {
          "description": "Output only. The qualified name of the QueuedResource that requested this Node.",
          "readOnly": true,
          "type": "string"
        },
        "schedulingConfig": {
          "description": "The scheduling options for this node.",
          "$ref": "SchedulingConfig"
        },
        "cidrBlock": {
          "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.",
          "type": "string"
        },
        "health": {
          "description": "The health status of the TPU node.",
          "enumDescriptions": [
            "Health status is unknown: not initialized or failed to retrieve.",
            "The resource is healthy.",
            "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",
            "TIMEOUT",
            "UNHEALTHY_TENSORFLOW",
            "UNHEALTHY_MAINTENANCE"
          ],
          "type": "string"
        },
        "networkConfig": {
          "description": "Network configurations for the TPU node. network_config and network_configs are mutually exclusive, you can only specify one of them. If both are specified, an error will be returned.",
          "$ref": "NetworkConfig"
        },
        "symptoms": {
          "description": "Output only. The Symptoms that have occurred to the TPU Node.",
          "items": {
            "$ref": "Symptom"
          },
          "readOnly": true,
          "type": "array"
        },
        "state": {
          "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."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "CREATING",
            "READY",
            "RESTARTING",
            "REIMAGING",
            "DELETING",
            "REPAIRING",
            "STOPPED",
            "STOPPING",
            "STARTING",
            "PREEMPTED",
            "TERMINATED",
            "HIDING",
            "HIDDEN",
            "UNHIDING",
            "UNKNOWN"
          ],
          "readOnly": true,
          "type": "string",
          "description": "Output only. The current state for the TPU Node."
        },
        "multisliceNode": {
          "description": "Output only. Whether the Node belongs to a Multislice group.",
          "readOnly": true,
          "type": "boolean"
        },
        "createTime": {
          "description": "Output only. The time when the node was created.",
          "format": "google-datetime",
          "readOnly": true,
          "type": "string"
        },
        "shieldedInstanceConfig": {
          "description": "Shielded Instance options.",
          "$ref": "ShieldedInstanceConfig"
        },
        "upcomingMaintenance": {
          "description": "Output only. Upcoming maintenance on this TPU node.",
          "readOnly": true,
          "$ref": "UpcomingMaintenance"
        },
        "dataDisks": {
          "type": "array",
          "description": "The additional data disks for the Node.",
          "items": {
            "$ref": "AttachedDisk"
          }
        }
      }
    },
    "GenerateServiceIdentityResponse": {
      "type": "object",
      "id": "GenerateServiceIdentityResponse",
      "description": "Response for GenerateServiceIdentity.",
      "properties": {
        "identity": {
          "description": "ServiceIdentity that was created or retrieved.",
          "$ref": "ServiceIdentity"
        }
      }
    },
    "PerformMaintenanceQueuedResourceRequest": {
      "type": "object",
      "id": "PerformMaintenanceQueuedResourceRequest",
      "description": "Request for PerformMaintenanceQueuedResource.",
      "properties": {
        "nodeNames": {
          "description": "The names of the nodes to perform maintenance on.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      }
    },
    "ServiceIdentity": {
      "type": "object",
      "id": "ServiceIdentity",
      "description": "The per-product per-project service identity for Cloud TPU service.",
      "properties": {
        "email": {
          "description": "The email address of the service identity.",
          "type": "string"
        }
      }
    },
    "GetGuestAttributesResponse": {
      "id": "GetGuestAttributesResponse",
      "description": "Response for GetGuestAttributes.",
      "properties": {
        "guestAttributes": {
          "description": "The guest attributes for the TPU workers.",
          "items": {
            "$ref": "GuestAttributes"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "AcceptedData": {
      "id": "AcceptedData",
      "description": "Further data for the accepted state.",
      "properties": {},
      "type": "object"
    },
    "StartNodeRequest": {
      "id": "StartNodeRequest",
      "description": "Request for StartNode.",
      "properties": {},
      "type": "object"
    },
    "ListLocationsResponse": {
      "id": "ListLocationsResponse",
      "description": "The response message for Locations.ListLocations.",
      "properties": {
        "nextPageToken": {
          "description": "The standard List next-page token.",
          "type": "string"
        },
        "locations": {
          "description": "A list of locations that matches the specified filter in the request.",
          "items": {
            "$ref": "Location"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ServiceAccount": {
      "type": "object",
      "id": "ServiceAccount",
      "description": "A service account.",
      "properties": {
        "email": {
          "description": "Email address of the service account. If empty, default Compute service account will be used.",
          "type": "string"
        },
        "scope": {
          "description": "The list of scopes to be made available for this service account. If empty, access to all Cloud APIs will be allowed.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      }
    },
    "BestEffort": {
      "type": "object",
      "id": "BestEffort",
      "description": "BestEffort tier definition.",
      "properties": {}
    },
    "ShieldedInstanceConfig": {
      "type": "object",
      "id": "ShieldedInstanceConfig",
      "description": "A set of Shielded Instance options.",
      "properties": {
        "enableSecureBoot": {
          "description": "Defines whether the instance has Secure Boot enabled.",
          "type": "boolean"
        }
      }
    },
    "ListAcceleratorTypesResponse": {
      "id": "ListAcceleratorTypesResponse",
      "description": "Response for ListAcceleratorTypes.",
      "properties": {
        "acceleratorTypes": {
          "description": "The listed nodes.",
          "items": {
            "$ref": "AcceleratorType"
          },
          "type": "array"
        },
        "unreachable": {
          "type": "array",
          "description": "Locations that could not be reached.",
          "items": {
            "type": "string"
          }
        },
        "nextPageToken": {
          "description": "The next page token or empty if none.",
          "type": "string"
        }
      },
      "type": "object"
    }
  },
  "revision": "20260127",
  "batchPath": "batch",
  "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."
        }
      }
    }
  },
  "rootUrl": "https://tpu.googleapis.com/",
  "servicePath": "",
  "discoveryVersion": "v1",
  "ownerName": "Google",
  "canonicalName": "TPU",
  "kind": "discovery#restDescription",
  "documentationLink": "https://cloud.google.com/tpu/",
  "fullyEncodeReservedExpansion": true
}
