|
1 |
| -import { StackActivityProgress } from '../../api/aws-cdk'; |
2 |
| -import type { StackSelector } from '../../api/cloud-assembly'; |
| 1 | +import type { BaseDeployOptions } from './private/deploy-options'; |
| 2 | +import type { StackActivityProgress, Tag } from '../../api/aws-cdk'; |
3 | 3 |
|
4 | 4 | export type DeploymentMethod = DirectDeploymentMethod | ChangeSetDeploymentMethod;
|
5 | 5 |
|
@@ -48,14 +48,18 @@ export enum AssetBuildTime {
|
48 | 48 | JUST_IN_TIME = 'just-in-time',
|
49 | 49 | }
|
50 | 50 |
|
51 |
| -export interface Tag { |
52 |
| - readonly Key: string; |
53 |
| - readonly Value: string; |
54 |
| -} |
55 |
| - |
56 | 51 | export enum RequireApproval {
|
| 52 | + /** |
| 53 | + * Never require any security approvals |
| 54 | + */ |
57 | 55 | NEVER = 'never',
|
| 56 | + /** |
| 57 | + * Any security changes require an approval |
| 58 | + */ |
58 | 59 | ANY_CHANGE = 'any-change',
|
| 60 | + /** |
| 61 | + * Require approval only for changes that are access broadening |
| 62 | + */ |
59 | 63 | BROADENING = 'broadening',
|
60 | 64 | }
|
61 | 65 |
|
@@ -107,84 +111,18 @@ export class StackParameters {
|
107 | 111 | }
|
108 | 112 | }
|
109 | 113 |
|
110 |
| -export interface BaseDeployOptions { |
111 |
| - /** |
112 |
| - * Criteria for selecting stacks to deploy |
113 |
| - * |
114 |
| - * @default - all stacks |
115 |
| - */ |
116 |
| - readonly stacks?: StackSelector; |
117 |
| - |
118 |
| - /** |
119 |
| - * Role to pass to CloudFormation for deployment |
120 |
| - */ |
121 |
| - readonly roleArn?: string; |
122 |
| - |
123 |
| - /** |
124 |
| - * @TODO can this be part of `DeploymentMethod` |
125 |
| - * |
126 |
| - * Always deploy, even if templates are identical. |
127 |
| - * |
128 |
| - * @default false |
129 |
| - * @deprecated |
130 |
| - */ |
131 |
| - readonly force?: boolean; |
132 |
| - |
133 |
| - /** |
134 |
| - * Deployment method |
135 |
| - */ |
136 |
| - readonly deploymentMethod?: DeploymentMethod; |
137 |
| - |
138 |
| - /** |
139 |
| - * @TODO can this be part of `DeploymentMethod` |
140 |
| - * |
141 |
| - * Whether to perform a 'hotswap' deployment. |
142 |
| - * A 'hotswap' deployment will attempt to short-circuit CloudFormation |
143 |
| - * and update the affected resources like Lambda functions directly. |
144 |
| - * |
145 |
| - * @default - no hotswap |
146 |
| - */ |
147 |
| - readonly hotswap?: HotswapMode; |
148 |
| - |
149 |
| - /** |
150 |
| - * Rollback failed deployments |
151 |
| - * |
152 |
| - * @default true |
153 |
| - */ |
154 |
| - readonly rollback?: boolean; |
155 |
| - |
156 |
| - /** |
157 |
| - * Reuse the assets with the given asset IDs |
158 |
| - */ |
159 |
| - readonly reuseAssets?: string[]; |
160 |
| - |
161 |
| - /** |
162 |
| - * Maximum number of simultaneous deployments (dependency permitting) to execute. |
163 |
| - * The default is '1', which executes all deployments serially. |
164 |
| - * |
165 |
| - * @default 1 |
166 |
| - */ |
167 |
| - readonly concurrency?: number; |
168 |
| - |
169 |
| - /** |
170 |
| - * Whether to send logs from all CloudWatch log groups in the template |
171 |
| - * to the IoHost |
172 |
| - * |
173 |
| - * @default - false |
174 |
| - */ |
175 |
| - readonly traceLogs?: boolean; |
176 |
| -} |
177 |
| - |
178 | 114 | export interface DeployOptions extends BaseDeployOptions {
|
179 | 115 | /**
|
180 | 116 | * ARNs of SNS topics that CloudFormation will notify with stack related events
|
181 | 117 | */
|
182 | 118 | readonly notificationArns?: string[];
|
183 | 119 |
|
184 | 120 | /**
|
185 |
| - * What kind of security changes require approval |
| 121 | + * Require a confirmation for security relevant changes before continuing with the deployment |
186 | 122 | *
|
187 | 123 | * @default RequireApproval.NEVER
|
| 124 | + * @deprecated in future a message containing the full diff will be emitted and a response requested. |
| 125 | + * Approval workflows should be implemented in the `IIoHost`. |
188 | 126 | */
|
189 | 127 | readonly requireApproval?: RequireApproval;
|
190 | 128 |
|
|
0 commit comments