Changed folder structure, added explicit nullable for extensions.

This commit is contained in:
2024-10-31 13:07:39 +01:00
parent eadd35ac09
commit 935632df27
45 changed files with 1121 additions and 214 deletions

View File

@@ -0,0 +1,42 @@
using System.Runtime.Serialization;
using Newtonsoft.Json.Converters;
namespace AMWD.Net.Api.Cloudflare.Zones
{
/// <summary>
/// The nameserver type.
/// </summary>
[JsonConverter(typeof(StringEnumConverter))]
public enum NameserverType
{
/// <summary>
/// Cloudflare standard.
/// </summary>
[EnumMember(Value = "cloudflare.standard")]
CloudflareStandard = 1,
/// <summary>
/// Cloudflare random.
/// </summary>
[EnumMember(Value = "cloudflare.standard.random")]
CloudflareRandom = 2,
/// <summary>
/// Custom specified by account.
/// </summary>
[EnumMember(Value = "custom.account")]
CustomAccount = 3,
/// <summary>
/// Custom specified by tenant.
/// </summary>
[EnumMember(Value = "custom.tenant")]
CustomTenant = 4,
/// <summary>
/// Custom specified by zone.
/// </summary>
[EnumMember(Value = "custom.zone")]
CustomZone = 5,
}
}

View File

@@ -0,0 +1,30 @@
using System.Runtime.Serialization;
using Newtonsoft.Json.Converters;
namespace AMWD.Net.Api.Cloudflare.Zones
{
/// <summary>
/// Zone modes.
/// </summary>
[JsonConverter(typeof(StringEnumConverter))]
public enum ZoneMode
{
/// <summary>
/// Standard.
/// </summary>
[EnumMember(Value = "standard")]
Standard = 1,
/// <summary>
/// Only as CDN.
/// </summary>
[EnumMember(Value = "cdn_only")]
CdnOnly = 2,
/// <summary>
/// Only as DNS.
/// </summary>
[EnumMember(Value = "dns_only")]
DnsOnly = 3,
}
}

View File

@@ -0,0 +1,36 @@
using System.Runtime.Serialization;
using Newtonsoft.Json.Converters;
namespace AMWD.Net.Api.Cloudflare.Zones
{
/// <summary>
/// A zone status.
/// </summary>
[JsonConverter(typeof(StringEnumConverter))]
public enum ZoneStatus
{
/// <summary>
/// Zone is initializing.
/// </summary>
[EnumMember(Value = "initializing")]
Initializing = 1,
/// <summary>
/// Zone is pending.
/// </summary>
[EnumMember(Value = "pending")]
Pending = 2,
/// <summary>
/// Zone is active.
/// </summary>
[EnumMember(Value = "active")]
Active = 3,
/// <summary>
/// Zone has been moved.
/// </summary>
[EnumMember(Value = "moved")]
Moved = 4,
}
}

View File

@@ -0,0 +1,46 @@
using System.Runtime.Serialization;
using Newtonsoft.Json.Converters;
namespace AMWD.Net.Api.Cloudflare.Zones
{
/// <summary>
/// Zone type.
/// </summary>
/// <remarks>
/// A full zone implies that DNS is hosted with Cloudflare.
/// A partial zone is typically a partner-hosted zone or a CNAME setup.
/// </remarks>
[JsonConverter(typeof(StringEnumConverter))]
public enum ZoneType
{
/// <summary>
/// Full Setup (most common).
/// </summary>
/// <remarks>
/// Use Cloudflare as your primary DNS provider and manage your DNS records on Cloudflare.
/// </remarks>
[EnumMember(Value = "full")]
Full = 1,
/// <summary>
/// Zone transfers.
/// </summary>
/// <remarks>
/// Use Cloudflare and another DNS provider together across your entire zone to increase availability and fault tolerance.
/// <br />
/// DNS records will be transferred between providers using
/// <see href="https://datatracker.ietf.org/doc/html/rfc5936">AXFR</see> or <see href="https://datatracker.ietf.org/doc/html/rfc1995">IXFR</see>.
/// </remarks>
[EnumMember(Value = "secondary")]
Secondary = 2,
/// <summary>
/// Partial (CNAME) setup.
/// </summary>
/// <remarks>
/// Keep your primary DNS provider and only use Cloudflare's reverse proxy for individual subdomains.
/// </remarks>
[EnumMember(Value = "partial")]
Partial = 3,
}
}

View File

@@ -0,0 +1,36 @@
using System.Runtime.Serialization;
using Newtonsoft.Json.Converters;
namespace AMWD.Net.Api.Cloudflare.Zones
{
/// <summary>
/// Possible fields to order zones by.
/// </summary>
[JsonConverter(typeof(StringEnumConverter))]
public enum ZonesOrderBy
{
/// <summary>
/// Order by zone name.
/// </summary>
[EnumMember(Value = "name")]
Name = 1,
/// <summary>
/// Order by zone status.
/// </summary>
[EnumMember(Value = "status")]
Status = 2,
/// <summary>
/// Order by account ID.
/// </summary>
[EnumMember(Value = "account.id")]
AccountId = 3,
/// <summary>
/// Order by account name.
/// </summary>
[EnumMember(Value = "account.name")]
AccountName = 4,
}
}