Skip to content

Commit 2e08f44

Browse files
Alex Cuivsin12
authored andcommitted
Added - Support for EXADB-D- X11M
1 parent ff92a54 commit 2e08f44

21 files changed

+255
-4
lines changed

examples/database/db_systems/db_exacs/resources.tf

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ resource "oci_database_cloud_exadata_infrastructure" "test_cloud_exadata_infrast
1212
subscription_id = var.tenant_subscription_id
1313
compute_count = var.cloud_exadata_infrastructure_compute_count
1414
storage_count = var.cloud_exadata_infrastructure_storage_count
15+
database_server_type = var.cloud_exadata_infrastructure_database_server_type
16+
storage_server_type = var.cloud_exadata_infrastructure_storage_server_type
1517
}
1618

1719
resource "oci_database_cloud_vm_cluster" "test_cloud_vm_cluster" {

examples/database/db_systems/db_exacs/variables.tf

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,15 @@ variable "ssh_public_key" {
1515
variable "ssh_private_key" {}
1616

1717
variable "cloud_exadata_infrastructure_shape" {
18-
default = "Exadata.X8M"
18+
default = "Exadata.X11M"
19+
}
20+
21+
variable "cloud_exadata_infrastructure_database_server_type" {
22+
default = "X11M"
23+
}
24+
25+
variable "cloud_exadata_infrastructure_storage_server_type" {
26+
default = "X11M-HC"
1927
}
2028

2129
variable "cloud_exadata_infrastructure_cluster_placement_group_id" {
@@ -35,7 +43,7 @@ variable "cloud_exadata_infrastructure_storage_count" {
3543
}
3644

3745
variable "cloud_vm_cluster_cpu_core_count" {
38-
default = "8"
46+
default = "16"
3947
}
4048

4149
variable "cloud_vm_cluster_ocpu_count" {

examples/database/flex_component/main.tf

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,15 @@ provider "oci" {
2020
region = var.region
2121
}
2222

23+
variable "flex_component_shape" {
24+
default = "shape"
25+
}
26+
2327
data "oci_database_flex_components" "test_flex_components" {
2428
#Required
2529
compartment_id = "${var.compartment_ocid}"
2630

2731
#Optional
2832
name = var.flex_component_name
33+
shape = var.flex_component_shape
2934
}

internal/integrationtest/database_cloud_exadata_infrastructure_test.go

Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,21 @@ var (
8080
"storage_count": acctest.Representation{RepType: acctest.Required, Create: `3`, Update: `4`}, // required for shape Exadata.X8M
8181
}
8282

83+
DatabaseCloudExadataInfrastructureX11MRepresentation = map[string]interface{}{
84+
"availability_domain": acctest.Representation{RepType: acctest.Required, Create: `${data.oci_identity_availability_domains.test_availability_domains.availability_domains.0.name}`},
85+
"compartment_id": acctest.Representation{RepType: acctest.Required, Create: `${var.compartment_id}`},
86+
"display_name": acctest.Representation{RepType: acctest.Required, Create: `tstExaInfra`, Update: `displayName2`},
87+
"shape": acctest.Representation{RepType: acctest.Required, Create: `Exadata.X11M`},
88+
"compute_count": acctest.Representation{RepType: acctest.Required, Create: `2`, Update: `3`},
89+
"customer_contacts": acctest.RepresentationGroup{RepType: acctest.Optional, Group: DatabaseCloudExadataInfrastructureCustomerContactsRepresentation},
90+
"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")}`},
91+
"freeform_tags": acctest.Representation{RepType: acctest.Optional, Create: map[string]string{"Department": "Finance"}, Update: map[string]string{"Department": "Accounting"}},
92+
"maintenance_window": acctest.RepresentationGroup{RepType: acctest.Optional, Group: DatabaseCloudExadataInfrastructureMaintenanceWindowRepresentation},
93+
"storage_count": acctest.Representation{RepType: acctest.Required, Create: `3`, Update: `4`},
94+
"database_server_type": acctest.Representation{RepType: acctest.Optional, Create: `X11M`},
95+
"storage_server_type": acctest.Representation{RepType: acctest.Optional, Create: `X11M-HC`},
96+
}
97+
8398
DatabaseCloudExadataInfrastructureCustomerContactsRepresentation = map[string]interface{}{
8499
"email": acctest.Representation{RepType: acctest.Optional, Create: `[email protected]`, Update: `[email protected]`},
85100
}
@@ -547,6 +562,122 @@ func TestDatabaseCloudExadataInfrastructureResourceMVM(t *testing.T) {
547562
})
548563
}
549564

565+
// issue-routing-tag: database/ExaCS
566+
func TestDatabaseCloudExadataInfrastructureResourceX11M(t *testing.T) {
567+
httpreplay.SetScenario("TestDatabaseCloudExadataInfrastructureResource_basic")
568+
defer httpreplay.SaveScenario()
569+
570+
config := acctest.ProviderTestConfig()
571+
572+
compartmentId := utils.GetEnvSettingWithBlankDefault("compartment_ocid")
573+
compartmentIdVariableStr := fmt.Sprintf("variable \"compartment_id\" { default = \"%s\" }\n", compartmentId)
574+
575+
resourceName := "oci_database_cloud_exadata_infrastructure.test_cloud_exadata_infrastructure"
576+
577+
var resId, resId2 string
578+
// Save TF content to Create resource with optional properties. This has to be exactly the same as the config part in the "Create with optionals" step in the test.
579+
acctest.SaveConfigContent(config+compartmentIdVariableStr+DatabaseCloudExadataInfrastructureResourceDependencies+
580+
acctest.GenerateResourceFromRepresentationMap("oci_database_cloud_exadata_infrastructure", "test_cloud_exadata_infrastructure", acctest.Optional, acctest.Create, DatabaseCloudExadataInfrastructureRepresentation), "database", "cloudExadataInfrastructure", t)
581+
582+
acctest.ResourceTest(t, testAccCheckDatabaseCloudExadataInfrastructureDestroy, []resource.TestStep{
583+
// verify Create with optionals
584+
{
585+
Config: config + compartmentIdVariableStr + DatabaseCloudExadataInfrastructureResourceDependencies +
586+
acctest.GenerateResourceFromRepresentationMap("oci_database_cloud_exadata_infrastructure", "test_cloud_exadata_infrastructure", acctest.Optional, acctest.Create, DatabaseCloudExadataInfrastructureX11MRepresentation),
587+
Check: acctest.ComposeAggregateTestCheckFuncWrapper(
588+
resource.TestCheckResourceAttrSet(resourceName, "availability_domain"),
589+
resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId),
590+
resource.TestCheckResourceAttr(resourceName, "compute_count", "2"),
591+
resource.TestCheckResourceAttr(resourceName, "customer_contacts.#", "1"),
592+
resource.TestCheckResourceAttr(resourceName, "customer_contacts.0.email", "[email protected]"),
593+
resource.TestCheckResourceAttr(resourceName, "display_name", "tstExaInfra"),
594+
resource.TestCheckResourceAttr(resourceName, "freeform_tags.%", "1"),
595+
resource.TestCheckResourceAttr(resourceName, "system_tags.%", "0"),
596+
resource.TestCheckResourceAttrSet(resourceName, "id"),
597+
resource.TestCheckResourceAttr(resourceName, "maintenance_window.#", "1"),
598+
//resource.TestCheckResourceAttr(resourceName, "maintenance_window.0.custom_action_timeout_in_mins", "10"),
599+
resource.TestCheckResourceAttr(resourceName, "maintenance_window.0.days_of_week.#", "1"),
600+
resource.TestCheckResourceAttr(resourceName, "maintenance_window.0.days_of_week.0.name", "MONDAY"),
601+
resource.TestCheckResourceAttr(resourceName, "maintenance_window.0.hours_of_day.#", "1"),
602+
//resource.TestCheckResourceAttr(resourceName, "maintenance_window.0.is_custom_action_timeout_enabled", "false"),
603+
resource.TestCheckResourceAttr(resourceName, "maintenance_window.0.lead_time_in_weeks", "10"),
604+
resource.TestCheckResourceAttr(resourceName, "maintenance_window.0.months.#", "4"),
605+
resource.TestCheckResourceAttr(resourceName, "maintenance_window.0.months.0.name", "MAY"),
606+
//resource.TestCheckResourceAttr(resourceName, "maintenance_window.0.patching_mode", "ROLLING"),
607+
resource.TestCheckResourceAttr(resourceName, "maintenance_window.0.preference", "CUSTOM_PREFERENCE"),
608+
resource.TestCheckResourceAttr(resourceName, "maintenance_window.0.weeks_of_month.#", "1"),
609+
resource.TestCheckResourceAttr(resourceName, "shape", "Exadata.X11M"),
610+
resource.TestCheckResourceAttr(resourceName, "database_server_type", "X11M"),
611+
resource.TestCheckResourceAttr(resourceName, "storage_server_type", "X11M-HC"),
612+
resource.TestCheckResourceAttr(resourceName, "compute_model", "ECPU"),
613+
resource.TestCheckResourceAttrSet(resourceName, "state"),
614+
resource.TestCheckResourceAttr(resourceName, "storage_count", "3"),
615+
616+
func(s *terraform.State) (err error) {
617+
resId, err = acctest.FromInstanceState(s, resourceName, "id")
618+
if isEnableExportCompartment, _ := strconv.ParseBool(utils.GetEnvSettingWithDefault("enable_export_compartment", "true")); isEnableExportCompartment {
619+
if errExport := resourcediscovery.TestExportCompartmentWithResourceName(&resId, &compartmentId, resourceName); errExport != nil {
620+
return errExport
621+
}
622+
}
623+
return err
624+
},
625+
),
626+
},
627+
// verify updates to updatable parameters
628+
{
629+
Config: config + compartmentIdVariableStr + DatabaseCloudExadataInfrastructureResourceDependencies +
630+
acctest.GenerateResourceFromRepresentationMap("oci_database_cloud_exadata_infrastructure", "test_cloud_exadata_infrastructure", acctest.Optional, acctest.Update, DatabaseCloudExadataInfrastructureX11MRepresentation),
631+
Check: acctest.ComposeAggregateTestCheckFuncWrapper(
632+
resource.TestCheckResourceAttrSet(resourceName, "activated_storage_count"),
633+
resource.TestCheckResourceAttrSet(resourceName, "availability_domain"),
634+
resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId),
635+
resource.TestCheckResourceAttr(resourceName, "compute_count", "3"),
636+
resource.TestCheckResourceAttrSet(resourceName, "cpu_count"),
637+
resource.TestCheckResourceAttr(resourceName, "customer_contacts.#", "1"),
638+
resource.TestCheckResourceAttr(resourceName, "customer_contacts.0.email", "[email protected]"),
639+
resource.TestCheckResourceAttrSet(resourceName, "data_storage_size_in_tbs"),
640+
resource.TestCheckResourceAttrSet(resourceName, "db_node_storage_size_in_gbs"),
641+
resource.TestCheckResourceAttr(resourceName, "display_name", "displayName2"),
642+
resource.TestCheckResourceAttr(resourceName, "freeform_tags.%", "1"),
643+
resource.TestCheckResourceAttr(resourceName, "system_tags.%", "0"),
644+
resource.TestCheckResourceAttrSet(resourceName, "id"),
645+
resource.TestCheckResourceAttr(resourceName, "maintenance_window.#", "1"),
646+
//resource.TestCheckResourceAttr(resourceName, "maintenance_window.0.custom_action_timeout_in_mins", "11"),
647+
resource.TestCheckResourceAttr(resourceName, "maintenance_window.0.days_of_week.#", "1"),
648+
resource.TestCheckResourceAttr(resourceName, "maintenance_window.0.days_of_week.0.name", "TUESDAY"),
649+
resource.TestCheckResourceAttr(resourceName, "maintenance_window.0.hours_of_day.#", "1"),
650+
//resource.TestCheckResourceAttr(resourceName, "maintenance_window.0.is_custom_action_timeout_enabled", "true"),
651+
resource.TestCheckResourceAttr(resourceName, "maintenance_window.0.lead_time_in_weeks", "11"),
652+
resource.TestCheckResourceAttr(resourceName, "maintenance_window.0.months.#", "4"),
653+
resource.TestCheckResourceAttr(resourceName, "maintenance_window.0.months.0.name", "JUNE"),
654+
//resource.TestCheckResourceAttr(resourceName, "maintenance_window.0.patching_mode", "NONROLLING"),
655+
resource.TestCheckResourceAttr(resourceName, "maintenance_window.0.preference", "CUSTOM_PREFERENCE"),
656+
resource.TestCheckResourceAttr(resourceName, "maintenance_window.0.weeks_of_month.#", "1"),
657+
resource.TestCheckResourceAttrSet(resourceName, "max_cpu_count"),
658+
resource.TestCheckResourceAttrSet(resourceName, "max_data_storage_in_tbs"),
659+
resource.TestCheckResourceAttrSet(resourceName, "max_db_node_storage_in_gbs"),
660+
resource.TestCheckResourceAttrSet(resourceName, "max_memory_in_gbs"),
661+
resource.TestCheckResourceAttrSet(resourceName, "memory_size_in_gbs"),
662+
resource.TestCheckResourceAttr(resourceName, "shape", "Exadata.X11M"),
663+
resource.TestCheckResourceAttr(resourceName, "database_server_type", "X11M"),
664+
resource.TestCheckResourceAttr(resourceName, "storage_server_type", "X11M-HC"),
665+
resource.TestCheckResourceAttr(resourceName, "compute_model", "ECPU"),
666+
resource.TestCheckResourceAttrSet(resourceName, "state"),
667+
resource.TestCheckResourceAttr(resourceName, "storage_count", "4"),
668+
669+
func(s *terraform.State) (err error) {
670+
resId2, err = acctest.FromInstanceState(s, resourceName, "id")
671+
if resId != resId2 {
672+
return fmt.Errorf("Resource recreated when it was supposed to be updated.")
673+
}
674+
return err
675+
},
676+
),
677+
},
678+
})
679+
}
680+
550681
func init() {
551682
if acctest.DependencyGraph == nil {
552683
acctest.InitDependencyGraph()

internal/integrationtest/database_cloud_vm_cluster_test.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -413,6 +413,7 @@ func TestDatabaseCloudVmClusterResource_basic(t *testing.T) {
413413
resource.TestCheckResourceAttrSet(resourceName, "backup_subnet_id"),
414414
resource.TestCheckResourceAttrSet(resourceName, "cloud_exadata_infrastructure_id"),
415415
resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId),
416+
resource.TestCheckResourceAttr(resourceName, "compute_model", "OCPU"),
416417
resource.TestCheckResourceAttr(resourceName, "cpu_core_count", "4"),
417418
resource.TestCheckResourceAttr(resourceName, "display_name", "cloudVmCluster"),
418419
resource.TestCheckResourceAttr(resourceName, "gi_version", "19.9.0.0.0"),
@@ -457,6 +458,7 @@ func TestDatabaseCloudVmClusterResource_basic(t *testing.T) {
457458
resource.TestCheckResourceAttrSet(resourceName, "cloud_exadata_infrastructure_id"),
458459
resource.TestCheckResourceAttr(resourceName, "cluster_name", "clusterName"),
459460
resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId),
461+
resource.TestCheckResourceAttr(resourceName, "compute_model", "OCPU"),
460462
resource.TestCheckResourceAttr(resourceName, "cpu_core_count", "4"),
461463
resource.TestCheckResourceAttr(resourceName, "data_collection_options.#", "1"),
462464
resource.TestCheckResourceAttr(resourceName, "data_collection_options.0.is_diagnostics_events_enabled", "false"),
@@ -525,6 +527,7 @@ func TestDatabaseCloudVmClusterResource_basic(t *testing.T) {
525527
resource.TestCheckResourceAttrSet(resourceName, "cloud_exadata_infrastructure_id"),
526528
resource.TestCheckResourceAttr(resourceName, "cluster_name", "clusterName"),
527529
resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentIdU),
530+
resource.TestCheckResourceAttr(resourceName, "compute_model", "OCPU"),
528531
resource.TestCheckResourceAttr(resourceName, "cpu_core_count", "4"),
529532
resource.TestCheckResourceAttr(resourceName, "data_collection_options.#", "1"),
530533
resource.TestCheckResourceAttr(resourceName, "data_collection_options.0.is_diagnostics_events_enabled", "false"),
@@ -593,6 +596,7 @@ func TestDatabaseCloudVmClusterResource_basic(t *testing.T) {
593596
resource.TestCheckResourceAttr(resourceName, "data_collection_options.0.is_diagnostics_events_enabled", "true"),
594597
resource.TestCheckResourceAttr(resourceName, "data_collection_options.0.is_health_monitoring_enabled", "true"),
595598
resource.TestCheckResourceAttr(resourceName, "data_collection_options.0.is_incident_logs_enabled", "true"),
599+
resource.TestCheckResourceAttr(resourceName, "compute_model", "OCPU"),
596600
resource.TestCheckResourceAttr(resourceName, "cpu_core_count", "6"),
597601
resource.TestCheckResourceAttr(resourceName, "data_storage_percentage", "40"),
598602
resource.TestCheckResourceAttr(resourceName, "display_name", "displayName2"),
@@ -667,6 +671,7 @@ func TestDatabaseCloudVmClusterResource_basic(t *testing.T) {
667671
resource.TestCheckResourceAttr(datasourceName, "cloud_vm_clusters.0.data_collection_options.0.is_diagnostics_events_enabled", "true"),
668672
resource.TestCheckResourceAttr(datasourceName, "cloud_vm_clusters.0.data_collection_options.0.is_health_monitoring_enabled", "true"),
669673
resource.TestCheckResourceAttr(datasourceName, "cloud_vm_clusters.0.data_collection_options.0.is_incident_logs_enabled", "true"),
674+
resource.TestCheckResourceAttr(datasourceName, "cloud_vm_clusters.0.compute_model", "OCPU"),
670675
resource.TestCheckResourceAttr(datasourceName, "cloud_vm_clusters.0.cpu_core_count", "6"),
671676
resource.TestCheckResourceAttr(datasourceName, "cloud_vm_clusters.0.data_storage_percentage", "40"),
672677
resource.TestCheckResourceAttrSet(datasourceName, "cloud_vm_clusters.0.disk_redundancy"),
@@ -729,6 +734,7 @@ func TestDatabaseCloudVmClusterResource_basic(t *testing.T) {
729734
resource.TestCheckResourceAttr(singularDatasourceName, "data_collection_options.0.is_diagnostics_events_enabled", "true"),
730735
resource.TestCheckResourceAttr(singularDatasourceName, "data_collection_options.0.is_health_monitoring_enabled", "true"),
731736
resource.TestCheckResourceAttr(singularDatasourceName, "data_collection_options.0.is_incident_logs_enabled", "true"),
737+
resource.TestCheckResourceAttr(singularDatasourceName, "compute_model", "OCPU"),
732738
resource.TestCheckResourceAttr(singularDatasourceName, "cpu_core_count", "6"),
733739
resource.TestCheckResourceAttr(singularDatasourceName, "data_storage_percentage", "40"),
734740
resource.TestCheckResourceAttrSet(singularDatasourceName, "disk_redundancy"),
@@ -805,6 +811,7 @@ func TestDatabaseCloudVmClusterUpdate(t *testing.T) {
805811
resource.TestCheckResourceAttrSet(resourceName, "backup_subnet_id"),
806812
resource.TestCheckResourceAttrSet(resourceName, "cloud_exadata_infrastructure_id"),
807813
resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId),
814+
resource.TestCheckResourceAttr(resourceName, "compute_model", "OCPU"),
808815
resource.TestCheckResourceAttr(resourceName, "cpu_core_count", "4"),
809816
resource.TestCheckResourceAttr(resourceName, "display_name", "cloudVmCluster"),
810817
resource.TestCheckResourceAttr(resourceName, "gi_version", "19.9.0.0.0"),
@@ -833,6 +840,7 @@ func TestDatabaseCloudVmClusterUpdate(t *testing.T) {
833840
resource.TestCheckResourceAttrSet(resourceName, "cloud_exadata_infrastructure_id"),
834841
resource.TestCheckResourceAttr(resourceName, "cluster_name", "clusterName"),
835842
resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId),
843+
resource.TestCheckResourceAttr(resourceName, "compute_model", "OCPU"),
836844
resource.TestCheckResourceAttr(resourceName, "cpu_core_count", "4"),
837845
resource.TestCheckResourceAttr(resourceName, "data_storage_percentage", "40"),
838846
resource.TestCheckResourceAttr(resourceName, "display_name", "cloudVmCluster"),
@@ -876,6 +884,7 @@ func TestDatabaseCloudVmClusterUpdate(t *testing.T) {
876884
resource.TestCheckResourceAttrSet(resourceName, "cloud_exadata_infrastructure_id"),
877885
resource.TestCheckResourceAttr(resourceName, "cluster_name", "clusterName"),
878886
resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentIdU),
887+
resource.TestCheckResourceAttr(resourceName, "compute_model", "OCPU"),
879888
resource.TestCheckResourceAttr(resourceName, "cpu_core_count", "4"),
880889
resource.TestCheckResourceAttr(resourceName, "data_storage_percentage", "40"),
881890
resource.TestCheckResourceAttr(resourceName, "display_name", "cloudVmCluster"),
@@ -916,6 +925,7 @@ func TestDatabaseCloudVmClusterUpdate(t *testing.T) {
916925
resource.TestCheckResourceAttrSet(resourceName, "cloud_exadata_infrastructure_id"),
917926
resource.TestCheckResourceAttr(resourceName, "cluster_name", "clusterName"),
918927
resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId),
928+
resource.TestCheckResourceAttr(resourceName, "compute_model", "OCPU"),
919929
resource.TestCheckResourceAttr(resourceName, "cpu_core_count", "4"),
920930
resource.TestCheckResourceAttr(resourceName, "data_storage_percentage", "40"),
921931
resource.TestCheckResourceAttr(resourceName, "display_name", "displayName2"),

0 commit comments

Comments
 (0)