Skip to content

Commit b435e40

Browse files
Terraform Team AutomationNagaRajuPasunuri
authored andcommitted
Added - Support for ADB-C@C | Node Subsetting
1 parent 6d4612b commit b435e40

21 files changed

+757
-2
lines changed

examples/database/exadata_cc/adbd/autonomous_vm_cluster.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
resource "oci_database_autonomous_vm_cluster" "test_autonomous_vm_cluster" {
55
#Required
66
compartment_id = var.compartment_ocid
7+
db_servers = [data.oci_database_db_servers.test_db_servers.db_servers.0.id, data.oci_database_db_servers.test_db_servers.db_servers.1.id]
78
display_name = "autonomousVmCluster"
89
exadata_infrastructure_id = oci_database_exadata_infrastructure.test_exadata_infrastructure.id
910
vm_cluster_network_id = oci_database_vm_cluster_network.test_vm_cluster_network.id

examples/database/exadata_cc/adbd/datasources.tf

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,15 @@ data "oci_database_exadata_infrastructures" "test_exadata_infrastructures" {
1212
#Required
1313
compartment_id = var.compartment_ocid
1414
}
15+
variable "autonomous_virtual_machine_state" {
16+
default = "AVAILABLE"
17+
}
18+
19+
data "oci_database_autonomous_virtual_machines" "test_autonomous_virtual_machines" {
20+
#Required
21+
autonomous_vm_cluster_id = oci_database_autonomous_vm_cluster.test_autonomous_vm_cluster.id
22+
compartment_id = var.compartment_ocid
1523

24+
#Optional
25+
state = var.autonomous_virtual_machine_state
26+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
variable "autonomous_virtual_machine_state" {
2+
default = "AVAILABLE"
3+
}
4+
5+
data "oci_database_autonomous_virtual_machines" "test_autonomous_virtual_machines" {
6+
#Required
7+
autonomous_vm_cluster_id = oci_database_autonomous_vm_cluster.test_autonomous_vm_cluster.id
8+
compartment_id = var.compartment_id
9+
10+
#Optional
11+
state = var.autonomous_virtual_machine_state
12+
}
Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
// Copyright (c) 2017, 2021, Oracle and/or its affiliates. All rights reserved.
2+
// Licensed under the Mozilla Public License v2.0
3+
4+
package integrationtest
5+
6+
import (
7+
"fmt"
8+
"testing"
9+
10+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
11+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
12+
13+
"github.com/oracle/terraform-provider-oci/httpreplay"
14+
"github.com/oracle/terraform-provider-oci/internal/acctest"
15+
16+
"github.com/oracle/terraform-provider-oci/internal/utils"
17+
)
18+
19+
var (
20+
DatabaseDatabaseAutonomousVirtualMachineSingularDataSourceRepresentation = map[string]interface{}{
21+
"autonomous_virtual_machine_id": acctest.Representation{RepType: acctest.Required, Create: `${data.oci_database_autonomous_virtual_machines.test_autonomous_virtual_machines.autonomous_virtual_machines.0.id}`},
22+
}
23+
24+
DatabaseDatabaseAutonomousVirtualMachineDataSourceRepresentation = map[string]interface{}{
25+
"autonomous_vm_cluster_id": acctest.Representation{RepType: acctest.Required, Create: `${oci_database_autonomous_vm_cluster.test_autonomous_vm_cluster.id}`},
26+
"compartment_id": acctest.Representation{RepType: acctest.Required, Create: `${var.compartment_id}`},
27+
"state": acctest.Representation{RepType: acctest.Optional, Create: `AVAILABLE`},
28+
}
29+
30+
DatabaseAutonomousVirtualMachineResourceConfig = AvailabilityDomainConfig + acctest.GenerateResourceFromRepresentationMap("oci_database_exadata_infrastructure", "test_exadata_infrastructure", acctest.Required, acctest.Create,
31+
acctest.RepresentationCopyWithNewProperties(exadataInfrastructureRepresentationWithContacts, map[string]interface{}{"activation_file": acctest.Representation{RepType: acctest.Required, Create: activationFilePath}})) +
32+
acctest.GenerateResourceFromRepresentationMap("oci_database_vm_cluster_network", "test_vm_cluster_network", acctest.Required, acctest.Create,
33+
acctest.RepresentationCopyWithNewProperties(vmClusterNetwork2Representation, map[string]interface{}{"validate_vm_cluster_network": acctest.Representation{RepType: acctest.Required, Create: "true"}})) +
34+
acctest.GenerateDataSourceFromRepresentationMap("oci_database_db_servers", "test_db_servers", acctest.Required, acctest.Create, DatabaseDatabaseDbServerDataSourceRepresentation) +
35+
acctest.GenerateResourceFromRepresentationMap("oci_database_autonomous_vm_cluster", "test_autonomous_vm_cluster", acctest.Required, acctest.Create, DatabaseAutonomousVmClusterRepresentation) +
36+
DefinedTagsDependencies
37+
38+
DatabaseAutonomousVirtualMachineRepresentation = map[string]interface{}{
39+
"autonomous_vm_cluster_id": acctest.Representation{RepType: acctest.Required, Create: `${oci_database_autonomous_vm_cluster.test_autonomous_vm_cluster.id}`},
40+
"client_ip_address": acctest.Representation{RepType: acctest.Required, Create: `${var.compartment_id}`},
41+
"compartment_id": acctest.Representation{RepType: acctest.Required, Create: `${var.compartment_id}`},
42+
"cpu_core_count": acctest.Representation{RepType: acctest.Required, Create: `4`, Update: `6`},
43+
"db_node_storage_size_in_gbs": acctest.Representation{RepType: acctest.Optional, Create: `120`, Update: `160`},
44+
"db_server_id": acctest.Representation{RepType: acctest.Optional, Create: `${data.oci_database_db_servers.test_db_servers.db_servers.0.id}`},
45+
"defined_tags": acctest.Representation{RepType: acctest.Optional, Create: `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "value")}`, Update: `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "updatedValue")}`},
46+
"freeform_tags": acctest.Representation{RepType: acctest.Optional, Create: map[string]string{"Department": "Finance"}, Update: map[string]string{"Department": "Accounting"}}, "id": acctest.Representation{RepType: acctest.Optional, Create: `LICENSE_INCLUDED`},
47+
"memory_size_in_gbs": acctest.Representation{RepType: acctest.Optional, Create: `60`, Update: `90`},
48+
"state": acctest.Representation{RepType: acctest.Optional, Create: `AVAILABLE`},
49+
"vm_name": acctest.Representation{RepType: acctest.Optional, Create: `id`},
50+
}
51+
)
52+
53+
// issue-routing-tag: database/default
54+
func TestDatabaseAutonomousVirtualMachineResource_basic(t *testing.T) {
55+
httpreplay.SetScenario("TestDatabaseAutonomousVirtualMachineResource_basic")
56+
defer httpreplay.SaveScenario()
57+
58+
provider := acctest.TestAccProvider
59+
config := acctest.ProviderTestConfig()
60+
61+
compartmentId := utils.GetEnvSettingWithBlankDefault("compartment_ocid")
62+
compartmentIdVariableStr := fmt.Sprintf("variable \"compartment_id\" { default = \"%s\" }\n", compartmentId)
63+
64+
datasourceName := "data.oci_database_autonomous_virtual_machines.test_autonomous_virtual_machines"
65+
singularDatasourceName := "data.oci_database_autonomous_virtual_machine.test_autonomous_virtual_machine"
66+
67+
acctest.SaveConfigContent("", "", "", t)
68+
69+
resource.Test(t, resource.TestCase{
70+
PreCheck: func() { acctest.PreCheck(t) },
71+
Providers: map[string]*schema.Provider{
72+
"oci": provider,
73+
},
74+
Steps: []resource.TestStep{
75+
// verify datasource
76+
{
77+
Config: config +
78+
acctest.GenerateDataSourceFromRepresentationMap("oci_database_autonomous_virtual_machines", "test_autonomous_virtual_machines", acctest.Required, acctest.Create, DatabaseDatabaseAutonomousVirtualMachineDataSourceRepresentation) +
79+
compartmentIdVariableStr + DatabaseAutonomousVirtualMachineResourceConfig,
80+
Check: acctest.ComposeAggregateTestCheckFuncWrapper(
81+
resource.TestCheckResourceAttrSet(datasourceName, "autonomous_vm_cluster_id"),
82+
resource.TestCheckResourceAttr(datasourceName, "compartment_id", compartmentId),
83+
84+
resource.TestCheckResourceAttrSet(datasourceName, "autonomous_virtual_machines.#"),
85+
resource.TestCheckResourceAttrSet(datasourceName, "autonomous_virtual_machines.0.autonomous_vm_cluster_id"),
86+
resource.TestCheckResourceAttrSet(datasourceName, "autonomous_virtual_machines.0.client_ip_address"),
87+
resource.TestCheckResourceAttrSet(datasourceName, "autonomous_virtual_machines.0.compartment_id"),
88+
resource.TestCheckResourceAttrSet(datasourceName, "autonomous_virtual_machines.0.cpu_core_count"),
89+
resource.TestCheckResourceAttrSet(datasourceName, "autonomous_virtual_machines.0.db_node_storage_size_in_gbs"),
90+
resource.TestCheckResourceAttrSet(datasourceName, "autonomous_virtual_machines.0.db_server_display_name"),
91+
resource.TestCheckResourceAttrSet(datasourceName, "autonomous_virtual_machines.0.db_server_id"),
92+
resource.TestCheckResourceAttrSet(datasourceName, "autonomous_virtual_machines.0.id"),
93+
resource.TestCheckResourceAttrSet(datasourceName, "autonomous_virtual_machines.0.memory_size_in_gbs"),
94+
resource.TestCheckResourceAttrSet(datasourceName, "autonomous_virtual_machines.0.state"),
95+
resource.TestCheckResourceAttrSet(datasourceName, "autonomous_virtual_machines.0.vm_name"),
96+
),
97+
},
98+
// verify singular datasource
99+
{
100+
Config: config +
101+
acctest.GenerateDataSourceFromRepresentationMap("oci_database_autonomous_virtual_machines", "test_autonomous_virtual_machines", acctest.Required, acctest.Create, DatabaseDatabaseAutonomousVirtualMachineDataSourceRepresentation) +
102+
acctest.GenerateDataSourceFromRepresentationMap("oci_database_autonomous_virtual_machine", "test_autonomous_virtual_machine", acctest.Required, acctest.Create, DatabaseDatabaseAutonomousVirtualMachineSingularDataSourceRepresentation) +
103+
compartmentIdVariableStr + DatabaseAutonomousVirtualMachineResourceConfig,
104+
Check: acctest.ComposeAggregateTestCheckFuncWrapper(
105+
resource.TestCheckResourceAttrSet(singularDatasourceName, "autonomous_virtual_machine_id"),
106+
107+
resource.TestCheckResourceAttrSet(singularDatasourceName, "client_ip_address"),
108+
resource.TestCheckResourceAttrSet(singularDatasourceName, "compartment_id"),
109+
resource.TestCheckResourceAttrSet(singularDatasourceName, "cpu_core_count"),
110+
resource.TestCheckResourceAttrSet(singularDatasourceName, "db_node_storage_size_in_gbs"),
111+
resource.TestCheckResourceAttrSet(singularDatasourceName, "db_server_display_name"),
112+
resource.TestCheckResourceAttrSet(singularDatasourceName, "db_server_id"),
113+
resource.TestCheckResourceAttrSet(singularDatasourceName, "id"),
114+
resource.TestCheckResourceAttrSet(singularDatasourceName, "memory_size_in_gbs"),
115+
resource.TestCheckResourceAttrSet(singularDatasourceName, "state"),
116+
resource.TestCheckResourceAttrSet(singularDatasourceName, "vm_name"),
117+
),
118+
},
119+
},
120+
})
121+
}

internal/integrationtest/database_autonomous_vm_cluster_test.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ var (
5555
"compute_model": acctest.Representation{RepType: acctest.Optional, Create: `OCPU`},
5656
"autonomous_data_storage_size_in_tbs": acctest.Representation{RepType: acctest.Required, Create: `2.0`},
5757
"cpu_core_count_per_node": acctest.Representation{RepType: acctest.Required, Create: `10`},
58+
"db_servers": acctest.Representation{RepType: acctest.Optional, Create: []string{`${data.oci_database_db_servers.test_db_servers.db_servers.0.id}`, `${data.oci_database_db_servers.test_db_servers.db_servers.1.id}`}},
5859
"defined_tags": acctest.Representation{RepType: acctest.Optional, Create: `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "value")}`, Update: `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "updatedValue")}`},
5960
"freeform_tags": acctest.Representation{RepType: acctest.Optional, Create: map[string]string{"Department": "Finance"}, Update: map[string]string{"Department": "Accounting"}},
6061
"is_local_backup_enabled": acctest.Representation{RepType: acctest.Optional, Create: `false`},
@@ -192,6 +193,7 @@ func TestDatabaseAutonomousVmClusterResource_basic(t *testing.T) {
192193
resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId),
193194
resource.TestCheckResourceAttr(resourceName, "compute_model", "OCPU"),
194195
resource.TestCheckResourceAttr(resourceName, "cpu_core_count_per_node", "10"),
196+
resource.TestCheckResourceAttr(resourceName, "db_servers.#", "2"),
195197
resource.TestCheckResourceAttr(resourceName, "display_name", "autonomousVmCluster"),
196198
resource.TestCheckResourceAttrSet(resourceName, "exadata_infrastructure_id"),
197199
resource.TestCheckResourceAttr(resourceName, "freeform_tags.%", "1"),
@@ -240,6 +242,7 @@ func TestDatabaseAutonomousVmClusterResource_basic(t *testing.T) {
240242
resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentIdU),
241243
resource.TestCheckResourceAttr(resourceName, "compute_model", "OCPU"),
242244
resource.TestCheckResourceAttr(resourceName, "cpu_core_count_per_node", "10"),
245+
resource.TestCheckResourceAttr(resourceName, "db_servers.#", "2"),
243246
resource.TestCheckResourceAttr(resourceName, "display_name", "autonomousVmCluster"),
244247
resource.TestCheckResourceAttrSet(resourceName, "exadata_infrastructure_id"),
245248
resource.TestCheckResourceAttr(resourceName, "freeform_tags.%", "1"),
@@ -283,6 +286,7 @@ func TestDatabaseAutonomousVmClusterResource_basic(t *testing.T) {
283286
resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId),
284287
resource.TestCheckResourceAttr(resourceName, "compute_model", "OCPU"),
285288
resource.TestCheckResourceAttr(resourceName, "cpu_core_count_per_node", "10"),
289+
resource.TestCheckResourceAttr(resourceName, "db_servers.#", "2"),
286290
resource.TestCheckResourceAttr(resourceName, "display_name", "autonomousVmCluster"),
287291
resource.TestCheckResourceAttrSet(resourceName, "exadata_infrastructure_id"),
288292
resource.TestCheckResourceAttr(resourceName, "freeform_tags.%", "1"),
@@ -341,6 +345,7 @@ func TestDatabaseAutonomousVmClusterResource_basic(t *testing.T) {
341345
resource.TestCheckResourceAttrSet(datasourceName, "autonomous_vm_clusters.0.cpus_enabled"),
342346
resource.TestCheckResourceAttrSet(datasourceName, "autonomous_vm_clusters.0.data_storage_size_in_tbs"),
343347
resource.TestCheckResourceAttrSet(datasourceName, "autonomous_vm_clusters.0.db_node_storage_size_in_gbs"),
348+
resource.TestCheckResourceAttr(datasourceName, "autonomous_vm_clusters.0.db_servers.#", "2"),
344349
resource.TestCheckResourceAttr(datasourceName, "autonomous_vm_clusters.0.display_name", "autonomousVmCluster"),
345350
resource.TestCheckResourceAttrSet(datasourceName, "autonomous_vm_clusters.0.exadata_infrastructure_id"),
346351
resource.TestCheckResourceAttr(datasourceName, "autonomous_vm_clusters.0.freeform_tags.%", "1"),
@@ -384,6 +389,7 @@ func TestDatabaseAutonomousVmClusterResource_basic(t *testing.T) {
384389
resource.TestCheckResourceAttrSet(singularDatasourceName, "cpus_enabled"),
385390
resource.TestCheckResourceAttrSet(singularDatasourceName, "data_storage_size_in_tbs"),
386391
resource.TestCheckResourceAttrSet(singularDatasourceName, "db_node_storage_size_in_gbs"),
392+
resource.TestCheckResourceAttr(singularDatasourceName, "db_servers.#", "2"),
387393
resource.TestCheckResourceAttr(singularDatasourceName, "display_name", "autonomousVmCluster"),
388394
resource.TestCheckResourceAttr(singularDatasourceName, "freeform_tags.%", "1"),
389395
resource.TestCheckResourceAttrSet(singularDatasourceName, "id"),

internal/integrationtest/database_db_server_test.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@ import (
77
"fmt"
88
"testing"
99

10+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
11+
1012
"github.com/oracle/terraform-provider-oci/internal/acctest"
1113
"github.com/oracle/terraform-provider-oci/internal/utils"
1214

1315
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
14-
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
15-
1616
"github.com/oracle/terraform-provider-oci/httpreplay"
1717
)
1818

@@ -68,6 +68,8 @@ func TestDatabaseDbServerResource_basic(t *testing.T) {
6868
compartmentIdVariableStr + DatabaseDbServerResourceConfig,
6969
Check: acctest.ComposeAggregateTestCheckFuncWrapper(
7070
resource.TestCheckResourceAttrSet(datasourceName, "db_servers.#"),
71+
resource.TestCheckResourceAttr(datasourceName, "db_servers.0.autonomous_virtual_machine_ids.#", "0"),
72+
resource.TestCheckResourceAttr(datasourceName, "db_servers.0.autonomous_vm_cluster_ids.#", "0"),
7173
resource.TestCheckResourceAttrSet(datasourceName, "db_servers.0.compartment_id"),
7274
resource.TestCheckResourceAttrSet(datasourceName, "db_servers.0.cpu_core_count"),
7375
resource.TestCheckResourceAttr(datasourceName, "db_servers.0.db_node_ids.#", "0"),
@@ -94,6 +96,8 @@ func TestDatabaseDbServerResource_basic(t *testing.T) {
9496
Check: acctest.ComposeAggregateTestCheckFuncWrapper(
9597
resource.TestCheckResourceAttrSet(singularDatasourceName, "db_server_id"),
9698
resource.TestCheckResourceAttrSet(singularDatasourceName, "exadata_infrastructure_id"),
99+
resource.TestCheckResourceAttr(singularDatasourceName, "autonomous_virtual_machine_ids.#", "0"),
100+
resource.TestCheckResourceAttr(singularDatasourceName, "autonomous_vm_cluster_ids.#", "0"),
97101
resource.TestCheckResourceAttrSet(singularDatasourceName, "compartment_id"),
98102
resource.TestCheckResourceAttrSet(singularDatasourceName, "cpu_core_count"),
99103
resource.TestCheckResourceAttr(singularDatasourceName, "db_node_ids.#", "0"),

0 commit comments

Comments
 (0)