v0.10.0
What's Changed
Breaking changes
- None
New Features
- Added
--allowlist
to CLI commands - Added experimental new feature
for_each
. YAML-defined resources can now be generated dynamically withfor_each
.
-- titan.yml
vars:
- name: schemas
type: list
default:
- schema1
- schema2
roles:
- for_each: var.schemas
name: "AR_{{ each.value }}_ROLE"
titan plan --config titan.yml --vars '{"schemas": ["DEV", "PROD"]}'
- Added experimental new feature
scope
. This allows you to limit a config to a single database or single schema. Some details of this feature may be changed in the future.
One way to use this is to apply a single config to multiple schemas. For example:
-- titan.yml
scope: SCHEMA
database: STATIC_DATABASE
tables:
- name: my_table
columns:
- name: my_column
data_type: string
views:
- name: my_view
as_: SELECT * FROM my_table
requires:
- name: my_table
resource_type: TABLE
titan apply --config titan.yml --schema=DEV_TJ
titan apply --config titan.yml --schema=PROD
Resources
- Added a new resource type:
AccountParameter
- Add export support for Future Grants (#118)
Bugfixes
- Fixed an issue where vars could not be used to name a database (#124)
- Fixed an issue where
apply
CLI would fail if using a pre-defined plan - Fixed an issue where Network Grants could not be synced or exported
Performance Improvements
- Use internal Snowflake API for account type detection instead of the slow SHOW TAGS command (#95)
- Dynamic role selection no longer requires running SHOW GRANTS for every role in session (#122)
New Contributors
Thanks to @dwreeves for contributing comprehensive type checking and @toadies, @nialloriordan, @michael-lemiale, @dsmdavid, @aleenprd, @pikachuev for bug reports!
Special thanks to @littleK0i for helping out with Snowflake system commands.
Full Changelog: v0.9.1...v0.10.0