Gerir configurações da CLI gcloud

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

As propriedades que são normalmente armazenadas em configurações incluem a zona do Compute Engine predefinida, o nível de detalhe, os relatórios de utilização, o ID do projeto e um utilizador ativo ou uma conta de serviço. As configurações permitem-lhe definir e ativar estas e outras definições em conjunto como um grupo.

As configurações são armazenadas no diretório de configuração do utilizador (normalmente, ~/.config/gcloud no MacOS e Linux, ou %APPDATA%\gcloud no Windows). Pode encontrar a localização do diretório de configuração executando o comando gcloud info --format='value(config.paths.global_config_dir)'. Pode alterar o diretório de configuração definindo a variável de ambiente CLOUDSDK_CONFIG. Tenha também em atenção que o diretório de configuração tem de ter a gravação ativada. No entanto, se estiver a usar o Cloud Shell, as suas preferências da CLI gcloud são armazenadas numa pasta tmp temporária, definida apenas para o separador do Cloud Shell atual, e não persistem entre sessões.

Se tiver várias configurações, pode optar por alternar entre elas ou executar comandos com uma configuração específica (com a ajuda da flag --configuration). Para mais informações sobre a mudança de configurações, consulte a secção abaixo sobre a ativação de configurações.

Para ler acerca das configurações a partir da linha de comandos (juntamente com uma lista completa das propriedades disponíveis e das secções em que se encontram), execute o comando gcloud topic configurations.

Configuração predefinida

A CLI gcloud começa com uma única configuração denominada default. Pode definir propriedades na sua configuração executando o comando gcloud init ou executando gcloud config set diretamente.

Por exemplo, para desativar os pedidos de scripting, execute o seguinte comando:

gcloud config set disable_prompts true

Várias configurações

A configuração única default é adequada para muitos exemplos de utilização. No entanto, também pode criar configurações adicionais e alternar entre elas conforme necessário através de gcloud config configurations activate. Não existe nada de especial na configuração inicial do default. Esta é criada por conveniência. Pode atribuir um nome a esta e a quaisquer configurações adicionais da forma que quiser.

As várias configurações são úteis se quiser:

  • Use vários projetos: pode criar uma configuração separada para cada projeto e alternar entre eles conforme necessário.
  • Use várias contas de autorização
  • Realizar tarefas geralmente independentes: por exemplo, pode usar uma configuração para trabalhar numa aplicação do App Engine num projeto e gerir instâncias do Compute Engine não relacionadas noutro projeto.

Criar uma configuração

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

gcloud config configurations create [NAME]

Tem de ativar a nova configuração após a criação para a usar.

Ativar uma configuração

Apenas uma das suas várias configurações pode estar ativa num determinado momento. A configuração ativa é a configuração cujas propriedades regem o comportamento da CLI gcloud.

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

gcloud config configurations activate [NAME]

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

Para alterar a configuração ativa para uma única invocação de comando, pode usar a flag --configuration em qualquer comando da CLI gcloud:

gcloud auth list --configuration=[CONFIGURATION_NAME]

Para alterar a configuração ativa de todos os comandos no seu terminal atual, pode definir a variável de ambiente CLOUDSDK_ACTIVE_CONFIG_NAME para o nome da configuração que quer usar.

Automatizar a alternância de configurações

Para ajudar a tornar a alteração das configurações integrada, pode tirar partido de ferramentas como o direnv e o ondir para alternar automaticamente entre configurações quando alterna os diretórios de trabalho. Uma forma de o fazer é definir as variáveis de ambiente necessárias (como CLOUDSDK_ACTIVE_CONFIG_NAME) no ficheiro .envrc no diretório raiz do seu projeto.

Configurações das fichas

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

gcloud config configurations list

A CLI gcloud apresenta as configurações e mostra qual configuração 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

Definir propriedades de configuração

Para definir e anular a definição das propriedades na 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 através de variáveis de ambiente denominadas CLOUDSDK_SECTION_NAME_PROPERTY_NAME. Por exemplo, pode definir as propriedades core/project e compute/zone da seguinte forma:

CLOUDSDK_CORE_PROJECT=[YOUR_PROJECT_NAME]

CLOUDSDK_COMPUTE_ZONE=[YOUR_ZONE_NAME]

Ver propriedades de configuração

Para ver as propriedades numa configuração, execute o seguinte: gcloud config configurations describe:

gcloud config configurations describe [NAME]

Em alternativa, para ver as propriedades na configuração ativa:

gcloud config list

A CLI 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

Eliminar uma configuração

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

gcloud config configurations delete [NAME]

Não pode eliminar a configuração ativa. Use gcloud config configurations activate se for necessário mudar para outra configuração antes de eliminar.

O que se segue?