@@ -2,7 +2,6 @@ package scaleway
2
2
3
3
import (
4
4
"fmt"
5
- "strings"
6
5
"testing"
7
6
8
7
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
@@ -494,19 +493,67 @@ func TestAccScalewayInstanceServer_AdditionalVolumes(t *testing.T) {
494
493
CheckDestroy : testAccCheckScalewayInstanceServerDestroy (tt ),
495
494
Steps : []resource.TestStep {
496
495
{
497
- Config : testAccCheckScalewayInstanceServerConfigVolumes (false , InstanceServerStateStarted ),
496
+ // With additional local
497
+ Config : `
498
+ resource "scaleway_instance_volume" "local" {
499
+ size_in_gb = 10
500
+ type = "l_ssd"
501
+ }
502
+
503
+ resource "scaleway_instance_server" "base" {
504
+ image = "ubuntu_focal"
505
+ type = "DEV1-S"
506
+
507
+ root_volume {
508
+ size_in_gb = 10
509
+ }
510
+
511
+ tags = [ "terraform-test", "scaleway_instance_server", "additional_volume_ids" ]
512
+
513
+ additional_volume_ids = [
514
+ scaleway_instance_volume.local.id
515
+ ]
516
+ }
517
+ ` ,
498
518
Check : resource .ComposeTestCheckFunc (
499
519
testAccCheckScalewayInstanceServerExists (tt , "scaleway_instance_server.base" ),
500
- resource .TestCheckResourceAttr ("scaleway_instance_server.base" , "root_volume.0.size_in_gb" , "20 " ),
520
+ resource .TestCheckResourceAttr ("scaleway_instance_server.base" , "root_volume.0.size_in_gb" , "10 " ),
501
521
),
502
522
},
503
523
{
504
- Config : testAccCheckScalewayInstanceServerConfigVolumes (true , InstanceServerStateStarted ),
524
+ // With additional local and block
525
+ Config : `
526
+ resource "scaleway_instance_volume" "local" {
527
+ size_in_gb = 10
528
+ type = "l_ssd"
529
+ }
530
+
531
+ resource "scaleway_instance_volume" "block" {
532
+ size_in_gb = 10
533
+ type = "b_ssd"
534
+ }
535
+
536
+ resource "scaleway_instance_server" "base" {
537
+ image = "ubuntu_focal"
538
+ type = "DEV1-S"
539
+
540
+ root_volume {
541
+ size_in_gb = 10
542
+ }
543
+
544
+ tags = [ "terraform-test", "scaleway_instance_server", "additional_volume_ids" ]
545
+
546
+ additional_volume_ids = [
547
+ scaleway_instance_volume.local.id,
548
+ scaleway_instance_volume.block.id
549
+ ]
550
+ }
551
+ ` ,
505
552
Check : resource .ComposeTestCheckFunc (
506
- testAccCheckScalewayInstanceVolumeExists (tt , "scaleway_instance_volume.base_block " ),
553
+ testAccCheckScalewayInstanceVolumeExists (tt , "scaleway_instance_volume.block " ),
507
554
testAccCheckScalewayInstanceServerExists (tt , "scaleway_instance_server.base" ),
508
- resource .TestCheckResourceAttr ("scaleway_instance_volume.base_block " , "size_in_gb" , "10" ),
509
- resource .TestCheckResourceAttr ("scaleway_instance_server.base" , "root_volume.0.size_in_gb" , "20 " ),
555
+ resource .TestCheckResourceAttr ("scaleway_instance_volume.block " , "size_in_gb" , "10" ),
556
+ resource .TestCheckResourceAttr ("scaleway_instance_server.base" , "root_volume.0.size_in_gb" , "10 " ),
510
557
),
511
558
},
512
559
},
@@ -757,44 +804,6 @@ func testAccCheckScalewayInstanceServerDestroy(tt *TestTools) resource.TestCheck
757
804
}
758
805
}
759
806
760
- func testAccCheckScalewayInstanceServerConfigVolumes (withBlock bool , state string , localVolumesInGB ... int ) string {
761
- additionalVolumeResources := ""
762
- baseVolume := 20
763
- var additionalVolumeIDs []string
764
- for i , size := range localVolumesInGB {
765
- additionalVolumeResources += fmt .Sprintf (`
766
- resource "scaleway_instance_volume" "base_volume%d" {
767
- size_in_gb = %d
768
- type = "l_ssd"
769
- }` , i , size )
770
- additionalVolumeIDs = append (additionalVolumeIDs , fmt .Sprintf (`"${scaleway_instance_volume.base_volume%d.id}"` , i ))
771
- baseVolume -= size
772
- }
773
-
774
- if withBlock {
775
- additionalVolumeResources += `
776
- resource "scaleway_instance_volume" "base_block" {
777
- size_in_gb = 10
778
- type = "b_ssd"
779
- }`
780
- additionalVolumeIDs = append (additionalVolumeIDs , `"${scaleway_instance_volume.base_block.id}"` )
781
- }
782
- return fmt .Sprintf (`
783
- %s
784
-
785
- resource "scaleway_instance_server" "base" {
786
- image = "ubuntu_focal"
787
- type = "DEV1-S"
788
- root_volume {
789
- size_in_gb = %d
790
- }
791
- tags = [ "terraform-test", "scaleway_instance_server", "additional_volume_ids" ]
792
- state = "%s"
793
-
794
- additional_volume_ids = [ %s ]
795
- }` , additionalVolumeResources , baseVolume , state , strings .Join (additionalVolumeIDs , "," ))
796
- }
797
-
798
807
func TestAccScalewayInstanceServer_Bootscript (t * testing.T ) {
799
808
tt := NewTestTools (t )
800
809
defer tt .Cleanup ()
0 commit comments