community.general.rundeck_job_run 模块 – 运行 Rundeck 作业

注意

此模块是 community.general 集合(版本 10.1.0)的一部分。

如果您正在使用 ansible 包,您可能已经安装了此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install community.general

要在 playbook 中使用它,请指定:community.general.rundeck_job_run

community.general 3.8.0 中的新增功能

概要

  • 此模块运行由 ID 指定的 Rundeck 作业。

参数

参数

注释

abort_on_timeout

布尔值

如果超过指定的 wait_execution_timeout,则发送作业中止请求。

选项

  • false ←(默认)

  • true

api_token

字符串 / 必需

Rundeck 用户 API 令牌。

api_version

整数

要使用的 Rundeck API 版本。

API 版本必须至少为 14。

默认值: 39

client_cert

路径

用于 SSL 客户端身份验证的 PEM 格式的证书链文件。

此文件也可以包含密钥,如果包含密钥,则不需要 client_key

client_key

路径

PEM 格式的文件,其中包含用于 SSL 客户端身份验证的私钥。

如果 client_cert 同时包含证书和密钥,则不需要此选项。

filter_nodes

字符串

过滤必须运行作业的节点。

请参阅 https://docs.rundeck.com/docs/manual/11-node-filters.html#node-filter-syntax

force

布尔值

如果为 yes,则不获取缓存副本。

选项

  • false ←(默认)

  • true

force_basic_auth

布尔值

使用 url_usernameurl_password 指定的凭据应在 HTTP 标头中传递。

选项

  • false ←(默认)

  • true

http_agent

字符串

要标识为的标头,通常出现在 Web 服务器日志中。

默认值: "ansible-httpget"

job_id

字符串 / 必需

作业唯一 ID。

job_options

字典

步骤的作业选项。

数值必须用引号引起来。

loglevel

字符串

日志级别配置。

选项

  • "debug"

  • "verbose"

  • "info" ←(默认)

  • "warn"

  • "error"

run_at_time

字符串

计划在特定日期和时间运行作业执行。

ISO-8601 日期和时间格式,如 2021-10-05T15:45:00-03:00

url

字符串 / 必需

Rundeck 实例 URL。

url_password

字符串

用于 HTTP 基本身份验证的密码。

如果未指定 url_username 参数,则不会使用 url_password 参数。

url_username

字符串

用于 HTTP 基本身份验证的用户名。

对于允许空密码的站点,可以使用此参数而不使用 url_password

use_gssapi

布尔值

在 ansible-core 2.11 中添加。

使用 GSSAPI 执行身份验证,通常用于 Kerberos 或通过 Negotiate 身份验证的 Kerberos。

需要安装 Python 库 gssapi

可以使用 url_username/url_password 或指定自定义 Kerberos 凭据缓存的 GSSAPI 环境变量 KRB5CCNAME 来指定 GSSAPI 的凭据。

即使安装了 NTLM 的 GSSAPI 机制,也 支持 NTLM 身份验证。

选项

  • false ←(默认)

  • true

use_proxy

布尔值

如果为 no,即使目标主机上的环境变量中定义了代理,也不会使用代理。

选项

  • false

  • true ← (默认)

validate_certs

布尔值

如果为 no,则不会验证 SSL 证书。

这应该仅用于使用自签名证书的个人控制站点。

选项

  • false

  • true ← (默认)

wait_execution

布尔值

等待直到作业执行完成。

选项

  • false

  • true ← (默认)

wait_execution_delay

整数

作业执行状态检查请求之间的延迟(以秒为单位)。

默认值: 5

wait_execution_timeout

整数

作业执行等待超时时间(以秒为单位)。

如果达到超时时间,作业将被中止。

请记住,每次作业状态检查后都会基于 wait_execution_delay 进行睡眠。

默认值: 120

属性

属性

支持

描述

check_mode

支持:

可以在 check_mode 中运行并返回已更改状态的预测,而无需修改目标。

diff_mode

支持:

当处于 diff 模式时,将返回有关已更改(或可能需要在 check_mode 中更改)的详细信息。

示例

- name: Run a Rundeck job
  community.general.rundeck_job_run:
    url: "https://rundeck.example.org"
    api_version: 39
    api_token: "mytoken"
    job_id: "xxxxxxxxxxxxxxxxx"
  register: rundeck_job_run

- name: Show execution info
  ansible.builtin.debug:
    var: rundeck_job_run.execution_info

- name: Run a Rundeck job with options
  community.general.rundeck_job_run:
    url: "https://rundeck.example.org"
    api_version: 39
    api_token: "mytoken"
    job_id: "xxxxxxxxxxxxxxxxx"
    job_options:
        option_1: "value_1"
        option_2: "value_3"
        option_3: "value_3"
  register: rundeck_job_run

- name: Run a Rundeck job with timeout, delay between status check and abort on timeout
  community.general.rundeck_job_run:
    url: "https://rundeck.example.org"
    api_version: 39
    api_token: "mytoken"
    job_id: "xxxxxxxxxxxxxxxxx"
    wait_execution_timeout: 30
    wait_execution_delay: 10
    abort_on_timeout: true
  register: rundeck_job_run

- name: Schedule a Rundeck job
  community.general.rundeck_job_run:
    url: "https://rundeck.example.org"
    api_version: 39
    api_token: "mytoken"
    job_id: "xxxxxxxxxxxxxxxxx"
    run_at_time: "2021-10-05T15:45:00-03:00"
  register: rundeck_job_schedule

- name: Fire-and-forget a Rundeck job
  community.general.rundeck_job_run:
    url: "https://rundeck.example.org"
    api_version: 39
    api_token: "mytoken"
    job_id: "xxxxxxxxxxxxxxxxx"
    wait_execution: false
  register: rundeck_job_run

返回值

常见的返回值记录在此处:此处,以下是此模块独有的字段

描述

execution_info

字典

Rundeck 作业执行元数据。

返回:始终

示例: {"execution_info": {"argstring": "-exit_code 0", "date-ended": {"date": "2021-10-05T15:50:26Z", "unixtime": 1633449026358}, "date-started": {"date": "2021-10-05T15:50:20Z", "unixtime": 1633449020784}, "description": "sleep 5 && echo 'Test!' && exit ${option.exit_code}", "executionType": "user", "href": "https://rundeck.example.org/api/39/execution/1", "id": 1, "job": {"averageDuration": 4917, "description": "", "group": "", "href": "https://rundeck.example.org/api/39/job/697af0c4-72d3-4c15-86a3-b5bfe3c6cb6a", "id": "697af0c4-72d3-4c15-86a3-b5bfe3c6cb6a", "name": "Test", "options": {"exit_code": "0"}, "permalink": "https://rundeck.example.org/project/myproject/job/show/697af0c4-72d3-4c15-86a3-b5bfe3c6cb6a", "project": "myproject"}, "output": "Test!", "permalink": "https://rundeck.example.org/project/myproject/execution/show/1", "project": "myproject", "serverUUID": "5b9a1438-fa3a-457e-b254-8f3d70338068", "status": "succeeded", "successfulNodes": ["localhost"], "user": "admin"}, "msg": "作业执行成功!"}

作者

  • Phillipe Smith (@phsmith)