import { Handler } from "../handler"; export type CodePipelineHandler = Handler; /** * CodePipeline events * https://docs.aws.amazon.com/codepipeline/latest/userguide/actions-invoke-lambda-function.html */ export interface S3ArtifactLocation { bucketName: string; objectKey: string; } export interface S3ArtifactStore { type: "S3"; s3Location: S3ArtifactLocation; } export type ArtifactLocation = S3ArtifactStore; export interface Artifact { name: string; revision: string | null; location: ArtifactLocation; } export interface Credentials { accessKeyId: string; secretAccessKey: string; sessionToken?: string | undefined; } export interface EncryptionKey { type: string; id: string; } export interface CodePipelineEvent { "CodePipeline.job": { id: string; accountId: string; data: { actionConfiguration: { configuration: { FunctionName: string; UserParameters: string; }; }; inputArtifacts: Artifact[]; outputArtifacts: Artifact[]; artifactCredentials: Credentials; encryptionKey?: (EncryptionKey & { type: "KMS" }) | undefined; continuationToken?: string | undefined; }; }; }