User data is used for configuring/augmenting the provisioning process of a new VM instance by the cloud provider.
In the simplest case, this is just another shell script. However, many cloud providers provide images with
pre-configured cloud-init. This tool can do a lot more in an easier way. It even allows multipart
config data which is why you can add multiple snippets here. Please be aware, that some providers limit the
total amount of data. Please read the
cloud-init documentation and ask your provider
about those limits.
Also note: If using multipart data, we enforce merging of multiple yaml snippets. More info
about this feature
here.
Finally, with some providers (like Rackspace for example), you must also enable the config drive option further below in
order to take advantage of this feature.