...

Text file src/google.golang.org/api/baremetalsolution/v1alpha1/baremetalsolution-api.json

Documentation: google.golang.org/api/baremetalsolution/v1alpha1

     1{
     2  "auth": {
     3    "oauth2": {
     4      "scopes": {
     5        "https://www.googleapis.com/auth/cloud-platform": {
     6          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
     7        }
     8      }
     9    }
    10  },
    11  "basePath": "",
    12  "baseUrl": "https://baremetalsolution.googleapis.com/",
    13  "batchPath": "batch",
    14  "description": "Provides ways to manage Bare Metal Solution hardware installed in a regional extension located near a Google Cloud data center.",
    15  "discoveryVersion": "v1",
    16  "documentationLink": "https://cloud.google.com/bare-metal",
    17  "fullyEncodeReservedExpansion": true,
    18  "icons": {
    19    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    20    "x32": "http://www.google.com/images/icons/product/search-32.gif"
    21  },
    22  "id": "baremetalsolution:v1alpha1",
    23  "kind": "discovery#restDescription",
    24  "mtlsRootUrl": "https://baremetalsolution.mtls.googleapis.com/",
    25  "name": "baremetalsolution",
    26  "ownerDomain": "google.com",
    27  "ownerName": "Google",
    28  "parameters": {
    29    "$.xgafv": {
    30      "description": "V1 error format.",
    31      "enum": [
    32        "1",
    33        "2"
    34      ],
    35      "enumDescriptions": [
    36        "v1 error format",
    37        "v2 error format"
    38      ],
    39      "location": "query",
    40      "type": "string"
    41    },
    42    "access_token": {
    43      "description": "OAuth access token.",
    44      "location": "query",
    45      "type": "string"
    46    },
    47    "alt": {
    48      "default": "json",
    49      "description": "Data format for response.",
    50      "enum": [
    51        "json",
    52        "media",
    53        "proto"
    54      ],
    55      "enumDescriptions": [
    56        "Responses with Content-Type of application/json",
    57        "Media download with context-dependent Content-Type",
    58        "Responses with Content-Type of application/x-protobuf"
    59      ],
    60      "location": "query",
    61      "type": "string"
    62    },
    63    "callback": {
    64      "description": "JSONP",
    65      "location": "query",
    66      "type": "string"
    67    },
    68    "fields": {
    69      "description": "Selector specifying which fields to include in a partial response.",
    70      "location": "query",
    71      "type": "string"
    72    },
    73    "key": {
    74      "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.",
    75      "location": "query",
    76      "type": "string"
    77    },
    78    "oauth_token": {
    79      "description": "OAuth 2.0 token for the current user.",
    80      "location": "query",
    81      "type": "string"
    82    },
    83    "prettyPrint": {
    84      "default": "true",
    85      "description": "Returns response with indentations and line breaks.",
    86      "location": "query",
    87      "type": "boolean"
    88    },
    89    "quotaUser": {
    90      "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.",
    91      "location": "query",
    92      "type": "string"
    93    },
    94    "uploadType": {
    95      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
    96      "location": "query",
    97      "type": "string"
    98    },
    99    "upload_protocol": {
   100      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
   101      "location": "query",
   102      "type": "string"
   103    }
   104  },
   105  "protocol": "rest",
   106  "resources": {
   107    "projects": {
   108      "resources": {
   109        "locations": {
   110          "methods": {
   111            "submitProvisioningConfig": {
   112              "description": "Submit a provisiong configuration for a given project.",
   113              "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}:submitProvisioningConfig",
   114              "httpMethod": "POST",
   115              "id": "baremetalsolution.projects.locations.submitProvisioningConfig",
   116              "parameterOrder": [
   117                "project",
   118                "location"
   119              ],
   120              "parameters": {
   121                "location": {
   122                  "description": "Required. The target location of the provisioning request.",
   123                  "location": "path",
   124                  "pattern": "^locations/[^/]+$",
   125                  "required": true,
   126                  "type": "string"
   127                },
   128                "project": {
   129                  "description": "Required. The target project of the provisioning request.",
   130                  "location": "path",
   131                  "pattern": "^projects/[^/]+$",
   132                  "required": true,
   133                  "type": "string"
   134                }
   135              },
   136              "path": "v1alpha1/{+project}/{+location}:submitProvisioningConfig",
   137              "request": {
   138                "$ref": "SubmitProvisioningConfigRequest"
   139              },
   140              "response": {
   141                "$ref": "ProvisioningConfig"
   142              },
   143              "scopes": [
   144                "https://www.googleapis.com/auth/cloud-platform"
   145              ]
   146            }
   147          }
   148        },
   149        "provisioningQuotas": {
   150          "methods": {
   151            "list": {
   152              "description": "List the budget details to provision resources on a given project.",
   153              "flatPath": "v1alpha1/projects/{projectsId}/provisioningQuotas",
   154              "httpMethod": "GET",
   155              "id": "baremetalsolution.projects.provisioningQuotas.list",
   156              "parameterOrder": [
   157                "parent"
   158              ],
   159              "parameters": {
   160                "pageSize": {
   161                  "description": "The maximum number of items to return.",
   162                  "format": "int32",
   163                  "location": "query",
   164                  "type": "integer"
   165                },
   166                "pageToken": {
   167                  "description": "The next_page_token value returned from a previous List request, if any.",
   168                  "location": "query",
   169                  "type": "string"
   170                },
   171                "parent": {
   172                  "description": "Required. The parent project containing the provisioning quotas.",
   173                  "location": "path",
   174                  "pattern": "^projects/[^/]+$",
   175                  "required": true,
   176                  "type": "string"
   177                }
   178              },
   179              "path": "v1alpha1/{+parent}/provisioningQuotas",
   180              "response": {
   181                "$ref": "ListProvisioningQuotasResponse"
   182              },
   183              "scopes": [
   184                "https://www.googleapis.com/auth/cloud-platform"
   185              ]
   186            }
   187          }
   188        }
   189      }
   190    }
   191  },
   192  "revision": "20220209",
   193  "rootUrl": "https://baremetalsolution.googleapis.com/",
   194  "schemas": {
   195    "InstanceConfig": {
   196      "description": "Configuration parameters for a new instance.",
   197      "id": "InstanceConfig",
   198      "properties": {
   199        "clientNetwork": {
   200          "$ref": "NetworkAddress",
   201          "description": "Client network address."
   202        },
   203        "hyperthreading": {
   204          "description": "Whether the instance should be provisioned with Hyperthreading enabled.",
   205          "type": "boolean"
   206        },
   207        "id": {
   208          "description": "A transient unique identifier to idenfity an instance within an ProvisioningConfig request.",
   209          "type": "string"
   210        },
   211        "instanceType": {
   212          "description": "Instance type.",
   213          "type": "string"
   214        },
   215        "location": {
   216          "description": "Location where to deploy the instance.",
   217          "type": "string"
   218        },
   219        "osImage": {
   220          "description": "OS image to initialize the instance.",
   221          "type": "string"
   222        },
   223        "privateNetwork": {
   224          "$ref": "NetworkAddress",
   225          "description": "Private network address, if any."
   226        },
   227        "userNote": {
   228          "description": "User note field, it can be used by customers to add additional information for the BMS Ops team (b/194021617).",
   229          "type": "string"
   230        }
   231      },
   232      "type": "object"
   233    },
   234    "InstanceQuota": {
   235      "description": "A resource budget.",
   236      "id": "InstanceQuota",
   237      "properties": {
   238        "availableMachineCount": {
   239          "description": "Number of machines than can be created for the given location and instance_type.",
   240          "format": "int32",
   241          "type": "integer"
   242        },
   243        "instanceType": {
   244          "description": "Instance type.",
   245          "type": "string"
   246        },
   247        "location": {
   248          "description": "Location where the quota applies.",
   249          "type": "string"
   250        }
   251      },
   252      "type": "object"
   253    },
   254    "ListProvisioningQuotasResponse": {
   255      "description": "Response for ListProvisioningQuotas.",
   256      "id": "ListProvisioningQuotasResponse",
   257      "properties": {
   258        "nextPageToken": {
   259          "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.",
   260          "type": "string"
   261        },
   262        "provisioningQuotas": {
   263          "description": "The provisioning quotas registered in this project.",
   264          "items": {
   265            "$ref": "ProvisioningQuota"
   266          },
   267          "type": "array"
   268        }
   269      },
   270      "type": "object"
   271    },
   272    "LunRange": {
   273      "description": "A LUN range.",
   274      "id": "LunRange",
   275      "properties": {
   276        "quantity": {
   277          "description": "Number of LUNs to create.",
   278          "format": "int32",
   279          "type": "integer"
   280        },
   281        "sizeGb": {
   282          "description": "The requested size of each LUN, in GB.",
   283          "format": "int32",
   284          "type": "integer"
   285        }
   286      },
   287      "type": "object"
   288    },
   289    "NetworkAddress": {
   290      "description": "A network.",
   291      "id": "NetworkAddress",
   292      "properties": {
   293        "address": {
   294          "description": "IP address to be assigned to the server.",
   295          "type": "string"
   296        },
   297        "existingNetworkId": {
   298          "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.",
   299          "type": "string"
   300        },
   301        "networkId": {
   302          "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.",
   303          "type": "string"
   304        }
   305      },
   306      "type": "object"
   307    },
   308    "NetworkConfig": {
   309      "description": "Configuration parameters for a new network.",
   310      "id": "NetworkConfig",
   311      "properties": {
   312        "bandwidth": {
   313          "description": "Interconnect bandwidth. Set only when type is CLIENT.",
   314          "enum": [
   315            "BANDWIDTH_UNSPECIFIED",
   316            "BW_1_GBPS",
   317            "BW_2_GBPS",
   318            "BW_5_GBPS",
   319            "BW_10_GBPS"
   320          ],
   321          "enumDescriptions": [
   322            "Unspecified value.",
   323            "1 Gbps.",
   324            "2 Gbps.",
   325            "5 Gbps.",
   326            "10 Gbps."
   327          ],
   328          "type": "string"
   329        },
   330        "cidr": {
   331          "description": "CIDR range of the network.",
   332          "type": "string"
   333        },
   334        "id": {
   335          "description": "A transient unique identifier to identify a volume within an ProvisioningConfig request.",
   336          "type": "string"
   337        },
   338        "location": {
   339          "description": "Location where to deploy the network.",
   340          "type": "string"
   341        },
   342        "serviceCidr": {
   343          "description": "Service CIDR, if any.",
   344          "enum": [
   345            "SERVICE_CIDR_UNSPECIFIED",
   346            "DISABLED",
   347            "HIGH_26",
   348            "HIGH_27",
   349            "HIGH_28"
   350          ],
   351          "enumDescriptions": [
   352            "Unspecified value.",
   353            "Services are disabled for the given network.",
   354            "Use the highest /26 block of the network to host services.",
   355            "Use the highest /27 block of the network to host services.",
   356            "Use the highest /28 block of the network to host services."
   357          ],
   358          "type": "string"
   359        },
   360        "type": {
   361          "description": "The type of this network.",
   362          "enum": [
   363            "TYPE_UNSPECIFIED",
   364            "CLIENT",
   365            "PRIVATE"
   366          ],
   367          "enumDescriptions": [
   368            "Unspecified value.",
   369            "Client network, that is a network peered to a GCP VPC.",
   370            "Private network, that is a network local to the BMS POD."
   371          ],
   372          "type": "string"
   373        },
   374        "userNote": {
   375          "description": "User note field, it can be used by customers to add additional information for the BMS Ops team (b/194021617).",
   376          "type": "string"
   377        },
   378        "vlanAttachments": {
   379          "description": "List of VLAN attachments. As of now there are always 2 attachments, but it is going to change in the future (multi vlan).",
   380          "items": {
   381            "$ref": "VlanAttachment"
   382          },
   383          "type": "array"
   384        }
   385      },
   386      "type": "object"
   387    },
   388    "NfsExport": {
   389      "description": "A NFS export entry.",
   390      "id": "NfsExport",
   391      "properties": {
   392        "allowDev": {
   393          "description": "Allow dev.",
   394          "type": "boolean"
   395        },
   396        "allowSuid": {
   397          "description": "Allow the setuid flag.",
   398          "type": "boolean"
   399        },
   400        "cidr": {
   401          "description": "A CIDR range.",
   402          "type": "string"
   403        },
   404        "machineId": {
   405          "description": "Either a single machine, identified by an ID, or a comma-separated list of machine IDs.",
   406          "type": "string"
   407        },
   408        "networkId": {
   409          "description": "Network to use to publish the export.",
   410          "type": "string"
   411        },
   412        "noRootSquash": {
   413          "description": "Disable root squashing.",
   414          "type": "boolean"
   415        },
   416        "permissions": {
   417          "description": "Export permissions.",
   418          "enum": [
   419            "PERMISSIONS_UNSPECIFIED",
   420            "READ_ONLY",
   421            "READ_WRITE"
   422          ],
   423          "enumDescriptions": [
   424            "Unspecified value.",
   425            "Read-only permission.",
   426            "Read-write permission."
   427          ],
   428          "type": "string"
   429        }
   430      },
   431      "type": "object"
   432    },
   433    "ProvisioningConfig": {
   434      "description": "An provisioning configuration.",
   435      "id": "ProvisioningConfig",
   436      "properties": {
   437        "instances": {
   438          "description": "Instances to be created.",
   439          "items": {
   440            "$ref": "InstanceConfig"
   441          },
   442          "type": "array"
   443        },
   444        "networks": {
   445          "description": "Networks to be created.",
   446          "items": {
   447            "$ref": "NetworkConfig"
   448          },
   449          "type": "array"
   450        },
   451        "ticketId": {
   452          "description": "A reference to track the request.",
   453          "type": "string"
   454        },
   455        "volumes": {
   456          "description": "Volumes to be created.",
   457          "items": {
   458            "$ref": "VolumeConfig"
   459          },
   460          "type": "array"
   461        }
   462      },
   463      "type": "object"
   464    },
   465    "ProvisioningQuota": {
   466      "description": "A provisioning quota for a given project.",
   467      "id": "ProvisioningQuota",
   468      "properties": {
   469        "instanceQuota": {
   470          "$ref": "InstanceQuota",
   471          "description": "Instance quota."
   472        }
   473      },
   474      "type": "object"
   475    },
   476    "SubmitProvisioningConfigRequest": {
   477      "description": "Request for SubmitProvisioningConfig.",
   478      "id": "SubmitProvisioningConfigRequest",
   479      "properties": {
   480        "email": {
   481          "description": "Optional. Email provided to send a confirmation with provisioning config to.",
   482          "type": "string"
   483        },
   484        "provisioningConfig": {
   485          "$ref": "ProvisioningConfig",
   486          "description": "Required. The ProvisioningConfig to submit."
   487        }
   488      },
   489      "type": "object"
   490    },
   491    "VlanAttachment": {
   492      "description": "A GCP vlan attachment.",
   493      "id": "VlanAttachment",
   494      "properties": {
   495        "id": {
   496          "description": "Identifier of the VLAN attachment.",
   497          "type": "string"
   498        },
   499        "pairingKey": {
   500          "description": "Attachment pairing key.",
   501          "type": "string"
   502        }
   503      },
   504      "type": "object"
   505    },
   506    "VolumeConfig": {
   507      "description": "Configuration parameters for a new volume.",
   508      "id": "VolumeConfig",
   509      "properties": {
   510        "id": {
   511          "description": "A transient unique identifier to identify a volume within an ProvisioningConfig request.",
   512          "type": "string"
   513        },
   514        "location": {
   515          "description": "Location where to deploy the volume.",
   516          "type": "string"
   517        },
   518        "lunRanges": {
   519          "description": "LUN ranges to be configured. Set only when protocol is PROTOCOL_FC.",
   520          "items": {
   521            "$ref": "LunRange"
   522          },
   523          "type": "array"
   524        },
   525        "machineIds": {
   526          "description": "Machine ids connected to this volume. Set only when protocol is PROTOCOL_FC.",
   527          "items": {
   528            "type": "string"
   529          },
   530          "type": "array"
   531        },
   532        "nfsExports": {
   533          "description": "NFS exports. Set only when protocol is PROTOCOL_NFS.",
   534          "items": {
   535            "$ref": "NfsExport"
   536          },
   537          "type": "array"
   538        },
   539        "protocol": {
   540          "description": "Volume protocol.",
   541          "enum": [
   542            "PROTOCOL_UNSPECIFIED",
   543            "PROTOCOL_FC",
   544            "PROTOCOL_NFS"
   545          ],
   546          "enumDescriptions": [
   547            "Unspecified value.",
   548            "Fibre channel.",
   549            "Network file system."
   550          ],
   551          "type": "string"
   552        },
   553        "sizeGb": {
   554          "description": "The requested size of this volume, in GB. This will be updated in a later iteration with a generic size field.",
   555          "format": "int32",
   556          "type": "integer"
   557        },
   558        "snapshotsEnabled": {
   559          "description": "Whether snapshots should be enabled.",
   560          "type": "boolean"
   561        },
   562        "type": {
   563          "description": "The type of this Volume.",
   564          "enum": [
   565            "TYPE_UNSPECIFIED",
   566            "FLASH",
   567            "DISK"
   568          ],
   569          "enumDescriptions": [
   570            "The unspecified type.",
   571            "This Volume is on flash.",
   572            "This Volume is on disk."
   573          ],
   574          "type": "string"
   575        },
   576        "userNote": {
   577          "description": "User note field, it can be used by customers to add additional information for the BMS Ops team (b/194021617).",
   578          "type": "string"
   579        }
   580      },
   581      "type": "object"
   582    }
   583  },
   584  "servicePath": "",
   585  "title": "Bare Metal Solution API",
   586  "version": "v1alpha1",
   587  "version_module": true
   588}

View as plain text