On this page
ngine_io.cloudstack.cs_account – Manages accounts on Apache CloudStack based clouds.
Note
This plugin is part of the ngine_io.cloudstack collection (version 2.2.2).
You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.
To install it, use: ansible-galaxy collection install ngine_io.cloudstack.
To use it in a playbook, specify: ngine_io.cloudstack.cs_account.
New in version 0.1.0: of ngine_io.cloudstack
Synopsis
- Create, disable, lock, enable and remove accounts.
 
Requirements
The below requirements are needed on the host that executes this module.
- python >= 2.6
 - cs >= 0.9.0
 
Parameters
| Parameter | Choices/Defaults | Comments | 
|---|---|---|
| account_type
        
        string
         | 
      
       
  | 
      
        
        Type of the account.
         | 
     
| api_http_method
        
        string
         | 
      
       
  | 
      
        
        HTTP method used to query the API endpoint.
        
       
        If not given, the  CLOUDSTACK_METHOD env variable is considered.
        | 
     
| api_key
        
        string / required
         | 
      
        
        API key of the CloudStack API.
        
       
        If not given, the  CLOUDSTACK_KEY env variable is considered.
        | 
     |
| api_secret
        
        string / required
         | 
      
        
        Secret key of the CloudStack API.
        
       
        If not set, the  CLOUDSTACK_SECRET env variable is considered.
        | 
     |
| api_timeout
        
        integer
         | 
      Default: 
        10
         | 
      
        
        HTTP timeout in seconds.
        
       
        If not given, the  CLOUDSTACK_TIMEOUT env variable is considered.
        | 
     
| api_url
        
        string / required
         | 
      
        
        URL of the CloudStack API e.g. https://cloud.example.com/client/api.
        
       
        If not given, the  CLOUDSTACK_ENDPOINT env variable is considered.
        | 
     |
| api_verify_ssl_cert
        
        string
         | 
      
        
        Verify CA authority cert file.
        
       
        If not given, the  CLOUDSTACK_VERIFY env variable is considered.
        | 
     |
| domain
        
        string
         | 
      Default: 
        "ROOT"
         | 
      
        
        Domain the account is related to.
         | 
     
| email
        
        string
         | 
      
        
        Email of the user to be created if account did not exist.
        
       
        Required on state=present if ldap_domain is not set.
         | 
     |
| first_name
        
        string
         | 
      
        
        First name of the user to be created if account did not exist.
        
       
        Required on state=present if ldap_domain is not set.
         | 
     |
| last_name
        
        string
         | 
      
        
        Last name of the user to be created if account did not exist.
        
       
        Required on state=present if ldap_domain is not set.
         | 
     |
| ldap_domain
        
        string
         | 
      
        
        Name of the LDAP group or OU to bind.
        
       
        If set, account will be linked to LDAP.
         | 
     |
| ldap_type
        
        string
         | 
      
       
  | 
      
        
        Type of the ldap name. GROUP or OU, defaults to GROUP.
         | 
     
| name
        
        string / required
         | 
      
        
        Name of account.
         | 
     |
| network_domain
        
        string
         | 
      
        
        Network domain of the account.
         | 
     |
| password
        
        string
         | 
      
        
        Password of the user to be created if account did not exist.
        
       
        Required on state=present if ldap_domain is not set.
         | 
     |
| poll_async
        
        boolean
         | 
      
       
  | 
      
        
        Poll async jobs until job has finished.
         | 
     
| role
        
        string
         | 
      
        
        Creates the account under the specified role name or id.
         | 
     |
| state
        
        string
         | 
      
       
  | 
      
        
        State of the account.
        
       unlocked is an alias for enabled.
        | 
     
| timezone
        
        string
         | 
      
        
        Timezone of the user to be created if account did not exist.
         | 
     |
| username
        
        string
         | 
      
        
        Username of the user to be created if account did not exist.
        
       
        Required on state=present.
         | 
     
Notes
Note
- A detailed guide about cloudstack modules can be found in the CloudStack Cloud Guide.
 - This module supports check mode.
 
Examples
- 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: john.doe@example.com
    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
  Return Values
Common return values are documented here, the following are the fields unique to this module:
| Key | Returned | Description | 
|---|---|---|
| account_type
        
        string
         | 
      success | 
        
        Type of the account.
         Sample:
        
       
        user
         | 
     
| domain
        
        string
         | 
      success | 
        
        Domain the account is related.
         Sample:
        
       
        ROOT
         | 
     
| id
        
        string
         | 
      success | 
        
        UUID of the account.
         Sample:
        
       
        87b1e0ce-4e01-11e4-bb66-0050569e64b8
         | 
     
| name
        
        string
         | 
      success | 
        
        Name of the account.
         Sample:
        
       
        linus@example.com
         | 
     
| network_domain
        
        string
         | 
      success | 
        
        Network domain of the account.
         Sample:
        
       
        example.local
         | 
     
| role
        
        string
         | 
      success | 
        
        The role name of the account
         Sample:
        
       
        Domain Admin
         | 
     
| state
        
        string
         | 
      success | 
        
        State of the account.
         Sample:
        
       
        enabled
         | 
     
Authors
- René Moser (@resmo)
 
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
 https://docs.ansible.com/ansible/latest/collections/ngine_io/cloudstack/cs_account_module.html