Spec-Zone.ru › Chef 18

knife xargs

[редактировать на GitHub]

Используйте подкоманду knife xargs для получения шаблонов со стандартного ввода, загрузки в формате JSON, выполнения команды над загруженным JSON и последующей загрузки любых изменений.

Синтаксис

Эта подкоманда имеет следующий синтаксис:

knife xargs [PATTERN...] (options)

Параметры

Примечание

Ознакомьтесь со списком общих параметров, доступных для этой (и всех) подкоманд и плагинов knife.

Эта подкоманда имеет следующие параметры:

-0

По умолчанию: false.

--chef-repo-path PATH

Путь к chef-repo. Этот параметр переопределит путь по умолчанию к chef-repo. По умолчанию: значение, указанное в chef_repo_path в client.rb.

--concurrency

Количество разрешенных одновременных подключений. По умолчанию: 10.

--[no-]diff

Отображать разницу, если файл изменился. По умолчанию: --diff.

--dry-run

Препятствовать загрузке изменений на сервер Chef Infra. По умолчанию: false.

--[no-]force

Вынудительная загрузка файлов, даже если они не были изменены. По умолчанию: --no-force.

-I REPLACE_STRING, --replace REPLACE_STRING

Определение строки, которая будет использоваться для замены всех вхождений имени файла. По умолчанию: nil.

-J REPLACE_STRING, --replace-first REPLACE_STRING

Определение строки, которая будет использоваться для замены первого вхождения имени файла. По умолчанию: nil.

--local

Сборка или выполнение командной строки над локальным файлом. Установите в false для сборки или выполнения над удалённым файлом. По умолчанию: false.

-n MAX_ARGS, --max-args MAX_ARGS

Максимальное количество аргументов в командной строке. По умолчанию: nil.

-p [PATTERN...], --pattern [PATTERN...]

Один (или несколько) шаблонов для командной строки. Если этот параметр не указан, список шаблонов может ожидаться со стандартного ввода. По умолчанию: nil.

--repo-mode MODE

Макет локального chef-repo. Возможные значения: static, everything, или hosted_everything. Используйте static только для ролей, сред, кулинарных книг и пакетов данных. По умолчанию, everything и hosted_everything динамически выбираются в зависимости от типа сервера. Значение по умолчанию: default.

-s LENGTH, --max-chars LENGTH

Максимальный размер (в символах) командной строки. По умолчанию: nil.

-t

Запустить команду print в командной строке. По умолчанию: nil.

Примечание

См. config.rb для получения дополнительной информации о том, как добавить определённые параметры knife в качестве настроек в файл config.rb.

Примеры

Следующие примеры демонстрируют, как использовать эту подкоманду knife:

Поиск и замена данных

Следующий пример пройдёт по всем узлам на сервере и заменит слово foobar на baz:

knife xargs --pattern /nodes/* "perl -i -pe 's/foobar/baz'"

Использование вывода knife list и Perl

Следующие примеры показывают различные способы вывода списка всех узлов на сервере и последующего использования Perl для замены grantmc на gmc:

knife list 'nodes/*' | knife xargs "perl -i -pe 's/grantmc/gmc'"

или без кавычек и с обратным слешем:

knife list /nodes/\* | knife xargs "perl -i -pe 's/grantmc/gmc'"

или используя параметр --pattern:

knife xargs --pattern '/nodes.*' "perl -i -pe 's/grantmc/gmc'"

Просмотр данных групп безопасности

Следующий пример демонстрирует, как отобразить содержимое всех групп на сервере:

knife xargs --pattern '/groups/*' cat

и вернёт что-то вроде:

{
  "name": "4bd14db60aasdfb10f525400cdde21",
  "users": [
    "grantmc"
  ]
}{
  "name": "62c4e268e15fasdasc525400cd944b",
  "users": [
    "robertf"
  ]
}{
  "name": "admins",
  "users": [
    "grantmc",
    "robertf"
  ]
}{
  "name": "billing-admins",
  "users": [
    "dtek"
  ]
}{
  "name": "clients",
  "clients": [
    "12345",
    "67890",
  ]
}{
  "name": "users",
  "users": [
    "grantmc"
    "robertf"
    "dtek"
  ],
  "groups": [
    "4bd14db60aasdfb10f525400cdde21",
    "62c4e268e15fasdasc525400cd944b"
  ]
}

© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/knife_xargs/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API