Documentation ¶
Overview ¶
Package gandi implements a DNS provider for solving the DNS-01 challenge using Gandi DNS.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var Endpoint = "https://rpc.gandi.net/xmlrpc/"
Endpoint is the Gandi XML-RPC endpoint used by Present and CleanUp. It is exported only so it may be overridden during package tests.
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(apiKey string) (*DNSProvider, error)
NewDNSProvider returns a new DNSProvider instance. apiKey is the API access key obtained from the Gandi account control panel.
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 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 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.