using System;
using System.Collections.Generic;
namespace AMWD.Net.Api.Cloudflare.Zones
{
///
/// A DNS Zone.
///
public class Zone
{
///
/// Identifier.
///
// <= 32 characters
[JsonProperty("id")]
public string Id { get; set; }
///
/// The account the zone belongs to.
///
[JsonProperty("account")]
public AccountBase Account { get; set; }
///
/// The last time proof of ownership was detected and the zone was made active.
///
[JsonProperty("activated_on")]
public DateTime ActivatedOn { get; set; }
///
/// When the zone was created.
///
[JsonProperty("created_on")]
public DateTime CreatedOn { get; set; }
///
/// The interval (in seconds) from when development mode expires (positive integer)
/// or last expired (negative integer) for the domain.
/// If development mode has never been enabled, this value is 0.
///
[JsonProperty("development_mode")]
public int DevelopmentMode { get; set; }
///
/// Metadata about the zone.
///
[JsonProperty("meta")]
public ZoneMetaData Meta { get; set; }
///
/// When the zone was last modified.
///
[JsonProperty("modified_on")]
public DateTime ModifiedOn { get; set; }
///
/// The domain name.
///
// <= 253 characters
[JsonProperty("name")]
public string Name { get; set; }
///
/// The name servers Cloudflare assigns to a zone.
///
[JsonProperty("name_servers")]
public IReadOnlyList NameServers { get; set; }
///
/// DNS host at the time of switching to Cloudflare.
///
[JsonProperty("original_dnshost")]
public string OriginalDnshost { get; set; }
///
/// Original name servers before moving to Cloudflare.
///
[JsonProperty("original_name_servers")]
public IReadOnlyList OriginalNameServers { get; set; }
///
/// Registrar for the domain at the time of switching to Cloudflare.
///
[JsonProperty("original_registrar")]
public string OriginalRegistrar { get; set; }
///
/// The owner of the zone.
///
[JsonProperty("owner")]
public OwnerBase Owner { get; set; }
///
/// Indicates whether the zone is only using Cloudflare DNS services.
/// A value means the zone will not receive security or performance benefits.
///
[JsonProperty("paused")]
public bool Paused { get; set; }
///
/// The zone status on Cloudflare.
///
[JsonProperty("status")]
public ZoneStatus Status { get; set; }
///
/// A full zone implies that DNS is hosted with Cloudflare.
/// A partial zone is typically a partner-hosted zone or a CNAME setup..
///
[JsonProperty("type")]
public ZoneType Type { get; set; }
///
/// An array of domains used for custom name servers.
/// This is only available for Business and Enterprise plans.
///
[JsonProperty("vanity_name_servers")]
public IReadOnlyList VanityNameServers { get; set; }
}
}