ByCloud Docs
GuidesCLIAPISDK

Go SDK

Certificates

TLS certificate management with automatic ACME issuance and load balancer integration

11 methods

GET

ListCertificates()

List certificates

Parameters

limit

integer

- Maximum number of items to return

marker

string

- ID of the last item from the previous page (for pagination)

status

string

- Filter by certificate status

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Certificates.ListCertificates(ctx)
if err != nil {
panic(err)
}
fmt.Println(result)
}
POST

CreateCertificate()

Create certificate

Parameters

name

string

required

- Name of the certificate

type

string

required
domains

array

- List of domains for ACME certificate (supports multi-domain and wildcard certs)

certificate

string

- PEM-encoded certificate (required when type is 'uploaded')

private_key

string

- PEM-encoded private key (required when type is 'uploaded')

chain

string

- PEM-encoded certificate chain (optional for uploaded certificates)

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Certificates.CreateCertificate(ctx, &bycloud.CreateCertificateParams{
Name: "my-certificate",
Type: "acme",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
GET

GetCertificate()

Get certificate

Parameters

certificate_id

string

required

- Certificate ID

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Certificates.GetCertificate(ctx, &bycloud.GetCertificateParams{
Certificate_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
DELETE

DeleteCertificate()

Delete certificate

Parameters

certificate_id

string

required

- Certificate ID

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Certificates.DeleteCertificate(ctx, &bycloud.DeleteCertificateParams{
Certificate_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
GET

ListBindings()

List certificate bindings

Parameters

certificate_id

string

required

- Certificate ID

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Certificates.ListBindings(ctx, &bycloud.ListBindingsParams{
Certificate_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
POST

CreateBinding()

Create certificate binding

Parameters

certificate_id

string

required

- Certificate ID

resource_type

string

required

- The type of resource to bind the certificate to

resource_id

string

required

- The ID of the resource to bind to

options

object

- Binding options

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Certificates.CreateBinding(ctx, &bycloud.CreateBindingParams{
Certificate_id: "550e8400-e29b-41d4-a716-446655440000",
Resource_type: "octavia:listener",
Resource_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
GET

GetBinding()

Get certificate binding

Parameters

certificate_id

string

required

- Certificate ID

binding_id

string

required

- Certificate Binding ID

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Certificates.GetBinding(ctx, &bycloud.GetBindingParams{
Certificate_id: "550e8400-e29b-41d4-a716-446655440000",
Binding_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
DELETE

DeleteBinding()

Delete certificate binding

Parameters

certificate_id

string

required

- Certificate ID

binding_id

string

required

- Certificate Binding ID

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Certificates.DeleteBinding(ctx, &bycloud.DeleteBindingParams{
Certificate_id: "550e8400-e29b-41d4-a716-446655440000",
Binding_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
POST

RenewCertificate()

Renew certificate

Parameters

certificate_id

string

required

- Certificate ID

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Certificates.RenewCertificate(ctx, &bycloud.RenewCertificateParams{
Certificate_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
POST

ValidateCertificate()

Validate certificate DNS

Parameters

certificate_id

string

required

- Certificate ID

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Certificates.ValidateCertificate(ctx, &bycloud.ValidateCertificateParams{
Certificate_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
GET

ListListenerCertificates()

List listener certificates

Parameters

load_balancer_id

string

required

- Load Balancer ID

listener_id

string

required

- Listener ID

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Certificates.ListListenerCertificates(ctx, &bycloud.ListListenerCertificatesParams{
Load_balancer_id: "550e8400-e29b-41d4-a716-446655440000",
Listener_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}