This has been a pretty quiet release this round, a few helpful updates with bug fixes taking the front of stage. There is also some initial work in our image management process which will be progressed in our next release and includes using links for image sharing along with a more engine based approach to managing images.
Key Features
Extensions for more components
We've found that as solutions grow the need for minor tweaks on components are required. So we have added extensions to more components to allow for updates to resource policies and even the ability to add additional resources to a common component.
- Core - (baseline): add extension support for data (#2028)
- Core - add support for topic and queue extensions
- AWS - (baseline): extension and policy support
- AWS - queue topic permission extensions (#618)
Dynamic Value Evaluation
When runbooks were introduced they needed the ability to pass value references between steps. The solution to this was to add support for a format for referencing a dynamic value as part of another string. With this release we have extended this support to all components and introduced the ability to add different dynamic look up sources.
The syntax for a dynamic value is __<type>:<attribute>:<attribute>__
where type is the dynamic value provider type and a value provider provides attributes that are used in the lookup process.
Dynamic values can be used on any component string properties defined in the solution. They can be combined with other values in the same string as well. So you can have a url formatted like "https://__attribute:cdn:FQDN__"
and when the dynamic value is replaced it will replace everything between __
( included ) with the value that was looked up.
The initial release supports the following dynamic providers
- attribute: look up an attribute of linked component
- setting: use a setting of the component in its env var format
- aws_secret: (AWS only) use CloudFormation Secrets manager integration to provide a secret value to CloudFormation
Adding more Enable controls across attributes
With support for qualification across the whole solution having the ability to define if something is enabled or not in solution configuration makes it easy to use qualification to control if that setting should be used in each environment. This release has seen the enabled option added to more component configuration options.
Component Updates
Lambda
Added support for defining aliases as fixed name references to a given version of a lambda function
Correspondent
Added support for configuring the channels used by correspondent to communicate with users
LB
AWS - Added support for using a lambda function as a backend to an application load balancer
Full Change Log
Core
New Features
- (baseline): add extension support for data (#2028)
- (port): add enable for port healthcheck (#2030)
- (entrance): stackoutput entrance
- add support for topic and queue extensions
- tasks and extensions for images in runbooks
- (image): add support for the image component
- (lambda): lambda alias (#2015)
- add support for dynamic value evaulation
- (correspondent): add support for channel configuration
- (lb): add enable support for conditions
Fixes
- (dn): Test for missing domain name (#2008)
- (dynamicinput): error message text (#2027)
- set buildblueprint output file name (#2026)
- schema entrance output filename (#2025)
- typo for deployment test
- (output): output prefix handling
- typo in dynamicvalue return
- (dynamicvalue): remove fatal on missing link
- update naming for source
- correct private key property name (#2017)
- (dynamicvalue): fix typo in configuration scope
- (dynamicvalue): resolve handling for lists (#2013)
- comment update
- handle empty values or object references
Refactorings
- (runbook): support dynamic values in conditions
- remove occurrence dependency and apply at the occurrence level
Others
- (lambda): update lambda runtime versions (#2031)
AWS
New Features
- (baseline): extension and policy support
- (lb): lambda backend support for lb (#626)
- queue topic permission extensions (#618)
- (image): aws support for the image component
- (runbook): add push_image runbook for images
- adds extensions and tasks for image management
- (lambda): lambda aliases (#606)
- (dyanmicvalues): add support for aws secrets as dynamic values
- (correspondent): add support for AWS pinpoint channels
- (lb): add support for enabling/disbaling conditions
Fixes
- incorporate feedback
- (cert): raise error on invalid FQDN
- support dns zone creation without network (#619)
- (lb): expand permissions for lambda invoke (#629)
- error messages for port lookups (#628)
- (lb): protocol checks for nlb
- (lb): action lookup for network load balancer (#623)
- (computetask): windows directory creation (#622)
- (directory): handle missing config connector
- (healthcheck): add iam service to setup
- (lb): create alerts across all occurrences
- (waf): support v1 -> v2 migrations
- (db): aurora cluster backups (#616)
- (lambda): size checking (#609)
- (apigateway): handle open ip address groups (#608)
- (apigateway): reference versioned lambdas
- (lb): standard error for invalid port mapping
Refactorings
- (ecs): lg pass handling (#607)
Azure
Fixes
- (lb): standard error for invalid port mapping
Bash
New Features
- (expo): add support for app display name on IOS apps (#340)
- add stackoutput entrance support
- (expo): add support for firebase and plugins
Fixes
- conventional commit support (#342)
- incorporate feedback
- incorporate feedback
- (cli): disable paging for aws cli v2
- (expo): include project details for plist (#341)
Refactorings
- set credentials (#343)