namespace AMWD.Net.Api.Cloudflare.Zones { /// /// The SOA (Start of Authority) record. /// public class StartOfAuthority { /// /// Initializes a new instance of the class. /// /// The primary nameserver. /// The zone administrator. First dot will be interpreted as @-sign. /// The time to live of the SOA record. /// Time in seconds after which secondary servers should re-check the SOA record to see if the zone has been updated. /// Time in seconds after which secondary servers should retry queries after the primary server was unresponsive. /// Time in seconds of being unable to query the primary server after which secondary servers should stop serving the zone. /// The time to live (TTL) for negative caching of records within the zone. public StartOfAuthority(string primaryNameserver, string zoneAdministrator, int ttl, int refresh, int retry, int expire, int minimumTtl) { PrimaryNameserver = primaryNameserver; ZoneAdministrator = zoneAdministrator; Ttl = ttl; Refresh = refresh; Retry = retry; Expire = expire; MinimumTtl = minimumTtl; } /// /// Time in seconds of being unable to query the primary server after which secondary servers should stop serving the zone. /// /// Unit: seconds. Range: 86400 <= X <= 2419200 [JsonProperty("expire")] public int Expire { get; set; } /// /// The time to live (TTL) for negative caching of records within the zone. /// /// Unit: seconds. Range: 60 <= X <= 86400 [JsonProperty("min_ttl")] public int MinimumTtl { get; set; } /// /// The primary nameserver, which may be used for outbound zone transfers. /// [JsonProperty("mname", NullValueHandling = NullValueHandling.Include)] public string PrimaryNameserver { get; set; } /// /// Time in seconds after which secondary servers should re-check the SOA record to see if the zone has been updated. /// /// Unit: seconds. Range: 600 <= X <= 86400 [JsonProperty("refresh")] public int Refresh { get; set; } /// /// Time in seconds after which secondary servers should retry queries after the primary server was unresponsive. /// /// Unit: seconds. Range: 600 <= X <= 86400 [JsonProperty("retry")] public int Retry { get; set; } /// /// The email address of the zone administrator, with the first label representing the local part of the email address. /// /// /// The first dot is interpreted as @ sign. ///
/// admin.example.com => admin@example.com ///
/// test\.user.example.org => test.user@example.org ///
[JsonProperty("rname", NullValueHandling = NullValueHandling.Include)] public string ZoneAdministrator { get; set; } /// /// The time to live (TTL) of the SOA record itself. /// /// Unit: seconds. Range: 300 <= X <= 86400 [JsonProperty("ttl")] public int Ttl { get; set; } } }