Skip to content

Commit 1656b7e

Browse files
committed
PR feedback
1 parent aa85838 commit 1656b7e

File tree

2 files changed

+25
-18
lines changed

2 files changed

+25
-18
lines changed

lambda/publisher.js

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,10 @@ const utils = require('./utils');
44

55

66
module.exports.handler = async(event, context) => {
7-
const {iterator, aliases, currConfig, lambdaARN} = validateInputs(event);
7+
const {lambdaConfigurations, currConfig, lambdaARN} = validateInputs(event);
8+
const currentIterator = lambdaConfigurations.iterator;
9+
const aliases = lambdaConfigurations.aliases;
10+
811
const {envVars} = await utils.getLambdaPower(lambdaARN);
912
// Alias may not exist when we are reverting the Lambda function to its original configuration
1013
if (typeof currConfig.alias !== 'undefined'){
@@ -21,32 +24,36 @@ module.exports.handler = async(event, context) => {
2124
}
2225

2326
// update iterator
24-
iterator.index++;
25-
iterator.continue = (iterator.index < iterator.count);
26-
if (!iterator.continue) {
27-
delete event.powerValues.initConfigurations;
28-
}
29-
event.powerValues.aliases = aliases;
30-
return event.powerValues;
27+
const updatedIterator = {
28+
index: (currentIterator.index + 1),
29+
count: currentIterator.count,
30+
continue: ((currentIterator.index + 1) < currentIterator.count),
31+
};
32+
const updatedLambdaConfigurations = {
33+
initConfigurations: ((updatedIterator.continue) ? lambdaConfigurations.initConfigurations : undefined),
34+
iterator: updatedIterator,
35+
aliases: aliases,
36+
powerValues: lambdaConfigurations.powerValues,
37+
};
38+
return updatedLambdaConfigurations;
3139
};
3240
function validateInputs(event) {
3341
if (!event.lambdaARN) {
3442
throw new Error('Missing or empty lambdaARN');
3543
}
3644
const lambdaARN = event.lambdaARN;
37-
if (!(event.powerValues && event.powerValues.iterator && event.powerValues.initConfigurations)){
45+
if (!(event.lambdaConfigurations && event.lambdaConfigurations.iterator && event.lambdaConfigurations.initConfigurations)){
3846
throw new Error('Invalid iterator for initialization');
3947
}
40-
const iterator = event.powerValues.iterator;
48+
const iterator = event.lambdaConfigurations.iterator;
4149
if (!(iterator.index >= 0 && iterator.index < iterator.count)){
4250
throw new Error(`Invalid iterator index: ${iterator.index}`);
4351
}
44-
const initConfigurations = event.powerValues.initConfigurations;
45-
const aliases = event.powerValues.aliases || [];
52+
const lambdaConfigurations = event.lambdaConfigurations;
4653
const currIdx = iterator.index;
47-
const currConfig = initConfigurations[currIdx];
54+
const currConfig = lambdaConfigurations.initConfigurations[currIdx];
4855
if (!(currConfig && currConfig.powerValue)){
4956
throw new Error(`Invalid init configuration: ${currConfig}`);
5057
}
51-
return {iterator, aliases, currConfig, lambdaARN};
58+
return {lambdaConfigurations, currConfig, lambdaARN};
5259
}

statemachine/statemachine.asl.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"Type": "Task",
77
"Resource": "${initializerArn}",
88
"Next": "versionPublisher",
9-
"ResultPath": "$.powerValues",
9+
"ResultPath": "$.lambdaConfigurations",
1010
"TimeoutSeconds": ${totalExecutionTimeout},
1111
"Catch": [
1212
{
@@ -20,7 +20,7 @@
2020
"Type": "Task",
2121
"Resource": "${versionPublisherArn}",
2222
"Next": "IsCountReached",
23-
"ResultPath": "$.powerValues",
23+
"ResultPath": "$.lambdaConfigurations",
2424
"TimeoutSeconds": ${totalExecutionTimeout},
2525
"Catch": [{
2626
"ErrorEquals": [ "States.ALL" ],
@@ -32,7 +32,7 @@
3232
"Type": "Choice",
3333
"Choices": [
3434
{
35-
"Variable": "$.powerValues.iterator.continue",
35+
"Variable": "$.lambdaConfigurations.iterator.continue",
3636
"BooleanEquals": true,
3737
"Next": "versionPublisher"
3838
}
@@ -42,7 +42,7 @@
4242
"Branching": {
4343
"Type": "Map",
4444
"Next": "Cleaner",
45-
"ItemsPath": "$.powerValues.powerValues",
45+
"ItemsPath": "$.lambdaConfigurations.powerValues",
4646
"ResultPath": "$.stats",
4747
"ItemSelector": {
4848
"input.$": "$",

0 commit comments

Comments
 (0)