Documentation ¶
Overview ¶
Package route53 implements a DNS provider for solving the DNS-01 challenge using AWS Route 53 DNS.
Index ¶
Constants ¶
const ( EnvAccessKeyID = envNamespace + "ACCESS_KEY_ID" EnvSecretAccessKey = envNamespace + "SECRET_ACCESS_KEY" EnvRegion = envNamespace + "REGION" EnvHostedZoneID = envNamespace + "HOSTED_ZONE_ID" EnvMaxRetries = envNamespace + "MAX_RETRIES" EnvTTL = envNamespace + "TTL" EnvPropagationTimeout = envNamespace + "PROPAGATION_TIMEOUT" EnvPollingInterval = envNamespace + "POLLING_INTERVAL" )
Environment variables names.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { MaxRetries int TTL int PropagationTimeout time.Duration PollingInterval time.Duration HostedZoneID string Client *route53.Route53 }
Config is used to configure the creation of the DNSProvider.
func NewDefaultConfig ¶
func NewDefaultConfig() *Config
NewDefaultConfig returns a default configuration for the DNSProvider.
type DNSProvider ¶
type DNSProvider struct {
// contains filtered or unexported fields
}
DNSProvider implements the challenge.Provider interface.
func NewDNSProvider ¶
func NewDNSProvider() (*DNSProvider, error)
NewDNSProvider returns a DNSProvider instance configured for the AWS Route 53 service.
AWS Credentials are automatically detected in the following locations and prioritized in the following order:
- Environment variables: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION, [AWS_SESSION_TOKEN]
- Shared credentials file (defaults to ~/.aws/credentials)
- Amazon EC2 IAM role
If AWS_HOSTED_ZONE_ID is not set, Lego tries to determine the correct public hosted zone via the FQDN.
See also: https://github.com/aws/aws-sdk-go/wiki/configuring-sdk
func NewDNSProviderConfig ¶
func NewDNSProviderConfig(config *Config) (*DNSProvider, error)
NewDNSProviderConfig takes a given config ans returns a custom configured DNSProvider instance.
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 using the specified parameters.
func (*DNSProvider) Timeout ¶
func (d *DNSProvider) Timeout() (timeout, interval time.Duration)
Timeout returns the timeout and interval to use when checking for DNS propagation.