153 lines
6.4 KiB
Markdown
153 lines
6.4 KiB
Markdown
# Changelog
|
|
All notable changes to this project will be documented in this file.
|
|
|
|
## [Unreleased] - 2021-09-24
|
|
### Added
|
|
* Rewrote tool to generate provider bindings to automatically include all
|
|
providers listed on the [Terraform Registry](https://registry.terraform.io/).
|
|
This added 80 new providers to *Terrascript* which is too many to list here.
|
|
(discussion #149).
|
|
* Introduced support for provider namespaces (discussion #152). This is not
|
|
available in the deprecated "legacy layout". Examples:
|
|
``import resource.hashicorp.aws`` and ``import data.hashicorp.aws``. For
|
|
backwards compatibility most providers can still be used without namespace:
|
|
``import data.aws``.
|
|
* Build support for Python 3.9
|
|
* Make target for building providers
|
|
* Now possible to update the `terraform` property of Terrascript by adding it multiple times
|
|
* Tool to generate provider bindings now accept provider to build
|
|
### Changed
|
|
* The ``version`` and ``source`` arguments to providers are now optional
|
|
and default to the latest version.
|
|
### Deprecated
|
|
* Added ``DeprecationWarning`` for modules under the "legacy layout".
|
|
* Wildcard imports like ``from provider import *``, ``from resource import *``
|
|
and ``from data import *`` are deprecated although there is no
|
|
``DeprecationWarning`` as I don't know how to implement such.
|
|
Wildcard imports from provider modules are still possible, e.g.
|
|
``from resource.hashicorp.aws import *`` (with namespace) or
|
|
``from provider.aws import *``. (without namespace).
|
|
### Deleted
|
|
* Provider terraform data resource `terraform_remote_state` alias `remote_state`
|
|
|
|
## [0.9.0] - 2020-11-23
|
|
**This release requires Python 3.6 or later, and Terraform 0.12 or later.**
|
|
**Be aware of embedded variable bugfix, which could break workarounds.**
|
|
### Added
|
|
* Automatically push of built tags to pypi
|
|
* Created ``terrascript.Terrascript.__iter__()`` method for iterating over resources, data sources, etc. (issue #98).
|
|
* Make target and code to fail builds unless python code format passes Black
|
|
* Provider `google-beta`
|
|
* Release instruction for documentation
|
|
* RTD theme no longer bundled with Sphinx added as dev requirement
|
|
### Fixed
|
|
* Documentation generation, tests and examples cleaned up
|
|
* Missing dev requirement Black added
|
|
* Re-introduced ``terrascript.Terrascript.update()`` method (issue #98).
|
|
* String interpolation of variable should now properly result in a var.name reference (issue #109)
|
|
* terrascript module should now pass pep8 validation and have no lint errors
|
|
* Tool for generating providers now outputs code (almost) compliant with black
|
|
### Changed
|
|
* All Python code is now automatically formatted using [Black](https://pypi.org/project/black/).
|
|
* Code for providers updated to conform with black
|
|
* Contributors are now sorted in alphabetical order
|
|
* Documentation for creating releases are now updated to reflect expected flow
|
|
* Documentation link from readme now points toward develop build on readthedocs.io to avoid 404
|
|
* Documentation on variable usage updated to reflect changes in issue #109
|
|
* Makefiles cleaned up, and help target contents now dynamically generated from comments
|
|
* Requirements files are now sorted alphabetically and duplicate entries are removed
|
|
* Terraform version supported updated from 0.12.15-19 to 0.12.29 + 0.13.4-5
|
|
* Updated code for providers generated
|
|
### Deleted
|
|
* Python 3.5 no longer supported as the official support are dropped: https://devguide.python.org/#status-of-python-branches
|
|
### Deprecated
|
|
* Individual modules for each provider (Example: ``terrascript.aws.r``) are now deprecated in favour of
|
|
single modules as added in release 0.8.0.
|
|
|
|
## [0.8.0] - 2020-01-20
|
|
**This release requires Terraform 0.12 or later.**
|
|
### Added
|
|
* Almost complete rewrite to align it with Terraform 0.12 JSON syntax.
|
|
* Providers, resources and data sources are now accessible through single modules instead of
|
|
individual modules for each provider.
|
|
* The module ``terrascript.providers`` contains **all** providers, e.g. ``terrascript.providers.google``.
|
|
* The module ``terrascript.resources`` contains **all** resource, e.g. ``terrascript.resources.aws_instance``.
|
|
* The module ``terrascript.datasources`` contains **all** resource, e.g. ``terrascript.datasources.alicloud_images``.
|
|
* [Oracle Cloud Infrastructure Provider](https://www.terraform.io/docs/providers/oci/index.html) (issue #63)
|
|
|
|
## [0.7.0] - Skipped
|
|
|
|
## [0.6.1] - 2019-08-17
|
|
### Added
|
|
* Locals resouce (pull #71)
|
|
* null provider resouces (pull #69)
|
|
* aws_rds_cluster_endpoint (pull #60)
|
|
* aws_kms_grant resource (pull #61)
|
|
* aws_config_configuration_aggregator resource (pull #61)
|
|
* Added many resources (pull #67)
|
|
### Updated
|
|
* Updated all terraform provider resources (pull #67)
|
|
* Updated DigitalOcean resources (pull #58)
|
|
### Fixed
|
|
* Added missing escape quote to the result json dump (pull #57)
|
|
* Remove temp directory after validation (pull #64)
|
|
### Removed
|
|
* Support for all Terraform versions prior to release 0.12.
|
|
|
|
## [0.6.0] - 2018-09-28
|
|
### Added
|
|
* vSphere data sources/resources (pull #52)
|
|
* Added new aws resources (pull #51)
|
|
* Update azurerm resource and the function `interpolated` (pull #53)
|
|
* Added support for update terrascript from another terrascript. Same behavior as dict().update (pull #37)
|
|
* Added new cloudflare resources and data (pull #54)
|
|
* Added tests for Terraform 0.11.8
|
|
|
|
## [0.5.1] - 2018-05-10
|
|
### Fixed
|
|
* Work-around for data/JSON bug (issue #3).
|
|
* Fixed `provisioner` (issue #32)
|
|
### Added
|
|
* `Terrascript.add()` method (issue #33).
|
|
* Missing vSphere data sources and resources (issue #35).
|
|
### Removed
|
|
* Dropped support for Terraform < 0.10.6 (issue #38).
|
|
|
|
## [0.5.0] - 2018-Mar-18
|
|
### Fixed
|
|
* Problem when using resource in a loop (issue #26)
|
|
### Added
|
|
* Added `terrascript.Terrascript` class wich makes this release
|
|
incompatible with earlier ones.
|
|
* Allow multiple providers (issue #22)
|
|
|
|
## [0.4.0] - 2017-11-21
|
|
### Added
|
|
* Added all other providers.
|
|
|
|
## [0.3.0] - 2017-11-17
|
|
### Added
|
|
* Added more providers (please report any bugs)
|
|
* Added note about how to create provider modules in README.
|
|
|
|
## [0.2.1] - 2017-08-02
|
|
### Fixed
|
|
* Added `MANIFEST.in` which I completely forgot.
|
|
* Allow data sources without any keyword arguments.
|
|
### Added
|
|
* Webserver Cluster example based on chapter 4 of "Terraform: Up and Running"
|
|
|
|
## [0.2.0] - 2017-07-26
|
|
### Added
|
|
* `google` provider.
|
|
* `azurerm` provider.
|
|
* `terraform` provider.
|
|
* `template` provider.
|
|
* `openstack` provider.
|
|
* `kubernetes` provider.
|
|
* `docker` provider.
|
|
|
|
## [0.1.0] - 2017-07-25
|
|
* First release.
|
|
* Supports only AWS provider.
|