UNPKG

@jesseditson/dnsimple

Version:

A Node.JS client for the DNSimple API.

148 lines (147 loc) 6.67 kB
import type { DNSimple, QueryParams } from "./main"; import type * as types from "./types"; export declare class Certificates { private readonly _client; constructor(_client: DNSimple); /** * Lists the certificates for a domain. * * This API is paginated. Call `listCertificates.iterateAll(account, domain, params)` to get an asynchronous iterator over individual items across all pages. You can also use `await listCertificates.collectAll(account, domain, params)` to quickly retrieve all items across all pages into an array. We suggest using `iterateAll` when possible, as `collectAll` will make all requests at once, which may increase latency and trigger rate limits. * * GET /{account}/domains/{domain}/certificates * * @see https://developer.dnsimple.com/v2/certificates/#listCertificates * * @param account The account id * @param domain The domain name or id * @param params Query parameters * @param params.sort Sort results. Default sorting is by id. */ listCertificates: { (account: number, domain: string, params?: QueryParams & { sort?: "id:asc" | "id:desc" | "common_name:asc" | "common_name:desc" | "expiration:asc" | "expiration:desc"; }): Promise<{ data: Array<types.Certificate>; pagination: types.Pagination; }>; iterateAll(account: number, domain: string, params?: QueryParams & { sort?: "id:asc" | "id:desc" | "common_name:asc" | "common_name:desc" | "expiration:asc" | "expiration:desc"; }): AsyncGenerator<types.Certificate, any, any>; collectAll(account: number, domain: string, params?: QueryParams & { sort?: "id:asc" | "id:desc" | "common_name:asc" | "common_name:desc" | "expiration:asc" | "expiration:desc"; }): Promise<types.Certificate[]>; }; /** * Retrieves the details of an existing certificate. * * GET /{account}/domains/{domain}/certificates/{certificate} * * @see https://developer.dnsimple.com/v2/certificates/#getCertificate * * @param account The account id * @param domain The domain name or id * @param certificate The certificate id * @param params Query parameters */ getCertificate: (account: number, domain: string, certificate: number, params?: QueryParams & {}) => Promise<{ data: types.Certificate; }>; /** * Gets the PEM-encoded certificate, along with the root certificate and intermediate chain. * * GET /{account}/domains/{domain}/certificates/{certificate}/download * * @see https://developer.dnsimple.com/v2/certificates/#downloadCertificate * * @param account The account id * @param domain The domain name or id * @param certificate The certificate id * @param params Query parameters */ downloadCertificate: (account: number, domain: string, certificate: number, params?: QueryParams & {}) => Promise<{ data: types.CertificateDownload; }>; /** * Gets the PEM-encoded certificate private key. * * GET /{account}/domains/{domain}/certificates/{certificate}/private_key * * @see https://developer.dnsimple.com/v2/certificates/#getCertificatePrivateKey * * @param account The account id * @param domain The domain name or id * @param certificate The certificate id * @param params Query parameters */ getCertificatePrivateKey: (account: number, domain: string, certificate: number, params?: QueryParams & {}) => Promise<{ data: types.CertificatePrivateKey; }>; /** * Orders a [Let's Encrypt](https://dnsimple.com/letsencrypt) certificate with DNSimple. * * POST /{account}/domains/{domain}/certificates/letsencrypt * * @see https://developer.dnsimple.com/v2/certificates/#purchaseLetsencryptCertificate * * @param account The account id * @param domain The domain name or id * @param params Query parameters */ purchaseLetsencryptCertificate: (account: number, domain: string, data: Partial<{ auto_renew?: boolean; name?: string; alternate_names?: Array<string>; signature_algorithm?: string; }>, params?: QueryParams & {}) => Promise<{ data: types.LetsencryptCertificatePurchase; }>; /** * Issues a [Let's Encrypt](https://dnsimple.com/letsencrypt) certificate ordered with DNSimple. * * POST /{account}/domains/{domain}/certificates/letsencrypt/{purchaseId}/issue * * @see https://developer.dnsimple.com/v2/certificates/#issueLetsencryptCertificate * * @param account The account id * @param domain The domain name or id * @param purchaseId The certificate purchase order id received by `purchaseLetsencryptCertificate`. * @param params Query parameters */ issueLetsencryptCertificate: (account: number, domain: string, purchaseId: number, params?: QueryParams & {}) => Promise<{ data: types.Certificate; }>; /** * Renews a [Let's Encrypt](https://dnsimple.com/letsencrypt) certificate ordered with DNSimple. * * POST /{account}/domains/{domain}/certificates/letsencrypt/{certificate}/renewals * * @see https://developer.dnsimple.com/v2/certificates/#purchaseRenewalLetsencryptCertificate * * @param account The account id * @param domain The domain name or id * @param certificate The certificate id * @param params Query parameters */ purchaseLetsencryptCertificateRenewal: (account: number, domain: string, certificate: number, data: Partial<{ auto_renew?: boolean; signature_algorithm?: string; }>, params?: QueryParams & {}) => Promise<{ data: types.LetsencryptCertificateRenewal; }>; /** * Issues a [Let's Encrypt](https://dnsimple.com/letsencrypt) certificate renewal ordered with DNSimple. * * POST /{account}/domains/{domain}/certificates/letsencrypt/{certificate}/renewals/{renewalId}/issue * * @see https://developer.dnsimple.com/v2/certificates/#issueRenewalLetsencryptCertificate * * @param account The account id * @param domain The domain name or id * @param certificate The certificate id * @param renewalId The certificate renewal order id received by `purchaseRenewalLetsencryptCertificate`. * @param params Query parameters */ issueLetsencryptCertificateRenewal: (account: number, domain: string, certificate: number, renewalId: number, params?: QueryParams & {}) => Promise<{ data: types.Certificate; }>; }