• Infrastructure
    • terraform
    • packer
  • Networking
    • consul
  • Security
    • vault
    • boundary
  • Applications
    • nomad
    • waypoint
    • vagrant
  • HashiCorp Cloud Platform

    A fully managed platform to automate infrastructure on any cloud with HashiCorp products.

    • consul
    • terraform
    • vault
    • packerbeta
    Visit cloud.hashicorp.com
  • Intro
  • Docs
  • Community
GitHub—Stars on GitHub
Download
    • v2.2.19 (latest)
    • v2.2.18
    • v2.2.17
    • v2.2.16
    • v2.2.15
    • v2.2.14
    • v2.2.13
    • v2.2.12
    • v2.2.11
    • v2.2.10
  • Overview
    • Overview
    • Backwards Compatibility
    • Upgrading
    • Upgrading from 1.0.x
    • From Source
    • Uninstallation
    • Overview
    • box
    • cloud
    • connect
    • destroy
    • global-status
    • halt
    • init
    • login
    • package
    • plugin
    • port
    • powershell
    • provision
    • rdp
    • reload
    • resume
    • share
    • snapshot
    • ssh
    • ssh-config
    • status
    • suspend
    • up
    • upload
    • validate
    • version
    • More Commands
    • Aliases
    • Machine Readable Output
    • rsync
    • rsync-auto
    • winrm
    • winrm_config
    • Overview
    • HTTP Sharing
    • SSH Sharing
    • Connect
    • Security
    • Custom Provider
    • Overview
    • Configuration Version
    • Minimum Vagrant Version
    • Tips & Tricks
    • config.vm
    • config.ssh
    • config.winrm
    • config.winssh
    • config.vagrant
    • Overview
    • Box Versioning
    • Creating a Base Box
    • Box File Format
    • Box Info Format
    • Overview
    • Basic Usage
    • File
    • Shell
    • Ansible Intro
    • Ansible
    • Ansible Local
    • Common Ansible Options
    • CFEngine
    • Chef Common Configuration
    • Chef Solo
    • Chef Zero
    • Chef Client
    • Chef Apply
    • Docker
    • Podman
    • Puppet Apply
    • Puppet Agent
    • Salt
    • Overview
    • Basic Usage
    • Forwarded Ports
    • Private Network
    • Public Network
    • Overview
    • Basic Usage
    • NFS
    • RSync
    • SMB
    • VirtualBox
    • Overview
    • Configuration
    • Usage
    • Overview
    • Configuration
    • Usage
      • Overview
      • Usage
      • Common Issues
      • Overview
      • Usage
      • Common Issues
      • Overview
      • Usage
      • Common Issues
  • Multi-Machine
    • Overview
    • Installation
    • Basic Usage
    • Configuration
    • Default Provider
      • Overview
      • Usage
      • Creating a Base Box
      • Configuration
      • Networking
      • Common Issues
      • Overview
      • Installation
      • VMware Utility
      • Usage
      • Boxes
      • Configuration
      • Known Issues
      • FAQ
      • Overview
      • Basic Usage
      • Commands
      • Boxes
      • Configuration
      • Networking
      • Overview
      • Usage
      • Creating a Base Box
      • Configuration
      • Limitations
    • Custom Provider
    • Overview
    • Usage
    • Plugin Development Basics
    • Action Hooks
    • Commands
    • Configuration
    • Guests
    • Guest Capabilities
    • Hosts
    • Host Capabilities
    • Providers
    • Provisioners
    • Packaging & Distribution
    • Overview
    • FTP / SFTP
    • Heroku
    • Local Exec
    • Overview
    • Configuration
    • Usage
  • Experimental
    • Overview
    • Debugging
    • Environmental Variables
    • WSL
    • macOS Catalina

  • Vagrant Cloud
Type '/' to Search

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:

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
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.
github logoEdit this page
IntroDocsBookVMwarePrivacySecurityPress KitConsent Manager