Bare Metal Solution API . projects . locations . provisioningConfigs

Instance Methods

close()

Close httplib2 connections.

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

Submit a provisiong configuration for a given project.

Method Details

close()
Close httplib2 connections.
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.
    "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.
        "clientNetwork": { # A network. # Client network address.
          "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)
        "name": "A String", # Output only. The name of the instance config.
        "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.
          "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.
        },
        "userNote": "A String", # User note field, it can be used by customers to add additional information for the BMS Ops team .
      },
    ],
    "name": "A String", # Output only. The name of the provisioning config.
    "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.
        "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 (b/194021617).
        "vlanAttachments": [ # List of VLAN attachments. As of now there are always 2 attachments, but it is going to change in the future (multi vlan).
          { # A GCP vlan attachment.
            "id": "A String", # Identifier of the VLAN attachment.
            "pairingKey": "A String", # Attachment pairing key.
          },
        ],
      },
    ],
    "ticketId": "A String", # A generated buganizer id to track provisioning request.
    "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.
          },
        ],
        "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 (b/194021617).
      },
    ],
  },
}

  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.
    "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.
        "clientNetwork": { # A network. # Client network address.
          "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)
        "name": "A String", # Output only. The name of the instance config.
        "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.
          "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.
        },
        "userNote": "A String", # User note field, it can be used by customers to add additional information for the BMS Ops team .
      },
    ],
    "name": "A String", # Output only. The name of the provisioning config.
    "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.
        "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 (b/194021617).
        "vlanAttachments": [ # List of VLAN attachments. As of now there are always 2 attachments, but it is going to change in the future (multi vlan).
          { # A GCP vlan attachment.
            "id": "A String", # Identifier of the VLAN attachment.
            "pairingKey": "A String", # Attachment pairing key.
          },
        ],
      },
    ],
    "ticketId": "A String", # A generated buganizer id to track provisioning request.
    "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.
          },
        ],
        "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 (b/194021617).
      },
    ],
  },
}