community.general.one_image 模块 – 管理 OpenNebula 镜像

注意

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

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

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

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

概要

  • 管理 OpenNebula 镜像

要求

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

  • pyone

参数

参数

注释

api_password

别名:api_token

字符串

用于 XMLRPC 身份验证的密码或令牌。

如果未指定,则使用 ONE_PASSWORD 环境变量(如果有)的值。

api_url

别名:api_endpoint

字符串

XMLRPC 服务器的 ENDPOINT URL。

如果未指定,则使用 ONE_URL 环境变量(如果有)的值。

api_username

字符串

用于 XMLRPC 身份验证的用户名。

如果未指定,则使用 ONE_USERNAME 环境变量(如果有)的值。

create

布尔值

在 community.general 10.0.0 中添加

如果镜像不存在是否应该创建。

如果 state=absent,则忽略此项。

选项

  • false

  • true

datastore_id

整数

在 community.general 10.0.0 中添加

create=true 一起使用,以指定镜像的数据存储。

enabled

布尔值

镜像是否应该启用或禁用。

选项

  • false

  • true

id

整数

您要管理的镜像的 id

name

字符串

您要管理的镜像的 name

如果 create=true,则为必需项。

new_name

字符串

将分配给现有或新镜像的名称。

在克隆的情况下,默认情况下,new_name 将使用原始镜像的名称,并带有前缀“Copy of”。

persistent

布尔值

在 community.general 9.5.0 中添加

镜像应该是持久的还是非持久的。

选项

  • false

  • true

state

字符串

present - 用于管理镜像的状态。

absent - 删除镜像。

cloned - 克隆镜像。

renamed - 将镜像重命名为 new_name

选项

  • "present" ←(默认)

  • "absent"

  • "cloned"

  • "renamed"

template

字符串

在 community.general 10.0.0 中添加

create=true 一起使用以指定镜像模板。

validate_certs

布尔值

是否验证 TLS/SSL 证书。

如果使用 PYTHONHTTPSVERIFY 环境变量,则忽略此参数。

选项

  • false

  • true ←(默认)

wait_timeout

整数

在 community.general 10.0.0 中添加

等待镜像准备就绪、删除或克隆的秒数。

默认值: 60

属性

属性

支持

描述

check_mode

支持:完全

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

diff_mode

支持:

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

示例

- name: Fetch the IMAGE by id
  community.general.one_image:
    id: 45
  register: result

- name: Print the IMAGE properties
  ansible.builtin.debug:
    var: result

- name: Rename existing IMAGE
  community.general.one_image:
    id: 34
    state: renamed
    new_name: bar-image

- name: Disable the IMAGE by id
  community.general.one_image:
    id: 37
    enabled: false

- name: Make the IMAGE persistent
  community.general.one_image:
    id: 37
    persistent: true

- name: Enable the IMAGE by name
  community.general.one_image:
    name: bar-image
    enabled: true

- name: Clone the IMAGE by name
  community.general.one_image:
    name: bar-image
    state: cloned
    new_name: bar-image-clone
  register: result

- name: Delete the IMAGE by id
  community.general.one_image:
    id: '{{ result.id }}'
    state: absent

- name: Make sure IMAGE is present
  community.general.one_image:
    name: myyy-image
    state: present
    create: true
    datastore_id: 100
    template: |
      PATH = "/var/tmp/image"
      TYPE = "OS"
      SIZE = 20512
      FORMAT = "qcow2"
      PERSISTENT = "Yes"
      DEV_PREFIX = "vd"

- name: Make sure IMAGE is present with a longer timeout
  community.general.one_image:
    name: big-image
    state: present
    create: true
    datastore_id: 100
    wait_timeout: 900
    template: |
      PATH = "https://192.0.2.200/repo/tipa_image.raw"
      TYPE = "OS"
      SIZE = 82048
      FORMAT = "raw"
      PERSISTENT = "Yes"
      DEV_PREFIX = "vd"

返回值

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

描述

app_clones

列表 / 元素=整数

在 community.general 9.5.0 中添加

镜像的 app_clones ID 列表。

返回:state=present, state=cloned, 或 state=renamed 时返回

示例: [1, 2, 3]

克隆

列表 / 元素=整数

在 community.general 9.5.0 中添加

镜像的克隆 ID 列表。

返回:state=present, state=cloned, 或 state=renamed 时返回

示例: [1, 2, 3]

克隆ID

整数

在 community.general 9.5.0 中添加

镜像的克隆 ID。

返回:state=present, state=cloned, 或 state=renamed 时返回

示例: -1

克隆操作

整数

在 community.general 9.5.0 中添加

镜像的每秒克隆操作次数。

返回:state=present, state=cloned, 或 state=renamed 时返回

示例: 0

数据存储

整数

在 community.general 9.5.0 中添加

镜像的数据存储名称。

返回:state=present, state=cloned, 或 state=renamed 时返回

示例: "image_datastore"

datastore_id

整数

在 community.general 9.5.0 中添加

镜像的数据存储 ID。

返回:state=present, state=cloned, 或 state=renamed 时返回

示例: 100

磁盘类型

字符串

在 community.general 9.5.0 中添加

镜像的格式类型。

返回:state=present, state=cloned, 或 state=renamed 时返回

示例: "0"

文件系统类型

字符串

在 community.general 9.5.0 中添加

镜像的文件系统类型。

返回:state=present, state=cloned, 或 state=renamed 时返回

示例: "ext4"

组 ID

整数

镜像的组 ID

返回:state=present, state=cloned, 或 state=renamed 时返回

示例: 1

组名称

字符串

镜像的组名称

返回:state=present, state=cloned, 或 state=renamed 时返回

示例: "one-users"

id

整数

镜像 ID

返回:state=present, state=cloned, 或 state=renamed 时返回

示例: 153

name

字符串

镜像名称

返回:state=present, state=cloned, 或 state=renamed 时返回

示例: "app1"

所有者 ID

整数

镜像的所有者 ID

返回:state=present, state=cloned, 或 state=renamed 时返回

示例: 143

所有者名称

字符串

镜像的所有者名称

返回:state=present, state=cloned, 或 state=renamed 时返回

示例: "ansible-test"

路径

字符串

在 community.general 9.5.0 中添加

镜像的文件系统路径。

返回:state=present, state=cloned, 或 state=renamed 时返回

示例: "/var/tmp/hello.qcow2"

权限

字典

在 community.general 9.5.0 中添加

镜像的权限。

返回:state=present, state=cloned, 或 state=renamed 时返回

示例: {"group_a": 0, "group_m": 0, "group_u": 0, "other_a": 0, "other_m": 0, "other_u": 0, "owner_a": 0, "owner_m": 0, "owner_u": 1}

group_a

字符串

镜像的组管理员权限。

返回: 成功

示例: "0"

group_m

字符串

镜像的组管理权限。

返回: 成功

示例: "0"

group_u

字符串

镜像的组使用权限。

返回: 成功

示例: "0"

other_a

字符串

镜像的其他用户管理员权限

返回: 成功

示例: "0"

other_m

字符串

镜像的其他用户管理权限。

返回: 成功

示例: "0"

other_u

字符串

镜像的其他用户使用权限。

返回: 成功

示例: "0"

owner_a

字符串

镜像的所有者管理员权限。

返回: 成功

示例: "0"

owner_m

字符串

镜像的所有者管理权限。

返回: 成功

示例: "0"

owner_u

字符串

镜像的所有者使用权限。

返回: 成功

示例: "1"

persistent

整数

在 community.general 9.5.0 中添加

镜像的持久化状态 (1 表示 true,0 表示 false)。

返回:state=present, state=cloned, 或 state=renamed 时返回

示例: 1

运行中的虚拟机

整数

使用此镜像的运行中的虚拟机数量

返回:state=present, state=cloned, 或 state=renamed 时返回

示例: 7

大小

整数

在 community.general 9.5.0 中添加

镜像的大小,以兆字节为单位。

返回:state=present, state=cloned, 或 state=renamed 时返回

示例: 10000

快照

列表 / 元素=字符串

在 community.general 9.5.0 中添加

镜像的快照列表。

返回:state=present, state=cloned, 或 state=renamed 时返回

示例: [{"active": 1, "allow_orphans": 1, "children": 0, "date": 123123, "name": "SampleName", "parent": 1, "size": 10228}]

来源

字符串

镜像的来源。

返回:state=present, state=cloned, 或 state=renamed 时返回

示例: "/var/lib/one//datastores/100/somerandomstringxd"

state

字符串

镜像实例的状态

返回:state=present, state=cloned, 或 state=renamed 时返回

示例: "READY"

目标快照

整数

在 community.general 9.5.0 中添加

镜像的目标快照。

返回:state=present, state=cloned, 或 state=renamed 时返回

示例: 1

类型

字符串

在 community.general 9.5.0 中添加

镜像的类型。

返回:state=present, state=cloned, 或 state=renamed 时返回

示例: "0"

已使用

布尔值

镜像是否正在使用中

返回:state=present, state=cloned, 或 state=renamed 时返回

示例: true

虚拟机

列表 / 元素=整数

在 community.general 9.5.0 中添加

镜像的虚拟机 ID 列表。

返回:state=present, state=cloned, 或 state=renamed 时返回

示例: [1, 2, 3]

作者

  • Milan Ilic (@ilicmilan)