Visão geral das configurações de recursos

É possível usar as configurações de recursos para centralizar as configurações dos projetos, pastas e organização do Google Cloud. Essas configurações são herdadas pelos descendentes na hierarquia de recursos. Cada configuração é criada e gerenciada pelo Google.

Configurações de recursos

As configurações de recurso representam uma dimensão de um recurso ou serviço do Google Cloud que você pode configurar. Por exemplo, uma configuração de localização de criação do bucket do Cloud Storage pode determinar o local padrão em que os novos recursos de bucket são criados.

Cada configuração de recurso tem as seguintes propriedades principais:

  • Nome: um identificador globalmente exclusivo para a configuração usado ao configurar valores para uma configuração.

  • Metadados: as informações gerenciadas pelo Google sobre a configuração do recurso. Os metadados de uma configuração de recursos incluem os seguintes campos:

    • Tipo de dados: o tipo de valores que podem ser configurados para essa configuração. Os tipos de dados de dados possíveis incluem booleanos, strings, conjuntos de strings e enumerações.

    • Valor padrão: o valor padrão da configuração gerenciado pelo Google se nenhum outro valor estiver definido na organização.

    • Somente leitura: uma sinalização que indica se o Google fez essa configuração somente leitura. Se uma configuração de recurso for somente leitura, os valores dela não poderão ser modificados. Uma configuração é feita apenas para leitura para migrações e suspensões. O Google envia um aviso antes de fazer a alteração nessa sinalização.

  • Valor local: o valor específico de uma configuração associada a um recurso.

  • Valor efetivo: o valor de uma configuração após avaliar as configurações de recursos herdados da hierarquia de recursos.

É necessário ter o papel de Visualizador de configurações de recursos ou administrador de configurações de recursos para ver a lista de configurações disponíveis para uso em uma determinada organização e pasta ou projeto. Para mais detalhes sobre esses papéis, consulte Permissões necessárias.

A disponibilidade da configuração de recursos pode variar entre as organizações, dependendo do status da versão.

Exemplo de configuração de recurso

Veja a seguir um exemplo de como uma configuração de recurso aparece:

# Setting
{
  "name": "net-preferredDnsServers",
  "metadata": {
    "displayName": "Preferred DNS Servers",
    "description": "The DNS servers to be used by VMs associated with this resource.",
    "read_only": false,
    "data_type" : "STRING_SET",
    "default_value" : {
      "string_set_value" : {
        "values" : [ "8.8.8.8" ],
      }
    }
  }
}

Nomenclatura

Uma configuração de recurso tem um nome curto globalmente exclusivo no formato settings/SETTING_ID. Por exemplo, o nome curto de uma configuração de recurso para controlar a imagem de inicialização inicial para uma máquina virtual pode ser settings/compute-vmStartupImage.

O nome do recurso relativo de uma configuração adiciona o código numérico do recurso ao nome curto da configuração. Por exemplo, o nome do recurso relativo da configuração settings/compute-vmStartupImage acima para organizations/12345678901 é organizations/12345678901/settings/compute-vmStartupImage.

As configurações que têm o mesmo nome curto são consideradas idênticas pelo Google Cloud, mesmo que tenham nomes de recursos relativos diferentes. O recurso incluído em um nome de recurso relativo só indica a disponibilidade dessa configuração para o recurso nomeado.

Valores de configuração local

O valor de configuração aplicado diretamente a uma determinada configuração de recurso é chamado de valor da configuração local. É possível modificar diretamente o valor local de uma configuração de recurso usando a API Resource Settings.

Veja a seguir um exemplo de configuração de recurso que inclui um valor de configuração local:

# Setting
{
  "name" : "folders/123/settings/net-preferredDnsServers"
  "localValue": {
    "stringSetValue": {
      "values": ["8.8.8.8", "8.8.4.4"]
    }
  }
}

Valores de configuração efetivos

O valor de configuração local de um recurso é herdado por todos os descendentes desse recurso na hierarquia de recursos. Se um desses descendentes tiver um valor de configuração local, ele substituirá o valor de configuração herdada. Se você não definir um valor de configuração local em um recurso ou em qualquer um dos descendentes, o padrão definido pelo Google para essa configuração será usado.

As configurações do recurso são avaliadas, e o resultado é o valor de configuração efetivo. Esse valor mostra o resultado final de todas as configurações de herança e valor local em um determinado recurso. As regras para determinar o valor de configuração efetivo são avaliadas da seguinte forma:

  1. Se um recurso tiver um valor para uma determinada configuração de recurso, esse será o valor efetivo, substituindo qualquer valor herdado.

  2. Se o recurso não tiver um valor para essa configuração de recurso, se algum dos ancestrais do recurso tiver um valor para essa configuração, o valor associado ao ancestral mais próximo será o valor efetivo.

  3. Se nem o recurso nem os ancestrais tiverem um valor para essa configuração de recurso e a configuração tiver um padrão gerenciado pelo Google, esse será o valor efetivo.

  4. Se nem o recurso nem os ancestrais tiverem um valor para essa configuração de recurso e o valor não tiver um padrão gerenciado pelo Google, não haverá valor efetivo para essa configuração nesse recurso.

Configurações de recursos sem valor efetivo

Se uma configuração de recurso não tiver um padrão gerenciado pelo Google, é possível ter um recurso que não tenha um valor efetivo para essa configuração. As novas configurações de recursos não têm padrões gerenciados pelo Google se possível, e se forem compatíveis com versões anteriores. Portanto, novas configurações não interrompem os serviços atuais.

Valores vazios e valores não definidos

Um valor de configuração de recurso será considerado vazio se tiver um valor de configuração de recurso vazio. Por exemplo, "" é uma string vazia. Valores vazios ainda são considerados valores de acordo com a avaliação de valores de configuração efetivos e pela herança de modificação.

Se nenhum valor local for definido, a configuração do recurso permanecerá indefinida. esse recurso herda o valor de configuração do recurso.

A seguir