Fournisseur Terraform

Le fournisseur Terraform vous permet de gérer votre instance Devolutions Server. Pour en savoir plus sur le fournisseur Terraform, consulter notre GitHub.

Ce fournisseur est un travail en cours, attendre des changements importants entre les versions.

Exigences

Construire le fournisseur

  1. Cloner le dépôt

  2. Entrer dans le répertoire du dépôt

  3. Construire le fournisseur en utilisant la commande Go install :

go install

Ajouter des dépendances

Ce fournisseur utilise les modules Go. Veuillez consulter la documentation Go pour les informations les plus récentes sur l'utilisation des modules Go.

Pour ajouter une nouvelle dépendance github.com/author/dependency à votre fournisseur Terraform :

go get github.com/author/dependency
go mod tidy

Puis écrire les modifications dans go.mod et go.sum.

Utiliser le fournisseur

Visiter le registre Terraform à https://registry.terraform.io/providers/Devolutions/dvls/latest pour des informations sur l'utilisation.

Développer le fournisseur

Si vous souhaitez travailler sur le fournisseur, vous aurez d'abord besoin de Go installé sur votre machine (voir Exigences ci-dessus).

  • Pour compiler le fournisseur, exécuter go install. Cela construira le fournisseur et placera le binaire du fournisseur dans le répertoire $GOPATH/bin.

  • Pour générer ou mettre à jour la documentation, exécuter go generate.

  • Pour exécuter la suite complète des tests d'acceptation, exécuter make testacc.

Remarque : Les tests d'acceptation créent des ressources réelles et coûtent souvent de l'argent pour être exécutés.

make testacc

Tester le fournisseur pendant le développement

Pour effectuer un test du fournisseur, créer/mettre à jour le fichier ~/.terraformrc (%APPDATA%\terraform.rc sous Windows) avec le contenu suivant :

provider_installation {
  dev_overrides {
    "devolutions/dvls" = "/Users/USERNAME/go/bin"
  }
  direct {
  }
}

Remplacer /Users/USERNAME/go/bin par le chemin vers le binaire du fournisseur compilé selon votre système d'exploitation et votre environnement.

Puis exécuter la commande suivante, en supposant que vous êtes sur macOS ou Linux :

go build -o ~/go/bin/terraform-provider-dvls_v0.5.0

chmod +x ~/go/bin/terraform-provider-dvls_v0.5.0

Remarques : le numéro de version doit correspondre à la version du fournisseur sur lequel vous travaillez.

Pouvoir créer un fichier test.tf ou example.tf avec le contenu requis; voici un exemple :

provider "dvls" {
  base_uri   = "https://your-dvls-instance.com/"
  app_id     = "your-app-id"
  app_secret = "your-app-secret"
}

data "dvls_entry_website" "example" {
  id = "id-of-website-entry"
}

output "website_name" {
  value = data.dvls_entry_website.example.name
}

terraform {
  required_providers {
    dvls = {
      source = "devolutions/dvls"
    }
  }
}

Ensuite, exécuter la commande suivante :

terraform plan

Ce sera la sortie :

│ Warning: Provider development overrides are in effect
│
│ The following provider development overrides are set in the CLI configuration:
│  - devolutions/dvls in /Users/USERNAME/go/bin
│
│ The behavior may therefore not match any released version of the provider and applying changes may cause the state to become incompatible
│ with published releases.
╵
data.dvls_entry_website.example: Reading...
data.dvls_entry_website.example: Read complete after 1s [id=123e4567-e89b-12d3-a456-426614174000]

Changes to Outputs:
  + website_name = "TestWebsite"

Veuillez noter que le .gitignore ignore déjà les fichiers dev.tfrc, .terraform.lock.hcl, test.tf, example.tf, et terraform.tfstate ainsi que le dossier .terraform/.

Devolutions Forum logo Partagez vos commentaires