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

路径

TLS/SSL 证书的路径。

client_key

路径

TLS/SSL 证书私钥的路径。

host

字符串 / 必需

Nomad 服务器的 FQDN。

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

支持: 不适用

此操作不会修改状态。

在 diff 模式下,将返回有关已更改内容(或可能需要在 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

返回值

通用返回值记录在此处,以下是此模块特有的字段

描述

结果

列表 / elements=string

包含作业信息的字典列表

返回: 成功

示例: [{"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)