Back to Vagrant

Configuration

website/content/docs/cloud-init/configuration.mdx

2.4.92.6 KB
Original Source

⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️

[!IMPORTANT]
Documentation Update: Product documentation previously located in /website has moved to the hashicorp/web-unified-docs repository, where all product documentation is now centralized. Please make contributions directly to web-unified-docs, since changes to /website in this repository will not appear on developer.hashicorp.com. ⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️

Configuration

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.

  • content_type (string) - Required argument that defines the Content-Type of the given cloud_init config. Vagrant only supports the following options for content_type:

    • "text/cloud-boothook"
    • "text/cloud-config"
    • "text/cloud-config-archive"
    • "text/jinja2"
    • "text/part-handler"
    • "text/upstart-job"
    • "text/x-include-once-url"
    • "text/x-include-url"
    • "text/x-shellscript"
  • path (string) - Path to a file on the host machine that contains cloud-init user data. This will be added to the multipart user-data file along with its content_type. Incompatible with the inline option.

  • inline (string) - Inline cloud-init user data. This will be added to the multipart user-data file along with its content_type. Incompatible with path option.

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:

ruby
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"
end

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.