https://github.com/terra-farm/udnssdk
A ultradns SDK for golang
https://github.com/terra-farm/udnssdk
golang ultradns
Last synced: about 2 months ago
JSON representation
A ultradns SDK for golang
- Host: GitHub
- URL: https://github.com/terra-farm/udnssdk
- Owner: terra-farm
- License: mit
- Created: 2015-07-09T17:18:51.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2020-10-20T06:08:08.000Z (almost 5 years ago)
- Last Synced: 2025-08-18T13:04:08.738Z (about 2 months ago)
- Topics: golang, ultradns
- Language: Go
- Homepage:
- Size: 1.96 MB
- Stars: 8
- Watchers: 6
- Forks: 11
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# udnssdk - An UltraDNS SDK for Go
This is a golang SDK for the UltraDNS REST API. It's not feature complete, and currently is only known to be used for Terraform's `ultradns` provider.
Full API docs are available at [godoc](https://godoc.org/github.com/terra-farm/udnssdk)
## Example
```go
package mainimport (
"fmt"
"log""github.com/terra-farm/udnssdk"
)func main() {
client := udnssdk.NewClient("username", "password", udnssdk.DefaultTestBaseURL)
if client == nil {
log.Fatalf("Failed to create client")
}fmt.Printf("---- Query RRSets\n")
rrsetkey := RRSetKey{
Zone: "domain.com",
Type: "ANY",
Name: "",
}
rrsets, err := client.RRSets.Select(rrsetkey)
if err != nil {
log.Fatalf(err)
}
fmt.Printf("%+v\n", rrsets)fmt.Printf("---- Create RRSet\n")
rrsetkey = RRSetKey{
Zone: "domain.com",
Type: "A",
Name: "test",
}
rrset := udnssdk.RRSet{
OwnerName: r.Name,
RRType: r.Type,
TTL: 300,
RData: []string{"127.0.0.1"},
}
resp, err := client.RRSets.Create(rrsetkey, rrset)
if err != nil {
log.Fatalf(err)
}
fmt.Printf("Response: %+v\n", resp)fmt.Printf("---- Update RRSet\n")
rrset = udnssdk.RRSet{
OwnerName: r.Name,
RRType: r.Type,
TTL: 300,
RData: []string{"127.0.0.2"},
}
resp, err := client.RRSets.Update(rrsetkey, rrset)
if err != nil {
log.Fatalf(err)
}
fmt.Printf("Response: %+v\n", resp)fmt.Printf("---- Delete RRSet\n")
resp, err := client.RRSets.Delete(rrsetkey)
if err != nil {
log.Fatalf(err)
}
fmt.Printf("Response: %+v\n", resp)
}
```## Thanks
* Originally started as a modified version of [weppos/go-dnsimple](https://github.com/weppos/go-dnsimple)
* Designed to add UltraDNS support to [terraform](http://terraform.io)
* And for other languages, be sure to check out [UltraDNS's various SDKs](https://github.com/ultradns)