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; }
}
}