ansible.builtin.ipa_vault (v2.9.27) — module

Manage FreeIPA vaults

| "added in version" 2.7 of ansible.builtin"

Authors: Juan Manuel Parrilla (@jparrill)

preview | supported by community

Install Ansible via pip

Install with pip install ansible==2.9.27

Description

Add, modify and delete vaults and secret vaults.

KRA service should be enabled to use this module.

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Ensure vault is present
- ipa_vault:
    name: vault01
    vault_type: standard
    user: user01
    ipa_host: ipa.example.com
    ipa_user: admin
    ipa_pass: topsecret
    validate_certs: false
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Ensure vault is present for Admin user
- ipa_vault:
    name: vault01
    vault_type: standard
    ipa_host: ipa.example.com
    ipa_user: admin
    ipa_pass: topsecret
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Ensure vault is absent
- ipa_vault:
    name: vault01
    vault_type: standard
    user: user01
    state: absent
    ipa_host: ipa.example.com
    ipa_user: admin
    ipa_pass: topsecret
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Modify vault if already exists
- ipa_vault:
    name: vault01
    vault_type: standard
    description: "Vault for test"
    ipa_host: ipa.example.com
    ipa_user: admin
    ipa_pass: topsecret
    replace: True
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Get vault info if already exists
- ipa_vault:
    name: vault01
    ipa_host: ipa.example.com
    ipa_user: admin
    ipa_pass: topsecret

Inputs

    
cn:
    aliases:
    - name
    description:
    - Vault name.
    - Can not be changed as it is the unique identifier.
    required: true

state:
    choices:
    - present
    - absent
    default: present
    description:
    - State to ensure.

replace:
    choices:
    - 'True'
    - 'False'
    default: false
    description:
    - Force replace the existant vault on IPA server.
    type: bool

service:
    description:
    - Any service can own one or more service vaults.
    - Mutually exclusive with user.

ipa_host:
    default: ipa.example.com
    description:
    - IP or hostname of IPA server.
    - If the value is not specified in the task, the value of environment variable C(IPA_HOST)
      will be used instead.
    - If both the environment variable C(IPA_HOST) and the value are not specified in
      the task, then DNS will be used to try to discover the FreeIPA server.
    - The relevant entry needed in FreeIPA is the 'ipa-ca' entry.
    - If neither the DNS entry, nor the environment C(IPA_HOST), nor the value are available
      in the task, then the default value will be used.
    - Environment variable fallback mechanism is added in Ansible 2.5.
    type: str

ipa_pass:
    description:
    - Password of administrative user.
    - If the value is not specified in the task, the value of environment variable C(IPA_PASS)
      will be used instead.
    - Note that if the 'urllib_gssapi' library is available, it is possible to use GSSAPI
      to authenticate to FreeIPA.
    - If the environment variable C(KRB5CCNAME) is available, the module will use this
      kerberos credentials cache to authenticate to the FreeIPA server.
    - If the environment variable C(KRB5_CLIENT_KTNAME) is available, and C(KRB5CCNAME)
      is not; the module will use this kerberos keytab to authenticate.
    - If GSSAPI is not available, the usage of 'ipa_pass' is required.
    - Environment variable fallback mechanism is added in Ansible 2.5.
    type: str

ipa_port:
    default: 443
    description:
    - Port of FreeIPA / IPA server.
    - If the value is not specified in the task, the value of environment variable C(IPA_PORT)
      will be used instead.
    - If both the environment variable C(IPA_PORT) and the value are not specified in
      the task, then default value is set.
    - Environment variable fallback mechanism is added in Ansible 2.5.
    type: int

ipa_prot:
    choices:
    - http
    - https
    default: https
    description:
    - Protocol used by IPA server.
    - If the value is not specified in the task, the value of environment variable C(IPA_PROT)
      will be used instead.
    - If both the environment variable C(IPA_PROT) and the value are not specified in
      the task, then default value is set.
    - Environment variable fallback mechanism is added in Ansible 2.5.
    type: str

ipa_user:
    default: admin
    description:
    - Administrative account used on IPA server.
    - If the value is not specified in the task, the value of environment variable C(IPA_USER)
      will be used instead.
    - If both the environment variable C(IPA_USER) and the value are not specified in
      the task, then default value is set.
    - Environment variable fallback mechanism is added in Ansible 2.5.
    type: str

username:
    aliases:
    - user
    description:
    - Any user can own one or more user vaults.
    - Mutually exclusive with service.

description:
    description:
    - Description.

ipa_timeout:
    default: 10
    description:
    - Specifies idle timeout (in seconds) for the connection.
    - For bulk operations, you may want to increase this in order to avoid timeout from
      IPA server.
    - If the value is not specified in the task, the value of environment variable C(IPA_TIMEOUT)
      will be used instead.
    - If both the environment variable C(IPA_TIMEOUT) and the value are not specified
      in the task, then default value is set.
    type: int

ipavaultsalt:
    aliases:
    - vault_salt
    description:
    - Vault Salt.

ipavaulttype:
    aliases:
    - vault_type
    choices:
    - standard
    - symmetric
    - asymmetric
    default: symmetric
    description:
    - Vault types are based on security level.
    required: true

validate_certs:
    default: true
    description:
    - Validate IPA server certificates.
    type: bool

ipavaultpublickey:
    aliases:
    - vault_public_key
    description:
    - Public key.

Outputs

vault:
  description: Vault as returned by IPA API
  returned: always
  type: dict