community / community.hashi_vault / 6.2.0 / module / vault_database_role_create Creates or updates a (dynamic) role definition | "added in version" 6.2.0 of community.hashi_vault" Authors: Martin Chmielewski (@M4rt1nCh)community.hashi_vault.vault_database_role_create (6.2.0) — module
Install with ansible-galaxy collection install community.hashi_vault:==6.2.0
collections: - name: community.hashi_vault version: 6.2.0
L(Creates or updates a dynamic role definition,https://hvac.readthedocs.io/en/stable/usage/secrets_engines/database.html#create-static-role).
- name: Generate creation statement ansible.builtin.set_fact: creation_statements = [ "CREATE ROLE \"{{name}}\" WITH LOGIN PASSWORD '{{password}}' VALID UNTIL '{{expiration}}';", "GRANT SELECT ON ALL TABLES IN SCHEMA public TO \"{{name}}\";" ]
- name: Create / update Role with the default mount point community.hashi_vault.vault_database_role_create: url: https://vault:8201 auth_method: userpass username: '{{ user }}' password: '{{ passwd }}' connection_name: SomeConnection role_name: SomeRole db_username: '{{ db_username}}' creation_statements: '{{ creation_statements }}' register: result
- name: Display the result of the operation ansible.builtin.debug: msg: "{{ result }}"
- name: Create / update Role with a custom mount point community.hashi_vault.vault_database_role_create: url: https://vault:8201 auth_method: userpass username: '{{ user }}' password: '{{ passwd }}' engine_mount_point: db1 connection_name: SomeConnection role_name: SomeRole db_username: '{{ db_username}}' creation_statements: '{{ creation_statements }}' register: result
- name: Display the result of the operation ansible.builtin.debug: msg: "{{ result }}"
jwt: description: The JSON Web Token (JWT) to use for JWT authentication to Vault. type: str url: description: - URL to the Vault service. - If not specified by any other means, the value of the C(VAULT_ADDR) environment variable will be used. - If C(VAULT_ADDR) is also not defined then an error will be raised. type: str token: description: - Vault token. Token may be specified explicitly, through the listed [env] vars, and also through the C(VAULT_TOKEN) env var. - If no token is supplied, explicitly or through env, then the plugin will check for a token file, as determined by I(token_path) and I(token_file). - The order of token loading (first found wins) is C(token param -> ansible var -> ANSIBLE_HASHI_VAULT_TOKEN -> VAULT_TOKEN -> token file). type: str region: description: The AWS region for which to create the connection. type: str ca_cert: aliases: - cacert description: - Path to certificate to use for authentication. - If not specified by any other means, the C(VAULT_CACERT) environment variable will be used. type: str max_ttl: default: 86400 description: Max TTL for the role. required: false type: int proxies: description: - URL(s) to the proxies used to access the Vault service. - It can be a string or a dict. - If it's a dict, provide the scheme (eg. C(http) or C(https)) as the key, and the URL as the value. - If it's a string, provide a single URL that will be used as the proxy for both C(http) and C(https) schemes. - A string that can be interpreted as a dictionary will be converted to one (see examples). - You can specify a different proxy for HTTP and HTTPS resources. - If not specified, L(environment variables from the Requests library,https://requests.readthedocs.io/en/master/user/advanced/#proxies) are used. type: raw version_added: 1.1.0 version_added_collection: community.hashi_vault retries: description: - Allows for retrying on errors, based on the L(Retry class in the urllib3 library,https://urllib3.readthedocs.io/en/latest/reference/urllib3.util.html#urllib3.util.Retry). - This collection defines recommended defaults for retrying connections to Vault. - This option can be specified as a positive number (integer) or dictionary. - If this option is not specified or the number is C(0), then retries are disabled. - A number sets the total number of retries, and uses collection defaults for the other settings. - A dictionary value is used directly to initialize the C(Retry) class, so it can be used to fully customize retries. - For detailed information on retries, see the collection User Guide. type: raw version_added: 1.3.0 version_added_collection: community.hashi_vault role_id: description: - Vault Role ID or name. Used in C(approle), C(aws_iam), C(azure) and C(cert) auth methods. - For C(cert) auth, if no I(role_id) is supplied, the default behavior is to try all certificate roles and return any one that matches. - For C(azure) auth, I(role_id) is required. type: str timeout: description: - Sets the connection timeout in seconds. - If not set, then the C(hvac) library's default is used. type: int version_added: 1.3.0 version_added_collection: community.hashi_vault password: description: Authentication password. type: str username: description: Authentication user name. type: str namespace: description: - Vault namespace where secrets reside. This option requires HVAC 0.7.0+ and Vault 0.11+. - Optionally, this may be achieved by prefixing the authentication mount point and/or secret path with the namespace (e.g C(mynamespace/secret/mysecret)). - If environment variable C(VAULT_NAMESPACE) is set, its value will be used last among all ways to specify I(namespace). type: str role_name: description: The name of the role that should be created. required: true type: str secret_id: description: Secret ID to be used for Vault AppRole authentication. type: str token_file: default: .vault-token description: If no token is specified, will try to read the token from this file in I(token_path). type: str token_path: description: If no token is specified, will try to read the I(token_file) from this path. type: str auth_method: choices: - token - userpass - ldap - approle - aws_iam - azure - jwt - cert - none default: token description: - Authentication method to be used. - C(none) auth method was added in collection version C(1.2.0). - C(cert) auth method was added in collection version C(1.4.0). - C(aws_iam_login) was renamed C(aws_iam) in collection version C(2.1.0) and was removed in C(3.0.0). - C(azure) auth method was added in collection version C(3.2.0). type: str aws_profile: aliases: - boto_profile description: The AWS profile type: str default_ttl: default: 3600 description: Default TTL for the role. required: false type: int mount_point: description: - Vault mount point. - If not specified, the default mount point for a given auth method is used. - Does not apply to token authentication. type: str retry_action: choices: - ignore - warn default: warn description: - Controls whether and how to show messages on I(retries). - This has no effect if a request is not retried. type: str version_added: 1.3.0 version_added_collection: community.hashi_vault aws_access_key: aliases: - aws_access_key_id description: The AWS access key to use. type: str aws_secret_key: aliases: - aws_secret_access_key description: The AWS secret key that corresponds to the access key. type: str azure_resource: default: https://management.azure.com/ description: The resource URL for the application registered in Azure Active Directory. Usually should not be changed from the default. required: false type: str version_added: 3.2.0 version_added_collection: community.hashi_vault token_validate: default: false description: - For token auth, will perform a C(lookup-self) operation to determine the token's validity before using it. - Disable if your token does not have the C(lookup-self) capability. type: bool version_added: 0.2.0 version_added_collection: community.hashi_vault validate_certs: description: - Controls verification and validation of SSL certificates, mostly you only want to turn off with self signed ones. - Will be populated with the inverse of C(VAULT_SKIP_VERIFY) if that is set and I(validate_certs) is not explicitly provided. - Will default to C(true) if neither I(validate_certs) or C(VAULT_SKIP_VERIFY) are set. type: bool azure_client_id: description: - The client ID (also known as application ID) of the Azure AD service principal or managed identity. Should be a UUID. - If not specified, will use the system assigned managed identity. required: false type: str version_added: 3.2.0 version_added_collection: community.hashi_vault azure_tenant_id: description: - The Azure Active Directory Tenant ID (also known as the Directory ID) of the service principal. Should be a UUID. - Required when using a service principal to authenticate to Vault, e.g. required when both I(azure_client_id) and I(azure_client_secret) are specified. - Optional when using managed identity to authenticate to Vault. required: false type: str version_added: 3.2.0 version_added_collection: community.hashi_vault connection_name: description: The connection name under which the role should be created. required: true type: str renew_statements: description: Specifies the database statements to be executed to renew a user elements: str required: false type: list aws_iam_server_id: description: If specified, sets the value to use for the C(X-Vault-AWS-IAM-Server-ID) header as part of C(GetCallerIdentity) request. required: false type: str version_added: 0.2.0 version_added_collection: community.hashi_vault aws_security_token: description: The AWS security token if using temporary access and secret keys. type: str engine_mount_point: description: The path where the secret backend is mounted. type: str azure_client_secret: description: The client secret of the Azure AD service principal. required: false type: str version_added: 3.2.0 version_added_collection: community.hashi_vault creation_statements: description: Specifies the database statements executed to create and configure a user. elements: str required: true type: list rollback_statements: description: Specifies the database statements to be executed to rollback a create operation in the event of an error. elements: str required: false type: list cert_auth_public_key: description: For C(cert) auth, path to the certificate file to authenticate with, in PEM format. type: path version_added: 1.4.0 version_added_collection: community.hashi_vault cert_auth_private_key: description: For C(cert) auth, path to the private key file to authenticate with, in PEM format. type: path version_added: 1.4.0 version_added_collection: community.hashi_vault revocation_statements: description: Specifies the database statements to be executed to revoke a user. elements: str required: false type: list