Afficher et modifier des projets

Cette page explique comment récupérer les métadonnées d'un projet et modifier les paramètres existants. Vous pouvez également rechercher des projets spécifiques dans votre hiérarchie de ressources en fonction de leur état ou de leur nom à afficher.

Trouver le nom, le numéro et l'ID du projet

Pour interagir avec les ressources Google Cloud , vous devez fournir les informations d'identification du projet pour chaque requête. Un projet est identifié par son ID et son numéro.

Console

  1. Accédez à la page d'accueil de la console Google Cloud .

    Accéder à la page d'accueil

  2. Dans le sélecteur de projets situé en haut de la page, sélectionnez votre projet.

    Le nom ainsi que le numéro et l'ID du projet apparaissent après l'en-tête Bienvenue.

gcloud

Pour trouver le numéro, l'ID ou le nom du projet, utilisez la commande gcloud projects describe :

gcloud projects describe PROJECT_ID

Pour récupérer uniquement le numéro de projet en tant que valeur, utilisez l'indicateur --format :

gcloud projects describe PROJECT_ID --format="value(projectNumber)"

Obtenir un projet existant

Pour obtenir les métadonnées détaillées d'un projet Google Cloud spécifique, telles que l'état du cycle de vie, l'heure de création et la ressource parente du projet, utilisez la Google Cloud CLI ou l'API.

Vous devez être propriétaire du projet ou disposer des autorisations du rôle Navigateur (roles/browser) pour accéder aux détails du projet.

gcloud

Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

  • PROJECT_ID : ID du projet Google Cloud

Exécutez la commande suivante :

Linux, macOS ou Cloud Shell

gcloud projects describe PROJECT_ID

Windows (PowerShell)

gcloud projects describe PROJECT_ID

Windows (cmd.exe)

gcloud projects describe PROJECT_ID

REST

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

  • PROJECT_ID : ID du projet Google Cloud

Méthode HTTP et URL :

GET https://cloudresourcemanager.googleapis.com/v3/projects/PROJECT_ID

Corps JSON de la requête :

{}

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 GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://cloudresourcemanager.googleapis.com/v3/projects/PROJECT_ID"

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 GET `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://cloudresourcemanager.googleapis.com/v3/projects/PROJECT_ID" | Select-Object -Expand Content

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

{
    "projectNumber": "464036093014",
    "projectId": "our-project-123",
    "lifecycleState": "ACTIVE",
    "name": "my project",
    "labels": {
        "mylabel": "prod"
    },
    "createTime": "2016-01-07T21:59:43.314Z"
}

Répertorier tous les projets d'une ressource

Pour répertorier tous les projets qui sont des enfants directs d'une ressource, utilisez la méthode projects.list v3 et spécifiez la ressource parente dans la requête :

REST

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

  • FOLDER_ID : ID du dossier Google Cloud

Méthode HTTP et URL :

GET https://cloudresourcemanager.googleapis.com/v3/projects

Corps JSON de la requête :

{
    "parent": "folders/662951040570"
}

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 GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://cloudresourcemanager.googleapis.com/v3/projects"

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 GET `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://cloudresourcemanager.googleapis.com/v3/projects" | Select-Object -Expand Content

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

{
    "projectNumber": "464036093014",
    "projectId": "our-project-123",
    "lifecycleState": "ACTIVE",
    "name": "my project",
    "labels": {
        "mylabel": "prod"
    },
    "createTime": "2016-01-07T21:59:43.314Z"
}

Rechercher des projets

Pour trouver des projets qui correspondent à des critères spécifiques, tels qu'un préfixe de nom à afficher ou un état de cycle de vie spécifique, utilisez la méthode projects.search ou la commande gcloud alpha resource-manager projects search.

Le champ d'application de la recherche inclut tous les projets pour lesquels vous disposez de l'autorisation resourcemanager.projects.get.

Syntaxe des requêtes

Vous pouvez filtrer votre recherche à l'aide de l'option --query (gcloud) ou du paramètre query (API). Voici quelques filtres de recherche courants :

  • displayName : nom convivial du projet.
  • state : état du cycle de vie du projet, par exemple ACTIVE ou DELETE_REQUESTED
  • parent.type et parent.id : filtrent les résultats par organisation ou dossier spécifique.

Autorisations

Si vous spécifiez un parent dans la requête (par exemple, parent:folders/123), vous devez disposer des autorisations resourcemanager.projects.list sur ce parent. Si vous disposez de cette autorisation, tous les projets situés sous le parent seront affichés une fois les filtres restants appliqués.

Si vous ne disposez pas de cette autorisation, tous les projets pour lesquels vous disposez de l'autorisation resourcemanager.projects.get seront renvoyés une fois les filtres restants appliqués.

Si vous ne spécifiez pas de parent, les résultats incluent tous les projets pour lesquels vous disposez des autorisations resourcemanager.projects.get.