Voor het volgende eenvoudige voorbeeld op basis van een plug-in in Automation Assembler bepalen de compute- en imagehelpers de plaatsing en het gastbesturingssysteem van een virtuele machine.

Opmerking: Ontwerp op basis van plug-ins is een bèta-aanbod dat kan worden gewijzigd en ondersteunt momenteel alleen de AWS-plug-in en de Google Cloud Platform-plug-in (GCP).

1. Voeg account- en zone-infrastructuur toe

De gebruiker voegt een AWS-cloudaccount toe met de cloudzones us-east-1 en us-west-2. De gebruiker tagt respectievelijk de zones region-east en region-west.

2. Voeg infrastructuur voor imagetoewijzing toe

De gebruiker voegt één ubuntu-imagetoewijzing toe, die naar images met verschillende id's verwijst, afhankelijk van de zone.

Imagetoewijzingen

3. Voeg het project toe

De gebruiker maakt een project. In het project voegt de gebruiker onder Inrichting de twee zones toe.

4. Start een ontwerp

In Automation Assembler begint de gebruiker op het tabblad Ontwerp een nieuw ontwerp op basis van een leeg canvas.

5. Voeg helpers toe aan het canvas

De gebruiker sleept een computehelper en imagehelper naar het canvas.

Toewijzingshelpers naar het canvas slepen

6. Configureer helpers

In de code voor de helpers voegt de gebruiker de ubuntu-image en een overeenkomende beperkingstag toe voor region-west. In de klassieke werkstroom zijn deze eigenschappen rechtstreeks aan de resource zelf toegevoegd.

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

7. Voeg de resource van de virtuele machine toe aan het canvas

De gebruiker sleept een AWS-EC2-resource naar het canvas. Houd er rekening mee dat dit niet de (Classic)-resource is. De nieuwere resources hebben een speciaal voorvoegsel wanneer ze worden weergegeven in de code.

Een EC2-resource naar het canvas slepen

8. Bind de resource aan de helpers

In de code voor de EC2 voegt de gebruiker bindingen toe die verwijzen naar de eerdere infrastructuur zoals gedefinieerd door de helpers. De term selected is onderdeel van de binding omdat de helper de selectie uitvoert.

  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

Op het ontwerpcanvas verbinden stippellijnen de resource met de helpers nadat de gebruiker de bindingen heeft toegevoegd.

9. Voltooide sjabloon

In het voltooide voorbeeld wordt de volgende code gebruikt. Houd er rekening mee dat de gebruiker de infrastructuur voor soorttoewijzing kan hebben geconfigureerd en ook gebruik kan hebben gemaakt van een soorthelper, in plaats van instance_type: t1.micro direct aan de EC2-resource toe te voegen.

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

De EC2 systeemeigen eigenschappen van AWS kunnen hier verder worden geconfigureerd. Anders is de voltooide sjabloon gereed om te testen en te implementeren.