Gérer les configurations du SDK

Qu'est-ce qu'une configuration ?

Une configuration est un ensemble nommé de propriétés du SDK. Ces propriétés sont des paires clé-valeur, organisées en sections, qui régissent le comportement de l'outil de ligne de commande gcloud et des autres outils du SDK.

Les propriétés généralement stockées dans les configurations incluent la zone Google Compute Engine par défaut, le niveau de verbosité, les rapports d'utilisation, l'ID de projet et un compte utilisateur ou de service actif. Les configurations permettent de définir et d'activer ces paramètres et d'autres en tant que groupe.

Si vous disposez de plusieurs configurations, vous pouvez choisir de basculer de l'une à l'autre, ou d'exécuter des commandes avec une configuration spécifique (à l'aide de l'option --configuration). Pour plus d'informations sur le changement de configuration, reportez-vous à la section ci-dessous concernant l'activation des configurations.

Pour en savoir plus sur les configurations depuis la ligne de commande (et obtenir une liste complète des propriétés disponibles ainsi que des sections où elles se trouvent), exécutez la commande gcloud topic configurations.

Configuration par défaut

Le SDK vous permet de démarrer avec une configuration unique nommée default. Vous pouvez définir des propriétés dans votre configuration en exécutant la commande gcloud init ou en exécutant directement gcloud config set.

Par exemple, pour désactiver les invites de script, exécutez cette commande :

gcloud config set disable_prompts true

Configurations multiples

La configuration unique default convient à de nombreux cas d'utilisation. Vous pouvez toutefois créer des configurations supplémentaires et basculer entre elles selon vos besoins à l'aide de la commande gcloud config configurations activate. La configuration initiale default n'a aucune spécificité. Elle est créée à des fins de commodité. Vous pouvez nommer cette configuration et toute configuration supplémentaire comme vous le souhaitez.

Les configurations multiples sont utiles dans les contextes suivants :

  • Utiliser plusieurs projets : vous pouvez créer une configuration distincte pour chaque projet et basculer entre les configurations selon les besoins
  • Utiliser plusieurs comptes d'autorisation
  • Effectuer des tâches généralement indépendantes : vous pouvez, par exemple, utiliser une configuration pour travailler sur une application Google App Engine dans un projet et gérer des instances Compute Engine non liées dans un autre projet

Créer une configuration

Pour créer une configuration, exécutez la commande gcloud config configurations create :

gcloud config configurations create [NAME]

Vous devez activer la nouvelle configuration après sa création pour pouvoir l'utiliser.

Activer une configuration

Une seule de vos multiples configurations peut être active à un moment donné. La configuration active est celle dont les propriétés vont régir le comportement des outils du SDK.

Pour activer une nouvelle configuration ou basculer vers une nouvelle configuration active, exécutez gcloud config configurations activate :

gcloud config configurations activate [NAME]

gcloud config list vous indique toujours les propriétés de la configuration active.

Pour changer de configuration active pour un appel de commande individuel, vous pouvez utiliser l'option --configuration avec n'importe quelle commande de CLI gcloud :

gcloud auth list --configuration=[CONFIGURATION_NAME]

Pour modifier la configuration active de toutes les commandes de votre terminal actuel, vous pouvez définir la variable d'environnement CLOUDSDK_ACTIVE_CONFIG_NAME sur le nom de la configuration à utiliser.

Automatiser le changement de configuration

Pour faciliter la modification des configurations, vous pouvez vous appuyer sur des outils tels que direnv et ondir pour basculer automatiquement entre les configurations lorsque vous changez de répertoire de travail. Pour ce faire, vous pouvez définir les variables d’environnement nécessaires (telles que CLOUDSDK_ACTIVE_CONFIG_NAME) dans le fichier .envrc situé dans le répertoire racine de votre projet.

Répertorier les configurations

Pour répertorier les configurations de votre installation du SDK Cloud, exécutez gcloud config configurations list :

gcloud config configurations list

La CLI gcloud répertorie les configurations et indique celle qui est actuellement active :

NAME         IS_ACTIVE     ACCOUNT            PROJECT               DEFAULT_ZONE  DEFAULT_REGION
default      False         user@gmail.com     example-project-1     us-east1-b    us-east1
project-1    False         user@gmail.com     example-project-2     us-east1-c    us-east1
project-2    True          user@gmail.com     example-project-3     us-east1-b    us-east1

Définir les propriétés de configuration

Pour définir les propriétés de la configuration active ou annuler leur définition, exécutez gcloud config set ou gcloud config unset :

gcloud config set project [PROJECT]
gcloud config unset project

Les propriétés peuvent également être définies via des variables d'environnement appelées CLOUDSDK_SECTION_NAME_PROPERTY_NAME. Par exemple, vous pouvez définir les propriétés core/project et compute/zone comme suit :

CLOUDSDK_CORE_PROJECT=[YOUR_PROJECT_NAME]
CLOUDSDK_COMPUTE_ZONE=[YOUR_ZONE_NAME]

Afficher les propriétés de configuration

Pour afficher les propriétés d'une configuration, exécutez gcloud config configurations describe :

gcloud config configurations describe [NAME]

Sinon, pour afficher les propriétés de la configuration active :

gcloud config list

La CLI gcloud affiche les propriétés de configuration :

is_active: false
name: default
properties:
  compute:
    region: us-east1
    zone: us-east1-b
  core:
    account: user@google.com
    project: example-project

Supprimer une configuration

Pour supprimer une configuration, exécutez la commande gcloud config configurations delete :

gcloud config configurations delete [NAME]

Vous ne pouvez pas supprimer la configuration active. Utilisez gcloud config configurations activate si nécessaire pour passer à une autre configuration avant la suppression.

Étape suivante