Per il seguente esempio semplice basato su plug-in in Automation Assembler, gli helper della risorsa di elaborazione e dell'immagine controllano il posizionamento e il sistema operativo guest di una macchina virtuale.
1. Aggiungere l'account e l'infrastruttura di zone
L'utente aggiunge un account cloud AWS con le zone cloud us-east-1 e us-west-2. L'utente contrassegna le zone region-east
e region-west
rispettivamente.
2. Aggiungere l'infrastruttura di mappatura delle immagini
L'utente aggiunge una mappa dell'immagine ubuntu
che punta a immagini con identificatori diversi, in base alla zona.
3. Aggiungere il progetto
L'utente crea un progetto. Nel progetto, in Provisioning, l'utente aggiunge le due zone.
4. Avviare una progettazione
In Automation Assembler, nella scheda Progettazione, l'utente avvia una nuova progettazione da una tela vuota.
5. Aggiungere helper alla tela
L'utente trascina un helper della risorsa di elaborazione e un helper dell'immagine nella tela.
6. Configurare gli helper
Nel codice per gli helper, l'utente aggiunge l'immagine ubuntu
e un tag di vincolo corrispondente per region-west
. Nel workflow classico, tali proprietà sarebbero state aggiunte direttamente alla risorsa stessa.
Allocations_Image_1: type: Allocations.Image properties: image: ubuntu Allocations_Compute_1: type: Allocations.Compute properties: constraints: - tag: region-west
7. Aggiungere la risorsa macchina virtuale alla tela
L'utente trascina una risorsa EC2 AWS nella tela. Si tenga presente che non è la risorsa (Classic)
. Le risorse più recenti hanno un prefisso speciale quando vengono visualizzate nel codice.
8. Associare la risorsa agli helper
Nella tela di progettazione, l'utente disegna una connessione a partire dall'helper di allocazione e termina con l'istanza di EC2 per aggiungere binding di proprietà. Questi binding di proprietà fanno riferimento all'infrastruttura precedente come definito dagli helper. Il termine selected
fa parte del binding perché l'helper esegue la selezione.
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
Nella tela di progettazione, le linee tratteggiate connettono la risorsa ai relativi helper.
9. Modello completato
L'esempio completato utilizza il codice seguente. Si tenga presente che l'utente avrebbe potuto configurare l'infrastruttura di mappatura della caratteristica e utilizzare un helper della caratteristica, anziché aggiungere direttamente instance_type: t1.micro
alla risorsa 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
Le proprietà native di EC2 di AWS possono essere ulteriormente configurate da qui. Altrimenti, il modello completato è pronto per il test e la distribuzione.