En esta guía, se describe cómo administrar la configuración de los recursos. Puedes usar la Configuración de recursos para definir de forma centralizada la configuración de tus proyectos, carpetas y organizaciones de Google Cloud. Cada configuración de recursos te permite controlar un aspecto de un servicio compatible.
Antes de comenzar
Para obtener más información sobre qué es la configuración de recursos y cómo funciona, consulta la descripción general de la configuración de recursos.
Habilite la API
Se puede habilitar la API de Resource Settings para proyectos individuales.
Consola de Google Cloud
Para habilitar la API de Resource Settings, haz lo siguiente:
- Selecciona el proyecto que usarás para acceder a la API.
- Haz clic en el botón Habilitar las API y el servicio.
- Busca “Configuración de recursos”.
- En los resultados de la búsqueda, haz clic en “API de Resource Settings”.
- Si se muestra "API habilitada", significa que la API ya está habilitada. De lo contrario, haz clic en el botón Habilitar.
gcloud
Para habilitar la API de Resource Settings, usa el comando gcloud services enable
:
gcloud services enable resourcesettings.googleapis.com
Permisos necesarios
Los permisos que necesitas dependen de la acción que debes realizar.
Para obtener estos permisos, pídele a tu administrador que otorgue el rol sugerido en el nivel adecuado de la jerarquía de recursos.
Ver configuración de recursos
Para ver la configuración de recursos disponible para usar en un recurso, así como los valores de configuración locales efectivos de un recurso, necesitas la función Visualizador de configuración de recursos (roles/resourcesettings.viewer
) o bien otra función que incluya los siguientes permisos:
resourcesettings.settings.get
resourcesettings.settings.list
Administra la configuración de recursos
Para crear, actualizar y borrar valores de configuración de recursos en un recurso, necesitas la función Administrador de configuración de recursos (roles/resourcesettings.admin
) o alguna otra función que incluya los siguientes permisos:
resourcesettings.settings.get
resourcesettings.settings.list
resourcesettings.settings.update
Lista de parámetros de configuración disponibles
Puedes obtener una lista de todas las configuraciones de recursos disponibles para un recurso determinado. En esta lista, se muestran todas las configuraciones de recursos que se pueden aplicar al recurso. La configuración de recursos en estado de vista previa solo está disponible para aquellos a los que se les otorgó permiso explícito para usarla.
gcloud
A fin de obtener una lista de todas las opciones de configuración disponibles para usar en un recurso, usa el siguiente comando gcloud resource-settings list
:
gcloud resource-settings list --RESOURCE_ID
En el ejemplo anterior, RESOURCE_ID
es el ID de la carpeta, el proyecto o la organización para la que deseas encontrar la configuración de recursos disponibles.
Por ejemplo: --project=7890123456
.
API
Para obtener una lista de todas las opciones de configuración disponibles para usar en un recurso, usa uno de los siguientes métodos settings.list
. Usa el método que corresponda al tipo de recurso para el que deseas enumerar las opciones de configuración:
curl -X GET -H "Content-Type: application/json" -H \ "Authorization: Bearer $ACCESS_TOKEN" \ https://resourcesettings.googleapis.com/v1/RESOURCE_ID/settings
Reemplaza lo siguiente:
ACCESS_TOKEN
: Es el token de acceso de OAuth 2.0.RESOURCE_ID
: El ID de la carpeta, el proyecto o la organización para la que deseas encontrar la configuración de recursos disponibles. Por ejemplo:projects/7890123456
.
Respuesta de ejemplo
Una respuesta a una solicitud de lista en folders/4567890123
es similar a la siguiente:
{ "settings" : [ { "name": "folders/4567890123/settings/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" ], } } } }, { "name": "folders/4567890123/settings/text-defaultTextColor", "metadata": { "displayName": "Default Text Color", "description": "The default text color for this resource.", "read_only": false, "data_type" : "STRING", "default_value" : { "string_value" : "black" } } }, ... ] }
El campo name
es el nombre corto de la configuración del recurso, que debe usarse en las solicitudes a la API y gcloud CLI relacionadas con esa configuración.
Cómo cambiar el valor de un parámetro de configuración local
Puedes cambiar el valor del parámetro de configuración local de una configuración de recurso determinada. Si estableces un valor de configuración local, se anulará cualquier configuración heredada de valor efectivo. Si anulas la configuración del valor de configuración local, se heredará cualquier valor de configuración local que se aplique a un recurso principal, lo que lo convierte en el valor efectivo.
gcloud
Para cambiar el valor de configuración local de una configuración de recurso en un recurso, usa el siguiente comando gcloud resource-settings set-value
:
gcloud resource-settings set-value --value-file=FILE_PATH
Reemplaza FILE_PATH
por la ruta de acceso a un archivo YAML o JSON que contenga la configuración del recurso.
Ejemplo de archivo JSON:
{ "localValue" : { "stringSetValue": { "values": [ "8.8.8.8", "8.8.4.4", ] } }, "name": "RESOURCE_ID/settings/SETTING_NAME" }
Reemplaza lo siguiente:
RESOURCE_ID
: Es el ID de la carpeta, la organización o el proyecto para el que deseas actualizar la configuración de recursos locales. Por ejemplo:projects/7890123456
.SETTING_NAME
: Es el nombre corto de la configuración del recurso que deseas actualizar.
Para quitar un valor de configuración local en un recurso, usa el comando gcloud resource-settings unset-value
:
gcloud resource-settings unset-value SETTING_NAME \ --RESOURCE_ID
Reemplaza lo siguiente:
SETTING_NAME
: Es el nombre corto de la configuración del recurso para la que deseas desactivar el valor local.RESOURCE_ID
: El ID de la carpeta, el proyecto o la organización para la que deseas encontrar la configuración de recursos disponibles. Por ejemplo:projects/7890123456
.
API
Para cambiar el valor de configuración local de una configuración de recurso de un recurso, usa el método settings.patch
. Usa el método que corresponda al tipo de recurso para el que deseas actualizar la configuración:
curl -X PATCH -H "Content-Type: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN" -d \ '{ "localValue": { "stringSetValue": { "values": [ "8.8.8.8", "8.8.4.4" ] } } } ' https://resourcesettings.googleapis.com/v1/RESOURCE_ID/settings/net-preferredDnsServers
Reemplaza lo siguiente:
ACCESS_TOKEN
: Es el token de acceso de OAuth 2.0.RESOURCE_ID
: El ID de la carpeta, el proyecto o la organización para la que deseas encontrar la configuración de recursos disponibles. Por ejemplo:projects/7890123456
.
Si realizas esta solicitud sin incluir un valor local en el archivo JSON, anulas la configuración del valor local, y el recurso hereda la configuración de valor superior o usa el valor predeterminado administrado por Google.
Después de realizar una solicitud correcta, obtendrás una respuesta que incluye el valor local que se creó para esta configuración y un campo etag
que debes incluir en las solicitudes de actualización posteriores.
{ "name": "folders/4567890123/settings/net-preferredDnsServers", "localValue": { "stringSetValue": { "values": [ "8.8.8.8", "8.8.4.4" ] } } "etag": "O2VWGxZU01VnAfRU4Mu97w==", }
Cómo consultar la configuración de valor local o eficaz
Puedes ver el valor local o efectivo de una configuración de recursos en un recurso determinado.
gcloud
Para ver el valor local de la configuración de un recurso en un recurso determinado, usa el comando gcloud resource-settings describe
de la siguiente manera:
gcloud resource-settings describe SETTING_NAME \ --RESOURCE_ID
Reemplaza lo siguiente:
SETTING_NAME
: Es el nombre corto de la configuración de recursos para la que deseas encontrar el valor local o efectivo.RESOURCE_ID
: El ID de la carpeta, el proyecto o la organización para la que deseas encontrar la configuración de recursos disponible Por ejemplo:--project=7890123456
Si agregas la marca --effective
, obtendrás el valor efectivo a medida que se evalúa para este recurso.
API
Para ver el valor local o efectivo de una configuración de recursos en un recurso determinado, usa el método settings.get
. Usa el método que corresponda al tipo de recurso para el que deseas enumerar las opciones de configuración:
curl -X GET -H "Content-Type: application/json" -H \ "Authorization: Bearer $ACCESS_TOKEN" \ https://resourcesettings.googleapis.com/v1/RESOURCE_ID \ /settings/SETTING_NAME?view=VIEW_PARAMETER
Reemplaza lo siguiente:
ACCESS_TOKEN
: Es el token de acceso de OAuth 2.0.RESOURCE_ID
: El ID de la carpeta, el proyecto o la organización para la que deseas encontrar la configuración de recursos disponibles. Por ejemplo:projects/7890123456
.SETTING_NAME
: Es el nombre corto de la configuración del recurso para la que deseas que se muestren los valores.VIEW_PARAMETER
: EsSETTING_VIEW_LOCAL_VALUE
para mostrar el valor de configuración local, oSETTING_VIEW_EFFECTIVE_VALUE
para mostrar el valor efectivo en este recurso.
Respuesta de ejemplo
Una respuesta a una solicitud get en folders/4567890123
es similar a la siguiente:
{ "name": "folders/4567890123/settings/net-preferredDnsServers", "value": { "stringSetValue": { "values": [ "8.8.8.8", "8.8.4.4" ] } } "etag": "O2VWGxZU01VnAfRU4Mu97w==" }
Herencia
La configuración de recursos que se aplica a un recurso determinado se evalúa en función de la herencia. Puedes anular el valor heredado en un recurso si configuras un valor local, que también afecta los valores de configuración heredados por los elementos secundarios de ese recurso. Para obtener más información sobre la herencia de la configuración de recursos, consulta Valores de configuración efectivos.
Cómo recuperar valores efectivos
Puedes recuperar el valor efectivo de una configuración en un recurso determinado mediante la API o gcloud CLI. Para obtener instrucciones detalladas, consulta Visualiza la configuración de valor local o eficaz. Considera el siguiente ejemplo, con los valores establecidos para la configuración de recursos de Servidores DNS preferidos en una organización, una carpeta dentro de esa organización y una subcarpeta dentro de ella:
Los valores efectivos en cada uno de estos recursos se evalúan de la siguiente manera:
organizations/111
no tiene un valor local y no tiene un recurso superior del cual heredar. Por lo tanto, se usaría el valor predeterminado administrado por Google de8.8.8.8
.- Si usas el método
describe
para obtener el valor efectivo en un recurso y usa el valor predeterminado administrado por Google, esa información se incluye en la respuesta. Por ejemplo:
{ "name": "organizations/111/settings/net-preferredDnsServers", "effectiveValue": { "stringSetValue": { "values": [ "8.8.8.8" ] # Google-managed default } } }
- Si usas el método
folders/222
tiene una configuración de valor local de8.8.4.4
y, por lo tanto, no se hereda de su recurso superior.- Si usas el método
describe
para obtener el valor efectivo de un recurso y es un valor establecido de forma local, esa información se incluye en la respuesta. Por ejemplo:
{ "name": "folders/222/settings/net-preferredDnsServers", "effectiveValue": { "stringSetValue": { "values": [ "8.8.4.4" ] # set on folders/222 } } }
- Si usas el método
folders/333
no tiene un valor local, pero su recurso superior sí. Hereda el valor de configuración local defolders/222
y, por lo tanto, se evalúa como8.8.4.4
.- Si usas el método
describe
para obtener el valor efectivo en un recurso y este hereda ese valor de un recurso superior, esa información se incluye en la respuesta. Por ejemplo:
{ "name": "folders/333/settings/net-preferredDnsServers", "effectiveValue": { "stringSetValue": { "values": [ "8.8.4.4" ] # inherited from folders/222 } } }
- Si usas el método
Anular valor heredado
Si cambias el valor de configuración local de folders/333
por la configuración de servidores DNS preferidos, se modificará el valor efectivo. Por ejemplo, usa el método patch
para actualizar el valor de configuración local de folders/333
a 192.168.1.1
. Para obtener instrucciones detalladas, consulta Cómo cambiar un valor de configuración local.
Si usas el método describe
en el recurso folders/333
actualizado, verás que el valor efectivo ahora es 192.168.1.1
:
{ "name": "folders/333/settings/net-preferredDnsServers", "effectiveValue": { "stringSetValue": { "values": [ "192.168.1.1" ] # set on folders/333 } } }
Revierte al valor heredado
Para revertir este comportamiento de modo que un recurso herede el valor local de un elemento superior, usa el método patch
de la API sin un valor local establecido en la consulta o el comando unset-value
de gcloud CLI. Para obtener instrucciones detalladas, consulta Cómo cambiar un valor de configuración local.
Por ejemplo, si anulas la configuración del valor local en folders/333
, se volverá a heredar el valor efectivo de su recurso superior más cercano, folders/222
. Si usas el método describe
en el recurso folders/333
actualizado, verás que el valor efectivo ahora es 8.8.4.4
:
{ "name": "folders/333/settings/net-preferredDnsServers", "effectiveValue": { "stringSetValue": { "values": [ "8.8.4.4" ] # inherited from folders/222 } } }