func NewOVFImporter()

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
}