自定义 Automation Service Broker 请求表单时,您可以根据 VMware Aria Automation Orchestrator 操作的结果确定某些字段的行为。

可以通过多种方法使用 VMware Aria Automation Orchestrator 操作。您可以从第三个源提取数据,也可以使用定义大小和成本的脚本。

第一个示例基于手动添加的字段,以便您了解基础流程。第二个示例使用的前提假设不变,但依赖于模板字段。

第三个示例基于添加到目录请求表单中的自定义选项,即用户根据自定义 VMware Aria Automation Orchestrator 操作的结果选择文件夹。

第四个示例使用 VMware Aria Automation Orchestrator 工作流属性自定义请求表单中的字段。

除了以下示例之外,还可以在 VMware Cloud Management 博客中查看其他示例。

大小和成本作为手动添加字段的示例

在此用例中,您希望目录用户选择虚拟机大小,然后显示该计算机的每日成本。在此示例中,您通过 VMware Aria Automation Orchestrator 脚本将大小和成本关联起来。然后,将大小字段和成本字段添加到模板自定义表单。大小字段决定了将在成本字段中显示的值。

  1. VMware Aria Automation Orchestrator 中,配置名为 getWindows10Cost 的操作。
    包含大小和成本的 vRealize Orchestrator 操作示例
  2. 添加脚本。

    可以使用以下示例脚本。

    var cost = "Unknown";
    
    switch(deploymentSize) {
    	case 'small' : cost = "$15";break;
    	case 'medium' : cost = "$25";break;
    	case 'large' : cost = "$45";break ;
    	
    	default : break ;
    }
    
    return cost;
  3. deploymentSize 作为输入字符串添加。
  4. Automation Service Broker 中,将大小字段添加到模板自定义表单并进行配置。

    将大小字段配置为下拉元素,提供值 Small、Medium 和 Large。

    自定义表单中填充的大小字段值。

    选项卡上,配置以下属性值。

    • 默认值 = Large
    • 值选项
      • 值源 = 常数
      • 值定义 = small|Small,medium|Medium,large|Large
  5. 将成本字段作为文本字段添加,使其根据大小字段中选择的值按照 VMware Aria Automation Orchestrator 操作中的定义来显示成本。
    自定义表单中填充的成本字段值。

    选项卡上,配置以下属性值。

    • 默认值 = 外部源
    • 选择操作 = <您的 VMware Aria Automation Orchestrator 操作文件夹>/getWindows10Cost
    • 操作输入
      • deploymentSize。此值在操作中配置为输入。
      • 字段
      • 大小。这是之前创建的字段。
  6. 启用自定义表单并保存。
  7. 要验证该项目是否起作用,请在目录中请求该项目。您应该会看到根据所选的大小值填充的“成本”字段。
    目录中已填充值的示例

成本基于结构定义元素的示例

在此用例中,您希望目录用户了解基于模板中特定实例属性的该计算机的每日成本。要实现此示例,需要使用上一示例中的 VMware Aria Automation Orchestrator 脚本。但在此用例中,成本基于用户在请求 Automation Service Broker 目录项时在自定义表单中选择的特定实例大小。

此简单的示例模板包含一个大小输入字段,用户可在其中选择特定实例属性。
模板中特定实例映射的输入示例
在此示例中,自定义表单使用名为 Select machine size 的字段。
自定义表单设计器中的值选项
成本 deploymentSize 输入基于“Select machine size”字段。
在目录请求中成本基于结构定义大小字段

基于自定义操作示例的目标文件夹

在此用例中,您希望目录用户在将计算机从一个文件夹移至另一个文件夹时,从可供他们使用的文件夹中进行选择。要实现此示例,需要在 VMware Aria Automation Orchestrator 中创建一个自定义操作,以返回可供从目录请求操作的用户使用的文件夹。然后,在目录请求表单中自定义目标文件夹字段。

在目录中,此示例使用的将虚拟机移至文件夹工作流将显示为在 Automation Assembler 中创建的自定义资源操作。

  1. VMware Aria Automation Orchestrator 中,创建名为 getFolderForUser 的操作。
    1. 脚本选项卡上,添加操作输入,选择输出的返回类型,并添加脚本。

      可以使用以下示例脚本。

      var parentTargetDirName = "users";
      var sdkConnection = VcPlugin.findSdkConnectionForUUID(vcUuid);
      var rootFolder = sdkConnection.getAllVmFolders(null, "xpath:matches(name,'" + parentTargetDirName + "')")[0];
      var result = new Array();
      for each(var folder in rootFolder.childEntity) {
          if (folder instanceof VcFolder && folder.permission.length > 0) {
              var entityPrivilege = sdkConnection.authorizationManager.hasUserPrivilegeOnEntities([folder], username, ["System.Read"])[0];
              if (entityPrivilege.privAvailability[0].isGranted) {
                  result.push(folder);
              }
          }
      }
      return result;
    2. 完成编辑操作时,单击保存
  2. Automation Assembler 中,创建名为 ChangeFolder 的自定义资源操作。
    1. 选择 Cloud.vSphere.Machine 资源类型。
    2. 选择将虚拟机移至文件夹工作流。
  3. 自定义用户在请求操作时看到的请求表单。
    1. 打开 ChangeFolder 操作。
    2. 单击编辑请求参数
    3. 自定义向用户显示目标文件夹字段的方式。
      值选项 示例值
      值源 外部源
      选择操作 getFolderForUser
      操作输入

      username Field

      单击选择字符串 > 请求信息字段 > 请求者

      单击选择

      操作输入

      vcUuid

      单击选择字符串 > 请求信息字段 > 资源属性 > vCenter UUID

      单击选择

    4. 单击保存

当用户请求目录中的操作时,可以从可供他们使用的文件夹中为虚拟机选择目标文件夹。

基于工作流属性的主机名示例

在此用例中,您希望使用 VMware Aria Automation Orchestrator 工作流属性自定义请求表单中的 URL 字段。要完成此示例,需要具有属性或变量(具有常量值或绑定到配置元素)的 VMware Aria Automation Orchestrator 工作流。属性或变量必须设置初始值,因为绑定在运行工作流之前完成。
  1. VMware Aria Automation Orchestrator 中,创建或克隆现有工作流。例如,克隆添加 REST 主机工作流。
    1. 变量选项卡上,添加变量并将其绑定到配置元素。
      值选项 示例值
      名称 hostname
      类型 string
      配置 启用绑定到配置选项。

      配置文本框中,选择要将变量绑定到的配置。例如,选择自定义 vRO 配置: 主机名元素。

    2. 保存工作流。
  2. Automation Service Broker 中导入工作流。
  3. 自定义请求表单。
    1. 单击表单设计器中的 URL 元素。
    2. 选项卡上,将值源设置为绑定字段
    3. 单击值字段 > 请求信息字段
    4. 选择 hostname 变量或任意可用的工作流属性。
  4. 保存并启用表单。

用户从目录请求工作流时,将根据 hostname 变量填充 URL 字段。

如果切换到其他项目,则会重新计算工作流属性,因为工作流可能来自不同的 VMware Aria Automation Orchestrator 集成。