netbox.netbox.netbox_service – Creates or removes service from NetBox

Note

This plugin is part of the netbox.netbox collection (version 3.4.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 netbox.netbox.

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

New in version 0.1.5: of netbox.netbox

Synopsis

  • Creates or removes service from NetBox

Requirements

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

  • pynetbox

Parameters

Parameter Choices/Defaults Comments
cert
raw
Certificate path
data
dictionary / required
Defines the service configuration
custom_fields
dictionary
Must exist in NetBox and in key/value format
description
string
Service description
device
raw
Specifies on which device the service is running
ipaddresses
raw
Specifies which IPaddresses to associate with service.
name
string / required
Name of the region to be created
port
integer
Specifies which port used by service
ports
list / elements=integer
Specifies which ports used by service (NetBox 2.10 and newer)
protocol
raw / required
Specifies which protocol used by service
tags
list / elements=raw
What tags to add/update
virtual_machine
raw
Specifies on which virtual machine the service is running
netbox_token
string / required
The NetBox API token.
netbox_url
string / required
The URL of the NetBox instance.
Must be accessible by the Ansible control host.
query_params
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.
state
string
    Choices:
  • present ←
  • absent
The state of the object.
validate_certs
raw
Default:
"yes"
If no, SSL certificates will not be validated.
This should only be used on personally controlled sites using a self-signed certificates.

Notes

Note

  • This should be ran with connection local and hosts localhost

Examples

- name: "Create netbox service"
  connection: local
  hosts: all
  gather_facts: False

  tasks:
    - name: Create service
      netbox_service:
        netbox_url: netbox_url
        netbox_token: netbox_token
        data:
          device: Test666
          name: node-exporter
          port: 9100
          protocol: TCP
          ipaddresses:
            - address: 127.0.0.1
          tags:
            - prometheus
        state: present

- name: "Delete netbox service"
  connection: local
  hosts: all
  gather_facts: False

  tasks:
    - name: Delete service
      netbox_service:
        netbox_url: netbox_url
        netbox_token: netbox_token
        data:
          device: Test666
          name: node-exporter
          port: 9100
          protocol: TCP
        state: absent

Authors

  • Kulakov Ilya (@TawR1024)