cloudflare
Version:
The official TypeScript library for the Cloudflare API
126 lines • 3.9 kB
text/typescript
import { APIResource } from "../../core/resource.mjs";
import * as EmailRoutingAPI from "./email-routing.mjs";
import { APIPromise } from "../../core/api-promise.mjs";
import { SinglePage } from "../../core/pagination.mjs";
import { RequestOptions } from "../../internal/request-options.mjs";
export declare class BaseDNS extends APIResource {
static readonly _key: readonly ['emailRouting', 'dns'];
/**
* Enable your Email Routing zone. Add and lock the necessary MX and SPF records.
*
* @example
* ```ts
* const settings = await client.emailRouting.dns.create({
* zone_id: '023e105f4ecef8ad9ca31a8372d0c353',
* });
* ```
*/
create(params: DNSCreateParams, options?: RequestOptions): APIPromise<EmailRoutingAPI.Settings>;
/**
* Disable your Email Routing zone. Also removes additional MX records previously
* required for Email Routing to work.
*
* @example
* ```ts
* const settings = await client.emailRouting.dns.delete({
* zone_id: '023e105f4ecef8ad9ca31a8372d0c353',
* });
* ```
*/
delete(params: DNSDeleteParams, options?: RequestOptions): APIPromise<EmailRoutingAPI.Settings>;
/**
* Unlock MX Records previously locked by Email Routing.
*
* @example
* ```ts
* const settings = await client.emailRouting.dns.edit({
* zone_id: '023e105f4ecef8ad9ca31a8372d0c353',
* });
* ```
*/
edit(params: DNSEditParams, options?: RequestOptions): APIPromise<EmailRoutingAPI.Settings>;
/**
* Show the DNS records needed to configure your Email Routing zone.
*
* @example
* ```ts
* const dnsRecords = await client.emailRouting.dns.get({
* zone_id: '023e105f4ecef8ad9ca31a8372d0c353',
* });
* ```
*/
get(params: DNSGetParams, options?: RequestOptions): APIPromise<DNSGetResponse>;
}
export declare class DNS extends BaseDNS {
}
export type DNSRecordsSinglePage = SinglePage<DNSRecord>;
/**
* List of records needed to enable an Email Routing zone.
*/
export interface DNSRecord {
/**
* DNS record content.
*/
content?: string;
/**
* DNS record name (or @ for the zone apex).
*/
name?: string;
/**
* Required for MX, SRV and URI records. Unused by other record types. Records with
* lower priorities are preferred.
*/
priority?: number;
/**
* Time to live, in seconds, of the DNS record. Must be between 60 and 86400, or 1
* for 'automatic'.
*/
ttl?: number | 1;
/**
* DNS record type.
*/
type?: 'A' | 'AAAA' | 'CNAME' | 'HTTPS' | 'TXT' | 'SRV' | 'LOC' | 'MX' | 'NS' | 'CERT' | 'DNSKEY' | 'DS' | 'NAPTR' | 'SMIMEA' | 'SSHFP' | 'SVCB' | 'TLSA' | 'URI';
}
export type DNSGetResponse = Array<DNSRecord>;
export interface DNSCreateParams {
/**
* Path param: Identifier.
*/
zone_id: string;
/**
* Body param: Domain of your zone.
*/
name?: string;
}
export interface DNSDeleteParams {
/**
* Identifier.
*/
zone_id: string;
}
export interface DNSEditParams {
/**
* Path param: Identifier.
*/
zone_id: string;
/**
* Body param: Domain of your zone.
*/
name?: string;
}
export interface DNSGetParams {
/**
* Path param: Identifier.
*/
zone_id: string;
/**
* Query param: Deprecated. When supplied, the response shape differs from the
* documented default and is not modeled in generated SDKs. Do not rely on this
* parameter.
*/
subdomain?: string;
}
export declare namespace DNS {
export { type DNSRecord as DNSRecord, type DNSGetResponse as DNSGetResponse, type DNSCreateParams as DNSCreateParams, type DNSDeleteParams as DNSDeleteParams, type DNSEditParams as DNSEditParams, type DNSGetParams as DNSGetParams, };
}
//# sourceMappingURL=dns.d.mts.map