tribe29.checkmk.user (0.23.0) — module

Manage users in Checkmk.

| "added in version" 0.18.0 of tribe29.checkmk"

Authors: Lars Getwan (@lgetwan)

Install collection

Install with ansible-galaxy collection install tribe29.checkmk:==0.23.0


Add to requirements.yml

  collections:
    - name: tribe29.checkmk
      version: 0.23.0

Description

Create and delete users within Checkmk.

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Create a user.
- name: "Create a user."
  tribe29.checkmk.user:
    server_url: "http://localhost/"
    site: "local"
    automation_user: "automation"
    automation_secret: "$SECRET"
    name: "krichards"
    fullname: "Keith Richards"
    email: "keith.richards@rollingstones.com"
    password: "Open-G"
    contactgroups:
        - "rolling_stones"
        - "glimmer_twins"
        - "x-pensive_winos"
        - "potc_cast"
    state: "present"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Create an automation user.
- name: "Create an automation user."
  tribe29.checkmk.user:
    server_url: "http://localhost/"
    site: "local"
    automation_user: "automation"
    automation_secret: "$SECRET"
    name: "registration"
    fullname: "Registration User"
    auth_type: "automation"
    password: "ZGSDHUVDSKJHSDF"
    roles:
        - "registration"
    state: "present"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Create a detailed user.
- name: "Create a detailed user."
  tribe29.checkmk.user:
    server_url: "http://localhost/"
    site: "local"
    automation_user: "automation"
    automation_secret: "$SECRET"
    name: "horst"
    fullname: "Horst Schlämmer"
    auth_type: "password"
    password: "uschi"
    enforce_password_change: True
    email: "checker@grevenbroich.de"
    fallback_contact: True
    pager_address: 089-123456789
    contactgroups:
      - "sport"
      - "vereinsgeschehen"
      - "lokalpolitik"
    disable_notifications: '{"disable": true, "timerange": { "start_time": "2023-02-23T15:06:48+00:00", "end_time": "2023-02-23T16:06:48+00:00"}}'
    language: "de"
    roles:
      - "user"
    authorized_sites:
      - "{{ site }}"
    state: "present"

Inputs

    
name:
    description: The user you want to manage.
    required: true
    type: str

site:
    description: The site you want to connect to.
    required: true
    type: str

email:
    description: The mail address of the user. Required if the user is a monitoring contact
      and receives notifications via mail.
    type: str

roles:
    description: The list of assigned roles to the user.
    type: raw

state:
    choices:
    - present
    - absent
    - reset_password
    default: present
    description: Desired state
    type: str

fullname:
    description: The alias or full name of the user.
    type: str

language:
    choices:
    - default
    - en
    - de
    - ro
    description: Configure the language to be used by the user in the user interface.
      Omitting this will configure the default language.
    type: str

password:
    description: The password or secret for login.
    type: str

auth_type:
    choices:
    - password
    - automation
    description: The authentication type.
    type: str

server_url:
    description: The base url of your Checkmk server.
    required: true
    type: str

contactgroups:
    description: Assign the user to one or multiple contact groups. If no contact group
      is specified then no monitoring contact will be created.
    type: raw

disable_login:
    description: The user can be blocked from login but will remain part of the site.
      The disabling does not affect notification and alerts.
    type: bool

pager_address:
    description: The pager address.
    type: str

validate_certs:
    default: true
    description: Whether to validate the SSL certificate of the Checkmk server.
    type: bool

automation_user:
    description: The automation user you want to use. It has to be an 'Automation' user,
      not a normal one.
    required: true
    type: str

authorized_sites:
    description: The names of the sites the user is authorized to handle.
    type: raw

fallback_contact:
    description: In case none of your notification rules handles a certain event a notification
      will be sent to the specified email.
    type: bool

automation_secret:
    description: The secret to authenticate your automation user.
    required: true
    type: str

idle_timeout_option:
    choices:
    - global
    - disable
    - individual
    description: Specify if the idle timeout should use the global configuration, be disabled
      or use an individual duration
    type: str

disable_notifications:
    description: Option if all notifications should be temporarily disabled.
    type: raw

idle_timeout_duration:
    description: The duration in seconds of the individual idle timeout if individual
      is selected as idle timeout option.
    type: str

enforce_password_change:
    description: If set to true, the user will be forced to change his/her password at
      the next login.
    type: bool

Outputs

message:
  description: The output message that the module generates. Contains the API response
    details in case of an error.
  returned: always
  sample: User created.
  type: str