对于以下 Automation Assembler 中基于插件的简单示例,计算帮助程序和映像帮助程序控制虚拟机的放置和客户机操作系统。
注: 基于插件的设计是一种测试版产品,会随时更改,当前仅支持 AWS 插件和 Google Cloud Platform (GCP) 插件。
1. 添加帐户和区域基础架构
用户添加 AWS 云帐户以及 us-east-1 和 us-west-2 云区域。用户将区域分别标记为 region-east
和 region-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)
资源。较新的资源在代码中显示时具有特殊前缀。
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 原生属性。否则,完成的模板就可以进行测试和部署了。