func()

in cli_tools/gce_ovf_import/ovf_importer/ovf_importer.go [304:362]


func (oi *OVFImporter) importDisksFiles() error {
	oi.imageLocation = oi.params.Region

	ovfGcsPath, shouldCleanup, err := oi.getOvfGcsPath(oi.params.ScratchBucketGcsPath)
	if shouldCleanup {
		oi.gcsPathToClean = ovfGcsPath
	}
	if err != nil {
		return err
	}

	ovfDescriptor, diskInfos, err := ovfutils.GetOVFDescriptorAndDiskPaths(
		oi.ovfDescriptorLoader, ovfGcsPath)
	if err != nil {
		return err
	}

	osIDValue, err := oi.getOsIDValue(ovfDescriptor)
	if err != nil {
		return err
	}

	oi.params.OsID = osIDValue
	oi.params.Deadline = oi.params.Deadline.Add(-1 * instanceConstructionTime)

	oi.machineTypeString, err = oi.getMachineType(ovfDescriptor, *oi.params.Project, oi.params.Zone)
	if err != nil {
		return err
	}

	oi.Logger.User(fmt.Sprintf("Will create instance of `%v` machine type.", oi.machineTypeString))

	var disksNamesPrefix string
	if oi.params.IsInstanceImport() {
		disksNamesPrefix = oi.params.InstanceNames
	} else {
		disksNamesPrefix = oi.params.MachineImageName
	}

	if len(diskInfos) > 1 {
		var dataDiskURIs []string
		for _, info := range diskInfos[1:] {
			dataDiskURIs = append(dataDiskURIs, info.FilePath)
		}
		disks, err := oi.multiDiskImporter.Import(oi.ctx, oi.params, dataDiskURIs)
		if err != nil {
			return err
		}
		oi.disks = disks
	}

	if len(diskInfos) > 0 {
		if err = oi.importBootDiskImage(diskInfos[0], disksNamesPrefix); err != nil {
			return err
		}
	}

	return err
}