doc-locale/fr-fr/api/group_repository_storage_moves.md
{{< details >}}
{{< /details >}}
Utilisez cette API pour gérer les déplacements de stockage de dépôts de groupe. Cette API peut vous aider, par exemple, à migrer vers Gitaly Cluster (Praefect) ou à migrer un wiki de groupe. Cette API ne gère pas les dépôts de projets dans un groupe. Pour planifier des déplacements de projets, utilisez l'API des déplacements de stockage de dépôts de projet.
Lorsque GitLab traite un déplacement de stockage de dépôts de groupe, il passe par différents états. Les valeurs de state sont :
initial : L'enregistrement a été créé, mais le job en arrière-plan n'a pas encore été planifié.scheduled : Le job en arrière-plan a été planifié.started : Les dépôts du groupe sont en cours de copie vers le stockage de destination.replicated : Le groupe a été déplacé.failed : La copie des dépôts du groupe a échoué, ou les sommes de contrôle ne correspondent pas.finished : Le groupe a été déplacé et les dépôts sur le stockage source ont été supprimés.cleanup failed : Le groupe a été déplacé, mais les dépôts sur le stockage source n'ont pas pu être supprimés.Pour garantir l'intégrité des données, GitLab place les groupes dans un état temporaire de lecture seule pendant toute la durée du déplacement. Pendant cette période, les utilisateurs reçoivent ce message s'ils tentent de pousser de nouveaux commits :
The repository is temporarily read-only. Please try again later.
Cette API nécessite que vous vous authentifiiez en tant qu'administrateur.
Des API sont également disponibles pour déplacer d'autres types de dépôts :
Liste tous les déplacements de stockage de dépôts de groupe pour une instance.
GET /group_repository_storage_moves
Par défaut, les requêtes GET renvoient 20 résultats à la fois, car les résultats de l'API sont paginés.
Exemple de requête :
curl --header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/group_repository_storage_moves"
Exemple de réponse :
[
{
"id": 1,
"created_at": "2020-05-07T04:27:17.234Z",
"state": "scheduled",
"source_storage_name": "default",
"destination_storage_name": "storage2",
"group": {
"id": 283,
"web_url": "https://gitlab.example.com/groups/testgroup",
"name": "testgroup"
}
}
]
Liste tous les déplacements de stockage de dépôts pour un groupe spécifié.
GET /groups/:group_id/repository_storage_moves
Par défaut, les requêtes GET renvoient 20 résultats à la fois, car les résultats de l'API sont paginés.
Attributs pris en charge :
| Attribut | Type | Obligatoire | Description |
|---|---|---|---|
group_id | entier | oui | ID du groupe. |
Exemple de requête :
curl --header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/groups/1/repository_storage_moves"
Exemple de réponse :
[
{
"id": 1,
"created_at": "2020-05-07T04:27:17.234Z",
"state": "scheduled",
"source_storage_name": "default",
"destination_storage_name": "storage2",
"group": {
"id": 283,
"web_url": "https://gitlab.example.com/groups/testgroup",
"name": "testgroup"
}
}
]
Récupère un déplacement de stockage de dépôts de groupe spécifié.
GET /group_repository_storage_moves/:repository_storage_id
Attributs pris en charge :
| Attribut | Type | Obligatoire | Description |
|---|---|---|---|
repository_storage_id | entier | oui | ID du déplacement de stockage de dépôts de groupe. |
Exemple de requête :
curl --header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/group_repository_storage_moves/1"
Exemple de réponse :
{
"id": 1,
"created_at": "2020-05-07T04:27:17.234Z",
"state": "scheduled",
"source_storage_name": "default",
"destination_storage_name": "storage2",
"group": {
"id": 283,
"web_url": "https://gitlab.example.com/groups/testgroup",
"name": "testgroup"
}
}
Récupère un déplacement de stockage de dépôts spécifié pour un groupe.
GET /groups/:group_id/repository_storage_moves/:repository_storage_id
Attributs pris en charge :
| Attribut | Type | Obligatoire | Description |
|---|---|---|---|
group_id | entier | oui | ID du groupe. |
repository_storage_id | entier | oui | ID du déplacement de stockage de dépôts de groupe. |
Exemple de requête :
curl --header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/groups/1/repository_storage_moves/1"
Exemple de réponse :
{
"id": 1,
"created_at": "2020-05-07T04:27:17.234Z",
"state": "scheduled",
"source_storage_name": "default",
"destination_storage_name": "storage2",
"group": {
"id": 283,
"web_url": "https://gitlab.example.com/groups/testgroup",
"name": "testgroup"
}
}
Crée un déplacement de stockage de dépôts de groupe pour un groupe spécifié. Ce point de terminaison :
POST /groups/:group_id/repository_storage_moves
Attributs pris en charge :
| Attribut | Type | Obligatoire | Description |
|---|---|---|---|
group_id | entier | oui | ID du groupe. |
destination_storage_name | string | non | Nom du fragment de stockage de destination. Le stockage est sélectionné en fonction des poids de stockage s'il n'est pas fourni. |
Exemple de requête :
curl --request POST \
--header "PRIVATE-TOKEN: <your_access_token>" \
--header "Content-Type: application/json" \
--data '{"destination_storage_name":"storage2"}' \
--url "https://gitlab.example.com/api/v4/groups/1/repository_storage_moves"
Exemple de réponse :
{
"id": 1,
"created_at": "2020-05-07T04:27:17.234Z",
"state": "scheduled",
"source_storage_name": "default",
"destination_storage_name": "storage2",
"group": {
"id": 283,
"web_url": "https://gitlab.example.com/groups/testgroup",
"name": "testgroup"
}
}
Crée des déplacements de stockage de dépôts pour tous les groupes sur un fragment de stockage spécifié.
POST /group_repository_storage_moves
Attributs pris en charge :
| Attribut | Type | Obligatoire | Description |
|---|---|---|---|
source_storage_name | string | oui | Nom du fragment de stockage source. |
destination_storage_name | string | non | Nom du fragment de stockage de destination. Le stockage est sélectionné en fonction des poids de stockage s'il n'est pas fourni. |
Exemple de requête :
curl --request POST \
--header "PRIVATE-TOKEN: <your_access_token>" \
--header "Content-Type: application/json" \
--data '{"source_storage_name":"default"}' \
--url "https://gitlab.example.com/api/v4/group_repository_storage_moves"
Exemple de réponse :
{
"message": "202 Accepted"
}