- Terraform website: https://www.terraform.io
- Gitter chat
- Mailing list
- Requirements
- Migration to v1
- Breaking Changes
- Using the Provider
- Provider Configuration
- Proxy Configuration
- x509 Authentication
- Building the Provider
- Using the Built Provider
- Contributing
- Building the Documentation
- Terraform 1.10.x or latest
- Go 1.24.2 (to build the provider)
β οΈ Warning: Always backup your state file before migrating!
See MIGRATION GUIDE for full instructions.
Migration Steps
terraform {
required_providers {
outscale = {
source = "outscale/outscale"
version = "1.4.0"
}
}
}
provider "outscale" {
# Configuration
}terraform init -upgradeLinux
sed -i 's/outscale_volumes_link/outscale_volume_link/g' terraform.tfstate
# + Other sed commandsmacOS
sed -i='' 's/outscale_volumes_link/outscale_volume_link/g' terraform.tfstate
# + Other sed commandsterraform refresh
β οΈ Important: There is a breaking change when creating anaccess_keywithout expiration date in versions< v0.9.0. See Issue #342.
terraform {
required_providers {
outscale = {
source = "outscale/outscale"
version = "1.4.0"
}
}
}
provider "outscale" {
# Configuration options
}terraform init
terraform planterraform {
required_providers {
outscale = {
source = "outscale/outscale"
version = "1.4.0"
}
}
}
provider "outscale" {
# Configuration options
}tofu init
tofu planπ See OpenTofu migration guide.
Starting from version 1.4.0, the provider supports per-service configuration using api and oks blocks. This allows you to specify different endpoints, regions, and authentication settings for the Outscale API and OKS API independently.
provider "outscale" {
access_key_id = "your-access-key"
secret_key_id = "your-secret-key"
api {
endpoint = "https://api.eu-west-2.outscale.com"
region = "eu-west-2"
x509_cert_path = "/path/to/cert.pem"
x509_key_path = "/path/to/key.pem"
insecure = false
}
oks {
endpoint = "https://api.eu-west-2.oks.outscale.com/api/v2"
region = "eu-west-2"
}
}
β οΈ Deprecation: The following top-level attributes are deprecated and will be removed in the next major version. Please migrate to the new per-service configuration blocks.
| Deprecated Attribute | Replacement |
|---|---|
region |
api { region = "..." } and/or oks { region = "..." } |
endpoints { api = "..." } |
api { endpoint = "..." } |
endpoints { oks = "..." } |
oks { endpoint = "..." } |
x509_cert_path |
api { x509_cert_path = "..." } |
x509_key_path |
api { x509_key_path = "..." } |
insecure |
api { insecure = true } |
Linux/macOS
export HTTPS_PROXY=http://192.168.1.24:3128Windows
set HTTPS_PROXY=http://192.168.1.24:3128
β οΈ Deprecation: Top-levelx509_cert_pathandx509_key_pathattributes are deprecated. Use theapiblock configuration instead.
provider "outscale" {
api {
x509_cert_path = "/myrepository/certificate/client_ca.crt"
x509_key_path = "/myrepository/certificate/client_ca.key"
}
}Or set environment variables:
export OUTSCALE_X509CERT=/myrepository/certificate/client_ca.crt
export OUTSCALE_X509KEY=/myrepository/certificate/client_ca.keyClone and build:
git clone --branch v1.4.0 https://github.com/outscale/terraform-provider-outscale
cd terraform-provider-outscale
go build -o terraform-provider-outscale_v1.4.0After building the provider manually, install it locally depending on your platform and tooling:
On Linux
1. Download and install [Terraform](https://www.terraform.io/downloads.html).- Move the plugin to the repository:
mkdir -p terraform.d/plugins/registry.terraform.io/outscale/outscale/1.4.0/linux_amd64
mv terraform-provider-outscale_v1.4.0 terraform.d/plugins/registry.terraform.io/outscale/outscale/1.4.0/linux_amd64/- Initialize Terraform:
terraform init- Plan your Terraform configuration:
terraform planOn macOS
1. Download and install [Terraform](https://www.terraform.io/downloads.html).- Move the plugin to the repository:
mkdir -p terraform.d/plugins/registry.terraform.io/outscale/outscale/1.4.0/darwin_arm64
mv terraform-provider-outscale_v1.4.0 terraform.d/plugins/registry.terraform.io/outscale/outscale/1.4.0/darwin_arm64/- Initialize Terraform:
terraform init- Plan your Terraform configuration:
terraform planOn Linux
1. Download and install [OpenTofu](https://opentofu.org/docs/intro/install/deb/).- Move the plugin to the repository:
mkdir -p terraform.d/plugins/registry.opentofu.org/outscale/outscale/1.4.0/linux_amd64
mv terraform-provider-outscale_v1.4.0 terraform.d/plugins/registry.opentofu.org/outscale/outscale/1.4.0/linux_amd64/- Initialize OpenTofu:
tofu init- Plan your configuration:
tofu planOn macOS
1. Download and install [OpenTofu](https://opentofu.org/docs/intro/install/homebrew/).- Move the plugin to the repository:
mkdir -p terraform.d/plugins/registry.opentofu.org/outscale/outscale/1.4.0/darwin_arm64
mv terraform-provider-outscale_v1.4.0 terraform.d/plugins/registry.opentofu.org/outscale/outscale/1.4.0/darwin_arm64/- Initialize OpenTofu:
tofu init- Plan your configuration:
tofu planSee CONTRIBUTING.md.
Requirements:
makepython3python-venv
make doc