@@ -389,22 +389,6 @@ func ResourceInstanceServerCreate(ctx context.Context, d *schema.ResourceData, m
389389 commercialType := d .Get ("type" ).(string )
390390
391391 imageUUID := locality .ExpandID (d .Get ("image" ))
392- if imageUUID != "" && ! scwvalidation .IsUUID (imageUUID ) {
393- // Replace dashes with underscores ubuntu-focal -> ubuntu_focal
394- imageLabel := formatImageLabel (imageUUID )
395-
396- marketPlaceAPI := marketplace .NewAPI (meta .ExtractScwClient (m ))
397- image , err := marketPlaceAPI .GetLocalImageByLabel (& marketplace.GetLocalImageByLabelRequest {
398- CommercialType : commercialType ,
399- Zone : zone ,
400- ImageLabel : imageLabel ,
401- Type : volumeTypeToMarketplaceFilter (d .Get ("root_volume.0.volume_type" )),
402- })
403- if err != nil {
404- return diag .FromErr (fmt .Errorf ("could not get image '%s': %s" , zonal .NewID (zone , imageLabel ), err ))
405- }
406- imageUUID = image .ID
407- }
408392
409393 req := & instanceSDK.CreateServerRequest {
410394 Zone : zone ,
@@ -473,6 +457,23 @@ func ResourceInstanceServerCreate(ctx context.Context, d *schema.ResourceData, m
473457 return diag .FromErr (err )
474458 }
475459
460+ if imageUUID != "" && ! scwvalidation .IsUUID (imageUUID ) {
461+ // Replace dashes with underscores ubuntu-focal -> ubuntu_focal
462+ imageLabel := formatImageLabel (imageUUID )
463+
464+ marketPlaceAPI := marketplace .NewAPI (meta .ExtractScwClient (m ))
465+ image , err := marketPlaceAPI .GetLocalImageByLabel (& marketplace.GetLocalImageByLabelRequest {
466+ CommercialType : commercialType ,
467+ Zone : zone ,
468+ ImageLabel : imageLabel ,
469+ Type : volumeTypeToMarketplaceFilter (req .Volumes ["0" ].VolumeType ),
470+ })
471+ if err != nil {
472+ return diag .FromErr (fmt .Errorf ("could not get image '%s': %s" , zonal .NewID (zone , imageLabel ), err ))
473+ }
474+ imageUUID = image .ID
475+ }
476+
476477 res , err := api .CreateServer (req , scw .WithContext (ctx ))
477478 if err != nil {
478479 return diag .FromErr (err )
0 commit comments