Cloud Assembly 输入属性组通常包含供用户输入或选择的相关设置。它们还可能包含云模板设计所需的只读值。
创建输入属性组
- 转到新建属性组。 ,然后单击
- 选择输入值。
- 命名并描述新属性组。
名称 属性组名称在给定组织内必须唯一。只允许使用字母、数字和下划线。 显示名称 为整个属性组添加一个标题,该标题将显示在请求表单上。 说明 说明这组属性的用途。 Scope 决定管理员是否可以与整个组织共享属性组。否则,只有一个项目可以访问属性组。
虽然始终可以在组中添加或修改属性,但范围是永久性的,以后不能更改。
项目 如果范围仅为项目,则此项目可以访问属性组。 - 要将属性添加到组,请单击新建属性。
用于添加新属性的面板与 Cloud Assembly 设计页面代码编辑器的“输入”选项卡非常相似。
名称 单个属性的自由格式名称。只允许使用字母、数字和下划线。 显示名称 添加要在请求表单上显示的单个属性名称。 类型 字符串、整数、数字、布尔 (T/F)、对象或数组。 默认值 在请求表单中显示的预设值条目。
对于除布尔以外的所有类型,默认情况下用户输入均为可选项。要确保所有输入都包含条目,请执行以下操作之一:- 设置默认值。
-
需要用户输入,即在已完成的代码中添加以下云模板属性。
populateRequiredOnNonDefaultProperties: true
已加密 如果选中,则在将值输入到请求表单时以及在后续部署中会将值进行模糊处理。加密属性不能具有默认值。 只读 在请求表单中不可编辑但可见的值。需要具有默认值。 更多选项 根据属性类型而异的选项。展开下拉列表,添加任何其他设置,然后单击创建。 在以下示例中,要添加的属性表示操作系统映像,请求用户可以从两个中进行选择。
注: 示例图中显示的操作系统必须已经是配置的 Cloud Assembly 基础架构的一部分。 - 在组中添加更多属性,然后在完成后单击保存。
将属性组添加到云模板输入
即便属性输入有一长串,也只需添加属性组即可使其都成为请求表单的一部分。
- 在云模板设计页面中,单击右侧编辑区域上方的输入选项卡。
- 单击新建云模板输入。
- 命名和描述属性组。
名称 输入类似于您之前创建的属性组名称的内容。 显示名称 输入前面为整组属性创建的相同标题,该标题将显示在请求表单上。 类型 选择对象。 对象类型 选择属性组。 属性组列表 选择所需的属性组。仅显示为项目创建并可用的属性组。请注意,不显示常量属性组。 - 单击创建。
该过程创建的云模板输入代码与以下示例类似。
inputs: pgmachine: type: object title: Machine Properties $ref: /ref/property-groups/machine pgrequester: type: object title: Requester Details $ref: /ref/property-groups/requesterDetails
此外,也可以直接在 Cloud Assembly 设计页面中输入代码,并在代码编辑器中键入 $ref: /ref/p...
时利用自动提示。
将云模板资源绑定到属性组
要使用属性组输入值,请在资源下添加绑定。
根据属性组中值的类型,可能需要分别引用这些值。可以按属性组名称和属性名称分别输入。
resources: Cloud_Machine_1: type: Cloud.Machine properties: image: '${input.pgmachine.image}' flavor: '${input.pgmachine.flavor}'
此外,还可以通过引用整个属性组,将整组值快速添加到资源。
resources: Cloud_Machine_1: type: Cloud.Machine properties: requester: '${input.pgrequester}'
完成的代码
完成输入和资源后,完成的代码类似于以下示例。
根据部署请求,将显示您的属性组以供请求用户完成。
Service Broker 自定义表单编辑器中的属性组
输入属性组将显示在 Service Broker 自定义表单界面中,并可在该界面中进行自定义。自定义属性组时,没有针对这些属性值的特别注意事项。Service Broker 用户甚至不需要知道条目源是属性组,而不是单独创建的属性。
有关详细信息,请参见自定义 Service Broker 图标和请求表单。