Skip to content

object_metadata

Collection Note

This module is part of the networktocode.nautobot collection. To install the collection, use:

ansible-galaxy collection install networktocode.nautobot
Added in version 5.5.0.

You need further requirements to be able to use this module, see the Requirements section for details.

Synopsis

  • Creates or removes object metadata from Nautobot

Requirements

The following Python packages are needed on the host that executes this module:

Parameters

Parameter Defaults / Choices Comments
api_version
str
API Version Nautobot REST API
Version Added: 4.1.0
assigned_object_id
str
The UUID of the object in the relationship
Required if I(state=present) and the object metadata does not exist yet
assigned_object_type
str
The app_label.model for the object in the relationship
Required if I(state=present) and the object metadata does not exist yet
contact
raw
The contact of the metadata
Requires one of I(value), I(contact), or I(team) when I(state=present) and the object metadata does not exist yet
id
str
The UUID of the object to operate on
Version Added: 5.13.0
metadata_type
raw
The name of the metadata type
Required if I(state=present) and the object metadata does not exist yet
query_params
list / elements=str
This can be used to override the specified values in ALLOWED_QUERY_PARAMS that is defined
in plugins/module_utils/utils.py and provides control to users on what may make
an object unique in their environment.
Version Added: 3.0.0
scoped_fields
list / elements=str
List of scoped fields, only direct fields on the model
state
str
Default: present
Choices: absent, present
Use C(present) or C(absent) for adding or removing.
team
raw
The team of the metadata
Requires one of I(value), I(contact), or I(team) when I(state=present) and the object metadata does not exist yet
token
str
required
The token created within Nautobot to authorize API access
Can be omitted if the E(NAUTOBOT_TOKEN) environment variable is configured.
url
str
required
The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000)
Can be omitted if the E(NAUTOBOT_URL) environment variable is configured.
validate_certs
raw
Default: True
If C(no), SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates.
Can be omitted if the E(NAUTOBOT_VALIDATE_CERTS) environment variable is configured.
value
str
The value of the metadata
Requires one of I(value), I(contact), or I(team) when I(state=present) and the object metadata does not exist yet

Examples

- name: "Test object metadata creation/deletion"
  connection: local
  hosts: localhost
  gather_facts: false
  tasks:
    - name: Create object metadata
      networktocode.nautobot.object_metadata:
        url: http://nautobot.local
        token: thisIsMyToken
        metadata_type: "TopSecretInfo"
        assigned_object_type: dcim.device
        assigned_object_id: abcdefgh-0123-abcd-0123-abcdefghijkl
        value: foobar
        scoped_fields:
          - name
    - name: Delete object metadata
      networktocode.nautobot.object_metadata:
        url: http://nautobot.local
        token: thisIsMyToken
        metadata_type: "TopSecretInfo"
        assigned_object_type: dcim.device
        assigned_object_id: abcdefgh-0123-abcd-0123-abcdefghijkl
        value: foobar
        scoped_fields:
          - name
        state: absent

    - name: Delete object metadata by id
      networktocode.nautobot.object_metadata:
        url: http://nautobot.local
        token: thisIsMyToken
        id: 00000000-0000-0000-0000-000000000000
        state: absent

Return Values

Key Data Type Description Returned
msg str Message indicating failure or info about what has been achieved always
object_metadata dict Serialized object as created/existent/updated/deleted within Nautobot always

Authors

  • Network To Code (@networktocode)
  • Travis Smith (@tsm1th)