theforeman.foreman.webhook module – Manage Webhooks

Note

This module is part of the theforeman.foreman collection (version 5.2.0-dev).

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)