- Add missing AWS pseudo parameters (#260)
- Update AWS resource list (#262)
- Adding timing information within audit log data (#259)
- Fix root template audit log setup
- Add audit log feature to record template construction
- Allow mapped provider name when loading resources
- Support natural terraform format when applying reformat
- Support terraform lookup in natural format
- Add terraform resources and resource collector
- Fix AWS resource collector to match resources with no properties (#249)
- Add cidr! and transform! helpers for AWS templates
- Update AWS builtin resources
- Fix race condition in pack loading (#241)
- Fix sub! when no hash is provided (#236)
- Only run template extraction when required
- Use explicit type checks when searching for nested stacks
- Fix output bubbling to use proper nil checking
- Allow Fn::Sub helper to accept no arguments
- Fix Ruby 2.4 deprecation warnings
- Only store compile state when value is set
- Fix FunctionStruct clone behavior for Azure
- Lookup resources for taggable? helper through loaded provider
- Update value storage to handle FunctionStruct usage
- Add Complex data type to allowed compile time parameter types
- Add support for non-string like data keys (#217)
- Customize compile time parameter setting (#218)
- Add aliasing for Heat and Rackspace to OpenStack
- Fix nested stack processing. Use value set in place of type check.
- Fix deeply nested parameter pushing (#209)
- Remap known nested variable functions in Azure templates (#210)
- Allow data structure arguments in AWS helpers
- Add AWS sub intrinsic function helper
- Fix resource lookup helper when using full match
- Prevent parameter mappings applying to root template
- Add #import_value! helper for AWS templates (#193)
- Add #split! helper for AWS templates
- Add provider support for Terraform (#201)
- Extract pack name using previously extract path (#180)
- Fix pack loading on Windows (#178)
- Update builtin provider resource lists
- Extend allowed attributes for generation parameters (#173)
- Fix resource effect check when defaulted with boolean
Major release includes breaking changes!
- Builtin provider resources updates (#163)
- New Resource and Propery types
- Support for conditional logic to determine property modification effect
- New provider Google (#167)
- Inject nested stacks using dynamic style insertion (#167)
- Add sparkle aliases for dumps to allow non-provider formatted template dumps (#167)
- Allow sparkle pack to load as empty pack (#167)
- Generate nested stack resource name using key processing style of current context (#167)
- SparkleFormation#apply_nesting now returns compiled structure not Hash (#167)
- SparkleFormation#stack_template_extractor now sets compiled structure not Hash (#167)
- Remove helper method aliasing in Azure module to work on Ruby 2.3 (#170)
- Implement provider restrictions and naming uniqueness (#169)
NOTE: If using non-AWS provider, files must be updated to include :provider
flag.
- Add support for CFN list type with shallow nesting (#150)
- Fix deprecation warnings on Ruby 2.3 caused by TimeoutError constant
- Fix JSON dump behavior with pure ruby json library (#162)
- Update builtin resource lists (#156)
- Refactor internal template composition (#158)
- Fix struct value storage within internal table (#147)
- Add helper for copying SparkleFormation::Collection settings
- Use collections helper to ensure expected pack ordering
- Add support for template location via path within SparkleFormation::Collection
- Add template inheritance support (#145)
- Add layer merging support for templates, components, and dynamics (#145)
- Update allowed Ruby constraint to require version greater than or equal to 2.1
- Provide useful return value from
#dynamic!
(#137) - Implement proper Azure resource generator (#141)
- Update internal Azure resource list (#141)
- Support provider specific resource splitting (#142)
- Allow provider specific resource modification on builtin inserts (#143)
- Enforce helper method convention. Always error if convention used and helper not found (#144)
- Always include parens on root of FunctionStruct dumps
- Fix sparkle pack usage in nested stacks (#140)
- Update value processing in attribute helpers for consistent behavior
- Extraction and isolation of provider specific functionalities (#138)
- Added provider support for Azure (#138)
- Added provider support for Heat (#138)
- Added provider support for Rackspace (#139)
- Enforce minimum supported Ruby version
- Fix pack registration helper method
- Provide easy access to Kernel.method (#122)
- Force error on ambiguous dynamic names (#133)
- Add resource name helper method (#128)
- Fix aws resource type collector script (#132)
- Introduce type checking where possible (#117)
- Load sparkle pack contents in single pass (#123)
- Extract provider specific helpers and provide generics (#124)
- Add tagging helper method (#121)
- Fix for multi depth hash loading within nested stacks (#118)
- New helper methods added
raise!
andputs!
(#109) - Fix for registry usage within components (#115)
- Join nesting arguments to template name. Allow optional replace.
- Raise error on name collisions within pack (#101)
- Extract registry items from pack during compile
- Fix
#root!
helper method usage (#98)
- Update resource information extractor (#92)
- Update builtin aws resource information (#92)
- Support subdirectories within packs (#94)
- Inject compile time state into outputs only if data set
- Add support for compile time parameters
- Fix usage of deprecated
SparkleFormation.insert
method - Propagate parent stack parameter when output required output is in parent stack
- Fixes on testing (#66 #67 #68 thanks @matschaffer)
- Properly handle JSON templates within packs (#72)
- Support custom values for stack resource type matching
NOTE: This is a major version release. It includes multiple implementation updates that may cause breakage.
- Add SparklePacks for isolation and distribution
- Add SparkleFormation.component method for defining components
- Support fully recursive nesting and parameter / output mapping
- Support previous nesting style (shallow) and new style (deep)
- Include support for in-line stack policy extraction
- Update
or!
helper method to take multiple arguments - Support non-ref values in
map!
(#19)
NOTE: This release could contain a breaking change. The map!
method
will now only auto generate a ref!
call if the passed value is a symbol.
- Stubs for template generation parameters
- Add
no_value!
helper method - Force path resets with
sparkle_path
is set - Include all missing pseudo parameter helpers
- Provide more control on dynamic naming
- Add helper for generating no value
- Fix Fn::If generator (#35 thanks @yhuang !)
- Relax isolated nesting check (resources only)
- Include condition within generated hash within
if!
helper (#32) - Auto process String arguments provided to
if!
- Fix array nesting within
or!
- Add initial nested stack implementation
- Update user docs generation
- Update builtin registry lookup to better handle all caps types
- Add helper methods for conditionals
- Provide better error message when dereferencing mappings that do not exist
- Add more coverage within heat translation
- Lots of translation updates (AWS -> RS "hot")
- User Documentation!
- Add Registry helper into Utils
- Add script for collecting cfn and hot resources
- Provide builtin dynamics
- Add helpers for registry and dynamic insertions
- Let dynamics provide metadata about themselves
- Start translation implementation
- Include bang helper method aliases
- Add hash dumping and JSON dumping helpers to formation instance
- Allow compile to return raw object instead of hash dump
- Fix syntax issue in cf helpers
- Initial release