cloudflare
Version:
The official TypeScript library for the Cloudflare API
1,793 lines • 157 kB
TypeScript
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