octo
Generate idiomatic Go files from AWS CloudFormation specifications
Install
Binary downloads of octo
can be found on the Releases page. Unpack the octo
binary and add it to your PATH.
Homebrew
To use Homebrew:
brew install gembaadvantage/tap/octo
GoFish
To use Fish:
gofish rig add https://github.com/gembaadvantage/fish-food
gofish install github.com/gembaadvantage/fish-food/octo
Scoop
To use Scoop:
scoop install octo
Oh My Zsh
Install the custom octo
plugin for full autocompletion support.
Quick Start
octo
can generate idiomatic Go files from a CloudFormation specification into a reserved package called cfn
within the target output directory. The default region is North Virginia (us-east-1):
$ octo generate --output-dir ./internal
• fetch specification
• fetch latest CloudFormation specification from AWS region=us-east-1
• latest CloudFormation specific fetched region=us-east-1 version=60.0.0
• generate
• generating output directory dir=internal/cfn
• generating AWS resources from specification count=892
• generating CloudFormation base types from specification
octo
supports the following global flags:
--debug
log extra output to the console in debug mode
--silent
silence all log output from octo
Region Selection
octo
can generate idiomatic Go files from any supported AWS CloudFormation specification region:
octo generate --region eu-west-1
Show Regions
Show all AWS regions supported by octo
:
$ octo regions
REGION NAME REGION
Bahrain me-south-1
Beijing cn-north-1
Canada ca-central-1
...
Filtering Resources
Only generate a subset of resources from the AWS CloudFormation specification:
octo generate --filter CodeBuild,CodePipeline