Skip to content

Commit ba26d74

Browse files
committed
Add oci_certificates_certificate_bundle and oci_certificates_certificate_authority_bundle data sources
1 parent d1fce11 commit ba26d74

File tree

68 files changed

+3801
-258
lines changed

Some content is hidden

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

68 files changed

+3801
-258
lines changed

Diff for: go.mod

+4-4
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ require (
2525
github.com/gofrs/flock v0.8.1 // indirect
2626
github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e // indirect
2727
github.com/golang/protobuf v1.4.2 // indirect
28-
github.com/google/go-cmp v0.5.6 // indirect
28+
github.com/google/go-cmp v0.5.9 // indirect
2929
github.com/googleapis/gax-go/v2 v2.0.5 // indirect
3030
github.com/hashicorp/errwrap v1.0.0 // indirect
3131
github.com/hashicorp/go-checkpoint v0.5.0 // indirect
@@ -35,10 +35,10 @@ require (
3535
github.com/hashicorp/go-plugin v1.4.1 // indirect
3636
github.com/hashicorp/go-safetemp v1.0.0 // indirect
3737
github.com/hashicorp/go-uuid v1.0.1 // indirect
38-
github.com/hashicorp/go-version v1.3.0
38+
github.com/hashicorp/go-version v1.6.0
3939
github.com/hashicorp/hcl/v2 v2.8.2 // indirect
4040
github.com/hashicorp/logutils v1.0.0 // indirect
41-
github.com/hashicorp/terraform-json v0.12.0 // indirect
41+
github.com/hashicorp/terraform-json v0.15.0 // indirect
4242
github.com/hashicorp/terraform-plugin-go v0.3.0 // indirect
4343
github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d // indirect
4444
github.com/jmespath/go-jmespath v0.4.0 // indirect
@@ -58,7 +58,7 @@ require (
5858
github.com/sony/gobreaker v0.5.0 // indirect
5959
github.com/ulikunitz/xz v0.5.8 // indirect
6060
github.com/vmihailenco/msgpack v4.0.4+incompatible // indirect
61-
github.com/zclconf/go-cty v1.8.4 // indirect
61+
github.com/zclconf/go-cty v1.10.0 // indirect
6262
go.opencensus.io v0.22.4 // indirect
6363
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 // indirect
6464
golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 // indirect

Diff for: go.sum

+8
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,8 @@ github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
149149
github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
150150
github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ=
151151
github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
152+
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
153+
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
152154
github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no=
153155
github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
154156
github.com/google/martian/v3 v3.0.0 h1:pMen7vLs8nvgEYhywH3KDWJIJTeEr2ULsVWHWYHQyBs=
@@ -195,6 +197,8 @@ github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/b
195197
github.com/hashicorp/go-version v1.1.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
196198
github.com/hashicorp/go-version v1.3.0 h1:McDWVJIU/y+u1BRV06dPaLfLCaT7fUTJLp5r04x7iNw=
197199
github.com/hashicorp/go-version v1.3.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
200+
github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek=
201+
github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
198202
github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
199203
github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
200204
github.com/hashicorp/hcl/v2 v2.3.0/go.mod h1:d+FwDBbOLvpAM3Z6J7gPj/VoAGkNe/gm352ZhjJ/Zv8=
@@ -208,6 +212,8 @@ github.com/hashicorp/terraform-exec v0.14.0 h1:UQoUcxKTZZXhyyK68Cwn4mApT4mnFPmEX
208212
github.com/hashicorp/terraform-exec v0.14.0/go.mod h1:qrAASDq28KZiMPDnQ02sFS9udcqEkRly002EA2izXTA=
209213
github.com/hashicorp/terraform-json v0.12.0 h1:8czPgEEWWPROStjkWPUnTQDXmpmZPlkQAwYYLETaTvw=
210214
github.com/hashicorp/terraform-json v0.12.0/go.mod h1:pmbq9o4EuL43db5+0ogX10Yofv1nozM+wskr/bGFJpI=
215+
github.com/hashicorp/terraform-json v0.15.0 h1:/gIyNtR6SFw6h5yzlbDbACyGvIhKtQi8mTsbkNd79lE=
216+
github.com/hashicorp/terraform-json v0.15.0/go.mod h1:+L1RNzjDU5leLFZkHTFTbJXaoqUC6TqXlFgDoOXrtvk=
211217
github.com/hashicorp/terraform-plugin-go v0.3.0 h1:AJqYzP52JFYl9NABRI7smXI1pNjgR5Q/y2WyVJ/BOZA=
212218
github.com/hashicorp/terraform-plugin-go v0.3.0/go.mod h1:dFHsQMaTLpON2gWhVWT96fvtlc/MF1vSy3OdMhWBzdM=
213219
github.com/hashicorp/terraform-plugin-sdk/v2 v2.7.0 h1:SuI59MqNjYDrL7EfqHX9V6P/24isgqYx/FdglwVs9bg=
@@ -335,6 +341,8 @@ github.com/zclconf/go-cty v1.2.0/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q
335341
github.com/zclconf/go-cty v1.2.1/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8=
336342
github.com/zclconf/go-cty v1.8.4 h1:pwhhz5P+Fjxse7S7UriBrMu6AUJSZM5pKqGem1PjGAs=
337343
github.com/zclconf/go-cty v1.8.4/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk=
344+
github.com/zclconf/go-cty v1.10.0 h1:mp9ZXQeIcN8kAwuqorjH+Q+njbJKjLrvB2yIh4q7U+0=
345+
github.com/zclconf/go-cty v1.10.0/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk=
338346
github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8=
339347
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
340348
go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=

Diff for: internal/client/certificates_clients.go

+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+
}

Diff for: internal/provider/register_datasource.go

+2
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import (
2222
tf_bds "github.com/oracle/terraform-provider-oci/internal/service/bds"
2323
tf_blockchain "github.com/oracle/terraform-provider-oci/internal/service/blockchain"
2424
tf_budget "github.com/oracle/terraform-provider-oci/internal/service/budget"
25+
tf_certificates "github.com/oracle/terraform-provider-oci/internal/service/certificates"
2526
tf_certificates_management "github.com/oracle/terraform-provider-oci/internal/service/certificates_management"
2627
tf_cloud_bridge "github.com/oracle/terraform-provider-oci/internal/service/cloud_bridge"
2728
tf_cloud_guard "github.com/oracle/terraform-provider-oci/internal/service/cloud_guard"
@@ -131,6 +132,7 @@ func init() {
131132
tf_bds.RegisterDatasource()
132133
tf_blockchain.RegisterDatasource()
133134
tf_budget.RegisterDatasource()
135+
tf_certificates.RegisterDatasource()
134136
tf_certificates_management.RegisterDatasource()
135137
tf_cloud_bridge.RegisterDatasource()
136138
tf_cloud_guard.RegisterDatasource()

0 commit comments

Comments
 (0)