> ## Documentation Index
> Fetch the complete documentation index at: https://blog.onetsolutions.net/llms.txt
> Use this file to discover all available pages before exploring further.

# Provider Terraform et OpenTofu : vos VPS et DNS en code

> Le provider Terraform et OpenTofu OnetSolutions décrit vos VPS, réseaux, DNS, domaines et hébergements web en code, et les crée en une seule commande.

*Publié le 14 novembre 2026*

Vous créez vos VPS, vos réseaux, vos zones DNS et vos hébergements à la main, clic par clic, et vous devez tout refaire pour reproduire un environnement ? Depuis le 10 novembre 2026, le **provider Terraform OnetSolutions** décrit votre infrastructure dans des fichiers de configuration. `terraform apply` la crée, la modifie ou la supprime. La même configuration fonctionne avec OpenTofu.

## Un provider Terraform, c'est quoi ?

Un provider relie Terraform à une plateforme. Vous écrivez l'état voulu de votre infrastructure en HCL ; Terraform compare avec l'existant, affiche un plan, puis applique les changements.

Votre configuration devient la référence. Versionnée dans Git, elle se relit, se partage et se rejoue : un environnement de test identique à la production tient en une commande.

Terraform et OpenTofu installent tous deux le provider depuis leur propre registre, sous le nom `onetsolutions-net/onetsolutions`.

## Ce que vous pouvez gérer en code

La version 0.2.0, publiée le 11 novembre 2026, couvre le calcul, le réseau, les domaines et l'hébergement web.

| Domaine | Ressources |
| - | - |
| Calcul | Instances (avec une adresse IPv6 publique si vous le souhaitez), snapshots, sauvegardes, GPU |
| Réseau | VPC, pare-feu des instances, DNS inverse de vos adresses IP |
| Accès | Clés SSH |
| DNS et domaines | Enregistrement et réglages des domaines, zones et enregistrements DNS, DNSSEC |
| Hébergement web | Hébergements web, version de PHP, WordPress, bases de données et leurs utilisateurs, boîtes mail, comptes FTP, tâches cron, sous-domaines, domaines additionnels, redirections |

Des sources de données vous aident à choisir avant de déclarer : `onetsolutions_instance_sizes`, `onetsolutions_images`, `onetsolutions_tlds`, `onetsolutions_domain_availability` et `onetsolutions_hosting_plans`.

## Redémarrer, réinstaller, restaurer depuis votre configuration

Le provider apporte aussi des **actions** : redémarrer une instance, la réinitialiser, la réinstaller depuis une image ou restaurer l'une de ses sauvegardes, directement depuis votre configuration.

| Situation | Action |
| - | - |
| Redémarrer une instance | `onetsolutions_instance_reboot` |
| Réinitialiser une instance | `onetsolutions_instance_reset` |
| Repartir d'une image propre | `onetsolutions_instance_reinstall` |
| Revenir à une sauvegarde | `onetsolutions_instance_backup_restore` |

> [!NOTE]
>
> Les actions demandent Terraform 1.14 ou plus ; OpenTofu ne les exécute pas. Toutes les ressources et sources de données fonctionnent avec Terraform comme avec OpenTofu.

## Démarrer avec le provider Terraform OnetSolutions

Il vous faut un compte OnetSolutions, une clé API, et Terraform 1.5 ou plus, ou OpenTofu 1.6 ou plus.

### 1. Créer une clé API

Créez une [clé API dans la console](https://help.onetsolutions.net/fr/console/api-keys). Elle agit avec vos droits, dans chaque organisation et projet auxquels vous avez accès.

Gardez-la hors de vos fichiers de configuration, dans une variable d'environnement :

```bash theme={null}
# La clé reste hors du dépôt Git
export ONETSOLUTIONS_API_KEY="sk-onetsolutions-…"
```

### 2. Décrire votre infrastructure

Une clé SSH et un réseau privé, dans un fichier `main.tf` :

```hcl theme={null}
terraform {
  required_providers {
    onetsolutions = {
      source  = "onetsolutions-net/onetsolutions"
      version = "~> 0.2"
    }
  }
}

provider "onetsolutions" {}

resource "onetsolutions_ssh_key" "laptop" {
  name       = "laptop"
  public_key = file("~/.ssh/id_ed25519.pub")
}

resource "onetsolutions_vpc" "private" {
  name       = "private"
  cidr_block = "10.0.0.0/16"
}
```

### 3. Appliquer

```bash theme={null}
terraform init && terraform apply     # ou : tofu init && tofu apply
```

Si votre compte réunit plusieurs organisations ou projets, renseignez `organization_id` et `project_id` sur le provider, ou sur chaque ressource.

> [!NOTE]
>
> Créer une instance, un hébergement web ou un domaine passe une commande, facturée comme une commande passée depuis la console. Le plan vous prévient avant toute commande ou résiliation.

## Reprendre en code ce que vous avez créé dans la console

Tout ce que vous avez créé dans la console s'importe, avec un bloc `import` ou `terraform import`. Chaque page de ressource de la documentation du provider donne son identifiant d'import :

```hcl theme={null}
import {
  to = onetsolutions_ssh_key.laptop
  id = "<organization_id>/<project_id>/<ssh_key_id>"
}
```

> [!TIP]
>
> Importez d'abord vos ressources existantes, puis lancez `terraform plan` : un plan vide confirme que votre configuration décrit fidèlement votre infrastructure.

## Pour aller plus loin

* Le guide pas à pas : [Terraform et OpenTofu dans la console](https://help.onetsolutions.net/fr/console/terraform).
* Chaque ressource, avec ses exemples : [la documentation du provider](https://registry.terraform.io/providers/onetsolutions-net/onetsolutions/latest/docs) (en anglais).
* Une idée ou un bug sur le provider : [ouvrez une issue sur GitHub](https://github.com/onetsolutions-net/terraform-provider-onetsolutions/issues/new/choose). Pour votre compte ou la facturation, [ouvrez un ticket de support](https://blog.onetsolutions.net/fr/ouvrir-ticket-support-console.md).
* Des GPU à attacher à vos instances : [les GPU NVIDIA à la demande](https://blog.onetsolutions.net/fr/gpu-nvidia-a-la-demande.md).

Pas encore client OnetSolutions ? Tout commence sur [onetsolutions.net](https://onetsolutions.net).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.