您可以使用资源设置来为 Google Cloud 项目、文件夹和组织集中配置设置。这些设置由这些资源在资源层次结构中的后代继承。每个设置均由 Google 创建和管理。
Resource Settings
资源设置表示您可以配置的 Google Cloud 资源或服务的维度。例如,“Cloud Storage 存储分区创建位置”设置可以确定创建新存储分区资源的默认位置。
每个资源设置都具有以下关键属性:
名称:为设置配置值时使用的设置的全局唯一标识符。
元数据:关于资源设置的 Google 管理的信息。资源设置的元数据包括以下字段:
数据类型:可为此设置配置的值的类型。可能的数据类型包括布尔值、字符串、字符串集和枚举。
默认值:如果未在组织中设置其他值,则为设置的 Google 管理的默认值。
只读:此标志表示 Google 是否已将此设置设为只读。如果资源设置为只读,则无法修改此设置的值。设置仅会在迁移和弃用时设为只读。在更改此标志之前,Google 会发出警告。
局部值:与某个资源关联的设置的特定值。
有效值:在评估资源层次结构中的继承资源设置后的设置值。
您需要 Resource Settings Viewer 或 Resource Settings Administrator Identity and Access Management 角色才能查看给定组织、文件夹或项目上可以使用的设置列表。如需详细了解这些角色,请参阅所需权限。
资源设置的可用性因组织而异,具体取决于资源设置的版本状态。
资源设置示例
以下是一个资源设置的示例:
# 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" ], } } } }
命名
资源设置具有全局唯一的短名称,格式为 settings/SETTING_ID
。例如,控制虚拟机初始启动映像的资源设置的短名称可能为 settings/compute-vmStartupImage
。
设置的相对资源名称会将数字资源 ID 添加到设置的短名称中。例如,organizations/12345678901
的上述 settings/compute-vmStartupImage
设置的相对资源名称为 organizations/12345678901/settings/compute-vmStartupImage
。
Google Cloud 将具有相同短名称的设置视为相同设置,即使它们的相对资源名称不同也是如此。相对资源名称中包含的资源仅表示该设置对指定资源可用。
局部设置值
直接应用于特定资源设置的设置值称为局部设置值。您可以使用 Resource Settings API 直接修改资源设置的局部值。
以下是包含局部设置值的资源设置示例:
# Setting { "name" : "folders/123/settings/net-preferredDnsServers" "localValue": { "stringSetValue": { "values": ["8.8.8.8", "8.8.4.4"] } } }
有效设置值
一个资源的局部设置值由该资源在资源层次结构中的所有后代继承。如果其中一个后代具有局部设置值,则该值将替换继承的设置值。如果您尚未对资源或其任何后代设置局部设置值,则使用该设置的 Google 定义的默认值。
系统会评估资源设置,得出有效设置值。此值显示给定资源上所有继承和局部值设置的最终结果。确定有效设置值的评估规则如下:
如果资源具有给定资源设置的值,则该值是有效值,替换任何继承的值。
如果资源没有此资源设置的值,并且该资源的任何祖先具有该设置的值,则与最近的祖先关联的值为有效值。
如果此资源及其祖先都没有此资源设置的值,并且该设置具有 Google 管理的默认值,此为有效值。
如果资源及其祖先都没有此资源设置的值,并且该值没有 Google 管理的默认值,则此资源上的此设置没有有效值。
没有有效值的资源设置
如果某个资源设置没有 Google 管理的默认值,则可以有该设置没有有效值的资源。如果能够以向后兼容的方式实现,则新资源设置没有 Google 管理的默认值。因此,新设置不会中断现有服务。
空值和未设置的值
如果资源设置值为空,则视为空值。例如,"" 是一个空字符串。根据有效设置值的评估,空值仍被视为值,并会替换继承的值。
如果未设置局部值,则资源设置将保持未设置状态;此资源将继承资源设置值。
后续步骤
- 如需了解详情,请参阅管理资源设置。