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.
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.
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.
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.
8. Lier la ressource aux aides
Dans le canevas de conception, l'utilisateur dessine une connexion en commençant par l'aide d'allocation et en terminant par l'instance d'EC2 pour ajouter des liaisons de propriétés. Ces liaisons de propriétés font référence à l'ancienne infrastructure 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: 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
Sur le canevas de conception, des lignes en pointillés connectent la ressource à ses aides.
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: 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
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é.