@@ -1827,6 +1827,81 @@ func TestAccServer_BlockExternalRootVolumeUpdate(t *testing.T) {
1827
1827
})
1828
1828
}
1829
1829
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
+
1830
1905
func TestAccServer_PrivateNetworkMissingPNIC (t * testing.T ) {
1831
1906
tt := acctest .NewTestTools (t )
1832
1907
defer tt .Cleanup ()
0 commit comments