Соль обеспечивает программный доступ ко всем его командам. Соль предоставляет различные модули для каждого раздела системы Соль. Давайте изучим основы Python API и о том, как выполнять основные команды соли в этой главе.
конфигурация
Модуль salt.config используется для доступа к деталям конфигурации Salt.
import salt.config opts = salt.config.client_config('/etc/salt/master')
Здесь client_config читает солевой файл конфигурации и возвращает детали конфигурации в виде словаря.
погрузчик
Модуль salt.loader используется для загрузки в Солт всех модулей, таких как зерна, миньоны и т. Д.
import salt.loader opts = salt.config.minion_config('/etc/salt/master') grains = salt.loader.grains(opts)
Здесь зерна считывают детали зерен в соляной системе и возвращают их.
Клиентский модуль
Модуль salt.client используется для программного выполнения команд salt, salt-call и salt-SSH.
Наиболее важные классы Python следующие:
- salt.client.LocalClient
- salt.client.Caller
- salt.client.ssh.client.SSHClient
Основной функцией, предоставляемой большинством клиентских модулей, является cmd . Эта функция оборачивает параметры CLI и выполняет их, что аналогично командной строке и возвращает результаты в виде структур данных Python.
LocalClient
LocalClient используется для отправки команд от мастера миньонам соли и возврата результатов мастеру.
import salt.client local = salt.client.LocalClient() local.cmd('*', 'test.ping')
Это даст следующий результат —
{'minion1': True, 'minion2': True }
гость
Вызывающая сторона используется для программного вызова соли и возврата результатов.
import salt.client caller = salt.client.Caller() caller.cmd('test.ping')
Это даст следующий результат —
True
SSHClient
SSHCient используется для программного запуска salt-ssh и возврата результатов.
import salt.client.ssh.client ssh = salt.client.ssh.client.SSHClient() ssh.cmd('*', 'test.ping')
Это даст следующий результат —
{'minion1': True, 'minion2': True }
CloudClient
Модуль salt.cloud используется для программного выполнения команд salt-cloud.
client = salt.cloud.CloudClient(path = '/etc/salt/cloud')
Облачный модуль предоставляет функции для создания виртуальных машин (создание), для уничтожения виртуальных машин (уничтожение), создания списка изображений, предоставляемых поставщиком облака (list_images), списка местоположений поставщика облака (list_locations), списка размеров машин поставщика облака (list_sizes), и т.п.