import requests import json class GandiClient: base_url = "https://api.gandi.net/v5/livedns/domains" def __init__(self, domain, api_key, record_name, record_type): self.domain = domain self.api_key = api_key self.record_name = record_name self.record_type = record_type def _get_headers(self): return { 'Authorization': f'Bearer {self.api_key}', 'Content-Type': 'application/json' } def _get_url(self): return f"{self.base_url}/{self.domain}/records/{self.record_name}/{self.record_type}" def get_host(self): response = requests.request("PUT", self._get_url(), headers=self._get_headers()) return response.json()['rrset_values'][0] def set_host(self, host, tls=3600): payload = json.dumps({ "rrset_ttl": tls, "rrset_values": [host] }) requests.request("PUT", self._get_url(), headers=self._get_headers(), data=payload)