salt.modules.namecheap_dns module

Use this module to manage dns through the namecheap api. The Namecheap settings will be set in grains.

  • This module uses the following python libraries to communicate to the namecheap API:

    • requests
    pip install requests
    
  • As saltstack depends on requests this shouldn't be a problem

  • The namecheap username, api key and url should be set in a minion configuration file or pillar

    namecheap.name: companyname
    namecheap.key: a1b2c3d4e5f67a8b9c0d1e2f3
    namecheap.client_ip: 162.155.30.172
    #Real url
    namecheap.url: https://api.namecheap.com/xml.response
    #Sandbox url
    #namecheap.url: https://api.sandbox.namecheap.xml.response
    
salt.modules.namecheap_dns.get_hosts(sld, tld)

Retrieves DNS host record settings for the requested domain.

returns a dictionary of information about the requested domain

sld
string sld of the domainname
tld
string tld of the domainname

CLI Example:

salt 'my-minion' namecheap_domains_dns.get_hosts sld tld
salt.modules.namecheap_dns.get_list(sld, tld)

Gets a list of DNS servers associated with the requested domain.

returns a dictionary of information about requested domain

sld
string sld of the domainname
tld
string tld of the domain name

CLI Example:

salt 'my-minion' namecheap_domains_dns.get_list sld tld
salt.modules.namecheap_dns.set_custom(sld, tld, nameservers)

Sets domain to use custom DNS servers.

returns True if the custom nameservers were set successfully

sld
string sld of the domainname
tld
string tld of the domain name
nameservers
array of strings List of nameservers to be associated with this domain

CLI Example:

salt 'my-minion' namecheap_domains_dns.set_custom sld tld nameserver
salt.modules.namecheap_dns.set_default(sld, tld)

Sets domain to use namecheap default DNS servers. Required for free services like Host record management, URL forwarding, email forwarding, dynamic dns and other value added services.

returns True if the domain was set to default

sld
string sld of the domainname
tld
string tld of the domain name

CLI Example:

salt 'my-minion' namecheap_domains_dns.set_default sld tld
salt.modules.namecheap_dns.set_hosts(sld, tld, hosts)

Sets DNS host records settings for the requested domain.

returns True if the host records were set successfully

sld
string sld of the domainname
tld
string tld of the domain name
hosts
array of dictionaries each dictionary should contain the following keys:

'hostname', 'recordtype', and 'address' 'ttl' is optional, Default value is 1800 'mxpref' is optional but must be included with 'emailtype'

'hostname' should be the subdomain/hostname 'recordtype' should be A,AAAA,CNAME,MX,MXE,TXT,URL,URL301,FRAME 'address' should be url or ip address 'ttl' should be an integer between 60 to 60000

CLI Example:

salt 'my-minion' namecheap_domains_dns.set_hosts sld tld hosts