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)、等