ByCloud Docs
GuidesCLIAPISDK

Go SDK

DNS

DNS zones and recordsets

10 methods

GET

ListZones()

List zones

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 status

type

string

- Filter by zone type

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

CreateZone()

Create zone

Parameters

name

string

required

- Zone name (must end with a dot)

description

string

email

string

required
ttl

integer

type

string

masters

array

- Master nameservers (required for SECONDARY zones)

attributes

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.Dns.CreateZone(ctx, &bycloud.CreateZoneParams{
Name: "example.com.",
Email: "admin@example.com",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
GET

GetZone()

Get zone

Parameters

zone_id

string

required

- DNS Zone 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.Dns.GetZone(ctx, &bycloud.GetZoneParams{
Zone_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
PATCH

UpdateZone()

Update zone

Parameters

zone_id

string

required

- DNS Zone ID

description

string

email

string

ttl

integer

masters

array

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

DeleteZone()

Delete zone

Parameters

zone_id

string

required

- DNS Zone 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.Dns.DeleteZone(ctx, &bycloud.DeleteZoneParams{
Zone_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
GET

ListRecordsets()

List recordsets

Parameters

zone_id

string

required

- DNS Zone ID

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 status

type

string

- Filter by record type

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

CreateRecordset()

Create recordset

Parameters

zone_id

string

required

- DNS Zone ID

name

string

required

- Record name (FQDN, must end with a dot)

description

string

type

string

required
ttl

integer

records

array

required

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.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)
}
GET

GetRecordset()

Get recordset

Parameters

zone_id

string

required

- DNS Zone ID

recordset_id

string

required

- DNS Recordset 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.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)
}
PATCH

UpdateRecordset()

Update recordset

Parameters

zone_id

string

required

- DNS Zone ID

recordset_id

string

required

- DNS Recordset ID

description

string

ttl

integer

records

array

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.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)
}
DELETE

DeleteRecordset()

Delete recordset

Parameters

zone_id

string

required

- DNS Zone ID

recordset_id

string

required

- DNS Recordset 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.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)
}