An image mapping groups a set of pre-defined target OS specifications for a specific cloud account/region by using natural language naming.
Cloud vendor accounts such as Microsoft Azure and Amazon Web Services use images to group a set of target deployment conditions together, including OS and related configuration settings. vCenter and NSX-based environments, including VMware Cloud on AWS, use a similar grouping mechanism to define a set of OS deployment conditions. When you build and eventually deploy and iterate a blueprint, you pick an available image that best fits your needs.
You should organize the image mappings for your project by similar operating system settings, your tagging strategy, and a functional deployment intent.
You can display your image mappings by either image name or by account/region.
Image mapping lets you create a named mapping that contains pre-defined operating system configurations across your account regions. For example, an image map named MyUbuntu16 might contain a similar Linux OS configuration for some or all of the available cloud account/region pairings in your project. See WordPress use case: add image mappings.
To further refine image selection you can add one or more constraints, as in item 4 in the following graphic, to specify tag-based restrictions on the type of image that can be deployed. The supplied constraints example of !license:none:hard illustrates a tag-based restriction where the image can only be used if the license:none tag is not present in the blueprint. In the following example, the specified image can be used only if the license:88 and the license:92 tags are present in the blueprint.
Cloud configuration script in an image mapping
You can also add a cloud configuration script, as in item 5 in the above graphic, to be run when the image is applied to the deployment. For example, based on whether you are deploying the blueprint to a public or private cloud, you might want to apply specific user permissions, OS permissions, or other conditions to the image. A sample cloud configuration script, similar to the following example, adheres to a
cloud-init format for Linux-based images or a
cloudbase-init format for Windows-based images. Cloud Assembly supports the cloud-init tool for Linux systems and the cloudbase-init tool for Windows.
For more information about using a cloud configuration script, and about precedence when an image map that contains a cloud configuration script is used in a blueprint that also contains a cloud configuration script, see Learn more about cloud configuration scripts in image maps.