mirror of
https://github.com/hanzokms/terraform-provider.git
synced 2026-10-30 20:29:45 +00:00
73 lines
2.3 KiB
Go
73 lines
2.3 KiB
Go
package kmsclient
|
|
|
|
import (
|
|
"fmt"
|
|
"github.com/hanzokms/terraform-provider/internal/errors"
|
|
)
|
|
|
|
const (
|
|
operationGenerateCACertificate = "CallGenerateCACertificate"
|
|
operationGetCACertificate = "CallGetCACertificate"
|
|
)
|
|
|
|
func (client Client) GenerateCACertificate(request GenerateCACertificateRequest) (GenerateCACertificateResponse, error) {
|
|
var certResponse GenerateCACertificateResponse
|
|
response, err := client.Config.HttpClient.
|
|
R().
|
|
SetResult(&certResponse).
|
|
SetHeader("User-Agent", USER_AGENT).
|
|
SetBody(request).
|
|
Post(fmt.Sprintf("api/v1/cert-manager/ca/internal/%s/certificate", request.CaId))
|
|
|
|
if err != nil {
|
|
return GenerateCACertificateResponse{}, errors.NewGenericRequestError(operationGenerateCACertificate, err)
|
|
}
|
|
|
|
if response.IsError() {
|
|
return GenerateCACertificateResponse{}, errors.NewAPIErrorWithResponse(operationGenerateCACertificate, response, nil)
|
|
}
|
|
|
|
return certResponse, nil
|
|
}
|
|
|
|
func (client Client) GetCACertificate(request GetCACertificateRequest) (GetCACertificateResponse, error) {
|
|
var certResponse GetCACertificateResponse
|
|
response, err := client.Config.HttpClient.
|
|
R().
|
|
SetResult(&certResponse).
|
|
SetHeader("User-Agent", USER_AGENT).
|
|
Get(fmt.Sprintf("api/v1/cert-manager/ca/internal/%s/certificate", request.CaId))
|
|
|
|
if err != nil {
|
|
return GetCACertificateResponse{}, errors.NewGenericRequestError(operationGetCACertificate, err)
|
|
}
|
|
|
|
if response.IsError() {
|
|
return GetCACertificateResponse{}, errors.NewAPIErrorWithResponse(operationGetCACertificate, response, nil)
|
|
}
|
|
|
|
return certResponse, nil
|
|
}
|
|
|
|
func (client Client) GetSpecificCACertificate(request GetSpecificCACertificateRequest) (GetSpecificCACertificateResponse, error) {
|
|
var certResponse GetSpecificCACertificateResponse
|
|
response, err := client.Config.HttpClient.
|
|
R().
|
|
SetResult(&certResponse).
|
|
SetHeader("User-Agent", USER_AGENT).
|
|
Get(fmt.Sprintf("api/v1/cert-manager/ca/internal/%s/certificate/%s", request.CaId, request.CertId))
|
|
|
|
if err != nil {
|
|
return GetSpecificCACertificateResponse{}, errors.NewGenericRequestError(operationGetCACertificate, err)
|
|
}
|
|
|
|
if response.IsError() {
|
|
if response.StatusCode() == 404 || response.StatusCode() == 422 {
|
|
return GetSpecificCACertificateResponse{}, ErrNotFound
|
|
}
|
|
return GetSpecificCACertificateResponse{}, errors.NewAPIErrorWithResponse(operationGetCACertificate, response, nil)
|
|
}
|
|
|
|
return certResponse, nil
|
|
}
|