dns: gomodules.xyz/dns/azure Index | Files

package azure

import "gomodules.xyz/dns/azure"

Package azure implements a DNS provider for solving the DNS-01 challenge using azure DNS. Azure doesn't like trailing dots on domain names, most of the acme code does.

Index

Package Files

azure.go

type DNSProvider Uses

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

DNSProvider is an implementation of the acme.ChallengeProvider interface

func Default Uses

func Default() (*DNSProvider, error)

NewDNSProvider returns a DNSProvider instance configured for azure. Credentials must be passed in the environment variables: AZURE_CLIENT_ID, AZURE_CLIENT_SECRET, AZURE_SUBSCRIPTION_ID, AZURE_TENANT_ID

func New Uses

func New(opt Options) (*DNSProvider, error)

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

func (*DNSProvider) DeleteARecord Uses

func (c *DNSProvider) DeleteARecord(domain string, ip string) error

func (*DNSProvider) DeleteARecords Uses

func (c *DNSProvider) DeleteARecords(domain string) error

func (*DNSProvider) EnsureARecord Uses

func (c *DNSProvider) EnsureARecord(domain string, ip string) error

func (*DNSProvider) Timeout Uses

func (c *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 Options Uses

type Options struct {
    TenantId       string `json:"tenant_id" envconfig:"AZURE_TENANT_ID" form:"azure_tenant_id"`
    SubscriptionId string `json:"subscription_id" envconfig:"AZURE_SUBSCRIPTION_ID" form:"azure_subscription_id"`
    ClientId       string `json:"client_id" envconfig:"AZURE_CLIENT_ID" form:"azure_client_id"`
    ClientSecret   string `json:"client_secret" envconfig:"AZURE_CLIENT_SECRET" form:"azure_client_secret"`
    ResourceGroup  string `json:"resource_group" envconfig:"AZURE_RESOURCE_GROUP" form:"azure_resource_group"`
}

Package azure imports 14 packages (graph) and is imported by 3 packages. Updated 2019-06-08. Refresh now. Tools for package owners.