📜  SaltStack- Python API

📅  最后修改于: 2020-10-31 14:29:11             🧑  作者: Mango


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)

在此,谷物读取盐体系中谷物的详细信息并将其返回。

客户端模块

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 }

呼叫者

调用程序用于以编程方式运行Salt-call并返回结果。

import salt.client
caller = salt.client.Caller()
caller.cmd('test.ping')

它将产生以下输出

True

SSH客户端

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')

云模块提供以下功能:创建VM(创建),销毁VM(销毁),列出云提供商提供的映像(list_images),列出云提供商的位置(list_locations),列出云提供商的计算机大小(list_sizes),等等