Шеф выполняет команду bash и вводит ввод

Я хочу выполнить эту команду через шеф-повара:

knife client delete client_name

Команда действительно запускается от шеф-повара, используя это:

bash 'delete client from chef server' do
    cwd ::File.dirname('/apps/chef-repo') # not sure if relevant
    code <<-EOH
        knife client delete client_name
    EOH
  end

Но нож требует подтверждения ввода

STDOUT: Do you really want to client_name? (Y/N)

Как выполнить нажатие кнопки "Y"?

3 ответа

Решение

Вы ищете -y (скажите "да" на запрос подтверждения). т.е.

 knife client delete client_name -y

Проверьте общие параметры ножа:

-у, да

Ответьте на все запросы подтверждения "Да". нож не просить подтверждения.

Два других ответа верны в прямом смысле, но нет никаких причин выкладывать нож так, как это. Вы можете использовать HTTP-клиент Chef напрямую:

node.chef_server_rest.delete_rest('/clients/client_name')

(Думаю, прошло какое-то время)

Другие вопросы по тегам