Afficher, modifier et supprimer des dossiers

Cette page explique comment afficher les détails d'un dossier, modifier ses paramètres et le supprimer à l'aide de la Google Cloud console, de Google Cloud CLI ou de l'API. Découvrez comment modifier les noms à afficher des dossiers et gérer leur emplacement dans la hiérarchie de votre organisation.

Répertorier les dossiers et afficher leurs détails

Pour répertorier des dossiers ou afficher les métadonnées d'un dossier spécifique, telles que son nom à afficher, son ID parent et son état de cycle de vie, vous devez disposer du rôle Lecteur de dossier (roles/resourcemanager.folderViewer) ou du rôle Lecteur de l'organisation (roles/resourcemanager.organizationViewer).

Console

  1. Dans la Google Cloud console, ouvrez la page Gérer les ressources.

    Accéder à la page Gérer les ressources

  2. La liste des ressources affiche votre hiérarchie sous forme de tableau. Sélectionnez votre ressource d'organisation.

  3. Cliquez sur la flèche située à côté du nom de l'organisation pour développer l'arborescence et afficher ses dossiers enfants.

  4. Pour effectuer des actions telles que déplacer, supprimer ou afficher des paramètres, cliquez sur le Actions à la fin de la ligne correspondant à cette ressource spécifique.

  5. Utilisez la barre Filtrer en haut de la liste des ressources pour rechercher des ressources par nom, ID ou libellé.

Utiliser le sélecteur de projet

Utilisez le sélecteur de projet dans la barre de navigation supérieure pour remplacer votre contexte actif par un projet ou un dossier spécifique.

  1. Dans la barre de navigation supérieure de la Google Cloud console, cliquez sur le sélecteur de projet. Il s'agit du menu déroulant situé à côté du Google Cloud logo.

  2. Dans la boîte de dialogue qui s'affiche, sélectionnez votre organisation dans le menu déroulant pour filtrer les résultats.

  3. Parcourez la hiérarchie ou recherchez le projet ou le dossier vers lequel vous souhaitez basculer. Lorsque vous cliquez sur une ressource dans ce sélecteur, votre contexte global est modifié, ce qui affecte les ressources visibles sur les autres pages de service (comme Compute Engine ou Cloud Storage).

gcloud

Pour obtenir des informations sur un dossier, utilisez la commande resource-manager folders describe.

gcloud resource-manager folders describe FOLDER_ID

Remplacez FOLDER_ID par l'ID du dossier que vous souhaitez afficher.

Pour répertorier les dossiers enfants d'une ressource d'organisation, utilisez la commande resource-manager folders list.

gcloud resource-manager folders list \
    --organization ORGANIZATION_ID

Remplacez ORGANIZATION_ID par l'ID de la ressource d'organisation pour laquelle vous souhaitez afficher une liste de dossiers enfants.

Pour répertorier les dossiers enfants d'une ressource de dossier, utilisez la commande resource-manager folders list.

gcloud resource-manager folders list \
    --folder FOLDER_ID

Remplacez FOLDER_ID par l'ID de la ressource de dossier pour laquelle vous souhaitez afficher une liste de dossiers enfants.

Pour répertorier les projets sous une ressource d'organisation ou de dossier, ou sous un dossier, utilisez la commande projects list avec l'argument filter.

gcloud projects list \
    --filter=" parent.id: 'RESOURCE_ID' "

Remplacez RESOURCE_ID par l'ID de la ressource d'organisation ou de dossier pour laquelle vous souhaitez afficher une liste de projets enfants.

REST

Requête curl pour obtenir des dossiers :

curl -X GET -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${bearer_token}" \
  https://cloudresourcemanager.googleapis.com/v3/FOLDER_ID

Remplacez FOLDER_NAME par le nom du dossier, par exemple folders/123.

Requête curl pour répertorier des dossiers :

curl -X GET -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${bearer_token}" \
  https://cloudresourcemanager.googleapis.com/v3/folders?parent=PARENT_NAME

Remplacez PARENT_NAME par le nom de la ressource parente sous laquelle vous créez le dossier, par exemple organizations/123 ou folders/123.

Modifier des dossiers

Pour modifier le nom à afficher d'un dossier, vous devez disposer du rôle Éditeur de dossier (roles/resourcemanager.folderEditor) ou du rôle Administrateur de dossier (roles/resourcemanager.folderAdmin) sur le dossier.

Console

  1. Dans la Google Cloud console, ouvrez la page Gérer les ressources.

    Accéder à la page Gérer les ressources

  2. Cliquez sur la flèche située à côté du nom de l'organisation pour développer l'arborescence et afficher ses dossiers enfants.

  3. Sur la ligne du dossier que vous souhaitez modifier, cliquez sur le Actions menu à la fin de la ligne, puis sur Paramètres.

  4. Saisissez le nouveau nom du dossier, puis cliquez sur Enregistrer.

gcloud

Pour modifier le nom à afficher d'un dossier :

gcloud resource-manager folders update FOLDER_ID --display-name="NEW_DISPLAY_NAME"

Remplacez les éléments suivants :

  • FOLDER_ID : ID du dossier que vous souhaitez modifier.
  • NEW_DISPLAY_NAME : nouveau nom à afficher pour le dossier.

REST

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • FOLDER_ID : ID du Google Cloud dossier
  • NEW_DISPLAY_NAME : nouveau nom à afficher pour le dossier

Méthode HTTP et URL :

PATCH https://cloudresourcemanager.googleapis.com/v3/folders/FOLDER_ID?updateMask=displayName

Corps JSON de la requête :

{
  "displayName": "NEW_DISPLAY_NAME"
}

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://cloudresourcemanager.googleapis.com/v3/folders/FOLDER_ID?updateMask=displayName"

PowerShell

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://cloudresourcemanager.googleapis.com/v3/folders/FOLDER_ID?updateMask=displayName" | Select-Object -Expand Content

Vous devriez recevoir une réponse JSON de ce type :

{
  "name": "operations/fc.1234567890abcdef",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.resourcemanager.v3.FolderOperationMetadata",
    "displayName": "NEW_DISPLAY_NAME",
    "operationType": "UPDATE",
    "resourceName": "folders/FOLDER_ID"
  },
  "done": false
}

Déplacer un dossier dans un autre dossier

Pour déplacer un dossier dans un autre dossier, vous devez disposer de l'autorisation resourcemanager.folders.move pour les dossiers source et de destination.

Console

Le processus consistant à déplacer des dossiers dans d'autres dossiers de la console s'apparente au transfert de projets.

  1. Dans la Google Cloud console, ouvrez la page Gérer les ressources.

    Ouvrir Google Cloud la console

  2. Sélectionnez votre ressource d'organisation dans la liste déroulante Organisation en haut à gauche de la page.
  3. Cliquez sur la ligne correspondant à votre dossier pour le sélectionner dans la liste des projets et des dossiers.
  4. Cliquez sur le menu d'options (icône représentant des points de suspension verticaux) situé sur cette ligne et cliquez sur Déplacer.
  5. Cliquez sur Parcourir pour sélectionner le dossier dans lequel vous souhaitez déplacer le dossier.
  6. Cliquez sur Déplacer.

gcloud

Pour déplacer un dossier sous la ressource d'organisation, exécutez la commande suivante dans Google Cloud CLI :

gcloud resource-manager folders move FOLDER_ID \
    --organization=PARENT_ID

Remplacez les éléments suivants :

  • FOLDER_ID : ID du dossier que vous souhaitez déplacer.
  • PARENT_ID : ID de la ressource d'organisation parente.

Pour déplacer un dossier sous un autre dossier :

gcloud resource-manager folders move FOLDER_ID \
    --folder=PARENT_ID

Remplacez les éléments suivants :

  • FOLDER_ID : ID du dossier que vous souhaitez déplacer.
  • PARENT_ID : ID de la ressource d'organisation ou du dossier parent.

REST

Requête JSON :

request_json= '{
   destinationParent: "folders/DESTINATION_FOLDER_ID"
}'

Requête curl pour déplacer un dossier :

curl -X POST -H "Content-Type: application/json" \
-H "Authorization: Bearer ${bearer_token} \
-d "$request_json" \
https://cloudresourcemanager.googleapis.com/v3/folders/DISPLAY_NAME:move

Remplacez les éléments suivants :

  • DESTINATION_FOLDER_ID : ID du dossier sous lequel vous déplacez un autre dossier, par exemple 98765.
  • DISPLAY_NAME : nom à afficher du dossier en cours de déplacement, par exemple "Mon dossier préféré".

Réponse pour le transfert de dossier :

{
  "name": "operations/fm.1234567890",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.resourcemanager.v3.FolderOperation",
    "displayName": "DISPLAY_NAME",
    "operationType": "MOVE"
  }
}

Requête curl pour l'opération Get :

curl -H "Authorization: Bearer ${bearer_token}" \
https://cloudresourcemanager.googleapis.com/v3/operations/fm.1234567890

Réponse pour l'opération Get :

{
  "name": "operations/fm.1234567890",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.resourcemanager.v3.FolderOperation",
    "displayName": "DISPLAY_NAME",
    "operationType": "MOVE"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.resourcemanager.v3.Folder",
    "name": "folders/12345",
    "parent": "folders/98765",
    "displayName": "DISPLAY_NAME",
    "lifecycleState": "ACTIVE",
    "createTime": "2017-07-19T23:29:26.018Z",
    "updateTime": "2017-07-20T00:54:44.295Z"
  }
}

Supprimer des dossiers

Pour supprimer un dossier, vous devez disposer du rôle Éditeur de dossier (roles/resourcemanager.folderEditor) ou du rôle Administrateur de dossier (roles/resourcemanager.folderAdmin) sur le dossier.

Console

  1. Dans la Google Cloud console, ouvrez la page Gérer les ressources.

    Accéder à la page Gérer les ressources

    Dans la Google Cloud console, accédez à la page Gérer les ressources.

  2. Cliquez sur la flèche située à côté du nom de l'organisation pour développer l'arborescence et afficher ses dossiers enfants.

  3. Sur la ligne du dossier que vous souhaitez supprimer, cliquez sur le Actions menu à la fin de la ligne, puis sur Supprimer.

  4. Dans la boîte de dialogue de confirmation, saisissez l'ID ou le nom du dossier pour confirmer, puis cliquez sur Supprimer.

gcloud

Pour supprimer un dossier, exécutez la commande suivante :

gcloud resource-manager folders delete FOLDER_ID

Remplacez les éléments suivants :

  • FOLDER_ID : ID du dossier que vous souhaitez supprimer.

REST

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • FOLDER_ID : ID du Google Cloud dossier

Méthode HTTP et URL :

DELETE https://cloudresourcemanager.googleapis.com/v3/folders/FOLDER_ID

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Exécutez la commande suivante :

curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://cloudresourcemanager.googleapis.com/v3/folders/FOLDER_ID"

PowerShell

Exécutez la commande suivante :

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://cloudresourcemanager.googleapis.com/v3/folders/FOLDER_ID" | Select-Object -Expand Content

Vous devriez recevoir une réponse JSON de ce type :

{
  "name": "operations/fc.1234567890abcdef",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.resourcemanager.v3.FolderOperationMetadata",
    "operationType": "DELETE",
    "resourceName": "folders/FOLDER_ID"
  },
  "done": false
}

Informations supplémentaires

Lorsque vous supprimez un dossier, il passe à l'état de suppression logicielle pendant une période de conservation de 30 jours avant d'être définitivement supprimé (suppression matérielle).

État de suppression logicielle : pendant la période de conservation de 30 jours, le dossier est marqué pour suppression et n’est plus actif. Vous ne pouvez pas créer de projets ni de sous-dossiers dans un dossier supprimé de manière logicielle.

État de suppression matérielle : au bout de 30 jours, Google Cloud le dossier et ses métadonnées sont définitivement supprimés. Cette action est irréversible.

Annuler la suppression : si vous supprimez accidentellement un dossier, vous pouvez le restaurer dans les 30 jours à l'aide de la commande gcloud resource-manager folders undelete ou de l'API.

Prérequis et contraintes

  • Le dossier doit être vide : vous ne pouvez pas supprimer un dossier qui contient encore des projets ou des sous-dossiers actifs. Vous devez d'abord déplacer ou supprimer toutes les ressources enfants.
  • Autorisations requises : pour supprimer ou annuler la suppression d'un dossier, vous devez disposer du rôle Éditeur de dossier (roles/resourcemanager.folderEditor) ou du rôle Administrateur de dossier (roles/resourcemanager.folderAdmin).

Pour rechercher des dossiers correspondant à la requête spécifiée, utilisez gcloud alpha resource-manager folders search en transmettant la condition dans l'option --query. La recherche porte sur tous les dossiers pour lesquels l'utilisateur dispose de l'autorisation d'affichage.

gcloud alpha resource-manager folders search --query="name:vij*"
<table output showing the folders with names starting from vij eg. vijeta, vijay-folder>

gcloud alpha resource-manager folders search --query="state:DELETE_REQUESTED"
<table output showing folders for which delete has been requested>

Tous les dossiers pour lesquels l'utilisateur dispose de l'autorisation d'affichage peuvent être affichés à l'aide de la commande gcloud folders search.

gcloud folders search
<table output showing all viewable folders>

Étape suivante