- Add support for
Architecturesproperty to Lambda shortcuts.
- Dependency update to avoid security vulnerabilities (@aws-sdk/client-cloudformation).
- Add
GlueIcebergTableshortcut for creating AWS Glue tables backed by Apache Iceberg format with support for table optimizers.
- Refactor tests to use
jestinstead oftape& update linting dependencies to fix security vulnerabilities.
- Inline policy for Lambda Shortcut name will change from
${LogicalName}-lambda-log-accessto${AWS::StackName}-${LogicalName}-lambda-log-access. This is the new default value. You can override default value using propertyLogPolicyName.
- Add DeletionPolicy for the IAM Policy in Lamdba shortcuts.
- Change the policy name for the Lambda shortcuts to include the stack's LogicalName
- Removes:
- aws-sdk as a runtime dependency.
- All node support prior to version 20.
- Adds:
@aws-sdk/client-cloudformationas a runtime dependency.
- Updates:
- bin/validate-template to use
@aws-sdk/client-cloudformation. - Lambda shortcut lambda runtime default to use
node22.x
- bin/validate-template to use
- Support
ImageConfigproperty for Lambda
- Support a default value for cf.findInMap (Fn::FindInMap).
- Add
LogRetentionInDaysoption to Lambda shortcuts
- Allow
FilterCriteriaproperty to be defined for Stream Lambda shortcuts
- Updates
cf.shortcuts.ScheduledLambdato 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.Passthroughandhookshot.Githubshortcuts where inline code lambdas were using AWS SDK v2 while the lambda default runtime isnodejs18.x, by switching to AWS SDK v3. - Updates
hookshot.Passthroughandhookshot.Githubshortcuts 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-sdkto 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
GluePrestoViewshortcut.
- The Lambda shortcuts now use
nodejs12.xas the default runtime. - There is no longer any constraint on the useable Lambda runtimes.
- Adds top-level
Rulessection support tocf.merge. Each key inRulesmust 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
Transformsection support tocf.merge.Transformmacros 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
Versionin all generated Roles to 2012-10-17 - Adds a
RoleArnsetting 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
ExistingTopicArnoption to queue shortcut
- Adds shortcut for log subscription lambda
- Adds support for the
MaximumBatchingWindowInSecondsproperty of an event source mapping within theStreamLambdashortcut
- 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.10runtime, asZipFile-style function definitions are not yet supported fornode10.xby 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
firehoseas another service which cannot useAWS::URLSuffix
- Implement a list of AWS service namespaces where use of
AWS::URLSuffixresults 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.Passthroughandhookshot.Github, for simple webhook-response systems - adds support for
DependsOnproperties to several shortcuts - fixes a bug in
shortcuts.ServiceRoleif 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-templatecommand
- Rename
AWS::DomainSuffixtoAWS::URLSuffix
- Adds
AWS::PartitionandAWS::DomainSuffixpseudo-parameters - Adds
cloudfriend.arn(), a shortcut for constructing ARNs
- more permissive engines.node
.split()now allows object arguments.
.split()added forFn::Splitintrinsic 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-templatenow exits 1 if the template is invalid.
- Adds support for Fn::Sub
- Fixes
cloudfriend.build()for JSON template files that do not use the.jsonextension. - 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