@@ -122,7 +122,6 @@ func TestAccScalewayInstanceImage_Server(t *testing.T) {
122
122
resource "scaleway_instance_server" "main" {
123
123
image = "ubuntu_focal"
124
124
type = "DEV1-S"
125
- state = "stopped"
126
125
}
127
126
128
127
resource "scaleway_instance_snapshot" "main" {
@@ -152,7 +151,6 @@ func TestAccScalewayInstanceImage_Server(t *testing.T) {
152
151
resource "scaleway_instance_server" "main" {
153
152
image = "ubuntu_focal"
154
153
type = "DEV1-S"
155
- state = "stopped"
156
154
}
157
155
158
156
resource "scaleway_instance_snapshot" "main" {
@@ -208,7 +206,6 @@ func TestAccScalewayInstanceImage_ServerWithBlockVolume(t *testing.T) {
208
206
resource "scaleway_instance_server" "server" {
209
207
image = "ubuntu_focal"
210
208
type = "DEV1-S"
211
- state = "stopped"
212
209
}
213
210
resource "scaleway_instance_snapshot" "server" {
214
211
volume_id = scaleway_instance_server.server.root_volume.0.volume_id
@@ -264,7 +261,6 @@ func TestAccScalewayInstanceImage_ServerWithBlockVolume(t *testing.T) {
264
261
resource "scaleway_instance_server" "server" {
265
262
image = "ubuntu_focal"
266
263
type = "DEV1-S"
267
- state = "stopped"
268
264
}
269
265
resource "scaleway_instance_snapshot" "server" {
270
266
volume_id = scaleway_instance_server.server.root_volume.0.volume_id
@@ -303,6 +299,72 @@ func TestAccScalewayInstanceImage_ServerWithBlockVolume(t *testing.T) {
303
299
})
304
300
}
305
301
302
+ func TestAccScalewayInstanceImage_ServerWithLocalVolume (t * testing.T ) {
303
+ tt := NewTestTools (t )
304
+ defer tt .Cleanup ()
305
+ resource .Test (t , resource.TestCase {
306
+ PreCheck : func () { testAccPreCheck (t ) },
307
+ ProviderFactories : tt .ProviderFactories ,
308
+ CheckDestroy : resource .ComposeTestCheckFunc (
309
+ testAccCheckScalewayInstanceImageDestroy (tt ),
310
+ testAccCheckScalewayInstanceSnapshotDestroy (tt ),
311
+ testAccCheckScalewayInstanceVolumeDestroy (tt ),
312
+ testAccCheckScalewayInstanceServerDestroy (tt ),
313
+ ),
314
+ Steps : []resource.TestStep {
315
+ {
316
+ Config : `
317
+ resource "scaleway_instance_server" "server01" {
318
+ image = "ubuntu_focal"
319
+ type = "DEV1-S"
320
+ root_volume {
321
+ size_in_gb = 15
322
+ volume_type = "l_ssd"
323
+ }
324
+ }
325
+ resource "scaleway_instance_server" "server02" {
326
+ image = "ubuntu_focal"
327
+ type = "DEV1-S"
328
+ root_volume {
329
+ size_in_gb = 10
330
+ volume_type = "l_ssd"
331
+ }
332
+ }
333
+
334
+ resource "scaleway_instance_snapshot" "local01" {
335
+ volume_id = scaleway_instance_server.server01.root_volume.0.volume_id
336
+ depends_on = [ scaleway_instance_server.server01 ]
337
+ }
338
+ resource "scaleway_instance_snapshot" "local02" {
339
+ volume_id = scaleway_instance_server.server02.root_volume.0.volume_id
340
+ depends_on = [ scaleway_instance_server.server02 ]
341
+ }
342
+
343
+ resource "scaleway_instance_image" "main" {
344
+ root_volume_id = scaleway_instance_snapshot.local01.id
345
+ additional_volume_ids = [ scaleway_instance_snapshot.local02.id ]
346
+ depends_on = [
347
+ scaleway_instance_snapshot.local01,
348
+ scaleway_instance_snapshot.local02,
349
+ ]
350
+ }
351
+ ` ,
352
+ Check : resource .ComposeTestCheckFunc (
353
+ testAccCheckScalewayInstanceServerExists (tt , "scaleway_instance_server.server01" ),
354
+ testAccCheckScalewayInstanceServerExists (tt , "scaleway_instance_server.server02" ),
355
+ testAccCheckScalewayInstanceSnapShotExists (tt , "scaleway_instance_snapshot.local01" ),
356
+ testAccCheckScalewayInstanceSnapShotExists (tt , "scaleway_instance_snapshot.local02" ),
357
+ testAccCheckScalewayInstanceImageExists (tt , "scaleway_instance_image.main" ),
358
+ resource .TestCheckResourceAttrPair ("scaleway_instance_image.main" , "root_volume_id" , "scaleway_instance_snapshot.local01" , "id" ),
359
+ resource .TestCheckResourceAttrPair ("scaleway_instance_image.main" , "additional_volumes.0.id" , "scaleway_instance_snapshot.local02" , "id" ),
360
+ resource .TestCheckResourceAttr ("scaleway_instance_image.main" , "additional_volumes.0.volume_type" , "l_ssd" ),
361
+ resource .TestCheckResourceAttr ("scaleway_instance_image.main" , "additional_volumes.0.size" , "10000000000" ),
362
+ ),
363
+ },
364
+ },
365
+ })
366
+ }
367
+
306
368
func testAccCheckScalewayInstanceImageExists (tt * TestTools , n string ) resource.TestCheckFunc {
307
369
return func (s * terraform.State ) error {
308
370
rs , ok := s .RootModule ().Resources [n ]
0 commit comments