- Add
LogRetentionInDays
option to Lambda shortcuts
- Allow
FilterCriteria
property to be defined for Stream Lambda shortcuts
- Updates
cf.shortcuts.ScheduledLambda
to use EventBridge Scheduler instead of EventBridge Rules to schedule lambda invocations. When using this version your template will have the following changes per scheduled lambda instance,
Add <LogicalNamePrefix>SchedulerRole AWS::IAM::Role
Add <LogicalNamePrefix>Scheduler AWS::Scheduler::Schedule
Remove <LogicalNamePrefix>Permission AWS::Lambda::Permission
Remove <LogicalNamePrefix>Schedule AWS::Events::Rule
Note the service role (AWS::IAM::Role
) will automatically be created for the AWS::Scheduler::Schedule
resource if you do not specify property ScheduleRoleArn
in the shortcut.
When you make this update, you will no longer see a trigger on your scheduled lambda. The schedule can be viewed in EventBridge schedules.
- Add support for
Fn::ForEach
. WithFn::ForEach
, you can replicate parts of your templates with minimal lines of code, as per the official AWS announcement and the documentation.
- Fixes
hookshot.Passthrough
andhookshot.Github
shortcuts where inline code lambdas were using AWS SDK v2 while the lambda default runtime isnodejs18.x
, by switching to AWS SDK v3. - Updates
hookshot.Passthrough
andhookshot.Github
shortcuts to only use nodejs versions 18 or higher for there inline code lambdas.
- Updates default node runtime for lambda shortcuts to node18.x.
- Suppress AWS SDK V2 maintinence message for
validate-template
. - Updates
aws-sdk
to version 2.1425.0.
- Updates default node runtime for lambda shortcuts to node16.x.
- Updates default authorization type for hookshot shortcuts to "NONE" from "None".
- Dependency updates to avoid security vulnerabilities (minimist).
- Lambda shortcuts now support custom Docker images.
- Fixes handling custom access log formats in hookshot shortcuts.
- Improves data type mappings between Glue and Presto when using the
GluePrestoView
shortcut.
- The Lambda shortcuts now use
nodejs12.x
as the default runtime. - There is no longer any constraint on the useable Lambda runtimes.
- Adds top-level
Rules
section support tocf.merge
. Each key inRules
must have a unique name. - Adds rule-specific intrinsic functions:
contains
,eachMemberEquals
,eachMemberIn
,refAll
,valueOf
,valueOfAll
- Fixes a bug present in v4.4.0 and v4.5.0 where Lambda shortcuts' Conditions were not passed to the generated IAM Roles.
- Adds top-level
Transform
section support tocf.merge
.Transform
macros from all template arguments are merged into a single array, in order of their appearance in the template arguments, and an error is thrown if any macro is repeated.
- Sets the policy
Version
in all generated Roles to 2012-10-17 - Adds a
RoleArn
setting to Lambda shortcuts. If set, the created Lambda function will use this Role and will not create a new one.
- Adds Tags option to Role shortcuts
- Fix typo in Glue database shortcut
- Fix bugs in Queue shortcut with the setting
FifoQueue: true
. This option did not work to create FIFO queues before: the resources it created were undeployable. Now it works.
- Fix bug in QueueLambda where ReservedConcurrentExecution inncorrectly couldn't be set to zero
- Seperate Glue View into Glue Presto View and Glue Spark View
- Update minimist to resolve security vulnerabilities
- More Bugfixes for Glue shortcuts. Specifically, pass in the column descriptions!
- Bugfixes for Glue shortcuts
- Add shortcuts for Glue resources
- Upgrade cloudfriend and lambda shortcut to Node10 with support for Node12
- Fix bug in queue shortcut
- Adds
ExistingTopicArn
option to queue shortcut
- Adds shortcut for log subscription lambda
- Adds support for the
MaximumBatchingWindowInSeconds
property of an event source mapping within theStreamLambda
shortcut
- Adds shortcut for Kinesis Firehouse (with S3 destination)
- Adds requirement for lambda shortcut alarm evaluation windows to >= the lambda timeout
- Adds shortcut for an event-driven Lambda function.
- Adds shortcuts for a generic IAM role and for a cross-account IAM role.
- Revert shortcut Lambdas to
node8.10
runtime, asZipFile
-style function definitions are not yet supported fornode10.x
by Cloudformation.
- Shortcut lambdas are run with runtime Node10.x by default
- Dependency updates to avoid security vulnerabilities and make installable in node.js v12.
- Makes all hookshot API Gateway regional instead of edge-optimized endpoints.
- Adds
firehose
as another service which cannot useAWS::URLSuffix
- Implement a list of AWS service namespaces where use of
AWS::URLSuffix
results in an invalid service URL in China regions.
- Allows Hookshot callers to bring their own webhook secret. This is used for
signature-verification in the
.Github()
case.
- Adds support for Layers to Lambda shortcuts
- Modifies CloudWatch alarm names to include the AWS region.
- Hookshot caller can now enable metrics, detailed execution logging, and setup custom-formatted access logging
- Hookshot caller can now set execution LoggingLevel to INFO or ERROR
- Shortcut lambdas are run with runtime Node8.10 by default
- Pass options through to command line tools #22
- adds new shortcuts:
hookshot.Passthrough
andhookshot.Github
, for simple webhook-response systems - adds support for
DependsOn
properties to several shortcuts - fixes a bug in
shortcuts.ServiceRole
if no permissions statements are provided
- fixes a bug in the lambda service principal definition in china regions
- various shortcut bugfixes. See #34
- Cloudfriend is no longer friends with node.js versions less than v8. Now is the right time to update your local runtime.
- Adds
cf.shortcuts
, which are a set of classes that can be used to generate boilerplate CloudFormation template code for certain scenarios.
- Allow specifiying region in
validate-template
command
- Rename
AWS::DomainSuffix
toAWS::URLSuffix
- Adds
AWS::Partition
andAWS::DomainSuffix
pseudo-parameters - Adds
cloudfriend.arn()
, a shortcut for constructing ARNs
- more permissive engines.node
.split()
now allows object arguments.
.split()
added forFn::Split
intrinsic function.
- Adds
cloudfriend.permissions
, which exports a CloudFormation template which creates an AWS user and access key with permission to runcloudfriend.validate()
.
- Adds support of Fn::ImportValue
.merge()
now allows name reuse across template properties, e.g. can have a Resource and an Output with the same name..merge()
now allows name overlaps if the provided objects are identical.
validate-template
now exits 1 if the template is invalid.
- Adds support for Fn::Sub
- Fixes
cloudfriend.build()
for JSON template files that do not use the.json
extension. - Adds an optional second arg to
cloudfriend.build(template, opts)
. If provided, this object is handed to any.js
-defined template file that exports a function.
- Initial release