Go SDK
Compute
Virtual machines, flavors, images, and keypairs
18 methods
ListFlavors()
List flavors
Parameters
limitinteger
- Maximum number of items to return
markerstring
- ID of the last item from the previous page (for pagination)
min_raminteger
- Filter by minimum RAM (MB)
min_diskinteger
- Filter by minimum disk (GB)
min_vcpusinteger
- Filter by minimum vCPUs
Example
package mainimport ("context""fmt""github.com/bycoded/bycloud-go")func main() {client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))ctx := context.Background()result, err := client.Compute.ListFlavors(ctx)if err != nil {panic(err)}fmt.Println(result)}
GetFlavor()
Get flavor
Parameters
flavor_idstring
required- Flavor ID
Example
package mainimport ("context""fmt""github.com/bycoded/bycloud-go")func main() {client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))ctx := context.Background()result, err := client.Compute.GetFlavor(ctx, &bycloud.GetFlavorParams{Flavor_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
ListImages()
List images
Parameters
limitinteger
- Maximum number of items to return
markerstring
- ID of the last item from the previous page (for pagination)
namestring
- Filter by name (exact match or prefix with *)
statusstring
- Filter by status
tagsstring
- Filter by tags (comma-separated)
visibilitystring
- Filter by visibility
os_distrostring
- Filter by OS distribution
os_versionstring
- Filter by OS version
architecturestring
- Filter by architecture
Example
package mainimport ("context""fmt""github.com/bycoded/bycloud-go")func main() {client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))ctx := context.Background()result, err := client.Compute.ListImages(ctx)if err != nil {panic(err)}fmt.Println(result)}
GetImage()
Get image
Parameters
image_idstring
required- Image ID
Example
package mainimport ("context""fmt""github.com/bycoded/bycloud-go")func main() {client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))ctx := context.Background()result, err := client.Compute.GetImage(ctx, &bycloud.GetImageParams{Image_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
ListInstances()
List instances
Parameters
limitinteger
- Maximum number of items to return
markerstring
- ID of the last item from the previous page (for pagination)
namestring
- Filter by name (exact match or prefix with *)
statusstring
- Filter by status
tagsstring
- Filter by tags (comma-separated)
flavor_idstring
- Filter by flavor ID
image_idstring
- Filter by image ID
Example
package mainimport ("context""fmt""github.com/bycoded/bycloud-go")func main() {client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))ctx := context.Background()result, err := client.Compute.ListInstances(ctx)if err != nil {panic(err)}fmt.Println(result)}
CreateInstance()
Create instance
Parameters
namestring
requireddescriptionstring
flavor_idstring
required- Flavor ID
image_idstring
- Image ID (required if not booting from volume)
key_namesarray
- SSH keypair names to authorize on the instance
security_groupsarray
- Security group names or IDs
networksarray
- Networks to attach
assign_public_ipboolean
- Assign a public IP address to the instance
volumesarray
- Volume attachments for boot from volume
metadataobject
tagsarray
user_datastring
- Base64-encoded user data (cloud-init)
Example
package mainimport ("context""fmt""github.com/bycoded/bycloud-go")func main() {client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))ctx := context.Background()result, err := client.Compute.CreateInstance(ctx, &bycloud.CreateInstanceParams{Name: "web-server-01",Flavor_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
GetInstance()
Get instance
Parameters
instance_idstring
required- Instance ID
Example
package mainimport ("context""fmt""github.com/bycoded/bycloud-go")func main() {client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))ctx := context.Background()result, err := client.Compute.GetInstance(ctx, &bycloud.GetInstanceParams{Instance_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
UpdateInstance()
Update instance
Parameters
instance_idstring
required- Instance ID
namestring
descriptionstring
metadataobject
tagsarray
Example
package mainimport ("context""fmt""github.com/bycoded/bycloud-go")func main() {client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))ctx := context.Background()result, err := client.Compute.UpdateInstance(ctx, &bycloud.UpdateInstanceParams{Instance_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
DeleteInstance()
Delete instance
Parameters
instance_idstring
required- Instance ID
Example
package mainimport ("context""fmt""github.com/bycoded/bycloud-go")func main() {client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))ctx := context.Background()result, err := client.Compute.DeleteInstance(ctx, &bycloud.DeleteInstanceParams{Instance_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
GetInstanceConsole()
Get instance console
Parameters
instance_idstring
required- Instance ID
typestring
- Console type
Example
package mainimport ("context""fmt""github.com/bycoded/bycloud-go")func main() {client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))ctx := context.Background()result, err := client.Compute.GetInstanceConsole(ctx, &bycloud.GetInstanceConsoleParams{Instance_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
RebootInstance()
Reboot instance
Parameters
instance_idstring
required- Instance ID
typestring
- Reboot type
Example
package mainimport ("context""fmt""github.com/bycoded/bycloud-go")func main() {client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))ctx := context.Background()result, err := client.Compute.RebootInstance(ctx, &bycloud.RebootInstanceParams{Instance_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
ResizeInstance()
Resize instance
Parameters
instance_idstring
required- Instance ID
flavor_idstring
required- New flavor ID
Example
package mainimport ("context""fmt""github.com/bycoded/bycloud-go")func main() {client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))ctx := context.Background()result, err := client.Compute.ResizeInstance(ctx, &bycloud.ResizeInstanceParams{Instance_id: "550e8400-e29b-41d4-a716-446655440000",Flavor_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
StartInstance()
Start instance
Parameters
instance_idstring
required- Instance ID
Example
package mainimport ("context""fmt""github.com/bycoded/bycloud-go")func main() {client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))ctx := context.Background()result, err := client.Compute.StartInstance(ctx, &bycloud.StartInstanceParams{Instance_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
StopInstance()
Stop instance
Parameters
instance_idstring
required- Instance ID
Example
package mainimport ("context""fmt""github.com/bycoded/bycloud-go")func main() {client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))ctx := context.Background()result, err := client.Compute.StopInstance(ctx, &bycloud.StopInstanceParams{Instance_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
ListKeypairs()
List keypairs
Example
package mainimport ("context""fmt""github.com/bycoded/bycloud-go")func main() {client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))ctx := context.Background()result, err := client.Compute.ListKeypairs(ctx)if err != nil {panic(err)}fmt.Println(result)}
CreateKeypair()
Create keypair
Parameters
namestring
requiredpublic_keystring
- SSH public key (if not provided, a new keypair will be generated)
typestring
Example
package mainimport ("context""fmt""github.com/bycoded/bycloud-go")func main() {client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))ctx := context.Background()result, err := client.Compute.CreateKeypair(ctx, &bycloud.CreateKeypairParams{Name: "my-keypair",})if err != nil {panic(err)}fmt.Println(result)}
GetKeypair()
Get keypair
Parameters
keypair_namestring
required- Keypair name
Example
package mainimport ("context""fmt""github.com/bycoded/bycloud-go")func main() {client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))ctx := context.Background()result, err := client.Compute.GetKeypair(ctx, &bycloud.GetKeypairParams{Keypair_name: "example",})if err != nil {panic(err)}fmt.Println(result)}
DeleteKeypair()
Delete keypair
Parameters
keypair_namestring
required- Keypair name
Example
package mainimport ("context""fmt""github.com/bycoded/bycloud-go")func main() {client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))ctx := context.Background()result, err := client.Compute.DeleteKeypair(ctx, &bycloud.DeleteKeypairParams{Keypair_name: "example",})if err != nil {panic(err)}fmt.Println(result)}