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
}