@mapbox/cloudfriend 9.1.1-1 → 9.1.1-2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/changelog.md +4 -0
- package/lib/shortcuts/api.md +1 -0
- package/lib/shortcuts/lambda.js +4 -2
- package/package.json +1 -1
- package/test/fixtures/shortcuts/event-lambda-custom-eventbus.json +2 -1
- package/test/fixtures/shortcuts/event-lambda-defaults.json +2 -1
- package/test/fixtures/shortcuts/event-lambda-full.json +2 -1
- package/test/fixtures/shortcuts/hookshot-github-compatible-legacy-node-runtimes.json +3 -1
- package/test/fixtures/shortcuts/hookshot-github-secret-ref.json +3 -1
- package/test/fixtures/shortcuts/hookshot-github-secret-string.json +3 -1
- package/test/fixtures/shortcuts/hookshot-github.json +3 -1
- package/test/fixtures/shortcuts/hookshot-passthrough-access-log-format.json +3 -1
- package/test/fixtures/shortcuts/hookshot-passthrough-alarms.json +3 -1
- package/test/fixtures/shortcuts/hookshot-passthrough-compatible-legacy-node-runtimes.json +3 -1
- package/test/fixtures/shortcuts/hookshot-passthrough-enhanced-logging.json +3 -1
- package/test/fixtures/shortcuts/hookshot-passthrough-full-blown-logging.json +3 -1
- package/test/fixtures/shortcuts/hookshot-passthrough-logging.json +3 -1
- package/test/fixtures/shortcuts/hookshot-passthrough.json +3 -1
- package/test/fixtures/shortcuts/lambda-defaults.json +2 -1
- package/test/fixtures/shortcuts/lambda-docker.json +2 -1
- package/test/fixtures/shortcuts/lambda-full.json +2 -1
- package/test/fixtures/shortcuts/lambda-provided-role.json +2 -1
- package/test/fixtures/shortcuts/lambda-zipfile.json +2 -1
- package/test/fixtures/shortcuts/log-subscription-lambda-defaults.json +2 -1
- package/test/fixtures/shortcuts/log-subscription-lambda-no-defaults.json +2 -1
- package/test/fixtures/shortcuts/queue-lambda-zero.json +2 -1
- package/test/fixtures/shortcuts/queue-lambda.json +2 -1
- package/test/fixtures/shortcuts/scheduled-lambda-defaults.json +2 -1
- package/test/fixtures/shortcuts/scheduled-lambda-full.json +2 -1
- package/test/fixtures/shortcuts/stream-lambda-defaults.json +2 -1
- package/test/fixtures/shortcuts/stream-lambda-no-defaults.json +2 -1
- package/test/shortcuts.test.js +12 -0
package/changelog.md
CHANGED
package/lib/shortcuts/api.md
CHANGED
|
@@ -463,6 +463,7 @@ Log Group, a Role, an Alarm on function errors, and the Lambda Function itself.
|
|
|
463
463
|
| [options.ExtendedStatistic] | <code>String</code> | | See [AWS documentation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-extendedstatistic)] |
|
|
464
464
|
| [options.OKActions] | <code>Array.<String></code> | | See [AWS documentation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-okactions). |
|
|
465
465
|
| [options.LogRetentionInDays] | <code>Number</code> | <code>14</code> | How long to retain CloudWatch logs for this Lambda function. See [AWS Documentation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html) for allowed values. |
|
|
466
|
+
| [options.LogPolicyDeletionPolicy] | <code>String</code> | <code>'Delete'</code> | DeletionPolicy on the IAM Policy resource used to access Logs. See [AWS Documentation](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-attribute-deletionpolicy.html) for allowed values. |
|
|
466
467
|
|
|
467
468
|
**Example**
|
|
468
469
|
```js
|
package/lib/shortcuts/lambda.js
CHANGED
|
@@ -48,7 +48,7 @@ const ServiceRole = require('./service-role');
|
|
|
48
48
|
* @param {String} [options.ExtendedStatistic=undefined] - See [AWS documentation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-extendedstatistic)]
|
|
49
49
|
* @param {Array<String>} [options.OKActions=undefined] - See [AWS documentation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-okactions).
|
|
50
50
|
* @param {Number} [options.LogRetentionInDays=14] - How long to retain CloudWatch logs for this Lambda function. See [AWS Documentation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html) for allowed values.
|
|
51
|
-
*
|
|
51
|
+
* @param {String} [options.LogPolicyDeletionPolicy='Delete'] - DeletionPolicy on the IAM Policy resource used to access Logs. See [AWS Documentation](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-attribute-deletionpolicy.html) for allowed values.
|
|
52
52
|
* @example
|
|
53
53
|
* const cf = require('@mapbox/cloudfriend');
|
|
54
54
|
*
|
|
@@ -108,7 +108,8 @@ class Lambda {
|
|
|
108
108
|
EvaluateLowSampleCountPercentile,
|
|
109
109
|
ExtendedStatistic,
|
|
110
110
|
OKActions,
|
|
111
|
-
LogRetentionInDays = 14
|
|
111
|
+
LogRetentionInDays = 14,
|
|
112
|
+
LogPolicyDeletionPolicy = 'Delete'
|
|
112
113
|
} = options;
|
|
113
114
|
|
|
114
115
|
if (options.EvaluationPeriods < Math.ceil(Timeout / Period))
|
|
@@ -202,6 +203,7 @@ class Lambda {
|
|
|
202
203
|
Type: 'AWS::IAM::Policy',
|
|
203
204
|
Condition,
|
|
204
205
|
DependsOn: (RoleArn) ? undefined : `${LogicalName}Role`,
|
|
206
|
+
DeletionPolicy: LogPolicyDeletionPolicy,
|
|
205
207
|
Properties: {
|
|
206
208
|
PolicyName: `${LogicalName}-lambda-log-access`,
|
|
207
209
|
Roles: [roleName],
|
package/package.json
CHANGED
|
@@ -86,6 +86,7 @@
|
|
|
86
86
|
"MyLambdaLogPolicy": {
|
|
87
87
|
"Type": "AWS::IAM::Policy",
|
|
88
88
|
"DependsOn": "MyLambdaRole",
|
|
89
|
+
"DeletionPolicy": "Delete",
|
|
89
90
|
"Properties": {
|
|
90
91
|
"PolicyName": "MyLambda-lambda-log-access",
|
|
91
92
|
"Roles": [
|
|
@@ -197,4 +198,4 @@
|
|
|
197
198
|
}
|
|
198
199
|
},
|
|
199
200
|
"Outputs": {}
|
|
200
|
-
}
|
|
201
|
+
}
|
|
@@ -86,6 +86,7 @@
|
|
|
86
86
|
"MyLambdaLogPolicy": {
|
|
87
87
|
"Type": "AWS::IAM::Policy",
|
|
88
88
|
"DependsOn": "MyLambdaRole",
|
|
89
|
+
"DeletionPolicy": "Delete",
|
|
89
90
|
"Properties": {
|
|
90
91
|
"PolicyName": "MyLambda-lambda-log-access",
|
|
91
92
|
"Roles": [
|
|
@@ -196,4 +197,4 @@
|
|
|
196
197
|
}
|
|
197
198
|
},
|
|
198
199
|
"Outputs": {}
|
|
199
|
-
}
|
|
200
|
+
}
|
|
@@ -86,6 +86,7 @@
|
|
|
86
86
|
"MyLambdaLogPolicy": {
|
|
87
87
|
"Type": "AWS::IAM::Policy",
|
|
88
88
|
"DependsOn": "MyLambdaRole",
|
|
89
|
+
"DeletionPolicy": "Delete",
|
|
89
90
|
"Properties": {
|
|
90
91
|
"PolicyName": "MyLambda-lambda-log-access",
|
|
91
92
|
"Roles": [
|
|
@@ -196,4 +197,4 @@
|
|
|
196
197
|
}
|
|
197
198
|
},
|
|
198
199
|
"Outputs": {}
|
|
199
|
-
}
|
|
200
|
+
}
|
|
@@ -224,6 +224,7 @@
|
|
|
224
224
|
"PassFunctionLogPolicy": {
|
|
225
225
|
"Type": "AWS::IAM::Policy",
|
|
226
226
|
"DependsOn": "PassFunctionRole",
|
|
227
|
+
"DeletionPolicy": "Delete",
|
|
227
228
|
"Properties": {
|
|
228
229
|
"PolicyName": "PassFunction-lambda-log-access",
|
|
229
230
|
"Roles": [
|
|
@@ -365,6 +366,7 @@
|
|
|
365
366
|
"DestinationLogPolicy": {
|
|
366
367
|
"Type": "AWS::IAM::Policy",
|
|
367
368
|
"DependsOn": "DestinationRole",
|
|
369
|
+
"DeletionPolicy": "Delete",
|
|
368
370
|
"Properties": {
|
|
369
371
|
"PolicyName": "Destination-lambda-log-access",
|
|
370
372
|
"Roles": [
|
|
@@ -420,4 +422,4 @@
|
|
|
420
422
|
"Value": "abc123"
|
|
421
423
|
}
|
|
422
424
|
}
|
|
423
|
-
}
|
|
425
|
+
}
|
|
@@ -230,6 +230,7 @@
|
|
|
230
230
|
"PassFunctionLogPolicy": {
|
|
231
231
|
"Type": "AWS::IAM::Policy",
|
|
232
232
|
"DependsOn": "PassFunctionRole",
|
|
233
|
+
"DeletionPolicy": "Delete",
|
|
233
234
|
"Properties": {
|
|
234
235
|
"PolicyName": "PassFunction-lambda-log-access",
|
|
235
236
|
"Roles": [
|
|
@@ -371,6 +372,7 @@
|
|
|
371
372
|
"DestinationLogPolicy": {
|
|
372
373
|
"Type": "AWS::IAM::Policy",
|
|
373
374
|
"DependsOn": "DestinationRole",
|
|
375
|
+
"DeletionPolicy": "Delete",
|
|
374
376
|
"Properties": {
|
|
375
377
|
"PolicyName": "Destination-lambda-log-access",
|
|
376
378
|
"Roles": [
|
|
@@ -428,4 +430,4 @@
|
|
|
428
430
|
}
|
|
429
431
|
}
|
|
430
432
|
}
|
|
431
|
-
}
|
|
433
|
+
}
|
|
@@ -224,6 +224,7 @@
|
|
|
224
224
|
"PassFunctionLogPolicy": {
|
|
225
225
|
"Type": "AWS::IAM::Policy",
|
|
226
226
|
"DependsOn": "PassFunctionRole",
|
|
227
|
+
"DeletionPolicy": "Delete",
|
|
227
228
|
"Properties": {
|
|
228
229
|
"PolicyName": "PassFunction-lambda-log-access",
|
|
229
230
|
"Roles": [
|
|
@@ -365,6 +366,7 @@
|
|
|
365
366
|
"DestinationLogPolicy": {
|
|
366
367
|
"Type": "AWS::IAM::Policy",
|
|
367
368
|
"DependsOn": "DestinationRole",
|
|
369
|
+
"DeletionPolicy": "Delete",
|
|
368
370
|
"Properties": {
|
|
369
371
|
"PolicyName": "Destination-lambda-log-access",
|
|
370
372
|
"Roles": [
|
|
@@ -420,4 +422,4 @@
|
|
|
420
422
|
"Value": "abc123"
|
|
421
423
|
}
|
|
422
424
|
}
|
|
423
|
-
}
|
|
425
|
+
}
|
|
@@ -232,6 +232,7 @@
|
|
|
232
232
|
"PassFunctionLogPolicy": {
|
|
233
233
|
"Type": "AWS::IAM::Policy",
|
|
234
234
|
"DependsOn": "PassFunctionRole",
|
|
235
|
+
"DeletionPolicy": "Delete",
|
|
235
236
|
"Properties": {
|
|
236
237
|
"PolicyName": "PassFunction-lambda-log-access",
|
|
237
238
|
"Roles": [
|
|
@@ -373,6 +374,7 @@
|
|
|
373
374
|
"DestinationLogPolicy": {
|
|
374
375
|
"Type": "AWS::IAM::Policy",
|
|
375
376
|
"DependsOn": "DestinationRole",
|
|
377
|
+
"DeletionPolicy": "Delete",
|
|
376
378
|
"Properties": {
|
|
377
379
|
"PolicyName": "Destination-lambda-log-access",
|
|
378
380
|
"Roles": [
|
|
@@ -430,4 +432,4 @@
|
|
|
430
432
|
}
|
|
431
433
|
}
|
|
432
434
|
}
|
|
433
|
-
}
|
|
435
|
+
}
|
|
@@ -228,6 +228,7 @@
|
|
|
228
228
|
"PassFunctionLogPolicy": {
|
|
229
229
|
"Type": "AWS::IAM::Policy",
|
|
230
230
|
"DependsOn": "PassFunctionRole",
|
|
231
|
+
"DeletionPolicy": "Delete",
|
|
231
232
|
"Properties": {
|
|
232
233
|
"PolicyName": "PassFunction-lambda-log-access",
|
|
233
234
|
"Roles": [
|
|
@@ -369,6 +370,7 @@
|
|
|
369
370
|
"DestinationLogPolicy": {
|
|
370
371
|
"Type": "AWS::IAM::Policy",
|
|
371
372
|
"DependsOn": "DestinationRole",
|
|
373
|
+
"DeletionPolicy": "Delete",
|
|
372
374
|
"Properties": {
|
|
373
375
|
"PolicyName": "Destination-lambda-log-access",
|
|
374
376
|
"Roles": [
|
|
@@ -426,4 +428,4 @@
|
|
|
426
428
|
}
|
|
427
429
|
}
|
|
428
430
|
}
|
|
429
|
-
}
|
|
431
|
+
}
|
|
@@ -212,6 +212,7 @@
|
|
|
212
212
|
"PassFunctionLogPolicy": {
|
|
213
213
|
"Type": "AWS::IAM::Policy",
|
|
214
214
|
"DependsOn": "PassFunctionRole",
|
|
215
|
+
"DeletionPolicy": "Delete",
|
|
215
216
|
"Properties": {
|
|
216
217
|
"PolicyName": "PassFunction-lambda-log-access",
|
|
217
218
|
"Roles": [
|
|
@@ -353,6 +354,7 @@
|
|
|
353
354
|
"DestinationLogPolicy": {
|
|
354
355
|
"Type": "AWS::IAM::Policy",
|
|
355
356
|
"DependsOn": "DestinationRole",
|
|
357
|
+
"DeletionPolicy": "Delete",
|
|
356
358
|
"Properties": {
|
|
357
359
|
"PolicyName": "Destination-lambda-log-access",
|
|
358
360
|
"Roles": [
|
|
@@ -410,4 +412,4 @@
|
|
|
410
412
|
}
|
|
411
413
|
}
|
|
412
414
|
}
|
|
413
|
-
}
|
|
415
|
+
}
|
|
@@ -210,6 +210,7 @@
|
|
|
210
210
|
"PassFunctionLogPolicy": {
|
|
211
211
|
"Type": "AWS::IAM::Policy",
|
|
212
212
|
"DependsOn": "PassFunctionRole",
|
|
213
|
+
"DeletionPolicy": "Delete",
|
|
213
214
|
"Properties": {
|
|
214
215
|
"PolicyName": "PassFunction-lambda-log-access",
|
|
215
216
|
"Roles": [
|
|
@@ -351,6 +352,7 @@
|
|
|
351
352
|
"DestinationLogPolicy": {
|
|
352
353
|
"Type": "AWS::IAM::Policy",
|
|
353
354
|
"DependsOn": "DestinationRole",
|
|
355
|
+
"DeletionPolicy": "Delete",
|
|
354
356
|
"Properties": {
|
|
355
357
|
"PolicyName": "Destination-lambda-log-access",
|
|
356
358
|
"Roles": [
|
|
@@ -408,4 +410,4 @@
|
|
|
408
410
|
}
|
|
409
411
|
}
|
|
410
412
|
}
|
|
411
|
-
}
|
|
413
|
+
}
|
|
@@ -210,6 +210,7 @@
|
|
|
210
210
|
"PassFunctionLogPolicy": {
|
|
211
211
|
"Type": "AWS::IAM::Policy",
|
|
212
212
|
"DependsOn": "PassFunctionRole",
|
|
213
|
+
"DeletionPolicy": "Delete",
|
|
213
214
|
"Properties": {
|
|
214
215
|
"PolicyName": "PassFunction-lambda-log-access",
|
|
215
216
|
"Roles": [
|
|
@@ -351,6 +352,7 @@
|
|
|
351
352
|
"DestinationLogPolicy": {
|
|
352
353
|
"Type": "AWS::IAM::Policy",
|
|
353
354
|
"DependsOn": "DestinationRole",
|
|
355
|
+
"DeletionPolicy": "Delete",
|
|
354
356
|
"Properties": {
|
|
355
357
|
"PolicyName": "Destination-lambda-log-access",
|
|
356
358
|
"Roles": [
|
|
@@ -408,4 +410,4 @@
|
|
|
408
410
|
}
|
|
409
411
|
}
|
|
410
412
|
}
|
|
411
|
-
}
|
|
413
|
+
}
|
|
@@ -210,6 +210,7 @@
|
|
|
210
210
|
"PassFunctionLogPolicy": {
|
|
211
211
|
"Type": "AWS::IAM::Policy",
|
|
212
212
|
"DependsOn": "PassFunctionRole",
|
|
213
|
+
"DeletionPolicy": "Delete",
|
|
213
214
|
"Properties": {
|
|
214
215
|
"PolicyName": "PassFunction-lambda-log-access",
|
|
215
216
|
"Roles": [
|
|
@@ -351,6 +352,7 @@
|
|
|
351
352
|
"DestinationLogPolicy": {
|
|
352
353
|
"Type": "AWS::IAM::Policy",
|
|
353
354
|
"DependsOn": "DestinationRole",
|
|
355
|
+
"DeletionPolicy": "Delete",
|
|
354
356
|
"Properties": {
|
|
355
357
|
"PolicyName": "Destination-lambda-log-access",
|
|
356
358
|
"Roles": [
|
|
@@ -408,4 +410,4 @@
|
|
|
408
410
|
}
|
|
409
411
|
}
|
|
410
412
|
}
|
|
411
|
-
}
|
|
413
|
+
}
|
|
@@ -210,6 +210,7 @@
|
|
|
210
210
|
"PassFunctionLogPolicy": {
|
|
211
211
|
"Type": "AWS::IAM::Policy",
|
|
212
212
|
"DependsOn": "PassFunctionRole",
|
|
213
|
+
"DeletionPolicy": "Delete",
|
|
213
214
|
"Properties": {
|
|
214
215
|
"PolicyName": "PassFunction-lambda-log-access",
|
|
215
216
|
"Roles": [
|
|
@@ -351,6 +352,7 @@
|
|
|
351
352
|
"DestinationLogPolicy": {
|
|
352
353
|
"Type": "AWS::IAM::Policy",
|
|
353
354
|
"DependsOn": "DestinationRole",
|
|
355
|
+
"DeletionPolicy": "Delete",
|
|
354
356
|
"Properties": {
|
|
355
357
|
"PolicyName": "Destination-lambda-log-access",
|
|
356
358
|
"Roles": [
|
|
@@ -408,4 +410,4 @@
|
|
|
408
410
|
}
|
|
409
411
|
}
|
|
410
412
|
}
|
|
411
|
-
}
|
|
413
|
+
}
|
|
@@ -210,6 +210,7 @@
|
|
|
210
210
|
"PassFunctionLogPolicy": {
|
|
211
211
|
"Type": "AWS::IAM::Policy",
|
|
212
212
|
"DependsOn": "PassFunctionRole",
|
|
213
|
+
"DeletionPolicy": "Delete",
|
|
213
214
|
"Properties": {
|
|
214
215
|
"PolicyName": "PassFunction-lambda-log-access",
|
|
215
216
|
"Roles": [
|
|
@@ -351,6 +352,7 @@
|
|
|
351
352
|
"DestinationLogPolicy": {
|
|
352
353
|
"Type": "AWS::IAM::Policy",
|
|
353
354
|
"DependsOn": "DestinationRole",
|
|
355
|
+
"DeletionPolicy": "Delete",
|
|
354
356
|
"Properties": {
|
|
355
357
|
"PolicyName": "Destination-lambda-log-access",
|
|
356
358
|
"Roles": [
|
|
@@ -408,4 +410,4 @@
|
|
|
408
410
|
}
|
|
409
411
|
}
|
|
410
412
|
}
|
|
411
|
-
}
|
|
413
|
+
}
|
|
@@ -86,6 +86,7 @@
|
|
|
86
86
|
"MyLambdaLogPolicy": {
|
|
87
87
|
"Type": "AWS::IAM::Policy",
|
|
88
88
|
"DependsOn": "MyLambdaRole",
|
|
89
|
+
"DeletionPolicy": "Delete",
|
|
89
90
|
"Properties": {
|
|
90
91
|
"PolicyName": "MyLambda-lambda-log-access",
|
|
91
92
|
"Roles": [
|
|
@@ -130,4 +131,4 @@
|
|
|
130
131
|
}
|
|
131
132
|
},
|
|
132
133
|
"Outputs": {}
|
|
133
|
-
}
|
|
134
|
+
}
|
|
@@ -84,6 +84,7 @@
|
|
|
84
84
|
"MyLambdaLogPolicy": {
|
|
85
85
|
"Type": "AWS::IAM::Policy",
|
|
86
86
|
"DependsOn": "MyLambdaRole",
|
|
87
|
+
"DeletionPolicy": "Delete",
|
|
87
88
|
"Properties": {
|
|
88
89
|
"PolicyName": "MyLambda-lambda-log-access",
|
|
89
90
|
"Roles": [
|
|
@@ -128,4 +129,4 @@
|
|
|
128
129
|
}
|
|
129
130
|
},
|
|
130
131
|
"Outputs": {}
|
|
131
|
-
}
|
|
132
|
+
}
|
|
@@ -120,6 +120,7 @@
|
|
|
120
120
|
"Type": "AWS::IAM::Policy",
|
|
121
121
|
"Condition": "Always",
|
|
122
122
|
"DependsOn": "MyLambdaRole",
|
|
123
|
+
"DeletionPolicy": "Delete",
|
|
123
124
|
"Properties": {
|
|
124
125
|
"PolicyName": "MyLambda-lambda-log-access",
|
|
125
126
|
"Roles": [
|
|
@@ -180,4 +181,4 @@
|
|
|
180
181
|
}
|
|
181
182
|
},
|
|
182
183
|
"Outputs": {}
|
|
183
|
-
}
|
|
184
|
+
}
|
|
@@ -85,6 +85,7 @@
|
|
|
85
85
|
"MyLambdaLogPolicy": {
|
|
86
86
|
"Type": "AWS::IAM::Policy",
|
|
87
87
|
"DependsOn": "MyLambdaRole",
|
|
88
|
+
"DeletionPolicy": "Delete",
|
|
88
89
|
"Properties": {
|
|
89
90
|
"PolicyName": "MyLambda-lambda-log-access",
|
|
90
91
|
"Roles": [
|
|
@@ -129,4 +130,4 @@
|
|
|
129
130
|
}
|
|
130
131
|
},
|
|
131
132
|
"Outputs": {}
|
|
132
|
-
}
|
|
133
|
+
}
|
|
@@ -86,6 +86,7 @@
|
|
|
86
86
|
"MyLambdaLogPolicy": {
|
|
87
87
|
"Type": "AWS::IAM::Policy",
|
|
88
88
|
"DependsOn": "MyLambdaRole",
|
|
89
|
+
"DeletionPolicy": "Delete",
|
|
89
90
|
"Properties": {
|
|
90
91
|
"PolicyName": "MyLambda-lambda-log-access",
|
|
91
92
|
"Roles": [
|
|
@@ -166,4 +167,4 @@
|
|
|
166
167
|
}
|
|
167
168
|
},
|
|
168
169
|
"Outputs": {}
|
|
169
|
-
}
|
|
170
|
+
}
|
|
@@ -86,6 +86,7 @@
|
|
|
86
86
|
"MyLambdaLogPolicy": {
|
|
87
87
|
"Type": "AWS::IAM::Policy",
|
|
88
88
|
"DependsOn": "MyLambdaRole",
|
|
89
|
+
"DeletionPolicy": "Delete",
|
|
89
90
|
"Properties": {
|
|
90
91
|
"PolicyName": "MyLambda-lambda-log-access",
|
|
91
92
|
"Roles": [
|
|
@@ -166,4 +167,4 @@
|
|
|
166
167
|
}
|
|
167
168
|
},
|
|
168
169
|
"Outputs": {}
|
|
169
|
-
}
|
|
170
|
+
}
|
|
@@ -87,6 +87,7 @@
|
|
|
87
87
|
"MyLambdaLogPolicy": {
|
|
88
88
|
"Type": "AWS::IAM::Policy",
|
|
89
89
|
"DependsOn": "MyLambdaRole",
|
|
90
|
+
"DeletionPolicy": "Delete",
|
|
90
91
|
"Properties": {
|
|
91
92
|
"PolicyName": "MyLambda-lambda-log-access",
|
|
92
93
|
"Roles": [
|
|
@@ -171,4 +172,4 @@
|
|
|
171
172
|
}
|
|
172
173
|
},
|
|
173
174
|
"Outputs": {}
|
|
174
|
-
}
|
|
175
|
+
}
|
|
@@ -87,6 +87,7 @@
|
|
|
87
87
|
"MyLambdaLogPolicy": {
|
|
88
88
|
"Type": "AWS::IAM::Policy",
|
|
89
89
|
"DependsOn": "MyLambdaRole",
|
|
90
|
+
"DeletionPolicy": "Delete",
|
|
90
91
|
"Properties": {
|
|
91
92
|
"PolicyName": "MyLambda-lambda-log-access",
|
|
92
93
|
"Roles": [
|
|
@@ -171,4 +172,4 @@
|
|
|
171
172
|
}
|
|
172
173
|
},
|
|
173
174
|
"Outputs": {}
|
|
174
|
-
}
|
|
175
|
+
}
|
|
@@ -86,6 +86,7 @@
|
|
|
86
86
|
"MyLambdaLogPolicy": {
|
|
87
87
|
"Type": "AWS::IAM::Policy",
|
|
88
88
|
"DependsOn": "MyLambdaRole",
|
|
89
|
+
"DeletionPolicy": "Delete",
|
|
89
90
|
"Properties": {
|
|
90
91
|
"PolicyName": "MyLambda-lambda-log-access",
|
|
91
92
|
"Roles": [
|
|
@@ -205,4 +206,4 @@
|
|
|
205
206
|
}
|
|
206
207
|
},
|
|
207
208
|
"Outputs": {}
|
|
208
|
-
}
|
|
209
|
+
}
|
|
@@ -86,6 +86,7 @@
|
|
|
86
86
|
"MyLambdaLogPolicy": {
|
|
87
87
|
"Type": "AWS::IAM::Policy",
|
|
88
88
|
"DependsOn": "MyLambdaRole",
|
|
89
|
+
"DeletionPolicy": "Delete",
|
|
89
90
|
"Properties": {
|
|
90
91
|
"PolicyName": "MyLambda-lambda-log-access",
|
|
91
92
|
"Roles": [
|
|
@@ -163,4 +164,4 @@
|
|
|
163
164
|
}
|
|
164
165
|
},
|
|
165
166
|
"Outputs": {}
|
|
166
|
-
}
|
|
167
|
+
}
|
|
@@ -86,6 +86,7 @@
|
|
|
86
86
|
"MyLambdaLogPolicy": {
|
|
87
87
|
"Type": "AWS::IAM::Policy",
|
|
88
88
|
"DependsOn": "MyLambdaRole",
|
|
89
|
+
"DeletionPolicy": "Delete",
|
|
89
90
|
"Properties": {
|
|
90
91
|
"PolicyName": "MyLambda-lambda-log-access",
|
|
91
92
|
"Roles": [
|
|
@@ -176,4 +177,4 @@
|
|
|
176
177
|
}
|
|
177
178
|
},
|
|
178
179
|
"Outputs": {}
|
|
179
|
-
}
|
|
180
|
+
}
|
|
@@ -86,6 +86,7 @@
|
|
|
86
86
|
"MyLambdaLogPolicy": {
|
|
87
87
|
"Type": "AWS::IAM::Policy",
|
|
88
88
|
"DependsOn": "MyLambdaRole",
|
|
89
|
+
"DeletionPolicy": "Delete",
|
|
89
90
|
"Properties": {
|
|
90
91
|
"PolicyName": "MyLambda-lambda-log-access",
|
|
91
92
|
"Roles": [
|
|
@@ -184,4 +185,4 @@
|
|
|
184
185
|
}
|
|
185
186
|
},
|
|
186
187
|
"Outputs": {}
|
|
187
|
-
}
|
|
188
|
+
}
|
package/test/shortcuts.test.js
CHANGED
|
@@ -94,6 +94,18 @@ test('[shortcuts] lambda', (assert) => {
|
|
|
94
94
|
'expected resources generated using all default values'
|
|
95
95
|
);
|
|
96
96
|
|
|
97
|
+
const lambdaWithRetain = new cf.shortcuts.Lambda({
|
|
98
|
+
LogicalName: 'MyLambda',
|
|
99
|
+
Code: { S3Bucket: 'my-code-bucket', S3Key: 'path/to/code.zip' },
|
|
100
|
+
LogPolicyDeletionPolicy: 'Retain'
|
|
101
|
+
});
|
|
102
|
+
const templateWithRetain = cf.merge(lambdaWithRetain);
|
|
103
|
+
assert.equal(
|
|
104
|
+
templateWithRetain.Resources.MyLambdaLogPolicy.DeletionPolicy,
|
|
105
|
+
'Retain',
|
|
106
|
+
'LogPolicyDeletionPolicy=Retain sets DeletionPolicy on IAM Policy resource'
|
|
107
|
+
);
|
|
108
|
+
|
|
97
109
|
lambda = new cf.shortcuts.Lambda({
|
|
98
110
|
LogicalName: 'MyLambda',
|
|
99
111
|
Code: {
|