Documentation ¶
Index ¶
- Constants
- type APIError
- type Client
- func (c *Client) AddRecord(ctx context.Context, domainID int, body Record) (*Record, error)
- func (c *Client) DeleteRecord(ctx context.Context, domainID, recordID int) error
- func (c *Client) GetDomainByName(ctx context.Context, domainName string) (*Domain, error)
- func (c *Client) ListRecords(ctx context.Context, domainID int) ([]Record, error)
- type Domain
- type Record
Constants ¶
View Source
const ( DefaultSelectelBaseURL = "https://api.selectel.ru/domains/v1" DefaultVScaleBaseURL = "https://api.vscale.io/v1/domains" )
Base URL for the Selectel/VScale DNS services.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type APIError ¶
type APIError struct { Description string `json:"error"` Code int `json:"code"` Field string `json:"field"` }
APIError API error message.
type Client ¶
type Client struct { BaseURL *url.URL HTTPClient *http.Client // contains filtered or unexported fields }
Client represents DNS client.
func (*Client) DeleteRecord ¶
DeleteRecord deletes specific record.
func (*Client) GetDomainByName ¶
GetDomainByName gets Domain object by its name. If `domainName` level > 2 and there is no such domain on the account - it'll recursively search for the first which is exists in Selectel Domain API.
type Record ¶
type Record struct { ID int `json:"id,omitempty"` Name string `json:"name,omitempty"` Type string `json:"type,omitempty"` // Record type (SOA, NS, A/AAAA, CNAME, SRV, MX, TXT, SPF) TTL int `json:"ttl,omitempty"` Email string `json:"email,omitempty"` // Email of domain's admin (only for SOA records) Content string `json:"content,omitempty"` // Record content (not for SRV) }
Record represents DNS record.
Click to show internal directories.
Click to hide internal directories.