Just Another IT Blog

It's time to share some of my experiences, crazy ideas, tips and tricks !!!

Post Page Advertisement [Top]

VMware Aria Automation continues to amaze me with its continuous evolution to cater to the ever-changing needs of customers, adapting to the demands of a more modern and agile world.
 

In May, we unveiled an innovative framework for provisioning Cloud Native Services, starting with AWS service. This groundbreaking plugin-based framework empowers us to respond swiftly to Cloud Providers evolution, enabling more native Services on the platform, also allowing for the extension of properties and characteristics of existing and future Services.

Excitingly, in June, we expanded our support to include Google Cloud Platform services, broadening our reach and opening up new possibilities.  

And there's more to come, stay tuned as we prepare to release support for Azure in the near future!

While familiar, plugin based framework is slightly different from our previous Cloud Template design which we have been using for the past years.

To help you grasp the essentials, let's delve into a basic, hard-coded example that illustrates the minimum requirements for provisioning a simple Google Compute Engine.

Please, keep in mind it's just a simple example, the plugin base provides much more resources and features to enable than the classic one.


 I started with Instance and Disk resources, just dragging them to the canvas. The "Classic" ones are the ones which we were used to have.



 

My first building block is the Compute disk, which consists of a source image and an optional disk size. Including the disk size is crucial because each image comes with specific size requirements.

Idem_GCP_COMPUTE_DISK_1:
    type: Idem.GCP.COMPUTE.DISK
    properties:
      account: Google Service
      zone: us-east1-b
      name: my-disk-2
      size_gb: 20
      source_image: projects/centos-cloud/global/images/centos-stream-8-v20230615



Moving on, we have the Compute Instance. Here, I defined the machine type and associate it with the previously defined disk, marking it as the boot disk.

Idem_GCP_COMPUTE_INSTANCE_1:
    type: Idem.GCP.COMPUTE.INSTANCE
    properties:
      name: myinstance
      zone: us-east1-b
      account: Google Service
      machine_type: zones/us-east1-b/machineTypes/n1-standard-1
      disks:
        - boot: true
          device_name: ${resource.Idem_GCP_COMPUTE_DISK_1.name}
          source: ${resource.Idem_GCP_COMPUTE_DISK_1.resource_id}

 
Another essential requirement is attaching Compute Instance to a subnet. For simplicity, we'll use the default subnet in this scenario.

network_interfaces:
        - name: eth0
          subnetwork: /regions/us-east1/subnetworks/default



It's important to note that the plugin operates with full paths for resources such as source images, machine types, and subnets. While some resources are global, others are project-specific, so pay close attention to ensure smooth provisioning.

 

You might notice there's no familiar concepts like inputs, constraints or even mappings, dont worry in the next post I'll cover how to use them into this new framework.

happy automation !!!

Bottom Ad [Post Page]