@@ -1328,6 +1328,61 @@ func TestAccInstance_EncryptionAtRestFalse(t *testing.T) {
13281328 })
13291329}
13301330
1331+ func TestAccInstance_UpdateEncryptionAtRest (t * testing.T ) {
1332+ tt := acctest .NewTestTools (t )
1333+ defer tt .Cleanup ()
1334+
1335+ latestEngineVersion := rdbchecks .GetLatestEngineVersion (tt , postgreSQLEngineName )
1336+
1337+ resource .ParallelTest (t , resource.TestCase {
1338+ PreCheck : func () { acctest .PreCheck (t ) },
1339+ ProviderFactories : tt .ProviderFactories ,
1340+ CheckDestroy : rdbchecks .IsInstanceDestroyed (tt ),
1341+ Steps : []resource.TestStep {
1342+ // Step 1: Create without encryption
1343+ {
1344+ Config : fmt .Sprintf (`
1345+ resource scaleway_rdb_instance main {
1346+ name = "test-rdb-update-encryption"
1347+ node_type = "db-dev-s"
1348+ engine = %q
1349+ is_ha_cluster = false
1350+ disable_backup = true
1351+ user_name = "user_no_enc"
1352+ password = "thiZ_is_v&ry_s3cret"
1353+ encryption_at_rest = false
1354+ tags = [ "terraform-test", "no-encryption" ]
1355+ }
1356+ ` , latestEngineVersion ),
1357+ Check : resource .ComposeTestCheckFunc (
1358+ isInstancePresent (tt , "scaleway_rdb_instance.main" ),
1359+ resource .TestCheckResourceAttr ("scaleway_rdb_instance.main" , "encryption_at_rest" , "false" ),
1360+ ),
1361+ },
1362+ // Step 2: Update encryption to true
1363+ {
1364+ Config : fmt .Sprintf (`
1365+ resource scaleway_rdb_instance main {
1366+ name = "test-rdb-update-encryption"
1367+ node_type = "db-dev-s"
1368+ engine = %q
1369+ is_ha_cluster = false
1370+ disable_backup = true
1371+ user_name = "user_enc"
1372+ password = "thiZ_is_v&ry_s3cret"
1373+ encryption_at_rest = true
1374+ tags = [ "terraform-test", "with-encryption" ]
1375+ }
1376+ ` , latestEngineVersion ),
1377+ Check : resource .ComposeTestCheckFunc (
1378+ isInstancePresent (tt , "scaleway_rdb_instance.main" ),
1379+ resource .TestCheckResourceAttr ("scaleway_rdb_instance.main" , "encryption_at_rest" , "true" ),
1380+ ),
1381+ },
1382+ },
1383+ })
1384+ }
1385+
13311386func isInstancePresent (tt * acctest.TestTools , n string ) resource.TestCheckFunc {
13321387 return func (s * terraform.State ) error {
13331388 rs , ok := s .RootModule ().Resources [n ]
0 commit comments