@mapbox/cloudfriend 8.0.0-0 → 8.0.0
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/.nyc_output/{70bddb17-d1d1-4971-b79f-5fece324d8d2.json → c5b5c951-37d5-4058-a3e4-939c91352f33.json} +1 -1
- package/.nyc_output/{243d5bfa-9e45-4291-a944-4258a7a28148.json → d9683579-e4df-4a8c-916b-585093031713.json} +1 -1
- package/.nyc_output/processinfo/c5b5c951-37d5-4058-a3e4-939c91352f33.json +1 -0
- package/.nyc_output/processinfo/d9683579-e4df-4a8c-916b-585093031713.json +1 -0
- package/.nyc_output/processinfo/index.json +1 -1
- package/lib/shortcuts/api.md +10 -7
- package/lib/shortcuts/scheduled-lambda.js +9 -4
- package/package.json +1 -1
- package/test/fixtures/shortcuts/hookshot-github-secret-ref.json +2 -2
- package/test/fixtures/shortcuts/hookshot-github-secret-string.json +2 -2
- package/test/fixtures/shortcuts/hookshot-github.json +2 -2
- package/test/fixtures/shortcuts/hookshot-passthrough-access-log-format.json +2 -2
- package/test/fixtures/shortcuts/hookshot-passthrough-alarms.json +2 -2
- package/test/fixtures/shortcuts/hookshot-passthrough-enhanced-logging.json +2 -2
- package/test/fixtures/shortcuts/hookshot-passthrough-full-blown-logging.json +2 -2
- package/test/fixtures/shortcuts/hookshot-passthrough-logging.json +2 -2
- package/test/fixtures/shortcuts/hookshot-passthrough.json +2 -2
- package/test/fixtures/shortcuts/scheduled-lambda-defaults.json +1 -1
- package/test/fixtures/shortcuts/scheduled-lambda-full.json +1 -44
- package/test/shortcuts.test.js +1 -1
- package/.nyc_output/processinfo/243d5bfa-9e45-4291-a944-4258a7a28148.json +0 -1
- package/.nyc_output/processinfo/70bddb17-d1d1-4971-b79f-5fece324d8d2.json +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"uuid":"c5b5c951-37d5-4058-a3e4-939c91352f33","parent":null,"pid":35081,"argv":["/Users/bilindhajer/.nvm/versions/node/v16.20.0/bin/node","/Users/bilindhajer/cloudfriend/node_modules/.bin/tape","test/bin.test.js","test/index.test.js","test/shortcuts.test.js"],"execArgv":[],"cwd":"/Users/bilindhajer/cloudfriend","time":1707332421303,"ppid":35079,"root":"9f91a73f-283d-4f4d-a00a-ce9e0406f357","coverageFilename":"/Users/bilindhajer/cloudfriend/.nyc_output/c5b5c951-37d5-4058-a3e4-939c91352f33.json","files":["/Users/bilindhajer/cloudfriend/index.js","/Users/bilindhajer/cloudfriend/lib/intrinsic.js","/Users/bilindhajer/cloudfriend/lib/conditions.js","/Users/bilindhajer/cloudfriend/lib/rules.js","/Users/bilindhajer/cloudfriend/lib/pseudo.js","/Users/bilindhajer/cloudfriend/lib/build.js","/Users/bilindhajer/cloudfriend/lib/validate.js","/Users/bilindhajer/cloudfriend/lib/merge.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/index.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/lambda.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/service-role.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/role.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/scheduled-lambda.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/event-lambda.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/queue-lambda.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/stream-lambda.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/cross-account-role.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/queue.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/s3-kinesis-firehose.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/kinesis-firehose-base.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/glue-database.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/glue-table.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/glue-json-table.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/glue-orc-table.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/glue-parquet-table.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/glue-presto-view.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/glue-spark-view.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/hookshot.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/log-subscription-lambda.js"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"uuid":"d9683579-e4df-4a8c-916b-585093031713","parent":"c5b5c951-37d5-4058-a3e4-939c91352f33","pid":35082,"argv":["/Users/bilindhajer/.nvm/versions/node/v16.20.0/bin/node","/Users/bilindhajer/cloudfriend/bin/build-template.js","/Users/bilindhajer/cloudfriend/test/fixtures/sync-args.js","--this","that","-r","cn-north-1"],"execArgv":[],"cwd":"/Users/bilindhajer/cloudfriend","time":1707332422288,"ppid":35081,"root":"9f91a73f-283d-4f4d-a00a-ce9e0406f357","coverageFilename":"/Users/bilindhajer/cloudfriend/.nyc_output/d9683579-e4df-4a8c-916b-585093031713.json","files":["/Users/bilindhajer/cloudfriend/bin/build-template.js","/Users/bilindhajer/cloudfriend/index.js","/Users/bilindhajer/cloudfriend/lib/intrinsic.js","/Users/bilindhajer/cloudfriend/lib/conditions.js","/Users/bilindhajer/cloudfriend/lib/rules.js","/Users/bilindhajer/cloudfriend/lib/pseudo.js","/Users/bilindhajer/cloudfriend/lib/build.js","/Users/bilindhajer/cloudfriend/lib/validate.js","/Users/bilindhajer/cloudfriend/lib/merge.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/index.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/lambda.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/service-role.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/role.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/scheduled-lambda.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/event-lambda.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/queue-lambda.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/stream-lambda.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/cross-account-role.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/queue.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/s3-kinesis-firehose.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/kinesis-firehose-base.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/glue-database.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/glue-table.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/glue-json-table.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/glue-orc-table.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/glue-parquet-table.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/glue-presto-view.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/glue-spark-view.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/hookshot.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/log-subscription-lambda.js"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"processes":{"
|
|
1
|
+
{"processes":{"c5b5c951-37d5-4058-a3e4-939c91352f33":{"parent":null,"children":["d9683579-e4df-4a8c-916b-585093031713"]},"d9683579-e4df-4a8c-916b-585093031713":{"parent":"c5b5c951-37d5-4058-a3e4-939c91352f33","children":[]}},"files":{"/Users/bilindhajer/cloudfriend/index.js":["c5b5c951-37d5-4058-a3e4-939c91352f33","d9683579-e4df-4a8c-916b-585093031713"],"/Users/bilindhajer/cloudfriend/lib/intrinsic.js":["c5b5c951-37d5-4058-a3e4-939c91352f33","d9683579-e4df-4a8c-916b-585093031713"],"/Users/bilindhajer/cloudfriend/lib/conditions.js":["c5b5c951-37d5-4058-a3e4-939c91352f33","d9683579-e4df-4a8c-916b-585093031713"],"/Users/bilindhajer/cloudfriend/lib/rules.js":["c5b5c951-37d5-4058-a3e4-939c91352f33","d9683579-e4df-4a8c-916b-585093031713"],"/Users/bilindhajer/cloudfriend/lib/pseudo.js":["c5b5c951-37d5-4058-a3e4-939c91352f33","d9683579-e4df-4a8c-916b-585093031713"],"/Users/bilindhajer/cloudfriend/lib/build.js":["c5b5c951-37d5-4058-a3e4-939c91352f33","d9683579-e4df-4a8c-916b-585093031713"],"/Users/bilindhajer/cloudfriend/lib/validate.js":["c5b5c951-37d5-4058-a3e4-939c91352f33","d9683579-e4df-4a8c-916b-585093031713"],"/Users/bilindhajer/cloudfriend/lib/merge.js":["c5b5c951-37d5-4058-a3e4-939c91352f33","d9683579-e4df-4a8c-916b-585093031713"],"/Users/bilindhajer/cloudfriend/lib/shortcuts/index.js":["c5b5c951-37d5-4058-a3e4-939c91352f33","d9683579-e4df-4a8c-916b-585093031713"],"/Users/bilindhajer/cloudfriend/lib/shortcuts/lambda.js":["c5b5c951-37d5-4058-a3e4-939c91352f33","d9683579-e4df-4a8c-916b-585093031713"],"/Users/bilindhajer/cloudfriend/lib/shortcuts/service-role.js":["c5b5c951-37d5-4058-a3e4-939c91352f33","d9683579-e4df-4a8c-916b-585093031713"],"/Users/bilindhajer/cloudfriend/lib/shortcuts/role.js":["c5b5c951-37d5-4058-a3e4-939c91352f33","d9683579-e4df-4a8c-916b-585093031713"],"/Users/bilindhajer/cloudfriend/lib/shortcuts/scheduled-lambda.js":["c5b5c951-37d5-4058-a3e4-939c91352f33","d9683579-e4df-4a8c-916b-585093031713"],"/Users/bilindhajer/cloudfriend/lib/shortcuts/event-lambda.js":["c5b5c951-37d5-4058-a3e4-939c91352f33","d9683579-e4df-4a8c-916b-585093031713"],"/Users/bilindhajer/cloudfriend/lib/shortcuts/queue-lambda.js":["c5b5c951-37d5-4058-a3e4-939c91352f33","d9683579-e4df-4a8c-916b-585093031713"],"/Users/bilindhajer/cloudfriend/lib/shortcuts/stream-lambda.js":["c5b5c951-37d5-4058-a3e4-939c91352f33","d9683579-e4df-4a8c-916b-585093031713"],"/Users/bilindhajer/cloudfriend/lib/shortcuts/cross-account-role.js":["c5b5c951-37d5-4058-a3e4-939c91352f33","d9683579-e4df-4a8c-916b-585093031713"],"/Users/bilindhajer/cloudfriend/lib/shortcuts/queue.js":["c5b5c951-37d5-4058-a3e4-939c91352f33","d9683579-e4df-4a8c-916b-585093031713"],"/Users/bilindhajer/cloudfriend/lib/shortcuts/s3-kinesis-firehose.js":["c5b5c951-37d5-4058-a3e4-939c91352f33","d9683579-e4df-4a8c-916b-585093031713"],"/Users/bilindhajer/cloudfriend/lib/shortcuts/kinesis-firehose-base.js":["c5b5c951-37d5-4058-a3e4-939c91352f33","d9683579-e4df-4a8c-916b-585093031713"],"/Users/bilindhajer/cloudfriend/lib/shortcuts/glue-database.js":["c5b5c951-37d5-4058-a3e4-939c91352f33","d9683579-e4df-4a8c-916b-585093031713"],"/Users/bilindhajer/cloudfriend/lib/shortcuts/glue-table.js":["c5b5c951-37d5-4058-a3e4-939c91352f33","d9683579-e4df-4a8c-916b-585093031713"],"/Users/bilindhajer/cloudfriend/lib/shortcuts/glue-json-table.js":["c5b5c951-37d5-4058-a3e4-939c91352f33","d9683579-e4df-4a8c-916b-585093031713"],"/Users/bilindhajer/cloudfriend/lib/shortcuts/glue-orc-table.js":["c5b5c951-37d5-4058-a3e4-939c91352f33","d9683579-e4df-4a8c-916b-585093031713"],"/Users/bilindhajer/cloudfriend/lib/shortcuts/glue-parquet-table.js":["c5b5c951-37d5-4058-a3e4-939c91352f33","d9683579-e4df-4a8c-916b-585093031713"],"/Users/bilindhajer/cloudfriend/lib/shortcuts/glue-presto-view.js":["c5b5c951-37d5-4058-a3e4-939c91352f33","d9683579-e4df-4a8c-916b-585093031713"],"/Users/bilindhajer/cloudfriend/lib/shortcuts/glue-spark-view.js":["c5b5c951-37d5-4058-a3e4-939c91352f33","d9683579-e4df-4a8c-916b-585093031713"],"/Users/bilindhajer/cloudfriend/lib/shortcuts/hookshot.js":["c5b5c951-37d5-4058-a3e4-939c91352f33","d9683579-e4df-4a8c-916b-585093031713"],"/Users/bilindhajer/cloudfriend/lib/shortcuts/log-subscription-lambda.js":["c5b5c951-37d5-4058-a3e4-939c91352f33","d9683579-e4df-4a8c-916b-585093031713"],"/Users/bilindhajer/cloudfriend/bin/build-template.js":["d9683579-e4df-4a8c-916b-585093031713"]},"externalIds":{}}
|
package/lib/shortcuts/api.md
CHANGED
|
@@ -670,12 +670,13 @@ a Lambda permission.
|
|
|
670
670
|
|
|
671
671
|
### new ScheduledLambda(options)
|
|
672
672
|
|
|
673
|
-
| Param | Type | Description |
|
|
674
|
-
| --- | --- | --- |
|
|
675
|
-
| options | <code>Object</code> | Extends the options for [`Lambda`](#lambda) with the following additional attributes: |
|
|
676
|
-
| options.ScheduleExpression | <code>String</code> | See [AWS documentation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-scheduleexpression). |
|
|
677
|
-
| [options.ScheduleRoleArn] | <code>String</code> | If specified, the
|
|
678
|
-
| [options.ScheduleGroupName] | <code>String</code> | See [AWS documentation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-groupname). |
|
|
673
|
+
| Param | Type | Default | Description |
|
|
674
|
+
| --- | --- | --- | --- |
|
|
675
|
+
| options | <code>Object</code> | | Extends the options for [`Lambda`](#lambda) with the following additional attributes: |
|
|
676
|
+
| options.ScheduleExpression | <code>String</code> | | See [AWS documentation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-scheduleexpression). |
|
|
677
|
+
| [options.ScheduleRoleArn] | <code>String</code> | | If specified, the eventbridge scheduler schedule will use this role to invoke your lambda . If not specified a service role with the correct scoped permissions is created for you. See [AWS documentation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-rolearn) |
|
|
678
|
+
| [options.ScheduleGroupName] | <code>String</code> | | If specified, the eventbridge scheduler schedule is associated with this preexisting schedule group. If not specified the schedule is associated with the default schedule group. Note you cannot change a schedule's schedule group once it has been already associated with a schedule group. See [AWS documentation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-groupname). |
|
|
679
|
+
| [options.State] | <code>String</code> | <code>'ENABLED'</code> | See [AWS documentation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-state). |
|
|
679
680
|
|
|
680
681
|
**Example**
|
|
681
682
|
```js
|
|
@@ -683,6 +684,7 @@ const cf = require('@mapbox/cloudfriend');
|
|
|
683
684
|
|
|
684
685
|
const myTemplate = { ... };
|
|
685
686
|
|
|
687
|
+
// A scheduler service role is already created for you internally with the correct permissions
|
|
686
688
|
const lambda = new cf.shortcuts.ScheduledLambda({
|
|
687
689
|
LogicalName: 'MyLambda',
|
|
688
690
|
Code: {
|
|
@@ -700,6 +702,7 @@ const cf = require('@mapbox/cloudfriend');
|
|
|
700
702
|
|
|
701
703
|
const myTemplate = { ... };
|
|
702
704
|
|
|
705
|
+
// If you are creating your own scheduler service role, be sure your permissions are correct!
|
|
703
706
|
const role = new cf.shortcuts.ServiceRole({
|
|
704
707
|
LogicalName: 'MyRole',
|
|
705
708
|
Service: 'scheduler.amazonaws.com',
|
|
@@ -707,7 +710,7 @@ const role = new cf.shortcuts.ServiceRole({
|
|
|
707
710
|
{
|
|
708
711
|
Effect: 'Allow',
|
|
709
712
|
Action: 'lambda:InvokeFunction',
|
|
710
|
-
Resource: cf.sub('arn:aws:lambda:${AWS::Region}:${AWS::AccountId}:function
|
|
713
|
+
Resource: cf.sub('arn:aws:lambda:${AWS::Region}:${AWS::AccountId}:function:${AWS::StackName}-*')
|
|
711
714
|
}
|
|
712
715
|
]
|
|
713
716
|
});
|
|
@@ -11,15 +11,19 @@ const ServiceRole = require('./service-role');
|
|
|
11
11
|
*
|
|
12
12
|
* @param {Object} options - Extends the options for [`Lambda`](#lambda) with the following additional attributes:
|
|
13
13
|
* @param {String} options.ScheduleExpression - See [AWS documentation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-scheduleexpression).
|
|
14
|
-
* @param {String} [options.ScheduleRoleArn=undefined] If specified, the
|
|
14
|
+
* @param {String} [options.ScheduleRoleArn=undefined] If specified, the eventbridge scheduler schedule will use this role to invoke your lambda . If not specified a service role with the correct scoped permissions is created for you.
|
|
15
15
|
* See [AWS documentation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-rolearn)
|
|
16
|
-
* @param {String} [options.ScheduleGroupName=undefined] -
|
|
16
|
+
* @param {String} [options.ScheduleGroupName=undefined] - If specified, the eventbridge scheduler schedule is associated with this preexisting schedule group.
|
|
17
|
+
* If not specified the schedule is associated with the default schedule group. Note you cannot change a schedule's schedule group once it has been already associated with a schedule group.
|
|
18
|
+
* See [AWS documentation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-groupname).
|
|
19
|
+
* @param {String} [options.State='ENABLED'] - See [AWS documentation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-state).
|
|
17
20
|
*
|
|
18
21
|
* @example
|
|
19
22
|
* const cf = require('@mapbox/cloudfriend');
|
|
20
23
|
*
|
|
21
24
|
* const myTemplate = { ... };
|
|
22
25
|
*
|
|
26
|
+
* // A scheduler service role is already created for you internally with the correct permissions
|
|
23
27
|
* const lambda = new cf.shortcuts.ScheduledLambda({
|
|
24
28
|
* LogicalName: 'MyLambda',
|
|
25
29
|
* Code: {
|
|
@@ -36,6 +40,7 @@ const ServiceRole = require('./service-role');
|
|
|
36
40
|
*
|
|
37
41
|
* const myTemplate = { ... };
|
|
38
42
|
*
|
|
43
|
+
* // If you are creating your own scheduler service role, be sure your permissions are correct!
|
|
39
44
|
* const role = new cf.shortcuts.ServiceRole({
|
|
40
45
|
* LogicalName: 'MyRole',
|
|
41
46
|
* Service: 'scheduler.amazonaws.com',
|
|
@@ -43,7 +48,7 @@ const ServiceRole = require('./service-role');
|
|
|
43
48
|
* {
|
|
44
49
|
* Effect: 'Allow',
|
|
45
50
|
* Action: 'lambda:InvokeFunction',
|
|
46
|
-
* Resource: cf.sub('arn:aws:lambda:${AWS::Region}:${AWS::AccountId}:function
|
|
51
|
+
* Resource: cf.sub('arn:aws:lambda:${AWS::Region}:${AWS::AccountId}:function:${AWS::StackName}-*')
|
|
47
52
|
* }
|
|
48
53
|
* ]
|
|
49
54
|
* });
|
|
@@ -121,7 +126,7 @@ class ScheduledLambda extends Lambda {
|
|
|
121
126
|
}
|
|
122
127
|
]
|
|
123
128
|
});
|
|
124
|
-
this.Resources[`${this.LogicalName}Scheduler`].Properties.Target.RoleArn = { 'Fn::GetAtt': [`${this.LogicalName}
|
|
129
|
+
this.Resources[`${this.LogicalName}Scheduler`].Properties.Target.RoleArn = { 'Fn::GetAtt': [`${this.LogicalName}SchedulerRole`, 'Arn'] };
|
|
125
130
|
this.Resources = merge(this, serviceRole).Resources;
|
|
126
131
|
}
|
|
127
132
|
}
|
package/package.json
CHANGED
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"Type": "AWS::ApiGateway::Stage",
|
|
29
29
|
"Properties": {
|
|
30
30
|
"DeploymentId": {
|
|
31
|
-
"Ref": "
|
|
31
|
+
"Ref": "PassDeploymentac7cb6b9"
|
|
32
32
|
},
|
|
33
33
|
"StageName": "hookshot",
|
|
34
34
|
"RestApiId": {
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
]
|
|
48
48
|
}
|
|
49
49
|
},
|
|
50
|
-
"
|
|
50
|
+
"PassDeploymentac7cb6b9": {
|
|
51
51
|
"Type": "AWS::ApiGateway::Deployment",
|
|
52
52
|
"DependsOn": "PassMethod",
|
|
53
53
|
"Properties": {
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"Type": "AWS::ApiGateway::Stage",
|
|
25
25
|
"Properties": {
|
|
26
26
|
"DeploymentId": {
|
|
27
|
-
"Ref": "
|
|
27
|
+
"Ref": "PassDeploymentac7cb6b9"
|
|
28
28
|
},
|
|
29
29
|
"StageName": "hookshot",
|
|
30
30
|
"RestApiId": {
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
]
|
|
44
44
|
}
|
|
45
45
|
},
|
|
46
|
-
"
|
|
46
|
+
"PassDeploymentac7cb6b9": {
|
|
47
47
|
"Type": "AWS::ApiGateway::Deployment",
|
|
48
48
|
"DependsOn": "PassMethod",
|
|
49
49
|
"Properties": {
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"Type": "AWS::ApiGateway::Stage",
|
|
25
25
|
"Properties": {
|
|
26
26
|
"DeploymentId": {
|
|
27
|
-
"Ref": "
|
|
27
|
+
"Ref": "PassDeploymentac7cb6b9"
|
|
28
28
|
},
|
|
29
29
|
"StageName": "hookshot",
|
|
30
30
|
"RestApiId": {
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
]
|
|
44
44
|
}
|
|
45
45
|
},
|
|
46
|
-
"
|
|
46
|
+
"PassDeploymentac7cb6b9": {
|
|
47
47
|
"Type": "AWS::ApiGateway::Deployment",
|
|
48
48
|
"DependsOn": "PassMethod",
|
|
49
49
|
"Properties": {
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"Type": "AWS::ApiGateway::Stage",
|
|
25
25
|
"Properties": {
|
|
26
26
|
"DeploymentId": {
|
|
27
|
-
"Ref": "
|
|
27
|
+
"Ref": "PassDeploymentac7cb6b9"
|
|
28
28
|
},
|
|
29
29
|
"StageName": "hookshot",
|
|
30
30
|
"RestApiId": {
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
},
|
|
55
|
-
"
|
|
55
|
+
"PassDeploymentac7cb6b9": {
|
|
56
56
|
"Type": "AWS::ApiGateway::Deployment",
|
|
57
57
|
"DependsOn": "PassMethod",
|
|
58
58
|
"Properties": {
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"Type": "AWS::ApiGateway::Stage",
|
|
25
25
|
"Properties": {
|
|
26
26
|
"DeploymentId": {
|
|
27
|
-
"Ref": "
|
|
27
|
+
"Ref": "PassDeploymentac7cb6b9"
|
|
28
28
|
},
|
|
29
29
|
"StageName": "hookshot",
|
|
30
30
|
"RestApiId": {
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
]
|
|
44
44
|
}
|
|
45
45
|
},
|
|
46
|
-
"
|
|
46
|
+
"PassDeploymentac7cb6b9": {
|
|
47
47
|
"Type": "AWS::ApiGateway::Deployment",
|
|
48
48
|
"DependsOn": "PassMethod",
|
|
49
49
|
"Properties": {
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"Type": "AWS::ApiGateway::Stage",
|
|
25
25
|
"Properties": {
|
|
26
26
|
"DeploymentId": {
|
|
27
|
-
"Ref": "
|
|
27
|
+
"Ref": "PassDeploymentac7cb6b9"
|
|
28
28
|
},
|
|
29
29
|
"StageName": "hookshot",
|
|
30
30
|
"RestApiId": {
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
]
|
|
44
44
|
}
|
|
45
45
|
},
|
|
46
|
-
"
|
|
46
|
+
"PassDeploymentac7cb6b9": {
|
|
47
47
|
"Type": "AWS::ApiGateway::Deployment",
|
|
48
48
|
"DependsOn": "PassMethod",
|
|
49
49
|
"Properties": {
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"Type": "AWS::ApiGateway::Stage",
|
|
25
25
|
"Properties": {
|
|
26
26
|
"DeploymentId": {
|
|
27
|
-
"Ref": "
|
|
27
|
+
"Ref": "PassDeploymentac7cb6b9"
|
|
28
28
|
},
|
|
29
29
|
"StageName": "hookshot",
|
|
30
30
|
"RestApiId": {
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
]
|
|
44
44
|
}
|
|
45
45
|
},
|
|
46
|
-
"
|
|
46
|
+
"PassDeploymentac7cb6b9": {
|
|
47
47
|
"Type": "AWS::ApiGateway::Deployment",
|
|
48
48
|
"DependsOn": "PassMethod",
|
|
49
49
|
"Properties": {
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"Type": "AWS::ApiGateway::Stage",
|
|
25
25
|
"Properties": {
|
|
26
26
|
"DeploymentId": {
|
|
27
|
-
"Ref": "
|
|
27
|
+
"Ref": "PassDeploymentac7cb6b9"
|
|
28
28
|
},
|
|
29
29
|
"StageName": "hookshot",
|
|
30
30
|
"RestApiId": {
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
]
|
|
44
44
|
}
|
|
45
45
|
},
|
|
46
|
-
"
|
|
46
|
+
"PassDeploymentac7cb6b9": {
|
|
47
47
|
"Type": "AWS::ApiGateway::Deployment",
|
|
48
48
|
"DependsOn": "PassMethod",
|
|
49
49
|
"Properties": {
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"Type": "AWS::ApiGateway::Stage",
|
|
25
25
|
"Properties": {
|
|
26
26
|
"DeploymentId": {
|
|
27
|
-
"Ref": "
|
|
27
|
+
"Ref": "PassDeploymentac7cb6b9"
|
|
28
28
|
},
|
|
29
29
|
"StageName": "hookshot",
|
|
30
30
|
"RestApiId": {
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
]
|
|
44
44
|
}
|
|
45
45
|
},
|
|
46
|
-
"
|
|
46
|
+
"PassDeploymentac7cb6b9": {
|
|
47
47
|
"Type": "AWS::ApiGateway::Deployment",
|
|
48
48
|
"DependsOn": "PassMethod",
|
|
49
49
|
"Properties": {
|
|
@@ -156,53 +156,10 @@
|
|
|
156
156
|
"Arn"
|
|
157
157
|
]
|
|
158
158
|
},
|
|
159
|
-
"RoleArn":
|
|
160
|
-
"Fn::GetAtt": [
|
|
161
|
-
"MyLambdaEventBridgeScheduleRole",
|
|
162
|
-
"Arn"
|
|
163
|
-
]
|
|
164
|
-
}
|
|
159
|
+
"RoleArn": "arn:aws:iam::012345678901:role/MyCoolRole"
|
|
165
160
|
},
|
|
166
161
|
"GroupName": "my-cool-stack"
|
|
167
162
|
}
|
|
168
|
-
},
|
|
169
|
-
"MyLambdaSchedulerRole": {
|
|
170
|
-
"Type": "AWS::IAM::Role",
|
|
171
|
-
"Properties": {
|
|
172
|
-
"AssumeRolePolicyDocument": {
|
|
173
|
-
"Statement": [
|
|
174
|
-
{
|
|
175
|
-
"Effect": "Allow",
|
|
176
|
-
"Action": "sts:AssumeRole",
|
|
177
|
-
"Principal": {
|
|
178
|
-
"Service": {
|
|
179
|
-
"Fn::Sub": "scheduler.${AWS::URLSuffix}"
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
]
|
|
184
|
-
},
|
|
185
|
-
"Policies": [
|
|
186
|
-
{
|
|
187
|
-
"PolicyName": "main",
|
|
188
|
-
"PolicyDocument": {
|
|
189
|
-
"Version": "2012-10-17",
|
|
190
|
-
"Statement": [
|
|
191
|
-
{
|
|
192
|
-
"Effect": "Allow",
|
|
193
|
-
"Action": "lambda:InvokeFunction",
|
|
194
|
-
"Resource": {
|
|
195
|
-
"Fn::GetAtt": [
|
|
196
|
-
"MyLambda",
|
|
197
|
-
"Arn"
|
|
198
|
-
]
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
]
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
]
|
|
205
|
-
}
|
|
206
163
|
}
|
|
207
164
|
},
|
|
208
165
|
"Outputs": {}
|
package/test/shortcuts.test.js
CHANGED
|
@@ -334,7 +334,7 @@ test('[shortcuts] scheduled-lambda', (assert) => {
|
|
|
334
334
|
S3Bucket: 'my-code-bucket',
|
|
335
335
|
S3Key: 'path/to/code.zip'
|
|
336
336
|
},
|
|
337
|
-
|
|
337
|
+
ScheduleRoleArn: 'arn:aws:iam::012345678901:role/MyCoolRole',
|
|
338
338
|
ScheduleGroupName: 'my-cool-stack',
|
|
339
339
|
ScheduleExpression: 'rate(1 hour)',
|
|
340
340
|
State: 'DISABLED'
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"uuid":"243d5bfa-9e45-4291-a944-4258a7a28148","parent":"70bddb17-d1d1-4971-b79f-5fece324d8d2","pid":3427,"argv":["/Users/bilindhajer/.nvm/versions/node/v16.20.0/bin/node","/Users/bilindhajer/cloudfriend/bin/build-template.js","/Users/bilindhajer/cloudfriend/test/fixtures/sync-args.js","--this","that","-r","cn-north-1"],"execArgv":[],"cwd":"/Users/bilindhajer/cloudfriend","time":1707324494299,"ppid":3424,"root":"bc74cb82-902f-4f17-addf-a6478be530a9","coverageFilename":"/Users/bilindhajer/cloudfriend/.nyc_output/243d5bfa-9e45-4291-a944-4258a7a28148.json","files":["/Users/bilindhajer/cloudfriend/bin/build-template.js","/Users/bilindhajer/cloudfriend/index.js","/Users/bilindhajer/cloudfriend/lib/intrinsic.js","/Users/bilindhajer/cloudfriend/lib/conditions.js","/Users/bilindhajer/cloudfriend/lib/rules.js","/Users/bilindhajer/cloudfriend/lib/pseudo.js","/Users/bilindhajer/cloudfriend/lib/build.js","/Users/bilindhajer/cloudfriend/lib/validate.js","/Users/bilindhajer/cloudfriend/lib/merge.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/index.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/lambda.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/service-role.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/role.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/scheduled-lambda.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/event-lambda.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/queue-lambda.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/stream-lambda.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/cross-account-role.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/queue.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/s3-kinesis-firehose.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/kinesis-firehose-base.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/glue-database.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/glue-table.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/glue-json-table.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/glue-orc-table.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/glue-parquet-table.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/glue-presto-view.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/glue-spark-view.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/hookshot.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/log-subscription-lambda.js"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"uuid":"70bddb17-d1d1-4971-b79f-5fece324d8d2","parent":null,"pid":3424,"argv":["/Users/bilindhajer/.nvm/versions/node/v16.20.0/bin/node","/Users/bilindhajer/cloudfriend/node_modules/.bin/tape","test/bin.test.js","test/index.test.js","test/shortcuts.test.js"],"execArgv":[],"cwd":"/Users/bilindhajer/cloudfriend","time":1707324493341,"ppid":3420,"root":"bc74cb82-902f-4f17-addf-a6478be530a9","coverageFilename":"/Users/bilindhajer/cloudfriend/.nyc_output/70bddb17-d1d1-4971-b79f-5fece324d8d2.json","files":["/Users/bilindhajer/cloudfriend/index.js","/Users/bilindhajer/cloudfriend/lib/intrinsic.js","/Users/bilindhajer/cloudfriend/lib/conditions.js","/Users/bilindhajer/cloudfriend/lib/rules.js","/Users/bilindhajer/cloudfriend/lib/pseudo.js","/Users/bilindhajer/cloudfriend/lib/build.js","/Users/bilindhajer/cloudfriend/lib/validate.js","/Users/bilindhajer/cloudfriend/lib/merge.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/index.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/lambda.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/service-role.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/role.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/scheduled-lambda.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/event-lambda.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/queue-lambda.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/stream-lambda.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/cross-account-role.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/queue.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/s3-kinesis-firehose.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/kinesis-firehose-base.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/glue-database.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/glue-table.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/glue-json-table.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/glue-orc-table.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/glue-parquet-table.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/glue-presto-view.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/glue-spark-view.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/hookshot.js","/Users/bilindhajer/cloudfriend/lib/shortcuts/log-subscription-lambda.js"]}
|