UNPKG

@collaborne/custom-cloudformation-resources

Version:
82 lines (81 loc) 3.13 kB
import type { SchemaType } from '@collaborne/json-schema-to-type'; import { ContinuationRequired, CustomResource, Response } from '../custom-resource'; import { Logger } from '../logger'; declare const SCHEMA: { type: "object"; properties: { DomainName: { type: "string"; }; CertificateTransparencyLoggingPreference: { type: "string"; enum: string[]; }; DomainValidationOptions: { type: "array"; items: { oneOf: readonly [{ type: "object"; properties: { DomainName: { type: "string"; }; ValidationDomain: { type: "string"; }; }; required: ("DomainName" | "ValidationDomain")[]; }, { type: "object"; properties: { DomainName: { type: "string"; }; HostedZoneId: { type: "string"; }; }; required: ("DomainName" | "HostedZoneId")[]; }]; }; }; Tags: { type: "array"; items: { type: "object"; properties: { Key: { type: "string"; }; Value: { type: "string"; }; }; required: "Key"[]; }; }; }; additionalProperties: true; required: "DomainName"[]; }; interface ResourceAttributes { Arn: string; CertificateId: string; } export declare class ACMCertificate extends CustomResource<ResourceAttributes, typeof SCHEMA, Response<ResourceAttributes>> { private acm; private route53; constructor(logicalResourceId: string, logger: Logger); createResource(physicalResourceId: string, params: SchemaType<typeof SCHEMA>, continuationAttributes: Response<ResourceAttributes>): Promise<Response<ResourceAttributes> | ContinuationRequired<Response<ResourceAttributes>>>; deleteResource(physicalResourceId: string, params: SchemaType<typeof SCHEMA>): Promise<Response<ResourceAttributes>>; updateResource(physicalResourceId: string, params: SchemaType<typeof SCHEMA>, oldParams: unknown, continuationAttributes: Response<ResourceAttributes>): Promise<Response<ResourceAttributes> | ContinuationRequired<Response<ResourceAttributes>>>; private findCertificateArn; /** * Get the required resource records for validation */ private getValidationResourceRecords; private createCertificate; private findChangedAttributes; protected maybeContinuation(response: Response<ResourceAttributes>): Promise<Response<ResourceAttributes> | ContinuationRequired<Response<ResourceAttributes>>>; } export {};