Skip to content

Commit d1e7964

Browse files
Terraform Team Automationsagarp337
authored andcommitted
Added - Support for GoldenGate Additional Connection Types R3
1 parent 6067369 commit d1e7964

20 files changed

+3736
-1277
lines changed

examples/goldengate/Connection/main.tf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ variable "private_key_path" {}
66
variable "compartment_id" {}
77
variable "region" {}
88
variable "subnet_id" {}
9-
variable "kms_vault_id" {}
9+
variable "vault_id" {}
1010
variable "kms_key_id" {}
1111

1212
variable "username" {
@@ -71,7 +71,7 @@ resource "oci_golden_gate_connection" "test_connection"{
7171
description = var.description
7272
freeform_tags = var.freeform_tags
7373
subnet_id = var.subnet_id
74-
vault_id = var.kms_vault_id
74+
vault_id = var.vault_id
7575
key_id = var.kms_key_id
7676

7777
#Optional for Postgresql connection_type

internal/acctest/test_helpers.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -759,6 +759,14 @@ func GetTestClients(data *schema.ResourceData) *tf_client.OracleClients {
759759

760760
// wrapper over resource.ComposeAggregateTestCheckFunc to use customErrorFormat for multierror
761761
func ComposeAggregateTestCheckFuncWrapper(fs ...resource.TestCheckFunc) resource.TestCheckFunc {
762+
testFunctions := make([]resource.TestCheckFunc, len(fs))
763+
for index, val := range fs {
764+
testFunctions[index] = val
765+
}
766+
return ComposeAggregateTestCheckFuncArrayWrapper(testFunctions)
767+
}
768+
769+
func ComposeAggregateTestCheckFuncArrayWrapper(fs []resource.TestCheckFunc) resource.TestCheckFunc {
762770
return func(s *terraform.State) error {
763771
var result *multierror.Error
764772

internal/integrationtest/golden_gate_connection_assignment_test.go

Lines changed: 31 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,14 @@ import (
2222
"github.com/oracle/terraform-provider-oci/internal/utils"
2323
)
2424

25+
/*
26+
Note:
27+
This tests creates a connection assignment, and requires an existing deployment and connection which is assignable to the deployment.
28+
Required environment variables:
29+
- TF_VAR_compartment_id - defines where to create the assignment
30+
- TF_VAR_deployment_id - deployment which we would like to assign connection to
31+
- TF_VAR_connection_id - connection for assign
32+
*/
2533
var (
2634
GoldenGateConnectionAssignmentRequiredOnlyResource = acctest.GenerateResourceFromRepresentationMap("oci_golden_gate_connection_assignment", "test_connection_assignment", acctest.Optional, acctest.Create, GoldenGateConnectionAssignmentRepresentation)
2735

@@ -33,8 +41,8 @@ var (
3341

3442
GoldenGateGoldenGateConnectionAssignmentDataSourceRepresentation = map[string]interface{}{
3543
"compartment_id": acctest.Representation{RepType: acctest.Required, Create: `${var.compartment_id}`},
36-
"connection_id": acctest.Representation{RepType: acctest.Required, Create: `${var.test_connection_id}`},
37-
"deployment_id": acctest.Representation{RepType: acctest.Required, Create: `${var.test_deployment_id}`},
44+
"connection_id": acctest.Representation{RepType: acctest.Required, Create: `${var.connection_id}`},
45+
"deployment_id": acctest.Representation{RepType: acctest.Required, Create: `${var.deployment_id}`},
3846
"name": acctest.Representation{RepType: acctest.Optional, Create: `name`},
3947
"state": acctest.Representation{RepType: acctest.Optional, Create: `ACTIVE`},
4048
"filter": acctest.RepresentationGroup{RepType: acctest.Required, Group: GoldenGateConnectionAssignmentDataSourceFilterRepresentation}}
@@ -44,8 +52,8 @@ var (
4452
}
4553

4654
GoldenGateConnectionAssignmentRepresentation = map[string]interface{}{
47-
"connection_id": acctest.Representation{RepType: acctest.Required, Create: `${var.test_connection_id}`},
48-
"deployment_id": acctest.Representation{RepType: acctest.Required, Create: `${var.test_deployment_id}`},
55+
"connection_id": acctest.Representation{RepType: acctest.Required, Create: `${var.connection_id}`},
56+
"deployment_id": acctest.Representation{RepType: acctest.Required, Create: `${var.deployment_id}`},
4957
}
5058
)
5159

@@ -54,19 +62,20 @@ func TestGoldenGateConnectionAssignmentResource_basic(t *testing.T) {
5462
httpreplay.SetScenario("TestGoldenGateConnectionAssignmentResource_basic")
5563
defer httpreplay.SaveScenario()
5664

57-
config := acctest.ProviderTestConfig()
65+
const (
66+
COMPARTMENT_ID = "compartment_id"
67+
DEPLOYMENT_ID = "deployment_id"
68+
CONNECTION_ID = "connection_id"
69+
)
5870

59-
compartmentId := utils.GetEnvSettingWithBlankDefault("compartment_ocid")
60-
compartmentIdVariableStr := fmt.Sprintf("variable \"compartment_id\" { default = \"%s\" }\n", compartmentId)
71+
config := acctest.ProviderTestConfig() +
72+
makeVariableStr(COMPARTMENT_ID, t) +
73+
makeVariableStr(DEPLOYMENT_ID, t) +
74+
makeVariableStr(CONNECTION_ID, t)
6175

62-
testConnectionId := utils.GetEnvSettingWithBlankDefault("connection_id")
63-
testConnectionIdVariableStr := fmt.Sprintf("variable \"test_connection_id\" { default = \"%s\" }\n", testConnectionId)
64-
65-
testDeploymentId := utils.GetEnvSettingWithBlankDefault("deployment_ocid")
66-
testDeploymentIdVariableStr := fmt.Sprintf("variable \"test_deployment_id\" { default = \"%s\" }\n", testDeploymentId)
67-
68-
subnetId := utils.GetEnvSettingWithBlankDefault("subnet_id")
69-
subnetIdVariableStr := fmt.Sprintf("variable \"test_subnet_id\" { default = \"%s\" }\n", subnetId)
76+
compartmentId := utils.GetEnvSettingWithBlankDefault("compartment_id")
77+
connectionId := utils.GetEnvSettingWithBlankDefault("connection_id")
78+
deploymentId := utils.GetEnvSettingWithBlankDefault("deployment_ocid")
7079

7180
resourceName := "oci_golden_gate_connection_assignment.test_connection_assignment"
7281
datasourceName := "data.oci_golden_gate_connection_assignments.test_connection_assignments"
@@ -76,13 +85,12 @@ func TestGoldenGateConnectionAssignmentResource_basic(t *testing.T) {
7685
/*connectionResourceDependencies := acctest.GenerateResourceFromRepresentationMap("oci_golden_gate_connection", "test_connection", acctest.Required, acctest.Create, GoldenGateConnectionRepresentation) +
7786
acctest.GenerateResourceFromRepresentationMap("oci_golden_gate_deployment", "depl_test_ggs_deployment", acctest.Required, acctest.Create, goldenGateDeploymentRepresentation)
7887
*/
79-
acctest.SaveConfigContent(config+compartmentIdVariableStr+subnetIdVariableStr+testDeploymentIdVariableStr+testConnectionIdVariableStr, "goldengate", "connectionAssignment", t)
88+
acctest.SaveConfigContent(config, "goldengate", "connectionAssignment", t)
8089

8190
acctest.ResourceTest(t, testAccCheckGoldenGateConnectionAssignmentDestroy, []resource.TestStep{
8291
// verify Create
8392
{
84-
Config: config + compartmentIdVariableStr + subnetIdVariableStr +
85-
testConnectionIdVariableStr + testDeploymentIdVariableStr +
93+
Config: config +
8694
acctest.GenerateResourceFromRepresentationMap("oci_golden_gate_connection_assignment", "test_connection_assignment", acctest.Required, acctest.Create, GoldenGateConnectionAssignmentRepresentation),
8795
Check: acctest.ComposeAggregateTestCheckFuncWrapper(
8896
resource.TestCheckResourceAttrSet(resourceName, "connection_id"),
@@ -97,14 +105,13 @@ func TestGoldenGateConnectionAssignmentResource_basic(t *testing.T) {
97105

98106
// verify datasource
99107
{
100-
Config: config + compartmentIdVariableStr + subnetIdVariableStr +
101-
testDeploymentIdVariableStr + testConnectionIdVariableStr +
108+
Config: config +
102109
acctest.GenerateDataSourceFromRepresentationMap("oci_golden_gate_connection_assignments", "test_connection_assignments", acctest.Optional, acctest.Update, GoldenGateGoldenGateConnectionAssignmentDataSourceRepresentation) +
103110
acctest.GenerateResourceFromRepresentationMap("oci_golden_gate_connection_assignment", "test_connection_assignment", acctest.Optional, acctest.Update, GoldenGateConnectionAssignmentRepresentation),
104111
Check: acctest.ComposeAggregateTestCheckFuncWrapper(
105112
resource.TestCheckResourceAttr(datasourceName, "compartment_id", compartmentId),
106-
resource.TestCheckResourceAttrSet(datasourceName, "connection_id"),
107-
resource.TestCheckResourceAttrSet(datasourceName, "deployment_id"),
113+
resource.TestCheckResourceAttr(datasourceName, "connection_id", connectionId),
114+
resource.TestCheckResourceAttr(datasourceName, "deployment_id", deploymentId),
108115
resource.TestCheckResourceAttr(datasourceName, "name", "name"),
109116
resource.TestCheckResourceAttr(datasourceName, "state", "ACTIVE"),
110117

@@ -114,15 +121,13 @@ func TestGoldenGateConnectionAssignmentResource_basic(t *testing.T) {
114121
},
115122
// verify singular datasource
116123
{
117-
Config: config + compartmentIdVariableStr + subnetIdVariableStr +
124+
Config: config +
118125
acctest.GenerateDataSourceFromRepresentationMap("oci_golden_gate_connection_assignment", "test_connection_assignment", acctest.Required, acctest.Create, GoldenGateGoldenGateConnectionAssignmentSingularDataSourceRepresentation) +
119-
//connectionResourceDependencies +
120-
testDeploymentIdVariableStr + testConnectionIdVariableStr +
121126
GoldenGateConnectionAssignmentResourceConfig,
122127
Check: acctest.ComposeAggregateTestCheckFuncWrapper(
123128
resource.TestCheckResourceAttrSet(singularDatasourceName, "connection_assignment_id"),
124129
resource.TestCheckResourceAttrSet(singularDatasourceName, "alias_name"),
125-
resource.TestCheckResourceAttrSet(singularDatasourceName, "compartment_id"),
130+
resource.TestCheckResourceAttr(singularDatasourceName, "compartment_id", compartmentId),
126131
resource.TestCheckResourceAttrSet(singularDatasourceName, "id"),
127132
resource.TestCheckResourceAttrSet(singularDatasourceName, "state"),
128133
resource.TestCheckResourceAttrSet(singularDatasourceName, "time_created"),

0 commit comments

Comments
 (0)