@@ -24,7 +24,7 @@ variable "managed_database_id" {
2424}
2525
2626variable "managed_database_deployment_type" {
27- default = " ONPREMISE "
27+ default = " VM "
2828}
2929
3030variable "managed_database_management_option" {
@@ -43,10 +43,35 @@ variable "managed_db_freeform_tags" {
4343 default = { " bar-key" = " value" }
4444}
4545
46+ // Use this flags to enable/disable cloud database related resources
47+ variable "enable_cloud_test" {
48+ type = bool
49+ default = true
50+ }
51+
52+ // Use this flags to enable/disable external database related resources
53+ variable "enable_external_test" {
54+ type = bool
55+ default = true
56+ }
57+
58+ // Use this flags to enable/disable non cdb database related resources
59+ variable "enable_non_cdb_test" {
60+ type = bool
61+ default = true
62+ }
63+
64+ // Use this flags to enable/disable cloud database bulk pdb related resources
65+ variable "enable_bulk_cloud_test" {
66+ type = bool
67+ default = true
68+ }
69+
70+
4671# Create a new Tag Namespace.
4772resource "oci_identity_tag_namespace" "tag_namespace1" {
4873 # Required
49- compartment_id = var. tenancy_ocid
74+ compartment_id = var. compartment_id
5075 description = " example tag namespace"
5176 name = " example-tag-namespace-all"
5277}
@@ -80,6 +105,8 @@ resource "oci_database_management_managed_database" "test_managed_database" {
80105 freeform_tags = var. managed_db_freeform_tags
81106}
82107
108+
109+
83110# External CDB
84111variable "external_cdb_id" {
85112 default = " ocid1.test.oc1..<unique_ID>EXAMPLE-external-cdb-id-Value"
@@ -96,21 +123,27 @@ variable "pdb_connector_id" {
96123 default = " ocid1.test.oc1..<unique_ID>EXAMPLE-external-pdb-conector-id-Value"
97124}
98125
99-
100126resource "oci_database_management_externalcontainerdatabase_external_container_dbm_features_management" "test_externalcontainerdatabase_external_container_dbm_features_management_dbm" {
127+ count = var. enable_external_test ? 1 : 0
101128 feature_details {
102129 connector_details {
103130 connector_type = " EXTERNAL"
104131 database_connector_id = var. connector_id
105132 }
106133 feature = " DIAGNOSTICS_AND_MANAGEMENT"
107134 license_model = " LICENSE_INCLUDED"
135+ # Optional
136+ # can_enable_all_current_pdbs = "true"
108137 }
109138 external_container_database_id = var. external_cdb_id
110139 enable_external_container_dbm_feature = " true"
140+
141+ # Optional
142+ # can_disable_all_pdbs = "true"
111143}
112144
113145resource "oci_database_management_externalcontainerdatabase_external_container_dbm_features_management" "test_externalcontainerdatabase_external_container_dbm_features_management_sqlwatch" {
146+ count = var. enable_external_test ? 1 : 0
114147 feature_details {
115148 connector_details {
116149 connector_type = " EXTERNAL"
@@ -144,8 +177,8 @@ resource "oci_database_management_externalcontainerdatabase_external_container_d
144177}
145178*/
146179
147-
148180resource "oci_database_management_externalpluggabledatabase_external_pluggable_dbm_features_management" "test_externalpluggabledatabase_external_pluggable_dbm_features_management_dbm" {
181+ count = var. enable_external_test ? 1 : 0
149182 feature_details {
150183 connector_details {
151184 connector_type = " EXTERNAL"
@@ -162,6 +195,7 @@ resource "oci_database_management_externalpluggabledatabase_external_pluggable_d
162195}
163196
164197resource "oci_database_management_externalpluggabledatabase_external_pluggable_dbm_features_management" "test_externalpluggabledatabase_external_pluggable_dbm_features_management_sqlwatch" {
198+ count = var. enable_external_test ? 1 : 0
165199 feature_details {
166200 connector_details {
167201 connector_type = " EXTERNAL"
@@ -188,6 +222,7 @@ variable "non_cdb_connector_id" {
188222}
189223
190224resource "oci_database_management_externalnoncontainerdatabase_external_non_container_dbm_features_management" "test_externalnoncontainerdatabase_external_non_container_dbm_features_management_dbm" {
225+ count = var. enable_non_cdb_test ? 1 : 0
191226 feature_details {
192227 connector_details {
193228 connector_type = " EXTERNAL"
@@ -201,6 +236,7 @@ resource "oci_database_management_externalnoncontainerdatabase_external_non_cont
201236}
202237
203238resource "oci_database_management_externalnoncontainerdatabase_external_non_container_dbm_features_management" "test_externalnoncontainerdatabase_external_non_container_dbm_features_management_sqlwatch" {
239+ count = var. enable_non_cdb_test ? 1 : 0
204240 feature_details {
205241 connector_details {
206242 connector_type = " EXTERNAL"
@@ -216,7 +252,7 @@ resource "oci_database_management_externalnoncontainerdatabase_external_non_cont
216252 ]
217253}
218254
219- /*
255+ /* Keep disabled
220256resource "oci_database_management_externalnoncontainerdatabase_external_non_container_dbm_features_management" "test_externalnoncontainerdatabase_external_non_container_dbm_features_management_dblm" {
221257 feature_details {
222258 connector_details {
@@ -278,6 +314,7 @@ variable "db_service" {
278314
279315# Enable DIAGNOSTICS_AND_MANAGEMENT
280316resource "oci_database_management_database_dbm_features_management" "test_database_dbm_features_management_diag_enable" {
317+ count = var. enable_cloud_test ? 1 : 0
281318 feature_details {
282319 connector_details {
283320 connector_type = " PE"
@@ -307,6 +344,7 @@ resource "oci_database_management_database_dbm_features_management" "test_databa
307344
308345# Modify DIAGNOSTICS_AND_MANAGEMENT
309346resource "oci_database_management_database_dbm_features_management" "test_database_dbm_features_management_diag_modify" {
347+ count = var. enable_cloud_test ? 1 : 0
310348 feature_details {
311349 connector_details {
312350 connector_type = " PE"
@@ -337,10 +375,9 @@ resource "oci_database_management_database_dbm_features_management" "test_databa
337375 ]
338376}
339377
340-
341- # Uncomment PDB enable APIs only after CDB enablement is done
342378# Enable DIAGNOSTICS_AND_MANAGEMENT for Cloud PDB
343379resource "oci_database_management_pluggabledatabase_pluggable_database_dbm_features_management" "test_pluggabledatabase_pluggable_database_dbm_features_management_enable_diag" {
380+ count = var. enable_cloud_test ? 1 : 0
344381 feature_details {
345382 connector_details {
346383 connector_type = " PE"
@@ -373,6 +410,7 @@ resource "oci_database_management_pluggabledatabase_pluggable_database_dbm_featu
373410
374411# Modify DIAGNOSTICS_AND_MANAGEMENT for Cloud PDB
375412resource "oci_database_management_pluggabledatabase_pluggable_database_dbm_features_management" "test_pluggabledatabase_pluggable_database_dbm_features_management_modify_diag" {
413+ count = var. enable_cloud_test ? 1 : 0
376414 feature_details {
377415 connector_details {
378416 connector_type = " PE"
@@ -404,35 +442,76 @@ resource "oci_database_management_pluggabledatabase_pluggable_database_dbm_featu
404442}
405443
406444
407-
408445# Disable DIAGNOSTICS_AND_MANAGEMENT for Cloud PDB
409446resource "oci_database_management_pluggabledatabase_pluggable_database_dbm_features_management" "test_pluggabledatabase_pluggable_database_dbm_features_management_disable_diag" {
410- feature_details {
411- feature = " DIAGNOSTICS_AND_MANAGEMENT"
412- management_type = " ADVANCED"
413- }
447+ count = var. enable_cloud_test ? 1 : 0
448+ feature = " DIAGNOSTICS_AND_MANAGEMENT"
414449 pluggable_database_id = var. cloud_pdb_id
415450 enable_pluggable_database_dbm_feature = " false"
416451 depends_on = [
417452 oci_database_management_pluggabledatabase_pluggable_database_dbm_features_management . test_pluggabledatabase_pluggable_database_dbm_features_management_modify_diag
418453 ]
419454}
420455
421-
422456# Disable DIAGNOSTICS_AND_MANAGEMENT for Cloud CDB
423457resource "oci_database_management_database_dbm_features_management" "test_database_dbm_features_management_diag_disable" {
458+ count = var. enable_cloud_test ? 1 : 0
459+ feature = " DIAGNOSTICS_AND_MANAGEMENT"
460+ database_id = var. cloud_cdb_id
461+ enable_database_dbm_feature = " false"
462+
463+ depends_on = [
464+ oci_database_management_pluggabledatabase_pluggable_database_dbm_features_management . test_pluggabledatabase_pluggable_database_dbm_features_management_disable_diag
465+ ]
466+ }
467+
468+ # Bulk Enable DIAGNOSTICS_AND_MANAGEMENT for cloud CDB
469+ resource "oci_database_management_database_dbm_features_management" "test_database_dbm_features_management_cloud_cdb_diag_bulk_pdb_enable" {
470+ count = var. enable_bulk_cloud_test ? 1 : 0
424471 feature_details {
472+ connector_details {
473+ connector_type = " PE"
474+ private_end_point_id = var. cdb_pe_id
475+ }
476+ database_connection_details {
477+ connection_credentials {
478+ credential_type = " DETAILS"
479+ password_secret_id = var. vault_secret_id
480+ role = var. cdb_user_role
481+ user_name = var. cdb_user
482+ }
483+ connection_string {
484+ connection_type = " BASIC"
485+ port = " 1521"
486+ protocol = " TCP"
487+ service = var. cdb_service
488+ }
489+ }
425490 feature = " DIAGNOSTICS_AND_MANAGEMENT"
426491 management_type = " ADVANCED"
492+ can_enable_all_current_pdbs = " true"
493+ is_auto_enable_pluggable_database = " true"
427494 }
495+
428496 database_id = var. cloud_cdb_id
429- enable_database_dbm_feature = " false"
497+ enable_database_dbm_feature = " true"
498+
499+ }
430500
501+ # Bulk Disable DIAGNOSTICS_AND_MANAGEMENT for cloud CDB
502+ resource "oci_database_management_database_dbm_features_management" "test_database_dbm_features_management_cloud_cdb_diag_bulk_pdb_disable" {
503+ count = var. enable_bulk_cloud_test ? 1 : 0
504+ feature = " DIAGNOSTICS_AND_MANAGEMENT"
505+ can_disable_all_pdbs = " true"
506+ database_id = var. cloud_cdb_id
507+ enable_database_dbm_feature = " false"
431508 depends_on = [
432- oci_database_management_pluggabledatabase_pluggable_database_dbm_features_management . test_pluggabledatabase_pluggable_database_dbm_features_management_disable_diag
509+ oci_database_management_database_dbm_features_management . test_database_dbm_features_management_cloud_cdb_diag_bulk_pdb_enable
433510 ]
434511}
435512
513+
514+
436515variable "adb_id" {
437516 default = " ocid1.autonomousdatabase<>"
438517}
@@ -486,3 +565,4 @@ resource "oci_database_management_autonomous_database_autonomous_database_dbm_fe
486565 autonomous_database_id = var. adb_id
487566 enable_autonomous_database_dbm_feature = " true"
488567}
568+
0 commit comments