terraform/vendor/github.com/Ensighten/udnssdk/readme.md

82 lines
1.8 KiB
Markdown

# 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/Ensighten/udnssdk)
## Example
```go
package main
import (
"fmt"
"log"
"github.com/Ensighten/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)