ByCloud Docs
GuidesCLIAPISDK

Go SDK

Kubernetes

Kubernetes clusters and templates

12 methods

GET

ListKubernetesClusters()

List Kubernetes clusters

Parameters

limit

integer

- Maximum number of items to return

marker

string

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

name

string

- Filter by name (exact match or prefix with *)

status

string

- Filter by cluster 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.Kubernetes.ListKubernetesClusters(ctx)
if err != nil {
panic(err)
}
fmt.Println(result)
}
POST

CreateKubernetesCluster()

Create Kubernetes cluster

Parameters

name

string

required
cluster_template_id

string

required
keypair

string

- SSH keypair name

docker_volume_size

integer

- Docker volume size in GB

labels

object

master_flavor_id

string

flavor_id

string

master_count

integer

node_count

integer

create_timeout

integer

fixed_network

string

fixed_subnet

string

floating_ip_enabled

boolean

master_lb_enabled

boolean

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.Kubernetes.CreateKubernetesCluster(ctx, &bycloud.CreateKubernetesClusterParams{
Name: "production-cluster",
Cluster_template_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
GET

GetKubernetesCluster()

Get Kubernetes cluster

Parameters

cluster_id

string

required

- Kubernetes Cluster 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.Kubernetes.GetKubernetesCluster(ctx, &bycloud.GetKubernetesClusterParams{
Cluster_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
PATCH

UpdateKubernetesCluster()

Update Kubernetes cluster

Parameters

cluster_id

string

required

- Kubernetes Cluster ID

node_count

integer

- New worker node count (for scaling)

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.Kubernetes.UpdateKubernetesCluster(ctx, &bycloud.UpdateKubernetesClusterParams{
Cluster_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
DELETE

DeleteKubernetesCluster()

Delete Kubernetes cluster

Parameters

cluster_id

string

required

- Kubernetes Cluster 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.Kubernetes.DeleteKubernetesCluster(ctx, &bycloud.DeleteKubernetesClusterParams{
Cluster_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
GET

GetKubernetesClusterKubeconfig()

Get cluster kubeconfig

Parameters

cluster_id

string

required

- Kubernetes Cluster 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.Kubernetes.GetKubernetesClusterKubeconfig(ctx, &bycloud.GetKubernetesClusterKubeconfigParams{
Cluster_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
POST

ResizeKubernetesCluster()

Resize Kubernetes cluster

Parameters

cluster_id

string

required

- Kubernetes Cluster ID

node_count

integer

required

- New worker node count

nodes_to_remove

array

- Specific nodes to remove (by name)

nodegroup

string

- Node group to resize

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.Kubernetes.ResizeKubernetesCluster(ctx, &bycloud.ResizeKubernetesClusterParams{
Cluster_id: "550e8400-e29b-41d4-a716-446655440000",
Node_count: 10,
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
GET

ListKubernetesTemplates()

List cluster templates

Parameters

limit

integer

- Maximum number of items to return

marker

string

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

name

string

- Filter by name (exact match or prefix with *)

coe

string

- Filter by container orchestration engine

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.Kubernetes.ListKubernetesTemplates(ctx)
if err != nil {
panic(err)
}
fmt.Println(result)
}
POST

CreateKubernetesTemplate()

Create cluster template

Parameters

name

string

required
coe

string

required
image_id

string

required
keypair_id

string

external_network_id

string

required
fixed_network

string

fixed_subnet

string

dns_nameserver

string

docker_storage_driver

string

docker_volume_size

integer

volume_driver

string

network_driver

string

http_proxy

string

https_proxy

string

no_proxy

string

labels

object

master_flavor_id

string

flavor_id

string

server_type

string

registry_enabled

boolean

insecure_registry

string

floating_ip_enabled

boolean

master_lb_enabled

boolean

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.Kubernetes.CreateKubernetesTemplate(ctx, &bycloud.CreateKubernetesTemplateParams{
Name: "example-string",
Coe: "kubernetes",
Image_id: "550e8400-e29b-41d4-a716-446655440000",
External_network_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
GET

GetKubernetesTemplate()

Get cluster template

Parameters

cluster_template_id

string

required

- Kubernetes Cluster Template 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.Kubernetes.GetKubernetesTemplate(ctx, &bycloud.GetKubernetesTemplateParams{
Cluster_template_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
PATCH

UpdateKubernetesTemplate()

Update cluster template

Parameters

cluster_template_id

string

required

- Kubernetes Cluster Template ID

name

string

labels

object

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.Kubernetes.UpdateKubernetesTemplate(ctx, &bycloud.UpdateKubernetesTemplateParams{
Cluster_template_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
DELETE

DeleteKubernetesTemplate()

Delete cluster template

Parameters

cluster_template_id

string

required

- Kubernetes Cluster Template 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.Kubernetes.DeleteKubernetesTemplate(ctx, &bycloud.DeleteKubernetesTemplateParams{
Cluster_template_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}