Documentation ¶
Overview ¶
Package gandi implements a DNS provider for solving the DNS-01 challenge using Gandi DNS.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶ added in v1.1.0
type Config struct { BaseURL string APIKey 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.ChallengeProviderTimeout interface that uses Gandi's XML-RPC API to manage TXT records for a domain.
func NewDNSProvider ¶
func NewDNSProvider() (*DNSProvider, error)
NewDNSProvider returns a DNSProvider instance configured for Gandi. Credentials must be passed in the environment variable: GANDI_API_KEY.
func NewDNSProviderConfig ¶ added in v1.1.0
func NewDNSProviderConfig(config *Config) (*DNSProvider, error)
NewDNSProviderConfig return a DNSProvider instance configured for Gandi.
func (*DNSProvider) CleanUp ¶
func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error
CleanUp removes the TXT record matching the specified parameters. It does this by restoring the old Gandi DNS zone and removing the temporary one created by Present.
func (*DNSProvider) Present ¶
func (d *DNSProvider) Present(domain, token, keyAuth string) error
Present creates a TXT record using the specified parameters. It does this by creating and activating a new temporary Gandi DNS zone. This new zone contains the TXT record.
func (*DNSProvider) Timeout ¶
func (d *DNSProvider) Timeout() (timeout, interval time.Duration)
Timeout returns the values (40*time.Minute, 60*time.Second) which are used by the acme package as timeout and check interval values when checking for DNS record propagation with Gandi.