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.

Nota: La progettazione basata su plug-in è un'offerta Beta soggetta a modifica e attualmente supporta solo il plug-in AWS e il plug-in Google Cloud Platform (GCP).

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.

Mappature delle immagini

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.

Trascinamento degli helper di allocazione 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.

Trascinamento di una risorsa EC2 nella tela

8. Associare la risorsa agli helper

Nel codice per EC2, l'utente aggiunge binding che fanno riferimento all'infrastruttura precedente in base a quanto 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: bnixInstance
      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 agli helper dopo che l'utente ha aggiunto i binding.

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: bnixInstance
      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.