Bare Metal Solution API . projects . locations

Instance Methods

close()

Close httplib2 connections.

submitProvisioningConfig(project, location, body=None, x__xgafv=None)

Submit a provisiong configuration for a given project.

Method Details

close()
Close httplib2 connections.
submitProvisioningConfig(project, location, body=None, x__xgafv=None)
Submit a provisiong configuration for a given project.

Args:
  project: string, Required. The target project of the provisioning request. (required)
  location: string, Required. The target location of the provisioning request. (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": { # An provisioning configuration. # Required. The ProvisioningConfig to submit.
    "instances": [ # Instances to be created.
      { # Configuration parameters for a new instance.
        "clientNetwork": { # A network. # Client network address.
          "address": "A String", # IP address to be assigned to the server.
          "existingNetworkId": "A String", # 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.
          "networkId": "A String", # 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.
        },
        "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.
        "location": "A String", # Location where to deploy the instance.
        "osImage": "A String", # OS image to initialize the instance.
        "privateNetwork": { # A network. # Private network address, if any.
          "address": "A String", # IP address to be assigned to the server.
          "existingNetworkId": "A String", # 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.
          "networkId": "A String", # 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.
        },
        "userNote": "A String", # User note field, it can be used by customers to add additional information for the BMS Ops team (b/194021617).
      },
    ],
    "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.
        "id": "A String", # A transient unique identifier to identify a volume within an ProvisioningConfig request.
        "location": "A String", # Location where to deploy the network.
        "serviceCidr": "A String", # Service CIDR, if any.
        "type": "A String", # The type of this network.
        "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 reference to track the request.
    "volumes": [ # Volumes to be created.
      { # Configuration parameters for a new volume.
        "id": "A String", # A transient unique identifier to identify a volume within an ProvisioningConfig request.
        "location": "A String", # Location where to deploy the volume.
        "lunRanges": [ # LUN ranges to be configured. Set only when protocol is PROTOCOL_FC.
          { # A LUN 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",
        ],
        "nfsExports": [ # NFS exports. Set only when protocol is PROTOCOL_NFS.
          { # A NFS export entry.
            "allowDev": True or False, # Allow dev.
            "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.
            "permissions": "A String", # Export permissions.
          },
        ],
        "protocol": "A String", # Volume protocol.
        "sizeGb": 42, # The requested size of this volume, in GB. This will be updated in a later iteration with a generic size field.
        "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:

    { # An provisioning configuration.
  "instances": [ # Instances to be created.
    { # Configuration parameters for a new instance.
      "clientNetwork": { # A network. # Client network address.
        "address": "A String", # IP address to be assigned to the server.
        "existingNetworkId": "A String", # 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.
        "networkId": "A String", # 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.
      },
      "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.
      "location": "A String", # Location where to deploy the instance.
      "osImage": "A String", # OS image to initialize the instance.
      "privateNetwork": { # A network. # Private network address, if any.
        "address": "A String", # IP address to be assigned to the server.
        "existingNetworkId": "A String", # 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.
        "networkId": "A String", # 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.
      },
      "userNote": "A String", # User note field, it can be used by customers to add additional information for the BMS Ops team (b/194021617).
    },
  ],
  "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.
      "id": "A String", # A transient unique identifier to identify a volume within an ProvisioningConfig request.
      "location": "A String", # Location where to deploy the network.
      "serviceCidr": "A String", # Service CIDR, if any.
      "type": "A String", # The type of this network.
      "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 reference to track the request.
  "volumes": [ # Volumes to be created.
    { # Configuration parameters for a new volume.
      "id": "A String", # A transient unique identifier to identify a volume within an ProvisioningConfig request.
      "location": "A String", # Location where to deploy the volume.
      "lunRanges": [ # LUN ranges to be configured. Set only when protocol is PROTOCOL_FC.
        { # A LUN 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",
      ],
      "nfsExports": [ # NFS exports. Set only when protocol is PROTOCOL_NFS.
        { # A NFS export entry.
          "allowDev": True or False, # Allow dev.
          "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.
          "permissions": "A String", # Export permissions.
        },
      ],
      "protocol": "A String", # Volume protocol.
      "sizeGb": 42, # The requested size of this volume, in GB. This will be updated in a later iteration with a generic size field.
      "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).
    },
  ],
}