UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

66 lines (65 loc) 2.44 kB
import { Construct } from 'constructs'; import { Action } from './action'; import * as codepipeline from '../../aws-codepipeline'; import * as iam from '../../aws-iam'; import * as sns from '../../aws-sns'; import { Duration } from '../../core'; /** * Construction properties of the `ManualApprovalAction`. */ export interface ManualApprovalActionProps extends codepipeline.CommonAwsActionProps { /** * Optional SNS topic to send notifications to when an approval is pending. */ readonly notificationTopic?: sns.ITopic; /** * A list of email addresses to subscribe to notifications when this Action is pending approval. * If this has been provided, but not `notificationTopic`, * a new Topic will be created. */ readonly notifyEmails?: string[]; /** * Any additional information that you want to include in the notification email message. */ readonly additionalInformation?: string; /** * URL you want to provide to the reviewer as part of the approval request. * * @default - the approval request will not have an external link */ readonly externalEntityLink?: string; /** * A timeout duration. * * It is configurable up to 86400 minutes (60 days) with a minimum value of 5 minutes. * * @default - 10080 minutes (7 days) * @see https://docs.aws.amazon.com/codepipeline/latest/userguide/limits.html */ readonly timeout?: Duration; } /** * Manual approval action. */ export declare class ManualApprovalAction extends Action { /** * The SNS Topic passed when constructing the Action. * If no Topic was passed, but `notifyEmails` were provided, * a new Topic will be created. */ private _notificationTopic?; private readonly props; private stage?; constructor(props: ManualApprovalActionProps); get notificationTopic(): sns.ITopic | undefined; /** * grant the provided principal the permissions to approve or reject this manual approval action * * For more info see: * https://docs.aws.amazon.com/codepipeline/latest/userguide/approvals-iam-permissions.html * * @param grantable the grantable to attach the permissions to */ grantManualApproval(grantable: iam.IGrantable): void; protected bound(scope: Construct, stage: codepipeline.IStage, options: codepipeline.ActionBindOptions): codepipeline.ActionConfig; }