И в документации Vagrantfile, и в различных файлах Vagrantfile мы находим такие символы:
:id, :ssl, :plaintext, :negotiate:auto, :linux, :windows.
Где задокументированы эти символы (специальные значения)?
Какое имя для них подходящее? Символы, специальные переменные, специальные значения...?





Для документации вам нужно просмотреть несколько мест:
Документация Vagrant: официальная документация Vagrant. У них есть разделы, описывающие параметры конфигурации и используемые символы. Посетите раздел Конфигурация Vagrantfile.
Исходный код Vagrant: Я думаю, вам также стоит взглянуть на репозиторий GitHub. https://github.com/hashicorp/vagrant
Каждый поставщик уникален и имеет разные заполнители, которые они предоставляют. Так, например, для виртуального бокса вы можете найти параметр :id, описанный здесь:
Специальный параметр :id заменяется на идентификатор виртуального машина создается, поэтому, когда для команды VBoxManage требуется идентификатор, вы можете передать этот специальный параметр.
:@Menelaos: Я прочитал и изучил всю документацию. Но я не нашел, где это задокументировано. Поэтому мой вопрос. Поиск исходного кода не очень полезен. Простой вопрос: где объясняется значение :id?
@wolfrevo, какой провайдер/виртуальную машину вы используете? виртуалбокс?
как виртуальный бокс, так и vmware
Предоставляются ли эти заполнители поставщиками? Тогда они не являются общими/глобальными переменными Vagrant?
@wolfrevo они от провайдеров. Но единственный, который я нашел, это пример с функциейmodifyVm. Можете ли вы привести мне пример того, где вы видели другие, чтобы я мог лучше понять?
Спасибо за подсказку. Я нашел исходный код и нашел информацию.
@wolfrevo Очень интересны подробности. Если ответ был полезен, проголосуйте за него и/или примите!
:@Menelaos: см. мой ответ ниже.
Как отметил @Menelaos, документация находится в репозитории Vagrant GitHub в MDX-файлах.
Команда grep шаблона "\`:[^\` ]*\`" получает все «специальные символы», упомянутые в MDX-файлах:
$ 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`
Или полный поиск всех «специальных символов», чтобы найти все места в документации, где используются «специальные символы»:
$ 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`.
можете ли вы дать ссылку на пример, отличный от :id? Я видел удостоверение личности, например. v.customize ["modifyvm", :id, "--memory", "4096... Я ищу контекст. И какой провайдер вы используете?