Skip to content

Commit b9cd393

Browse files
committed
Added - Support for DataConnectivity Service
1 parent 9cea527 commit b9cd393

File tree

41 files changed

+12740
-1
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+12740
-1
lines changed
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
// Copyright (c) 2017, 2021, Oracle and/or its affiliates. All rights reserved.
2+
// Licensed under the Mozilla Public License v2.0
3+
4+
package client
5+
6+
import (
7+
oci_data_connectivity "github.com/oracle/oci-go-sdk/v58/dataconnectivity"
8+
9+
oci_common "github.com/oracle/oci-go-sdk/v58/common"
10+
)
11+
12+
func init() {
13+
RegisterOracleClient("oci_data_connectivity.DataConnectivityManagementClient", &OracleClient{InitClientFn: initDataconnectivityDataConnectivityManagementClient})
14+
RegisterOracleClient("oci_data_connectivity.NetworkValidationClient", &OracleClient{InitClientFn: initDataconnectivityNetworkValidationClient})
15+
}
16+
17+
func initDataconnectivityDataConnectivityManagementClient(configProvider oci_common.ConfigurationProvider, configureClient ConfigureClient, serviceClientOverrides ServiceClientOverrides) (interface{}, error) {
18+
client, err := oci_data_connectivity.NewDataConnectivityManagementClientWithConfigurationProvider(configProvider)
19+
if err != nil {
20+
return nil, err
21+
}
22+
err = configureClient(&client.BaseClient)
23+
if err != nil {
24+
return nil, err
25+
}
26+
27+
if serviceClientOverrides.HostUrlOverride != "" {
28+
client.Host = serviceClientOverrides.HostUrlOverride
29+
}
30+
return &client, nil
31+
}
32+
33+
func (m *OracleClients) DataConnectivityManagementClient() *oci_data_connectivity.DataConnectivityManagementClient {
34+
return m.GetClient("oci_data_connectivity.DataConnectivityManagementClient").(*oci_data_connectivity.DataConnectivityManagementClient)
35+
}
36+
37+
func initDataconnectivityNetworkValidationClient(configProvider oci_common.ConfigurationProvider, configureClient ConfigureClient, serviceClientOverrides ServiceClientOverrides) (interface{}, error) {
38+
client, err := oci_data_connectivity.NewNetworkValidationClientWithConfigurationProvider(configProvider)
39+
if err != nil {
40+
return nil, err
41+
}
42+
err = configureClient(&client.BaseClient)
43+
if err != nil {
44+
return nil, err
45+
}
46+
47+
if serviceClientOverrides.HostUrlOverride != "" {
48+
client.Host = serviceClientOverrides.HostUrlOverride
49+
}
50+
return &client, nil
51+
}
52+
53+
func (m *OracleClients) NetworkValidationClient() *oci_data_connectivity.NetworkValidationClient {
54+
return m.GetClient("oci_data_connectivity.NetworkValidationClient").(*oci_data_connectivity.NetworkValidationClient)
55+
}

internal/integrationtest/data_connectivity_registry_connection_test.go

Lines changed: 386 additions & 0 deletions
Large diffs are not rendered by default.

internal/integrationtest/data_connectivity_registry_data_asset_test.go

Lines changed: 312 additions & 0 deletions
Large diffs are not rendered by default.

internal/integrationtest/data_connectivity_registry_folder_test.go

Lines changed: 498 additions & 0 deletions
Large diffs are not rendered by default.

internal/integrationtest/data_connectivity_registry_test.go

Lines changed: 340 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
// Copyright (c) 2017, 2021, Oracle and/or its affiliates. All rights reserved.
2+
// Licensed under the Mozilla Public License v2.0
3+
4+
package integrationtest
5+
6+
import (
7+
"fmt"
8+
"testing"
9+
10+
"github.com/hashicorp/terraform-plugin-sdk/helper/resource"
11+
12+
"github.com/terraform-providers/terraform-provider-oci/httpreplay"
13+
"github.com/terraform-providers/terraform-provider-oci/internal/acctest"
14+
"github.com/terraform-providers/terraform-provider-oci/internal/utils"
15+
)
16+
17+
var (
18+
registryTypeSingularDataSourceRepresentation = map[string]interface{}{
19+
"registry_id": acctest.Representation{RepType: acctest.Required, Create: `${oci_data_connectivity_registry.test_registry.id}`},
20+
"type_key": acctest.Representation{RepType: acctest.Required, Create: `${data.oci_data_connectivity_registry_types.test_registry_types.types_summary_collection.0.items.0.key}`},
21+
"fields": acctest.Representation{RepType: acctest.Optional, Create: []string{}},
22+
}
23+
24+
registryTypeDataSourceRepresentation = map[string]interface{}{
25+
"registry_id": acctest.Representation{RepType: acctest.Required, Create: `${oci_data_connectivity_registry.test_registry.id}`},
26+
}
27+
28+
RegistryTypeResourceConfig = acctest.GenerateResourceFromRepresentationMap("oci_data_connectivity_registry", "test_registry", acctest.Required, acctest.Create, registryRepresentation)
29+
)
30+
31+
// issue-routing-tag: data_connectivity/default
32+
func TestDataConnectivityRegistryTypeResource_basic(t *testing.T) {
33+
httpreplay.SetScenario("TestDataConnectivityRegistryTypeResource_basic")
34+
defer httpreplay.SaveScenario()
35+
36+
config := acctest.ProviderTestConfig()
37+
38+
compartmentId := utils.GetEnvSettingWithBlankDefault("compartment_ocid")
39+
compartmentIdVariableStr := fmt.Sprintf("variable \"compartment_id\" { default = \"%s\" }\n", compartmentId)
40+
41+
datasourceName := "data.oci_data_connectivity_registry_types.test_registry_types"
42+
singularDatasourceName := "data.oci_data_connectivity_registry_type.test_registry_type"
43+
44+
acctest.SaveConfigContent("", "", "", t)
45+
46+
acctest.ResourceTest(t, nil, []resource.TestStep{
47+
// verify datasource
48+
{
49+
Config: config +
50+
acctest.GenerateDataSourceFromRepresentationMap("oci_data_connectivity_registry_types", "test_registry_types", acctest.Required, acctest.Create, registryTypeDataSourceRepresentation) +
51+
compartmentIdVariableStr + RegistryTypeResourceConfig,
52+
Check: acctest.ComposeAggregateTestCheckFuncWrapper(
53+
resource.TestCheckResourceAttrSet(datasourceName, "registry_id"),
54+
resource.TestCheckResourceAttrSet(datasourceName, "types_summary_collection.#"),
55+
resource.TestCheckResourceAttrSet(datasourceName, "types_summary_collection.0.items.0.name"),
56+
resource.TestCheckResourceAttrSet(datasourceName, "types_summary_collection.0.items.0.description"),
57+
resource.TestCheckResourceAttrSet(datasourceName, "types_summary_collection.0.items.0.key"),
58+
),
59+
},
60+
// verify singular datasource
61+
{
62+
Config: config +
63+
acctest.GenerateDataSourceFromRepresentationMap("oci_data_connectivity_registry_types", "test_registry_types", acctest.Optional, acctest.Create, acctest.RepresentationCopyWithNewProperties(registryTypeDataSourceRepresentation, map[string]interface{}{})) +
64+
acctest.GenerateDataSourceFromRepresentationMap("oci_data_connectivity_registry_type", "test_registry_type", acctest.Required, acctest.Create, registryTypeSingularDataSourceRepresentation) +
65+
compartmentIdVariableStr + RegistryTypeResourceConfig,
66+
Check: acctest.ComposeAggregateTestCheckFuncWrapper(
67+
resource.TestCheckResourceAttrSet(singularDatasourceName, "registry_id"),
68+
resource.TestCheckResourceAttrSet(singularDatasourceName, "type_key"),
69+
resource.TestCheckResourceAttrSet(singularDatasourceName, "data_asset_attributes.#"),
70+
),
71+
},
72+
})
73+
}

internal/provider/register_datasource.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import (
2424
tf_computeinstanceagent "github.com/terraform-providers/terraform-provider-oci/internal/service/computeinstanceagent"
2525
tf_containerengine "github.com/terraform-providers/terraform-provider-oci/internal/service/containerengine"
2626
tf_core "github.com/terraform-providers/terraform-provider-oci/internal/service/core"
27+
tf_data_connectivity "github.com/terraform-providers/terraform-provider-oci/internal/service/data_connectivity"
2728
tf_data_labeling_service "github.com/terraform-providers/terraform-provider-oci/internal/service/data_labeling_service"
2829
tf_data_safe "github.com/terraform-providers/terraform-provider-oci/internal/service/data_safe"
2930
tf_database "github.com/terraform-providers/terraform-provider-oci/internal/service/database"
@@ -335,6 +336,17 @@ func init() {
335336
RegisterDatasource("oci_core_vnic", tf_core.CoreVnicDataSource())
336337
RegisterDatasource("oci_core_vnic_attachments", tf_core.CoreVnicAttachmentsDataSource())
337338
RegisterDatasource("oci_core_volume", tf_core.CoreVolumeDataSource())
339+
// data_connectivity service
340+
RegisterDatasource("oci_data_connectivity_registry", tf_data_connectivity.DataConnectivityRegistryDataSource())
341+
RegisterDatasource("oci_data_connectivity_registries", tf_data_connectivity.DataConnectivityRegistriesDataSource())
342+
RegisterDatasource("oci_data_connectivity_registry_connection", tf_data_connectivity.DataConnectivityRegistryConnectionDataSource())
343+
RegisterDatasource("oci_data_connectivity_registry_connections", tf_data_connectivity.DataConnectivityRegistryConnectionsDataSource())
344+
RegisterDatasource("oci_data_connectivity_registry_data_asset", tf_data_connectivity.DataConnectivityRegistryDataAssetDataSource())
345+
RegisterDatasource("oci_data_connectivity_registry_data_assets", tf_data_connectivity.DataConnectivityRegistryDataAssetsDataSource())
346+
RegisterDatasource("oci_data_connectivity_registry_folder", tf_data_connectivity.DataConnectivityRegistryFolderDataSource())
347+
RegisterDatasource("oci_data_connectivity_registry_folders", tf_data_connectivity.DataConnectivityRegistryFoldersDataSource())
348+
RegisterDatasource("oci_data_connectivity_registry_type", tf_data_connectivity.DataConnectivityRegistryTypeDataSource())
349+
RegisterDatasource("oci_data_connectivity_registry_types", tf_data_connectivity.DataConnectivityRegistryTypesDataSource())
338350
RegisterDatasource("oci_core_volume_attachments", tf_core.CoreVolumeAttachmentsDataSource())
339351
RegisterDatasource("oci_core_volume_backup_policies", tf_core.CoreVolumeBackupPoliciesDataSource())
340352
RegisterDatasource("oci_core_volume_backup_policy_assignments", tf_core.CoreVolumeBackupPolicyAssignmentsDataSource())

internal/provider/register_resource.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import (
2323
tf_cloud_guard "github.com/terraform-providers/terraform-provider-oci/internal/service/cloud_guard"
2424
tf_containerengine "github.com/terraform-providers/terraform-provider-oci/internal/service/containerengine"
2525
tf_core "github.com/terraform-providers/terraform-provider-oci/internal/service/core"
26+
tf_data_connectivity "github.com/terraform-providers/terraform-provider-oci/internal/service/data_connectivity"
2627
tf_data_labeling_service "github.com/terraform-providers/terraform-provider-oci/internal/service/data_labeling_service"
2728
tf_data_safe "github.com/terraform-providers/terraform-provider-oci/internal/service/data_safe"
2829
tf_database "github.com/terraform-providers/terraform-provider-oci/internal/service/database"
@@ -205,6 +206,11 @@ func init() {
205206
RegisterResource("oci_core_volume_backup_policy_assignment", tf_core.CoreVolumeBackupPolicyAssignmentResource())
206207
RegisterResource("oci_core_volume_group", tf_core.CoreVolumeGroupResource())
207208
RegisterResource("oci_core_volume_group_backup", tf_core.CoreVolumeGroupBackupResource())
209+
// data_connectivity service
210+
RegisterResource("oci_data_connectivity_registry", tf_data_connectivity.DataConnectivityRegistryResource())
211+
RegisterResource("oci_data_connectivity_registry_connection", tf_data_connectivity.DataConnectivityRegistryConnectionResource())
212+
RegisterResource("oci_data_connectivity_registry_data_asset", tf_data_connectivity.DataConnectivityRegistryDataAssetResource())
213+
RegisterResource("oci_data_connectivity_registry_folder", tf_data_connectivity.DataConnectivityRegistryFolderResource())
208214
// data_labeling_service service
209215
RegisterResource("oci_data_labeling_service_dataset", tf_data_labeling_service.DataLabelingServiceDatasetResource())
210216
// data_safe service

internal/resourcediscovery/export_definitions.go

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import (
1515
oci_containerengine "github.com/oracle/oci-go-sdk/v58/containerengine"
1616
oci_database_migration "github.com/oracle/oci-go-sdk/v58/databasemigration"
1717
oci_datacatalog "github.com/oracle/oci-go-sdk/v58/datacatalog"
18+
oci_data_connectivity "github.com/oracle/oci-go-sdk/v58/dataconnectivity"
1819
oci_dataflow "github.com/oracle/oci-go-sdk/v58/dataflow"
1920
oci_dataintegration "github.com/oracle/oci-go-sdk/v58/dataintegration"
2021
oci_data_labeling_service "github.com/oracle/oci-go-sdk/v58/datalabelingservice"
@@ -1011,6 +1012,45 @@ var exportCoreDrgRouteTableRouteRuleHints = &TerraformResourceHints{
10111012
resourceAbbreviation: "drg_route_table_route_rule",
10121013
}
10131014

1015+
var exportDataConnectivityRegistryHints = &TerraformResourceHints{
1016+
resourceClass: "oci_data_connectivity_registry",
1017+
datasourceClass: "oci_data_connectivity_registries",
1018+
datasourceItemsAttr: "registry_summary_collection",
1019+
isDatasourceCollection: true,
1020+
resourceAbbreviation: "registry",
1021+
requireResourceRefresh: true,
1022+
discoverableLifecycleStates: []string{
1023+
string(oci_data_connectivity.RegistryLifecycleStateActive),
1024+
},
1025+
}
1026+
1027+
var exportDataConnectivityRegistryConnectionHints = &TerraformResourceHints{
1028+
resourceClass: "oci_data_connectivity_registry_connection",
1029+
datasourceClass: "oci_data_connectivity_registry_connections",
1030+
datasourceItemsAttr: "connection_summary_collection",
1031+
isDatasourceCollection: true,
1032+
resourceAbbreviation: "registry_connection",
1033+
requireResourceRefresh: true,
1034+
}
1035+
1036+
var exportDataConnectivityRegistryDataAssetHints = &TerraformResourceHints{
1037+
resourceClass: "oci_data_connectivity_registry_data_asset",
1038+
datasourceClass: "oci_data_connectivity_registry_data_assets",
1039+
datasourceItemsAttr: "data_asset_summary_collection",
1040+
isDatasourceCollection: true,
1041+
resourceAbbreviation: "registry_data_asset",
1042+
requireResourceRefresh: true,
1043+
}
1044+
1045+
var exportDataConnectivityRegistryFolderHints = &TerraformResourceHints{
1046+
resourceClass: "oci_data_connectivity_registry_folder",
1047+
datasourceClass: "oci_data_connectivity_registry_folders",
1048+
datasourceItemsAttr: "folder_summary_collection",
1049+
isDatasourceCollection: true,
1050+
resourceAbbreviation: "registry_folder",
1051+
requireResourceRefresh: true,
1052+
}
1053+
10141054
var exportDataSafeDataSafePrivateEndpointHints = &TerraformResourceHints{
10151055
resourceClass: "oci_data_safe_data_safe_private_endpoint",
10161056
datasourceClass: "oci_data_safe_data_safe_private_endpoints",

internal/resourcediscovery/export_graphs.go

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ var compartmentResourceGraphs = map[string]TerraformResourceGraph{
3131
"cloud_guard": cloudGuardResourceGraph,
3232
"containerengine": containerengineResourceGraph,
3333
"core": coreResourceGraph,
34+
"data_connectivity": dataConnectivityResourceGraph,
3435
"data_labeling_service": dataLabelingServiceResourceGraph,
3536
"data_safe": dataSafeResourceGraph,
3637
"database": databaseResourceGraph,
@@ -444,6 +445,42 @@ var coreResourceGraph = TerraformResourceGraph{
444445
},
445446
}
446447

448+
var dataConnectivityResourceGraph = TerraformResourceGraph{
449+
"oci_identity_compartment": {
450+
{TerraformResourceHints: exportDataConnectivityRegistryHints},
451+
},
452+
"oci_data_connectivity_registry": {
453+
{
454+
TerraformResourceHints: exportDataConnectivityRegistryConnectionHints,
455+
datasourceQueryParams: map[string]string{
456+
"data_asset_key": "data_asset_key",
457+
"registry_id": "id",
458+
},
459+
},
460+
{
461+
TerraformResourceHints: exportDataConnectivityRegistryDataAssetHints,
462+
datasourceQueryParams: map[string]string{
463+
"registry_id": "id",
464+
},
465+
},
466+
{
467+
TerraformResourceHints: exportDataConnectivityRegistryFolderHints,
468+
datasourceQueryParams: map[string]string{
469+
"registry_id": "id",
470+
},
471+
},
472+
},
473+
"oci_data_connectivity_registry_data_asset": {
474+
{
475+
TerraformResourceHints: exportDataConnectivityRegistryConnectionHints,
476+
datasourceQueryParams: map[string]string{
477+
"data_asset_key": "key",
478+
"registry_id": "registry_id",
479+
},
480+
},
481+
},
482+
}
483+
447484
var dataLabelingServiceResourceGraph = TerraformResourceGraph{
448485
"oci_identity_compartment": {
449486
{TerraformResourceHints: exportDataLabelingServiceDatasetHints},

0 commit comments

Comments
 (0)