Skip to content

outscale/terraform-provider-outscale

Repository files navigation

3DS OUTSCALE Terraform Provider

Project Graduated

Terraform

🌐 Links


πŸ“„ Table of Contents


βœ… Requirements


πŸš€ Migration to v1

⚠️ Warning: Always backup your state file before migrating!

See MIGRATION GUIDE for full instructions.

Migration Steps

Step 1: Upgrade provider version

terraform {
  required_providers {
    outscale = {
      source  = "outscale/outscale"
      version = "1.1.3"
    }
  }
}

provider "outscale" {
  # Configuration
}
terraform init -upgrade

Step 2: Clean up state & configuration

Linux

sed -i 's/outscale_volumes_link/outscale_volume_link/g' terraform.tfstate
# + Other sed commands

macOS

sed -i='' 's/outscale_volumes_link/outscale_volume_link/g' terraform.tfstate
# + Other sed commands

Step 3: Refresh

terraform refresh

πŸ’₯ Breaking Changes

⚠️ Important: There is a breaking change when creating an access_key without expiration date in versions < v0.9.0. See Issue #342.


πŸš€ Using the Provider

With Terraform

terraform {
  required_providers {
    outscale = {
      source  = "outscale/outscale"
      version = "1.1.3"
    }
  }
}

provider "outscale" {
  # Configuration options
}
terraform init
terraform plan

With OpenTofu

terraform {
  required_providers {
    outscale = {
      source  = "outscale/outscale"
      version = "1.1.3"
    }
  }
}

provider "outscale" {
  # Configuration options
}
tofu init
tofu plan

πŸ‘‰ See OpenTofu migration guide.


🌍 Proxy Configuration

Linux/macOS

export HTTPS_PROXY=http://192.168.1.24:3128

Windows

set HTTPS_PROXY=http://192.168.1.24:3128

πŸ” x509 Authentication

Add to your provider config:

provider "outscale" {
  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.key

πŸ›  Building the Provider

Clone and build:

git clone --branch v1.1.3 https://github.com/outscale/terraform-provider-outscale
cd terraform-provider-outscale
go build -o terraform-provider-outscale_v1.1.3

πŸ“¦ Using the Built Provider

After building the provider manually, install it locally depending on your platform and tooling:

For Terraform

On Linux 1. Download and install [Terraform](https://www.terraform.io/downloads.html).
  1. Move the plugin to the repository:
mkdir -p terraform.d/plugins/registry.terraform.io/outscale/outscale/1.1.3/linux_amd64
mv terraform-provider-outscale_v1.1.3 terraform.d/plugins/registry.terraform.io/outscale/outscale/1.1.3/linux_amd64/
  1. Initialize Terraform:
terraform init
  1. Plan your Terraform configuration:
terraform plan
On macOS 1. Download and install [Terraform](https://www.terraform.io/downloads.html).
  1. Move the plugin to the repository:
mkdir -p terraform.d/plugins/registry.terraform.io/outscale/outscale/1.1.3/darwin_arm64
mv terraform-provider-outscale_v1.1.3 terraform.d/plugins/registry.terraform.io/outscale/outscale/1.1.3/darwin_arm64/
  1. Initialize Terraform:
terraform init
  1. Plan your Terraform configuration:
terraform plan

For OpenTofu

On Linux 1. Download and install [OpenTofu](https://opentofu.org/docs/intro/install/deb/).
  1. Move the plugin to the repository:
mkdir -p terraform.d/plugins/registry.opentofu.org/outscale/outscale/1.1.3/linux_amd64
mv terraform-provider-outscale_v1.1.3 terraform.d/plugins/registry.opentofu.org/outscale/outscale/1.1.3/linux_amd64/
  1. Initialize OpenTofu:
tofu init
  1. Plan your configuration:
tofu plan
On macOS 1. Download and install [OpenTofu](https://opentofu.org/docs/intro/install/homebrew/).
  1. Move the plugin to the repository:
mkdir -p terraform.d/plugins/registry.opentofu.org/outscale/outscale/1.1.3/darwin_arm64
mv terraform-provider-outscale_v1.1.3 terraform.d/plugins/registry.opentofu.org/outscale/outscale/1.1.3/darwin_arm64/
  1. Initialize OpenTofu:
tofu init
  1. Plan your configuration:
tofu plan

🀝 Contributing

See CONTRIBUTING.md.


πŸ“ Building the Documentation

Requirements:

  • make
  • python3
  • python-venv
make doc

About

Terraform provider for managing OUTSCALE resources.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Contributors 31