community.general.packet_volume 模块 – 在 Packet 主机中创建/删除卷

注意

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

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

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

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

community.general 0.2.0 中的新增功能

概要

要求

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

  • packet-python >= 1.35

参数

参数

注释

auth_token

字符串

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

billing_cycle

字符串

新卷的计费周期。

选择

  • "hourly" ← (默认)

  • "monthly"

description

字符串

Packet 卷的用户定义描述属性。

它用作幂等标识符 - 如果存在具有给定描述的卷,则不会创建新卷。

facility

字符串

卷的位置。

卷只能附加到同一位置的设备。

id

字符串

卷的 UUID。

locked

布尔值

创建新的锁定卷。

选择

  • false ← (默认)

  • true

name

字符串

卷的 API 生成名称的选择器

plan

字符串

标准层为 storage_1,高级(性能)层为 storage_2。

层在 https://www.packet.com/cloud/storage/ 中描述。

选择

  • "storage_1" ← (默认)

  • "storage_2"

project_id

字符串 / 必需

设备的项目的 ID。

size

整数

卷的大小,以 GB 为单位。

snapshot_policy

字典

新卷的快照策略。

snapshot_count

整数 / 必需

要保留的快照数量,一个正整数。

snapshot_frequency

字符串 / 必需

快照的频率。

选择

  • "15min"

  • "1hour"

  • "1day"

  • "1week"

  • "1month"

  • "1year"

state

字符串

卷的所需状态。

选择

  • "present" ← (默认)

  • "absent"

属性

属性

支持

描述

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: testvol123
    project_id: 53000fb2-ee46-4673-93a8-de2c2bdba33b

  tasks:
    - name: Create volume
      community.general.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
      register: result_create

    - name: Delete volume
      community.general.packet_volume:
        id: "{{ result_create.id }}"
        project_id: "{{ project_id }}"
        state: absent

返回值

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

描述

description

字符串

卷资源的用户定义描述。

返回:成功

示例:"只是 另一个 卷"

id

字符串

指定卷的 UUID

返回:成功

示例:"53000fb2-ee46-4673-93a8-de2c2bdba33c"

name

字符串

卷资源的 API 生成名称。

返回:如果卷已附加/分离到/从某个设备

示例:"volume-a91dc506"

作者

  • Tomas Karasek (@t0mk)

  • Nurfet Becirevic (@nurfet-becirevic)