ansible_runner 包
子包
- ansible_runner.config 包
- ansible_runner.display_callback 包
- 子模块
- ansible_runner.display_callback.callback.awx_display 模块
AnsibleJSONEncoderLocal
CallbackModule
CallbackModule.CALLBACK_NAME
CallbackModule.CALLBACK_TYPE
CallbackModule.CALLBACK_VERSION
CallbackModule.EVENTS_WITHOUT_PLAY
CallbackModule.EVENTS_WITHOUT_TASK
CallbackModule.capture_event_data()
CallbackModule.clear_play()
CallbackModule.clear_task()
CallbackModule.set_play()
CallbackModule.set_playbook()
CallbackModule.set_task()
CallbackModule.v2_on_file_diff()
CallbackModule.v2_playbook_on_cleanup_task_start()
CallbackModule.v2_playbook_on_handler_task_start()
CallbackModule.v2_playbook_on_import_for_host()
CallbackModule.v2_playbook_on_include()
CallbackModule.v2_playbook_on_no_hosts_matched()
CallbackModule.v2_playbook_on_no_hosts_remaining()
CallbackModule.v2_playbook_on_not_import_for_host()
CallbackModule.v2_playbook_on_notify()
CallbackModule.v2_playbook_on_play_start()
CallbackModule.v2_playbook_on_setup()
CallbackModule.v2_playbook_on_start()
CallbackModule.v2_playbook_on_stats()
CallbackModule.v2_playbook_on_task_start()
CallbackModule.v2_playbook_on_vars_prompt()
CallbackModule.v2_runner_item_on_failed()
CallbackModule.v2_runner_item_on_ok()
CallbackModule.v2_runner_item_on_skipped()
CallbackModule.v2_runner_on_async_failed()
CallbackModule.v2_runner_on_async_ok()
CallbackModule.v2_runner_on_async_poll()
CallbackModule.v2_runner_on_failed()
CallbackModule.v2_runner_on_file_diff()
CallbackModule.v2_runner_on_no_hosts()
CallbackModule.v2_runner_on_ok()
CallbackModule.v2_runner_on_skipped()
CallbackModule.v2_runner_on_start()
CallbackModule.v2_runner_on_unreachable()
CallbackModule.v2_runner_retry()
EventContext
EventContext.add_global()
EventContext.add_local()
EventContext.dump()
EventContext.dump_begin()
EventContext.dump_end()
EventContext.get()
EventContext.get_begin_dict()
EventContext.get_end_dict()
EventContext.get_global()
EventContext.get_local()
EventContext.remove_global()
EventContext.remove_local()
EventContext.set_global()
EventContext.set_local()
IsolatedFileWrite
current_time()
display_with_context()
with_context()
with_verbosity()
- ansible_runner.display_callback.callback.awx_display 模块
- 模块内容
- 子模块
子模块
ansible_runner.exceptions 模块
ansible_runner.interface 模块
- ansible_runner.interface.get_ansible_config(action, config_file=None, only_changed=None, **kwargs)[source]
运行 ansible-config 命令以获取与 Ansible 配置相关的详细信息。
- 参数:
action (str) – 有效值为
list
、dump
、view
之一,list
返回所有配置选项,dump
返回活动配置,view
返回配置文件的视图。config_file (str) – 配置文件路径,默认为优先级中找到的第一个文件。
only_changed (bool) – 当设置为
True
时,布尔值仅返回已更改的配置。此参数仅在action
设置为dump
时适用。runner_mode (str) – 适用的值为
pexpect
和subprocess
。默认设置为subprocess
。host_cwd (str) – 执行 executable_cmd 中命令的当前工作目录。
envvars (dict) – 在运行 Ansible 时要使用的环境变量。环境变量也将从
private_data_dir
中的env/envvars
中读取。passwords (dict) – 包含密码提示模式和响应值的字典,用于处理 Ansible 的输出。密码也将从
private_data_dir
中的env/passwords
中读取。settings (dict) – 包含
ansible-runner
运行时环境的设置值的字典。这些也将从private_data_dir
中的env/settings
中读取。ssh_key (str) – 传递给
ssh-agent
的 ssh 私钥,作为 ansible-playbook 运行的一部分。quiet (bool) – 禁用所有输出
json_mode (bool) – 在控制台和 stdout 文件中存储事件数据,而不是 stdout。
artifact_dir (str) – 存放工件的目录的路径,默认为私有数据目录下的 ‘artifacts’。
project_dir (str) – 剧本内容的路径,默认为私有数据目录下的 ‘project’。
rotate_artifacts (int) – 最多保留 n 个工件目录,使用值为 0 的值禁用,这也是默认值。
timeout (int) – 将传递给
pexpect
或subprocess
调用(基于所选的runner_mode
)的超时值(以秒为单位),同时执行命令。如果触发超时,它将强制取消执行。process_isolation (bool) – 启用进程隔离,使用容器引擎(例如 podman)。
process_isolation_executable (str) – 用于隔离执行的进程隔离可执行文件或容器引擎。(默认:podman)
container_image (str) – 运行 Ansible 任务时要使用的容器镜像。
container_volume_mounts (list) – 以 ‘host_dir:/container_dir:labels’ 形式表示的绑定挂载列表。(默认:None)
container_options (list) – 传递给执行引擎的容器选项列表。
container_workdir (str) – 容器内的工作目录。
fact_cache (str) – 将用作工件目录中事实缓存子目录名称的字符串。这仅用于 ‘jsonfile’ 类型的事实缓存。
fact_cache_type (str) – 要使用的事实缓存类型的字符串。默认为 ‘jsonfile’。
private_data_dir (str) – 包含调用 Runner 模块所需所有 Runner 元数据的目录。输出工件也将存储在此处,以便以后使用。
ident (str) – 本次 Runner 调用的运行标识符。将用于创建和命名保存调用结果的工件目录。
event_handler (Callable) – 一个可选的回调函数,当 Runner 本身接收到事件时将被调用,返回 True 以保留事件
cancel_callback (Callable) – 一个可选的回调函数,可以通知 Runner 取消(返回 True)或不取消(返回 False)
finished_callback (Callable) – 一个可选的回调函数,将在进程清理后关闭时被调用。
status_handler (Callable) – 一个可选的回调函数,将在状态发生更改时被调用(例如:启动、运行、失败、成功、超时)
artifacts_handler (Callable) – 一个可选的回调函数,将在运行结束时被调用,用于处理运行产生的工件。
check_job_event_data (bool) – 检查作业事件数据是否完全生成。如果事件数据未完全生成,并且将此值设置为 ‘True’,则会引发 ‘AnsibleRunnerException’ 异常,如果设置为 ‘False’,则会记录调试消息并继续执行。默认值为 ‘False’
- 返回值:
返回响应和错误字符串的元组。如果
runner_mode
设置为pexpect
,则错误值为空,因为pexpect
对 stdout 和 stderr 使用相同的输出描述符。
- ansible_runner.interface.get_inventory(action, inventories, response_format=None, host=None, playbook_dir=None, vault_ids=None, vault_password_file=None, output_file=None, export=None, **kwargs)[source]
运行 ansible-inventory 命令以获取与清单相关的详细信息。
- 参数:
action (str) – 有效值为
graph
、host
或list
之一。graph
返回清单图。host
返回特定主机的信息,并用作清单脚本。list
返回所有主机的信息,并用作清单脚本。inventories (list) – 清单主机路径列表。
response_format (str) – 响应的输出格式。有效值可以是
json
、yaml
或toml
之一。默认值为json
。如果action
为graph
,则仅允许的值为json
。host (str) – 当
action
设置为host
时,此参数用于获取特定主机的信息。playbook_dir (str) – 此参数用于设置清单的相对路径。
vault_ids (str) – 要使用的 Vault 标识。
vault_password_file (str) – 要使用的 Vault 密码文件。
output_file (str) – 清单详细信息应发送到的文件路径。
export (bool) – 如果设置了布尔值,则表示以一种针对导出优化的方式,而不是 Ansible 处理它的精确方式。
runner_mode (str) – 适用的值为
pexpect
和subprocess
。默认设置为subprocess
。host_cwd (str) – 要在容器中(如果已启用)挂载的主机当前工作目录,并且将成为容器中的工作目录。
envvars (dict) – 在运行 Ansible 时要使用的环境变量。环境变量也将从
private_data_dir
中的env/envvars
中读取。passwords (dict) – 包含密码提示模式和响应值的字典,用于处理 Ansible 的输出。密码也将从
private_data_dir
中的env/passwords
中读取。settings (dict) – 包含
ansible-runner
运行时环境的设置值的字典。这些也将从private_data_dir
中的env/settings
中读取。ssh_key (str) – 传递给
ssh-agent
的 ssh 私钥,作为 ansible-playbook 运行的一部分。quiet (bool) – 禁用所有输出
json_mode (bool) – 在控制台和 stdout 文件中存储事件数据,而不是 stdout。
artifact_dir (str) – 存放工件的目录的路径,默认为私有数据目录下的 ‘artifacts’。
project_dir (str) – 剧本内容的路径,默认为私有数据目录下的 ‘project’。
rotate_artifacts (int) – 最多保留 n 个工件目录,使用值为 0 的值禁用,这也是默认值。
timeout (int) – 将传递给
pexpect
或subprocess
调用(基于所选的runner_mode
)的超时值(以秒为单位),同时执行命令。如果触发超时,它将强制取消执行。process_isolation (bool) – 启用进程隔离,使用容器引擎(例如 podman)。
process_isolation_executable (str) – 用于隔离执行的进程隔离可执行文件或容器引擎。(默认:podman)
container_image (str) – 运行 Ansible 任务时要使用的容器镜像。
container_volume_mounts (list) – 以 ‘host_dir:/container_dir:labels’ 形式表示的绑定挂载列表。(默认:None)
container_options (list) – 传递给执行引擎的容器选项列表。
container_workdir (str) – 容器内的工作目录。
fact_cache (str) – 将用作工件目录中事实缓存子目录名称的字符串。这仅用于 ‘jsonfile’ 类型的事实缓存。
fact_cache_type (str) – 要使用的事实缓存类型的字符串。默认为 ‘jsonfile’。
private_data_dir (str) – 包含调用 Runner 模块所需所有 Runner 元数据的目录。输出工件也将存储在此处,以便以后使用。
ident (str) – 本次 Runner 调用的运行标识符。将用于创建和命名保存调用结果的工件目录。
event_handler (Callable) – 一个可选的回调函数,当 Runner 本身接收到事件时将被调用,返回 True 以保留事件
cancel_callback (Callable) – 一个可选的回调函数,可以通知 Runner 取消(返回 True)或不取消(返回 False)
finished_callback (Callable) – 一个可选的回调函数,将在进程清理后关闭时被调用。
status_handler (Callable) – 一个可选的回调函数,将在状态发生更改时被调用(例如:启动、运行、失败、成功、超时)
artifacts_handler (Callable) – 一个可选的回调函数,将在运行结束时被调用,用于处理运行产生的工件。
check_job_event_data (bool) – 检查作业事件数据是否完全生成。如果事件数据未完全生成,并且将此值设置为 ‘True’,则会引发 ‘AnsibleRunnerException’ 异常,如果设置为 ‘False’,则会记录调试消息并继续执行。默认值为 ‘False’
- 返回值:
返回响应和错误字符串的元组。如果
runner_mode
设置为pexpect
,则错误值为空,因为pexpect
对 stdout 和 stderr 使用相同的输出描述符。如果response_format
的值为json
,则返回一个 Python 字典对象。
- ansible_runner.interface.get_plugin_docs(plugin_names, plugin_type=None, response_format=None, snippet=False, playbook_dir=None, module_path=None, **kwargs)[source]
运行 ansible-doc 命令以在前景获取插件文档,并在完成后返回 Runner 对象。
- 参数:
plugin_names (list) – 要获取文档的插件名称。
plugin_type (str) – plugins_names 中提到的插件的类型。有效值为
become
、cache
、callback
、cliconf
、connection
、httpapi
、inventory
、lookup
、netconf
、shell
、vars
、module
、strategy
。如果未提供值,则默认为module
。response_format (str) – 响应的输出格式。有效值可以是
json
或human
,响应是 JSON 字符串或人类可读格式的纯文本。默认值为json
。snippet (bool) – 显示指定插件的剧本片段。
playbook_dir (str) – 此参数用于设置用于处理剧本相邻安装的插件的相对路径。
module_path (str) – 此参数将冒号分隔的路径前缀添加到模块库(默认值为 ~/.ansible/plugins/modules:/usr/share/ansible/plugins/modules)。
runner_mode (str) – 适用的值为
pexpect
和subprocess
。默认设置为subprocess
。host_cwd (str) – 要在容器中(如果已启用)挂载的主机当前工作目录,并且将成为容器中的工作目录。
envvars (dict) – 在运行 Ansible 时要使用的环境变量。环境变量也将从
private_data_dir
中的env/envvars
中读取。passwords (dict) – 包含密码提示模式和响应值的字典,用于处理 Ansible 的输出。密码也将从
private_data_dir
中的env/passwords
中读取。settings (dict) – 包含
ansible-runner
运行时环境的设置值的字典。这些也将从private_data_dir
中的env/settings
中读取。ssh_key (str) – 传递给
ssh-agent
的 ssh 私钥,作为 ansible-playbook 运行的一部分。quiet (bool) – 禁用所有输出
json_mode (bool) – 在控制台和 stdout 文件中存储事件数据,而不是 stdout。
artifact_dir (str) – 存放工件的目录的路径,默认为私有数据目录下的 ‘artifacts’。
project_dir (str) – 剧本内容的路径,默认为私有数据目录下的 ‘project’。
rotate_artifacts (int) – 最多保留 n 个工件目录,使用值为 0 的值禁用,这也是默认值。
timeout (int) – 将传递给
pexpect
或subprocess
调用(基于所选的runner_mode
)的超时值(以秒为单位),同时执行命令。如果触发超时,它将强制取消执行。process_isolation (bool) – 启用进程隔离,使用容器引擎(例如 podman)。
process_isolation_executable (str) – 用于隔离执行的进程隔离可执行文件或容器引擎。(默认:podman)
container_image (str) – 运行 Ansible 任务时要使用的容器镜像。
container_volume_mounts (list) – 以 ‘host_dir:/container_dir:labels’ 形式表示的绑定挂载列表。(默认:None)
container_options (list) – 传递给执行引擎的容器选项列表。
container_workdir (str) – 容器内的工作目录。
fact_cache (str) – 将用作工件目录中事实缓存子目录名称的字符串。这仅用于 ‘jsonfile’ 类型的事实缓存。
fact_cache_type (str) – 要使用的事实缓存类型的字符串。默认为 ‘jsonfile’。
private_data_dir (str) – 包含调用 Runner 模块所需所有 Runner 元数据的目录。输出工件也将存储在此处,以便以后使用。
ident (str) – 本次 Runner 调用的运行标识符。将用于创建和命名保存调用结果的工件目录。
event_handler (Callable) – 一个可选的回调函数,当 Runner 本身接收到事件时将被调用,返回 True 以保留事件
cancel_callback (Callable) – 一个可选的回调函数,可以通知 Runner 取消(返回 True)或不取消(返回 False)
finished_callback (Callable) – 一个可选的回调函数,将在进程清理后关闭时被调用。
status_handler (Callable) – 一个可选的回调函数,将在状态发生更改时被调用(例如:启动、运行、失败、成功、超时)
artifacts_handler (Callable) – 一个可选的回调函数,将在运行结束时被调用,用于处理运行产生的工件。
check_job_event_data (bool) – 检查作业事件数据是否完全生成。如果事件数据未完全生成,并且将此值设置为 ‘True’,则会引发 ‘AnsibleRunnerException’ 异常,如果设置为 ‘False’,则会记录调试消息并继续执行。默认值为 ‘False’
- 返回值:
返回响应和错误字符串的元组。如果
runner_mode
设置为pexpect
,则错误值为空,因为pexpect
对 stdout 和 stderr 使用相同的输出描述符。如果response_format
的值为json
,则返回一个 Python 字典对象。
- ansible_runner.interface.get_plugin_docs_async(plugin_names, plugin_type=None, response_format=None, snippet=False, playbook_dir=None, module_path=None, **kwargs)[source]
在后台运行 ansible-doc 命令,该命令会立即启动。返回线程对象和 Runner 对象。
此命令使用与
ansible_runner.interface.get_plugin_docs()
相同的参数- 返回值:
包含
threading.Thread
对象和ansible_runner.runner.Runner
对象的元组。
- ansible_runner.interface.get_plugin_list(list_files=None, response_format=None, plugin_type=None, playbook_dir=None, module_path=None, **kwargs)[source]
运行 ansible-doc 命令以获取已安装 Ansible 插件的列表。
- 参数:
list_files (bool) – 将布尔参数设置为
True
将返回插件的文件路径以及插件名称。response_format (str) – 响应的输出格式。有效值可以是
json
或human
,响应是 JSON 字符串或人类可读格式的纯文本。默认值为json
。plugin_type (str) – plugins_names 中提到的插件的类型。有效值为
become
、cache
、callback
、cliconf
、connection
、httpapi
、inventory
、lookup
、netconf
、shell
、vars
、module
、strategy
。如果未提供值,则默认为module
。playbook_dir (str) – 此参数用于设置用于处理剧本相邻安装的插件的相对路径。
module_path (str) – 此参数将冒号分隔的路径前缀添加到模块库(默认值为 ~/.ansible/plugins/modules:/usr/share/ansible/plugins/modules)。
runner_mode (str) – 适用的值为
pexpect
和subprocess
。默认设置为subprocess
。host_cwd (str) – 要在容器中(如果已启用)挂载的主机当前工作目录,并且将成为容器中的工作目录。
envvars (dict) – 在运行 Ansible 时要使用的环境变量。环境变量也将从
private_data_dir
中的env/envvars
中读取。passwords (dict) – 包含密码提示模式和响应值的字典,用于处理 Ansible 的输出。密码也将从
private_data_dir
中的env/passwords
中读取。settings (dict) – 包含
ansible-runner
运行时环境的设置值的字典。这些也将从private_data_dir
中的env/settings
中读取。ssh_key (str) – 传递给
ssh-agent
的 ssh 私钥,作为 ansible-playbook 运行的一部分。quiet (bool) – 禁用所有输出
json_mode (bool) – 在控制台和 stdout 文件中存储事件数据,而不是 stdout。
artifact_dir (str) – 存放工件的目录的路径,默认为私有数据目录下的 ‘artifacts’。
project_dir (str) – 剧本内容的路径,默认为私有数据目录下的 ‘project’。
rotate_artifacts (int) – 最多保留 n 个工件目录,使用值为 0 的值禁用,这也是默认值。
timeout (int) – 将传递给
pexpect
或subprocess
调用(基于所选的runner_mode
)的超时值(以秒为单位),同时执行命令。如果触发超时,它将强制取消执行。process_isolation (bool) – 启用进程隔离,使用容器引擎(例如 podman)。
process_isolation_executable (str) – 用于隔离执行的进程隔离可执行文件或容器引擎。(默认:podman)
container_image (str) – 运行 Ansible 任务时要使用的容器镜像。
container_volume_mounts (list) – 以 ‘host_dir:/container_dir:labels’ 形式表示的绑定挂载列表。(默认:None)
container_options (list) – 传递给执行引擎的容器选项列表。
container_workdir (str) – 容器内的工作目录。
fact_cache (str) – 将用作工件目录中事实缓存子目录名称的字符串。这仅用于 ‘jsonfile’ 类型的事实缓存。
fact_cache_type (str) – 要使用的事实缓存类型的字符串。默认为 ‘jsonfile’。
private_data_dir (str) – 包含调用 Runner 模块所需所有 Runner 元数据的目录。输出工件也将存储在此处,以便以后使用。
ident (str) – 本次 Runner 调用的运行标识符。将用于创建和命名保存调用结果的工件目录。
event_handler (Callable) – 一个可选的回调函数,当 Runner 本身接收到事件时将被调用,返回 True 以保留事件
cancel_callback (Callable) – 一个可选的回调函数,可以通知 Runner 取消(返回 True)或不取消(返回 False)
finished_callback (Callable) – 一个可选的回调函数,将在进程清理后关闭时被调用。
status_handler (Callable) – 一个可选的回调函数,将在状态发生更改时被调用(例如:启动、运行、失败、成功、超时)
artifacts_handler (Callable) – 一个可选的回调函数,将在运行结束时被调用,用于处理运行产生的工件。
check_job_event_data (bool) – 检查作业事件数据是否完全生成。如果事件数据未完全生成,并且将此值设置为 ‘True’,则会引发 ‘AnsibleRunnerException’ 异常,如果设置为 ‘False’,则会记录调试消息并继续执行。默认值为 ‘False’
- 返回值:
返回响应和错误字符串的元组。如果
runner_mode
设置为pexpect
,则错误值为空,因为pexpect
对 stdout 和 stderr 使用相同的输出描述符。如果response_format
的值为json
,则返回一个 Python 字典对象。
- ansible_runner.interface.get_role_argspec(role, collection=None, playbook_dir=None, **kwargs)[source]
运行
ansible-doc
命令以获取角色参数规范。注意
版本添加:2.2
- 参数:
role (str) – 要查询的简单角色名称或完全限定的集合角色名称。
collection (str) – 如果指定,将与角色名称组合以形成完全限定的集合角色名称。如果提供此参数,则
role
参数不应完全限定。playbook_dir (str) – 此参数用于设置相对路径以处理剧本相邻的已安装角色。
runner_mode (str) – 适用的值为
pexpect
和subprocess
。默认设置为subprocess
。host_cwd (str) – 要在容器中(如果已启用)挂载的主机当前工作目录,并且将成为容器中的工作目录。
envvars (dict) – 在运行 Ansible 时要使用的环境变量。环境变量也将从
private_data_dir
中的env/envvars
中读取。passwords (dict) – 包含密码提示模式和响应值的字典,用于处理 Ansible 的输出。密码也将从
private_data_dir
中的env/passwords
中读取。settings (dict) – 包含
ansible-runner
运行时环境的设置值的字典。这些也将从private_data_dir
中的env/settings
中读取。ssh_key (str) – 传递给
ssh-agent
的 ssh 私钥,作为 ansible-playbook 运行的一部分。quiet (bool) – 禁用所有输出
json_mode (bool) – 在控制台和 stdout 文件中存储事件数据,而不是 stdout。
artifact_dir (str) – 存放工件的目录的路径,默认为私有数据目录下的 ‘artifacts’。
project_dir (str) – 剧本内容的路径,默认为私有数据目录下的 ‘project’。
rotate_artifacts (int) – 最多保留 n 个工件目录,使用值为 0 的值禁用,这也是默认值。
timeout (int) – 将传递给
pexpect
或subprocess
调用(基于所选的runner_mode
)的超时值(以秒为单位),用于执行命令。如果超时触发,它将强制取消执行。process_isolation (bool) – 使用容器引擎(如 podman)启用进程隔离。
process_isolation_executable (str) – 用于隔离执行的进程隔离可执行文件或容器引擎。(默认:podman)
container_image (str) – 运行 Ansible 任务时要使用的容器镜像
container_volume_mounts (list) – 以
host_dir:/container_dir:labels
格式绑定的挂载列表。(默认值:None)container_options (list) – 传递给执行引擎的容器选项列表。
container_workdir (str) – 容器内的工作目录。
fact_cache (str) – 将用作工件目录中事实缓存子目录名称的字符串。这仅用于 ‘jsonfile’ 类型的事实缓存。
fact_cache_type (str) – 要使用的事实缓存类型的字符串。默认为 ‘jsonfile’。
private_data_dir (str) – 包含调用 Runner 模块所需所有 Runner 元数据的目录。输出工件也将存储在此处,以便以后使用。
ident (str) – 本次 Runner 调用的运行标识符。将用于创建和命名保存调用结果的工件目录。
event_handler (Callable) – 一个可选的回调函数,当 Runner 本身接收到事件时将被调用,返回 True 以保留事件
cancel_callback (Callable) – 一个可选的回调函数,可以通知 Runner 取消(返回 True)或不取消(返回 False)
finished_callback (Callable) – 一个可选的回调函数,将在进程清理后关闭时被调用。
status_handler (Callable) – 一个可选的回调,每当状态更改时(例如:启动、运行、失败、成功、超时)都会调用该回调
artifacts_handler (Callable) – 一个可选的回调函数,将在运行结束时被调用,用于处理运行产生的工件。
check_job_event_data (bool) – 检查作业事件数据是否完全生成。如果事件数据没有完全生成并且该值设置为“True”,则会引发“AnsibleRunnerException”异常。如果设置为“False”,则记录调试消息并继续执行。默认值为“False”
- 返回值:
响应和错误字符串的元组。响应是一个字典对象(如 ansible-doc JSON 输出返回),包含找到的每个角色,或者如果未找到任何角色则为空字典。
- ansible_runner.interface.get_role_list(collection=None, playbook_dir=None, **kwargs)[source]
运行
ansible-doc
命令以获取已安装集合角色的列表。仅返回定义了参数规范的角色。
注意
版本添加:2.2
- 参数:
collection (str) – 用于筛选结果的完全限定的集合名称。
playbook_dir (str) – 此参数用于设置相对路径以处理剧本相邻的已安装角色。
runner_mode (str) – 适用的值为
pexpect
和subprocess
。默认设置为subprocess
。host_cwd (str) – 要在容器中(如果已启用)挂载的主机当前工作目录,并且将成为容器中的工作目录。
envvars (dict) – 在运行 Ansible 时要使用的环境变量。环境变量也将从
private_data_dir
中的env/envvars
中读取。passwords (dict) – 包含密码提示模式和响应值的字典,用于处理 Ansible 的输出。密码也将从
private_data_dir
中的env/passwords
中读取。settings (dict) – 包含
ansible-runner
运行时环境的设置值的字典。这些也将从private_data_dir
中的env/settings
中读取。ssh_key (str) – 传递给
ssh-agent
的 ssh 私钥,作为 ansible-playbook 运行的一部分。quiet (bool) – 禁用所有输出
json_mode (bool) – 在控制台和 stdout 文件中存储事件数据,而不是 stdout。
artifact_dir (str) – 存放工件的目录的路径,默认为私有数据目录下的 ‘artifacts’。
project_dir (str) – 剧本内容的路径,默认为私有数据目录下的 ‘project’。
rotate_artifacts (int) – 最多保留 n 个工件目录,使用值为 0 的值禁用,这也是默认值。
timeout (int) – 将传递给
pexpect
或subprocess
调用(基于所选的runner_mode
)的超时值(以秒为单位),用于执行命令。如果超时触发,它将强制取消执行。process_isolation (bool) – 使用容器引擎(如 podman)启用进程隔离。
process_isolation_executable (str) – 用于隔离执行的进程隔离可执行文件或容器引擎。(默认:podman)
container_image (str) – 运行 Ansible 任务时要使用的容器镜像
container_volume_mounts (list) – 以
host_dir:/container_dir:labels
格式绑定的挂载列表。(默认值:None)container_options (list) – 传递给执行引擎的容器选项列表。
container_workdir (str) – 容器内的工作目录。
fact_cache (str) – 将用作工件目录中事实缓存子目录名称的字符串。这仅用于 ‘jsonfile’ 类型的事实缓存。
fact_cache_type (str) – 要使用的事实缓存类型的字符串。默认为 ‘jsonfile’。
private_data_dir (str) – 包含调用 Runner 模块所需所有 Runner 元数据的目录。输出工件也将存储在此处,以便以后使用。
ident (str) – 本次 Runner 调用的运行标识符。将用于创建和命名保存调用结果的工件目录。
event_handler (Callable) – 一个可选的回调函数,当 Runner 本身接收到事件时将被调用,返回 True 以保留事件
cancel_callback (Callable) – 一个可选的回调函数,可以通知 Runner 取消(返回 True)或不取消(返回 False)
finished_callback (Callable) – 一个可选的回调函数,将在进程清理后关闭时被调用。
status_handler (Callable) – 一个可选的回调,每当状态更改时(例如:启动、运行、失败、成功、超时)都会调用该回调
artifacts_handler (Callable) – 一个可选的回调函数,将在运行结束时被调用,用于处理运行产生的工件。
check_job_event_data (bool) – 检查作业事件数据是否完全生成。如果事件数据没有完全生成并且该值设置为“True”,则会引发“AnsibleRunnerException”异常。如果设置为“False”,则记录调试消息并继续执行。默认值为“False”
- 返回值:
响应和错误字符串的元组。响应是一个字典对象(如 ansible-doc JSON 输出返回),包含找到的每个角色,或者如果未找到任何角色则为空字典。
- ansible_runner.interface.init_command_config(executable_cmd, cmdline_args=None, **kwargs)[source]
初始化 Runner() 实例
此函数将以相同的方式正确初始化 run_command() 和 run_command_async() 函数,并返回 Runner 的值实例。
请参阅传递给
ansible_runner.interface.run_command()
的参数
- ansible_runner.interface.init_plugin_docs_config(plugin_names, plugin_type=None, response_format=None, snippet=False, playbook_dir=None, module_path=None, **kwargs)[source]
初始化 Runner() 实例
此函数将以相同的方式正确初始化 get_plugin_docs() 和 get_plugin_docs_async() 函数,并返回 Runner 的值实例。
请参阅传递给
ansible_runner.interface.get_plugin_docs()
的参数
- ansible_runner.interface.init_runner(**kwargs)[source]
初始化 Runner() 实例
此函数将以相同的方式正确初始化 run() 和 run_async() 函数,并返回 Runner 的值实例。
请参阅传递给
ansible_runner.interface.run()
的参数
- ansible_runner.interface.run(**kwargs)[source]
在前台运行 Ansible Runner 任务,并在完成后返回 Runner 对象。
- 参数:
private_data_dir (str) – 包含调用 Runner 模块所需所有 Runner 元数据的目录。输出工件也将存储在此处,以便以后使用。
ident (str) – 本次 Runner 调用的运行标识符。将用于创建和命名保存调用结果的工件目录。
json_mode (bool) – 在控制台和 stdout 文件中存储事件数据,而不是 stdout。
playbook (str 或 list) – 剧本(可以是剧本的列表或字典,也可以是相对于
private_data_dir/project
的路径),将在执行 Ansible 时由 runner 调用。模块 (str) – 运行程序执行 Ansible 时,将在 ad-hoc 模式下调用的模块。
模块参数 (str) – 将提供给 ad-hoc 模式的模块参数。
主机模式 (str) – 在 ad-hoc 模式下运行时匹配的主机模式。
用特定主机或主机列表覆盖清单目录/文件(在
private_data_dir/inventory
中提供)。它可以采用以下形式:private_data_dir/inventory
目录中清单文件的路径或清单文件的绝对路径支持 YAML/json 清单结构的原生 python 字典
一个文本 INI 格式的字符串
清单来源列表,或空列表以禁用传递清单
角色 (str) – 要执行的角色的名称。
envvars (dict) – 在运行 Ansible 时要使用的环境变量。环境变量也将从
private_data_dir
中的env/envvars
中读取。额外变量 (dict) – 使用
-e
在运行时传递给 Ansible 的额外变量。额外变量也将从env/extravars
中读取private_data_dir
。passwords (dict) – 包含密码提示模式和响应值的字典,用于处理 Ansible 的输出。密码也将从
private_data_dir
中的env/passwords
中读取。settings (dict) – 包含
ansible-runner
运行时环境的设置值的字典。这些也将从private_data_dir
中的env/settings
中读取。ssh_key (str) – 传递给
ssh-agent
的 ssh 私钥,作为 ansible-playbook 运行的一部分。命令行 (str) – 从
env/cmdline
中读取并传递给 Ansible 的命令行选项private_data_dir
抑制环境文件 (bool) – 禁用将文件写入
env
,该文件可能存储敏感信息限制 (str) – 与 ansible 的
--limit
参数匹配,以进一步限制要使用的清单分叉 (int) – 控制 Ansible 并行并发性
详细程度 (int) – 控制 ansible-playbook 输出的详细程度
quiet (bool) – 禁用所有输出
artifact_dir (str) – 存放工件的目录的路径,默认为私有数据目录下的 ‘artifacts’。
project_dir (str) – 剧本内容的路径,默认为私有数据目录下的 ‘project’。
rotate_artifacts (int) – 最多保留 n 个工件目录,使用值为 0 的值禁用,这也是默认值。
timeout (int) – 将传递给
pexpect
或subprocess
调用(基于所选的runner_mode
)的超时值(以秒为单位),同时执行命令。如果触发超时,它将强制取消执行。流媒体 (str) – 可选地调用 ansible-runner 作为流媒体管道中的一个步骤
_input (io.FileIO) – 用于作为流媒体管道中输入的可选文件或类文件对象
_output (io.FileIO) – 用于作为流媒体管道中输出的可选文件或类文件对象
event_handler (Callable) – 一个可选的回调函数,当 Runner 本身接收到事件时将被调用,返回 True 以保留事件
cancel_callback (Callable) – 一个可选的回调函数,可以通知 Runner 取消(返回 True)或不取消(返回 False)
finished_callback (Callable) – 一个可选的回调函数,将在进程清理后关闭时被调用。
status_handler (Callable) – 一个可选的回调函数,将在状态发生更改时被调用(例如:启动、运行、失败、成功、超时)
artifacts_handler (Callable) – 一个可选的回调函数,将在运行结束时被调用,用于处理运行产生的工件。
进程隔离 (bool) – 启用进程隔离,使用容器引擎(例如 podman)或沙箱(例如 bwrap)。
process_isolation_executable (str) – 用于隔离执行的进程隔离可执行文件或容器引擎。(默认:podman)
进程隔离路径 (str) – 隔离的剧本运行将用于暂存的路径。(默认:/tmp)
container_image (str) – 运行 Ansible 任务时要使用的容器镜像。
容器卷挂载 (list) – 绑定挂载的列表,形式为 ‘host_dir:/container_dir。(默认:无)
container_options (list) – 传递给执行引擎的容器选项列表。
目录隔离基础路径 (str) – 可选的路径将用作创建临时目录的基础路径,项目内容将被复制到此位置,然后用作剧本执行期间的工作目录。
fact_cache (str) – 将用作工件目录中事实缓存子目录名称的字符串。这仅用于 ‘jsonfile’ 类型的事实缓存。
fact_cache_type (str) – 要使用的事实缓存类型的字符串。默认为 ‘jsonfile’。
省略事件数据 (bool) – 从事件有效负载中省略额外的 ansible 事件数据(stdout 和事件仍然包含在内)
仅失败事件数据 (bool) – 除非是失败事件,否则省略额外的 ansible 事件数据(stdout 和事件仍然包含在内)
check_job_event_data (bool) – 检查作业事件数据是否完全生成。如果事件数据未完全生成,并且将此值设置为 ‘True’,则会引发 ‘AnsibleRunnerException’ 异常,如果设置为 ‘False’,则会记录调试消息并继续执行。默认值为 ‘False’
- 返回值:
一个
ansible_runner.runner.Runner
对象,或者包含rc
的简单对象(如果远程运行)
- ansible_runner.interface.run_async(**kwargs)[source]
在后台运行 Ansible Runner 任务,该任务将立即启动。返回线程对象和 Runner 对象。
这使用与
ansible_runner.interface.run()
相同的参数- 返回值:
包含
threading.Thread
对象和ansible_runner.runner.Runner
对象的元组。
- ansible_runner.interface.run_command(executable_cmd, cmdline_args=None, **kwargs)[source]
在前台运行(Ansible)命令,并在完成后返回 Runner 对象。
- 参数:
可执行命令 (str) – 要执行的命令。
命令行参数 (list) – 要传递给可执行命令的参数列表。
输入文件描述符 (int) – 此参数适用于
runner_mode
设置为subprocess
的情况,它提供与运行命令的子进程交互的输入文件描述符。输出文件描述符 (int) – 用于流式传输命令执行输出的文件描述符。
错误文件描述符 (int) – 此参数适用于
runner_mode
设置为subprocess
的情况,它提供用于读取执行命令时收到的错误的文件描述符。运行程序模式 (str) – 适用的值为
pexpect
和subprocess
。如果input_fd
参数的值已设置,或者可执行命令是ansible-config
、ansible-doc
或ansible-galaxy
之一,则默认值设置为subprocess
,否则在其他情况下设置为pexpect
。host_cwd (str) – 要在容器中(如果已启用)挂载的主机当前工作目录,并且将成为容器中的工作目录。
envvars (dict) – 在运行 Ansible 时要使用的环境变量。环境变量也将从
private_data_dir
中的env/envvars
中读取。passwords (dict) – 包含密码提示模式和响应值的字典,用于处理 Ansible 的输出。密码也将从
private_data_dir
中的env/passwords
中读取。settings (dict) – 包含
ansible-runner
运行时环境的设置值的字典。这些也将从private_data_dir
中的env/settings
中读取。ssh_key (str) – 传递给
ssh-agent
的 ssh 私钥,作为 ansible-playbook 运行的一部分。quiet (bool) – 禁用所有输出
json_mode (bool) – 在控制台和 stdout 文件中存储事件数据,而不是 stdout。
artifact_dir (str) – 存放工件的目录的路径,默认为私有数据目录下的 ‘artifacts’。
project_dir (str) – 剧本内容的路径,默认为私有数据目录下的 ‘project’。
rotate_artifacts (int) – 最多保留 n 个工件目录,使用值为 0 的值禁用,这也是默认值。
timeout (int) – 将传递给
pexpect
或subprocess
调用(基于所选的runner_mode
)的超时值(以秒为单位),同时执行命令。如果触发超时,它将强制取消执行。process_isolation (bool) – 启用进程隔离,使用容器引擎(例如 podman)。
process_isolation_executable (str) – 用于隔离执行的进程隔离可执行文件或容器引擎。(默认:podman)
container_image (str) – 运行 Ansible 任务时要使用的容器镜像。
container_volume_mounts (list) – 以 ‘host_dir:/container_dir:labels’ 形式表示的绑定挂载列表。(默认:None)
container_options (list) – 传递给执行引擎的容器选项列表。
container_workdir (str) – 容器内的工作目录。
fact_cache (str) – 将用作工件目录中事实缓存子目录名称的字符串。这仅用于 ‘jsonfile’ 类型的事实缓存。
fact_cache_type (str) – 要使用的事实缓存类型的字符串。默认为 ‘jsonfile’。
private_data_dir (str) – 包含调用 Runner 模块所需所有 Runner 元数据的目录。输出工件也将存储在此处,以便以后使用。
ident (str) – 本次 Runner 调用的运行标识符。将用于创建和命名保存调用结果的工件目录。
event_handler (Callable) – 一个可选的回调函数,当 Runner 本身接收到事件时将被调用,返回 True 以保留事件
cancel_callback (Callable) – 一个可选的回调函数,可以通知 Runner 取消(返回 True)或不取消(返回 False)
finished_callback (Callable) – 一个可选的回调函数,将在进程清理后关闭时被调用。
status_handler (Callable) – 一个可选的回调函数,将在状态发生更改时被调用(例如:启动、运行、失败、成功、超时)
artifacts_handler (Callable) – 一个可选的回调函数,将在运行结束时被调用,用于处理运行产生的工件。
check_job_event_data (bool) – 检查作业事件数据是否完全生成。如果事件数据未完全生成,并且将此值设置为 ‘True’,则会引发 ‘AnsibleRunnerException’ 异常,如果设置为 ‘False’,则会记录调试消息并继续执行。默认值为 ‘False’
- 返回值:
返回响应、错误字符串和返回码的元组。如果
runner_mode
设置为pexpect
,则错误值为空,因为pexpect
对 stdout 和 stderr 使用相同的输出描述符。
- ansible_runner.interface.run_command_async(executable_cmd, cmdline_args=None, **kwargs)[source]
在后台运行(Ansible)命令,该命令将立即启动。返回线程对象和 Runner 对象。
这使用与
ansible_runner.interface.run_command()
相同的参数- 返回值:
包含
threading.Thread
对象和ansible_runner.runner.Runner
对象的元组。
ansible_runner.loader 模块
- class ansible_runner.loader.ArtifactLoader(base_path: str)[source]
Bases:
object
处理从磁盘加载和缓存文件内容
此类将加载文件内容并尝试将内容反序列化为 JSON 或 YAML。如果无法反序列化文件内容,则内容将作为字符串返回给调用者。
反序列化的文件内容存储为实例中的缓存对象,以避免对后续加载相同文件的调用进行任何额外的磁盘读取操作。
- isfile(path: str) bool [source]
检查路径是否为文件。
- 参数:
path (str) – 要检查的文件的路径。如果路径是相对的,它将被扩展为绝对路径。
- 返回值:
如果路径是文件,则为 True,否则为 False。
ansible_runner.runner 模块
- class ansible_runner.runner.Runner(config, cancel_callback=None, remove_partials=True, event_handler=None, artifacts_handler=None, finished_callback=None, status_handler=None)[source]
Bases:
object
- property events
一个生成器,将按从 Ansible 发出的顺序返回所有 ansible 作业事件。
- 示例:
{ "event": "runner_on_ok", "uuid": "00a50d9c-161a-4b74-b978-9f60becaf209", "stdout": "ok: [localhost] => {\r\n \" msg\":\"Test!\"\r\n}", "counter": 6, "pid": 740, "created": "2018-04-05T18:24:36.096725", "end_line": 10, "start_line": 7, "event_data": { "play_pattern": "all", "play": "all", "task": "debug", "task_args": "msg=Test!", "remote_addr": "localhost", "res": { "msg": "Test!", "changed": false, "_ansible_verbose_always": true, "_ansible_no_log": false }, "pid": 740, "play_uuid": "0242ac11-0002-443b-cdb1-000000000006", "task_uuid": "0242ac11-0002-443b-cdb1-000000000008", "event_loop": null, "playbook_uuid": "634edeee-3228-4c17-a1b4-f010fdd42eb2", "playbook": "test.yml", "task_action": "debug", "host": "localhost", "task_path": "/tmp/demo/project/test.yml:3" } }
- classmethod handle_termination(pid, pidfile=None)[source]
用于终止由
pexpect
生成的子进程的内部方法,该子进程表示对 runner 的调用。- 参数:
pid – 正在运行作业的进程 ID。
pidfile – 守护程序的 PID 文件。
- property stats
返回 Ansible 运行的最终高级统计信息。
- 示例
{‘dark’: {}, ‘failures’: {}, ‘skipped’: {}, ‘ok’: {u’localhost’: 2}, ‘processed’: {u’localhost’: 1}}
- property stderr
返回表示 Ansible 运行的 stderr 的开放文件句柄。
- property stdout
返回一个指向 Ansible 运行的标准输出的打开文件句柄。
ansible_runner.runner_config 模块
ansible_runner.utils 模块
- class ansible_runner.utils.Bunch(**kwargs)[source]
Bases:
object
将一组变量收集到一个对象中。这只是对 Alex Martelli 和 Doug Hudgeon 的 Bunch 模式的稍微修改。
- class ansible_runner.utils.OutputEventFilter(handle: StreamReaderWriter, event_callback: Callable[[dict], None], suppress_ansible_output: bool = False, output_json: bool = False)[source]
Bases:
object
类似文件的对象,用于在标准输出数据中查找编码后的作业事件。
- EVENT_DATA_RE = re.compile('\\x1b\\[K((?:[A-Za-z0-9+/=]+\\x1b\\[\\d+D)+)\\x1b\\[K')
- ansible_runner.utils.check_isolation_executable_installed(isolation_executable: str) bool [source]
检查进程隔离可执行文件是否已安装。
- 参数:
isolation_executable (str) – 可执行文件名(例如 podman、docker、bwrap)。
- 返回值:
如果可执行文件已安装,则为 True,否则为 False。
- ansible_runner.utils.collect_new_events(event_path: str, old_events: dict) Iterator[tuple[dict, dict]] [source]
收集新的事件到“事件”生成器属性。
- ansible_runner.utils.dump_artifact(obj: str, path: str, filename: str | None = None) str [source]
将工件写入指定路径的磁盘。
- ansible_runner.utils.ensure_str(s: Any, encoding='utf-8', errors='strict') str [source]
将s强制转换为
str
。str
->str
bytes
-> 解码为str
- ansible_runner.utils.isinventory(obj: Any) bool [source]
检查对象并返回它是否是清单。
- 参数:
obj (Any) – 要由此函数检查的对象。
- 返回值:
如果对象是清单字典,则为 True;如果对象不是清单字典,则为 False。
- ansible_runner.utils.isplaybook(obj: Any) bool [source]
检查对象并返回它是否是剧本。
- 参数:
obj (Any) – 要由此函数检查的对象。
- 返回值:
如果对象是列表,则为 True;如果对象不是列表,则为 False。
- ansible_runner.utils.open_fifo_write(path: str, data: str | bytes) None [source]
在一个新线程中打开名为管道命名的 fifo。
这将阻塞线程,直到外部进程(如 ssh-agent)从管道中读取数据。
- ansible_runner.utils.register_for_cleanup(folder: str) None [source]
提供一个文件夹的路径,以确保在执行结束时将其删除。在调用此函数时,该文件夹不必存在。
- ansible_runner.utils.sanitize_container_name(original_name: str) str [source]
Docker 和 podman 仅接受容器名称中的某些字符。此函数接收用户指定的名称,并替换无效字符,使其可在 docker/podman CLI 命令中使用。
- 参数:
original_name (str) – 容器名称,可能包含无效字符。