Go SDK
DNS
DNS zones and recordsets
10 methods
ListZones()
List zones
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
typestring
- Filter by zone 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.Dns.ListZones(ctx)if err != nil {panic(err)}fmt.Println(result)}
CreateZone()
Create zone
Parameters
namestring
required- Zone name (must end with a dot)
descriptionstring
emailstring
requiredttlinteger
typestring
mastersarray
- Master nameservers (required for SECONDARY zones)
attributesobject
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.Dns.CreateZone(ctx, &bycloud.CreateZoneParams{Name: "example.com.",Email: "admin@example.com",})if err != nil {panic(err)}fmt.Println(result)}
GetZone()
Get zone
Parameters
zone_idstring
required- DNS Zone 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.Dns.GetZone(ctx, &bycloud.GetZoneParams{Zone_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
UpdateZone()
Update zone
Parameters
zone_idstring
required- DNS Zone ID
descriptionstring
emailstring
ttlinteger
mastersarray
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.Dns.UpdateZone(ctx, &bycloud.UpdateZoneParams{Zone_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
DeleteZone()
Delete zone
Parameters
zone_idstring
required- DNS Zone 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.Dns.DeleteZone(ctx, &bycloud.DeleteZoneParams{Zone_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
ListRecordsets()
List recordsets
Parameters
zone_idstring
required- DNS Zone ID
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
typestring
- Filter by record 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.Dns.ListRecordsets(ctx, &bycloud.ListRecordsetsParams{Zone_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
CreateRecordset()
Create recordset
Parameters
zone_idstring
required- DNS Zone ID
namestring
required- Record name (FQDN, must end with a dot)
descriptionstring
typestring
requiredttlinteger
recordsarray
requiredExample
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.Dns.CreateRecordset(ctx, &bycloud.CreateRecordsetParams{Zone_id: "550e8400-e29b-41d4-a716-446655440000",Name: "www.example.com.",Type: "A",Records: 192.168.1.10,})if err != nil {panic(err)}fmt.Println(result)}
GetRecordset()
Get recordset
Parameters
zone_idstring
required- DNS Zone ID
recordset_idstring
required- DNS Recordset 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.Dns.GetRecordset(ctx, &bycloud.GetRecordsetParams{Zone_id: "550e8400-e29b-41d4-a716-446655440000",Recordset_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
UpdateRecordset()
Update recordset
Parameters
zone_idstring
required- DNS Zone ID
recordset_idstring
required- DNS Recordset ID
descriptionstring
ttlinteger
recordsarray
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.Dns.UpdateRecordset(ctx, &bycloud.UpdateRecordsetParams{Zone_id: "550e8400-e29b-41d4-a716-446655440000",Recordset_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
DeleteRecordset()
Delete recordset
Parameters
zone_idstring
required- DNS Zone ID
recordset_idstring
required- DNS Recordset 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.Dns.DeleteRecordset(ctx, &bycloud.DeleteRecordsetParams{Zone_id: "550e8400-e29b-41d4-a716-446655440000",Recordset_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}