Lists the changes in the provider.
- go version 1.22 used
- updated dependencies (plugin-framework 1.13.0, plugin-go 0.25.0, plugin-testing 1.10.0)
- use newer gocmlclient which supports CML 2.8.0
- added signing public key to repo
- provider configuration check: Ensure valid CML host address (HTTPS)
- moved package name from rschmied to ciscodevnet (cosmetic)
- updated documentation
- updated documentation, examples and tests to match code changes.
- update gocmlclient to 0.1.0, supporting CML 2.7.0
- tested w/ 2.7.1
- ability to use named configurations (added w/ 2.7.0) (partially addresses #100)
- deprecate
use_cache
capability, there's a flag in the provider configuration to turn this on (fixes #94) - replace link resource when changing link slots (fixes #95)
- update all dependencies as of July 2024
- run acceptance tests with 1.7 and 1.8 instead of 1.4 and 1.6
- removed github.com/hashicorp/terraform-plugin-sdk/v2 as a direct dependency, use TF framework testing module instead of SDK v2 testing module
- configurations which only differ in line endings (CR/LF vs LF, DOS / Unix) are now equivalent (fixes #106)
- deprecate
elements
in thelifecycle
resource, replaced by using standarddepends_on
- properly formatted tunnel.sh script
- allow to use a token with the integration tests (less requests, faster)
- added support for "hide links" node resource property, fixes #80
- added external connector data source
- fixed integration test for groups data source
- return error for external connector configuration when device name is provided instead of "NAT" or "System Bridge", fixes #81
- updated all package dependencies
- fix CPULimit property for UMS and ExtConn (they are now always NULL starting with 2.6.0)
- some cosmetic and test changes
- added a add-to-booted-lab lifecycle test (addresses #75 but can't reproduce)
- formatted code base w/ gofumpt
- removed cmlclient go.mod local replace and updated cmlclient to 0.0.22 in go.mod
- added / updated docs and ran generate
- bumped go version to 1.21 in the workflows
- added an extconn schema test
- updated gh action components, only run one test suite in parallel
- The provider (via gocmlclient) now honors proxy configuration provided via environment variables
HTTP_PROXY
,HTTPS_PROXY
andNO_PROXY
(or the lowercase versions thereof).HTTPS_PROXY
takes precedence overHTTP_PROXY
for https requests. - bump gocmlclient to 0.0.21 (better handling of error conditions / proxy use)
- added
ignore_errors
attribute to the system data source to be able to simply ignore errors when waiting for the controller to provide status.
- allow dynamic configuration of the provider by introducing a
dynamic_config
provider config flag. This defaults tofalse
. When set totrue
then the provider configuration is only validated when actual resources are read or created. This is for specific use cases like AWS deployments where the CML2 instance IP is only known after the EC2 instance has been created. - bump the gocmlclient to 0.0.18
- allow empty node configurations (fixes #50)
- new data sources
- "system" for version and ready check, can be used with a timeout to wait until the system becomes ready
- "groups" to retrieve a list of groups from the system
- "users" to retrieve a list of users from the system
- new resources
- "user" for user operations
- "group" for group operations
- changed "lists" to "sets" where applicable. That said, IP addresses should likely also be treated as sets (unordered, unique values) and not as (ordered) lists
- set correct ID for node and lab data sources
- updated dependencies
- fixed #40,
skip_verify
documentation - bumped golang to 1.19
- bumped gocmlclient to 0.0.14
- for integration tests, don't use cache (there's still a race)
- bumped all direct dependencies
- fixed
modify_plan
for node, to include cpu limit and imagedefinition
- reverted
skip_verify
to pre-0.5.1 logic, fixed documentation for it - framework 1.1.1, added better provider description
- fixed #38 to allow adding of links without specifying slots
- dependency updates
- link resources: change the attribute names for slots from
node_a_slot
toslot_a
andnode_b_slot
toslot_b
- image definition data source: change the attribute name of the node definition filter from
node_definition_id
tonodedefinition
for consistency
- refactor the node resource update logic, allow change of more properties when node hasn't been started yet
- make link node changes (e.g. changing the ID of either end of the link) requires a replace now.
- fix node tag handling (also a regression in cmlclient)
- improve test coverage
- documentation improvements
- dependency updates
- fix
skip_verify
flag default
- refactor to work with Terraform Plugin Framework 1.0.1
- added an image definition data source
- removed the GH secret tool from the repo
- dependency updates
- fixed node properties (compute ID and VNC key)
- added the combine workflow action (internal)
- bumped gocmlclient to 0.0.6
- dependency updates
- documentation consistency and small fixes
- improved integration test coverage
- fix
lifecycle
import-mode regression - updated to latest gocmlclient 0.0.4
- adapted to the terraform-provider-framework v0.0.15 changes
- udpated documentation
cml2_node.label
is now a required attributecml2_lifecycle.lab_id
replaces theid
for consistency. This will break existing lifecycle resources but it's easy to fix: just rename theid
tolab_id
.cml2_lifecycle.id
is now auto-generated as a UUIDv4cml2_lifecycle
resource logic changes... produces more concise change sets- added a
cml2_lifecycle
acceptance test - renamed the
mkkey
tool toghsecret
, adapted thetunnel.sh
script
This releases is a large refactor of the initial code base. It provides support for a few resources and data sources:
- resources
cml2_lab
manages labs (the top level element)cml2_node
manages nodes as elements of labscml2_link
manages links connecting nodes as elements of labscml2_lifecycle
manages the lifecycle of labs either by importing existing topology files or by referencing created labs via the lab resource
- data sources
cml2_lab
reads an existing labcml2_node
reads an existing node
In addition, the layout of the code base has been significantly changed.