community.general.nomad_job_info 模块 – 获取 Nomad 作业信息

注意

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

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

要安装它,请使用:ansible-galaxy collection install community.general。您需要其他需求才能使用此模块,请参阅 需求 获取详细信息。

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

community.general 1.3.0 中的新增功能

概要

  • 获取一个 Nomad 作业的信息。

  • 列出 Nomad 作业。

需求

在执行此模块的主机上需要以下需求。

  • python-nomad

参数

参数

注释

client_cert

path

TLS/SSL 证书的路径。

client_key

path

TLS/SSL 证书的私钥路径。

host

字符串 / 必需

Nomad 服务器的完全限定域名。

name

字符串

获取信息的作业名称。

如果未指定,则列出所有作业。

namespace

字符串

Nomad 的命名空间。

port

整数

community.general 8.0.0 中新增

Nomad 服务器的端口。

默认值: 4646

timeout

整数

对 Nomad 的请求超时时间(以秒为单位)。

默认值: 5

token

字符串

用于身份验证的 ACL 令牌。

use_ssl

布尔值

使用 TLS/SSL 连接。

选项

  • false

  • true ← (默认)

validate_certs

布尔值

启用 TLS/SSL 证书验证。

选项

  • false

  • true ← (默认)

属性

属性

支持

描述

check_mode

支持:完全支持

此操作不会修改状态。

可以在 check_mode 下运行,并在不修改目标的情况下返回更改状态预测。

diff_mode

支持: N/A

此操作不会修改状态。

在差异模式下,将返回有关已更改内容(或可能需要在 check_mode 中更改的内容)的详细信息。

另请参阅

另请参阅

Nomad 作业文档

Nomad API 作业的完整文档。

示例

- name: Get info for job awx
  community.general.nomad_job_info:
    host: localhost
    name: awx
  register: result

- name: List Nomad jobs
  community.general.nomad_job_info:
    host: localhost
  register: result

返回值

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

描述

result

列表 / 元素=字符串

包含作业信息的字典列表

返回:成功

示例: [{"Affinities": null, "AllAtOnce": false, "Constraints": null, "ConsulToken": "", "CreateIndex": 13, "Datacenters": ["dc1"], "Dispatched": false, "ID": "example", "JobModifyIndex": 13, "Meta": null, "ModifyIndex": 13, "Multiregion": null, "Name": "example", "Namespace": "default", "NomadTokenID": "", "ParameterizedJob": null, "ParentID": "", "Payload": null, "Periodic": null, "Priority": 50, "Region": "global", "Spreads": null, "Stable": false, "Status": "pending", "StatusDescription": "", "Stop": false, "SubmitTime": 1602244370615307000, "TaskGroups": [{"Affinities": null, "Constraints": null, "Count": 1, "EphemeralDisk": {"Migrate": false, "SizeMB": 300, "Sticky": false}, "Meta": null, "Migrate": {"HealthCheck": "checks", "HealthyDeadline": 300000000000, "MaxParallel": 1, "MinHealthyTime": 10000000000}, "Name": "cache", "Networks": null, "ReschedulePolicy": {"Attempts": 0, "Delay": 30000000000, "DelayFunction": "exponential", "Interval": 0, "MaxDelay": 3600000000000, "Unlimited": true}, "RestartPolicy": {"Attempts": 3, "Delay": 15000000000, "Interval": 1800000000000, "Mode": "fail"}, "Scaling": null, "Services": null, "ShutdownDelay": null, "Spreads": null, "StopAfterClientDisconnect": null, "Tasks": [{"Affinities": null, "Artifacts": null, "CSIPluginConfig": null, "Config": {"image": "redis:3.2", "port_map": [{"db": 6379.0}]}, "Constraints": null, "DispatchPayload": null, "Driver": "docker", "Env": null, "KillSignal": "", "KillTimeout": 5000000000, "Kind": "", "Leader": false, "Lifecycle": null, "LogConfig": {"MaxFileSizeMB": 10, "MaxFiles": 10}, "Meta": null, "Name": "redis", "Resources": {"CPU": 500, "Devices": null, "DiskMB": 0, "IOPS": 0, "MemoryMB": 256, "Networks": [{"CIDR": "", "DNS": null, "Device": "", "DynamicPorts": [{"HostNetwork": "default", "Label": "db", "To": 0, "Value": 0}], "IP": "", "MBits": 10, "Mode": "", "ReservedPorts": null}]}, "RestartPolicy": {"Attempts": 3, "Delay": 15000000000, "Interval": 1800000000000, "Mode": "fail"}, "Services": [{"AddressMode": "auto", "CanaryMeta": null, "CanaryTags": null, "Checks": [{"AddressMode": "", "Args": null, "CheckRestart": null, "Command": "", "Expose": false, "FailuresBeforeCritical": 0, "GRPCService": "", "GRPCUseTLS": false, "Header": null, "InitialStatus": "", "Interval": 10000000000, "Method": "", "Name": "alive", "Path": "", "PortLabel": "", "Protocol": "", "SuccessBeforePassing": 0, "TLSSkipVerify": false, "TaskName": "", "Timeout": 2000000000, "Type": "tcp"}], "Connect": null, "EnableTagOverride": false, "Meta": null, "Name": "redis-cache", "PortLabel": "db", "Tags": ["global", "cache"], "TaskName": ""}], "ShutdownDelay": 0, "Templates": null, "User": "", "Vault": null, "VolumeMounts": null}], "Update": {"AutoPromote": false, "AutoRevert": false, "Canary": 0, "HealthCheck": "checks", "HealthyDeadline": 180000000000, "MaxParallel": 1, "MinHealthyTime": 10000000000, "ProgressDeadline": 600000000000, "Stagger": 30000000000}, "Volumes": null}], "Type": "service", "Update": {"AutoPromote": false, "AutoRevert": false, "Canary": 0, "HealthCheck": "", "HealthyDeadline": 0, "MaxParallel": 1, "MinHealthyTime": 0, "ProgressDeadline": 0, "Stagger": 30000000000}, "VaultNamespace": "", "VaultToken": "", "Version": 0}]

作者

  • FERREIRA Christophe (@chris93111)