对于以下 Automation Assembler 中基于插件的简单示例,计算帮助程序和映像帮助程序控制虚拟机的放置和客户机操作系统。

注: 基于插件的设计是一种测试版产品,会随时更改,当前仅支持 AWS 插件和 Google Cloud Platform (GCP) 插件。

1. 添加帐户和区域基础架构

用户添加 AWS 云帐户以及 us-east-1 和 us-west-2 云区域。用户将区域分别标记为 region-eastregion-west

2. 添加映像映射基础架构

用户添加一个 ubuntu 映像映射,根据区域的不同,该映射指向具有不同标识符的映像。

映像映射

3. 添加项目

用户创建一个项目。在项目中的置备下,用户添加两个区域。

4. 开始设计

Automation Assembler 中的设计选项卡下,用户从空白画布开始新设计。

5. 将帮助程序添加到画布

用户将计算帮助程序和映像帮助程序拖动到画布中。

将分配帮助程序拖动到画布中

6. 配置帮助程序

在帮助程序的代码中,用户添加 ubuntu 映像以及匹配限制标记 region-west。在经典工作流中,这些属性将直接添加到资源本身。

  Allocations_Image_1:
    type: Allocations.Image
    properties:
      image: ubuntu
  Allocations_Compute_1:
    type: Allocations.Compute
    properties:
      constraints: 
        - tag: region-west

7. 将虚拟机资源添加到画布

用户将 AWS EC2 资源拖动到画布中。请注意,该资源不是 (Classic) 资源。较新的资源在代码中显示时具有特殊前缀。

将 EC2 资源拖动到画布中

8. 将资源绑定到帮助程序

在设计画布中,用户绘制一个连接,从分配帮助程序开始到 EC2 实例结束,以便添加属性绑定。这些属性绑定引用帮助程序定义的早期基础架构。selected 一词是绑定的一部分,因为帮助程序在执行选择。

  Idem_AWS_EC2_INSTANCE_1:
    type: Idem.AWS.EC2.INSTANCE
    properties:
      name: db-demo
      account: ${resource.Allocations_Compute_1.selectedCloudAccount.name}
      region: ${resource.Allocations_Compute_1.selectedRegion.name}
      image_id: ${resource.Allocations_Image_1.selectedImageId}
      instance_type: t1.micro

在设计画布上,虚线将资源连接到其帮助程序。

9. 完成的模板

完成的示例使用以下代码。请注意,用户也可以配置特定实例映射基础架构并利用特定实例帮助程序,而不是直接将 instance_type: t1.micro 添加到 EC2 资源。

formatVersion: 1
inputs: {}
resources:
  Allocations_Image_1:
    type: Allocations.Image
    properties:
      image: ubuntu
  Allocations_Compute_1:
    type: Allocations.Compute
    properties:
      constraints: 
        - tag: region-west
  Idem_AWS_EC2_INSTANCE_1:
    type: Idem.AWS.EC2.INSTANCE
    properties:
      name: db-demo
      account: ${resource.Allocations_Compute_1.selectedCloudAccount.name}
      region: ${resource.Allocations_Compute_1.selectedRegion.name}
      image_id: ${resource.Allocations_Image_1.selectedImageId}
      instance_type: t1.micro

可以从此处进一步配置 AWS 的 EC2 原生属性。否则,完成的模板就可以进行测试和部署了。