Skip to content

Commit

Permalink
switch r/certificate to new API
Browse files Browse the repository at this point in the history
Signed-off-by: Stoyan Zhelyazkov <[email protected]>
  • Loading branch information
spacegospod committed Jul 30, 2024
1 parent 3714a24 commit 8d0591a
Showing 1 changed file with 13 additions and 20 deletions.
33 changes: 13 additions & 20 deletions internal/provider/resource_certificate.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,7 @@ import (
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation"
"github.com/vmware/terraform-provider-vcf/internal/api_client"
"github.com/vmware/terraform-provider-vcf/internal/certificates"
"github.com/vmware/terraform-provider-vcf/internal/constants"
"github.com/vmware/terraform-provider-vcf/internal/resource_utils"
certificatesSdk "github.com/vmware/vcf-sdk-go/client/certificates"
"github.com/vmware/vcf-sdk-go/models"
"github.com/vmware/vcf-sdk-go/vcf"
"strings"
"time"
)
Expand Down Expand Up @@ -56,7 +53,7 @@ func ResourceCertificate() *schema.Resource {

func resourceResourceCertificateCreate(ctx context.Context, data *schema.ResourceData, meta interface{}) diag.Diagnostics {
vcfClient := meta.(*api_client.SddcManagerClient)
apiClient := vcfClient.ApiClient
apiClient := vcfClient.ApiClientEx

csrID := data.Get("csr_id").(string)
csrIdComponents := strings.Split(csrID, ":")
Expand All @@ -74,29 +71,25 @@ func resourceResourceCertificateCreate(ctx context.Context, data *schema.Resourc
return diag.FromErr(err)
}

certificateOperationSpec := &models.CertificateOperationSpec{
OperationType: resource_utils.ToStringPointer("INSTALL"),
Resources: []*models.Resource{{
Fqdn: resourceFqdn,
Type: &resourceType,
certificateOperationSpec := vcf.CertificateOperationSpec{
OperationType: "INSTALL",
Resources: &[]vcf.Resource{{
Fqdn: &resourceFqdn,
Type: resourceType,
}},
}
replaceCertificatesParams := certificatesSdk.NewReplaceCertificatesParamsWithContext(ctx).
WithTimeout(constants.DefaultVcfApiCallTimeout).
WithID(domainID)
replaceCertificatesParams.SetCertificateOperationSpec(certificateOperationSpec)

var taskId string
responseOk, responseAccepted, err := apiClient.Certificates.ReplaceCertificates(replaceCertificatesParams)
res, err := apiClient.ReplaceCertificatesWithResponse(ctx, domainID, certificateOperationSpec)
if err != nil {
return diag.FromErr(err)
}
if responseOk != nil {
taskId = responseOk.Payload.ID
}
if responseAccepted != nil {
taskId = responseAccepted.Payload.ID
if res.StatusCode() != 202 {
vcfError := api_client.GetError(res.Body)
return diag.FromErr(fmt.Errorf(*vcfError.Message))
}

taskId = *res.JSON202.Id
err = vcfClient.WaitForTaskComplete(ctx, taskId, true)
if err != nil {
return diag.FromErr(err)
Expand Down

0 comments on commit 8d0591a

Please sign in to comment.