cloudflare
Version:
The official TypeScript library for the Cloudflare API
316 lines • 10 kB
TypeScript
import * as Core from 'cloudflare/core';
import { APIResource } from 'cloudflare/resource';
import * as ActivationCheckAPI from 'cloudflare/resources/zones/activation-check';
import * as CustomNameserversAPI from 'cloudflare/resources/zones/custom-nameservers';
import * as DNSSettingsAPI from 'cloudflare/resources/zones/dns-settings';
import * as HoldsAPI from 'cloudflare/resources/zones/holds';
import * as SubscriptionsAPI from 'cloudflare/resources/zones/subscriptions';
import * as SettingsAPI from 'cloudflare/resources/zones/settings/settings';
import { V4PagePaginationArray, type V4PagePaginationArrayParams } from 'cloudflare/pagination';
export declare class Zones extends APIResource {
activationCheck: ActivationCheckAPI.ActivationCheck;
dnsSettings: DNSSettingsAPI.DNSSettings;
settings: SettingsAPI.Settings;
customNameservers: CustomNameserversAPI.CustomNameservers;
holds: HoldsAPI.Holds;
subscriptions: SubscriptionsAPI.Subscriptions;
/**
* Create Zone
*/
create(body: ZoneCreateParams, options?: Core.RequestOptions): Core.APIPromise<Zone>;
/**
* Lists, searches, sorts, and filters your zones.
*/
list(query?: ZoneListParams, options?: Core.RequestOptions): Core.PagePromise<ZonesV4PagePaginationArray, Zone>;
list(options?: Core.RequestOptions): Core.PagePromise<ZonesV4PagePaginationArray, Zone>;
/**
* Deletes an existing zone.
*/
delete(params: ZoneDeleteParams, options?: Core.RequestOptions): Core.APIPromise<ZoneDeleteResponse | null>;
/**
* Edits a zone. Only one zone property can be changed at a time.
*/
edit(params: ZoneEditParams, options?: Core.RequestOptions): Core.APIPromise<Zone>;
/**
* Zone Details
*/
get(params: ZoneGetParams, options?: Core.RequestOptions): Core.APIPromise<Zone>;
}
export declare class ZonesV4PagePaginationArray extends V4PagePaginationArray<Zone> {
}
export interface Zone {
/**
* Identifier
*/
id: string;
/**
* The account the zone belongs to
*/
account: Zone.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: Zone.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<string> | null;
/**
* Registrar for the domain at the time of switching to Cloudflare
*/
original_registrar: string | null;
/**
* The owner of the zone
*/
owner: Zone.Owner;
/**
* An array of domains used for custom name servers. This is only available for
* Business and Enterprise plans.
*/
vanity_name_servers?: Array<string>;
}
export declare namespace Zone {
/**
* The account the zone belongs to
*/
interface Account {
/**
* Identifier
*/
id?: string;
/**
* The name of the account
*/
name?: string;
}
/**
* Metadata about the zone
*/
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
*/
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 ZoneCreateParams {
account: ZoneCreateParams.Account;
/**
* The domain name
*/
name: string;
/**
* A full zone implies that DNS is hosted with Cloudflare. A partial zone is
* typically a partner-hosted zone or a CNAME setup.
*/
type?: 'full' | 'partial' | 'secondary';
}
export declare namespace ZoneCreateParams {
interface Account {
/**
* Identifier
*/
id?: string;
}
}
export interface ZoneListParams extends V4PagePaginationArrayParams {
account?: ZoneListParams.Account;
/**
* Direction to order zones.
*/
direction?: 'asc' | 'desc';
/**
* Whether to match all search requirements or at least one (any).
*/
match?: 'any' | 'all';
/**
* A domain name. Optional filter operators can be provided to extend refine the
* search:
*
* - `equal` (default)
* - `not_equal`
* - `starts_with`
* - `ends_with`
* - `contains`
* - `starts_with_case_sensitive`
* - `ends_with_case_sensitive`
* - `contains_case_sensitive`
*/
name?: string;
/**
* Field to order zones by.
*/
order?: 'name' | 'status' | 'account.id' | 'account.name';
/**
* A zone status
*/
status?: 'initializing' | 'pending' | 'active' | 'moved';
}
export declare namespace ZoneListParams {
interface Account {
/**
* An account ID
*/
id?: string;
/**
* An account Name. Optional filter operators can be provided to extend refine the
* search:
*
* - `equal` (default)
* - `not_equal`
* - `starts_with`
* - `ends_with`
* - `contains`
* - `starts_with_case_sensitive`
* - `ends_with_case_sensitive`
* - `contains_case_sensitive`
*/
name?: string;
}
}
export interface ZoneDeleteParams {
/**
* Identifier
*/
zone_id: string;
}
export interface ZoneEditParams {
/**
* Path param: Identifier
*/
zone_id: string;
/**
* Body param: (Deprecated) Please use the `/zones/{zone_id}/subscription` API to
* update a zone's plan. Changing this value will create/cancel associated
* subscriptions. To view available plans for this zone, see Zone Plans.
*/
plan?: ZoneEditParams.Plan;
/**
* Body param: A full zone implies that DNS is hosted with Cloudflare. A partial
* zone is typically a partner-hosted zone or a CNAME setup. This parameter is only
* available to Enterprise customers or if it has been explicitly enabled on a
* zone.
*/
type?: 'full' | 'partial' | 'secondary';
/**
* Body param: An array of domains used for custom name servers. This is only
* available for Business and Enterprise plans.
*/
vanity_name_servers?: Array<string>;
}
export declare namespace ZoneEditParams {
/**
* (Deprecated) Please use the `/zones/{zone_id}/subscription` API to update a
* zone's plan. Changing this value will create/cancel associated subscriptions. To
* view available plans for this zone, see Zone Plans.
*/
interface Plan {
/**
* Identifier
*/
id?: string;
}
}
export interface ZoneGetParams {
/**
* Identifier
*/
zone_id: string;
}
export declare namespace Zones {
export import ActivationCheck = ActivationCheckAPI.ActivationCheck;
export import ActivationCheckTriggerResponse = ActivationCheckAPI.ActivationCheckTriggerResponse;
export import ActivationCheckTriggerParams = ActivationCheckAPI.ActivationCheckTriggerParams;
export import DNSSettings = DNSSettingsAPI.DNSSettings;
export import DNSSetting = DNSSettingsAPI.DNSSetting;
export import Nameserver = DNSSettingsAPI.Nameserver;
export import DNSSettingEditParams = DNSSettingsAPI.DNSSettingEditParams;
export import DNSSettingGetParams = DNSSettingsAPI.DNSSettingGetParams;
export import Settings = SettingsAPI.Settings;
export import CustomNameservers = CustomNameserversAPI.CustomNameservers;
export import CustomNameserverUpdateResponse = CustomNameserversAPI.CustomNameserverUpdateResponse;
export import CustomNameserverGetResponse = CustomNameserversAPI.CustomNameserverGetResponse;
export import CustomNameserverUpdateParams = CustomNameserversAPI.CustomNameserverUpdateParams;
export import CustomNameserverGetParams = CustomNameserversAPI.CustomNameserverGetParams;
export import Holds = HoldsAPI.Holds;
export import ZoneHold = HoldsAPI.ZoneHold;
export import HoldCreateParams = HoldsAPI.HoldCreateParams;
export import HoldDeleteParams = HoldsAPI.HoldDeleteParams;
export import HoldGetParams = HoldsAPI.HoldGetParams;
export import Subscriptions = SubscriptionsAPI.Subscriptions;
export import SubscriptionCreateResponse = SubscriptionsAPI.SubscriptionCreateResponse;
export import SubscriptionGetResponse = SubscriptionsAPI.SubscriptionGetResponse;
export import SubscriptionCreateParams = SubscriptionsAPI.SubscriptionCreateParams;
}
//# sourceMappingURL=zones.d.ts.map