@@ -1453,6 +1453,7 @@ func getUploadURLFromSource(cmd *cobra.Command, uploadsWrapper wrappers.UploadsW
14531453 userIncludeFilter , _ := cmd .Flags ().GetString (commonParams .IncludeFilterFlag )
14541454 projectName , _ := cmd .Flags ().GetString (commonParams .ProjectName )
14551455 containerScanTriggered := strings .Contains (actualScanTypes , commonParams .ContainersType )
1456+ containerImagesFlag , _ := cmd .Flags ().GetString (commonParams .ContainerImagesFlag )
14561457 containerResolveLocallyFlag , _ := cmd .Flags ().GetString (commonParams .ContainerResolveLocallyFlag )
14571458 containerResolveLocally := strings .EqualFold (containerResolveLocallyFlag , "true" )
14581459 scaResolverParams , scaResolver := getScaResolverFlags (cmd )
@@ -1487,8 +1488,8 @@ func getUploadURLFromSource(cmd *cobra.Command, uploadsWrapper wrappers.UploadsW
14871488 }
14881489 }
14891490
1490- if containerScanTriggered {
1491- containerResolverError := runContainerResolver (cmd , directoryPath , containerResolveLocally )
1491+ if containerScanTriggered && ( containerResolveLocally || containerImagesFlag != "" ) {
1492+ containerResolverError := runContainerResolver (cmd , directoryPath , containerImagesFlag , containerResolveLocally )
14921493 if containerResolverError != nil {
14931494 if unzip {
14941495 _ = cleanTempUnzipDirectory (directoryPath )
@@ -1497,7 +1498,7 @@ func getUploadURLFromSource(cmd *cobra.Command, uploadsWrapper wrappers.UploadsW
14971498 }
14981499 }
14991500
1500- if isSingleContainerScanTriggered () && containerResolveLocally {
1501+ if isSingleContainerScanTriggered () && ( containerResolveLocally || containerImagesFlag != "" ) {
15011502 logger .PrintIfVerbose ("Single container scan triggered: compressing only the container resolution file" )
15021503 containerResolutionFilePath := filepath .Join (directoryPath , containerResolutionFileName )
15031504 zipFilePath , dirPathErr = util .CompressFile (containerResolutionFilePath , containerResolutionFileName , directoryCreationPrefix )
@@ -1523,23 +1524,26 @@ func getUploadURLFromSource(cmd *cobra.Command, uploadsWrapper wrappers.UploadsW
15231524 return preSignedURL , zipFilePath , nil
15241525}
15251526
1526- func runContainerResolver (cmd * cobra.Command , directoryPath string , containerResolveLocally bool ) error {
1527- containerImages , _ := cmd .Flags ().GetString (commonParams .ContainerImagesFlag )
1527+ func runContainerResolver (cmd * cobra.Command , directoryPath string , containerImageFlag string , containerResolveLocally bool ) error {
15281528 debug , _ := cmd .Flags ().GetBool (commonParams .DebugFlag )
15291529 var containerImagesList []string
1530+ var validContainerImages []string
15301531
1531- if containerImages != "" {
1532- containerImagesList = strings .Split (strings .TrimSpace (containerImages ), "," )
1532+ if containerImageFlag != "" {
1533+ containerImagesList = strings .Split (strings .TrimSpace (containerImageFlag ), "," )
15331534 for _ , containerImageName := range containerImagesList {
1534- if containerImagesErr := validateContainerImageFormat (containerImageName ); containerImagesErr != nil {
1535- return containerImagesErr
1535+ containerImagesErr := validateContainerImageFormat (containerImageName )
1536+ if containerImagesErr != nil {
1537+ logger .Printf ("Invalid container image format: %s, error: %s" , containerImageName , containerImagesErr )
1538+ } else {
1539+ validContainerImages = append (validContainerImages , containerImageName )
15361540 }
15371541 }
1538- logger .PrintIfVerbose (fmt .Sprintf ("User input container images identified: %v" , strings .Join (containerImagesList , ", " )))
1542+ logger .PrintIfVerbose (fmt .Sprintf ("User input container images identified: %v" , strings .Join (validContainerImages , ", " )))
15391543 }
15401544
1541- if containerResolveLocally || len (containerImagesList ) > 0 {
1542- containerResolverERR := containerResolver .Resolve (directoryPath , directoryPath , containerImagesList , debug )
1545+ if containerResolveLocally || len (validContainerImages ) > 0 {
1546+ containerResolverERR := containerResolver .Resolve (directoryPath , directoryPath , validContainerImages , debug )
15431547 if containerResolverERR != nil {
15441548 return containerResolverERR
15451549 }
0 commit comments