in cli_tools/gce_ovf_import/ovf_importer/ovf_importer.go [102:137]
func NewOVFImporter(params *ovfdomain.OVFImportParams, logger logging.ToolLogger) (*OVFImporter, error) {
ctx := context.Background()
storageClient, err := storageutils.NewStorageClient(ctx, logger)
if err != nil {
return nil, err
}
computeClient, err := createComputeClient(&ctx, params)
if err != nil {
return nil, err
}
tarGcsExtractor := storageutils.NewTarGcsExtractor(ctx, storageClient, logger)
workingDirOVFImportWorkflow := toWorkingDir(getImportWorkflowPath(params), params)
ovfImporter := &OVFImporter{
ctx: ctx,
storageClient: storageClient,
computeClient: computeClient,
multiDiskImporter: multidiskimporter.NewMultiDiskImporter(params.WorkflowDir, computeClient, storageClient, logger),
imageImporter: nil,
resourceDeleter: deleter.NewResourceDeleter(computeClient, logger),
tarGcsExtractor: tarGcsExtractor,
workflowPath: workingDirOVFImportWorkflow,
ovfDescriptorLoader: ovfutils.NewOvfDescriptorLoader(storageClient),
Logger: logger,
params: params,
paramValidator: &ParamValidatorAndPopulator{
&computeutils.MetadataGCE{},
&computeutils.ZoneValidator{ComputeClient: computeClient},
&storageutils.BucketIteratorCreator{},
storageClient,
param.NewNetworkResolver(computeClient),
param.NewMachineSeriesDetector(computeClient),
logger,
},
}
return ovfImporter, nil
}