doc-locale/fr-fr/api/packages/terraform-modules.md
{{< details >}}
{{< /details >}}
Utilisez cette API pour interagir avec le CLI Terraform.
[!warning] Cette API est utilisée par le CLI Terraform et n'est généralement pas destinée à une utilisation manuelle. Les méthodes d'authentification non documentées pourraient être supprimées à l'avenir.
Répertoriez toutes les versions disponibles pour un module spécifié.
GET packages/terraform/modules/v1/:module_namespace/:module_name/:module_system/versions
| Attribut | Type | Obligatoire | Description |
|---|---|---|---|
module_namespace | string | oui | Le groupe principal (espace de nommage) auquel appartient le projet ou le sous-groupe du module Terraform. |
module_name | string | oui | Le nom du module. |
module_system | string | oui | Le nom du système de module ou du fournisseur. |
curl --header "Authorization: Bearer <personal_access_token>" \
--url "https://gitlab.example.com/api/v4/packages/terraform/modules/v1/group/hello-world/local/versions"
Exemple de réponse :
{
"modules": [
{
"versions": [
{
"version": "1.0.0",
"submodules": [],
"root": {
"dependencies": [],
"providers": [
{
"name": "local",
"version":""
}
]
}
},
{
"version": "0.9.3",
"submodules": [],
"root": {
"dependencies": [],
"providers": [
{
"name": "local",
"version":""
}
]
}
}
],
"source": "https://gitlab.example.com/group/hello-world"
}
]
}
Récupérez des informations sur la dernière version d'un module spécifié.
GET packages/terraform/modules/v1/:module_namespace/:module_name/:module_system
| Attribut | Type | Obligatoire | Description |
|---|---|---|---|
module_namespace | string | oui | Le groupe auquel appartient le projet du module Terraform. |
module_name | string | oui | Le nom du module. |
module_system | string | oui | Le nom du système de module ou du fournisseur. |
curl --header "Authorization: Bearer <personal_access_token>" \
--url "https://gitlab.example.com/api/v4/packages/terraform/modules/v1/group/hello-world/local"
Exemple de réponse :
{
"name": "hello-world/local",
"provider": "local",
"providers": [
"local"
],
"root": {
"dependencies": []
},
"source": "https://gitlab.example.com/group/hello-world",
"submodules": [],
"version": "1.0.0",
"versions": [
"1.0.0"
]
}
Récupérez des informations sur une version spécifique d'un module spécifié.
GET packages/terraform/modules/v1/:module_namespace/:module_name/:module_system/1.0.0
| Attribut | Type | Obligatoire | Description |
|---|---|---|---|
module_namespace | string | oui | Le groupe auquel appartient le projet du module Terraform. |
module_name | string | oui | Le nom du module. |
module_system | string | oui | Le nom du système de module ou du fournisseur. |
curl --header "Authorization: Bearer <personal_access_token>" \
--url "https://gitlab.example.com/api/v4/packages/terraform/modules/v1/group/hello-world/local/1.0.0"
Exemple de réponse :
{
"name": "hello-world/local",
"provider": "local",
"providers": [
"local"
],
"root": {
"dependencies": []
},
"source": "https://gitlab.example.com/group/hello-world",
"submodules": [],
"version": "1.0.0",
"versions": [
"1.0.0"
]
}
Récupérez l'URL de téléchargement pour la dernière version du module dans l'en-tête X-Terraform-Get.
GET packages/terraform/modules/v1/:module_namespace/:module_name/:module_system/download
| Attribut | Type | Obligatoire | Description |
|---|---|---|---|
module_namespace | string | oui | Le groupe auquel appartient le projet du module Terraform. |
module_name | string | oui | Le nom du module. |
module_system | string | oui | Le nom du système de module ou du fournisseur. |
curl --header "Authorization: Bearer <personal_access_token>" \
--url "https://gitlab.example.com/api/v4/packages/terraform/modules/v1/group/hello-world/local/download"
Exemple de réponse :
HTTP/1.1 204 No Content
Content-Length: 0
X-Terraform-Get: /api/v4/packages/terraform/modules/v1/group/hello-world/local/1.0.0/file?token=&archive=tgz
En coulisses, ce point de terminaison d'API redirige vers packages/terraform/modules/v1/:module_namespace/:module_name/:module_system/:module_version/download
Récupérez l'URL de téléchargement pour une version de module spécifiée dans l'en-tête X-Terraform-Get.
GET packages/terraform/modules/v1/:module_namespace/:module_name/:module_system/:module_version/download
| Attribut | Type | Obligatoire | Description |
|---|---|---|---|
module_namespace | string | oui | Le groupe auquel appartient le projet du module Terraform. |
module_name | string | oui | Le nom du module. |
module_system | string | oui | Le nom du système de module ou du fournisseur. |
module_version | string | oui | Version spécifique du module à télécharger. |
curl --header "Authorization: Bearer <personal_access_token>" \
--url "https://gitlab.example.com/api/v4/packages/terraform/modules/v1/group/hello-world/local/1.0.0/download"
Exemple de réponse :
HTTP/1.1 204 No Content
Content-Length: 0
X-Terraform-Get: /api/v4/packages/terraform/modules/v1/group/hello-world/local/1.0.0/file?token=&archive=tgz
GET packages/terraform/modules/v1/:module_namespace/:module_name/:module_system/:module_version/file
| Attribut | Type | Obligatoire | Description |
|---|---|---|---|
module_namespace | string | oui | Le groupe auquel appartient le projet du module Terraform. |
module_name | string | oui | Le nom du module. |
module_system | string | oui | Le nom du système de module ou du fournisseur. |
module_version | string | oui | Version spécifique du module à télécharger. |
curl --header "Authorization: Bearer <personal_access_token>" \
--url "https://gitlab.example.com/api/v4/packages/terraform/modules/v1/group/hello-world/local/1.0.0/file"
Pour écrire la sortie dans un fichier :
curl --header "Authorization: Bearer <personal_access_token>" \
--url "https://gitlab.example.com/api/v4/packages/terraform/modules/v1/group/hello-world/local/1.0.0/file" \
--output hello-world-local.tgz
GET /projects/:id/packages/terraform/modules/:module_name/:module_system/:module_version
| Attribut | Type | Obligatoire | Description |
|---|---|---|---|
id | entier ou chaîne | oui | L'ID ou le chemin encodé en URL du projet. |
module_name | string | oui | Le nom du module. |
module_system | string | oui | Le nom du système de module ou du fournisseur. |
module_version | string | non | Version spécifique du module à télécharger. Si omis, la dernière version est téléchargée. |
curl --user "<username>:<personal_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/1/packages/terraform/modules/hello-world/local/1.0.0"
Pour écrire la sortie dans un fichier :
curl --user "<username>:<personal_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/1/packages/terraform/modules/hello-world/local/1.0.0" \
--output hello-world-local.tgz
Chargez un module pour un projet spécifié.
PUT /projects/:id/packages/terraform/modules/:module-name/:module-system/:module-version/file
| Attribut | Type | Obligatoire | Description |
|---|---|---|---|
id | entier ou chaîne | oui | L'ID ou le chemin encodé en URL du projet. |
module-name | string | oui | Le nom du module. |
module-system | string | oui | Le nom du système de module ou du fournisseur. |
module-version | string | oui | Version spécifique du module à charger. |
curl --fail-with-body \
--header "PRIVATE-TOKEN: <your_access_token>" \
--upload-file path/to/file.tgz \
--url "https://gitlab.example.com/api/v4/projects/<your_project_id>/packages/terraform/modules/my-module/my-system/0.0.1/file"
Jetons pouvant être utilisés pour s'authentifier :
| En-tête | Valeur |
|---|---|
PRIVATE-TOKEN | Un jeton d'accès personnel avec la portée api. |
DEPLOY-TOKEN | Un jeton de déploiement avec la portée write_package_registry. |
JOB-TOKEN | Un job token. |
Exemple de réponse :
{
"message": "201 Created"
}