Visão geral das configurações de recurso

É possível usar as configurações de recursos para definir centralmente as configurações dos projetos, pastas e organizações 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 recursos representam uma dimensão de um recurso ou serviço do Google Cloud que você pode configurar. Por exemplo, uma configuração de local de criação de 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 da configuração usado ao configurar valores para uma configuração.

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

    • Tipo de dados: o tipo de valores que podem ser configurados nessa configuração. Os possíveis tipos de dados incluem booleanos, strings, conjuntos de strings e enums.

    • Valor padrão: o valor padrão gerenciado pelo Google da configuração, se nenhum outro valor for 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 só é feita para leitura somente em migrações e suspensões. O Google fornece um aviso antes de fazer uma mudança 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 herdadas da hierarquia de recursos.

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

A disponibilidade da configuração de recursos pode ser diferente entre organizações, dependendo do status de lançamento da configuração.

Exemplo de configuração de recursos

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

# 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 recursos para controlar a imagem de inicialização inicial de uma máquina virtual pode ser settings/compute-vmStartupImage.

O nome do recurso relativo de uma configuração adiciona o ID de recurso numérico ao nome curto da configuração. Por exemplo, o nome do recurso relativo para a 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 relativo de recurso indica apenas a disponibilidade dessa configuração para o recurso nomeado.

Valores de configuração locais

O valor de configuração aplicado diretamente a uma configuração de recurso específica é chamado de valor da configuração local. Você pode modificar diretamente o valor local de uma configuração de recursos usando a API Resource Settings.

Veja a seguir um exemplo de configuração de recursos 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 da configuração local de um recurso é herdado por todos os descendentes dele na hierarquia de recursos. Se um desses descendentes tiver um valor de configuração local, ele substituirá o valor de configuração herdado. Se você não tiver definido um valor de configuração local em um recurso ou em qualquer um dos descendentes dele, o padrão definido pelo Google para essa configuração será usado.

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

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

  2. Se o recurso não tiver um valor para essa configuração de recursos, 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 esse recurso nem os ancestrais tiverem um valor para essa configuração de recursos, 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, 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 terão padrões gerenciados pelo Google se for possível fazer isso de maneira compatível com versões anteriores. Portanto, as novas configurações não interrompem os serviços atuais.

Valores vazios e valores não definidos

Um valor de configuração de recursos 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 dos valores de configuração efetivas e modificação da herança.

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

A seguir