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 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 NewDNSProviderCredentials ¶
func NewDNSProviderCredentials(apiKey string) (*DNSProvider, error)
NewDNSProviderCredentials uses the supplied credentials to 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.