---
title: "POST /v2/{+parent}/provisioningConfigs:submit"
method: POST
path: "/v2/{+parent}/provisioningConfigs:submit"
tags: ["projects"]
---

# POST /v2/{+parent}/provisioningConfigs:submit

`POST /v2/{+parent}/provisioningConfigs:submit`

Submit a provisioning configuration for a given project.

## Path parameters

- `parent` string, required

## Request body

- SubmitProvisioningConfigRequest — Request for SubmitProvisioningConfig.
  - `email` string — Optional. Email provided to send a confirmation with provisioning config to.
  - `provisioningConfig` ProvisioningConfig — A provisioning configuration.
    - `location` string — Optional. Location name of this ProvisioningConfig. It is optional only for Intake UI transition period.
    - `updateTime` string, google-datetime — Output only. Last update timestamp.
    - `networks` NetworkConfig[] — Networks to be created.
      - `serviceCidr` 'SERVICE_CIDR_UNSPECIFIED' | 'DISABLED' | 'HIGH_26' | 'HIGH_27' | 'HIGH_28' — Service CIDR, if any.
      - `name` string — Output only. The name of the network config.
      - `type` 'TYPE_UNSPECIFIED' | 'CLIENT' | 'PRIVATE' — The type of this network, either Client or Private.
      - `vlanAttachments` IntakeVlanAttachment[] — List of VLAN attachments. As of now there are always 2 attachments, but it is going to change in the future (multi vlan). Use only one of vlan_attachments or vrf
        - `id` string — Identifier of the VLAN attachment.
        - `pairingKey` string — Attachment pairing key.
      - `vrf` string — Optional. The name of a pre-existing Vrf that the network should be attached to. Format is `vrfs/{vrf}`. If vrf is specified, vlan_attachments must be empty.
      - `cidr` string — CIDR range of the network.
      - `gcpService` string — The GCP service of the network. Available gcp_service are in https://cloud.google.com/bare-metal/docs/bms-planning.
      - `id` string — A transient unique identifier to identify a volume within an ProvisioningConfig request.
      - `bandwidth` 'BANDWIDTH_UNSPECIFIED' | 'BW_1_GBPS' | 'BW_2_GBPS' | 'BW_5_GBPS' | 'BW_10_GBPS' — Interconnect bandwidth. Set only when type is CLIENT.
      - `vlanSameProject` boolean — Whether the VLAN attachment pair is located in the same project.
      - `jumboFramesEnabled` boolean — The JumboFramesEnabled option for customer to set.
      - `userNote` string — User note field, it can be used by customers to add additional information for the BMS Ops team .
    - `ticketId` string — A generated ticket id to track provisioning request.
    - `statusMessage` string — Optional status messages associated with the FAILED state.
    - `name` string — Output only. The system-generated name of the provisioning config. This follows the UUID format.
    - `state` 'STATE_UNSPECIFIED' | 'DRAFT' | 'SUBMITTED' | 'PROVISIONING' | 'PROVISIONED' | 'VALIDATED' | 'CANCELLED' | 'FAILED' — Output only. State of ProvisioningConfig.
    - `cloudConsoleUri` string — Output only. URI to Cloud Console UI view of this provisioning config.
    - `instances` InstanceConfig[] — Instances to be created.
      - `networkConfig` 'NETWORKCONFIG_UNSPECIFIED' | 'SINGLE_VLAN' | 'MULTI_VLAN' — The type of network configuration on the instance.
      - `clientNetwork` NetworkAddress — A network.
        - `address` string — IPv4 address to be assigned to the server.
        - `networkId` string — Id of the network to use, within the same ProvisioningConfig request.
        - `existingNetworkId` string — Name of the existing network to use.
      - `userNote` string — User note field, it can be used by customers to add additional information for the BMS Ops team .
      - `kmsKeyVersion` string — Name of the KMS crypto key version used to encrypt the initial passwords. The key has to have ASYMMETRIC_DECRYPT purpose.
      - `instanceType` string — Instance type. [Available types](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations)
      - `logicalInterfaces` GoogleCloudBaremetalsolutionV2LogicalInterface[] — List of logical interfaces for the instance. The number of logical interfaces will be the same as number of hardware bond/nic on the chosen network template. Filled if InstanceConfig.multivlan_config is true.
        - `logicalNetworkInterfaces` LogicalNetworkInterface[] — List of logical network interfaces within a logical interface.
          - `id` string — An identifier for the `Network`, generated by the backend.
          - `network` string — Name of the network
          - `networkType` 'TYPE_UNSPECIFIED' | 'CLIENT' | 'PRIVATE' — Type of network.
          - `ipAddress` string — IP address in the network
          - `defaultGateway` boolean — Whether this interface is the default gateway for the instance. Only one interface can be the default gateway for the instance.
        - `interfaceIndex` integer — The index of the logical interface mapping to the index of the hardware bond or nic on the chosen network template. This field is deprecated.
        - `name` string — Interface name. This is of syntax or and forms part of the network template name.
      - `name` string — The name of the instance config.
      - `hyperthreading` boolean — Whether the instance should be provisioned with Hyperthreading enabled.
      - `accountNetworksEnabled` boolean — If true networks can be from different projects of the same vendor account.
      - `networkTemplate` string — Server network template name. Filled if InstanceConfig.multivlan_config is true.
      - `osImage` string — OS image to initialize the instance. [Available images](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations)
      - `id` string — A transient unique identifier to identify an instance within an ProvisioningConfig request.
      - `privateNetwork` NetworkAddress — A network.
        - `address` string — IPv4 address to be assigned to the server.
        - `networkId` string — Id of the network to use, within the same ProvisioningConfig request.
        - `existingNetworkId` string — Name of the existing network to use.
      - `sshKeyNames` string[] — Optional. List of names of ssh keys used to provision the instance.
    - `email` string — Email provided to send a confirmation with provisioning config to. Deprecated in favour of email field in request messages.
    - `pod` string — Optional. Pod name. Pod is an independent part of infrastructure. Instance can be connected to the assets (networks, volumes, nfsshares) allocated in the same pod only.
    - `customId` string — Optional. The user-defined identifier of the provisioning config.
    - `volumes` VolumeConfig[] — Volumes to be created.
      - `protocol` 'PROTOCOL_UNSPECIFIED' | 'PROTOCOL_FC' | 'PROTOCOL_NFS' — Volume protocol.
      - `name` string — Output only. The name of the volume config.
      - `sizeGb` integer — The requested size of this volume, in GB.
      - `machineIds` string[] — Machine ids connected to this volume. Set only when protocol is PROTOCOL_FC.
      - `snapshotsEnabled` boolean — Whether snapshots should be enabled.
      - `performanceTier` 'VOLUME_PERFORMANCE_TIER_UNSPECIFIED' | 'VOLUME_PERFORMANCE_TIER_SHARED' | 'VOLUME_PERFORMANCE_TIER_ASSIGNED' | 'VOLUME_PERFORMANCE_TIER_HT' | 'VOLUME_PERFORMANCE_TIER_QOS2_PERFORMANCE' — Performance tier of the Volume. Default is SHARED.
      - `userNote` string — User note field, it can be used by customers to add additional information for the BMS Ops team .
      - `id` string — A transient unique identifier to identify a volume within an ProvisioningConfig request.
      - `nfsExports` NfsExport[] — NFS exports. Set only when protocol is PROTOCOL_NFS.
        - `machineId` string — Either a single machine, identified by an ID, or a comma-separated list of machine IDs.
        - `permissions` 'PERMISSIONS_UNSPECIFIED' | 'READ_ONLY' | 'READ_WRITE' — Export permissions.
        - `networkId` string — Network to use to publish the export.
        - `noRootSquash` boolean — Disable root squashing, which is a feature of NFS. Root squash is a special mapping of the remote superuser (root) identity when using identity authentication.
        - `cidr` string — A CIDR range.
        - `allowDev` boolean — Allow dev flag in NfsShare AllowedClientsRequest.
        - `allowSuid` boolean — Allow the setuid flag.
      - `gcpService` string — The GCP service of the storage volume. Available gcp_service are in https://cloud.google.com/bare-metal/docs/bms-planning.
      - `type` 'TYPE_UNSPECIFIED' | 'FLASH' | 'DISK' — The type of this Volume.
      - `lunRanges` LunRange[] — LUN ranges to be configured. Set only when protocol is PROTOCOL_FC.
        - `quantity` integer — Number of LUNs to create.
        - `sizeGb` integer — The requested size of each LUN, in GB.
    - `handoverServiceAccount` string — A service account to enable customers to access instance credentials upon handover.
    - `vpcScEnabled` boolean — If true, VPC SC is enabled for the cluster.

## Response `200`

Successful response

---

[API](https://skmtc.net/google/apis/baremetalsolution.md) · [All operations](https://skmtc.net/google/apis/baremetalsolution/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/google/baremetalsolution/versions/7c6ae0857ec6/schema)
