dnscontrol/providers/autodns/types.go
Jan-Philipp Benecke ba2c7f9c0e
MAINT: Enforcing formatted code (#1544)
* Enforcing formatted code

Signed-off-by: Jan-Philipp Benecke <jan-philipp@bnck.me>

* Show lines

Signed-off-by: Jan-Philipp Benecke <jan-philipp@bnck.me>

* Run check after deps are installed

Signed-off-by: Jan-Philipp Benecke <jan-philipp@bnck.me>
2022-06-18 08:56:04 -04:00

67 lines
1.9 KiB
Go

package autodns
import (
"github.com/StackExchange/dnscontrol/v3/models"
"github.com/StackExchange/dnscontrol/v3/providers/bind"
)
type ResourceRecord struct {
// The name of the record.
// Required: true
Name string `json:"name"`
// Preference of the record, need for some record types e.g. MX
// Maximum: 65535
Pref int32 `json:"pref,omitempty"`
// The bind notation of the record. Only used by the zone stream task!
Raw string `json:"raw,omitempty"`
// TTL of the record (Optionally if not set then Default SOA TTL is used)
TTL int64 `json:"ttl,omitempty"`
// The type of the record, e.g. A
// Permitted values: A, AAAA, CAA, CNAME, HINFO, MX, NAPTR, NS, PTR, SRV, TXT, ALIAS
Type string `json:"type,omitempty"`
// The value of the record.
Value string `json:"value,omitempty"`
}
type MainAddressRecord struct {
// TTL of the record (Optionally if not set then Default SOA TTL is used)
TTL int64 `json:"ttl,omitempty"`
// The value of the record.
Value string `json:"address,omitempty"`
}
type Zone struct {
Origin string `json:"origin"`
Soa *bind.SoaDefaults `json:"soa,omitempty"`
// List of name servers
NameServers []*models.Nameserver `json:"nameServers,omitempty"`
// The resource records.
// Max Items: 10000
// Min Items: 0
ResourceRecords []*ResourceRecord `json:"resourceRecords,omitempty"`
// Might be set if we fetch a zone for the first time, should be migrated to ResourceRecords
MainRecord *MainAddressRecord `json:"main,omitempty"`
IncludeWwwForMain bool `json:"wwwInclude"`
// Primary NameServer, needs to be passed to the system to fetch further zone info
SystemNameServer string `json:"virtualNameServer,omitempty"`
}
type JSONResponseDataZone struct {
// The data for the response. The type of the objects are depending on the request and are also specified in the responseObject value of the response.
Data []*Zone `json:"data"`
}