Pour l'exemple simple suivant basé sur des plug-ins dans Automation Assembler, les aides de calcul et d'image contrôlent le placement et le système d'exploitation invité d'une machine virtuelle.

Note : La conception basée sur des plug-ins est une offre bêta qui est susceptible d'être modifiée et prend actuellement en charge le plug-in AWS et le plug-in Google Cloud Platform (GCP) uniquement.

1. Ajouter une infrastructure de compte et de zone

L'utilisateur ajoute un compte de cloud AWS avec des zones de cloud us-east-1 et us-west-2. L'utilisateur marque respectivement les zones region-east et region-west, respectivement.

2. Ajouter une infrastructure de mappage d'images

L'utilisateur ajoute une carte d'image ubuntu qui pointe vers des images portant des identifiants différents, en fonction de la zone.

Mappages d'images

3. Ajouter le projet

L'utilisateur crée un projet. Dans le projet, sous Provisionnement, l'utilisateur ajoute les deux zones.

4. Démarrer une conception

Dans Automation Assembler, sous l'onglet Conception, l'utilisateur démarre une nouvelle conception à partir d'un canevas vide.

5. Ajouter des aides au canevas

L'utilisateur fait glisser une aide pour le calcul et une aide pour l'image vers le canevas.

Déplacement d'aides d'allocation en les glissant vers le canevas

6. Configurer les aides

Dans le code des aides, l'utilisateur ajoute l'image ubuntu et une balise de contrainte correspondante pour region-west. Dans le workflow classique, ces propriétés auraient été ajoutées directement à la ressource elle-même.

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

7. Ajouter la ressource de machine virtuelle au canevas

L'utilisateur fait glisser une ressource d'AWS EC2 vers le canevas. Notez qu'il ne s'agit pas de la ressource (Classic). Les ressources les plus récentes ont un préfixe spécial lorsqu'elles s'affichent dans le code.

Déplacement d'une ressource EC2 en la glissant sur le canevas

8. Lier la ressource aux aides

Dans le code pour EC2, l'utilisateur ajoute des liaisons qui font référence à l'infrastructure antérieure telle que définie par les aides. Le terme selected fait partie de la liaison, car l'aide effectue la sélection.

  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

Sur le canevas de conception, des lignes pointillées connectent la ressource à ses aides une fois que l'utilisateur a ajouté les liaisons.

9. Modèle terminé

L'exemple terminé utilise le code suivant. Notez que l'utilisateur a pu configurer l'infrastructure de mappage de type et utiliser également une aide de type, plutôt que d'ajouter instance_type: t1.micro directement à la ressource 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

Les propriétés natives EC2 d'AWS peuvent être configurées davantage à partir d'ici. Sinon, le modèle terminé est prêt à être testé et déployé.