{
  "basePath": "",
  "name": "hypercomputecluster",
  "batchPath": "batch",
  "servicePath": "",
  "id": "hypercomputecluster:v1beta",
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "title": "Cluster Director API",
  "resources": {
    "projects": {
      "resources": {
        "locations": {
          "methods": {
            "list": {
              "response": {
                "$ref": "ListLocationsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "path": "v1beta/{+name}/locations",
              "flatPath": "v1beta/projects/{projectsId}/locations",
              "parameterOrder": [
                "name"
              ],
              "id": "hypercomputecluster.projects.locations.list",
              "httpMethod": "GET",
              "description": "Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.",
              "parameters": {
                "name": {
                  "description": "The resource that owns the locations collection, if applicable.",
                  "required": true,
                  "type": "string",
                  "location": "path",
                  "pattern": "^projects/[^/]+$"
                },
                "pageSize": {
                  "description": "The maximum number of results to return. If not set, the service selects a default.",
                  "type": "integer",
                  "format": "int32",
                  "location": "query"
                },
                "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)."
                },
                "extraLocationTypes": {
                  "repeated": true,
                  "type": "string",
                  "description": "Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage.",
                  "location": "query"
                },
                "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"
                }
              }
            },
            "get": {
              "parameterOrder": [
                "name"
              ],
              "response": {
                "$ref": "Location"
              },
              "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}",
              "id": "hypercomputecluster.projects.locations.get",
              "description": "Gets information about a location.",
              "parameters": {
                "name": {
                  "description": "Resource name for the location.",
                  "type": "string",
                  "pattern": "^projects/[^/]+/locations/[^/]+$",
                  "required": true,
                  "location": "path"
                }
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "httpMethod": "GET",
              "path": "v1beta/{+name}"
            }
          },
          "resources": {
            "clusters": {
              "methods": {
                "get": {
                  "httpMethod": "GET",
                  "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}",
                  "parameters": {
                    "name": {
                      "description": "Required. Name of the cluster to retrieve, in the format `projects/{project}/locations/{location}/clusters/{cluster}`.",
                      "type": "string",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                      "location": "path"
                    }
                  },
                  "response": {
                    "$ref": "Cluster"
                  },
                  "path": "v1beta/{+name}",
                  "id": "hypercomputecluster.projects.locations.clusters.get",
                  "description": "Gets details of a single Cluster.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "name"
                  ]
                },
                "create": {
                  "response": {
                    "$ref": "Operation"
                  },
                  "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/clusters",
                  "parameters": {
                    "clusterId": {
                      "type": "string",
                      "description": "Required. The ID of the cluster to create. The cluster ID must start with a lowercase letter (`a`-`z`), use only lowercase letters or numbers, and contain up to 10 characters. For example, specify `cluster001`.",
                      "location": "query"
                    },
                    "requestId": {
                      "location": "query",
                      "description": "Optional. A unique identifier for this request. A random UUID is recommended. This request is idempotent if and only if `request_id` is provided.",
                      "type": "string"
                    },
                    "parent": {
                      "type": "string",
                      "description": "Required. Parent location in which the cluster should be created, in the format `projects/{project}/locations/{location}`.",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "required": true
                    }
                  },
                  "request": {
                    "$ref": "Cluster"
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "path": "v1beta/{+parent}/clusters",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "httpMethod": "POST",
                  "description": "Creates a new Cluster in a given project and location.",
                  "id": "hypercomputecluster.projects.locations.clusters.create"
                },
                "patch": {
                  "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}",
                  "path": "v1beta/{+name}",
                  "parameters": {
                    "updateMask": {
                      "description": "Optional. Mask specifying which fields in the cluster to update. All paths must be specified explicitly - wildcards are not supported. At least one path must be provided.",
                      "location": "query",
                      "format": "google-fieldmask",
                      "type": "string"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "Optional. A unique identifier for this request. A random UUID is recommended. This request is idempotent if and only if `request_id` is provided.",
                      "location": "query"
                    },
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                      "description": "Identifier. [Relative resource name](https://google.aip.dev/122) of the cluster, in the format `projects/{project}/locations/{location}/clusters/{cluster}`.",
                      "required": true,
                      "type": "string",
                      "location": "path"
                    }
                  },
                  "response": {
                    "$ref": "Operation"
                  },
                  "description": "Updates the parameters of a single Cluster.",
                  "httpMethod": "PATCH",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "request": {
                    "$ref": "Cluster"
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "id": "hypercomputecluster.projects.locations.clusters.patch"
                },
                "delete": {
                  "description": "Deletes a single Cluster.",
                  "path": "v1beta/{+name}",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "id": "hypercomputecluster.projects.locations.clusters.delete",
                  "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}",
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "Operation"
                  },
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                      "description": "Required. Name of the cluster to delete, in the format `projects/{project}/locations/{location}/clusters/{cluster}`.",
                      "location": "path",
                      "type": "string",
                      "required": true
                    },
                    "requestId": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. A unique identifier for this request. A random UUID is recommended. This request is idempotent if and only if `request_id` is provided."
                    }
                  },
                  "httpMethod": "DELETE"
                },
                "list": {
                  "parameterOrder": [
                    "parent"
                  ],
                  "response": {
                    "$ref": "ListClustersResponse"
                  },
                  "id": "hypercomputecluster.projects.locations.clusters.list",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "path": "v1beta/{+parent}/clusters",
                  "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/clusters",
                  "description": "Lists Clusters in a given project and location.",
                  "parameters": {
                    "parent": {
                      "location": "path",
                      "type": "string",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "description": "Required. Parent location of the clusters to list, in the format `projects/{project}/locations/{location}`."
                    },
                    "pageToken": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. A page token received from a previous `ListClusters` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListClusters` must match the call that provided the page token."
                    },
                    "filter": {
                      "type": "string",
                      "location": "query",
                      "description": "Optional. [Filter](https://google.aip.dev/160) to apply to the returned results."
                    },
                    "orderBy": {
                      "location": "query",
                      "description": "Optional. How to order the resulting clusters. Must be one of the following strings: * `name` * `name desc` * `create_time` * `create_time desc` If not specified, clusters will be returned in an arbitrary order.",
                      "type": "string"
                    },
                    "pageSize": {
                      "location": "query",
                      "format": "int32",
                      "description": "Optional. Maximum number of clusters to return. The service may return fewer than this value.",
                      "type": "integer"
                    }
                  },
                  "httpMethod": "GET"
                }
              },
              "resources": {
                "nodes": {
                  "methods": {
                    "list": {
                      "id": "hypercomputecluster.projects.locations.clusters.nodes.list",
                      "parameters": {
                        "orderBy": {
                          "type": "string",
                          "description": "Optional. How to order the resulting nodes. Must be one of the following strings: * `name` * `name desc` If not specified, nodes will be returned in an arbitrary order.",
                          "location": "query"
                        },
                        "pageToken": {
                          "type": "string",
                          "location": "query",
                          "description": "Optional. A page token received from a previous `ListNodes` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListNodes` must match the call that provided the page token."
                        },
                        "filter": {
                          "location": "query",
                          "type": "string",
                          "description": "Optional. [Filter](https://google.aip.dev/160) to apply to the returned results."
                        },
                        "parent": {
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                          "type": "string",
                          "location": "path",
                          "description": "Required. Parent cluster of the nodes to list, in the format `projects/{project}/locations/{location}/clusters/{cluster}`."
                        },
                        "pageSize": {
                          "location": "query",
                          "description": "Optional. Maximum number of nodes to return. The service may return fewer than this value.",
                          "format": "int32",
                          "type": "integer"
                        }
                      },
                      "parameterOrder": [
                        "parent"
                      ],
                      "response": {
                        "$ref": "ListNodesResponse"
                      },
                      "path": "v1beta/{+parent}/nodes",
                      "httpMethod": "GET",
                      "description": "Lists Nodes in a given cluster.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/nodes"
                    }
                  }
                }
              }
            },
            "operations": {
              "methods": {
                "list": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "id": "hypercomputecluster.projects.locations.operations.list",
                  "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
                  "httpMethod": "GET",
                  "parameters": {
                    "returnPartialSuccess": {
                      "location": "query",
                      "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.",
                      "type": "boolean"
                    },
                    "pageSize": {
                      "format": "int32",
                      "description": "The standard list page size.",
                      "type": "integer",
                      "location": "query"
                    },
                    "name": {
                      "location": "path",
                      "required": true,
                      "description": "The name of the operation's parent resource.",
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+$"
                    },
                    "pageToken": {
                      "type": "string",
                      "description": "The standard list page token.",
                      "location": "query"
                    },
                    "filter": {
                      "type": "string",
                      "location": "query",
                      "description": "The standard list filter."
                    }
                  },
                  "response": {
                    "$ref": "ListOperationsResponse"
                  },
                  "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/operations",
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1beta/{+name}/operations"
                },
                "get": {
                  "path": "v1beta/{+name}",
                  "parameters": {
                    "name": {
                      "type": "string",
                      "description": "The name of the operation resource.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "location": "path",
                      "required": true
                    }
                  },
                  "httpMethod": "GET",
                  "parameterOrder": [
                    "name"
                  ],
                  "id": "hypercomputecluster.projects.locations.operations.get",
                  "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.",
                  "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "delete": {
                  "id": "hypercomputecluster.projects.locations.operations.delete",
                  "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
                  "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`.",
                  "response": {
                    "$ref": "Empty"
                  },
                  "httpMethod": "DELETE",
                  "parameters": {
                    "name": {
                      "required": true,
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "description": "The name of the operation resource to be deleted.",
                      "location": "path"
                    }
                  },
                  "path": "v1beta/{+name}",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "name"
                  ]
                },
                "cancel": {
                  "httpMethod": "POST",
                  "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel",
                  "path": "v1beta/{+name}:cancel",
                  "parameters": {
                    "name": {
                      "required": true,
                      "description": "The name of the operation resource to be cancelled.",
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "location": "path"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "request": {
                    "$ref": "CancelOperationRequest"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "id": "hypercomputecluster.projects.locations.operations.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`."
                }
              }
            }
          }
        }
      }
    }
  },
  "rootUrl": "https://hypercomputecluster.googleapis.com/",
  "kind": "discovery#restDescription",
  "schemas": {
    "CreateLustreInstance": {
      "type": "object",
      "properties": {
        "lustre": {
          "description": "Output only. Name of the Managed Lustre instance, in the format `projects/{project}/locations/{location}/instances/{instance}`",
          "type": "string",
          "readOnly": true
        }
      },
      "description": "When set in OperationStep, indicates that a new lustre instance should be created.",
      "id": "CreateLustreInstance"
    },
    "DeleteNodeset": {
      "id": "DeleteNodeset",
      "properties": {
        "nodesets": {
          "type": "array",
          "readOnly": true,
          "description": "Output only. Name of the nodeset to delete",
          "items": {
            "type": "string"
          }
        }
      },
      "description": "When set in OperationStep, indicates that a nodeset should be deleted.",
      "type": "object"
    },
    "CancelOperationRequest": {
      "properties": {},
      "description": "The request message for Operations.CancelOperation.",
      "id": "CancelOperationRequest",
      "type": "object"
    },
    "NewFlexStartInstancesConfig": {
      "properties": {
        "machineType": {
          "description": "Required. Immutable. Name of the Compute Engine [machine type](https://cloud.google.com/compute/docs/machine-resource) to use, e.g. `n2-standard-2`.",
          "type": "string"
        },
        "zone": {
          "description": "Required. Immutable. Name of the zone in which VM instances should run, e.g., `us-central1-a`. Must be in the same region as the cluster, and must match the zone of any other resources specified in the cluster.",
          "type": "string"
        },
        "maxDuration": {
          "description": "Required. Immutable. Specifies the time limit for created instances. Instances will be terminated at the end of this duration.",
          "format": "google-duration",
          "type": "string"
        },
        "networkTags": {
          "type": "array",
          "description": "Optional. Immutable. A list of network tags to attach to the VM instances. A maximum of 64 network tags are allowed.",
          "items": {
            "type": "string"
          }
        }
      },
      "id": "NewFlexStartInstancesConfig",
      "description": "When set in a ComputeResourceConfig, indicates that VM instances should be created using [Flex Start](https://cloud.google.com/compute/docs/instances/provisioning-models).",
      "type": "object"
    },
    "NetworkReference": {
      "id": "NetworkReference",
      "description": "A reference to a [VPC network](https://cloud.google.com/vpc/docs/vpc) in Google Compute Engine.",
      "type": "object",
      "properties": {
        "network": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. Name of the network, in the format `projects/{project}/global/networks/{network}`."
        },
        "subnetwork": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. Name of the particular subnetwork being used by the cluster, in the format `projects/{project}/regions/{region}/subnetworks/{subnetwork}`."
        }
      }
    },
    "ComputeInstanceSlurmNodeSet": {
      "description": "When set in a SlurmNodeSet, indicates that the nodeset should be backed by Compute Engine VM instances.",
      "type": "object",
      "properties": {
        "labels": {
          "description": "Optional. [Labels](https://cloud.google.com/compute/docs/labeling-resources) that should be applied to each VM instance in the nodeset.",
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "bootDisk": {
          "description": "Optional. Boot disk for the compute instance",
          "$ref": "BootDisk"
        },
        "startupScript": {
          "description": "Optional. [Startup script](https://cloud.google.com/compute/docs/instances/startup-scripts/linux) to be run on each VM instance in the nodeset. Max 256KB.",
          "type": "string"
        }
      },
      "id": "ComputeInstanceSlurmNodeSet"
    },
    "UpdateNodeset": {
      "id": "UpdateNodeset",
      "properties": {
        "nodesets": {
          "description": "Output only. Name of the nodeset to update",
          "type": "array",
          "readOnly": true,
          "items": {
            "type": "string"
          }
        }
      },
      "description": "When set in OperationStep, indicates that a nodeset should be updated.",
      "type": "object"
    },
    "SlurmPartition": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Required. ID of the partition, which is how users will identify it. Must conform to [RFC-1034](https://datatracker.ietf.org/doc/html/rfc1034) (lower-case, alphanumeric, and at most 63 characters)."
        },
        "nodeSetIds": {
          "description": "Required. IDs of the nodesets that make up this partition. Values must match SlurmNodeSet.id.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "description": "Configuration for Slurm partitions in the cluster. Partitions are groups of nodesets, and are how clients specify where their workloads should be run.",
      "type": "object",
      "id": "SlurmPartition"
    },
    "GcsAutoclassConfig": {
      "type": "object",
      "description": "Message describing Google Cloud Storage autoclass configuration",
      "id": "GcsAutoclassConfig",
      "properties": {
        "enabled": {
          "description": "Required. Enables Auto-class feature.",
          "type": "boolean"
        },
        "terminalStorageClass": {
          "enumDescriptions": [
            "Unspecified terminal storage class",
            "Nearline terminal storage class",
            "Archive terminal storage class"
          ],
          "description": "Optional. Terminal storage class of the autoclass bucket",
          "type": "string",
          "enum": [
            "TERMINAL_STORAGE_CLASS_UNSPECIFIED",
            "NEARLINE",
            "ARCHIVE"
          ]
        }
      }
    },
    "ExistingNetworkConfig": {
      "id": "ExistingNetworkConfig",
      "properties": {
        "network": {
          "description": "Required. Immutable. Name of the network to import, in the format `projects/{project}/global/networks/{network}`.",
          "type": "string"
        },
        "subnetwork": {
          "type": "string",
          "description": "Required. Immutable. Particular subnetwork to use, in the format `projects/{project}/regions/{region}/subnetworks/{subnetwork}`."
        }
      },
      "description": "When set in a NetworkResourceConfig, indicates that an existing network should be imported.",
      "type": "object"
    },
    "ExistingNfsConfig": {
      "description": "When set in a StorageResourceConfig, indicates that an existing NFS share should be imported.",
      "type": "object",
      "properties": {
        "mountOptions": {
          "type": "string",
          "description": "Optional. Immutable. Options to mount the NFS share, as expected by fs_mntops field infstab(5), for example: \"rw,vers=4.1,nconnect=2,noatime\"."
        },
        "remoteMount": {
          "description": "Required. Immutable. Remote mount path of the NFS share.",
          "type": "string"
        },
        "serverIpAddress": {
          "type": "string",
          "description": "Required. Immutable. Server IP address of the NFS share."
        }
      },
      "id": "ExistingNfsConfig"
    },
    "ComputeResourceConfig": {
      "description": "Describes how a compute resource should be created at runtime.",
      "id": "ComputeResourceConfig",
      "properties": {
        "newSpotInstances": {
          "$ref": "NewSpotInstancesConfig",
          "description": "Optional. Immutable. If set, indicates that this resource should use spot VMs."
        },
        "newFlexStartInstances": {
          "$ref": "NewFlexStartInstancesConfig",
          "description": "Optional. Immutable. If set, indicates that this resource should use flex-start VMs."
        },
        "newReservedInstances": {
          "description": "Optional. Immutable. If set, indicates that this resource should use reserved VMs.",
          "$ref": "NewReservedInstancesConfig"
        },
        "newOnDemandInstances": {
          "$ref": "NewOnDemandInstancesConfig",
          "description": "Optional. Immutable. If set, indicates that this resource should use on-demand VMs."
        }
      },
      "type": "object"
    },
    "BucketReference": {
      "type": "object",
      "description": "A reference to a [Google Cloud Storage](https://cloud.google.com/storage) bucket.",
      "properties": {
        "bucket": {
          "readOnly": true,
          "description": "Output only. Name of the bucket.",
          "type": "string"
        }
      },
      "id": "BucketReference"
    },
    "DeleteStorageBucket": {
      "properties": {
        "bucket": {
          "readOnly": true,
          "description": "Output only. Name of the bucket.",
          "type": "string"
        }
      },
      "type": "object",
      "id": "DeleteStorageBucket",
      "description": "When set in OperationStep, indicates that Cloud Storage bucket should be deleted."
    },
    "ComputeInstance": {
      "description": "Details about a Compute Engine [instance](https://cloud.google.com/compute/docs/instances).",
      "type": "object",
      "properties": {
        "instance": {
          "readOnly": true,
          "description": "Output only. Name of the VM instance, in the format `projects/{project}/zones/{zone}/instances/{instance}`.",
          "type": "string"
        }
      },
      "id": "ComputeInstance"
    },
    "ListNodesResponse": {
      "type": "object",
      "id": "ListNodesResponse",
      "description": "Response message for ListNodes.",
      "properties": {
        "nodes": {
          "items": {
            "$ref": "Node"
          },
          "type": "array",
          "description": "Nodes in the specified cluster."
        },
        "nextPageToken": {
          "description": "A token that can be sent as `page_token` to retrieve the next page. If this field is absent, there are no subsequent pages.",
          "type": "string"
        }
      }
    },
    "StorageResource": {
      "type": "object",
      "id": "StorageResource",
      "description": "Represents a form of persistent storage that you can mount onto compute resources in the cluster.",
      "properties": {
        "filestore": {
          "description": "Output only. A reference to a Filestore instance. Populated if and only if the storage resource was configured to use Filestore.",
          "$ref": "FilestoreReference",
          "readOnly": true
        },
        "lustre": {
          "description": "Output only. A reference to a Managed Lustre instance. Populated if and only if the storage resource was configured to use Managed Lustre.",
          "$ref": "LustreReference",
          "readOnly": true
        },
        "bucket": {
          "description": "Output only. A reference to a Google Cloud Storage bucket. Populated if and only if the storage resource was configured to use Google Cloud Storage.",
          "readOnly": true,
          "$ref": "BucketReference"
        },
        "config": {
          "description": "Required. Immutable. Configuration for this storage resource, which describes how it should be created or imported. This field only controls how the storage resource is initially created or imported. Subsequent changes to the storage resource should be made via the resource's API and will not be reflected in the configuration.",
          "$ref": "StorageResourceConfig"
        }
      }
    },
    "ExistingFilestoreConfig": {
      "properties": {
        "filestore": {
          "description": "Required. Immutable. Name of the Filestore instance to import, in the format `projects/{project}/locations/{location}/instances/{instance}`",
          "type": "string"
        }
      },
      "id": "ExistingFilestoreConfig",
      "type": "object",
      "description": "When set in a StorageResourceConfig, indicates that an existing [Filestore](https://cloud.google.com/filestore) instance should be imported."
    },
    "DeleteNetwork": {
      "description": "When set in OperationStep, indicates network deletion step with the resource name.",
      "properties": {
        "network": {
          "description": "Output only. Name of the network to delete, in the format `projects/{project}/global/networks/{network}`.",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object",
      "id": "DeleteNetwork"
    },
    "DeletePrivateServiceAccess": {
      "id": "DeletePrivateServiceAccess",
      "type": "object",
      "description": "When set in OperationStep, indicates private service access deletion step.",
      "properties": {}
    },
    "DeleteLoginNode": {
      "type": "object",
      "properties": {},
      "id": "DeleteLoginNode",
      "description": "When set in OperationStep, indicates that a login node should be deleted."
    },
    "OperationProgress": {
      "id": "OperationProgress",
      "description": "Message describing the progress of a cluster mutation long-running operation.",
      "properties": {
        "steps": {
          "readOnly": true,
          "items": {
            "$ref": "OperationStep"
          },
          "description": "Output only. Steps and status of the operation.",
          "type": "array"
        }
      },
      "type": "object"
    },
    "DeleteOrchestrator": {
      "id": "DeleteOrchestrator",
      "type": "object",
      "properties": {},
      "description": "When set in OperationStep, indicates that an orchestrator should be deleted."
    },
    "ExistingLustreConfig": {
      "type": "object",
      "id": "ExistingLustreConfig",
      "properties": {
        "lustre": {
          "description": "Required. Immutable. Name of the Managed Lustre instance to import, in the format `projects/{project}/locations/{location}/instances/{instance}`",
          "type": "string"
        }
      },
      "description": "When set in a StorageResourceConfig, indicates that an existing [Managed Lustre](https://cloud.google.com/products/managed-lustre) instance should be imported."
    },
    "DeleteFilestoreInstance": {
      "type": "object",
      "id": "DeleteFilestoreInstance",
      "properties": {
        "filestore": {
          "description": "Output only. Name of the Filestore instance, in the format `projects/{project}/locations/{location}/instances/{instance}`",
          "readOnly": true,
          "type": "string"
        }
      },
      "description": "When set in OperationStep, indicates that a Filestore instance should be deleted."
    },
    "NewOnDemandInstancesConfig": {
      "description": "When set in a ComputeResourceConfig, indicates that on-demand (i.e., using the standard provisioning model) VM instances should be created.",
      "id": "NewOnDemandInstancesConfig",
      "type": "object",
      "properties": {
        "machineType": {
          "description": "Required. Immutable. Name of the Compute Engine [machine type](https://cloud.google.com/compute/docs/machine-resource) to use, e.g. `n2-standard-2`.",
          "type": "string"
        },
        "zone": {
          "description": "Required. Immutable. Name of the zone in which VM instances should run, e.g., `us-central1-a`. Must be in the same region as the cluster, and must match the zone of any other resources specified in the cluster.",
          "type": "string"
        },
        "networkTags": {
          "description": "Optional. Immutable. A list of network tags to attach to the VM instances. A maximum of 64 network tags are allowed.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "CreateLoginNode": {
      "description": "When set in OperationStep, indicates that a login node should be created.",
      "type": "object",
      "id": "CreateLoginNode",
      "properties": {}
    },
    "CreatePartition": {
      "id": "CreatePartition",
      "type": "object",
      "description": "When set in OperationStep, indicates that a partition should be created.",
      "properties": {
        "partitions": {
          "readOnly": true,
          "items": {
            "type": "string"
          },
          "description": "Output only. Name of the partition to create",
          "type": "array"
        }
      }
    },
    "Status": {
      "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).",
      "type": "object",
      "properties": {
        "details": {
          "items": {
            "additionalProperties": {
              "type": "any",
              "description": "Properties of the object. Contains field @type with type URL."
            },
            "type": "object"
          },
          "type": "array",
          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use."
        },
        "message": {
          "type": "string",
          "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."
        },
        "code": {
          "format": "int32",
          "type": "integer",
          "description": "The status code, which should be an enum value of google.rpc.Code."
        }
      }
    },
    "OperationMetadata": {
      "id": "OperationMetadata",
      "type": "object",
      "properties": {
        "createTime": {
          "description": "Output only. The time the operation was created.",
          "type": "string",
          "readOnly": true,
          "format": "google-datetime"
        },
        "requestedCancellation": {
          "type": "boolean",
          "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.",
          "readOnly": true
        },
        "endTime": {
          "description": "Output only. The time the operation finished running.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "apiVersion": {
          "type": "string",
          "description": "Output only. API version used to start the operation.",
          "readOnly": true
        },
        "progress": {
          "readOnly": true,
          "description": "Output only. Progress of the operation.",
          "$ref": "OperationProgress"
        },
        "target": {
          "description": "Output only. Server-defined resource path for the target of the operation.",
          "readOnly": true,
          "type": "string"
        },
        "verb": {
          "description": "Output only. Name of the verb executed by the operation.",
          "readOnly": true,
          "type": "string"
        }
      },
      "description": "Represents the metadata of the long-running operation."
    },
    "StorageResourceConfig": {
      "type": "object",
      "properties": {
        "existingBucket": {
          "description": "Optional. Immutable. If set, indicates that an existing Cloud Storage bucket should be imported.",
          "$ref": "ExistingBucketConfig"
        },
        "newLustre": {
          "$ref": "NewLustreConfig",
          "description": "Optional. Immutable. If set, indicates that a new Managed Lustre instance should be created."
        },
        "newFilestore": {
          "$ref": "NewFilestoreConfig",
          "description": "Optional. Immutable. If set, indicates that a new Filestore instance should be created."
        },
        "existingLustre": {
          "description": "Optional. Immutable. If set, indicates that an existing Managed Lustre instance should be imported.",
          "$ref": "ExistingLustreConfig"
        },
        "newBucket": {
          "$ref": "NewBucketConfig",
          "description": "Optional. Immutable. If set, indicates that a new Cloud Storage bucket should be created."
        },
        "existingFilestore": {
          "$ref": "ExistingFilestoreConfig",
          "description": "Optional. Immutable. If set, indicates that an existing Filestore instance should be imported."
        },
        "existingNfs": {
          "description": "Optional. Immutable. If set, indicates that an existing NFS share should be imported.",
          "$ref": "ExistingNfsConfig"
        }
      },
      "id": "StorageResourceConfig",
      "description": "Describes how a storage resource should be initialized. Each storage resource can either be imported from an existing Google Cloud resource or initialized when the cluster is created."
    },
    "DeletePartition": {
      "description": "When set in OperationStep, indicates that a partition should be deleted.",
      "properties": {
        "partitions": {
          "type": "array",
          "description": "Output only. Name of the partition to delete",
          "items": {
            "type": "string"
          },
          "readOnly": true
        }
      },
      "id": "DeletePartition",
      "type": "object"
    },
    "SlurmNodeDetails": {
      "description": "Slurm-specific details for a Node.",
      "properties": {
        "comment": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. System comments from Slurm."
        },
        "states": {
          "readOnly": true,
          "description": "Output only. Raw state flags directly from Slurm.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "partitions": {
          "readOnly": true,
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Output only. Slurm partitions this node belongs to."
        },
        "reason": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. User-readable reason for the current state."
        },
        "nodeset": {
          "readOnly": true,
          "description": "Output only. The ID of the nodeset this node belongs to.",
          "type": "string"
        }
      },
      "type": "object",
      "id": "SlurmNodeDetails"
    },
    "CreateFilestoreInstance": {
      "description": "When set in OperationStep, indicates that a new filestore instance should be created.",
      "type": "object",
      "id": "CreateFilestoreInstance",
      "properties": {
        "filestore": {
          "description": "Output only. Name of the Filestore instance, in the format `projects/{project}/locations/{location}/instances/{instance}`",
          "type": "string",
          "readOnly": true
        }
      }
    },
    "ComputeEngineNodeDetails": {
      "type": "object",
      "id": "ComputeEngineNodeDetails",
      "description": "Compute Engine-specific details for a Node.",
      "properties": {
        "machineType": {
          "description": "Output only. Name of the Compute Engine [machine type](https://cloud.google.com/compute/docs/machine-resource) to use, e.g. `n2-standard-2`.",
          "readOnly": true,
          "type": "string"
        },
        "instance": {
          "description": "Output only. [Relative resource name](https://google.aip.dev/122) of the VM instance, in the format `projects/{project}/zones/{zone}/instances/{instance}`.",
          "readOnly": true,
          "type": "string"
        },
        "instanceGroupManager": {
          "description": "Output only. [Relative resource name](https://google.aip.dev/122) of the managed instance group, in the format `projects/{project}/zones/{zone}/instanceGroupManagers/{instance_group_manager}`. or `projects/{project}/regions/{region}/instanceGroupManagers/{instance_group_manager}`",
          "type": "string",
          "readOnly": true
        },
        "state": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. The Compute Engine VM [instance lifecycle state](https://cloud.google.com/compute/docs/instances/instance-lifecycle)."
        }
      }
    },
    "NewBucketConfig": {
      "id": "NewBucketConfig",
      "properties": {
        "storageClass": {
          "type": "string",
          "enum": [
            "STORAGE_CLASS_UNSPECIFIED",
            "STANDARD",
            "NEARLINE",
            "COLDLINE",
            "ARCHIVE",
            "RAPID"
          ],
          "enumDescriptions": [
            "Not set.",
            "Best for data that is frequently accessed.",
            "Low-cost storage for data that is accessed less frequently.",
            "Very low-cost storage for infrequently accessed data.",
            "Lowest-cost storage for data archiving, online backup, and disaster recovery.",
            "Storage class optimized for I/O intensive workloads."
          ],
          "description": "Optional. Immutable. If set, uses the provided storage class as the bucket's default storage class."
        },
        "hierarchicalNamespace": {
          "$ref": "GcsHierarchicalNamespaceConfig",
          "description": "Optional. Immutable. If set, indicates that the bucket should use [hierarchical namespaces](https://cloud.google.com/storage/docs/hns-overview)."
        },
        "bucket": {
          "description": "Required. Immutable. Name of the Cloud Storage bucket to create.",
          "type": "string"
        },
        "autoclass": {
          "description": "Optional. Immutable. If set, indicates that the bucket should use [Autoclass](https://cloud.google.com/storage/docs/autoclass).",
          "$ref": "GcsAutoclassConfig"
        }
      },
      "type": "object",
      "description": "When set in a StorageResourceConfig, indicates that a new [Google Cloud Storage](https://cloud.google.com/storage) bucket should be created."
    },
    "UpdateLoginNode": {
      "properties": {},
      "type": "object",
      "description": "When set in OperationStep, indicates that a login node should be updated.",
      "id": "UpdateLoginNode"
    },
    "ComputeResource": {
      "type": "object",
      "description": "A resource defining how virtual machines and accelerators should be provisioned for the cluster.",
      "id": "ComputeResource",
      "properties": {
        "config": {
          "description": "Required. Immutable. Configuration for this compute resource, which describes how it should be created at runtime.",
          "$ref": "ComputeResourceConfig"
        }
      }
    },
    "Node": {
      "description": "A resource representing a compute node managed by Cluster Director.",
      "properties": {
        "computeEngineDetails": {
          "description": "Output only. Compute Engine-specific details for the node.",
          "readOnly": true,
          "$ref": "ComputeEngineNodeDetails"
        },
        "createTime": {
          "format": "google-datetime",
          "readOnly": true,
          "type": "string",
          "description": "Output only. Time that the node was originally created."
        },
        "name": {
          "type": "string",
          "description": "Identifier. [Relative resource name](https://google.aip.dev/122) of the node, in the format `projects/{project}/locations/{location}/clusters/{cluster}/nodes/{node}`."
        },
        "updateTime": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. Time that the node was most recently updated.",
          "format": "google-datetime"
        },
        "zone": {
          "description": "Output only. Name of the zone in which the node is running, e.g. `us-central1-a`.",
          "readOnly": true,
          "type": "string"
        },
        "stateMessage": {
          "readOnly": true,
          "description": "Output only. Human-readable message providing extra information about the current state.",
          "type": "string"
        },
        "state": {
          "type": "string",
          "enum": [
            "STATE_UNSPECIFIED",
            "CREATING",
            "ACTIVE",
            "SUSPENDING",
            "SUSPENDED",
            "REPAIRING",
            "FAILED",
            "DELETING",
            "UNPROVISIONED"
          ],
          "readOnly": true,
          "enumDescriptions": [
            "Not set.",
            "The node is being provisioned at the infrastructure layer or initialized by the orchestrator.",
            "The node is healthy and operational.",
            "The node is transitioning to a stopped or suspended state.",
            "The node is suspended or stopped and not consuming compute resources.",
            "The node is undergoing maintenance or automatic recovery.",
            "The node is in an unhealthy or terminal error state.",
            "The node is being deleted.",
            "The node has no VM assigned to it."
          ],
          "description": "Output only. High-level lifecycle state of the node."
        },
        "slurmDetails": {
          "description": "Output only. Slurm-specific details for the node.",
          "readOnly": true,
          "$ref": "SlurmNodeDetails"
        },
        "runningJobs": {
          "type": "boolean",
          "description": "Output only. Indicates whether the node is currently executing workloads.",
          "readOnly": true
        },
        "acceptingJobs": {
          "description": "Output only. Indicates whether the node is available for new job allocations.",
          "readOnly": true,
          "type": "boolean"
        },
        "provisioningModel": {
          "readOnly": true,
          "description": "Output only. Provisioning model of the node.",
          "type": "string",
          "enum": [
            "PROVISIONING_MODEL_UNSPECIFIED",
            "ON_DEMAND",
            "SPOT",
            "RESERVATION_BOUND",
            "FLEX_START"
          ],
          "enumDescriptions": [
            "Not set.",
            "The node is provisioned on demand. User controlled runtime, no discounts.",
            "The node is provisioned as a spot VM. Heavily discounted, no guaranteed runtime.",
            "The node is provisioned as a reservation-bound VM. Bound to the lifecycle of the reservation in which it is provisioned.",
            "The node is provisioned as a flex-start VM. Has a limited runtime."
          ]
        }
      },
      "id": "Node",
      "type": "object"
    },
    "BootDisk": {
      "description": "A [Persistent disk](https://cloud.google.com/compute/docs/disks) used as the boot disk for a Compute Engine VM instance.",
      "properties": {
        "storagePools": {
          "items": {
            "type": "string"
          },
          "description": "Optional. The [storage pools](https://docs.cloud.google.com/compute/docs/disks/storage-pools) used for creating the boot disk, in the format: `projects/{project}/zones/{zone}/storagePools/{storage_pool}`. Currently, only one Hyperdisk Balanced storage pool is supported. The storage pool must reside in the same zone as the compute instance.",
          "type": "array"
        },
        "sizeGb": {
          "type": "string",
          "description": "Optional. The size of the disk in gigabytes (GB), which must be at least 40 GB.",
          "format": "int64"
        },
        "type": {
          "description": "Optional. [Persistent disk type](https://cloud.google.com/compute/docs/disks#disk-types), in the format `projects/{project}/zones/{zone}/diskTypes/{disk_type}`.",
          "type": "string"
        }
      },
      "type": "object",
      "id": "BootDisk"
    },
    "CreateNodeset": {
      "properties": {
        "nodesets": {
          "readOnly": true,
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "Output only. Name of the nodeset to create"
        }
      },
      "id": "CreateNodeset",
      "description": "When set in OperationStep, indicates that a nodeset should be created.",
      "type": "object"
    },
    "SlurmNodeSet": {
      "id": "SlurmNodeSet",
      "type": "object",
      "properties": {
        "storageConfigs": {
          "type": "array",
          "description": "Optional. How storage resources should be mounted on each compute node.",
          "items": {
            "$ref": "StorageConfig"
          }
        },
        "staticNodeCount": {
          "type": "string",
          "description": "Optional. Number of nodes to be statically created for this nodeset. The cluster will attempt to ensure that at least this many nodes exist at all times.",
          "format": "int64"
        },
        "computeId": {
          "type": "string",
          "description": "Required. The ID of the compute resource on which this nodeset runs. Must match a key in the cluster's compute_resources."
        },
        "computeInstance": {
          "$ref": "ComputeInstanceSlurmNodeSet",
          "description": "Optional. If set, indicates that the nodeset should be backed by Compute Engine instances."
        },
        "id": {
          "type": "string",
          "description": "Required. The ID for the nodeset, which allows it to be referenced by cluster partitions. The nodeset ID must start with a lowercase letter (`a`-`z`), use only lowercase letters or numbers, and contain up to 15 characters. For example, specify `nodeset001`."
        },
        "maxDynamicNodeCount": {
          "format": "int64",
          "type": "string",
          "description": "Optional. Controls how many additional nodes a cluster can bring online to handle workloads. Set this value to enable dynamic node creation and limit the number of additional nodes the cluster can bring online. Leave empty if you do not want the cluster to create nodes dynamically, and instead rely only on static nodes."
        }
      },
      "description": "Configuration for Slurm nodesets in the cluster. Nodesets are groups of compute nodes used by Slurm that are responsible for running workloads submitted to the cluster."
    },
    "CreateNetwork": {
      "description": "When set in OperationStep, indicates that a new network should be created.",
      "id": "CreateNetwork",
      "properties": {
        "network": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. Name of the network to create, in the format `projects/{project}/global/networks/{network}`."
        }
      },
      "type": "object"
    },
    "UpdatePartition": {
      "properties": {
        "partitions": {
          "readOnly": true,
          "description": "Output only. Name of the partition to update",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "description": "When set in OperationStep, indicates that a partition should be updated.",
      "id": "UpdatePartition",
      "type": "object"
    },
    "SlurmOrchestrator": {
      "id": "SlurmOrchestrator",
      "properties": {
        "partitions": {
          "items": {
            "$ref": "SlurmPartition"
          },
          "type": "array",
          "description": "Optional. Configuration for the Slurm partitions in your cluster. Each partition can contain one or more nodesets, and you can submit separate jobs on each partition. If you don't specify at least one partition in your cluster, you can't submit jobs to the cluster."
        },
        "prologBashScripts": {
          "items": {
            "type": "string"
          },
          "description": "Optional. Slurm [prolog scripts](https://slurm.schedmd.com/prolog_epilog.html), which will be executed by compute nodes before a node begins running a new job. Values must not be empty.",
          "type": "array"
        },
        "epilogBashScripts": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Optional. Slurm [epilog scripts](https://slurm.schedmd.com/prolog_epilog.html), which will be executed by compute nodes whenever a node finishes running a job. Values must not be empty."
        },
        "nodeSets": {
          "description": "Optional. Compute resource configuration for the Slurm nodesets in your cluster. If not specified, the cluster won't create any nodes.",
          "items": {
            "$ref": "SlurmNodeSet"
          },
          "type": "array"
        },
        "defaultPartition": {
          "description": "Optional. Default partition to use for submitted jobs that do not explicitly specify a partition. Required if and only if there is more than one partition, in which case it must match the id of one of the partitions.",
          "type": "string"
        },
        "loginNodes": {
          "$ref": "SlurmLoginNodes",
          "description": "Required. Configuration for login nodes, which allow users to access the cluster over SSH."
        }
      },
      "description": "When set in Orchestrator, indicates that the cluster should use [Slurm](https://slurm.schedmd.com/) as the orchestrator.",
      "type": "object"
    },
    "NewNetworkConfig": {
      "description": "When set in a NetworkResourceConfig, indicates that a new network should be created.",
      "type": "object",
      "properties": {
        "network": {
          "type": "string",
          "description": "Required. Immutable. Name of the network to create, in the format `projects/{project}/global/networks/{network}`."
        },
        "description": {
          "type": "string",
          "description": "Optional. Immutable. Description of the network. Maximum of 2048 characters."
        }
      },
      "id": "NewNetworkConfig"
    },
    "Cluster": {
      "id": "Cluster",
      "description": "A collection of virtual machines and connected resources forming a high-performance computing cluster capable of running large-scale, tightly coupled workloads. A cluster combines a set a compute resources that perform computations, storage resources that contain inputs and store outputs, an orchestrator that is responsible for assigning jobs to compute resources, and network resources that connect everything together.",
      "properties": {
        "name": {
          "type": "string",
          "description": "Identifier. [Relative resource name](https://google.aip.dev/122) of the cluster, in the format `projects/{project}/locations/{location}/clusters/{cluster}`."
        },
        "description": {
          "description": "Optional. A description for your cluster. You can use up to 2,048 characters.",
          "type": "string"
        },
        "orchestrator": {
          "$ref": "Orchestrator",
          "description": "Optional. Orchestrator that is responsible for scheduling and running jobs on the cluster."
        },
        "storageResources": {
          "type": "object",
          "description": "Optional. Storage resources available to the cluster. Keys specify the ID of the storage resource by which it can be referenced elsewhere, and must conform to [RFC-1034](https://datatracker.ietf.org/doc/html/rfc1034) (lower-case, alphanumeric, and at most 63 characters).",
          "additionalProperties": {
            "$ref": "StorageResource"
          }
        },
        "networkResources": {
          "description": "Optional. Network resources available to the cluster. Must contain exactly one value. Keys specify the ID of the network resource by which it can be referenced elsewhere, and must conform to [RFC-1034](https://datatracker.ietf.org/doc/html/rfc1034) (lower-case, alphanumeric, and at most 63 characters).",
          "type": "object",
          "additionalProperties": {
            "$ref": "NetworkResource"
          }
        },
        "uid": {
          "description": "Output only. The globally unique identifier for this Cluster.",
          "type": "string",
          "readOnly": true
        },
        "updateTime": {
          "description": "Output only. Time that the cluster was most recently updated.",
          "format": "google-datetime",
          "readOnly": true,
          "type": "string"
        },
        "reconciling": {
          "description": "Output only. Indicates whether changes to the cluster are currently in flight. If this is `true`, then the current state might not match the cluster's intended state.",
          "type": "boolean",
          "readOnly": true
        },
        "computeResources": {
          "description": "Optional. Compute resources available to the cluster. Keys specify the ID of the compute resource by which it can be referenced elsewhere, and must conform to [RFC-1034](https://datatracker.ietf.org/doc/html/rfc1034) (lower-case, alphanumeric, and at most 63 characters).",
          "additionalProperties": {
            "$ref": "ComputeResource"
          },
          "type": "object"
        },
        "createTime": {
          "description": "Output only. Time that the cluster was originally created.",
          "format": "google-datetime",
          "type": "string",
          "readOnly": true
        },
        "labels": {
          "type": "object",
          "description": "Optional. [Labels](https://cloud.google.com/compute/docs/labeling-resources) applied to the cluster. Labels can be used to organize clusters and to filter them in queries.",
          "additionalProperties": {
            "type": "string"
          }
        }
      },
      "type": "object"
    },
    "CreateStorageBucket": {
      "description": "When set in OperationStep, indicates that a new storage bucket should be created.",
      "properties": {
        "bucket": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. Name of the bucket."
        }
      },
      "id": "CreateStorageBucket",
      "type": "object"
    },
    "ListLocationsResponse": {
      "type": "object",
      "properties": {
        "nextPageToken": {
          "type": "string",
          "description": "The standard List next-page token."
        },
        "locations": {
          "type": "array",
          "items": {
            "$ref": "Location"
          },
          "description": "A list of locations that matches the specified filter in the request."
        }
      },
      "id": "ListLocationsResponse",
      "description": "The response message for Locations.ListLocations."
    },
    "CreateOrchestrator": {
      "id": "CreateOrchestrator",
      "description": "When set in OperationStep, indicates that an orchestrator should be created.",
      "properties": {},
      "type": "object"
    },
    "SlurmLoginNodes": {
      "type": "object",
      "properties": {
        "count": {
          "description": "Required. Number of login node instances to create.",
          "type": "string",
          "format": "int64"
        },
        "enableOsLogin": {
          "description": "Optional. Whether [OS Login](https://cloud.google.com/compute/docs/oslogin) should be enabled on login node instances.",
          "type": "boolean"
        },
        "instances": {
          "readOnly": true,
          "type": "array",
          "items": {
            "$ref": "ComputeInstance"
          },
          "description": "Output only. Information about the login node instances that were created in Compute Engine."
        },
        "bootDisk": {
          "$ref": "BootDisk",
          "description": "Optional. Boot disk for the login node."
        },
        "storageConfigs": {
          "type": "array",
          "description": "Optional. How storage resources should be mounted on each login node.",
          "items": {
            "$ref": "StorageConfig"
          }
        },
        "labels": {
          "description": "Optional. [Labels](https://cloud.google.com/compute/docs/labeling-resources) that should be applied to each login node instance.",
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "machineType": {
          "type": "string",
          "description": "Required. Name of the Compute Engine [machine type](https://cloud.google.com/compute/docs/machine-resource) to use for login nodes, e.g. `n2-standard-2`."
        },
        "zone": {
          "description": "Required. Name of the zone in which login nodes should run, e.g., `us-central1-a`. Must be in the same region as the cluster, and must match the zone of any other resources specified in the cluster.",
          "type": "string"
        },
        "enablePublicIps": {
          "description": "Optional. Whether login node instances should be assigned [external IP addresses](https://cloud.google.com/compute/docs/ip-addresses#externaladdresses).",
          "type": "boolean"
        },
        "networkTags": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "Optional. Network tags to be applied to each login node instance. A maximum of 64 network tags are allowed."
        },
        "startupScript": {
          "description": "Optional. [Startup script](https://cloud.google.com/compute/docs/instances/startup-scripts/linux) to be run on each login node instance. Max 256KB. The script must complete within the system-defined default timeout of 5 minutes. For tasks that require more time, consider running them in the background using methods such as `&` or `nohup`.",
          "type": "string"
        }
      },
      "description": "Configuration for Slurm [login nodes](https://slurm.schedmd.com/quickstart_admin.html#login) in the cluster. Login nodes are Compute Engine VM instances that allow users to access the cluster over SSH.",
      "id": "SlurmLoginNodes"
    },
    "StorageConfig": {
      "description": "Description of how a storage resource should be mounted on a VM instance.",
      "properties": {
        "id": {
          "description": "Required. ID of the storage resource to mount, which must match a key in the cluster's storage_resources.",
          "type": "string"
        },
        "localMount": {
          "description": "Required. A directory inside the VM instance's file system where the storage resource should be mounted (e.g., `/mnt/share`).",
          "type": "string"
        }
      },
      "type": "object",
      "id": "StorageConfig"
    },
    "Empty": {
      "type": "object",
      "id": "Empty",
      "properties": {},
      "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); }"
    },
    "CheckClusterHealth": {
      "id": "CheckClusterHealth",
      "type": "object",
      "description": "When set in OperationStep, indicates that cluster health check should be performed.",
      "properties": {}
    },
    "NetworkResource": {
      "type": "object",
      "description": "A resource representing a network that connects the various components of a cluster together.",
      "properties": {
        "network": {
          "readOnly": true,
          "description": "Output only. A reference to a network in Google Compute Engine.",
          "$ref": "NetworkReference"
        },
        "config": {
          "$ref": "NetworkResourceConfig",
          "description": "Immutable. Configuration for this network resource, which describes how it should be created or imported. This field only controls how the network resource is initially created or imported. Subsequent changes to the network resource should be made via the resource's API and will not be reflected in the configuration."
        }
      },
      "id": "NetworkResource"
    },
    "UpdateOrchestrator": {
      "id": "UpdateOrchestrator",
      "properties": {},
      "description": "When set in OperationStep, indicates that an orchestrator should be updated.",
      "type": "object"
    },
    "OperationStep": {
      "description": "Message describing the status of a single step in a cluster mutation long-running operation.",
      "id": "OperationStep",
      "properties": {
        "checkClusterHealth": {
          "$ref": "CheckClusterHealth",
          "description": "Output only. If set, indicates that cluster health check is part of the operation.",
          "readOnly": true
        },
        "deleteStorageBucket": {
          "description": "Output only. If set, indicates that Cloud Storage bucket deletion is part of the operation.",
          "readOnly": true,
          "$ref": "DeleteStorageBucket"
        },
        "state": {
          "enumDescriptions": [
            "Unspecified state.",
            "Initial state before step execution starts.",
            "Step execution is running in progress.",
            "Step execution is completed."
          ],
          "type": "string",
          "enum": [
            "STATE_UNSPECIFIED",
            "WAITING",
            "IN_PROGRESS",
            "DONE"
          ],
          "readOnly": true,
          "description": "Output only. State of the operation step."
        },
        "createNetwork": {
          "$ref": "CreateNetwork",
          "readOnly": true,
          "description": "Output only. If set, indicates that new network creation is part of the operation."
        },
        "deleteNodeset": {
          "$ref": "DeleteNodeset",
          "readOnly": true,
          "description": "Output only. If set, indicates that nodeset deletion is part of the operation."
        },
        "createStorageBucket": {
          "description": "Output only. If set, indicates that new Cloud Storage bucket creation is part of the operation.",
          "readOnly": true,
          "$ref": "CreateStorageBucket"
        },
        "deleteFilestoreInstance": {
          "$ref": "DeleteFilestoreInstance",
          "readOnly": true,
          "description": "Output only. If set, indicates that Filestore instance deletion is part of the operation."
        },
        "updatePartition": {
          "readOnly": true,
          "description": "Output only. If set, indicates that partition update is part of the operation.",
          "$ref": "UpdatePartition"
        },
        "updateLoginNode": {
          "description": "Output only. If set, indicates that login node update is part of the operation.",
          "readOnly": true,
          "$ref": "UpdateLoginNode"
        },
        "createPartition": {
          "readOnly": true,
          "description": "Output only. If set, indicates that new partition creation is part of the operation.",
          "$ref": "CreatePartition"
        },
        "deletePartition": {
          "$ref": "DeletePartition",
          "description": "Output only. If set, indicates that partition deletion is part of the operation.",
          "readOnly": true
        },
        "createPrivateServiceAccess": {
          "readOnly": true,
          "$ref": "CreatePrivateServiceAccess",
          "description": "Output only. If set, indicates that new private service access creation is part of the operation."
        },
        "createNodeset": {
          "description": "Output only. If set, indicates that new nodeset creation is part of the operation.",
          "$ref": "CreateNodeset",
          "readOnly": true
        },
        "deleteLoginNode": {
          "description": "Output only. If set, indicates that login node deletion is part of the operation.",
          "$ref": "DeleteLoginNode",
          "readOnly": true
        },
        "createFilestoreInstance": {
          "readOnly": true,
          "description": "Output only. If set, indicates that new Filestore instance creation is part of the operation.",
          "$ref": "CreateFilestoreInstance"
        },
        "deleteOrchestrator": {
          "readOnly": true,
          "$ref": "DeleteOrchestrator",
          "description": "Output only. If set, indicates that orchestrator deletion is part of the operation."
        },
        "createLoginNode": {
          "description": "Output only. If set, indicates that new login node creation is part of the operation.",
          "readOnly": true,
          "$ref": "CreateLoginNode"
        },
        "deletePrivateServiceAccess": {
          "description": "Output only. If set, indicates that private service access deletion is part of the operation.",
          "$ref": "DeletePrivateServiceAccess",
          "readOnly": true
        },
        "updateOrchestrator": {
          "$ref": "UpdateOrchestrator",
          "readOnly": true,
          "description": "Output only. If set, indicates that an orchestrator update is part of the operation."
        },
        "deleteLustreInstance": {
          "description": "Output only. If set, indicates that Lustre instance deletion is part of the operation.",
          "readOnly": true,
          "$ref": "DeleteLustreInstance"
        },
        "deleteNetwork": {
          "readOnly": true,
          "$ref": "DeleteNetwork",
          "description": "Output only. If set, indicates that network deletion is part of the operation."
        },
        "createOrchestrator": {
          "$ref": "CreateOrchestrator",
          "description": "Output only. If set, indicates that orchestrator creation is part of the operation.",
          "readOnly": true
        },
        "createLustreInstance": {
          "readOnly": true,
          "$ref": "CreateLustreInstance",
          "description": "Output only. If set, indicates that new Lustre instance creation is part of the operation."
        },
        "updateNodeset": {
          "$ref": "UpdateNodeset",
          "description": "Output only. If set, indicates that nodeset update is part of the operation.",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "Location": {
      "description": "A resource that represents a Google Cloud location.",
      "type": "object",
      "properties": {
        "labels": {
          "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}",
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "metadata": {
          "type": "object",
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          },
          "description": "Service-specific metadata. For example the available capacity at the given location."
        },
        "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"
        },
        "name": {
          "type": "string",
          "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`"
        }
      },
      "id": "Location"
    },
    "ListClustersResponse": {
      "id": "ListClustersResponse",
      "type": "object",
      "properties": {
        "clusters": {
          "items": {
            "$ref": "Cluster"
          },
          "type": "array",
          "description": "Clusters in the specified location."
        },
        "nextPageToken": {
          "description": "A token that can be sent as `page_token` to retrieve the next page. If this field is absent, there are no subsequent pages.",
          "type": "string"
        },
        "unreachable": {
          "type": "array",
          "description": "Locations that could not be reached.",
          "items": {
            "type": "string"
          }
        }
      },
      "description": "Response message for ListClusters."
    },
    "Orchestrator": {
      "id": "Orchestrator",
      "description": "The component responsible for scheduling and running workloads on the cluster as well as providing the user interface for interacting with the cluster at runtime.",
      "type": "object",
      "properties": {
        "slurm": {
          "description": "Optional. If set, indicates that the cluster should use Slurm as the orchestrator.",
          "$ref": "SlurmOrchestrator"
        }
      }
    },
    "NewFilestoreConfig": {
      "type": "object",
      "id": "NewFilestoreConfig",
      "properties": {
        "tier": {
          "type": "string",
          "enum": [
            "TIER_UNSPECIFIED",
            "ZONAL",
            "REGIONAL"
          ],
          "enumDescriptions": [
            "Not set.",
            "Offers expanded capacity and performance scaling capabilities suitable for high-performance computing application requirements.",
            "Offers features and availability needed for mission-critical, high-performance computing workloads."
          ],
          "description": "Required. Immutable. Service tier to use for the instance."
        },
        "description": {
          "description": "Optional. Immutable. Description of the instance. Maximum of 2048 characters.",
          "type": "string"
        },
        "filestore": {
          "description": "Required. Immutable. Name of the Filestore instance to create, in the format `projects/{project}/locations/{location}/instances/{instance}`.",
          "type": "string"
        },
        "protocol": {
          "enumDescriptions": [
            "Not set.",
            "NFS 3.0.",
            "NFS 4.1."
          ],
          "description": "Optional. Immutable. Access protocol to use for all file shares in the instance. Defaults to NFS V3 if not set.",
          "type": "string",
          "enum": [
            "PROTOCOL_UNSPECIFIED",
            "NFSV3",
            "NFSV41"
          ]
        },
        "fileShares": {
          "description": "Required. Immutable. File system shares on the instance. Exactly one file share must be specified.",
          "type": "array",
          "items": {
            "$ref": "FileShareConfig"
          }
        }
      },
      "description": "When set in a StorageResourceConfig, indicates that a new [Filestore](https://cloud.google.com/filestore) instance should be created."
    },
    "ListOperationsResponse": {
      "type": "object",
      "description": "The response message for Operations.ListOperations.",
      "id": "ListOperationsResponse",
      "properties": {
        "nextPageToken": {
          "type": "string",
          "description": "The standard List next-page token."
        },
        "unreachable": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "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."
        },
        "operations": {
          "description": "A list of operations that matches the specified filter in the request.",
          "type": "array",
          "items": {
            "$ref": "Operation"
          }
        }
      }
    },
    "NewSpotInstancesConfig": {
      "description": "When set in a ComputeResourceConfig, indicates that [spot VM](https://cloud.google.com/compute/docs/instances/spot) instances should be created.",
      "properties": {
        "zone": {
          "type": "string",
          "description": "Required. Immutable. Name of the zone in which VM instances should run, e.g., `us-central1-a`. Must be in the same region as the cluster, and must match the zone of any other resources specified in the cluster."
        },
        "networkTags": {
          "items": {
            "type": "string"
          },
          "description": "Optional. Immutable. A list of network tags to attach to the VM instances. A maximum of 64 network tags are allowed.",
          "type": "array"
        },
        "terminationAction": {
          "type": "string",
          "enum": [
            "TERMINATION_ACTION_UNSPECIFIED",
            "STOP",
            "DELETE"
          ],
          "description": "Optional. Termination action for the instance. If not specified, Compute Engine sets the termination action to DELETE.",
          "enumDescriptions": [
            "Not set.",
            "Compute Engine stops the Spot VM on preemption.",
            "Compute Engine deletes the Spot VM on preemption."
          ]
        },
        "machineType": {
          "type": "string",
          "description": "Required. Immutable. Name of the Compute Engine [machine type](https://cloud.google.com/compute/docs/machine-resource) to use, e.g. `n2-standard-2`."
        }
      },
      "id": "NewSpotInstancesConfig",
      "type": "object"
    },
    "DeleteLustreInstance": {
      "id": "DeleteLustreInstance",
      "description": "When set in OperationStep, indicates that a Lustre instance should be deleted.",
      "type": "object",
      "properties": {
        "lustre": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. Name of the Managed Lustre instance, in the format `projects/{project}/locations/{location}/instances/{instance}`"
        }
      }
    },
    "LustreReference": {
      "type": "object",
      "properties": {
        "lustre": {
          "description": "Output only. Name of the Managed Lustre instance, in the format `projects/{project}/locations/{location}/instances/{instance}`",
          "readOnly": true,
          "type": "string"
        }
      },
      "id": "LustreReference",
      "description": "A reference to a [Managed Lustre](https://cloud.google.com/products/managed-lustre) instance."
    },
    "NewReservedInstancesConfig": {
      "description": "When set in a ComputeResourceConfig, indicates that VM instances should be created from a [reservation](https://cloud.google.com/compute/docs/instances/reservations-overview).",
      "properties": {
        "reservationBlock": {
          "type": "string",
          "description": "Optional. Immutable. Name of the reservation block from which VM instances should be created, in the format `projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks/{reservation_block}`."
        },
        "reservation": {
          "description": "Optional. Immutable. Name of the reservation from which VM instances should be created, in the format `projects/{project}/zones/{zone}/reservations/{reservation}`.",
          "type": "string"
        },
        "networkTags": {
          "type": "array",
          "description": "Optional. Immutable. A list of network tags to attach to the VM instances. A maximum of 64 network tags are allowed.",
          "items": {
            "type": "string"
          }
        },
        "reservationSubBlock": {
          "description": "Optional. Immutable. Name of the reservation sub block from which VM instances should be created, in the format `projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks/{reservation_block}/reservationSubBlocks/{reservation_sub_block}`.",
          "type": "string"
        }
      },
      "id": "NewReservedInstancesConfig",
      "type": "object"
    },
    "FileShareConfig": {
      "id": "FileShareConfig",
      "description": "Message describing filestore configuration",
      "type": "object",
      "properties": {
        "capacityGb": {
          "description": "Required. Size of the filestore in GB. Must be between 1024 and 102400, and must meet scalability requirements described at https://cloud.google.com/filestore/docs/service-tiers.",
          "format": "int64",
          "type": "string"
        },
        "fileShare": {
          "description": "Required. Filestore share location",
          "type": "string"
        }
      }
    },
    "NewLustreConfig": {
      "description": "When set in a StorageResourceConfig, indicates that a new [Managed Lustre](https://cloud.google.com/products/managed-lustre) instance should be created.",
      "type": "object",
      "id": "NewLustreConfig",
      "properties": {
        "perUnitStorageThroughput": {
          "description": "Optional. Immutable. Throughput of the instance in MB/s/TiB. Valid values are 125, 250, 500, 1000. See [Performance tiers and maximum storage capacities](https://cloud.google.com/managed-lustre/docs/create-instance#performance-tiers) for more information.",
          "type": "string",
          "format": "int64"
        },
        "filesystem": {
          "description": "Required. Immutable. Filesystem name for this instance. This name is used by client-side tools, including when mounting the instance. Must be 8 characters or less and can only contain letters and numbers.",
          "type": "string"
        },
        "capacityGb": {
          "format": "int64",
          "type": "string",
          "description": "Required. Immutable. Storage capacity of the instance in gibibytes (GiB). Allowed values are between 18000 and 7632000."
        },
        "lustre": {
          "type": "string",
          "description": "Required. Immutable. Name of the Managed Lustre instance to create, in the format `projects/{project}/locations/{location}/instances/{instance}`"
        },
        "description": {
          "description": "Optional. Immutable. Description of the Managed Lustre instance. Maximum of 2048 characters.",
          "type": "string"
        }
      }
    },
    "FilestoreReference": {
      "id": "FilestoreReference",
      "description": "A reference to a [Filestore](https://cloud.google.com/filestore) instance.",
      "type": "object",
      "properties": {
        "filestore": {
          "readOnly": true,
          "description": "Output only. Name of the Filestore instance, in the format `projects/{project}/locations/{location}/instances/{instance}`",
          "type": "string"
        }
      }
    },
    "Operation": {
      "id": "Operation",
      "properties": {
        "error": {
          "description": "The error result of the operation in case of failure or cancellation.",
          "$ref": "Status"
        },
        "response": {
          "type": "object",
          "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`.",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          }
        },
        "name": {
          "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.",
          "type": "string"
        },
        "metadata": {
          "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."
        },
        "done": {
          "type": "boolean",
          "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available."
        }
      },
      "type": "object",
      "description": "This resource represents a long-running operation that is the result of a network API call."
    },
    "CreatePrivateServiceAccess": {
      "description": "When set in OperationStep, indicates that a new private service access should be created.",
      "type": "object",
      "properties": {},
      "id": "CreatePrivateServiceAccess"
    },
    "NetworkResourceConfig": {
      "type": "object",
      "id": "NetworkResourceConfig",
      "properties": {
        "existingNetwork": {
          "description": "Optional. Immutable. If set, indicates that an existing network should be imported.",
          "$ref": "ExistingNetworkConfig"
        },
        "newNetwork": {
          "$ref": "NewNetworkConfig",
          "description": "Optional. Immutable. If set, indicates that a new network should be created."
        }
      },
      "description": "Describes how a network resource should be initialized. Each network resource can either be imported from an existing Google Cloud resource or initialized when the cluster is created."
    },
    "ExistingBucketConfig": {
      "type": "object",
      "properties": {
        "bucket": {
          "description": "Required. Immutable. Name of the Cloud Storage bucket to import.",
          "type": "string"
        }
      },
      "description": "When set in a StorageResourceConfig, indicates that an existing [Google Cloud Storage](https://cloud.google.com/storage) bucket should be imported.",
      "id": "ExistingBucketConfig"
    },
    "GcsHierarchicalNamespaceConfig": {
      "id": "GcsHierarchicalNamespaceConfig",
      "properties": {
        "enabled": {
          "description": "Required. Enables hierarchical namespace setup for the bucket.",
          "type": "boolean"
        }
      },
      "type": "object",
      "description": "Message describing Google Cloud Storage hierarchical namespace configuration"
    }
  },
  "ownerName": "Google",
  "discoveryVersion": "v1",
  "version_module": true,
  "fullyEncodeReservedExpansion": true,
  "parameters": {
    "$.xgafv": {
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "location": "query",
      "type": "string",
      "enum": [
        "1",
        "2"
      ],
      "description": "V1 error format."
    },
    "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"
    },
    "callback": {
      "description": "JSONP",
      "type": "string",
      "location": "query"
    },
    "fields": {
      "location": "query",
      "type": "string",
      "description": "Selector specifying which fields to include in a partial response."
    },
    "upload_protocol": {
      "type": "string",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "location": "query"
    },
    "uploadType": {
      "location": "query",
      "type": "string",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\")."
    },
    "oauth_token": {
      "type": "string",
      "description": "OAuth 2.0 token for the current user.",
      "location": "query"
    },
    "quotaUser": {
      "type": "string",
      "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.",
      "location": "query"
    },
    "alt": {
      "description": "Data format for response.",
      "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",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "location": "query",
      "default": "json"
    },
    "access_token": {
      "type": "string",
      "description": "OAuth access token.",
      "location": "query"
    },
    "prettyPrint": {
      "type": "boolean",
      "description": "Returns response with indentations and line breaks.",
      "default": "true",
      "location": "query"
    }
  },
  "version": "v1beta",
  "protocol": "rest",
  "endpoints": [
    {
      "endpointUrl": "https://hypercomputecluster.us-east1.rep.googleapis.com/",
      "description": "Regional Endpoint",
      "location": "us-east1"
    },
    {
      "endpointUrl": "https://hypercomputecluster.us-east4.rep.googleapis.com/",
      "location": "us-east4",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://hypercomputecluster.us-east5.rep.googleapis.com/",
      "location": "us-east5",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://hypercomputecluster.us-south1.rep.googleapis.com/",
      "description": "Regional Endpoint",
      "location": "us-south1"
    },
    {
      "description": "Regional Endpoint",
      "location": "us-west1",
      "endpointUrl": "https://hypercomputecluster.us-west1.rep.googleapis.com/"
    },
    {
      "description": "Regional Endpoint",
      "location": "us-west2",
      "endpointUrl": "https://hypercomputecluster.us-west2.rep.googleapis.com/"
    },
    {
      "description": "Regional Endpoint",
      "location": "us-west3",
      "endpointUrl": "https://hypercomputecluster.us-west3.rep.googleapis.com/"
    },
    {
      "description": "Regional Endpoint",
      "location": "us-west4",
      "endpointUrl": "https://hypercomputecluster.us-west4.rep.googleapis.com/"
    },
    {
      "endpointUrl": "https://hypercomputecluster.us-central1.rep.googleapis.com/",
      "location": "us-central1",
      "description": "Regional Endpoint"
    }
  ],
  "baseUrl": "https://hypercomputecluster.googleapis.com/",
  "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."
        }
      }
    }
  },
  "mtlsRootUrl": "https://hypercomputecluster.mtls.googleapis.com/",
  "revision": "20261028",
  "description": "The Cluster Director API lets you deploy, manage, and monitor clusters that run artificial intelligence (AI), machine learning (ML), or high performance computing (HPC) workloads.",
  "canonicalName": "Hypercompute Cluster",
  "ownerDomain": "google.com",
  "documentationLink": "https://docs.cloud.google.com/cluster-director/docs"
}
