UNPKG

cloudflare

Version:

The official TypeScript library for the Cloudflare API

135 lines (116 loc) 3.6 kB
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. import * as Core from "../../../core"; import { APIResource } from "../../../resource"; import * as OrderAPI from "./order"; export class Order extends APIResource { /** * For a given zone, order an advanced certificate pack. */ create(params: OrderCreateParams, options?: Core.RequestOptions): Core.APIPromise<OrderCreateResponse> { const { zone_id, ...body } = params; return ( this._client.post(`/zones/${zone_id}/ssl/certificate_packs/order`, { body, ...options, }) as Core.APIPromise<{ result: OrderCreateResponse }> )._thenUnwrap((obj) => obj.result); } } export interface OrderCreateResponse { /** * Identifier */ id?: string; /** * Certificate Authority selected for the order. For information on any certificate * authority specific details or restrictions * [see this page for more details.](https://developers.cloudflare.com/ssl/reference/certificate-authorities) */ certificate_authority?: 'google' | 'lets_encrypt'; /** * Whether or not to add Cloudflare Branding for the order. This will add * sni.cloudflaressl.com as the Common Name if set true. */ cloudflare_branding?: boolean; /** * Comma separated list of valid host names for the certificate packs. Must contain * the zone apex, may not contain more than 50 hosts, and may not be empty. */ hosts?: Array<string>; /** * Status of certificate pack. */ status?: | 'initializing' | 'pending_validation' | 'deleted' | 'pending_issuance' | 'pending_deployment' | 'pending_deletion' | 'pending_expiration' | 'expired' | 'active' | 'initializing_timed_out' | 'validation_timed_out' | 'issuance_timed_out' | 'deployment_timed_out' | 'deletion_timed_out' | 'pending_cleanup' | 'staging_deployment' | 'staging_active' | 'deactivating' | 'inactive' | 'backup_issued' | 'holding_deployment'; /** * Type of certificate pack. */ type?: 'advanced'; /** * Validation Method selected for the order. */ validation_method?: 'txt' | 'http' | 'email'; /** * Validity Days selected for the order. */ validity_days?: 14 | 30 | 90 | 365; } export interface OrderCreateParams { /** * Path param: Identifier */ zone_id: string; /** * Body param: Certificate Authority selected for the order. For information on any * certificate authority specific details or restrictions * [see this page for more details.](https://developers.cloudflare.com/ssl/reference/certificate-authorities) */ certificate_authority: 'google' | 'lets_encrypt'; /** * Body param: Comma separated list of valid host names for the certificate packs. * Must contain the zone apex, may not contain more than 50 hosts, and may not be * empty. */ hosts: Array<string>; /** * Body param: Type of certificate pack. */ type: 'advanced'; /** * Body param: Validation Method selected for the order. */ validation_method: 'txt' | 'http' | 'email'; /** * Body param: Validity Days selected for the order. */ validity_days: 14 | 30 | 90 | 365; /** * Body param: Whether or not to add Cloudflare Branding for the order. This will * add sni.cloudflaressl.com as the Common Name if set true. */ cloudflare_branding?: boolean; } export namespace Order { export import OrderCreateResponse = OrderAPI.OrderCreateResponse; export import OrderCreateParams = OrderAPI.OrderCreateParams; }