All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
- IMPORTANT: With this release, we move to publishing to Maven Central instead of Bintray (since it is gone), and renamed the group ID in Maven Central to
com.bayer
. But the Scala/Java package names are still monsanto. - Added tags to IAM (see #280)
- Changes to add Nodejs14.x runtime (see #281)
- Sonotype switch (see #282)
- NOTE: this was a short lived release...skip along to the next one.
- Added automation features to SSM Documents (see #279)
- Added new lambda runtimes for Node 10 and Python 3.7 (see #277)
- Added Kinesis Firehose Delivery Stream S3 support (see #270)
- Added Kinesis Stream Encryption support (see #270)
- Add support for AWS::EC2::VPCEndpoint (see #255)
- add dynamodb SSESpecification (see #256)
- Adds support for TargetTrackingScalingPolicyConfiguration (see #257)
- Adds support for PointInTimeRecoverySpecification and Tags (see #258)
- Fix errors in ApplicationAutoScaling models (see #259)
- Added Description fields. Changed fields to Token[...] (see #261)
- Add EKS support and unit test. (see #263)
- Add GroupName support for security group. (see #264)
- Add AssociatePublicIpAddress field to LaunchConfiguration. (see #265)
- added billing mode (see #266)
- BillingMode PAY_PER_REQUEST validation also for GlobalSecondaryIndexes (see #269)
- Add secrets manager (see #271)
- Fill out more code build stuff. (see #272)
- Added PermissionsBoundary for Role (see #273)
- Added UNSAFEFunctionCallToken to represent cloudformation functions (see #274)
- Update travis to openjdk8 and bump minor Scala versions (see #276)
- Added automation features to SSM Documents (see #275)
- Added Node 8.10 as a lambda runtime option (see #254)
- Added the tags field to Lambda Functions (see #254)
This release contains a change to the fromName builder that is code compatible, but will result in your templates having a different name format for resources if you were using the fromName builder
- Handle template addition for Description and AWSTemplateFormatVersion (see #251)
- Amiid deprecation (see #252)
- Switched fromName tag generator to put the stack name first. (see #253)
- Add support for custom CF resource calls (see #250)
- Add support for TimeToLiveSpecification (see #248)
- Update sample usage template documentation and add some ami images for asia regions (see #249)
- Make TracingConfig an enum (see #234)
- Add CodeBuild cache (see #235)
- Add default None to SNS resources. (see #237)
- Change Events::Rule target Input to Token[String] (see #238)
- Add default values to optional EMR configurations (see #239)
- Fix IAM Policies (see #241)
- upgrade to sbt 1.1 (see #242)
- add VpcRef ADT to allow VPC ID to be set more flexibly (see #243)
- Add missing arguments to ApiGateway ApiKey (see #244)
- Update simple template documentation example so it compiles and runs (see #245)
- Upgrade/extend
AWS::Elasticsearch::Domain
to support VPCOptions (see #246) - Add ApplicationAutoScaling (see #247)
Note: This contains a breaking change to Template and default parameters in some other minor classes.
- Make Template match documentation (see #221)
- Add missing AWS::Lambda::Function parameters (see #230)
- Add full support for latest AWS::Events::Rule (see #228)
- Add CodePipeline attribute Fns (see #224)
- Other minor improvements
- Add support for AWS Batch (see #203)
- Add support for EFS (see #208)
- Add support for DependsOn in many classes (see#205)
- Add support for RetentionPeriodHours to AWS::Kinesis::Stream(see #211)
- Closed #166 and #160
- Add support for new lambda runtimes (see#201)
- Other minor improvements
Note: This contains a breaking change to AWS::AutoScaling::AutoScalingGroup
to make DesiredCapacity an optional field. See #196 for more details.
- Add support for AWS EC2 Systems Manager (SSM) (see #195)
- Add support for AWS::CodeCommit::Repository (see #200)
- Add support for TreatMissingData parameter of AWS::CloudWatch::Alarm (see #197)
- Add support for AWS::ApiGateway::{UsagePlan,UsagePlanKey} (see #187)
- Add support for custom namespace in cloudwatch (see #178)
- Make RuleCondition accept Option[Seq[Token[String]]] (see #182)
- Add DependsOn attribute to ElasticLoadBalancingV2 resources (see #183)
- Align managed policy arns parameter types (see #179)
- Add InstanceProfileName (see #168)
- Add AWS::SNS::Subscription (see #170)
- Add support for ContainerDefinition MountPoints (see #164)
- Cache the ivy cache, compiled compiler interface, etc. (see #175)
- Add
host-header
RuleCondition builder method (see #176) - Improve has template (see #169)
- Make AllocatedStorage optional for non-NewRds instances (see #174)
- Cloudwatch dimension general token (see #177)
- Add accountId to managed policies (see #135)
Note: This contains a small change to AWS::IAM::ManagedPolicy
that may not be backwards compatible if you were relying on the implicit conversion from T
to Option[T]
. If you were already specifying your Path
as Some("blah")
, you're fine. Otherwise, it should be a simple change in your code to update it. See #149 for more details.
- Implement support for ElasticLoadBalancingV2 (see #147)
- Change
Path
type in IAM resources to beToken[String]
(see #149) - Change
AWS::RDS::DBInstance
'sOption[A]
s toOption[Token[A]]
(see #152) - Add DependsOn parameter to AWS::ECS::Service and AWS::ECS::Cluster (see #153)
- Add AWS::Events::Rule (see #155)
- Allow creation of alias records by hosted zone ID (see #157)
- Add ProviderArns to
AWS::ApiGateway::Authorizer
(see #158) - Add support for AWS::Logs::* (see #159)
- Update IAM Policy Statements to support multiple resources (see #143)
- Add support for ECS Task Definitions, Services, and Clusters (see #142)
- Add support for Id and Sid to IAM policies and statements (see #139)
- Add support for Fn::Split (see #141)
- Add RedrivePolicy for SQS (see #137)
-
Add
AWS::EMR::Step
support (see #129) -
Fixed a type bug in
AWS::IAM::Role
(see #131) -
Changed
TableName
inAWS::DynamoDB::Table
to be optional in accordance with the AWS docs (see #133) -
Add
AWS::Lambda::Alias
andAWS::Lambda::Version
support (see #96)
- Added
Environment
,KmsKeyArn
, andVpcConfig
as optional parameters forAWS::Lambda::Function
. They are defaulted toNone
, thus the change will be backwards compatible. (see #117)
-
Support for AWS's new features supporting cross template references (see #119)
-
Support for Fn::Sub, which provides a cleaner alternative to
Fn::Join
andFn::GetAtt
(see #119) -
Add TemplateBase to auto discover template components (see #120)
-
Add
AWS::EMR::Cluster
support (see #121) -
Add KMS support (see #125)
-
Add support for Scala 2.12 (see #122)
-
Fixed
AWS::ApiGateway::Deployment
, changingToken[Token[String]]
to justToken[String]
(see #123) -
Changed nested stack parameters to take
Map[String, Token[String]]
(see #126)
-
Support for AWS::CloudFormation::Stack (see #100)
-
Change Description property of Function to Option[Token[String]] so it can contain CloudFormation expressions (see #97)
-
Ports in Security groups can now be parameterized (see #101)
-
Add stream specification for DynamoDB (see #94)
-
Add support for built-in AWS policies (see #108)
-
Add deletion policy to AWS::DynamoDB::Table (see #109)
-
Added the following resources: (see #111)
- AWS::EC2::SubnetNetworkAclAssociation
- AWS::ElastiCache::CacheCluser
- AWS::ElastiCache::SubnetGroup
- AWS::ECR::Repository
-
Added all supported database engines to
AWS::RDS::DBInstance::Engine
(see #111) -
Added all supported disk types to
AWS::EC2::Volume
(see #111) -
Add Kinesis support (see #112)
-
Add "DependsOn" to AWS::DynamoDb::Table (see #115)
Note: This breaks backwards compatibility for some people using ApiGateways.
- Datatypes for ApiGateway (see #93)
-
Support for AWS::CloudFront:Distribution (see #71)
-
Support for tokens in an output (see #74)
-
AWS/Lambda CloudWatch Alarm Namespace (see #87)
-
Support for NodeJs4.3 as a Lambda rutime (see #88)
-
Support for AWS::ApiGateway (see #89)
-
Support for IAMPolicyVersions (see #90)
-
Support for AWS::CloudTrail::Trail
-
Support for AWS::DataPipeline::Pipeline
-
Ability to use DBSubnet parameters for RDS
-
Ability to use Subnet parameters for EC2 (see #81)
- Modified Fn::Not to be a NestableAmazonFunctionCall to support using the function within an Fn::And block
Note: This breaks backwards compatibility for anyone using custom NAT Gateways.
- Added support for AWS::Elasticsearch::Domain and the related types (see #73)
- Removed the custom NAT gateway support in favor of the official CloudFormation mechanism (see #72)
Note: Minor breaks in backwards compatibility on AWS::EC2::Subnet
. If you use the Builder
wrappers, the change is backwards compatible.
- Added custom type to remotely manage Route 53 entries in another account (see #75).
- AvailabilityZone is optional for Subnet (see #69)
- Fixed an issue in the NAT Gateway custom type that can cause an unrecoverable failure if the gateway was manually deleted.
- Added resources to support ElasticBeanstalk (see #64)
- Rolled back the Token changes for functions (see #60)
Note: Minor breaks in backwards compatibility
-
Added the ability to work with NAT gateways. Requires a custom Lambda function. See README.md.
-
Added
AWS::CloudFormation::WaitCondition
andAWS::CloudFormation::WaitConditionHandle
to support pausing for resources to do things. -
Added support for the
Fn::GetAZs
function -
Added in VPN support
-
Improved EIP model to better handle VPC vs Classic EIPs. Changes are backwards compatible, but existing methods are now deprecated.
-
Most functions updated to use
Token[ConditionRef]
instead ofToken[String]
-
Changed how implicits are handle in creating
AWS::EC2::Route
to simplify the code
-
Support
AWS::EC2::EIPAssociation
(closes #43) -
Custom type for IPAddress
-
Support
AWS::EC2::VPCPeeringConnection
in routes (closes #47) -
Support
PrivateIP
on EC2 instances (closes #49) -
Support
MapPublicIpOnLaunch
on subnets (closes #51) -
Support
AWS::EC2::CustomerGateway
- Have predictable order in the output JSON (fixes #45)
- Basic Lambda support
- Minor updates to README.md, CHANGELOG.md and MAINTAINERS
The "tylersouthwick" release!
-
CHANGELOG.md
-
SQS and DynamoDB support
-
Support for IAM Policy Conditions
-
aws triple-quoted string interpolation
- Made names of auto-generated SecurityGroup and SecurityGroupIngress resources deterministic, i.e., removed the UUID part of the name, and easier to read.
- Add mechanism to make a SecurityGroupRoutable from a DBInstance.
- Provide builder for RDS DBInstances
- Create AWS::RDS::DBInstance from default case class constructor.