62 lines
2.2 KiB
Plaintext
62 lines
2.2 KiB
Plaintext
---
|
|
layout: docs
|
|
page_title: Vagrant Cloud-Init Configuration
|
|
description: Documentation of various configuration options for Vagrant cloud-init
|
|
---
|
|
|
|
# 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](https://cloudinit.readthedocs.io/en/latest/index.html).
|
|
|
|
## 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](/vagrant/docs/cloud-init/configuration).
|
|
|
|
### 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`.
|