using System.Runtime.Serialization;
using Newtonsoft.Json.Converters;
namespace AMWD.Net.Api.Cloudflare.Zones
{
///
/// Source
///
public class RatePlanGetResponse
{
///
/// Plan identifier tag.
///
[JsonProperty("id")]
public string? Id { get; set; }
///
/// Array of available components values for the plan.
///
[JsonProperty("components")]
public IReadOnlyCollection? Components { get; set; }
///
/// The monetary unit in which pricing information is displayed.
///
[JsonProperty("currency")]
public string? Currency { get; set; }
///
/// The duration of the plan subscription.
///
[JsonProperty("duration")]
public int? Duration { get; set; }
///
/// The frequency at which you will be billed for this plan.
///
[JsonProperty("frequency")]
public RenewFrequency? Frequency { get; set; }
///
/// The plan name.
///
[JsonProperty("name")]
public string? Name { get; set; }
///
/// Rate plan component.
///
public class Component
{
///
/// The default amount allocated.
///
[JsonProperty("default")]
public decimal? Default { get; set; }
///
/// The unique component.
///
[JsonProperty("name")]
public ComponentName? Name { get; set; }
///
/// The unit price of the addon.
///
[JsonProperty("unit_price")]
public decimal? UnitPrice { get; set; }
}
///
/// Rate plan component name.
/// Source
///
[JsonConverter(typeof(StringEnumConverter))]
public enum ComponentName
{
///
/// Zones
///
[EnumMember(Value = "zones")]
Zones = 1,
///
/// Page rules
///
[EnumMember(Value = "page_rules")]
PageRules = 2,
///
/// Dedicated certificates
///
[EnumMember(Value = "dedicated_certificates")]
DedicatedCertificatese = 3,
///
/// Custom dedicated certificates
///
[EnumMember(Value = "dedicated_certificates_custom")]
DedicatedCertificatesCustom = 4
}
}
}