cloudxns

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Oct 17, 2018 License: MIT Imports: 13 Imported by: 69

Documentation

Overview

Package cloudxns implements a DNS provider for solving the DNS-01 challenge using CloudXNS DNS.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client added in v1.1.0

type Client struct {
	HTTPClient *http.Client
	BaseURL    string
	// contains filtered or unexported fields
}

Client CloudXNS client

func NewClient added in v1.1.0

func NewClient(apiKey string, secretKey string) (*Client, error)

NewClient creates a CloudXNS client

func (*Client) AddTxtRecord added in v1.1.0

func (c *Client) AddTxtRecord(info *Data, fqdn, value string, ttl int) error

AddTxtRecord add a TXT record

func (*Client) FindTxtRecord added in v1.1.0

func (c *Client) FindTxtRecord(zoneID, fqdn string) (*TXTRecord, error)

FindTxtRecord return the TXT record a zone ID and a FQDN

func (*Client) GetDomainInformation added in v1.1.0

func (c *Client) GetDomainInformation(fqdn string) (*Data, error)

GetDomainInformation Get domain name information for a FQDN

func (*Client) RemoveTxtRecord added in v1.1.0

func (c *Client) RemoveTxtRecord(recordID, zoneID string) error

RemoveTxtRecord remove a TXT record

type Config added in v1.1.0

type Config struct {
	APIKey             string
	SecretKey          string
	PropagationTimeout time.Duration
	PollingInterval    time.Duration
	TTL                int
	HTTPClient         *http.Client
}

Config is used to configure the creation of the DNSProvider

func NewDefaultConfig added in v1.1.0

func NewDefaultConfig() *Config

NewDefaultConfig returns a default configuration for the DNSProvider

type DNSProvider

type DNSProvider struct {
	// contains filtered or unexported fields
}

DNSProvider is an implementation of the acme.ChallengeProvider interface

func NewDNSProvider

func NewDNSProvider() (*DNSProvider, error)

NewDNSProvider returns a DNSProvider instance configured for CloudXNS. Credentials must be passed in the environment variables: CLOUDXNS_API_KEY and CLOUDXNS_SECRET_KEY.

func NewDNSProviderConfig added in v1.1.0

func NewDNSProviderConfig(config *Config) (*DNSProvider, error)

NewDNSProviderConfig return a DNSProvider instance configured for CloudXNS.

func NewDNSProviderCredentials

func NewDNSProviderCredentials(apiKey, secretKey string) (*DNSProvider, error)

NewDNSProviderCredentials uses the supplied credentials to return a DNSProvider instance configured for CloudXNS.

func (*DNSProvider) CleanUp

func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error

CleanUp removes the TXT record matching the specified parameters.

func (*DNSProvider) Present

func (d *DNSProvider) Present(domain, token, keyAuth string) error

Present creates a TXT record to fulfill the dns-01 challenge.

func (*DNSProvider) Timeout added in v1.1.0

func (d *DNSProvider) Timeout() (timeout, interval time.Duration)

Timeout returns the timeout and interval to use when checking for DNS propagation. Adjusting here to cope with spikes in propagation times.

type Data added in v1.1.0

type Data struct {
	ID     string `json:"id"`
	Domain string `json:"domain"`
	TTL    int    `json:"ttl,omitempty"`
}

Data Domain information

type TXTRecord added in v1.1.0

type TXTRecord struct {
	ID       int    `json:"domain_id,omitempty"`
	RecordID string `json:"record_id,omitempty"`

	Host   string `json:"host"`
	Value  string `json:"value"`
	Type   string `json:"type"`
	LineID int    `json:"line_id,string"`
	TTL    int    `json:"ttl,string"`
}

TXTRecord a TXT record

Jump to

Keyboard shortcuts

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