Search code examples
vagrantvagrantfile

Where are Vagrant symbols (special values) documented?


Both in the documentations of Vagrantfile and in different Vagrantfile files we find symbols like the following:

:id, :ssl, :plaintext, :negotiate :auto, :linux, :windows.

Where are those symbols (special values) documented?

What is the right name for them? Symbols, special variables, special values ...?


Solution

  • As pointed out by @Menelaos the documentation is in Vagrant GitHub repository in the MDX-files.

    A grep of the pattern "\`:[^\` ]*\`" gets all the "special symbols" mentioned in the MDX-files:

    $ cd /path/to/vagrant_repo
    $ find . -name "*.mdx" -type f -exec grep -iPo "\`:[^\` ]*\`" {} \; | sort | uniq
    `:accept_new_or_local_tunnel`
    `:accept_new`
    `:action`
    `:all`
    `:always`
    `:auto_correct`
    `:auto`
    `:bootstrap`
    `:bridge`
    `:bridged`
    `:chef_solo`
    `:command`
    `:continue`
    `:datadir`
    `:default`
    `:detect`
    `:disable_warning`
    `:disk`
    `:dvd.`
    `:dvd`
    `:each`
    `:ecdsa256`
    `:ecdsa384`
    `:ecdsa521`
    `:ed25519`
    `:force`
    `:halt`
    `:hook`
    `:id`
    `:ip`
    `:linux`
    `:machine`
    `:negotiate`
    `:never`
    `:pip_args_only`
    `:pip`
    `:plaintext`
    `:provider`
    `:rsa`
    `:shell`
    `:single_run`
    `:ssl`
    `:type`
    `:ui`
    `:up`
    `:user_data`
    `:windows`
    `:winrm`
    

    Or a complete grep of all "special symbols" to find all places in the documentation where a "special symbol" is used:

    $ find . -name "*.mdx" -type f -exec grep -iPo "\`:[^\` ]*\`" {} \; \
        | sort \
        | uniq \
        | xargs -Ixxx find . -name "*.mdx" -exec grep --color=always -Hne xxx {} \;
    
    ./website/content/docs/vagrantfile/ssh_settings.mdx:155:  default value is `:never`. The other options are `:accept_new_or_local_tunnel`,
    ./website/content/docs/vagrantfile/ssh_settings.mdx:156:  `:accept_new`, or `:always`, which each refer to one of
    ./website/content/docs/triggers/configuration.mdx:102:  - `:action` - Action triggers run before or after a Vagrant action
    ./website/content/docs/provisioning/basic_usage.mdx:27:  values are `:each` or `:all`, which makes the provisioner run before each and
    ...
    ./website/content/docs/cloud-init/configuration.mdx:49:config.vm.cloud_init :user_data, content_type: "text/cloud-config", path: "config.cfg"
    ./website/content/docs/cloud-init/configuration.mdx:51:config.vm.cloud_init :user_data do |cloud_init|
    ./website/content/docs/cloud-init/configuration.mdx:57:However, this is not a requirement. Leaving off `type` will default to `:user_data`.
    ./website/content/docs/cloud-init/configuration.mdx:60:  cloud-init config. Currently, the only supported `type` is `:user_data`. If a type
    ./website/content/docs/cloud-init/configuration.mdx:61:  is not defined, it will default to `:user_data`.
    ./website/content/docs/vagrantfile/machine_settings.mdx:137:  proper distro. However, this should be changed to `:windows` for Windows guests.
    ./website/content/docs/vagrantfile/winrm_settings.mdx:18:These settings are only used if you've set your communicator type to `:winrm`.