theforeman.foreman.webhook module – Manage Webhooks

Note

This module is part of the theforeman.foreman collection (version 4.0.0).

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 theforeman.foreman. You need further requirements to be able to use this module, see Requirements for details.

To use it in a playbook, specify: theforeman.foreman.webhook.

New in theforeman.foreman 4.0.0

Synopsis

  • Manage Webhooks

Requirements

The below requirements are needed on the host that executes this module.

  • requests

Parameters

Parameter

Comments

enabled

boolean

Enable or disable the webhook

Choices:

  • false

  • true

event

string

Name of the event that shall trigger the webhook

Required when creating a new webhook

http_content_type

string

The HTTP content type for the webhook

http_headers

string

HTTP headers for the webhook

http_method

string

The HTTP method used in the webhook

Choices:

  • "POST"

  • "GET"

  • "PUT"

  • "DELETE"

  • "PATCH"

locations

list / elements=string

List of locations the entity should be assigned to

name

string / required

Name of the Webhook

organizations

list / elements=string

List of organizations the entity should be assigned to

password

string / required

Password of the user accessing the Foreman server.

If the value is not specified in the task, the value of environment variable FOREMAN_PASSWORD will be used instead.

proxy_authorization

boolean

Authorize with client certificate and validate CA from Settings

Choices:

  • false

  • true

server_url

string / required

URL of the Foreman server.

If the value is not specified in the task, the value of environment variable FOREMAN_SERVER_URL will be used instead.

ssl_ca_certs

string

X509 Certification Authorities concatenated in PEM format

state

string

State of the entity

Choices:

  • "present" ← (default)

  • "absent"

target_url

string

The URL to call when the webhook is triggered

Required when creating a new webhook

username

string / required

Username accessing the Foreman server.

If the value is not specified in the task, the value of environment variable FOREMAN_USERNAME will be used instead.

validate_certs

boolean

Whether or not to verify the TLS certificates of the Foreman server.

If the value is not specified in the task, the value of environment variable FOREMAN_VALIDATE_CERTS will be used instead.

Choices:

  • false

  • true ← (default)

verify_ssl

boolean

Verify SSL certs for the webhook

Choices:

  • false

  • true

webhook_password

string

Password for the webhook, if required

webhook_template

string

Name of the webhook template

webhook_username

string

Username for the webhook, if required

Attributes

Attribute

Support

Description

check_mode

Support: full

Can run in check_mode and return changed status prediction without modifying the entity

diff_mode

Support: full

Will return details on what has changed (or possibly needs changing in check_mode), when in diff mode

Examples

- name: 'Create Webhook'
  theforeman.foreman.webhook:
    username: 'admin'
    password: 'secret_password'
    server_url: 'https://foreman.example.com'
    name: 'test-webhook'
    target_url: 'https://google.com'
    http_method: 'GET'
    event: 'actions.katello.content_view.promote_succeeded'
    enabled: true
    organizations:
      - 'MyOrg'
    locations:
      - 'DC1'

- name: 'Remove Webhook'
  theforeman.foreman.webhook:
    username: 'admin'
    password: 'secret_password'
    server_url: 'https://foreman.example.com'
    name: 'test-webhook'
    state: 'absent'

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key

Description

entity

dictionary

Final state of the affected entities grouped by their type.

Returned: success

webhooks

list / elements=dictionary

List of webhooks.

Returned: success

Authors

  • Griffin Sullivan (@Griffin-Sullivan)