bluecat

package
v0.10.1 Latest Latest
Warning

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

Go to latest
Published: Oct 20, 2021 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BluecatCNAMERecord

type BluecatCNAMERecord struct {
	ID         int    `json:"id"`
	Name       string `json:"name"`
	Properties string `json:"properties"`
	Type       string `json:"type"`
}

BluecatCNAMERecord defines dns CNAME record

type BluecatHostRecord

type BluecatHostRecord struct {
	ID         int    `json:"id"`
	Name       string `json:"name"`
	Properties string `json:"properties"`
	Type       string `json:"type"`
}

BluecatHostRecord defines dns Host record

type BluecatProvider

type BluecatProvider struct {
	provider.BaseProvider

	RootZone         string
	DNSConfiguration string
	View             string
	// contains filtered or unexported fields
}

BluecatProvider implements the DNS provider for Bluecat DNS

func NewBluecatProvider

func NewBluecatProvider(configFile string, domainFilter endpoint.DomainFilter, zoneIDFilter provider.ZoneIDFilter, dryRun bool) (*BluecatProvider, error)

NewBluecatProvider creates a new Bluecat provider.

Returns a pointer to the provider or an error if a provider could not be created.

func (*BluecatProvider) ApplyChanges

func (p *BluecatProvider) ApplyChanges(ctx context.Context, changes *plan.Changes) error

ApplyChanges updates necessary zones and replaces old records with new ones

Returns nil upon success and err is there is an error

func (*BluecatProvider) Records

func (p *BluecatProvider) Records(ctx context.Context) (endpoints []*endpoint.Endpoint, err error)

Records fetches Host, CNAME, and TXT records from bluecat gateway

type BluecatTXTRecord

type BluecatTXTRecord struct {
	ID         int    `json:"id"`
	Name       string `json:"name"`
	Properties string `json:"properties"`
}

BluecatTXTRecord defines dns TXT record

type BluecatZone

type BluecatZone struct {
	ID         int    `json:"id"`
	Name       string `json:"name"`
	Properties string `json:"properties"`
	Type       string `json:"type"`
}

BluecatZone defines a zone to hold records

type GatewayClient

type GatewayClient interface {
	// contains filtered or unexported methods
}

type GatewayClientConfig

type GatewayClientConfig struct {
	Cookie           http.Cookie
	Token            string
	Host             string
	DNSConfiguration string
	View             string
	RootZone         string
	SkipTLSVerify    bool
}

GatewayClientConfig defines new client on bluecat gateway

func NewGatewayClient

func NewGatewayClient(cookie http.Cookie, token, gatewayHost, dnsConfiguration, view, rootZone string, skipTLSVerify bool) GatewayClientConfig

NewGatewayClient creates and returns a new Bluecat gateway client

Jump to

Keyboard shortcuts

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