community.hashi_vault.vault_database_roles_list (6.2.0) — module

Returns a list of available (dynamic) roles

| "added in version" 6.2.0 of community.hashi_vault"

Authors: Martin Chmielewski (@M4rt1nCh)

Install collection

Install with ansible-galaxy collection install community.hashi_vault:==6.2.0


Add to requirements.yml

  collections:
    - name: community.hashi_vault
      version: 6.2.0

Description

Returns a list of available (dynamic) roles.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: List all roles with the default mount point
  community.hashi_vault.vault_database_roles_list:
    url: https://vault:8201
    auth_method: userpass
    username: '{{ user }}'
    password: '{{ passwd }}'
  register: result
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Display the result of the operation
  ansible.builtin.debug:
    msg: "{{ result }}"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: List all roles with a custom mount point
  community.hashi_vault.vault_database_roles_list:
    url: https://vault:8201
    auth_method: userpass
    username: '{{ user }}'
    password: '{{ passwd }}'
    engine_mount_point: db1
  register: result
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Display the result of the operation
  ansible.builtin.debug:
    msg: "{{ result }}"

Inputs

    
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

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

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

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

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

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

Outputs

data:
  contains:
    keys:
      description: The list of dynamic role names.
      elements: str
      returned: success
      sample:
      - dyn_role1
      - dyn_role2
      - dyn_role3
      type: list
  description: The C(data) field of raw result. This can also be accessed via RV(raw.data).
  returned: success
  sample:
    keys:
    - dyn_role1
    - dyn_role2
    - dyn_role3
  type: dict
raw:
  contains:
    data:
      contains:
        keys:
          description: The list of dynamic role names.
          elements: str
          returned: success
          sample:
          - dyn_role1
          - dyn_role2
          - dyn_role3
          type: list
      description: The data field of the API response.
      returned: success
      type: dict
  description: The raw result of the operation.
  returned: success
  sample:
    auth: null
    data:
      keys:
      - dyn_role1
      - dyn_role2
      - dyn_role3
    lease_duration": 0
    lease_id: ''
    renewable: false
    request_id: '123456'
    username: SomeUser
    warnings: null
    wrap_info: null
  type: dict
roles:
  description: The list of dynamic roles or en empty list. This can also be accessed
    via RV(data.keys) or RV(raw.data.keys).
  elements: str
  returned: success
  sample:
  - dyn_role1
  - dyn_role2
  - dyn_role3
  type: list