@@ -1827,6 +1827,81 @@ func TestAccServer_BlockExternalRootVolumeUpdate(t *testing.T) {
18271827 })
18281828}
18291829
1830+ func TestAccServer_RootVolumeFromExternalSnapshot (t * testing.T ) {
1831+ tt := acctest .NewTestTools (t )
1832+ defer tt .Cleanup ()
1833+ resource .ParallelTest (t , resource.TestCase {
1834+ PreCheck : func () { acctest .PreCheck (t ) },
1835+ ProviderFactories : tt .ProviderFactories ,
1836+ CheckDestroy : instancechecks .IsServerDestroyed (tt ),
1837+ Steps : []resource.TestStep {
1838+ {
1839+ Config : `
1840+ resource "scaleway_instance_server" "main" {
1841+ name = "tf-tests-instance-root-volume-from-external-snapshot"
1842+ image = "ubuntu_jammy"
1843+ type = "PLAY2-PICO"
1844+ root_volume {
1845+ volume_type = "sbs_volume"
1846+ size_in_gb = 50
1847+ sbs_iops = 5000
1848+ }
1849+ }
1850+
1851+ resource "scaleway_block_snapshot" "snapshot" {
1852+ volume_id = scaleway_instance_server.main.root_volume.0.volume_id
1853+ }` ,
1854+ Check : resource .ComposeTestCheckFunc (
1855+ resource .TestCheckResourceAttr ("scaleway_instance_server.main" , "type" , "PLAY2-PICO" ),
1856+ resource .TestCheckResourceAttr ("scaleway_instance_server.main" , "additional_volume_ids.#" , "0" ),
1857+ resource .TestCheckResourceAttr ("scaleway_instance_server.main" , "root_volume.0.volume_type" , string (instanceSDK .VolumeVolumeTypeSbsVolume )),
1858+ resource .TestCheckResourceAttr ("scaleway_instance_server.main" , "root_volume.0.sbs_iops" , "5000" ),
1859+ resource .TestCheckResourceAttr ("scaleway_instance_server.main" , "root_volume.0.size_in_gb" , "50" ),
1860+ ),
1861+ },
1862+ {
1863+ Config : `
1864+ resource "scaleway_instance_server" "main" {
1865+ name = "tf-tests-instance-root-volume-from-external-snapshot"
1866+ image = "ubuntu_jammy"
1867+ type = "PLAY2-PICO"
1868+ root_volume {
1869+ volume_type = "sbs_volume"
1870+ size_in_gb = 50
1871+ sbs_iops = 5000
1872+ }
1873+ }
1874+
1875+ resource "scaleway_block_snapshot" "snapshot" {
1876+ volume_id = scaleway_instance_server.main.root_volume.0.volume_id
1877+ }
1878+
1879+ resource "scaleway_block_volume" "volume" {
1880+ snapshot_id = scaleway_block_snapshot.snapshot.id
1881+ iops = 5000
1882+ }
1883+
1884+ resource "scaleway_instance_server" "from_snapshot" {
1885+ name = "tf-tests-instance-root-volume-from-external-snapshot-2"
1886+ type = "PLAY2-PICO"
1887+ root_volume {
1888+ volume_type = "sbs_volume"
1889+ volume_id = scaleway_block_volume.volume.id
1890+ }
1891+ }` ,
1892+ Check : resource .ComposeTestCheckFunc (
1893+ resource .TestCheckResourceAttr ("scaleway_instance_server.main" , "type" , "PLAY2-PICO" ),
1894+ resource .TestCheckResourceAttr ("scaleway_instance_server.main" , "additional_volume_ids.#" , "0" ),
1895+ resource .TestCheckResourceAttr ("scaleway_instance_server.main" , "root_volume.0.volume_type" , string (instanceSDK .VolumeVolumeTypeSbsVolume )),
1896+ resource .TestCheckResourceAttr ("scaleway_instance_server.main" , "root_volume.0.sbs_iops" , "5000" ),
1897+ resource .TestCheckResourceAttr ("scaleway_instance_server.main" , "root_volume.0.size_in_gb" , "50" ),
1898+ resource .TestCheckResourceAttrPair ("scaleway_instance_server.from_snapshot" , "root_volume.0.volume_id" , "scaleway_block_volume.volume" , "id" ),
1899+ ),
1900+ },
1901+ },
1902+ })
1903+ }
1904+
18301905func TestAccServer_PrivateNetworkMissingPNIC (t * testing.T ) {
18311906 tt := acctest .NewTestTools (t )
18321907 defer tt .Cleanup ()
0 commit comments