blob: fecfe4e7fad46395bf1ea1cf38bc13912911cf51 [file] [log] [blame]
{
"auth": {
"oauth2": {
"scopes": {
"https://www.googleapis.com/auth/cloud-platform": {
"description": "See, edit, configure, and delete your Google Cloud Platform data"
}
}
}
},
"basePath": "",
"baseUrl": "https://baremetalsolution.googleapis.com/",
"batchPath": "batch",
"description": "Provides ways to manage Bare Metal Solution hardware installed in a regional extension located near a Google Cloud data center.",
"discoveryVersion": "v1",
"documentationLink": "https://cloud.google.com/bare-metal",
"fullyEncodeReservedExpansion": true,
"icons": {
"x16": "http://www.google.com/images/icons/product/search-16.gif",
"x32": "http://www.google.com/images/icons/product/search-32.gif"
},
"id": "baremetalsolution:v1alpha1",
"kind": "discovery#restDescription",
"mtlsRootUrl": "https://baremetalsolution.mtls.googleapis.com/",
"name": "baremetalsolution",
"ownerDomain": "google.com",
"ownerName": "Google",
"parameters": {
"$.xgafv": {
"description": "V1 error format.",
"enum": [
"1",
"2"
],
"enumDescriptions": [
"v1 error format",
"v2 error format"
],
"location": "query",
"type": "string"
},
"access_token": {
"description": "OAuth access token.",
"location": "query",
"type": "string"
},
"alt": {
"default": "json",
"description": "Data format for response.",
"enum": [
"json",
"media",
"proto"
],
"enumDescriptions": [
"Responses with Content-Type of application/json",
"Media download with context-dependent Content-Type",
"Responses with Content-Type of application/x-protobuf"
],
"location": "query",
"type": "string"
},
"callback": {
"description": "JSONP",
"location": "query",
"type": "string"
},
"fields": {
"description": "Selector specifying which fields to include in a partial response.",
"location": "query",
"type": "string"
},
"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.",
"location": "query",
"type": "string"
},
"oauth_token": {
"description": "OAuth 2.0 token for the current user.",
"location": "query",
"type": "string"
},
"prettyPrint": {
"default": "true",
"description": "Returns response with indentations and line breaks.",
"location": "query",
"type": "boolean"
},
"quotaUser": {
"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",
"type": "string"
},
"uploadType": {
"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
"location": "query",
"type": "string"
},
"upload_protocol": {
"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
"location": "query",
"type": "string"
}
},
"protocol": "rest",
"resources": {
"projects": {
"resources": {
"locations": {
"methods": {
"submitProvisioningConfig": {
"description": "Submit a provisiong configuration for a given project.",
"flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}:submitProvisioningConfig",
"httpMethod": "POST",
"id": "baremetalsolution.projects.locations.submitProvisioningConfig",
"parameterOrder": [
"project",
"location"
],
"parameters": {
"location": {
"description": "Required. The target location of the provisioning request.",
"location": "path",
"pattern": "^locations/[^/]+$",
"required": true,
"type": "string"
},
"project": {
"description": "Required. The target project of the provisioning request.",
"location": "path",
"pattern": "^projects/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1alpha1/{+project}/{+location}:submitProvisioningConfig",
"request": {
"$ref": "SubmitProvisioningConfigRequest"
},
"response": {
"$ref": "ProvisioningConfig"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
},
"resources": {
"instances": {
"methods": {
"disableInteractiveSerialConsole": {
"description": "Disable the interactive serial console feature on a specific machine.",
"flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:disableInteractiveSerialConsole",
"httpMethod": "POST",
"id": "baremetalsolution.projects.locations.instances.disableInteractiveSerialConsole",
"parameterOrder": [
"instance"
],
"parameters": {
"instance": {
"description": "Required. Name of the instance to disable the interactive serial console feature on.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1alpha1/{+instance}:disableInteractiveSerialConsole",
"request": {
"$ref": "DisableInteractiveSerialConsoleRequest"
},
"response": {
"$ref": "DisableInteractiveSerialConsoleResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"enableInteractiveSerialConsole": {
"description": "Enable the interactive serial console feature on a specific machine.",
"flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:enableInteractiveSerialConsole",
"httpMethod": "POST",
"id": "baremetalsolution.projects.locations.instances.enableInteractiveSerialConsole",
"parameterOrder": [
"instance"
],
"parameters": {
"instance": {
"description": "Required. Name of the instance to enable the interactive serial console feature on.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1alpha1/{+instance}:enableInteractiveSerialConsole",
"request": {
"$ref": "EnableInteractiveSerialConsoleRequest"
},
"response": {
"$ref": "EnableInteractiveSerialConsoleResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"get": {
"description": "Get details for a specific named Instance.",
"flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}",
"httpMethod": "GET",
"id": "baremetalsolution.projects.locations.instances.get",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Required. The name of the Instance to retrieve.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1alpha1/{+name}",
"response": {
"$ref": "Instance"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"list": {
"description": "List Instances (physical servers).",
"flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/instances",
"httpMethod": "GET",
"id": "baremetalsolution.projects.locations.instances.list",
"parameterOrder": [
"parent"
],
"parameters": {
"pageSize": {
"description": "The maximum number of items to return.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "The next_page_token value returned from a previous List request, if any.",
"location": "query",
"type": "string"
},
"parent": {
"description": "Required. The location to list Instances in.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1alpha1/{+parent}/instances",
"response": {
"$ref": "ListInstancesResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"readSerialPortOutput": {
"description": "Read the most recent serial port output from a machine.",
"flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:readSerialPortOutput",
"httpMethod": "GET",
"id": "baremetalsolution.projects.locations.instances.readSerialPortOutput",
"parameterOrder": [
"instance"
],
"parameters": {
"instance": {
"description": "Required. Name of the instance to get serial port output of.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$",
"required": true,
"type": "string"
},
"startByte": {
"description": "Optional. The start byte of the serial port output to return.",
"format": "int64",
"location": "query",
"type": "string"
}
},
"path": "v1alpha1/{+instance}:readSerialPortOutput",
"response": {
"$ref": "SerialPortOutput"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"resetInstance": {
"description": "Perform an ungraceful, hard reset on a machine (equivalent to physically turning power off and then back on).",
"flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:resetInstance",
"httpMethod": "POST",
"id": "baremetalsolution.projects.locations.instances.resetInstance",
"parameterOrder": [
"instance"
],
"parameters": {
"instance": {
"description": "Required. Name of the instance to reset.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1alpha1/{+instance}:resetInstance",
"request": {
"$ref": "ResetInstanceRequest"
},
"response": {
"$ref": "ResetInstanceResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
},
"luns": {
"methods": {
"get": {
"description": "Get details for a specific named Lun.",
"flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/luns/{lunsId}",
"httpMethod": "GET",
"id": "baremetalsolution.projects.locations.luns.get",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Required. The name of the Lun to retrieve.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/luns/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1alpha1/{+name}",
"response": {
"$ref": "Lun"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"list": {
"description": "List Luns.",
"flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/luns",
"httpMethod": "GET",
"id": "baremetalsolution.projects.locations.luns.list",
"parameterOrder": [
"parent"
],
"parameters": {
"pageSize": {
"description": "The maximum number of items to return.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "The next_page_token value returned from a previous List request, if any.",
"location": "query",
"type": "string"
},
"parent": {
"description": "Required. The location to list Luns in.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1alpha1/{+parent}/luns",
"response": {
"$ref": "ListLunsResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
},
"volumes": {
"methods": {
"get": {
"description": "Get details for a specific named Volume.",
"flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}",
"httpMethod": "GET",
"id": "baremetalsolution.projects.locations.volumes.get",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Required. The name of the Volume to retrieve.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1alpha1/{+name}",
"response": {
"$ref": "Volume"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"list": {
"description": "List the volumes for the specified project",
"flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/volumes",
"httpMethod": "GET",
"id": "baremetalsolution.projects.locations.volumes.list",
"parameterOrder": [
"parent"
],
"parameters": {
"pageSize": {
"description": "The maximum number of items to return.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "The next_page_token value returned from a previous List request, if any.",
"location": "query",
"type": "string"
},
"parent": {
"description": "Required. The location to list Volumes in.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1alpha1/{+parent}/volumes",
"response": {
"$ref": "ListVolumesResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"patch": {
"description": "Update certain parameters on a Volume.",
"flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}",
"httpMethod": "PATCH",
"id": "baremetalsolution.projects.locations.volumes.patch",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Output only. The name of this Volume.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$",
"required": true,
"type": "string"
},
"updateMask": {
"description": "The list of fields to update. The only currently supported field is `snapshot_reserved_space_percent`.",
"format": "google-fieldmask",
"location": "query",
"type": "string"
}
},
"path": "v1alpha1/{+name}",
"request": {
"$ref": "Volume"
},
"response": {
"$ref": "Volume"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"setVolumeSnapshotSchedulePolicy": {
"description": "Sets the specified snapshot schedule policy on the specified volume.",
"flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}:setVolumeSnapshotSchedulePolicy",
"httpMethod": "POST",
"id": "baremetalsolution.projects.locations.volumes.setVolumeSnapshotSchedulePolicy",
"parameterOrder": [
"volume"
],
"parameters": {
"volume": {
"description": "Required. Name of the volume to set snapshot schedule policy on.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1alpha1/{+volume}:setVolumeSnapshotSchedulePolicy",
"request": {
"$ref": "SetVolumeSnapshotSchedulePolicyRequest"
},
"response": {
"$ref": "SetVolumeSnapshotSchedulePolicyResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
},
"resources": {
"snapshots": {
"methods": {
"create": {
"description": "Create snapshot of the specified Volume",
"flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/snapshots",
"httpMethod": "POST",
"id": "baremetalsolution.projects.locations.volumes.snapshots.create",
"parameterOrder": [
"parent"
],
"parameters": {
"parent": {
"description": "Required. The Volume containing the VolumeSnapshots.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1alpha1/{+parent}/snapshots",
"request": {
"$ref": "VolumeSnapshot"
},
"response": {
"$ref": "VolumeSnapshot"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"delete": {
"description": "Delete specific named snapshot.",
"flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/snapshots/{snapshotsId}",
"httpMethod": "DELETE",
"id": "baremetalsolution.projects.locations.volumes.snapshots.delete",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Required. The name of the snapshot to delete.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/snapshots/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1alpha1/{+name}",
"response": {
"$ref": "Empty"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"get": {
"description": "Get details for a specific named snapshot.",
"flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/snapshots/{snapshotsId}",
"httpMethod": "GET",
"id": "baremetalsolution.projects.locations.volumes.snapshots.get",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Required. The name of the snapshot to retrieve.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/snapshots/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1alpha1/{+name}",
"response": {
"$ref": "VolumeSnapshot"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"list": {
"description": "List the Snapshots for the specified Volume",
"flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/snapshots",
"httpMethod": "GET",
"id": "baremetalsolution.projects.locations.volumes.snapshots.list",
"parameterOrder": [
"parent"
],
"parameters": {
"pageSize": {
"description": "The maximum number of items to return.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "The next_page_token value returned from a previous List request, if any.",
"location": "query",
"type": "string"
},
"parent": {
"description": "Required. The Volume containing the VolumeSnapshots.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1alpha1/{+parent}/snapshots",
"response": {
"$ref": "ListVolumeSnapshotsResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"restore": {
"description": "Restore a VolumeSnapshot.",
"flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/snapshots/{snapshotsId}:restore",
"httpMethod": "POST",
"id": "baremetalsolution.projects.locations.volumes.snapshots.restore",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Required. Name of the VolumeSnapshot to restore.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/snapshots/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1alpha1/{+name}:restore",
"request": {
"$ref": "RestoreVolumeSnapshotRequest"
},
"response": {
"$ref": "Empty"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
}
}
}
}
},
"provisioningQuotas": {
"methods": {
"list": {
"description": "List the budget details to provision resources on a given project.",
"flatPath": "v1alpha1/projects/{projectsId}/provisioningQuotas",
"httpMethod": "GET",
"id": "baremetalsolution.projects.provisioningQuotas.list",
"parameterOrder": [
"parent"
],
"parameters": {
"pageSize": {
"description": "The maximum number of items to return.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "The next_page_token value returned from a previous List request, if any.",
"location": "query",
"type": "string"
},
"parent": {
"description": "Required. The parent project containing the provisioning quotas.",
"location": "path",
"pattern": "^projects/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1alpha1/{+parent}/provisioningQuotas",
"response": {
"$ref": "ListProvisioningQuotasResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
},
"snapshotSchedulePolicies": {
"methods": {
"create": {
"description": "Create a SnapshotSchedulePolicy.",
"flatPath": "v1alpha1/projects/{projectsId}/snapshotSchedulePolicies",
"httpMethod": "POST",
"id": "baremetalsolution.projects.snapshotSchedulePolicies.create",
"parameterOrder": [
"parent"
],
"parameters": {
"parent": {
"description": "Required. The parent project containing the SnapshotSchedulePolicy.",
"location": "path",
"pattern": "^projects/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1alpha1/{+parent}/snapshotSchedulePolicies",
"request": {
"$ref": "SnapshotSchedulePolicy"
},
"response": {
"$ref": "SnapshotSchedulePolicy"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"delete": {
"description": "Delete removes named snapshot schedule policy",
"flatPath": "v1alpha1/projects/{projectsId}/snapshotSchedulePolicies/{snapshotSchedulePoliciesId}",
"httpMethod": "DELETE",
"id": "baremetalsolution.projects.snapshotSchedulePolicies.delete",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Required. The name of the snapshot to delete.",
"location": "path",
"pattern": "^projects/[^/]+/snapshotSchedulePolicies/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1alpha1/{+name}",
"response": {
"$ref": "Empty"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"get": {
"description": "Get details for a specific snapshot schedule policy",
"flatPath": "v1alpha1/projects/{projectsId}/snapshotSchedulePolicies/{snapshotSchedulePoliciesId}",
"httpMethod": "GET",
"id": "baremetalsolution.projects.snapshotSchedulePolicies.get",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Required. The name of the policy to retrieve.",
"location": "path",
"pattern": "^projects/[^/]+/snapshotSchedulePolicies/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1alpha1/{+name}",
"response": {
"$ref": "SnapshotSchedulePolicy"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"list": {
"description": "List the snapshot schedule policies for the specified project",
"flatPath": "v1alpha1/projects/{projectsId}/snapshotSchedulePolicies",
"httpMethod": "GET",
"id": "baremetalsolution.projects.snapshotSchedulePolicies.list",
"parameterOrder": [
"parent"
],
"parameters": {
"pageSize": {
"description": "The maximum number of items to return.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "The next_page_token value returned from a previous List request, if any.",
"location": "query",
"type": "string"
},
"parent": {
"description": "Required. The parent project containing the Snapshot Schedule Policies.",
"location": "path",
"pattern": "^projects/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1alpha1/{+parent}/snapshotSchedulePolicies",
"response": {
"$ref": "ListSnapshotSchedulePoliciesResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"patch": {
"description": "Update a SnapshotSchedulePolicy.",
"flatPath": "v1alpha1/projects/{projectsId}/snapshotSchedulePolicies/{snapshotSchedulePoliciesId}",
"httpMethod": "PATCH",
"id": "baremetalsolution.projects.snapshotSchedulePolicies.patch",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Output only. The name of this SnapshotSchedulePolicy.",
"location": "path",
"pattern": "^projects/[^/]+/snapshotSchedulePolicies/[^/]+$",
"required": true,
"type": "string"
},
"updateMask": {
"description": "The list of fields to update.",
"format": "google-fieldmask",
"location": "query",
"type": "string"
}
},
"path": "v1alpha1/{+name}",
"request": {
"$ref": "SnapshotSchedulePolicy"
},
"response": {
"$ref": "SnapshotSchedulePolicy"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
},
"sshKeys": {
"methods": {
"create": {
"description": "Create a new SSH key registration in the specified project.",
"flatPath": "v1alpha1/projects/{projectsId}/sshKeys",
"httpMethod": "POST",
"id": "baremetalsolution.projects.sshKeys.create",
"parameterOrder": [
"parent"
],
"parameters": {
"parent": {
"description": "Required. The parent project containing the SSH keys.",
"location": "path",
"pattern": "^projects/[^/]+$",
"required": true,
"type": "string"
},
"sshKeyId": {
"description": "Required. The ID to use for the key, which will become the final component of the key's resource name. This value should be match the regex: [a-zA-Z0-9@.\\-_]{1,64}",
"location": "query",
"type": "string"
}
},
"path": "v1alpha1/{+parent}/sshKeys",
"request": {
"$ref": "SSHKey"
},
"response": {
"$ref": "SSHKey"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"delete": {
"description": "Delete an SSH key registration in the specified project.",
"flatPath": "v1alpha1/projects/{projectsId}/sshKeys/{sshKeysId}",
"httpMethod": "DELETE",
"id": "baremetalsolution.projects.sshKeys.delete",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Required. The name of the SSH key to delete.",
"location": "path",
"pattern": "^projects/[^/]+/sshKeys/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1alpha1/{+name}",
"response": {
"$ref": "Empty"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"list": {
"description": "List the public SSH keys registered for the specified project.",
"flatPath": "v1alpha1/projects/{projectsId}/sshKeys",
"httpMethod": "GET",
"id": "baremetalsolution.projects.sshKeys.list",
"parameterOrder": [
"parent"
],
"parameters": {
"pageSize": {
"description": "The maximum number of items to return.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "The next_page_token value returned from a previous List request, if any.",
"location": "query",
"type": "string"
},
"parent": {
"description": "Required. The parent project containing the SSH keys.",
"location": "path",
"pattern": "^projects/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1alpha1/{+parent}/sshKeys",
"response": {
"$ref": "ListSSHKeysResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
}
}
}
},
"revision": "20210701",
"rootUrl": "https://baremetalsolution.googleapis.com/",
"schemas": {
"DisableInteractiveSerialConsoleRequest": {
"description": "Request for DisableInteractiveSerialConsole.",
"id": "DisableInteractiveSerialConsoleRequest",
"properties": {},
"type": "object"
},
"DisableInteractiveSerialConsoleResponse": {
"description": "Response for DisableInteractiveSerialConsole.",
"id": "DisableInteractiveSerialConsoleResponse",
"properties": {},
"type": "object"
},
"Empty": {
"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.",
"id": "Empty",
"properties": {},
"type": "object"
},
"EnableInteractiveSerialConsoleRequest": {
"description": "Request for EnableInteractiveSerialConsole.",
"id": "EnableInteractiveSerialConsoleRequest",
"properties": {},
"type": "object"
},
"EnableInteractiveSerialConsoleResponse": {
"description": "Response for EnableInteractiveSerialConsole.",
"id": "EnableInteractiveSerialConsoleResponse",
"properties": {},
"type": "object"
},
"Instance": {
"description": "An Instance.",
"id": "Instance",
"properties": {
"hyperthreadingEnabled": {
"description": "Is hyperthreading enabled for this instance?",
"type": "boolean"
},
"luns": {
"description": "The Luns attached to this instance",
"items": {
"$ref": "Lun"
},
"type": "array"
},
"name": {
"description": "Output only. The name of this Instance.",
"readOnly": true,
"type": "string"
},
"scheduledPowerResetTime": {
"description": "The scheduled power reset time.",
"format": "google-datetime",
"type": "string"
},
"sshEnabled": {
"description": "Is SSH enabled for this instance?",
"type": "boolean"
},
"state": {
"description": "The state of this Instance.",
"enum": [
"STATE_UNSPECIFIED",
"RESERVED",
"PROVISIONING",
"PROVISIONED",
"DEPROVISIONING",
"DEPROVISIONED",
"UPDATING"
],
"enumDescriptions": [
"The unspecified state.",
"The Instance has been reserved.",
"The Instance is being provisioned.",
"The Instance has been provisioned.",
"The Instance is being deprovisioned.",
"The Instance has been deprovisioned.",
"The Instance is being updated."
],
"type": "string"
}
},
"type": "object"
},
"InstanceConfig": {
"description": "Configuration parameters for a new instance.",
"id": "InstanceConfig",
"properties": {
"clientNetwork": {
"$ref": "NetworkAddress",
"description": "Client network address."
},
"hyperthreading": {
"description": "Whether the instance should be provisioned with Hyperthreading enabled.",
"type": "boolean"
},
"id": {
"description": "A transient unique identifier to idenfity an instance within an ProvisioningConfig request.",
"type": "string"
},
"instanceType": {
"description": "Instance type.",
"type": "string"
},
"location": {
"description": "Location where to deploy the instance.",
"type": "string"
},
"osImage": {
"description": "OS image to initialize the instance.",
"type": "string"
},
"privateNetwork": {
"$ref": "NetworkAddress",
"description": "Private network address, if any."
}
},
"type": "object"
},
"InstanceQuota": {
"description": "A resource budget.",
"id": "InstanceQuota",
"properties": {
"availableMachineCount": {
"description": "Number of machines than can be created for the given location and instance_type.",
"format": "int32",
"type": "integer"
},
"instanceType": {
"description": "Instance type.",
"type": "string"
},
"location": {
"description": "Location where the quota applies.",
"type": "string"
}
},
"type": "object"
},
"ListInstancesResponse": {
"description": "Response for ListInstances.",
"id": "ListInstancesResponse",
"properties": {
"instances": {
"description": "The Instances in this project.",
"items": {
"$ref": "Instance"
},
"type": "array"
},
"nextPageToken": {
"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.",
"type": "string"
}
},
"type": "object"
},
"ListLunsResponse": {
"description": "Response for ListLuns.",
"id": "ListLunsResponse",
"properties": {
"luns": {
"description": "The Luns in this project.",
"items": {
"$ref": "Lun"
},
"type": "array"
},
"nextPageToken": {
"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.",
"type": "string"
}
},
"type": "object"
},
"ListProvisioningQuotasResponse": {
"description": "Response for ListProvisioningQuotas.",
"id": "ListProvisioningQuotasResponse",
"properties": {
"nextPageToken": {
"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.",
"type": "string"
},
"provisioningQuotas": {
"description": "The provisioning quotas registered in this project.",
"items": {
"$ref": "ProvisioningQuota"
},
"type": "array"
}
},
"type": "object"
},
"ListSSHKeysResponse": {
"description": "Response for ListSSHKeys.",
"id": "ListSSHKeysResponse",
"properties": {
"nextPageToken": {
"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.",
"type": "string"
},
"sshKeys": {
"description": "The SSH keys registered in this project.",
"items": {
"$ref": "SSHKey"
},
"type": "array"
}
},
"type": "object"
},
"ListSnapshotSchedulePoliciesResponse": {
"description": "Response for ListSnapshotSchedulePolicies.",
"id": "ListSnapshotSchedulePoliciesResponse",
"properties": {
"nextPageToken": {
"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.",
"type": "string"
},
"snapshotSchedulePolicies": {
"description": "The snapshot schedule policies registered in this project.",
"items": {
"$ref": "SnapshotSchedulePolicy"
},
"type": "array"
}
},
"type": "object"
},
"ListVolumeSnapshotsResponse": {
"description": "Response for ListVolumeSnapshots.",
"id": "ListVolumeSnapshotsResponse",
"properties": {
"nextPageToken": {
"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.",
"type": "string"
},
"volumeSnapshots": {
"description": "The VolumeSnapshots for the volume.",
"items": {
"$ref": "VolumeSnapshot"
},
"type": "array"
}
},
"type": "object"
},
"ListVolumesResponse": {
"description": "Response for ListVolumes.",
"id": "ListVolumesResponse",
"properties": {
"nextPageToken": {
"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.",
"type": "string"
},
"volumes": {
"description": "The volumes registered in this project.",
"items": {
"$ref": "Volume"
},
"type": "array"
}
},
"type": "object"
},
"Lun": {
"description": "A storage Lun.",
"id": "Lun",
"properties": {
"isBoot": {
"description": "Whether this Lun is a boot Lun.",
"type": "boolean"
},
"multiprotocolType": {
"description": "The multiprotocol type of this Lun.",
"type": "string"
},
"name": {
"description": "Output only. The name of this Lun.",
"readOnly": true,
"type": "string"
},
"remoteVolume": {
"$ref": "Volume",
"description": "The storage volume that this Lun is attached to."
},
"shareable": {
"description": "Whether this Lun is allowed to be shared between multiple physical servers.",
"type": "boolean"
},
"sizeGb": {
"description": "The size of this Lun, in gigabytes.",
"format": "int64",
"type": "string"
},
"state": {
"description": "The state of this Lun.",
"enum": [
"STATE_UNSPECIFIED",
"RESERVED",
"PROVISIONING",
"PROVISIONED",
"DEPROVISIONING",
"DEPROVISIONED",
"UPDATING"
],
"enumDescriptions": [
"The unspecified state.",
"The Lun has been reserved.",
"The Lun is being provisioned.",
"The Lun has been provisioned.",
"The Lun is being deprovisioned.",
"The Lun has been deprovisioned.",
"The Lun is being updated."
],
"type": "string"
}
},
"type": "object"
},
"LunRange": {
"description": "A LUN range.",
"id": "LunRange",
"properties": {
"quantity": {
"description": "Number of LUNs to create.",
"format": "int32",
"type": "integer"
},
"sizeGb": {
"description": "The requested size of each LUN, in GB.",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"NetworkAddress": {
"description": "A network.",
"id": "NetworkAddress",
"properties": {
"address": {
"description": "IP address to be assigned to the server.",
"type": "string"
},
"networkId": {
"description": "Id of the network to use, within the same ProvisioningConfig request.",
"type": "string"
}
},
"type": "object"
},
"NetworkConfig": {
"description": "Configuration parameters for a new network.",
"id": "NetworkConfig",
"properties": {
"bandwidth": {
"description": "Interconnect bandwidth. Set only when type is CLIENT.",
"enum": [
"BANDWIDTH_UNSPECIFIED",
"BW_1_GBPS",
"BW_2_GBPS",
"BW_5_GBPS",
"BW_10_GBPS"
],
"enumDescriptions": [
"Unspecified value.",
"1 Gbps.",
"2 Gbps.",
"5 Gbps.",
"10 Gbps."
],
"type": "string"
},
"cidr": {
"description": "CIDR range of the network.",
"type": "string"
},
"id": {
"description": "A transient unique identifier to identify a volume within an ProvisioningConfig request.",
"type": "string"
},
"location": {
"description": "Location where to deploy the network.",
"type": "string"
},
"serviceCidr": {
"description": "Service CIDR, if any.",
"enum": [
"SERVICE_CIDR_UNSPECIFIED",
"DISABLED",
"HIGH_26",
"HIGH_27",
"HIGH_28"
],
"enumDescriptions": [
"Unspecified value.",
"Services are disabled for the given network.",
"Use the highest /26 block of the network to host services.",
"Use the highest /27 block of the network to host services.",
"Use the highest /28 block of the network to host services."
],
"type": "string"
},
"type": {
"description": "The type of this network.",
"enum": [
"TYPE_UNSPECIFIED",
"CLIENT",
"PRIVATE"
],
"enumDescriptions": [
"Unspecified value.",
"Client network, that is a network peered to a GCP VPC.",
"Private network, that is a network local to the BMS POD."
],
"type": "string"
},
"vlanAttachments": {
"description": "List of VLAN attachments. As of now there are always 2 attachments, but it is going to change in the future (multi vlan).",
"items": {
"$ref": "VlanAttachment"
},
"type": "array"
}
},
"type": "object"
},
"NfsExport": {
"description": "A NFS export entry.",
"id": "NfsExport",
"properties": {
"allowDev": {
"description": "Allow dev.",
"type": "boolean"
},
"allowSuid": {
"description": "Allow the setuid flag.",
"type": "boolean"
},
"cidr": {
"description": "A CIDR range.",
"type": "string"
},
"machineId": {
"description": "A single machine, identified by an ID.",
"type": "string"
},
"networkId": {
"description": "Network to use to publish the export.",
"type": "string"
},
"noRootSquash": {
"description": "Disable root squashing.",
"type": "boolean"
},
"permissions": {
"description": "Export permissions.",
"enum": [
"PERMISSIONS_UNSPECIFIED",
"READ_ONLY",
"READ_WRITE"
],
"enumDescriptions": [
"Unspecified value.",
"Read-only permission.",
"Read-write permission."
],
"type": "string"
}
},
"type": "object"
},
"ProvisioningConfig": {
"description": "An provisioning configuration.",
"id": "ProvisioningConfig",
"properties": {
"instances": {
"description": "Instances to be created.",
"items": {
"$ref": "InstanceConfig"
},
"type": "array"
},
"networks": {
"description": "Networks to be created.",
"items": {
"$ref": "NetworkConfig"
},
"type": "array"
},
"ticketId": {
"description": "A reference to track the request.",
"type": "string"
},
"volumes": {
"description": "Volumes to be created.",
"items": {
"$ref": "VolumeConfig"
},
"type": "array"
}
},
"type": "object"
},
"ProvisioningQuota": {
"description": "A provisioning quota for a given project.",
"id": "ProvisioningQuota",
"properties": {
"instanceQuota": {
"$ref": "InstanceQuota",
"description": "Instance quota."
}
},
"type": "object"
},
"ResetInstanceRequest": {
"description": "Request for ResetInstance.",
"id": "ResetInstanceRequest",
"properties": {},
"type": "object"
},
"ResetInstanceResponse": {
"description": "Response for ResetInstance.",
"id": "ResetInstanceResponse",
"properties": {},
"type": "object"
},
"RestoreVolumeSnapshotRequest": {
"description": "Request for RestoreVolumeSnapshot.",
"id": "RestoreVolumeSnapshotRequest",
"properties": {},
"type": "object"
},
"SSHKey": {
"description": "A public SSH key registered in the project. Used primarily for the interactive serial console feature.",
"id": "SSHKey",
"properties": {
"name": {
"description": "Output only. The name of this SSH key.",
"readOnly": true,
"type": "string"
},
"publicKey": {
"description": "The public SSH key.",
"type": "string"
}
},
"type": "object"
},
"Schedule": {
"description": "A snapshot schedule.",
"id": "Schedule",
"properties": {
"crontabSpec": {
"description": "The crontab-like specification that this Schedule will use to take snapshots.",
"type": "string"
},
"prefix": {
"description": "A string to prefix names of snapshots created under this Schedule.",
"type": "string"
},
"retentionCount": {
"description": "The maximum number of snapshots to retain under this Schedule.",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"SerialPortOutput": {
"description": "Response for ReadSerialPortOutput.",
"id": "SerialPortOutput",
"properties": {
"contents": {
"description": "The serial port output.",
"type": "string"
},
"nextStartByte": {
"description": "The byte index to use in a subsequent call to ReadSerialPortOutput to get more output.",
"format": "int64",
"type": "string"
},
"start": {
"description": "The start byte index of the included contents.",
"format": "int64",
"type": "string"
}
},
"type": "object"
},
"SetVolumeSnapshotSchedulePolicyRequest": {
"description": "Request for SetVolumeSnapshotSchedulePolicy.",
"id": "SetVolumeSnapshotSchedulePolicyRequest",
"properties": {
"snapshotSchedulePolicy": {
"description": "Required. The name of the policy to set on the volume.",
"type": "string"
}
},
"type": "object"
},
"SetVolumeSnapshotSchedulePolicyResponse": {
"description": "Response for SetVolumeSnapshotSchedulePolicy.",
"id": "SetVolumeSnapshotSchedulePolicyResponse",
"properties": {},
"type": "object"
},
"SnapshotSchedulePolicy": {
"description": "A snapshot schedule policy.",
"id": "SnapshotSchedulePolicy",
"properties": {
"description": {
"description": "The description of this SnapshotSchedulePolicy.",
"type": "string"
},
"name": {
"description": "Output only. The name of this SnapshotSchedulePolicy.",
"readOnly": true,
"type": "string"
},
"schedules": {
"description": "The snapshot Schedules contained in this Policy. At most 5 Schedules may be specified.",
"items": {
"$ref": "Schedule"
},
"type": "array"
},
"volumes": {
"description": "The names of the Volumes this policy is associated with.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"SubmitProvisioningConfigRequest": {
"description": "Request for SubmitProvisioningConfig.",
"id": "SubmitProvisioningConfigRequest",
"properties": {
"provisioningConfig": {
"$ref": "ProvisioningConfig",
"description": "Required. The ProvisioningConfig to submit."
}
},
"type": "object"
},
"VlanAttachment": {
"description": "A GCP vlan attachment.",
"id": "VlanAttachment",
"properties": {
"id": {
"description": "Identifier of the VLAN attachment.",
"type": "string"
},
"pairingKey": {
"description": "Attachment pairing key.",
"type": "string"
}
},
"type": "object"
},
"Volume": {
"description": "Volume registered in the project.",
"id": "Volume",
"properties": {
"autoGrownSizeGb": {
"description": "The size, in GB, that this Volume has expanded as a result of an auto grow policy.",
"format": "int64",
"type": "string"
},
"currentSizeGb": {
"description": "The current size of this Volume, in GB, including space reserved for snapshots. This size may be different than the requested size if the Volume has been configured with auto grow or auto shrink.",
"format": "int64",
"type": "string"
},
"name": {
"description": "Output only. The name of this Volume.",
"readOnly": true,
"type": "string"
},
"remainingSpaceGb": {
"description": "The space remaining in the Volume for new LUNs, in GB, excluding space reserved for snapshots.",
"format": "int64",
"type": "string"
},
"requestedSizeGb": {
"description": "The requested size of this Volume, in GB.",
"format": "int64",
"type": "string"
},
"snapshotReservedSpacePercent": {
"description": "The percent of space on this Volume reserved for snapshots.",
"format": "int32",
"type": "integer"
},
"snapshotReservedSpaceRemainingGb": {
"description": "The amount, in GB, of space available in this Volume's reserved snapshot space.",
"format": "int64",
"type": "string"
},
"snapshotReservedSpaceUsedPercent": {
"description": "The percent of reserved snapshot space on this Volume that is actually used by snapshot copies. This may be higher than 100% if snapshot copies are occupying more space than has been reserved on the Volume.",
"format": "int32",
"type": "integer"
},
"state": {
"description": "The state of this Volume.",
"enum": [
"STATE_UNSPECIFIED",
"PROVISIONED",
"DEPROVISIONING_REQUESTED",
"DEPROVISIONING_COOLOFF"
],
"enumDescriptions": [
"The unspecified state.",
"The Volume has been provisioned.",
"The Volume has been requested to be deprovisioned.",
"The Volume is in deprovisioning cooloff: a deprovisioning has been requested, but data has not yet been deleted."
],
"type": "string"
},
"type": {
"description": "The type of this Volume.",
"enum": [
"TYPE_UNSPECIFIED",
"FLASH",
"DISK"
],
"enumDescriptions": [
"The unspecified type.",
"This Volume is on flash.",
"This Volume is on disk."
],
"type": "string"
}
},
"type": "object"
},
"VolumeConfig": {
"description": "Configuration parameters for a new volume.",
"id": "VolumeConfig",
"properties": {
"id": {
"description": "A transient unique identifier to identify a volume within an ProvisioningConfig request.",
"type": "string"
},
"location": {
"description": "Location where to deploy the volume.",
"type": "string"
},
"lunRanges": {
"description": "LUN ranges to be configured. Set only when protocol is PROTOCOL_FC.",
"items": {
"$ref": "LunRange"
},
"type": "array"
},
"machineIds": {
"description": "Machine ids connected to this volume. Set only when protocol is PROTOCOL_FC.",
"items": {
"type": "string"
},
"type": "array"
},
"nfsExports": {
"description": "NFS exports. Set only when protocol is PROTOCOL_NFS.",
"items": {
"$ref": "NfsExport"
},
"type": "array"
},
"protocol": {
"description": "Volume protocol.",
"enum": [
"PROTOCOL_UNSPECIFIED",
"PROTOCOL_FC",
"PROTOCOL_NFS"
],
"enumDescriptions": [
"Unspecified value.",
"Fibre channel.",
"Network file system."
],
"type": "string"
},
"sizeGb": {
"description": "The requested size of this volume, in GB. This will be updated in a later iteration with a generic size field.",
"format": "int32",
"type": "integer"
},
"snapshotsEnabled": {
"description": "Whether snapshots should be enabled.",
"type": "boolean"
},
"type": {
"description": "The type of this Volume.",
"enum": [
"TYPE_UNSPECIFIED",
"FLASH",
"DISK"
],
"enumDescriptions": [
"The unspecified type.",
"This Volume is on flash.",
"This Volume is on disk."
],
"type": "string"
}
},
"type": "object"
},
"VolumeSnapshot": {
"description": "VolumeSnapshot registered for given Volume",
"id": "VolumeSnapshot",
"properties": {
"description": {
"description": "The description of this Snapshot.",
"type": "string"
},
"name": {
"description": "Output only. The name of this Snapshot.",
"readOnly": true,
"type": "string"
},
"sizeBytes": {
"description": "The real size of this Snapshot, in bytes.",
"format": "int64",
"type": "string"
},
"state": {
"description": "The state of this Snapshot.",
"enum": [
"STATE_UNSPECIFIED",
"CREATING",
"ACTIVE"
],
"enumDescriptions": [
"The unspecified state.",
"The Snapshot is currently being created.",
"The Snapshot has been created, and can be used to restore."
],
"type": "string"
}
},
"type": "object"
}
},
"servicePath": "",
"title": "Bare Metal Solution API",
"version": "v1alpha1",
"version_module": true
}