AliDNS for libdns
This package implements the libdns interfaces, allowing you to manage DNS records with the AliDNS API ( which has a nice Go SDK implementation here )
The metadata of AliDNS API here.
The document of request and signing processing are v2 and v3 (I'll upgrade the request and signing processing to v3 later.).
To authenticate you need to supply our AccessKeyId and AccessKeySecret to the Provider.
Here's a minimal example of how to get all your DNS records using this libdns provider
package main
import (
"context"
"fmt"
"github.com/libdns/alidns"
)
func main() {
provider := alidns.Provider{
AccKeyID: "<AccessKeyId form your aliyun console>",
AccKeySecret: "<AccessKeySecret form your aliyun console>",
}
records, err := provider.GetRecords(context.TODO(), "example.com")
if err != nil {
fmt.Println(err.Error())
}
for _, record := range records {
fmt.Printf("%s %v %s %s\n", record.Name, record.TTL.Seconds(), record.Type, record.Value)
}
}For complete demo check _demo/demo.go