@@ -214,6 +214,90 @@ func TestAccScalewayRdbReadReplica_MultipleEndpoints(t *testing.T) {
214214 })
215215}
216216
217+ func TestAccScalewayRdbReadReplica_DifferentZone (t * testing.T ) {
218+ tt := NewTestTools (t )
219+ defer tt .Cleanup ()
220+
221+ readReplicaID := ""
222+
223+ resource .ParallelTest (t , resource.TestCase {
224+ PreCheck : func () { testAccPreCheck (t ) },
225+ ProviderFactories : tt .ProviderFactories ,
226+ CheckDestroy : resource .ComposeTestCheckFunc (
227+ testAccCheckScalewayRdbInstanceDestroy (tt ),
228+ testAccCheckScalewayRdbReadReplicaDestroy (tt ),
229+ ),
230+ Steps : []resource.TestStep {
231+ {
232+ Config : `
233+ resource "scaleway_vpc_private_network" "different_zone" {
234+ name = "test-rdb-rr-different-zone"
235+ }
236+
237+ resource "scaleway_rdb_instance" "different_zone" {
238+ name = "test-rdb-rr-different-zone"
239+ node_type = "db-dev-s"
240+ engine = "PostgreSQL-14"
241+ is_ha_cluster = false
242+ disable_backup = true
243+ user_name = "my_initial_user"
244+ password = "thiZ_is_v&ry_s3cret"
245+ tags = [ "terraform-test", "scaleway_rdb_read_replica", "different-zone" ]
246+ }
247+
248+ resource "scaleway_rdb_read_replica" "different_zone" {
249+ instance_id = scaleway_rdb_instance.different_zone.id
250+ region = scaleway_rdb_instance.different_zone.region
251+ same_zone = false
252+ private_network {
253+ private_network_id = scaleway_vpc_private_network.different_zone.id
254+ }
255+ }` ,
256+ Check : resource .ComposeTestCheckFunc (
257+ testAccCheckRdbReadReplicaExists (tt , "scaleway_rdb_read_replica.different_zone" ),
258+ testAccCheckScalewayVPCPrivateNetworkExists (tt , "scaleway_vpc_private_network.different_zone" ),
259+ resource .TestCheckResourceAttrPair ("scaleway_rdb_read_replica.different_zone" , "instance_id" , "scaleway_rdb_instance.different_zone" , "id" ),
260+ resource .TestCheckResourceAttr ("scaleway_rdb_read_replica.different_zone" , "same_zone" , "false" ),
261+ testAccCheckScalewayResourceIDPersisted ("scaleway_rdb_read_replica.different_zone" , & readReplicaID ),
262+ ),
263+ },
264+ {
265+ Config : `
266+ resource "scaleway_vpc_private_network" "different_zone" {
267+ name = "test-rdb-rr-different-zone"
268+ }
269+
270+ resource "scaleway_rdb_instance" "different_zone" {
271+ name = "test-rdb-rr-different-zone"
272+ node_type = "db-dev-s"
273+ engine = "PostgreSQL-14"
274+ is_ha_cluster = false
275+ disable_backup = true
276+ user_name = "my_initial_user"
277+ password = "thiZ_is_v&ry_s3cret"
278+ tags = [ "terraform-test", "scaleway_rdb_read_replica", "different-zone" ]
279+ }
280+
281+ resource "scaleway_rdb_read_replica" "different_zone" {
282+ instance_id = scaleway_rdb_instance.different_zone.id
283+ region = scaleway_rdb_instance.different_zone.region
284+ same_zone = true
285+ private_network {
286+ private_network_id = scaleway_vpc_private_network.different_zone.id
287+ }
288+ }` ,
289+ Check : resource .ComposeTestCheckFunc (
290+ testAccCheckRdbReadReplicaExists (tt , "scaleway_rdb_read_replica.different_zone" ),
291+ testAccCheckScalewayVPCPrivateNetworkExists (tt , "scaleway_vpc_private_network.different_zone" ),
292+ resource .TestCheckResourceAttrPair ("scaleway_rdb_read_replica.different_zone" , "instance_id" , "scaleway_rdb_instance.different_zone" , "id" ),
293+ resource .TestCheckResourceAttr ("scaleway_rdb_read_replica.different_zone" , "same_zone" , "true" ),
294+ testAccCheckScalewayResourceIDChanged ("scaleway_rdb_read_replica.different_zone" , & readReplicaID ),
295+ ),
296+ },
297+ },
298+ })
299+ }
300+
217301func testAccCheckRdbReadReplicaExists (tt * TestTools , readReplica string ) resource.TestCheckFunc {
218302 return func (state * terraform.State ) error {
219303 readReplicaResource , ok := state .RootModule ().Resources [readReplica ]
0 commit comments