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é.