Skip to main content

Ansible Api Warpper

Project description

说明

这是一个Ansible Python Api的封装。

安装

$ python setup.py install

简单使用

from Asi import Api


if __name__ == "__main__":
	hosts = [
		{
			"hostname": "localhost",
			"port": 22,
			"vars": {
				"ansible_ssh_user": "root",
				"ansible_ssh_pass": "p@ssw0rd"
			}
		},
		{
			"hostname": "192.168.152.142",
			"port": 22,
			"vars": {
				"ansible_ssh_user": "root",
				"ansible_ssh_pass": "p@ssw0rd"
			}
		}
	]

	Api().module("shell", args="ls", register='shell_out', task_name="test")\
		 .module("debug", args={"msg":"{{shell_out.stdout}}"})\
		 .run(hosts)	

获取返回数据

run方法前面调用json方法,并且run方法中callback参数需为None,如果自己实现callback, 则需要在callback增添属性results

from Asi import Api
import json


if __name__ == "__main__":
	hosts = [
		dict(hostname="127.0.0.1", port=22)
	]

	api = Api()
	api = api.module("shell", args="ls", register="shell_out")
	api = api.module("debug", args=dict(msg="{{shell_out}}"))
	api = api.json()
	print("result")
	print(json.dumps(api.run(hosts), indent=4))

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Asi-1.2.2.tar.gz (4.9 kB view details)

Uploaded Source

File details

Details for the file Asi-1.2.2.tar.gz.

File metadata

  • Download URL: Asi-1.2.2.tar.gz
  • Upload date:
  • Size: 4.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.9.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.5

File hashes

Hashes for Asi-1.2.2.tar.gz
Algorithm Hash digest
SHA256 da6ca8a6c33b266cd9961fb6c692c09e184958973a19f8932024d1d94975a7cf
MD5 35664b900d0b9935696b6723e2abcd19
BLAKE2b-256 92a091cc4d7ee20fc2e0759a5de915330be48a7838741b8239966ecdb8aac19c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page