UNPKG

cloudflare

Version:

The official TypeScript library for the Cloudflare API

316 lines 10 kB
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