in integration_test/gce-testing-internal/gce/gce_testing.go [1199:1235]
func createVMFromVMOptions(options VMOptions) *VM {
vm := &VM{
Project: options.Project,
ImageSpec: options.ImageSpec,
Name: options.Name,
Network: os.Getenv("NETWORK_NAME"),
Zone: options.Zone,
}
if vm.Name == "" {
// The VM name needs to adhere to these restrictions:
// https://cloud.google.com/compute/docs/naming-resources#resource-name-format
vm.Name = fmt.Sprintf("%s-%s", sandboxPrefix, uuid.New())
}
if vm.Project == "" {
vm.Project = os.Getenv("PROJECT")
}
if vm.Network == "" {
vm.Network = "default"
}
if vm.Zone == "" {
// Chooses the next zone from ZONES.
vm.Zone = zonePicker.Next()
}
// Note: INSTANCE_SIZE takes precedence over options.MachineType.
vm.MachineType = os.Getenv("INSTANCE_SIZE")
if vm.MachineType == "" {
vm.MachineType = options.MachineType
}
if vm.MachineType == "" {
vm.MachineType = "e2-standard-4"
if IsARM(vm.ImageSpec) {
vm.MachineType = "t2a-standard-4"
}
}
return vm
}