using System.Collections.Generic;
namespace AMWD.Net.Api.Cloudflare.Zones
{
///
/// Request to create a new DNS record.
///
///
/// Initializes a new instance of the class.
///
/// The zone identifier.
/// DNS record name (or @ for the zone apex).
/// Record type.
public class CreateDnsRecordRequest(string zoneId, string name, DnsRecordType type)
{
///
/// The zone identifier.
///
public string ZoneId { get; set; } = zoneId;
///
/// Comments or notes about the DNS record.
///
///
/// This field has no effect on DNS responses.
///
public string? Comment { get; set; }
///
/// DNS record name (or @ for the zone apex) in Punycode.
///
public string Name { get; set; } = name;
///
/// Whether the record is receiving the performance and security benefits of Cloudflare.
///
public bool Proxied { get; set; }
///
/// Settings for the DNS record.
///
public object? Settings { get; set; }
///
/// Custom tags for the DNS record.
///
///
/// This field has no effect on DNS responses.
///
public IList? Tags { get; set; }
///
/// Time To Live (TTL) of the DNS record in seconds.
///
///
/// Setting to 1 means 'automatic'.
/// Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones.
///
public int? Ttl { get; set; }
///
/// Components of a record.
///
///
/// Caution: This field has priority over the field.
///
public object? Data { get; set; }
///
/// A valid content.
///
///
/// Caution: This field has no effect for record types with specific values.
///
public string? Content { get; set; }
///
/// A priority.
///
///
/// Required for , and records; unused by other record types.
/// Records with lower priorities are preferred.
///
public ushort? Priority { get; set; }
///
/// Record type.
///
public DnsRecordType Type { get; set; } = type;
}
}