Go SDK
Networking
Networks, subnets, routers, floating IPs, and security groups
36 methods
ListFloatingIPs()
List floating IPs
Parameters
limitinteger
- Maximum number of items to return
markerstring
- ID of the last item from the previous page (for pagination)
statusstring
- Filter by status
tagsstring
- Filter by tags (comma-separated)
floating_network_idstring
- Filter by floating network ID
floating_ip_addressstring
- Filter by floating IP address
port_idstring
- Filter by associated port 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.Networking.ListFloatingIPs(ctx)if err != nil {panic(err)}fmt.Println(result)}
CreateFloatingIP()
Create floating IP
Parameters
floating_network_idstring
required- External network to allocate from
descriptionstring
floating_ip_addressstring
- Specific IP to allocate (if available)
subnet_idstring
- Subnet to allocate from
port_idstring
- Port to associate with
fixed_ip_addressstring
- Fixed IP to associate with (if port has multiple IPs)
dns_domainstring
dns_namestring
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.Networking.CreateFloatingIP(ctx, &bycloud.CreateFloatingIPParams{Floating_network_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
GetFloatingIP()
Get floating IP
Parameters
floating_ip_idstring
required- Floating IP 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.Networking.GetFloatingIP(ctx, &bycloud.GetFloatingIPParams{Floating_ip_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
UpdateFloatingIP()
Update floating IP
Parameters
floating_ip_idstring
required- Floating IP ID
descriptionstring
port_idstring
- Port to associate (null to disassociate)
fixed_ip_addressstring
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.Networking.UpdateFloatingIP(ctx, &bycloud.UpdateFloatingIPParams{Floating_ip_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
DeleteFloatingIP()
Delete floating IP
Parameters
floating_ip_idstring
required- Floating IP 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.Networking.DeleteFloatingIP(ctx, &bycloud.DeleteFloatingIPParams{Floating_ip_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
ListNetworks()
List networks
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)
sharedboolean
- Filter by shared status
externalboolean
- Filter by external network status
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.Networking.ListNetworks(ctx)if err != nil {panic(err)}fmt.Println(result)}
CreateNetwork()
Create network
Parameters
namestring
requireddescriptionstring
mtuinteger
port_security_enabledboolean
dns_domainstring
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.Networking.CreateNetwork(ctx, &bycloud.CreateNetworkParams{Name: "private-network",})if err != nil {panic(err)}fmt.Println(result)}
GetNetwork()
Get network
Parameters
network_idstring
required- Network 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.Networking.GetNetwork(ctx, &bycloud.GetNetworkParams{Network_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
UpdateNetwork()
Update network
Parameters
network_idstring
required- Network ID
namestring
descriptionstring
mtuinteger
port_security_enabledboolean
dns_domainstring
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.Networking.UpdateNetwork(ctx, &bycloud.UpdateNetworkParams{Network_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
DeleteNetwork()
Delete network
Parameters
network_idstring
required- Network 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.Networking.DeleteNetwork(ctx, &bycloud.DeleteNetworkParams{Network_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
ListPorts()
List ports
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)
network_idstring
- Filter by network ID
device_idstring
- Filter by device ID (instance, router, etc.)
device_ownerstring
- Filter by device owner
mac_addressstring
- Filter by MAC address
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.Networking.ListPorts(ctx)if err != nil {panic(err)}fmt.Println(result)}
CreatePort()
Create port
Parameters
namestring
descriptionstring
network_idstring
requiredmac_addressstring
- MAC address (auto-generated if omitted)
fixed_ipsarray
security_groupsarray
port_security_enabledboolean
allowed_address_pairsarray
dns_namestring
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.Networking.CreatePort(ctx, &bycloud.CreatePortParams{Network_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
GetPort()
Get port
Parameters
port_idstring
required- Port 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.Networking.GetPort(ctx, &bycloud.GetPortParams{Port_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
UpdatePort()
Update port
Parameters
port_idstring
required- Port ID
namestring
descriptionstring
fixed_ipsarray
security_groupsarray
port_security_enabledboolean
allowed_address_pairsarray
dns_namestring
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.Networking.UpdatePort(ctx, &bycloud.UpdatePortParams{Port_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
DeletePort()
Delete port
Parameters
port_idstring
required- Port 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.Networking.DeletePort(ctx, &bycloud.DeletePortParams{Port_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
ListRouters()
List routers
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)
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.Networking.ListRouters(ctx)if err != nil {panic(err)}fmt.Println(result)}
CreateRouter()
Create router
Parameters
namestring
requireddescriptionstring
external_gateway_infoobject
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.Networking.CreateRouter(ctx, &bycloud.CreateRouterParams{Name: "main-router",})if err != nil {panic(err)}fmt.Println(result)}
GetRouter()
Get router
Parameters
router_idstring
required- Router 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.Networking.GetRouter(ctx, &bycloud.GetRouterParams{Router_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
UpdateRouter()
Update router
Parameters
router_idstring
required- Router ID
namestring
descriptionstring
external_gateway_infoobject
routesarray
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.Networking.UpdateRouter(ctx, &bycloud.UpdateRouterParams{Router_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
DeleteRouter()
Delete router
Parameters
router_idstring
required- Router 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.Networking.DeleteRouter(ctx, &bycloud.DeleteRouterParams{Router_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
AddRouterInterface()
Add router interface
Parameters
router_idstring
required- Router ID
subnet_idstring
- Subnet to connect (mutually exclusive with port_id)
port_idstring
- Port to connect (mutually exclusive with subnet_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.Networking.AddRouterInterface(ctx, &bycloud.AddRouterInterfaceParams{Router_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
RemoveRouterInterface()
Remove router interface
Parameters
router_idstring
required- Router ID
subnet_idstring
port_idstring
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.Networking.RemoveRouterInterface(ctx, &bycloud.RemoveRouterInterfaceParams{Router_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
ListSecurityGroupRules()
List security group rules
Parameters
limitinteger
- Maximum number of items to return
markerstring
- ID of the last item from the previous page (for pagination)
security_group_idstring
- Filter by security group ID
directionstring
- Filter by direction
protocolstring
- Filter by protocol
ethertypestring
- Filter by ethertype
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.Networking.ListSecurityGroupRules(ctx)if err != nil {panic(err)}fmt.Println(result)}
CreateSecurityGroupRule()
Create security group rule
Parameters
security_group_idstring
requireddirectionstring
requiredethertypestring
protocolstring
port_range_mininteger
port_range_maxinteger
remote_ip_prefixstring
remote_group_idstring
descriptionstring
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.Networking.CreateSecurityGroupRule(ctx, &bycloud.CreateSecurityGroupRuleParams{Security_group_id: "550e8400-e29b-41d4-a716-446655440000",Direction: "ingress",})if err != nil {panic(err)}fmt.Println(result)}
GetSecurityGroupRule()
Get security group rule
Parameters
security_group_rule_idstring
required- Security Group Rule 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.Networking.GetSecurityGroupRule(ctx, &bycloud.GetSecurityGroupRuleParams{Security_group_rule_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
DeleteSecurityGroupRule()
Delete security group rule
Parameters
security_group_rule_idstring
required- Security Group Rule 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.Networking.DeleteSecurityGroupRule(ctx, &bycloud.DeleteSecurityGroupRuleParams{Security_group_rule_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
ListSecurityGroups()
List security groups
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 *)
tagsstring
- Filter by tags (comma-separated)
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.Networking.ListSecurityGroups(ctx)if err != nil {panic(err)}fmt.Println(result)}
CreateSecurityGroup()
Create security group
Parameters
namestring
requireddescriptionstring
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.Networking.CreateSecurityGroup(ctx, &bycloud.CreateSecurityGroupParams{Name: "web-servers",})if err != nil {panic(err)}fmt.Println(result)}
GetSecurityGroup()
Get security group
Parameters
security_group_idstring
required- Security Group 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.Networking.GetSecurityGroup(ctx, &bycloud.GetSecurityGroupParams{Security_group_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
UpdateSecurityGroup()
Update security group
Parameters
security_group_idstring
required- Security Group ID
namestring
descriptionstring
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.Networking.UpdateSecurityGroup(ctx, &bycloud.UpdateSecurityGroupParams{Security_group_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
DeleteSecurityGroup()
Delete security group
Parameters
security_group_idstring
required- Security Group 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.Networking.DeleteSecurityGroup(ctx, &bycloud.DeleteSecurityGroupParams{Security_group_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
ListSubnets()
List subnets
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 *)
tagsstring
- Filter by tags (comma-separated)
network_idstring
- Filter by network ID
ip_versioninteger
- Filter by IP version
cidrstring
- Filter by CIDR
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.Networking.ListSubnets(ctx)if err != nil {panic(err)}fmt.Println(result)}
CreateSubnet()
Create subnet
Parameters
namestring
descriptionstring
network_idstring
requiredip_versioninteger
requiredcidrstring
requiredgateway_ipstring
- Gateway IP (auto-assigned if omitted, null to disable)
dns_nameserversarray
allocation_poolsarray
host_routesarray
enable_dhcpboolean
ipv6_ra_modestring
ipv6_address_modestring
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.Networking.CreateSubnet(ctx, &bycloud.CreateSubnetParams{Network_id: "550e8400-e29b-41d4-a716-446655440000",Ip_version: 4,Cidr: "192.168.1.0/24",})if err != nil {panic(err)}fmt.Println(result)}
GetSubnet()
Get subnet
Parameters
subnet_idstring
required- Subnet 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.Networking.GetSubnet(ctx, &bycloud.GetSubnetParams{Subnet_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
UpdateSubnet()
Update subnet
Parameters
subnet_idstring
required- Subnet ID
namestring
descriptionstring
gateway_ipstring
dns_nameserversarray
allocation_poolsarray
host_routesarray
enable_dhcpboolean
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.Networking.UpdateSubnet(ctx, &bycloud.UpdateSubnetParams{Subnet_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
DeleteSubnet()
Delete subnet
Parameters
subnet_idstring
required- Subnet 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.Networking.DeleteSubnet(ctx, &bycloud.DeleteSubnetParams{Subnet_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}