{
"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."
}
}
}
},
"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"
]
}
}
},
"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"
]
}
}
}
}
}
},
"revision": "20220829",
"rootUrl": "https://baremetalsolution.googleapis.com/",
"schemas": {
"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."
},
"userNote": {
"description": "User note field, it can be used by customers to add additional information for the BMS Ops team (b/194021617).",
"type": "string"
}
},
"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"
},
"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"
},
"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"
},
"existingNetworkId": {
"description": "Name of the existing network to use. Will be of the format at--vlan for pre-intake UI networks like for eg, at-123456-vlan001 or any user-defined name like for eg, my-network-name for networks provisioned using intake UI. The field is exclusively filled only in case of an already existing network. Mutually exclusive with network_id.",
"type": "string"
},
"networkId": {
"description": "Name of the network to use, within the same ProvisioningConfig request. This represents a new network being provisioned in the same request. Can have any user-defined name like for eg, my-network-name. Mutually exclusive with existing_network_id.",
"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"
},
"userNote": {
"description": "User note field, it can be used by customers to add additional information for the BMS Ops team (b/194021617).",
"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": "Either a single machine, identified by an ID, or a comma-separated list of machine IDs.",
"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"
},
"SubmitProvisioningConfigRequest": {
"description": "Request for SubmitProvisioningConfig.",
"id": "SubmitProvisioningConfigRequest",
"properties": {
"email": {
"description": "Optional. Email provided to send a confirmation with provisioning config to.",
"type": "string"
},
"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"
},
"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"
},
"userNote": {
"description": "User note field, it can be used by customers to add additional information for the BMS Ops team (b/194021617).",
"type": "string"
}
},
"type": "object"
}
},
"servicePath": "",
"title": "Bare Metal Solution API",
"version": "v1alpha1",
"version_module": true
}