diff --git a/README.md b/README.md index c6bf9d012b..075fb854a5 100644 --- a/README.md +++ b/README.md @@ -26,13 +26,13 @@ const cloudflare = new Cloudflare({ }); async function main() { - const zoneCreateResponse = await cloudflare.zones.create({ + const zone = await cloudflare.zones.create({ account: { id: '023e105f4ecef8ad9ca31a8372d0c353' }, name: 'example.com', type: 'full', }); - console.log(zoneCreateResponse.id); + console.log(zone.id); } main(); @@ -57,7 +57,7 @@ async function main() { name: 'example.com', type: 'full', }; - const zoneCreateResponse: Cloudflare.ZoneCreateResponse = await cloudflare.zones.create(params); + const zone: Cloudflare.Zone = await cloudflare.zones.create(params); } main(); @@ -194,11 +194,11 @@ const response = await cloudflare.zones console.log(response.headers.get('X-My-Header')); console.log(response.statusText); // access the underlying Response object -const { data: zoneCreateResponse, response: raw } = await cloudflare.zones +const { data: zone, response: raw } = await cloudflare.zones .create({ account: { id: '023e105f4ecef8ad9ca31a8372d0c353' }, name: 'example.com', type: 'full' }) .withResponse(); console.log(raw.headers.get('X-My-Header')); -console.log(zoneCreateResponse.id); +console.log(zone.id); ``` ## Customizing the fetch client @@ -264,7 +264,7 @@ await cloudflare.zones.delete( ); ``` -## Semantic Versioning +## Semantic versioning This package generally follows [SemVer](https://semver.org/spec/v2.0.0.html) conventions, though certain backwards-incompatible changes may be released as minor versions: diff --git a/api.md b/api.md index 5b097f75a1..76f5d683e6 100644 --- a/api.md +++ b/api.md @@ -310,19 +310,15 @@ Methods: Types: - Zone -- ZoneCreateResponse -- ZoneListResponse - ZoneDeleteResponse -- ZoneEditResponse -- ZoneGetResponse Methods: -- client.zones.create({ ...params }) -> ZoneCreateResponse -- client.zones.list({ ...params }) -> ZoneListResponsesV4PagePaginationArray +- client.zones.create({ ...params }) -> Zone +- client.zones.list({ ...params }) -> ZonesV4PagePaginationArray - client.zones.delete({ ...params }) -> ZoneDeleteResponse | null -- client.zones.edit({ ...params }) -> ZoneEditResponse -- client.zones.get({ ...params }) -> ZoneGetResponse +- client.zones.edit({ ...params }) -> Zone +- client.zones.get({ ...params }) -> Zone ## ActivationCheck @@ -1424,25 +1420,20 @@ Methods: Types: - DNSRecord -- RecordCreateResponse -- RecordUpdateResponse -- RecordListResponse - RecordDeleteResponse -- RecordEditResponse - RecordExportResponse -- RecordGetResponse - RecordImportResponse - RecordScanResponse Methods: -- client.dns.records.create({ ...params }) -> RecordCreateResponse -- client.dns.records.update(dnsRecordId, { ...params }) -> RecordUpdateResponse -- client.dns.records.list({ ...params }) -> RecordListResponsesV4PagePaginationArray +- client.dns.records.create({ ...params }) -> DNSRecord +- client.dns.records.update(dnsRecordId, { ...params }) -> DNSRecord +- client.dns.records.list({ ...params }) -> DNSRecordsV4PagePaginationArray - client.dns.records.delete(dnsRecordId, { ...params }) -> RecordDeleteResponse -- client.dns.records.edit(dnsRecordId, { ...params }) -> RecordEditResponse +- client.dns.records.edit(dnsRecordId, { ...params }) -> DNSRecord - client.dns.records.export({ ...params }) -> string -- client.dns.records.get(dnsRecordId, { ...params }) -> RecordGetResponse +- client.dns.records.get(dnsRecordId, { ...params }) -> DNSRecord - client.dns.records.import({ ...params }) -> RecordImportResponse - client.dns.records.scan({ ...params }) -> RecordScanResponse diff --git a/src/index.ts b/src/index.ts index 1bd9db7a11..ed3a20995d 100644 --- a/src/index.ts +++ b/src/index.ts @@ -429,12 +429,8 @@ export namespace Cloudflare { export import Zones = API.Zones; export import Zone = API.Zone; - export import ZoneCreateResponse = API.ZoneCreateResponse; - export import ZoneListResponse = API.ZoneListResponse; export import ZoneDeleteResponse = API.ZoneDeleteResponse; - export import ZoneEditResponse = API.ZoneEditResponse; - export import ZoneGetResponse = API.ZoneGetResponse; - export import ZoneListResponsesV4PagePaginationArray = API.ZoneListResponsesV4PagePaginationArray; + export import ZonesV4PagePaginationArray = API.ZonesV4PagePaginationArray; export import ZoneCreateParams = API.ZoneCreateParams; export import ZoneListParams = API.ZoneListParams; export import ZoneDeleteParams = API.ZoneDeleteParams; diff --git a/src/resources/dns/dns.ts b/src/resources/dns/dns.ts index 425c019123..2604a86c45 100644 --- a/src/resources/dns/dns.ts +++ b/src/resources/dns/dns.ts @@ -14,16 +14,11 @@ export class DNS extends APIResource { export namespace DNS { export import Records = RecordsAPI.Records; export import DNSRecord = RecordsAPI.DNSRecord; - export import RecordCreateResponse = RecordsAPI.RecordCreateResponse; - export import RecordUpdateResponse = RecordsAPI.RecordUpdateResponse; - export import RecordListResponse = RecordsAPI.RecordListResponse; export import RecordDeleteResponse = RecordsAPI.RecordDeleteResponse; - export import RecordEditResponse = RecordsAPI.RecordEditResponse; export import RecordExportResponse = RecordsAPI.RecordExportResponse; - export import RecordGetResponse = RecordsAPI.RecordGetResponse; export import RecordImportResponse = RecordsAPI.RecordImportResponse; export import RecordScanResponse = RecordsAPI.RecordScanResponse; - export import RecordListResponsesV4PagePaginationArray = RecordsAPI.RecordListResponsesV4PagePaginationArray; + export import DNSRecordsV4PagePaginationArray = RecordsAPI.DNSRecordsV4PagePaginationArray; export import RecordCreateParams = RecordsAPI.RecordCreateParams; export import RecordUpdateParams = RecordsAPI.RecordUpdateParams; export import RecordListParams = RecordsAPI.RecordListParams; diff --git a/src/resources/dns/index.ts b/src/resources/dns/index.ts index c7a7dbaf9d..691e704cc3 100644 --- a/src/resources/dns/index.ts +++ b/src/resources/dns/index.ts @@ -15,13 +15,8 @@ export { } from './firewall/index'; export { DNSRecord, - RecordCreateResponse, - RecordUpdateResponse, - RecordListResponse, RecordDeleteResponse, - RecordEditResponse, RecordExportResponse, - RecordGetResponse, RecordImportResponse, RecordScanResponse, RecordCreateParams, @@ -33,6 +28,6 @@ export { RecordGetParams, RecordImportParams, RecordScanParams, - RecordListResponsesV4PagePaginationArray, + DNSRecordsV4PagePaginationArray, Records, } from './records'; diff --git a/src/resources/dns/records.ts b/src/resources/dns/records.ts index 943dba9de8..988cdf18e3 100644 --- a/src/resources/dns/records.ts +++ b/src/resources/dns/records.ts @@ -17,11 +17,11 @@ export class Records extends APIResource { * - Domain names are always represented in Punycode, even if Unicode characters * were used when creating the record. */ - create(params: RecordCreateParams, options?: Core.RequestOptions): Core.APIPromise { + create(params: RecordCreateParams, options?: Core.RequestOptions): Core.APIPromise { const { zone_id, ...body } = params; return ( this._client.post(`/zones/${zone_id}/dns_records`, { body, ...options }) as Core.APIPromise<{ - result: RecordCreateResponse; + result: DNSRecord; }> )._thenUnwrap((obj) => obj.result); } @@ -38,13 +38,13 @@ export class Records extends APIResource { dnsRecordId: string, params: RecordUpdateParams, options?: Core.RequestOptions, - ): Core.APIPromise { + ): Core.APIPromise { const { zone_id, ...body } = params; return ( this._client.put(`/zones/${zone_id}/dns_records/${dnsRecordId}`, { body, ...options, - }) as Core.APIPromise<{ result: RecordUpdateResponse }> + }) as Core.APIPromise<{ result: DNSRecord }> )._thenUnwrap((obj) => obj.result); } @@ -54,13 +54,12 @@ export class Records extends APIResource { list( params: RecordListParams, options?: Core.RequestOptions, - ): Core.PagePromise { + ): Core.PagePromise { const { zone_id, ...query } = params; - return this._client.getAPIList( - `/zones/${zone_id}/dns_records`, - RecordListResponsesV4PagePaginationArray, - { query, ...options }, - ); + return this._client.getAPIList(`/zones/${zone_id}/dns_records`, DNSRecordsV4PagePaginationArray, { + query, + ...options, + }); } /** @@ -91,13 +90,13 @@ export class Records extends APIResource { dnsRecordId: string, params: RecordEditParams, options?: Core.RequestOptions, - ): Core.APIPromise { + ): Core.APIPromise { const { zone_id, ...body } = params; return ( this._client.patch(`/zones/${zone_id}/dns_records/${dnsRecordId}`, { body, ...options, - }) as Core.APIPromise<{ result: RecordEditResponse }> + }) as Core.APIPromise<{ result: DNSRecord }> )._thenUnwrap((obj) => obj.result); } @@ -125,11 +124,11 @@ export class Records extends APIResource { dnsRecordId: string, params: RecordGetParams, options?: Core.RequestOptions, - ): Core.APIPromise { + ): Core.APIPromise { const { zone_id } = params; return ( this._client.get(`/zones/${zone_id}/dns_records/${dnsRecordId}`, options) as Core.APIPromise<{ - result: RecordGetResponse; + result: DNSRecord; }> )._thenUnwrap((obj) => obj.result); } @@ -168,7 +167,7 @@ export class Records extends APIResource { } } -export class RecordListResponsesV4PagePaginationArray extends V4PagePaginationArray {} +export class DNSRecordsV4PagePaginationArray extends V4PagePaginationArray {} export type DNSRecord = | DNSRecord.A @@ -2539,11862 +2538,17 @@ export namespace DNSRecord { } } -export type RecordCreateResponse = - | RecordCreateResponse.A - | RecordCreateResponse.AAAA - | RecordCreateResponse.CAA - | RecordCreateResponse.Cert - | RecordCreateResponse.CNAME - | RecordCreateResponse.DNSKEY - | RecordCreateResponse.DS - | RecordCreateResponse.HTTPS - | RecordCreateResponse.LOC - | RecordCreateResponse.MX - | RecordCreateResponse.NAPTR - | RecordCreateResponse.NS - | RecordCreateResponse.PTR - | RecordCreateResponse.Smimea - | RecordCreateResponse.SRV - | RecordCreateResponse.SSHFP - | RecordCreateResponse.SVCB - | RecordCreateResponse.TLSA - | RecordCreateResponse.TXT - | RecordCreateResponse.URI; - -export namespace RecordCreateResponse { - export interface A { - /** - * A valid IPv4 address. - */ - content: string; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'A'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: A.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Whether the record is receiving the performance and security benefits of - * Cloudflare. - */ - proxied?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace A { - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface AAAA { - /** - * A valid IPv6 address. - */ - content: string; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'AAAA'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: AAAA.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Whether the record is receiving the performance and security benefits of - * Cloudflare. - */ - proxied?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace AAAA { - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface CAA { - /** - * Components of a CAA record. - */ - data: CAA.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'CAA'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted CAA content. See 'data' to set CAA properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: CAA.Meta; +export interface RecordDeleteResponse { + /** + * Identifier + */ + id?: string; +} - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace CAA { - /** - * Components of a CAA record. - */ - export interface Data { - /** - * Flags for the CAA record. - */ - flags?: number; - - /** - * Name of the property controlled by this record (e.g.: issue, issuewild, iodef). - */ - tag?: string; - - /** - * Value of the record. This field's semantics depend on the chosen tag. - */ - value?: string; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface Cert { - /** - * Components of a CERT record. - */ - data: Cert.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'CERT'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted CERT content. See 'data' to set CERT properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: Cert.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace Cert { - /** - * Components of a CERT record. - */ - export interface Data { - /** - * Algorithm. - */ - algorithm?: number; - - /** - * Certificate. - */ - certificate?: string; - - /** - * Key Tag. - */ - key_tag?: number; - - /** - * Type. - */ - type?: number; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface CNAME { - /** - * A valid hostname. Must not match the record's name. - */ - content: unknown; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'CNAME'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: CNAME.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Whether the record is receiving the performance and security benefits of - * Cloudflare. - */ - proxied?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace CNAME { - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface DNSKEY { - /** - * Components of a DNSKEY record. - */ - data: DNSKEY.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'DNSKEY'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted DNSKEY content. See 'data' to set DNSKEY properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: DNSKEY.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace DNSKEY { - /** - * Components of a DNSKEY record. - */ - export interface Data { - /** - * Algorithm. - */ - algorithm?: number; - - /** - * Flags. - */ - flags?: number; - - /** - * Protocol. - */ - protocol?: number; - - /** - * Public Key. - */ - public_key?: string; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface DS { - /** - * Components of a DS record. - */ - data: DS.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'DS'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted DS content. See 'data' to set DS properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: DS.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace DS { - /** - * Components of a DS record. - */ - export interface Data { - /** - * Algorithm. - */ - algorithm?: number; - - /** - * Digest. - */ - digest?: string; - - /** - * Digest Type. - */ - digest_type?: number; - - /** - * Key Tag. - */ - key_tag?: number; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface HTTPS { - /** - * Components of a HTTPS record. - */ - data: HTTPS.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'HTTPS'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted HTTPS content. See 'data' to set HTTPS properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: HTTPS.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace HTTPS { - /** - * Components of a HTTPS record. - */ - export interface Data { - /** - * priority. - */ - priority?: number; - - /** - * target. - */ - target?: string; - - /** - * value. - */ - value?: string; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface LOC { - /** - * Components of a LOC record. - */ - data: LOC.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'LOC'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted LOC content. See 'data' to set LOC properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: LOC.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace LOC { - /** - * Components of a LOC record. - */ - export interface Data { - /** - * Altitude of location in meters. - */ - altitude?: number; - - /** - * Degrees of latitude. - */ - lat_degrees?: number; - - /** - * Latitude direction. - */ - lat_direction?: 'N' | 'S'; - - /** - * Minutes of latitude. - */ - lat_minutes?: number; - - /** - * Seconds of latitude. - */ - lat_seconds?: number; - - /** - * Degrees of longitude. - */ - long_degrees?: number; - - /** - * Longitude direction. - */ - long_direction?: 'E' | 'W'; - - /** - * Minutes of longitude. - */ - long_minutes?: number; - - /** - * Seconds of longitude. - */ - long_seconds?: number; - - /** - * Horizontal precision of location. - */ - precision_horz?: number; - - /** - * Vertical precision of location. - */ - precision_vert?: number; - - /** - * Size of location in meters. - */ - size?: number; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface MX { - /** - * A valid mail server hostname. - */ - content: string; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Required for MX, SRV and URI records; unused by other record types. Records with - * lower priorities are preferred. - */ - priority: number; - - /** - * Record type. - */ - type: 'MX'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: MX.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace MX { - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface NAPTR { - /** - * Components of a NAPTR record. - */ - data: NAPTR.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'NAPTR'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted NAPTR content. See 'data' to set NAPTR properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: NAPTR.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace NAPTR { - /** - * Components of a NAPTR record. - */ - export interface Data { - /** - * Flags. - */ - flags?: string; - - /** - * Order. - */ - order?: number; - - /** - * Preference. - */ - preference?: number; - - /** - * Regex. - */ - regex?: string; - - /** - * Replacement. - */ - replacement?: string; - - /** - * Service. - */ - service?: string; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface NS { - /** - * A valid name server host name. - */ - content: unknown; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'NS'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: NS.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace NS { - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface PTR { - /** - * Domain name pointing to the address. - */ - content: string; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'PTR'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: PTR.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace PTR { - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface Smimea { - /** - * Components of a SMIMEA record. - */ - data: Smimea.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'SMIMEA'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted SMIMEA content. See 'data' to set SMIMEA properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: Smimea.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace Smimea { - /** - * Components of a SMIMEA record. - */ - export interface Data { - /** - * Certificate. - */ - certificate?: string; - - /** - * Matching Type. - */ - matching_type?: number; - - /** - * Selector. - */ - selector?: number; - - /** - * Usage. - */ - usage?: number; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface SRV { - /** - * Components of a SRV record. - */ - data: SRV.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. For SRV records, the first - * label is normally a service and the second a protocol name, each starting with - * an underscore. - */ - name: string; - - /** - * Record type. - */ - type: 'SRV'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Priority, weight, port, and SRV target. See 'data' for setting the individual - * component values. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: SRV.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace SRV { - /** - * Components of a SRV record. - */ - export interface Data { - /** - * @deprecated: A valid hostname. Deprecated in favor of the regular 'name' outside - * the data map. This data map field represents the remainder of the full 'name' - * after the service and protocol. - */ - name?: string; - - /** - * The port of the service. - */ - port?: number; - - /** - * Required for MX, SRV and URI records; unused by other record types. Records with - * lower priorities are preferred. - */ - priority?: number; - - /** - * @deprecated: A valid protocol, prefixed with an underscore. Deprecated in favor - * of the regular 'name' outside the data map. This data map field normally - * represents the second label of that 'name'. - */ - proto?: string; - - /** - * @deprecated: A service type, prefixed with an underscore. Deprecated in favor of - * the regular 'name' outside the data map. This data map field normally represents - * the first label of that 'name'. - */ - service?: string; - - /** - * A valid hostname. - */ - target?: string; - - /** - * The record weight. - */ - weight?: number; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface SSHFP { - /** - * Components of a SSHFP record. - */ - data: SSHFP.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'SSHFP'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted SSHFP content. See 'data' to set SSHFP properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: SSHFP.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace SSHFP { - /** - * Components of a SSHFP record. - */ - export interface Data { - /** - * algorithm. - */ - algorithm?: number; - - /** - * fingerprint. - */ - fingerprint?: string; - - /** - * type. - */ - type?: number; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface SVCB { - /** - * Components of a SVCB record. - */ - data: SVCB.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'SVCB'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted SVCB content. See 'data' to set SVCB properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: SVCB.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace SVCB { - /** - * Components of a SVCB record. - */ - export interface Data { - /** - * priority. - */ - priority?: number; - - /** - * target. - */ - target?: string; - - /** - * value. - */ - value?: string; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface TLSA { - /** - * Components of a TLSA record. - */ - data: TLSA.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'TLSA'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted TLSA content. See 'data' to set TLSA properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: TLSA.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace TLSA { - /** - * Components of a TLSA record. - */ - export interface Data { - /** - * certificate. - */ - certificate?: string; - - /** - * Matching Type. - */ - matching_type?: number; - - /** - * Selector. - */ - selector?: number; - - /** - * Usage. - */ - usage?: number; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface TXT { - /** - * Text content for the record. - */ - content: string; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'TXT'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: TXT.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace TXT { - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface URI { - /** - * Components of a URI record. - */ - data: URI.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Required for MX, SRV and URI records; unused by other record types. Records with - * lower priorities are preferred. - */ - priority: number; - - /** - * Record type. - */ - type: 'URI'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted URI content. See 'data' to set URI properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: URI.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace URI { - /** - * Components of a URI record. - */ - export interface Data { - /** - * The record content. - */ - content?: string; - - /** - * The record weight. - */ - weight?: number; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } -} - -export type RecordUpdateResponse = - | RecordUpdateResponse.A - | RecordUpdateResponse.AAAA - | RecordUpdateResponse.CAA - | RecordUpdateResponse.Cert - | RecordUpdateResponse.CNAME - | RecordUpdateResponse.DNSKEY - | RecordUpdateResponse.DS - | RecordUpdateResponse.HTTPS - | RecordUpdateResponse.LOC - | RecordUpdateResponse.MX - | RecordUpdateResponse.NAPTR - | RecordUpdateResponse.NS - | RecordUpdateResponse.PTR - | RecordUpdateResponse.Smimea - | RecordUpdateResponse.SRV - | RecordUpdateResponse.SSHFP - | RecordUpdateResponse.SVCB - | RecordUpdateResponse.TLSA - | RecordUpdateResponse.TXT - | RecordUpdateResponse.URI; - -export namespace RecordUpdateResponse { - export interface A { - /** - * A valid IPv4 address. - */ - content: string; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'A'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: A.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Whether the record is receiving the performance and security benefits of - * Cloudflare. - */ - proxied?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace A { - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface AAAA { - /** - * A valid IPv6 address. - */ - content: string; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'AAAA'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: AAAA.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Whether the record is receiving the performance and security benefits of - * Cloudflare. - */ - proxied?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace AAAA { - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface CAA { - /** - * Components of a CAA record. - */ - data: CAA.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'CAA'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted CAA content. See 'data' to set CAA properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: CAA.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace CAA { - /** - * Components of a CAA record. - */ - export interface Data { - /** - * Flags for the CAA record. - */ - flags?: number; - - /** - * Name of the property controlled by this record (e.g.: issue, issuewild, iodef). - */ - tag?: string; - - /** - * Value of the record. This field's semantics depend on the chosen tag. - */ - value?: string; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface Cert { - /** - * Components of a CERT record. - */ - data: Cert.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'CERT'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted CERT content. See 'data' to set CERT properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: Cert.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace Cert { - /** - * Components of a CERT record. - */ - export interface Data { - /** - * Algorithm. - */ - algorithm?: number; - - /** - * Certificate. - */ - certificate?: string; - - /** - * Key Tag. - */ - key_tag?: number; - - /** - * Type. - */ - type?: number; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface CNAME { - /** - * A valid hostname. Must not match the record's name. - */ - content: unknown; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'CNAME'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: CNAME.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Whether the record is receiving the performance and security benefits of - * Cloudflare. - */ - proxied?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace CNAME { - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface DNSKEY { - /** - * Components of a DNSKEY record. - */ - data: DNSKEY.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'DNSKEY'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted DNSKEY content. See 'data' to set DNSKEY properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: DNSKEY.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace DNSKEY { - /** - * Components of a DNSKEY record. - */ - export interface Data { - /** - * Algorithm. - */ - algorithm?: number; - - /** - * Flags. - */ - flags?: number; - - /** - * Protocol. - */ - protocol?: number; - - /** - * Public Key. - */ - public_key?: string; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface DS { - /** - * Components of a DS record. - */ - data: DS.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'DS'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted DS content. See 'data' to set DS properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: DS.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace DS { - /** - * Components of a DS record. - */ - export interface Data { - /** - * Algorithm. - */ - algorithm?: number; - - /** - * Digest. - */ - digest?: string; - - /** - * Digest Type. - */ - digest_type?: number; - - /** - * Key Tag. - */ - key_tag?: number; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface HTTPS { - /** - * Components of a HTTPS record. - */ - data: HTTPS.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'HTTPS'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted HTTPS content. See 'data' to set HTTPS properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: HTTPS.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace HTTPS { - /** - * Components of a HTTPS record. - */ - export interface Data { - /** - * priority. - */ - priority?: number; - - /** - * target. - */ - target?: string; - - /** - * value. - */ - value?: string; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface LOC { - /** - * Components of a LOC record. - */ - data: LOC.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'LOC'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted LOC content. See 'data' to set LOC properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: LOC.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace LOC { - /** - * Components of a LOC record. - */ - export interface Data { - /** - * Altitude of location in meters. - */ - altitude?: number; - - /** - * Degrees of latitude. - */ - lat_degrees?: number; - - /** - * Latitude direction. - */ - lat_direction?: 'N' | 'S'; - - /** - * Minutes of latitude. - */ - lat_minutes?: number; - - /** - * Seconds of latitude. - */ - lat_seconds?: number; - - /** - * Degrees of longitude. - */ - long_degrees?: number; - - /** - * Longitude direction. - */ - long_direction?: 'E' | 'W'; - - /** - * Minutes of longitude. - */ - long_minutes?: number; - - /** - * Seconds of longitude. - */ - long_seconds?: number; - - /** - * Horizontal precision of location. - */ - precision_horz?: number; - - /** - * Vertical precision of location. - */ - precision_vert?: number; - - /** - * Size of location in meters. - */ - size?: number; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface MX { - /** - * A valid mail server hostname. - */ - content: string; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Required for MX, SRV and URI records; unused by other record types. Records with - * lower priorities are preferred. - */ - priority: number; - - /** - * Record type. - */ - type: 'MX'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: MX.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace MX { - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface NAPTR { - /** - * Components of a NAPTR record. - */ - data: NAPTR.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'NAPTR'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted NAPTR content. See 'data' to set NAPTR properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: NAPTR.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace NAPTR { - /** - * Components of a NAPTR record. - */ - export interface Data { - /** - * Flags. - */ - flags?: string; - - /** - * Order. - */ - order?: number; - - /** - * Preference. - */ - preference?: number; - - /** - * Regex. - */ - regex?: string; - - /** - * Replacement. - */ - replacement?: string; - - /** - * Service. - */ - service?: string; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface NS { - /** - * A valid name server host name. - */ - content: unknown; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'NS'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: NS.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace NS { - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface PTR { - /** - * Domain name pointing to the address. - */ - content: string; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'PTR'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: PTR.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace PTR { - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface Smimea { - /** - * Components of a SMIMEA record. - */ - data: Smimea.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'SMIMEA'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted SMIMEA content. See 'data' to set SMIMEA properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: Smimea.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace Smimea { - /** - * Components of a SMIMEA record. - */ - export interface Data { - /** - * Certificate. - */ - certificate?: string; - - /** - * Matching Type. - */ - matching_type?: number; - - /** - * Selector. - */ - selector?: number; - - /** - * Usage. - */ - usage?: number; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface SRV { - /** - * Components of a SRV record. - */ - data: SRV.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. For SRV records, the first - * label is normally a service and the second a protocol name, each starting with - * an underscore. - */ - name: string; - - /** - * Record type. - */ - type: 'SRV'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Priority, weight, port, and SRV target. See 'data' for setting the individual - * component values. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: SRV.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace SRV { - /** - * Components of a SRV record. - */ - export interface Data { - /** - * @deprecated: A valid hostname. Deprecated in favor of the regular 'name' outside - * the data map. This data map field represents the remainder of the full 'name' - * after the service and protocol. - */ - name?: string; - - /** - * The port of the service. - */ - port?: number; - - /** - * Required for MX, SRV and URI records; unused by other record types. Records with - * lower priorities are preferred. - */ - priority?: number; - - /** - * @deprecated: A valid protocol, prefixed with an underscore. Deprecated in favor - * of the regular 'name' outside the data map. This data map field normally - * represents the second label of that 'name'. - */ - proto?: string; - - /** - * @deprecated: A service type, prefixed with an underscore. Deprecated in favor of - * the regular 'name' outside the data map. This data map field normally represents - * the first label of that 'name'. - */ - service?: string; - - /** - * A valid hostname. - */ - target?: string; - - /** - * The record weight. - */ - weight?: number; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface SSHFP { - /** - * Components of a SSHFP record. - */ - data: SSHFP.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'SSHFP'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted SSHFP content. See 'data' to set SSHFP properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: SSHFP.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace SSHFP { - /** - * Components of a SSHFP record. - */ - export interface Data { - /** - * algorithm. - */ - algorithm?: number; - - /** - * fingerprint. - */ - fingerprint?: string; - - /** - * type. - */ - type?: number; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface SVCB { - /** - * Components of a SVCB record. - */ - data: SVCB.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'SVCB'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted SVCB content. See 'data' to set SVCB properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: SVCB.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace SVCB { - /** - * Components of a SVCB record. - */ - export interface Data { - /** - * priority. - */ - priority?: number; - - /** - * target. - */ - target?: string; - - /** - * value. - */ - value?: string; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface TLSA { - /** - * Components of a TLSA record. - */ - data: TLSA.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'TLSA'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted TLSA content. See 'data' to set TLSA properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: TLSA.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace TLSA { - /** - * Components of a TLSA record. - */ - export interface Data { - /** - * certificate. - */ - certificate?: string; - - /** - * Matching Type. - */ - matching_type?: number; - - /** - * Selector. - */ - selector?: number; - - /** - * Usage. - */ - usage?: number; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface TXT { - /** - * Text content for the record. - */ - content: string; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'TXT'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: TXT.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace TXT { - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface URI { - /** - * Components of a URI record. - */ - data: URI.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Required for MX, SRV and URI records; unused by other record types. Records with - * lower priorities are preferred. - */ - priority: number; - - /** - * Record type. - */ - type: 'URI'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted URI content. See 'data' to set URI properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: URI.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace URI { - /** - * Components of a URI record. - */ - export interface Data { - /** - * The record content. - */ - content?: string; - - /** - * The record weight. - */ - weight?: number; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } -} - -export type RecordListResponse = - | RecordListResponse.A - | RecordListResponse.AAAA - | RecordListResponse.CAA - | RecordListResponse.Cert - | RecordListResponse.CNAME - | RecordListResponse.DNSKEY - | RecordListResponse.DS - | RecordListResponse.HTTPS - | RecordListResponse.LOC - | RecordListResponse.MX - | RecordListResponse.NAPTR - | RecordListResponse.NS - | RecordListResponse.PTR - | RecordListResponse.Smimea - | RecordListResponse.SRV - | RecordListResponse.SSHFP - | RecordListResponse.SVCB - | RecordListResponse.TLSA - | RecordListResponse.TXT - | RecordListResponse.URI; - -export namespace RecordListResponse { - export interface A { - /** - * A valid IPv4 address. - */ - content: string; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'A'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: A.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Whether the record is receiving the performance and security benefits of - * Cloudflare. - */ - proxied?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace A { - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface AAAA { - /** - * A valid IPv6 address. - */ - content: string; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'AAAA'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: AAAA.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Whether the record is receiving the performance and security benefits of - * Cloudflare. - */ - proxied?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace AAAA { - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface CAA { - /** - * Components of a CAA record. - */ - data: CAA.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'CAA'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted CAA content. See 'data' to set CAA properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: CAA.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace CAA { - /** - * Components of a CAA record. - */ - export interface Data { - /** - * Flags for the CAA record. - */ - flags?: number; - - /** - * Name of the property controlled by this record (e.g.: issue, issuewild, iodef). - */ - tag?: string; - - /** - * Value of the record. This field's semantics depend on the chosen tag. - */ - value?: string; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface Cert { - /** - * Components of a CERT record. - */ - data: Cert.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'CERT'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted CERT content. See 'data' to set CERT properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: Cert.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace Cert { - /** - * Components of a CERT record. - */ - export interface Data { - /** - * Algorithm. - */ - algorithm?: number; - - /** - * Certificate. - */ - certificate?: string; - - /** - * Key Tag. - */ - key_tag?: number; - - /** - * Type. - */ - type?: number; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface CNAME { - /** - * A valid hostname. Must not match the record's name. - */ - content: unknown; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'CNAME'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: CNAME.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Whether the record is receiving the performance and security benefits of - * Cloudflare. - */ - proxied?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace CNAME { - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface DNSKEY { - /** - * Components of a DNSKEY record. - */ - data: DNSKEY.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'DNSKEY'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted DNSKEY content. See 'data' to set DNSKEY properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: DNSKEY.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace DNSKEY { - /** - * Components of a DNSKEY record. - */ - export interface Data { - /** - * Algorithm. - */ - algorithm?: number; - - /** - * Flags. - */ - flags?: number; - - /** - * Protocol. - */ - protocol?: number; - - /** - * Public Key. - */ - public_key?: string; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface DS { - /** - * Components of a DS record. - */ - data: DS.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'DS'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted DS content. See 'data' to set DS properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: DS.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace DS { - /** - * Components of a DS record. - */ - export interface Data { - /** - * Algorithm. - */ - algorithm?: number; - - /** - * Digest. - */ - digest?: string; - - /** - * Digest Type. - */ - digest_type?: number; - - /** - * Key Tag. - */ - key_tag?: number; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface HTTPS { - /** - * Components of a HTTPS record. - */ - data: HTTPS.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'HTTPS'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted HTTPS content. See 'data' to set HTTPS properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: HTTPS.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace HTTPS { - /** - * Components of a HTTPS record. - */ - export interface Data { - /** - * priority. - */ - priority?: number; - - /** - * target. - */ - target?: string; - - /** - * value. - */ - value?: string; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface LOC { - /** - * Components of a LOC record. - */ - data: LOC.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'LOC'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted LOC content. See 'data' to set LOC properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: LOC.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace LOC { - /** - * Components of a LOC record. - */ - export interface Data { - /** - * Altitude of location in meters. - */ - altitude?: number; - - /** - * Degrees of latitude. - */ - lat_degrees?: number; - - /** - * Latitude direction. - */ - lat_direction?: 'N' | 'S'; - - /** - * Minutes of latitude. - */ - lat_minutes?: number; - - /** - * Seconds of latitude. - */ - lat_seconds?: number; - - /** - * Degrees of longitude. - */ - long_degrees?: number; - - /** - * Longitude direction. - */ - long_direction?: 'E' | 'W'; - - /** - * Minutes of longitude. - */ - long_minutes?: number; - - /** - * Seconds of longitude. - */ - long_seconds?: number; - - /** - * Horizontal precision of location. - */ - precision_horz?: number; - - /** - * Vertical precision of location. - */ - precision_vert?: number; - - /** - * Size of location in meters. - */ - size?: number; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface MX { - /** - * A valid mail server hostname. - */ - content: string; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Required for MX, SRV and URI records; unused by other record types. Records with - * lower priorities are preferred. - */ - priority: number; - - /** - * Record type. - */ - type: 'MX'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: MX.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace MX { - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface NAPTR { - /** - * Components of a NAPTR record. - */ - data: NAPTR.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'NAPTR'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted NAPTR content. See 'data' to set NAPTR properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: NAPTR.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace NAPTR { - /** - * Components of a NAPTR record. - */ - export interface Data { - /** - * Flags. - */ - flags?: string; - - /** - * Order. - */ - order?: number; - - /** - * Preference. - */ - preference?: number; - - /** - * Regex. - */ - regex?: string; - - /** - * Replacement. - */ - replacement?: string; - - /** - * Service. - */ - service?: string; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface NS { - /** - * A valid name server host name. - */ - content: unknown; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'NS'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: NS.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace NS { - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface PTR { - /** - * Domain name pointing to the address. - */ - content: string; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'PTR'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: PTR.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace PTR { - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface Smimea { - /** - * Components of a SMIMEA record. - */ - data: Smimea.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'SMIMEA'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted SMIMEA content. See 'data' to set SMIMEA properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: Smimea.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace Smimea { - /** - * Components of a SMIMEA record. - */ - export interface Data { - /** - * Certificate. - */ - certificate?: string; - - /** - * Matching Type. - */ - matching_type?: number; - - /** - * Selector. - */ - selector?: number; - - /** - * Usage. - */ - usage?: number; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface SRV { - /** - * Components of a SRV record. - */ - data: SRV.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. For SRV records, the first - * label is normally a service and the second a protocol name, each starting with - * an underscore. - */ - name: string; - - /** - * Record type. - */ - type: 'SRV'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Priority, weight, port, and SRV target. See 'data' for setting the individual - * component values. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: SRV.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace SRV { - /** - * Components of a SRV record. - */ - export interface Data { - /** - * @deprecated: A valid hostname. Deprecated in favor of the regular 'name' outside - * the data map. This data map field represents the remainder of the full 'name' - * after the service and protocol. - */ - name?: string; - - /** - * The port of the service. - */ - port?: number; - - /** - * Required for MX, SRV and URI records; unused by other record types. Records with - * lower priorities are preferred. - */ - priority?: number; - - /** - * @deprecated: A valid protocol, prefixed with an underscore. Deprecated in favor - * of the regular 'name' outside the data map. This data map field normally - * represents the second label of that 'name'. - */ - proto?: string; - - /** - * @deprecated: A service type, prefixed with an underscore. Deprecated in favor of - * the regular 'name' outside the data map. This data map field normally represents - * the first label of that 'name'. - */ - service?: string; - - /** - * A valid hostname. - */ - target?: string; - - /** - * The record weight. - */ - weight?: number; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface SSHFP { - /** - * Components of a SSHFP record. - */ - data: SSHFP.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'SSHFP'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted SSHFP content. See 'data' to set SSHFP properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: SSHFP.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace SSHFP { - /** - * Components of a SSHFP record. - */ - export interface Data { - /** - * algorithm. - */ - algorithm?: number; - - /** - * fingerprint. - */ - fingerprint?: string; - - /** - * type. - */ - type?: number; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface SVCB { - /** - * Components of a SVCB record. - */ - data: SVCB.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'SVCB'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted SVCB content. See 'data' to set SVCB properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: SVCB.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace SVCB { - /** - * Components of a SVCB record. - */ - export interface Data { - /** - * priority. - */ - priority?: number; - - /** - * target. - */ - target?: string; - - /** - * value. - */ - value?: string; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface TLSA { - /** - * Components of a TLSA record. - */ - data: TLSA.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'TLSA'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted TLSA content. See 'data' to set TLSA properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: TLSA.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace TLSA { - /** - * Components of a TLSA record. - */ - export interface Data { - /** - * certificate. - */ - certificate?: string; - - /** - * Matching Type. - */ - matching_type?: number; - - /** - * Selector. - */ - selector?: number; - - /** - * Usage. - */ - usage?: number; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface TXT { - /** - * Text content for the record. - */ - content: string; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'TXT'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: TXT.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace TXT { - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface URI { - /** - * Components of a URI record. - */ - data: URI.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Required for MX, SRV and URI records; unused by other record types. Records with - * lower priorities are preferred. - */ - priority: number; - - /** - * Record type. - */ - type: 'URI'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted URI content. See 'data' to set URI properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: URI.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace URI { - /** - * Components of a URI record. - */ - export interface Data { - /** - * The record content. - */ - content?: string; - - /** - * The record weight. - */ - weight?: number; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } -} - -export interface RecordDeleteResponse { - /** - * Identifier - */ - id?: string; -} - -export type RecordEditResponse = - | RecordEditResponse.A - | RecordEditResponse.AAAA - | RecordEditResponse.CAA - | RecordEditResponse.Cert - | RecordEditResponse.CNAME - | RecordEditResponse.DNSKEY - | RecordEditResponse.DS - | RecordEditResponse.HTTPS - | RecordEditResponse.LOC - | RecordEditResponse.MX - | RecordEditResponse.NAPTR - | RecordEditResponse.NS - | RecordEditResponse.PTR - | RecordEditResponse.Smimea - | RecordEditResponse.SRV - | RecordEditResponse.SSHFP - | RecordEditResponse.SVCB - | RecordEditResponse.TLSA - | RecordEditResponse.TXT - | RecordEditResponse.URI; - -export namespace RecordEditResponse { - export interface A { - /** - * A valid IPv4 address. - */ - content: string; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'A'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: A.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Whether the record is receiving the performance and security benefits of - * Cloudflare. - */ - proxied?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace A { - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface AAAA { - /** - * A valid IPv6 address. - */ - content: string; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'AAAA'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: AAAA.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Whether the record is receiving the performance and security benefits of - * Cloudflare. - */ - proxied?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace AAAA { - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface CAA { - /** - * Components of a CAA record. - */ - data: CAA.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'CAA'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted CAA content. See 'data' to set CAA properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: CAA.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace CAA { - /** - * Components of a CAA record. - */ - export interface Data { - /** - * Flags for the CAA record. - */ - flags?: number; - - /** - * Name of the property controlled by this record (e.g.: issue, issuewild, iodef). - */ - tag?: string; - - /** - * Value of the record. This field's semantics depend on the chosen tag. - */ - value?: string; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface Cert { - /** - * Components of a CERT record. - */ - data: Cert.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'CERT'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted CERT content. See 'data' to set CERT properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: Cert.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace Cert { - /** - * Components of a CERT record. - */ - export interface Data { - /** - * Algorithm. - */ - algorithm?: number; - - /** - * Certificate. - */ - certificate?: string; - - /** - * Key Tag. - */ - key_tag?: number; - - /** - * Type. - */ - type?: number; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface CNAME { - /** - * A valid hostname. Must not match the record's name. - */ - content: unknown; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'CNAME'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: CNAME.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Whether the record is receiving the performance and security benefits of - * Cloudflare. - */ - proxied?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace CNAME { - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface DNSKEY { - /** - * Components of a DNSKEY record. - */ - data: DNSKEY.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'DNSKEY'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted DNSKEY content. See 'data' to set DNSKEY properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: DNSKEY.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace DNSKEY { - /** - * Components of a DNSKEY record. - */ - export interface Data { - /** - * Algorithm. - */ - algorithm?: number; - - /** - * Flags. - */ - flags?: number; - - /** - * Protocol. - */ - protocol?: number; - - /** - * Public Key. - */ - public_key?: string; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface DS { - /** - * Components of a DS record. - */ - data: DS.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'DS'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted DS content. See 'data' to set DS properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: DS.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace DS { - /** - * Components of a DS record. - */ - export interface Data { - /** - * Algorithm. - */ - algorithm?: number; - - /** - * Digest. - */ - digest?: string; - - /** - * Digest Type. - */ - digest_type?: number; - - /** - * Key Tag. - */ - key_tag?: number; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface HTTPS { - /** - * Components of a HTTPS record. - */ - data: HTTPS.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'HTTPS'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted HTTPS content. See 'data' to set HTTPS properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: HTTPS.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace HTTPS { - /** - * Components of a HTTPS record. - */ - export interface Data { - /** - * priority. - */ - priority?: number; - - /** - * target. - */ - target?: string; - - /** - * value. - */ - value?: string; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface LOC { - /** - * Components of a LOC record. - */ - data: LOC.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'LOC'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted LOC content. See 'data' to set LOC properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: LOC.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace LOC { - /** - * Components of a LOC record. - */ - export interface Data { - /** - * Altitude of location in meters. - */ - altitude?: number; - - /** - * Degrees of latitude. - */ - lat_degrees?: number; - - /** - * Latitude direction. - */ - lat_direction?: 'N' | 'S'; - - /** - * Minutes of latitude. - */ - lat_minutes?: number; - - /** - * Seconds of latitude. - */ - lat_seconds?: number; - - /** - * Degrees of longitude. - */ - long_degrees?: number; - - /** - * Longitude direction. - */ - long_direction?: 'E' | 'W'; - - /** - * Minutes of longitude. - */ - long_minutes?: number; - - /** - * Seconds of longitude. - */ - long_seconds?: number; - - /** - * Horizontal precision of location. - */ - precision_horz?: number; - - /** - * Vertical precision of location. - */ - precision_vert?: number; - - /** - * Size of location in meters. - */ - size?: number; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface MX { - /** - * A valid mail server hostname. - */ - content: string; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Required for MX, SRV and URI records; unused by other record types. Records with - * lower priorities are preferred. - */ - priority: number; - - /** - * Record type. - */ - type: 'MX'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: MX.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace MX { - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface NAPTR { - /** - * Components of a NAPTR record. - */ - data: NAPTR.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'NAPTR'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted NAPTR content. See 'data' to set NAPTR properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: NAPTR.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace NAPTR { - /** - * Components of a NAPTR record. - */ - export interface Data { - /** - * Flags. - */ - flags?: string; - - /** - * Order. - */ - order?: number; - - /** - * Preference. - */ - preference?: number; - - /** - * Regex. - */ - regex?: string; - - /** - * Replacement. - */ - replacement?: string; - - /** - * Service. - */ - service?: string; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface NS { - /** - * A valid name server host name. - */ - content: unknown; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'NS'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: NS.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace NS { - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface PTR { - /** - * Domain name pointing to the address. - */ - content: string; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'PTR'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: PTR.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace PTR { - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface Smimea { - /** - * Components of a SMIMEA record. - */ - data: Smimea.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'SMIMEA'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted SMIMEA content. See 'data' to set SMIMEA properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: Smimea.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace Smimea { - /** - * Components of a SMIMEA record. - */ - export interface Data { - /** - * Certificate. - */ - certificate?: string; - - /** - * Matching Type. - */ - matching_type?: number; - - /** - * Selector. - */ - selector?: number; - - /** - * Usage. - */ - usage?: number; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface SRV { - /** - * Components of a SRV record. - */ - data: SRV.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. For SRV records, the first - * label is normally a service and the second a protocol name, each starting with - * an underscore. - */ - name: string; - - /** - * Record type. - */ - type: 'SRV'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Priority, weight, port, and SRV target. See 'data' for setting the individual - * component values. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: SRV.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace SRV { - /** - * Components of a SRV record. - */ - export interface Data { - /** - * @deprecated: A valid hostname. Deprecated in favor of the regular 'name' outside - * the data map. This data map field represents the remainder of the full 'name' - * after the service and protocol. - */ - name?: string; - - /** - * The port of the service. - */ - port?: number; - - /** - * Required for MX, SRV and URI records; unused by other record types. Records with - * lower priorities are preferred. - */ - priority?: number; - - /** - * @deprecated: A valid protocol, prefixed with an underscore. Deprecated in favor - * of the regular 'name' outside the data map. This data map field normally - * represents the second label of that 'name'. - */ - proto?: string; - - /** - * @deprecated: A service type, prefixed with an underscore. Deprecated in favor of - * the regular 'name' outside the data map. This data map field normally represents - * the first label of that 'name'. - */ - service?: string; - - /** - * A valid hostname. - */ - target?: string; - - /** - * The record weight. - */ - weight?: number; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface SSHFP { - /** - * Components of a SSHFP record. - */ - data: SSHFP.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'SSHFP'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted SSHFP content. See 'data' to set SSHFP properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: SSHFP.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace SSHFP { - /** - * Components of a SSHFP record. - */ - export interface Data { - /** - * algorithm. - */ - algorithm?: number; - - /** - * fingerprint. - */ - fingerprint?: string; - - /** - * type. - */ - type?: number; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface SVCB { - /** - * Components of a SVCB record. - */ - data: SVCB.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'SVCB'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted SVCB content. See 'data' to set SVCB properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: SVCB.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace SVCB { - /** - * Components of a SVCB record. - */ - export interface Data { - /** - * priority. - */ - priority?: number; - - /** - * target. - */ - target?: string; - - /** - * value. - */ - value?: string; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface TLSA { - /** - * Components of a TLSA record. - */ - data: TLSA.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'TLSA'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted TLSA content. See 'data' to set TLSA properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: TLSA.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace TLSA { - /** - * Components of a TLSA record. - */ - export interface Data { - /** - * certificate. - */ - certificate?: string; - - /** - * Matching Type. - */ - matching_type?: number; - - /** - * Selector. - */ - selector?: number; - - /** - * Usage. - */ - usage?: number; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface TXT { - /** - * Text content for the record. - */ - content: string; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'TXT'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: TXT.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace TXT { - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface URI { - /** - * Components of a URI record. - */ - data: URI.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Required for MX, SRV and URI records; unused by other record types. Records with - * lower priorities are preferred. - */ - priority: number; - - /** - * Record type. - */ - type: 'URI'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted URI content. See 'data' to set URI properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: URI.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace URI { - /** - * Components of a URI record. - */ - export interface Data { - /** - * The record content. - */ - content?: string; - - /** - * The record weight. - */ - weight?: number; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } -} - -/** - * Exported BIND zone file. - */ -export type RecordExportResponse = string; - -export type RecordGetResponse = - | RecordGetResponse.A - | RecordGetResponse.AAAA - | RecordGetResponse.CAA - | RecordGetResponse.Cert - | RecordGetResponse.CNAME - | RecordGetResponse.DNSKEY - | RecordGetResponse.DS - | RecordGetResponse.HTTPS - | RecordGetResponse.LOC - | RecordGetResponse.MX - | RecordGetResponse.NAPTR - | RecordGetResponse.NS - | RecordGetResponse.PTR - | RecordGetResponse.Smimea - | RecordGetResponse.SRV - | RecordGetResponse.SSHFP - | RecordGetResponse.SVCB - | RecordGetResponse.TLSA - | RecordGetResponse.TXT - | RecordGetResponse.URI; - -export namespace RecordGetResponse { - export interface A { - /** - * A valid IPv4 address. - */ - content: string; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'A'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: A.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Whether the record is receiving the performance and security benefits of - * Cloudflare. - */ - proxied?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace A { - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface AAAA { - /** - * A valid IPv6 address. - */ - content: string; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'AAAA'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: AAAA.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Whether the record is receiving the performance and security benefits of - * Cloudflare. - */ - proxied?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace AAAA { - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface CAA { - /** - * Components of a CAA record. - */ - data: CAA.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'CAA'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted CAA content. See 'data' to set CAA properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: CAA.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace CAA { - /** - * Components of a CAA record. - */ - export interface Data { - /** - * Flags for the CAA record. - */ - flags?: number; - - /** - * Name of the property controlled by this record (e.g.: issue, issuewild, iodef). - */ - tag?: string; - - /** - * Value of the record. This field's semantics depend on the chosen tag. - */ - value?: string; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface Cert { - /** - * Components of a CERT record. - */ - data: Cert.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'CERT'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted CERT content. See 'data' to set CERT properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: Cert.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace Cert { - /** - * Components of a CERT record. - */ - export interface Data { - /** - * Algorithm. - */ - algorithm?: number; - - /** - * Certificate. - */ - certificate?: string; - - /** - * Key Tag. - */ - key_tag?: number; - - /** - * Type. - */ - type?: number; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface CNAME { - /** - * A valid hostname. Must not match the record's name. - */ - content: unknown; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'CNAME'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: CNAME.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Whether the record is receiving the performance and security benefits of - * Cloudflare. - */ - proxied?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace CNAME { - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface DNSKEY { - /** - * Components of a DNSKEY record. - */ - data: DNSKEY.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'DNSKEY'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted DNSKEY content. See 'data' to set DNSKEY properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: DNSKEY.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace DNSKEY { - /** - * Components of a DNSKEY record. - */ - export interface Data { - /** - * Algorithm. - */ - algorithm?: number; - - /** - * Flags. - */ - flags?: number; - - /** - * Protocol. - */ - protocol?: number; - - /** - * Public Key. - */ - public_key?: string; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface DS { - /** - * Components of a DS record. - */ - data: DS.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'DS'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted DS content. See 'data' to set DS properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: DS.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace DS { - /** - * Components of a DS record. - */ - export interface Data { - /** - * Algorithm. - */ - algorithm?: number; - - /** - * Digest. - */ - digest?: string; - - /** - * Digest Type. - */ - digest_type?: number; - - /** - * Key Tag. - */ - key_tag?: number; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface HTTPS { - /** - * Components of a HTTPS record. - */ - data: HTTPS.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'HTTPS'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted HTTPS content. See 'data' to set HTTPS properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: HTTPS.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace HTTPS { - /** - * Components of a HTTPS record. - */ - export interface Data { - /** - * priority. - */ - priority?: number; - - /** - * target. - */ - target?: string; - - /** - * value. - */ - value?: string; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface LOC { - /** - * Components of a LOC record. - */ - data: LOC.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'LOC'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted LOC content. See 'data' to set LOC properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: LOC.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace LOC { - /** - * Components of a LOC record. - */ - export interface Data { - /** - * Altitude of location in meters. - */ - altitude?: number; - - /** - * Degrees of latitude. - */ - lat_degrees?: number; - - /** - * Latitude direction. - */ - lat_direction?: 'N' | 'S'; - - /** - * Minutes of latitude. - */ - lat_minutes?: number; - - /** - * Seconds of latitude. - */ - lat_seconds?: number; - - /** - * Degrees of longitude. - */ - long_degrees?: number; - - /** - * Longitude direction. - */ - long_direction?: 'E' | 'W'; - - /** - * Minutes of longitude. - */ - long_minutes?: number; - - /** - * Seconds of longitude. - */ - long_seconds?: number; - - /** - * Horizontal precision of location. - */ - precision_horz?: number; - - /** - * Vertical precision of location. - */ - precision_vert?: number; - - /** - * Size of location in meters. - */ - size?: number; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface MX { - /** - * A valid mail server hostname. - */ - content: string; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Required for MX, SRV and URI records; unused by other record types. Records with - * lower priorities are preferred. - */ - priority: number; - - /** - * Record type. - */ - type: 'MX'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: MX.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace MX { - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface NAPTR { - /** - * Components of a NAPTR record. - */ - data: NAPTR.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'NAPTR'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted NAPTR content. See 'data' to set NAPTR properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: NAPTR.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace NAPTR { - /** - * Components of a NAPTR record. - */ - export interface Data { - /** - * Flags. - */ - flags?: string; - - /** - * Order. - */ - order?: number; - - /** - * Preference. - */ - preference?: number; - - /** - * Regex. - */ - regex?: string; - - /** - * Replacement. - */ - replacement?: string; - - /** - * Service. - */ - service?: string; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface NS { - /** - * A valid name server host name. - */ - content: unknown; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'NS'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: NS.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace NS { - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface PTR { - /** - * Domain name pointing to the address. - */ - content: string; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'PTR'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: PTR.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace PTR { - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface Smimea { - /** - * Components of a SMIMEA record. - */ - data: Smimea.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'SMIMEA'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted SMIMEA content. See 'data' to set SMIMEA properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: Smimea.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace Smimea { - /** - * Components of a SMIMEA record. - */ - export interface Data { - /** - * Certificate. - */ - certificate?: string; - - /** - * Matching Type. - */ - matching_type?: number; - - /** - * Selector. - */ - selector?: number; - - /** - * Usage. - */ - usage?: number; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface SRV { - /** - * Components of a SRV record. - */ - data: SRV.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. For SRV records, the first - * label is normally a service and the second a protocol name, each starting with - * an underscore. - */ - name: string; - - /** - * Record type. - */ - type: 'SRV'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Priority, weight, port, and SRV target. See 'data' for setting the individual - * component values. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: SRV.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace SRV { - /** - * Components of a SRV record. - */ - export interface Data { - /** - * @deprecated: A valid hostname. Deprecated in favor of the regular 'name' outside - * the data map. This data map field represents the remainder of the full 'name' - * after the service and protocol. - */ - name?: string; - - /** - * The port of the service. - */ - port?: number; - - /** - * Required for MX, SRV and URI records; unused by other record types. Records with - * lower priorities are preferred. - */ - priority?: number; - - /** - * @deprecated: A valid protocol, prefixed with an underscore. Deprecated in favor - * of the regular 'name' outside the data map. This data map field normally - * represents the second label of that 'name'. - */ - proto?: string; - - /** - * @deprecated: A service type, prefixed with an underscore. Deprecated in favor of - * the regular 'name' outside the data map. This data map field normally represents - * the first label of that 'name'. - */ - service?: string; - - /** - * A valid hostname. - */ - target?: string; - - /** - * The record weight. - */ - weight?: number; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface SSHFP { - /** - * Components of a SSHFP record. - */ - data: SSHFP.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'SSHFP'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted SSHFP content. See 'data' to set SSHFP properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: SSHFP.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace SSHFP { - /** - * Components of a SSHFP record. - */ - export interface Data { - /** - * algorithm. - */ - algorithm?: number; - - /** - * fingerprint. - */ - fingerprint?: string; - - /** - * type. - */ - type?: number; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface SVCB { - /** - * Components of a SVCB record. - */ - data: SVCB.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'SVCB'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted SVCB content. See 'data' to set SVCB properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: SVCB.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace SVCB { - /** - * Components of a SVCB record. - */ - export interface Data { - /** - * priority. - */ - priority?: number; - - /** - * target. - */ - target?: string; - - /** - * value. - */ - value?: string; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface TLSA { - /** - * Components of a TLSA record. - */ - data: TLSA.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'TLSA'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted TLSA content. See 'data' to set TLSA properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: TLSA.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace TLSA { - /** - * Components of a TLSA record. - */ - export interface Data { - /** - * certificate. - */ - certificate?: string; - - /** - * Matching Type. - */ - matching_type?: number; - - /** - * Selector. - */ - selector?: number; - - /** - * Usage. - */ - usage?: number; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface TXT { - /** - * Text content for the record. - */ - content: string; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Record type. - */ - type: 'TXT'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: TXT.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace TXT { - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } - - export interface URI { - /** - * Components of a URI record. - */ - data: URI.Data; - - /** - * DNS record name (or @ for the zone apex) in Punycode. - */ - name: string; - - /** - * Required for MX, SRV and URI records; unused by other record types. Records with - * lower priorities are preferred. - */ - priority: number; - - /** - * Record type. - */ - type: 'URI'; - - /** - * Identifier - */ - id?: string; - - /** - * Comments or notes about the DNS record. This field has no effect on DNS - * responses. - */ - comment?: string; - - /** - * Formatted URI content. See 'data' to set URI properties. - */ - content?: string; - - /** - * When the record was created. - */ - created_on?: string; - - /** - * Whether this record can be modified/deleted (true means it's managed by - * Cloudflare). - */ - locked?: boolean; - - /** - * Extra Cloudflare-specific information about the record. - */ - meta?: URI.Meta; - - /** - * When the record was last modified. - */ - modified_on?: string; - - /** - * Whether the record can be proxied by Cloudflare or not. - */ - proxiable?: boolean; - - /** - * Custom tags for the DNS record. This field has no effect on DNS responses. - */ - tags?: Array; - - /** - * 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. - */ - ttl?: number | 1; - - /** - * Identifier - */ - zone_id?: string; - - /** - * The domain of the record. - */ - zone_name?: string; - } - - export namespace URI { - /** - * Components of a URI record. - */ - export interface Data { - /** - * The record content. - */ - content?: string; - - /** - * The record weight. - */ - weight?: number; - } - - /** - * Extra Cloudflare-specific information about the record. - */ - export interface Meta { - /** - * Will exist if Cloudflare automatically added this DNS record during initial - * setup. - */ - auto_added?: boolean; - - /** - * Where the record originated from. - */ - source?: string; - } - } -} +/** + * Exported BIND zone file. + */ +export type RecordExportResponse = string; export interface RecordImportResponse { /** @@ -15546,16 +3700,11 @@ export interface RecordScanParams { export namespace Records { export import DNSRecord = RecordsAPI.DNSRecord; - export import RecordCreateResponse = RecordsAPI.RecordCreateResponse; - export import RecordUpdateResponse = RecordsAPI.RecordUpdateResponse; - export import RecordListResponse = RecordsAPI.RecordListResponse; export import RecordDeleteResponse = RecordsAPI.RecordDeleteResponse; - export import RecordEditResponse = RecordsAPI.RecordEditResponse; export import RecordExportResponse = RecordsAPI.RecordExportResponse; - export import RecordGetResponse = RecordsAPI.RecordGetResponse; export import RecordImportResponse = RecordsAPI.RecordImportResponse; export import RecordScanResponse = RecordsAPI.RecordScanResponse; - export import RecordListResponsesV4PagePaginationArray = RecordsAPI.RecordListResponsesV4PagePaginationArray; + export import DNSRecordsV4PagePaginationArray = RecordsAPI.DNSRecordsV4PagePaginationArray; export import RecordCreateParams = RecordsAPI.RecordCreateParams; export import RecordUpdateParams = RecordsAPI.RecordUpdateParams; export import RecordListParams = RecordsAPI.RecordListParams; diff --git a/src/resources/index.ts b/src/resources/index.ts index c50e8b6762..4f3978a0e7 100644 --- a/src/resources/index.ts +++ b/src/resources/index.ts @@ -369,17 +369,13 @@ export { export { ZeroTrust } from './zero-trust/zero-trust'; export { Zone, - ZoneCreateResponse, - ZoneListResponse, ZoneDeleteResponse, - ZoneEditResponse, - ZoneGetResponse, ZoneCreateParams, ZoneListParams, ZoneDeleteParams, ZoneEditParams, ZoneGetParams, - ZoneListResponsesV4PagePaginationArray, + ZonesV4PagePaginationArray, Zones, } from './zones/zones'; export { diff --git a/src/resources/zero-trust/dlp/profiles/custom.ts b/src/resources/zero-trust/dlp/profiles/custom.ts index 067151799a..7c50e906a9 100644 --- a/src/resources/zero-trust/dlp/profiles/custom.ts +++ b/src/resources/zero-trust/dlp/profiles/custom.ts @@ -102,6 +102,11 @@ export interface DLPCustomProfile { */ name?: string; + /** + * If true, scan images via OCR to determine if any text present matches filters. + */ + ocr_enabled?: boolean; + /** * The type of the profile. */ @@ -236,6 +241,11 @@ export namespace CustomCreateParams { * The name of the profile. */ name?: string; + + /** + * If true, scan images via OCR to determine if any text present matches filters. + */ + ocr_enabled?: boolean; } export namespace Profile { @@ -343,6 +353,12 @@ export interface CustomUpdateParams { */ name?: string; + /** + * Body param: If true, scan images via OCR to determine if any text present + * matches filters. + */ + ocr_enabled?: boolean; + /** * Body param: Entries from other profiles (e.g. pre-defined Cloudflare profiles, * or your Microsoft Information Protection profiles). diff --git a/src/resources/zero-trust/dlp/profiles/predefined.ts b/src/resources/zero-trust/dlp/profiles/predefined.ts index f9a7c9f13b..31050ac3a6 100644 --- a/src/resources/zero-trust/dlp/profiles/predefined.ts +++ b/src/resources/zero-trust/dlp/profiles/predefined.ts @@ -65,6 +65,11 @@ export interface DLPPredefinedProfile { */ name?: string; + /** + * If true, scan images via OCR to determine if any text present matches filters. + */ + ocr_enabled?: boolean; + /** * The type of the profile. */ @@ -149,6 +154,12 @@ export interface PredefinedUpdateParams { * Body param: The entries for this profile. */ entries?: Array; + + /** + * Body param: If true, scan images via OCR to determine if any text present + * matches filters. + */ + ocr_enabled?: boolean; } export namespace PredefinedUpdateParams { diff --git a/src/resources/zones/index.ts b/src/resources/zones/index.ts index a98a9b049b..7fde16c88b 100644 --- a/src/resources/zones/index.ts +++ b/src/resources/zones/index.ts @@ -38,16 +38,12 @@ export { export { Workers } from './workers/index'; export { Zone, - ZoneCreateResponse, - ZoneListResponse, ZoneDeleteResponse, - ZoneEditResponse, - ZoneGetResponse, ZoneCreateParams, ZoneListParams, ZoneDeleteParams, ZoneEditParams, ZoneGetParams, - ZoneListResponsesV4PagePaginationArray, + ZonesV4PagePaginationArray, Zones, } from './zones'; diff --git a/src/resources/zones/zones.ts b/src/resources/zones/zones.ts index 1fd4bda9ac..4018329a57 100644 --- a/src/resources/zones/zones.ts +++ b/src/resources/zones/zones.ts @@ -25,9 +25,9 @@ export class Zones extends APIResource { /** * Create Zone */ - create(body: ZoneCreateParams, options?: Core.RequestOptions): Core.APIPromise { + create(body: ZoneCreateParams, options?: Core.RequestOptions): Core.APIPromise { return ( - this._client.post('/zones', { body, ...options }) as Core.APIPromise<{ result: ZoneCreateResponse }> + this._client.post('/zones', { body, ...options }) as Core.APIPromise<{ result: Zone }> )._thenUnwrap((obj) => obj.result); } @@ -37,18 +37,16 @@ export class Zones extends APIResource { list( query?: ZoneListParams, options?: Core.RequestOptions, - ): Core.PagePromise; - list( - options?: Core.RequestOptions, - ): Core.PagePromise; + ): Core.PagePromise; + list(options?: Core.RequestOptions): Core.PagePromise; list( query: ZoneListParams | Core.RequestOptions = {}, options?: Core.RequestOptions, - ): Core.PagePromise { + ): Core.PagePromise { if (isRequestOptions(query)) { return this.list({}, query); } - return this._client.getAPIList('/zones', ZoneListResponsesV4PagePaginationArray, { query, ...options }); + return this._client.getAPIList('/zones', ZonesV4PagePaginationArray, { query, ...options }); } /** @@ -69,27 +67,25 @@ export class Zones extends APIResource { /** * Edits a zone. Only one zone property can be changed at a time. */ - edit(params: ZoneEditParams, options?: Core.RequestOptions): Core.APIPromise { + edit(params: ZoneEditParams, options?: Core.RequestOptions): Core.APIPromise { const { zone_id, ...body } = params; return ( - this._client.patch(`/zones/${zone_id}`, { body, ...options }) as Core.APIPromise<{ - result: ZoneEditResponse; - }> + this._client.patch(`/zones/${zone_id}`, { body, ...options }) as Core.APIPromise<{ result: Zone }> )._thenUnwrap((obj) => obj.result); } /** * Zone Details */ - get(params: ZoneGetParams, options?: Core.RequestOptions): Core.APIPromise { + get(params: ZoneGetParams, options?: Core.RequestOptions): Core.APIPromise { const { zone_id } = params; - return ( - this._client.get(`/zones/${zone_id}`, options) as Core.APIPromise<{ result: ZoneGetResponse }> - )._thenUnwrap((obj) => obj.result); + return (this._client.get(`/zones/${zone_id}`, options) as Core.APIPromise<{ result: Zone }>)._thenUnwrap( + (obj) => obj.result, + ); } } -export class ZoneListResponsesV4PagePaginationArray extends V4PagePaginationArray {} +export class ZonesV4PagePaginationArray extends V4PagePaginationArray {} export interface Zone { /** @@ -236,591 +232,11 @@ export namespace Zone { } } -export interface ZoneCreateResponse { - /** - * Identifier - */ - id: string; - - /** - * The account the zone belongs to - */ - account: ZoneCreateResponse.Account; - - /** - * The last time proof of ownership was detected and the zone was made active - */ - activated_on: string | null; - - /** - * When the zone was created - */ - created_on: string; - - /** - * 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. - */ - development_mode: number; - - /** - * Metadata about the zone - */ - meta: ZoneCreateResponse.Meta; - - /** - * When the zone was last modified - */ - modified_on: string; - - /** - * The domain name - */ - name: string; - - /** - * DNS host at the time of switching to Cloudflare - */ - original_dnshost: string | null; - - /** - * Original name servers before moving to Cloudflare Notes: Is this only available - * for full zones? - */ - original_name_servers: Array | null; - - /** - * Registrar for the domain at the time of switching to Cloudflare - */ - original_registrar: string | null; - - /** - * The owner of the zone - */ - owner: ZoneCreateResponse.Owner; - - /** - * An array of domains used for custom name servers. This is only available for - * Business and Enterprise plans. - */ - vanity_name_servers?: Array; -} - -export namespace ZoneCreateResponse { - /** - * The account the zone belongs to - */ - export interface Account { - /** - * Identifier - */ - id?: string; - - /** - * The name of the account - */ - name?: string; - } - - /** - * Metadata about the zone - */ - export interface Meta { - /** - * The zone is only configured for CDN - */ - cdn_only?: boolean; - - /** - * Number of Custom Certificates the zone can have - */ - custom_certificate_quota?: number; - - /** - * The zone is only configured for DNS - */ - dns_only?: boolean; - - /** - * The zone is setup with Foundation DNS - */ - foundation_dns?: boolean; - - /** - * Number of Page Rules a zone can have - */ - page_rule_quota?: number; - - /** - * The zone has been flagged for phishing - */ - phishing_detected?: boolean; - - step?: number; - } - - /** - * The owner of the zone - */ - export interface Owner { - /** - * Identifier - */ - id?: string; - - /** - * Name of the owner - */ - name?: string; - - /** - * The type of owner - */ - type?: string; - } -} - -export interface ZoneListResponse { +export interface ZoneDeleteResponse { /** * Identifier */ id: string; - - /** - * The account the zone belongs to - */ - account: ZoneListResponse.Account; - - /** - * The last time proof of ownership was detected and the zone was made active - */ - activated_on: string | null; - - /** - * When the zone was created - */ - created_on: string; - - /** - * 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. - */ - development_mode: number; - - /** - * Metadata about the zone - */ - meta: ZoneListResponse.Meta; - - /** - * When the zone was last modified - */ - modified_on: string; - - /** - * The domain name - */ - name: string; - - /** - * DNS host at the time of switching to Cloudflare - */ - original_dnshost: string | null; - - /** - * Original name servers before moving to Cloudflare Notes: Is this only available - * for full zones? - */ - original_name_servers: Array | null; - - /** - * Registrar for the domain at the time of switching to Cloudflare - */ - original_registrar: string | null; - - /** - * The owner of the zone - */ - owner: ZoneListResponse.Owner; - - /** - * An array of domains used for custom name servers. This is only available for - * Business and Enterprise plans. - */ - vanity_name_servers?: Array; -} - -export namespace ZoneListResponse { - /** - * The account the zone belongs to - */ - export interface Account { - /** - * Identifier - */ - id?: string; - - /** - * The name of the account - */ - name?: string; - } - - /** - * Metadata about the zone - */ - export interface Meta { - /** - * The zone is only configured for CDN - */ - cdn_only?: boolean; - - /** - * Number of Custom Certificates the zone can have - */ - custom_certificate_quota?: number; - - /** - * The zone is only configured for DNS - */ - dns_only?: boolean; - - /** - * The zone is setup with Foundation DNS - */ - foundation_dns?: boolean; - - /** - * Number of Page Rules a zone can have - */ - page_rule_quota?: number; - - /** - * The zone has been flagged for phishing - */ - phishing_detected?: boolean; - - step?: number; - } - - /** - * The owner of the zone - */ - export interface Owner { - /** - * Identifier - */ - id?: string; - - /** - * Name of the owner - */ - name?: string; - - /** - * The type of owner - */ - type?: string; - } -} - -export interface ZoneDeleteResponse { - /** - * Identifier - */ - id: string; -} - -export interface ZoneEditResponse { - /** - * Identifier - */ - id: string; - - /** - * The account the zone belongs to - */ - account: ZoneEditResponse.Account; - - /** - * The last time proof of ownership was detected and the zone was made active - */ - activated_on: string | null; - - /** - * When the zone was created - */ - created_on: string; - - /** - * 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. - */ - development_mode: number; - - /** - * Metadata about the zone - */ - meta: ZoneEditResponse.Meta; - - /** - * When the zone was last modified - */ - modified_on: string; - - /** - * The domain name - */ - name: string; - - /** - * DNS host at the time of switching to Cloudflare - */ - original_dnshost: string | null; - - /** - * Original name servers before moving to Cloudflare Notes: Is this only available - * for full zones? - */ - original_name_servers: Array | null; - - /** - * Registrar for the domain at the time of switching to Cloudflare - */ - original_registrar: string | null; - - /** - * The owner of the zone - */ - owner: ZoneEditResponse.Owner; - - /** - * An array of domains used for custom name servers. This is only available for - * Business and Enterprise plans. - */ - vanity_name_servers?: Array; -} - -export namespace ZoneEditResponse { - /** - * The account the zone belongs to - */ - export interface Account { - /** - * Identifier - */ - id?: string; - - /** - * The name of the account - */ - name?: string; - } - - /** - * Metadata about the zone - */ - export interface Meta { - /** - * The zone is only configured for CDN - */ - cdn_only?: boolean; - - /** - * Number of Custom Certificates the zone can have - */ - custom_certificate_quota?: number; - - /** - * The zone is only configured for DNS - */ - dns_only?: boolean; - - /** - * The zone is setup with Foundation DNS - */ - foundation_dns?: boolean; - - /** - * Number of Page Rules a zone can have - */ - page_rule_quota?: number; - - /** - * The zone has been flagged for phishing - */ - phishing_detected?: boolean; - - step?: number; - } - - /** - * The owner of the zone - */ - export interface Owner { - /** - * Identifier - */ - id?: string; - - /** - * Name of the owner - */ - name?: string; - - /** - * The type of owner - */ - type?: string; - } -} - -export interface ZoneGetResponse { - /** - * Identifier - */ - id: string; - - /** - * The account the zone belongs to - */ - account: ZoneGetResponse.Account; - - /** - * The last time proof of ownership was detected and the zone was made active - */ - activated_on: string | null; - - /** - * When the zone was created - */ - created_on: string; - - /** - * 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. - */ - development_mode: number; - - /** - * Metadata about the zone - */ - meta: ZoneGetResponse.Meta; - - /** - * When the zone was last modified - */ - modified_on: string; - - /** - * The domain name - */ - name: string; - - /** - * DNS host at the time of switching to Cloudflare - */ - original_dnshost: string | null; - - /** - * Original name servers before moving to Cloudflare Notes: Is this only available - * for full zones? - */ - original_name_servers: Array | null; - - /** - * Registrar for the domain at the time of switching to Cloudflare - */ - original_registrar: string | null; - - /** - * The owner of the zone - */ - owner: ZoneGetResponse.Owner; - - /** - * An array of domains used for custom name servers. This is only available for - * Business and Enterprise plans. - */ - vanity_name_servers?: Array; -} - -export namespace ZoneGetResponse { - /** - * The account the zone belongs to - */ - export interface Account { - /** - * Identifier - */ - id?: string; - - /** - * The name of the account - */ - name?: string; - } - - /** - * Metadata about the zone - */ - export interface Meta { - /** - * The zone is only configured for CDN - */ - cdn_only?: boolean; - - /** - * Number of Custom Certificates the zone can have - */ - custom_certificate_quota?: number; - - /** - * The zone is only configured for DNS - */ - dns_only?: boolean; - - /** - * The zone is setup with Foundation DNS - */ - foundation_dns?: boolean; - - /** - * Number of Page Rules a zone can have - */ - page_rule_quota?: number; - - /** - * The zone has been flagged for phishing - */ - phishing_detected?: boolean; - - step?: number; - } - - /** - * The owner of the zone - */ - export interface Owner { - /** - * Identifier - */ - id?: string; - - /** - * Name of the owner - */ - name?: string; - - /** - * The type of owner - */ - type?: string; - } } export interface ZoneCreateParams { @@ -968,12 +384,8 @@ export interface ZoneGetParams { export namespace Zones { export import Zone = ZonesAPI.Zone; - export import ZoneCreateResponse = ZonesAPI.ZoneCreateResponse; - export import ZoneListResponse = ZonesAPI.ZoneListResponse; export import ZoneDeleteResponse = ZonesAPI.ZoneDeleteResponse; - export import ZoneEditResponse = ZonesAPI.ZoneEditResponse; - export import ZoneGetResponse = ZonesAPI.ZoneGetResponse; - export import ZoneListResponsesV4PagePaginationArray = ZonesAPI.ZoneListResponsesV4PagePaginationArray; + export import ZonesV4PagePaginationArray = ZonesAPI.ZonesV4PagePaginationArray; export import ZoneCreateParams = ZonesAPI.ZoneCreateParams; export import ZoneListParams = ZonesAPI.ZoneListParams; export import ZoneDeleteParams = ZonesAPI.ZoneDeleteParams; diff --git a/tests/api-resources/zero-trust/dlp/profiles/custom.test.ts b/tests/api-resources/zero-trust/dlp/profiles/custom.test.ts index ae21a76ff6..491f6a2486 100644 --- a/tests/api-resources/zero-trust/dlp/profiles/custom.test.ts +++ b/tests/api-resources/zero-trust/dlp/profiles/custom.test.ts @@ -52,6 +52,7 @@ describe('resource custom', () => { }, ], name: 'Generic CVV Card Number', + ocr_enabled: true, }, { allowed_match_count: 5, @@ -75,6 +76,7 @@ describe('resource custom', () => { }, ], name: 'Generic CVV Card Number', + ocr_enabled: true, }, { allowed_match_count: 5, @@ -98,6 +100,7 @@ describe('resource custom', () => { }, ], name: 'Generic CVV Card Number', + ocr_enabled: true, }, ], }); @@ -148,6 +151,7 @@ describe('resource custom', () => { }, ], name: 'Generic CVV Card Number', + ocr_enabled: true, shared_entries: [{ enabled: true }, { enabled: true }, { enabled: true }], }, ); diff --git a/tests/api-resources/zero-trust/dlp/profiles/predefined.test.ts b/tests/api-resources/zero-trust/dlp/profiles/predefined.test.ts index 0c046aa7f6..be884fb336 100644 --- a/tests/api-resources/zero-trust/dlp/profiles/predefined.test.ts +++ b/tests/api-resources/zero-trust/dlp/profiles/predefined.test.ts @@ -34,6 +34,7 @@ describe('resource predefined', () => { allowed_match_count: 5, context_awareness: { enabled: true, skip: { files: true } }, entries: [{ enabled: true }, { enabled: true }, { enabled: true }], + ocr_enabled: true, }, ); });