// Ref: https://api.cloudflare.com/#dns-records-for-a-zone-update-dns-record public DnsUpdateResponse UpdateDns(string zoneIdentifier, string dnsRecordIdentifier, string dnsRecordName, string content) { var dnsUpdateRequest = new DnsUpdateRequest() { type = "A", name = dnsRecordName, content = content }; HttpResponseMessage response = null; HttpRequestMessage req = GetRequestMessage(HttpMethod.Put, $"zones/{zoneIdentifier}/dns_records/{dnsRecordIdentifier}"); req.Content = new StringContent(JsonConvert.SerializeObject(dnsUpdateRequest), Encoding.UTF8, "application/json"); response = Client.SendAsync(req).Result; response.EnsureSuccessStatusCode(); // throws if response.IsSuccessStatusCode == false var result = response.Content.ReadAsStringAsync().Result; var ret = JsonConvert.DeserializeObject <DnsUpdateResponse>(result); return(ret); }
// Ref: https://api.cloudflare.com/#dns-records-for-a-zone-update-dns-record public DnsUpdateResponse UpdateDns(IpSupport protocol, string zoneIdentifier, string dnsRecordIdentifier, string dnsRecordType, string dnsRecordName, string content, int ttl, bool proxied) { var dnsUpdateRequest = new DnsUpdateRequest() { type = dnsRecordType, name = dnsRecordName, content = content, ttl = ttl, proxied = proxied }; HttpResponseMessage response; HttpRequestMessage req = GetRequestMessage(HttpMethod.Put, $"zones/{zoneIdentifier}/dns_records/{dnsRecordIdentifier}"); req.Content = new StringContent(JsonSerializer.Serialize(dnsUpdateRequest), Encoding.UTF8, "application/json"); response = Client.SendAsync(req).Result; var result = response.Content.ReadAsStringAsync().Result; ValidateCloudflareResult(response, result, $"update {protocol} DNS"); var ret = JsonSerializer.Deserialize <DnsUpdateResponse>(result); return(ret); }