community.general.packet_volume_attachment 模块 – 在 Packet 主机上附加/分离卷到设备

注意

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

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

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

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

community.general 0.2.0 中的新增功能

概要

要求

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

  • packet-python >= 1.35

参数

参数

注释

auth_token

字符串

Packet API 令牌。您也可以在环境变量 PACKET_API_TOKEN 中提供。

device

字符串

设备的 Selector。

它可以是设备的 UUID 或主机名。

示例值:98a14f7a-3d27-4478-b7cf-35b5670523f3, “我的设备”

project_id

字符串 / 必需

设备和卷所属的项目的 UUID。

state

字符串

指示附件的期望状态。

选项

  • "present" ← (默认)

  • "absent"

volume

字符串 / 必需

卷的 Selector。

它可以是 UUID、API 生成的卷名称或用户定义的描述字符串。

示例值:4a347482-b546-4f67-8300-fb5018ef0c5, volume-4a347482, “我的卷”

属性

属性

支持

描述

check_mode

支持: 完全

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

diff_mode

支持:

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

示例

# All the examples assume that you have your Packet API token in env var PACKET_API_TOKEN.
# You can also pass the api token in module param auth_token.

- hosts: localhost

  vars:
    volname: testvol
    devname: testdev
    project_id: 52000fb2-ee46-4673-93a8-de2c2bdba33b

  tasks:
    - name: Create volume
      packet_volume:
        description: "{{ volname }}"
        project_id: "{{ project_id }}"
        facility: ewr1
        plan: storage_1
        state: present
        size: 10
        snapshot_policy:
          snapshot_count: 10
          snapshot_frequency: 1day

    - name: Create a device
      packet_device:
        project_id: "{{ project_id }}"
        hostnames: "{{ devname }}"
        operating_system: ubuntu_16_04
        plan: baremetal_0
        facility: ewr1
        state: present

    - name: Attach testvol to testdev
      community.general.packet_volume_attachment:
        project_id: "{{ project_id }}"
        volume: "{{ volname }}"
        device: "{{ devname }}"

    - name: Detach testvol from testdev
      community.general.packet_volume_attachment:
        project_id: "{{ project_id }}"
        volume: "{{ volname }}"
        device: "{{ devname }}"
        state: absent

返回值

常见的返回值记录在这里,以下是此模块特有的字段

描述

device_id

字符串

模块调用寻址的设备的 UUID。

已返回: 成功

volume_id

字符串

模块调用寻址的卷的 UUID。

已返回: 成功

作者

  • Tomas Karasek (@t0mk)

  • Nurfet Becirevic (@nurfet-becirevic)