Как переопределить тип synced_folder моего Vagrantfile для каждого провайдера? - PullRequest
0 голосов
/ 01 мая 2019

У меня есть Vagrantfile с несколькими провайдерами, и они не могут использовать одни и те же типы synced_folder.Как изменить все типы synced_folder в разделе для каждого поставщика?Я хотел бы избежать повторения определений synced_folder для каждого провайдера.

  config.vm.synced_folder "prog", "/home/vagrant/prog", type: "virtualbox"
  # more synced folders

  config.vm.provider "docker" do |docker, override|
    override.vm.box = nil
    docker.build_dir = "."

    # change all synced_folder types here?

1 Ответ

0 голосов
/ 01 мая 2019

config.vm.synced_folder - это вызов метода, который добавляет структуру данных @__synced_folders внутри объекта конфигурации виртуальной машины.

Один из способов сделать это - оставить тип unset в объявлении synced_folder,а затем установите allowed_synced_folder_types массив нужного типа для каждого провайдера.Другим способом может быть объявление локального массива synced_folder аргументов с циклическим перебором в каждой конфигурации провайдера для передачи желаемого типа в synced_folder.

override.vm.allowed_synced_folder_types = [:virtualbox, :rsync]

...