Skip to content

Commit e5f2067

Browse files
committed
Support for GoldenGate service
1 parent 2f7d45e commit e5f2067

28 files changed

+5515
-0
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
- Support for SMS notifications for ONS
55
- Support for publisher maps for service connector
66
- Support to attach and detach instances to `oci_core_instance_pool`
7+
- Support for GoldenGate service
78

89
## 4.16.0 (March 03, 2021)
910

Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
variable "tenancy_ocid" {}
2+
variable "user_ocid" {}
3+
variable "fingerprint" {}
4+
variable "private_key_path" {}
5+
variable "region" {}
6+
variable "compartment_ocid" {}
7+
variable "kms_vault_ocid" {}
8+
variable "kms_key_ocid" {}
9+
10+
11+
variable "database_registration_alias_name" {
12+
default = "aliasName"
13+
}
14+
15+
variable "database_registration_connection_string" {
16+
default = "username@password:1521/orcl.us.oracle.com"
17+
}
18+
19+
variable "database_registration_defined_tags_value" {
20+
default = "value"
21+
}
22+
23+
variable "database_registration_description" {
24+
default = "description"
25+
}
26+
27+
variable "database_registration_display_name" {
28+
default = "displayName"
29+
}
30+
31+
variable "database_registration_fqdn" {
32+
default = "fqdndb.ggs.com"
33+
}
34+
35+
variable "database_registration_freeform_tags" {
36+
default = { "bar-key" = "value" }
37+
}
38+
39+
variable "database_registration_ip_address" {
40+
default = "10.102.10.20"
41+
}
42+
43+
44+
45+
variable "database_registration_password" {
46+
default = "BEstrO0ng_#11"
47+
}
48+
49+
variable "database_registration_state" {
50+
default = "ACTIVE"
51+
}
52+
53+
variable "database_registration_username" {
54+
default = "username"
55+
}
56+
57+
variable "database_registration_wallet" {
58+
default = "wallet"
59+
}
60+
61+
62+
63+
provider "oci" {
64+
tenancy_ocid = var.tenancy_ocid
65+
user_ocid = var.user_ocid
66+
fingerprint = var.fingerprint
67+
private_key_path = var.private_key_path
68+
region = var.region
69+
}
70+
71+
resource "oci_core_subnet" "test_subnet" {
72+
cidr_block = "10.0.0.0/24"
73+
compartment_id = var.compartment_ocid
74+
vcn_id = oci_core_vcn.test_vcn.id
75+
}
76+
77+
resource "oci_core_vcn" "test_vcn" {
78+
cidr_block = "10.0.0.0/16"
79+
compartment_id = var.compartment_ocid
80+
}
81+
82+
resource "oci_golden_gate_database_registration" "test_database_registration" {
83+
#Required
84+
alias_name = var.database_registration_alias_name
85+
compartment_id = var.compartment_ocid
86+
display_name = var.database_registration_display_name
87+
fqdn = var.database_registration_fqdn
88+
password = var.database_registration_password
89+
username = var.database_registration_username
90+
91+
#Optional
92+
connection_string = var.database_registration_connection_string
93+
database_id = data.oci_database_databases.t.databases.0.id
94+
#defined_tags = map(oci_identity_tag_namespace.tag-namespace1.name.oci_identity_tag.tag1.name, var.database_registration_defined_tags_value)
95+
description = var.database_registration_description
96+
freeform_tags = var.database_registration_freeform_tags
97+
#ip_address = data.oci_core_vnic.t.0.private_ip_address //vnic_id is null because of using FAKEHOSTSERIAL header as per db_system_resource_allvm_test.go
98+
key_id = var.kms_key_ocid
99+
secret_compartment_id = var.compartment_ocid
100+
subnet_id = oci_core_subnet.test_subnet.id
101+
vault_id = var.kms_vault_ocid
102+
wallet = var.database_registration_wallet
103+
}
104+
105+
data "oci_golden_gate_database_registrations" "test_database_registrations" {
106+
#Required
107+
compartment_id = var.compartment_ocid
108+
109+
#Optional
110+
display_name = var.database_registration_display_name
111+
state = var.database_registration_state
112+
}
113+
114+
data "oci_database_db_systems" "t" {
115+
compartment_id = var.compartment_ocid
116+
}
117+
118+
data "oci_database_db_homes" "t" {
119+
compartment_id = var.compartment_ocid
120+
db_system_id = data.oci_database_db_systems.t.db_systems.0.id
121+
}
122+
123+
data "oci_database_databases" "t" {
124+
compartment_id = var.compartment_ocid
125+
db_home_id = data.oci_database_db_homes.t.db_homes.0.id
126+
}
127+
128+
data "oci_database_db_nodes" "t" {
129+
#Required
130+
compartment_id = var.compartment_ocid
131+
#Optional
132+
db_system_id = data.oci_database_db_systems.t.db_systems.0.id
133+
}
134+
135+
#data "oci_core_vnic" "t" {
136+
#Required
137+
#vnic_id = data.oci_database_db_nodes.t.vnic_id //believe this is null when using FAKEHOSTSERIAL header
138+
#}
Lines changed: 205 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,205 @@
1+
variable "tenancy_ocid" {
2+
}
3+
4+
variable "user_ocid" {
5+
}
6+
7+
variable "fingerprint" {
8+
}
9+
10+
variable "private_key_path" {
11+
}
12+
13+
variable "compartment_ocid" {
14+
}
15+
16+
variable "region" {
17+
}
18+
19+
variable "deployment_cpu_core_count" {
20+
default = 1
21+
}
22+
23+
variable "deployment_defined_tags_value" {
24+
default = "value"
25+
}
26+
27+
variable "deployment_deployment_type" {
28+
default = "OGG"
29+
}
30+
31+
variable "deployment_description" {
32+
default = "description"
33+
}
34+
35+
variable "deployment_display_name" {
36+
default = "displayName"
37+
}
38+
39+
variable "deployment_fqdn" {
40+
default = "fqdn.ggs.com"
41+
}
42+
43+
variable "deployment_freeform_tags" {
44+
default = { "bar-key" = "value" }
45+
}
46+
47+
variable "deployment_is_auto_scaling_enabled" {
48+
default = false
49+
}
50+
51+
variable "deployment_is_public" {
52+
default = false
53+
}
54+
55+
variable "deployment_license_model" {
56+
default = "LICENSE_INCLUDED"
57+
}
58+
59+
variable "deployment_ogg_data_admin_password" {
60+
default = "BEstrO0ng_#11"
61+
}
62+
63+
variable "deployment_ogg_data_admin_username" {
64+
default = "adminUsername"
65+
}
66+
67+
variable "deployment_ogg_data_deployment_name" {
68+
default = "deployment"
69+
}
70+
71+
variable "deployment_ogg_data_certificate" {
72+
default = "certificate"
73+
}
74+
75+
variable "deployment_ogg_data_key" {
76+
default = "key"
77+
}
78+
79+
variable "deployment_state" {
80+
default = "ACTIVE"
81+
}
82+
83+
variable defined_tag_namespace_name { default = "" }
84+
85+
86+
87+
provider "oci" {
88+
tenancy_ocid = var.tenancy_ocid
89+
user_ocid = var.user_ocid
90+
fingerprint = var.fingerprint
91+
private_key_path = var.private_key_path
92+
region = var.region
93+
}
94+
95+
96+
resource "oci_core_network_security_group" "test_network_security_group" {
97+
compartment_id = var.compartment_ocid
98+
vcn_id = oci_core_vcn.test_vcn.id
99+
}
100+
101+
resource "oci_core_subnet" "test_subnet" {
102+
cidr_block = "10.0.0.0/24"
103+
compartment_id = var.compartment_ocid
104+
vcn_id = oci_core_vcn.test_vcn.id
105+
}
106+
107+
resource "oci_core_vcn" "test_vcn" {
108+
cidr_block = "10.0.0.0/16"
109+
compartment_id = var.compartment_ocid
110+
}
111+
112+
resource "oci_golden_gate_deployment_backup" "test_deployment_backup" {
113+
#Required
114+
bucket = oci_objectstorage_bucket.test_bucket.name
115+
compartment_id = var.compartment_ocid
116+
deployment_id = oci_golden_gate_deployment.test_backup_deployment.id
117+
display_name = var.deployment_display_name
118+
namespace = data.oci_objectstorage_namespace.test_namespace.namespace
119+
object = "object"
120+
lifecycle {
121+
ignore_changes = ["defined_tags", "system_tags", "freeform_tags"]
122+
}
123+
124+
}
125+
126+
resource "oci_identity_tag_namespace" "tag-namespace1" {
127+
#Required
128+
compartment_id = var.tenancy_ocid
129+
description = "example tag namespace"
130+
name = var.defined_tag_namespace_name != "" ? var.defined_tag_namespace_name : "example-tag-namespace-all"
131+
is_retired = false
132+
}
133+
134+
resource "oci_identity_tag" "tag1" {
135+
#Required
136+
description = "example tag"
137+
name = "example-tag"
138+
tag_namespace_id = oci_identity_tag_namespace.tag-namespace1.id
139+
is_retired = false
140+
}
141+
142+
resource "oci_objectstorage_bucket" "test_bucket" {
143+
compartment_id = var.compartment_ocid
144+
name = "tfTestBucket"
145+
namespace = data.oci_objectstorage_namespace.test_namespace.namespace
146+
}
147+
148+
resource "oci_golden_gate_deployment" "test_backup_deployment" {
149+
#Required
150+
compartment_id = var.compartment_ocid
151+
cpu_core_count = var.deployment_cpu_core_count
152+
deployment_type = var.deployment_deployment_type
153+
display_name = var.deployment_display_name
154+
is_auto_scaling_enabled = var.deployment_is_auto_scaling_enabled
155+
license_model = var.deployment_license_model
156+
subnet_id = oci_core_subnet.test_subnet.id
157+
ogg_data {
158+
admin_password = var.deployment_ogg_data_admin_password
159+
admin_username = var.deployment_ogg_data_admin_username
160+
deployment_name = var.deployment_ogg_data_deployment_name
161+
}
162+
163+
}
164+
165+
resource "oci_golden_gate_deployment" "test_deployment" {
166+
#Required
167+
compartment_id = var.compartment_ocid
168+
cpu_core_count = var.deployment_cpu_core_count
169+
deployment_type = var.deployment_deployment_type
170+
display_name = var.deployment_display_name
171+
is_auto_scaling_enabled = var.deployment_is_auto_scaling_enabled
172+
license_model = var.deployment_license_model
173+
subnet_id = oci_core_subnet.test_subnet.id
174+
175+
#Optional
176+
#defined_tags = map(oci_identity_tag_namespace.tag-namespace1.name.oci_identity_tag.tag1.name, var.deployment_defined_tags_value)
177+
deployment_backup_id = oci_golden_gate_deployment_backup.test_deployment_backup.id
178+
description = var.deployment_description
179+
fqdn = var.deployment_fqdn
180+
freeform_tags = var.deployment_freeform_tags
181+
is_public = var.deployment_is_public
182+
nsg_ids = [oci_core_network_security_group.test_network_security_group.id]
183+
ogg_data {
184+
#Required
185+
admin_password = var.deployment_ogg_data_admin_password
186+
admin_username = var.deployment_ogg_data_admin_username
187+
deployment_name = var.deployment_ogg_data_deployment_name
188+
189+
#Optional
190+
certificate = var.deployment_ogg_data_certificate
191+
key = var.deployment_ogg_data_key
192+
}
193+
}
194+
195+
data "oci_objectstorage_namespace" "test_namespace" {
196+
}
197+
198+
data "oci_golden_gate_deployments" "test_deployments" {
199+
#Required
200+
compartment_id = var.compartment_id
201+
202+
#Optional
203+
display_name = var.deployment_display_name
204+
state = var.deployment_state
205+
}

0 commit comments

Comments
 (0)