ngine_io.cloudstack.cs_account 模块 – 管理基于 Apache CloudStack 的云上的账户。

注意

此模块是 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_account

ngine_io.cloudstack 0.1.0 中的新功能

概要

  • 创建、禁用、锁定、启用和删除账户。

要求

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

  • python >= 2.6

  • cs >= 0.9.0

参数

参数

注释

account_type

string

账户的类型。

选择

  • "user" ← (默认)

  • "root_admin"

  • "domain_admin"

api_http_method

string

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

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

选择

  • "get" ← (默认)

  • "post"

api_key

string / 必选

CloudStack API 的 API 密钥。

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

api_secret

string / 必选

CloudStack API 的密钥。

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

api_timeout

integer

HTTP 超时(以秒为单位)。

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

默认: 10

api_url

string / 必选

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

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

api_verify_ssl_cert

string

验证 CA 机构证书文件。

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

domain

string

该账户相关的域。

默认: "ROOT"

email

string

如果要创建的账户不存在,则创建用户的电子邮件。

如果未设置 ldap_domain,则在 state=present 时为必填项。

first_name

string

如果要创建的账户不存在,则创建用户的名字。

如果未设置 ldap_domain,则在 state=present 时为必填项。

last_name

string

如果要创建的账户不存在,则创建用户的姓氏。

如果未设置 ldap_domain,则在 state=present 时为必填项。

ldap_domain

string

要绑定的 LDAP 组或 OU 的名称。

如果设置,账户将链接到 LDAP。

ldap_type

string

ldap 名称的类型。GROUP 或 OU,默认为 GROUP。

选择

  • "GROUP" ← (默认)

  • "OU"

name

string / 必选

账户名称。

network_domain

string

账户的网络域。

password

string

如果要创建的账户不存在,则创建用户的密码。

如果未设置 ldap_domain,则在 state=present 时为必填项。

poll_async

boolean

轮询异步作业,直到作业完成。

选择

  • false

  • true ← (默认)

role

string

在指定的角色名称或 ID 下创建账户。

state

string

账户的状态。

unlockedenabled 的别名。

选择

  • "present" ← (默认)

  • "absent"

  • "enabled"

  • "disabled"

  • "locked"

  • "unlocked"

timezone

string

如果要创建的账户不存在,则创建用户的时区。

username

string

如果要创建的账户不存在,则创建用户的用户名。

state=present 时为必填项。

validate_certs

boolean

在 ngine_io.cloudstack 2.4.0 中添加

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

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

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

选择

  • false

  • true ← (默认)

注释

注意

  • 关于 cloudstack 模块的详细指南,请参阅 CloudStack 云指南

  • 此模块支持检查模式。

示例

- name: create an account in domain 'CUSTOMERS'
  ngine_io.cloudstack.cs_account:
    name: customer_xy
    username: customer_xy
    password: S3Cur3
    last_name: Doe
    first_name: John
    email: [email protected]
    domain: CUSTOMERS
    role: Domain Admin

- name: Lock an existing account in domain 'CUSTOMERS'
  ngine_io.cloudstack.cs_account:
    name: customer_xy
    domain: CUSTOMERS
    state: locked

- name: Disable an existing account in domain 'CUSTOMERS'
  ngine_io.cloudstack.cs_account:
    name: customer_xy
    domain: CUSTOMERS
    state: disabled

- name: Enable an existing account in domain 'CUSTOMERS'
  ngine_io.cloudstack.cs_account:
    name: customer_xy
    domain: CUSTOMERS
    state: enabled

- name: Remove an account in domain 'CUSTOMERS'
  ngine_io.cloudstack.cs_account:
    name: customer_xy
    domain: CUSTOMERS
    state: absent

- name: Create a single user LDAP account in domain 'CUSTOMERS'
  ngine_io.cloudstack.cs_account:
    name: customer_xy
    username: customer_xy
    domain: CUSTOMERS
    ldap_domain: cn=customer_xy,cn=team_xy,ou=People,dc=domain,dc=local

- name: Create a LDAP account in domain 'CUSTOMERS' and bind it to a LDAP group
  ngine_io.cloudstack.cs_account:
    name: team_xy
    username: customer_xy
    domain: CUSTOMERS
    ldap_domain: cn=team_xy,ou=People,dc=domain,dc=local

返回值

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

描述

account_type

string

账户的类型。

返回: 成功

示例: "user"

domain

string

账户相关的域。

返回: 成功

示例: "ROOT"

id

string

账户的 UUID。

返回: 成功

示例: "87b1e0ce-4e01-11e4-bb66-0050569e64b8"

name

string

账户的名称。

返回: 成功

示例: "[email protected]"

network_domain

string

账户的网络域。

返回: 成功

示例: "example.local"

role

string

账户的角色名称

返回: 成功

示例: "Domain Admin"

state

string

账户的状态。

返回: 成功

示例: "enabled"

作者

  • René Moser (@resmo)