func runImageImport()

in cli_tools/gce_onestep_image_import/onestep_importer/utils.go [101:142]


func runImageImport(args *OneStepImportArguments) error {
	imageImportPath := path.ToWorkingDir("gce_vm_image_import", args.ExecutablePath)

	imageImportArgs := []string{
		fmt.Sprintf("-image_name=%v", args.ImageName),
		fmt.Sprintf("-client_id=%v", args.ClientID),
		fmt.Sprintf("-client_version=%v", args.ClientVersion),
		fmt.Sprintf("-os=%v", args.OS),
		fmt.Sprintf("-source_file=%v", args.SourceFile),
		fmt.Sprintf("-no_guest_environment=%v", args.NoGuestEnvironment),
		fmt.Sprintf("-family=%v", args.Family),
		fmt.Sprintf("-description=%v", args.Description),
		fmt.Sprintf("-network=%v", args.Network),
		fmt.Sprintf("-subnet=%v", args.Subnet),
		fmt.Sprintf("-zone=%v", args.Zone),
		fmt.Sprintf("-timeout=%v", args.Timeout),
		fmt.Sprintf("-project=%v", *args.ProjectPtr),
		fmt.Sprintf("-scratch_bucket_gcs_path=%v", args.ScratchBucketGcsPath),
		fmt.Sprintf("-oauth=%v", args.Oauth),
		fmt.Sprintf("-compute_endpoint_override=%v", args.ComputeEndpoint),
		fmt.Sprintf("-compute_service_account=%v", args.ComputeServiceAccount),
		fmt.Sprintf("-disable_gcs_logging=%v", args.GcsLogsDisabled),
		fmt.Sprintf("-disable_cloud_logging=%v", args.CloudLogsDisabled),
		fmt.Sprintf("-disable_stdout_logging=%v", args.StdoutLogsDisabled),
		fmt.Sprintf("-no_external_ip=%v", args.NoExternalIP),
		fmt.Sprintf("-enable_nested_virtualization=%v", args.NestedVirtualizationEnabled),
		fmt.Sprintf("-labels=%v", flags.KeyValueString(args.Labels).String()),
		fmt.Sprintf("-storage_location=%v", args.StorageLocation),
	}

	if args.WorkerMachineSeries != nil && len(args.WorkerMachineSeries) > 0 {
		for _, wms := range args.WorkerMachineSeries {
			imageImportArgs = append(imageImportArgs, fmt.Sprintf("-worker_machine_series=%v", wms))
		}
	}

	err := runCmd(imageImportPath, imageImportArgs)
	if err != nil {
		return daisy.Errf("failed to import image: %v", err)
	}
	return nil
}