Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: Use bundle instead of SDK for Cert Manager #751

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@ require (
github.com/iancoleman/strcase v0.3.0
github.com/ionos-cloud/sdk-go-api-gateway v1.0.0
github.com/ionos-cloud/sdk-go-bundle/products/cdn/v2 v2.1.0
github.com/ionos-cloud/sdk-go-bundle/products/cert/v2 v2.1.0
github.com/ionos-cloud/sdk-go-bundle/products/logging/v2 v2.1.1
github.com/ionos-cloud/sdk-go-bundle/products/monitoring/v2 v2.0.0
github.com/ionos-cloud/sdk-go-bundle/products/vpn/v2 v2.0.2
github.com/ionos-cloud/sdk-go-bundle/shared v0.1.1
github.com/ionos-cloud/sdk-go-cert-manager v1.3.0
github.com/ionos-cloud/sdk-go-container-registry v1.2.0
github.com/ionos-cloud/sdk-go-dataplatform v1.1.1
github.com/ionos-cloud/sdk-go-dbaas-in-memory-db v1.0.1
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,8 @@ github.com/ionos-cloud/sdk-go-api-gateway v1.0.0 h1:T+JzarV1Iw7NjWQfEuv5bESnHoCL
github.com/ionos-cloud/sdk-go-api-gateway v1.0.0/go.mod h1:TkSlamP+qKRT8cgBaZEN8rawanVluOR0dXbXXdmmwTY=
github.com/ionos-cloud/sdk-go-bundle/products/cdn/v2 v2.1.0 h1:8fRICa4i+GJHrCgnLe8t3uwfahkg7pcDDwoLkH3B2Xc=
github.com/ionos-cloud/sdk-go-bundle/products/cdn/v2 v2.1.0/go.mod h1:BF6R+j1GdJEMImxkeh32qjIVWqsBfgi6VgyfsY5ezIA=
github.com/ionos-cloud/sdk-go-bundle/products/cert/v2 v2.1.0 h1:nZbFVqm+nfMsp2HxBFQVsF5qDNKjtCjYWteJHZf4c/k=
github.com/ionos-cloud/sdk-go-bundle/products/cert/v2 v2.1.0/go.mod h1:7ONrlRb2n7qjLR5O7oCQzOJAiRhj/D4ywvpJUPQr1q0=
github.com/ionos-cloud/sdk-go-bundle/products/logging/v2 v2.1.1 h1:GXxdNKl7haQnHO1QewZeXazur5+LDCpHqvP+nNObGaA=
github.com/ionos-cloud/sdk-go-bundle/products/logging/v2 v2.1.1/go.mod h1:N0ifRq3ENqGg6qht1WPrVgSkcavPS5SRWlNfkHUZbfQ=
github.com/ionos-cloud/sdk-go-bundle/products/monitoring/v2 v2.0.0 h1:gVh+jd0o8ROtJLWqUB6/VU8vSLdj/kRYAz/qbMO7z7I=
Expand All @@ -124,8 +126,6 @@ github.com/ionos-cloud/sdk-go-bundle/products/vpn/v2 v2.0.2 h1:qR/ul88v/3ZF+ZLFF
github.com/ionos-cloud/sdk-go-bundle/products/vpn/v2 v2.0.2/go.mod h1:V6WHbWsQDlZsLtHqgsXO81Z9eJBsczE3Q6VY8J+rutc=
github.com/ionos-cloud/sdk-go-bundle/shared v0.1.1 h1:NWobgIhmUJKG6ohFXefMj+KmpEEvLYEDUgGzpns6HQE=
github.com/ionos-cloud/sdk-go-bundle/shared v0.1.1/go.mod h1:cLIl4zmB1yMdPSNgTzaRmXeuusEAY1O3Lp/iXSc/R6E=
github.com/ionos-cloud/sdk-go-cert-manager v1.3.0 h1:VMbD/XgLmMV2d7uI1+xf/uzRZWKJd8Ayan9IZ6gH1pM=
github.com/ionos-cloud/sdk-go-cert-manager v1.3.0/go.mod h1:8CPWJBuryfrUpiPNrVIPry6qQjZWfIhmRpFkqKiaO2w=
github.com/ionos-cloud/sdk-go-container-registry v1.2.0 h1:C5r2XleKLbSFw9kmb4N8ImqJ/HtLus3yh/R5BHy/6sg=
github.com/ionos-cloud/sdk-go-container-registry v1.2.0/go.mod h1:woBP1+A4N0KXiRj9jG4y/hEXgrVjJv0CUlAvc24mCeo=
github.com/ionos-cloud/sdk-go-dataplatform v1.1.1 h1:Wu9TAiphRyMEweUcQlMblhVCl9qVxQlOYEOw+jJS+Ss=
Expand Down
15 changes: 8 additions & 7 deletions ionoscloud/data_source_certificate_manager_auto_certificate.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,14 @@ import (
"fmt"
"strings"

certsdk "github.com/ionos-cloud/sdk-go-bundle/products/cert/v2"

"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation"
certSDK "github.com/ionos-cloud/sdk-go-cert-manager"

"github.com/ionos-cloud/terraform-provider-ionoscloud/v6/services"
certService "github.com/ionos-cloud/terraform-provider-ionoscloud/v6/services/cert"
certservice "github.com/ionos-cloud/terraform-provider-ionoscloud/v6/services/cert"
)

func dataSourceCertificateManagerAutoCertificate() *schema.Resource {
Expand Down Expand Up @@ -82,7 +83,7 @@ func dataSourceAutoCertificateRead(ctx context.Context, d *schema.ResourceData,
return diag.FromErr(fmt.Errorf("please provide either the auto-certificate ID or name"))
}

var autoCertificate certSDK.AutoCertificateRead
var autoCertificate certsdk.AutoCertificateRead
var err error

if idOk {
Expand All @@ -96,10 +97,10 @@ func dataSourceAutoCertificateRead(ctx context.Context, d *schema.ResourceData,
if err != nil {
return diag.FromErr(fmt.Errorf("an error occurred while fetching auto-certificates: %w", err))
}
var results []certSDK.AutoCertificateRead
var results []certsdk.AutoCertificateRead
if autoCertificates.Items != nil {
for _, autoCertificateItem := range *autoCertificates.Items {
if autoCertificateItem.Properties != nil && autoCertificateItem.Properties.Name != nil && strings.EqualFold(*autoCertificateItem.Properties.Name, name.(string)) {
for _, autoCertificateItem := range autoCertificates.Items {
if strings.EqualFold(autoCertificateItem.Properties.Name, name.(string)) {
results = append(results, autoCertificateItem)
}
}
Expand All @@ -114,7 +115,7 @@ func dataSourceAutoCertificateRead(ctx context.Context, d *schema.ResourceData,
autoCertificate = results[0]
}

if err := certService.SetAutoCertificateData(d, autoCertificate); err != nil {
if err := certservice.SetAutoCertificateData(d, autoCertificate); err != nil {
return diag.FromErr(err)
}
return nil
Expand Down
15 changes: 6 additions & 9 deletions ionoscloud/data_source_certificate_manager_certificate.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import (
"strings"

"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
certmanager "github.com/ionos-cloud/sdk-go-cert-manager"
certmanager "github.com/ionos-cloud/sdk-go-bundle/products/cert/v2"

"github.com/ionos-cloud/terraform-provider-ionoscloud/v6/services"
"github.com/ionos-cloud/terraform-provider-ionoscloud/v6/services/cert"
Expand Down Expand Up @@ -70,15 +70,12 @@ func dataSourceCertificateRead(ctx context.Context, d *schema.ResourceData, meta
return diag.FromErr(fmt.Errorf("error getting certificate with id %s %w", idStr, err))
}
if nameOk {
if certificate.Properties != nil && certificate.Properties.Name != nil &&
!strings.EqualFold(*certificate.Properties.Name, name) {
if !strings.EqualFold(certificate.Properties.Name, name) {
return diag.FromErr(fmt.Errorf("name of cert (UUID=%s, name=%s) does not match expected name: %s",
*certificate.Id, *certificate.Properties.Name, name))
certificate.Id, certificate.Properties.Name, name))
}
}
if certificate.Properties != nil {
log.Printf("[INFO] Got certificate [Name=%s]", *certificate.Properties.Name)
}
log.Printf("[INFO] Got certificate [Name=%s]", certificate.Properties.Name)

} else {
log.Printf("[INFO] Using data source for certificate with name: %s", name)
Expand All @@ -92,8 +89,8 @@ func dataSourceCertificateRead(ctx context.Context, d *schema.ResourceData, meta

if certificates.Items != nil {
var certsFound []certmanager.CertificateRead
for _, certItem := range *certificates.Items {
if certItem.Properties != nil && certItem.Properties.Name != nil && *certItem.Properties.Name == name {
for _, certItem := range certificates.Items {
if certItem.Properties.Name == name {
certsFound = append(certsFound, certItem)
}
}
Expand Down
6 changes: 3 additions & 3 deletions ionoscloud/data_source_certificate_manager_provider.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import (
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation"
certSDK "github.com/ionos-cloud/sdk-go-cert-manager"
certSDK "github.com/ionos-cloud/sdk-go-bundle/products/cert/v2"

"github.com/ionos-cloud/terraform-provider-ionoscloud/v6/services"
certService "github.com/ionos-cloud/terraform-provider-ionoscloud/v6/services/cert"
Expand Down Expand Up @@ -94,8 +94,8 @@ func dataSourceProviderRead(ctx context.Context, d *schema.ResourceData, meta in
}
var results []certSDK.ProviderRead
if providers.Items != nil {
for _, providerItem := range *providers.Items {
if providerItem.Properties != nil && providerItem.Properties.Name != nil && strings.EqualFold(*providerItem.Properties.Name, name.(string)) {
for _, providerItem := range providers.Items {
if strings.EqualFold(providerItem.Properties.Name, name.(string)) {
results = append(results, providerItem)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ func autoCertificateCreate(ctx context.Context, d *schema.ResourceData, meta int
if err != nil {
return diag.FromErr(fmt.Errorf("an error occurred while creating an auto-certificate: %w", err))
}
autoCertificateID := *response.Id
autoCertificateID := response.Id
d.SetId(autoCertificateID)

err = utils.WaitForResourceToBeReady(ctx, d, client.IsAutoCertificateReady)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import (

"github.com/hashicorp/terraform-plugin-testing/helper/resource"
"github.com/hashicorp/terraform-plugin-testing/terraform"
certSDK "github.com/ionos-cloud/sdk-go-cert-manager"
certSDK "github.com/ionos-cloud/sdk-go-bundle/products/cert/v2"

"github.com/ionos-cloud/terraform-provider-ionoscloud/v6/services"
"github.com/ionos-cloud/terraform-provider-ionoscloud/v6/utils/constant"
Expand Down
2 changes: 1 addition & 1 deletion ionoscloud/resource_certificate_manager_certificate.go
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ func resourceCertificateManagerCreate(ctx context.Context, d *schema.ResourceDat
return diags
}

d.SetId(*certificateDto.Id)
d.SetId(certificateDto.Id)

if err = utils.WaitForResourceToBeReady(ctx, d, client.IsCertReady); err != nil {
return diag.FromErr(err)
Expand Down
2 changes: 1 addition & 1 deletion ionoscloud/resource_certificate_manager_provider.go
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ func providerCreate(ctx context.Context, d *schema.ResourceData, meta interface{
if err != nil {
return diag.FromErr(fmt.Errorf("an error occurred while creating an auto-certificate provider: %w", err))
}
providerID := *response.Id
providerID := response.Id
d.SetId(providerID)

err = utils.WaitForResourceToBeReady(ctx, d, client.IsProviderReady)
Expand Down
2 changes: 1 addition & 1 deletion ionoscloud/resource_certificate_manager_provider_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import (

"github.com/hashicorp/terraform-plugin-testing/helper/resource"
"github.com/hashicorp/terraform-plugin-testing/terraform"
certSDK "github.com/ionos-cloud/sdk-go-cert-manager"
certSDK "github.com/ionos-cloud/sdk-go-bundle/products/cert/v2"

"github.com/ionos-cloud/terraform-provider-ionoscloud/v6/services"
"github.com/ionos-cloud/terraform-provider-ionoscloud/v6/utils/constant"
Expand Down
84 changes: 34 additions & 50 deletions services/cert/auto_certificate.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ import (
"strings"

"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
certmanager "github.com/ionos-cloud/sdk-go-cert-manager"
certmanager "github.com/ionos-cloud/sdk-go-bundle/products/cert/v2"
"github.com/ionos-cloud/sdk-go-bundle/shared"

"github.com/ionos-cloud/terraform-provider-ionoscloud/v6/utils"
"github.com/ionos-cloud/terraform-provider-ionoscloud/v6/utils/constant"
Expand All @@ -16,39 +17,39 @@ import (
// are suggestive enough).
//
//nolint:golint
func (c *Client) GetAutoCertificate(ctx context.Context, autoCertificateID, location string) (certmanager.AutoCertificateRead, *certmanager.APIResponse, error) {
func (c *Client) GetAutoCertificate(ctx context.Context, autoCertificateID, location string) (certmanager.AutoCertificateRead, *shared.APIResponse, error) {
c.modifyConfigURL(location)
autoCertificate, apiResponse, err := c.sdkClient.AutoCertificateApi.AutoCertificatesFindById(ctx, autoCertificateID).Execute()
apiResponse.LogInfo()
return autoCertificate, apiResponse, err
}

//nolint:golint
func (c *Client) ListAutoCertificates(ctx context.Context, location string) (certmanager.AutoCertificateReadList, *certmanager.APIResponse, error) {
func (c *Client) ListAutoCertificates(ctx context.Context, location string) (certmanager.AutoCertificateReadList, *shared.APIResponse, error) {
c.modifyConfigURL(location)
autoCertificates, apiResponse, err := c.sdkClient.AutoCertificateApi.AutoCertificatesGet(ctx).Execute()
apiResponse.LogInfo()
return autoCertificates, apiResponse, err
}

//nolint:golint
func (c *Client) CreateAutoCertificate(ctx context.Context, location string, autoCertificatePostData certmanager.AutoCertificateCreate) (certmanager.AutoCertificateRead, *certmanager.APIResponse, error) {
func (c *Client) CreateAutoCertificate(ctx context.Context, location string, autoCertificatePostData certmanager.AutoCertificateCreate) (certmanager.AutoCertificateRead, *shared.APIResponse, error) {
c.modifyConfigURL(location)
autoCertificate, apiResponse, err := c.sdkClient.AutoCertificateApi.AutoCertificatesPost(ctx).AutoCertificateCreate(autoCertificatePostData).Execute()
apiResponse.LogInfo()
return autoCertificate, apiResponse, err
}

//nolint:golint
func (c *Client) UpdateAutoCertificate(ctx context.Context, autoCertificateID, location string, autoCertificatePatchData certmanager.AutoCertificatePatch) (certmanager.AutoCertificateRead, *certmanager.APIResponse, error) {
func (c *Client) UpdateAutoCertificate(ctx context.Context, autoCertificateID, location string, autoCertificatePatchData certmanager.AutoCertificatePatch) (certmanager.AutoCertificateRead, *shared.APIResponse, error) {
c.modifyConfigURL(location)
autoCertificate, apiResponse, err := c.sdkClient.AutoCertificateApi.AutoCertificatesPatch(ctx, autoCertificateID).AutoCertificatePatch(autoCertificatePatchData).Execute()
apiResponse.LogInfo()
return autoCertificate, apiResponse, err
}

//nolint:golint
func (c *Client) DeleteAutoCertificate(ctx context.Context, autoCertificateID, location string) (*certmanager.APIResponse, error) {
func (c *Client) DeleteAutoCertificate(ctx context.Context, autoCertificateID, location string) (*shared.APIResponse, error) {
c.modifyConfigURL(location)
apiResponse, err := c.sdkClient.AutoCertificateApi.AutoCertificatesDelete(ctx, autoCertificateID).Execute()
apiResponse.LogInfo()
Expand All @@ -63,13 +64,10 @@ func (c *Client) IsAutoCertificateReady(ctx context.Context, d *schema.ResourceD
if err != nil {
return false, fmt.Errorf("error checking auto-certificate status: %w", err)
}
if autoCertificate.Metadata == nil || autoCertificate.Metadata.State == nil {
return false, fmt.Errorf("metadata or state is empty for auto-certificate with ID: %v", autoCertificateID)
if utils.IsStateFailed(autoCertificate.Metadata.State) {
return false, fmt.Errorf("error while checking if auto-certificate is ready, auto-certificate ID: %v, state: %v", autoCertificateID, autoCertificate.Metadata.State)
}
if utils.IsStateFailed(*autoCertificate.Metadata.State) {
return false, fmt.Errorf("error while checking if auto-certificate is ready, auto-certificate ID: %v, state: %v", autoCertificateID, *autoCertificate.Metadata.State)
}
return strings.EqualFold(*autoCertificate.Metadata.State, constant.Available), nil
return strings.EqualFold(autoCertificate.Metadata.State, constant.Available), nil
}

//nolint:golint
Expand All @@ -83,91 +81,77 @@ func (c *Client) IsAutoCertificateDeleted(ctx context.Context, d *schema.Resourc
}
return false, fmt.Errorf("error while checking deletion status for auto-certificate with ID: %v, error: %w", d.Id(), err)
}
if autoCertificate.Metadata != nil && autoCertificate.Metadata.State != nil && utils.IsStateFailed(*autoCertificate.Metadata.State) {
return false, fmt.Errorf("error while checking if auto-certificate is deleted properly, auto-certificate ID: %v, state: %v", autoCertificateID, *autoCertificate.Metadata.State)
if utils.IsStateFailed(autoCertificate.Metadata.State) {
return false, fmt.Errorf("error while checking if auto-certificate is deleted properly, auto-certificate ID: %v, state: %v", autoCertificateID, autoCertificate.Metadata.State)
}
return false, nil
}

//nolint:golint
func GetAutoCertificateDataCreate(d *schema.ResourceData) *certmanager.AutoCertificateCreate {
autoCertificate := certmanager.AutoCertificateCreate{
Properties: &certmanager.AutoCertificate{},
Properties: certmanager.AutoCertificate{},
}

providerID := d.Get("provider_id").(string)
autoCertificate.Properties.Provider = &providerID
autoCertificate.Properties.Provider = providerID
commonName := d.Get("common_name").(string)
autoCertificate.Properties.CommonName = &commonName
autoCertificate.Properties.CommonName = commonName
name := d.Get("name").(string)
autoCertificate.Properties.Name = &name
autoCertificate.Properties.Name = name
keyAlgorithm := d.Get("key_algorithm").(string)
autoCertificate.Properties.KeyAlgorithm = &keyAlgorithm
autoCertificate.Properties.KeyAlgorithm = keyAlgorithm
if subjectAlternativeNames, subjectAlternativeNamesOk := d.GetOk("subject_alternative_names"); subjectAlternativeNamesOk {
subjectAlternativeNames := subjectAlternativeNames.([]interface{})
var subjectAlternativeNamesList []string
for _, subjectAlternativeName := range subjectAlternativeNames {
subjectAlternativeName := subjectAlternativeName.(string)
subjectAlternativeNamesList = append(subjectAlternativeNamesList, subjectAlternativeName)
}
autoCertificate.Properties.SubjectAlternativeNames = &subjectAlternativeNamesList
autoCertificate.Properties.SubjectAlternativeNames = subjectAlternativeNamesList
}
return &autoCertificate
}

//nolint:golint
func GetAutoCertificateDataUpdate(d *schema.ResourceData) *certmanager.AutoCertificatePatch {
autoCertificate := certmanager.AutoCertificatePatch{
Properties: &certmanager.PatchName{},
Properties: certmanager.PatchName{},
}
if d.HasChange("name") {
_, newValue := d.GetChange("name")
newValueStr := newValue.(string)
autoCertificate.Properties.Name = &newValueStr
autoCertificate.Properties.Name = newValueStr
}
return &autoCertificate
}

//nolint:golint
func SetAutoCertificateData(d *schema.ResourceData, autoCertificate certmanager.AutoCertificateRead) error {
resourceName := "Auto-certificate"
if autoCertificate.Id != nil {
d.SetId(*autoCertificate.Id)
}
if autoCertificate.Metadata == nil || autoCertificate.Properties == nil {
return fmt.Errorf("response properties/metadata should not be empty for auto-certificate with ID: %v", *autoCertificate.Id)
}
d.SetId(autoCertificate.Id)

if autoCertificate.Metadata.LastIssuedCertificate != nil {
if err := d.Set("last_issued_certificate_id", *autoCertificate.Metadata.LastIssuedCertificate); err != nil {
return utils.GenerateSetError(resourceName, "last_issued_certificate_id", err)
}
}
if autoCertificate.Properties.Provider != nil {
if err := d.Set("provider_id", *autoCertificate.Properties.Provider); err != nil {
return utils.GenerateSetError(resourceName, "provider_id", err)
}
if err := d.Set("provider_id", autoCertificate.Properties.Provider); err != nil {
return utils.GenerateSetError(resourceName, "provider_id", err)
}
if autoCertificate.Properties.CommonName != nil {
if err := d.Set("common_name", *autoCertificate.Properties.CommonName); err != nil {
return utils.GenerateSetError(resourceName, "common_name", err)
}
if err := d.Set("common_name", autoCertificate.Properties.CommonName); err != nil {
return utils.GenerateSetError(resourceName, "common_name", err)
}
if autoCertificate.Properties.KeyAlgorithm != nil {
if err := d.Set("key_algorithm", *autoCertificate.Properties.KeyAlgorithm); err != nil {
return utils.GenerateSetError(resourceName, "key_algorithm", err)
}
if err := d.Set("key_algorithm", autoCertificate.Properties.KeyAlgorithm); err != nil {
return utils.GenerateSetError(resourceName, "key_algorithm", err)
}
if autoCertificate.Properties.Name != nil {
if err := d.Set("name", *autoCertificate.Properties.Name); err != nil {
return utils.GenerateSetError(resourceName, "name", err)
}
if err := d.Set("name", autoCertificate.Properties.Name); err != nil {
return utils.GenerateSetError(resourceName, "name", err)
}
if autoCertificate.Properties.SubjectAlternativeNames != nil {
subjectAlternativeNames := []string{}
subjectAlternativeNames = append(subjectAlternativeNames, *autoCertificate.Properties.SubjectAlternativeNames...)
if err := d.Set("subject_alternative_names", subjectAlternativeNames); err != nil {
return utils.GenerateSetError(resourceName, "subject_alternative_names", err)
}
subjectAlternativeNames := []string{}
subjectAlternativeNames = append(subjectAlternativeNames, autoCertificate.Properties.SubjectAlternativeNames...)
if err := d.Set("subject_alternative_names", subjectAlternativeNames); err != nil {
return utils.GenerateSetError(resourceName, "subject_alternative_names", err)
}
return nil
}
Loading
Loading