cloudflare
Version:
The official TypeScript library for the Cloudflare API
249 lines • 8.62 kB
TypeScript
import { APIResource } from "../../../core/resource.js";
import { APIPromise } from "../../../core/api-promise.js";
import { PagePromise, SinglePage } from "../../../core/pagination.js";
import { RequestOptions } from "../../../internal/request-options.js";
export declare class BaseDomains extends APIResource {
static readonly _key: readonly ['pages', 'projects', 'domains'];
/**
* Attach a custom domain to a Cloudflare Pages project.
*
* @example
* ```ts
* const domain = await client.pages.projects.domains.create(
* 'this-is-my-project-01',
* {
* account_id: '023e105f4ecef8ad9ca31a8372d0c353',
* name: 'example.com',
* },
* );
* ```
*/
create(projectName: string, params: DomainCreateParams, options?: RequestOptions): APIPromise<DomainCreateResponse>;
/**
* List the custom domains associated with a Cloudflare Pages project.
*
* @example
* ```ts
* // Automatically fetches more pages as needed.
* for await (const domainListResponse of client.pages.projects.domains.list(
* 'this-is-my-project-01',
* { account_id: '023e105f4ecef8ad9ca31a8372d0c353' },
* )) {
* // ...
* }
* ```
*/
list(projectName: string, params: DomainListParams, options?: RequestOptions): PagePromise<DomainListResponsesSinglePage, DomainListResponse>;
/**
* Remove a custom domain from a Cloudflare Pages project.
*
* @example
* ```ts
* const domain = await client.pages.projects.domains.delete(
* 'example.com',
* {
* account_id: '023e105f4ecef8ad9ca31a8372d0c353',
* project_name: 'this-is-my-project-01',
* },
* );
* ```
*/
delete(domainName: string, params: DomainDeleteParams, options?: RequestOptions): APIPromise<DomainDeleteResponse | null>;
/**
* Retry validation for a custom domain attached to a Cloudflare Pages project.
*
* @example
* ```ts
* const response = await client.pages.projects.domains.edit(
* 'example.com',
* {
* account_id: '023e105f4ecef8ad9ca31a8372d0c353',
* project_name: 'this-is-my-project-01',
* },
* );
* ```
*/
edit(domainName: string, params: DomainEditParams, options?: RequestOptions): APIPromise<DomainEditResponse>;
/**
* Retrieve the configuration and validation status of a custom domain attached to
* a Cloudflare Pages project.
*
* @example
* ```ts
* const domain = await client.pages.projects.domains.get(
* 'example.com',
* {
* account_id: '023e105f4ecef8ad9ca31a8372d0c353',
* project_name: 'this-is-my-project-01',
* },
* );
* ```
*/
get(domainName: string, params: DomainGetParams, options?: RequestOptions): APIPromise<DomainGetResponse>;
}
export declare class Domains extends BaseDomains {
}
export type DomainListResponsesSinglePage = SinglePage<DomainListResponse>;
export interface DomainCreateResponse {
id: string;
certificate_authority: 'google' | 'lets_encrypt';
created_on: string;
domain_id: string;
/**
* Fully qualified domain name for the Pages project, such as `example.com`.
*/
name: string;
status: 'initializing' | 'pending' | 'active' | 'deactivated' | 'blocked' | 'error';
validation_data: DomainCreateResponse.ValidationData;
verification_data: DomainCreateResponse.VerificationData;
zone_tag: string;
}
export declare namespace DomainCreateResponse {
interface ValidationData {
method: 'http' | 'txt';
status: 'initializing' | 'pending' | 'active' | 'deactivated' | 'error';
error_message?: string;
txt_name?: string;
txt_value?: string;
}
interface VerificationData {
status: 'pending' | 'active' | 'deactivated' | 'blocked' | 'error';
error_message?: string;
}
}
export interface DomainListResponse {
id: string;
certificate_authority: 'google' | 'lets_encrypt';
created_on: string;
domain_id: string;
/**
* Fully qualified domain name for the Pages project, such as `example.com`.
*/
name: string;
status: 'initializing' | 'pending' | 'active' | 'deactivated' | 'blocked' | 'error';
validation_data: DomainListResponse.ValidationData;
verification_data: DomainListResponse.VerificationData;
zone_tag: string;
}
export declare namespace DomainListResponse {
interface ValidationData {
method: 'http' | 'txt';
status: 'initializing' | 'pending' | 'active' | 'deactivated' | 'error';
error_message?: string;
txt_name?: string;
txt_value?: string;
}
interface VerificationData {
status: 'pending' | 'active' | 'deactivated' | 'blocked' | 'error';
error_message?: string;
}
}
export type DomainDeleteResponse = unknown;
export interface DomainEditResponse {
id: string;
certificate_authority: 'google' | 'lets_encrypt';
created_on: string;
domain_id: string;
/**
* Fully qualified domain name for the Pages project, such as `example.com`.
*/
name: string;
status: 'initializing' | 'pending' | 'active' | 'deactivated' | 'blocked' | 'error';
validation_data: DomainEditResponse.ValidationData;
verification_data: DomainEditResponse.VerificationData;
zone_tag: string;
}
export declare namespace DomainEditResponse {
interface ValidationData {
method: 'http' | 'txt';
status: 'initializing' | 'pending' | 'active' | 'deactivated' | 'error';
error_message?: string;
txt_name?: string;
txt_value?: string;
}
interface VerificationData {
status: 'pending' | 'active' | 'deactivated' | 'blocked' | 'error';
error_message?: string;
}
}
export interface DomainGetResponse {
id: string;
certificate_authority: 'google' | 'lets_encrypt';
created_on: string;
domain_id: string;
/**
* Fully qualified domain name for the Pages project, such as `example.com`.
*/
name: string;
status: 'initializing' | 'pending' | 'active' | 'deactivated' | 'blocked' | 'error';
validation_data: DomainGetResponse.ValidationData;
verification_data: DomainGetResponse.VerificationData;
zone_tag: string;
}
export declare namespace DomainGetResponse {
interface ValidationData {
method: 'http' | 'txt';
status: 'initializing' | 'pending' | 'active' | 'deactivated' | 'error';
error_message?: string;
txt_name?: string;
txt_value?: string;
}
interface VerificationData {
status: 'pending' | 'active' | 'deactivated' | 'blocked' | 'error';
error_message?: string;
}
}
export interface DomainCreateParams {
/**
* Path param: Identifier.
*/
account_id: string;
/**
* Body param: Fully qualified domain name for the Pages project, such as
* `example.com`.
*/
name: string;
}
export interface DomainListParams {
/**
* Identifier.
*/
account_id: string;
}
export interface DomainDeleteParams {
/**
* Identifier.
*/
account_id: string;
/**
* Name of the Pages project. Must begin with a lowercase letter or digit and
* contain only lowercase letters, digits, and hyphens.
*/
project_name: string;
}
export interface DomainEditParams {
/**
* Identifier.
*/
account_id: string;
/**
* Name of the Pages project. Must begin with a lowercase letter or digit and
* contain only lowercase letters, digits, and hyphens.
*/
project_name: string;
}
export interface DomainGetParams {
/**
* Identifier.
*/
account_id: string;
/**
* Name of the Pages project. Must begin with a lowercase letter or digit and
* contain only lowercase letters, digits, and hyphens.
*/
project_name: string;
}
export declare namespace Domains {
export { type DomainCreateResponse as DomainCreateResponse, type DomainListResponse as DomainListResponse, type DomainDeleteResponse as DomainDeleteResponse, type DomainEditResponse as DomainEditResponse, type DomainGetResponse as DomainGetResponse, type DomainListResponsesSinglePage as DomainListResponsesSinglePage, type DomainCreateParams as DomainCreateParams, type DomainListParams as DomainListParams, type DomainDeleteParams as DomainDeleteParams, type DomainEditParams as DomainEditParams, type DomainGetParams as DomainGetParams, };
}
//# sourceMappingURL=domains.d.ts.map