GoDaddy DNS Driver Documentation ================================ `GoDaddy`_ provide domain name registration and are the worlds largest with over 13 million customers. They also provide nameservers and DNS hosting as well as cloud and website hosting. .. figure:: /_static/images/provider_logos/godaddy.png :align: center :width: 300 :target: https://www.godaddy.com/ Further information on `GoDaddy`_ API is available on the `GoDaddy API Website`_ Driver features --------------- * Manage the records for GoDaddy hosted domains * Price and purchase domains with an existing GoDaddy account * Fetch legal agreements required to register and purchase domains for a range of TLDs * Submit completed agreements to purchase domains Instantiating the driver ------------------------ Before you instantiate a driver, you will need a GoDaddy account. Once you have an account you need to request a Production key on the GoDaddy API website: https://developer.godaddy.com/getstarted#access You can then use these details to instantiate a driver with the arguments: * `shopper_id` - Your customer ID * `key` - An API key * `secret` - The matching secret for the API key .. literalinclude:: /examples/dns/godaddy/instantiate_driver.py :language: python Listing zones ------------- .. literalinclude:: /examples/dns/godaddy/listing_zones.py :language: python Returns :: Zone : wassle-layer.com Expires: 2018-09-30T18:22:00Z Zone : wizzle-wobble.org Expires: 2017-01-04T04:02:07Z Listing records --------------- .. literalinclude:: /examples/dns/godaddy/listing_records.py :language: python Returns :: Type : CNAME Data: @ TTL: 3600 Type : CNAME Data: @ TTL: 3600 Type : MX Data: mailstore1.secureserver.net TTL: 3600 Type : MX Data: smtp.secureserver.net TTL: 3600 Adding records -------------- .. literalinclude:: /examples/dns/godaddy/adding_records.py :language: python Updating records ---------------- .. literalinclude:: /examples/dns/godaddy/updating_records.py :language: python It is important to note that the GoDaddy API does not give records a unique identifier. So if you have multiple existing records for a single data and type, e.g. 2 A records for www, they will both be replaced with 1 record if you run the update_records method Pricing a domain ---------------- The driver supports checking the availability of a domain that you would like to purchase. .. literalinclude:: /examples/dns/godaddy/pricing_domain.py :language: python Purchasing a domain ------------------- Domains can be purchased by requesting the agreement schema, which is a JSON schema and submitted a completed document. .. literalinclude:: /examples/dns/godaddy/purchasing_domain.py :language: python API Docs -------- .. autoclass:: libcloud.dns.drivers.godaddy.GoDaddyDNSDriver :members: :inherited-members: .. _`GoDaddy`: https://godaddy.com/ .. _`GoDaddy API Website`: https://developer.godaddy.com/doc