Skip to content

Releases: awslabs/goformation

v2.1.0

10 Mar 12:54
Compare
Choose a tag to compare

2.1.0 (2019-03-10)

Features

  • CI: auto-generate AUTHORS.md file (b37af7b)

v2.0.0

10 Mar 10:48
Compare
Choose a tag to compare

2.0.0 (2019-03-10)

Code Refactoring

  • generator: moving resources and policies into their own packages (#161) (03a0123)

BREAKING CHANGES

  • generator: this PR refactors the auto-generated CloudFormation resources out of the cloudformation package and into a dedicated package (resources). This helps keep the auto generated files separate from others.

E.g. cloudformation.AWSSnsTopic{} becomes resources.AWSSnsTopic{}

v1.4.1

10 Mar 07:10
Compare
Choose a tag to compare

1.4.1 (2019-03-10)

Bug Fixes

  • spec: corrected AWS::Serverless::Api.Auth.Authorizers to be of type JSON rather than string (#164) (4cf1bee)

v1.4.0

09 Mar 11:09
Compare
Choose a tag to compare

1.4.0 (2019-03-09)

Features

  • parser: Default to parsing as YAML unless the filename ends in .json (#176) (42e7146)

v1.3.0

09 Mar 10:55
Compare
Choose a tag to compare

1.3.0 (2019-03-09)

Bug Fixes

  • CI: speed up PR builds by only downloading the cfn spec and regenerating resources on cron schedule (not on every build) (7ae2a32)
  • CI: Update TravisCI configuration based on https://github.com/se… (#180) (88e1e85)
  • CI: Update TravisCI configuration for semantic-release to use jobs (f6c2fee)

Features

  • Added semantic-release CI setup (a9b368a)
  • Added semantic-release configuration file (3b25fdb)

Resource Policies

16 Sep 20:30
d42502e
Compare
Choose a tag to compare

Adds support for UpdatePolicy, CreationPolicy and DeletionPolicy when composing templates.

For example:

asg := cloudformation.AWSAutoScalingAutoScalingGroup{}
asg.SetUpdatePolicy(&cloudformation.UpdatePolicy{
    AutoScalingRollingUpdate: &cloudformation.AutoScalingRollingUpdate{
        MaxBatchSize:                  2,
        MinInstancesInService:         2,
        PauseTime:                     "P5M",
        WaitOnResourceSignals:         true,
    },
})

template := &cloudformation.Template{
    Resources: map[string]interface{}{
        "AutoScalingGroup": asg
    },
}

Fn::ImportValue

14 Sep 15:19
f5e92c2
Compare
Choose a tag to compare

Small patch release that just fixes a bug with using cloudformation.ImportValue() when composing templates.

Support for AWS Intrinsic Functions

14 Sep 05:59
90ef940
Compare
Choose a tag to compare
  • Feature: AWS SSM Parameter types are now included in the generated JSON Schema (#115)
  • Feature: Support for SQS event sources when composing AWS SAM functions (#107)
  • Feature: Use CloudFormation Intrinsic Functions such as Ref and GetAtt when composing CloudFormation templates.

The following list of functions are available to use when creating templates:

  • cloudformation.Ref(logicalName string)
  • cloudformation.GetAtt(logicalName string, attribute string)
  • cloudformation.ImportValue(name string)
  • cloudformation.Base64(input string)
  • cloudformation.CIDR(ipBlock, count, cidrBits string)
  • cloudformation.FindInMap(mapName, topLevelKey, secondLevelKey string)
  • cloudformation.GetAZs(region string)
  • cloudformation.Join(delimiter string, values []string)
  • cloudformation.Select(index string, list []string)
  • cloudformation.Split(delimiter, source string)
  • cloudformation.Sub(value string)

Example usage:

template := &cloudformation.Template{
	Resources: map[string]interface{}{
		"TestBucket": cloudformation.AWSS3Bucket{
			BucketName: "test-bucket",
		},
		"TestBucketPolicy": cloudformation.AWSS3BucketPolicy{
			Bucket: cloudformation.Ref("TestBucket"),
		},
	},
}