Files
agent-claw/cdk/node_modules/aws-cdk-lib/aws-codepipeline-actions/lib/manual-approval-action.d.ts
2026-05-06 18:55:16 -05:00

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;
}