community.general.linode_v4 模块 – 管理 Linode 云上的实例

注意

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

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

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

要在剧本中使用它,请指定: community.general.linode_v4

概要

  • 管理 Linode 云上的实例。

需求

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

  • linode_api4 >= 2.0.0

参数

参数

注释

access_token

字符串 / 必需

Linode API v4 访问令牌。也可以通过公开 LINODE_ACCESS_TOKEN 环境变量来指定它。请参阅 https://www.linode.com/docs/api#access-and-authentication

authorized_keys

列表 / 元素=字符串

要为 root 用户部署的 SSH 公钥部分列表。

group

字符串

应将实例标记到的组。请注意,组标签已弃用,但仍受支持。建议的实例标记方法是使用标签。

image

字符串

实例的镜像。只有在创建 Linode 实例时,此参数才是必需的。请参阅 https://www.linode.com/docs/api/images/

label

字符串 / 必需

实例标签。此标签用作模块幂等性的主要决定因素,因此是必须的。

private_ip

布尔值

在 community.general 3.0.0 中添加

如果为 true,则创建的 Linode 将启用专用网络并分配一个专用 IPv4 地址。

选项

  • false ← (默认)

  • true

region

字符串

实例的区域。只有在创建 Linode 实例时,此参数才是必需的。请参阅 https://www.linode.com/docs/api/regions/

root_pass

字符串

root 用户的密码。如果未指定,则将生成一个密码。生成的密码将显示在任务成功的 JSON 中。

stackscript_data

字典

在 community.general 1.3.0 中添加

一个对象,其中包含创建实例时使用的 StackScript 中存在的任何用户定义字段的参数。仅在提供 stackscript_id 时有效。请参阅 https://www.linode.com/docs/api/stackscripts/

stackscript_id

整数

在 community.general 1.3.0 中添加

创建实例时要使用的 StackScript 的数字 ID。请参阅 https://www.linode.com/docs/api/stackscripts/

state

字符串 / 必需

所需的实例状态。

选项

  • "present"

  • "absent"

tags

列表 / 元素=字符串

应将实例标记到的标签。请参阅 https://www.linode.com/docs/api/tags/

type

字符串

实例的类型。只有在创建 Linode 实例时,此参数才是必需的。请参阅 https://www.linode.com/docs/api/linode-types/

属性

属性

支持

描述

check_mode

支持:不支持

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

diff_mode

支持:不支持

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

备注

注意

  • 目前未实现 Linode 调整大小功能。此模块最终将替换当前使用 Linode 端已弃用 API 绑定的 Linode 模块。

示例

- name: Create a new Linode.
  community.general.linode_v4:
    label: new-linode
    type: g6-nanode-1
    region: eu-west
    image: linode/debian9
    root_pass: passw0rd
    authorized_keys:
      - "ssh-rsa ..."
    stackscript_id: 1337
    stackscript_data:
      variable: value
    state: present

- name: Delete that new Linode.
  community.general.linode_v4:
    label: new-linode
    state: absent

返回值

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

描述

实例

字典

以 JSON 序列化形式表示的实例描述。

返回值:始终返回。

示例: {"alerts": {"cpu": 90, "io": 10000, "network_in": 10, "network_out": 10, "transfer_quota": 80}, "backups": {"enabled": false, "schedule": {"day": null, "window": null}}, "created": "2018-09-26T08:12:33", "group": "Foobar Group", "hypervisor": "kvm", "id": 10480444, "image": "linode/centos7", "ipv4": ["130.132.285.233"], "ipv6": "2a82:7e00::h03c:46ff:fe04:5cd2/64", "label": "lin-foo", "region": "eu-west", "root_pass": "foobar", "specs": {"disk": 25600, "memory": 1024, "transfer": 1000, "vcpus": 1}, "status": "running", "tags": [], "type": "g6-nanode-1", "updated": "2018-09-26T10:10:14", "watchdog_enabled": true}

作者

  • Luke Murphy (@decentral1se)