UNPKG

cloudflare

Version:

The official TypeScript library for the Cloudflare API

104 lines (89 loc) 3.36 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 HostnameAssociationsAPI from "./hostname-associations"; export class HostnameAssociations extends APIResource { /** * Replace Hostname Associations */ update( params: HostnameAssociationUpdateParams, options?: Core.RequestOptions, ): Core.APIPromise<HostnameAssociationUpdateResponse> { const { zone_id, ...body } = params; return ( this._client.put(`/zones/${zone_id}/certificate_authorities/hostname_associations`, { body, ...options, }) as Core.APIPromise<{ result: HostnameAssociationUpdateResponse }> )._thenUnwrap((obj) => obj.result); } /** * List Hostname Associations */ get( params: HostnameAssociationGetParams, options?: Core.RequestOptions, ): Core.APIPromise<HostnameAssociationGetResponse> { const { zone_id, ...query } = params; return ( this._client.get(`/zones/${zone_id}/certificate_authorities/hostname_associations`, { query, ...options, }) as Core.APIPromise<{ result: HostnameAssociationGetResponse }> )._thenUnwrap((obj) => obj.result); } } export type HostnameAssociation = string; export interface TLSHostnameAssociation { hostnames?: Array<HostnameAssociation>; /** * The UUID for a certificate that was uploaded to the mTLS Certificate Management * endpoint. If no mtls_certificate_id is given, the hostnames will be associated * to your active Cloudflare Managed CA. */ mtls_certificate_id?: string; } export interface HostnameAssociationUpdateResponse { hostnames?: Array<HostnameAssociation>; } export interface HostnameAssociationGetResponse { hostnames?: Array<HostnameAssociation>; } export interface HostnameAssociationUpdateParams { /** * Path param: Identifier */ zone_id: string; /** * Body param: */ hostnames?: Array<HostnameAssociation>; /** * Body param: The UUID for a certificate that was uploaded to the mTLS Certificate * Management endpoint. If no mtls_certificate_id is given, the hostnames will be * associated to your active Cloudflare Managed CA. */ mtls_certificate_id?: string; } export interface HostnameAssociationGetParams { /** * Path param: Identifier */ zone_id: string; /** * Query param: The UUID to match against for a certificate that was uploaded to * the mTLS Certificate Management endpoint. If no mtls_certificate_id is given, * the results will be the hostnames associated to your active Cloudflare Managed * CA. */ mtls_certificate_id?: string; } export namespace HostnameAssociations { export import HostnameAssociation = HostnameAssociationsAPI.HostnameAssociation; export import TLSHostnameAssociation = HostnameAssociationsAPI.TLSHostnameAssociation; export import HostnameAssociationUpdateResponse = HostnameAssociationsAPI.HostnameAssociationUpdateResponse; export import HostnameAssociationGetResponse = HostnameAssociationsAPI.HostnameAssociationGetResponse; export import HostnameAssociationUpdateParams = HostnameAssociationsAPI.HostnameAssociationUpdateParams; export import HostnameAssociationGetParams = HostnameAssociationsAPI.HostnameAssociationGetParams; }