Vendor main dependencies.
This commit is contained in:
parent
49a09ab7dd
commit
dd5e3fba01
2738 changed files with 1045689 additions and 0 deletions
119
vendor/github.com/JamesClonk/vultr/lib/dns.go
generated
vendored
Normal file
119
vendor/github.com/JamesClonk/vultr/lib/dns.go
generated
vendored
Normal file
|
@ -0,0 +1,119 @@
|
|||
package lib
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net/url"
|
||||
)
|
||||
|
||||
// DNSDomain represents a DNS domain on Vultr
|
||||
type DNSDomain struct {
|
||||
Domain string `json:"domain"`
|
||||
Created string `json:"date_created"`
|
||||
}
|
||||
|
||||
// DNSRecord represents a DNS record on Vultr
|
||||
type DNSRecord struct {
|
||||
RecordID int `json:"RECORDID"`
|
||||
Type string `json:"type"`
|
||||
Name string `json:"name"`
|
||||
Data string `json:"data"`
|
||||
Priority int `json:"priority"`
|
||||
TTL int `json:"ttl"`
|
||||
}
|
||||
|
||||
// GetDNSDomains returns a list of available domains on Vultr account
|
||||
func (c *Client) GetDNSDomains() (dnsdomains []DNSDomain, err error) {
|
||||
if err := c.get(`dns/list`, &dnsdomains); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return dnsdomains, nil
|
||||
}
|
||||
|
||||
// GetDNSRecords returns a list of all DNS records of a particular domain
|
||||
func (c *Client) GetDNSRecords(domain string) (dnsrecords []DNSRecord, err error) {
|
||||
if err := c.get(`dns/records?domain=`+domain, &dnsrecords); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return dnsrecords, nil
|
||||
}
|
||||
|
||||
// CreateDNSDomain creates a new DNS domain name on Vultr
|
||||
func (c *Client) CreateDNSDomain(domain, serverIP string) error {
|
||||
values := url.Values{
|
||||
"domain": {domain},
|
||||
"serverIP": {serverIP},
|
||||
}
|
||||
|
||||
if err := c.post(`dns/create_domain`, values, nil); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// DeleteDNSDomain deletes an existing DNS domain name
|
||||
func (c *Client) DeleteDNSDomain(domain string) error {
|
||||
values := url.Values{
|
||||
"domain": {domain},
|
||||
}
|
||||
|
||||
if err := c.post(`dns/delete_domain`, values, nil); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// CreateDNSRecord creates a new DNS record
|
||||
func (c *Client) CreateDNSRecord(domain, name, rtype, data string, priority, ttl int) error {
|
||||
values := url.Values{
|
||||
"domain": {domain},
|
||||
"name": {name},
|
||||
"type": {rtype},
|
||||
"data": {data},
|
||||
"priority": {fmt.Sprintf("%v", priority)},
|
||||
"ttl": {fmt.Sprintf("%v", ttl)},
|
||||
}
|
||||
|
||||
if err := c.post(`dns/create_record`, values, nil); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// UpdateDNSRecord updates an existing DNS record
|
||||
func (c *Client) UpdateDNSRecord(domain string, dnsrecord DNSRecord) error {
|
||||
values := url.Values{
|
||||
"domain": {domain},
|
||||
"RECORDID": {fmt.Sprintf("%v", dnsrecord.RecordID)},
|
||||
}
|
||||
|
||||
if dnsrecord.Name != "" {
|
||||
values.Add("name", dnsrecord.Name)
|
||||
}
|
||||
if dnsrecord.Data != "" {
|
||||
values.Add("data", dnsrecord.Data)
|
||||
}
|
||||
if dnsrecord.Priority != 0 {
|
||||
values.Add("priority", fmt.Sprintf("%v", dnsrecord.Priority))
|
||||
}
|
||||
if dnsrecord.TTL != 0 {
|
||||
values.Add("ttl", fmt.Sprintf("%v", dnsrecord.TTL))
|
||||
}
|
||||
|
||||
if err := c.post(`dns/update_record`, values, nil); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// DeleteDNSRecord deletes an existing DNS record
|
||||
func (c *Client) DeleteDNSRecord(domain string, recordID int) error {
|
||||
values := url.Values{
|
||||
"domain": {domain},
|
||||
"RECORDID": {fmt.Sprintf("%v", recordID)},
|
||||
}
|
||||
|
||||
if err := c.post(`dns/delete_record`, values, nil); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue