對於以下 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 原生內容。否則,完成的範本就可以進行測試和部署了。