Skip to content

Commit 159d212

Browse files
committed
Added Support for alloy support (PLC)
1 parent 8af5654 commit 159d212

File tree

10 files changed

+776
-243
lines changed

10 files changed

+776
-243
lines changed

coverage/coverage_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import (
1414

1515
var totalRgx = regexp.MustCompile(`total:\s+\(statements\)\s+([^"]*)%`)
1616

17-
const CodeCoverageThreshold = 56.1
17+
const CodeCoverageThreshold = 57
1818

1919
func TestCoverage(t *testing.T) {
2020
if os.Getenv("CHECK_COVERAGE") != "true" {
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
#variable "compartment_ocid" {
2+
# default = "ocid1.tenancy.oc17..aaaaaaaa5u4pwayzuvledyxkajssb77kpotf3jyew6tuolmhgss4abwpo4ea"
3+
#}
4+
5+
provider "oci" {
6+
7+
}
8+
9+
#data "oci_identity_compartments" "test_compartments" {
10+
# #Required
11+
# compartment_id = "ocid1.tenancy.oc17..aaaaaaaa5u4pwayzuvledyxkajssb77kpotf3jyew6tuolmhgss4abwpo4ea"
12+
#}
13+
#data "oci_objectstorage_namespace" "ns" {
14+
# #Optional
15+
# compartment_id = "ocid1.tenancy.oc17..aaaaaaaa5u4pwayzuvledyxkajssb77kpotf3jyew6tuolmhgss4abwpo4ea" #data.oci_identity_compartments.test_compartments.compartments.0.compartment_id
16+
#}
17+
resource "oci_objectstorage_bucket" "bucket1" {
18+
compartment_id = "ocid1.tenancy.oc17..aaaaaaaa5u4pwayzuvledyxkajssb77kpotf3jyew6tuolmhgss4abwpo4ea"# data.oci_identity_compartments.test_compartments.compartments.0.compartment_id
19+
namespace = "axefgkprufno"
20+
name = "tf-example-alloy"
21+
access_type = "NoPublicAccess"
22+
auto_tiering = "Disabled"
23+
}
24+
25+
resource "oci_objectstorage_preauthrequest" "bucket_par" {
26+
namespace = "axefgkprufno"
27+
bucket = oci_objectstorage_bucket.bucket1.name
28+
name = "parOnBucket"
29+
access_type = "AnyObjectWrite" //Other configurations accepted are ObjectWrite, ObjectRead, ObjectReadWrite, AnyObjectRead, AnyObjectReadWrite,
30+
time_expires = "2025-12-10T23:00:00Z"
31+
}
32+
/*
33+
resource "oci_apm_apm_domain" "test_apm_domain" {
34+
#Required
35+
compartment_id = "ocid1.tenancy.oc17..aaaaaaaa5u4pwayzuvledyxkajssb77kpotf3jyew6tuolmhgss4abwpo4ea"
36+
display_name = "var.apm_domain_display_name"
37+
38+
}
39+
*/
40+
output "par_request_url" {
41+
value = "https://objectstorage.us-dcc-phoenix-1.oraclecloud17.com${oci_objectstorage_preauthrequest.bucket_par.access_uri}"
42+
}

internal/client/provider_clients.go

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,9 @@ func CreateSDKClients(clients *OracleClients, configProvider oci_common.Configur
142142
if host, ok := clientHostOverrides[serviceName]; ok {
143143
serviceClientOverrides.HostUrlOverride = host
144144
}
145-
145+
if !common.CheckForEnabledServices(utils.GetSDKServiceName(serviceName)) {
146+
continue
147+
}
146148
clients.SdkClientMap[serviceName], err = clientRegistration.InitClientFn(configProvider, configureClient, serviceClientOverrides)
147149
if err != nil {
148150
return err
@@ -151,18 +153,18 @@ func CreateSDKClients(clients *OracleClients, configProvider oci_common.Configur
151153
return fmt.Errorf("unable to initialize '%s' client", serviceName)
152154
}
153155
}
154-
155-
workRequestClient, err := oci_work_requests.NewWorkRequestClientWithConfigurationProvider(configProvider)
156-
if err != nil {
157-
return
158-
}
159-
err = configureClient(&workRequestClient.BaseClient)
160-
if err != nil {
161-
return
156+
if common.CheckForEnabledServices(globalvar.WorkRequest) {
157+
workRequestClient, err := oci_work_requests.NewWorkRequestClientWithConfigurationProvider(configProvider)
158+
if err != nil {
159+
return err
160+
}
161+
err = configureClient(&workRequestClient.BaseClient)
162+
if err != nil {
163+
return err
164+
}
165+
clients.WorkRequestClient = &workRequestClient
162166
}
163-
clients.WorkRequestClient = &workRequestClient
164-
165-
return
167+
return nil
166168
}
167169
func setCustomConfiguration(oClient interface {
168170
SetCustomClientConfiguration(config common.CustomClientConfiguration)

internal/commonexport/commonexport_functions.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"strings"
1010

1111
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
12+
oci_common "github.com/oracle/oci-go-sdk/v65/common"
1213
"github.com/oracle/terraform-provider-oci/internal/globalvar"
1314
"github.com/oracle/terraform-provider-oci/internal/utils"
1415
)
@@ -780,11 +781,15 @@ func getNotFoundChildren(parent string, resourceGraph *TerraformResourceGraph, c
780781
}
781782

782783
func RegisterCompartmentGraphs(servicename string, graph TerraformResourceGraph) {
783-
CompartmentResourceGraphs[servicename] = graph
784+
if oci_common.CheckForEnabledServices(utils.GetSDKServiceName(servicename)) {
785+
CompartmentResourceGraphs[servicename] = graph
786+
}
784787
}
785788

786789
func RegisterTenancyGraphs(servicename string, graph TerraformResourceGraph) {
787-
TenancyResourceGraphs[servicename] = graph
790+
if oci_common.CheckForEnabledServices(utils.GetSDKServiceName(servicename)) {
791+
TenancyResourceGraphs[servicename] = graph
792+
}
788793
}
789794

790795
func RegisterRelatedResourcesGraph(resourceName string, association []TerraformResourceAssociation) {

internal/globalvar/constants.go

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -72,11 +72,13 @@ These missing attributes are also added to the lifecycle ignore_changes.
7272
)
7373

7474
const (
75-
SubnetService = "subnet"
76-
CoreService = "core"
77-
DeleteResource = "delete"
78-
TfEnvPrefix = "TF_VAR_"
79-
OciEnvPrefix = "OCI_"
75+
SubnetService = "subnet"
76+
CoreService = "core"
77+
LoadBalancerService = "loadbalancer"
78+
WorkRequest = "workrequests"
79+
DeleteResource = "delete"
80+
TfEnvPrefix = "TF_VAR_"
81+
OciEnvPrefix = "OCI_"
8082
)
8183
const (
8284
DebugTestSteps = "DEBUG_TEST_STEPS"

internal/provider/provider.go

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -212,22 +212,30 @@ func SchemaMap() map[string]*schema.Schema {
212212
// The OciDatasources map is populated by each datasource's init function being invoked before it gets here
213213
func DataSourcesMap() map[string]*schema.Resource {
214214
// Register some aliases of registered datasources. These are registered for convenience and legacy reasons.
215-
tf_resource.RegisterDatasource("oci_core_listing_resource_version", tf_core.CoreAppCatalogListingResourceVersionDataSource())
216-
tf_resource.RegisterDatasource("oci_core_listing_resource_versions", tf_core.CoreAppCatalogListingResourceVersionsDataSource())
217-
tf_resource.RegisterDatasource("oci_core_shape", tf_core.CoreShapesDataSource())
218-
tf_resource.RegisterDatasource("oci_core_virtual_networks", tf_core.CoreVcnsDataSource())
219-
tf_resource.RegisterDatasource("oci_load_balancers", tf_load_balancer.LoadBalancerLoadBalancersDataSource())
220-
tf_resource.RegisterDatasource("oci_load_balancer_backendsets", tf_load_balancer.LoadBalancerBackendSetsDataSource())
215+
if oci_common.CheckForEnabledServices(globalvar.CoreService) {
216+
tf_resource.RegisterDatasource("oci_core_listing_resource_version", tf_core.CoreAppCatalogListingResourceVersionDataSource())
217+
tf_resource.RegisterDatasource("oci_core_listing_resource_versions", tf_core.CoreAppCatalogListingResourceVersionsDataSource())
218+
tf_resource.RegisterDatasource("oci_core_shape", tf_core.CoreShapesDataSource())
219+
tf_resource.RegisterDatasource("oci_core_virtual_networks", tf_core.CoreVcnsDataSource())
220+
}
221+
if oci_common.CheckForEnabledServices(globalvar.LoadBalancerService) {
222+
tf_resource.RegisterDatasource("oci_load_balancers", tf_load_balancer.LoadBalancerLoadBalancersDataSource())
223+
tf_resource.RegisterDatasource("oci_load_balancer_backendsets", tf_load_balancer.LoadBalancerBackendSetsDataSource())
224+
}
221225
return globalvar.OciDatasources
222226
}
223227

224228
// This returns a map of all resources to register with Terraform
225229
// The OciResource map is populated by each resource's init function being invoked before it gets here
226230
func ResourcesMap() map[string]*schema.Resource {
227231
// Register some aliases of registered resources. These are registered for convenience and legacy reasons.
228-
tf_resource.RegisterResource("oci_core_virtual_network", tf_core.CoreVcnResource())
229-
tf_resource.RegisterResource("oci_load_balancer", tf_load_balancer.LoadBalancerLoadBalancerResource())
230-
tf_resource.RegisterResource("oci_load_balancer_backendset", tf_load_balancer.LoadBalancerBackendSetResource())
232+
if oci_common.CheckForEnabledServices(globalvar.CoreService) {
233+
tf_resource.RegisterResource("oci_core_virtual_network", tf_core.CoreVcnResource())
234+
}
235+
if oci_common.CheckForEnabledServices(globalvar.LoadBalancerService) {
236+
tf_resource.RegisterResource("oci_load_balancer", tf_load_balancer.LoadBalancerLoadBalancerResource())
237+
tf_resource.RegisterResource("oci_load_balancer_backendset", tf_load_balancer.LoadBalancerBackendSetResource())
238+
}
231239
return globalvar.OciResources
232240
}
233241

0 commit comments

Comments
 (0)