Skip to content

Commit dfb02ee

Browse files
committed
Add oci_certificates_certificate_bundle and oci_certificates_certificate_authority_bundle data sources
1 parent 6e4c19e commit dfb02ee

File tree

111 files changed

+11472
-4986
lines changed

Some content is hidden

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

111 files changed

+11472
-4986
lines changed

go.mod

+3-2
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ require (
1616
cloud.google.com/go/compute v1.23.3 // indirect
1717
cloud.google.com/go/compute/metadata v0.2.3 // indirect
1818
cloud.google.com/go/iam v1.1.5 // indirect
19+
github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect
1920
github.com/google/s2a-go v0.1.7 // indirect
2021
github.com/google/uuid v1.4.0 // indirect
2122
github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect
@@ -51,7 +52,7 @@ require (
5152
github.com/hashicorp/go-version v1.6.0
5253
github.com/hashicorp/hcl/v2 v2.8.2 // indirect
5354
github.com/hashicorp/logutils v1.0.0 // indirect
54-
github.com/hashicorp/terraform-json v0.12.0 // indirect
55+
github.com/hashicorp/terraform-json v0.21.0 // indirect
5556
github.com/hashicorp/terraform-plugin-go v0.3.0 // indirect
5657
github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d // indirect
5758
github.com/jmespath/go-jmespath v0.4.0 // indirect
@@ -70,7 +71,7 @@ require (
7071
github.com/sony/gobreaker v0.5.0 // indirect
7172
github.com/ulikunitz/xz v0.5.10 // indirect
7273
github.com/vmihailenco/msgpack v4.0.4+incompatible // indirect
73-
github.com/zclconf/go-cty v1.8.4 // indirect
74+
github.com/zclconf/go-cty v1.14.1 // indirect
7475
go.opencensus.io v0.24.0 // indirect
7576
golang.org/x/crypto v0.19.0 // indirect
7677
golang.org/x/net v0.20.0 // indirect

go.sum

+6
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,8 @@ github.com/apparentlymart/go-textseg/v12 v12.0.0 h1:bNEQyAGak9tojivJNkoqWErVCQbj
215215
github.com/apparentlymart/go-textseg/v12 v12.0.0/go.mod h1:S/4uRK2UtaQttw1GenVJEynmyUenKwP++x/+DdGV/Ec=
216216
github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6iT90AvPUL1NNfNw=
217217
github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo=
218+
github.com/apparentlymart/go-textseg/v15 v15.0.0 h1:uYvfpb3DyLSCGWnctWKGj857c6ew1u1fNQOlOtuGxQY=
219+
github.com/apparentlymart/go-textseg/v15 v15.0.0/go.mod h1:K8XmNZdhEBkdlyDdvbmmsvpAG721bKi0joRfFdHIWJ4=
218220
github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
219221
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=
220222
github.com/aws/aws-sdk-go v1.15.78/go.mod h1:E3/ieXAlvM0XWO57iftYVDLLvQ824smPP3ATZkfNZeM=
@@ -426,6 +428,8 @@ github.com/hashicorp/terraform-exec v0.14.0 h1:UQoUcxKTZZXhyyK68Cwn4mApT4mnFPmEX
426428
github.com/hashicorp/terraform-exec v0.14.0/go.mod h1:qrAASDq28KZiMPDnQ02sFS9udcqEkRly002EA2izXTA=
427429
github.com/hashicorp/terraform-json v0.12.0 h1:8czPgEEWWPROStjkWPUnTQDXmpmZPlkQAwYYLETaTvw=
428430
github.com/hashicorp/terraform-json v0.12.0/go.mod h1:pmbq9o4EuL43db5+0ogX10Yofv1nozM+wskr/bGFJpI=
431+
github.com/hashicorp/terraform-json v0.21.0 h1:9NQxbLNqPbEMze+S6+YluEdXgJmhQykRyRNd+zTI05U=
432+
github.com/hashicorp/terraform-json v0.21.0/go.mod h1:qdeBs11ovMzo5puhrRibdD6d2Dq6TyE/28JiU4tIQxk=
429433
github.com/hashicorp/terraform-plugin-go v0.3.0 h1:AJqYzP52JFYl9NABRI7smXI1pNjgR5Q/y2WyVJ/BOZA=
430434
github.com/hashicorp/terraform-plugin-go v0.3.0/go.mod h1:dFHsQMaTLpON2gWhVWT96fvtlc/MF1vSy3OdMhWBzdM=
431435
github.com/hashicorp/terraform-plugin-sdk/v2 v2.7.0 h1:SuI59MqNjYDrL7EfqHX9V6P/24isgqYx/FdglwVs9bg=
@@ -567,6 +571,8 @@ github.com/zclconf/go-cty v1.2.0/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q
567571
github.com/zclconf/go-cty v1.2.1/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8=
568572
github.com/zclconf/go-cty v1.8.4 h1:pwhhz5P+Fjxse7S7UriBrMu6AUJSZM5pKqGem1PjGAs=
569573
github.com/zclconf/go-cty v1.8.4/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk=
574+
github.com/zclconf/go-cty v1.14.1 h1:t9fyA35fwjjUMcmL5hLER+e/rEPqrbCK1/OSE4SI9KA=
575+
github.com/zclconf/go-cty v1.14.1/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE=
570576
github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8=
571577
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
572578
go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
// Copyright (c) 2017, 2023, 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_certificates "github.com/oracle/oci-go-sdk/v65/certificates"
8+
oci_common "github.com/oracle/oci-go-sdk/v65/common"
9+
)
10+
11+
func init() {
12+
RegisterOracleClient("oci_certificates.CertificatesClient", &OracleClient{InitClientFn: initCertificatesCertificatesClient})
13+
}
14+
15+
func initCertificatesCertificatesClient(configProvider oci_common.ConfigurationProvider, configureClient ConfigureClient, serviceClientOverrides ServiceClientOverrides) (interface{}, error) {
16+
client, err := oci_certificates.NewCertificatesClientWithConfigurationProvider(configProvider)
17+
if err != nil {
18+
return nil, err
19+
}
20+
err = configureClient(&client.BaseClient)
21+
if err != nil {
22+
return nil, err
23+
}
24+
25+
if serviceClientOverrides.HostUrlOverride != "" {
26+
client.Host = serviceClientOverrides.HostUrlOverride
27+
}
28+
return &client, nil
29+
}
30+
31+
func (m *OracleClients) CertificatesClient() *oci_certificates.CertificatesClient {
32+
return m.GetClient("oci_certificates.CertificatesClient").(*oci_certificates.CertificatesClient)
33+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
// Copyright (c) 2017, 2023, 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/v2/helper/resource"
11+
12+
"github.com/oracle/terraform-provider-oci/httpreplay"
13+
"github.com/oracle/terraform-provider-oci/internal/acctest"
14+
15+
"github.com/oracle/terraform-provider-oci/internal/utils"
16+
)
17+
18+
var (
19+
CertificatesCertificateAuthorityBundleSingularDataSourceRepresentation = map[string]interface{}{
20+
"certificate_authority_id": acctest.Representation{RepType: acctest.Required, Create: `${oci_certificates_management_certificate_authority.test_certificate_authority.id}`},
21+
"stage": acctest.Representation{RepType: acctest.Optional, Create: `CURRENT`},
22+
}
23+
24+
CertificatesCertificateAuthorityBundleResourceConfig = acctest.GenerateResourceFromRepresentationMap("oci_certificates_management_certificate_authority", "test_certificate_authority", acctest.Required, acctest.Create, certificateAuthorityRepresentation)
25+
)
26+
27+
// issue-routing-tag: certificates/default
28+
func TestCertificatesCertificateAuthorityBundleResource_basic(t *testing.T) {
29+
httpreplay.SetScenario("TestCertificatesCertificateAuthorityBundleResource_basic")
30+
defer httpreplay.SaveScenario()
31+
32+
config := acctest.ProviderTestConfig()
33+
34+
compartmentId := utils.GetEnvSettingWithBlankDefault("compartment_ocid")
35+
compartmentIdVariableStr := fmt.Sprintf("variable \"compartment_id\" { default = \"%s\" }\n", compartmentId)
36+
37+
singularDatasourceName := "data.oci_certificates_certificate_authority_bundle.test_certificate_authority_bundle"
38+
39+
acctest.SaveConfigContent("", "", "", t)
40+
acctest.ResourceTest(t, nil, []resource.TestStep{
41+
// verify singular datasource
42+
{
43+
Config: config +
44+
acctest.GenerateDataSourceFromRepresentationMap("oci_certificates_certificate_authority_bundle", "test_certificate_authority_bundle", acctest.Optional, acctest.Create, CertificatesCertificateAuthorityBundleSingularDataSourceRepresentation) +
45+
compartmentIdVariableStr + CertificatesCertificateAuthorityBundleResourceConfig,
46+
Check: acctest.ComposeAggregateTestCheckFuncWrapper(
47+
resource.TestCheckResourceAttrSet(singularDatasourceName, "cert_chain_pem"),
48+
resource.TestCheckResourceAttrSet(singularDatasourceName, "certificate_authority_id"),
49+
resource.TestCheckResourceAttrSet(singularDatasourceName, "certificate_authority_name"),
50+
resource.TestCheckResourceAttrSet(singularDatasourceName, "certificate_pem"),
51+
resource.TestCheckResourceAttrSet(singularDatasourceName, "serial_number"),
52+
resource.TestCheckResourceAttr(singularDatasourceName, "stages.#", "2"),
53+
resource.TestCheckResourceAttrSet(singularDatasourceName, "time_created"),
54+
resource.TestCheckResourceAttr(singularDatasourceName, "validity.#", "1"),
55+
resource.TestCheckResourceAttrSet(singularDatasourceName, "validity.0.time_of_validity_not_before"),
56+
resource.TestCheckResourceAttrSet(singularDatasourceName, "validity.0.time_of_validity_not_after"),
57+
resource.TestCheckResourceAttr(singularDatasourceName, "version_number", "1"),
58+
),
59+
},
60+
})
61+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
// Copyright (c) 2017, 2023, 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/v2/helper/resource"
11+
12+
"github.com/oracle/terraform-provider-oci/httpreplay"
13+
"github.com/oracle/terraform-provider-oci/internal/acctest"
14+
15+
"github.com/oracle/terraform-provider-oci/internal/utils"
16+
)
17+
18+
var (
19+
CertificatesCertificateBundleSingularDataSourceRepresentation = map[string]interface{}{
20+
"certificate_id": acctest.Representation{RepType: acctest.Required, Create: `${oci_certificates_management_certificate.test_certificate.id}`},
21+
"certificate_bundle_type": acctest.Representation{RepType: acctest.Optional, Create: `CERTIFICATE_CONTENT_WITH_PRIVATE_KEY`},
22+
"stage": acctest.Representation{RepType: acctest.Optional, Create: `CURRENT`},
23+
}
24+
25+
CertificatesCertificateBundleResourceConfig = acctest.GenerateResourceFromRepresentationMap("oci_certificates_management_certificate", "test_certificate", acctest.Required, acctest.Create, certificatesManagementCertificateRepresentation)
26+
)
27+
28+
// issue-routing-tag: certificates/default
29+
func TestCertificatesCertificateBundleResource_basic(t *testing.T) {
30+
httpreplay.SetScenario("TestCertificatesCertificateBundleResource_basic")
31+
defer httpreplay.SaveScenario()
32+
33+
config := acctest.ProviderTestConfig()
34+
35+
compartmentId := utils.GetEnvSettingWithBlankDefault("compartment_ocid")
36+
compartmentIdVariableStr := fmt.Sprintf("variable \"compartment_id\" { default = \"%s\" }\n", compartmentId)
37+
38+
singularDatasourceName := "data.oci_certificates_certificate_bundle.test_certificate_bundle"
39+
40+
acctest.SaveConfigContent("", "", "", t)
41+
acctest.ResourceTest(t, nil, []resource.TestStep{
42+
// verify singular datasource
43+
{
44+
Config: config +
45+
acctest.GenerateDataSourceFromRepresentationMap("oci_certificates_certificate_bundle", "test_certificate_bundle", acctest.Optional, acctest.Create, CertificatesCertificateBundleSingularDataSourceRepresentation) +
46+
compartmentIdVariableStr + CertificatesCertificateBundleResourceConfig,
47+
Check: acctest.ComposeAggregateTestCheckFuncWrapper(
48+
resource.TestCheckResourceAttrSet(singularDatasourceName, "cert_chain_pem"),
49+
resource.TestCheckResourceAttr(singularDatasourceName, "certificate_bundle_type", "CERTIFICATE_CONTENT_WITH_PRIVATE_KEY"),
50+
resource.TestCheckResourceAttrSet(singularDatasourceName, "certificate_id"),
51+
resource.TestCheckResourceAttrSet(singularDatasourceName, "certificate_name"),
52+
resource.TestCheckResourceAttrSet(singularDatasourceName, "certificate_pem"),
53+
resource.TestCheckResourceAttrSet(singularDatasourceName, "private_key_pem"),
54+
resource.TestCheckResourceAttrSet(singularDatasourceName, "serial_number"),
55+
resource.TestCheckResourceAttr(singularDatasourceName, "stages.#", "2"),
56+
resource.TestCheckResourceAttrSet(singularDatasourceName, "time_created"),
57+
resource.TestCheckResourceAttr(singularDatasourceName, "validity.#", "1"),
58+
resource.TestCheckResourceAttrSet(singularDatasourceName, "validity.0.time_of_validity_not_before"),
59+
resource.TestCheckResourceAttrSet(singularDatasourceName, "validity.0.time_of_validity_not_after"),
60+
resource.TestCheckResourceAttr(singularDatasourceName, "version_number", "1"),
61+
),
62+
},
63+
})
64+
}

internal/provider/register_datasource.go

+4-2
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import (
2525
tf_bds "github.com/oracle/terraform-provider-oci/internal/service/bds"
2626
tf_blockchain "github.com/oracle/terraform-provider-oci/internal/service/blockchain"
2727
tf_budget "github.com/oracle/terraform-provider-oci/internal/service/budget"
28+
tf_certificates "github.com/oracle/terraform-provider-oci/internal/service/certificates"
2829
tf_certificates_management "github.com/oracle/terraform-provider-oci/internal/service/certificates_management"
2930
tf_cloud_bridge "github.com/oracle/terraform-provider-oci/internal/service/cloud_bridge"
3031
tf_cloud_guard "github.com/oracle/terraform-provider-oci/internal/service/cloud_guard"
@@ -121,7 +122,6 @@ import (
121122
)
122123

123124
func init() {
124-
125125
if common.CheckForEnabledServices("adm") {
126126
tf_adm.RegisterDatasource()
127127
}
@@ -182,6 +182,9 @@ func init() {
182182
if common.CheckForEnabledServices("budget") {
183183
tf_budget.RegisterDatasource()
184184
}
185+
if common.CheckForEnabledServices("certificates") {
186+
tf_certificates.RegisterDatasource()
187+
}
185188
if common.CheckForEnabledServices("certificatesmanagement") {
186189
tf_certificates_management.RegisterDatasource()
187190
}
@@ -461,5 +464,4 @@ func init() {
461464
if common.CheckForEnabledServices("waf") {
462465
tf_waf.RegisterDatasource()
463466
}
464-
465467
}

0 commit comments

Comments
 (0)