Saltstack-python-api
提供:Dev Guides
SaltStack-Python API
Saltは、すべてのコマンドへのプログラムによるアクセスを提供します。 Saltは、Saltシステムのすべてのセクションに異なるモジュールを提供します。 この章では、Python APIの基本と、基本的なsaltコマンドの実行方法について学びましょう。
設定
*salt.config* モジュールは、Salt構成の詳細にアクセスするために使用されます。
import salt.config
opts = salt.config.client_config('/etc/salt/master')
ここでは、 client_config はsalt構成ファイルを読み取り、構成の詳細を辞書として返します。
ローダ
*salt.loader* モジュールは、グレイン、ミニオンなど、Saltの各モジュールをロードするために使用されます。
import salt.loader
opts = salt.config.minion_config('/etc/salt/minion')
grains = salt.loader.grains(opts)
ここで、 grains は、Saltシステムの穀物の詳細を読み取り、それを返します。
クライアントモジュール
*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')
次の output が生成されます-
{'minion1': True, 'minion2': True }
発信者
Callerは、 salt-call をプログラムで実行し、結果を返すために使用されます。
import salt.client
caller = salt.client.Caller()
caller.cmd('test.ping')
次の output が生成されます-
True
SSHClient
SSHCientは、 salt-ssh をプログラムで実行し、結果を返すために使用されます。
import salt.client.ssh.client
ssh = salt.client.ssh.client.SSHClient()
ssh.cmd('*', 'test.ping')
次の output が生成されます-
{'minion1': True, 'minion2': True }
CloudClient
salt.cloudモジュールは、プログラムでsalt-cloudコマンドを実行するために使用されます。
client = salt.cloud.CloudClient(path = '/etc/salt/cloud')
クラウドモジュールは、VMの作成(作成)、VMの破棄(破棄)、クラウドプロバイダーが提供するイメージの一覧表示(list_images)、クラウドプロバイダーの場所の一覧表示(list_locations)、クラウドプロバイダーのマシンサイズの一覧表示(list_sizes)、等