BulkInsertInstanceResource

A transient resource used in compute.instances.bulkInsert and compute.regionInstances.bulkInsert . This resource is not persisted anywhere, it is used only for processing the requests.

JSON representation
{
  "count": string,
  "minCount": string,
  "namePattern": string,
  "perInstanceProperties": {
    string: {
      object (PerInstanceProperties)
    },
    ...
  },
  "sourceInstanceTemplate": string,
  "instanceProperties": {
    object (InstanceProperties)
  },
  "locationPolicy": {
    object (LocationPolicy)
  },
  "instanceFlexibilityPolicy": {
    object (InstanceFlexibilityPolicy)
  }
}
Fields
count

string (int64 format)

The maximum number of instances to create.

minCount

string (int64 format)

The minimum number of instances to create. If no

minCount

is specified then

count

is used as the default value. If

minCount

instances cannot be created, then no instances will be created and instances already created will be deleted.

namePattern

string

The string pattern used for the names of the VMs. Either

namePattern

or

perInstanceProperties

must be set. The pattern must contain one continuous sequence of placeholder hash characters (#) with each character corresponding to one digit of the generated instance name. Example: a

namePattern

of

inst-####

generates instance names such as

inst-0001

and

inst-0002

. If existing instances in the same project and zone have names that match the name pattern then the generated instance numbers start after the biggest existing number. For example, if there exists an instance with name

inst-0050

, then instance names generated using the pattern

inst-####

begin with

inst-0051

. The name pattern placeholder

#...#

can contain up to 18 characters.

perInstanceProperties

map (key: string, value: object (PerInstanceProperties))

Per-instance properties to be set on individual instances. Keys of this map specify requested instance names. Can be empty if

namePattern

is used.

sourceInstanceTemplate

string

Specifies the instance template from which to create instances. You may combine

sourceInstanceTemplate

with

instanceProperties

to override specific values from an existing instance template. Bulk API follows the semantics of JSON Merge Patch described by RFC 7396.

It can be a full or partial URL. For example, the following are all valid URLs to an instance template:

This field is optional.

instanceProperties

object (InstanceProperties)

The instance properties defining the VM instances to be created. Required if

sourceInstanceTemplate

is not provided.

locationPolicy

object (LocationPolicy)

Policy for choosing target zone. For more information, see Create VMs in bulk.

instanceFlexibilityPolicy

object (InstanceFlexibilityPolicy)

A flexible specification of machine type of instances to create.

Available from all

PerInstanceProperties

Per-instance properties to be set on individual instances. To be extended in the future.

JSON representation
{
  "name": string,
  "hostname": string
}
Fields
name

string

Output only. This field is only temporary. It will be removed. Do not use it.

hostname

string

Specifies the hostname of the instance. More details in: https://documentation.s3ns.fr/compute/docs/instances/custom-hostname-vm#naming_convention

InstanceFlexibilityPolicy

A flexible specification of machine types for instances to create.

JSON representation
{
  "instanceSelections": {
    string: {
      object (InstanceSelection)
    },
    ...
  }
}
Fields
instanceSelections

map (key: string, value: object (InstanceSelection))

Specification of alternative, flexible instance subsets. One of them will be selected to create the instances based on various criteria, like: - ranks, - location policy, - current capacity, - available reservations (you can specify affinity in InstanceProperties), - SWAN/GOOSE limitations. Key is an arbitrary, unique RFC1035 string that identifies the instance selection.

Available from all

InstanceSelection

Specification of machine type to use. Every position inside this message is an alternative. The count specified in the shape flexibility must not exceed the number of entries in perInstanceProperties or the capacity of the namePattern, if used.

JSON representation
{
  "machineTypes": [
    string
  ],
  "rank": string,
  "disks": [
    {
      object (AttachedDisk)
    }
  ]
}
Fields
machineTypes[]

string

Alternative machine types to use for instances that are created from these properties. This field only accepts a machine type names, for example n2-standard-4 and not URLs or partial URLs.

Available from all

rank

string (int64 format)

Rank when prioritizing the shape flexibilities. The instance selections with rank are considered first, in the ascending order of the rank. If not set, defaults to 0.

Available from all

disks[]

object (AttachedDisk)

Disks to be attached to the instances created from in this selection. They override the disks specified in the instance properties.

Available from all