@@ -338,7 +338,7 @@ func TestAccScalewayInstanceServer_State2(t *testing.T) {
338
338
})
339
339
}
340
340
341
- func TestAccScalewayInstanceServer_UserData1 (t * testing.T ) {
341
+ func TestAccScalewayInstanceServer_UserData_WithCloudInitAtStart (t * testing.T ) {
342
342
tt := NewTestTools (t )
343
343
defer tt .Cleanup ()
344
344
resource .ParallelTest (t , resource.TestCase {
@@ -347,26 +347,78 @@ func TestAccScalewayInstanceServer_UserData1(t *testing.T) {
347
347
CheckDestroy : testAccCheckScalewayInstanceServerDestroy (tt ),
348
348
Steps : []resource.TestStep {
349
349
{
350
- Config : testAccCheckScalewayInstanceServerConfigUserData (true , true ),
350
+ // With cloud-init and user data
351
+ Config : `
352
+ data "scaleway_instance_image" "ubuntu" {
353
+ architecture = "x86_64"
354
+ name = "Ubuntu 20.04 Focal Fossa"
355
+ }
356
+
357
+ resource "scaleway_instance_server" "base" {
358
+ image = "${data.scaleway_instance_image.ubuntu.id}"
359
+ type = "DEV1-S"
360
+
361
+ user_data {
362
+ key = "plop"
363
+ value = "world"
364
+ }
365
+
366
+ user_data {
367
+ key = "blanquette"
368
+ value = "hareng pomme à l'huile"
369
+ }
370
+
371
+ cloud_init = <<EOF
372
+ #cloud-config
373
+ apt_update: true
374
+ apt_upgrade: true
375
+ EOF
376
+ }` ,
351
377
Check : resource .ComposeTestCheckFunc (
352
378
testAccCheckScalewayInstanceServerExists (tt , "scaleway_instance_server.base" ),
353
- resource .TestCheckResourceAttr ("scaleway_instance_server.base" , "user_data.459781404 .key" , "plop " ),
354
- resource .TestCheckResourceAttr ("scaleway_instance_server.base" , "user_data.459781404 .value" , "world " ),
355
- resource .TestCheckResourceAttr ("scaleway_instance_server.base" , "user_data.599848950 .key" , "blanquette " ),
356
- resource .TestCheckResourceAttr ("scaleway_instance_server.base" , "user_data.599848950 .value" , "hareng pomme à l'huile " ),
379
+ resource .TestCheckResourceAttr ("scaleway_instance_server.base" , "user_data.0 .key" , "blanquette " ),
380
+ resource .TestCheckResourceAttr ("scaleway_instance_server.base" , "user_data.0 .value" , "hareng pomme à l'huile " ),
381
+ resource .TestCheckResourceAttr ("scaleway_instance_server.base" , "user_data.1 .key" , "plop " ),
382
+ resource .TestCheckResourceAttr ("scaleway_instance_server.base" , "user_data.1 .value" , "world " ),
357
383
resource .TestCheckResourceAttr ("scaleway_instance_server.base" , "cloud_init" , "#cloud-config\n apt_update: true\n apt_upgrade: true\n " ),
358
384
),
359
385
},
360
386
{
361
- Config : testAccCheckScalewayInstanceServerConfigUserData (false , true ),
387
+ // With cloud-init and without user data
388
+ Config : `
389
+ data "scaleway_instance_image" "ubuntu" {
390
+ architecture = "x86_64"
391
+ name = "Ubuntu 20.04 Focal Fossa"
392
+ }
393
+
394
+ resource "scaleway_instance_server" "base" {
395
+ image = "${data.scaleway_instance_image.ubuntu.id}"
396
+ type = "DEV1-S"
397
+ cloud_init = <<EOF
398
+ #cloud-config
399
+ apt_update: true
400
+ apt_upgrade: true
401
+ EOF
402
+ }` ,
362
403
Check : resource .ComposeTestCheckFunc (
363
404
testAccCheckScalewayInstanceServerExists (tt , "scaleway_instance_server.base" ),
364
405
resource .TestCheckNoResourceAttr ("scaleway_instance_server.base" , "user_data" ),
365
406
resource .TestCheckResourceAttr ("scaleway_instance_server.base" , "cloud_init" , "#cloud-config\n apt_update: true\n apt_upgrade: true\n " ),
366
407
),
367
408
},
368
409
{
369
- Config : testAccCheckScalewayInstanceServerConfigUserData (false , false ),
410
+ // No user data nor cloud init
411
+ Config : `
412
+ data "scaleway_instance_image" "ubuntu" {
413
+ architecture = "x86_64"
414
+ name = "Ubuntu 20.04 Focal Fossa"
415
+ }
416
+
417
+ resource "scaleway_instance_server" "base" {
418
+ image = "${data.scaleway_instance_image.ubuntu.id}"
419
+ type = "DEV1-S"
420
+ tags = [ "terraform-test", "scaleway_instance_server", "user_data" ]
421
+ }` ,
370
422
Check : resource .ComposeTestCheckFunc (
371
423
testAccCheckScalewayInstanceServerExists (tt , "scaleway_instance_server.base" ),
372
424
resource .TestCheckNoResourceAttr ("scaleway_instance_server.base" , "user_data" ),
@@ -377,7 +429,7 @@ func TestAccScalewayInstanceServer_UserData1(t *testing.T) {
377
429
})
378
430
}
379
431
380
- func TestAccScalewayInstanceServer_UserData2 (t * testing.T ) {
432
+ func TestAccScalewayInstanceServer_UserData_WithoutCloudInitAtStart (t * testing.T ) {
381
433
tt := NewTestTools (t )
382
434
defer tt .Cleanup ()
383
435
resource .ParallelTest (t , resource.TestCase {
@@ -386,15 +438,43 @@ func TestAccScalewayInstanceServer_UserData2(t *testing.T) {
386
438
CheckDestroy : testAccCheckScalewayInstanceServerDestroy (tt ),
387
439
Steps : []resource.TestStep {
388
440
{
389
- Config : testAccCheckScalewayInstanceServerConfigUserData (false , false ),
441
+ // Without cloud-init
442
+ Config : `
443
+ data "scaleway_instance_image" "ubuntu" {
444
+ architecture = "x86_64"
445
+ name = "Ubuntu 20.04 Focal Fossa"
446
+ }
447
+
448
+ resource "scaleway_instance_server" "base" {
449
+ image = "${data.scaleway_instance_image.ubuntu.id}"
450
+ type = "DEV1-S"
451
+ tags = [ "terraform-test", "scaleway_instance_server", "user_data" ]
452
+ }` ,
390
453
Check : resource .ComposeTestCheckFunc (
391
454
testAccCheckScalewayInstanceServerExists (tt , "scaleway_instance_server.base" ),
392
455
resource .TestCheckNoResourceAttr ("scaleway_instance_server.base" , "user_data" ),
393
456
resource .TestCheckNoResourceAttr ("scaleway_instance_server.base" , "cloud_init" ),
394
457
),
395
458
},
396
459
{
397
- Config : testAccCheckScalewayInstanceServerConfigUserData (false , true ),
460
+ // With cloud-init
461
+ Config : `
462
+ data "scaleway_instance_image" "ubuntu" {
463
+ architecture = "x86_64"
464
+ name = "Ubuntu 20.04 Focal Fossa"
465
+ }
466
+
467
+ resource "scaleway_instance_server" "base" {
468
+ image = "${data.scaleway_instance_image.ubuntu.id}"
469
+ type = "DEV1-S"
470
+ tags = [ "terraform-test", "scaleway_instance_server", "user_data" ]
471
+
472
+ cloud_init = <<EOF
473
+ #cloud-config
474
+ apt_update: true
475
+ apt_upgrade: true
476
+ EOF
477
+ }` ,
398
478
Check : resource .ComposeTestCheckFunc (
399
479
testAccCheckScalewayInstanceServerExists (tt , "scaleway_instance_server.base" ),
400
480
resource .TestCheckNoResourceAttr ("scaleway_instance_server.base" , "user_data" ),
@@ -828,45 +908,6 @@ func testAccCheckScalewayInstanceServerDestroy(tt *TestTools) resource.TestCheck
828
908
}
829
909
}
830
910
831
- func testAccCheckScalewayInstanceServerConfigUserData (withUserData , withCloudInit bool ) string {
832
- additionalUserData := ""
833
- if withUserData {
834
- additionalUserData += `
835
- user_data {
836
- key = "plop"
837
- value = "world"
838
- }
839
-
840
- user_data {
841
- key = "blanquette"
842
- value = "hareng pomme à l'huile"
843
- }`
844
- }
845
-
846
- if withCloudInit {
847
- additionalUserData += `
848
- cloud_init = <<EOF
849
- #cloud-config
850
- apt_update: true
851
- apt_upgrade: true
852
- EOF`
853
- }
854
-
855
- return fmt .Sprintf (`
856
- data "scaleway_image" "ubuntu" {
857
- architecture = "x86_64"
858
- name = "Ubuntu 20.04 Focal Fossa"
859
- most_recent = true
860
- }
861
-
862
- resource "scaleway_instance_server" "base" {
863
- image = "${data.scaleway_image.ubuntu.id}"
864
- type = "DEV1-S"
865
- tags = [ "terraform-test", "scaleway_instance_server", "user_data" ]
866
- %s
867
- }` , additionalUserData )
868
- }
869
-
870
911
func testAccCheckScalewayInstanceServerConfigVolumes (withBlock bool , localVolumesInGB ... int ) string {
871
912
additionalVolumeResources := ""
872
913
baseVolume := 20
0 commit comments