// AUTO-GENERATED by scripts/generate.ts from .generated-specs. Do not edit. import * as S from "@distilled.cloud/core/schema"; import * as API from "@distilled.cloud/core/api"; import * as T from "../traits.ts"; import { CloudflareProtocol, type CloudflareOpError, type CloudflareOpContext, } from "../protocol.ts"; import { CloudflareError, CloudflareRateLimited } from "../errors.ts"; import * as Retry from "../retry.ts"; export type { CloudflareOpError, CloudflareOpContext }; /** Fallback camelCase→wire mapping for opaque content (mined from the distilled SDK). */ const KEY_DICTIONARY: Record> = { mtlsCertificateId: "mtls_certificate_id", }; export class Forbidden extends /*@__PURE__*/ T.applyErrorMatchers( /*@__PURE__*/ S.TaggedError()("Forbidden", { code: S.Number, message: S.String, }), [{ status: 403 }], ) {} export interface GetHostnameAssociationRequest { /** Identifier. */ zoneId: string; /** 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. */ mtlsCertificateId?: string; } export const GetHostnameAssociationRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), mtlsCertificateId: S.optional( S.String.pipe(T.Query("mtls_certificate_id")), ), }) .pipe( T.Http({ method: "GET", uri: "/zones/{zone_id}/certificate_authorities/hostname_associations", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetHostnameAssociationRequest", }) as any as S.Schema; export type HostnameAssociationsGetResponseHostnamesList = Array; export const HostnameAssociationsGetResponseHostnamesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetHostnameAssociationResponse { hostnames?: HostnameAssociationsGetResponseHostnamesList | null; } export const GetHostnameAssociationResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ hostnames: S.optional( S.NullOr(HostnameAssociationsGetResponseHostnamesList), ), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetHostnameAssociationResponse", }) as any as S.Schema; export type HostnameAssociationsUpdateRequestHostnamesList = Array; export const HostnameAssociationsUpdateRequestHostnamesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface PutHostnameAssociationRequest { /** Identifier. */ zoneId: string; hostnames?: HostnameAssociationsUpdateRequestHostnamesList; /** 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. */ mtlsCertificateId?: string; } export const PutHostnameAssociationRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), hostnames: S.optional(HostnameAssociationsUpdateRequestHostnamesList), mtlsCertificateId: S.optional(S.String.pipe(T.Body("mtls_certificate_id"))), }) .pipe( T.Http({ method: "PUT", uri: "/zones/{zone_id}/certificate_authorities/hostname_associations", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "PutHostnameAssociationRequest", }) as any as S.Schema; export type HostnameAssociationsUpdateResponseHostnamesList = Array; export const HostnameAssociationsUpdateResponseHostnamesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface PutHostnameAssociationResponse { hostnames?: HostnameAssociationsUpdateResponseHostnamesList | null; } export const PutHostnameAssociationResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ hostnames: S.optional( S.NullOr(HostnameAssociationsUpdateResponseHostnamesList), ), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "PutHostnameAssociationResponse", }) as any as S.Schema; export type GetHostnameAssociationError = Forbidden | CloudflareOpError; /** List Hostname Associations. */ export const getHostnameAssociation: API.OperationMethod< GetHostnameAssociationRequest, GetHostnameAssociationResponse, GetHostnameAssociationError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetHostnameAssociationRequest, output: GetHostnameAssociationResponse, errors: [Forbidden, CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type PutHostnameAssociationError = Forbidden | CloudflareOpError; /** Replace Hostname Associations. */ export const putHostnameAssociation: API.OperationMethod< PutHostnameAssociationRequest, PutHostnameAssociationResponse, PutHostnameAssociationError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: PutHostnameAssociationRequest, output: PutHostnameAssociationResponse, errors: [Forbidden, CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, }));