On this page
community.general.vertica_user – Adds or removes Vertica database users and assigns roles.
Note
This plugin is part of the community.general collection (version 3.8.1).
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 community.general.
To use it in a playbook, specify: community.general.vertica_user.
Synopsis
- Adds or removes Vertica database user and, optionally, assigns roles.
 - A user will not be removed until all the dependencies have been dropped.
 - In such a situation, if the module tries to remove the user it will fail and only remove roles granted to the user.
 
Requirements
The below requirements are needed on the host that executes this module.
- unixODBC
 - pyodbc
 
Parameters
| Parameter | Choices/Defaults | Comments | 
|---|---|---|
| cluster
        
        string
         | 
      Default: 
        "localhost"
         | 
      
        
        Name of the Vertica cluster.
         | 
     
| db
        
        string
         | 
      
        
        Name of the Vertica database.
         | 
     |
| expired
        
        boolean
         | 
      
       
  | 
      
        
        Sets the user's password expiration.
         | 
     
| ldap
        
        boolean
         | 
      
       
  | 
      
        
        Set to true if users are authenticated via LDAP.
        
       
        The user will be created with password expired and set to $ldap$.
         | 
     
| login_password
        
        string
         | 
      
        
        The password used to authenticate with.
         | 
     |
| login_user
        
        string
         | 
      Default: 
        "dbadmin"
         | 
      
        
        The username used to authenticate with.
         | 
     
| password
        
        string
         | 
      
        
        The user's password encrypted by the MD5 algorithm.
        
       
        The password must be generated with the format  "md5" + md5[password + username], resulting in a total of 35 characters. An easy way to do this is by querying the Vertica database with select 'md5'||md5('<user_password><user_name>').
        | 
     |
| port
        
        string
         | 
      Default: 
        5433
         | 
      
        
        Vertica cluster port to connect to.
         | 
     
| profile
        
        string
         | 
      
        
        Sets the user's profile.
         | 
     |
| resource_pool
        
        string
         | 
      
        
        Sets the user's resource pool.
         | 
     |
| roles
        
        string
         | 
      
        
        Comma separated list of roles to assign to the user.
        
       aliases: role  | 
     |
| state
        
        string
         | 
      
       
  | 
      
        
        Whether to create  present, drop absent or lock locked a user.
        | 
     
| user
        
        string / required
         | 
      
        
        Name of the user to add or remove.
        
       aliases: name  | 
     
Notes
Note
- The default authentication assumes that you are either logging in as or sudo’ing to the 
dbadminaccount on the host. - This module uses 
pyodbc, a Python ODBC database adapter. You must ensure thatunixODBCandpyodbcis installed on the host and properly configured. - Configuring 
unixODBCfor Vertica requiresDriver = /opt/vertica/lib64/libverticaodbc.soto be added to theVerticasection of either/etc/odbcinst.inior$HOME/.odbcinst.iniand bothErrorMessagesPath = /opt/vertica/lib64andDriverManagerEncoding = UTF-16to be added to theDriversection of either/etc/vertica.inior$HOME/.vertica.ini. 
Examples
- name: Creating a new vertica user with password
  community.general.vertica_user: name=user_name password=md5<encrypted_password> db=db_name state=present
- name: Creating a new vertica user authenticated via ldap with roles assigned
  community.general.vertica_user:
    name=user_name
    ldap=true
    db=db_name
    roles=schema_name_ro
    state=present
  Authors
- Dariusz Owczarek (@dareko)
 
© 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/community/general/vertica_user_module.html