// 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, CloudflarePaginatedProtocol, type CloudflareOpError, type CloudflareOpContext, } from "../protocol.ts"; import { cloudflarePaginate, ResultInfo } from "../pagination.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> = { createdAt: "created_at", updatedAt: "updated_at", }; export class AdvancedCertificateManagerRequired extends /*@__PURE__*/ T.applyErrorMatchers( /*@__PURE__*/ S.TaggedError()( "AdvancedCertificateManagerRequired", { code: S.Number, message: S.String, }, ), [{ code: 1450 }], ) {} export class Forbidden extends /*@__PURE__*/ T.applyErrorMatchers( /*@__PURE__*/ S.TaggedError()("Forbidden", { code: S.Number, message: S.String, }), [{ status: 403 }], ) {} export class HostnameTlsSettingNotFound extends /*@__PURE__*/ T.applyErrorMatchers( /*@__PURE__*/ S.TaggedError()( "HostnameTlsSettingNotFound", { code: S.Number, message: S.String, }, ), [{ status: 404 }], ) {} export type SettingsTlsDeleteRequestSettingId = | "ciphers" | "min_tls_version" | "http2"; export const SettingsTlsDeleteRequestSettingId = /*@__PURE__*/ S.String; export interface DeleteSettingTlsRequest { /** Identifier. */ zoneId: string; /** The TLS Setting name. */ settingId: SettingsTlsDeleteRequestSettingId | (string & {}); /** The hostname for which the tls settings are set. */ hostname: string; } export const DeleteSettingTlsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), settingId: SettingsTlsDeleteRequestSettingId.pipe(T.Label("setting_id")), hostname: S.String.pipe(T.Label()), }) .pipe( T.Http({ method: "DELETE", uri: "/zones/{zone_id}/hostnames/settings/{setting_id}/{hostname}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DeleteSettingTlsRequest", }) as any as S.Schema; export type SettingsTlsDeleteResponseValueCase0 = | "1.0" | "1.1" | "1.2" | "1.3" | "on" | "off"; export const SettingsTlsDeleteResponseValueCase0 = /*@__PURE__*/ S.String; export type SettingsTlsDeleteResponseValueCase1List = Array; export const SettingsTlsDeleteResponseValueCase1List = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type SettingsTlsDeleteResponseValue = | SettingsTlsDeleteResponseValueCase0 | SettingsTlsDeleteResponseValueCase1List; export const SettingsTlsDeleteResponseValue = /*@__PURE__*/ S.Unknown.pipe( T.UnionCases([[], []]), ); /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface DeleteSettingTlsResponse { /** This is the time the tls setting was originally created for this hostname. */ createdAt?: string | null; /** The hostname for which the tls settings are set. */ hostname?: string | null; /** Deployment status for the given tls setting. */ status?: string | null; /** This is the time the tls setting was updated. */ updatedAt?: string | null; /** The TLS setting value. */ value?: SettingsTlsDeleteResponseValue | null; } export const DeleteSettingTlsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ createdAt: S.optional(S.NullOr(S.String).pipe(T.Body("created_at"))), hostname: S.optional(S.NullOr(S.String)), status: S.optional(S.NullOr(S.String)), updatedAt: S.optional(S.NullOr(S.String).pipe(T.Body("updated_at"))), value: S.optional(S.NullOr(SettingsTlsDeleteResponseValue)), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DeleteSettingTlsResponse", }) as any as S.Schema; export type SettingsTlsGetRequestSettingId = | "ciphers" | "min_tls_version" | "http2"; export const SettingsTlsGetRequestSettingId = /*@__PURE__*/ S.String; export interface GetSettingTlsRequest { /** Identifier. */ zoneId: string; /** The TLS Setting name. */ settingId: SettingsTlsGetRequestSettingId | (string & {}); } export const GetSettingTlsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), settingId: SettingsTlsGetRequestSettingId.pipe(T.Label("setting_id")), }) .pipe( T.Http({ method: "GET", uri: "/zones/{zone_id}/hostnames/settings/{setting_id}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetSettingTlsRequest", }) as any as S.Schema; export type SettingsTlsGetResultItemValueCase0 = | "1.0" | "1.1" | "1.2" | "1.3" | "on" | "off"; export const SettingsTlsGetResultItemValueCase0 = /*@__PURE__*/ S.String; export type SettingsTlsGetResultItemValueCase1List = Array; export const SettingsTlsGetResultItemValueCase1List = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type SettingsTlsGetResultItemValue = | SettingsTlsGetResultItemValueCase0 | SettingsTlsGetResultItemValueCase1List; export const SettingsTlsGetResultItemValue = /*@__PURE__*/ S.Unknown.pipe( T.UnionCases([[], []]), ); export interface SettingsTlsGetResultItem { /** This is the time the tls setting was originally created for this hostname. */ createdAt?: string | null; /** The hostname for which the tls settings are set. */ hostname?: string | null; /** Deployment status for the given tls setting. */ status?: string | null; /** This is the time the tls setting was updated. */ updatedAt?: string | null; /** The TLS setting value. */ value?: SettingsTlsGetResultItemValue | null; } export const SettingsTlsGetResultItem = /*@__PURE__*/ S.suspend(() => S.Struct({ createdAt: S.optional(S.NullOr(S.String).pipe(T.Body("created_at"))), hostname: S.optional(S.NullOr(S.String)), status: S.optional(S.NullOr(S.String)), updatedAt: S.optional(S.NullOr(S.String).pipe(T.Body("updated_at"))), value: S.optional(S.NullOr(SettingsTlsGetResultItemValue)), }), ).annotate({ identifier: "SettingsTlsGetResultItem", }) as any as S.Schema; export type SettingsTlsGetResultList = Array; export const SettingsTlsGetResultList = /*@__PURE__*/ S.Array( SettingsTlsGetResultItem, ) as any as S.Schema; export interface GetSettingTlsResponse { /** The unwrapped `result` payload of the v4 response envelope. */ result: SettingsTlsGetResultList; /** Pagination info from the envelope's `result_info`. */ resultInfo?: ResultInfo | null; } export const GetSettingTlsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ result: SettingsTlsGetResultList.pipe(T.EnvelopePayload()), resultInfo: S.optional(S.NullOr(ResultInfo).pipe(T.ResultInfo())), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetSettingTlsResponse", }) as any as S.Schema; export type SettingsTlsUpdateRequestSettingId = | "ciphers" | "min_tls_version" | "http2"; export const SettingsTlsUpdateRequestSettingId = /*@__PURE__*/ S.String; export type SettingsTlsUpdateRequestValueCase0 = | "1.0" | "1.1" | "1.2" | "1.3" | "on" | "off"; export const SettingsTlsUpdateRequestValueCase0 = /*@__PURE__*/ S.String; export type SettingsTlsUpdateRequestValueCase1List = Array; export const SettingsTlsUpdateRequestValueCase1List = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type SettingsTlsUpdateRequestValue = | SettingsTlsUpdateRequestValueCase0 | (string & {}) | SettingsTlsUpdateRequestValueCase1List; export const SettingsTlsUpdateRequestValue = /*@__PURE__*/ S.Unknown.pipe( T.UnionCases([[], []]), ); export interface PutSettingTlsRequest { /** Identifier. */ zoneId: string; /** The TLS Setting name. */ settingId: SettingsTlsUpdateRequestSettingId | (string & {}); /** The hostname for which the tls settings are set. */ hostname: string; /** The TLS setting value. */ value: SettingsTlsUpdateRequestValue; } export const PutSettingTlsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), settingId: SettingsTlsUpdateRequestSettingId.pipe(T.Label("setting_id")), hostname: S.String.pipe(T.Label()), value: SettingsTlsUpdateRequestValue, }) .pipe( T.Http({ method: "PUT", uri: "/zones/{zone_id}/hostnames/settings/{setting_id}/{hostname}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "PutSettingTlsRequest", }) as any as S.Schema; export type SettingsTlsUpdateResponseValueCase0 = | "1.0" | "1.1" | "1.2" | "1.3" | "on" | "off"; export const SettingsTlsUpdateResponseValueCase0 = /*@__PURE__*/ S.String; export type SettingsTlsUpdateResponseValueCase1List = Array; export const SettingsTlsUpdateResponseValueCase1List = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type SettingsTlsUpdateResponseValue = | SettingsTlsUpdateResponseValueCase0 | SettingsTlsUpdateResponseValueCase1List; export const SettingsTlsUpdateResponseValue = /*@__PURE__*/ S.Unknown.pipe( T.UnionCases([[], []]), ); /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface PutSettingTlsResponse { /** This is the time the tls setting was originally created for this hostname. */ createdAt?: string | null; /** The hostname for which the tls settings are set. */ hostname?: string | null; /** Deployment status for the given tls setting. */ status?: string | null; /** This is the time the tls setting was updated. */ updatedAt?: string | null; /** The TLS setting value. */ value?: SettingsTlsUpdateResponseValue | null; } export const PutSettingTlsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ createdAt: S.optional(S.NullOr(S.String).pipe(T.Body("created_at"))), hostname: S.optional(S.NullOr(S.String)), status: S.optional(S.NullOr(S.String)), updatedAt: S.optional(S.NullOr(S.String).pipe(T.Body("updated_at"))), value: S.optional(S.NullOr(SettingsTlsUpdateResponseValue)), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "PutSettingTlsResponse", }) as any as S.Schema; export type DeleteSettingTlsError = | AdvancedCertificateManagerRequired | HostnameTlsSettingNotFound | Forbidden | CloudflareOpError; /** Delete the tls setting value for the hostname. */ export const deleteSettingTls: API.OperationMethod< DeleteSettingTlsRequest, DeleteSettingTlsResponse, DeleteSettingTlsError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteSettingTlsRequest, output: DeleteSettingTlsResponse, errors: [ AdvancedCertificateManagerRequired, HostnameTlsSettingNotFound, Forbidden, CloudflareRateLimited, CloudflareError, ], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetSettingTlsError = | AdvancedCertificateManagerRequired | Forbidden | CloudflareOpError; /** List the requested TLS setting for the hostnames under this zone. */ export const getSettingTls: API.PaginatedOperationMethod< GetSettingTlsRequest, GetSettingTlsResponse, GetSettingTlsError, CloudflareOpContext, SettingsTlsGetResultItem > = /*@__PURE__*/ API.makePaginated( () => ({ input: GetSettingTlsRequest, output: GetSettingTlsResponse, errors: [ AdvancedCertificateManagerRequired, Forbidden, CloudflareRateLimited, CloudflareError, ], protocol: CloudflarePaginatedProtocol, retry: Retry.Retry, pagination: { mode: "single", items: "result" } as const, }), cloudflarePaginate, ) as any; export type PutSettingTlsError = | AdvancedCertificateManagerRequired | Forbidden | CloudflareOpError; /** Update the tls setting value for the hostname. */ export const putSettingTls: API.OperationMethod< PutSettingTlsRequest, PutSettingTlsResponse, PutSettingTlsError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: PutSettingTlsRequest, output: PutSettingTlsResponse, errors: [ AdvancedCertificateManagerRequired, Forbidden, CloudflareRateLimited, CloudflareError, ], protocol: CloudflareProtocol, retry: Retry.Retry, }));