package main import ( "context" "encoding/base64" "strings" "certmanager/pkg/client" cmapi "certmanager/pkg/cmctl" ) func (util *Util) CreateServicePair(ctx context.Context) (*cmapi.CreateServicePairResult, error) { var err error res := &cmapi.CreateServicePairResult{} cli, err := client.NewClient(&util.access) if err != nil { return res, err } inetAddresses := strings.Split(util.ipAdressesList, ",") hostnames := strings.Split(util.hostnameList, ",") params := &cmapi.CreateServicePairParams{ IssuerName: util.issuerName, IssuerID: util.issuerID, ServiceCommonName: util.serviceCommonName, InetAddresses: inetAddresses, Hostnames: hostnames, } res, err = cli.CreateServicePair(ctx, params) if err != nil { return res, err } certPEM, err := base64.StdEncoding.DecodeString(res.Certificate) if err != nil { return res, err } res.Certificate = string(certPEM) keyPEM, err := base64.StdEncoding.DecodeString(res.Key) if err != nil { return res, err } res.Key = string(keyPEM) caPEM, err := base64.StdEncoding.DecodeString(res.IssuerCertificate) if err != nil { return res, err } res.IssuerCertificate = string(caPEM) return res, err } func (util *Util) RevokeServicePair(ctx context.Context) (*cmapi.RevokeServicePairResult, error) { var err error res := &cmapi.RevokeServicePairResult{} cli, err := client.NewClient(&util.access) if err != nil { return res, err } params := &cmapi.RevokeServicePairParams{ ServiceName: util.serviceName, ServiceID: util.serviceID, } res, err = cli.RevokeServicePair(ctx, params) if err != nil { return res, err } return res, err } func (util *Util) UnrevokeServicePair(ctx context.Context) (*cmapi.UnrevokeServicePairResult, error) { var err error res := &cmapi.UnrevokeServicePairResult{} cli, err := client.NewClient(&util.access) if err != nil { return res, err } params := &cmapi.UnrevokeServicePairParams{ ServiceName: util.serviceName, ServiceID: util.serviceID, } res, err = cli.UnrevokeServicePair(ctx, params) if err != nil { return res, err } return res, err } func (util *Util) ListServicePairs(ctx context.Context) (*cmapi.ListServicePairsResult, error) { var err error res := &cmapi.ListServicePairsResult{} cli, err := client.NewClient(&util.access) if err != nil { return res, err } params := &cmapi.ListServicePairsParams{} res, err = cli.ListServicePairs(ctx, params) if err != nil { return res, err } return res, err } func (util *Util) GetServicePair(ctx context.Context) (*cmapi.GetServicePairResult, error) { var err error res := &cmapi.GetServicePairResult{} cli, err := client.NewClient(&util.access) if err != nil { return res, err } params := &cmapi.GetServicePairParams{ ServiceID: util.serviceID, ServiceName: util.serviceName, } res, err = cli.GetServicePair(ctx, params) if err != nil { return res, err } certPEM, err := base64.StdEncoding.DecodeString(res.Certificate) if err != nil { return res, err } res.Certificate = string(certPEM) keyPEM, err := base64.StdEncoding.DecodeString(res.Key) if err != nil { return res, err } res.Key = string(keyPEM) caPEM, err := base64.StdEncoding.DecodeString(res.IssuerCertificate) if err != nil { return res, err } res.IssuerCertificate = string(caPEM) return res, err }