# salt.modules.namecheap_domains_dns

Namecheap DNS Management

Added in version 2017.7.0.

## Prerequisites

This module uses the `requests` Python module to communicate to the namecheap API.

## Configuration

The Namecheap username, API key and URL should be set in the minion configuration file, or in the Pillar data.

    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_domains_dns.get_hosts(sld, tld)

  Retrieves DNS host record settings for the requested domain.

  returns a dictionary of information about the requested domain

  sld

    SLD of the domain name

  tld

    TLD of the domain name

  CLI Example:

      salt 'my-minion' namecheap_domains_dns.get_hosts sld tld

salt.modules.namecheap_domains_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

    SLD of the domain name

  tld

    TLD of the domain name

  CLI Example:

      salt 'my-minion' namecheap_domains_dns.get_list sld tld

salt.modules.namecheap_domains_dns.set_custom(sld, tld, nameservers)

  Sets domain to use custom DNS servers.

  returns True if the custom nameservers were set successfully

  sld

    SLD of the domain name

  tld

    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_domains_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.

  sld

    SLD of the domain name

  tld

    TLD of the domain name

  Returns `True` if the domain was successfully pointed at the default DNS servers.

  CLI Example:

      salt 'my-minion' namecheap_domains_dns.set_default sld tld

salt.modules.namecheap_domains_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

    SLD of the domain name

  tld

    TLD of the domain name

  hosts

    Must be passed as a list of Python dictionaries, with each dictionary containing the following keys:

    - hostname

    - recordtype - One of `A`, `AAAA`, `CNAME`, `MX`, `MXE`, `TXT`, `URL`, `URL301`, or `FRAME`

    - address - URL or IP address

    - ttl - An integer between 60 and 60000 (default: `1800`)

    Additionally, the `mxpref` key can be present, but must be accompanied by an `emailtype` key.

  CLI Example:

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