Skip to content

Commit 58a619c

Browse files
Terraform Team AutomationjiaqchenO
authored andcommitted
Added:- 08/06 Support for Sqlwatch integration Added:- 08/06 Support for Sqlwatch integration
1 parent 733e79f commit 58a619c

File tree

32 files changed

+2045
-492
lines changed

32 files changed

+2045
-492
lines changed

examples/databasemanagement/mdb/main.tf

Lines changed: 238 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ variable "compartment_id" {
2020
}
2121

2222
variable "managed_database_id" {
23-
default = "ocid1.test.oc1..<unique_ID>EXAMPLE-managedDatabaseId-Value"
23+
default = "ocid1.test.oc1..<unique_ID>EXAMPLE-managedDatabase-Value"
2424
}
2525

2626
variable "managed_database_deployment_type" {
@@ -82,13 +82,22 @@ resource "oci_database_management_managed_database" "test_managed_database" {
8282

8383
# External CDB
8484
variable "external_cdb_id" {
85-
default = "ocid1.externalcontainerdatabase"
85+
default = "ocid1.test.oc1..<unique_ID>EXAMPLE-external-cdb-id-Value"
8686
}
8787
variable "connector_id" {
88-
default = "ocid1.externaldatabaseconnector"
88+
default = "ocid1.test.oc1..<unique_ID>EXAMPLE-external-conector-id-Value"
8989
}
9090

91-
resource "oci_database_management_externalcontainerdatabase_external_container_dbm_features_management" "test_externalcontainerdatabase_external_container_dbm_features_management" {
91+
# External PDB
92+
variable "external_pdb_id" {
93+
default = "ocid1.test.oc1..<unique_ID>EXAMPLE-external-pdb-id-Value"
94+
}
95+
variable "pdb_connector_id" {
96+
default = "ocid1.test.oc1..<unique_ID>EXAMPLE-external-pdb-conector-id-Value"
97+
}
98+
99+
100+
resource "oci_database_management_externalcontainerdatabase_external_container_dbm_features_management" "test_externalcontainerdatabase_external_container_dbm_features_management_dbm" {
92101
feature_details {
93102
connector_details {
94103
connector_type = "EXTERNAL"
@@ -101,16 +110,42 @@ resource "oci_database_management_externalcontainerdatabase_external_container_d
101110
enable_external_container_dbm_feature = "true"
102111
}
103112

104-
# Uncomment PDB enable APIs only after CDB enablement is done
105-
# External PDB
106-
/*variable "external_pdb_id" {
107-
default = "ocid1.externalpluggabledatabase"
113+
resource "oci_database_management_externalcontainerdatabase_external_container_dbm_features_management" "test_externalcontainerdatabase_external_container_dbm_features_management_sqlwatch" {
114+
feature_details {
115+
connector_details {
116+
connector_type = "EXTERNAL"
117+
database_connector_id = var.connector_id
118+
}
119+
feature = "SQLWATCH"
120+
license_model = "LICENSE_INCLUDED"
121+
}
122+
external_container_database_id = var.external_cdb_id
123+
enable_external_container_dbm_feature = "true"
124+
depends_on = [
125+
oci_database_management_externalcontainerdatabase_external_container_dbm_features_management.test_externalcontainerdatabase_external_container_dbm_features_management_dbm
126+
]
108127
}
109-
variable "pdb_connector_id" {
110-
default = "ocid1.externaldatabaseconnector"
128+
129+
/*
130+
resource "oci_database_management_externalcontainerdatabase_external_container_dbm_features_management" "test_externalcontainerdatabase_external_container_dbm_features_management_dblm" {
131+
feature_details {
132+
connector_details {
133+
connector_type = "EXTERNAL"
134+
database_connector_id = var.connector_id
135+
}
136+
feature = "DB_LIFECYCLE_MANAGEMENT"
137+
license_model = "LICENSE_INCLUDED"
138+
}
139+
external_container_database_id = var.external_cdb_id
140+
enable_external_container_dbm_feature = "true"
141+
depends_on = [
142+
oci_database_management_externalcontainerdatabase_external_container_dbm_features_management.test_externalcontainerdatabase_external_container_dbm_features_management_sqlwatch
143+
]
111144
}
145+
*/
146+
112147

113-
resource "oci_database_management_externalpluggabledatabase_external_pluggable_dbm_features_management" "test_externalpluggabledatabase_external_pluggable_dbm_features_management" {
148+
resource "oci_database_management_externalpluggabledatabase_external_pluggable_dbm_features_management" "test_externalpluggabledatabase_external_pluggable_dbm_features_management_dbm" {
114149
feature_details {
115150
connector_details {
116151
connector_type = "EXTERNAL"
@@ -120,18 +155,39 @@ resource "oci_database_management_externalpluggabledatabase_external_pluggable_d
120155
}
121156
external_pluggable_database_id = var.external_pdb_id
122157
enable_external_pluggable_dbm_feature = "true"
123-
}*/
158+
159+
depends_on = [
160+
oci_database_management_externalcontainerdatabase_external_container_dbm_features_management.test_externalcontainerdatabase_external_container_dbm_features_management_dbm
161+
]
162+
}
163+
164+
resource "oci_database_management_externalpluggabledatabase_external_pluggable_dbm_features_management" "test_externalpluggabledatabase_external_pluggable_dbm_features_management_sqlwatch" {
165+
feature_details {
166+
connector_details {
167+
connector_type = "EXTERNAL"
168+
database_connector_id = var.pdb_connector_id
169+
}
170+
feature = "SQLWATCH"
171+
}
172+
external_pluggable_database_id = var.external_pdb_id
173+
enable_external_pluggable_dbm_feature = "true"
174+
175+
depends_on = [
176+
oci_database_management_externalpluggabledatabase_external_pluggable_dbm_features_management.test_externalpluggabledatabase_external_pluggable_dbm_features_management_dbm,
177+
oci_database_management_externalcontainerdatabase_external_container_dbm_features_management.test_externalcontainerdatabase_external_container_dbm_features_management_sqlwatch
178+
]
179+
}
124180

125181

126182
# External Non-CDB
127183
variable "external_non_cdb_id" {
128-
default = "ocid1.externalnoncontainerdatabase"
184+
default = "ocid1.test.oc1..<unique_ID>EXAMPLE-external-noncdb-id-Value"
129185
}
130186
variable "non_cdb_connector_id" {
131-
default = "ocid1.externaldatabaseconnector"
187+
default = "ocid1.test.oc1..<unique_ID>EXAMPLE-external-noncdb-connector-id-Value"
132188
}
133189

134-
resource "oci_database_management_externalnoncontainerdatabase_external_non_container_dbm_features_management" "test_externalnoncontainerdatabase_external_non_container_dbm_features_management" {
190+
resource "oci_database_management_externalnoncontainerdatabase_external_non_container_dbm_features_management" "test_externalnoncontainerdatabase_external_non_container_dbm_features_management_dbm" {
135191
feature_details {
136192
connector_details {
137193
connector_type = "EXTERNAL"
@@ -144,26 +200,84 @@ resource "oci_database_management_externalnoncontainerdatabase_external_non_cont
144200
enable_external_non_container_dbm_feature = "true"
145201
}
146202

203+
resource "oci_database_management_externalnoncontainerdatabase_external_non_container_dbm_features_management" "test_externalnoncontainerdatabase_external_non_container_dbm_features_management_sqlwatch" {
204+
feature_details {
205+
connector_details {
206+
connector_type = "EXTERNAL"
207+
database_connector_id = var.non_cdb_connector_id
208+
}
209+
feature = "SQLWATCH"
210+
license_model = "LICENSE_INCLUDED"
211+
}
212+
external_non_container_database_id = var.external_non_cdb_id
213+
enable_external_non_container_dbm_feature = "true"
214+
depends_on = [
215+
oci_database_management_externalnoncontainerdatabase_external_non_container_dbm_features_management.test_externalnoncontainerdatabase_external_non_container_dbm_features_management_dbm
216+
]
217+
}
218+
219+
/*
220+
resource "oci_database_management_externalnoncontainerdatabase_external_non_container_dbm_features_management" "test_externalnoncontainerdatabase_external_non_container_dbm_features_management_dblm" {
221+
feature_details {
222+
connector_details {
223+
connector_type = "EXTERNAL"
224+
database_connector_id = var.non_cdb_connector_id
225+
}
226+
feature = "DB_LIFECYCLE_MANAGEMENT"
227+
license_model = "LICENSE_INCLUDED"
228+
}
229+
external_non_container_database_id = var.external_non_cdb_id
230+
enable_external_non_container_dbm_feature = "true"
231+
depends_on = [
232+
oci_database_management_externalnoncontainerdatabase_external_non_container_dbm_features_management.test_externalnoncontainerdatabase_external_non_container_dbm_features_management_sqlwatch
233+
]
234+
}
235+
*/
236+
147237
# Cloud CDB
148238
variable "cloud_cdb_id" {
149-
default = "ocid1.database"
239+
default = "ocid1.test.oc1..<unique_ID>EXAMPLE-cloud-cdb-id-Value"
150240
}
151241
variable "cdb_pe_id" {
152-
default = "ocid1.dbmgmtprivateendpoint"
242+
default = "ocid1.test.oc1..<unique_ID>EXAMPLE-cloud-cdb-pe-id-Value"
153243
}
154244
variable "vault_secret_id" {
155-
default = "ocid1.vaultsecret"
245+
default = "ocid1.test.oc1..<unique_ID>EXAMPLE-secret-id-Value"
246+
}
247+
248+
variable "modified_vault_secret_id" {
249+
default = "ocid1.test.oc1..<unique_ID>EXAMPLE-modified-secret-id-Value"
156250
}
251+
157252
variable "cdb_user_role" {
158-
default = "SYSDBA"
253+
default = "NORMAL"
159254
}
160255
variable "cdb_user" {
161256
default = "dbsnmp"
162257
}
163258
variable "cdb_service" {
164-
default = "cdb_service"
259+
default = "cdb-service-id"
260+
}
261+
262+
# Cloud PDB related variables
263+
variable "cloud_pdb_id" {
264+
default = "ocid1.test.oc1..<unique_ID>EXAMPLE-cloud-pdb-id-Value"
265+
}
266+
variable "pdb_pe_id" {
267+
default = "ocid1.test.oc1..<unique_ID>EXAMPLE-cloud-pdb-pe-id-Value"
165268
}
166-
resource "oci_database_management_database_dbm_features_management" "test_database_dbm_features_management" {
269+
variable "pdb_user_role" {
270+
default = "NORMAL"
271+
}
272+
variable "pdb_user" {
273+
default = "dbsnmp"
274+
}
275+
variable "db_service" {
276+
default = "pdb-service-id"
277+
}
278+
279+
# Enable DIAGNOSTICS_AND_MANAGEMENT
280+
resource "oci_database_management_database_dbm_features_management" "test_database_dbm_features_management_diag_enable" {
167281
feature_details {
168282
connector_details {
169283
connector_type = "PE"
@@ -188,29 +302,45 @@ resource "oci_database_management_database_dbm_features_management" "test_databa
188302
}
189303
database_id = var.cloud_cdb_id
190304
enable_database_dbm_feature = "true"
305+
191306
}
192307

193-
# Uncomment PDB enable APIs only after CDB enablement is done
194-
# Cloud PDB
195-
/*variable "cloud_pdb_id" {
196-
default = "ocid1.pluggabledatabase"
197-
}
198-
variable "pdb_pe_id" {
199-
default = "ocid1.dbmgmtprivateendpoint"
200-
}
201-
variable "vault_secret_id" {
202-
default = "ocid1.vaultsecret"
203-
}
204-
variable "pdb_user_role" {
205-
default = "SYSDBA"
206-
}
207-
variable "pdb_user" {
208-
default = "dbsnmp"
209-
}
210-
variable "db_service" {
211-
default = "pdb_service"
308+
# Modify DIAGNOSTICS_AND_MANAGEMENT
309+
resource "oci_database_management_database_dbm_features_management" "test_database_dbm_features_management_diag_modify" {
310+
feature_details {
311+
connector_details {
312+
connector_type = "PE"
313+
private_end_point_id = var.cdb_pe_id
314+
}
315+
database_connection_details {
316+
connection_credentials {
317+
credential_type = "DETAILS"
318+
password_secret_id = var.modified_vault_secret_id
319+
role = var.cdb_user_role
320+
user_name = var.cdb_user
321+
}
322+
connection_string {
323+
connection_type = "BASIC"
324+
port = "1521"
325+
protocol = "TCP"
326+
service = var.cdb_service
327+
}
328+
}
329+
feature = "DIAGNOSTICS_AND_MANAGEMENT"
330+
management_type = "ADVANCED"
331+
}
332+
database_id = var.cloud_cdb_id
333+
enable_database_dbm_feature = "true"
334+
modify_database_dbm_feature = "true"
335+
depends_on = [
336+
oci_database_management_database_dbm_features_management.test_database_dbm_features_management_diag_enable
337+
]
212338
}
213-
resource "oci_database_management_pluggabledatabase_pluggable_database_dbm_features_management" "test_pluggabledatabase_pluggable_database_dbm_features_management" {
339+
340+
341+
# Uncomment PDB enable APIs only after CDB enablement is done
342+
# Enable DIAGNOSTICS_AND_MANAGEMENT for Cloud PDB
343+
resource "oci_database_management_pluggabledatabase_pluggable_database_dbm_features_management" "test_pluggabledatabase_pluggable_database_dbm_features_management_enable_diag" {
214344
feature_details {
215345
connector_details {
216346
connector_type = "PE"
@@ -235,4 +365,70 @@ resource "oci_database_management_pluggabledatabase_pluggable_database_dbm_featu
235365
}
236366
pluggable_database_id = var.cloud_pdb_id
237367
enable_pluggable_database_dbm_feature = "true"
238-
}*/
368+
369+
depends_on = [
370+
oci_database_management_database_dbm_features_management.test_database_dbm_features_management_diag_modify
371+
]
372+
}
373+
374+
# Modify DIAGNOSTICS_AND_MANAGEMENT for Cloud PDB
375+
resource "oci_database_management_pluggabledatabase_pluggable_database_dbm_features_management" "test_pluggabledatabase_pluggable_database_dbm_features_management_modify_diag" {
376+
feature_details {
377+
connector_details {
378+
connector_type = "PE"
379+
private_end_point_id = var.pdb_pe_id
380+
}
381+
database_connection_details {
382+
connection_credentials {
383+
credential_type = "DETAILS"
384+
password_secret_id = var.modified_vault_secret_id
385+
role = var.pdb_user_role
386+
user_name = var.pdb_user
387+
}
388+
connection_string {
389+
connection_type = "BASIC"
390+
port = "1521"
391+
protocol = "TCP"
392+
service = var.db_service
393+
}
394+
}
395+
feature = "DIAGNOSTICS_AND_MANAGEMENT"
396+
management_type = "ADVANCED"
397+
}
398+
pluggable_database_id = var.cloud_pdb_id
399+
enable_pluggable_database_dbm_feature = "true"
400+
modify_pluggable_database_dbm_feature = "true"
401+
depends_on = [
402+
oci_database_management_pluggabledatabase_pluggable_database_dbm_features_management.test_pluggabledatabase_pluggable_database_dbm_features_management_enable_diag
403+
]
404+
}
405+
406+
407+
408+
# Disable DIAGNOSTICS_AND_MANAGEMENT for Cloud PDB
409+
resource "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+
}
414+
pluggable_database_id = var.cloud_pdb_id
415+
enable_pluggable_database_dbm_feature = "false"
416+
depends_on = [
417+
oci_database_management_pluggabledatabase_pluggable_database_dbm_features_management.test_pluggabledatabase_pluggable_database_dbm_features_management_modify_diag
418+
]
419+
}
420+
421+
422+
# Disable DIAGNOSTICS_AND_MANAGEMENT for Cloud CDB
423+
resource "oci_database_management_database_dbm_features_management" "test_database_dbm_features_management_diag_disable" {
424+
feature_details {
425+
feature = "DIAGNOSTICS_AND_MANAGEMENT"
426+
management_type = "ADVANCED"
427+
}
428+
database_id = var.cloud_cdb_id
429+
enable_database_dbm_feature = "false"
430+
431+
depends_on = [
432+
oci_database_management_pluggabledatabase_pluggable_database_dbm_features_management.test_pluggabledatabase_pluggable_database_dbm_features_management_disable_diag
433+
]
434+
}

0 commit comments

Comments
 (0)