- Website: https://www.terraform.io
- Mailing list: Google Groups
Warning
Before you begin using the v1
binary on your Terraform code, make sure to back up your state file!
If you are using a local state file, make copy of your terraform.tfstate file in your project directory.
If you are using a remote backend such as an S3 bucket, make sure that you follow the backup procedures and that you exercise the restore procedure at least once.
Additionally, make sure you backup or version your code as migration will require some code changes (on Flexible_gpu resource).
terraform {
required_providers {
outscale = {
source = "outscale/outscale"
version = "1.0.0-rc.2"
}
}
}
provider "outscale" {
# Configuration options
}
terraform init -upgrade
Some block types changed in terraform state, the following script will delete those blocks.
Then terraform refresh
or terraform apply
will set the right block type.
terraform fmt
sed -i '/"block_device_mappings_created": \[/, /\],/d' terraform.tfstate
sed -i 's/outscale_volumes_link/outscale_volume_link/g' terraform.tfstate
sed -i '/"link_public_ip": {/, /},/d' terraform.tfstate
sed -i '/"link_nic": {/, /},/d' terraform.tfstate
sed -i '/"flexible_gpu_id": "/, /",/d' terraform.tfstate
sed -i '/"accepter_net": {/, /},/d' terraform.tfstate
sed -i '/"source_net": {/, /},/d' terraform.tfstate
sed -i '/"state": {/, /},/d' terraform.tfstate
sed -i 's/outscale_volumes_link/outscale_volume_link/g' *.tf
sed -i 's/flexible_gpu_id /flexible_gpu_ids /g' *.tf
sed -i '/flexible_gpu_ids /s/= /= \[/' *.tf
sed -i '/outscale_flexible_gpu\./s/$/ \]/' *.tf
terraform fmt
terraform fmt
sed -i='' '/"block_device_mappings_created": \[/, /\],/d' terraform.tfstate
sed -i='' 's/outscale_volumes_link/outscale_volume_link/g' terraform.tfstate
sed -i='' '/"link_public_ip": {/, /},/d' terraform.tfstate
sed -i='' '/"link_nic": {/, /},/d' terraform.tfstate
sed -i='' '/"flexible_gpu_id": "/, /",/d' terraform.tfstate
sed -i='' '/"accepter_net": {/, /},/d' terraform.tfstate
sed -i='' '/"source_net": {/, /},/d' terraform.tfstate
sed -i='' '/"state": {/, /},/d' terraform.tfstate
sed -i='' 's/outscale_volumes_link/outscale_volume_link/g' *.tf
sed -i='' 's/flexible_gpu_id /flexible_gpu_ids /g' *.tf
sed -i='' '/flexible_gpu_ids /s/= /= \[/' *.tf
sed -i='' '/outscale_flexible_gpu\./s/$/\]/' *.tf
terraform fmt
terraform refresh
Warning
We have a broken change on our api when creating access_key without expiration date for all version less then v0.9.0. (GH-issues)
We recommend to upgrade on the latest (v1.0.0-rc.2)
Warning
Our provider terraform has been moved from outscale-dev to outscale organisation on terraform registry
The next releases will be only publish under outscale organization on terraform registry
Add the following lines in the Terraform configuration to permit to get the provider from the Terrafom registry:
terraform {
required_providers {
outscale = {
source = "outscale/outscale"
version = "1.0.0-rc.2"
}
}
}
provider "outscale" {
# Configuration options
}
-
Execute
terraform init
-
Execute
terraform plan
terraform {
required_providers {
outscale = {
source = "outscale/outscale"
version = "1.0.0-rc.2"
}
}
}
provider "outscale" {
# Configuration options
}
-
Execute
tofu init
-
Execute
tofu plan
Follow migration link
export HTTPS_PROXY=http://192.168.1.24:3128
set HTTPS_PROXY=http://192.168.1.24:3128
Add the following lines in the Terraform configuration to define certificate location:
terraform {
required_providers {
outscale = {
source = "outscale/outscale"
version = "1.0.0-rc.2"
}
}
}
provider "outscale" {
access_key_id = var.access_key_id
secret_key_id = var.secret_key_id
region = var.region
x509_cert_path = "/myrepository/certificate/client_ca.crt"
x509_key_path = "/myrepository/certificate/client_ca.key"
}
or set the following environment variables:
export OUTSCALE_X509CERT=/myrepository/certificate/client_ca.crt
export OUTSCALE_X509KEY=/myrepository/certificate/client_ca.key
Clone repository to: $GOPATH/src/github.com/outscale/terraform-provider-outscale
mkdir -p $GOPATH/src/github.com/terraform-providers
cd $GOPATH/src/github.com/terraform-providers
git clone --branch v1.0.0-rc.2 https://github.com/outscale/terraform-provider-outscale
Enter the provider directory and build the provider
cd $GOPATH/src/github.com/terraform-providers/terraform-provider-outscale
go build -o terraform-provider-outscale_v1.0.0-rc.2
-
Download and install Terraform
-
Move the plugin to the repository ~/.terraform.d/plugins/registry.terraform.io/outscale/outscale/1.0.0-rc.2/linux_amd64/.
mkdir -p ~/.terraform.d/plugins/registry.terraform.io/outscale/outscale/1.0.0-rc.2/linux_amd64
mv terraform-provider-outscale_v1.0.0-rc.2 ~/.terraform.d/plugins/registry.terraform.io/outscale/outscale/1.0.0-rc.2/linux_amd64
-
Execute
terraform init
-
Execute
terraform plan
-
Download and install Terraform
-
Move the plugin to the repository ~/.terraform.d/plugins/registry.terraform.io/outscale/outscale/1.0.0-rc.2/darwin_arm64
mkdir -p ~/.terraform.d/plugins/registry.terraform.io/outscale/outscale/1.0.0-rc.2/darwin_arm64
mv terraform-provider-outscale_v1.0.0-rc.2 ~/.terraform.d/plugins/registry.terraform.io/outscale/outscale/1.0.0-rc.2/darwin_arm64
-
Execute
terraform init
-
Execute
terraform plan
-
Download and install OpenTofu
-
Move the plugin to the repository ~/.terraform.d/plugins/registry.opentofu.org/outscale/outscale/1.0.0-rc.2/linux_amd64/.
mkdir -p ~/.terraform.d/plugins/registry.opentofu.org/outscale/outscale/1.0.0-rc.2/linux_amd64
mv terraform-provider-outscale_v1.0.0-rc.2 ~/.terraform.d/plugins/registry.opentofu.org/outscale/outscale/1.0.0-rc.2/linux_amd64
-
Execute
tofu init
-
Execute
tofu plan
-
Download and install OpenTofu
-
Move the plugin to the repository ~/.terraform.d/plugins/registry.opentofu.org/outscale/outscale/1.0.0-rc.2/darwin_arm64
mkdir -p ~/.terraform.d/plugins/registry.opentofu.org/outscale/outscale/1.0.0-rc.2/darwin_arm64
mv terraform-provider-outscale_v1.0.0-rc.2 ~/.terraform.d/plugins/registry.opentofu.org/outscale/outscale/1.0.0-rc.2/darwin_arm64
-
Execute
tofu init
-
Execute
tofu plan
Check CONTRIBUTING.md for more details.
Requirements:
- make
- python3
- python-venv
make doc