68 lines
2.4 KiB
TypeScript
68 lines
2.4 KiB
TypeScript
import type { 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 type { 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
|
|
*
|
|
* [disable-awslint:no-grants]
|
|
*
|
|
* @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;
|
|
}
|