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

string

实例相关的帐户。

api_http_method

string

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

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

选项

  • "get" ← (默认)

  • "post"

api_key

string / required

CloudStack API 的 API 密钥。

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

api_secret

string / required

CloudStack API 的密钥。

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

api_timeout

integer

HTTP 超时(以秒为单位)。

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

默认值: 10

api_url

string / required

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

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

api_verify_ssl_cert

string

验证 CA 授权证书文件。

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

domain

string

实例相关的域。

host

string

在 ngine_io.cloudstack 2.2.0 中添加

按主机名过滤。

name

string

实例的名称或显示名称。

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

project

string

实例相关的项目。

validate_certs

boolean

在 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

返回值

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

描述

实例

list / elements=string

匹配实例的列表。

返回值:成功

account

string

实例相关的帐户。

返回值:成功

示例: "示例帐户"

affinity_groups

list / elements=string

实例所属的亲和组。

返回值:成功

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

created

string

实例创建的日期。

返回值:成功

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

default_ip

string

实例的默认 IP 地址。

返回值:成功

示例: "10.23.37.42"

display_name

string

实例的显示名称。

返回值:成功

示例: "web-01"

domain

string

实例相关的域。

返回值:成功

示例: "示例域"

group

string

实例相关的组名。

返回值:成功

示例: "web"

host

string

实例正在运行的主机。

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

示例: "host01.example.com"

hypervisor

string

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

返回值:成功

示例: "KVM"

id

string

实例的 UUID。

返回值:成功

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

instance_name

string

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

返回值:成功

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

iso

string

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

返回值:成功

示例: "Debian-8-64bit"

name

string

实例的名称。

返回值:成功

示例: "web-01"

nic

复杂类型

实例网卡的字典列表。

返回值:成功

broadcasturi

string

网卡的广播 URI。

返回值:成功

示例: "vlan://2250"

gateway

string

网关的 IP 地址。

返回值:成功

示例: "10.1.2.1"

id

string

网卡的 ID。

返回值:成功

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

ipaddress

string

网卡的 IP 地址。

返回值:成功

示例: "10.1.2.3"

isdefault

boolean

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

返回值:成功

示例: true

isolationuri

string

网卡的隔离 URI。

返回值:成功

示例: "vlan://2250"

macaddress

string

网卡的 MAC 地址。

返回值:成功

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

netmask

string

网卡的子网掩码。

返回值:成功

示例: "255.255.255.0"

networkid

string

对应网络的 ID。

返回值:成功

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

networkname

string

对应网络的名称。

返回值:成功

示例: "network1"

traffictype

string

网卡的流量类型。

返回值:成功

示例: "Guest"

type

string

网络的类型。

返回值:成功

示例: "Shared"

password

string

如果存在,实例的密码。

返回值:成功

示例: "Ge2oe7Do"

password_enabled

boolean

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

返回值:成功

示例: true

project

string

实例所属的项目名称。

返回值:成功

示例: "Production"

public_ip

string

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

返回值:成功

示例: "1.2.3.4"

security_groups

list / elements=string

实例所属的安全组。

返回值:成功

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

service_offering

string

实例拥有的服务产品名称。

返回值:成功

示例: "2cpu_2gb"

ssh_key

string

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

返回值:成功

示例: "key@work"

state

string

实例的状态。

返回值:成功

示例: "Running"

tags

list / elements=string

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

返回值:成功

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

template

string

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

返回值:成功

示例: "Debian-8-64bit"

volumes

list / elements=string

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

返回值:成功

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

zone

string

实例所在的区域名称。

返回值:成功

示例: "ch-gva-2"

作者

  • René Moser (@resmo)