cloudflare
Version:
The official TypeScript library for the Cloudflare API
159 lines (136 loc) • 4.74 kB
text/typescript
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
import * as Core from "../core";
import { APIResource } from "../resource";
import { isRequestOptions } from "../core";
import { SinglePage } from "../pagination";
export class OriginCACertificates extends APIResource {
/**
* Create an Origin CA certificate. Use your Origin CA Key as your User Service Key
* when calling this endpoint ([see above](#requests)).
*/
create(
body: OriginCACertificateCreateParams,
options?: Core.RequestOptions,
): Core.APIPromise<OriginCACertificateCreateResponse> {
return (
this._client.post('/certificates', { body, ...options }) as Core.APIPromise<{
result: OriginCACertificateCreateResponse;
}>
)._thenUnwrap((obj) => obj.result);
}
/**
* List all existing Origin CA certificates for a given zone. Use your Origin CA
* Key as your User Service Key when calling this endpoint
* ([see above](#requests)).
*/
list(
query?: OriginCACertificateListParams,
options?: Core.RequestOptions,
): Core.PagePromise<OriginCACertificatesSinglePage, OriginCACertificate>;
list(options?: Core.RequestOptions): Core.PagePromise<OriginCACertificatesSinglePage, OriginCACertificate>;
list(
query: OriginCACertificateListParams | Core.RequestOptions = {},
options?: Core.RequestOptions,
): Core.PagePromise<OriginCACertificatesSinglePage, OriginCACertificate> {
if (isRequestOptions(query)) {
return this.list({}, query);
}
return this._client.getAPIList('/certificates', OriginCACertificatesSinglePage, { query, ...options });
}
/**
* Revoke an existing Origin CA certificate by its serial number. Use your Origin
* CA Key as your User Service Key when calling this endpoint
* ([see above](#requests)).
*/
delete(
certificateId: string,
body: OriginCACertificateDeleteParams,
options?: Core.RequestOptions,
): Core.APIPromise<OriginCACertificateDeleteResponse> {
return (
this._client.delete(`/certificates/${certificateId}`, { body, ...options }) as Core.APIPromise<{
result: OriginCACertificateDeleteResponse;
}>
)._thenUnwrap((obj) => obj.result);
}
/**
* Get an existing Origin CA certificate by its serial number. Use your Origin CA
* Key as your User Service Key when calling this endpoint
* ([see above](#requests)).
*/
get(certificateId: string, options?: Core.RequestOptions): Core.APIPromise<OriginCACertificateGetResponse> {
return (
this._client.get(`/certificates/${certificateId}`, options) as Core.APIPromise<{
result: OriginCACertificateGetResponse;
}>
)._thenUnwrap((obj) => obj.result);
}
}
export class OriginCACertificatesSinglePage extends SinglePage<OriginCACertificate> {}
export interface OriginCACertificate {
/**
* The Certificate Signing Request (CSR). Must be newline-encoded.
*/
csr: string;
/**
* Array of hostnames or wildcard names (e.g., \*.example.com) bound to the
* certificate.
*/
hostnames: Array<unknown>;
/**
* Signature type desired on certificate ("origin-rsa" (rsa), "origin-ecc" (ecdsa),
* or "keyless-certificate" (for Keyless SSL servers).
*/
request_type: 'origin-rsa' | 'origin-ecc' | 'keyless-certificate';
/**
* The number of days for which the certificate should be valid.
*/
requested_validity: 7 | 30 | 90 | 365 | 730 | 1095 | 5475;
/**
* Identifier
*/
id?: string;
/**
* The Origin CA certificate. Will be newline-encoded.
*/
certificate?: string;
/**
* When the certificate will expire.
*/
expires_on?: string;
}
export type OriginCACertificateCreateResponse = unknown | string | null;
export interface OriginCACertificateDeleteResponse {
/**
* Identifier
*/
id?: string;
}
export type OriginCACertificateGetResponse = unknown | string | null;
export interface OriginCACertificateCreateParams {
/**
* The Certificate Signing Request (CSR). Must be newline-encoded.
*/
csr?: string;
/**
* Array of hostnames or wildcard names (e.g., \*.example.com) bound to the
* certificate.
*/
hostnames?: Array<unknown>;
/**
* Signature type desired on certificate ("origin-rsa" (rsa), "origin-ecc" (ecdsa),
* or "keyless-certificate" (for Keyless SSL servers).
*/
request_type?: 'origin-rsa' | 'origin-ecc' | 'keyless-certificate';
/**
* The number of days for which the certificate should be valid.
*/
requested_validity?: 7 | 30 | 90 | 365 | 730 | 1095 | 5475;
}
export interface OriginCACertificateListParams {
/**
* Identifier
*/
identifier?: string;
}
export type OriginCACertificateDeleteParams = unknown;