Documentation ¶
Overview ¶
Package conoha implements a DNS provider for solving the DNS-01 challenge using ConoHa DNS.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Auth ¶
type Auth struct { TenantID string `json:"tenantId"` PasswordCredentials PasswordCredentials `json:"passwordCredentials"` }
Auth is an authentication information.
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client is a ConoHa API client.
func (*Client) CreateRecord ¶
CreateRecord adds new record.
func (*Client) DeleteRecord ¶
DeleteRecord removes specified record.
func (*Client) GetDomainID ¶
GetDomainID returns an ID of specified domain.
type Config ¶
type Config struct { Region string TenantID string Username string Password string TTL int PropagationTimeout time.Duration PollingInterval time.Duration HTTPClient *http.Client }
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 is an implementation of the acme.ChallengeProvider interface
func NewDNSProvider ¶
func NewDNSProvider() (*DNSProvider, error)
NewDNSProvider returns a DNSProvider instance configured for ConoHa DNS. Credentials must be passed in the environment variables: CONOHA_TENANT_ID, CONOHA_API_USERNAME, CONOHA_API_PASSWORD
func NewDNSProviderConfig ¶
func NewDNSProviderConfig(config *Config) (*DNSProvider, error)
NewDNSProviderConfig return a DNSProvider instance configured for ConoHa DNS.
func (*DNSProvider) CleanUp ¶
func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error
CleanUp clears ConoHa DNS TXT record
func (*DNSProvider) Present ¶
func (d *DNSProvider) Present(domain, token, keyAuth string) error
Present creates a TXT record to fulfill the dns-01 challenge.
func (*DNSProvider) Timeout ¶
func (d *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 DomainListResponse ¶
type DomainListResponse struct {
Domains []Domain `json:"domains"`
}
DomainListResponse is a response of a domain listing request.
type IdentityRequest ¶
type IdentityRequest struct {
Auth Auth `json:"auth"`
}
IdentityRequest is an authentication request body.
type IdentityResponse ¶
type IdentityResponse struct {
Access Access `json:"access"`
}
IdentityResponse is an authentication response body.
type PasswordCredentials ¶
type PasswordCredentials struct { Username string `json:"username"` Password string `json:"password"` }
PasswordCredentials is API-user's credentials.
type Record ¶
type Record struct { ID string `json:"id,omitempty"` Name string `json:"name"` Type string `json:"type"` Data string `json:"data"` TTL int `json:"ttl"` }
Record is a record entry.
type RecordListResponse ¶
type RecordListResponse struct {
Records []Record `json:"records"`
}
RecordListResponse is a response of record listing request.