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