Vagrant cloud-init has several options that allow users to define a config to be used with cloud-init.

For more detailed information about these config values and how to use cloud-init, please read the official documentation for cloud-init.

»cloud_init Options

It should be noted that Vagrant will not validate the correctness of the cloud-init config provided, only that a cloud-init config has been provided through path or directly inline in a Vagrantfile.

Examples of how to define these options can be found in the usage documentation.

»cloud_init Type

When defining a config for cloud_init, you can optionally define a type for the config:

config.vm.cloud_init :user_data, content_type: "text/cloud-config", path: "config.cfg"

config.vm.cloud_init :user_data do |cloud_init|
  cloud_init.content_type = "text/cloud-config"
  cloud_init.path = "config.cfg"

However, this is not a requirement. Leaving off type will default to :user_data.

  • type (Symbol) - This is an optional config that defines the type of cloud-init config. Currently, the only supported type is :user_data. If a type is not defined, it will default to :user_data.