ngine_io.cloudstack.cs_instance_info 模块 – 从基于 Apache CloudStack 的云的实例 API 中收集信息。

注意

此模块是 ngine_io.cloudstack 集合 (版本 2.5.0) 的一部分。

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

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

要在 playbook 中使用它,请指定: ngine_io.cloudstack.cs_instance_info

ngine_io.cloudstack 0.1.0 中的新增功能

概要

  • 从实例的 API 中收集信息。

别名:cs_instance_facts

要求

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

  • python >= 2.6

  • cs >= 0.9.0

参数

参数

注释

account

字符串

实例相关的账户。

api_http_method

字符串

用于查询 API 端点的 HTTP 方法。

如果未给出,则考虑 CLOUDSTACK_METHOD 环境变量。

选项

  • "get" ← (默认)

  • "post"

api_key

字符串 / 必需

CloudStack API 的 API 密钥。

如果未给出,则考虑 CLOUDSTACK_KEY 环境变量。

api_secret

字符串 / 必需

CloudStack API 的密钥。

如果未设置,则考虑 CLOUDSTACK_SECRET 环境变量。

api_timeout

整数

HTTP 超时时间(秒)。

如果未给出,则考虑 CLOUDSTACK_TIMEOUT 环境变量。

默认值: 10

api_url

字符串 / 必需

CloudStack API 的 URL,例如 https://cloud.example.com/client/api

如果未给出,则考虑 CLOUDSTACK_ENDPOINT 环境变量。

api_verify_ssl_cert

字符串

验证 CA 权威证书文件。

如果未给出,则考虑 CLOUDSTACK_VERIFY 环境变量。

domain

字符串

实例相关的域。

host

字符串

ngine_io.cloudstack 2.2.0 中添加

按主机名筛选。

name

字符串

实例的名称或显示名称。

如果未指定,则返回所有实例

project

字符串

实例相关的项目。

validate_certs

布尔值

ngine_io.cloudstack 2.4.0 中添加

如果 false,则不会验证 SSL 证书。

如果未给出,则考虑 CLOUDSTACK_DANGEROUS_NO_TLS_VERIFY 环境变量。

这仅应在使用自签名证书的个人控制站点上使用。

选项

  • false

  • true ← (默认)

注释

注意

  • 有关 cloudstack 模块的详细指南,请参见 CloudStack 云指南

  • 此模块支持检查模式。

示例

- name: Gather instance information
  ngine_io.cloudstack.cs_instance_info:
    name: web-vm-1
  register: vm

- name: Show the returned results of the registered variable
  debug:
    msg: "{{ vm }}"

- name: Gather information from all instances
  ngine_io.cloudstack.cs_instance_info:
  register: vms

- name: Show information on all instances
  debug:
    msg: "{{ vms }}"

- name: Gather information from all instances on a host
  ngine_io.cloudstack.cs_instance_info:
    host: host01.example.com
  register: vms

返回值

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

描述

instances

列表 / 元素=字符串

匹配实例的列表。

返回:成功

account

字符串

实例相关的账户。

返回:成功

示例: "example account"

affinity_groups

列表 / 元素=字符串

实例所在的亲和性组。

返回:成功

示例: ["[ \"webservers\" ]"]

created

字符串

创建实例的日期。

返回:成功

示例: "2014-12-01T14:57:57+0100"

default_ip

字符串

实例的默认 IP 地址。

返回:成功

示例: "10.23.37.42"

display_name

字符串

实例的显示名称。

返回:成功

示例: "web-01"

domain

字符串

实例相关的域。

返回:成功

示例: "example domain"

group

字符串

实例相关的组名。

返回:成功

示例: "web"

host

字符串

实例运行所在的主机。

返回:成功且实例正在运行

示例: "host01.example.com"

hypervisor

字符串

与该实例相关的虚拟机管理程序。

返回:成功

示例: "KVM"

id

字符串

实例的 UUID。

返回:成功

示例: "04589590-ac63-4ffc-93f5-b698b8ac38b6"

instance_name

字符串

实例的内部名称(仅限 ROOT 管理员)。

返回:成功

示例: "i-44-3992-VM"

iso

字符串

部署实例时使用的 ISO 的名称。

返回:成功

示例: "Debian-8-64bit"

name

字符串

实例名称。

返回:成功

示例: "web-01"

nic

复杂类型

实例网卡的字典列表。

返回:成功

broadcasturi

字符串

网卡的广播URI。

返回:成功

示例: "vlan://2250"

gateway

字符串

网卡的网关。

返回:成功

示例: "10.1.2.1"

id

字符串

网卡的ID。

返回:成功

示例: "5dc74fa3-2ec3-48a0-9e0d-6f43365336a9"

ipaddress

字符串

网卡的IP地址。

返回:成功

示例: "10.1.2.3"

isdefault

布尔值

如果网卡是默认网卡,则为True,否则为False。

返回:成功

示例: true

isolationuri

字符串

网卡的隔离URI。

返回:成功

示例: "vlan://2250"

macaddress

字符串

网卡的MAC地址。

返回:成功

示例: "06:a2:03:00:08:12"

netmask

字符串

网卡的子网掩码。

返回:成功

示例: "255.255.255.0"

networkid

字符串

对应网络的ID。

返回:成功

示例: "432ce27b-c2bb-4e12-a88c-a919cd3a3017"

networkname

字符串

对应网络的名称。

返回:成功

示例: "network1"

traffictype

字符串

网卡的流量类型。

返回:成功

示例: "Guest"

type

字符串

网络类型。

返回:成功

示例: "Shared"

password

字符串

如果存在,则为实例的密码。

返回:成功

示例: "Ge2oe7Do"

password_enabled

布尔值

如果启用密码设置,则为True。

返回:成功

示例: true

project

字符串

实例所属项目的名称。

返回:成功

示例: "Production"

public_ip

字符串

通过静态NAT规则与实例关联的公网IP地址。

返回:成功

示例: "1.2.3.4"

security_groups

列表 / 元素=字符串

实例所属的安全组。

返回:成功

示例: ["[ \"default\" ]"]

service_offering

字符串

实例使用的服务方案名称。

返回:成功

示例: "2cpu_2gb"

ssh_key

字符串

部署到实例的SSH密钥名称。

返回:成功

示例: "key@work"

state

字符串

实例的状态。

返回:成功

示例: "Running"

tags

列表 / 元素=字符串

与实例关联的资源标签列表。

返回:成功

示例: ["[ { \"key\": \"foo\"", " \"value\": \"bar\" } ]"]

template

字符串

部署实例时使用的模板名称。

返回:成功

示例: "Debian-8-64bit"

volumes

列表 / 元素=字符串

附加到实例的卷的字典列表。

返回:成功

示例: ["[ { name: \"ROOT-1369\"", " type: \"ROOT\"", " size: 10737418240 }", " { name: \"data01", " type: \"DATADISK\"", " size: 10737418240 } ]"]

zone

字符串

实例所在的区域名称。

返回:成功

示例: "ch-gva-2"

作者

  • René Moser (@resmo)