Bare Metal Solution API . projects . locations . provisioningConfigs

Instance Methods

close()

Close httplib2 connections.

create(parent, body=None, email=None, x__xgafv=None)

Create new ProvisioningConfig.

get(name, x__xgafv=None)

Get ProvisioningConfig by name.

patch(name, body=None, email=None, updateMask=None, x__xgafv=None)

Update existing ProvisioningConfig.

submit(parent, body=None, x__xgafv=None)

Submit a provisiong configuration for a given project.

Method Details

close()
Close httplib2 connections.
create(parent, body=None, email=None, x__xgafv=None)
Create new ProvisioningConfig.

Args:
  parent: string, Required. The parent project and location containing the ProvisioningConfig. (required)
  body: object, The request body.
    The object takes the form of:

{ # A provisioning configuration.
  "cloudConsoleUri": "A String", # Output only. URI to Cloud Console UI view of this provisioning config.
  "customId": "A String", # Optional. The user-defined identifier of the provisioning config.
  "email": "A String", # Email provided to send a confirmation with provisioning config to. Deprecated in favour of email field in request messages.
  "handoverServiceAccount": "A String", # A service account to enable customers to access instance credentials upon handover.
  "instances": [ # Instances to be created.
    { # Configuration parameters for a new instance.
      "accountNetworksEnabled": True or False, # If true networks can be from different projects of the same vendor account.
      "clientNetwork": { # A network. # Client network address. Filled if InstanceConfig.multivlan_config is false.
        "address": "A String", # IPv4 address to be assigned to the server.
        "existingNetworkId": "A String", # Name of the existing network to use.
        "networkId": "A String", # Id of the network to use, within the same ProvisioningConfig request.
      },
      "hyperthreading": True or False, # Whether the instance should be provisioned with Hyperthreading enabled.
      "id": "A String", # A transient unique identifier to idenfity an instance within an ProvisioningConfig request.
      "instanceType": "A String", # Instance type. [Available types](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations)
      "kmsKeyVersion": "A String", # Name of the KMS crypto key version used to encrypt the initial passwords. The key has to have ASYMMETRIC_DECRYPT purpose.
      "logicalInterfaces": [ # 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.
        { # Each logical interface represents a logical abstraction of the underlying physical interface (for eg. bond, nic) of the instance. Each logical interface can effectively map to multiple network-IP pairs and still be mapped to one underlying physical interface.
          "interfaceIndex": 42, # 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.
          "logicalNetworkInterfaces": [ # List of logical network interfaces within a logical interface.
            { # Each logical network interface is effectively a network and IP pair.
              "defaultGateway": True or False, # Whether this interface is the default gateway for the instance. Only one interface can be the default gateway for the instance.
              "id": "A String", # An identifier for the `Network`, generated by the backend.
              "ipAddress": "A String", # IP address in the network
              "network": "A String", # Name of the network
              "networkType": "A String", # Type of network.
            },
          ],
          "name": "A String", # Interface name. This is of syntax or and forms part of the network template name.
        },
      ],
      "name": "A String", # The name of the instance config.
      "networkConfig": "A String", # The type of network configuration on the instance.
      "networkTemplate": "A String", # Server network template name. Filled if InstanceConfig.multivlan_config is true.
      "osImage": "A String", # OS image to initialize the instance. [Available images](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations)
      "privateNetwork": { # A network. # Private network address, if any. Filled if InstanceConfig.multivlan_config is false.
        "address": "A String", # IPv4 address to be assigned to the server.
        "existingNetworkId": "A String", # Name of the existing network to use.
        "networkId": "A String", # Id of the network to use, within the same ProvisioningConfig request.
      },
      "sshKeyNames": [ # Optional. List of names of ssh keys used to provision the instance.
        "A String",
      ],
      "userNote": "A String", # User note field, it can be used by customers to add additional information for the BMS Ops team .
    },
  ],
  "location": "A String", # Optional. Location name of this ProvisioningConfig. It is optional only for Intake UI transition period.
  "name": "A String", # Output only. The system-generated name of the provisioning config. This follows the UUID format.
  "networks": [ # Networks to be created.
    { # Configuration parameters for a new network.
      "bandwidth": "A String", # Interconnect bandwidth. Set only when type is CLIENT.
      "cidr": "A String", # CIDR range of the network.
      "gcpService": "A String", # The GCP service of the network. Available gcp_service are in https://cloud.google.com/bare-metal/docs/bms-planning.
      "id": "A String", # A transient unique identifier to identify a volume within an ProvisioningConfig request.
      "jumboFramesEnabled": True or False, # The JumboFramesEnabled option for customer to set.
      "name": "A String", # Output only. The name of the network config.
      "serviceCidr": "A String", # Service CIDR, if any.
      "type": "A String", # The type of this network, either Client or Private.
      "userNote": "A String", # User note field, it can be used by customers to add additional information for the BMS Ops team .
      "vlanAttachments": [ # 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
        { # A GCP vlan attachment.
          "id": "A String", # Identifier of the VLAN attachment.
          "pairingKey": "A String", # Attachment pairing key.
        },
      ],
      "vlanSameProject": True or False, # Whether the VLAN attachment pair is located in the same project.
      "vrf": "A 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.
    },
  ],
  "pod": "A 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.
  "state": "A String", # Output only. State of ProvisioningConfig.
  "statusMessage": "A String", # Optional status messages associated with the FAILED state.
  "ticketId": "A String", # A generated ticket id to track provisioning request.
  "updateTime": "A String", # Output only. Last update timestamp.
  "volumes": [ # Volumes to be created.
    { # Configuration parameters for a new volume.
      "gcpService": "A String", # The GCP service of the storage volume. Available gcp_service are in https://cloud.google.com/bare-metal/docs/bms-planning.
      "id": "A String", # A transient unique identifier to identify a volume within an ProvisioningConfig request.
      "lunRanges": [ # LUN ranges to be configured. Set only when protocol is PROTOCOL_FC.
        { # A LUN(Logical Unit Number) range.
          "quantity": 42, # Number of LUNs to create.
          "sizeGb": 42, # The requested size of each LUN, in GB.
        },
      ],
      "machineIds": [ # Machine ids connected to this volume. Set only when protocol is PROTOCOL_FC.
        "A String",
      ],
      "name": "A String", # Output only. The name of the volume config.
      "nfsExports": [ # NFS exports. Set only when protocol is PROTOCOL_NFS.
        { # A NFS export entry.
          "allowDev": True or False, # Allow dev flag in NfsShare AllowedClientsRequest.
          "allowSuid": True or False, # Allow the setuid flag.
          "cidr": "A String", # A CIDR range.
          "machineId": "A String", # Either a single machine, identified by an ID, or a comma-separated list of machine IDs.
          "networkId": "A String", # Network to use to publish the export.
          "noRootSquash": True or False, # 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.
          "permissions": "A String", # Export permissions.
        },
      ],
      "performanceTier": "A String", # Performance tier of the Volume. Default is SHARED.
      "protocol": "A String", # Volume protocol.
      "sizeGb": 42, # The requested size of this volume, in GB.
      "snapshotsEnabled": True or False, # Whether snapshots should be enabled.
      "type": "A String", # The type of this Volume.
      "userNote": "A String", # User note field, it can be used by customers to add additional information for the BMS Ops team .
    },
  ],
  "vpcScEnabled": True or False, # If true, VPC SC is enabled for the cluster.
}

  email: string, Optional. Email provided to send a confirmation with provisioning config to.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A provisioning configuration.
  "cloudConsoleUri": "A String", # Output only. URI to Cloud Console UI view of this provisioning config.
  "customId": "A String", # Optional. The user-defined identifier of the provisioning config.
  "email": "A String", # Email provided to send a confirmation with provisioning config to. Deprecated in favour of email field in request messages.
  "handoverServiceAccount": "A String", # A service account to enable customers to access instance credentials upon handover.
  "instances": [ # Instances to be created.
    { # Configuration parameters for a new instance.
      "accountNetworksEnabled": True or False, # If true networks can be from different projects of the same vendor account.
      "clientNetwork": { # A network. # Client network address. Filled if InstanceConfig.multivlan_config is false.
        "address": "A String", # IPv4 address to be assigned to the server.
        "existingNetworkId": "A String", # Name of the existing network to use.
        "networkId": "A String", # Id of the network to use, within the same ProvisioningConfig request.
      },
      "hyperthreading": True or False, # Whether the instance should be provisioned with Hyperthreading enabled.
      "id": "A String", # A transient unique identifier to idenfity an instance within an ProvisioningConfig request.
      "instanceType": "A String", # Instance type. [Available types](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations)
      "kmsKeyVersion": "A String", # Name of the KMS crypto key version used to encrypt the initial passwords. The key has to have ASYMMETRIC_DECRYPT purpose.
      "logicalInterfaces": [ # 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.
        { # Each logical interface represents a logical abstraction of the underlying physical interface (for eg. bond, nic) of the instance. Each logical interface can effectively map to multiple network-IP pairs and still be mapped to one underlying physical interface.
          "interfaceIndex": 42, # 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.
          "logicalNetworkInterfaces": [ # List of logical network interfaces within a logical interface.
            { # Each logical network interface is effectively a network and IP pair.
              "defaultGateway": True or False, # Whether this interface is the default gateway for the instance. Only one interface can be the default gateway for the instance.
              "id": "A String", # An identifier for the `Network`, generated by the backend.
              "ipAddress": "A String", # IP address in the network
              "network": "A String", # Name of the network
              "networkType": "A String", # Type of network.
            },
          ],
          "name": "A String", # Interface name. This is of syntax or and forms part of the network template name.
        },
      ],
      "name": "A String", # The name of the instance config.
      "networkConfig": "A String", # The type of network configuration on the instance.
      "networkTemplate": "A String", # Server network template name. Filled if InstanceConfig.multivlan_config is true.
      "osImage": "A String", # OS image to initialize the instance. [Available images](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations)
      "privateNetwork": { # A network. # Private network address, if any. Filled if InstanceConfig.multivlan_config is false.
        "address": "A String", # IPv4 address to be assigned to the server.
        "existingNetworkId": "A String", # Name of the existing network to use.
        "networkId": "A String", # Id of the network to use, within the same ProvisioningConfig request.
      },
      "sshKeyNames": [ # Optional. List of names of ssh keys used to provision the instance.
        "A String",
      ],
      "userNote": "A String", # User note field, it can be used by customers to add additional information for the BMS Ops team .
    },
  ],
  "location": "A String", # Optional. Location name of this ProvisioningConfig. It is optional only for Intake UI transition period.
  "name": "A String", # Output only. The system-generated name of the provisioning config. This follows the UUID format.
  "networks": [ # Networks to be created.
    { # Configuration parameters for a new network.
      "bandwidth": "A String", # Interconnect bandwidth. Set only when type is CLIENT.
      "cidr": "A String", # CIDR range of the network.
      "gcpService": "A String", # The GCP service of the network. Available gcp_service are in https://cloud.google.com/bare-metal/docs/bms-planning.
      "id": "A String", # A transient unique identifier to identify a volume within an ProvisioningConfig request.
      "jumboFramesEnabled": True or False, # The JumboFramesEnabled option for customer to set.
      "name": "A String", # Output only. The name of the network config.
      "serviceCidr": "A String", # Service CIDR, if any.
      "type": "A String", # The type of this network, either Client or Private.
      "userNote": "A String", # User note field, it can be used by customers to add additional information for the BMS Ops team .
      "vlanAttachments": [ # 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
        { # A GCP vlan attachment.
          "id": "A String", # Identifier of the VLAN attachment.
          "pairingKey": "A String", # Attachment pairing key.
        },
      ],
      "vlanSameProject": True or False, # Whether the VLAN attachment pair is located in the same project.
      "vrf": "A 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.
    },
  ],
  "pod": "A 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.
  "state": "A String", # Output only. State of ProvisioningConfig.
  "statusMessage": "A String", # Optional status messages associated with the FAILED state.
  "ticketId": "A String", # A generated ticket id to track provisioning request.
  "updateTime": "A String", # Output only. Last update timestamp.
  "volumes": [ # Volumes to be created.
    { # Configuration parameters for a new volume.
      "gcpService": "A String", # The GCP service of the storage volume. Available gcp_service are in https://cloud.google.com/bare-metal/docs/bms-planning.
      "id": "A String", # A transient unique identifier to identify a volume within an ProvisioningConfig request.
      "lunRanges": [ # LUN ranges to be configured. Set only when protocol is PROTOCOL_FC.
        { # A LUN(Logical Unit Number) range.
          "quantity": 42, # Number of LUNs to create.
          "sizeGb": 42, # The requested size of each LUN, in GB.
        },
      ],
      "machineIds": [ # Machine ids connected to this volume. Set only when protocol is PROTOCOL_FC.
        "A String",
      ],
      "name": "A String", # Output only. The name of the volume config.
      "nfsExports": [ # NFS exports. Set only when protocol is PROTOCOL_NFS.
        { # A NFS export entry.
          "allowDev": True or False, # Allow dev flag in NfsShare AllowedClientsRequest.
          "allowSuid": True or False, # Allow the setuid flag.
          "cidr": "A String", # A CIDR range.
          "machineId": "A String", # Either a single machine, identified by an ID, or a comma-separated list of machine IDs.
          "networkId": "A String", # Network to use to publish the export.
          "noRootSquash": True or False, # 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.
          "permissions": "A String", # Export permissions.
        },
      ],
      "performanceTier": "A String", # Performance tier of the Volume. Default is SHARED.
      "protocol": "A String", # Volume protocol.
      "sizeGb": 42, # The requested size of this volume, in GB.
      "snapshotsEnabled": True or False, # Whether snapshots should be enabled.
      "type": "A String", # The type of this Volume.
      "userNote": "A String", # User note field, it can be used by customers to add additional information for the BMS Ops team .
    },
  ],
  "vpcScEnabled": True or False, # If true, VPC SC is enabled for the cluster.
}
get(name, x__xgafv=None)
Get ProvisioningConfig by name.

Args:
  name: string, Required. Name of the ProvisioningConfig. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A provisioning configuration.
  "cloudConsoleUri": "A String", # Output only. URI to Cloud Console UI view of this provisioning config.
  "customId": "A String", # Optional. The user-defined identifier of the provisioning config.
  "email": "A String", # Email provided to send a confirmation with provisioning config to. Deprecated in favour of email field in request messages.
  "handoverServiceAccount": "A String", # A service account to enable customers to access instance credentials upon handover.
  "instances": [ # Instances to be created.
    { # Configuration parameters for a new instance.
      "accountNetworksEnabled": True or False, # If true networks can be from different projects of the same vendor account.
      "clientNetwork": { # A network. # Client network address. Filled if InstanceConfig.multivlan_config is false.
        "address": "A String", # IPv4 address to be assigned to the server.
        "existingNetworkId": "A String", # Name of the existing network to use.
        "networkId": "A String", # Id of the network to use, within the same ProvisioningConfig request.
      },
      "hyperthreading": True or False, # Whether the instance should be provisioned with Hyperthreading enabled.
      "id": "A String", # A transient unique identifier to idenfity an instance within an ProvisioningConfig request.
      "instanceType": "A String", # Instance type. [Available types](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations)
      "kmsKeyVersion": "A String", # Name of the KMS crypto key version used to encrypt the initial passwords. The key has to have ASYMMETRIC_DECRYPT purpose.
      "logicalInterfaces": [ # 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.
        { # Each logical interface represents a logical abstraction of the underlying physical interface (for eg. bond, nic) of the instance. Each logical interface can effectively map to multiple network-IP pairs and still be mapped to one underlying physical interface.
          "interfaceIndex": 42, # 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.
          "logicalNetworkInterfaces": [ # List of logical network interfaces within a logical interface.
            { # Each logical network interface is effectively a network and IP pair.
              "defaultGateway": True or False, # Whether this interface is the default gateway for the instance. Only one interface can be the default gateway for the instance.
              "id": "A String", # An identifier for the `Network`, generated by the backend.
              "ipAddress": "A String", # IP address in the network
              "network": "A String", # Name of the network
              "networkType": "A String", # Type of network.
            },
          ],
          "name": "A String", # Interface name. This is of syntax or and forms part of the network template name.
        },
      ],
      "name": "A String", # The name of the instance config.
      "networkConfig": "A String", # The type of network configuration on the instance.
      "networkTemplate": "A String", # Server network template name. Filled if InstanceConfig.multivlan_config is true.
      "osImage": "A String", # OS image to initialize the instance. [Available images](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations)
      "privateNetwork": { # A network. # Private network address, if any. Filled if InstanceConfig.multivlan_config is false.
        "address": "A String", # IPv4 address to be assigned to the server.
        "existingNetworkId": "A String", # Name of the existing network to use.
        "networkId": "A String", # Id of the network to use, within the same ProvisioningConfig request.
      },
      "sshKeyNames": [ # Optional. List of names of ssh keys used to provision the instance.
        "A String",
      ],
      "userNote": "A String", # User note field, it can be used by customers to add additional information for the BMS Ops team .
    },
  ],
  "location": "A String", # Optional. Location name of this ProvisioningConfig. It is optional only for Intake UI transition period.
  "name": "A String", # Output only. The system-generated name of the provisioning config. This follows the UUID format.
  "networks": [ # Networks to be created.
    { # Configuration parameters for a new network.
      "bandwidth": "A String", # Interconnect bandwidth. Set only when type is CLIENT.
      "cidr": "A String", # CIDR range of the network.
      "gcpService": "A String", # The GCP service of the network. Available gcp_service are in https://cloud.google.com/bare-metal/docs/bms-planning.
      "id": "A String", # A transient unique identifier to identify a volume within an ProvisioningConfig request.
      "jumboFramesEnabled": True or False, # The JumboFramesEnabled option for customer to set.
      "name": "A String", # Output only. The name of the network config.
      "serviceCidr": "A String", # Service CIDR, if any.
      "type": "A String", # The type of this network, either Client or Private.
      "userNote": "A String", # User note field, it can be used by customers to add additional information for the BMS Ops team .
      "vlanAttachments": [ # 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
        { # A GCP vlan attachment.
          "id": "A String", # Identifier of the VLAN attachment.
          "pairingKey": "A String", # Attachment pairing key.
        },
      ],
      "vlanSameProject": True or False, # Whether the VLAN attachment pair is located in the same project.
      "vrf": "A 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.
    },
  ],
  "pod": "A 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.
  "state": "A String", # Output only. State of ProvisioningConfig.
  "statusMessage": "A String", # Optional status messages associated with the FAILED state.
  "ticketId": "A String", # A generated ticket id to track provisioning request.
  "updateTime": "A String", # Output only. Last update timestamp.
  "volumes": [ # Volumes to be created.
    { # Configuration parameters for a new volume.
      "gcpService": "A String", # The GCP service of the storage volume. Available gcp_service are in https://cloud.google.com/bare-metal/docs/bms-planning.
      "id": "A String", # A transient unique identifier to identify a volume within an ProvisioningConfig request.
      "lunRanges": [ # LUN ranges to be configured. Set only when protocol is PROTOCOL_FC.
        { # A LUN(Logical Unit Number) range.
          "quantity": 42, # Number of LUNs to create.
          "sizeGb": 42, # The requested size of each LUN, in GB.
        },
      ],
      "machineIds": [ # Machine ids connected to this volume. Set only when protocol is PROTOCOL_FC.
        "A String",
      ],
      "name": "A String", # Output only. The name of the volume config.
      "nfsExports": [ # NFS exports. Set only when protocol is PROTOCOL_NFS.
        { # A NFS export entry.
          "allowDev": True or False, # Allow dev flag in NfsShare AllowedClientsRequest.
          "allowSuid": True or False, # Allow the setuid flag.
          "cidr": "A String", # A CIDR range.
          "machineId": "A String", # Either a single machine, identified by an ID, or a comma-separated list of machine IDs.
          "networkId": "A String", # Network to use to publish the export.
          "noRootSquash": True or False, # 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.
          "permissions": "A String", # Export permissions.
        },
      ],
      "performanceTier": "A String", # Performance tier of the Volume. Default is SHARED.
      "protocol": "A String", # Volume protocol.
      "sizeGb": 42, # The requested size of this volume, in GB.
      "snapshotsEnabled": True or False, # Whether snapshots should be enabled.
      "type": "A String", # The type of this Volume.
      "userNote": "A String", # User note field, it can be used by customers to add additional information for the BMS Ops team .
    },
  ],
  "vpcScEnabled": True or False, # If true, VPC SC is enabled for the cluster.
}
patch(name, body=None, email=None, updateMask=None, x__xgafv=None)
Update existing ProvisioningConfig.

Args:
  name: string, Output only. The system-generated name of the provisioning config. This follows the UUID format. (required)
  body: object, The request body.
    The object takes the form of:

{ # A provisioning configuration.
  "cloudConsoleUri": "A String", # Output only. URI to Cloud Console UI view of this provisioning config.
  "customId": "A String", # Optional. The user-defined identifier of the provisioning config.
  "email": "A String", # Email provided to send a confirmation with provisioning config to. Deprecated in favour of email field in request messages.
  "handoverServiceAccount": "A String", # A service account to enable customers to access instance credentials upon handover.
  "instances": [ # Instances to be created.
    { # Configuration parameters for a new instance.
      "accountNetworksEnabled": True or False, # If true networks can be from different projects of the same vendor account.
      "clientNetwork": { # A network. # Client network address. Filled if InstanceConfig.multivlan_config is false.
        "address": "A String", # IPv4 address to be assigned to the server.
        "existingNetworkId": "A String", # Name of the existing network to use.
        "networkId": "A String", # Id of the network to use, within the same ProvisioningConfig request.
      },
      "hyperthreading": True or False, # Whether the instance should be provisioned with Hyperthreading enabled.
      "id": "A String", # A transient unique identifier to idenfity an instance within an ProvisioningConfig request.
      "instanceType": "A String", # Instance type. [Available types](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations)
      "kmsKeyVersion": "A String", # Name of the KMS crypto key version used to encrypt the initial passwords. The key has to have ASYMMETRIC_DECRYPT purpose.
      "logicalInterfaces": [ # 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.
        { # Each logical interface represents a logical abstraction of the underlying physical interface (for eg. bond, nic) of the instance. Each logical interface can effectively map to multiple network-IP pairs and still be mapped to one underlying physical interface.
          "interfaceIndex": 42, # 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.
          "logicalNetworkInterfaces": [ # List of logical network interfaces within a logical interface.
            { # Each logical network interface is effectively a network and IP pair.
              "defaultGateway": True or False, # Whether this interface is the default gateway for the instance. Only one interface can be the default gateway for the instance.
              "id": "A String", # An identifier for the `Network`, generated by the backend.
              "ipAddress": "A String", # IP address in the network
              "network": "A String", # Name of the network
              "networkType": "A String", # Type of network.
            },
          ],
          "name": "A String", # Interface name. This is of syntax or and forms part of the network template name.
        },
      ],
      "name": "A String", # The name of the instance config.
      "networkConfig": "A String", # The type of network configuration on the instance.
      "networkTemplate": "A String", # Server network template name. Filled if InstanceConfig.multivlan_config is true.
      "osImage": "A String", # OS image to initialize the instance. [Available images](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations)
      "privateNetwork": { # A network. # Private network address, if any. Filled if InstanceConfig.multivlan_config is false.
        "address": "A String", # IPv4 address to be assigned to the server.
        "existingNetworkId": "A String", # Name of the existing network to use.
        "networkId": "A String", # Id of the network to use, within the same ProvisioningConfig request.
      },
      "sshKeyNames": [ # Optional. List of names of ssh keys used to provision the instance.
        "A String",
      ],
      "userNote": "A String", # User note field, it can be used by customers to add additional information for the BMS Ops team .
    },
  ],
  "location": "A String", # Optional. Location name of this ProvisioningConfig. It is optional only for Intake UI transition period.
  "name": "A String", # Output only. The system-generated name of the provisioning config. This follows the UUID format.
  "networks": [ # Networks to be created.
    { # Configuration parameters for a new network.
      "bandwidth": "A String", # Interconnect bandwidth. Set only when type is CLIENT.
      "cidr": "A String", # CIDR range of the network.
      "gcpService": "A String", # The GCP service of the network. Available gcp_service are in https://cloud.google.com/bare-metal/docs/bms-planning.
      "id": "A String", # A transient unique identifier to identify a volume within an ProvisioningConfig request.
      "jumboFramesEnabled": True or False, # The JumboFramesEnabled option for customer to set.
      "name": "A String", # Output only. The name of the network config.
      "serviceCidr": "A String", # Service CIDR, if any.
      "type": "A String", # The type of this network, either Client or Private.
      "userNote": "A String", # User note field, it can be used by customers to add additional information for the BMS Ops team .
      "vlanAttachments": [ # 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
        { # A GCP vlan attachment.
          "id": "A String", # Identifier of the VLAN attachment.
          "pairingKey": "A String", # Attachment pairing key.
        },
      ],
      "vlanSameProject": True or False, # Whether the VLAN attachment pair is located in the same project.
      "vrf": "A 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.
    },
  ],
  "pod": "A 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.
  "state": "A String", # Output only. State of ProvisioningConfig.
  "statusMessage": "A String", # Optional status messages associated with the FAILED state.
  "ticketId": "A String", # A generated ticket id to track provisioning request.
  "updateTime": "A String", # Output only. Last update timestamp.
  "volumes": [ # Volumes to be created.
    { # Configuration parameters for a new volume.
      "gcpService": "A String", # The GCP service of the storage volume. Available gcp_service are in https://cloud.google.com/bare-metal/docs/bms-planning.
      "id": "A String", # A transient unique identifier to identify a volume within an ProvisioningConfig request.
      "lunRanges": [ # LUN ranges to be configured. Set only when protocol is PROTOCOL_FC.
        { # A LUN(Logical Unit Number) range.
          "quantity": 42, # Number of LUNs to create.
          "sizeGb": 42, # The requested size of each LUN, in GB.
        },
      ],
      "machineIds": [ # Machine ids connected to this volume. Set only when protocol is PROTOCOL_FC.
        "A String",
      ],
      "name": "A String", # Output only. The name of the volume config.
      "nfsExports": [ # NFS exports. Set only when protocol is PROTOCOL_NFS.
        { # A NFS export entry.
          "allowDev": True or False, # Allow dev flag in NfsShare AllowedClientsRequest.
          "allowSuid": True or False, # Allow the setuid flag.
          "cidr": "A String", # A CIDR range.
          "machineId": "A String", # Either a single machine, identified by an ID, or a comma-separated list of machine IDs.
          "networkId": "A String", # Network to use to publish the export.
          "noRootSquash": True or False, # 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.
          "permissions": "A String", # Export permissions.
        },
      ],
      "performanceTier": "A String", # Performance tier of the Volume. Default is SHARED.
      "protocol": "A String", # Volume protocol.
      "sizeGb": 42, # The requested size of this volume, in GB.
      "snapshotsEnabled": True or False, # Whether snapshots should be enabled.
      "type": "A String", # The type of this Volume.
      "userNote": "A String", # User note field, it can be used by customers to add additional information for the BMS Ops team .
    },
  ],
  "vpcScEnabled": True or False, # If true, VPC SC is enabled for the cluster.
}

  email: string, Optional. Email provided to send a confirmation with provisioning config to.
  updateMask: string, Required. The list of fields to update.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A provisioning configuration.
  "cloudConsoleUri": "A String", # Output only. URI to Cloud Console UI view of this provisioning config.
  "customId": "A String", # Optional. The user-defined identifier of the provisioning config.
  "email": "A String", # Email provided to send a confirmation with provisioning config to. Deprecated in favour of email field in request messages.
  "handoverServiceAccount": "A String", # A service account to enable customers to access instance credentials upon handover.
  "instances": [ # Instances to be created.
    { # Configuration parameters for a new instance.
      "accountNetworksEnabled": True or False, # If true networks can be from different projects of the same vendor account.
      "clientNetwork": { # A network. # Client network address. Filled if InstanceConfig.multivlan_config is false.
        "address": "A String", # IPv4 address to be assigned to the server.
        "existingNetworkId": "A String", # Name of the existing network to use.
        "networkId": "A String", # Id of the network to use, within the same ProvisioningConfig request.
      },
      "hyperthreading": True or False, # Whether the instance should be provisioned with Hyperthreading enabled.
      "id": "A String", # A transient unique identifier to idenfity an instance within an ProvisioningConfig request.
      "instanceType": "A String", # Instance type. [Available types](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations)
      "kmsKeyVersion": "A String", # Name of the KMS crypto key version used to encrypt the initial passwords. The key has to have ASYMMETRIC_DECRYPT purpose.
      "logicalInterfaces": [ # 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.
        { # Each logical interface represents a logical abstraction of the underlying physical interface (for eg. bond, nic) of the instance. Each logical interface can effectively map to multiple network-IP pairs and still be mapped to one underlying physical interface.
          "interfaceIndex": 42, # 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.
          "logicalNetworkInterfaces": [ # List of logical network interfaces within a logical interface.
            { # Each logical network interface is effectively a network and IP pair.
              "defaultGateway": True or False, # Whether this interface is the default gateway for the instance. Only one interface can be the default gateway for the instance.
              "id": "A String", # An identifier for the `Network`, generated by the backend.
              "ipAddress": "A String", # IP address in the network
              "network": "A String", # Name of the network
              "networkType": "A String", # Type of network.
            },
          ],
          "name": "A String", # Interface name. This is of syntax or and forms part of the network template name.
        },
      ],
      "name": "A String", # The name of the instance config.
      "networkConfig": "A String", # The type of network configuration on the instance.
      "networkTemplate": "A String", # Server network template name. Filled if InstanceConfig.multivlan_config is true.
      "osImage": "A String", # OS image to initialize the instance. [Available images](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations)
      "privateNetwork": { # A network. # Private network address, if any. Filled if InstanceConfig.multivlan_config is false.
        "address": "A String", # IPv4 address to be assigned to the server.
        "existingNetworkId": "A String", # Name of the existing network to use.
        "networkId": "A String", # Id of the network to use, within the same ProvisioningConfig request.
      },
      "sshKeyNames": [ # Optional. List of names of ssh keys used to provision the instance.
        "A String",
      ],
      "userNote": "A String", # User note field, it can be used by customers to add additional information for the BMS Ops team .
    },
  ],
  "location": "A String", # Optional. Location name of this ProvisioningConfig. It is optional only for Intake UI transition period.
  "name": "A String", # Output only. The system-generated name of the provisioning config. This follows the UUID format.
  "networks": [ # Networks to be created.
    { # Configuration parameters for a new network.
      "bandwidth": "A String", # Interconnect bandwidth. Set only when type is CLIENT.
      "cidr": "A String", # CIDR range of the network.
      "gcpService": "A String", # The GCP service of the network. Available gcp_service are in https://cloud.google.com/bare-metal/docs/bms-planning.
      "id": "A String", # A transient unique identifier to identify a volume within an ProvisioningConfig request.
      "jumboFramesEnabled": True or False, # The JumboFramesEnabled option for customer to set.
      "name": "A String", # Output only. The name of the network config.
      "serviceCidr": "A String", # Service CIDR, if any.
      "type": "A String", # The type of this network, either Client or Private.
      "userNote": "A String", # User note field, it can be used by customers to add additional information for the BMS Ops team .
      "vlanAttachments": [ # 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
        { # A GCP vlan attachment.
          "id": "A String", # Identifier of the VLAN attachment.
          "pairingKey": "A String", # Attachment pairing key.
        },
      ],
      "vlanSameProject": True or False, # Whether the VLAN attachment pair is located in the same project.
      "vrf": "A 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.
    },
  ],
  "pod": "A 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.
  "state": "A String", # Output only. State of ProvisioningConfig.
  "statusMessage": "A String", # Optional status messages associated with the FAILED state.
  "ticketId": "A String", # A generated ticket id to track provisioning request.
  "updateTime": "A String", # Output only. Last update timestamp.
  "volumes": [ # Volumes to be created.
    { # Configuration parameters for a new volume.
      "gcpService": "A String", # The GCP service of the storage volume. Available gcp_service are in https://cloud.google.com/bare-metal/docs/bms-planning.
      "id": "A String", # A transient unique identifier to identify a volume within an ProvisioningConfig request.
      "lunRanges": [ # LUN ranges to be configured. Set only when protocol is PROTOCOL_FC.
        { # A LUN(Logical Unit Number) range.
          "quantity": 42, # Number of LUNs to create.
          "sizeGb": 42, # The requested size of each LUN, in GB.
        },
      ],
      "machineIds": [ # Machine ids connected to this volume. Set only when protocol is PROTOCOL_FC.
        "A String",
      ],
      "name": "A String", # Output only. The name of the volume config.
      "nfsExports": [ # NFS exports. Set only when protocol is PROTOCOL_NFS.
        { # A NFS export entry.
          "allowDev": True or False, # Allow dev flag in NfsShare AllowedClientsRequest.
          "allowSuid": True or False, # Allow the setuid flag.
          "cidr": "A String", # A CIDR range.
          "machineId": "A String", # Either a single machine, identified by an ID, or a comma-separated list of machine IDs.
          "networkId": "A String", # Network to use to publish the export.
          "noRootSquash": True or False, # 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.
          "permissions": "A String", # Export permissions.
        },
      ],
      "performanceTier": "A String", # Performance tier of the Volume. Default is SHARED.
      "protocol": "A String", # Volume protocol.
      "sizeGb": 42, # The requested size of this volume, in GB.
      "snapshotsEnabled": True or False, # Whether snapshots should be enabled.
      "type": "A String", # The type of this Volume.
      "userNote": "A String", # User note field, it can be used by customers to add additional information for the BMS Ops team .
    },
  ],
  "vpcScEnabled": True or False, # If true, VPC SC is enabled for the cluster.
}
submit(parent, body=None, x__xgafv=None)
Submit a provisiong configuration for a given project.

Args:
  parent: string, Required. The parent project and location containing the ProvisioningConfig. (required)
  body: object, The request body.
    The object takes the form of:

{ # Request for SubmitProvisioningConfig.
  "email": "A String", # Optional. Email provided to send a confirmation with provisioning config to.
  "provisioningConfig": { # A provisioning configuration. # Required. The ProvisioningConfig to create.
    "cloudConsoleUri": "A String", # Output only. URI to Cloud Console UI view of this provisioning config.
    "customId": "A String", # Optional. The user-defined identifier of the provisioning config.
    "email": "A String", # Email provided to send a confirmation with provisioning config to. Deprecated in favour of email field in request messages.
    "handoverServiceAccount": "A String", # A service account to enable customers to access instance credentials upon handover.
    "instances": [ # Instances to be created.
      { # Configuration parameters for a new instance.
        "accountNetworksEnabled": True or False, # If true networks can be from different projects of the same vendor account.
        "clientNetwork": { # A network. # Client network address. Filled if InstanceConfig.multivlan_config is false.
          "address": "A String", # IPv4 address to be assigned to the server.
          "existingNetworkId": "A String", # Name of the existing network to use.
          "networkId": "A String", # Id of the network to use, within the same ProvisioningConfig request.
        },
        "hyperthreading": True or False, # Whether the instance should be provisioned with Hyperthreading enabled.
        "id": "A String", # A transient unique identifier to idenfity an instance within an ProvisioningConfig request.
        "instanceType": "A String", # Instance type. [Available types](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations)
        "kmsKeyVersion": "A String", # Name of the KMS crypto key version used to encrypt the initial passwords. The key has to have ASYMMETRIC_DECRYPT purpose.
        "logicalInterfaces": [ # 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.
          { # Each logical interface represents a logical abstraction of the underlying physical interface (for eg. bond, nic) of the instance. Each logical interface can effectively map to multiple network-IP pairs and still be mapped to one underlying physical interface.
            "interfaceIndex": 42, # 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.
            "logicalNetworkInterfaces": [ # List of logical network interfaces within a logical interface.
              { # Each logical network interface is effectively a network and IP pair.
                "defaultGateway": True or False, # Whether this interface is the default gateway for the instance. Only one interface can be the default gateway for the instance.
                "id": "A String", # An identifier for the `Network`, generated by the backend.
                "ipAddress": "A String", # IP address in the network
                "network": "A String", # Name of the network
                "networkType": "A String", # Type of network.
              },
            ],
            "name": "A String", # Interface name. This is of syntax or and forms part of the network template name.
          },
        ],
        "name": "A String", # The name of the instance config.
        "networkConfig": "A String", # The type of network configuration on the instance.
        "networkTemplate": "A String", # Server network template name. Filled if InstanceConfig.multivlan_config is true.
        "osImage": "A String", # OS image to initialize the instance. [Available images](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations)
        "privateNetwork": { # A network. # Private network address, if any. Filled if InstanceConfig.multivlan_config is false.
          "address": "A String", # IPv4 address to be assigned to the server.
          "existingNetworkId": "A String", # Name of the existing network to use.
          "networkId": "A String", # Id of the network to use, within the same ProvisioningConfig request.
        },
        "sshKeyNames": [ # Optional. List of names of ssh keys used to provision the instance.
          "A String",
        ],
        "userNote": "A String", # User note field, it can be used by customers to add additional information for the BMS Ops team .
      },
    ],
    "location": "A String", # Optional. Location name of this ProvisioningConfig. It is optional only for Intake UI transition period.
    "name": "A String", # Output only. The system-generated name of the provisioning config. This follows the UUID format.
    "networks": [ # Networks to be created.
      { # Configuration parameters for a new network.
        "bandwidth": "A String", # Interconnect bandwidth. Set only when type is CLIENT.
        "cidr": "A String", # CIDR range of the network.
        "gcpService": "A String", # The GCP service of the network. Available gcp_service are in https://cloud.google.com/bare-metal/docs/bms-planning.
        "id": "A String", # A transient unique identifier to identify a volume within an ProvisioningConfig request.
        "jumboFramesEnabled": True or False, # The JumboFramesEnabled option for customer to set.
        "name": "A String", # Output only. The name of the network config.
        "serviceCidr": "A String", # Service CIDR, if any.
        "type": "A String", # The type of this network, either Client or Private.
        "userNote": "A String", # User note field, it can be used by customers to add additional information for the BMS Ops team .
        "vlanAttachments": [ # 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
          { # A GCP vlan attachment.
            "id": "A String", # Identifier of the VLAN attachment.
            "pairingKey": "A String", # Attachment pairing key.
          },
        ],
        "vlanSameProject": True or False, # Whether the VLAN attachment pair is located in the same project.
        "vrf": "A 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.
      },
    ],
    "pod": "A 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.
    "state": "A String", # Output only. State of ProvisioningConfig.
    "statusMessage": "A String", # Optional status messages associated with the FAILED state.
    "ticketId": "A String", # A generated ticket id to track provisioning request.
    "updateTime": "A String", # Output only. Last update timestamp.
    "volumes": [ # Volumes to be created.
      { # Configuration parameters for a new volume.
        "gcpService": "A String", # The GCP service of the storage volume. Available gcp_service are in https://cloud.google.com/bare-metal/docs/bms-planning.
        "id": "A String", # A transient unique identifier to identify a volume within an ProvisioningConfig request.
        "lunRanges": [ # LUN ranges to be configured. Set only when protocol is PROTOCOL_FC.
          { # A LUN(Logical Unit Number) range.
            "quantity": 42, # Number of LUNs to create.
            "sizeGb": 42, # The requested size of each LUN, in GB.
          },
        ],
        "machineIds": [ # Machine ids connected to this volume. Set only when protocol is PROTOCOL_FC.
          "A String",
        ],
        "name": "A String", # Output only. The name of the volume config.
        "nfsExports": [ # NFS exports. Set only when protocol is PROTOCOL_NFS.
          { # A NFS export entry.
            "allowDev": True or False, # Allow dev flag in NfsShare AllowedClientsRequest.
            "allowSuid": True or False, # Allow the setuid flag.
            "cidr": "A String", # A CIDR range.
            "machineId": "A String", # Either a single machine, identified by an ID, or a comma-separated list of machine IDs.
            "networkId": "A String", # Network to use to publish the export.
            "noRootSquash": True or False, # 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.
            "permissions": "A String", # Export permissions.
          },
        ],
        "performanceTier": "A String", # Performance tier of the Volume. Default is SHARED.
        "protocol": "A String", # Volume protocol.
        "sizeGb": 42, # The requested size of this volume, in GB.
        "snapshotsEnabled": True or False, # Whether snapshots should be enabled.
        "type": "A String", # The type of this Volume.
        "userNote": "A String", # User note field, it can be used by customers to add additional information for the BMS Ops team .
      },
    ],
    "vpcScEnabled": True or False, # If true, VPC SC is enabled for the cluster.
  },
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response for SubmitProvisioningConfig.
  "provisioningConfig": { # A provisioning configuration. # The submitted provisioning config.
    "cloudConsoleUri": "A String", # Output only. URI to Cloud Console UI view of this provisioning config.
    "customId": "A String", # Optional. The user-defined identifier of the provisioning config.
    "email": "A String", # Email provided to send a confirmation with provisioning config to. Deprecated in favour of email field in request messages.
    "handoverServiceAccount": "A String", # A service account to enable customers to access instance credentials upon handover.
    "instances": [ # Instances to be created.
      { # Configuration parameters for a new instance.
        "accountNetworksEnabled": True or False, # If true networks can be from different projects of the same vendor account.
        "clientNetwork": { # A network. # Client network address. Filled if InstanceConfig.multivlan_config is false.
          "address": "A String", # IPv4 address to be assigned to the server.
          "existingNetworkId": "A String", # Name of the existing network to use.
          "networkId": "A String", # Id of the network to use, within the same ProvisioningConfig request.
        },
        "hyperthreading": True or False, # Whether the instance should be provisioned with Hyperthreading enabled.
        "id": "A String", # A transient unique identifier to idenfity an instance within an ProvisioningConfig request.
        "instanceType": "A String", # Instance type. [Available types](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations)
        "kmsKeyVersion": "A String", # Name of the KMS crypto key version used to encrypt the initial passwords. The key has to have ASYMMETRIC_DECRYPT purpose.
        "logicalInterfaces": [ # 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.
          { # Each logical interface represents a logical abstraction of the underlying physical interface (for eg. bond, nic) of the instance. Each logical interface can effectively map to multiple network-IP pairs and still be mapped to one underlying physical interface.
            "interfaceIndex": 42, # 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.
            "logicalNetworkInterfaces": [ # List of logical network interfaces within a logical interface.
              { # Each logical network interface is effectively a network and IP pair.
                "defaultGateway": True or False, # Whether this interface is the default gateway for the instance. Only one interface can be the default gateway for the instance.
                "id": "A String", # An identifier for the `Network`, generated by the backend.
                "ipAddress": "A String", # IP address in the network
                "network": "A String", # Name of the network
                "networkType": "A String", # Type of network.
              },
            ],
            "name": "A String", # Interface name. This is of syntax or and forms part of the network template name.
          },
        ],
        "name": "A String", # The name of the instance config.
        "networkConfig": "A String", # The type of network configuration on the instance.
        "networkTemplate": "A String", # Server network template name. Filled if InstanceConfig.multivlan_config is true.
        "osImage": "A String", # OS image to initialize the instance. [Available images](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations)
        "privateNetwork": { # A network. # Private network address, if any. Filled if InstanceConfig.multivlan_config is false.
          "address": "A String", # IPv4 address to be assigned to the server.
          "existingNetworkId": "A String", # Name of the existing network to use.
          "networkId": "A String", # Id of the network to use, within the same ProvisioningConfig request.
        },
        "sshKeyNames": [ # Optional. List of names of ssh keys used to provision the instance.
          "A String",
        ],
        "userNote": "A String", # User note field, it can be used by customers to add additional information for the BMS Ops team .
      },
    ],
    "location": "A String", # Optional. Location name of this ProvisioningConfig. It is optional only for Intake UI transition period.
    "name": "A String", # Output only. The system-generated name of the provisioning config. This follows the UUID format.
    "networks": [ # Networks to be created.
      { # Configuration parameters for a new network.
        "bandwidth": "A String", # Interconnect bandwidth. Set only when type is CLIENT.
        "cidr": "A String", # CIDR range of the network.
        "gcpService": "A String", # The GCP service of the network. Available gcp_service are in https://cloud.google.com/bare-metal/docs/bms-planning.
        "id": "A String", # A transient unique identifier to identify a volume within an ProvisioningConfig request.
        "jumboFramesEnabled": True or False, # The JumboFramesEnabled option for customer to set.
        "name": "A String", # Output only. The name of the network config.
        "serviceCidr": "A String", # Service CIDR, if any.
        "type": "A String", # The type of this network, either Client or Private.
        "userNote": "A String", # User note field, it can be used by customers to add additional information for the BMS Ops team .
        "vlanAttachments": [ # 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
          { # A GCP vlan attachment.
            "id": "A String", # Identifier of the VLAN attachment.
            "pairingKey": "A String", # Attachment pairing key.
          },
        ],
        "vlanSameProject": True or False, # Whether the VLAN attachment pair is located in the same project.
        "vrf": "A 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.
      },
    ],
    "pod": "A 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.
    "state": "A String", # Output only. State of ProvisioningConfig.
    "statusMessage": "A String", # Optional status messages associated with the FAILED state.
    "ticketId": "A String", # A generated ticket id to track provisioning request.
    "updateTime": "A String", # Output only. Last update timestamp.
    "volumes": [ # Volumes to be created.
      { # Configuration parameters for a new volume.
        "gcpService": "A String", # The GCP service of the storage volume. Available gcp_service are in https://cloud.google.com/bare-metal/docs/bms-planning.
        "id": "A String", # A transient unique identifier to identify a volume within an ProvisioningConfig request.
        "lunRanges": [ # LUN ranges to be configured. Set only when protocol is PROTOCOL_FC.
          { # A LUN(Logical Unit Number) range.
            "quantity": 42, # Number of LUNs to create.
            "sizeGb": 42, # The requested size of each LUN, in GB.
          },
        ],
        "machineIds": [ # Machine ids connected to this volume. Set only when protocol is PROTOCOL_FC.
          "A String",
        ],
        "name": "A String", # Output only. The name of the volume config.
        "nfsExports": [ # NFS exports. Set only when protocol is PROTOCOL_NFS.
          { # A NFS export entry.
            "allowDev": True or False, # Allow dev flag in NfsShare AllowedClientsRequest.
            "allowSuid": True or False, # Allow the setuid flag.
            "cidr": "A String", # A CIDR range.
            "machineId": "A String", # Either a single machine, identified by an ID, or a comma-separated list of machine IDs.
            "networkId": "A String", # Network to use to publish the export.
            "noRootSquash": True or False, # 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.
            "permissions": "A String", # Export permissions.
          },
        ],
        "performanceTier": "A String", # Performance tier of the Volume. Default is SHARED.
        "protocol": "A String", # Volume protocol.
        "sizeGb": 42, # The requested size of this volume, in GB.
        "snapshotsEnabled": True or False, # Whether snapshots should be enabled.
        "type": "A String", # The type of this Volume.
        "userNote": "A String", # User note field, it can be used by customers to add additional information for the BMS Ops team .
      },
    ],
    "vpcScEnabled": True or False, # If true, VPC SC is enabled for the cluster.
  },
}