Skip to content

Commit b31a6a9

Browse files
committed
Add oci_certificates_certificate_bundle and oci_certificates_certificate_authority_bundle data sources
1 parent 77156f7 commit b31a6a9

28 files changed

+3144
-1
lines changed
Lines changed: 33 additions & 0 deletions
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+
}
Lines changed: 61 additions & 0 deletions
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+
}
Lines changed: 64 additions & 0 deletions
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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import (
2626
tf_blockchain "github.com/oracle/terraform-provider-oci/internal/service/blockchain"
2727
tf_budget "github.com/oracle/terraform-provider-oci/internal/service/budget"
2828
tf_capacity_management "github.com/oracle/terraform-provider-oci/internal/service/capacity_management"
29+
tf_certificates "github.com/oracle/terraform-provider-oci/internal/service/certificates"
2930
tf_certificates_management "github.com/oracle/terraform-provider-oci/internal/service/certificates_management"
3031
tf_cloud_bridge "github.com/oracle/terraform-provider-oci/internal/service/cloud_bridge"
3132
tf_cloud_guard "github.com/oracle/terraform-provider-oci/internal/service/cloud_guard"
@@ -194,6 +195,9 @@ func init() {
194195
if common.CheckForEnabledServices("capacitymanagement") {
195196
tf_capacity_management.RegisterDatasource()
196197
}
198+
if common.CheckForEnabledServices("certificates") {
199+
tf_certificates.RegisterDatasource()
200+
}
197201
if common.CheckForEnabledServices("certificatesmanagement") {
198202
tf_certificates_management.RegisterDatasource()
199203
}
@@ -500,5 +504,4 @@ func init() {
500504
if common.CheckForEnabledServices("zpr") {
501505
tf_zpr.RegisterDatasource()
502506
}
503-
504507
}

0 commit comments

Comments
 (0)