Como gerenciar configurações da CLI gcloud

Uma configuração é um conjunto nomeado de propriedades da CLI do Google Cloud. Essas propriedades são pares de chave-valor, organizados em seções, que regem o comportamento da CLI gcloud.

As propriedades comumente armazenadas nas configurações incluem a zona padrão do Compute Engine, o nível de detalhamento, o relatório de uso, o ID do projeto e um usuário ativo ou conta de serviço. As configurações permitem que você defina e ative essas e outras configurações como um grupo.

As configurações são armazenadas no diretório de configuração do usuário (normalmente ~/.config/gcloud no MacOS e no Linux ou %APPDATA%\gcloud no Windows). Encontre o local do diretório de configuração executando gcloud info --format='value(config.paths.global_config_dir)'. O diretório de configuração pode ser alterado definindo a variável de ambiente CLOUDSDK_CONFIG. Além disso, o diretório de configuração precisa ser ativado para gravação. No entanto, se você estiver usando o Cloud Shell, suas preferências da CLI gcloud são armazenadas em uma pasta tmp temporária, definida para sua guia atual do Cloud Shell e não são mantidas entre as sessões.

Se você tiver várias configurações, é possível optar por alternar entre elas ou executar comandos usando uma configuração específica, com a ajuda da sinalização --configuration. Para mais informações sobre como mudar de configuração, consulte a seção abaixo sobre Como ativar configurações.

Para ler sobre as configurações a partir da linha de comando (com uma lista completa de propriedades disponíveis e as seções em que elas estão), execute gcloud topic configurations.

Configuração padrão

A CLI gcloud começa com uma única configuração chamada default. É possível definir propriedades em sua configuração executando o comando gcloud init ou executando diretamente gcloud config set.

Por exemplo, para desativar a solicitação de scripts, execute:

gcloud config set disable_prompts true

Várias configurações

A única configuração default é adequada para muitos casos de uso. No entanto, também é possível criar outras configurações e alternar entre elas conforme necessário usando gcloud config configurations activate. Não há nada de especial em relação à configuração inicial default. Ela é criada apenas como uma conveniência. Você pode nomear essa e qualquer configuração adicional como quiser.

Dependendo da sua intenção de uso, várias configurações são úteis:

  • Usar vários projetos: é possível criar uma configuração separada para cada projeto e alternar entre eles conforme necessário.
  • usar várias contas de autorização;
  • Executar tarefas geralmente independentes: por exemplo, é possível usar uma configuração para trabalhar em um aplicativo do App Engine em um projeto e gerenciar instâncias não relacionadas do Compute Engine em outro.

Criar uma configuração

Para criar uma configuração, execute gcloud config configurations create:

gcloud config configurations create [NAME]

Você precisa ativar a nova configuração depois da criação para usá-la.

Como ativar uma configuração

Apenas uma das diversas configurações pode estar ativa em um determinado momento. As propriedades da configuração ativa controlam o comportamento da CLI da gcloud.

Para ativar uma nova configuração ou alternar para uma nova configuração ativa, execute: gcloud config configurations activate:

gcloud config configurations activate [NAME]

gcloud config list sempre exibirá as propriedades na sua configuração ativa.

Para alterar a configuração ativa de uma única invocação de comando, use a sinalização --configuration em qualquer comando da CLI da gcloud:

gcloud auth list --configuration=[CONFIGURATION_NAME]

Para alterar a configuração ativa para todos os comandos do terminal atual, defina a variável de ambiente CLOUDSDK_ACTIVE_CONFIG_NAME com o nome da configuração que quiser usar.

Como automatizar a alternância de configurações

Para que as alterações de configuração ocorram sem interrupções, use ferramentas como direnv e ondir (links em inglês) para intercalar as configurações automaticamente ao alternar os diretórios de trabalho. Uma maneira de fazer isso é definir as variáveis de ambiente necessárias (como CLOUDSDK_ACTIVE_CONFIG_NAME) no arquivo .envrc no diretório raiz do projeto.

Listar configurações

Para listar as configurações na instalação da CLI gcloud, execute gcloud config configurations list:

gcloud config configurations list

A CLI da gcloud lista as configurações e mostra qual está ativa:

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

Como definir propriedades de configuração

Para definir e remover as propriedades da configuração ativa, execute gcloud config set e gcloud config unset:

gcloud config set project [PROJECT]

gcloud config unset project

As propriedades também podem ser definidas por meio de variáveis de ambiente chamadas CLOUDSDK_SECTION_NAME_PROPERTY_NAME. Por exemplo, é possível definir as propriedades core/project e compute/zone da seguinte maneira:

CLOUDSDK_CORE_PROJECT=[YOUR_PROJECT_NAME]

CLOUDSDK_COMPUTE_ZONE=[YOUR_ZONE_NAME]

Como visualizar propriedades de configuração

Para visualizar as propriedades em uma configuração, execute: gcloud config configurations describe:

gcloud config configurations describe [NAME]

Ou para ver as propriedades na configuração ativa:

gcloud config list

A CLI da gcloud imprime as propriedades de configuração:

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

Excluir uma configuração

Para excluir uma configuração, execute: gcloud config configurations delete:

gcloud config configurations delete [NAME]

Não é possível excluir a configuração ativa. Use gcloud config configurations activate, se necessário, para alternar para outra configuração antes da exclusão.

A seguir