dns

package
v0.0.0-...-4a324f6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 5, 2019 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CloudDNS

type CloudDNS struct {
	API             *clouddns.Service
	ManagedZoneName string
	Zone            string
	RegistryConfig  *RegistrySettings
	Project         string
}

CloudDNS represents a connection to CloudDNS API

func NewCloudDNSAPI

func NewCloudDNSAPI(project, managedZone, zone string, registry *RegistrySettings) (*CloudDNS, error)

NewCloudDNSAPI returns a CloudDNS object

func (*CloudDNS) ValidateRegistry

func (c *CloudDNS) ValidateRegistry() (*DNS, error)

ValidateRegistry compares A records with TXT registry

type Cloudflare

type Cloudflare struct {
	API            *cf.API
	Zone           string
	RegistryConfig *RegistrySettings
}

Cloudflare represents a connection to CF API

func NewCloudFlareAPI

func NewCloudFlareAPI(apikey, apiuser, zone string, registry *RegistrySettings) (*Cloudflare, error)

NewCloudFlareAPI returns a Cloudflare object

func (*Cloudflare) ValidateRegistry

func (c *Cloudflare) ValidateRegistry() (*DNS, error)

ValidateRegistry compares A records with TXT registry

type DNS

type DNS struct {
	ExternalRegistry  map[string]RegistryRecord
	MissingRegistry   []Record
	RegisteredRecords []Record
	Registry          map[string]RegistryRecord
}

DNS represents every record and registry item for the given provider As well as items that belong to a different registry

type Record

type Record struct {
	Name       string
	Type       string
	Registered bool
	Target     string
}

Record represents an A record in the zone

type RegistryRecord

type RegistryRecord struct {
	Heritage      string
	Owner         string
	Resource      string
	WithPrefix    string
	WithoutPrefix string
}

RegistryRecord represents a single TXT registry record

type RegistrySettings

type RegistrySettings struct {
	Owner  string
	Prefix string
}

RegistrySettings represents the values external-dns may add to registry TXT records

type Route53

type Route53 struct {
	API            *route53.Route53
	Zone           string
	RegistryConfig *RegistrySettings
}

Route53 represents a connection to route53 API

func NewRoute53API

func NewRoute53API(zone string, registry *RegistrySettings) *Route53

NewRoute53API returns a Route53 object

func (*Route53) ValidateRegistry

func (r *Route53) ValidateRegistry() (*DNS, error)

ValidateRegistry compares A records with TXT registry

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL