Skip to content

Latest commit

 

History

History
1114 lines (584 loc) · 24.4 KB

netbox_webhook_module.rst

File metadata and controls

1114 lines (584 loc) · 24.4 KB
orphan:

netbox.netbox.netbox_webhook module -- Creates, updates or deletes webhook configuration within NetBox

Note

This module is part of the netbox.netbox collection (version 3.16.0).

To install it, use: ansible-galaxy collection install netbox.netbox. You need further requirements to be able to use this module, see :ref:`Requirements <ansible_collections.netbox.netbox.netbox_webhook_module_requirements>` for details.

To use it in a playbook, specify: netbox.netbox.netbox_webhook.

.. rst-class:: ansible-version-added

New in netbox.netbox 3.6.0

  • Creates, updates or removes webhook configuration within NetBox

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

  • pynetbox
.. rst-class:: ansible-option-table

Parameter Comments
.. rst-class:: ansible-option-title

cert

.. rst-class:: ansible-option-type-line

any

Certificate path

.. rst-class:: ansible-option-title

data

.. rst-class:: ansible-option-type-line

dictionary / required

Defines the custom field

.. rst-class:: ansible-option-title

additional_headers

.. rst-class:: ansible-option-type-line

string

User-supplied HTTP headers. Supports jinja2 code.

.. rst-class:: ansible-option-title

body_template

.. rst-class:: ansible-option-type-line

string

Body template for webhook. Supports jinja2 code.

.. rst-class:: ansible-option-title

ca_file_path

.. rst-class:: ansible-option-type-line

string

CA certificate file to use for SSL verification

.. rst-class:: ansible-option-title

conditions

.. rst-class:: ansible-option-type-line

dictionary

A set of conditions which determine whether the webhook will be generated.

.. rst-class:: ansible-option-title

content_types

.. rst-class:: ansible-option-type-line

list / elements=any

The content type(s) to apply this webhook to

Required when state=present

.. rst-class:: ansible-option-title

enabled

.. rst-class:: ansible-option-type-line

boolean

Enable/disable the webhook.

.. rst-class:: ansible-option-line

Choices:

.. rst-class:: ansible-option-title

http_content_type

.. rst-class:: ansible-option-type-line

string

The HTTP content type.

.. rst-class:: ansible-option-title

http_method

.. rst-class:: ansible-option-type-line

any

HTTP method of the webhook.

.. rst-class:: ansible-option-title

name

.. rst-class:: ansible-option-type-line

string / required

Name of the webhook

.. rst-class:: ansible-option-title

payload_url

.. rst-class:: ansible-option-type-line

string

URL for the webhook to use.

Required when state=present

.. rst-class:: ansible-option-title

secret

.. rst-class:: ansible-option-type-line

string

Secret key to generate X-Hook-Signature to include in the payload.

.. rst-class:: ansible-option-title

ssl_verification

.. rst-class:: ansible-option-type-line

boolean

Enable ssl verification.

.. rst-class:: ansible-option-line

Choices:

.. rst-class:: ansible-option-title

type_create

.. rst-class:: ansible-option-type-line

boolean

Call this webhook when a matching object is created

.. rst-class:: ansible-option-line

Choices:

.. rst-class:: ansible-option-title

type_delete

.. rst-class:: ansible-option-type-line

boolean

Call this webhook when a matching object is deleted

.. rst-class:: ansible-option-line

Choices:

.. rst-class:: ansible-option-title

type_update

.. rst-class:: ansible-option-type-line

boolean

Call this webhook when a matching object is updated

.. rst-class:: ansible-option-line

Choices:

.. rst-class:: ansible-option-title

netbox_token

.. rst-class:: ansible-option-type-line

string / required

The NetBox API token.

.. rst-class:: ansible-option-title

netbox_url

.. rst-class:: ansible-option-type-line

string / required

The URL of the NetBox instance.

Must be accessible by the Ansible control host.

.. rst-class:: ansible-option-title

query_params

.. rst-class:: ansible-option-type-line

list / elements=string

This can be used to override the specified values in ALLOWED_QUERY_PARAMS that are defined

in plugins/module_utils/netbox_utils.py and provides control to users on what may make

an object unique in their environment.

.. rst-class:: ansible-option-title

state

.. rst-class:: ansible-option-type-line

string

The state of the object.

.. rst-class:: ansible-option-line

Choices:

.. rst-class:: ansible-option-title

validate_certs

.. rst-class:: ansible-option-type-line

any

If no, SSL certificates will not be validated.

This should only be used on personally controlled sites using a self-signed certificates.

.. rst-class:: ansible-option-line

Default: :ansible-option-default:`true`

Note

  • This should be ran with connection local and hosts localhost
  • Use !unsafe when adding jinja2 code to additional_headers or body_template
- name: "Test NetBox webhook module"
  connection: local
  hosts: localhost
  tasks:
    - name: Create a webhook
      netbox_webhook:
        netbox_url: http://netbox.local
        netbox_token: thisIsMyToken
        data:
          content_types:
            - dcim.device
          name: Example Webhook
          type_create: yes
          payload_url: https://payload.url/
          body_template: !unsafe >-
            {{ data }}

    - name: Update the webhook to run on delete
      netbox_webhook:
        netbox_url: http://netbox.local
        netbox_token: thisIsMyToken
        data:
          name: Example Webhook
          type_create: yes
          type_delete: yes
          payload_url: https://payload.url/
          body_template: !unsafe >-
            {{ data }}

    - name: Delete the webhook
      netbox_webhook:
        netbox_url: http://netbox.local
        netbox_token: thisIsMyToken
        data:
          name: Example Webhook
          type_create: yes
          type_delete: yes
          payload_url: https://payload.url/
          body_template: !unsafe >-
            {{ data }}
        state: absent

Common return values are documented :ref:`here <common_return_values>`, the following are the fields unique to this module:

.. rst-class:: ansible-option-table

Key Description
.. rst-class:: ansible-option-title

msg

.. rst-class:: ansible-option-type-line

string

Message indicating failure or info about what has been achieved

.. rst-class:: ansible-option-line

Returned: always

.. rst-class:: ansible-option-title

webhook

.. rst-class:: ansible-option-type-line

dictionary

Serialized object as created/existent/updated/deleted within NetBox

.. rst-class:: ansible-option-line

Returned: always

Authors

  • Martin Rødvand (@rodvand)

Collection links

Issue Tracker Repository (Sources)