diff --git a/changelogs/fragments/netbox_tag.yml b/changelogs/fragments/netbox_tag.yml new file mode 100644 index 00000000..f54b55e9 --- /dev/null +++ b/changelogs/fragments/netbox_tag.yml @@ -0,0 +1,2 @@ +minor_changes: + - netbox_tag - Add support for object_types on tags diff --git a/plugins/modules/netbox_tag.py b/plugins/modules/netbox_tag.py index d429e16a..3994151b 100644 --- a/plugins/modules/netbox_tag.py +++ b/plugins/modules/netbox_tag.py @@ -50,6 +50,12 @@ - Tag description required: false type: str + object_types: + description: + - Objects types using the tag + required: false + type: list + elements: raw required: true """ @@ -80,6 +86,15 @@ loop: - mgmt - tun + + - name: Restrict object types + netbox.netbox.netbox_tag: + netbox_url: http://netbox.local + netbox_token: thisIsMyToken + data: + name: "MyTag" + object_types: + - dcim.prefix """ RETURN = r""" @@ -119,6 +134,7 @@ def main(): color=dict(required=False, type="str"), description=dict(required=False, type="str"), slug=dict(required=False, type="str"), + object_types=dict(required=False, type="list", elements="raw"), ), ), ) diff --git a/tests/integration/targets/v4.2/tasks/netbox_tag.yml b/tests/integration/targets/v4.2/tasks/netbox_tag.yml index f3fcbac3..d93d80f1 100644 --- a/tests/integration/targets/v4.2/tasks/netbox_tag.yml +++ b/tests/integration/targets/v4.2/tasks/netbox_tag.yml @@ -12,6 +12,8 @@ name: Test Tag 1 description: Tag 1 test color: "0000ff" + object_types: + - ipem.prefix state: present register: test_one @@ -25,6 +27,7 @@ - test_one['tags']['description'] == "Tag 1 test" - test_one['tags']['name'] == "Test Tag 1" - test_one['tags']['slug'] == "test-tag-1" + - test_one['tags']['object_types'][0] = "ipam.prefix" - test_one['msg'] == "tags Test Tag 1 created" - name: "TAG 2: Create duplicate" @@ -53,6 +56,8 @@ name: Test Tag 1 description: Tag 1 update test color: "00ff00" + object_types: + - ipam.asn state: present register: test_three @@ -65,6 +70,7 @@ - test_three['tags']['name'] == "Test Tag 1" - test_three['tags']['description'] == "Tag 1 update test" - test_three['tags']['color'] == "00ff00" + -test_three['tags']['object_types'][0] == "ipam.asn" - test_three['msg'] == "tags Test Tag 1 updated" - name: "TAG 4: ASSERT - Delete"