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 BaseHostnames extends APIResource { static readonly _key: readonly ['originTLSClientAuth', 'hostnames']; /** * Associate a hostname to a certificate and enable, disable or invalidate the * association. If disabled, client certificate will not be sent to the hostname * even if activated at the zone level. 100 maximum associations on a single * certificate are allowed. Note: Use a null value for parameter _enabled_ to * invalidate the association. * * @example * ```ts * // Automatically fetches more pages as needed. * for await (const hostnameUpdateResponse of client.originTLSClientAuth.hostnames.update( * { * zone_id: '023e105f4ecef8ad9ca31a8372d0c353', * config: [{}], * }, * )) { * // ... * } * ``` */ update(params: HostnameUpdateParams, options?: RequestOptions): PagePromise; /** * Retrieves the client certificate authentication status for a specific hostname, * showing whether authenticated origin pulls are enabled. * * @example * ```ts * const authenticatedOriginPull = * await client.originTLSClientAuth.hostnames.get( * 'app.example.com', * { zone_id: '023e105f4ecef8ad9ca31a8372d0c353' }, * ); * ``` */ get(hostname: string, params: HostnameGetParams, options?: RequestOptions): APIPromise; } export declare class Hostnames extends BaseHostnames { } export type HostnameUpdateResponsesSinglePage = SinglePage; export interface AuthenticatedOriginPull { /** * Identifier. */ cert_id?: string; /** * Status of the certificate or the association. */ cert_status?: 'initializing' | 'pending_deployment' | 'pending_deletion' | 'active' | 'deleted' | 'deployment_timed_out' | 'deletion_timed_out'; /** * The time when the certificate was updated. */ cert_updated_at?: string; /** * The time when the certificate was uploaded. */ cert_uploaded_on?: string; /** * The hostname certificate. */ certificate?: string; /** * The time when the certificate was created. */ created_at?: string; /** * Indicates whether hostname-level authenticated origin pulls is enabled. A null * value voids the association. */ enabled?: boolean | null; /** * The date when the certificate expires. */ expires_on?: string; /** * The hostname on the origin for which the client certificate uploaded will be * used. */ hostname?: string; /** * The certificate authority that issued the certificate. */ issuer?: string; /** * The serial number on the uploaded certificate. */ serial_number?: string; /** * The type of hash used for the certificate. */ signature?: string; /** * Status of the certificate or the association. */ status?: 'initializing' | 'pending_deployment' | 'pending_deletion' | 'active' | 'deleted' | 'deployment_timed_out' | 'deletion_timed_out'; /** * The time when the certificate was updated. */ updated_at?: string; } export interface HostnameUpdateResponse extends AuthenticatedOriginPull { /** * Identifier. */ id?: string; /** * Identifier. */ cert_id?: string; /** * The hostname certificate. */ certificate?: string; /** * Indicates whether hostname-level authenticated origin pulls is enabled. A null * value voids the association. */ enabled?: boolean | null; /** * The hostname on the origin for which the client certificate uploaded will be * used. */ hostname?: string; /** * The hostname certificate's private key. */ private_key?: string; } export interface HostnameUpdateParams { /** * Path param: Identifier. */ zone_id: string; /** * Body param */ config: Array; } export declare namespace HostnameUpdateParams { interface Config { /** * Certificate identifier tag. */ cert_id?: string; /** * Indicates whether hostname-level authenticated origin pulls is enabled. A null * value voids the association. */ enabled?: boolean | null; /** * The hostname on the origin for which the client certificate uploaded will be * used. */ hostname?: string; } } export interface HostnameGetParams { /** * Identifier. */ zone_id: string; } export declare namespace Hostnames { export { type AuthenticatedOriginPull as AuthenticatedOriginPull, type HostnameUpdateResponse as HostnameUpdateResponse, type HostnameUpdateResponsesSinglePage as HostnameUpdateResponsesSinglePage, type HostnameUpdateParams as HostnameUpdateParams, type HostnameGetParams as HostnameGetParams, }; } //# sourceMappingURL=hostnames.d.ts.map