UNPKG

cloudflare

Version:

The official TypeScript library for the Cloudflare API

1,793 lines 157 kB
import * as Core from 'cloudflare/core'; import { APIResource } from 'cloudflare/resource'; import * as RecordsAPI from 'cloudflare/resources/dns/records'; import { V4PagePaginationArray, type V4PagePaginationArrayParams } from 'cloudflare/pagination'; export declare class Records extends APIResource { /** * Create a new DNS record for a zone. * * Notes: * * - A/AAAA records cannot exist on the same name as CNAME records. * - NS records cannot exist on the same name as any other record type. * - 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<DNSRecord>; /** * Overwrite an existing DNS record. Notes: * * - A/AAAA records cannot exist on the same name as CNAME records. * - NS records cannot exist on the same name as any other record type. * - Domain names are always represented in Punycode, even if Unicode characters * were used when creating the record. */ update(dnsRecordId: string, params: RecordUpdateParams, options?: Core.RequestOptions): Core.APIPromise<DNSRecord>; /** * List, search, sort, and filter a zones' DNS records. */ list(params: RecordListParams, options?: Core.RequestOptions): Core.PagePromise<DNSRecordsV4PagePaginationArray, DNSRecord>; /** * Delete DNS Record */ delete(dnsRecordId: string, params: RecordDeleteParams, options?: Core.RequestOptions): Core.APIPromise<RecordDeleteResponse>; /** * Update an existing DNS record. Notes: * * - A/AAAA records cannot exist on the same name as CNAME records. * - NS records cannot exist on the same name as any other record type. * - Domain names are always represented in Punycode, even if Unicode characters * were used when creating the record. */ edit(dnsRecordId: string, params: RecordEditParams, options?: Core.RequestOptions): Core.APIPromise<DNSRecord>; /** * You can export your * [BIND config](https://en.wikipedia.org/wiki/Zone_file "Zone file") through this * endpoint. * * See * [the documentation](https://developers.cloudflare.com/dns/manage-dns-records/how-to/import-and-export/ "Import and export records") * for more information. */ export(params: RecordExportParams, options?: Core.RequestOptions): Core.APIPromise<string>; /** * DNS Record Details */ get(dnsRecordId: string, params: RecordGetParams, options?: Core.RequestOptions): Core.APIPromise<DNSRecord>; /** * You can upload your * [BIND config](https://en.wikipedia.org/wiki/Zone_file "Zone file") through this * endpoint. It assumes that cURL is called from a location with bind_config.txt * (valid BIND config) present. * * See * [the documentation](https://developers.cloudflare.com/dns/manage-dns-records/how-to/import-and-export/ "Import and export records") * for more information. */ import(params: RecordImportParams, options?: Core.RequestOptions): Core.APIPromise<RecordImportResponse>; /** * Scan for common DNS records on your domain and automatically add them to your * zone. Useful if you haven't updated your nameservers yet. */ scan(params: RecordScanParams, options?: Core.RequestOptions): Core.APIPromise<RecordScanResponse>; } export declare class DNSRecordsV4PagePaginationArray extends V4PagePaginationArray<DNSRecord> { } export type DNSRecord = DNSRecord.A | DNSRecord.AAAA | DNSRecord.CAA | DNSRecord.CERT | DNSRecord.CNAME | DNSRecord.DNSKEY | DNSRecord.DS | DNSRecord.HTTPS | DNSRecord.LOC | DNSRecord.MX | DNSRecord.NAPTR | DNSRecord.NS | DNSRecord.PTR | DNSRecord.SMIMEA | DNSRecord.SRV | DNSRecord.SSHFP | DNSRecord.SVCB | DNSRecord.TLSA | DNSRecord.TXT | DNSRecord.URI; export declare namespace DNSRecord { 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<string>; /** * 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; } namespace A { /** * Extra Cloudflare-specific information about the record. */ interface Meta { /** * Will exist if Cloudflare automatically added this DNS record during initial * setup. */ auto_added?: boolean; /** * Where the record originated from. */ source?: string; } } 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<string>; /** * 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; } namespace AAAA { /** * Extra Cloudflare-specific information about the record. */ interface Meta { /** * Will exist if Cloudflare automatically added this DNS record during initial * setup. */ auto_added?: boolean; /** * Where the record originated from. */ source?: string; } } 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<string>; /** * 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; } namespace CAA { /** * Components of a CAA record. */ 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. */ interface Meta { /** * Will exist if Cloudflare automatically added this DNS record during initial * setup. */ auto_added?: boolean; /** * Where the record originated from. */ source?: string; } } 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<string>; /** * 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; } namespace CERT { /** * Components of a CERT record. */ interface Data { /** * Algorithm. */ algorithm?: number; /** * Certificate. */ certificate?: string; /** * Key Tag. */ key_tag?: number; /** * Type. */ type?: number; } /** * Extra Cloudflare-specific information about the record. */ interface Meta { /** * Will exist if Cloudflare automatically added this DNS record during initial * setup. */ auto_added?: boolean; /** * Where the record originated from. */ source?: string; } } 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<string>; /** * 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; } namespace CNAME { /** * Extra Cloudflare-specific information about the record. */ interface Meta { /** * Will exist if Cloudflare automatically added this DNS record during initial * setup. */ auto_added?: boolean; /** * Where the record originated from. */ source?: string; } } 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<string>; /** * 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; } namespace DNSKEY { /** * Components of a DNSKEY record. */ interface Data { /** * Algorithm. */ algorithm?: number; /** * Flags. */ flags?: number; /** * Protocol. */ protocol?: number; /** * Public Key. */ public_key?: string; } /** * Extra Cloudflare-specific information about the record. */ interface Meta { /** * Will exist if Cloudflare automatically added this DNS record during initial * setup. */ auto_added?: boolean; /** * Where the record originated from. */ source?: string; } } 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<string>; /** * 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; } namespace DS { /** * Components of a DS record. */ 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. */ interface Meta { /** * Will exist if Cloudflare automatically added this DNS record during initial * setup. */ auto_added?: boolean; /** * Where the record originated from. */ source?: string; } } 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<string>; /** * 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; } namespace HTTPS { /** * Components of a HTTPS record. */ interface Data { /** * priority. */ priority?: number; /** * target. */ target?: string; /** * value. */ value?: string; } /** * Extra Cloudflare-specific information about the record. */ interface Meta { /** * Will exist if Cloudflare automatically added this DNS record during initial * setup. */ auto_added?: boolean; /** * Where the record originated from. */ source?: string; } } 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<string>; /** * 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; } namespace LOC { /** * Components of a LOC record. */ 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. */ interface Meta { /** * Will exist if Cloudflare automatically added this DNS record during initial * setup. */ auto_added?: boolean; /** * Where the record originated from. */ source?: string; } } 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<string>; /** * 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; } namespace MX { /** * Extra Cloudflare-specific information about the record. */ interface Meta { /** * Will exist if Cloudflare automatically added this DNS record during initial * setup. */ auto_added?: boolean; /** * Where the record originated from. */ source?: string; } } 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<string>; /** * 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; } namespace NAPTR { /** * Components of a NAPTR record. */ 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. */ interface Meta { /** * Will exist if Cloudflare automatically added this DNS record during initial * setup. */ auto_added?: boolean; /** * Where the record originated from. */ source?: string; } } interface NS { /** * A valid name server host name. */ content: string; /** * 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<string>; /** * 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; } namespace NS { /** * Extra Cloudflare-specific information about the record. */ interface Meta { /** * Will exist if Cloudflare automatically added this DNS record during initial * setup. */ auto_added?: boolean; /** * Where the record originated from. */ source?: string; } } 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<string>; /** * 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; } namespace PTR { /** * Extra Cloudflare-specific information about the record. */ interface Meta { /** * Will exist if Cloudflare automatically added this DNS record during initial * setup. */ auto_added?: boolean; /** * Where the record originated from. */ source?: string; } } 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<string>; /** * 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; } namespace SMIMEA { /** * Components of a SMIMEA record. */ interface Data { /** * Certificate. */ certificate?: string; /** * Matching Type. */ matching_type?: number; /** * Selector. */ selector?: number; /** * Usage. */ usage?: number; } /** * Extra Cloudflare-specific information about the record. */ interface Meta { /** * Will exist if Cloudflare automatically added this DNS record during initial * setup. */ auto_added?: boolean; /** * Where the record originated from. */ source?: string; } } 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<string>; /** * 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; } namespace SRV { /** * Components of a SRV record. */ 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. */ interface Meta { /** * Will exist if Cloudflare automatically added this DNS record during initial * setup. */ auto_added?: boolean; /** * Where the record originated from. */ source?: string; } } 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<string>; /** * 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; } namespace SSHFP { /** * Components of a SSHFP record. */ interface Data { /** * algorithm. */ algorithm?: number; /** * fingerprint. */ fingerprint?: string; /** * type. */ type?: number; } /** * Extra Cloudflare-specific information about the record. */ interface Meta { /** * Will exist if Cloudflare automatically added this DNS record during initial * setup. */ auto_added?: boolean; /** * Where the record originated from. */ source?: string; } } 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<string>; /** * 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; } namespace SVCB { /** * Components of a SVCB record. */ interface Data { /** * priority. */ priority?: number; /** * target. */ target?: string; /** * value. */ value?: string; } /** * Extra Cloudflare-specific information about the record. */ interface Meta { /** * Will exist if Cloudflare automatically added this DNS record during initial * setup. */ auto_added?: boolean; /** * Where the record originated from. */ source?: string; } } 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; /** * Cus