Skip to content

Commit d0f6d0f

Browse files
Shubham GuptaMaxrovr
authored andcommitted
Added - Support for Customer Contact for Operational Notifications Phase 2 | ADB-D & ADB-C@C
1 parent c0f4228 commit d0f6d0f

10 files changed

+167
-14
lines changed

examples/database/atp-d/main.tf

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,13 @@ resource "oci_database_autonomous_container_database" "test_autonomous_container
5959
// OKV related
6060
key_store_id = oci_database_key_store.test_key_store.id
6161
okv_end_point_group_name = "DUMMY_OKV_EPG_GROUP"
62+
customer_contacts {
63+
64+
}
65+
66+
customer_contacts {
67+
68+
}
6269
}
6370

6471
resource "oci_database_autonomous_database_software_image" "autonomous_database_software_image" {

examples/database/exadata_cc/adbd/acd.tf

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,13 @@ resource "oci_database_key_store" "test_key_store" {
4343
type = "ORACLE_KEY_VAULT"
4444
vault_id = var.kms_vault_ocid
4545
}
46+
customer_contacts {
47+
48+
}
49+
50+
customer_contacts {
51+
52+
}
4653
}
4754

4855
data "oci_database_autonomous_container_database_resource_usage" "test_autonomous_container_database_resource_usages" {

internal/integrationtest/database_autonomous_container_database_resource_test.go

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ var (
4343
}
4444

4545
ACDatabaseRepresentation = map[string]interface{}{
46+
"customer_contacts": acctest.RepresentationGroup{RepType: acctest.Optional, Group: DatabaseAutonomousContainerDatabaseCustomerContactsRepresentation},
4647
"db_split_threshold": acctest.Representation{RepType: acctest.Optional, Create: `8`},
4748
"okv_end_point_group_name": acctest.Representation{RepType: acctest.Optional, Create: `DUMMY_OKV_EPG_GROUP`, Update: `DUMMY_OKV_EPG_GROUP_2`},
4849
"distribution_affinity": acctest.Representation{RepType: acctest.Optional, Create: `MINIMUM_DISTRIBUTION`},
@@ -82,7 +83,7 @@ var (
8283
"maintenance_window_details": acctest.RepresentationGroup{RepType: acctest.Optional, Group: DatabaseAutonomousContainerDatabaseMaintenanceWindowDetailsRepresentation},
8384
"service_level_agreement_type": acctest.Representation{RepType: acctest.Optional, Create: `STANDARD`},
8485
"db_name": acctest.Representation{RepType: acctest.Optional, Create: `DBNAME`},
85-
"db_version": acctest.Representation{RepType: acctest.Required, Create: utils.GetEnvSettingWithDefault("exacc_acd_db_version", "19.25.0.1.0")},
86+
"db_version": acctest.Representation{RepType: acctest.Required, Create: utils.GetEnvSettingWithDefault("exacc_acd_db_version", "19.26.0.1.0")},
8687
"is_dst_file_update_enabled": acctest.Representation{RepType: acctest.Optional, Create: `false`, Update: `true`},
8788
}
8889

@@ -101,7 +102,7 @@ var (
101102
"maintenance_window_details": acctest.RepresentationGroup{RepType: acctest.Optional, Group: DatabaseAutonomousContainerDatabaseMaintenanceWindowDetailsRepresentation},
102103
"service_level_agreement_type": acctest.Representation{RepType: acctest.Optional, Create: `STANDARD`},
103104
"db_name": acctest.Representation{RepType: acctest.Optional, Create: `DBNAME`},
104-
"db_version": acctest.Representation{RepType: acctest.Required, Create: utils.GetEnvSettingWithDefault("exacc_acd_db_version", "19.25.0.1.0")},
105+
"db_version": acctest.Representation{RepType: acctest.Required, Create: utils.GetEnvSettingWithDefault("exacc_acd_db_version", "19.26.0.1.0")},
105106
"is_dst_file_update_enabled": acctest.Representation{RepType: acctest.Optional, Create: `false`, Update: `true`},
106107
}
107108

@@ -174,10 +175,9 @@ var (
174175
"type": acctest.Representation{RepType: acctest.Required, Create: `LOCAL`}}},
175176
"recovery_window_in_days": acctest.Representation{RepType: acctest.Optional, Create: `7`},
176177
}
177-
178178
ACDatabaseResourceDependencies = DatabaseAVMClusterWithSingleNetworkResourceDependencies +
179179
acctest.GenerateResourceFromRepresentationMap("oci_database_backup_destination", "test_backup_destination", acctest.Optional, acctest.Create, backupDestinationNFSRepresentation) +
180-
acctest.GenerateResourceFromRepresentationMap("oci_database_autonomous_vm_cluster", "test_autonomous_vm_cluster", acctest.Required, acctest.Create, DatabaseOCPUAutonomousVmClusterRepresentation) +
180+
acctest.GenerateResourceFromRepresentationMap("oci_database_autonomous_vm_cluster", "test_autonomous_vm_cluster", acctest.Required, acctest.Create, DatabaseECPUAutonomousVmClusterRepresentation) +
181181
acctest.GenerateResourceFromRepresentationMap("oci_database_key_store", "test_key_store", acctest.Optional, acctest.Create, DatabaseKeyStoreRepresentation) +
182182
KmsVaultIdVariableStr + OkvSecretVariableStr
183183

@@ -205,7 +205,7 @@ var (
205205
acctest.GenerateResourceFromRepresentationMap("oci_database_backup_destination", "ra_backup_destination", acctest.Optional, acctest.Create, DatabaseBackupDestinationRepresentation)
206206

207207
ExaccACDWithDGUpdateBkpDesRepresentation = map[string]interface{}{
208-
"db_version": acctest.Representation{RepType: acctest.Required, Create: utils.GetEnvSettingWithDefault("acd_db_version", "19.25.0.1.0")},
208+
"db_version": acctest.Representation{RepType: acctest.Required, Create: utils.GetEnvSettingWithDefault("acd_db_version", "19.26.0.1.0")},
209209
"display_name": acctest.Representation{RepType: acctest.Required, Create: `ACD-DG-TF-TEST`},
210210
"patch_model": acctest.Representation{RepType: acctest.Required, Create: `RELEASE_UPDATES`, Update: `RELEASE_UPDATE_REVISIONS`},
211211
"autonomous_vm_cluster_id": acctest.Representation{RepType: acctest.Required, Create: `${oci_database_autonomous_vm_cluster.test_autonomous_vm_cluster.id}`},
@@ -249,7 +249,8 @@ var (
249249
`peer_autonomous_container_database_backup_config`,
250250
`maintenance_window_details`}},
251251
}
252-
ExaccDatabaseAutonomousContainerDatabaseResourceDependencies = DatabaseAutonomousVmClusterRequiredOnlyResource +
252+
ExaccDatabaseAutonomousContainerDatabaseResourceDependencies = DatabaseAutonomousVmClusterResourceDependencies +
253+
acctest.GenerateResourceFromRepresentationMap("oci_database_autonomous_vm_cluster", "test_autonomous_vm_cluster", acctest.Required, acctest.Create, DatabaseECPUAutonomousVmClusterRepresentation) +
253254
KeyResourceDependencyConfig + kmsKeyIdCreateVariableStr + kmsKeyIdUpdateVariableStr +
254255
acctest.GenerateResourceFromRepresentationMap("oci_database_backup_destination", "test_backup_destination", acctest.Optional, acctest.Create, backupDestinationADBCCNFSRepresentation) +
255256
OkvSecretVariableStr +
@@ -381,7 +382,7 @@ func TestDatabaseExaccAutonomousContainerDatabaseFromAdsi_basic(t *testing.T) {
381382

382383
// verify resource import
383384
{
384-
Config: config + compartmentIdVariableStr + ExaccACDRequiredOnlyResource,
385+
Config: config + ExaccACDRequiredOnlyResource + compartmentIdVariableStr,
385386
ImportState: true,
386387
ImportStateVerify: true,
387388
ImportStateVerifyIgnore: []string{
@@ -496,7 +497,7 @@ func TestDatabaseAutonomousContainerDatabaseFromAdsi_basic(t *testing.T) {
496497

497498
// verify resource import
498499
{
499-
Config: config + compartmentIdVariableStr + ACDRequiredOnlyResource,
500+
Config: config + ACDRequiredOnlyResource + compartmentIdVariableStr,
500501
ImportState: true,
501502
ImportStateVerify: true,
502503
ImportStateVerifyIgnore: []string{
@@ -754,6 +755,8 @@ func TestDatabaseExaccAutonomousContainerDatabase_basic(t *testing.T) {
754755
resource.TestCheckResourceAttr(resourceName, "backup_config.0.recovery_window_in_days", "10"),
755756
resource.TestCheckResourceAttr(resourceName, "backup_config.0.backup_destination_details.#", "1"),
756757
resource.TestCheckResourceAttrSet(resourceName, "backup_config.0.backup_destination_details.0.id"),
758+
resource.TestCheckResourceAttr(resourceName, "customer_contacts.#", "1"),
759+
resource.TestCheckResourceAttr(resourceName, "customer_contacts.0.email", "[email protected]"),
757760
resource.TestCheckResourceAttr(resourceName, "backup_config.0.backup_destination_details.0.internet_proxy", "internetProxy"),
758761
resource.TestCheckResourceAttr(resourceName, "backup_config.0.backup_destination_details.0.type", "NFS"),
759762
resource.TestCheckResourceAttr(resourceName, "backup_config.0.backup_destination_details.0.vpc_user", "bkupUser1"),
@@ -809,6 +812,8 @@ func TestDatabaseExaccAutonomousContainerDatabase_basic(t *testing.T) {
809812
resource.TestCheckResourceAttr(resourceName, "backup_config.#", "1"),
810813
resource.TestCheckResourceAttr(resourceName, "backup_config.0.recovery_window_in_days", "11"),
811814
resource.TestCheckResourceAttrSet(resourceName, "backup_config.0.backup_destination_details.0.id"),
815+
resource.TestCheckResourceAttr(resourceName, "customer_contacts.#", "1"),
816+
resource.TestCheckResourceAttr(resourceName, "customer_contacts.0.email", "[email protected]"),
812817
resource.TestCheckResourceAttr(resourceName, "backup_config.0.backup_destination_details.0.internet_proxy", "internetProxy"),
813818
resource.TestCheckResourceAttr(resourceName, "backup_config.0.backup_destination_details.0.type", "NFS"),
814819
resource.TestCheckResourceAttr(resourceName, "backup_config.0.backup_destination_details.0.vpc_user", "bkupUser1"),
@@ -944,7 +949,7 @@ func TestDatabaseExaccAutonomousContainerDatabase_basic(t *testing.T) {
944949
},
945950
// verify resource import
946951
{
947-
Config: config + compartmentIdVariableStr + DatabaseAutonomousContainerDatabaseRequiredOnlyResource,
952+
Config: config + DatabaseAutonomousContainerDatabaseRequiredOnlyResource + compartmentIdVariableStr,
948953
ImportState: true,
949954
ImportStateVerify: true,
950955
ImportStateVerifyIgnore: []string{
@@ -1231,7 +1236,7 @@ func TestDatabaseAutonomousContainerDatabase_rotateDatabase(t *testing.T) {
12311236
},
12321237
// verify resource import
12331238
{
1234-
Config: config + DatabaseAutonomousContainerDatabaseRequiredOnlyResource,
1239+
Config: config + DatabaseAutonomousContainerDatabaseRequiredOnlyResource + compartmentIdVariableStr,
12351240
ImportState: true,
12361241
ImportStateVerify: true,
12371242
ImportStateVerifyIgnore: []string{

internal/integrationtest/database_autonomous_container_database_test.go

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,14 +55,15 @@ var (
5555
DatabaseAutonomousContainerDatabaseRepresentation = map[string]interface{}{
5656
//"autonomous_container_database_backup_id": acctest.Representation{RepType: acctest.Optional, Create: `${oci_database_autonomous_container_database_backup.test_autonomous_container_database_backup.id}`},
5757
"source": acctest.Representation{RepType: acctest.Optional, Create: `NONE`},
58+
"customer_contacts": acctest.RepresentationGroup{RepType: acctest.Optional, Group: DatabaseAutonomousContainerDatabaseCustomerContactsRepresentation},
5859
"db_split_threshold": acctest.Representation{RepType: acctest.Optional, Create: `12`},
5960
"distribution_affinity": acctest.Representation{RepType: acctest.Optional, Create: `MINIMUM_DISTRIBUTION`},
6061
"net_services_architecture": acctest.Representation{RepType: acctest.Optional, Create: `DEDICATED`},
6162
"vm_failover_reservation": acctest.Representation{RepType: acctest.Optional, Create: `25`},
6263
"version_preference": acctest.Representation{RepType: acctest.Optional, Create: `LATEST_RELEASE_UPDATE`, Update: `NEXT_RELEASE_UPDATE`},
6364
"display_name": acctest.Representation{RepType: acctest.Required, Create: `containerDatabase2`, Update: `displayName2`},
6465
"patch_model": acctest.Representation{RepType: acctest.Required, Create: `RELEASE_UPDATES`, Update: `RELEASE_UPDATE_REVISIONS`},
65-
"db_version": acctest.Representation{RepType: acctest.Required, Create: utils.GetEnvSettingWithDefault("acd_db_version", "19.24.0.1.0")},
66+
"db_version": acctest.Representation{RepType: acctest.Required, Create: utils.GetEnvSettingWithDefault("acd_db_version", "19.26.0.1.0")},
6667
"cloud_autonomous_vm_cluster_id": acctest.Representation{RepType: acctest.Required, Create: `${oci_database_cloud_autonomous_vm_cluster.test_cloud_autonomous_vm_cluster.id}`},
6768
"backup_config": acctest.RepresentationGroup{RepType: acctest.Optional, Group: ACDatabaseBackupConfigRepresentation},
6869
"compartment_id": acctest.Representation{RepType: acctest.Optional, Create: `${var.compartment_id}`},
@@ -117,6 +118,11 @@ var (
117118
DatabaseAutonomousContainerDatabaseBackupConfigWithRARepresentation = map[string]interface{}{
118119
"backup_destination_details": acctest.RepresentationGroup{RepType: acctest.Required, Group: autonomousContainerDatabaseBackupConfigBackupDestinationDetailsWithRARepresentation},
119120
}
121+
122+
DatabaseAutonomousContainerDatabaseCustomerContactsRepresentation = map[string]interface{}{
123+
"email": acctest.Representation{RepType: acctest.Optional, Create: `[email protected]`, Update: `[email protected]`},
124+
}
125+
120126
DatabaseAddStandbyAutonomousContainerDatabaseBackupConfigRepresentation = map[string]interface{}{
121127
"backup_destination_details": acctest.RepresentationGroup{RepType: acctest.Optional, Group: autonomousContainerDatabaseBackupConfigBackupDestinationDetailsRepresentation},
122128
"recovery_window_in_days": acctest.Representation{RepType: acctest.Optional, Create: `7`, Update: `7`},
@@ -547,7 +553,6 @@ func TestDatabaseAutonomousContainerDatabaseResource_basic(t *testing.T) {
547553
acctest.GetUpdatedRepresentationCopy("months",
548554
[]acctest.RepresentationGroup{{RepType: acctest.Optional, Group: DatabaseAutonomousContainerDatabaseMaintenanceWindowDetailsMonthsRepresentation}, {RepType: acctest.Optional, Group: DatabaseAutonomousContainerDatabaseMaintenanceWindowDetailsMonthsRepresentation2}, {RepType: acctest.Optional, Group: DatabaseAutonomousContainerDatabaseMaintenanceWindowDetailsMonthsRepresentation3}, {RepType: acctest.Optional, Group: DatabaseAutonomousContainerDatabaseMaintenanceWindowDetailsMonthsRepresentation4}},
549555
DatabaseAutonomousContainerDatabaseMaintenanceWindowDetailsRepresentation), []string{"lead_time_in_weeks"})
550-
551556
AutonomousContainerDatabaseDedicatedRepresentation := acctest.GetUpdatedRepresentationCopy("maintenance_window_details", acctest.RepresentationGroup{RepType: acctest.Optional, Group: AutonomousContainerDatabaseDedicatedMaintenanceWindowDetailsRepresentation}, DatabaseAutonomousContainerDatabaseRepresentation)
552557

553558
var resId, resId2 string
@@ -591,6 +596,8 @@ func TestDatabaseAutonomousContainerDatabaseResource_basic(t *testing.T) {
591596
resource.TestCheckResourceAttr(resourceName, "backup_config.#", "1"),
592597
resource.TestCheckResourceAttr(resourceName, "backup_config.0.recovery_window_in_days", "10"),
593598
resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId),
599+
resource.TestCheckResourceAttr(resourceName, "customer_contacts.#", "1"),
600+
resource.TestCheckResourceAttr(resourceName, "customer_contacts.0.email", "[email protected]"),
594601
resource.TestCheckResourceAttr(resourceName, "db_split_threshold", "12"),
595602
resource.TestCheckResourceAttr(resourceName, "distribution_affinity", "MINIMUM_DISTRIBUTION"),
596603
resource.TestCheckResourceAttrSet(resourceName, "db_version"),
@@ -663,6 +670,8 @@ func TestDatabaseAutonomousContainerDatabaseResource_basic(t *testing.T) {
663670
resource.TestCheckResourceAttr(resourceName, "backup_config.#", "1"),
664671
resource.TestCheckResourceAttr(resourceName, "backup_config.0.recovery_window_in_days", "10"),
665672
resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentIdU),
673+
resource.TestCheckResourceAttr(resourceName, "customer_contacts.#", "1"),
674+
resource.TestCheckResourceAttr(resourceName, "customer_contacts.0.email", "[email protected]"),
666675
resource.TestCheckResourceAttr(resourceName, "db_split_threshold", "12"),
667676
resource.TestCheckResourceAttr(resourceName, "distribution_affinity", "MINIMUM_DISTRIBUTION"),
668677
resource.TestCheckResourceAttrSet(resourceName, "db_version"),
@@ -726,6 +735,8 @@ func TestDatabaseAutonomousContainerDatabaseResource_basic(t *testing.T) {
726735
resource.TestCheckResourceAttr(resourceName, "backup_config.#", "1"),
727736
resource.TestCheckResourceAttr(resourceName, "backup_config.0.recovery_window_in_days", "11"),
728737
resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId),
738+
resource.TestCheckResourceAttr(resourceName, "customer_contacts.#", "1"),
739+
resource.TestCheckResourceAttr(resourceName, "customer_contacts.0.email", "[email protected]"),
729740
resource.TestCheckResourceAttr(resourceName, "db_split_threshold", "12"),
730741
resource.TestCheckResourceAttr(resourceName, "distribution_affinity", "MINIMUM_DISTRIBUTION"),
731742
resource.TestCheckResourceAttrSet(resourceName, "db_version"),
@@ -844,7 +855,8 @@ func TestDatabaseAutonomousContainerDatabaseResource_basic(t *testing.T) {
844855
resource.TestCheckResourceAttr(datasourceName, "autonomous_container_databases.0.backup_config.0.recovery_window_in_days", "11"),
845856
resource.TestCheckResourceAttr(datasourceName, "autonomous_container_databases.0.compartment_id", compartmentId),
846857
resource.TestCheckResourceAttrSet(datasourceName, "autonomous_container_databases.0.compute_model"),
847-
858+
resource.TestCheckResourceAttr(datasourceName, "autonomous_container_databases.0.customer_contacts.#", "1"),
859+
resource.TestCheckResourceAttr(datasourceName, "autonomous_container_databases.0.customer_contacts.0.email", "[email protected]"),
848860
resource.TestCheckResourceAttr(datasourceName, "autonomous_container_databases.0.dataguard.#", "0"),
849861
resource.TestCheckResourceAttr(datasourceName, "autonomous_container_databases.0.dataguard_group_members.#", "0"),
850862
resource.TestCheckResourceAttr(datasourceName, "autonomous_container_databases.0.db_split_threshold", "12"),
@@ -908,6 +920,8 @@ func TestDatabaseAutonomousContainerDatabaseResource_basic(t *testing.T) {
908920
resource.TestCheckResourceAttr(singularDatasourceName, "backup_config.0.recovery_window_in_days", "11"),
909921
resource.TestCheckResourceAttr(singularDatasourceName, "compartment_id", compartmentId),
910922
resource.TestCheckResourceAttrSet(singularDatasourceName, "compute_model"),
923+
resource.TestCheckResourceAttr(singularDatasourceName, "customer_contacts.#", "1"),
924+
resource.TestCheckResourceAttr(singularDatasourceName, "customer_contacts.0.email", "[email protected]"),
911925
resource.TestCheckResourceAttr(singularDatasourceName, "dataguard.#", "0"),
912926
resource.TestCheckResourceAttr(singularDatasourceName, "dataguard_group_members.#", "0"),
913927
resource.TestCheckResourceAttr(singularDatasourceName, "db_split_threshold", "12"),
@@ -984,7 +998,7 @@ func TestDatabaseAutonomousContainerDatabaseResource_basic(t *testing.T) {
984998

985999
// verify resource import
9861000
{
987-
Config: config + compartmentIdVariableStr + DatabaseAutonomousContainerDatabaseRequiredOnlyResource,
1001+
Config: config + DatabaseAutonomousContainerDatabaseRequiredOnlyResource + compartmentIdVariableStr,
9881002
ImportState: true,
9891003
ImportStateVerify: true,
9901004
ImportStateVerifyIgnore: []string{

internal/service/database/database_autonomous_container_database_data_source.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,12 @@ func (s *DatabaseAutonomousContainerDatabaseDataSourceCrud) SetData() error {
122122
}
123123
s.D.Set("dataguard_group_members", dataguardGroupMembers)
124124

125+
customerContacts := []interface{}{}
126+
for _, item := range s.Res.CustomerContacts {
127+
customerContacts = append(customerContacts, ACDCustomerContactToMap(item))
128+
}
129+
s.D.Set("customer_contacts", customerContacts)
130+
125131
if s.Res.DbName != nil {
126132
s.D.Set("db_name", *s.Res.DbName)
127133
}

0 commit comments

Comments
 (0)