community.general.linode 模块 – 管理 Linode 公有云上的实例
注意
此模块是 community.general 集合 (版本 10.1.0) 的一部分。
如果您使用的是 ansible 包,则可能已安装此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list。
要安装它,请使用: ansible-galaxy collection install community.general。您需要其他要求才能使用此模块,有关详细信息,请参阅 要求。
要在 playbook 中使用它,请指定: community.general.linode。
概要
- 管理 Linode 公有云实例,并可以选择等待其状态变为“运行”。 
要求
执行此模块的主机需要以下要求。
- linode-python 
参数
| 参数 | 注释 | 
|---|---|
| 用于创建添加到 Linode 配置设置的附加磁盘的字典列表。 字典包含大小、标签、类型。大小以 MB 为单位。 | |
| 设置带宽告警状态。 选项 
 | |
| 设置带宽告警阈值(MB)。 | |
| 设置输出带宽告警状态。 选项 
 | |
| 设置输出带宽告警阈值(MB)。 | |
| 设置带宽配额告警状态,以网络传输配额的百分比表示。 选项 
 | |
| 设置带宽配额告警阈值(MB)。 | |
| 设置接收 CPU 使用率告警的状态。 选项 
 | |
| 设置接收 CPU 使用率告警的百分比阈值。每个 CPU 内核总计增加 100%。 | |
| 设置接收磁盘 IO 告警的状态。 选项 
 | |
| 设置 2 小时内平均 IO ops/sec 的阈值。 | |
| Linode API 密钥。 可以使用  | |
| 执行备份的星期几。 | |
| 执行备份的时间窗口。 | |
| 创建实例的数据中心(Linode 数据中心)。 | |
| 将实例添加到 Linode Manager 中的显示组。 默认值:  | |
| 实例使用的发行版(Linode 发行版)。 | |
| 实例使用的内核(Linode 内核)。 | |
| Linode 服务器的唯一 ID。此值是只读的,这意味着如果您在创建 Linode 时指定它,它将不会被使用。Linode API 会生成这些 ID,我们可以在此处使用生成的这些值更具体地引用 Linode。这对于幂等性非常有用。 | |
| 要赋予实例的名称(字母数字、短划线、下划线)。 为了保持 Linode Web 控制台的一致性,名称前面会加上  | |
| 要应用于新服务器的 root 密码(如果缺失则自动生成)。 | |
| 实例使用的付款期限(以月为单位)。 选项 
 | |
| 实例使用的计划(Linode 计划)。 | |
| 创建 Linode 时添加私有 IPv4 地址。 默认为  选项 
 | |
| 应用于 root 用户的 SSH 公钥。 | |
| 指示所需资源状态。 选项 
 | |
| 交换空间大小(MB)。 默认值:  | |
| 等待实例状态变为  选项 
 | |
| 等待超时时间(秒)。 默认值:  | |
| 设置 Lassie 看门狗的状态。 选项 
 | 
属性
| 属性 | 支持 | 描述 | 
|---|---|---|
| 支持:不支持 | 可以在 | |
| 支持:不支持 | 处于diff模式时,将返回有关已更改内容(或可能需要在 | 
备注
注意
- 请注意,linode-python 不支持 Python 3。 
- 此模块使用现已弃用的 Linode API v3。 
- 请查看https://www.linode.com/api/linode以确定所需参数。 
示例
- name: Create a new Linode
  community.general.linode:
    name: linode-test1
    plan: 1
    datacenter: 7
    distribution: 129
    state: present
  register: linode_creation
- name: Create a server with a private IP Address
  community.general.linode:
     module: linode
     api_key: 'longStringFromLinodeApi'
     name: linode-test1
     plan: 1
     datacenter: 2
     distribution: 99
     password: 'superSecureRootPassword'
     private_ip: true
     ssh_pub_key: 'ssh-rsa qwerty'
     swap: 768
     wait: true
     wait_timeout: 600
     state: present
  delegate_to: localhost
  register: linode_creation
- name: Fully configure new server
  community.general.linode:
     api_key: 'longStringFromLinodeApi'
     name: linode-test1
     plan: 4
     datacenter: 2
     distribution: 99
     kernel_id: 138
     password: 'superSecureRootPassword'
     private_ip: true
     ssh_pub_key: 'ssh-rsa qwerty'
     swap: 768
     wait: true
     wait_timeout: 600
     state: present
     alert_bwquota_enabled: true
     alert_bwquota_threshold: 80
     alert_bwin_enabled: true
     alert_bwin_threshold: 10
     alert_cpu_enabled: true
     alert_cpu_threshold: 210
     alert_bwout_enabled: true
     alert_bwout_threshold: 10
     alert_diskio_enabled: true
     alert_diskio_threshold: 10000
     backupweeklyday: 1
     backupwindow: 2
     displaygroup: 'test'
     additional_disks:
      - {Label: 'disk1', Size: 2500, Type: 'raw'}
      - {Label: 'newdisk', Size: 2000}
     watchdog: true
  delegate_to: localhost
  register: linode_creation
- name: Ensure a running server (create if missing)
  community.general.linode:
     api_key: 'longStringFromLinodeApi'
     name: linode-test1
     plan: 1
     datacenter: 2
     distribution: 99
     password: 'superSecureRootPassword'
     ssh_pub_key: 'ssh-rsa qwerty'
     swap: 768
     wait: true
     wait_timeout: 600
     state: present
  delegate_to: localhost
  register: linode_creation
- name: Delete a server
  community.general.linode:
     api_key: 'longStringFromLinodeApi'
     name: linode-test1
     linode_id: "{{ linode_creation.instance.id }}"
     state: absent
  delegate_to: localhost
- name: Stop a server
  community.general.linode:
     api_key: 'longStringFromLinodeApi'
     name: linode-test1
     linode_id: "{{ linode_creation.instance.id }}"
     state: stopped
  delegate_to: localhost
- name: Reboot a server
  community.general.linode:
     api_key: 'longStringFromLinodeApi'
     name: linode-test1
     linode_id: "{{ linode_creation.instance.id }}"
     state: restarted
  delegate_to: localhost
