Release v1.6.0
This release completes the migration of the provider's API layer from osc-sdk-go@v2 to osc-sdk-go@v3, along with several provider improvements focused on performance, retry behavior, and debugging.
No changes are required to your Terraform configuration, and the migration is intended to be fully backward-compatible.
Changes
Read batching
During plan and apply, the provider now groups individual Read calls for VMs, Volumes, Security Groups, Nets, and Subnets into bulk API requests.
Instead of sending one API call per resource, reads arriving within a short time window are merged together. On larger infrastructures, this can significantly reduce API usage and improve execution time.
Exponential backoff on throttling
Retries triggered by API throttling now use exponential backoff instead of fixed retry intervals.
This reduces pressure on the API and lowers the risk of repeated rate limiting and timeout failures.
Improved 409 conflict handling
Conflict errors are now handled more precisely, avoiding cases where the provider could enter infinite retry loops and eventually time out.
Cleaner debug logs
HTTP request and response logs shown with TF_LOG=DEBUG are now formatted as multi-line output, making them easier to read during troubleshooting.
Operational note
To help the batcher group more reads into single API calls, you can increase Terraform parallelism:
terraform plan -parallelism=20To make this persistent:
export TF_CLI_ARGS_plan="-parallelism=20"See the Terraform CLI documentation for more details on TF_CLI_ARGS.
Detailed changelog
✨ Added
🛠️ Changed / Refactoring
- ♻️ refactor: code cleanup & better logic on LBU state usage by @ryohkhn in #720
- ♻️ refactor: multiple sdkv2 -> plugin framework migrations by @ryohkhn in #721
flexible_gpu_linkresourcepublic_ip&public_ip_linkresourcesserver_certificateresourceclient_gatewayresourcedhcp_optionresourcenat_serviceresource
- ♻️ refactor: snapshot resource migrate by @ryohkhn in #739
- ♻️ refactor: vpn_connection & vpn_connection_route resource migrate by @ryohkhn in #742
📝 Documentation
- 📝 docs: Align docs with oAPI 1.40.1 changes by @andrepasteur in #707
- 📝 docs: Fix incorrectly displayed chevrons in Markdown code block by @andrepasteur in #718
- 📝 docs: Fix flexible_gpu_link import by @andrepasteur in #733
🐛 Fixed
- 🐛 fix(vpn_connection): check err before conversion by @ryohkhn in #745
- 🐛 fix(timeouts): inconsistent apply after import by @ryohkhn in #749
Full Changelog: v1.5.0...v1.6.0