Add an example usage
This commit is contained in:
@@ -1 +1,61 @@
|
||||
# Getting Started
|
||||
# Getting Started
|
||||
|
||||
If you want to get your DNS settings and records from Cloudflare (e.g. to check your records for a self developed DynDNS), you could do something like that:
|
||||
|
||||
```cs
|
||||
using AMWD.Net.Api.Cloudflare;
|
||||
using AMWD.Net.Api.Cloudflare.Dns;
|
||||
using AMWD.Net.Api.Cloudflare.Zones;
|
||||
|
||||
string apiToken = "some-api-token-with-dns-and-zone-permission";
|
||||
string domain = "example.com";
|
||||
|
||||
IAuthentication authenticationData = new ApiTokenAuthentication(apiToken);
|
||||
|
||||
using var client = new CloudflareClient(authenticationData);
|
||||
|
||||
var zoneFilter = new ListZonesFilter
|
||||
{
|
||||
Status = ZoneStatus.Active,
|
||||
Name = domain
|
||||
};
|
||||
|
||||
// This request uses the "Zones" package
|
||||
var zoneResponse = await client.ListZones(zoneFilter);
|
||||
if (!zoneResponse.Success)
|
||||
throw new ApplicationException(string.Join("\n", zoneResponse.Errors.Select(e => "- " + e.Message)));
|
||||
|
||||
var cfZone = zoneResponse.Result
|
||||
.Where(z => z.Name == zoneName)
|
||||
.FirstOrDefault();
|
||||
if (cfZone == null)
|
||||
throw new ApplicationException($"The zone '{zoneName}' does not exist on Cloudflare.");
|
||||
|
||||
// This request uses the "Dns" package
|
||||
var zoneSettingsResponse = await client.ShowDnsZoneSettings(cfZone.Id, cancellationToken);
|
||||
if (!zoneSettingsResponse.Success)
|
||||
throw new ApplicationException(string.Join("\n", zoneSettingsResponse.Errors.Select(e => "- " + e.Message)));
|
||||
|
||||
var recordsFilter = new ListDnsRecordsFilter
|
||||
{
|
||||
PerPage = 1000,
|
||||
};
|
||||
|
||||
// This request uses the "Dns" package
|
||||
var recordsResponse = await client.ListDnsRecords(cfZone.Id, recordsFilter, cancellationToken);
|
||||
if (!recordsResponse.Success)
|
||||
throw new ApplicationException(string.Join("\n", recordsResponse.Errors.Select(e => "- " + e.Message)));
|
||||
|
||||
Console.WriteLine("SOA Record:");
|
||||
Console.WriteLine(zoneSettingsResponse.Result.SOA);
|
||||
|
||||
Console.WriteLine();
|
||||
|
||||
Console.WriteLine("DNS Records:");
|
||||
foreach (var record in recordsResponse.Result)
|
||||
{
|
||||
Console.Write(" ");
|
||||
Console.WriteLine(record);
|
||||
}
|
||||
|
||||
```
|
||||
Reference in New Issue
Block a user