%PDF- %PDF-
Direktori : /usr/lib/python2.7/site-packages/salt/modules/ |
Current File : //usr/lib/python2.7/site-packages/salt/modules/namecheap_domains_ns.py |
# -*- coding: utf-8 -*- ''' Namecheap Nameserver Management .. versionadded:: 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. .. code-block:: yaml 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 ''' from __future__ import absolute_import, print_function, unicode_literals CAN_USE_NAMECHEAP = True try: import salt.utils.namecheap except ImportError: CAN_USE_NAMECHEAP = False __virtualname__ = 'namecheap_domains_ns' def __virtual__(): ''' Check to make sure requests and xml are installed and requests ''' if CAN_USE_NAMECHEAP: return 'namecheap_domains_ns' return False def get_info(sld, tld, nameserver): ''' Retrieves information about a registered nameserver. Returns the following information: - IP Address set for the nameserver - Domain name which was queried - A list of nameservers and their statuses sld SLD of the domain name tld TLD of the domain name nameserver Nameserver to retrieve CLI Example: .. code-block:: bash salt '*' namecheap_domains_ns.get_info sld tld nameserver ''' opts = salt.utils.namecheap.get_opts('namecheap.domains.ns.delete') opts['SLD'] = sld opts['TLD'] = tld opts['Nameserver'] = nameserver response_xml = salt.utils.namecheap.post_request(opts) if response_xml is None: return {} domainnsinforesult = response_xml.getElementsByTagName('DomainNSInfoResult')[0] return salt.utils.namecheap.xml_to_dict(domainnsinforesult) def update(sld, tld, nameserver, old_ip, new_ip): ''' Deletes a nameserver. Returns ``True`` if the nameserver was updated successfully. sld SLD of the domain name tld TLD of the domain name nameserver Nameserver to create old_ip Current ip address new_ip New ip address CLI Example: .. code-block:: bash salt '*' namecheap_domains_ns.update sld tld nameserver old_ip new_ip ''' opts = salt.utils.namecheap.get_opts('namecheap.domains.ns.update') opts['SLD'] = sld opts['TLD'] = tld opts['Nameserver'] = nameserver opts['OldIP'] = old_ip opts['IP'] = new_ip response_xml = salt.utils.namecheap.post_request(opts) if response_xml is None: return False domainnsupdateresult = response_xml.getElementsByTagName('DomainNSUpdateResult')[0] return salt.utils.namecheap.string_to_value(domainnsupdateresult.getAttribute('IsSuccess')) def delete(sld, tld, nameserver): ''' Deletes a nameserver. Returns ``True`` if the nameserver was deleted successfully sld SLD of the domain name tld TLD of the domain name nameserver Nameserver to delete CLI Example: .. code-block:: bash salt '*' namecheap_domains_ns.delete sld tld nameserver ''' opts = salt.utils.namecheap.get_opts('namecheap.domains.ns.delete') opts['SLD'] = sld opts['TLD'] = tld opts['Nameserver'] = nameserver response_xml = salt.utils.namecheap.post_request(opts) if response_xml is None: return False domainnsdeleteresult = response_xml.getElementsByTagName('DomainNSDeleteResult')[0] return salt.utils.namecheap.string_to_value(domainnsdeleteresult.getAttribute('IsSuccess')) def create(sld, tld, nameserver, ip): ''' Creates a new nameserver. Returns ``True`` if the nameserver was created successfully. sld SLD of the domain name tld TLD of the domain name nameserver Nameserver to create ip Nameserver IP address CLI Example: .. code-block:: bash salt '*' namecheap_domains_ns.create sld tld nameserver ip ''' opts = salt.utils.namecheap.get_opts('namecheap.domains.ns.create') opts['SLD'] = sld opts['TLD'] = tld opts['Nameserver'] = nameserver opts['IP'] = ip response_xml = salt.utils.namecheap.post_request(opts) if response_xml is None: return False domainnscreateresult = response_xml.getElementsByTagName('DomainNSCreateResult')[0] return salt.utils.namecheap.string_to_value(domainnscreateresult.getAttribute('IsSuccess'))