From eb0502eaa93c76c492fc54f4019ae6ad12348dde Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Sun, 28 Apr 2024 14:26:22 -0500 Subject: [PATCH 001/102] Adds ability to use IPv6 addresses as well. --- plugins/inventory/gql_inventory.py | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/plugins/inventory/gql_inventory.py b/plugins/inventory/gql_inventory.py index 32a34014..6b4eb284 100644 --- a/plugins/inventory/gql_inventory.py +++ b/plugins/inventory/gql_inventory.py @@ -51,6 +51,12 @@ env: # in order of precedence - name: NAUTOBOT_TOKEN + default_ip_version: + required: False + description: + - Choice between IPv6 and IPv4 address as the primary IP for ansible_host. + choices: ["IPv4", "ipv4", "IPv6", "ipv6"] + default: "IPv4" query: required: False description: @@ -249,16 +255,21 @@ def add_variable(self, host: str, var: str, var_type: str): """ self.inventory.set_variable(host, var_type, var) - def add_ipv4_address(self, device): - """Add primary IPv4 address to host.""" - if device["primary_ip4"]: - if not device["primary_ip4"].get("host"): - self.display.error("Mapping ansible_host requires primary_ip4.host as part of the query.") - self.add_variable(device["name"], device["name"], "ansible_host") - return + def add_ip_address(self, default_ip_version, device): + """Add primary IP address to host.""" + if default_ip_version.lower() == "ipv6" and device.get("primary_ip6", {}).get("host"): + primary_address_type = "primary_ip6" + elif default_ip_version.lower() == "ipv4" and device.get("primary_ip4", {}).get("host"): + primary_address_type = "primary_ip6" self.add_variable(device["name"], device["primary_ip4"]["host"], "ansible_host") else: + self.display.error("Mapping ansible_host requires primary_ip6.host or primary_ip4.host as part of the query.") self.add_variable(device["name"], device["name"], "ansible_host") + return + + # Add primary IP address to host + self.add_variable(device["name"], device[primary_address_type]["host"], "ansible_host") + def add_ansible_platform(self, device): """Add network platform to host""" @@ -349,11 +360,13 @@ def main(self): "devices": { "name": None, "primary_ip4": "host", + "primary_ip6": "host", "platform": "napalm_driver", }, "virtual_machines": { "name": None, "primary_ip4": "host", + "primary_ip6": "host", "platform": "name", }, } @@ -388,7 +401,7 @@ def main(self): for device in json_data["data"].get("devices", []) + json_data["data"].get("virtual_machines", []): hostname = device["name"] self.inventory.add_host(host=hostname) - self.add_ipv4_address(device) + self.add_ip_address(self.default_ip_version, device) self.add_ansible_platform(device) self.populate_variables(device) self.create_groups(device) From 327fe79ec2829d0a9e4e033afceb66f4dabfa355 Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Sun, 28 Apr 2024 14:54:04 -0500 Subject: [PATCH 002/102] Updates logic handling to meet expected. --- plugins/inventory/gql_inventory.py | 39 +++++++++++++++++++++++++----- 1 file changed, 33 insertions(+), 6 deletions(-) diff --git a/plugins/inventory/gql_inventory.py b/plugins/inventory/gql_inventory.py index 6b4eb284..679499d1 100644 --- a/plugins/inventory/gql_inventory.py +++ b/plugins/inventory/gql_inventory.py @@ -147,6 +147,24 @@ tags: name tenant: name +# Add the default IP version to be used for the ansible_host +plugin: networktocode.nautobot.gql_inventory +api_endpoint: http://localhost:8000 +default_ip_version: ipv6 +query: + devices: + tags: name + serial: + tenant: name + location: + name: + contact_name: + description: + parent: name + virtual_machines: + tags: name + tenant: name + # To group by use group_by key # Specify the full path to the data you would like to use to group by. # Ensure all paths are also included in the query. @@ -257,12 +275,21 @@ def add_variable(self, host: str, var: str, var_type: str): def add_ip_address(self, default_ip_version, device): """Add primary IP address to host.""" - if default_ip_version.lower() == "ipv6" and device.get("primary_ip6", {}).get("host"): - primary_address_type = "primary_ip6" - elif default_ip_version.lower() == "ipv4" and device.get("primary_ip4", {}).get("host"): - primary_address_type = "primary_ip6" - self.add_variable(device["name"], device["primary_ip4"]["host"], "ansible_host") - else: + # Check to see what the primary IP host addition is, first case is IPv6 + if default_ip_version.lower() == "ipv6": + if device.get("primary_ip6", {}).get("host"): + primary_address_type = "primary_ip6" + else: + primary_address_type = "primary_ip4" + + # Check for IPv4 primary IP + elif default_ip_version.lower() == "ipv4": + if device.get("primary_ip4", {}).get("host"): + primary_address_type = "primary_ip4" + else: + primary_address_type = "primary_ip6" + + if not device.get(primary_address_type, {}).get("host"): self.display.error("Mapping ansible_host requires primary_ip6.host or primary_ip4.host as part of the query.") self.add_variable(device["name"], device["name"], "ansible_host") return From d79befb3cbc601e1f67b9b30da99025603cba829 Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Tue, 30 Apr 2024 20:33:32 -0500 Subject: [PATCH 003/102] Updates GQL inventory to support IPv6 & IPv4 primary --- plugins/inventory/gql_inventory.py | 37 ++++++++++++++---------------- 1 file changed, 17 insertions(+), 20 deletions(-) diff --git a/plugins/inventory/gql_inventory.py b/plugins/inventory/gql_inventory.py index 679499d1..71c9ac8c 100644 --- a/plugins/inventory/gql_inventory.py +++ b/plugins/inventory/gql_inventory.py @@ -276,27 +276,24 @@ def add_variable(self, host: str, var: str, var_type: str): def add_ip_address(self, default_ip_version, device): """Add primary IP address to host.""" # Check to see what the primary IP host addition is, first case is IPv6 - if default_ip_version.lower() == "ipv6": - if device.get("primary_ip6", {}).get("host"): - primary_address_type = "primary_ip6" - else: - primary_address_type = "primary_ip4" - - # Check for IPv4 primary IP - elif default_ip_version.lower() == "ipv4": - if device.get("primary_ip4", {}).get("host"): - primary_address_type = "primary_ip4" - else: - primary_address_type = "primary_ip6" - - if not device.get(primary_address_type, {}).get("host"): - self.display.error("Mapping ansible_host requires primary_ip6.host or primary_ip4.host as part of the query.") - self.add_variable(device["name"], device["name"], "ansible_host") - return + order_of_preference = ["primary_ip6"] + + # if default_ip_version is IPv4, prepend, else postpend + if default_ip_version.lower() == "ipv4": + order_of_preference.insert(0, "primary_ip4") + else: + order_of_preference.append("primary_ip4") + + # Check of the address types in the order preference and if it find the first one, add that primary IP to the host + for address_type in order_of_preference: + if device.get(address_type, {}).get("host"): + self.add_variable(device["name"], device[address_type]["host"], "ansible_host") + return + + # No return found, providing a mapping to just the device name + self.display.error("Mapping ansible_host requires primary_ip6.host or primary_ip4.host as part of the query.") + self.add_variable(device["name"], device["name"], "ansible_host") - # Add primary IP address to host - self.add_variable(device["name"], device[primary_address_type]["host"], "ansible_host") - def add_ansible_platform(self, device): """Add network platform to host""" From 1a015805fb8060f0ac1ab9faf4b6b7e70b4f9ffe Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Tue, 30 Apr 2024 20:38:28 -0500 Subject: [PATCH 004/102] Blackens updated files. --- plugins/inventory/gql_inventory.py | 1 - 1 file changed, 1 deletion(-) diff --git a/plugins/inventory/gql_inventory.py b/plugins/inventory/gql_inventory.py index 71c9ac8c..d2851e8b 100644 --- a/plugins/inventory/gql_inventory.py +++ b/plugins/inventory/gql_inventory.py @@ -293,7 +293,6 @@ def add_ip_address(self, default_ip_version, device): # No return found, providing a mapping to just the device name self.display.error("Mapping ansible_host requires primary_ip6.host or primary_ip4.host as part of the query.") self.add_variable(device["name"], device["name"], "ansible_host") - def add_ansible_platform(self, device): """Add network platform to host""" From a2fac5528452d326aeb6ee616d685bf3792abadc Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Wed, 1 May 2024 19:39:42 -0500 Subject: [PATCH 005/102] Swap the defaults around. --- plugins/inventory/gql_inventory.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/plugins/inventory/gql_inventory.py b/plugins/inventory/gql_inventory.py index d2851e8b..64f0bd06 100644 --- a/plugins/inventory/gql_inventory.py +++ b/plugins/inventory/gql_inventory.py @@ -275,14 +275,14 @@ def add_variable(self, host: str, var: str, var_type: str): def add_ip_address(self, default_ip_version, device): """Add primary IP address to host.""" - # Check to see what the primary IP host addition is, first case is IPv6 - order_of_preference = ["primary_ip6"] + # Check to see what the primary IP host addition is, first case is IPv4, which is the default + order_of_preference = ["primary_ip4"] # if default_ip_version is IPv4, prepend, else postpend - if default_ip_version.lower() == "ipv4": - order_of_preference.insert(0, "primary_ip4") + if default_ip_version.lower() == "ipv6": + order_of_preference.insert(0, "primary_ip6") else: - order_of_preference.append("primary_ip4") + order_of_preference.append("primary_ip6") # Check of the address types in the order preference and if it find the first one, add that primary IP to the host for address_type in order_of_preference: From c9d83835253966e4805567d56c42047ea21fb6a2 Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Thu, 2 May 2024 14:02:05 -0500 Subject: [PATCH 006/102] Set up the check for get first. --- plugins/inventory/gql_inventory.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/inventory/gql_inventory.py b/plugins/inventory/gql_inventory.py index 64f0bd06..5f0210ad 100644 --- a/plugins/inventory/gql_inventory.py +++ b/plugins/inventory/gql_inventory.py @@ -286,7 +286,7 @@ def add_ip_address(self, default_ip_version, device): # Check of the address types in the order preference and if it find the first one, add that primary IP to the host for address_type in order_of_preference: - if device.get(address_type, {}).get("host"): + if address_type in device and device[address_type].get("host"): self.add_variable(device["name"], device[address_type]["host"], "ansible_host") return From dd12b6a836d9f8d649e2bfb3628942780808779c Mon Sep 17 00:00:00 2001 From: Joe Wesch Date: Fri, 21 Jun 2024 09:33:21 -0500 Subject: [PATCH 007/102] Enable and fix tests for 2.2 --- .github/workflows/tests.yml | 7 +- .github/workflows/trigger_release.yml | 3 +- plugins/module_utils/ipam.py | 4 + plugins/modules/prefix.py | 4 +- plugins/modules/vlan.py | 4 +- .../targets/inventory/files/test_2.2-3.json | 1312 +++++------------ .../inventory/files/test_2.2-3_legacy.json | 388 ++--- .../inventory/files/test_2.2-3_options.json | 158 +- .../files/test_2.2-3_options_flatten.json | 1304 +++++----------- .../inventory/files/test_2.2-3_plurals.json | 1310 +++++----------- .../files/test_2.2-3_plurals_flatten.json | 146 +- .../targets/latest/tasks/prefix.yml | 102 +- 12 files changed, 1311 insertions(+), 3431 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 89652e35..29b979e9 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -54,9 +54,7 @@ jobs: python-version: - "3.9" nautobot-version: - - "2.1" - # TODO: Change to 2.2 once it's released - # - "2.2" + - "2.2" ansible-version: - "2.14" - "2.15" @@ -79,8 +77,7 @@ jobs: nautobot-version: - "2.0" - "2.1" - # TODO: Enable 2.2 once it's released - # - "2.2" + - "2.2" ansible-version: - "2.14" - "2.15" diff --git a/.github/workflows/trigger_release.yml b/.github/workflows/trigger_release.yml index db0ce587..999bee75 100644 --- a/.github/workflows/trigger_release.yml +++ b/.github/workflows/trigger_release.yml @@ -46,8 +46,7 @@ jobs: nautobot-version: - "2.0" - "2.1" - # TODO: Enable 2.2 once it's released - # - "2.2" + - "2.2" ansible-version: - "2.14" - "2.15" diff --git a/plugins/module_utils/ipam.py b/plugins/module_utils/ipam.py index db8d1286..605bbd58 100644 --- a/plugins/module_utils/ipam.py +++ b/plugins/module_utils/ipam.py @@ -147,6 +147,10 @@ def run(self): else: name = data.get("name") + if self.endpoint in ["vlans", "prefixes"] and self.module.params.get("location"): + # Need to force the api_version to 2.0 when using `location` parameter + self.nb.api_version = "2.0" + if self.module.params.get("first_available"): first_available = True else: diff --git a/plugins/modules/prefix.py b/plugins/modules/prefix.py index 661b1a8c..e49b1076 100644 --- a/plugins/modules/prefix.py +++ b/plugins/modules/prefix.py @@ -61,7 +61,9 @@ version_added: "3.0.0" location: description: - - Location that prefix is associated with + - The single location the prefix will be associated to + - If you want to associate multiple locations, use the C(prefix_location) module + - Using this parameter will override the C(api_version) option to C(2.0) required: false type: raw version_added: "3.0.0" diff --git a/plugins/modules/vlan.py b/plugins/modules/vlan.py index e730157d..8dbfdaad 100644 --- a/plugins/modules/vlan.py +++ b/plugins/modules/vlan.py @@ -26,7 +26,9 @@ options: location: description: - - The location the VLAN will be associated to + - The single location the VLAN will be associated to + - If you want to associate multiple locations, use the C(vlan_location) module + - Using this parameter will override the C(api_version) option to C(2.0) required: false type: raw version_added: "3.0.0" diff --git a/tests/integration/targets/inventory/files/test_2.2-3.json b/tests/integration/targets/inventory/files/test_2.2-3.json index 5816c7c8..83ec8f39 100644 --- a/tests/integration/targets/inventory/files/test_2.2-3.json +++ b/tests/integration/targets/inventory/files/test_2.2-3.json @@ -22,17 +22,12 @@ "services": [], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -51,118 +46,90 @@ "connected_endpoint": null, "connected_endpoint_reachable": null, "connected_endpoint_type": null, - "created": "2024-03-27T17:38:40.449934Z", "custom_fields": {}, "description": "", "device": { "asset_tag": null, "cluster": null, "comments": "", - "controller_device_group": null, - "created": "2024-03-27T17:38:37.494441Z", + "controller_managed_device_group": null, "custom_fields": {}, "device_redundancy_group": null, "device_redundancy_group_priority": null, "device_type": { - "id": "56a8ae15-5543-496f-addf-5038a27a3cb0", - "object_type": "dcim.devicetype", - "url": "http://127.0.0.1:8000/api/dcim/device-types/56a8ae15-5543-496f-addf-5038a27a3cb0/" + "object_type": "dcim.devicetype" }, - "display": "Test Nexus Child One", + "display": "Test Nexus One", "face": null, - "id": "3d0c8f54-d24d-4d7a-8f5b-7a536fe0cc5a", - "last_updated": "2024-03-27T17:38:39.854921Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "location": { - "id": "73e14892-23ef-463b-8285-7e50ee48ea67", - "object_type": "dcim.location", - "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + "object_type": "dcim.location" }, - "name": "Test Nexus Child One", - "natural_slug": "test-nexus-child-one__child-test-location_parent-test-location_3d0c", - "notes_url": "http://127.0.0.1:8000/api/dcim/devices/3d0c8f54-d24d-4d7a-8f5b-7a536fe0cc5a/notes/", + "name": "Test Nexus One", + "natural_slug": "test-nexus-one__child-test-location_parent-test-location_725b", "object_type": "dcim.device", "parent_bay": null, "platform": null, "position": null, - "primary_ip4": null, + "primary_ip4": { + "object_type": "ipam.ipaddress" + }, "primary_ip6": null, "rack": null, "role": { - "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", - "object_type": "extras.role", - "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + "object_type": "extras.role" }, "secrets_group": null, "serial": "", "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/dcim/devices/3d0c8f54-d24d-4d7a-8f5b-7a536fe0cc5a/", - "vc_position": 2, + "vc_position": 0, "vc_priority": null, "virtual_chassis": { - "id": "c96554c7-425c-4064-aae8-c11bcffeca62", - "object_type": "dcim.virtualchassis", - "url": "http://127.0.0.1:8000/api/dcim/virtual-chassis/c96554c7-425c-4064-aae8-c11bcffeca62/" + "object_type": "dcim.virtualchassis" } }, - "display": "Ethernet2/1", + "display": "Ethernet1/1", "enabled": true, - "id": "f4796f28-9625-43eb-9b99-8684cf6f535a", "ip_address_count": 1, "ip_addresses": [ { - "address": "172.16.180.12/24", - "created": "2024-03-27T17:38:41.943535Z", + "address": "172.16.180.11/24", "custom_fields": {}, "description": "", - "display": "172.16.180.12/24", + "display": "172.16.180.11/24", "dns_name": "nexus.example.com", - "host": "172.16.180.12", - "id": "e0e90260-e594-4731-93ab-5efca44b55e7", + "host": "172.16.180.11", "ip_version": 4, - "last_updated": "2024-03-27T17:38:41.943593Z", "mask_length": 24, "nat_inside": null, "nat_outside_list": [], - "natural_slug": "global_172-16-180-12_e0e9", - "notes_url": "http://127.0.0.1:8000/api/ipam/ip-addresses/e0e90260-e594-4731-93ab-5efca44b55e7/notes/", + "natural_slug": "global_172-16-180-11_69d8", "object_type": "ipam.ipaddress", "parent": { "broadcast": "172.31.255.255", - "created": "2024-03-27T17:38:33.543642Z", "custom_fields": {}, "date_allocated": null, "description": "", "display": "172.16.0.0/12", - "id": "0733b370-dae3-49d5-97ee-911ddd7fdc53", "ip_version": 4, - "last_updated": "2024-03-27T17:38:33.543671Z", "namespace": { - "created": "2024-03-27T17:37:15.805479Z", "custom_fields": {}, "description": "Default Global namespace. Created by Nautobot.", "display": "Global", - "id": "a21f42e2-e600-4eea-bf7c-644f7304b4e2", - "last_updated": "2024-03-27T17:37:15.805514Z", "location": null, "name": "Global", - "natural_slug": "global_a21f", - "notes_url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/notes/", - "object_type": "ipam.namespace", - "url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/" + "natural_slug": "global_1fa9", + "object_type": "ipam.namespace" }, - "natural_slug": "global_172-16-0-0_12_0733", + "natural_slug": "global_172-16-0-0_12_ab44", "network": "172.16.0.0", - "notes_url": "http://127.0.0.1:8000/api/ipam/prefixes/0733b370-dae3-49d5-97ee-911ddd7fdc53/notes/", "object_type": "ipam.prefix", "parent": null, "prefix": "172.16.0.0/12", @@ -171,72 +138,53 @@ "role": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tenant": null, "type": { "label": "Network", "value": "network" }, - "url": "http://127.0.0.1:8000/api/ipam/prefixes/0733b370-dae3-49d5-97ee-911ddd7fdc53/", "vlan": null }, "role": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [], "tenant": null, - "type": "host", - "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/e0e90260-e594-4731-93ab-5efca44b55e7/" + "type": "host" } ], "label": "", "lag": null, - "last_updated": "2024-03-27T17:38:40.449955Z", "mac_address": null, "mgmt_only": false, "mode": null, "mtu": null, - "name": "Ethernet2/1", - "natural_slug": "ethernet2-1_test-nexus-child-one__child-test-location_parent-test-location_f479", - "notes_url": "http://127.0.0.1:8000/api/dcim/interfaces/f4796f28-9625-43eb-9b99-8684cf6f535a/notes/", + "name": "Ethernet1/1", + "natural_slug": "ethernet1-1_test-nexus-one__child-test-location_parent-test-location_a1b2", "object_type": "dcim.interface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], @@ -245,7 +193,6 @@ "value": "1000base-t" }, "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/dcim/interfaces/f4796f28-9625-43eb-9b99-8684cf6f535a/", "vrf": null }, { @@ -256,122 +203,88 @@ "connected_endpoint": null, "connected_endpoint_reachable": null, "connected_endpoint_type": null, - "created": "2024-03-27T17:38:40.395148Z", "custom_fields": {}, "description": "", "device": { "asset_tag": null, "cluster": null, "comments": "", - "controller_device_group": null, - "created": "2024-03-27T17:38:37.423871Z", + "controller_managed_device_group": null, "custom_fields": {}, "device_redundancy_group": null, "device_redundancy_group_priority": null, "device_type": { - "id": "3d51d3ca-454b-4824-859e-4601eb8022bd", - "object_type": "dcim.devicetype", - "url": "http://127.0.0.1:8000/api/dcim/device-types/3d51d3ca-454b-4824-859e-4601eb8022bd/" + "object_type": "dcim.devicetype" }, - "display": "Test Nexus One", + "display": "Test Nexus Child One", "face": null, - "id": "b7867e42-ccb0-4251-be86-ea7b9a84b104", - "last_updated": "2024-03-27T17:38:43.334405Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "location": { - "id": "73e14892-23ef-463b-8285-7e50ee48ea67", - "object_type": "dcim.location", - "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + "object_type": "dcim.location" }, - "name": "Test Nexus One", - "natural_slug": "test-nexus-one__child-test-location_parent-test-location_b786", - "notes_url": "http://127.0.0.1:8000/api/dcim/devices/b7867e42-ccb0-4251-be86-ea7b9a84b104/notes/", + "name": "Test Nexus Child One", + "natural_slug": "test-nexus-child-one__child-test-location_parent-test-location_cb9c", "object_type": "dcim.device", "parent_bay": null, "platform": null, "position": null, - "primary_ip4": { - "id": "25dedf45-b258-442f-829e-e54774ce8017", - "object_type": "ipam.ipaddress", - "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/25dedf45-b258-442f-829e-e54774ce8017/" - }, + "primary_ip4": null, "primary_ip6": null, "rack": null, "role": { - "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", - "object_type": "extras.role", - "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + "object_type": "extras.role" }, "secrets_group": null, "serial": "", "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/dcim/devices/b7867e42-ccb0-4251-be86-ea7b9a84b104/", - "vc_position": 0, + "vc_position": 2, "vc_priority": null, "virtual_chassis": { - "id": "c96554c7-425c-4064-aae8-c11bcffeca62", - "object_type": "dcim.virtualchassis", - "url": "http://127.0.0.1:8000/api/dcim/virtual-chassis/c96554c7-425c-4064-aae8-c11bcffeca62/" + "object_type": "dcim.virtualchassis" } }, - "display": "Ethernet1/1", + "display": "Ethernet2/1", "enabled": true, - "id": "2f84a3d8-6923-4daf-8817-a79e62576085", "ip_address_count": 1, "ip_addresses": [ { - "address": "172.16.180.11/24", - "created": "2024-03-27T17:38:41.904010Z", + "address": "172.16.180.12/24", "custom_fields": {}, "description": "", - "display": "172.16.180.11/24", + "display": "172.16.180.12/24", "dns_name": "nexus.example.com", - "host": "172.16.180.11", - "id": "25dedf45-b258-442f-829e-e54774ce8017", + "host": "172.16.180.12", "ip_version": 4, - "last_updated": "2024-03-27T17:38:41.904032Z", "mask_length": 24, "nat_inside": null, "nat_outside_list": [], - "natural_slug": "global_172-16-180-11_25de", - "notes_url": "http://127.0.0.1:8000/api/ipam/ip-addresses/25dedf45-b258-442f-829e-e54774ce8017/notes/", + "natural_slug": "global_172-16-180-12_ee65", "object_type": "ipam.ipaddress", "parent": { "broadcast": "172.31.255.255", - "created": "2024-03-27T17:38:33.543642Z", "custom_fields": {}, "date_allocated": null, "description": "", "display": "172.16.0.0/12", - "id": "0733b370-dae3-49d5-97ee-911ddd7fdc53", "ip_version": 4, - "last_updated": "2024-03-27T17:38:33.543671Z", "namespace": { - "created": "2024-03-27T17:37:15.805479Z", "custom_fields": {}, "description": "Default Global namespace. Created by Nautobot.", "display": "Global", - "id": "a21f42e2-e600-4eea-bf7c-644f7304b4e2", - "last_updated": "2024-03-27T17:37:15.805514Z", "location": null, "name": "Global", - "natural_slug": "global_a21f", - "notes_url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/notes/", - "object_type": "ipam.namespace", - "url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/" + "natural_slug": "global_1fa9", + "object_type": "ipam.namespace" }, - "natural_slug": "global_172-16-0-0_12_0733", + "natural_slug": "global_172-16-0-0_12_ab44", "network": "172.16.0.0", - "notes_url": "http://127.0.0.1:8000/api/ipam/prefixes/0733b370-dae3-49d5-97ee-911ddd7fdc53/notes/", "object_type": "ipam.prefix", "parent": null, "prefix": "172.16.0.0/12", @@ -380,72 +293,53 @@ "role": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tenant": null, "type": { "label": "Network", "value": "network" }, - "url": "http://127.0.0.1:8000/api/ipam/prefixes/0733b370-dae3-49d5-97ee-911ddd7fdc53/", "vlan": null }, "role": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [], "tenant": null, - "type": "host", - "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/25dedf45-b258-442f-829e-e54774ce8017/" + "type": "host" } ], "label": "", "lag": null, - "last_updated": "2024-03-27T17:38:40.395169Z", "mac_address": null, "mgmt_only": false, "mode": null, "mtu": null, - "name": "Ethernet1/1", - "natural_slug": "ethernet1-1_test-nexus-one__child-test-location_parent-test-location_2f84", - "notes_url": "http://127.0.0.1:8000/api/dcim/interfaces/2f84a3d8-6923-4daf-8817-a79e62576085/notes/", + "name": "Ethernet2/1", + "natural_slug": "ethernet2-1_test-nexus-child-one__child-test-location_parent-test-location_93db", "object_type": "dcim.interface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], @@ -454,7 +348,6 @@ "value": "1000base-t" }, "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/dcim/interfaces/2f84a3d8-6923-4daf-8817-a79e62576085/", "vrf": null } ], @@ -469,80 +362,59 @@ "role": "Core Switch", "services": [ { - "created": "2024-03-27T17:38:46.460861Z", "custom_fields": {}, "description": "", "device": { "asset_tag": null, "cluster": null, "comments": "", - "controller_device_group": null, - "created": "2024-03-27T17:38:37.423871Z", + "controller_managed_device_group": null, "custom_fields": {}, "device_redundancy_group": null, "device_redundancy_group_priority": null, "device_type": { - "id": "3d51d3ca-454b-4824-859e-4601eb8022bd", - "object_type": "dcim.devicetype", - "url": "http://127.0.0.1:8000/api/dcim/device-types/3d51d3ca-454b-4824-859e-4601eb8022bd/" + "object_type": "dcim.devicetype" }, "display": "Test Nexus One", "face": null, - "id": "b7867e42-ccb0-4251-be86-ea7b9a84b104", - "last_updated": "2024-03-27T17:38:43.334405Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "location": { - "id": "73e14892-23ef-463b-8285-7e50ee48ea67", - "object_type": "dcim.location", - "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + "object_type": "dcim.location" }, "name": "Test Nexus One", - "natural_slug": "test-nexus-one__child-test-location_parent-test-location_b786", - "notes_url": "http://127.0.0.1:8000/api/dcim/devices/b7867e42-ccb0-4251-be86-ea7b9a84b104/notes/", + "natural_slug": "test-nexus-one__child-test-location_parent-test-location_725b", "object_type": "dcim.device", "parent_bay": null, "platform": null, "position": null, "primary_ip4": { - "id": "25dedf45-b258-442f-829e-e54774ce8017", - "object_type": "ipam.ipaddress", - "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/25dedf45-b258-442f-829e-e54774ce8017/" + "object_type": "ipam.ipaddress" }, "primary_ip6": null, "rack": null, "role": { - "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", - "object_type": "extras.role", - "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + "object_type": "extras.role" }, "secrets_group": null, "serial": "", "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/dcim/devices/b7867e42-ccb0-4251-be86-ea7b9a84b104/", "vc_position": 0, "vc_priority": null, "virtual_chassis": { - "id": "c96554c7-425c-4064-aae8-c11bcffeca62", - "object_type": "dcim.virtualchassis", - "url": "http://127.0.0.1:8000/api/dcim/virtual-chassis/c96554c7-425c-4064-aae8-c11bcffeca62/" + "object_type": "dcim.virtualchassis" } }, "display": "telnet (TCP/23)", - "id": "9113902d-6ec7-4585-babf-4ac87889c7e3", "ip_addresses": [], - "last_updated": "2024-03-27T17:38:46.460883Z", "name": "telnet", - "natural_slug": "telnet____test-nexus-one__child-test-location_parent-test-location_9113", - "notes_url": "http://127.0.0.1:8000/api/ipam/services/9113902d-6ec7-4585-babf-4ac87889c7e3/notes/", + "natural_slug": "telnet____test-nexus-one__child-test-location_parent-test-location_067d", "object_type": "ipam.service", "ports": [ 23 @@ -552,23 +424,17 @@ "value": "tcp" }, "tags": [], - "url": "http://127.0.0.1:8000/api/ipam/services/9113902d-6ec7-4585-babf-4ac87889c7e3/", "virtual_machine": null } ], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -580,61 +446,45 @@ "interfaces": [ { "bridge": null, - "created": "2024-03-27T17:38:45.856585Z", "custom_fields": {}, "description": "", "display": "Eth0", "enabled": true, - "id": "69c3d77b-1523-43a8-acde-61e993c7f011", "ip_addresses": [], - "last_updated": "2024-03-27T17:38:45.856616Z", "mac_address": null, "mode": null, "mtu": null, "name": "Eth0", - "natural_slug": "test-cluster-2__test-vm-with-spaces_eth0_69c3", - "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/69c3d77b-1523-43a8-acde-61e993c7f011/notes/", + "natural_slug": "test-cluster-2__test-vm-with-spaces_eth0_f6c0", "object_type": "virtualization.vminterface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/virtualization/interfaces/69c3d77b-1523-43a8-acde-61e993c7f011/", "virtual_machine": { "cluster": { - "id": "48f3c0e7-e0d8-4af7-a9f8-4b28530b6e2b", - "object_type": "virtualization.cluster", - "url": "http://127.0.0.1:8000/api/virtualization/clusters/48f3c0e7-e0d8-4af7-a9f8-4b28530b6e2b/" + "object_type": "virtualization.cluster" }, "comments": "", - "created": "2024-03-27T17:38:44.562206Z", "custom_fields": {}, "disk": null, "display": "Test VM With Spaces", - "id": "1ff0d587-3843-402a-a9a0-d229e743b008", - "last_updated": "2024-03-27T17:38:44.562228Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "memory": null, "name": "Test VM With Spaces", - "natural_slug": "test-cluster-2__test-vm-with-spaces_1ff0", - "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ff0d587-3843-402a-a9a0-d229e743b008/notes/", + "natural_slug": "test-cluster-2__test-vm-with-spaces_8da0", "object_type": "virtualization.virtualmachine", "platform": null, "primary_ip4": null, @@ -642,73 +492,54 @@ "role": null, "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ff0d587-3843-402a-a9a0-d229e743b008/", "vcpus": null }, "vrf": null }, { "bridge": null, - "created": "2024-03-27T17:38:45.895334Z", "custom_fields": {}, "description": "", "display": "Eth1", "enabled": true, - "id": "0c4b09cb-d1b9-47aa-ae7c-9bce45792c65", "ip_addresses": [], - "last_updated": "2024-03-27T17:38:45.895355Z", "mac_address": null, "mode": null, "mtu": null, "name": "Eth1", - "natural_slug": "test-cluster-2__test-vm-with-spaces_eth1_0c4b", - "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/0c4b09cb-d1b9-47aa-ae7c-9bce45792c65/notes/", + "natural_slug": "test-cluster-2__test-vm-with-spaces_eth1_f6e3", "object_type": "virtualization.vminterface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/virtualization/interfaces/0c4b09cb-d1b9-47aa-ae7c-9bce45792c65/", "virtual_machine": { "cluster": { - "id": "48f3c0e7-e0d8-4af7-a9f8-4b28530b6e2b", - "object_type": "virtualization.cluster", - "url": "http://127.0.0.1:8000/api/virtualization/clusters/48f3c0e7-e0d8-4af7-a9f8-4b28530b6e2b/" + "object_type": "virtualization.cluster" }, "comments": "", - "created": "2024-03-27T17:38:44.562206Z", "custom_fields": {}, "disk": null, "display": "Test VM With Spaces", - "id": "1ff0d587-3843-402a-a9a0-d229e743b008", - "last_updated": "2024-03-27T17:38:44.562228Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "memory": null, "name": "Test VM With Spaces", - "natural_slug": "test-cluster-2__test-vm-with-spaces_1ff0", - "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ff0d587-3843-402a-a9a0-d229e743b008/notes/", + "natural_slug": "test-cluster-2__test-vm-with-spaces_8da0", "object_type": "virtualization.virtualmachine", "platform": null, "primary_ip4": null, @@ -716,12 +547,9 @@ "role": null, "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ff0d587-3843-402a-a9a0-d229e743b008/", "vcpus": null }, "vrf": null @@ -731,17 +559,13 @@ "locations": [], "services": [ { - "created": "2024-03-27T17:38:46.503654Z", "custom_fields": {}, "description": "", "device": null, "display": "ssh (TCP/22)", - "id": "fa302796-cedb-4484-a324-a1569ae9c4ba", "ip_addresses": [], - "last_updated": "2024-03-27T17:38:46.503676Z", "name": "ssh", - "natural_slug": "ssh_test-cluster-2__test-vm-with-spaces_fa30", - "notes_url": "http://127.0.0.1:8000/api/ipam/services/fa302796-cedb-4484-a324-a1569ae9c4ba/notes/", + "natural_slug": "ssh_test-cluster-2__test-vm-with-spaces_cad2", "object_type": "ipam.service", "ports": [ 22 @@ -751,28 +575,21 @@ "value": "tcp" }, "tags": [], - "url": "http://127.0.0.1:8000/api/ipam/services/fa302796-cedb-4484-a324-a1569ae9c4ba/", "virtual_machine": { "cluster": { - "id": "48f3c0e7-e0d8-4af7-a9f8-4b28530b6e2b", - "object_type": "virtualization.cluster", - "url": "http://127.0.0.1:8000/api/virtualization/clusters/48f3c0e7-e0d8-4af7-a9f8-4b28530b6e2b/" + "object_type": "virtualization.cluster" }, "comments": "", - "created": "2024-03-27T17:38:44.562206Z", "custom_fields": {}, "disk": null, "display": "Test VM With Spaces", - "id": "1ff0d587-3843-402a-a9a0-d229e743b008", - "last_updated": "2024-03-27T17:38:44.562228Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "memory": null, "name": "Test VM With Spaces", - "natural_slug": "test-cluster-2__test-vm-with-spaces_1ff0", - "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ff0d587-3843-402a-a9a0-d229e743b008/notes/", + "natural_slug": "test-cluster-2__test-vm-with-spaces_8da0", "object_type": "virtualization.virtualmachine", "platform": null, "primary_ip4": null, @@ -780,29 +597,21 @@ "role": null, "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ff0d587-3843-402a-a9a0-d229e743b008/", "vcpus": null } } ], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -828,17 +637,12 @@ "services": [], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -859,27 +663,21 @@ "connected_endpoint": null, "connected_endpoint_reachable": null, "connected_endpoint_type": null, - "created": "2024-03-27T17:38:40.714492Z", "custom_fields": {}, "description": "", "device": { "asset_tag": null, "cluster": null, "comments": "", - "controller_device_group": null, - "created": "2024-03-27T17:38:37.149539Z", + "controller_managed_device_group": null, "custom_fields": {}, "device_redundancy_group": null, "device_redundancy_group_priority": null, "device_type": { - "id": "95784626-b8a8-4810-8ebf-4c75b4b2e90f", - "object_type": "dcim.devicetype", - "url": "http://127.0.0.1:8000/api/dcim/device-types/95784626-b8a8-4810-8ebf-4c75b4b2e90f/" + "object_type": "dcim.devicetype" }, "display": "test100", "face": null, - "id": "d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3", - "last_updated": "2024-03-27T17:38:37.149559Z", "local_config_context_data": { "ntp_servers": [ "pool.ntp.org" @@ -889,13 +687,10 @@ "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "location": { - "id": "73e14892-23ef-463b-8285-7e50ee48ea67", - "object_type": "dcim.location", - "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + "object_type": "dcim.location" }, "name": "test100", - "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_d586", - "notes_url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/notes/", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_939c", "object_type": "dcim.device", "parent_bay": null, "platform": null, @@ -904,77 +699,56 @@ "primary_ip6": null, "rack": null, "role": { - "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", - "object_type": "extras.role", - "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + "object_type": "extras.role" }, "secrets_group": null, "serial": "", "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": { - "id": "9f8b10f8-9513-4581-94a2-41cefc3735dd", - "object_type": "tenancy.tenant", - "url": "http://127.0.0.1:8000/api/tenancy/tenants/9f8b10f8-9513-4581-94a2-41cefc3735dd/" + "object_type": "tenancy.tenant" }, - "url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/", "vc_position": null, "vc_priority": null, "virtual_chassis": null }, "display": "GigabitEthernet1", "enabled": true, - "id": "52f98b02-b953-4e0a-972b-e1b3aa0f6f59", "ip_address_count": 1, "ip_addresses": [ { "address": "172.16.180.1/24", - "created": "2024-03-27T17:38:41.821095Z", "custom_fields": {}, "description": "", "display": "172.16.180.1/24", "dns_name": "", "host": "172.16.180.1", - "id": "1e99a20d-b55f-48d4-97a5-1200e4a30213", "ip_version": 4, - "last_updated": "2024-03-27T17:38:41.821119Z", "mask_length": 24, "nat_inside": null, "nat_outside_list": [], - "natural_slug": "global_172-16-180-1_1e99", - "notes_url": "http://127.0.0.1:8000/api/ipam/ip-addresses/1e99a20d-b55f-48d4-97a5-1200e4a30213/notes/", + "natural_slug": "global_172-16-180-1_23b0", "object_type": "ipam.ipaddress", "parent": { "broadcast": "172.31.255.255", - "created": "2024-03-27T17:38:33.543642Z", "custom_fields": {}, "date_allocated": null, "description": "", "display": "172.16.0.0/12", - "id": "0733b370-dae3-49d5-97ee-911ddd7fdc53", "ip_version": 4, - "last_updated": "2024-03-27T17:38:33.543671Z", "namespace": { - "created": "2024-03-27T17:37:15.805479Z", "custom_fields": {}, "description": "Default Global namespace. Created by Nautobot.", "display": "Global", - "id": "a21f42e2-e600-4eea-bf7c-644f7304b4e2", - "last_updated": "2024-03-27T17:37:15.805514Z", "location": null, "name": "Global", - "natural_slug": "global_a21f", - "notes_url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/notes/", - "object_type": "ipam.namespace", - "url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/" + "natural_slug": "global_1fa9", + "object_type": "ipam.namespace" }, - "natural_slug": "global_172-16-0-0_12_0733", + "natural_slug": "global_172-16-0-0_12_ab44", "network": "172.16.0.0", - "notes_url": "http://127.0.0.1:8000/api/ipam/prefixes/0733b370-dae3-49d5-97ee-911ddd7fdc53/notes/", "object_type": "ipam.prefix", "parent": null, "prefix": "172.16.0.0/12", @@ -983,72 +757,53 @@ "role": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tenant": null, "type": { "label": "Network", "value": "network" }, - "url": "http://127.0.0.1:8000/api/ipam/prefixes/0733b370-dae3-49d5-97ee-911ddd7fdc53/", "vlan": null }, "role": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [], "tenant": null, - "type": "host", - "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/1e99a20d-b55f-48d4-97a5-1200e4a30213/" + "type": "host" } ], "label": "", "lag": null, - "last_updated": "2024-03-27T17:38:40.714514Z", "mac_address": null, "mgmt_only": false, "mode": null, "mtu": null, "name": "GigabitEthernet1", - "natural_slug": "gigabitethernet1_test100_test-tenant_child-test-location_parent-test-location_52f9", - "notes_url": "http://127.0.0.1:8000/api/dcim/interfaces/52f98b02-b953-4e0a-972b-e1b3aa0f6f59/notes/", + "natural_slug": "gigabitethernet1_test100_test-tenant_child-test-location_parent-test-location_02a0", "object_type": "dcim.interface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], @@ -1057,7 +812,6 @@ "value": "1000base-t" }, "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/dcim/interfaces/52f98b02-b953-4e0a-972b-e1b3aa0f6f59/", "vrf": null }, { @@ -1068,27 +822,21 @@ "connected_endpoint": null, "connected_endpoint_reachable": null, "connected_endpoint_type": null, - "created": "2024-03-27T17:38:40.769927Z", "custom_fields": {}, "description": "", "device": { "asset_tag": null, "cluster": null, "comments": "", - "controller_device_group": null, - "created": "2024-03-27T17:38:37.149539Z", + "controller_managed_device_group": null, "custom_fields": {}, "device_redundancy_group": null, "device_redundancy_group_priority": null, "device_type": { - "id": "95784626-b8a8-4810-8ebf-4c75b4b2e90f", - "object_type": "dcim.devicetype", - "url": "http://127.0.0.1:8000/api/dcim/device-types/95784626-b8a8-4810-8ebf-4c75b4b2e90f/" + "object_type": "dcim.devicetype" }, "display": "test100", "face": null, - "id": "d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3", - "last_updated": "2024-03-27T17:38:37.149559Z", "local_config_context_data": { "ntp_servers": [ "pool.ntp.org" @@ -1098,13 +846,10 @@ "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "location": { - "id": "73e14892-23ef-463b-8285-7e50ee48ea67", - "object_type": "dcim.location", - "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + "object_type": "dcim.location" }, "name": "test100", - "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_d586", - "notes_url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/notes/", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_939c", "object_type": "dcim.device", "parent_bay": null, "platform": null, @@ -1113,77 +858,56 @@ "primary_ip6": null, "rack": null, "role": { - "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", - "object_type": "extras.role", - "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + "object_type": "extras.role" }, "secrets_group": null, "serial": "", "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": { - "id": "9f8b10f8-9513-4581-94a2-41cefc3735dd", - "object_type": "tenancy.tenant", - "url": "http://127.0.0.1:8000/api/tenancy/tenants/9f8b10f8-9513-4581-94a2-41cefc3735dd/" + "object_type": "tenancy.tenant" }, - "url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/", "vc_position": null, "vc_priority": null, "virtual_chassis": null }, "display": "GigabitEthernet2", "enabled": true, - "id": "1747ac15-09ee-4698-bde0-a02fbe5aed33", "ip_address_count": 1, "ip_addresses": [ { "address": "2001::1:1/64", - "created": "2024-03-27T17:38:41.863826Z", "custom_fields": {}, "description": "", "display": "2001::1:1/64", "dns_name": "", "host": "2001::1:1", - "id": "17b14b12-322f-4ce0-bf66-5d2669815aef", "ip_version": 6, - "last_updated": "2024-03-27T17:38:41.863861Z", "mask_length": 64, "nat_inside": null, "nat_outside_list": [], - "natural_slug": "global_2001-1-1_17b1", - "notes_url": "http://127.0.0.1:8000/api/ipam/ip-addresses/17b14b12-322f-4ce0-bf66-5d2669815aef/notes/", + "natural_slug": "global_2001-1-1_ee95", "object_type": "ipam.ipaddress", "parent": { "broadcast": "2001::ffff:ffff:ffff:ffff", - "created": "2024-03-27T17:38:33.624801Z", "custom_fields": {}, "date_allocated": null, "description": "", "display": "2001::/64", - "id": "386da78d-6b55-4c43-be8d-6eb33366a95c", "ip_version": 6, - "last_updated": "2024-03-27T17:38:33.624822Z", "namespace": { - "created": "2024-03-27T17:37:15.805479Z", "custom_fields": {}, "description": "Default Global namespace. Created by Nautobot.", "display": "Global", - "id": "a21f42e2-e600-4eea-bf7c-644f7304b4e2", - "last_updated": "2024-03-27T17:37:15.805514Z", "location": null, "name": "Global", - "natural_slug": "global_a21f", - "notes_url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/notes/", - "object_type": "ipam.namespace", - "url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/" + "natural_slug": "global_1fa9", + "object_type": "ipam.namespace" }, - "natural_slug": "global_2001_64_386d", + "natural_slug": "global_2001_64_8425", "network": "2001::", - "notes_url": "http://127.0.0.1:8000/api/ipam/prefixes/386da78d-6b55-4c43-be8d-6eb33366a95c/notes/", "object_type": "ipam.prefix", "parent": null, "prefix": "2001::/64", @@ -1192,72 +916,53 @@ "role": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tenant": null, "type": { "label": "Network", "value": "network" }, - "url": "http://127.0.0.1:8000/api/ipam/prefixes/386da78d-6b55-4c43-be8d-6eb33366a95c/", "vlan": null }, "role": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [], "tenant": null, - "type": "host", - "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/17b14b12-322f-4ce0-bf66-5d2669815aef/" + "type": "host" } ], "label": "", "lag": null, - "last_updated": "2024-03-27T17:38:40.769947Z", "mac_address": null, "mgmt_only": false, "mode": null, "mtu": null, "name": "GigabitEthernet2", - "natural_slug": "gigabitethernet2_test100_test-tenant_child-test-location_parent-test-location_1747", - "notes_url": "http://127.0.0.1:8000/api/dcim/interfaces/1747ac15-09ee-4698-bde0-a02fbe5aed33/notes/", + "natural_slug": "gigabitethernet2_test100_test-tenant_child-test-location_parent-test-location_e074", "object_type": "dcim.interface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], @@ -1266,7 +971,6 @@ "value": "1000base-t" }, "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/dcim/interfaces/1747ac15-09ee-4698-bde0-a02fbe5aed33/", "vrf": null }, { @@ -1277,27 +981,21 @@ "connected_endpoint": null, "connected_endpoint_reachable": null, "connected_endpoint_type": null, - "created": "2024-03-27T17:38:40.823634Z", "custom_fields": {}, "description": "", "device": { "asset_tag": null, "cluster": null, "comments": "", - "controller_device_group": null, - "created": "2024-03-27T17:38:37.149539Z", + "controller_managed_device_group": null, "custom_fields": {}, "device_redundancy_group": null, "device_redundancy_group_priority": null, "device_type": { - "id": "95784626-b8a8-4810-8ebf-4c75b4b2e90f", - "object_type": "dcim.devicetype", - "url": "http://127.0.0.1:8000/api/dcim/device-types/95784626-b8a8-4810-8ebf-4c75b4b2e90f/" + "object_type": "dcim.devicetype" }, "display": "test100", "face": null, - "id": "d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3", - "last_updated": "2024-03-27T17:38:37.149559Z", "local_config_context_data": { "ntp_servers": [ "pool.ntp.org" @@ -1307,13 +1005,10 @@ "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "location": { - "id": "73e14892-23ef-463b-8285-7e50ee48ea67", - "object_type": "dcim.location", - "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + "object_type": "dcim.location" }, "name": "test100", - "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_d586", - "notes_url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/notes/", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_939c", "object_type": "dcim.device", "parent_bay": null, "platform": null, @@ -1322,58 +1017,43 @@ "primary_ip6": null, "rack": null, "role": { - "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", - "object_type": "extras.role", - "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + "object_type": "extras.role" }, "secrets_group": null, "serial": "", "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": { - "id": "9f8b10f8-9513-4581-94a2-41cefc3735dd", - "object_type": "tenancy.tenant", - "url": "http://127.0.0.1:8000/api/tenancy/tenants/9f8b10f8-9513-4581-94a2-41cefc3735dd/" + "object_type": "tenancy.tenant" }, - "url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/", "vc_position": null, "vc_priority": null, "virtual_chassis": null }, "display": "GigabitEthernet3", "enabled": true, - "id": "0f0ab93e-e3f6-4b86-81dd-8d2b7542b999", "ip_address_count": 0, "ip_addresses": [], "label": "", "lag": null, - "last_updated": "2024-03-27T17:38:40.823708Z", "mac_address": null, "mgmt_only": false, "mode": null, "mtu": null, "name": "GigabitEthernet3", - "natural_slug": "gigabitethernet3_test100_test-tenant_child-test-location_parent-test-location_0f0a", - "notes_url": "http://127.0.0.1:8000/api/dcim/interfaces/0f0ab93e-e3f6-4b86-81dd-8d2b7542b999/notes/", + "natural_slug": "gigabitethernet3_test100_test-tenant_child-test-location_parent-test-location_8438", "object_type": "dcim.interface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], @@ -1382,7 +1062,6 @@ "value": "1000base-t" }, "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/dcim/interfaces/0f0ab93e-e3f6-4b86-81dd-8d2b7542b999/", "vrf": null }, { @@ -1393,27 +1072,21 @@ "connected_endpoint": null, "connected_endpoint_reachable": null, "connected_endpoint_type": null, - "created": "2024-03-27T17:38:40.878515Z", "custom_fields": {}, "description": "", "device": { "asset_tag": null, "cluster": null, "comments": "", - "controller_device_group": null, - "created": "2024-03-27T17:38:37.149539Z", + "controller_managed_device_group": null, "custom_fields": {}, "device_redundancy_group": null, "device_redundancy_group_priority": null, "device_type": { - "id": "95784626-b8a8-4810-8ebf-4c75b4b2e90f", - "object_type": "dcim.devicetype", - "url": "http://127.0.0.1:8000/api/dcim/device-types/95784626-b8a8-4810-8ebf-4c75b4b2e90f/" + "object_type": "dcim.devicetype" }, "display": "test100", "face": null, - "id": "d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3", - "last_updated": "2024-03-27T17:38:37.149559Z", "local_config_context_data": { "ntp_servers": [ "pool.ntp.org" @@ -1423,13 +1096,10 @@ "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "location": { - "id": "73e14892-23ef-463b-8285-7e50ee48ea67", - "object_type": "dcim.location", - "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + "object_type": "dcim.location" }, "name": "test100", - "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_d586", - "notes_url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/notes/", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_939c", "object_type": "dcim.device", "parent_bay": null, "platform": null, @@ -1438,58 +1108,43 @@ "primary_ip6": null, "rack": null, "role": { - "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", - "object_type": "extras.role", - "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + "object_type": "extras.role" }, "secrets_group": null, "serial": "", "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": { - "id": "9f8b10f8-9513-4581-94a2-41cefc3735dd", - "object_type": "tenancy.tenant", - "url": "http://127.0.0.1:8000/api/tenancy/tenants/9f8b10f8-9513-4581-94a2-41cefc3735dd/" + "object_type": "tenancy.tenant" }, - "url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/", "vc_position": null, "vc_priority": null, "virtual_chassis": null }, "display": "GigabitEthernet4", "enabled": true, - "id": "884700bf-df8c-4c60-8152-d628adf4ad4d", "ip_address_count": 0, "ip_addresses": [], "label": "", "lag": null, - "last_updated": "2024-03-27T17:38:40.878535Z", "mac_address": null, "mgmt_only": false, "mode": null, "mtu": null, "name": "GigabitEthernet4", - "natural_slug": "gigabitethernet4_test100_test-tenant_child-test-location_parent-test-location_8847", - "notes_url": "http://127.0.0.1:8000/api/dcim/interfaces/884700bf-df8c-4c60-8152-d628adf4ad4d/notes/", + "natural_slug": "gigabitethernet4_test100_test-tenant_child-test-location_parent-test-location_854c", "object_type": "dcim.interface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], @@ -1498,7 +1153,6 @@ "value": "1000base-t" }, "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/dcim/interfaces/884700bf-df8c-4c60-8152-d628adf4ad4d/", "vrf": null } ], @@ -1517,27 +1171,21 @@ "role": "Core Switch", "services": [ { - "created": "2024-03-27T17:38:46.266002Z", "custom_fields": {}, "description": "", "device": { "asset_tag": null, "cluster": null, "comments": "", - "controller_device_group": null, - "created": "2024-03-27T17:38:37.149539Z", + "controller_managed_device_group": null, "custom_fields": {}, "device_redundancy_group": null, "device_redundancy_group_priority": null, "device_type": { - "id": "95784626-b8a8-4810-8ebf-4c75b4b2e90f", - "object_type": "dcim.devicetype", - "url": "http://127.0.0.1:8000/api/dcim/device-types/95784626-b8a8-4810-8ebf-4c75b4b2e90f/" + "object_type": "dcim.devicetype" }, "display": "test100", "face": null, - "id": "d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3", - "last_updated": "2024-03-27T17:38:37.149559Z", "local_config_context_data": { "ntp_servers": [ "pool.ntp.org" @@ -1547,13 +1195,10 @@ "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "location": { - "id": "73e14892-23ef-463b-8285-7e50ee48ea67", - "object_type": "dcim.location", - "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + "object_type": "dcim.location" }, "name": "test100", - "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_d586", - "notes_url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/notes/", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_939c", "object_type": "dcim.device", "parent_bay": null, "platform": null, @@ -1562,203 +1207,84 @@ "primary_ip6": null, "rack": null, "role": { - "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", - "object_type": "extras.role", - "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + "object_type": "extras.role" }, "secrets_group": null, "serial": "", "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": { - "id": "9f8b10f8-9513-4581-94a2-41cefc3735dd", - "object_type": "tenancy.tenant", - "url": "http://127.0.0.1:8000/api/tenancy/tenants/9f8b10f8-9513-4581-94a2-41cefc3735dd/" + "object_type": "tenancy.tenant" }, - "url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/", - "vc_position": null, - "vc_priority": null, - "virtual_chassis": null - }, - "display": "ssh (TCP/22)", - "id": "6c74dff6-acf8-44a6-a9a0-1ff519eff6df", - "ip_addresses": [], - "last_updated": "2024-03-27T17:38:46.266022Z", - "name": "ssh", - "natural_slug": "ssh____test100_test-tenant_child-test-location_parent-test-location_6c74", - "notes_url": "http://127.0.0.1:8000/api/ipam/services/6c74dff6-acf8-44a6-a9a0-1ff519eff6df/notes/", - "object_type": "ipam.service", - "ports": [ - 22 - ], - "protocol": { - "label": "TCP", - "value": "tcp" - }, - "tags": [], - "url": "http://127.0.0.1:8000/api/ipam/services/6c74dff6-acf8-44a6-a9a0-1ff519eff6df/", - "virtual_machine": null - }, - { - "created": "2024-03-27T17:38:46.330100Z", - "custom_fields": {}, - "description": "", - "device": { - "asset_tag": null, - "cluster": null, - "comments": "", - "controller_device_group": null, - "created": "2024-03-27T17:38:37.149539Z", - "custom_fields": {}, - "device_redundancy_group": null, - "device_redundancy_group_priority": null, - "device_type": { - "id": "95784626-b8a8-4810-8ebf-4c75b4b2e90f", - "object_type": "dcim.devicetype", - "url": "http://127.0.0.1:8000/api/dcim/device-types/95784626-b8a8-4810-8ebf-4c75b4b2e90f/" - }, - "display": "test100", - "face": null, - "id": "d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3", - "last_updated": "2024-03-27T17:38:37.149559Z", - "local_config_context_data": { - "ntp_servers": [ - "pool.ntp.org" - ] - }, - "local_config_context_data_owner_content_type": null, - "local_config_context_data_owner_object_id": null, - "local_config_context_schema": null, - "location": { - "id": "73e14892-23ef-463b-8285-7e50ee48ea67", - "object_type": "dcim.location", - "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" - }, - "name": "test100", - "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_d586", - "notes_url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/notes/", - "object_type": "dcim.device", - "parent_bay": null, - "platform": null, - "position": null, - "primary_ip4": null, - "primary_ip6": null, - "rack": null, - "role": { - "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", - "object_type": "extras.role", - "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" - }, - "secrets_group": null, - "serial": "", - "software_version": null, - "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" - }, - "tenant": { - "id": "9f8b10f8-9513-4581-94a2-41cefc3735dd", - "object_type": "tenancy.tenant", - "url": "http://127.0.0.1:8000/api/tenancy/tenants/9f8b10f8-9513-4581-94a2-41cefc3735dd/" - }, - "url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/", "vc_position": null, "vc_priority": null, "virtual_chassis": null }, "display": "http (TCP/80)", - "id": "c84e3af1-85b3-4a93-8075-83f2245294c4", "ip_addresses": [ { "address": "172.16.180.1/24", - "created": "2024-03-27T17:38:41.821095Z", "custom_fields": {}, "description": "", "display": "172.16.180.1/24", "dns_name": "", "host": "172.16.180.1", - "id": "1e99a20d-b55f-48d4-97a5-1200e4a30213", "interfaces": [ { - "id": "52f98b02-b953-4e0a-972b-e1b3aa0f6f59", - "object_type": "dcim.interface", - "url": "http://127.0.0.1:8000/api/dcim/interfaces/52f98b02-b953-4e0a-972b-e1b3aa0f6f59/" + "object_type": "dcim.interface" } ], "ip_version": 4, - "last_updated": "2024-03-27T17:38:41.821119Z", "mask_length": 24, "nat_inside": null, "nat_outside_list": [], - "natural_slug": "global_172-16-180-1_1e99", - "notes_url": "http://127.0.0.1:8000/api/ipam/ip-addresses/1e99a20d-b55f-48d4-97a5-1200e4a30213/notes/", + "natural_slug": "global_172-16-180-1_23b0", "object_type": "ipam.ipaddress", "parent": { - "id": "0733b370-dae3-49d5-97ee-911ddd7fdc53", - "object_type": "ipam.prefix", - "url": "http://127.0.0.1:8000/api/ipam/prefixes/0733b370-dae3-49d5-97ee-911ddd7fdc53/" + "object_type": "ipam.prefix" }, "role": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, "type": "host", - "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/1e99a20d-b55f-48d4-97a5-1200e4a30213/", "vm_interfaces": [] }, { "address": "2001::1:1/64", - "created": "2024-03-27T17:38:41.863826Z", "custom_fields": {}, "description": "", "display": "2001::1:1/64", "dns_name": "", "host": "2001::1:1", - "id": "17b14b12-322f-4ce0-bf66-5d2669815aef", "interfaces": [ { - "id": "1747ac15-09ee-4698-bde0-a02fbe5aed33", - "object_type": "dcim.interface", - "url": "http://127.0.0.1:8000/api/dcim/interfaces/1747ac15-09ee-4698-bde0-a02fbe5aed33/" + "object_type": "dcim.interface" } ], "ip_version": 6, - "last_updated": "2024-03-27T17:38:41.863861Z", "mask_length": 64, "nat_inside": null, "nat_outside_list": [], - "natural_slug": "global_2001-1-1_17b1", - "notes_url": "http://127.0.0.1:8000/api/ipam/ip-addresses/17b14b12-322f-4ce0-bf66-5d2669815aef/notes/", + "natural_slug": "global_2001-1-1_ee95", "object_type": "ipam.ipaddress", "parent": { - "id": "386da78d-6b55-4c43-be8d-6eb33366a95c", - "object_type": "ipam.prefix", - "url": "http://127.0.0.1:8000/api/ipam/prefixes/386da78d-6b55-4c43-be8d-6eb33366a95c/" + "object_type": "ipam.prefix" }, "role": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, "type": "host", - "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/17b14b12-322f-4ce0-bf66-5d2669815aef/", "vm_interfaces": [] } ], - "last_updated": "2024-03-27T17:38:46.330122Z", "name": "http", - "natural_slug": "http____test100_test-tenant_child-test-location_parent-test-location_c84e", - "notes_url": "http://127.0.0.1:8000/api/ipam/services/c84e3af1-85b3-4a93-8075-83f2245294c4/notes/", + "natural_slug": "http____test100_test-tenant_child-test-location_parent-test-location_3116", "object_type": "ipam.service", "ports": [ 80 @@ -1768,23 +1294,84 @@ "value": "tcp" }, "tags": [], - "url": "http://127.0.0.1:8000/api/ipam/services/c84e3af1-85b3-4a93-8075-83f2245294c4/", + "virtual_machine": null + }, + { + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_managed_device_group": null, + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "object_type": "dcim.devicetype" + }, + "display": "test100", + "face": null, + "local_config_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "object_type": "dcim.location" + }, + "name": "test100", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_939c", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "object_type": "extras.role" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": { + "object_type": "tenancy.tenant" + }, + "vc_position": null, + "vc_priority": null, + "virtual_chassis": null + }, + "display": "ssh (TCP/22)", + "ip_addresses": [], + "name": "ssh", + "natural_slug": "ssh____test100_test-tenant_child-test-location_parent-test-location_bfcf", + "object_type": "ipam.service", + "ports": [ + 22 + ], + "protocol": { + "label": "TCP", + "value": "tcp" + }, + "tags": [], "virtual_machine": null } ], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [], "tenant": "Test Tenant", @@ -1799,61 +1386,45 @@ "interfaces": [ { "bridge": null, - "created": "2024-03-27T17:38:45.493001Z", "custom_fields": {}, "description": "", "display": "Eth0", "enabled": true, - "id": "68efcdc5-9817-41a4-b43d-ac0d71de1258", "ip_addresses": [], - "last_updated": "2024-03-27T17:38:45.493021Z", "mac_address": null, "mode": null, "mtu": null, "name": "Eth0", - "natural_slug": "test-cluster__test100-vm_eth0_68ef", - "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/68efcdc5-9817-41a4-b43d-ac0d71de1258/notes/", + "natural_slug": "test-cluster__test100-vm_eth0_cc3f", "object_type": "virtualization.vminterface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/virtualization/interfaces/68efcdc5-9817-41a4-b43d-ac0d71de1258/", "virtual_machine": { "cluster": { - "id": "6af71c22-6611-4079-9957-f078f504ebde", - "object_type": "virtualization.cluster", - "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + "object_type": "virtualization.cluster" }, "comments": "", - "created": "2024-03-27T17:38:44.383003Z", "custom_fields": {}, "disk": null, "display": "test100-vm", - "id": "1ea51f9d-3d1c-4122-b6cd-62e49abfebcb", - "last_updated": "2024-03-27T17:38:44.383024Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "memory": null, "name": "test100-vm", - "natural_slug": "test-cluster__test100-vm_1ea5", - "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/notes/", + "natural_slug": "test-cluster__test100-vm_b0bc", "object_type": "virtualization.virtualmachine", "platform": null, "primary_ip4": null, @@ -1861,73 +1432,54 @@ "role": null, "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/", "vcpus": null }, "vrf": null }, { "bridge": null, - "created": "2024-03-27T17:38:45.531848Z", "custom_fields": {}, "description": "", "display": "Eth1", "enabled": true, - "id": "5f6c793c-67bd-49c1-86f7-c4329d5b3e31", "ip_addresses": [], - "last_updated": "2024-03-27T17:38:45.531868Z", "mac_address": null, "mode": null, "mtu": null, "name": "Eth1", - "natural_slug": "test-cluster__test100-vm_eth1_5f6c", - "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/5f6c793c-67bd-49c1-86f7-c4329d5b3e31/notes/", + "natural_slug": "test-cluster__test100-vm_eth1_02b8", "object_type": "virtualization.vminterface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/virtualization/interfaces/5f6c793c-67bd-49c1-86f7-c4329d5b3e31/", "virtual_machine": { "cluster": { - "id": "6af71c22-6611-4079-9957-f078f504ebde", - "object_type": "virtualization.cluster", - "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + "object_type": "virtualization.cluster" }, "comments": "", - "created": "2024-03-27T17:38:44.383003Z", "custom_fields": {}, "disk": null, "display": "test100-vm", - "id": "1ea51f9d-3d1c-4122-b6cd-62e49abfebcb", - "last_updated": "2024-03-27T17:38:44.383024Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "memory": null, "name": "test100-vm", - "natural_slug": "test-cluster__test100-vm_1ea5", - "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/notes/", + "natural_slug": "test-cluster__test100-vm_b0bc", "object_type": "virtualization.virtualmachine", "platform": null, "primary_ip4": null, @@ -1935,73 +1487,54 @@ "role": null, "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/", "vcpus": null }, "vrf": null }, { "bridge": null, - "created": "2024-03-27T17:38:45.567074Z", "custom_fields": {}, "description": "", "display": "Eth2", "enabled": true, - "id": "a4855b52-d842-4ab3-9bfc-0bd09e25d449", "ip_addresses": [], - "last_updated": "2024-03-27T17:38:45.567095Z", "mac_address": null, "mode": null, "mtu": null, "name": "Eth2", - "natural_slug": "test-cluster__test100-vm_eth2_a485", - "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/a4855b52-d842-4ab3-9bfc-0bd09e25d449/notes/", + "natural_slug": "test-cluster__test100-vm_eth2_e6d3", "object_type": "virtualization.vminterface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/virtualization/interfaces/a4855b52-d842-4ab3-9bfc-0bd09e25d449/", "virtual_machine": { "cluster": { - "id": "6af71c22-6611-4079-9957-f078f504ebde", - "object_type": "virtualization.cluster", - "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + "object_type": "virtualization.cluster" }, "comments": "", - "created": "2024-03-27T17:38:44.383003Z", "custom_fields": {}, "disk": null, "display": "test100-vm", - "id": "1ea51f9d-3d1c-4122-b6cd-62e49abfebcb", - "last_updated": "2024-03-27T17:38:44.383024Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "memory": null, "name": "test100-vm", - "natural_slug": "test-cluster__test100-vm_1ea5", - "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/notes/", + "natural_slug": "test-cluster__test100-vm_b0bc", "object_type": "virtualization.virtualmachine", "platform": null, "primary_ip4": null, @@ -2009,73 +1542,54 @@ "role": null, "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/", "vcpus": null }, "vrf": null }, { "bridge": null, - "created": "2024-03-27T17:38:45.603016Z", "custom_fields": {}, "description": "", "display": "Eth3", "enabled": true, - "id": "a5b6426a-e16a-4653-b975-06318e7b0bcd", "ip_addresses": [], - "last_updated": "2024-03-27T17:38:45.603038Z", "mac_address": null, "mode": null, "mtu": null, "name": "Eth3", - "natural_slug": "test-cluster__test100-vm_eth3_a5b6", - "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/a5b6426a-e16a-4653-b975-06318e7b0bcd/notes/", + "natural_slug": "test-cluster__test100-vm_eth3_46e2", "object_type": "virtualization.vminterface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/virtualization/interfaces/a5b6426a-e16a-4653-b975-06318e7b0bcd/", "virtual_machine": { "cluster": { - "id": "6af71c22-6611-4079-9957-f078f504ebde", - "object_type": "virtualization.cluster", - "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + "object_type": "virtualization.cluster" }, "comments": "", - "created": "2024-03-27T17:38:44.383003Z", "custom_fields": {}, "disk": null, "display": "test100-vm", - "id": "1ea51f9d-3d1c-4122-b6cd-62e49abfebcb", - "last_updated": "2024-03-27T17:38:44.383024Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "memory": null, "name": "test100-vm", - "natural_slug": "test-cluster__test100-vm_1ea5", - "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/notes/", + "natural_slug": "test-cluster__test100-vm_b0bc", "object_type": "virtualization.virtualmachine", "platform": null, "primary_ip4": null, @@ -2083,73 +1597,54 @@ "role": null, "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/", "vcpus": null }, "vrf": null }, { "bridge": null, - "created": "2024-03-27T17:38:45.639169Z", "custom_fields": {}, "description": "", "display": "Eth4", "enabled": true, - "id": "fafbd094-dc87-48c1-85ff-befa3acddc5d", "ip_addresses": [], - "last_updated": "2024-03-27T17:38:45.639189Z", "mac_address": null, "mode": null, "mtu": null, "name": "Eth4", - "natural_slug": "test-cluster__test100-vm_eth4_fafb", - "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/fafbd094-dc87-48c1-85ff-befa3acddc5d/notes/", + "natural_slug": "test-cluster__test100-vm_eth4_f394", "object_type": "virtualization.vminterface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/virtualization/interfaces/fafbd094-dc87-48c1-85ff-befa3acddc5d/", "virtual_machine": { "cluster": { - "id": "6af71c22-6611-4079-9957-f078f504ebde", - "object_type": "virtualization.cluster", - "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + "object_type": "virtualization.cluster" }, "comments": "", - "created": "2024-03-27T17:38:44.383003Z", "custom_fields": {}, "disk": null, "display": "test100-vm", - "id": "1ea51f9d-3d1c-4122-b6cd-62e49abfebcb", - "last_updated": "2024-03-27T17:38:44.383024Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "memory": null, "name": "test100-vm", - "natural_slug": "test-cluster__test100-vm_1ea5", - "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/notes/", + "natural_slug": "test-cluster__test100-vm_b0bc", "object_type": "virtualization.virtualmachine", "platform": null, "primary_ip4": null, @@ -2157,12 +1652,9 @@ "role": null, "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/", "vcpus": null }, "vrf": null @@ -2177,17 +1669,12 @@ "services": [], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -2200,61 +1687,45 @@ "interfaces": [ { "bridge": null, - "created": "2024-03-27T17:38:45.675591Z", "custom_fields": {}, "description": "", "display": "Eth0", "enabled": true, - "id": "aff5b547-577c-4b4d-aa7c-54f55689fbb7", "ip_addresses": [], - "last_updated": "2024-03-27T17:38:45.675627Z", "mac_address": null, "mode": null, "mtu": null, "name": "Eth0", - "natural_slug": "test-cluster__test101-vm_eth0_aff5", - "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/aff5b547-577c-4b4d-aa7c-54f55689fbb7/notes/", + "natural_slug": "test-cluster__test101-vm_eth0_9dea", "object_type": "virtualization.vminterface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/virtualization/interfaces/aff5b547-577c-4b4d-aa7c-54f55689fbb7/", "virtual_machine": { "cluster": { - "id": "6af71c22-6611-4079-9957-f078f504ebde", - "object_type": "virtualization.cluster", - "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + "object_type": "virtualization.cluster" }, "comments": "", - "created": "2024-03-27T17:38:44.422957Z", "custom_fields": {}, "disk": null, "display": "test101-vm", - "id": "7c54b8ed-0230-42e8-a7a2-4ddb8e09632f", - "last_updated": "2024-03-27T17:38:44.422978Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "memory": null, "name": "test101-vm", - "natural_slug": "test-cluster__test101-vm_7c54", - "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/notes/", + "natural_slug": "test-cluster__test101-vm_68f2", "object_type": "virtualization.virtualmachine", "platform": null, "primary_ip4": null, @@ -2262,73 +1733,54 @@ "role": null, "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/", "vcpus": null }, "vrf": null }, { "bridge": null, - "created": "2024-03-27T17:38:45.710839Z", "custom_fields": {}, "description": "", "display": "Eth1", "enabled": true, - "id": "2242e517-063b-437c-8bf8-2a5b5c4da3ff", "ip_addresses": [], - "last_updated": "2024-03-27T17:38:45.710859Z", "mac_address": null, "mode": null, "mtu": null, "name": "Eth1", - "natural_slug": "test-cluster__test101-vm_eth1_2242", - "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/2242e517-063b-437c-8bf8-2a5b5c4da3ff/notes/", + "natural_slug": "test-cluster__test101-vm_eth1_5f26", "object_type": "virtualization.vminterface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/virtualization/interfaces/2242e517-063b-437c-8bf8-2a5b5c4da3ff/", "virtual_machine": { "cluster": { - "id": "6af71c22-6611-4079-9957-f078f504ebde", - "object_type": "virtualization.cluster", - "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + "object_type": "virtualization.cluster" }, "comments": "", - "created": "2024-03-27T17:38:44.422957Z", "custom_fields": {}, "disk": null, "display": "test101-vm", - "id": "7c54b8ed-0230-42e8-a7a2-4ddb8e09632f", - "last_updated": "2024-03-27T17:38:44.422978Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "memory": null, "name": "test101-vm", - "natural_slug": "test-cluster__test101-vm_7c54", - "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/notes/", + "natural_slug": "test-cluster__test101-vm_68f2", "object_type": "virtualization.virtualmachine", "platform": null, "primary_ip4": null, @@ -2336,73 +1788,54 @@ "role": null, "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/", "vcpus": null }, "vrf": null }, { "bridge": null, - "created": "2024-03-27T17:38:45.746185Z", "custom_fields": {}, "description": "", "display": "Eth2", "enabled": true, - "id": "72a3dba0-43f5-44c9-9325-b1ccb67e8a17", "ip_addresses": [], - "last_updated": "2024-03-27T17:38:45.746206Z", "mac_address": null, "mode": null, "mtu": null, "name": "Eth2", - "natural_slug": "test-cluster__test101-vm_eth2_72a3", - "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/72a3dba0-43f5-44c9-9325-b1ccb67e8a17/notes/", + "natural_slug": "test-cluster__test101-vm_eth2_3f34", "object_type": "virtualization.vminterface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/virtualization/interfaces/72a3dba0-43f5-44c9-9325-b1ccb67e8a17/", "virtual_machine": { "cluster": { - "id": "6af71c22-6611-4079-9957-f078f504ebde", - "object_type": "virtualization.cluster", - "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + "object_type": "virtualization.cluster" }, "comments": "", - "created": "2024-03-27T17:38:44.422957Z", "custom_fields": {}, "disk": null, "display": "test101-vm", - "id": "7c54b8ed-0230-42e8-a7a2-4ddb8e09632f", - "last_updated": "2024-03-27T17:38:44.422978Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "memory": null, "name": "test101-vm", - "natural_slug": "test-cluster__test101-vm_7c54", - "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/notes/", + "natural_slug": "test-cluster__test101-vm_68f2", "object_type": "virtualization.virtualmachine", "platform": null, "primary_ip4": null, @@ -2410,73 +1843,54 @@ "role": null, "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/", "vcpus": null }, "vrf": null }, { "bridge": null, - "created": "2024-03-27T17:38:45.784908Z", "custom_fields": {}, "description": "", "display": "Eth3", "enabled": true, - "id": "de89e19b-28d2-4449-82c0-df8866d014f5", "ip_addresses": [], - "last_updated": "2024-03-27T17:38:45.784930Z", "mac_address": null, "mode": null, "mtu": null, "name": "Eth3", - "natural_slug": "test-cluster__test101-vm_eth3_de89", - "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/de89e19b-28d2-4449-82c0-df8866d014f5/notes/", + "natural_slug": "test-cluster__test101-vm_eth3_4b7e", "object_type": "virtualization.vminterface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/virtualization/interfaces/de89e19b-28d2-4449-82c0-df8866d014f5/", "virtual_machine": { "cluster": { - "id": "6af71c22-6611-4079-9957-f078f504ebde", - "object_type": "virtualization.cluster", - "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + "object_type": "virtualization.cluster" }, "comments": "", - "created": "2024-03-27T17:38:44.422957Z", "custom_fields": {}, "disk": null, "display": "test101-vm", - "id": "7c54b8ed-0230-42e8-a7a2-4ddb8e09632f", - "last_updated": "2024-03-27T17:38:44.422978Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "memory": null, "name": "test101-vm", - "natural_slug": "test-cluster__test101-vm_7c54", - "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/notes/", + "natural_slug": "test-cluster__test101-vm_68f2", "object_type": "virtualization.virtualmachine", "platform": null, "primary_ip4": null, @@ -2484,73 +1898,54 @@ "role": null, "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/", "vcpus": null }, "vrf": null }, { "bridge": null, - "created": "2024-03-27T17:38:45.820145Z", "custom_fields": {}, "description": "", "display": "Eth4", "enabled": true, - "id": "a22ad719-a487-44a1-96e9-d38ca1ff3b29", "ip_addresses": [], - "last_updated": "2024-03-27T17:38:45.820169Z", "mac_address": null, "mode": null, "mtu": null, "name": "Eth4", - "natural_slug": "test-cluster__test101-vm_eth4_a22a", - "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/a22ad719-a487-44a1-96e9-d38ca1ff3b29/notes/", + "natural_slug": "test-cluster__test101-vm_eth4_82d6", "object_type": "virtualization.vminterface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/virtualization/interfaces/a22ad719-a487-44a1-96e9-d38ca1ff3b29/", "virtual_machine": { "cluster": { - "id": "6af71c22-6611-4079-9957-f078f504ebde", - "object_type": "virtualization.cluster", - "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + "object_type": "virtualization.cluster" }, "comments": "", - "created": "2024-03-27T17:38:44.422957Z", "custom_fields": {}, "disk": null, "display": "test101-vm", - "id": "7c54b8ed-0230-42e8-a7a2-4ddb8e09632f", - "last_updated": "2024-03-27T17:38:44.422978Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "memory": null, "name": "test101-vm", - "natural_slug": "test-cluster__test101-vm_7c54", - "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/notes/", + "natural_slug": "test-cluster__test101-vm_68f2", "object_type": "virtualization.virtualmachine", "platform": null, "primary_ip4": null, @@ -2558,12 +1953,9 @@ "role": null, "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/", "vcpus": null }, "vrf": null @@ -2578,17 +1970,12 @@ "services": [], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -2608,17 +1995,12 @@ "services": [], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -2638,17 +2020,12 @@ "services": [], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -2663,17 +2040,12 @@ "services": [], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] } @@ -2681,29 +2053,29 @@ }, "all": { "children": [ - "ungrouped", + "cluster_group_test_cluster_group", + "cluster_test_cluster", + "cluster_test_cluster_2", + "cluster_type_test_cluster_type", + "device_type_cisco_test", + "device_type_nexus_parent", + "is_virtual", + "location_child_child_test_location", "location_child_test_location", "location_parent_test_location", - "rack_main_test_rack", + "manufacturer_cisco", + "rack_group_child_rack_group", "rack_group_parent_rack_group", + "rack_main_test_rack", "rack_role_test_rack_role", + "rack_sub_test_rack", "role_core_switch", - "device_type_cisco_test", - "manufacturer_cisco", - "status_active", - "tenant_test_tenant", - "service_ssh", "service_http", - "location_child_child_test_location", - "rack_sub_test_rack", - "rack_group_child_rack_group", - "device_type_nexus_parent", + "service_ssh", "service_telnet", - "cluster_test_cluster", - "cluster_group_test_cluster_group", - "cluster_type_test_cluster_type", - "is_virtual", - "cluster_test_cluster_2" + "status_active", + "tenant_test_tenant", + "ungrouped" ] }, "cluster_group_test_cluster_group": { @@ -2724,25 +2096,25 @@ }, "cluster_test_cluster_2": { "hosts": [ - "test104-vm", - "Test VM With Spaces" + "Test VM With Spaces", + "test104-vm" ] }, "cluster_type_test_cluster_type": { "hosts": [ + "Test VM With Spaces", "test100-vm", "test101-vm", "test102-vm", "test103-vm", - "test104-vm", - "Test VM With Spaces" + "test104-vm" ] }, "device_type_cisco_test": { "hosts": [ "R1-Device", - "test100", - "TestDeviceR1" + "TestDeviceR1", + "test100" ] }, "device_type_nexus_parent": { @@ -2752,12 +2124,12 @@ }, "is_virtual": { "hosts": [ + "Test VM With Spaces", "test100-vm", "test101-vm", "test102-vm", "test103-vm", - "test104-vm", - "Test VM With Spaces" + "test104-vm" ] }, "location_child_child_test_location": { @@ -2768,9 +2140,9 @@ "location_child_test_location": { "hosts": [ "R1-Device", - "test100", - "TestDeviceR1", "Test Nexus One", + "TestDeviceR1", + "test100", "test100-vm", "test101-vm", "test102-vm", @@ -2780,9 +2152,9 @@ "location_parent_test_location": { "hosts": [ "R1-Device", - "test100", - "TestDeviceR1", "Test Nexus One", + "TestDeviceR1", + "test100", "test100-vm", "test101-vm", "test102-vm", @@ -2792,9 +2164,9 @@ "manufacturer_cisco": { "hosts": [ "R1-Device", - "test100", + "Test Nexus One", "TestDeviceR1", - "Test Nexus One" + "test100" ] }, "rack_group_child_rack_group": { @@ -2826,9 +2198,9 @@ "role_core_switch": { "hosts": [ "R1-Device", - "test100", + "Test Nexus One", "TestDeviceR1", - "Test Nexus One" + "test100" ] }, "service_http": { @@ -2838,8 +2210,8 @@ }, "service_ssh": { "hosts": [ - "test100", - "Test VM With Spaces" + "Test VM With Spaces", + "test100" ] }, "service_telnet": { @@ -2850,15 +2222,15 @@ "status_active": { "hosts": [ "R1-Device", - "test100", - "TestDeviceR1", "Test Nexus One", + "Test VM With Spaces", + "TestDeviceR1", + "test100", "test100-vm", "test101-vm", "test102-vm", "test103-vm", - "test104-vm", - "Test VM With Spaces" + "test104-vm" ] }, "tenant_test_tenant": { diff --git a/tests/integration/targets/inventory/files/test_2.2-3_legacy.json b/tests/integration/targets/inventory/files/test_2.2-3_legacy.json index 59d12f1b..e02ef41a 100644 --- a/tests/integration/targets/inventory/files/test_2.2-3_legacy.json +++ b/tests/integration/targets/inventory/files/test_2.2-3_legacy.json @@ -31,17 +31,12 @@ "services": [], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -69,80 +64,59 @@ "primary_ip4": "172.16.180.11", "services": [ { - "created": "2024-03-27T17:38:46.460861Z", "custom_fields": {}, "description": "", "device": { "asset_tag": null, "cluster": null, "comments": "", - "controller_device_group": null, - "created": "2024-03-27T17:38:37.423871Z", + "controller_managed_device_group": null, "custom_fields": {}, "device_redundancy_group": null, "device_redundancy_group_priority": null, "device_type": { - "id": "3d51d3ca-454b-4824-859e-4601eb8022bd", - "object_type": "dcim.devicetype", - "url": "http://127.0.0.1:8000/api/dcim/device-types/3d51d3ca-454b-4824-859e-4601eb8022bd/" + "object_type": "dcim.devicetype" }, "display": "Test Nexus One", "face": null, - "id": "b7867e42-ccb0-4251-be86-ea7b9a84b104", - "last_updated": "2024-03-27T17:38:43.334405Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "location": { - "id": "73e14892-23ef-463b-8285-7e50ee48ea67", - "object_type": "dcim.location", - "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + "object_type": "dcim.location" }, "name": "Test Nexus One", - "natural_slug": "test-nexus-one__child-test-location_parent-test-location_b786", - "notes_url": "http://127.0.0.1:8000/api/dcim/devices/b7867e42-ccb0-4251-be86-ea7b9a84b104/notes/", + "natural_slug": "test-nexus-one__child-test-location_parent-test-location_725b", "object_type": "dcim.device", "parent_bay": null, "platform": null, "position": null, "primary_ip4": { - "id": "25dedf45-b258-442f-829e-e54774ce8017", - "object_type": "ipam.ipaddress", - "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/25dedf45-b258-442f-829e-e54774ce8017/" + "object_type": "ipam.ipaddress" }, "primary_ip6": null, "rack": null, "role": { - "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", - "object_type": "extras.role", - "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + "object_type": "extras.role" }, "secrets_group": null, "serial": "", "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/dcim/devices/b7867e42-ccb0-4251-be86-ea7b9a84b104/", "vc_position": 0, "vc_priority": null, "virtual_chassis": { - "id": "c96554c7-425c-4064-aae8-c11bcffeca62", - "object_type": "dcim.virtualchassis", - "url": "http://127.0.0.1:8000/api/dcim/virtual-chassis/c96554c7-425c-4064-aae8-c11bcffeca62/" + "object_type": "dcim.virtualchassis" } }, "display": "telnet (TCP/23)", - "id": "9113902d-6ec7-4585-babf-4ac87889c7e3", "ip_addresses": [], - "last_updated": "2024-03-27T17:38:46.460883Z", "name": "telnet", - "natural_slug": "telnet____test-nexus-one__child-test-location_parent-test-location_9113", - "notes_url": "http://127.0.0.1:8000/api/ipam/services/9113902d-6ec7-4585-babf-4ac87889c7e3/notes/", + "natural_slug": "telnet____test-nexus-one__child-test-location_parent-test-location_067d", "object_type": "ipam.service", "ports": [ 23 @@ -152,23 +126,17 @@ "value": "tcp" }, "tags": [], - "url": "http://127.0.0.1:8000/api/ipam/services/9113902d-6ec7-4585-babf-4ac87889c7e3/", "virtual_machine": null } ], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -183,17 +151,13 @@ "locations": [], "services": [ { - "created": "2024-03-27T17:38:46.503654Z", "custom_fields": {}, "description": "", "device": null, "display": "ssh (TCP/22)", - "id": "fa302796-cedb-4484-a324-a1569ae9c4ba", "ip_addresses": [], - "last_updated": "2024-03-27T17:38:46.503676Z", "name": "ssh", - "natural_slug": "ssh_test-cluster-2__test-vm-with-spaces_fa30", - "notes_url": "http://127.0.0.1:8000/api/ipam/services/fa302796-cedb-4484-a324-a1569ae9c4ba/notes/", + "natural_slug": "ssh_test-cluster-2__test-vm-with-spaces_cad2", "object_type": "ipam.service", "ports": [ 22 @@ -203,28 +167,21 @@ "value": "tcp" }, "tags": [], - "url": "http://127.0.0.1:8000/api/ipam/services/fa302796-cedb-4484-a324-a1569ae9c4ba/", "virtual_machine": { "cluster": { - "id": "48f3c0e7-e0d8-4af7-a9f8-4b28530b6e2b", - "object_type": "virtualization.cluster", - "url": "http://127.0.0.1:8000/api/virtualization/clusters/48f3c0e7-e0d8-4af7-a9f8-4b28530b6e2b/" + "object_type": "virtualization.cluster" }, "comments": "", - "created": "2024-03-27T17:38:44.562206Z", "custom_fields": {}, "disk": null, "display": "Test VM With Spaces", - "id": "1ff0d587-3843-402a-a9a0-d229e743b008", - "last_updated": "2024-03-27T17:38:44.562228Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "memory": null, "name": "Test VM With Spaces", - "natural_slug": "test-cluster-2__test-vm-with-spaces_1ff0", - "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ff0d587-3843-402a-a9a0-d229e743b008/notes/", + "natural_slug": "test-cluster-2__test-vm-with-spaces_8da0", "object_type": "virtualization.virtualmachine", "platform": null, "primary_ip4": null, @@ -232,29 +189,21 @@ "role": null, "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ff0d587-3843-402a-a9a0-d229e743b008/", "vcpus": null } } ], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -289,17 +238,12 @@ "services": [], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -329,114 +273,21 @@ ], "services": [ { - "created": "2024-03-27T17:38:46.266002Z", - "custom_fields": {}, - "description": "", - "device": { - "asset_tag": null, - "cluster": null, - "comments": "", - "controller_device_group": null, - "created": "2024-03-27T17:38:37.149539Z", - "custom_fields": {}, - "device_redundancy_group": null, - "device_redundancy_group_priority": null, - "device_type": { - "id": "95784626-b8a8-4810-8ebf-4c75b4b2e90f", - "object_type": "dcim.devicetype", - "url": "http://127.0.0.1:8000/api/dcim/device-types/95784626-b8a8-4810-8ebf-4c75b4b2e90f/" - }, - "display": "test100", - "face": null, - "id": "d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3", - "last_updated": "2024-03-27T17:38:37.149559Z", - "local_config_context_data": { - "ntp_servers": [ - "pool.ntp.org" - ] - }, - "local_config_context_data_owner_content_type": null, - "local_config_context_data_owner_object_id": null, - "local_config_context_schema": null, - "location": { - "id": "73e14892-23ef-463b-8285-7e50ee48ea67", - "object_type": "dcim.location", - "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" - }, - "name": "test100", - "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_d586", - "notes_url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/notes/", - "object_type": "dcim.device", - "parent_bay": null, - "platform": null, - "position": null, - "primary_ip4": null, - "primary_ip6": null, - "rack": null, - "role": { - "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", - "object_type": "extras.role", - "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" - }, - "secrets_group": null, - "serial": "", - "software_version": null, - "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" - }, - "tenant": { - "id": "9f8b10f8-9513-4581-94a2-41cefc3735dd", - "object_type": "tenancy.tenant", - "url": "http://127.0.0.1:8000/api/tenancy/tenants/9f8b10f8-9513-4581-94a2-41cefc3735dd/" - }, - "url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/", - "vc_position": null, - "vc_priority": null, - "virtual_chassis": null - }, - "display": "ssh (TCP/22)", - "id": "6c74dff6-acf8-44a6-a9a0-1ff519eff6df", - "ip_addresses": [], - "last_updated": "2024-03-27T17:38:46.266022Z", - "name": "ssh", - "natural_slug": "ssh____test100_test-tenant_child-test-location_parent-test-location_6c74", - "notes_url": "http://127.0.0.1:8000/api/ipam/services/6c74dff6-acf8-44a6-a9a0-1ff519eff6df/notes/", - "object_type": "ipam.service", - "ports": [ - 22 - ], - "protocol": { - "label": "TCP", - "value": "tcp" - }, - "tags": [], - "url": "http://127.0.0.1:8000/api/ipam/services/6c74dff6-acf8-44a6-a9a0-1ff519eff6df/", - "virtual_machine": null - }, - { - "created": "2024-03-27T17:38:46.330100Z", "custom_fields": {}, "description": "", "device": { "asset_tag": null, "cluster": null, "comments": "", - "controller_device_group": null, - "created": "2024-03-27T17:38:37.149539Z", + "controller_managed_device_group": null, "custom_fields": {}, "device_redundancy_group": null, "device_redundancy_group_priority": null, "device_type": { - "id": "95784626-b8a8-4810-8ebf-4c75b4b2e90f", - "object_type": "dcim.devicetype", - "url": "http://127.0.0.1:8000/api/dcim/device-types/95784626-b8a8-4810-8ebf-4c75b4b2e90f/" + "object_type": "dcim.devicetype" }, "display": "test100", "face": null, - "id": "d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3", - "last_updated": "2024-03-27T17:38:37.149559Z", "local_config_context_data": { "ntp_servers": [ "pool.ntp.org" @@ -446,13 +297,10 @@ "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "location": { - "id": "73e14892-23ef-463b-8285-7e50ee48ea67", - "object_type": "dcim.location", - "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + "object_type": "dcim.location" }, "name": "test100", - "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_d586", - "notes_url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/notes/", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_939c", "object_type": "dcim.device", "parent_bay": null, "platform": null, @@ -461,116 +309,84 @@ "primary_ip6": null, "rack": null, "role": { - "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", - "object_type": "extras.role", - "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + "object_type": "extras.role" }, "secrets_group": null, "serial": "", "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": { - "id": "9f8b10f8-9513-4581-94a2-41cefc3735dd", - "object_type": "tenancy.tenant", - "url": "http://127.0.0.1:8000/api/tenancy/tenants/9f8b10f8-9513-4581-94a2-41cefc3735dd/" + "object_type": "tenancy.tenant" }, - "url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/", "vc_position": null, "vc_priority": null, "virtual_chassis": null }, "display": "http (TCP/80)", - "id": "c84e3af1-85b3-4a93-8075-83f2245294c4", "ip_addresses": [ { "address": "172.16.180.1/24", - "created": "2024-03-27T17:38:41.821095Z", "custom_fields": {}, "description": "", "display": "172.16.180.1/24", "dns_name": "", "host": "172.16.180.1", - "id": "1e99a20d-b55f-48d4-97a5-1200e4a30213", "interfaces": [ { - "id": "52f98b02-b953-4e0a-972b-e1b3aa0f6f59", - "object_type": "dcim.interface", - "url": "http://127.0.0.1:8000/api/dcim/interfaces/52f98b02-b953-4e0a-972b-e1b3aa0f6f59/" + "object_type": "dcim.interface" } ], "ip_version": 4, - "last_updated": "2024-03-27T17:38:41.821119Z", "mask_length": 24, "nat_inside": null, "nat_outside_list": [], - "natural_slug": "global_172-16-180-1_1e99", - "notes_url": "http://127.0.0.1:8000/api/ipam/ip-addresses/1e99a20d-b55f-48d4-97a5-1200e4a30213/notes/", + "natural_slug": "global_172-16-180-1_23b0", "object_type": "ipam.ipaddress", "parent": { - "id": "0733b370-dae3-49d5-97ee-911ddd7fdc53", - "object_type": "ipam.prefix", - "url": "http://127.0.0.1:8000/api/ipam/prefixes/0733b370-dae3-49d5-97ee-911ddd7fdc53/" + "object_type": "ipam.prefix" }, "role": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, "type": "host", - "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/1e99a20d-b55f-48d4-97a5-1200e4a30213/", "vm_interfaces": [] }, { "address": "2001::1:1/64", - "created": "2024-03-27T17:38:41.863826Z", "custom_fields": {}, "description": "", "display": "2001::1:1/64", "dns_name": "", "host": "2001::1:1", - "id": "17b14b12-322f-4ce0-bf66-5d2669815aef", "interfaces": [ { - "id": "1747ac15-09ee-4698-bde0-a02fbe5aed33", - "object_type": "dcim.interface", - "url": "http://127.0.0.1:8000/api/dcim/interfaces/1747ac15-09ee-4698-bde0-a02fbe5aed33/" + "object_type": "dcim.interface" } ], "ip_version": 6, - "last_updated": "2024-03-27T17:38:41.863861Z", "mask_length": 64, "nat_inside": null, "nat_outside_list": [], - "natural_slug": "global_2001-1-1_17b1", - "notes_url": "http://127.0.0.1:8000/api/ipam/ip-addresses/17b14b12-322f-4ce0-bf66-5d2669815aef/notes/", + "natural_slug": "global_2001-1-1_ee95", "object_type": "ipam.ipaddress", "parent": { - "id": "386da78d-6b55-4c43-be8d-6eb33366a95c", - "object_type": "ipam.prefix", - "url": "http://127.0.0.1:8000/api/ipam/prefixes/386da78d-6b55-4c43-be8d-6eb33366a95c/" + "object_type": "ipam.prefix" }, "role": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, "type": "host", - "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/17b14b12-322f-4ce0-bf66-5d2669815aef/", "vm_interfaces": [] } ], - "last_updated": "2024-03-27T17:38:46.330122Z", "name": "http", - "natural_slug": "http____test100_test-tenant_child-test-location_parent-test-location_c84e", - "notes_url": "http://127.0.0.1:8000/api/ipam/services/c84e3af1-85b3-4a93-8075-83f2245294c4/notes/", + "natural_slug": "http____test100_test-tenant_child-test-location_parent-test-location_3116", "object_type": "ipam.service", "ports": [ 80 @@ -580,23 +396,84 @@ "value": "tcp" }, "tags": [], - "url": "http://127.0.0.1:8000/api/ipam/services/c84e3af1-85b3-4a93-8075-83f2245294c4/", + "virtual_machine": null + }, + { + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_managed_device_group": null, + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "object_type": "dcim.devicetype" + }, + "display": "test100", + "face": null, + "local_config_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "object_type": "dcim.location" + }, + "name": "test100", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_939c", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "object_type": "extras.role" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": { + "object_type": "tenancy.tenant" + }, + "vc_position": null, + "vc_priority": null, + "virtual_chassis": null + }, + "display": "ssh (TCP/22)", + "ip_addresses": [], + "name": "ssh", + "natural_slug": "ssh____test100_test-tenant_child-test-location_parent-test-location_bfcf", + "object_type": "ipam.service", + "ports": [ + 22 + ], + "protocol": { + "label": "TCP", + "value": "tcp" + }, + "tags": [], "virtual_machine": null } ], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [], "tenant_group": "Test Tenant Group", @@ -621,17 +498,12 @@ "services": [], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -652,17 +524,12 @@ "services": [], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -683,17 +550,12 @@ "services": [], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -714,17 +576,12 @@ "services": [], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -740,17 +597,12 @@ "services": [], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] } @@ -764,15 +616,15 @@ "ungrouped": { "hosts": [ "R1-Device", - "test100", - "TestDeviceR1", "Test Nexus One", + "Test VM With Spaces", + "TestDeviceR1", + "test100", "test100-vm", "test101-vm", "test102-vm", "test103-vm", - "test104-vm", - "Test VM With Spaces" + "test104-vm" ] } } \ No newline at end of file diff --git a/tests/integration/targets/inventory/files/test_2.2-3_options.json b/tests/integration/targets/inventory/files/test_2.2-3_options.json index 1712f3e0..4bea679f 100644 --- a/tests/integration/targets/inventory/files/test_2.2-3_options.json +++ b/tests/integration/targets/inventory/files/test_2.2-3_options.json @@ -16,22 +16,16 @@ "rack_groups": [ "Parent Rack Group" ], - "rack_id": "17e3b2ab-1ca9-4c40-a3a7-8ccdcf1b4bb4", "rack_role": "Test Rack Role", "role": "Core Switch", "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -44,17 +38,12 @@ "locations": [], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -75,21 +64,15 @@ "Child Rack Group", "Parent Rack Group" ], - "rack_id": "809a01a4-8640-4ce7-8163-76901aa4211f", "role": "Core Switch", "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -110,17 +93,12 @@ "role": "Core Switch", "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -143,17 +121,12 @@ "role": "Core Switch", "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [], "tenant": "Test Tenant", @@ -173,17 +146,12 @@ ], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -201,17 +169,12 @@ ], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -229,17 +192,12 @@ ], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -257,17 +215,12 @@ ], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -280,17 +233,12 @@ "locations": [], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] } @@ -299,40 +247,40 @@ "active": { "hosts": [ "R1-Device", - "test100", + "Test VM With Spaces", "TestDeviceR1", "VC1", + "test100", "test100-vm", "test101-vm", "test102-vm", "test103-vm", - "test104-vm", - "Test VM With Spaces" + "test104-vm" ] }, "all": { "children": [ - "ungrouped", - "child_test_location", - "parent_test_location", - "main_test_rack", - "parent_rack_group", - "test_rack_role", - "core_switch", - "cisco_test", - "cisco", "active", - "test_tenant", - "jinja_test_group", "child_child_test_location", - "sub_test_rack", "child_rack_group", + "child_test_location", + "cisco", + "cisco_test", + "core_switch", + "is_virtual", + "jinja_test_group", + "main_test_rack", "nexus_parent", + "parent_rack_group", + "parent_test_location", + "sub_test_rack", "test_cluster", + "test_cluster_2", "test_cluster_group", "test_cluster_type", - "is_virtual", - "test_cluster_2" + "test_rack_role", + "test_tenant", + "ungrouped" ] }, "child_child_test_location": { @@ -348,9 +296,9 @@ "child_test_location": { "hosts": [ "R1-Device", - "test100", "TestDeviceR1", "VC1", + "test100", "test100-vm", "test101-vm", "test102-vm", @@ -360,40 +308,40 @@ "cisco": { "hosts": [ "R1-Device", - "test100", "TestDeviceR1", - "VC1" + "VC1", + "test100" ] }, "cisco_test": { "hosts": [ "R1-Device", - "test100", - "TestDeviceR1" + "TestDeviceR1", + "test100" ] }, "core_switch": { "hosts": [ "R1-Device", - "test100", "TestDeviceR1", - "VC1" + "VC1", + "test100" ] }, "is_virtual": { "hosts": [ + "Test VM With Spaces", "test100-vm", "test101-vm", "test102-vm", "test103-vm", - "test104-vm", - "Test VM With Spaces" + "test104-vm" ] }, "jinja_test_group": { "hosts": [ - "TestDeviceR1", - "Test VM With Spaces" + "Test VM With Spaces", + "TestDeviceR1" ] }, "main_test_rack": { @@ -415,9 +363,9 @@ "parent_test_location": { "hosts": [ "R1-Device", - "test100", "TestDeviceR1", "VC1", + "test100", "test100-vm", "test101-vm", "test102-vm", @@ -439,8 +387,8 @@ }, "test_cluster_2": { "hosts": [ - "test104-vm", - "Test VM With Spaces" + "Test VM With Spaces", + "test104-vm" ] }, "test_cluster_group": { @@ -453,12 +401,12 @@ }, "test_cluster_type": { "hosts": [ + "Test VM With Spaces", "test100-vm", "test101-vm", "test102-vm", "test103-vm", - "test104-vm", - "Test VM With Spaces" + "test104-vm" ] }, "test_rack_role": { diff --git a/tests/integration/targets/inventory/files/test_2.2-3_options_flatten.json b/tests/integration/targets/inventory/files/test_2.2-3_options_flatten.json index ffa91949..0db1a04d 100644 --- a/tests/integration/targets/inventory/files/test_2.2-3_options_flatten.json +++ b/tests/integration/targets/inventory/files/test_2.2-3_options_flatten.json @@ -20,17 +20,12 @@ "services": [], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -47,118 +42,90 @@ "connected_endpoint": null, "connected_endpoint_reachable": null, "connected_endpoint_type": null, - "created": "2024-03-27T17:38:40.449934Z", "custom_fields": {}, "description": "", "device": { "asset_tag": null, "cluster": null, "comments": "", - "controller_device_group": null, - "created": "2024-03-27T17:38:37.494441Z", + "controller_managed_device_group": null, "custom_fields": {}, "device_redundancy_group": null, "device_redundancy_group_priority": null, "device_type": { - "id": "56a8ae15-5543-496f-addf-5038a27a3cb0", - "object_type": "dcim.devicetype", - "url": "http://127.0.0.1:8000/api/dcim/device-types/56a8ae15-5543-496f-addf-5038a27a3cb0/" + "object_type": "dcim.devicetype" }, - "display": "Test Nexus Child One", + "display": "Test Nexus One", "face": null, - "id": "3d0c8f54-d24d-4d7a-8f5b-7a536fe0cc5a", - "last_updated": "2024-03-27T17:38:39.854921Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "location": { - "id": "73e14892-23ef-463b-8285-7e50ee48ea67", - "object_type": "dcim.location", - "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + "object_type": "dcim.location" }, - "name": "Test Nexus Child One", - "natural_slug": "test-nexus-child-one__child-test-location_parent-test-location_3d0c", - "notes_url": "http://127.0.0.1:8000/api/dcim/devices/3d0c8f54-d24d-4d7a-8f5b-7a536fe0cc5a/notes/", + "name": "Test Nexus One", + "natural_slug": "test-nexus-one__child-test-location_parent-test-location_725b", "object_type": "dcim.device", "parent_bay": null, "platform": null, "position": null, - "primary_ip4": null, + "primary_ip4": { + "object_type": "ipam.ipaddress" + }, "primary_ip6": null, "rack": null, "role": { - "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", - "object_type": "extras.role", - "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + "object_type": "extras.role" }, "secrets_group": null, "serial": "", "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/dcim/devices/3d0c8f54-d24d-4d7a-8f5b-7a536fe0cc5a/", - "vc_position": 2, + "vc_position": 0, "vc_priority": null, "virtual_chassis": { - "id": "c96554c7-425c-4064-aae8-c11bcffeca62", - "object_type": "dcim.virtualchassis", - "url": "http://127.0.0.1:8000/api/dcim/virtual-chassis/c96554c7-425c-4064-aae8-c11bcffeca62/" + "object_type": "dcim.virtualchassis" } }, - "display": "Ethernet2/1", + "display": "Ethernet1/1", "enabled": true, - "id": "f4796f28-9625-43eb-9b99-8684cf6f535a", "ip_address_count": 1, "ip_addresses": [ { - "address": "172.16.180.12/24", - "created": "2024-03-27T17:38:41.943535Z", + "address": "172.16.180.11/24", "custom_fields": {}, "description": "", - "display": "172.16.180.12/24", + "display": "172.16.180.11/24", "dns_name": "nexus.example.com", - "host": "172.16.180.12", - "id": "e0e90260-e594-4731-93ab-5efca44b55e7", + "host": "172.16.180.11", "ip_version": 4, - "last_updated": "2024-03-27T17:38:41.943593Z", "mask_length": 24, "nat_inside": null, "nat_outside_list": [], - "natural_slug": "global_172-16-180-12_e0e9", - "notes_url": "http://127.0.0.1:8000/api/ipam/ip-addresses/e0e90260-e594-4731-93ab-5efca44b55e7/notes/", + "natural_slug": "global_172-16-180-11_69d8", "object_type": "ipam.ipaddress", "parent": { "broadcast": "172.31.255.255", - "created": "2024-03-27T17:38:33.543642Z", "custom_fields": {}, "date_allocated": null, "description": "", "display": "172.16.0.0/12", - "id": "0733b370-dae3-49d5-97ee-911ddd7fdc53", "ip_version": 4, - "last_updated": "2024-03-27T17:38:33.543671Z", "namespace": { - "created": "2024-03-27T17:37:15.805479Z", "custom_fields": {}, "description": "Default Global namespace. Created by Nautobot.", "display": "Global", - "id": "a21f42e2-e600-4eea-bf7c-644f7304b4e2", - "last_updated": "2024-03-27T17:37:15.805514Z", "location": null, "name": "Global", - "natural_slug": "global_a21f", - "notes_url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/notes/", - "object_type": "ipam.namespace", - "url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/" + "natural_slug": "global_1fa9", + "object_type": "ipam.namespace" }, - "natural_slug": "global_172-16-0-0_12_0733", + "natural_slug": "global_172-16-0-0_12_ab44", "network": "172.16.0.0", - "notes_url": "http://127.0.0.1:8000/api/ipam/prefixes/0733b370-dae3-49d5-97ee-911ddd7fdc53/notes/", "object_type": "ipam.prefix", "parent": null, "prefix": "172.16.0.0/12", @@ -167,72 +134,53 @@ "role": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tenant": null, "type": { "label": "Network", "value": "network" }, - "url": "http://127.0.0.1:8000/api/ipam/prefixes/0733b370-dae3-49d5-97ee-911ddd7fdc53/", "vlan": null }, "role": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [], "tenant": null, - "type": "host", - "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/e0e90260-e594-4731-93ab-5efca44b55e7/" + "type": "host" } ], "label": "", "lag": null, - "last_updated": "2024-03-27T17:38:40.449955Z", "mac_address": null, "mgmt_only": false, "mode": null, "mtu": null, - "name": "Ethernet2/1", - "natural_slug": "ethernet2-1_test-nexus-child-one__child-test-location_parent-test-location_f479", - "notes_url": "http://127.0.0.1:8000/api/dcim/interfaces/f4796f28-9625-43eb-9b99-8684cf6f535a/notes/", + "name": "Ethernet1/1", + "natural_slug": "ethernet1-1_test-nexus-one__child-test-location_parent-test-location_a1b2", "object_type": "dcim.interface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], @@ -241,7 +189,6 @@ "value": "1000base-t" }, "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/dcim/interfaces/f4796f28-9625-43eb-9b99-8684cf6f535a/", "vrf": null }, { @@ -252,122 +199,88 @@ "connected_endpoint": null, "connected_endpoint_reachable": null, "connected_endpoint_type": null, - "created": "2024-03-27T17:38:40.395148Z", "custom_fields": {}, "description": "", "device": { "asset_tag": null, "cluster": null, "comments": "", - "controller_device_group": null, - "created": "2024-03-27T17:38:37.423871Z", + "controller_managed_device_group": null, "custom_fields": {}, "device_redundancy_group": null, "device_redundancy_group_priority": null, "device_type": { - "id": "3d51d3ca-454b-4824-859e-4601eb8022bd", - "object_type": "dcim.devicetype", - "url": "http://127.0.0.1:8000/api/dcim/device-types/3d51d3ca-454b-4824-859e-4601eb8022bd/" + "object_type": "dcim.devicetype" }, - "display": "Test Nexus One", + "display": "Test Nexus Child One", "face": null, - "id": "b7867e42-ccb0-4251-be86-ea7b9a84b104", - "last_updated": "2024-03-27T17:38:43.334405Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "location": { - "id": "73e14892-23ef-463b-8285-7e50ee48ea67", - "object_type": "dcim.location", - "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + "object_type": "dcim.location" }, - "name": "Test Nexus One", - "natural_slug": "test-nexus-one__child-test-location_parent-test-location_b786", - "notes_url": "http://127.0.0.1:8000/api/dcim/devices/b7867e42-ccb0-4251-be86-ea7b9a84b104/notes/", + "name": "Test Nexus Child One", + "natural_slug": "test-nexus-child-one__child-test-location_parent-test-location_cb9c", "object_type": "dcim.device", "parent_bay": null, "platform": null, "position": null, - "primary_ip4": { - "id": "25dedf45-b258-442f-829e-e54774ce8017", - "object_type": "ipam.ipaddress", - "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/25dedf45-b258-442f-829e-e54774ce8017/" - }, + "primary_ip4": null, "primary_ip6": null, "rack": null, "role": { - "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", - "object_type": "extras.role", - "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + "object_type": "extras.role" }, "secrets_group": null, "serial": "", "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/dcim/devices/b7867e42-ccb0-4251-be86-ea7b9a84b104/", - "vc_position": 0, + "vc_position": 2, "vc_priority": null, "virtual_chassis": { - "id": "c96554c7-425c-4064-aae8-c11bcffeca62", - "object_type": "dcim.virtualchassis", - "url": "http://127.0.0.1:8000/api/dcim/virtual-chassis/c96554c7-425c-4064-aae8-c11bcffeca62/" + "object_type": "dcim.virtualchassis" } }, - "display": "Ethernet1/1", + "display": "Ethernet2/1", "enabled": true, - "id": "2f84a3d8-6923-4daf-8817-a79e62576085", "ip_address_count": 1, "ip_addresses": [ { - "address": "172.16.180.11/24", - "created": "2024-03-27T17:38:41.904010Z", + "address": "172.16.180.12/24", "custom_fields": {}, "description": "", - "display": "172.16.180.11/24", + "display": "172.16.180.12/24", "dns_name": "nexus.example.com", - "host": "172.16.180.11", - "id": "25dedf45-b258-442f-829e-e54774ce8017", + "host": "172.16.180.12", "ip_version": 4, - "last_updated": "2024-03-27T17:38:41.904032Z", "mask_length": 24, "nat_inside": null, "nat_outside_list": [], - "natural_slug": "global_172-16-180-11_25de", - "notes_url": "http://127.0.0.1:8000/api/ipam/ip-addresses/25dedf45-b258-442f-829e-e54774ce8017/notes/", + "natural_slug": "global_172-16-180-12_ee65", "object_type": "ipam.ipaddress", "parent": { "broadcast": "172.31.255.255", - "created": "2024-03-27T17:38:33.543642Z", "custom_fields": {}, "date_allocated": null, "description": "", "display": "172.16.0.0/12", - "id": "0733b370-dae3-49d5-97ee-911ddd7fdc53", "ip_version": 4, - "last_updated": "2024-03-27T17:38:33.543671Z", "namespace": { - "created": "2024-03-27T17:37:15.805479Z", "custom_fields": {}, "description": "Default Global namespace. Created by Nautobot.", "display": "Global", - "id": "a21f42e2-e600-4eea-bf7c-644f7304b4e2", - "last_updated": "2024-03-27T17:37:15.805514Z", "location": null, "name": "Global", - "natural_slug": "global_a21f", - "notes_url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/notes/", - "object_type": "ipam.namespace", - "url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/" + "natural_slug": "global_1fa9", + "object_type": "ipam.namespace" }, - "natural_slug": "global_172-16-0-0_12_0733", + "natural_slug": "global_172-16-0-0_12_ab44", "network": "172.16.0.0", - "notes_url": "http://127.0.0.1:8000/api/ipam/prefixes/0733b370-dae3-49d5-97ee-911ddd7fdc53/notes/", "object_type": "ipam.prefix", "parent": null, "prefix": "172.16.0.0/12", @@ -376,72 +289,53 @@ "role": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tenant": null, "type": { "label": "Network", "value": "network" }, - "url": "http://127.0.0.1:8000/api/ipam/prefixes/0733b370-dae3-49d5-97ee-911ddd7fdc53/", "vlan": null }, "role": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [], "tenant": null, - "type": "host", - "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/25dedf45-b258-442f-829e-e54774ce8017/" + "type": "host" } ], "label": "", "lag": null, - "last_updated": "2024-03-27T17:38:40.395169Z", "mac_address": null, "mgmt_only": false, "mode": null, "mtu": null, - "name": "Ethernet1/1", - "natural_slug": "ethernet1-1_test-nexus-one__child-test-location_parent-test-location_2f84", - "notes_url": "http://127.0.0.1:8000/api/dcim/interfaces/2f84a3d8-6923-4daf-8817-a79e62576085/notes/", + "name": "Ethernet2/1", + "natural_slug": "ethernet2-1_test-nexus-child-one__child-test-location_parent-test-location_93db", "object_type": "dcim.interface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], @@ -450,7 +344,6 @@ "value": "1000base-t" }, "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/dcim/interfaces/2f84a3d8-6923-4daf-8817-a79e62576085/", "vrf": null } ], @@ -465,80 +358,59 @@ "role": "Core Switch", "services": [ { - "created": "2024-03-27T17:38:46.460861Z", "custom_fields": {}, "description": "", "device": { "asset_tag": null, "cluster": null, "comments": "", - "controller_device_group": null, - "created": "2024-03-27T17:38:37.423871Z", + "controller_managed_device_group": null, "custom_fields": {}, "device_redundancy_group": null, "device_redundancy_group_priority": null, "device_type": { - "id": "3d51d3ca-454b-4824-859e-4601eb8022bd", - "object_type": "dcim.devicetype", - "url": "http://127.0.0.1:8000/api/dcim/device-types/3d51d3ca-454b-4824-859e-4601eb8022bd/" + "object_type": "dcim.devicetype" }, "display": "Test Nexus One", "face": null, - "id": "b7867e42-ccb0-4251-be86-ea7b9a84b104", - "last_updated": "2024-03-27T17:38:43.334405Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "location": { - "id": "73e14892-23ef-463b-8285-7e50ee48ea67", - "object_type": "dcim.location", - "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + "object_type": "dcim.location" }, "name": "Test Nexus One", - "natural_slug": "test-nexus-one__child-test-location_parent-test-location_b786", - "notes_url": "http://127.0.0.1:8000/api/dcim/devices/b7867e42-ccb0-4251-be86-ea7b9a84b104/notes/", + "natural_slug": "test-nexus-one__child-test-location_parent-test-location_725b", "object_type": "dcim.device", "parent_bay": null, "platform": null, "position": null, "primary_ip4": { - "id": "25dedf45-b258-442f-829e-e54774ce8017", - "object_type": "ipam.ipaddress", - "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/25dedf45-b258-442f-829e-e54774ce8017/" + "object_type": "ipam.ipaddress" }, "primary_ip6": null, "rack": null, "role": { - "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", - "object_type": "extras.role", - "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + "object_type": "extras.role" }, "secrets_group": null, "serial": "", "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/dcim/devices/b7867e42-ccb0-4251-be86-ea7b9a84b104/", "vc_position": 0, "vc_priority": null, "virtual_chassis": { - "id": "c96554c7-425c-4064-aae8-c11bcffeca62", - "object_type": "dcim.virtualchassis", - "url": "http://127.0.0.1:8000/api/dcim/virtual-chassis/c96554c7-425c-4064-aae8-c11bcffeca62/" + "object_type": "dcim.virtualchassis" } }, "display": "telnet (TCP/23)", - "id": "9113902d-6ec7-4585-babf-4ac87889c7e3", "ip_addresses": [], - "last_updated": "2024-03-27T17:38:46.460883Z", "name": "telnet", - "natural_slug": "telnet____test-nexus-one__child-test-location_parent-test-location_9113", - "notes_url": "http://127.0.0.1:8000/api/ipam/services/9113902d-6ec7-4585-babf-4ac87889c7e3/notes/", + "natural_slug": "telnet____test-nexus-one__child-test-location_parent-test-location_067d", "object_type": "ipam.service", "ports": [ 23 @@ -548,23 +420,17 @@ "value": "tcp" }, "tags": [], - "url": "http://127.0.0.1:8000/api/ipam/services/9113902d-6ec7-4585-babf-4ac87889c7e3/", "virtual_machine": null } ], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -574,61 +440,45 @@ "interfaces": [ { "bridge": null, - "created": "2024-03-27T17:38:45.856585Z", "custom_fields": {}, "description": "", "display": "Eth0", "enabled": true, - "id": "69c3d77b-1523-43a8-acde-61e993c7f011", "ip_addresses": [], - "last_updated": "2024-03-27T17:38:45.856616Z", "mac_address": null, "mode": null, "mtu": null, "name": "Eth0", - "natural_slug": "test-cluster-2__test-vm-with-spaces_eth0_69c3", - "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/69c3d77b-1523-43a8-acde-61e993c7f011/notes/", + "natural_slug": "test-cluster-2__test-vm-with-spaces_eth0_f6c0", "object_type": "virtualization.vminterface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/virtualization/interfaces/69c3d77b-1523-43a8-acde-61e993c7f011/", "virtual_machine": { "cluster": { - "id": "48f3c0e7-e0d8-4af7-a9f8-4b28530b6e2b", - "object_type": "virtualization.cluster", - "url": "http://127.0.0.1:8000/api/virtualization/clusters/48f3c0e7-e0d8-4af7-a9f8-4b28530b6e2b/" + "object_type": "virtualization.cluster" }, "comments": "", - "created": "2024-03-27T17:38:44.562206Z", "custom_fields": {}, "disk": null, "display": "Test VM With Spaces", - "id": "1ff0d587-3843-402a-a9a0-d229e743b008", - "last_updated": "2024-03-27T17:38:44.562228Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "memory": null, "name": "Test VM With Spaces", - "natural_slug": "test-cluster-2__test-vm-with-spaces_1ff0", - "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ff0d587-3843-402a-a9a0-d229e743b008/notes/", + "natural_slug": "test-cluster-2__test-vm-with-spaces_8da0", "object_type": "virtualization.virtualmachine", "platform": null, "primary_ip4": null, @@ -636,73 +486,54 @@ "role": null, "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ff0d587-3843-402a-a9a0-d229e743b008/", "vcpus": null }, "vrf": null }, { "bridge": null, - "created": "2024-03-27T17:38:45.895334Z", "custom_fields": {}, "description": "", "display": "Eth1", "enabled": true, - "id": "0c4b09cb-d1b9-47aa-ae7c-9bce45792c65", "ip_addresses": [], - "last_updated": "2024-03-27T17:38:45.895355Z", "mac_address": null, "mode": null, "mtu": null, "name": "Eth1", - "natural_slug": "test-cluster-2__test-vm-with-spaces_eth1_0c4b", - "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/0c4b09cb-d1b9-47aa-ae7c-9bce45792c65/notes/", + "natural_slug": "test-cluster-2__test-vm-with-spaces_eth1_f6e3", "object_type": "virtualization.vminterface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/virtualization/interfaces/0c4b09cb-d1b9-47aa-ae7c-9bce45792c65/", "virtual_machine": { "cluster": { - "id": "48f3c0e7-e0d8-4af7-a9f8-4b28530b6e2b", - "object_type": "virtualization.cluster", - "url": "http://127.0.0.1:8000/api/virtualization/clusters/48f3c0e7-e0d8-4af7-a9f8-4b28530b6e2b/" + "object_type": "virtualization.cluster" }, "comments": "", - "created": "2024-03-27T17:38:44.562206Z", "custom_fields": {}, "disk": null, "display": "Test VM With Spaces", - "id": "1ff0d587-3843-402a-a9a0-d229e743b008", - "last_updated": "2024-03-27T17:38:44.562228Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "memory": null, "name": "Test VM With Spaces", - "natural_slug": "test-cluster-2__test-vm-with-spaces_1ff0", - "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ff0d587-3843-402a-a9a0-d229e743b008/notes/", + "natural_slug": "test-cluster-2__test-vm-with-spaces_8da0", "object_type": "virtualization.virtualmachine", "platform": null, "primary_ip4": null, @@ -710,12 +541,9 @@ "role": null, "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ff0d587-3843-402a-a9a0-d229e743b008/", "vcpus": null }, "vrf": null @@ -725,17 +553,13 @@ "locations": [], "services": [ { - "created": "2024-03-27T17:38:46.503654Z", "custom_fields": {}, "description": "", "device": null, "display": "ssh (TCP/22)", - "id": "fa302796-cedb-4484-a324-a1569ae9c4ba", "ip_addresses": [], - "last_updated": "2024-03-27T17:38:46.503676Z", "name": "ssh", - "natural_slug": "ssh_test-cluster-2__test-vm-with-spaces_fa30", - "notes_url": "http://127.0.0.1:8000/api/ipam/services/fa302796-cedb-4484-a324-a1569ae9c4ba/notes/", + "natural_slug": "ssh_test-cluster-2__test-vm-with-spaces_cad2", "object_type": "ipam.service", "ports": [ 22 @@ -745,28 +569,21 @@ "value": "tcp" }, "tags": [], - "url": "http://127.0.0.1:8000/api/ipam/services/fa302796-cedb-4484-a324-a1569ae9c4ba/", "virtual_machine": { "cluster": { - "id": "48f3c0e7-e0d8-4af7-a9f8-4b28530b6e2b", - "object_type": "virtualization.cluster", - "url": "http://127.0.0.1:8000/api/virtualization/clusters/48f3c0e7-e0d8-4af7-a9f8-4b28530b6e2b/" + "object_type": "virtualization.cluster" }, "comments": "", - "created": "2024-03-27T17:38:44.562206Z", "custom_fields": {}, "disk": null, "display": "Test VM With Spaces", - "id": "1ff0d587-3843-402a-a9a0-d229e743b008", - "last_updated": "2024-03-27T17:38:44.562228Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "memory": null, "name": "Test VM With Spaces", - "natural_slug": "test-cluster-2__test-vm-with-spaces_1ff0", - "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ff0d587-3843-402a-a9a0-d229e743b008/notes/", + "natural_slug": "test-cluster-2__test-vm-with-spaces_8da0", "object_type": "virtualization.virtualmachine", "platform": null, "primary_ip4": null, @@ -774,29 +591,21 @@ "role": null, "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ff0d587-3843-402a-a9a0-d229e743b008/", "vcpus": null } } ], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -820,17 +629,12 @@ "services": [], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -845,27 +649,21 @@ "connected_endpoint": null, "connected_endpoint_reachable": null, "connected_endpoint_type": null, - "created": "2024-03-27T17:38:40.714492Z", "custom_fields": {}, "description": "", "device": { "asset_tag": null, "cluster": null, "comments": "", - "controller_device_group": null, - "created": "2024-03-27T17:38:37.149539Z", + "controller_managed_device_group": null, "custom_fields": {}, "device_redundancy_group": null, "device_redundancy_group_priority": null, "device_type": { - "id": "95784626-b8a8-4810-8ebf-4c75b4b2e90f", - "object_type": "dcim.devicetype", - "url": "http://127.0.0.1:8000/api/dcim/device-types/95784626-b8a8-4810-8ebf-4c75b4b2e90f/" + "object_type": "dcim.devicetype" }, "display": "test100", "face": null, - "id": "d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3", - "last_updated": "2024-03-27T17:38:37.149559Z", "local_config_context_data": { "ntp_servers": [ "pool.ntp.org" @@ -875,13 +673,10 @@ "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "location": { - "id": "73e14892-23ef-463b-8285-7e50ee48ea67", - "object_type": "dcim.location", - "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + "object_type": "dcim.location" }, "name": "test100", - "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_d586", - "notes_url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/notes/", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_939c", "object_type": "dcim.device", "parent_bay": null, "platform": null, @@ -890,77 +685,56 @@ "primary_ip6": null, "rack": null, "role": { - "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", - "object_type": "extras.role", - "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + "object_type": "extras.role" }, "secrets_group": null, "serial": "", "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": { - "id": "9f8b10f8-9513-4581-94a2-41cefc3735dd", - "object_type": "tenancy.tenant", - "url": "http://127.0.0.1:8000/api/tenancy/tenants/9f8b10f8-9513-4581-94a2-41cefc3735dd/" + "object_type": "tenancy.tenant" }, - "url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/", "vc_position": null, "vc_priority": null, "virtual_chassis": null }, "display": "GigabitEthernet1", "enabled": true, - "id": "52f98b02-b953-4e0a-972b-e1b3aa0f6f59", "ip_address_count": 1, "ip_addresses": [ { "address": "172.16.180.1/24", - "created": "2024-03-27T17:38:41.821095Z", "custom_fields": {}, "description": "", "display": "172.16.180.1/24", "dns_name": "", "host": "172.16.180.1", - "id": "1e99a20d-b55f-48d4-97a5-1200e4a30213", "ip_version": 4, - "last_updated": "2024-03-27T17:38:41.821119Z", "mask_length": 24, "nat_inside": null, "nat_outside_list": [], - "natural_slug": "global_172-16-180-1_1e99", - "notes_url": "http://127.0.0.1:8000/api/ipam/ip-addresses/1e99a20d-b55f-48d4-97a5-1200e4a30213/notes/", + "natural_slug": "global_172-16-180-1_23b0", "object_type": "ipam.ipaddress", "parent": { "broadcast": "172.31.255.255", - "created": "2024-03-27T17:38:33.543642Z", "custom_fields": {}, "date_allocated": null, "description": "", "display": "172.16.0.0/12", - "id": "0733b370-dae3-49d5-97ee-911ddd7fdc53", "ip_version": 4, - "last_updated": "2024-03-27T17:38:33.543671Z", "namespace": { - "created": "2024-03-27T17:37:15.805479Z", "custom_fields": {}, "description": "Default Global namespace. Created by Nautobot.", "display": "Global", - "id": "a21f42e2-e600-4eea-bf7c-644f7304b4e2", - "last_updated": "2024-03-27T17:37:15.805514Z", "location": null, "name": "Global", - "natural_slug": "global_a21f", - "notes_url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/notes/", - "object_type": "ipam.namespace", - "url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/" + "natural_slug": "global_1fa9", + "object_type": "ipam.namespace" }, - "natural_slug": "global_172-16-0-0_12_0733", + "natural_slug": "global_172-16-0-0_12_ab44", "network": "172.16.0.0", - "notes_url": "http://127.0.0.1:8000/api/ipam/prefixes/0733b370-dae3-49d5-97ee-911ddd7fdc53/notes/", "object_type": "ipam.prefix", "parent": null, "prefix": "172.16.0.0/12", @@ -969,72 +743,53 @@ "role": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tenant": null, "type": { "label": "Network", "value": "network" }, - "url": "http://127.0.0.1:8000/api/ipam/prefixes/0733b370-dae3-49d5-97ee-911ddd7fdc53/", "vlan": null }, "role": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [], "tenant": null, - "type": "host", - "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/1e99a20d-b55f-48d4-97a5-1200e4a30213/" + "type": "host" } ], "label": "", "lag": null, - "last_updated": "2024-03-27T17:38:40.714514Z", "mac_address": null, "mgmt_only": false, "mode": null, "mtu": null, "name": "GigabitEthernet1", - "natural_slug": "gigabitethernet1_test100_test-tenant_child-test-location_parent-test-location_52f9", - "notes_url": "http://127.0.0.1:8000/api/dcim/interfaces/52f98b02-b953-4e0a-972b-e1b3aa0f6f59/notes/", + "natural_slug": "gigabitethernet1_test100_test-tenant_child-test-location_parent-test-location_02a0", "object_type": "dcim.interface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], @@ -1043,7 +798,6 @@ "value": "1000base-t" }, "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/dcim/interfaces/52f98b02-b953-4e0a-972b-e1b3aa0f6f59/", "vrf": null }, { @@ -1054,27 +808,21 @@ "connected_endpoint": null, "connected_endpoint_reachable": null, "connected_endpoint_type": null, - "created": "2024-03-27T17:38:40.769927Z", "custom_fields": {}, "description": "", "device": { "asset_tag": null, "cluster": null, "comments": "", - "controller_device_group": null, - "created": "2024-03-27T17:38:37.149539Z", + "controller_managed_device_group": null, "custom_fields": {}, "device_redundancy_group": null, "device_redundancy_group_priority": null, "device_type": { - "id": "95784626-b8a8-4810-8ebf-4c75b4b2e90f", - "object_type": "dcim.devicetype", - "url": "http://127.0.0.1:8000/api/dcim/device-types/95784626-b8a8-4810-8ebf-4c75b4b2e90f/" + "object_type": "dcim.devicetype" }, "display": "test100", "face": null, - "id": "d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3", - "last_updated": "2024-03-27T17:38:37.149559Z", "local_config_context_data": { "ntp_servers": [ "pool.ntp.org" @@ -1084,13 +832,10 @@ "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "location": { - "id": "73e14892-23ef-463b-8285-7e50ee48ea67", - "object_type": "dcim.location", - "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + "object_type": "dcim.location" }, "name": "test100", - "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_d586", - "notes_url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/notes/", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_939c", "object_type": "dcim.device", "parent_bay": null, "platform": null, @@ -1099,77 +844,56 @@ "primary_ip6": null, "rack": null, "role": { - "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", - "object_type": "extras.role", - "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + "object_type": "extras.role" }, "secrets_group": null, "serial": "", "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": { - "id": "9f8b10f8-9513-4581-94a2-41cefc3735dd", - "object_type": "tenancy.tenant", - "url": "http://127.0.0.1:8000/api/tenancy/tenants/9f8b10f8-9513-4581-94a2-41cefc3735dd/" + "object_type": "tenancy.tenant" }, - "url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/", "vc_position": null, "vc_priority": null, "virtual_chassis": null }, "display": "GigabitEthernet2", "enabled": true, - "id": "1747ac15-09ee-4698-bde0-a02fbe5aed33", "ip_address_count": 1, "ip_addresses": [ { "address": "2001::1:1/64", - "created": "2024-03-27T17:38:41.863826Z", "custom_fields": {}, "description": "", "display": "2001::1:1/64", "dns_name": "", "host": "2001::1:1", - "id": "17b14b12-322f-4ce0-bf66-5d2669815aef", "ip_version": 6, - "last_updated": "2024-03-27T17:38:41.863861Z", "mask_length": 64, "nat_inside": null, "nat_outside_list": [], - "natural_slug": "global_2001-1-1_17b1", - "notes_url": "http://127.0.0.1:8000/api/ipam/ip-addresses/17b14b12-322f-4ce0-bf66-5d2669815aef/notes/", + "natural_slug": "global_2001-1-1_ee95", "object_type": "ipam.ipaddress", "parent": { "broadcast": "2001::ffff:ffff:ffff:ffff", - "created": "2024-03-27T17:38:33.624801Z", "custom_fields": {}, "date_allocated": null, "description": "", "display": "2001::/64", - "id": "386da78d-6b55-4c43-be8d-6eb33366a95c", "ip_version": 6, - "last_updated": "2024-03-27T17:38:33.624822Z", "namespace": { - "created": "2024-03-27T17:37:15.805479Z", "custom_fields": {}, "description": "Default Global namespace. Created by Nautobot.", "display": "Global", - "id": "a21f42e2-e600-4eea-bf7c-644f7304b4e2", - "last_updated": "2024-03-27T17:37:15.805514Z", "location": null, "name": "Global", - "natural_slug": "global_a21f", - "notes_url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/notes/", - "object_type": "ipam.namespace", - "url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/" + "natural_slug": "global_1fa9", + "object_type": "ipam.namespace" }, - "natural_slug": "global_2001_64_386d", + "natural_slug": "global_2001_64_8425", "network": "2001::", - "notes_url": "http://127.0.0.1:8000/api/ipam/prefixes/386da78d-6b55-4c43-be8d-6eb33366a95c/notes/", "object_type": "ipam.prefix", "parent": null, "prefix": "2001::/64", @@ -1178,72 +902,53 @@ "role": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tenant": null, "type": { "label": "Network", "value": "network" }, - "url": "http://127.0.0.1:8000/api/ipam/prefixes/386da78d-6b55-4c43-be8d-6eb33366a95c/", "vlan": null }, "role": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [], "tenant": null, - "type": "host", - "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/17b14b12-322f-4ce0-bf66-5d2669815aef/" + "type": "host" } ], "label": "", "lag": null, - "last_updated": "2024-03-27T17:38:40.769947Z", "mac_address": null, "mgmt_only": false, "mode": null, "mtu": null, "name": "GigabitEthernet2", - "natural_slug": "gigabitethernet2_test100_test-tenant_child-test-location_parent-test-location_1747", - "notes_url": "http://127.0.0.1:8000/api/dcim/interfaces/1747ac15-09ee-4698-bde0-a02fbe5aed33/notes/", + "natural_slug": "gigabitethernet2_test100_test-tenant_child-test-location_parent-test-location_e074", "object_type": "dcim.interface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], @@ -1252,7 +957,6 @@ "value": "1000base-t" }, "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/dcim/interfaces/1747ac15-09ee-4698-bde0-a02fbe5aed33/", "vrf": null }, { @@ -1263,27 +967,21 @@ "connected_endpoint": null, "connected_endpoint_reachable": null, "connected_endpoint_type": null, - "created": "2024-03-27T17:38:40.823634Z", "custom_fields": {}, "description": "", "device": { "asset_tag": null, "cluster": null, "comments": "", - "controller_device_group": null, - "created": "2024-03-27T17:38:37.149539Z", + "controller_managed_device_group": null, "custom_fields": {}, "device_redundancy_group": null, "device_redundancy_group_priority": null, "device_type": { - "id": "95784626-b8a8-4810-8ebf-4c75b4b2e90f", - "object_type": "dcim.devicetype", - "url": "http://127.0.0.1:8000/api/dcim/device-types/95784626-b8a8-4810-8ebf-4c75b4b2e90f/" + "object_type": "dcim.devicetype" }, "display": "test100", "face": null, - "id": "d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3", - "last_updated": "2024-03-27T17:38:37.149559Z", "local_config_context_data": { "ntp_servers": [ "pool.ntp.org" @@ -1293,13 +991,10 @@ "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "location": { - "id": "73e14892-23ef-463b-8285-7e50ee48ea67", - "object_type": "dcim.location", - "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + "object_type": "dcim.location" }, "name": "test100", - "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_d586", - "notes_url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/notes/", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_939c", "object_type": "dcim.device", "parent_bay": null, "platform": null, @@ -1308,58 +1003,43 @@ "primary_ip6": null, "rack": null, "role": { - "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", - "object_type": "extras.role", - "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + "object_type": "extras.role" }, "secrets_group": null, "serial": "", "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": { - "id": "9f8b10f8-9513-4581-94a2-41cefc3735dd", - "object_type": "tenancy.tenant", - "url": "http://127.0.0.1:8000/api/tenancy/tenants/9f8b10f8-9513-4581-94a2-41cefc3735dd/" + "object_type": "tenancy.tenant" }, - "url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/", "vc_position": null, "vc_priority": null, "virtual_chassis": null }, "display": "GigabitEthernet3", "enabled": true, - "id": "0f0ab93e-e3f6-4b86-81dd-8d2b7542b999", "ip_address_count": 0, "ip_addresses": [], "label": "", "lag": null, - "last_updated": "2024-03-27T17:38:40.823708Z", "mac_address": null, "mgmt_only": false, "mode": null, "mtu": null, "name": "GigabitEthernet3", - "natural_slug": "gigabitethernet3_test100_test-tenant_child-test-location_parent-test-location_0f0a", - "notes_url": "http://127.0.0.1:8000/api/dcim/interfaces/0f0ab93e-e3f6-4b86-81dd-8d2b7542b999/notes/", + "natural_slug": "gigabitethernet3_test100_test-tenant_child-test-location_parent-test-location_8438", "object_type": "dcim.interface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], @@ -1368,7 +1048,6 @@ "value": "1000base-t" }, "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/dcim/interfaces/0f0ab93e-e3f6-4b86-81dd-8d2b7542b999/", "vrf": null }, { @@ -1379,27 +1058,21 @@ "connected_endpoint": null, "connected_endpoint_reachable": null, "connected_endpoint_type": null, - "created": "2024-03-27T17:38:40.878515Z", "custom_fields": {}, "description": "", "device": { "asset_tag": null, "cluster": null, "comments": "", - "controller_device_group": null, - "created": "2024-03-27T17:38:37.149539Z", + "controller_managed_device_group": null, "custom_fields": {}, "device_redundancy_group": null, "device_redundancy_group_priority": null, "device_type": { - "id": "95784626-b8a8-4810-8ebf-4c75b4b2e90f", - "object_type": "dcim.devicetype", - "url": "http://127.0.0.1:8000/api/dcim/device-types/95784626-b8a8-4810-8ebf-4c75b4b2e90f/" + "object_type": "dcim.devicetype" }, "display": "test100", "face": null, - "id": "d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3", - "last_updated": "2024-03-27T17:38:37.149559Z", "local_config_context_data": { "ntp_servers": [ "pool.ntp.org" @@ -1409,13 +1082,10 @@ "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "location": { - "id": "73e14892-23ef-463b-8285-7e50ee48ea67", - "object_type": "dcim.location", - "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + "object_type": "dcim.location" }, "name": "test100", - "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_d586", - "notes_url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/notes/", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_939c", "object_type": "dcim.device", "parent_bay": null, "platform": null, @@ -1424,58 +1094,43 @@ "primary_ip6": null, "rack": null, "role": { - "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", - "object_type": "extras.role", - "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + "object_type": "extras.role" }, "secrets_group": null, "serial": "", "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": { - "id": "9f8b10f8-9513-4581-94a2-41cefc3735dd", - "object_type": "tenancy.tenant", - "url": "http://127.0.0.1:8000/api/tenancy/tenants/9f8b10f8-9513-4581-94a2-41cefc3735dd/" + "object_type": "tenancy.tenant" }, - "url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/", "vc_position": null, "vc_priority": null, "virtual_chassis": null }, "display": "GigabitEthernet4", "enabled": true, - "id": "884700bf-df8c-4c60-8152-d628adf4ad4d", "ip_address_count": 0, "ip_addresses": [], "label": "", "lag": null, - "last_updated": "2024-03-27T17:38:40.878535Z", "mac_address": null, "mgmt_only": false, "mode": null, "mtu": null, "name": "GigabitEthernet4", - "natural_slug": "gigabitethernet4_test100_test-tenant_child-test-location_parent-test-location_8847", - "notes_url": "http://127.0.0.1:8000/api/dcim/interfaces/884700bf-df8c-4c60-8152-d628adf4ad4d/notes/", + "natural_slug": "gigabitethernet4_test100_test-tenant_child-test-location_parent-test-location_854c", "object_type": "dcim.interface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], @@ -1484,7 +1139,6 @@ "value": "1000base-t" }, "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/dcim/interfaces/884700bf-df8c-4c60-8152-d628adf4ad4d/", "vrf": null } ], @@ -1506,114 +1160,21 @@ "role": "Core Switch", "services": [ { - "created": "2024-03-27T17:38:46.266002Z", - "custom_fields": {}, - "description": "", - "device": { - "asset_tag": null, - "cluster": null, - "comments": "", - "controller_device_group": null, - "created": "2024-03-27T17:38:37.149539Z", - "custom_fields": {}, - "device_redundancy_group": null, - "device_redundancy_group_priority": null, - "device_type": { - "id": "95784626-b8a8-4810-8ebf-4c75b4b2e90f", - "object_type": "dcim.devicetype", - "url": "http://127.0.0.1:8000/api/dcim/device-types/95784626-b8a8-4810-8ebf-4c75b4b2e90f/" - }, - "display": "test100", - "face": null, - "id": "d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3", - "last_updated": "2024-03-27T17:38:37.149559Z", - "local_config_context_data": { - "ntp_servers": [ - "pool.ntp.org" - ] - }, - "local_config_context_data_owner_content_type": null, - "local_config_context_data_owner_object_id": null, - "local_config_context_schema": null, - "location": { - "id": "73e14892-23ef-463b-8285-7e50ee48ea67", - "object_type": "dcim.location", - "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" - }, - "name": "test100", - "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_d586", - "notes_url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/notes/", - "object_type": "dcim.device", - "parent_bay": null, - "platform": null, - "position": null, - "primary_ip4": null, - "primary_ip6": null, - "rack": null, - "role": { - "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", - "object_type": "extras.role", - "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" - }, - "secrets_group": null, - "serial": "", - "software_version": null, - "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" - }, - "tenant": { - "id": "9f8b10f8-9513-4581-94a2-41cefc3735dd", - "object_type": "tenancy.tenant", - "url": "http://127.0.0.1:8000/api/tenancy/tenants/9f8b10f8-9513-4581-94a2-41cefc3735dd/" - }, - "url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/", - "vc_position": null, - "vc_priority": null, - "virtual_chassis": null - }, - "display": "ssh (TCP/22)", - "id": "6c74dff6-acf8-44a6-a9a0-1ff519eff6df", - "ip_addresses": [], - "last_updated": "2024-03-27T17:38:46.266022Z", - "name": "ssh", - "natural_slug": "ssh____test100_test-tenant_child-test-location_parent-test-location_6c74", - "notes_url": "http://127.0.0.1:8000/api/ipam/services/6c74dff6-acf8-44a6-a9a0-1ff519eff6df/notes/", - "object_type": "ipam.service", - "ports": [ - 22 - ], - "protocol": { - "label": "TCP", - "value": "tcp" - }, - "tags": [], - "url": "http://127.0.0.1:8000/api/ipam/services/6c74dff6-acf8-44a6-a9a0-1ff519eff6df/", - "virtual_machine": null - }, - { - "created": "2024-03-27T17:38:46.330100Z", "custom_fields": {}, "description": "", "device": { "asset_tag": null, "cluster": null, "comments": "", - "controller_device_group": null, - "created": "2024-03-27T17:38:37.149539Z", + "controller_managed_device_group": null, "custom_fields": {}, "device_redundancy_group": null, "device_redundancy_group_priority": null, "device_type": { - "id": "95784626-b8a8-4810-8ebf-4c75b4b2e90f", - "object_type": "dcim.devicetype", - "url": "http://127.0.0.1:8000/api/dcim/device-types/95784626-b8a8-4810-8ebf-4c75b4b2e90f/" + "object_type": "dcim.devicetype" }, "display": "test100", "face": null, - "id": "d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3", - "last_updated": "2024-03-27T17:38:37.149559Z", "local_config_context_data": { "ntp_servers": [ "pool.ntp.org" @@ -1623,13 +1184,10 @@ "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "location": { - "id": "73e14892-23ef-463b-8285-7e50ee48ea67", - "object_type": "dcim.location", - "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + "object_type": "dcim.location" }, "name": "test100", - "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_d586", - "notes_url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/notes/", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_939c", "object_type": "dcim.device", "parent_bay": null, "platform": null, @@ -1638,116 +1196,84 @@ "primary_ip6": null, "rack": null, "role": { - "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", - "object_type": "extras.role", - "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + "object_type": "extras.role" }, "secrets_group": null, "serial": "", "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": { - "id": "9f8b10f8-9513-4581-94a2-41cefc3735dd", - "object_type": "tenancy.tenant", - "url": "http://127.0.0.1:8000/api/tenancy/tenants/9f8b10f8-9513-4581-94a2-41cefc3735dd/" + "object_type": "tenancy.tenant" }, - "url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/", "vc_position": null, "vc_priority": null, "virtual_chassis": null }, "display": "http (TCP/80)", - "id": "c84e3af1-85b3-4a93-8075-83f2245294c4", "ip_addresses": [ { "address": "172.16.180.1/24", - "created": "2024-03-27T17:38:41.821095Z", "custom_fields": {}, "description": "", "display": "172.16.180.1/24", "dns_name": "", "host": "172.16.180.1", - "id": "1e99a20d-b55f-48d4-97a5-1200e4a30213", "interfaces": [ { - "id": "52f98b02-b953-4e0a-972b-e1b3aa0f6f59", - "object_type": "dcim.interface", - "url": "http://127.0.0.1:8000/api/dcim/interfaces/52f98b02-b953-4e0a-972b-e1b3aa0f6f59/" + "object_type": "dcim.interface" } ], "ip_version": 4, - "last_updated": "2024-03-27T17:38:41.821119Z", "mask_length": 24, "nat_inside": null, "nat_outside_list": [], - "natural_slug": "global_172-16-180-1_1e99", - "notes_url": "http://127.0.0.1:8000/api/ipam/ip-addresses/1e99a20d-b55f-48d4-97a5-1200e4a30213/notes/", + "natural_slug": "global_172-16-180-1_23b0", "object_type": "ipam.ipaddress", "parent": { - "id": "0733b370-dae3-49d5-97ee-911ddd7fdc53", - "object_type": "ipam.prefix", - "url": "http://127.0.0.1:8000/api/ipam/prefixes/0733b370-dae3-49d5-97ee-911ddd7fdc53/" + "object_type": "ipam.prefix" }, "role": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, "type": "host", - "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/1e99a20d-b55f-48d4-97a5-1200e4a30213/", "vm_interfaces": [] }, { "address": "2001::1:1/64", - "created": "2024-03-27T17:38:41.863826Z", "custom_fields": {}, "description": "", "display": "2001::1:1/64", "dns_name": "", "host": "2001::1:1", - "id": "17b14b12-322f-4ce0-bf66-5d2669815aef", "interfaces": [ { - "id": "1747ac15-09ee-4698-bde0-a02fbe5aed33", - "object_type": "dcim.interface", - "url": "http://127.0.0.1:8000/api/dcim/interfaces/1747ac15-09ee-4698-bde0-a02fbe5aed33/" + "object_type": "dcim.interface" } ], "ip_version": 6, - "last_updated": "2024-03-27T17:38:41.863861Z", "mask_length": 64, "nat_inside": null, "nat_outside_list": [], - "natural_slug": "global_2001-1-1_17b1", - "notes_url": "http://127.0.0.1:8000/api/ipam/ip-addresses/17b14b12-322f-4ce0-bf66-5d2669815aef/notes/", + "natural_slug": "global_2001-1-1_ee95", "object_type": "ipam.ipaddress", "parent": { - "id": "386da78d-6b55-4c43-be8d-6eb33366a95c", - "object_type": "ipam.prefix", - "url": "http://127.0.0.1:8000/api/ipam/prefixes/386da78d-6b55-4c43-be8d-6eb33366a95c/" + "object_type": "ipam.prefix" }, "role": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, "type": "host", - "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/17b14b12-322f-4ce0-bf66-5d2669815aef/", "vm_interfaces": [] } ], - "last_updated": "2024-03-27T17:38:46.330122Z", "name": "http", - "natural_slug": "http____test100_test-tenant_child-test-location_parent-test-location_c84e", - "notes_url": "http://127.0.0.1:8000/api/ipam/services/c84e3af1-85b3-4a93-8075-83f2245294c4/notes/", + "natural_slug": "http____test100_test-tenant_child-test-location_parent-test-location_3116", "object_type": "ipam.service", "ports": [ 80 @@ -1757,23 +1283,84 @@ "value": "tcp" }, "tags": [], - "url": "http://127.0.0.1:8000/api/ipam/services/c84e3af1-85b3-4a93-8075-83f2245294c4/", + "virtual_machine": null + }, + { + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_managed_device_group": null, + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "object_type": "dcim.devicetype" + }, + "display": "test100", + "face": null, + "local_config_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "object_type": "dcim.location" + }, + "name": "test100", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_939c", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "object_type": "extras.role" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": { + "object_type": "tenancy.tenant" + }, + "vc_position": null, + "vc_priority": null, + "virtual_chassis": null + }, + "display": "ssh (TCP/22)", + "ip_addresses": [], + "name": "ssh", + "natural_slug": "ssh____test100_test-tenant_child-test-location_parent-test-location_bfcf", + "object_type": "ipam.service", + "ports": [ + 22 + ], + "protocol": { + "label": "TCP", + "value": "tcp" + }, + "tags": [], "virtual_machine": null } ], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [], "tenant": "Test Tenant", @@ -1786,61 +1373,45 @@ "interfaces": [ { "bridge": null, - "created": "2024-03-27T17:38:45.493001Z", "custom_fields": {}, "description": "", "display": "Eth0", "enabled": true, - "id": "68efcdc5-9817-41a4-b43d-ac0d71de1258", "ip_addresses": [], - "last_updated": "2024-03-27T17:38:45.493021Z", "mac_address": null, "mode": null, "mtu": null, "name": "Eth0", - "natural_slug": "test-cluster__test100-vm_eth0_68ef", - "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/68efcdc5-9817-41a4-b43d-ac0d71de1258/notes/", + "natural_slug": "test-cluster__test100-vm_eth0_cc3f", "object_type": "virtualization.vminterface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/virtualization/interfaces/68efcdc5-9817-41a4-b43d-ac0d71de1258/", "virtual_machine": { "cluster": { - "id": "6af71c22-6611-4079-9957-f078f504ebde", - "object_type": "virtualization.cluster", - "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + "object_type": "virtualization.cluster" }, "comments": "", - "created": "2024-03-27T17:38:44.383003Z", "custom_fields": {}, "disk": null, "display": "test100-vm", - "id": "1ea51f9d-3d1c-4122-b6cd-62e49abfebcb", - "last_updated": "2024-03-27T17:38:44.383024Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "memory": null, "name": "test100-vm", - "natural_slug": "test-cluster__test100-vm_1ea5", - "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/notes/", + "natural_slug": "test-cluster__test100-vm_b0bc", "object_type": "virtualization.virtualmachine", "platform": null, "primary_ip4": null, @@ -1848,73 +1419,54 @@ "role": null, "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/", "vcpus": null }, "vrf": null }, { "bridge": null, - "created": "2024-03-27T17:38:45.531848Z", "custom_fields": {}, "description": "", "display": "Eth1", "enabled": true, - "id": "5f6c793c-67bd-49c1-86f7-c4329d5b3e31", "ip_addresses": [], - "last_updated": "2024-03-27T17:38:45.531868Z", "mac_address": null, "mode": null, "mtu": null, "name": "Eth1", - "natural_slug": "test-cluster__test100-vm_eth1_5f6c", - "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/5f6c793c-67bd-49c1-86f7-c4329d5b3e31/notes/", + "natural_slug": "test-cluster__test100-vm_eth1_02b8", "object_type": "virtualization.vminterface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/virtualization/interfaces/5f6c793c-67bd-49c1-86f7-c4329d5b3e31/", "virtual_machine": { "cluster": { - "id": "6af71c22-6611-4079-9957-f078f504ebde", - "object_type": "virtualization.cluster", - "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + "object_type": "virtualization.cluster" }, "comments": "", - "created": "2024-03-27T17:38:44.383003Z", "custom_fields": {}, "disk": null, "display": "test100-vm", - "id": "1ea51f9d-3d1c-4122-b6cd-62e49abfebcb", - "last_updated": "2024-03-27T17:38:44.383024Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "memory": null, "name": "test100-vm", - "natural_slug": "test-cluster__test100-vm_1ea5", - "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/notes/", + "natural_slug": "test-cluster__test100-vm_b0bc", "object_type": "virtualization.virtualmachine", "platform": null, "primary_ip4": null, @@ -1922,73 +1474,54 @@ "role": null, "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/", "vcpus": null }, "vrf": null }, { "bridge": null, - "created": "2024-03-27T17:38:45.567074Z", "custom_fields": {}, "description": "", "display": "Eth2", "enabled": true, - "id": "a4855b52-d842-4ab3-9bfc-0bd09e25d449", "ip_addresses": [], - "last_updated": "2024-03-27T17:38:45.567095Z", "mac_address": null, "mode": null, "mtu": null, "name": "Eth2", - "natural_slug": "test-cluster__test100-vm_eth2_a485", - "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/a4855b52-d842-4ab3-9bfc-0bd09e25d449/notes/", + "natural_slug": "test-cluster__test100-vm_eth2_e6d3", "object_type": "virtualization.vminterface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/virtualization/interfaces/a4855b52-d842-4ab3-9bfc-0bd09e25d449/", "virtual_machine": { "cluster": { - "id": "6af71c22-6611-4079-9957-f078f504ebde", - "object_type": "virtualization.cluster", - "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + "object_type": "virtualization.cluster" }, "comments": "", - "created": "2024-03-27T17:38:44.383003Z", "custom_fields": {}, "disk": null, "display": "test100-vm", - "id": "1ea51f9d-3d1c-4122-b6cd-62e49abfebcb", - "last_updated": "2024-03-27T17:38:44.383024Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "memory": null, "name": "test100-vm", - "natural_slug": "test-cluster__test100-vm_1ea5", - "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/notes/", + "natural_slug": "test-cluster__test100-vm_b0bc", "object_type": "virtualization.virtualmachine", "platform": null, "primary_ip4": null, @@ -1996,73 +1529,54 @@ "role": null, "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/", "vcpus": null }, "vrf": null }, { "bridge": null, - "created": "2024-03-27T17:38:45.603016Z", "custom_fields": {}, "description": "", "display": "Eth3", "enabled": true, - "id": "a5b6426a-e16a-4653-b975-06318e7b0bcd", "ip_addresses": [], - "last_updated": "2024-03-27T17:38:45.603038Z", "mac_address": null, "mode": null, "mtu": null, "name": "Eth3", - "natural_slug": "test-cluster__test100-vm_eth3_a5b6", - "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/a5b6426a-e16a-4653-b975-06318e7b0bcd/notes/", + "natural_slug": "test-cluster__test100-vm_eth3_46e2", "object_type": "virtualization.vminterface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/virtualization/interfaces/a5b6426a-e16a-4653-b975-06318e7b0bcd/", "virtual_machine": { "cluster": { - "id": "6af71c22-6611-4079-9957-f078f504ebde", - "object_type": "virtualization.cluster", - "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + "object_type": "virtualization.cluster" }, "comments": "", - "created": "2024-03-27T17:38:44.383003Z", "custom_fields": {}, "disk": null, "display": "test100-vm", - "id": "1ea51f9d-3d1c-4122-b6cd-62e49abfebcb", - "last_updated": "2024-03-27T17:38:44.383024Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "memory": null, "name": "test100-vm", - "natural_slug": "test-cluster__test100-vm_1ea5", - "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/notes/", + "natural_slug": "test-cluster__test100-vm_b0bc", "object_type": "virtualization.virtualmachine", "platform": null, "primary_ip4": null, @@ -2070,73 +1584,54 @@ "role": null, "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/", "vcpus": null }, "vrf": null }, { "bridge": null, - "created": "2024-03-27T17:38:45.639169Z", "custom_fields": {}, "description": "", "display": "Eth4", "enabled": true, - "id": "fafbd094-dc87-48c1-85ff-befa3acddc5d", "ip_addresses": [], - "last_updated": "2024-03-27T17:38:45.639189Z", "mac_address": null, "mode": null, "mtu": null, "name": "Eth4", - "natural_slug": "test-cluster__test100-vm_eth4_fafb", - "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/fafbd094-dc87-48c1-85ff-befa3acddc5d/notes/", + "natural_slug": "test-cluster__test100-vm_eth4_f394", "object_type": "virtualization.vminterface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/virtualization/interfaces/fafbd094-dc87-48c1-85ff-befa3acddc5d/", "virtual_machine": { "cluster": { - "id": "6af71c22-6611-4079-9957-f078f504ebde", - "object_type": "virtualization.cluster", - "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + "object_type": "virtualization.cluster" }, "comments": "", - "created": "2024-03-27T17:38:44.383003Z", "custom_fields": {}, "disk": null, "display": "test100-vm", - "id": "1ea51f9d-3d1c-4122-b6cd-62e49abfebcb", - "last_updated": "2024-03-27T17:38:44.383024Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "memory": null, "name": "test100-vm", - "natural_slug": "test-cluster__test100-vm_1ea5", - "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/notes/", + "natural_slug": "test-cluster__test100-vm_b0bc", "object_type": "virtualization.virtualmachine", "platform": null, "primary_ip4": null, @@ -2144,12 +1639,9 @@ "role": null, "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/", "vcpus": null }, "vrf": null @@ -2164,17 +1656,12 @@ "services": [], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -2185,61 +1672,45 @@ "interfaces": [ { "bridge": null, - "created": "2024-03-27T17:38:45.675591Z", "custom_fields": {}, "description": "", "display": "Eth0", "enabled": true, - "id": "aff5b547-577c-4b4d-aa7c-54f55689fbb7", "ip_addresses": [], - "last_updated": "2024-03-27T17:38:45.675627Z", "mac_address": null, "mode": null, "mtu": null, "name": "Eth0", - "natural_slug": "test-cluster__test101-vm_eth0_aff5", - "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/aff5b547-577c-4b4d-aa7c-54f55689fbb7/notes/", + "natural_slug": "test-cluster__test101-vm_eth0_9dea", "object_type": "virtualization.vminterface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/virtualization/interfaces/aff5b547-577c-4b4d-aa7c-54f55689fbb7/", "virtual_machine": { "cluster": { - "id": "6af71c22-6611-4079-9957-f078f504ebde", - "object_type": "virtualization.cluster", - "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + "object_type": "virtualization.cluster" }, "comments": "", - "created": "2024-03-27T17:38:44.422957Z", "custom_fields": {}, "disk": null, "display": "test101-vm", - "id": "7c54b8ed-0230-42e8-a7a2-4ddb8e09632f", - "last_updated": "2024-03-27T17:38:44.422978Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "memory": null, "name": "test101-vm", - "natural_slug": "test-cluster__test101-vm_7c54", - "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/notes/", + "natural_slug": "test-cluster__test101-vm_68f2", "object_type": "virtualization.virtualmachine", "platform": null, "primary_ip4": null, @@ -2247,73 +1718,54 @@ "role": null, "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/", "vcpus": null }, "vrf": null }, { "bridge": null, - "created": "2024-03-27T17:38:45.710839Z", "custom_fields": {}, "description": "", "display": "Eth1", "enabled": true, - "id": "2242e517-063b-437c-8bf8-2a5b5c4da3ff", "ip_addresses": [], - "last_updated": "2024-03-27T17:38:45.710859Z", "mac_address": null, "mode": null, "mtu": null, "name": "Eth1", - "natural_slug": "test-cluster__test101-vm_eth1_2242", - "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/2242e517-063b-437c-8bf8-2a5b5c4da3ff/notes/", + "natural_slug": "test-cluster__test101-vm_eth1_5f26", "object_type": "virtualization.vminterface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/virtualization/interfaces/2242e517-063b-437c-8bf8-2a5b5c4da3ff/", "virtual_machine": { "cluster": { - "id": "6af71c22-6611-4079-9957-f078f504ebde", - "object_type": "virtualization.cluster", - "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + "object_type": "virtualization.cluster" }, "comments": "", - "created": "2024-03-27T17:38:44.422957Z", "custom_fields": {}, "disk": null, "display": "test101-vm", - "id": "7c54b8ed-0230-42e8-a7a2-4ddb8e09632f", - "last_updated": "2024-03-27T17:38:44.422978Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "memory": null, "name": "test101-vm", - "natural_slug": "test-cluster__test101-vm_7c54", - "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/notes/", + "natural_slug": "test-cluster__test101-vm_68f2", "object_type": "virtualization.virtualmachine", "platform": null, "primary_ip4": null, @@ -2321,73 +1773,54 @@ "role": null, "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/", "vcpus": null }, "vrf": null }, { "bridge": null, - "created": "2024-03-27T17:38:45.746185Z", "custom_fields": {}, "description": "", "display": "Eth2", "enabled": true, - "id": "72a3dba0-43f5-44c9-9325-b1ccb67e8a17", "ip_addresses": [], - "last_updated": "2024-03-27T17:38:45.746206Z", "mac_address": null, "mode": null, "mtu": null, "name": "Eth2", - "natural_slug": "test-cluster__test101-vm_eth2_72a3", - "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/72a3dba0-43f5-44c9-9325-b1ccb67e8a17/notes/", + "natural_slug": "test-cluster__test101-vm_eth2_3f34", "object_type": "virtualization.vminterface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/virtualization/interfaces/72a3dba0-43f5-44c9-9325-b1ccb67e8a17/", "virtual_machine": { "cluster": { - "id": "6af71c22-6611-4079-9957-f078f504ebde", - "object_type": "virtualization.cluster", - "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + "object_type": "virtualization.cluster" }, "comments": "", - "created": "2024-03-27T17:38:44.422957Z", "custom_fields": {}, "disk": null, "display": "test101-vm", - "id": "7c54b8ed-0230-42e8-a7a2-4ddb8e09632f", - "last_updated": "2024-03-27T17:38:44.422978Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "memory": null, "name": "test101-vm", - "natural_slug": "test-cluster__test101-vm_7c54", - "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/notes/", + "natural_slug": "test-cluster__test101-vm_68f2", "object_type": "virtualization.virtualmachine", "platform": null, "primary_ip4": null, @@ -2395,73 +1828,54 @@ "role": null, "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/", "vcpus": null }, "vrf": null }, { "bridge": null, - "created": "2024-03-27T17:38:45.784908Z", "custom_fields": {}, "description": "", "display": "Eth3", "enabled": true, - "id": "de89e19b-28d2-4449-82c0-df8866d014f5", "ip_addresses": [], - "last_updated": "2024-03-27T17:38:45.784930Z", "mac_address": null, "mode": null, "mtu": null, "name": "Eth3", - "natural_slug": "test-cluster__test101-vm_eth3_de89", - "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/de89e19b-28d2-4449-82c0-df8866d014f5/notes/", + "natural_slug": "test-cluster__test101-vm_eth3_4b7e", "object_type": "virtualization.vminterface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/virtualization/interfaces/de89e19b-28d2-4449-82c0-df8866d014f5/", "virtual_machine": { "cluster": { - "id": "6af71c22-6611-4079-9957-f078f504ebde", - "object_type": "virtualization.cluster", - "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + "object_type": "virtualization.cluster" }, "comments": "", - "created": "2024-03-27T17:38:44.422957Z", "custom_fields": {}, "disk": null, "display": "test101-vm", - "id": "7c54b8ed-0230-42e8-a7a2-4ddb8e09632f", - "last_updated": "2024-03-27T17:38:44.422978Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "memory": null, "name": "test101-vm", - "natural_slug": "test-cluster__test101-vm_7c54", - "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/notes/", + "natural_slug": "test-cluster__test101-vm_68f2", "object_type": "virtualization.virtualmachine", "platform": null, "primary_ip4": null, @@ -2469,73 +1883,54 @@ "role": null, "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/", "vcpus": null }, "vrf": null }, { "bridge": null, - "created": "2024-03-27T17:38:45.820145Z", "custom_fields": {}, "description": "", "display": "Eth4", "enabled": true, - "id": "a22ad719-a487-44a1-96e9-d38ca1ff3b29", "ip_addresses": [], - "last_updated": "2024-03-27T17:38:45.820169Z", "mac_address": null, "mode": null, "mtu": null, "name": "Eth4", - "natural_slug": "test-cluster__test101-vm_eth4_a22a", - "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/a22ad719-a487-44a1-96e9-d38ca1ff3b29/notes/", + "natural_slug": "test-cluster__test101-vm_eth4_82d6", "object_type": "virtualization.vminterface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/virtualization/interfaces/a22ad719-a487-44a1-96e9-d38ca1ff3b29/", "virtual_machine": { "cluster": { - "id": "6af71c22-6611-4079-9957-f078f504ebde", - "object_type": "virtualization.cluster", - "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + "object_type": "virtualization.cluster" }, "comments": "", - "created": "2024-03-27T17:38:44.422957Z", "custom_fields": {}, "disk": null, "display": "test101-vm", - "id": "7c54b8ed-0230-42e8-a7a2-4ddb8e09632f", - "last_updated": "2024-03-27T17:38:44.422978Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "memory": null, "name": "test101-vm", - "natural_slug": "test-cluster__test101-vm_7c54", - "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/notes/", + "natural_slug": "test-cluster__test101-vm_68f2", "object_type": "virtualization.virtualmachine", "platform": null, "primary_ip4": null, @@ -2543,12 +1938,9 @@ "role": null, "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/", "vcpus": null }, "vrf": null @@ -2563,17 +1955,12 @@ "services": [], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -2591,17 +1978,12 @@ "services": [], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -2619,17 +2001,12 @@ "services": [], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -2642,17 +2019,12 @@ "services": [], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] } @@ -2661,40 +2033,40 @@ "active": { "hosts": [ "R1-Device", - "test100", - "TestDeviceR1", "Test Nexus One", + "Test VM With Spaces", + "TestDeviceR1", + "test100", "test100-vm", "test101-vm", "test102-vm", "test103-vm", - "test104-vm", - "Test VM With Spaces" + "test104-vm" ] }, "all": { "children": [ - "ungrouped", - "child_test_location", - "parent_test_location", - "main_test_rack", - "parent_rack_group", - "test_rack_role", - "core_switch", - "cisco_test", - "cisco", "active", - "test_tenant", - "test_tenant_group", "child_child_test_location", - "sub_test_rack", "child_rack_group", + "child_test_location", + "cisco", + "cisco_test", + "core_switch", + "is_virtual", + "main_test_rack", "nexus_parent", + "parent_rack_group", + "parent_test_location", + "sub_test_rack", "test_cluster", + "test_cluster_2", "test_cluster_group", "test_cluster_type", - "is_virtual", - "test_cluster_2" + "test_rack_role", + "test_tenant", + "test_tenant_group", + "ungrouped" ] }, "child_child_test_location": { @@ -2710,9 +2082,9 @@ "child_test_location": { "hosts": [ "R1-Device", - "test100", - "TestDeviceR1", "Test Nexus One", + "TestDeviceR1", + "test100", "test100-vm", "test101-vm", "test102-vm", @@ -2722,34 +2094,34 @@ "cisco": { "hosts": [ "R1-Device", - "test100", + "Test Nexus One", "TestDeviceR1", - "Test Nexus One" + "test100" ] }, "cisco_test": { "hosts": [ "R1-Device", - "test100", - "TestDeviceR1" + "TestDeviceR1", + "test100" ] }, "core_switch": { "hosts": [ "R1-Device", - "test100", + "Test Nexus One", "TestDeviceR1", - "Test Nexus One" + "test100" ] }, "is_virtual": { "hosts": [ + "Test VM With Spaces", "test100-vm", "test101-vm", "test102-vm", "test103-vm", - "test104-vm", - "Test VM With Spaces" + "test104-vm" ] }, "main_test_rack": { @@ -2771,9 +2143,9 @@ "parent_test_location": { "hosts": [ "R1-Device", - "test100", - "TestDeviceR1", "Test Nexus One", + "TestDeviceR1", + "test100", "test100-vm", "test101-vm", "test102-vm", @@ -2795,8 +2167,8 @@ }, "test_cluster_2": { "hosts": [ - "test104-vm", - "Test VM With Spaces" + "Test VM With Spaces", + "test104-vm" ] }, "test_cluster_group": { @@ -2809,12 +2181,12 @@ }, "test_cluster_type": { "hosts": [ + "Test VM With Spaces", "test100-vm", "test101-vm", "test102-vm", "test103-vm", - "test104-vm", - "Test VM With Spaces" + "test104-vm" ] }, "test_rack_role": { diff --git a/tests/integration/targets/inventory/files/test_2.2-3_plurals.json b/tests/integration/targets/inventory/files/test_2.2-3_plurals.json index d4077530..7c3e3a5e 100644 --- a/tests/integration/targets/inventory/files/test_2.2-3_plurals.json +++ b/tests/integration/targets/inventory/files/test_2.2-3_plurals.json @@ -35,17 +35,12 @@ "services": [], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -71,118 +66,90 @@ "connected_endpoint": null, "connected_endpoint_reachable": null, "connected_endpoint_type": null, - "created": "2024-03-27T17:38:40.449934Z", "custom_fields": {}, "description": "", "device": { "asset_tag": null, "cluster": null, "comments": "", - "controller_device_group": null, - "created": "2024-03-27T17:38:37.494441Z", + "controller_managed_device_group": null, "custom_fields": {}, "device_redundancy_group": null, "device_redundancy_group_priority": null, "device_type": { - "id": "56a8ae15-5543-496f-addf-5038a27a3cb0", - "object_type": "dcim.devicetype", - "url": "http://127.0.0.1:8000/api/dcim/device-types/56a8ae15-5543-496f-addf-5038a27a3cb0/" + "object_type": "dcim.devicetype" }, - "display": "Test Nexus Child One", + "display": "Test Nexus One", "face": null, - "id": "3d0c8f54-d24d-4d7a-8f5b-7a536fe0cc5a", - "last_updated": "2024-03-27T17:38:39.854921Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "location": { - "id": "73e14892-23ef-463b-8285-7e50ee48ea67", - "object_type": "dcim.location", - "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + "object_type": "dcim.location" }, - "name": "Test Nexus Child One", - "natural_slug": "test-nexus-child-one__child-test-location_parent-test-location_3d0c", - "notes_url": "http://127.0.0.1:8000/api/dcim/devices/3d0c8f54-d24d-4d7a-8f5b-7a536fe0cc5a/notes/", + "name": "Test Nexus One", + "natural_slug": "test-nexus-one__child-test-location_parent-test-location_725b", "object_type": "dcim.device", "parent_bay": null, "platform": null, "position": null, - "primary_ip4": null, + "primary_ip4": { + "object_type": "ipam.ipaddress" + }, "primary_ip6": null, "rack": null, "role": { - "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", - "object_type": "extras.role", - "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + "object_type": "extras.role" }, "secrets_group": null, "serial": "", "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/dcim/devices/3d0c8f54-d24d-4d7a-8f5b-7a536fe0cc5a/", - "vc_position": 2, + "vc_position": 0, "vc_priority": null, "virtual_chassis": { - "id": "c96554c7-425c-4064-aae8-c11bcffeca62", - "object_type": "dcim.virtualchassis", - "url": "http://127.0.0.1:8000/api/dcim/virtual-chassis/c96554c7-425c-4064-aae8-c11bcffeca62/" + "object_type": "dcim.virtualchassis" } }, - "display": "Ethernet2/1", + "display": "Ethernet1/1", "enabled": true, - "id": "f4796f28-9625-43eb-9b99-8684cf6f535a", "ip_address_count": 1, "ip_addresses": [ { - "address": "172.16.180.12/24", - "created": "2024-03-27T17:38:41.943535Z", + "address": "172.16.180.11/24", "custom_fields": {}, "description": "", - "display": "172.16.180.12/24", + "display": "172.16.180.11/24", "dns_name": "nexus.example.com", - "host": "172.16.180.12", - "id": "e0e90260-e594-4731-93ab-5efca44b55e7", + "host": "172.16.180.11", "ip_version": 4, - "last_updated": "2024-03-27T17:38:41.943593Z", "mask_length": 24, "nat_inside": null, "nat_outside_list": [], - "natural_slug": "global_172-16-180-12_e0e9", - "notes_url": "http://127.0.0.1:8000/api/ipam/ip-addresses/e0e90260-e594-4731-93ab-5efca44b55e7/notes/", + "natural_slug": "global_172-16-180-11_69d8", "object_type": "ipam.ipaddress", "parent": { "broadcast": "172.31.255.255", - "created": "2024-03-27T17:38:33.543642Z", "custom_fields": {}, "date_allocated": null, "description": "", "display": "172.16.0.0/12", - "id": "0733b370-dae3-49d5-97ee-911ddd7fdc53", "ip_version": 4, - "last_updated": "2024-03-27T17:38:33.543671Z", "namespace": { - "created": "2024-03-27T17:37:15.805479Z", "custom_fields": {}, "description": "Default Global namespace. Created by Nautobot.", "display": "Global", - "id": "a21f42e2-e600-4eea-bf7c-644f7304b4e2", - "last_updated": "2024-03-27T17:37:15.805514Z", "location": null, "name": "Global", - "natural_slug": "global_a21f", - "notes_url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/notes/", - "object_type": "ipam.namespace", - "url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/" + "natural_slug": "global_1fa9", + "object_type": "ipam.namespace" }, - "natural_slug": "global_172-16-0-0_12_0733", + "natural_slug": "global_172-16-0-0_12_ab44", "network": "172.16.0.0", - "notes_url": "http://127.0.0.1:8000/api/ipam/prefixes/0733b370-dae3-49d5-97ee-911ddd7fdc53/notes/", "object_type": "ipam.prefix", "parent": null, "prefix": "172.16.0.0/12", @@ -191,72 +158,53 @@ "role": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tenant": null, "type": { "label": "Network", "value": "network" }, - "url": "http://127.0.0.1:8000/api/ipam/prefixes/0733b370-dae3-49d5-97ee-911ddd7fdc53/", "vlan": null }, "role": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [], "tenant": null, - "type": "host", - "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/e0e90260-e594-4731-93ab-5efca44b55e7/" + "type": "host" } ], "label": "", "lag": null, - "last_updated": "2024-03-27T17:38:40.449955Z", "mac_address": null, "mgmt_only": false, "mode": null, "mtu": null, - "name": "Ethernet2/1", - "natural_slug": "ethernet2-1_test-nexus-child-one__child-test-location_parent-test-location_f479", - "notes_url": "http://127.0.0.1:8000/api/dcim/interfaces/f4796f28-9625-43eb-9b99-8684cf6f535a/notes/", + "name": "Ethernet1/1", + "natural_slug": "ethernet1-1_test-nexus-one__child-test-location_parent-test-location_a1b2", "object_type": "dcim.interface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], @@ -265,7 +213,6 @@ "value": "1000base-t" }, "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/dcim/interfaces/f4796f28-9625-43eb-9b99-8684cf6f535a/", "vrf": null }, { @@ -276,122 +223,88 @@ "connected_endpoint": null, "connected_endpoint_reachable": null, "connected_endpoint_type": null, - "created": "2024-03-27T17:38:40.395148Z", "custom_fields": {}, "description": "", "device": { "asset_tag": null, "cluster": null, "comments": "", - "controller_device_group": null, - "created": "2024-03-27T17:38:37.423871Z", + "controller_managed_device_group": null, "custom_fields": {}, "device_redundancy_group": null, "device_redundancy_group_priority": null, "device_type": { - "id": "3d51d3ca-454b-4824-859e-4601eb8022bd", - "object_type": "dcim.devicetype", - "url": "http://127.0.0.1:8000/api/dcim/device-types/3d51d3ca-454b-4824-859e-4601eb8022bd/" + "object_type": "dcim.devicetype" }, - "display": "Test Nexus One", + "display": "Test Nexus Child One", "face": null, - "id": "b7867e42-ccb0-4251-be86-ea7b9a84b104", - "last_updated": "2024-03-27T17:38:43.334405Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "location": { - "id": "73e14892-23ef-463b-8285-7e50ee48ea67", - "object_type": "dcim.location", - "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + "object_type": "dcim.location" }, - "name": "Test Nexus One", - "natural_slug": "test-nexus-one__child-test-location_parent-test-location_b786", - "notes_url": "http://127.0.0.1:8000/api/dcim/devices/b7867e42-ccb0-4251-be86-ea7b9a84b104/notes/", + "name": "Test Nexus Child One", + "natural_slug": "test-nexus-child-one__child-test-location_parent-test-location_cb9c", "object_type": "dcim.device", "parent_bay": null, "platform": null, "position": null, - "primary_ip4": { - "id": "25dedf45-b258-442f-829e-e54774ce8017", - "object_type": "ipam.ipaddress", - "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/25dedf45-b258-442f-829e-e54774ce8017/" - }, + "primary_ip4": null, "primary_ip6": null, "rack": null, "role": { - "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", - "object_type": "extras.role", - "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + "object_type": "extras.role" }, "secrets_group": null, "serial": "", "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/dcim/devices/b7867e42-ccb0-4251-be86-ea7b9a84b104/", - "vc_position": 0, + "vc_position": 2, "vc_priority": null, "virtual_chassis": { - "id": "c96554c7-425c-4064-aae8-c11bcffeca62", - "object_type": "dcim.virtualchassis", - "url": "http://127.0.0.1:8000/api/dcim/virtual-chassis/c96554c7-425c-4064-aae8-c11bcffeca62/" + "object_type": "dcim.virtualchassis" } }, - "display": "Ethernet1/1", + "display": "Ethernet2/1", "enabled": true, - "id": "2f84a3d8-6923-4daf-8817-a79e62576085", "ip_address_count": 1, "ip_addresses": [ { - "address": "172.16.180.11/24", - "created": "2024-03-27T17:38:41.904010Z", + "address": "172.16.180.12/24", "custom_fields": {}, "description": "", - "display": "172.16.180.11/24", + "display": "172.16.180.12/24", "dns_name": "nexus.example.com", - "host": "172.16.180.11", - "id": "25dedf45-b258-442f-829e-e54774ce8017", + "host": "172.16.180.12", "ip_version": 4, - "last_updated": "2024-03-27T17:38:41.904032Z", "mask_length": 24, "nat_inside": null, "nat_outside_list": [], - "natural_slug": "global_172-16-180-11_25de", - "notes_url": "http://127.0.0.1:8000/api/ipam/ip-addresses/25dedf45-b258-442f-829e-e54774ce8017/notes/", + "natural_slug": "global_172-16-180-12_ee65", "object_type": "ipam.ipaddress", "parent": { "broadcast": "172.31.255.255", - "created": "2024-03-27T17:38:33.543642Z", "custom_fields": {}, "date_allocated": null, "description": "", "display": "172.16.0.0/12", - "id": "0733b370-dae3-49d5-97ee-911ddd7fdc53", "ip_version": 4, - "last_updated": "2024-03-27T17:38:33.543671Z", "namespace": { - "created": "2024-03-27T17:37:15.805479Z", "custom_fields": {}, "description": "Default Global namespace. Created by Nautobot.", "display": "Global", - "id": "a21f42e2-e600-4eea-bf7c-644f7304b4e2", - "last_updated": "2024-03-27T17:37:15.805514Z", "location": null, "name": "Global", - "natural_slug": "global_a21f", - "notes_url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/notes/", - "object_type": "ipam.namespace", - "url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/" + "natural_slug": "global_1fa9", + "object_type": "ipam.namespace" }, - "natural_slug": "global_172-16-0-0_12_0733", + "natural_slug": "global_172-16-0-0_12_ab44", "network": "172.16.0.0", - "notes_url": "http://127.0.0.1:8000/api/ipam/prefixes/0733b370-dae3-49d5-97ee-911ddd7fdc53/notes/", "object_type": "ipam.prefix", "parent": null, "prefix": "172.16.0.0/12", @@ -400,72 +313,53 @@ "role": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tenant": null, "type": { "label": "Network", "value": "network" }, - "url": "http://127.0.0.1:8000/api/ipam/prefixes/0733b370-dae3-49d5-97ee-911ddd7fdc53/", "vlan": null }, "role": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [], "tenant": null, - "type": "host", - "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/25dedf45-b258-442f-829e-e54774ce8017/" + "type": "host" } ], "label": "", "lag": null, - "last_updated": "2024-03-27T17:38:40.395169Z", "mac_address": null, "mgmt_only": false, "mode": null, "mtu": null, - "name": "Ethernet1/1", - "natural_slug": "ethernet1-1_test-nexus-one__child-test-location_parent-test-location_2f84", - "notes_url": "http://127.0.0.1:8000/api/dcim/interfaces/2f84a3d8-6923-4daf-8817-a79e62576085/notes/", + "name": "Ethernet2/1", + "natural_slug": "ethernet2-1_test-nexus-child-one__child-test-location_parent-test-location_93db", "object_type": "dcim.interface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], @@ -474,7 +368,6 @@ "value": "1000base-t" }, "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/dcim/interfaces/2f84a3d8-6923-4daf-8817-a79e62576085/", "vrf": null } ], @@ -493,80 +386,59 @@ "primary_ip4": "172.16.180.11", "services": [ { - "created": "2024-03-27T17:38:46.460861Z", "custom_fields": {}, "description": "", "device": { "asset_tag": null, "cluster": null, "comments": "", - "controller_device_group": null, - "created": "2024-03-27T17:38:37.423871Z", + "controller_managed_device_group": null, "custom_fields": {}, "device_redundancy_group": null, "device_redundancy_group_priority": null, "device_type": { - "id": "3d51d3ca-454b-4824-859e-4601eb8022bd", - "object_type": "dcim.devicetype", - "url": "http://127.0.0.1:8000/api/dcim/device-types/3d51d3ca-454b-4824-859e-4601eb8022bd/" + "object_type": "dcim.devicetype" }, "display": "Test Nexus One", "face": null, - "id": "b7867e42-ccb0-4251-be86-ea7b9a84b104", - "last_updated": "2024-03-27T17:38:43.334405Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "location": { - "id": "73e14892-23ef-463b-8285-7e50ee48ea67", - "object_type": "dcim.location", - "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + "object_type": "dcim.location" }, "name": "Test Nexus One", - "natural_slug": "test-nexus-one__child-test-location_parent-test-location_b786", - "notes_url": "http://127.0.0.1:8000/api/dcim/devices/b7867e42-ccb0-4251-be86-ea7b9a84b104/notes/", + "natural_slug": "test-nexus-one__child-test-location_parent-test-location_725b", "object_type": "dcim.device", "parent_bay": null, "platform": null, "position": null, "primary_ip4": { - "id": "25dedf45-b258-442f-829e-e54774ce8017", - "object_type": "ipam.ipaddress", - "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/25dedf45-b258-442f-829e-e54774ce8017/" + "object_type": "ipam.ipaddress" }, "primary_ip6": null, "rack": null, "role": { - "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", - "object_type": "extras.role", - "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + "object_type": "extras.role" }, "secrets_group": null, "serial": "", "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/dcim/devices/b7867e42-ccb0-4251-be86-ea7b9a84b104/", "vc_position": 0, "vc_priority": null, "virtual_chassis": { - "id": "c96554c7-425c-4064-aae8-c11bcffeca62", - "object_type": "dcim.virtualchassis", - "url": "http://127.0.0.1:8000/api/dcim/virtual-chassis/c96554c7-425c-4064-aae8-c11bcffeca62/" + "object_type": "dcim.virtualchassis" } }, "display": "telnet (TCP/23)", - "id": "9113902d-6ec7-4585-babf-4ac87889c7e3", "ip_addresses": [], - "last_updated": "2024-03-27T17:38:46.460883Z", "name": "telnet", - "natural_slug": "telnet____test-nexus-one__child-test-location_parent-test-location_9113", - "notes_url": "http://127.0.0.1:8000/api/ipam/services/9113902d-6ec7-4585-babf-4ac87889c7e3/notes/", + "natural_slug": "telnet____test-nexus-one__child-test-location_parent-test-location_067d", "object_type": "ipam.service", "ports": [ 23 @@ -576,23 +448,17 @@ "value": "tcp" }, "tags": [], - "url": "http://127.0.0.1:8000/api/ipam/services/9113902d-6ec7-4585-babf-4ac87889c7e3/", "virtual_machine": null } ], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -606,61 +472,45 @@ "interfaces": [ { "bridge": null, - "created": "2024-03-27T17:38:45.856585Z", "custom_fields": {}, "description": "", "display": "Eth0", "enabled": true, - "id": "69c3d77b-1523-43a8-acde-61e993c7f011", "ip_addresses": [], - "last_updated": "2024-03-27T17:38:45.856616Z", "mac_address": null, "mode": null, "mtu": null, "name": "Eth0", - "natural_slug": "test-cluster-2__test-vm-with-spaces_eth0_69c3", - "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/69c3d77b-1523-43a8-acde-61e993c7f011/notes/", + "natural_slug": "test-cluster-2__test-vm-with-spaces_eth0_f6c0", "object_type": "virtualization.vminterface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/virtualization/interfaces/69c3d77b-1523-43a8-acde-61e993c7f011/", "virtual_machine": { "cluster": { - "id": "48f3c0e7-e0d8-4af7-a9f8-4b28530b6e2b", - "object_type": "virtualization.cluster", - "url": "http://127.0.0.1:8000/api/virtualization/clusters/48f3c0e7-e0d8-4af7-a9f8-4b28530b6e2b/" + "object_type": "virtualization.cluster" }, "comments": "", - "created": "2024-03-27T17:38:44.562206Z", "custom_fields": {}, "disk": null, "display": "Test VM With Spaces", - "id": "1ff0d587-3843-402a-a9a0-d229e743b008", - "last_updated": "2024-03-27T17:38:44.562228Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "memory": null, "name": "Test VM With Spaces", - "natural_slug": "test-cluster-2__test-vm-with-spaces_1ff0", - "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ff0d587-3843-402a-a9a0-d229e743b008/notes/", + "natural_slug": "test-cluster-2__test-vm-with-spaces_8da0", "object_type": "virtualization.virtualmachine", "platform": null, "primary_ip4": null, @@ -668,73 +518,54 @@ "role": null, "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ff0d587-3843-402a-a9a0-d229e743b008/", "vcpus": null }, "vrf": null }, { "bridge": null, - "created": "2024-03-27T17:38:45.895334Z", "custom_fields": {}, "description": "", "display": "Eth1", "enabled": true, - "id": "0c4b09cb-d1b9-47aa-ae7c-9bce45792c65", "ip_addresses": [], - "last_updated": "2024-03-27T17:38:45.895355Z", "mac_address": null, "mode": null, "mtu": null, "name": "Eth1", - "natural_slug": "test-cluster-2__test-vm-with-spaces_eth1_0c4b", - "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/0c4b09cb-d1b9-47aa-ae7c-9bce45792c65/notes/", + "natural_slug": "test-cluster-2__test-vm-with-spaces_eth1_f6e3", "object_type": "virtualization.vminterface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/virtualization/interfaces/0c4b09cb-d1b9-47aa-ae7c-9bce45792c65/", "virtual_machine": { "cluster": { - "id": "48f3c0e7-e0d8-4af7-a9f8-4b28530b6e2b", - "object_type": "virtualization.cluster", - "url": "http://127.0.0.1:8000/api/virtualization/clusters/48f3c0e7-e0d8-4af7-a9f8-4b28530b6e2b/" + "object_type": "virtualization.cluster" }, "comments": "", - "created": "2024-03-27T17:38:44.562206Z", "custom_fields": {}, "disk": null, "display": "Test VM With Spaces", - "id": "1ff0d587-3843-402a-a9a0-d229e743b008", - "last_updated": "2024-03-27T17:38:44.562228Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "memory": null, "name": "Test VM With Spaces", - "natural_slug": "test-cluster-2__test-vm-with-spaces_1ff0", - "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ff0d587-3843-402a-a9a0-d229e743b008/notes/", + "natural_slug": "test-cluster-2__test-vm-with-spaces_8da0", "object_type": "virtualization.virtualmachine", "platform": null, "primary_ip4": null, @@ -742,12 +573,9 @@ "role": null, "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ff0d587-3843-402a-a9a0-d229e743b008/", "vcpus": null }, "vrf": null @@ -760,17 +588,13 @@ "locations": [], "services": [ { - "created": "2024-03-27T17:38:46.503654Z", "custom_fields": {}, "description": "", "device": null, "display": "ssh (TCP/22)", - "id": "fa302796-cedb-4484-a324-a1569ae9c4ba", "ip_addresses": [], - "last_updated": "2024-03-27T17:38:46.503676Z", "name": "ssh", - "natural_slug": "ssh_test-cluster-2__test-vm-with-spaces_fa30", - "notes_url": "http://127.0.0.1:8000/api/ipam/services/fa302796-cedb-4484-a324-a1569ae9c4ba/notes/", + "natural_slug": "ssh_test-cluster-2__test-vm-with-spaces_cad2", "object_type": "ipam.service", "ports": [ 22 @@ -780,28 +604,21 @@ "value": "tcp" }, "tags": [], - "url": "http://127.0.0.1:8000/api/ipam/services/fa302796-cedb-4484-a324-a1569ae9c4ba/", "virtual_machine": { "cluster": { - "id": "48f3c0e7-e0d8-4af7-a9f8-4b28530b6e2b", - "object_type": "virtualization.cluster", - "url": "http://127.0.0.1:8000/api/virtualization/clusters/48f3c0e7-e0d8-4af7-a9f8-4b28530b6e2b/" + "object_type": "virtualization.cluster" }, "comments": "", - "created": "2024-03-27T17:38:44.562206Z", "custom_fields": {}, "disk": null, "display": "Test VM With Spaces", - "id": "1ff0d587-3843-402a-a9a0-d229e743b008", - "last_updated": "2024-03-27T17:38:44.562228Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "memory": null, "name": "Test VM With Spaces", - "natural_slug": "test-cluster-2__test-vm-with-spaces_1ff0", - "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ff0d587-3843-402a-a9a0-d229e743b008/notes/", + "natural_slug": "test-cluster-2__test-vm-with-spaces_8da0", "object_type": "virtualization.virtualmachine", "platform": null, "primary_ip4": null, @@ -809,29 +626,21 @@ "role": null, "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ff0d587-3843-402a-a9a0-d229e743b008/", "vcpus": null } } ], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -870,17 +679,12 @@ "services": [], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -908,27 +712,21 @@ "connected_endpoint": null, "connected_endpoint_reachable": null, "connected_endpoint_type": null, - "created": "2024-03-27T17:38:40.714492Z", "custom_fields": {}, "description": "", "device": { "asset_tag": null, "cluster": null, "comments": "", - "controller_device_group": null, - "created": "2024-03-27T17:38:37.149539Z", + "controller_managed_device_group": null, "custom_fields": {}, "device_redundancy_group": null, "device_redundancy_group_priority": null, "device_type": { - "id": "95784626-b8a8-4810-8ebf-4c75b4b2e90f", - "object_type": "dcim.devicetype", - "url": "http://127.0.0.1:8000/api/dcim/device-types/95784626-b8a8-4810-8ebf-4c75b4b2e90f/" + "object_type": "dcim.devicetype" }, "display": "test100", "face": null, - "id": "d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3", - "last_updated": "2024-03-27T17:38:37.149559Z", "local_config_context_data": { "ntp_servers": [ "pool.ntp.org" @@ -938,13 +736,10 @@ "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "location": { - "id": "73e14892-23ef-463b-8285-7e50ee48ea67", - "object_type": "dcim.location", - "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + "object_type": "dcim.location" }, "name": "test100", - "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_d586", - "notes_url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/notes/", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_939c", "object_type": "dcim.device", "parent_bay": null, "platform": null, @@ -953,77 +748,56 @@ "primary_ip6": null, "rack": null, "role": { - "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", - "object_type": "extras.role", - "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + "object_type": "extras.role" }, "secrets_group": null, "serial": "", "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": { - "id": "9f8b10f8-9513-4581-94a2-41cefc3735dd", - "object_type": "tenancy.tenant", - "url": "http://127.0.0.1:8000/api/tenancy/tenants/9f8b10f8-9513-4581-94a2-41cefc3735dd/" + "object_type": "tenancy.tenant" }, - "url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/", "vc_position": null, "vc_priority": null, "virtual_chassis": null }, "display": "GigabitEthernet1", "enabled": true, - "id": "52f98b02-b953-4e0a-972b-e1b3aa0f6f59", "ip_address_count": 1, "ip_addresses": [ { "address": "172.16.180.1/24", - "created": "2024-03-27T17:38:41.821095Z", "custom_fields": {}, "description": "", "display": "172.16.180.1/24", "dns_name": "", "host": "172.16.180.1", - "id": "1e99a20d-b55f-48d4-97a5-1200e4a30213", "ip_version": 4, - "last_updated": "2024-03-27T17:38:41.821119Z", "mask_length": 24, "nat_inside": null, "nat_outside_list": [], - "natural_slug": "global_172-16-180-1_1e99", - "notes_url": "http://127.0.0.1:8000/api/ipam/ip-addresses/1e99a20d-b55f-48d4-97a5-1200e4a30213/notes/", + "natural_slug": "global_172-16-180-1_23b0", "object_type": "ipam.ipaddress", "parent": { "broadcast": "172.31.255.255", - "created": "2024-03-27T17:38:33.543642Z", "custom_fields": {}, "date_allocated": null, "description": "", "display": "172.16.0.0/12", - "id": "0733b370-dae3-49d5-97ee-911ddd7fdc53", "ip_version": 4, - "last_updated": "2024-03-27T17:38:33.543671Z", "namespace": { - "created": "2024-03-27T17:37:15.805479Z", "custom_fields": {}, "description": "Default Global namespace. Created by Nautobot.", "display": "Global", - "id": "a21f42e2-e600-4eea-bf7c-644f7304b4e2", - "last_updated": "2024-03-27T17:37:15.805514Z", "location": null, "name": "Global", - "natural_slug": "global_a21f", - "notes_url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/notes/", - "object_type": "ipam.namespace", - "url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/" + "natural_slug": "global_1fa9", + "object_type": "ipam.namespace" }, - "natural_slug": "global_172-16-0-0_12_0733", + "natural_slug": "global_172-16-0-0_12_ab44", "network": "172.16.0.0", - "notes_url": "http://127.0.0.1:8000/api/ipam/prefixes/0733b370-dae3-49d5-97ee-911ddd7fdc53/notes/", "object_type": "ipam.prefix", "parent": null, "prefix": "172.16.0.0/12", @@ -1032,72 +806,53 @@ "role": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tenant": null, "type": { "label": "Network", "value": "network" }, - "url": "http://127.0.0.1:8000/api/ipam/prefixes/0733b370-dae3-49d5-97ee-911ddd7fdc53/", "vlan": null }, "role": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [], "tenant": null, - "type": "host", - "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/1e99a20d-b55f-48d4-97a5-1200e4a30213/" + "type": "host" } ], "label": "", "lag": null, - "last_updated": "2024-03-27T17:38:40.714514Z", "mac_address": null, "mgmt_only": false, "mode": null, "mtu": null, "name": "GigabitEthernet1", - "natural_slug": "gigabitethernet1_test100_test-tenant_child-test-location_parent-test-location_52f9", - "notes_url": "http://127.0.0.1:8000/api/dcim/interfaces/52f98b02-b953-4e0a-972b-e1b3aa0f6f59/notes/", + "natural_slug": "gigabitethernet1_test100_test-tenant_child-test-location_parent-test-location_02a0", "object_type": "dcim.interface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], @@ -1106,7 +861,6 @@ "value": "1000base-t" }, "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/dcim/interfaces/52f98b02-b953-4e0a-972b-e1b3aa0f6f59/", "vrf": null }, { @@ -1117,27 +871,21 @@ "connected_endpoint": null, "connected_endpoint_reachable": null, "connected_endpoint_type": null, - "created": "2024-03-27T17:38:40.769927Z", "custom_fields": {}, "description": "", "device": { "asset_tag": null, "cluster": null, "comments": "", - "controller_device_group": null, - "created": "2024-03-27T17:38:37.149539Z", + "controller_managed_device_group": null, "custom_fields": {}, "device_redundancy_group": null, "device_redundancy_group_priority": null, "device_type": { - "id": "95784626-b8a8-4810-8ebf-4c75b4b2e90f", - "object_type": "dcim.devicetype", - "url": "http://127.0.0.1:8000/api/dcim/device-types/95784626-b8a8-4810-8ebf-4c75b4b2e90f/" + "object_type": "dcim.devicetype" }, "display": "test100", "face": null, - "id": "d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3", - "last_updated": "2024-03-27T17:38:37.149559Z", "local_config_context_data": { "ntp_servers": [ "pool.ntp.org" @@ -1147,13 +895,10 @@ "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "location": { - "id": "73e14892-23ef-463b-8285-7e50ee48ea67", - "object_type": "dcim.location", - "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + "object_type": "dcim.location" }, "name": "test100", - "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_d586", - "notes_url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/notes/", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_939c", "object_type": "dcim.device", "parent_bay": null, "platform": null, @@ -1162,77 +907,56 @@ "primary_ip6": null, "rack": null, "role": { - "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", - "object_type": "extras.role", - "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + "object_type": "extras.role" }, "secrets_group": null, "serial": "", "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": { - "id": "9f8b10f8-9513-4581-94a2-41cefc3735dd", - "object_type": "tenancy.tenant", - "url": "http://127.0.0.1:8000/api/tenancy/tenants/9f8b10f8-9513-4581-94a2-41cefc3735dd/" + "object_type": "tenancy.tenant" }, - "url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/", "vc_position": null, "vc_priority": null, "virtual_chassis": null }, "display": "GigabitEthernet2", "enabled": true, - "id": "1747ac15-09ee-4698-bde0-a02fbe5aed33", "ip_address_count": 1, "ip_addresses": [ { "address": "2001::1:1/64", - "created": "2024-03-27T17:38:41.863826Z", "custom_fields": {}, "description": "", "display": "2001::1:1/64", "dns_name": "", "host": "2001::1:1", - "id": "17b14b12-322f-4ce0-bf66-5d2669815aef", "ip_version": 6, - "last_updated": "2024-03-27T17:38:41.863861Z", "mask_length": 64, "nat_inside": null, "nat_outside_list": [], - "natural_slug": "global_2001-1-1_17b1", - "notes_url": "http://127.0.0.1:8000/api/ipam/ip-addresses/17b14b12-322f-4ce0-bf66-5d2669815aef/notes/", + "natural_slug": "global_2001-1-1_ee95", "object_type": "ipam.ipaddress", "parent": { "broadcast": "2001::ffff:ffff:ffff:ffff", - "created": "2024-03-27T17:38:33.624801Z", "custom_fields": {}, "date_allocated": null, "description": "", "display": "2001::/64", - "id": "386da78d-6b55-4c43-be8d-6eb33366a95c", "ip_version": 6, - "last_updated": "2024-03-27T17:38:33.624822Z", "namespace": { - "created": "2024-03-27T17:37:15.805479Z", "custom_fields": {}, "description": "Default Global namespace. Created by Nautobot.", "display": "Global", - "id": "a21f42e2-e600-4eea-bf7c-644f7304b4e2", - "last_updated": "2024-03-27T17:37:15.805514Z", "location": null, "name": "Global", - "natural_slug": "global_a21f", - "notes_url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/notes/", - "object_type": "ipam.namespace", - "url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/" + "natural_slug": "global_1fa9", + "object_type": "ipam.namespace" }, - "natural_slug": "global_2001_64_386d", + "natural_slug": "global_2001_64_8425", "network": "2001::", - "notes_url": "http://127.0.0.1:8000/api/ipam/prefixes/386da78d-6b55-4c43-be8d-6eb33366a95c/notes/", "object_type": "ipam.prefix", "parent": null, "prefix": "2001::/64", @@ -1241,72 +965,53 @@ "role": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tenant": null, "type": { "label": "Network", "value": "network" }, - "url": "http://127.0.0.1:8000/api/ipam/prefixes/386da78d-6b55-4c43-be8d-6eb33366a95c/", "vlan": null }, "role": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [], "tenant": null, - "type": "host", - "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/17b14b12-322f-4ce0-bf66-5d2669815aef/" + "type": "host" } ], "label": "", "lag": null, - "last_updated": "2024-03-27T17:38:40.769947Z", "mac_address": null, "mgmt_only": false, "mode": null, "mtu": null, "name": "GigabitEthernet2", - "natural_slug": "gigabitethernet2_test100_test-tenant_child-test-location_parent-test-location_1747", - "notes_url": "http://127.0.0.1:8000/api/dcim/interfaces/1747ac15-09ee-4698-bde0-a02fbe5aed33/notes/", + "natural_slug": "gigabitethernet2_test100_test-tenant_child-test-location_parent-test-location_e074", "object_type": "dcim.interface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], @@ -1315,7 +1020,6 @@ "value": "1000base-t" }, "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/dcim/interfaces/1747ac15-09ee-4698-bde0-a02fbe5aed33/", "vrf": null }, { @@ -1326,27 +1030,21 @@ "connected_endpoint": null, "connected_endpoint_reachable": null, "connected_endpoint_type": null, - "created": "2024-03-27T17:38:40.823634Z", "custom_fields": {}, "description": "", "device": { "asset_tag": null, "cluster": null, "comments": "", - "controller_device_group": null, - "created": "2024-03-27T17:38:37.149539Z", + "controller_managed_device_group": null, "custom_fields": {}, "device_redundancy_group": null, "device_redundancy_group_priority": null, "device_type": { - "id": "95784626-b8a8-4810-8ebf-4c75b4b2e90f", - "object_type": "dcim.devicetype", - "url": "http://127.0.0.1:8000/api/dcim/device-types/95784626-b8a8-4810-8ebf-4c75b4b2e90f/" + "object_type": "dcim.devicetype" }, "display": "test100", "face": null, - "id": "d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3", - "last_updated": "2024-03-27T17:38:37.149559Z", "local_config_context_data": { "ntp_servers": [ "pool.ntp.org" @@ -1356,13 +1054,10 @@ "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "location": { - "id": "73e14892-23ef-463b-8285-7e50ee48ea67", - "object_type": "dcim.location", - "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + "object_type": "dcim.location" }, "name": "test100", - "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_d586", - "notes_url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/notes/", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_939c", "object_type": "dcim.device", "parent_bay": null, "platform": null, @@ -1371,58 +1066,43 @@ "primary_ip6": null, "rack": null, "role": { - "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", - "object_type": "extras.role", - "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + "object_type": "extras.role" }, "secrets_group": null, "serial": "", "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": { - "id": "9f8b10f8-9513-4581-94a2-41cefc3735dd", - "object_type": "tenancy.tenant", - "url": "http://127.0.0.1:8000/api/tenancy/tenants/9f8b10f8-9513-4581-94a2-41cefc3735dd/" + "object_type": "tenancy.tenant" }, - "url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/", "vc_position": null, "vc_priority": null, "virtual_chassis": null }, "display": "GigabitEthernet3", "enabled": true, - "id": "0f0ab93e-e3f6-4b86-81dd-8d2b7542b999", "ip_address_count": 0, "ip_addresses": [], "label": "", "lag": null, - "last_updated": "2024-03-27T17:38:40.823708Z", "mac_address": null, "mgmt_only": false, "mode": null, "mtu": null, "name": "GigabitEthernet3", - "natural_slug": "gigabitethernet3_test100_test-tenant_child-test-location_parent-test-location_0f0a", - "notes_url": "http://127.0.0.1:8000/api/dcim/interfaces/0f0ab93e-e3f6-4b86-81dd-8d2b7542b999/notes/", + "natural_slug": "gigabitethernet3_test100_test-tenant_child-test-location_parent-test-location_8438", "object_type": "dcim.interface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], @@ -1431,7 +1111,6 @@ "value": "1000base-t" }, "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/dcim/interfaces/0f0ab93e-e3f6-4b86-81dd-8d2b7542b999/", "vrf": null }, { @@ -1442,27 +1121,21 @@ "connected_endpoint": null, "connected_endpoint_reachable": null, "connected_endpoint_type": null, - "created": "2024-03-27T17:38:40.878515Z", "custom_fields": {}, "description": "", "device": { "asset_tag": null, "cluster": null, "comments": "", - "controller_device_group": null, - "created": "2024-03-27T17:38:37.149539Z", + "controller_managed_device_group": null, "custom_fields": {}, "device_redundancy_group": null, "device_redundancy_group_priority": null, "device_type": { - "id": "95784626-b8a8-4810-8ebf-4c75b4b2e90f", - "object_type": "dcim.devicetype", - "url": "http://127.0.0.1:8000/api/dcim/device-types/95784626-b8a8-4810-8ebf-4c75b4b2e90f/" + "object_type": "dcim.devicetype" }, "display": "test100", "face": null, - "id": "d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3", - "last_updated": "2024-03-27T17:38:37.149559Z", "local_config_context_data": { "ntp_servers": [ "pool.ntp.org" @@ -1472,13 +1145,10 @@ "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "location": { - "id": "73e14892-23ef-463b-8285-7e50ee48ea67", - "object_type": "dcim.location", - "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + "object_type": "dcim.location" }, "name": "test100", - "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_d586", - "notes_url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/notes/", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_939c", "object_type": "dcim.device", "parent_bay": null, "platform": null, @@ -1487,58 +1157,43 @@ "primary_ip6": null, "rack": null, "role": { - "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", - "object_type": "extras.role", - "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + "object_type": "extras.role" }, "secrets_group": null, "serial": "", "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": { - "id": "9f8b10f8-9513-4581-94a2-41cefc3735dd", - "object_type": "tenancy.tenant", - "url": "http://127.0.0.1:8000/api/tenancy/tenants/9f8b10f8-9513-4581-94a2-41cefc3735dd/" + "object_type": "tenancy.tenant" }, - "url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/", "vc_position": null, "vc_priority": null, "virtual_chassis": null }, "display": "GigabitEthernet4", "enabled": true, - "id": "884700bf-df8c-4c60-8152-d628adf4ad4d", "ip_address_count": 0, "ip_addresses": [], "label": "", "lag": null, - "last_updated": "2024-03-27T17:38:40.878535Z", "mac_address": null, "mgmt_only": false, "mode": null, "mtu": null, "name": "GigabitEthernet4", - "natural_slug": "gigabitethernet4_test100_test-tenant_child-test-location_parent-test-location_8847", - "notes_url": "http://127.0.0.1:8000/api/dcim/interfaces/884700bf-df8c-4c60-8152-d628adf4ad4d/notes/", + "natural_slug": "gigabitethernet4_test100_test-tenant_child-test-location_parent-test-location_854c", "object_type": "dcim.interface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], @@ -1547,7 +1202,6 @@ "value": "1000base-t" }, "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/dcim/interfaces/884700bf-df8c-4c60-8152-d628adf4ad4d/", "vrf": null } ], @@ -1569,27 +1223,21 @@ ], "services": [ { - "created": "2024-03-27T17:38:46.266002Z", "custom_fields": {}, "description": "", "device": { "asset_tag": null, "cluster": null, "comments": "", - "controller_device_group": null, - "created": "2024-03-27T17:38:37.149539Z", + "controller_managed_device_group": null, "custom_fields": {}, "device_redundancy_group": null, "device_redundancy_group_priority": null, "device_type": { - "id": "95784626-b8a8-4810-8ebf-4c75b4b2e90f", - "object_type": "dcim.devicetype", - "url": "http://127.0.0.1:8000/api/dcim/device-types/95784626-b8a8-4810-8ebf-4c75b4b2e90f/" + "object_type": "dcim.devicetype" }, "display": "test100", "face": null, - "id": "d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3", - "last_updated": "2024-03-27T17:38:37.149559Z", "local_config_context_data": { "ntp_servers": [ "pool.ntp.org" @@ -1599,13 +1247,10 @@ "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "location": { - "id": "73e14892-23ef-463b-8285-7e50ee48ea67", - "object_type": "dcim.location", - "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + "object_type": "dcim.location" }, "name": "test100", - "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_d586", - "notes_url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/notes/", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_939c", "object_type": "dcim.device", "parent_bay": null, "platform": null, @@ -1614,203 +1259,84 @@ "primary_ip6": null, "rack": null, "role": { - "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", - "object_type": "extras.role", - "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + "object_type": "extras.role" }, "secrets_group": null, "serial": "", "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": { - "id": "9f8b10f8-9513-4581-94a2-41cefc3735dd", - "object_type": "tenancy.tenant", - "url": "http://127.0.0.1:8000/api/tenancy/tenants/9f8b10f8-9513-4581-94a2-41cefc3735dd/" + "object_type": "tenancy.tenant" }, - "url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/", - "vc_position": null, - "vc_priority": null, - "virtual_chassis": null - }, - "display": "ssh (TCP/22)", - "id": "6c74dff6-acf8-44a6-a9a0-1ff519eff6df", - "ip_addresses": [], - "last_updated": "2024-03-27T17:38:46.266022Z", - "name": "ssh", - "natural_slug": "ssh____test100_test-tenant_child-test-location_parent-test-location_6c74", - "notes_url": "http://127.0.0.1:8000/api/ipam/services/6c74dff6-acf8-44a6-a9a0-1ff519eff6df/notes/", - "object_type": "ipam.service", - "ports": [ - 22 - ], - "protocol": { - "label": "TCP", - "value": "tcp" - }, - "tags": [], - "url": "http://127.0.0.1:8000/api/ipam/services/6c74dff6-acf8-44a6-a9a0-1ff519eff6df/", - "virtual_machine": null - }, - { - "created": "2024-03-27T17:38:46.330100Z", - "custom_fields": {}, - "description": "", - "device": { - "asset_tag": null, - "cluster": null, - "comments": "", - "controller_device_group": null, - "created": "2024-03-27T17:38:37.149539Z", - "custom_fields": {}, - "device_redundancy_group": null, - "device_redundancy_group_priority": null, - "device_type": { - "id": "95784626-b8a8-4810-8ebf-4c75b4b2e90f", - "object_type": "dcim.devicetype", - "url": "http://127.0.0.1:8000/api/dcim/device-types/95784626-b8a8-4810-8ebf-4c75b4b2e90f/" - }, - "display": "test100", - "face": null, - "id": "d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3", - "last_updated": "2024-03-27T17:38:37.149559Z", - "local_config_context_data": { - "ntp_servers": [ - "pool.ntp.org" - ] - }, - "local_config_context_data_owner_content_type": null, - "local_config_context_data_owner_object_id": null, - "local_config_context_schema": null, - "location": { - "id": "73e14892-23ef-463b-8285-7e50ee48ea67", - "object_type": "dcim.location", - "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" - }, - "name": "test100", - "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_d586", - "notes_url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/notes/", - "object_type": "dcim.device", - "parent_bay": null, - "platform": null, - "position": null, - "primary_ip4": null, - "primary_ip6": null, - "rack": null, - "role": { - "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", - "object_type": "extras.role", - "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" - }, - "secrets_group": null, - "serial": "", - "software_version": null, - "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" - }, - "tenant": { - "id": "9f8b10f8-9513-4581-94a2-41cefc3735dd", - "object_type": "tenancy.tenant", - "url": "http://127.0.0.1:8000/api/tenancy/tenants/9f8b10f8-9513-4581-94a2-41cefc3735dd/" - }, - "url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/", "vc_position": null, "vc_priority": null, "virtual_chassis": null }, "display": "http (TCP/80)", - "id": "c84e3af1-85b3-4a93-8075-83f2245294c4", "ip_addresses": [ { "address": "172.16.180.1/24", - "created": "2024-03-27T17:38:41.821095Z", "custom_fields": {}, "description": "", "display": "172.16.180.1/24", "dns_name": "", "host": "172.16.180.1", - "id": "1e99a20d-b55f-48d4-97a5-1200e4a30213", "interfaces": [ { - "id": "52f98b02-b953-4e0a-972b-e1b3aa0f6f59", - "object_type": "dcim.interface", - "url": "http://127.0.0.1:8000/api/dcim/interfaces/52f98b02-b953-4e0a-972b-e1b3aa0f6f59/" + "object_type": "dcim.interface" } ], "ip_version": 4, - "last_updated": "2024-03-27T17:38:41.821119Z", "mask_length": 24, "nat_inside": null, "nat_outside_list": [], - "natural_slug": "global_172-16-180-1_1e99", - "notes_url": "http://127.0.0.1:8000/api/ipam/ip-addresses/1e99a20d-b55f-48d4-97a5-1200e4a30213/notes/", + "natural_slug": "global_172-16-180-1_23b0", "object_type": "ipam.ipaddress", "parent": { - "id": "0733b370-dae3-49d5-97ee-911ddd7fdc53", - "object_type": "ipam.prefix", - "url": "http://127.0.0.1:8000/api/ipam/prefixes/0733b370-dae3-49d5-97ee-911ddd7fdc53/" + "object_type": "ipam.prefix" }, "role": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, "type": "host", - "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/1e99a20d-b55f-48d4-97a5-1200e4a30213/", "vm_interfaces": [] }, { "address": "2001::1:1/64", - "created": "2024-03-27T17:38:41.863826Z", "custom_fields": {}, "description": "", "display": "2001::1:1/64", "dns_name": "", "host": "2001::1:1", - "id": "17b14b12-322f-4ce0-bf66-5d2669815aef", "interfaces": [ { - "id": "1747ac15-09ee-4698-bde0-a02fbe5aed33", - "object_type": "dcim.interface", - "url": "http://127.0.0.1:8000/api/dcim/interfaces/1747ac15-09ee-4698-bde0-a02fbe5aed33/" + "object_type": "dcim.interface" } ], "ip_version": 6, - "last_updated": "2024-03-27T17:38:41.863861Z", "mask_length": 64, "nat_inside": null, "nat_outside_list": [], - "natural_slug": "global_2001-1-1_17b1", - "notes_url": "http://127.0.0.1:8000/api/ipam/ip-addresses/17b14b12-322f-4ce0-bf66-5d2669815aef/notes/", + "natural_slug": "global_2001-1-1_ee95", "object_type": "ipam.ipaddress", "parent": { - "id": "386da78d-6b55-4c43-be8d-6eb33366a95c", - "object_type": "ipam.prefix", - "url": "http://127.0.0.1:8000/api/ipam/prefixes/386da78d-6b55-4c43-be8d-6eb33366a95c/" + "object_type": "ipam.prefix" }, "role": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, "type": "host", - "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/17b14b12-322f-4ce0-bf66-5d2669815aef/", "vm_interfaces": [] } ], - "last_updated": "2024-03-27T17:38:46.330122Z", "name": "http", - "natural_slug": "http____test100_test-tenant_child-test-location_parent-test-location_c84e", - "notes_url": "http://127.0.0.1:8000/api/ipam/services/c84e3af1-85b3-4a93-8075-83f2245294c4/notes/", + "natural_slug": "http____test100_test-tenant_child-test-location_parent-test-location_3116", "object_type": "ipam.service", "ports": [ 80 @@ -1820,23 +1346,84 @@ "value": "tcp" }, "tags": [], - "url": "http://127.0.0.1:8000/api/ipam/services/c84e3af1-85b3-4a93-8075-83f2245294c4/", + "virtual_machine": null + }, + { + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_managed_device_group": null, + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "object_type": "dcim.devicetype" + }, + "display": "test100", + "face": null, + "local_config_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "object_type": "dcim.location" + }, + "name": "test100", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_939c", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "object_type": "extras.role" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": { + "object_type": "tenancy.tenant" + }, + "vc_position": null, + "vc_priority": null, + "virtual_chassis": null + }, + "display": "ssh (TCP/22)", + "ip_addresses": [], + "name": "ssh", + "natural_slug": "ssh____test100_test-tenant_child-test-location_parent-test-location_bfcf", + "object_type": "ipam.service", + "ports": [ + 22 + ], + "protocol": { + "label": "TCP", + "value": "tcp" + }, + "tags": [], "virtual_machine": null } ], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [], "tenant_group": "Test Tenant Group", @@ -1855,61 +1442,45 @@ "interfaces": [ { "bridge": null, - "created": "2024-03-27T17:38:45.493001Z", "custom_fields": {}, "description": "", "display": "Eth0", "enabled": true, - "id": "68efcdc5-9817-41a4-b43d-ac0d71de1258", "ip_addresses": [], - "last_updated": "2024-03-27T17:38:45.493021Z", "mac_address": null, "mode": null, "mtu": null, "name": "Eth0", - "natural_slug": "test-cluster__test100-vm_eth0_68ef", - "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/68efcdc5-9817-41a4-b43d-ac0d71de1258/notes/", + "natural_slug": "test-cluster__test100-vm_eth0_cc3f", "object_type": "virtualization.vminterface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/virtualization/interfaces/68efcdc5-9817-41a4-b43d-ac0d71de1258/", "virtual_machine": { "cluster": { - "id": "6af71c22-6611-4079-9957-f078f504ebde", - "object_type": "virtualization.cluster", - "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + "object_type": "virtualization.cluster" }, "comments": "", - "created": "2024-03-27T17:38:44.383003Z", "custom_fields": {}, "disk": null, "display": "test100-vm", - "id": "1ea51f9d-3d1c-4122-b6cd-62e49abfebcb", - "last_updated": "2024-03-27T17:38:44.383024Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "memory": null, "name": "test100-vm", - "natural_slug": "test-cluster__test100-vm_1ea5", - "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/notes/", + "natural_slug": "test-cluster__test100-vm_b0bc", "object_type": "virtualization.virtualmachine", "platform": null, "primary_ip4": null, @@ -1917,73 +1488,54 @@ "role": null, "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/", "vcpus": null }, "vrf": null }, { "bridge": null, - "created": "2024-03-27T17:38:45.531848Z", "custom_fields": {}, "description": "", "display": "Eth1", "enabled": true, - "id": "5f6c793c-67bd-49c1-86f7-c4329d5b3e31", "ip_addresses": [], - "last_updated": "2024-03-27T17:38:45.531868Z", "mac_address": null, "mode": null, "mtu": null, "name": "Eth1", - "natural_slug": "test-cluster__test100-vm_eth1_5f6c", - "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/5f6c793c-67bd-49c1-86f7-c4329d5b3e31/notes/", + "natural_slug": "test-cluster__test100-vm_eth1_02b8", "object_type": "virtualization.vminterface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/virtualization/interfaces/5f6c793c-67bd-49c1-86f7-c4329d5b3e31/", "virtual_machine": { "cluster": { - "id": "6af71c22-6611-4079-9957-f078f504ebde", - "object_type": "virtualization.cluster", - "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + "object_type": "virtualization.cluster" }, "comments": "", - "created": "2024-03-27T17:38:44.383003Z", "custom_fields": {}, "disk": null, "display": "test100-vm", - "id": "1ea51f9d-3d1c-4122-b6cd-62e49abfebcb", - "last_updated": "2024-03-27T17:38:44.383024Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "memory": null, "name": "test100-vm", - "natural_slug": "test-cluster__test100-vm_1ea5", - "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/notes/", + "natural_slug": "test-cluster__test100-vm_b0bc", "object_type": "virtualization.virtualmachine", "platform": null, "primary_ip4": null, @@ -1991,73 +1543,54 @@ "role": null, "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/", "vcpus": null }, "vrf": null }, { "bridge": null, - "created": "2024-03-27T17:38:45.567074Z", "custom_fields": {}, "description": "", "display": "Eth2", "enabled": true, - "id": "a4855b52-d842-4ab3-9bfc-0bd09e25d449", "ip_addresses": [], - "last_updated": "2024-03-27T17:38:45.567095Z", "mac_address": null, "mode": null, "mtu": null, "name": "Eth2", - "natural_slug": "test-cluster__test100-vm_eth2_a485", - "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/a4855b52-d842-4ab3-9bfc-0bd09e25d449/notes/", + "natural_slug": "test-cluster__test100-vm_eth2_e6d3", "object_type": "virtualization.vminterface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/virtualization/interfaces/a4855b52-d842-4ab3-9bfc-0bd09e25d449/", "virtual_machine": { "cluster": { - "id": "6af71c22-6611-4079-9957-f078f504ebde", - "object_type": "virtualization.cluster", - "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + "object_type": "virtualization.cluster" }, "comments": "", - "created": "2024-03-27T17:38:44.383003Z", "custom_fields": {}, "disk": null, "display": "test100-vm", - "id": "1ea51f9d-3d1c-4122-b6cd-62e49abfebcb", - "last_updated": "2024-03-27T17:38:44.383024Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "memory": null, "name": "test100-vm", - "natural_slug": "test-cluster__test100-vm_1ea5", - "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/notes/", + "natural_slug": "test-cluster__test100-vm_b0bc", "object_type": "virtualization.virtualmachine", "platform": null, "primary_ip4": null, @@ -2065,73 +1598,54 @@ "role": null, "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/", "vcpus": null }, "vrf": null }, { "bridge": null, - "created": "2024-03-27T17:38:45.603016Z", "custom_fields": {}, "description": "", "display": "Eth3", "enabled": true, - "id": "a5b6426a-e16a-4653-b975-06318e7b0bcd", "ip_addresses": [], - "last_updated": "2024-03-27T17:38:45.603038Z", "mac_address": null, "mode": null, "mtu": null, "name": "Eth3", - "natural_slug": "test-cluster__test100-vm_eth3_a5b6", - "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/a5b6426a-e16a-4653-b975-06318e7b0bcd/notes/", + "natural_slug": "test-cluster__test100-vm_eth3_46e2", "object_type": "virtualization.vminterface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/virtualization/interfaces/a5b6426a-e16a-4653-b975-06318e7b0bcd/", "virtual_machine": { "cluster": { - "id": "6af71c22-6611-4079-9957-f078f504ebde", - "object_type": "virtualization.cluster", - "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + "object_type": "virtualization.cluster" }, "comments": "", - "created": "2024-03-27T17:38:44.383003Z", "custom_fields": {}, "disk": null, "display": "test100-vm", - "id": "1ea51f9d-3d1c-4122-b6cd-62e49abfebcb", - "last_updated": "2024-03-27T17:38:44.383024Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "memory": null, "name": "test100-vm", - "natural_slug": "test-cluster__test100-vm_1ea5", - "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/notes/", + "natural_slug": "test-cluster__test100-vm_b0bc", "object_type": "virtualization.virtualmachine", "platform": null, "primary_ip4": null, @@ -2139,73 +1653,54 @@ "role": null, "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/", "vcpus": null }, "vrf": null }, { "bridge": null, - "created": "2024-03-27T17:38:45.639169Z", "custom_fields": {}, "description": "", "display": "Eth4", "enabled": true, - "id": "fafbd094-dc87-48c1-85ff-befa3acddc5d", "ip_addresses": [], - "last_updated": "2024-03-27T17:38:45.639189Z", "mac_address": null, "mode": null, "mtu": null, "name": "Eth4", - "natural_slug": "test-cluster__test100-vm_eth4_fafb", - "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/fafbd094-dc87-48c1-85ff-befa3acddc5d/notes/", + "natural_slug": "test-cluster__test100-vm_eth4_f394", "object_type": "virtualization.vminterface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/virtualization/interfaces/fafbd094-dc87-48c1-85ff-befa3acddc5d/", "virtual_machine": { "cluster": { - "id": "6af71c22-6611-4079-9957-f078f504ebde", - "object_type": "virtualization.cluster", - "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + "object_type": "virtualization.cluster" }, "comments": "", - "created": "2024-03-27T17:38:44.383003Z", "custom_fields": {}, "disk": null, "display": "test100-vm", - "id": "1ea51f9d-3d1c-4122-b6cd-62e49abfebcb", - "last_updated": "2024-03-27T17:38:44.383024Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "memory": null, "name": "test100-vm", - "natural_slug": "test-cluster__test100-vm_1ea5", - "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/notes/", + "natural_slug": "test-cluster__test100-vm_b0bc", "object_type": "virtualization.virtualmachine", "platform": null, "primary_ip4": null, @@ -2213,12 +1708,9 @@ "role": null, "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/", "vcpus": null }, "vrf": null @@ -2236,17 +1728,12 @@ "services": [], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -2261,61 +1748,45 @@ "interfaces": [ { "bridge": null, - "created": "2024-03-27T17:38:45.675591Z", "custom_fields": {}, "description": "", "display": "Eth0", "enabled": true, - "id": "aff5b547-577c-4b4d-aa7c-54f55689fbb7", "ip_addresses": [], - "last_updated": "2024-03-27T17:38:45.675627Z", "mac_address": null, "mode": null, "mtu": null, "name": "Eth0", - "natural_slug": "test-cluster__test101-vm_eth0_aff5", - "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/aff5b547-577c-4b4d-aa7c-54f55689fbb7/notes/", + "natural_slug": "test-cluster__test101-vm_eth0_9dea", "object_type": "virtualization.vminterface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/virtualization/interfaces/aff5b547-577c-4b4d-aa7c-54f55689fbb7/", "virtual_machine": { "cluster": { - "id": "6af71c22-6611-4079-9957-f078f504ebde", - "object_type": "virtualization.cluster", - "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + "object_type": "virtualization.cluster" }, "comments": "", - "created": "2024-03-27T17:38:44.422957Z", "custom_fields": {}, "disk": null, "display": "test101-vm", - "id": "7c54b8ed-0230-42e8-a7a2-4ddb8e09632f", - "last_updated": "2024-03-27T17:38:44.422978Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "memory": null, "name": "test101-vm", - "natural_slug": "test-cluster__test101-vm_7c54", - "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/notes/", + "natural_slug": "test-cluster__test101-vm_68f2", "object_type": "virtualization.virtualmachine", "platform": null, "primary_ip4": null, @@ -2323,73 +1794,54 @@ "role": null, "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/", "vcpus": null }, "vrf": null }, { "bridge": null, - "created": "2024-03-27T17:38:45.710839Z", "custom_fields": {}, "description": "", "display": "Eth1", "enabled": true, - "id": "2242e517-063b-437c-8bf8-2a5b5c4da3ff", "ip_addresses": [], - "last_updated": "2024-03-27T17:38:45.710859Z", "mac_address": null, "mode": null, "mtu": null, "name": "Eth1", - "natural_slug": "test-cluster__test101-vm_eth1_2242", - "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/2242e517-063b-437c-8bf8-2a5b5c4da3ff/notes/", + "natural_slug": "test-cluster__test101-vm_eth1_5f26", "object_type": "virtualization.vminterface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/virtualization/interfaces/2242e517-063b-437c-8bf8-2a5b5c4da3ff/", "virtual_machine": { "cluster": { - "id": "6af71c22-6611-4079-9957-f078f504ebde", - "object_type": "virtualization.cluster", - "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + "object_type": "virtualization.cluster" }, "comments": "", - "created": "2024-03-27T17:38:44.422957Z", "custom_fields": {}, "disk": null, "display": "test101-vm", - "id": "7c54b8ed-0230-42e8-a7a2-4ddb8e09632f", - "last_updated": "2024-03-27T17:38:44.422978Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "memory": null, "name": "test101-vm", - "natural_slug": "test-cluster__test101-vm_7c54", - "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/notes/", + "natural_slug": "test-cluster__test101-vm_68f2", "object_type": "virtualization.virtualmachine", "platform": null, "primary_ip4": null, @@ -2397,73 +1849,54 @@ "role": null, "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/", "vcpus": null }, "vrf": null }, { "bridge": null, - "created": "2024-03-27T17:38:45.746185Z", "custom_fields": {}, "description": "", "display": "Eth2", "enabled": true, - "id": "72a3dba0-43f5-44c9-9325-b1ccb67e8a17", "ip_addresses": [], - "last_updated": "2024-03-27T17:38:45.746206Z", "mac_address": null, "mode": null, "mtu": null, "name": "Eth2", - "natural_slug": "test-cluster__test101-vm_eth2_72a3", - "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/72a3dba0-43f5-44c9-9325-b1ccb67e8a17/notes/", + "natural_slug": "test-cluster__test101-vm_eth2_3f34", "object_type": "virtualization.vminterface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/virtualization/interfaces/72a3dba0-43f5-44c9-9325-b1ccb67e8a17/", "virtual_machine": { "cluster": { - "id": "6af71c22-6611-4079-9957-f078f504ebde", - "object_type": "virtualization.cluster", - "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + "object_type": "virtualization.cluster" }, "comments": "", - "created": "2024-03-27T17:38:44.422957Z", "custom_fields": {}, "disk": null, "display": "test101-vm", - "id": "7c54b8ed-0230-42e8-a7a2-4ddb8e09632f", - "last_updated": "2024-03-27T17:38:44.422978Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "memory": null, "name": "test101-vm", - "natural_slug": "test-cluster__test101-vm_7c54", - "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/notes/", + "natural_slug": "test-cluster__test101-vm_68f2", "object_type": "virtualization.virtualmachine", "platform": null, "primary_ip4": null, @@ -2471,73 +1904,54 @@ "role": null, "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/", "vcpus": null }, "vrf": null }, { "bridge": null, - "created": "2024-03-27T17:38:45.784908Z", "custom_fields": {}, "description": "", "display": "Eth3", "enabled": true, - "id": "de89e19b-28d2-4449-82c0-df8866d014f5", "ip_addresses": [], - "last_updated": "2024-03-27T17:38:45.784930Z", "mac_address": null, "mode": null, "mtu": null, "name": "Eth3", - "natural_slug": "test-cluster__test101-vm_eth3_de89", - "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/de89e19b-28d2-4449-82c0-df8866d014f5/notes/", + "natural_slug": "test-cluster__test101-vm_eth3_4b7e", "object_type": "virtualization.vminterface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/virtualization/interfaces/de89e19b-28d2-4449-82c0-df8866d014f5/", "virtual_machine": { "cluster": { - "id": "6af71c22-6611-4079-9957-f078f504ebde", - "object_type": "virtualization.cluster", - "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + "object_type": "virtualization.cluster" }, "comments": "", - "created": "2024-03-27T17:38:44.422957Z", "custom_fields": {}, "disk": null, "display": "test101-vm", - "id": "7c54b8ed-0230-42e8-a7a2-4ddb8e09632f", - "last_updated": "2024-03-27T17:38:44.422978Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "memory": null, "name": "test101-vm", - "natural_slug": "test-cluster__test101-vm_7c54", - "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/notes/", + "natural_slug": "test-cluster__test101-vm_68f2", "object_type": "virtualization.virtualmachine", "platform": null, "primary_ip4": null, @@ -2545,73 +1959,54 @@ "role": null, "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/", "vcpus": null }, "vrf": null }, { "bridge": null, - "created": "2024-03-27T17:38:45.820145Z", "custom_fields": {}, "description": "", "display": "Eth4", "enabled": true, - "id": "a22ad719-a487-44a1-96e9-d38ca1ff3b29", "ip_addresses": [], - "last_updated": "2024-03-27T17:38:45.820169Z", "mac_address": null, "mode": null, "mtu": null, "name": "Eth4", - "natural_slug": "test-cluster__test101-vm_eth4_a22a", - "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/a22ad719-a487-44a1-96e9-d38ca1ff3b29/notes/", + "natural_slug": "test-cluster__test101-vm_eth4_82d6", "object_type": "virtualization.vminterface", "parent_interface": null, "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tagged_vlans": [], "tags": [], "untagged_vlan": null, - "url": "http://127.0.0.1:8000/api/virtualization/interfaces/a22ad719-a487-44a1-96e9-d38ca1ff3b29/", "virtual_machine": { "cluster": { - "id": "6af71c22-6611-4079-9957-f078f504ebde", - "object_type": "virtualization.cluster", - "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + "object_type": "virtualization.cluster" }, "comments": "", - "created": "2024-03-27T17:38:44.422957Z", "custom_fields": {}, "disk": null, "display": "test101-vm", - "id": "7c54b8ed-0230-42e8-a7a2-4ddb8e09632f", - "last_updated": "2024-03-27T17:38:44.422978Z", "local_config_context_data": null, "local_config_context_data_owner_content_type": null, "local_config_context_data_owner_object_id": null, "local_config_context_schema": null, "memory": null, "name": "test101-vm", - "natural_slug": "test-cluster__test101-vm_7c54", - "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/notes/", + "natural_slug": "test-cluster__test101-vm_68f2", "object_type": "virtualization.virtualmachine", "platform": null, "primary_ip4": null, @@ -2619,12 +2014,9 @@ "role": null, "software_version": null, "status": { - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "object_type": "extras.status" }, "tenant": null, - "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/", "vcpus": null }, "vrf": null @@ -2642,17 +2034,12 @@ "services": [], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -2677,17 +2064,12 @@ "services": [], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -2712,17 +2094,12 @@ "services": [], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -2742,17 +2119,12 @@ "services": [], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] } @@ -2760,29 +2132,29 @@ }, "all": { "children": [ - "ungrouped", - "locations_child_test_location", - "locations_parent_test_location", - "racks_main_test_rack", - "rack_group_parent_rack_group", - "rack_role_test_rack_role", + "cluster_group_test_cluster_group", + "cluster_test_cluster", + "cluster_test_cluster_2", + "cluster_type_test_cluster_type", "device_roles_core_switch", "device_types_cisco_test", - "manufacturers_cisco", - "status_active", + "device_types_nexus_parent", + "is_virtual", "location_parent_test_location", "location_parent_test_location_2", - "tenants_test_tenant", - "tenant_group_test_tenant_group", "locations_child_child_test_location", - "racks_sub_test_rack", + "locations_child_test_location", + "locations_parent_test_location", + "manufacturers_cisco", "rack_group_child_rack_group", - "device_types_nexus_parent", - "cluster_test_cluster", - "cluster_group_test_cluster_group", - "cluster_type_test_cluster_type", - "is_virtual", - "cluster_test_cluster_2" + "rack_group_parent_rack_group", + "rack_role_test_rack_role", + "racks_main_test_rack", + "racks_sub_test_rack", + "status_active", + "tenant_group_test_tenant_group", + "tenants_test_tenant", + "ungrouped" ] }, "cluster_group_test_cluster_group": { @@ -2803,33 +2175,33 @@ }, "cluster_test_cluster_2": { "hosts": [ - "test104-vm", - "Test VM With Spaces" + "Test VM With Spaces", + "test104-vm" ] }, "cluster_type_test_cluster_type": { "hosts": [ + "Test VM With Spaces", "test100-vm", "test101-vm", "test102-vm", "test103-vm", - "test104-vm", - "Test VM With Spaces" + "test104-vm" ] }, "device_roles_core_switch": { "hosts": [ "R1-Device", - "test100", + "Test Nexus One", "TestDeviceR1", - "Test Nexus One" + "test100" ] }, "device_types_cisco_test": { "hosts": [ "R1-Device", - "test100", - "TestDeviceR1" + "TestDeviceR1", + "test100" ] }, "device_types_nexus_parent": { @@ -2839,12 +2211,12 @@ }, "is_virtual": { "hosts": [ + "Test VM With Spaces", "test100-vm", "test101-vm", "test102-vm", "test103-vm", - "test104-vm", - "Test VM With Spaces" + "test104-vm" ] }, "location_child_test_location": { @@ -2870,9 +2242,9 @@ "locations_child_test_location": { "hosts": [ "R1-Device", - "test100", - "TestDeviceR1", "Test Nexus One", + "TestDeviceR1", + "test100", "test100-vm", "test101-vm", "test102-vm", @@ -2882,9 +2254,9 @@ "locations_parent_test_location": { "hosts": [ "R1-Device", - "test100", - "TestDeviceR1", "Test Nexus One", + "TestDeviceR1", + "test100", "test100-vm", "test101-vm", "test102-vm", @@ -2894,9 +2266,9 @@ "manufacturers_cisco": { "hosts": [ "R1-Device", - "test100", + "Test Nexus One", "TestDeviceR1", - "Test Nexus One" + "test100" ] }, "rack_group_child_rack_group": { @@ -2928,15 +2300,15 @@ "status_active": { "hosts": [ "R1-Device", - "test100", - "TestDeviceR1", "Test Nexus One", + "Test VM With Spaces", + "TestDeviceR1", + "test100", "test100-vm", "test101-vm", "test102-vm", "test103-vm", - "test104-vm", - "Test VM With Spaces" + "test104-vm" ] }, "tenant_group_test_tenant_group": { diff --git a/tests/integration/targets/inventory/files/test_2.2-3_plurals_flatten.json b/tests/integration/targets/inventory/files/test_2.2-3_plurals_flatten.json index 4e770824..08f75a6d 100644 --- a/tests/integration/targets/inventory/files/test_2.2-3_plurals_flatten.json +++ b/tests/integration/targets/inventory/files/test_2.2-3_plurals_flatten.json @@ -29,17 +29,12 @@ ], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -66,17 +61,12 @@ "primary_ip4": "172.16.180.11", "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -90,17 +80,12 @@ "locations": [], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -133,17 +118,12 @@ ], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -175,17 +155,12 @@ ], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [], "tenant_group": "Test Tenant Group", @@ -208,17 +183,12 @@ ], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -237,17 +207,12 @@ ], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -266,17 +231,12 @@ ], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -295,17 +255,12 @@ ], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] }, @@ -319,17 +274,12 @@ "locations": [], "status": { "color": "4caf50", - "created": "2024-03-27T00:00:00Z", "custom_fields": {}, "description": "Unit is active", "display": "Active", - "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", - "last_updated": "2024-03-27T17:37:43.694424Z", "name": "Active", - "natural_slug": "active_c337", - "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", - "object_type": "extras.status", - "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + "natural_slug": "active_e185", + "object_type": "extras.status" }, "tags": [] } @@ -338,38 +288,38 @@ "active": { "hosts": [ "R1-Device", - "test100", - "TestDeviceR1", "Test Nexus One", + "Test VM With Spaces", + "TestDeviceR1", + "test100", "test100-vm", "test101-vm", "test102-vm", "test103-vm", - "test104-vm", - "Test VM With Spaces" + "test104-vm" ] }, "all": { "children": [ - "ungrouped", - "parent_test_location", + "active", + "child_rack_group", + "cisco", + "cisco_test", + "core_switch", + "is_virtual", "main_test_rack", + "nexus_parent", "parent_rack_group", - "test_rack_role", - "core_switch", - "cisco_test", - "cisco", - "active", + "parent_test_location", "parent_test_location_2", - "test_tenant", "sub_test_rack", - "child_rack_group", - "nexus_parent", "test_cluster", + "test_cluster_2", "test_cluster_group", "test_cluster_type", - "is_virtual", - "test_cluster_2" + "test_rack_role", + "test_tenant", + "ungrouped" ] }, "child_child_test_location": { @@ -400,34 +350,34 @@ "cisco": { "hosts": [ "R1-Device", - "test100", + "Test Nexus One", "TestDeviceR1", - "Test Nexus One" + "test100" ] }, "cisco_test": { "hosts": [ "R1-Device", - "test100", - "TestDeviceR1" + "TestDeviceR1", + "test100" ] }, "core_switch": { "hosts": [ "R1-Device", - "test100", + "Test Nexus One", "TestDeviceR1", - "Test Nexus One" + "test100" ] }, "is_virtual": { "hosts": [ + "Test VM With Spaces", "test100-vm", "test101-vm", "test102-vm", "test103-vm", - "test104-vm", - "Test VM With Spaces" + "test104-vm" ] }, "main_test_rack": { @@ -481,8 +431,8 @@ }, "test_cluster_2": { "hosts": [ - "test104-vm", - "Test VM With Spaces" + "Test VM With Spaces", + "test104-vm" ] }, "test_cluster_group": { @@ -495,12 +445,12 @@ }, "test_cluster_type": { "hosts": [ + "Test VM With Spaces", "test100-vm", "test101-vm", "test102-vm", "test103-vm", - "test104-vm", - "Test VM With Spaces" + "test104-vm" ] }, "test_rack_role": { diff --git a/tests/integration/targets/latest/tasks/prefix.yml b/tests/integration/targets/latest/tasks/prefix.yml index 4c4a073b..9e15d4ce 100644 --- a/tests/integration/targets/latest/tasks/prefix.yml +++ b/tests/integration/targets/latest/tasks/prefix.yml @@ -236,29 +236,34 @@ - test_nine['prefix']['prefix'] == "10.157.0.0/19" - test_nine['prefix']['location'] == test_child_location['key'] -- name: "10 - Get a new /24 inside 10.157.0.0/19 within Nautobot with additional values" - networktocode.nautobot.prefix: - url: "{{ nautobot_url }}" - token: "{{ nautobot_token }}" - parent: 10.157.0.0/19 - prefix_length: 24 - location: - name: "Child Test Location" - parent: "Parent Test Location" - status: "Active" - state: present - first_available: yes - register: test_ten +- block: + - name: "10 - Get a new /24 inside 10.157.0.0/19 within Nautobot with additional values" + networktocode.nautobot.prefix: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + parent: 10.157.0.0/19 + prefix_length: 24 + location: + name: "Child Test Location" + parent: "Parent Test Location" + status: "Active" + state: present + first_available: yes + register: test_ten -- name: "10 - ASSERT" - assert: - that: - - test_ten is changed - - test_ten['diff']['before']['state'] == "absent" - - test_ten['diff']['after']['state'] == "present" - - test_ten['msg'] == "prefix 10.157.0.0/24 created" - - test_ten['prefix']['prefix'] == "10.157.0.0/24" - - test_ten['prefix']['location'] == test_child_location['key'] + - name: "10 - ASSERT" + assert: + that: + - test_ten is changed + - test_ten['diff']['before']['state'] == "absent" + - test_ten['diff']['after']['state'] == "present" + - test_ten['msg'] == "prefix 10.157.0.0/24 created" + - test_ten['prefix']['prefix'] == "10.157.0.0/24" + - test_ten['prefix']['location'] == test_child_location['key'] + when: + # Waiting on bug fix for API version in v2.2+ + # https://github.com/nautobot/nautobot/issues/5832 + - "nautobot_version is version('2.2', '<')" - name: "11 - Get a new /24 inside 10.156.0.0/19 within Nautobot" networktocode.nautobot.prefix: @@ -304,28 +309,33 @@ - test_twelve['prefix']['namespace'] == private_namespace['key'] - test_twelve['prefix']['location'] == test_child_location['key'] -- name: "13 - Get a new /24 inside 10.157.0.0/19 within Nautobot in Private namespace" - networktocode.nautobot.prefix: - url: "{{ nautobot_url }}" - token: "{{ nautobot_token }}" - parent: 10.157.0.0/19 - prefix_length: 24 - location: - name: "Child Test Location" - parent: "Parent Test Location" - namespace: Private - status: "Active" - state: present - first_available: yes - register: test_thirteen +- block: + - name: "13 - Get a new /24 inside 10.157.0.0/19 within Nautobot in Private namespace" + networktocode.nautobot.prefix: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + parent: 10.157.0.0/19 + prefix_length: 24 + location: + name: "Child Test Location" + parent: "Parent Test Location" + namespace: Private + status: "Active" + state: present + first_available: yes + register: test_thirteen -- name: "13 - ASSERT" - assert: - that: - - test_thirteen is changed - - test_thirteen['diff']['before']['state'] == "absent" - - test_thirteen['diff']['after']['state'] == "present" - - test_thirteen['msg'] == "prefix 10.157.0.0/24 created" - - test_thirteen['prefix']['prefix'] == "10.157.0.0/24" - - test_thirteen['prefix']['namespace'] == private_namespace['key'] - - test_thirteen['prefix']['location'] == test_child_location['key'] + - name: "13 - ASSERT" + assert: + that: + - test_thirteen is changed + - test_thirteen['diff']['before']['state'] == "absent" + - test_thirteen['diff']['after']['state'] == "present" + - test_thirteen['msg'] == "prefix 10.157.0.0/24 created" + - test_thirteen['prefix']['prefix'] == "10.157.0.0/24" + - test_thirteen['prefix']['namespace'] == private_namespace['key'] + - test_thirteen['prefix']['location'] == test_child_location['key'] + when: + # Waiting on bug fix for API version in v2.2+ + # https://github.com/nautobot/nautobot/issues/5832 + - "nautobot_version is version('2.2', '<')" \ No newline at end of file From abb587b5c376bd830a5e8b01e9feac7e820d7b64 Mon Sep 17 00:00:00 2001 From: Joe Wesch Date: Fri, 21 Jun 2024 09:33:33 -0500 Subject: [PATCH 008/102] Clean up --- development/docker-compose.yml | 1 - docker-compose.yml | 1 - tests/integration/targets/latest/tasks/vlan.yml | 4 ++-- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/development/docker-compose.yml b/development/docker-compose.yml index 720663bc..55ce96cf 100644 --- a/development/docker-compose.yml +++ b/development/docker-compose.yml @@ -5,7 +5,6 @@ x-nautobot-base: &nautobot-base - "dev.env" tty: true -version: "3.8" services: nautobot: build: diff --git a/docker-compose.yml b/docker-compose.yml index b61a9df6..d8a4c7e3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,5 +1,4 @@ --- -version: "3.4" x-args: &args PYTHON_VER: ${PYTHON_VER} diff --git a/tests/integration/targets/latest/tasks/vlan.yml b/tests/integration/targets/latest/tasks/vlan.yml index 568f223a..00687d80 100644 --- a/tests/integration/targets/latest/tasks/vlan.yml +++ b/tests/integration/targets/latest/tasks/vlan.yml @@ -202,7 +202,7 @@ vars: vlan_group2: "{{ lookup('networktocode.nautobot.lookup', 'vlan-groups', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=\"Test Vlan Group 2\"') }}" -- name: "VLAN 5: ASSERT - Delete more than one result" +- name: "VLAN 5: Delete more than one result" networktocode.nautobot.vlan: url: "{{ nautobot_url }}" token: "{{ nautobot_token }}" @@ -217,7 +217,7 @@ - test_five is failed - test_five['msg'] == "More than one result returned for Test VLAN 500" -- name: "VLAN 6: ASSERT - Delete" +- name: "VLAN 6: Delete" networktocode.nautobot.vlan: url: "{{ nautobot_url }}" token: "{{ nautobot_token }}" From f6daf49e9717864c690cc88bc1cbf5a508077c65 Mon Sep 17 00:00:00 2001 From: Joe Wesch Date: Tue, 25 Jun 2024 09:23:52 -0500 Subject: [PATCH 009/102] Adds vlan_location module --- plugins/lookup/lookup.py | 1 + plugins/module_utils/ipam.py | 3 + plugins/module_utils/utils.py | 4 + plugins/modules/vlan_location.py | 102 ++++++++++++++++++ tests/integration/nautobot-populate.py | 1 + .../integration/targets/latest/tasks/main.yml | 9 ++ .../targets/latest/tasks/vlan_location.yml | 90 ++++++++++++++++ 7 files changed, 210 insertions(+) create mode 100644 plugins/modules/vlan_location.py create mode 100644 tests/integration/targets/latest/tasks/vlan_location.yml diff --git a/plugins/lookup/lookup.py b/plugins/lookup/lookup.py index 175b1dd5..eccfa545 100644 --- a/plugins/lookup/lookup.py +++ b/plugins/lookup/lookup.py @@ -233,6 +233,7 @@ def get_endpoint(nautobot, term): "virtualization-interfaces": {"endpoint": nautobot.virtualization.interfaces}, "vlan-groups": {"endpoint": nautobot.ipam.vlan_groups}, "vlans": {"endpoint": nautobot.ipam.vlans}, + "vlan-location-assignments": {"endpoint": nautobot.ipam.vlan_location_assignments}, "vrfs": {"endpoint": nautobot.ipam.vrfs}, } diff --git a/plugins/module_utils/ipam.py b/plugins/module_utils/ipam.py index 605bbd58..e0530cc5 100644 --- a/plugins/module_utils/ipam.py +++ b/plugins/module_utils/ipam.py @@ -24,6 +24,7 @@ NB_ROUTE_TARGETS = "route_targets" NB_VLANS = "vlans" NB_VLAN_GROUPS = "vlan_groups" +NB_VLAN_LOCATIONS = "vlan_location_assignments" NB_VRFS = "vrfs" NB_SERVICES = "services" @@ -144,6 +145,8 @@ def run(self): name = data.get("address") elif self.endpoint in ["prefixes"]: name = data.get("prefix") + elif self.endpoint == "vlan_location_assignments": + name = data.get("display") else: name = data.get("name") diff --git a/plugins/module_utils/utils.py b/plugins/module_utils/utils.py index 3443ba33..7ec635df 100644 --- a/plugins/module_utils/utils.py +++ b/plugins/module_utils/utils.py @@ -83,6 +83,7 @@ "services", "vlans", "vlan_groups", + "vlan_location_assignments", "vrfs", ], plugins=[], @@ -206,6 +207,7 @@ "virtual_machine": "virtual_machines", "vlan": "vlans", "vlan_group": "vlan_groups", + "vlan_location_assignments": "vlan_location_assignments", "vm_interface": "interfaces", "vrf": "vrfs", } @@ -266,6 +268,7 @@ "virtual_machines": "virtual_machine", "vlans": "vlan", "vlan_groups": "vlan_group", + "vlan_location_assignments": "vlan_location_assignments", "vrfs": "vrf", } @@ -348,6 +351,7 @@ "virtual_machine": set(["name", "cluster"]), "vlan": set(["name", "location", "tenant", "vid", "vlan_group"]), "vlan_group": set(["name", "location"]), + "vlan_location_assignments": set(["vlan", "location"]), "vm_interface": set(["name", "virtual_machine"]), "vrf": set(["name", "namespace", "rd"]), } diff --git a/plugins/modules/vlan_location.py b/plugins/modules/vlan_location.py new file mode 100644 index 00000000..6be04fa0 --- /dev/null +++ b/plugins/modules/vlan_location.py @@ -0,0 +1,102 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# Copyright: (c) 2024, Network to Code (@networktocode) +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + +DOCUMENTATION = r""" +--- +module: vlan_location +short_description: Create, update or delete Location assignments to VLANs within Nautobot +description: + - Create, update or delete Location assignments to VLANs within Nautobot +notes: + - This module requires Nautobot v2.2+ + - This should be ran with connection C(local) and hosts C(localhost) +author: + - Joe Wesch (@joewesch) +version_added: "5.3.0" +extends_documentation_fragment: + - networktocode.nautobot.fragments.base +options: + vlan: + description: + - The VLAN to associate with the location + required: true + type: raw + location: + description: + - The location the VLAN will be associated to + required: true + type: raw +""" + +EXAMPLES = r""" +- name: "Test Nautobot modules" + connection: local + hosts: localhost + gather_facts: False + + tasks: + - name: Assign Location to VLAN + networktocode.nautobot.vlan: + url: http://nautobot.local + token: thisIsMyToken + vlan: Test VLAN + location: + name: My Child Location + parent: My Parent Location + state: present + + - name: Unassign Location from VLAN + networktocode.nautobot.vlan: + url: http://nautobot.local + token: thisIsMyToken + vlan: Test VLAN + location: My Location + state: absent +""" + +RETURN = r""" +vlan: + description: Serialized object as created or already existent within Nautobot + returned: success (when I(state=present)) + type: dict +msg: + description: Message indicating failure or info about what has been achieved + returned: always + type: str +""" + +from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import NAUTOBOT_ARG_SPEC +from ansible_collections.networktocode.nautobot.plugins.module_utils.ipam import ( + NautobotIpamModule, + NB_VLAN_LOCATIONS, +) +from ansible.module_utils.basic import AnsibleModule +from copy import deepcopy + + +def main(): + """ + Main entry point for module execution + """ + argument_spec = deepcopy(NAUTOBOT_ARG_SPEC) + argument_spec.update( + dict( + vlan=dict(required=True, type="raw"), + location=dict(required=True, type="raw"), + ) + ) + + module = AnsibleModule(argument_spec=argument_spec, supports_check_mode=True) + + vlan = NautobotIpamModule(module, NB_VLAN_LOCATIONS) + vlan.run() + + +if __name__ == "__main__": # pragma: no cover + main() diff --git a/tests/integration/nautobot-populate.py b/tests/integration/nautobot-populate.py index 04640ce2..c3b2778c 100755 --- a/tests/integration/nautobot-populate.py +++ b/tests/integration/nautobot-populate.py @@ -187,6 +187,7 @@ def make_nautobot_calls(endpoint, payload): "vlan_group": test_vlan_group.id, "status": {"name": "Active"}, }, + {"name": "Test VLAN 600", "vid": 600, "status": {"name": "Active"}}, ] created_vlans = make_nautobot_calls(nb.ipam.vlans, vlans) diff --git a/tests/integration/targets/latest/tasks/main.yml b/tests/integration/targets/latest/tasks/main.yml index 80784d29..d497f62d 100644 --- a/tests/integration/targets/latest/tasks/main.yml +++ b/tests/integration/targets/latest/tasks/main.yml @@ -520,3 +520,12 @@ - namespace tags: - namespace + +- name: "PYNAUTOBOT_VLAN_LOCATION TESTS" + include_tasks: + file: "vlan_location.yml" + apply: + tags: + - vlan_location + tags: + - vlan_location diff --git a/tests/integration/targets/latest/tasks/vlan_location.yml b/tests/integration/targets/latest/tasks/vlan_location.yml new file mode 100644 index 00000000..74dfe6a1 --- /dev/null +++ b/tests/integration/targets/latest/tasks/vlan_location.yml @@ -0,0 +1,90 @@ +--- +## +## +### PYNAUTOBOT_VLAN_LOCATION +## +## +- block: + - set_fact: + test_vlan: "{{ lookup('networktocode.nautobot.lookup', 'vlans', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=\"Test VLAN 600\"') }}" + test_location: "{{ lookup('networktocode.nautobot.lookup', 'locations', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=\"Child Test Location\" parent=\"Parent Test Location\"') }}" + + - name: "VLAN Location 1: Create VLAN Location assignment" + networktocode.nautobot.vlan_location: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + vlan: Test VLAN 600 + location: + name: Child Test Location + parent: Parent Test Location + state: present + register: test_one + + - name: "VLAN Location 1: ASSERT - Create VLAN Location assignment" + assert: + that: + - test_one is changed + - test_one['diff']['before']['state'] == "absent" + - test_one['diff']['after']['state'] == "present" + - test_one['vlan_location_assignments']['vlan'] == test_vlan['key'] + - test_one['vlan_location_assignments']['location'] == test_location['key'] + - test_one['msg'] == "vlan_location_assignments Test VLAN 600 (600): Child Test Location created" + + - name: "VLAN Location 2: Create idempotent" + networktocode.nautobot.vlan_location: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + vlan: Test VLAN 600 + location: + name: Child Test Location + parent: Parent Test Location + state: present + register: test_two + + - name: "VLAN Location 2: ASSERT - Create idempotent" + assert: + that: + - not test_two['changed'] + - test_two['vlan_location_assignments']['vlan'] == test_vlan['key'] + - test_two['vlan_location_assignments']['location'] == test_location['key'] + - test_two['msg'] == "vlan_location_assignments Test VLAN 600 (600): Child Test Location already exists" + + - name: "VLAN Location 3: Delete VLAN Location assignment" + networktocode.nautobot.vlan_location: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + vlan: Test VLAN 600 + location: + name: Child Test Location + parent: Parent Test Location + state: absent + register: test_three + + - name: "VLAN Location 3: ASSERT - Delete VLAN Location assignment" + assert: + that: + - test_three is changed + - test_three['diff']['before']['state'] == "present" + - test_three['diff']['after']['state'] == "absent" + - "'deleted' in test_three['msg']" + + - name: "VLAN Location 4: Delete idempotent" + networktocode.nautobot.vlan_location: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + vlan: Test VLAN 600 + location: + name: Child Test Location + parent: Parent Test Location + state: absent + register: test_four + + - name: "VLAN Location 4: ASSERT - Delete idempotent" + assert: + that: + - not test_four['changed'] + - "'already absent' in test_four['msg']" + + when: + # VLAN to Location assignments are only in Nautobot v2.2+ + - "nautobot_version is version('2.2', '>=')" From 7c97967769043f570394051c59de825d6e54e999 Mon Sep 17 00:00:00 2001 From: Joe Wesch Date: Tue, 25 Jun 2024 10:05:15 -0500 Subject: [PATCH 010/102] Fixes copy pasta --- plugins/modules/vlan_location.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/plugins/modules/vlan_location.py b/plugins/modules/vlan_location.py index 6be04fa0..29be9231 100644 --- a/plugins/modules/vlan_location.py +++ b/plugins/modules/vlan_location.py @@ -42,7 +42,7 @@ tasks: - name: Assign Location to VLAN - networktocode.nautobot.vlan: + networktocode.nautobot.vlan_location: url: http://nautobot.local token: thisIsMyToken vlan: Test VLAN @@ -52,7 +52,7 @@ state: present - name: Unassign Location from VLAN - networktocode.nautobot.vlan: + networktocode.nautobot.vlan_location: url: http://nautobot.local token: thisIsMyToken vlan: Test VLAN @@ -61,7 +61,7 @@ """ RETURN = r""" -vlan: +vlan_location_assignments: description: Serialized object as created or already existent within Nautobot returned: success (when I(state=present)) type: dict @@ -94,8 +94,8 @@ def main(): module = AnsibleModule(argument_spec=argument_spec, supports_check_mode=True) - vlan = NautobotIpamModule(module, NB_VLAN_LOCATIONS) - vlan.run() + vlan_location = NautobotIpamModule(module, NB_VLAN_LOCATIONS) + vlan_location.run() if __name__ == "__main__": # pragma: no cover From 9f48dfb8c685743398ca23f822a658f340afaac4 Mon Sep 17 00:00:00 2001 From: Joe Wesch Date: Tue, 25 Jun 2024 10:21:09 -0500 Subject: [PATCH 011/102] Removes unnecessary conversion entry --- plugins/module_utils/utils.py | 1 - 1 file changed, 1 deletion(-) diff --git a/plugins/module_utils/utils.py b/plugins/module_utils/utils.py index 7ec635df..bf20947a 100644 --- a/plugins/module_utils/utils.py +++ b/plugins/module_utils/utils.py @@ -207,7 +207,6 @@ "virtual_machine": "virtual_machines", "vlan": "vlans", "vlan_group": "vlan_groups", - "vlan_location_assignments": "vlan_location_assignments", "vm_interface": "interfaces", "vrf": "vrfs", } From f8b0821f562ef756e9998231c10a1133a07efdc1 Mon Sep 17 00:00:00 2001 From: Joe Wesch Date: Thu, 11 Jul 2024 21:21:02 -0500 Subject: [PATCH 012/102] Adds Contacts and Teams modules --- plugins/lookup/lookup.py | 2 + plugins/module_utils/extras.py | 2 + plugins/module_utils/utils.py | 10 ++ plugins/modules/contact.py | 135 +++++++++++++++ plugins/modules/team.py | 135 +++++++++++++++ tests/integration/nautobot-populate.py | 12 ++ .../targets/latest/tasks/contact.yml | 150 +++++++++++++++++ .../integration/targets/latest/tasks/main.yml | 18 ++ .../integration/targets/latest/tasks/team.yml | 154 ++++++++++++++++++ 9 files changed, 618 insertions(+) create mode 100644 plugins/modules/contact.py create mode 100644 plugins/modules/team.py create mode 100644 tests/integration/targets/latest/tasks/contact.yml create mode 100644 tests/integration/targets/latest/tasks/team.yml diff --git a/plugins/lookup/lookup.py b/plugins/lookup/lookup.py index eccfa545..92c169a8 100644 --- a/plugins/lookup/lookup.py +++ b/plugins/lookup/lookup.py @@ -178,6 +178,7 @@ def get_endpoint(nautobot, term): "console-ports": {"endpoint": nautobot.dcim.console_ports}, "console-server-port-templates": {"endpoint": nautobot.dcim.console_server_port_templates}, "console-server-ports": {"endpoint": nautobot.dcim.console_server_ports}, + "contacts": {"endpoint": nautobot.extras.contacts}, "custom-fields": {"endpoint": nautobot.extras.custom_fields}, "custom-field-choices": {"endpoint": nautobot.extras.custom_field_choices}, "device-bay-templates": {"endpoint": nautobot.dcim.device_bay_templates}, @@ -225,6 +226,7 @@ def get_endpoint(nautobot, term): "services": {"endpoint": nautobot.ipam.services}, "statuses": {"endpoint": nautobot.extras.statuses}, "tags": {"endpoint": nautobot.extras.tags}, + "teams": {"endpoint": nautobot.extras.teams}, "tenant-groups": {"endpoint": nautobot.tenancy.tenant_groups}, "tenants": {"endpoint": nautobot.tenancy.tenants}, "topology-maps": {"endpoint": nautobot.extras.topology_maps}, diff --git a/plugins/module_utils/extras.py b/plugins/module_utils/extras.py index 13e8505f..a104c7ac 100644 --- a/plugins/module_utils/extras.py +++ b/plugins/module_utils/extras.py @@ -15,6 +15,8 @@ NB_RELATIONSHIP_ASSOCIATIONS = "relationship_associations" NB_CUSTOM_FIELDS = "custom_fields" NB_CUSTOM_FIELD_CHOICES = "custom_field_choices" +NB_CONTACT = "contacts" +NB_TEAM = "teams" class NautobotExtrasModule(NautobotModule): diff --git a/plugins/module_utils/utils.py b/plugins/module_utils/utils.py index bf20947a..36700a60 100644 --- a/plugins/module_utils/utils.py +++ b/plugins/module_utils/utils.py @@ -66,12 +66,14 @@ "virtual_chassis", ], extras=[ + "contacts", "custom_fields", "custom_field_choices", "relationship_associations", "roles", "statuses", "tags", + "teams", ], ipam=[ "ip_addresses", @@ -150,6 +152,7 @@ "cluster": "clusters", "cluster_group": "cluster_groups", "cluster_type": "cluster_types", + "contacts": "contacts", "dcim.consoleport": "console_ports", "dcim.consoleserverport": "console_server_ports", "dcim.frontport": "front_ports", @@ -198,6 +201,7 @@ "status": "statuses", "tags": "tags", "tagged_vlans": "vlans", + "teams": "teams", "tenant": "tenants", "tenant_group": "tenant_groups", "termination_a": "interfaces", @@ -223,6 +227,7 @@ "console_port_templates": "console_port_template", "console_server_ports": "console_server_port", "console_server_port_templates": "console_server_port_template", + "contacts": "contact", "custom_fields": "custom_field", "custom_field_choices": "custom_field_choice", "device_bays": "device_bay", @@ -261,6 +266,7 @@ "services": "services", "statuses": "statuses", "tags": "tags", + "teams": "team", "tenants": "tenant", "tenant_groups": "tenant_group", "virtual_chassis": "virtual_chassis", @@ -284,6 +290,8 @@ "console_port_template": set(["name", "device_type"]), "console_server_port": set(["name", "device"]), "console_server_port_template": set(["name", "device_type"]), + "contact": set(["name", "phone", "email"]), + "contacts": set(["name", "phone", "email"]), "custom_field": set(["label"]), "custom_field_choice": set(["value", "custom_field"]), "dcim.consoleport": set(["name", "device"]), @@ -341,6 +349,8 @@ "statuses": set(["name"]), "tags": set(["name"]), "tagged_vlans": set(["group", "name", "location", "vid", "vlan_group", "tenant"]), + "team": set(["name", "phone", "email"]), + "teams": set(["name", "phone", "email"]), "tenant": set(["name"]), "tenant_group": set(["name"]), "termination_a": set(["name", "device", "virtual_machine"]), diff --git a/plugins/modules/contact.py b/plugins/modules/contact.py new file mode 100644 index 00000000..9dfe1450 --- /dev/null +++ b/plugins/modules/contact.py @@ -0,0 +1,135 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# Copyright: (c) 2024, Network to Code (@networktocode) +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + +DOCUMENTATION = r""" +--- +module: contact +short_description: Creates or removes contacts from Nautobot +description: + - Creates or removes contacts from Nautobot +notes: + - Tags should be defined as a YAML list + - This should be ran with connection C(local) and hosts C(localhost) +author: + - Joe Wesch (@joewesch) +requirements: + - pynautobot +version_added: "5.3.0" +extends_documentation_fragment: + - networktocode.nautobot.fragments.base + - networktocode.nautobot.fragments.tags + - networktocode.nautobot.fragments.custom_fields +options: + name: + description: + - The name of the contact + required: true + type: str + phone: + description: + - The phone number of the contact + required: false + type: str + email: + description: + - The email of the contact + required: false + type: str + address: + description: + - The address of the contact + required: false + type: str + teams: + description: + - The teams the contact is associated with + required: false + type: list + elements: raw + comments: + description: + - Comments about the contact + required: false + type: str +""" + +EXAMPLES = r""" +--- +- name: Create a contact + networktocode.nautobot.contact: + url: http://nautobot.local + token: thisIsMyToken + name: My Contact + phone: 123-456-7890 + email: user@example.com + address: 1234 Main St + teams: + - name: team1 + - name: team2 + comments: My Comments + tags: + - tag1 + - tag2 + custom_fields: + my_custom_field: my_value + state: present + +- name: Delete a contact + networktocode.nautobot.contact: + url: http://nautobot.local + token: thisIsMyToken + name: My Contact + state: absent +""" + +RETURN = r""" +contact: + description: Serialized object as created or already existent within Nautobot + returned: success (when I(state=present)) + type: dict +msg: + description: Message indicating failure or info about what has been achieved + returned: always + type: str +""" + +from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import NAUTOBOT_ARG_SPEC +from ansible_collections.networktocode.nautobot.plugins.module_utils.extras import ( + NautobotExtrasModule, + NB_CONTACT, +) +from ansible.module_utils.basic import AnsibleModule +from copy import deepcopy + + +def main(): + """ + Main entry point for module execution + """ + argument_spec = deepcopy(NAUTOBOT_ARG_SPEC) + argument_spec.update( + dict( + name=dict(required=True, type="str"), + phone=dict(required=False, type="str"), + email=dict(required=False, type="str"), + address=dict(required=False, type="str"), + teams=dict(required=False, type="list", elements="raw"), + comments=dict(required=False, type="str"), + tags=dict(required=False, type="list", elements="raw"), + custom_fields=dict(required=False, type="dict"), + ) + ) + + module = AnsibleModule(argument_spec=argument_spec, supports_check_mode=True) + contact = NautobotExtrasModule(module, NB_CONTACT) + contact.run() + + +if __name__ == "__main__": # pragma: no cover + main() diff --git a/plugins/modules/team.py b/plugins/modules/team.py new file mode 100644 index 00000000..fc886703 --- /dev/null +++ b/plugins/modules/team.py @@ -0,0 +1,135 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# Copyright: (c) 2024, Network to Code (@networktocode) +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + +DOCUMENTATION = r""" +--- +module: team +short_description: Creates or removes teams from Nautobot +description: + - Creates or removes teams from Nautobot +notes: + - Tags should be defined as a YAML list + - This should be ran with connection C(local) and hosts C(localhost) +author: + - Joe Wesch (@joewesch) +requirements: + - pynautobot +version_added: "5.3.0" +extends_documentation_fragment: + - networktocode.nautobot.fragments.base + - networktocode.nautobot.fragments.tags + - networktocode.nautobot.fragments.custom_fields +options: + name: + description: + - The name of the team + required: true + type: str + phone: + description: + - The phone number of the team + required: false + type: str + email: + description: + - The email of the team + required: false + type: str + address: + description: + - The address of the team + required: false + type: str + contacts: + description: + - The contacts the team is associated with + required: false + type: list + elements: raw + comments: + description: + - Comments about the team + required: false + type: str +""" + +EXAMPLES = r""" +--- +- name: Create a team + networktocode.nautobot.team: + url: http://nautobot.local + token: thisIsMyToken + name: My Team + phone: 123-456-7890 + email: user@example.com + address: 1234 Main St + contacts: + - name: contact1 + - name: contact2 + comments: My Comments + tags: + - tag1 + - tag2 + custom_fields: + my_custom_field: my_value + state: present + +- name: Delete a team + networktocode.nautobot.team: + url: http://nautobot.local + token: thisIsMyToken + name: My Team + state: absent +""" + +RETURN = r""" +team: + description: Serialized object as created or already existent within Nautobot + returned: success (when I(state=present)) + type: dict +msg: + description: Message indicating failure or info about what has been achieved + returned: always + type: str +""" + +from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import NAUTOBOT_ARG_SPEC +from ansible_collections.networktocode.nautobot.plugins.module_utils.extras import ( + NautobotExtrasModule, + NB_TEAM, +) +from ansible.module_utils.basic import AnsibleModule +from copy import deepcopy + + +def main(): + """ + Main entry point for module execution + """ + argument_spec = deepcopy(NAUTOBOT_ARG_SPEC) + argument_spec.update( + dict( + name=dict(required=True, type="str"), + phone=dict(required=False, type="str"), + email=dict(required=False, type="str"), + address=dict(required=False, type="str"), + contacts=dict(required=False, type="list", elements="raw"), + comments=dict(required=False, type="str"), + tags=dict(required=False, type="list", elements="raw"), + custom_fields=dict(required=False, type="dict"), + ) + ) + + module = AnsibleModule(argument_spec=argument_spec, supports_check_mode=True) + team = NautobotExtrasModule(module, NB_TEAM) + team.run() + + +if __name__ == "__main__": # pragma: no cover + main() diff --git a/tests/integration/nautobot-populate.py b/tests/integration/nautobot-populate.py index c3b2778c..c4fdc671 100755 --- a/tests/integration/nautobot-populate.py +++ b/tests/integration/nautobot-populate.py @@ -597,5 +597,17 @@ def make_nautobot_calls(endpoint, payload): ] created_custom_fields = make_nautobot_calls(nb.extras.custom_fields, custom_fields) +############### +# v2.2+ items # +############### +if nautobot_version > version.parse("2.1"): + # Create Teams + teams = [{"name": "My Test Team"}] + created_teams = make_nautobot_calls(nb.extras.teams, teams) + + # Create Contacts + contacts = [{"name": "My Contact"}, {"name": "My Contact 2"}] + created_contacts = make_nautobot_calls(nb.extras.contacts, contacts) + if ERRORS: sys.exit("Errors have occurred when creating objects, and should have been printed out. Check previous output.") diff --git a/tests/integration/targets/latest/tasks/contact.yml b/tests/integration/targets/latest/tasks/contact.yml new file mode 100644 index 00000000..9f6babb4 --- /dev/null +++ b/tests/integration/targets/latest/tasks/contact.yml @@ -0,0 +1,150 @@ +--- +## +## +### PYNAUTOBOT_CONTACT +## +## +- block: + - set_fact: + test_team: "{{ lookup('networktocode.nautobot.lookup', 'teams', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=\"My Test Team\"') }}" + + - name: "1 - Create contact within Nautobot with only required information" + networktocode.nautobot.contact: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + name: Test Contact + register: test_create_min + + - name: "1 - ASSERT" + assert: + that: + - test_create_min is changed + - test_create_min['diff']['before']['state'] == "absent" + - test_create_min['diff']['after']['state'] == "present" + - test_create_min['contact']['name'] == "Test Contact" + - test_create_min['msg'] == "contact Test Contact created" + + - name: "2 - Duplicate" + networktocode.nautobot.contact: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + name: Test Contact + + register: test_create_idem + - name: "2 - ASSERT" + assert: + that: + - not test_create_idem['changed'] + - test_create_idem['msg'] == "contact Test Contact already exists" + - test_create_idem['contact']['name'] == "Test Contact" + + - name: "3 - Update contact" + networktocode.nautobot.contact: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + name: Test Contact + comments: Test Comments + register: test_update + + - name: "3 - ASSERT" + assert: + that: + - test_update is changed + - test_update['diff']['before']['comments'] == "" + - test_update['diff']['after']['comments'] == "Test Comments" + + - name: "4 - Update idempotent" + networktocode.nautobot.contact: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + name: Test Contact + comments: Test Comments + register: test_update_idem + + - name: "4 - ASSERT" + assert: + that: + - not test_update_idem['changed'] + - test_update_idem['msg'] == "contact Test Contact already exists" + - test_update_idem['contact']['name'] == "Test Contact" + + - name: "5 - Create contact with all parameters" + networktocode.nautobot.contact: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + name: Test Contact 2 + phone: "123456789" + email: user@example.com + address: Test Address + teams: + - name: My Test Team + comments: Test Comments + register: test_create_max + + - name: "5 - ASSERT" + assert: + that: + - test_create_max is changed + - test_create_max['diff']['before']['state'] == "absent" + - test_create_max['diff']['after']['state'] == "present" + - test_create_max['contact']['name'] == "Test Contact 2" + - test_create_max['contact']['phone'] == "123456789" + - test_create_max['contact']['email'] == "user@example.com" + - test_create_max['contact']['address'] == "Test Address" + - test_create_max['contact']['teams'][0] == test_team['key'] + - test_create_max['contact']['comments'] == "Test Comments" + + - name: "6 - Duplicate create with all parameters" + networktocode.nautobot.contact: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + name: Test Contact 2 + phone: "123456789" + email: user@example.com + address: Test Address + teams: + - name: My Test Team + comments: Test Comments + register: test_create_max_idem + + - name: "6 - ASSERT" + assert: + that: + - not test_create_max_idem['changed'] + - test_create_max_idem['msg'] == "contact Test Contact 2 already exists" + - test_create_max_idem['contact']['name'] == "Test Contact 2" + + - name: "7 - Delete contact" + networktocode.nautobot.contact: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + name: Test Contact 2 + state: absent + register: test_delete + + - name: "7 - ASSERT" + assert: + that: + - test_delete is changed + - test_delete['diff']['before']['state'] == "present" + - test_delete['diff']['after']['state'] == "absent" + - test_delete['contact']['name'] == "Test Contact 2" + - "'deleted' in test_delete['msg']" + + - name: "8 - Delete idempotent" + networktocode.nautobot.contact: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + name: Test Contact 2 + state: absent + register: test_delete_idem + + - name: "8 - ASSERT" + assert: + that: + - not test_delete_idem['changed'] + - "'already absent' in test_delete_idem['msg']" + + when: + # Contacts are only available on Nautobot 2.2+ + - "nautobot_version is version('2.2', '>=')" diff --git a/tests/integration/targets/latest/tasks/main.yml b/tests/integration/targets/latest/tasks/main.yml index d497f62d..53cf0740 100644 --- a/tests/integration/targets/latest/tasks/main.yml +++ b/tests/integration/targets/latest/tasks/main.yml @@ -529,3 +529,21 @@ - vlan_location tags: - vlan_location + +- name: "PYNAUTOBOT_CONTACT TESTS" + include_tasks: + file: "contact.yml" + apply: + tags: + - contact + tags: + - contact + +- name: "PYNAUTOBOT_TEAM TESTS" + include_tasks: + file: "team.yml" + apply: + tags: + - team + tags: + - team diff --git a/tests/integration/targets/latest/tasks/team.yml b/tests/integration/targets/latest/tasks/team.yml new file mode 100644 index 00000000..c9f0f88a --- /dev/null +++ b/tests/integration/targets/latest/tasks/team.yml @@ -0,0 +1,154 @@ +--- +## +## +### PYNAUTOBOT_TEAM +## +## +- block: + - set_fact: + test_contact: "{{ lookup('networktocode.nautobot.lookup', 'contacts', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=\"My Contact\"') }}" + test_contact2: "{{ lookup('networktocode.nautobot.lookup', 'contacts', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=\"My Contact 2\"') }}" + + - name: "1 - Create team within Nautobot with only required information" + networktocode.nautobot.team: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + name: Test Team + register: test_create_min + + - name: "1 - ASSERT" + assert: + that: + - test_create_min is changed + - test_create_min['diff']['before']['state'] == "absent" + - test_create_min['diff']['after']['state'] == "present" + - test_create_min['team']['name'] == "Test Team" + - test_create_min['msg'] == "team Test Team created" + + - name: "2 - Duplicate" + networktocode.nautobot.team: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + name: Test Team + + register: test_create_idem + - name: "2 - ASSERT" + assert: + that: + - not test_create_idem['changed'] + - test_create_idem['msg'] == "team Test Team already exists" + - test_create_idem['team']['name'] == "Test Team" + + - name: "3 - Update team" + networktocode.nautobot.team: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + name: Test Team + comments: Test Comments + register: test_update + + - name: "3 - ASSERT" + assert: + that: + - test_update is changed + - test_update['diff']['before']['comments'] == "" + - test_update['diff']['after']['comments'] == "Test Comments" + + - name: "4 - Update idempotent" + networktocode.nautobot.team: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + name: Test Team + comments: Test Comments + register: test_update_idem + + - name: "4 - ASSERT" + assert: + that: + - not test_update_idem['changed'] + - test_update_idem['msg'] == "team Test Team already exists" + - test_update_idem['team']['name'] == "Test Team" + + - name: "5 - Create team with all parameters" + networktocode.nautobot.team: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + name: Test Team 2 + phone: "123456789" + email: user@example.com + address: Test Address + contacts: + - name: My Contact + - name: My Contact 2 + comments: Test Comments + register: test_create_max + + - name: "5 - ASSERT" + assert: + that: + - test_create_max is changed + - test_create_max['diff']['before']['state'] == "absent" + - test_create_max['diff']['after']['state'] == "present" + - test_create_max['team']['name'] == "Test Team 2" + - test_create_max['team']['phone'] == "123456789" + - test_create_max['team']['email'] == "user@example.com" + - test_create_max['team']['address'] == "Test Address" + - test_create_max['team']['contacts'][0] == test_contact['key'] + - test_create_max['team']['contacts'][1] == test_contact2['key'] + - test_create_max['team']['comments'] == "Test Comments" + + - name: "6 - Duplicate create with all parameters" + networktocode.nautobot.team: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + name: Test Team 2 + phone: "123456789" + email: user@example.com + address: Test Address + contacts: + - name: My Contact + - name: My Contact 2 + comments: Test Comments + register: test_create_max_idem + + - name: "6 - ASSERT" + assert: + that: + - not test_create_max_idem['changed'] + - test_create_max_idem['msg'] == "team Test Team 2 already exists" + - test_create_max_idem['team']['name'] == "Test Team 2" + + - name: "7 - Delete team" + networktocode.nautobot.team: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + name: Test Team 2 + state: absent + register: test_delete + + - name: "7 - ASSERT" + assert: + that: + - test_delete is changed + - test_delete['diff']['before']['state'] == "present" + - test_delete['diff']['after']['state'] == "absent" + - test_delete['team']['name'] == "Test Team 2" + - "'deleted' in test_delete['msg']" + + - name: "8 - Delete idempotent" + networktocode.nautobot.team: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + name: Test Team 2 + state: absent + register: test_delete_idem + + - name: "8 - ASSERT" + assert: + that: + - not test_delete_idem['changed'] + - "'already absent' in test_delete_idem['msg']" + + when: + # Teams are only available on Nautobot 2.2+ + - "nautobot_version is version('2.2', '>=')" From b55a7ebb5e80af907dc23004e960aa8b592cd8d8 Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Sat, 13 Jul 2024 21:06:41 -0500 Subject: [PATCH 013/102] Updates environment to work on latest python. --- poetry.lock | 504 +++++++++++++++++++++++++------------------------ pyproject.toml | 2 +- 2 files changed, 262 insertions(+), 244 deletions(-) diff --git a/poetry.lock b/poetry.lock index 7c67e6e3..81b78c7e 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,14 +1,14 @@ -# This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. [[package]] name = "aiofiles" -version = "23.2.1" +version = "24.1.0" description = "File support for asyncio." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "aiofiles-23.2.1-py3-none-any.whl", hash = "sha256:19297512c647d4b27a2cf7c34caa7e405c0d60b5560618a29a9fe027b18b0107"}, - {file = "aiofiles-23.2.1.tar.gz", hash = "sha256:84ec2218d8419404abcb9f0c02df3f34c6e0a68ed41072acfb1cef5cbc29051a"}, + {file = "aiofiles-24.1.0-py3-none-any.whl", hash = "sha256:b4ec55f4195e3eb5d7abd1bf7e061763e864dd4954231fb8539a0ef8bb8260e5"}, + {file = "aiofiles-24.1.0.tar.gz", hash = "sha256:22a075c9e5a3810f0c2e48f3008c94d68c65d763b9b03857924c99e57355166c"}, ] [[package]] @@ -134,24 +134,24 @@ files = [ [[package]] name = "annotated-types" -version = "0.6.0" +version = "0.7.0" description = "Reusable constraint types to use with typing.Annotated" optional = false python-versions = ">=3.8" files = [ - {file = "annotated_types-0.6.0-py3-none-any.whl", hash = "sha256:0641064de18ba7a25dee8f96403ebc39113d0cb953a01429249d5c7564666a43"}, - {file = "annotated_types-0.6.0.tar.gz", hash = "sha256:563339e807e53ffd9c267e99fc6d9ea23eb8443c08f112651963e24e22f84a5d"}, + {file = "annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53"}, + {file = "annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89"}, ] [[package]] name = "ansible-core" -version = "2.15.11" +version = "2.15.12" description = "Radically simple IT automation" optional = false python-versions = ">=3.9" files = [ - {file = "ansible_core-2.15.11-py3-none-any.whl", hash = "sha256:8368f64e6596f009ddf308eab8ac32ae1e2642ec5c0d4c03366e673de14f144c"}, - {file = "ansible_core-2.15.11.tar.gz", hash = "sha256:b7761454c923f63a3d1fcac97b14e378bcc9a8518c3dde07f3ec0988c4667a9d"}, + {file = "ansible_core-2.15.12-py3-none-any.whl", hash = "sha256:390edd603420122f7cb1c470d8d1f8bdbbd795a1844dd03c1917db21935aecb9"}, + {file = "ansible_core-2.15.12.tar.gz", hash = "sha256:5fde82cd3928d9857ad880782c644f27d3168b0f25321d5a8d6befa524aa1818"}, ] [package.dependencies] @@ -196,13 +196,13 @@ jinja2 = "*" [[package]] name = "antsibull-changelog" -version = "0.26.0" +version = "0.29.0" description = "Changelog tool for Ansible-core and Ansible collections" optional = false python-versions = ">=3.9.0" files = [ - {file = "antsibull_changelog-0.26.0-py3-none-any.whl", hash = "sha256:0a6aa5327790e89a686872fd452a9c31be288a3cb2deb9cc23eb3fc5ea7f0a19"}, - {file = "antsibull_changelog-0.26.0.tar.gz", hash = "sha256:8060c438d9fb5a1025a1e98d4de0ce8d897be6e0c21014216151b93f4e4891ff"}, + {file = "antsibull_changelog-0.29.0-py3-none-any.whl", hash = "sha256:992533e66c908929a79f4881cb8e668b9f3e90e12bf16a8bcb7a9e43d4fb3b37"}, + {file = "antsibull_changelog-0.29.0.tar.gz", hash = "sha256:b86d7e8e1a4f5ea7022f016efde2693262efe8bdf78be7f1b6e26f9673a6c70e"}, ] [package.dependencies] @@ -215,7 +215,7 @@ semantic-version = "*" [package.extras] codeqa = ["flake8 (>=3.8.0)", "pylint", "reuse"] coverage = ["coverage[toml]"] -dev = ["antsibull-changelog[codeqa]", "antsibull-changelog[coverage]", "antsibull-changelog[formatters]", "antsibull-changelog[test]", "antsibull-changelog[typing]", "nox"] +dev = ["black (>=24)", "coverage[toml]", "flake8 (>=3.8.0)", "isort", "mypy", "nox", "pylint", "pyre-check (>=0.9.17)", "pytest", "pytest-cov", "pytest-error-for-skips", "reuse", "types-docutils", "types-pyyaml", "types-toml"] formatters = ["black (>=24)", "isort"] test = ["pytest", "pytest-cov", "pytest-error-for-skips"] toml = ["tomli"] @@ -326,13 +326,13 @@ tests-no-zope = ["attrs[tests-mypy]", "cloudpickle", "hypothesis", "pympler", "p [[package]] name = "babel" -version = "2.14.0" +version = "2.15.0" description = "Internationalization utilities" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "Babel-2.14.0-py3-none-any.whl", hash = "sha256:efb1a25b7118e67ce3a259bed20545c29cb68be8ad2c784c83689981b7a57287"}, - {file = "Babel-2.14.0.tar.gz", hash = "sha256:6919867db036398ba21eb5c7a0f6b28ab8cbc3ae7a73a44ebe34ae74a4e7d363"}, + {file = "Babel-2.15.0-py3-none-any.whl", hash = "sha256:08706bdad8d0a3413266ab61bd6c34d0c28d6e1e7badf40a2cebe67644e2e1fb"}, + {file = "babel-2.15.0.tar.gz", hash = "sha256:8daf0e265d05768bc6c7a314cf1321e9a123afc328cc635c18622a2f30a04413"}, ] [package.extras] @@ -340,13 +340,13 @@ dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] [[package]] name = "bandit" -version = "1.7.8" +version = "1.7.9" description = "Security oriented static analyser for python code." optional = false python-versions = ">=3.8" files = [ - {file = "bandit-1.7.8-py3-none-any.whl", hash = "sha256:509f7af645bc0cd8fd4587abc1a038fc795636671ee8204d502b933aee44f381"}, - {file = "bandit-1.7.8.tar.gz", hash = "sha256:36de50f720856ab24a24dbaa5fee2c66050ed97c1477e0a1159deab1775eab6b"}, + {file = "bandit-1.7.9-py3-none-any.whl", hash = "sha256:52077cb339000f337fb25f7e045995c4ad01511e716e5daac37014b9752de8ec"}, + {file = "bandit-1.7.9.tar.gz", hash = "sha256:7c395a436743018f7be0a4cbb0a4ea9b902b6d87264ddecf8cfdc73b4f78ff61"}, ] [package.dependencies] @@ -364,33 +364,33 @@ yaml = ["PyYAML"] [[package]] name = "black" -version = "24.4.1" +version = "24.4.2" description = "The uncompromising code formatter." optional = false python-versions = ">=3.8" files = [ - {file = "black-24.4.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1f7749fd0d97ff9415975a1432fac7df89bf13c3833cea079e55fa004d5f28c0"}, - {file = "black-24.4.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:859f3cc5d2051adadf8fd504a01e02b0fd866d7549fff54bc9202d524d2e8bd7"}, - {file = "black-24.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:59271c9c29dfa97f7fda51f56c7809b3f78e72fd8d2205189bbd23022a0618b6"}, - {file = "black-24.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:5ed9c34cba223149b5a0144951a0f33d65507cf82c5449cb3c35fe4b515fea9a"}, - {file = "black-24.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9dae3ae59d6f2dc93700fd5034a3115434686e66fd6e63d4dcaa48d19880f2b0"}, - {file = "black-24.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5f8698974a81af83283eb47644f2711b5261138d6d9180c863fce673cbe04b13"}, - {file = "black-24.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0f404b6e77043b23d0321fb7772522b876b6de737ad3cb97d6b156638d68ce81"}, - {file = "black-24.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:c94e52b766477bdcd010b872ba0714d5458536dc9d0734eff6583ba7266ffd89"}, - {file = "black-24.4.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:962d9e953872cdb83b97bb737ad47244ce2938054dc946685a4cad98520dab38"}, - {file = "black-24.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b1d8e3b2486b7dd522b1ab2ba1ec4907f0aa8f5e10a33c4271fb331d1d10b70c"}, - {file = "black-24.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ed77e214b785148f57e43ca425b6e0850165144aa727d66ac604e56a70bb7825"}, - {file = "black-24.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:4ef4764437d7eba8386689cd06e1fb5341ee0ae2e9e22582b21178782de7ed94"}, - {file = "black-24.4.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:92b183f8eef5baf7b20a513abcf982ad616f544f593f6688bb2850d2982911f1"}, - {file = "black-24.4.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:945abd7b3572add997757c94295bb3e73c6ffaf3366b1f26cb2356a4bffd1dc3"}, - {file = "black-24.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db5154b9e5b478031371d8bc41ff37b33855fa223a6cfba456c9b73fb96f77d4"}, - {file = "black-24.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:afc84c33c1a9aaf3d73140cee776b4ddf73ff429ffe6b7c56dc1c9c10725856d"}, - {file = "black-24.4.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:0889f4eb8b3bdf8b189e41a71cf0dbb8141a98346cd1a2695dea5995d416e940"}, - {file = "black-24.4.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5bb0143f175db45a55227eefd63e90849d96c266330ba31719e9667d0d5ec3b9"}, - {file = "black-24.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:713a04a78e78f28ef7e8df7a16fe075670ea164860fcef3885e4f3dffc0184b3"}, - {file = "black-24.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:171959bc879637a8cdbc53dc3fddae2a83e151937a28cf605fd175ce61e0e94a"}, - {file = "black-24.4.1-py3-none-any.whl", hash = "sha256:ecbab810604fe02c70b3a08afd39beb599f7cc9afd13e81f5336014133b4fe35"}, - {file = "black-24.4.1.tar.gz", hash = "sha256:5241612dc8cad5b6fd47432b8bd04db80e07cfbc53bb69e9ae18985063bcb8dd"}, + {file = "black-24.4.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dd1b5a14e417189db4c7b64a6540f31730713d173f0b63e55fabd52d61d8fdce"}, + {file = "black-24.4.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8e537d281831ad0e71007dcdcbe50a71470b978c453fa41ce77186bbe0ed6021"}, + {file = "black-24.4.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eaea3008c281f1038edb473c1aa8ed8143a5535ff18f978a318f10302b254063"}, + {file = "black-24.4.2-cp310-cp310-win_amd64.whl", hash = "sha256:7768a0dbf16a39aa5e9a3ded568bb545c8c2727396d063bbaf847df05b08cd96"}, + {file = "black-24.4.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:257d724c2c9b1660f353b36c802ccece186a30accc7742c176d29c146df6e474"}, + {file = "black-24.4.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bdde6f877a18f24844e381d45e9947a49e97933573ac9d4345399be37621e26c"}, + {file = "black-24.4.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e151054aa00bad1f4e1f04919542885f89f5f7d086b8a59e5000e6c616896ffb"}, + {file = "black-24.4.2-cp311-cp311-win_amd64.whl", hash = "sha256:7e122b1c4fb252fd85df3ca93578732b4749d9be076593076ef4d07a0233c3e1"}, + {file = "black-24.4.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:accf49e151c8ed2c0cdc528691838afd217c50412534e876a19270fea1e28e2d"}, + {file = "black-24.4.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:88c57dc656038f1ab9f92b3eb5335ee9b021412feaa46330d5eba4e51fe49b04"}, + {file = "black-24.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:be8bef99eb46d5021bf053114442914baeb3649a89dc5f3a555c88737e5e98fc"}, + {file = "black-24.4.2-cp312-cp312-win_amd64.whl", hash = "sha256:415e686e87dbbe6f4cd5ef0fbf764af7b89f9057b97c908742b6008cc554b9c0"}, + {file = "black-24.4.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:bf10f7310db693bb62692609b397e8d67257c55f949abde4c67f9cc574492cc7"}, + {file = "black-24.4.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:98e123f1d5cfd42f886624d84464f7756f60ff6eab89ae845210631714f6db94"}, + {file = "black-24.4.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:48a85f2cb5e6799a9ef05347b476cce6c182d6c71ee36925a6c194d074336ef8"}, + {file = "black-24.4.2-cp38-cp38-win_amd64.whl", hash = "sha256:b1530ae42e9d6d5b670a34db49a94115a64596bc77710b1d05e9801e62ca0a7c"}, + {file = "black-24.4.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:37aae07b029fa0174d39daf02748b379399b909652a806e5708199bd93899da1"}, + {file = "black-24.4.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:da33a1a5e49c4122ccdfd56cd021ff1ebc4a1ec4e2d01594fef9b6f267a9e741"}, + {file = "black-24.4.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef703f83fc32e131e9bcc0a5094cfe85599e7109f896fe8bc96cc402f3eb4b6e"}, + {file = "black-24.4.2-cp39-cp39-win_amd64.whl", hash = "sha256:b9176b9832e84308818a99a561e90aa479e73c523b3f77afd07913380ae2eab7"}, + {file = "black-24.4.2-py3-none-any.whl", hash = "sha256:d36ed1124bb81b32f8614555b34cc4259c3fbc7eec17870e8ff8ded335b58d8c"}, + {file = "black-24.4.2.tar.gz", hash = "sha256:c872b53057f000085da66a19c55d68f6f8ddcac2642392ad3a355878406fbd4d"}, ] [package.dependencies] @@ -410,13 +410,13 @@ uvloop = ["uvloop (>=0.15.2)"] [[package]] name = "certifi" -version = "2024.2.2" +version = "2024.7.4" description = "Python package for providing Mozilla's CA Bundle." optional = false python-versions = ">=3.6" files = [ - {file = "certifi-2024.2.2-py3-none-any.whl", hash = "sha256:dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1"}, - {file = "certifi-2024.2.2.tar.gz", hash = "sha256:0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f"}, + {file = "certifi-2024.7.4-py3-none-any.whl", hash = "sha256:c198e21b1289c2ab85ee4e67bb4b4ef3ead0892059901a8d5b622f24a1101e90"}, + {file = "certifi-2024.7.4.tar.gz", hash = "sha256:5a1e7645bc0ec61a09e26c36f6106dd4cf40c6db3a1fb6352b0244e7fb057c7b"}, ] [[package]] @@ -671,43 +671,43 @@ toml = ["tomli"] [[package]] name = "cryptography" -version = "42.0.5" +version = "42.0.8" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." optional = false python-versions = ">=3.7" files = [ - {file = "cryptography-42.0.5-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:a30596bae9403a342c978fb47d9b0ee277699fa53bbafad14706af51fe543d16"}, - {file = "cryptography-42.0.5-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:b7ffe927ee6531c78f81aa17e684e2ff617daeba7f189f911065b2ea2d526dec"}, - {file = "cryptography-42.0.5-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2424ff4c4ac7f6b8177b53c17ed5d8fa74ae5955656867f5a8affaca36a27abb"}, - {file = "cryptography-42.0.5-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:329906dcc7b20ff3cad13c069a78124ed8247adcac44b10bea1130e36caae0b4"}, - {file = "cryptography-42.0.5-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:b03c2ae5d2f0fc05f9a2c0c997e1bc18c8229f392234e8a0194f202169ccd278"}, - {file = "cryptography-42.0.5-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:f8837fe1d6ac4a8052a9a8ddab256bc006242696f03368a4009be7ee3075cdb7"}, - {file = "cryptography-42.0.5-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:0270572b8bd2c833c3981724b8ee9747b3ec96f699a9665470018594301439ee"}, - {file = "cryptography-42.0.5-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:b8cac287fafc4ad485b8a9b67d0ee80c66bf3574f655d3b97ef2e1082360faf1"}, - {file = "cryptography-42.0.5-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:16a48c23a62a2f4a285699dba2e4ff2d1cff3115b9df052cdd976a18856d8e3d"}, - {file = "cryptography-42.0.5-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:2bce03af1ce5a5567ab89bd90d11e7bbdff56b8af3acbbec1faded8f44cb06da"}, - {file = "cryptography-42.0.5-cp37-abi3-win32.whl", hash = "sha256:b6cd2203306b63e41acdf39aa93b86fb566049aeb6dc489b70e34bcd07adca74"}, - {file = "cryptography-42.0.5-cp37-abi3-win_amd64.whl", hash = "sha256:98d8dc6d012b82287f2c3d26ce1d2dd130ec200c8679b6213b3c73c08b2b7940"}, - {file = "cryptography-42.0.5-cp39-abi3-macosx_10_12_universal2.whl", hash = "sha256:5e6275c09d2badf57aea3afa80d975444f4be8d3bc58f7f80d2a484c6f9485c8"}, - {file = "cryptography-42.0.5-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4985a790f921508f36f81831817cbc03b102d643b5fcb81cd33df3fa291a1a1"}, - {file = "cryptography-42.0.5-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7cde5f38e614f55e28d831754e8a3bacf9ace5d1566235e39d91b35502d6936e"}, - {file = "cryptography-42.0.5-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:7367d7b2eca6513681127ebad53b2582911d1736dc2ffc19f2c3ae49997496bc"}, - {file = "cryptography-42.0.5-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:cd2030f6650c089aeb304cf093f3244d34745ce0cfcc39f20c6fbfe030102e2a"}, - {file = "cryptography-42.0.5-cp39-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:a2913c5375154b6ef2e91c10b5720ea6e21007412f6437504ffea2109b5a33d7"}, - {file = "cryptography-42.0.5-cp39-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:c41fb5e6a5fe9ebcd58ca3abfeb51dffb5d83d6775405305bfa8715b76521922"}, - {file = "cryptography-42.0.5-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:3eaafe47ec0d0ffcc9349e1708be2aaea4c6dd4978d76bf6eb0cb2c13636c6fc"}, - {file = "cryptography-42.0.5-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:1b95b98b0d2af784078fa69f637135e3c317091b615cd0905f8b8a087e86fa30"}, - {file = "cryptography-42.0.5-cp39-abi3-win32.whl", hash = "sha256:1f71c10d1e88467126f0efd484bd44bca5e14c664ec2ede64c32f20875c0d413"}, - {file = "cryptography-42.0.5-cp39-abi3-win_amd64.whl", hash = "sha256:a011a644f6d7d03736214d38832e030d8268bcff4a41f728e6030325fea3e400"}, - {file = "cryptography-42.0.5-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:9481ffe3cf013b71b2428b905c4f7a9a4f76ec03065b05ff499bb5682a8d9ad8"}, - {file = "cryptography-42.0.5-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:ba334e6e4b1d92442b75ddacc615c5476d4ad55cc29b15d590cc6b86efa487e2"}, - {file = "cryptography-42.0.5-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:ba3e4a42397c25b7ff88cdec6e2a16c2be18720f317506ee25210f6d31925f9c"}, - {file = "cryptography-42.0.5-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:111a0d8553afcf8eb02a4fea6ca4f59d48ddb34497aa8706a6cf536f1a5ec576"}, - {file = "cryptography-42.0.5-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:cd65d75953847815962c84a4654a84850b2bb4aed3f26fadcc1c13892e1e29f6"}, - {file = "cryptography-42.0.5-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:e807b3188f9eb0eaa7bbb579b462c5ace579f1cedb28107ce8b48a9f7ad3679e"}, - {file = "cryptography-42.0.5-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f12764b8fffc7a123f641d7d049d382b73f96a34117e0b637b80643169cec8ac"}, - {file = "cryptography-42.0.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:37dd623507659e08be98eec89323469e8c7b4c1407c85112634ae3dbdb926fdd"}, - {file = "cryptography-42.0.5.tar.gz", hash = "sha256:6fe07eec95dfd477eb9530aef5bead34fec819b3aaf6c5bd6d20565da607bfe1"}, + {file = "cryptography-42.0.8-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:81d8a521705787afe7a18d5bfb47ea9d9cc068206270aad0b96a725022e18d2e"}, + {file = "cryptography-42.0.8-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:961e61cefdcb06e0c6d7e3a1b22ebe8b996eb2bf50614e89384be54c48c6b63d"}, + {file = "cryptography-42.0.8-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e3ec3672626e1b9e55afd0df6d774ff0e953452886e06e0f1eb7eb0c832e8902"}, + {file = "cryptography-42.0.8-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e599b53fd95357d92304510fb7bda8523ed1f79ca98dce2f43c115950aa78801"}, + {file = "cryptography-42.0.8-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:5226d5d21ab681f432a9c1cf8b658c0cb02533eece706b155e5fbd8a0cdd3949"}, + {file = "cryptography-42.0.8-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:6b7c4f03ce01afd3b76cf69a5455caa9cfa3de8c8f493e0d3ab7d20611c8dae9"}, + {file = "cryptography-42.0.8-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:2346b911eb349ab547076f47f2e035fc8ff2c02380a7cbbf8d87114fa0f1c583"}, + {file = "cryptography-42.0.8-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:ad803773e9df0b92e0a817d22fd8a3675493f690b96130a5e24f1b8fabbea9c7"}, + {file = "cryptography-42.0.8-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:2f66d9cd9147ee495a8374a45ca445819f8929a3efcd2e3df6428e46c3cbb10b"}, + {file = "cryptography-42.0.8-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:d45b940883a03e19e944456a558b67a41160e367a719833c53de6911cabba2b7"}, + {file = "cryptography-42.0.8-cp37-abi3-win32.whl", hash = "sha256:a0c5b2b0585b6af82d7e385f55a8bc568abff8923af147ee3c07bd8b42cda8b2"}, + {file = "cryptography-42.0.8-cp37-abi3-win_amd64.whl", hash = "sha256:57080dee41209e556a9a4ce60d229244f7a66ef52750f813bfbe18959770cfba"}, + {file = "cryptography-42.0.8-cp39-abi3-macosx_10_12_universal2.whl", hash = "sha256:dea567d1b0e8bc5764b9443858b673b734100c2871dc93163f58c46a97a83d28"}, + {file = "cryptography-42.0.8-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c4783183f7cb757b73b2ae9aed6599b96338eb957233c58ca8f49a49cc32fd5e"}, + {file = "cryptography-42.0.8-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0608251135d0e03111152e41f0cc2392d1e74e35703960d4190b2e0f4ca9c70"}, + {file = "cryptography-42.0.8-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:dc0fdf6787f37b1c6b08e6dfc892d9d068b5bdb671198c72072828b80bd5fe4c"}, + {file = "cryptography-42.0.8-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:9c0c1716c8447ee7dbf08d6db2e5c41c688544c61074b54fc4564196f55c25a7"}, + {file = "cryptography-42.0.8-cp39-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:fff12c88a672ab9c9c1cf7b0c80e3ad9e2ebd9d828d955c126be4fd3e5578c9e"}, + {file = "cryptography-42.0.8-cp39-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:cafb92b2bc622cd1aa6a1dce4b93307792633f4c5fe1f46c6b97cf67073ec961"}, + {file = "cryptography-42.0.8-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:31f721658a29331f895a5a54e7e82075554ccfb8b163a18719d342f5ffe5ecb1"}, + {file = "cryptography-42.0.8-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:b297f90c5723d04bcc8265fc2a0f86d4ea2e0f7ab4b6994459548d3a6b992a14"}, + {file = "cryptography-42.0.8-cp39-abi3-win32.whl", hash = "sha256:2f88d197e66c65be5e42cd72e5c18afbfae3f741742070e3019ac8f4ac57262c"}, + {file = "cryptography-42.0.8-cp39-abi3-win_amd64.whl", hash = "sha256:fa76fbb7596cc5839320000cdd5d0955313696d9511debab7ee7278fc8b5c84a"}, + {file = "cryptography-42.0.8-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:ba4f0a211697362e89ad822e667d8d340b4d8d55fae72cdd619389fb5912eefe"}, + {file = "cryptography-42.0.8-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:81884c4d096c272f00aeb1f11cf62ccd39763581645b0812e99a91505fa48e0c"}, + {file = "cryptography-42.0.8-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c9bb2ae11bfbab395bdd072985abde58ea9860ed84e59dbc0463a5d0159f5b71"}, + {file = "cryptography-42.0.8-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:7016f837e15b0a1c119d27ecd89b3515f01f90a8615ed5e9427e30d9cdbfed3d"}, + {file = "cryptography-42.0.8-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5a94eccb2a81a309806027e1670a358b99b8fe8bfe9f8d329f27d72c094dde8c"}, + {file = "cryptography-42.0.8-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:dec9b018df185f08483f294cae6ccac29e7a6e0678996587363dc352dc65c842"}, + {file = "cryptography-42.0.8-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:343728aac38decfdeecf55ecab3264b015be68fc2816ca800db649607aeee648"}, + {file = "cryptography-42.0.8-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:013629ae70b40af70c9a7a5db40abe5d9054e6f4380e50ce769947b73bf3caad"}, + {file = "cryptography-42.0.8.tar.gz", hash = "sha256:8d09d05439ce7baa8e9e95b07ec5b6c886f548deb7e0f69ef25f64b3bce842f2"}, ] [package.dependencies] @@ -751,13 +751,13 @@ files = [ [[package]] name = "exceptiongroup" -version = "1.2.1" +version = "1.2.2" description = "Backport of PEP 654 (exception groups)" optional = false python-versions = ">=3.7" files = [ - {file = "exceptiongroup-1.2.1-py3-none-any.whl", hash = "sha256:5258b9ed329c5bbdd31a309f53cbfb0b155341807f6ff7606a1e801a891b29ad"}, - {file = "exceptiongroup-1.2.1.tar.gz", hash = "sha256:a4785e48b045528f5bfe627b6ad554ff32def154f42372786903b7abcfe1aa16"}, + {file = "exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b"}, + {file = "exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc"}, ] [package.extras] @@ -865,13 +865,13 @@ files = [ [[package]] name = "hypothesis" -version = "6.100.1" +version = "6.108.0" description = "A library for property-based testing" optional = false python-versions = ">=3.8" files = [ - {file = "hypothesis-6.100.1-py3-none-any.whl", hash = "sha256:3dacf6ec90e8d14aaee02cde081ac9a17d5b70105e45e6ac822db72052c0195b"}, - {file = "hypothesis-6.100.1.tar.gz", hash = "sha256:ebff09d7fa4f1fb6a855a812baf17e578b4481b7b70ec6d96496210d1a4c6c35"}, + {file = "hypothesis-6.108.0-py3-none-any.whl", hash = "sha256:1546e08abcfdda4ecd86a77df87c8a694936830236c393e4ad4c31f0bcf8ee3c"}, + {file = "hypothesis-6.108.0.tar.gz", hash = "sha256:24183b2a4d05c15834f5a80fe51cf933cdc812c4f7dc036209c9902b81d4e8e5"}, ] [package.dependencies] @@ -880,10 +880,10 @@ exceptiongroup = {version = ">=1.0.0", markers = "python_version < \"3.11\""} sortedcontainers = ">=2.1.0,<3.0.0" [package.extras] -all = ["backports.zoneinfo (>=0.2.1)", "black (>=19.10b0)", "click (>=7.0)", "crosshair-tool (>=0.0.54)", "django (>=3.2)", "dpcontracts (>=0.4)", "hypothesis-crosshair (>=0.0.2)", "lark (>=0.10.1)", "libcst (>=0.3.16)", "numpy (>=1.17.3)", "pandas (>=1.1)", "pytest (>=4.6)", "python-dateutil (>=1.4)", "pytz (>=2014.1)", "redis (>=3.0.0)", "rich (>=9.0.0)", "tzdata (>=2024.1)"] +all = ["backports.zoneinfo (>=0.2.1)", "black (>=19.10b0)", "click (>=7.0)", "crosshair-tool (>=0.0.59)", "django (>=3.2)", "dpcontracts (>=0.4)", "hypothesis-crosshair (>=0.0.7)", "lark (>=0.10.1)", "libcst (>=0.3.16)", "numpy (>=1.17.3)", "pandas (>=1.1)", "pytest (>=4.6)", "python-dateutil (>=1.4)", "pytz (>=2014.1)", "redis (>=3.0.0)", "rich (>=9.0.0)", "tzdata (>=2024.1)"] cli = ["black (>=19.10b0)", "click (>=7.0)", "rich (>=9.0.0)"] codemods = ["libcst (>=0.3.16)"] -crosshair = ["crosshair-tool (>=0.0.54)", "hypothesis-crosshair (>=0.0.2)"] +crosshair = ["crosshair-tool (>=0.0.59)", "hypothesis-crosshair (>=0.0.7)"] dateutil = ["python-dateutil (>=1.4)"] django = ["django (>=3.2)"] dpcontracts = ["dpcontracts (>=0.4)"] @@ -964,13 +964,13 @@ files = [ [[package]] name = "invoke" -version = "1.7.3" +version = "2.2.0" description = "Pythonic task execution" optional = false -python-versions = "*" +python-versions = ">=3.6" files = [ - {file = "invoke-1.7.3-py3-none-any.whl", hash = "sha256:d9694a865764dd3fd91f25f7e9a97fb41666e822bbb00e670091e3f43933574d"}, - {file = "invoke-1.7.3.tar.gz", hash = "sha256:41b428342d466a82135d5ab37119685a989713742be46e42a3a399d685579314"}, + {file = "invoke-2.2.0-py3-none-any.whl", hash = "sha256:6ea924cc53d4f78e3d98bc436b08069a03077e6f85ad1ddaa8a116d7dad15820"}, + {file = "invoke-2.2.0.tar.gz", hash = "sha256:ee6cbb101af1a859c7fe84f2a264c059020b0cb7fe3535f9424300ab568f6bd5"}, ] [[package]] @@ -989,13 +989,13 @@ colors = ["colorama (>=0.4.6)"] [[package]] name = "jinja2" -version = "3.1.3" +version = "3.1.4" description = "A very fast and expressive template engine." optional = false python-versions = ">=3.7" files = [ - {file = "Jinja2-3.1.3-py3-none-any.whl", hash = "sha256:7d6d50dd97d52cbc355597bd845fabfbac3f551e1f99619e39a35ce8c370b5fa"}, - {file = "Jinja2-3.1.3.tar.gz", hash = "sha256:ac8bd6544d4bb2c9792bf3a159e80bba8fda7f07e81bc3aed565432d5925ba90"}, + {file = "jinja2-3.1.4-py3-none-any.whl", hash = "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d"}, + {file = "jinja2-3.1.4.tar.gz", hash = "sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369"}, ] [package.dependencies] @@ -1017,15 +1017,21 @@ files = [ [[package]] name = "jsondiff" -version = "2.0.0" +version = "2.1.1" description = "Diff JSON and JSON-like structures in Python" optional = false -python-versions = "*" +python-versions = ">=3.8" files = [ - {file = "jsondiff-2.0.0-py3-none-any.whl", hash = "sha256:689841d66273fc88fc79f7d33f4c074774f4f214b6466e3aff0e5adaf889d1e0"}, - {file = "jsondiff-2.0.0.tar.gz", hash = "sha256:2795844ef075ec8a2b8d385c4d59f5ea48b08e7180fce3cb2787be0db00b1fb4"}, + {file = "jsondiff-2.1.1-py3-none-any.whl", hash = "sha256:ffab5bc00237c2c9f48a4b07fff7bf7df13e4b98f9585bd00b6e6e5f371a98fc"}, + {file = "jsondiff-2.1.1.tar.gz", hash = "sha256:c7dfd4f8c9307500a536e9b93492b2c1ba62dac2b3c5189aa6e37d63b427b4d8"}, ] +[package.dependencies] +pyyaml = "*" + +[package.extras] +dev = ["build", "hypothesis", "pytest", "setuptools-scm"] + [[package]] name = "lazy-object-proxy" version = "1.10.0" @@ -1315,13 +1321,13 @@ files = [ [[package]] name = "netutils" -version = "1.8.1" +version = "1.9.0" description = "Common helper functions useful in network automation." optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "netutils-1.8.1-py3-none-any.whl", hash = "sha256:b1d6864a7512c3def0e12a2a879f12ccca9b5077d482f591c56d0171542aa040"}, - {file = "netutils-1.8.1.tar.gz", hash = "sha256:20d0cd9bf3a11588e77266c4aca93b460c732e12c4449e48213f22ab32d78921"}, + {file = "netutils-1.9.0-py3-none-any.whl", hash = "sha256:5dad8d882c1c50e013466f60a281ca10c6f93f48e18927919aaa6019b5c22d66"}, + {file = "netutils-1.9.0.tar.gz", hash = "sha256:ce8ccb1c08599b4ca803948dcc849a5110b8d5fa040247591bf119fb1ce434ce"}, ] [package.extras] @@ -1387,13 +1393,13 @@ files = [ [[package]] name = "platformdirs" -version = "4.2.1" +version = "4.2.2" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." optional = false python-versions = ">=3.8" files = [ - {file = "platformdirs-4.2.1-py3-none-any.whl", hash = "sha256:17d5a1161b3fd67b390023cb2d3b026bbd40abde6fdb052dfbd3a29c3ba22ee1"}, - {file = "platformdirs-4.2.1.tar.gz", hash = "sha256:031cd18d4ec63ec53e82dceaac0417d218a6863f7745dfcc9efe7793b7039bdf"}, + {file = "platformdirs-4.2.2-py3-none-any.whl", hash = "sha256:2d7a1657e36a80ea911db832a8a6ece5ee53d8de21edd5cc5879af6530b1bfee"}, + {file = "platformdirs-4.2.2.tar.gz", hash = "sha256:38b7b51f512eed9e84a22788b4bce1de17c0adb134d6becb09836e37d8654cd3"}, ] [package.extras] @@ -1440,109 +1446,122 @@ files = [ [[package]] name = "pydantic" -version = "2.7.1" +version = "2.8.2" description = "Data validation using Python type hints" optional = false python-versions = ">=3.8" files = [ - {file = "pydantic-2.7.1-py3-none-any.whl", hash = "sha256:e029badca45266732a9a79898a15ae2e8b14840b1eabbb25844be28f0b33f3d5"}, - {file = "pydantic-2.7.1.tar.gz", hash = "sha256:e9dbb5eada8abe4d9ae5f46b9939aead650cd2b68f249bb3a8139dbe125803cc"}, + {file = "pydantic-2.8.2-py3-none-any.whl", hash = "sha256:73ee9fddd406dc318b885c7a2eab8a6472b68b8fb5ba8150949fc3db939f23c8"}, + {file = "pydantic-2.8.2.tar.gz", hash = "sha256:6f62c13d067b0755ad1c21a34bdd06c0c12625a22b0fc09c6b149816604f7c2a"}, ] [package.dependencies] annotated-types = ">=0.4.0" -pydantic-core = "2.18.2" -typing-extensions = ">=4.6.1" +pydantic-core = "2.20.1" +typing-extensions = [ + {version = ">=4.6.1", markers = "python_version < \"3.13\""}, + {version = ">=4.12.2", markers = "python_version >= \"3.13\""}, +] [package.extras] email = ["email-validator (>=2.0.0)"] [[package]] name = "pydantic-core" -version = "2.18.2" +version = "2.20.1" description = "Core functionality for Pydantic validation and serialization" optional = false python-versions = ">=3.8" files = [ - {file = "pydantic_core-2.18.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:9e08e867b306f525802df7cd16c44ff5ebbe747ff0ca6cf3fde7f36c05a59a81"}, - {file = "pydantic_core-2.18.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f0a21cbaa69900cbe1a2e7cad2aa74ac3cf21b10c3efb0fa0b80305274c0e8a2"}, - {file = "pydantic_core-2.18.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0680b1f1f11fda801397de52c36ce38ef1c1dc841a0927a94f226dea29c3ae3d"}, - {file = "pydantic_core-2.18.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:95b9d5e72481d3780ba3442eac863eae92ae43a5f3adb5b4d0a1de89d42bb250"}, - {file = "pydantic_core-2.18.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c4fcf5cd9c4b655ad666ca332b9a081112cd7a58a8b5a6ca7a3104bc950f2038"}, - {file = "pydantic_core-2.18.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b5155ff768083cb1d62f3e143b49a8a3432e6789a3abee8acd005c3c7af1c74"}, - {file = "pydantic_core-2.18.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:553ef617b6836fc7e4df130bb851e32fe357ce36336d897fd6646d6058d980af"}, - {file = "pydantic_core-2.18.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b89ed9eb7d616ef5714e5590e6cf7f23b02d0d539767d33561e3675d6f9e3857"}, - {file = "pydantic_core-2.18.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:75f7e9488238e920ab6204399ded280dc4c307d034f3924cd7f90a38b1829563"}, - {file = "pydantic_core-2.18.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ef26c9e94a8c04a1b2924149a9cb081836913818e55681722d7f29af88fe7b38"}, - {file = "pydantic_core-2.18.2-cp310-none-win32.whl", hash = "sha256:182245ff6b0039e82b6bb585ed55a64d7c81c560715d1bad0cbad6dfa07b4027"}, - {file = "pydantic_core-2.18.2-cp310-none-win_amd64.whl", hash = "sha256:e23ec367a948b6d812301afc1b13f8094ab7b2c280af66ef450efc357d2ae543"}, - {file = "pydantic_core-2.18.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:219da3f096d50a157f33645a1cf31c0ad1fe829a92181dd1311022f986e5fbe3"}, - {file = "pydantic_core-2.18.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:cc1cfd88a64e012b74e94cd00bbe0f9c6df57049c97f02bb07d39e9c852e19a4"}, - {file = "pydantic_core-2.18.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:05b7133a6e6aeb8df37d6f413f7705a37ab4031597f64ab56384c94d98fa0e90"}, - {file = "pydantic_core-2.18.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:224c421235f6102e8737032483f43c1a8cfb1d2f45740c44166219599358c2cd"}, - {file = "pydantic_core-2.18.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b14d82cdb934e99dda6d9d60dc84a24379820176cc4a0d123f88df319ae9c150"}, - {file = "pydantic_core-2.18.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2728b01246a3bba6de144f9e3115b532ee44bd6cf39795194fb75491824a1413"}, - {file = "pydantic_core-2.18.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:470b94480bb5ee929f5acba6995251ada5e059a5ef3e0dfc63cca287283ebfa6"}, - {file = "pydantic_core-2.18.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:997abc4df705d1295a42f95b4eec4950a37ad8ae46d913caeee117b6b198811c"}, - {file = "pydantic_core-2.18.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:75250dbc5290e3f1a0f4618db35e51a165186f9034eff158f3d490b3fed9f8a0"}, - {file = "pydantic_core-2.18.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:4456f2dca97c425231d7315737d45239b2b51a50dc2b6f0c2bb181fce6207664"}, - {file = "pydantic_core-2.18.2-cp311-none-win32.whl", hash = "sha256:269322dcc3d8bdb69f054681edff86276b2ff972447863cf34c8b860f5188e2e"}, - {file = "pydantic_core-2.18.2-cp311-none-win_amd64.whl", hash = "sha256:800d60565aec896f25bc3cfa56d2277d52d5182af08162f7954f938c06dc4ee3"}, - {file = "pydantic_core-2.18.2-cp311-none-win_arm64.whl", hash = "sha256:1404c69d6a676245199767ba4f633cce5f4ad4181f9d0ccb0577e1f66cf4c46d"}, - {file = "pydantic_core-2.18.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:fb2bd7be70c0fe4dfd32c951bc813d9fe6ebcbfdd15a07527796c8204bd36242"}, - {file = "pydantic_core-2.18.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6132dd3bd52838acddca05a72aafb6eab6536aa145e923bb50f45e78b7251043"}, - {file = "pydantic_core-2.18.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7d904828195733c183d20a54230c0df0eb46ec746ea1a666730787353e87182"}, - {file = "pydantic_core-2.18.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c9bd70772c720142be1020eac55f8143a34ec9f82d75a8e7a07852023e46617f"}, - {file = "pydantic_core-2.18.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2b8ed04b3582771764538f7ee7001b02e1170223cf9b75dff0bc698fadb00cf3"}, - {file = "pydantic_core-2.18.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e6dac87ddb34aaec85f873d737e9d06a3555a1cc1a8e0c44b7f8d5daeb89d86f"}, - {file = "pydantic_core-2.18.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ca4ae5a27ad7a4ee5170aebce1574b375de390bc01284f87b18d43a3984df72"}, - {file = "pydantic_core-2.18.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:886eec03591b7cf058467a70a87733b35f44707bd86cf64a615584fd72488b7c"}, - {file = "pydantic_core-2.18.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ca7b0c1f1c983e064caa85f3792dd2fe3526b3505378874afa84baf662e12241"}, - {file = "pydantic_core-2.18.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4b4356d3538c3649337df4074e81b85f0616b79731fe22dd11b99499b2ebbdf3"}, - {file = "pydantic_core-2.18.2-cp312-none-win32.whl", hash = "sha256:8b172601454f2d7701121bbec3425dd71efcb787a027edf49724c9cefc14c038"}, - {file = "pydantic_core-2.18.2-cp312-none-win_amd64.whl", hash = "sha256:b1bd7e47b1558ea872bd16c8502c414f9e90dcf12f1395129d7bb42a09a95438"}, - {file = "pydantic_core-2.18.2-cp312-none-win_arm64.whl", hash = "sha256:98758d627ff397e752bc339272c14c98199c613f922d4a384ddc07526c86a2ec"}, - {file = "pydantic_core-2.18.2-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:9fdad8e35f278b2c3eb77cbdc5c0a49dada440657bf738d6905ce106dc1de439"}, - {file = "pydantic_core-2.18.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:1d90c3265ae107f91a4f279f4d6f6f1d4907ac76c6868b27dc7fb33688cfb347"}, - {file = "pydantic_core-2.18.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:390193c770399861d8df9670fb0d1874f330c79caaca4642332df7c682bf6b91"}, - {file = "pydantic_core-2.18.2-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:82d5d4d78e4448683cb467897fe24e2b74bb7b973a541ea1dcfec1d3cbce39fb"}, - {file = "pydantic_core-2.18.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4774f3184d2ef3e14e8693194f661dea5a4d6ca4e3dc8e39786d33a94865cefd"}, - {file = "pydantic_core-2.18.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d4d938ec0adf5167cb335acb25a4ee69a8107e4984f8fbd2e897021d9e4ca21b"}, - {file = "pydantic_core-2.18.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e0e8b1be28239fc64a88a8189d1df7fad8be8c1ae47fcc33e43d4be15f99cc70"}, - {file = "pydantic_core-2.18.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:868649da93e5a3d5eacc2b5b3b9235c98ccdbfd443832f31e075f54419e1b96b"}, - {file = "pydantic_core-2.18.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:78363590ef93d5d226ba21a90a03ea89a20738ee5b7da83d771d283fd8a56761"}, - {file = "pydantic_core-2.18.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:852e966fbd035a6468fc0a3496589b45e2208ec7ca95c26470a54daed82a0788"}, - {file = "pydantic_core-2.18.2-cp38-none-win32.whl", hash = "sha256:6a46e22a707e7ad4484ac9ee9f290f9d501df45954184e23fc29408dfad61350"}, - {file = "pydantic_core-2.18.2-cp38-none-win_amd64.whl", hash = "sha256:d91cb5ea8b11607cc757675051f61b3d93f15eca3cefb3e6c704a5d6e8440f4e"}, - {file = "pydantic_core-2.18.2-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:ae0a8a797a5e56c053610fa7be147993fe50960fa43609ff2a9552b0e07013e8"}, - {file = "pydantic_core-2.18.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:042473b6280246b1dbf530559246f6842b56119c2926d1e52b631bdc46075f2a"}, - {file = "pydantic_core-2.18.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a388a77e629b9ec814c1b1e6b3b595fe521d2cdc625fcca26fbc2d44c816804"}, - {file = "pydantic_core-2.18.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e25add29b8f3b233ae90ccef2d902d0ae0432eb0d45370fe315d1a5cf231004b"}, - {file = "pydantic_core-2.18.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f459a5ce8434614dfd39bbebf1041952ae01da6bed9855008cb33b875cb024c0"}, - {file = "pydantic_core-2.18.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eff2de745698eb46eeb51193a9f41d67d834d50e424aef27df2fcdee1b153845"}, - {file = "pydantic_core-2.18.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a8309f67285bdfe65c372ea3722b7a5642680f3dba538566340a9d36e920b5f0"}, - {file = "pydantic_core-2.18.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f93a8a2e3938ff656a7c1bc57193b1319960ac015b6e87d76c76bf14fe0244b4"}, - {file = "pydantic_core-2.18.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:22057013c8c1e272eb8d0eebc796701167d8377441ec894a8fed1af64a0bf399"}, - {file = "pydantic_core-2.18.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:cfeecd1ac6cc1fb2692c3d5110781c965aabd4ec5d32799773ca7b1456ac636b"}, - {file = "pydantic_core-2.18.2-cp39-none-win32.whl", hash = "sha256:0d69b4c2f6bb3e130dba60d34c0845ba31b69babdd3f78f7c0c8fae5021a253e"}, - {file = "pydantic_core-2.18.2-cp39-none-win_amd64.whl", hash = "sha256:d9319e499827271b09b4e411905b24a426b8fb69464dfa1696258f53a3334641"}, - {file = "pydantic_core-2.18.2-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:a1874c6dd4113308bd0eb568418e6114b252afe44319ead2b4081e9b9521fe75"}, - {file = "pydantic_core-2.18.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:ccdd111c03bfd3666bd2472b674c6899550e09e9f298954cfc896ab92b5b0e6d"}, - {file = "pydantic_core-2.18.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e18609ceaa6eed63753037fc06ebb16041d17d28199ae5aba0052c51449650a9"}, - {file = "pydantic_core-2.18.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e5c584d357c4e2baf0ff7baf44f4994be121e16a2c88918a5817331fc7599d7"}, - {file = "pydantic_core-2.18.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:43f0f463cf89ace478de71a318b1b4f05ebc456a9b9300d027b4b57c1a2064fb"}, - {file = "pydantic_core-2.18.2-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:e1b395e58b10b73b07b7cf740d728dd4ff9365ac46c18751bf8b3d8cca8f625a"}, - {file = "pydantic_core-2.18.2-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:0098300eebb1c837271d3d1a2cd2911e7c11b396eac9661655ee524a7f10587b"}, - {file = "pydantic_core-2.18.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:36789b70d613fbac0a25bb07ab3d9dba4d2e38af609c020cf4d888d165ee0bf3"}, - {file = "pydantic_core-2.18.2-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:3f9a801e7c8f1ef8718da265bba008fa121243dfe37c1cea17840b0944dfd72c"}, - {file = "pydantic_core-2.18.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:3a6515ebc6e69d85502b4951d89131ca4e036078ea35533bb76327f8424531ce"}, - {file = "pydantic_core-2.18.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20aca1e2298c56ececfd8ed159ae4dde2df0781988c97ef77d5c16ff4bd5b400"}, - {file = "pydantic_core-2.18.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:223ee893d77a310a0391dca6df00f70bbc2f36a71a895cecd9a0e762dc37b349"}, - {file = "pydantic_core-2.18.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2334ce8c673ee93a1d6a65bd90327588387ba073c17e61bf19b4fd97d688d63c"}, - {file = "pydantic_core-2.18.2-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:cbca948f2d14b09d20268cda7b0367723d79063f26c4ffc523af9042cad95592"}, - {file = "pydantic_core-2.18.2-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:b3ef08e20ec49e02d5c6717a91bb5af9b20f1805583cb0adfe9ba2c6b505b5ae"}, - {file = "pydantic_core-2.18.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:c6fdc8627910eed0c01aed6a390a252fe3ea6d472ee70fdde56273f198938374"}, - {file = "pydantic_core-2.18.2.tar.gz", hash = "sha256:2e29d20810dfc3043ee13ac7d9e25105799817683348823f305ab3f349b9386e"}, + {file = "pydantic_core-2.20.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:3acae97ffd19bf091c72df4d726d552c473f3576409b2a7ca36b2f535ffff4a3"}, + {file = "pydantic_core-2.20.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:41f4c96227a67a013e7de5ff8f20fb496ce573893b7f4f2707d065907bffdbd6"}, + {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f239eb799a2081495ea659d8d4a43a8f42cd1fe9ff2e7e436295c38a10c286a"}, + {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:53e431da3fc53360db73eedf6f7124d1076e1b4ee4276b36fb25514544ceb4a3"}, + {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f1f62b2413c3a0e846c3b838b2ecd6c7a19ec6793b2a522745b0869e37ab5bc1"}, + {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d41e6daee2813ecceea8eda38062d69e280b39df793f5a942fa515b8ed67953"}, + {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d482efec8b7dc6bfaedc0f166b2ce349df0011f5d2f1f25537ced4cfc34fd98"}, + {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e93e1a4b4b33daed65d781a57a522ff153dcf748dee70b40c7258c5861e1768a"}, + {file = "pydantic_core-2.20.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e7c4ea22b6739b162c9ecaaa41d718dfad48a244909fe7ef4b54c0b530effc5a"}, + {file = "pydantic_core-2.20.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4f2790949cf385d985a31984907fecb3896999329103df4e4983a4a41e13e840"}, + {file = "pydantic_core-2.20.1-cp310-none-win32.whl", hash = "sha256:5e999ba8dd90e93d57410c5e67ebb67ffcaadcea0ad973240fdfd3a135506250"}, + {file = "pydantic_core-2.20.1-cp310-none-win_amd64.whl", hash = "sha256:512ecfbefef6dac7bc5eaaf46177b2de58cdf7acac8793fe033b24ece0b9566c"}, + {file = "pydantic_core-2.20.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d2a8fa9d6d6f891f3deec72f5cc668e6f66b188ab14bb1ab52422fe8e644f312"}, + {file = "pydantic_core-2.20.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:175873691124f3d0da55aeea1d90660a6ea7a3cfea137c38afa0a5ffabe37b88"}, + {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:37eee5b638f0e0dcd18d21f59b679686bbd18917b87db0193ae36f9c23c355fc"}, + {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:25e9185e2d06c16ee438ed39bf62935ec436474a6ac4f9358524220f1b236e43"}, + {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:150906b40ff188a3260cbee25380e7494ee85048584998c1e66df0c7a11c17a6"}, + {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ad4aeb3e9a97286573c03df758fc7627aecdd02f1da04516a86dc159bf70121"}, + {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d3f3ed29cd9f978c604708511a1f9c2fdcb6c38b9aae36a51905b8811ee5cbf1"}, + {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b0dae11d8f5ded51699c74d9548dcc5938e0804cc8298ec0aa0da95c21fff57b"}, + {file = "pydantic_core-2.20.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:faa6b09ee09433b87992fb5a2859efd1c264ddc37280d2dd5db502126d0e7f27"}, + {file = "pydantic_core-2.20.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9dc1b507c12eb0481d071f3c1808f0529ad41dc415d0ca11f7ebfc666e66a18b"}, + {file = "pydantic_core-2.20.1-cp311-none-win32.whl", hash = "sha256:fa2fddcb7107e0d1808086ca306dcade7df60a13a6c347a7acf1ec139aa6789a"}, + {file = "pydantic_core-2.20.1-cp311-none-win_amd64.whl", hash = "sha256:40a783fb7ee353c50bd3853e626f15677ea527ae556429453685ae32280c19c2"}, + {file = "pydantic_core-2.20.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:595ba5be69b35777474fa07f80fc260ea71255656191adb22a8c53aba4479231"}, + {file = "pydantic_core-2.20.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a4f55095ad087474999ee28d3398bae183a66be4823f753cd7d67dd0153427c9"}, + {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f9aa05d09ecf4c75157197f27cdc9cfaeb7c5f15021c6373932bf3e124af029f"}, + {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e97fdf088d4b31ff4ba35db26d9cc472ac7ef4a2ff2badeabf8d727b3377fc52"}, + {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bc633a9fe1eb87e250b5c57d389cf28998e4292336926b0b6cdaee353f89a237"}, + {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d573faf8eb7e6b1cbbcb4f5b247c60ca8be39fe2c674495df0eb4318303137fe"}, + {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26dc97754b57d2fd00ac2b24dfa341abffc380b823211994c4efac7f13b9e90e"}, + {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:33499e85e739a4b60c9dac710c20a08dc73cb3240c9a0e22325e671b27b70d24"}, + {file = "pydantic_core-2.20.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:bebb4d6715c814597f85297c332297c6ce81e29436125ca59d1159b07f423eb1"}, + {file = "pydantic_core-2.20.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:516d9227919612425c8ef1c9b869bbbee249bc91912c8aaffb66116c0b447ebd"}, + {file = "pydantic_core-2.20.1-cp312-none-win32.whl", hash = "sha256:469f29f9093c9d834432034d33f5fe45699e664f12a13bf38c04967ce233d688"}, + {file = "pydantic_core-2.20.1-cp312-none-win_amd64.whl", hash = "sha256:035ede2e16da7281041f0e626459bcae33ed998cca6a0a007a5ebb73414ac72d"}, + {file = "pydantic_core-2.20.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:0827505a5c87e8aa285dc31e9ec7f4a17c81a813d45f70b1d9164e03a813a686"}, + {file = "pydantic_core-2.20.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:19c0fa39fa154e7e0b7f82f88ef85faa2a4c23cc65aae2f5aea625e3c13c735a"}, + {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa223cd1e36b642092c326d694d8bf59b71ddddc94cdb752bbbb1c5c91d833b"}, + {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c336a6d235522a62fef872c6295a42ecb0c4e1d0f1a3e500fe949415761b8a19"}, + {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7eb6a0587eded33aeefea9f916899d42b1799b7b14b8f8ff2753c0ac1741edac"}, + {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:70c8daf4faca8da5a6d655f9af86faf6ec2e1768f4b8b9d0226c02f3d6209703"}, + {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e9fa4c9bf273ca41f940bceb86922a7667cd5bf90e95dbb157cbb8441008482c"}, + {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:11b71d67b4725e7e2a9f6e9c0ac1239bbc0c48cce3dc59f98635efc57d6dac83"}, + {file = "pydantic_core-2.20.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:270755f15174fb983890c49881e93f8f1b80f0b5e3a3cc1394a255706cabd203"}, + {file = "pydantic_core-2.20.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:c81131869240e3e568916ef4c307f8b99583efaa60a8112ef27a366eefba8ef0"}, + {file = "pydantic_core-2.20.1-cp313-none-win32.whl", hash = "sha256:b91ced227c41aa29c672814f50dbb05ec93536abf8f43cd14ec9521ea09afe4e"}, + {file = "pydantic_core-2.20.1-cp313-none-win_amd64.whl", hash = "sha256:65db0f2eefcaad1a3950f498aabb4875c8890438bc80b19362cf633b87a8ab20"}, + {file = "pydantic_core-2.20.1-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:4745f4ac52cc6686390c40eaa01d48b18997cb130833154801a442323cc78f91"}, + {file = "pydantic_core-2.20.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a8ad4c766d3f33ba8fd692f9aa297c9058970530a32c728a2c4bfd2616d3358b"}, + {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41e81317dd6a0127cabce83c0c9c3fbecceae981c8391e6f1dec88a77c8a569a"}, + {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:04024d270cf63f586ad41fff13fde4311c4fc13ea74676962c876d9577bcc78f"}, + {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eaad4ff2de1c3823fddf82f41121bdf453d922e9a238642b1dedb33c4e4f98ad"}, + {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:26ab812fa0c845df815e506be30337e2df27e88399b985d0bb4e3ecfe72df31c"}, + {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3c5ebac750d9d5f2706654c638c041635c385596caf68f81342011ddfa1e5598"}, + {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2aafc5a503855ea5885559eae883978c9b6d8c8993d67766ee73d82e841300dd"}, + {file = "pydantic_core-2.20.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:4868f6bd7c9d98904b748a2653031fc9c2f85b6237009d475b1008bfaeb0a5aa"}, + {file = "pydantic_core-2.20.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:aa2f457b4af386254372dfa78a2eda2563680d982422641a85f271c859df1987"}, + {file = "pydantic_core-2.20.1-cp38-none-win32.whl", hash = "sha256:225b67a1f6d602de0ce7f6c1c3ae89a4aa25d3de9be857999e9124f15dab486a"}, + {file = "pydantic_core-2.20.1-cp38-none-win_amd64.whl", hash = "sha256:6b507132dcfc0dea440cce23ee2182c0ce7aba7054576efc65634f080dbe9434"}, + {file = "pydantic_core-2.20.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:b03f7941783b4c4a26051846dea594628b38f6940a2fdc0df00b221aed39314c"}, + {file = "pydantic_core-2.20.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1eedfeb6089ed3fad42e81a67755846ad4dcc14d73698c120a82e4ccf0f1f9f6"}, + {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:635fee4e041ab9c479e31edda27fcf966ea9614fff1317e280d99eb3e5ab6fe2"}, + {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:77bf3ac639c1ff567ae3b47f8d4cc3dc20f9966a2a6dd2311dcc055d3d04fb8a"}, + {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7ed1b0132f24beeec5a78b67d9388656d03e6a7c837394f99257e2d55b461611"}, + {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c6514f963b023aeee506678a1cf821fe31159b925c4b76fe2afa94cc70b3222b"}, + {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10d4204d8ca33146e761c79f83cc861df20e7ae9f6487ca290a97702daf56006"}, + {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2d036c7187b9422ae5b262badb87a20a49eb6c5238b2004e96d4da1231badef1"}, + {file = "pydantic_core-2.20.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9ebfef07dbe1d93efb94b4700f2d278494e9162565a54f124c404a5656d7ff09"}, + {file = "pydantic_core-2.20.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:6b9d9bb600328a1ce523ab4f454859e9d439150abb0906c5a1983c146580ebab"}, + {file = "pydantic_core-2.20.1-cp39-none-win32.whl", hash = "sha256:784c1214cb6dd1e3b15dd8b91b9a53852aed16671cc3fbe4786f4f1db07089e2"}, + {file = "pydantic_core-2.20.1-cp39-none-win_amd64.whl", hash = "sha256:d2fe69c5434391727efa54b47a1e7986bb0186e72a41b203df8f5b0a19a4f669"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:a45f84b09ac9c3d35dfcf6a27fd0634d30d183205230a0ebe8373a0e8cfa0906"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:d02a72df14dfdbaf228424573a07af10637bd490f0901cee872c4f434a735b94"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d2b27e6af28f07e2f195552b37d7d66b150adbaa39a6d327766ffd695799780f"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:084659fac3c83fd674596612aeff6041a18402f1e1bc19ca39e417d554468482"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:242b8feb3c493ab78be289c034a1f659e8826e2233786e36f2893a950a719bb6"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:38cf1c40a921d05c5edc61a785c0ddb4bed67827069f535d794ce6bcded919fc"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:e0bbdd76ce9aa5d4209d65f2b27fc6e5ef1312ae6c5333c26db3f5ade53a1e99"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:254ec27fdb5b1ee60684f91683be95e5133c994cc54e86a0b0963afa25c8f8a6"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:407653af5617f0757261ae249d3fba09504d7a71ab36ac057c938572d1bc9331"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:c693e916709c2465b02ca0ad7b387c4f8423d1db7b4649c551f27a529181c5ad"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5b5ff4911aea936a47d9376fd3ab17e970cc543d1b68921886e7f64bd28308d1"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:177f55a886d74f1808763976ac4efd29b7ed15c69f4d838bbd74d9d09cf6fa86"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:964faa8a861d2664f0c7ab0c181af0bea66098b1919439815ca8803ef136fc4e"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:4dd484681c15e6b9a977c785a345d3e378d72678fd5f1f3c0509608da24f2ac0"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f6d6cff3538391e8486a431569b77921adfcdef14eb18fbf19b7c0a5294d4e6a"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a6d511cc297ff0883bc3708b465ff82d7560193169a8b93260f74ecb0a5e08a7"}, + {file = "pydantic_core-2.20.1.tar.gz", hash = "sha256:26ca695eeee5f9f1aeeb211ffc12f10bcb6f71e2989988fda61dabd65db878d4"}, ] [package.dependencies] @@ -1550,17 +1569,16 @@ typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0" [[package]] name = "pygments" -version = "2.17.2" +version = "2.18.0" description = "Pygments is a syntax highlighting package written in Python." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "pygments-2.17.2-py3-none-any.whl", hash = "sha256:b27c2826c47d0f3219f29554824c30c5e8945175d888647acd804ddd04af846c"}, - {file = "pygments-2.17.2.tar.gz", hash = "sha256:da46cec9fd2de5be3a8a784f434e4c4ab670b4ff54d605c4c2717e9d49c4c367"}, + {file = "pygments-2.18.0-py3-none-any.whl", hash = "sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a"}, + {file = "pygments-2.18.0.tar.gz", hash = "sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199"}, ] [package.extras] -plugins = ["importlib-metadata"] windows-terminal = ["colorama (>=0.4.6)"] [[package]] @@ -1594,13 +1612,13 @@ testutils = ["gitpython (>3)"] [[package]] name = "pynautobot" -version = "2.1.1" +version = "2.2.0" description = "Nautobot API client library" optional = false -python-versions = "<4.0,>=3.8" +python-versions = "<4.0.0,>=3.8.1" files = [ - {file = "pynautobot-2.1.1-py3-none-any.whl", hash = "sha256:bcf56fee4733942a87dd07f956418f67580f45d08e5296c8fa3d11316c4ca419"}, - {file = "pynautobot-2.1.1.tar.gz", hash = "sha256:f01907a519689dc842f909f850737f68b53953818c97380a8101406d37e49d1b"}, + {file = "pynautobot-2.2.0-py3-none-any.whl", hash = "sha256:cfccebafcce80335d4de1e65b16ae34f5d69c1cb752a879a2003a4be8db60e7d"}, + {file = "pynautobot-2.2.0.tar.gz", hash = "sha256:b288e558be5598a3f46de015309d3558504205c3fe1341371f7ff360f895e674"}, ] [package.dependencies] @@ -1610,13 +1628,13 @@ urllib3 = ">=1.21.1,<1.27" [[package]] name = "pytest" -version = "8.1.1" +version = "8.2.2" description = "pytest: simple powerful testing with Python" optional = false python-versions = ">=3.8" files = [ - {file = "pytest-8.1.1-py3-none-any.whl", hash = "sha256:2a8386cfc11fa9d2c50ee7b2a57e7d898ef90470a7a34c4b949ff59662bb78b7"}, - {file = "pytest-8.1.1.tar.gz", hash = "sha256:ac978141a75948948817d360297b7aae0fcb9d6ff6bc9ec6d514b85d5a65c044"}, + {file = "pytest-8.2.2-py3-none-any.whl", hash = "sha256:c434598117762e2bd304e526244f67bf66bbd7b5d6cf22138be51ff661980343"}, + {file = "pytest-8.2.2.tar.gz", hash = "sha256:de4bb8104e201939ccdc688b27a89a7be2079b22e2bd2b07f806b6ba71117977"}, ] [package.dependencies] @@ -1624,11 +1642,11 @@ colorama = {version = "*", markers = "sys_platform == \"win32\""} exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} iniconfig = "*" packaging = "*" -pluggy = ">=1.4,<2.0" +pluggy = ">=1.5,<2.0" tomli = {version = ">=1", markers = "python_version < \"3.11\""} [package.extras] -testing = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] +dev = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] [[package]] name = "pytest-forked" @@ -1677,18 +1695,18 @@ pytest = ">=2.5.2" [[package]] name = "pytest-xdist" -version = "3.5.0" +version = "3.6.1" description = "pytest xdist plugin for distributed testing, most importantly across multiple CPUs" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "pytest-xdist-3.5.0.tar.gz", hash = "sha256:cbb36f3d67e0c478baa57fa4edc8843887e0f6cfc42d677530a36d7472b32d8a"}, - {file = "pytest_xdist-3.5.0-py3-none-any.whl", hash = "sha256:d075629c7e00b611df89f490a5063944bee7a4362a5ff11c7cc7824a03dfce24"}, + {file = "pytest_xdist-3.6.1-py3-none-any.whl", hash = "sha256:9ed4adfb68a016610848639bb7e02c9352d5d9f03d04809919e2dafc3be4cca7"}, + {file = "pytest_xdist-3.6.1.tar.gz", hash = "sha256:ead156a4db231eec769737f57668ef58a2084a34b2e55c4a8fa20d861107300d"}, ] [package.dependencies] -execnet = ">=1.1" -pytest = ">=6.2.0" +execnet = ">=2.1" +pytest = ">=7.0.0" [package.extras] psutil = ["psutil (>=3.0)"] @@ -1720,6 +1738,7 @@ files = [ {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"}, {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"}, + {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef"}, {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"}, {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"}, {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"}, @@ -1756,13 +1775,13 @@ files = [ [[package]] name = "requests" -version = "2.31.0" +version = "2.32.3" description = "Python HTTP for Humans." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"}, - {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"}, + {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"}, + {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"}, ] [package.dependencies] @@ -1812,22 +1831,22 @@ jupyter = ["ipywidgets (>=7.5.1,<9)"] [[package]] name = "rstcheck" -version = "6.2.1" +version = "6.2.4" description = "Checks syntax of reStructuredText and code blocks nested within it" optional = false python-versions = ">=3.8" files = [ - {file = "rstcheck-6.2.1-py3-none-any.whl", hash = "sha256:b450943707d8ca053f5c6b9f103ee595f4926a064203e5e579172aefb3fe2c12"}, - {file = "rstcheck-6.2.1.tar.gz", hash = "sha256:e4d173950b023eb12c2b9d2348a8c62bef46612bbc7b29e1e57d37320ed0a891"}, + {file = "rstcheck-6.2.4-py3-none-any.whl", hash = "sha256:23de2575ba0af1adcddea87a20d69187f0fb9dd8270f59eb98d63461c95375a7"}, + {file = "rstcheck-6.2.4.tar.gz", hash = "sha256:384942563dfbfcc85903a587ecf050447217c46b51e266ed3fe51371bc599015"}, ] [package.dependencies] rstcheck-core = ">=1.1" -typer = {version = ">=0.4.1", extras = ["all"]} +typer = ">=0.12.0" [package.extras] dev = ["rstcheck[docs,sphinx,testing,toml,type-check]", "tox (>=3.15)"] -docs = ["m2r2 (>=0.3.2)", "sphinx (>=5.0)", "sphinx-autobuild (>=2021.3.14)", "sphinx-click (>=4.0.3)", "sphinx-rtd-theme (>=1.2)", "sphinxcontrib-spelling (>=7.3)"] +docs = ["myst-parser (>=3)", "sphinx (>=5.0)", "sphinx-autobuild (>=2021.3.14)", "sphinx-click (>=4.0.3)", "sphinx-rtd-theme (>=1.2)", "sphinxcontrib-spelling (>=7.3)"] sphinx = ["sphinx (>=5.0)"] testing = ["coverage-conditional-plugin (>=0.5)", "coverage[toml] (>=6.0)", "pytest (>=7.2)", "pytest-cov (>=3.0)", "pytest-randomly (>=3.0)", "pytest-sugar (>=0.9.5)"] toml = ["tomli (>=2.0)"] @@ -1874,19 +1893,18 @@ doc = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "setuptools" -version = "69.5.1" +version = "70.3.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "setuptools-69.5.1-py3-none-any.whl", hash = "sha256:c636ac361bc47580504644275c9ad802c50415c7522212252c033bd15f301f32"}, - {file = "setuptools-69.5.1.tar.gz", hash = "sha256:6c1fccdac05a97e598fb0ae3bbed5904ccb317337a51139dcd51453611bbb987"}, + {file = "setuptools-70.3.0-py3-none-any.whl", hash = "sha256:fe384da74336c398e0d956d1cae0669bc02eed936cdb1d49b57de1990dc11ffc"}, + {file = "setuptools-70.3.0.tar.gz", hash = "sha256:f171bab1dfbc86b132997f26a119f6056a57950d058587841a0082e8830f9dc5"}, ] [package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] -testing = ["build[virtualenv]", "filelock (>=3.4.0)", "importlib-metadata", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "mypy (==1.9)", "packaging (>=23.2)", "pip (>=19.1)", "pytest (>=6,!=8.1.1)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy", "pytest-perf", "pytest-ruff (>=0.2.1)", "pytest-timeout", "pytest-xdist (>=3)", "tomli", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] -testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.2)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] +test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "importlib-metadata", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test", "mypy (==1.10.0)", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy", "pytest-perf", "pytest-ruff (>=0.3.2)", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] [[package]] name = "sh" @@ -2131,13 +2149,13 @@ files = [ [[package]] name = "tomlkit" -version = "0.12.4" +version = "0.13.0" description = "Style preserving TOML library" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "tomlkit-0.12.4-py3-none-any.whl", hash = "sha256:5cd82d48a3dd89dee1f9d64420aa20ae65cfbd00668d6f094d7578a78efbb77b"}, - {file = "tomlkit-0.12.4.tar.gz", hash = "sha256:7ca1cfc12232806517a8515047ba66a19369e71edf2439d0f5824f91032b6cc3"}, + {file = "tomlkit-0.13.0-py3-none-any.whl", hash = "sha256:7075d3042d03b80f603482d69bf0c8f345c2b30e41699fd8883227f89972b264"}, + {file = "tomlkit-0.13.0.tar.gz", hash = "sha256:08ad192699734149f5b97b45f1f18dad7eb1b6d16bc72ad0c2335772650d7b72"}, ] [[package]] @@ -2173,24 +2191,24 @@ typing-extensions = ">=3.7.4.3" [[package]] name = "typing-extensions" -version = "4.11.0" +version = "4.12.2" description = "Backported and Experimental Type Hints for Python 3.8+" optional = false python-versions = ">=3.8" files = [ - {file = "typing_extensions-4.11.0-py3-none-any.whl", hash = "sha256:c1f94d72897edaf4ce775bb7558d5b79d8126906a14ea5ed1635921406c0387a"}, - {file = "typing_extensions-4.11.0.tar.gz", hash = "sha256:83f085bd5ca59c80295fc2a82ab5dac679cbe02b9f33f7d83af68e241bea51b0"}, + {file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"}, + {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, ] [[package]] name = "urllib3" -version = "1.26.18" +version = "1.26.19" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" files = [ - {file = "urllib3-1.26.18-py2.py3-none-any.whl", hash = "sha256:34b97092d7e0a3a8cf7cd10e386f401b3737364026c45e622aa02903dffe0f07"}, - {file = "urllib3-1.26.18.tar.gz", hash = "sha256:f8ecc1bba5667413457c529ab955bf8c67b45db799d159066261719e328580a0"}, + {file = "urllib3-1.26.19-py2.py3-none-any.whl", hash = "sha256:37a0344459b199fce0e80b0d3569837ec6b6937435c5244e7fd73fa6006830f3"}, + {file = "urllib3-1.26.19.tar.gz", hash = "sha256:3e3d753a8618b86d7de333b4223005f68720bcd6a7d2bcb9fbd2229ec7c1e429"}, ] [package.extras] @@ -2382,20 +2400,20 @@ multidict = ">=4.0" [[package]] name = "zipp" -version = "3.18.1" +version = "3.19.2" description = "Backport of pathlib-compatible object wrapper for zip files" optional = false python-versions = ">=3.8" files = [ - {file = "zipp-3.18.1-py3-none-any.whl", hash = "sha256:206f5a15f2af3dbaee80769fb7dc6f249695e940acca08dfb2a4769fe61e538b"}, - {file = "zipp-3.18.1.tar.gz", hash = "sha256:2884ed22e7d8961de1c9a05142eb69a247f120291bc0206a00a7642f09b5b715"}, + {file = "zipp-3.19.2-py3-none-any.whl", hash = "sha256:f091755f667055f2d02b32c53771a7a6c8b47e1fdbc4b72a8b9072b3eef8015c"}, + {file = "zipp-3.19.2.tar.gz", hash = "sha256:bf1dcf6450f873a13e952a29504887c89e6de7506209e5b1bcc3460135d4de19"}, ] [package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy", "pytest-ruff (>=0.2.1)"] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy", "pytest-ruff (>=0.2.1)"] [metadata] lock-version = "2.0" python-versions = "^3.9" -content-hash = "6ecc4cbcbbb7f4faf9cb6b485ad57353098511446b8ea1a0fa2c679a00500d9c" +content-hash = "7d3834e3dca2450fe615a67f08c0a06342188ac08fff224e6c982da773d38f5c" diff --git a/pyproject.toml b/pyproject.toml index 84b537d5..935578b1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,7 +29,7 @@ sphinx_rtd_theme = "*" hypothesis = "^6.8.0" pytest-pythonpath = "^0.7.3" parameterized = "^0.8.1" -invoke = "^1.6.0" +invoke = "^2.1.0" bandit = "^1.7.0" antsibull = "^0.45.1" antsibull-docs = "^1.7.3" From 605c9674aba475ae6445e427afa14f98cc0d5f2a Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Sat, 13 Jul 2024 21:06:57 -0500 Subject: [PATCH 014/102] Adds IPv6 Info into test data. --- tests/unit/inventory/test_data/graphql_groups/device_data.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/unit/inventory/test_data/graphql_groups/device_data.json b/tests/unit/inventory/test_data/graphql_groups/device_data.json index b4cce772..5a2af9c5 100644 --- a/tests/unit/inventory/test_data/graphql_groups/device_data.json +++ b/tests/unit/inventory/test_data/graphql_groups/device_data.json @@ -9,6 +9,9 @@ "primary_ip4": { "host": "10.10.10.10" }, + "primary_ip6": { + "host": "2001:db8::1" + }, "role": { "name": "edge", "color_category": { From f601238e73c7ea0435eb2c0bb2a08775a4d5a927 Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Sat, 13 Jul 2024 21:07:04 -0500 Subject: [PATCH 015/102] Updates test and set up. --- plugins/inventory/gql_inventory.py | 6 +++--- tests/unit/inventory/test_graphql.py | 29 +++++++++++++++++++++++++++- 2 files changed, 31 insertions(+), 4 deletions(-) diff --git a/plugins/inventory/gql_inventory.py b/plugins/inventory/gql_inventory.py index 5f0210ad..ada66d81 100644 --- a/plugins/inventory/gql_inventory.py +++ b/plugins/inventory/gql_inventory.py @@ -273,12 +273,12 @@ def add_variable(self, host: str, var: str, var_type: str): """ self.inventory.set_variable(host, var_type, var) - def add_ip_address(self, default_ip_version, device): + def add_ip_address(self, device, default_ip_version="ipv4"): """Add primary IP address to host.""" # Check to see what the primary IP host addition is, first case is IPv4, which is the default order_of_preference = ["primary_ip4"] - # if default_ip_version is IPv4, prepend, else postpend + # if default_ip_version is IPv4, prepend, else add to the end if default_ip_version.lower() == "ipv6": order_of_preference.insert(0, "primary_ip6") else: @@ -424,7 +424,7 @@ def main(self): for device in json_data["data"].get("devices", []) + json_data["data"].get("virtual_machines", []): hostname = device["name"] self.inventory.add_host(host=hostname) - self.add_ip_address(self.default_ip_version, device) + self.add_ip_address(device, self.default_ip_version) self.add_ansible_platform(device) self.populate_variables(device) self.create_groups(device) diff --git a/tests/unit/inventory/test_graphql.py b/tests/unit/inventory/test_graphql.py index 28ca9b0b..f2677151 100644 --- a/tests/unit/inventory/test_graphql.py +++ b/tests/unit/inventory/test_graphql.py @@ -140,7 +140,34 @@ def test_group_by_empty_string(inventory_fixture, device_data): def test_add_ipv4(inventory_fixture, device_data): inventory_fixture.group_by = ["location"] inventory_fixture.create_groups(device_data) - inventory_fixture.add_ipv4_address(device_data) + inventory_fixture.add_ip_address(device_data, default_ip_version="ipv4") + mydevice_host = inventory_fixture.inventory.get_host("mydevice") + assert mydevice_host.vars.get("ansible_host") == "10.10.10.10" + + +def test_add_ipv6(inventory_fixture, device_data): + inventory_fixture.group_by = ["location"] + inventory_fixture.create_groups(device_data) + inventory_fixture.add_ip_address(device_data, default_ip_version="ipv6") + mydevice_host = inventory_fixture.inventory.get_host("mydevice") + assert mydevice_host.vars.get("ansible_host") == "2001:db8::1" + + +def test_add_ip_address_no_default(inventory_fixture, device_data): + inventory_fixture.group_by = ["location"] + inventory_fixture.create_groups(device_data) + inventory_fixture.add_ip_address(device_data) + mydevice_host = inventory_fixture.inventory.get_host("mydevice") + assert mydevice_host.vars.get("ansible_host") == "10.10.10.10" + + +def test_add_ip_address_no_ipv6(inventory_fixture, device_data): + inventory_fixture.group_by = ["location"] + + # Set the primary_ip6 to None as it would be if there was no ipv6 address assigned + device_data["primary_ip6"]["host"] = None + inventory_fixture.create_groups(device_data) + inventory_fixture.add_ip_address(device_data, default_ip_version="ipv6") mydevice_host = inventory_fixture.inventory.get_host("mydevice") assert mydevice_host.vars.get("ansible_host") == "10.10.10.10" From 30d75656f62ad4c0f89e40f450a1cc307bb8080b Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Sat, 13 Jul 2024 21:51:02 -0500 Subject: [PATCH 016/102] Tests --- poetry.lock | 186 ++++++++++++++++------------------------------------ 1 file changed, 55 insertions(+), 131 deletions(-) diff --git a/poetry.lock b/poetry.lock index c9083e93..32907311 100644 --- a/poetry.lock +++ b/poetry.lock @@ -132,17 +132,6 @@ files = [ {file = "alabaster-0.7.16.tar.gz", hash = "sha256:75a8b99c28a5dad50dd7f8ccdd447a121ddb3892da9e53d1ca5cca3106d58d65"}, ] -[[package]] -name = "annotated-types" -version = "0.7.0" -description = "Reusable constraint types to use with typing.Annotated" -optional = false -python-versions = ">=3.8" -files = [ - {file = "annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53"}, - {file = "annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89"}, -] - [[package]] name = "ansible-core" version = "2.15.12" @@ -1452,126 +1441,62 @@ files = [ [[package]] name = "pydantic" -version = "2.8.2" -description = "Data validation using Python type hints" +version = "1.10.17" +description = "Data validation and settings management using python type hints" optional = false python-versions = ">=3.7" files = [ - {file = "pydantic-2.8.2-py3-none-any.whl", hash = "sha256:73ee9fddd406dc318b885c7a2eab8a6472b68b8fb5ba8150949fc3db939f23c8"}, - {file = "pydantic-2.8.2.tar.gz", hash = "sha256:6f62c13d067b0755ad1c21a34bdd06c0c12625a22b0fc09c6b149816604f7c2a"}, + {file = "pydantic-1.10.17-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0fa51175313cc30097660b10eec8ca55ed08bfa07acbfe02f7a42f6c242e9a4b"}, + {file = "pydantic-1.10.17-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c7e8988bb16988890c985bd2093df9dd731bfb9d5e0860db054c23034fab8f7a"}, + {file = "pydantic-1.10.17-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:371dcf1831f87c9e217e2b6a0c66842879a14873114ebb9d0861ab22e3b5bb1e"}, + {file = "pydantic-1.10.17-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4866a1579c0c3ca2c40575398a24d805d4db6cb353ee74df75ddeee3c657f9a7"}, + {file = "pydantic-1.10.17-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:543da3c6914795b37785703ffc74ba4d660418620cc273490d42c53949eeeca6"}, + {file = "pydantic-1.10.17-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7623b59876f49e61c2e283551cc3647616d2fbdc0b4d36d3d638aae8547ea681"}, + {file = "pydantic-1.10.17-cp310-cp310-win_amd64.whl", hash = "sha256:409b2b36d7d7d19cd8310b97a4ce6b1755ef8bd45b9a2ec5ec2b124db0a0d8f3"}, + {file = "pydantic-1.10.17-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:fa43f362b46741df8f201bf3e7dff3569fa92069bcc7b4a740dea3602e27ab7a"}, + {file = "pydantic-1.10.17-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2a72d2a5ff86a3075ed81ca031eac86923d44bc5d42e719d585a8eb547bf0c9b"}, + {file = "pydantic-1.10.17-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b4ad32aed3bf5eea5ca5decc3d1bbc3d0ec5d4fbcd72a03cdad849458decbc63"}, + {file = "pydantic-1.10.17-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aeb4e741782e236ee7dc1fb11ad94dc56aabaf02d21df0e79e0c21fe07c95741"}, + {file = "pydantic-1.10.17-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:d2f89a719411cb234105735a520b7c077158a81e0fe1cb05a79c01fc5eb59d3c"}, + {file = "pydantic-1.10.17-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:db3b48d9283d80a314f7a682f7acae8422386de659fffaba454b77a083c3937d"}, + {file = "pydantic-1.10.17-cp311-cp311-win_amd64.whl", hash = "sha256:9c803a5113cfab7bbb912f75faa4fc1e4acff43e452c82560349fff64f852e1b"}, + {file = "pydantic-1.10.17-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:820ae12a390c9cbb26bb44913c87fa2ff431a029a785642c1ff11fed0a095fcb"}, + {file = "pydantic-1.10.17-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c1e51d1af306641b7d1574d6d3307eaa10a4991542ca324f0feb134fee259815"}, + {file = "pydantic-1.10.17-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e53fb834aae96e7b0dadd6e92c66e7dd9cdf08965340ed04c16813102a47fab"}, + {file = "pydantic-1.10.17-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0e2495309b1266e81d259a570dd199916ff34f7f51f1b549a0d37a6d9b17b4dc"}, + {file = "pydantic-1.10.17-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:098ad8de840c92ea586bf8efd9e2e90c6339d33ab5c1cfbb85be66e4ecf8213f"}, + {file = "pydantic-1.10.17-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:525bbef620dac93c430d5d6bdbc91bdb5521698d434adf4434a7ef6ffd5c4b7f"}, + {file = "pydantic-1.10.17-cp312-cp312-win_amd64.whl", hash = "sha256:6654028d1144df451e1da69a670083c27117d493f16cf83da81e1e50edce72ad"}, + {file = "pydantic-1.10.17-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c87cedb4680d1614f1d59d13fea353faf3afd41ba5c906a266f3f2e8c245d655"}, + {file = "pydantic-1.10.17-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11289fa895bcbc8f18704efa1d8020bb9a86314da435348f59745473eb042e6b"}, + {file = "pydantic-1.10.17-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:94833612d6fd18b57c359a127cbfd932d9150c1b72fea7c86ab58c2a77edd7c7"}, + {file = "pydantic-1.10.17-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:d4ecb515fa7cb0e46e163ecd9d52f9147ba57bc3633dca0e586cdb7a232db9e3"}, + {file = "pydantic-1.10.17-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:7017971ffa7fd7808146880aa41b266e06c1e6e12261768a28b8b41ba55c8076"}, + {file = "pydantic-1.10.17-cp37-cp37m-win_amd64.whl", hash = "sha256:e840e6b2026920fc3f250ea8ebfdedf6ea7a25b77bf04c6576178e681942ae0f"}, + {file = "pydantic-1.10.17-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:bfbb18b616abc4df70591b8c1ff1b3eabd234ddcddb86b7cac82657ab9017e33"}, + {file = "pydantic-1.10.17-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ebb249096d873593e014535ab07145498957091aa6ae92759a32d40cb9998e2e"}, + {file = "pydantic-1.10.17-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d8c209af63ccd7b22fba94b9024e8b7fd07feffee0001efae50dd99316b27768"}, + {file = "pydantic-1.10.17-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d4b40c9e13a0b61583e5599e7950490c700297b4a375b55b2b592774332798b7"}, + {file = "pydantic-1.10.17-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:c31d281c7485223caf6474fc2b7cf21456289dbaa31401844069b77160cab9c7"}, + {file = "pydantic-1.10.17-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:ae5184e99a060a5c80010a2d53c99aee76a3b0ad683d493e5f0620b5d86eeb75"}, + {file = "pydantic-1.10.17-cp38-cp38-win_amd64.whl", hash = "sha256:ad1e33dc6b9787a6f0f3fd132859aa75626528b49cc1f9e429cdacb2608ad5f0"}, + {file = "pydantic-1.10.17-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7e17c0ee7192e54a10943f245dc79e36d9fe282418ea05b886e1c666063a7b54"}, + {file = "pydantic-1.10.17-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:cafb9c938f61d1b182dfc7d44a7021326547b7b9cf695db5b68ec7b590214773"}, + {file = "pydantic-1.10.17-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95ef534e3c22e5abbdbdd6f66b6ea9dac3ca3e34c5c632894f8625d13d084cbe"}, + {file = "pydantic-1.10.17-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:62d96b8799ae3d782df7ec9615cb59fc32c32e1ed6afa1b231b0595f6516e8ab"}, + {file = "pydantic-1.10.17-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:ab2f976336808fd5d539fdc26eb51f9aafc1f4b638e212ef6b6f05e753c8011d"}, + {file = "pydantic-1.10.17-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:b8ad363330557beac73159acfbeed220d5f1bfcd6b930302a987a375e02f74fd"}, + {file = "pydantic-1.10.17-cp39-cp39-win_amd64.whl", hash = "sha256:48db882e48575ce4b39659558b2f9f37c25b8d348e37a2b4e32971dd5a7d6227"}, + {file = "pydantic-1.10.17-py3-none-any.whl", hash = "sha256:e41b5b973e5c64f674b3b4720286ded184dcc26a691dd55f34391c62c6934688"}, + {file = "pydantic-1.10.17.tar.gz", hash = "sha256:f434160fb14b353caf634149baaf847206406471ba70e64657c1e8330277a991"}, ] [package.dependencies] -annotated-types = ">=0.4.0" -pydantic-core = "2.20.1" -typing-extensions = [ - {version = ">=4.6.1", markers = "python_version < \"3.13\""}, - {version = ">=4.12.2", markers = "python_version >= \"3.13\""}, -] +typing-extensions = ">=4.2.0" [package.extras] -email = ["email-validator (>=2.0.0)"] - -[[package]] -name = "pydantic-core" -version = "2.20.1" -description = "Core functionality for Pydantic validation and serialization" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pydantic_core-2.20.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:3acae97ffd19bf091c72df4d726d552c473f3576409b2a7ca36b2f535ffff4a3"}, - {file = "pydantic_core-2.20.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:41f4c96227a67a013e7de5ff8f20fb496ce573893b7f4f2707d065907bffdbd6"}, - {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f239eb799a2081495ea659d8d4a43a8f42cd1fe9ff2e7e436295c38a10c286a"}, - {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:53e431da3fc53360db73eedf6f7124d1076e1b4ee4276b36fb25514544ceb4a3"}, - {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f1f62b2413c3a0e846c3b838b2ecd6c7a19ec6793b2a522745b0869e37ab5bc1"}, - {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d41e6daee2813ecceea8eda38062d69e280b39df793f5a942fa515b8ed67953"}, - {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d482efec8b7dc6bfaedc0f166b2ce349df0011f5d2f1f25537ced4cfc34fd98"}, - {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e93e1a4b4b33daed65d781a57a522ff153dcf748dee70b40c7258c5861e1768a"}, - {file = "pydantic_core-2.20.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e7c4ea22b6739b162c9ecaaa41d718dfad48a244909fe7ef4b54c0b530effc5a"}, - {file = "pydantic_core-2.20.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4f2790949cf385d985a31984907fecb3896999329103df4e4983a4a41e13e840"}, - {file = "pydantic_core-2.20.1-cp310-none-win32.whl", hash = "sha256:5e999ba8dd90e93d57410c5e67ebb67ffcaadcea0ad973240fdfd3a135506250"}, - {file = "pydantic_core-2.20.1-cp310-none-win_amd64.whl", hash = "sha256:512ecfbefef6dac7bc5eaaf46177b2de58cdf7acac8793fe033b24ece0b9566c"}, - {file = "pydantic_core-2.20.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d2a8fa9d6d6f891f3deec72f5cc668e6f66b188ab14bb1ab52422fe8e644f312"}, - {file = "pydantic_core-2.20.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:175873691124f3d0da55aeea1d90660a6ea7a3cfea137c38afa0a5ffabe37b88"}, - {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:37eee5b638f0e0dcd18d21f59b679686bbd18917b87db0193ae36f9c23c355fc"}, - {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:25e9185e2d06c16ee438ed39bf62935ec436474a6ac4f9358524220f1b236e43"}, - {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:150906b40ff188a3260cbee25380e7494ee85048584998c1e66df0c7a11c17a6"}, - {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ad4aeb3e9a97286573c03df758fc7627aecdd02f1da04516a86dc159bf70121"}, - {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d3f3ed29cd9f978c604708511a1f9c2fdcb6c38b9aae36a51905b8811ee5cbf1"}, - {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b0dae11d8f5ded51699c74d9548dcc5938e0804cc8298ec0aa0da95c21fff57b"}, - {file = "pydantic_core-2.20.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:faa6b09ee09433b87992fb5a2859efd1c264ddc37280d2dd5db502126d0e7f27"}, - {file = "pydantic_core-2.20.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9dc1b507c12eb0481d071f3c1808f0529ad41dc415d0ca11f7ebfc666e66a18b"}, - {file = "pydantic_core-2.20.1-cp311-none-win32.whl", hash = "sha256:fa2fddcb7107e0d1808086ca306dcade7df60a13a6c347a7acf1ec139aa6789a"}, - {file = "pydantic_core-2.20.1-cp311-none-win_amd64.whl", hash = "sha256:40a783fb7ee353c50bd3853e626f15677ea527ae556429453685ae32280c19c2"}, - {file = "pydantic_core-2.20.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:595ba5be69b35777474fa07f80fc260ea71255656191adb22a8c53aba4479231"}, - {file = "pydantic_core-2.20.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a4f55095ad087474999ee28d3398bae183a66be4823f753cd7d67dd0153427c9"}, - {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f9aa05d09ecf4c75157197f27cdc9cfaeb7c5f15021c6373932bf3e124af029f"}, - {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e97fdf088d4b31ff4ba35db26d9cc472ac7ef4a2ff2badeabf8d727b3377fc52"}, - {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bc633a9fe1eb87e250b5c57d389cf28998e4292336926b0b6cdaee353f89a237"}, - {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d573faf8eb7e6b1cbbcb4f5b247c60ca8be39fe2c674495df0eb4318303137fe"}, - {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26dc97754b57d2fd00ac2b24dfa341abffc380b823211994c4efac7f13b9e90e"}, - {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:33499e85e739a4b60c9dac710c20a08dc73cb3240c9a0e22325e671b27b70d24"}, - {file = "pydantic_core-2.20.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:bebb4d6715c814597f85297c332297c6ce81e29436125ca59d1159b07f423eb1"}, - {file = "pydantic_core-2.20.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:516d9227919612425c8ef1c9b869bbbee249bc91912c8aaffb66116c0b447ebd"}, - {file = "pydantic_core-2.20.1-cp312-none-win32.whl", hash = "sha256:469f29f9093c9d834432034d33f5fe45699e664f12a13bf38c04967ce233d688"}, - {file = "pydantic_core-2.20.1-cp312-none-win_amd64.whl", hash = "sha256:035ede2e16da7281041f0e626459bcae33ed998cca6a0a007a5ebb73414ac72d"}, - {file = "pydantic_core-2.20.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:0827505a5c87e8aa285dc31e9ec7f4a17c81a813d45f70b1d9164e03a813a686"}, - {file = "pydantic_core-2.20.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:19c0fa39fa154e7e0b7f82f88ef85faa2a4c23cc65aae2f5aea625e3c13c735a"}, - {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa223cd1e36b642092c326d694d8bf59b71ddddc94cdb752bbbb1c5c91d833b"}, - {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c336a6d235522a62fef872c6295a42ecb0c4e1d0f1a3e500fe949415761b8a19"}, - {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7eb6a0587eded33aeefea9f916899d42b1799b7b14b8f8ff2753c0ac1741edac"}, - {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:70c8daf4faca8da5a6d655f9af86faf6ec2e1768f4b8b9d0226c02f3d6209703"}, - {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e9fa4c9bf273ca41f940bceb86922a7667cd5bf90e95dbb157cbb8441008482c"}, - {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:11b71d67b4725e7e2a9f6e9c0ac1239bbc0c48cce3dc59f98635efc57d6dac83"}, - {file = "pydantic_core-2.20.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:270755f15174fb983890c49881e93f8f1b80f0b5e3a3cc1394a255706cabd203"}, - {file = "pydantic_core-2.20.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:c81131869240e3e568916ef4c307f8b99583efaa60a8112ef27a366eefba8ef0"}, - {file = "pydantic_core-2.20.1-cp313-none-win32.whl", hash = "sha256:b91ced227c41aa29c672814f50dbb05ec93536abf8f43cd14ec9521ea09afe4e"}, - {file = "pydantic_core-2.20.1-cp313-none-win_amd64.whl", hash = "sha256:65db0f2eefcaad1a3950f498aabb4875c8890438bc80b19362cf633b87a8ab20"}, - {file = "pydantic_core-2.20.1-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:4745f4ac52cc6686390c40eaa01d48b18997cb130833154801a442323cc78f91"}, - {file = "pydantic_core-2.20.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a8ad4c766d3f33ba8fd692f9aa297c9058970530a32c728a2c4bfd2616d3358b"}, - {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41e81317dd6a0127cabce83c0c9c3fbecceae981c8391e6f1dec88a77c8a569a"}, - {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:04024d270cf63f586ad41fff13fde4311c4fc13ea74676962c876d9577bcc78f"}, - {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eaad4ff2de1c3823fddf82f41121bdf453d922e9a238642b1dedb33c4e4f98ad"}, - {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:26ab812fa0c845df815e506be30337e2df27e88399b985d0bb4e3ecfe72df31c"}, - {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3c5ebac750d9d5f2706654c638c041635c385596caf68f81342011ddfa1e5598"}, - {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2aafc5a503855ea5885559eae883978c9b6d8c8993d67766ee73d82e841300dd"}, - {file = "pydantic_core-2.20.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:4868f6bd7c9d98904b748a2653031fc9c2f85b6237009d475b1008bfaeb0a5aa"}, - {file = "pydantic_core-2.20.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:aa2f457b4af386254372dfa78a2eda2563680d982422641a85f271c859df1987"}, - {file = "pydantic_core-2.20.1-cp38-none-win32.whl", hash = "sha256:225b67a1f6d602de0ce7f6c1c3ae89a4aa25d3de9be857999e9124f15dab486a"}, - {file = "pydantic_core-2.20.1-cp38-none-win_amd64.whl", hash = "sha256:6b507132dcfc0dea440cce23ee2182c0ce7aba7054576efc65634f080dbe9434"}, - {file = "pydantic_core-2.20.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:b03f7941783b4c4a26051846dea594628b38f6940a2fdc0df00b221aed39314c"}, - {file = "pydantic_core-2.20.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1eedfeb6089ed3fad42e81a67755846ad4dcc14d73698c120a82e4ccf0f1f9f6"}, - {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:635fee4e041ab9c479e31edda27fcf966ea9614fff1317e280d99eb3e5ab6fe2"}, - {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:77bf3ac639c1ff567ae3b47f8d4cc3dc20f9966a2a6dd2311dcc055d3d04fb8a"}, - {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7ed1b0132f24beeec5a78b67d9388656d03e6a7c837394f99257e2d55b461611"}, - {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c6514f963b023aeee506678a1cf821fe31159b925c4b76fe2afa94cc70b3222b"}, - {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10d4204d8ca33146e761c79f83cc861df20e7ae9f6487ca290a97702daf56006"}, - {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2d036c7187b9422ae5b262badb87a20a49eb6c5238b2004e96d4da1231badef1"}, - {file = "pydantic_core-2.20.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9ebfef07dbe1d93efb94b4700f2d278494e9162565a54f124c404a5656d7ff09"}, - {file = "pydantic_core-2.20.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:6b9d9bb600328a1ce523ab4f454859e9d439150abb0906c5a1983c146580ebab"}, - {file = "pydantic_core-2.20.1-cp39-none-win32.whl", hash = "sha256:784c1214cb6dd1e3b15dd8b91b9a53852aed16671cc3fbe4786f4f1db07089e2"}, - {file = "pydantic_core-2.20.1-cp39-none-win_amd64.whl", hash = "sha256:d2fe69c5434391727efa54b47a1e7986bb0186e72a41b203df8f5b0a19a4f669"}, - {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:a45f84b09ac9c3d35dfcf6a27fd0634d30d183205230a0ebe8373a0e8cfa0906"}, - {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:d02a72df14dfdbaf228424573a07af10637bd490f0901cee872c4f434a735b94"}, - {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d2b27e6af28f07e2f195552b37d7d66b150adbaa39a6d327766ffd695799780f"}, - {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:084659fac3c83fd674596612aeff6041a18402f1e1bc19ca39e417d554468482"}, - {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:242b8feb3c493ab78be289c034a1f659e8826e2233786e36f2893a950a719bb6"}, - {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:38cf1c40a921d05c5edc61a785c0ddb4bed67827069f535d794ce6bcded919fc"}, - {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:e0bbdd76ce9aa5d4209d65f2b27fc6e5ef1312ae6c5333c26db3f5ade53a1e99"}, - {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:254ec27fdb5b1ee60684f91683be95e5133c994cc54e86a0b0963afa25c8f8a6"}, - {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:407653af5617f0757261ae249d3fba09504d7a71ab36ac057c938572d1bc9331"}, - {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:c693e916709c2465b02ca0ad7b387c4f8423d1db7b4649c551f27a529181c5ad"}, - {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5b5ff4911aea936a47d9376fd3ab17e970cc543d1b68921886e7f64bd28308d1"}, - {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:177f55a886d74f1808763976ac4efd29b7ed15c69f4d838bbd74d9d09cf6fa86"}, - {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:964faa8a861d2664f0c7ab0c181af0bea66098b1919439815ca8803ef136fc4e"}, - {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:4dd484681c15e6b9a977c785a345d3e378d72678fd5f1f3c0509608da24f2ac0"}, - {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f6d6cff3538391e8486a431569b77921adfcdef14eb18fbf19b7c0a5294d4e6a"}, - {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a6d511cc297ff0883bc3708b465ff82d7560193169a8b93260f74ecb0a5e08a7"}, - {file = "pydantic_core-2.20.1.tar.gz", hash = "sha256:26ca695eeee5f9f1aeeb211ffc12f10bcb6f71e2989988fda61dabd65db878d4"}, -] - -[package.dependencies] -typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0" +dotenv = ["python-dotenv (>=0.10.4)"] +email = ["email-validator (>=1.0.3)"] [[package]] name = "pygments" @@ -1837,23 +1762,22 @@ jupyter = ["ipywidgets (>=7.5.1,<9)"] [[package]] name = "rstcheck" -version = "6.2.4" +version = "6.1.2" description = "Checks syntax of reStructuredText and code blocks nested within it" optional = false python-versions = ">=3.7,<4.0" files = [ - {file = "rstcheck-6.2.4-py3-none-any.whl", hash = "sha256:23de2575ba0af1adcddea87a20d69187f0fb9dd8270f59eb98d63461c95375a7"}, - {file = "rstcheck-6.2.4.tar.gz", hash = "sha256:384942563dfbfcc85903a587ecf050447217c46b51e266ed3fe51371bc599015"}, + {file = "rstcheck-6.1.2-py3-none-any.whl", hash = "sha256:4aaa46e0debc179f849807c453fa384fd2b75167faf5b1274115730805fab529"}, + {file = "rstcheck-6.1.2.tar.gz", hash = "sha256:f9cb07a72ef9a81d1e32187eae29b00a89421ccba1bde0b1652a08ed0923f61b"}, ] [package.dependencies] -rstcheck-core = ">=1.1" -typer = ">=0.12.0" +rstcheck-core = ">=1.0.2,<2.0.0" +typer = {version = ">=0.4.1,<0.8", extras = ["all"]} [package.extras] -dev = ["rstcheck[docs,sphinx,testing,toml,type-check]", "tox (>=3.15)"] -docs = ["myst-parser (>=3)", "sphinx (>=5.0)", "sphinx-autobuild (>=2021.3.14)", "sphinx-click (>=4.0.3)", "sphinx-rtd-theme (>=1.2)", "sphinxcontrib-spelling (>=7.3)"] -sphinx = ["sphinx (>=5.0)"] +docs = ["m2r2 (>=0.3.2)", "sphinx", "sphinx-autobuild (==2021.3.14)", "sphinx-click (>=4.0.3,<5.0.0)", "sphinx-rtd-dark-mode (>=1.2.4,<2.0.0)", "sphinx-rtd-theme (<1)", "sphinxcontrib-spelling (>=7.3)"] +sphinx = ["sphinx"] testing = ["coverage-conditional-plugin (>=0.5)", "coverage[toml] (>=6.0)", "pytest (>=7.2)", "pytest-cov (>=3.0)", "pytest-randomly (>=3.0)", "pytest-sugar (>=0.9.5)"] toml = ["tomli"] From 9fd130520502c84710d47c822fdda55f8a0ec44e Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Mon, 15 Jul 2024 09:17:00 -0500 Subject: [PATCH 017/102] Adds warning note on doc for Inventory. --- plugins/inventory/inventory.py | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/inventory/inventory.py b/plugins/inventory/inventory.py index 08f2a969..802626f1 100644 --- a/plugins/inventory/inventory.py +++ b/plugins/inventory/inventory.py @@ -16,6 +16,7 @@ short_description: Nautobot inventory source description: - Get inventory hosts from Nautobot + - Note: If gathering an endpoint that has significant number of objects (such as interfaces), you may have failures caused by gathering too much data. Look to leverage the GraphQL inventory or gather data as a first task in the playbook rather than in inventory. extends_documentation_fragment: - constructed - inventory_cache From 26c2ba474bd2d87fb7dee58b2e8ddd764981ac78 Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Mon, 15 Jul 2024 09:30:09 -0500 Subject: [PATCH 018/102] Adds a start of adding some more about the modules. --- README.md | 35 +++++++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index f125ffe7..dc023da0 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black) -# Nautobot modules for Ansible using Ansible Collections +# Nautobot Modules for Ansible using Ansible Collections + +This collection provides Ansible modules to interact with Nautobot, an open-source Network Source of Truth and Network Automation Platform. The modules allow you to automate various tasks in Nautobot, such as managing devices, interfaces, IP addresses, and more. To keep the code simple, we only officially support the two latest releases of Nautobot and don't guarantee backwards compatibility beyond that. @@ -8,13 +10,32 @@ To keep the code simple, we only officially support the two latest releases of N - Nautobot 1.0.0+ or the two latest Nautobot releases - Python 3.6+ -- Python modules: **pynautobot 1.0.0+** +- Python modules: **pynautobot 1.0.0+** for Nautobot 1.x. For Nautobot 2.x please be using **pyantubot 2.x** - Ansible 2.9+ -- Nautobot write-enabled token when using modules or read-only token for `lookup/inventory` +- Nautobot write-enabled token when using modules or read-only token for `lookup/inventory` modules We have a new docs site live that can be found [here](https://nautobot-ansible.readthedocs.io/en/latest/). -> This is a fork of the netbox.netbox Ansible Galaxy collection found at [https://github.com/netbox-community/ansible_modules](https://github.com/netbox-community/ansible_modules) in February, 2021 +## Available Modules + +Here is a list of available modules along with a brief description of each: + +- **nautobot_device**: Manage devices in Nautobot. +- **nautobot_device_role**: Manage device roles in Nautobot. +- **nautobot_device_type**: Manage device types in Nautobot. +- **nautobot_interface**: Manage interfaces on devices in Nautobot. +- **nautobot_ip_address**: Manage IP addresses in Nautobot. +- **nautobot_site**: Manage sites in Nautobot. +- **nautobot_tenant**: Manage tenants in Nautobot. +- **nautobot_vlan**: Manage VLANs in Nautobot. +- **nautobot_virtual_machine**: Manage virtual machines in Nautobot. +- **nautobot_virtualization_cluster**: Manage virtualization clusters in Nautobot. +- **nautobot_cable**: Manage cables in Nautobot. +- **nautobot_circuit**: Manage circuits in Nautobot. +- **nautobot_power_feed**: Manage power feeds in Nautobot. +- **nautobot_rack**: Manage racks in Nautobot. +- **nautobot_rack_group**: Manage rack groups in Nautobot. +- **nautobot_inventory_item**: Manage inventory items in Nautobot. ## Releasing, Versioning, and Deprecation @@ -24,6 +45,8 @@ We plan to regularly release new minor or bugfix versions once new features or b Releasing the current major version happens from the `develop` branch with a release. -If backwards incompatible changes are able, we plan to deprecate the old behavior as early as possible. We also plan to backport at least bugfixes for the old major version for some time after releasing a new major version. We will not block community members from backporting other bugfixes and features from the latest stable version to older release branches, under the condition that these backports are of reasonable quality. Some changes may not be able to be back ported. +If backwards incompatible changes are necessary, we plan to deprecate the old behavior as early as possible. We also plan to backport at least bugfixes for the old major version for some time after releasing a new major version. We will not block community members from backporting other bugfixes and features from the latest stable version to older release branches, under the condition that these backports are of reasonable quality. Some changes may not be able to be backported. + +> Some changes that would require immediate patching that are breaking changes will fall to SemVer and constitute a breaking change. These will only be done when necessary, such as to support working with the most recent 3 versions of Ansible. Backporting these changes may not be possible. -> Some changes that would require immediate patching that are breaking changes will fall to SemVer and constitute a breaking change. These will only be done when necessary, such as to support working with the most recent 3 versions of Ansible. Backporting these changes may not be possible. \ No newline at end of file +> This is a fork of the netbox.netbox Ansible Galaxy collection found at [https://github.com/netbox-community/ansible_modules](https://github.com/netbox-community/ansible_modules) in February, 2021 \ No newline at end of file From ef640c51942923cc18a2f905ce67403aa04f6b74 Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Mon, 15 Jul 2024 09:32:00 -0500 Subject: [PATCH 019/102] Updates to put quotes around. --- plugins/inventory/inventory.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/inventory/inventory.py b/plugins/inventory/inventory.py index 802626f1..9e6d2a28 100644 --- a/plugins/inventory/inventory.py +++ b/plugins/inventory/inventory.py @@ -16,7 +16,7 @@ short_description: Nautobot inventory source description: - Get inventory hosts from Nautobot - - Note: If gathering an endpoint that has significant number of objects (such as interfaces), you may have failures caused by gathering too much data. Look to leverage the GraphQL inventory or gather data as a first task in the playbook rather than in inventory. + - "Note: If gathering an endpoint that has significant number of objects (such as interfaces), you may have failures caused by gathering too much data. Look to leverage the GraphQL inventory or gather data as a first task in the playbook rather than in inventory." extends_documentation_fragment: - constructed - inventory_cache From 4e1f368411aacf664bb7fe7781ff42420371d944 Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Mon, 15 Jul 2024 09:49:50 -0500 Subject: [PATCH 020/102] Updates commentary. --- README.md | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index dc023da0..61e475a4 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ # Nautobot Modules for Ansible using Ansible Collections -This collection provides Ansible modules to interact with Nautobot, an open-source Network Source of Truth and Network Automation Platform. The modules allow you to automate various tasks in Nautobot, such as managing devices, interfaces, IP addresses, and more. +This collection provides Ansible modules to interact with Nautobot, an open-source Network Source of Truth and Network Automation Platform. The modules allow you to automate various tasks in Nautobot, such as managing devices, interfaces, IP addresses, and more. By using these modules, you can keep your Source of Truth (SOT) updated and ensure that your network data is accurate and consistent. To keep the code simple, we only officially support the two latest releases of Nautobot and don't guarantee backwards compatibility beyond that. @@ -10,12 +10,25 @@ To keep the code simple, we only officially support the two latest releases of N - Nautobot 1.0.0+ or the two latest Nautobot releases - Python 3.6+ -- Python modules: **pynautobot 1.0.0+** for Nautobot 1.x. For Nautobot 2.x please be using **pyantubot 2.x** +- Python modules: **pynautobot 1.0.0+**, for Nautobot 2.x use **pynautobot 2.x** - Ansible 2.9+ -- Nautobot write-enabled token when using modules or read-only token for `lookup/inventory` modules +- Nautobot write-enabled token when using modules or read-only token for `lookup/inventory` We have a new docs site live that can be found [here](https://nautobot-ansible.readthedocs.io/en/latest/). +## Keeping Your Source of Truth Updated + +Using the Nautobot Ansible modules, you can ensure that your Nautobot instance remains the authoritative Source of Truth (SOT) for your network. These modules allow for the automation of data input and updates, helping maintain consistency and accuracy across your network configuration and documentation. Whether you are provisioning new devices, updating interface configurations, or managing IP addresses, the Nautobot modules for Ansible provide the tools necessary to automate and streamline these tasks. + +## Interacting with the Nautobot Platform + +The modules in this collection enable seamless interaction with the Nautobot platform. With these modules, you can: + +- Automate the provisioning and deprovisioning of network resources. +- Integrate Nautobot with your CI/CD pipelines to ensure up-to-date network configurations. +- Leverage Nautobot's API to gather real-time data for network monitoring and troubleshooting. +- Implement Infrastructure as Code (IaC) practices by managing Nautobot resources declaratively through Ansible playbooks. + ## Available Modules Here is a list of available modules along with a brief description of each: From 8713296efd8974760cb299a11bdecd63ece116d9 Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Mon, 15 Jul 2024 13:49:58 -0500 Subject: [PATCH 021/102] Update README.md Co-authored-by: Joe Wesch <10467633+joewesch@users.noreply.github.com> --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 61e475a4..317d6ccb 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ To keep the code simple, we only officially support the two latest releases of N - Nautobot 1.0.0+ or the two latest Nautobot releases - Python 3.6+ -- Python modules: **pynautobot 1.0.0+**, for Nautobot 2.x use **pynautobot 2.x** +- Python modules: **pynautobot 2.x+** - Ansible 2.9+ - Nautobot write-enabled token when using modules or read-only token for `lookup/inventory` From 4c5ec34aaaa577a50c1efeb9c5811a6cd122a537 Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Mon, 15 Jul 2024 13:50:07 -0500 Subject: [PATCH 022/102] Update README.md Co-authored-by: Joe Wesch <10467633+joewesch@users.noreply.github.com> --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 317d6ccb..b8a07e4f 100644 --- a/README.md +++ b/README.md @@ -62,4 +62,6 @@ If backwards incompatible changes are necessary, we plan to deprecate the old be > Some changes that would require immediate patching that are breaking changes will fall to SemVer and constitute a breaking change. These will only be done when necessary, such as to support working with the most recent 3 versions of Ansible. Backporting these changes may not be possible. +## History + > This is a fork of the netbox.netbox Ansible Galaxy collection found at [https://github.com/netbox-community/ansible_modules](https://github.com/netbox-community/ansible_modules) in February, 2021 \ No newline at end of file From c0cd2ec77472ecd82deeccdd52df179d3e187a24 Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Mon, 15 Jul 2024 14:01:14 -0500 Subject: [PATCH 023/102] Minor upates. --- README.md | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index b8a07e4f..7798d57b 100644 --- a/README.md +++ b/README.md @@ -33,22 +33,22 @@ The modules in this collection enable seamless interaction with the Nautobot pla Here is a list of available modules along with a brief description of each: -- **nautobot_device**: Manage devices in Nautobot. -- **nautobot_device_role**: Manage device roles in Nautobot. -- **nautobot_device_type**: Manage device types in Nautobot. -- **nautobot_interface**: Manage interfaces on devices in Nautobot. -- **nautobot_ip_address**: Manage IP addresses in Nautobot. -- **nautobot_site**: Manage sites in Nautobot. -- **nautobot_tenant**: Manage tenants in Nautobot. -- **nautobot_vlan**: Manage VLANs in Nautobot. -- **nautobot_virtual_machine**: Manage virtual machines in Nautobot. -- **nautobot_virtualization_cluster**: Manage virtualization clusters in Nautobot. -- **nautobot_cable**: Manage cables in Nautobot. -- **nautobot_circuit**: Manage circuits in Nautobot. -- **nautobot_power_feed**: Manage power feeds in Nautobot. -- **nautobot_rack**: Manage racks in Nautobot. -- **nautobot_rack_group**: Manage rack groups in Nautobot. -- **nautobot_inventory_item**: Manage inventory items in Nautobot. +- **nautobot.device**: Manage devices in Nautobot. +- **nautobot.device_role**: Manage device roles in Nautobot. +- **nautobot.device_type**: Manage device types in Nautobot. +- **nautobot.interface**: Manage interfaces on devices in Nautobot. +- **nautobot.ip_address**: Manage IP addresses in Nautobot. +- **nautobot.site**: Manage sites in Nautobot. +- **nautobot.tenant**: Manage tenants in Nautobot. +- **nautobot.vlan**: Manage VLANs in Nautobot. +- **nautobot.virtual_machine**: Manage virtual machines in Nautobot. +- **nautobot.virtualization_cluster**: Manage virtualization clusters in Nautobot. +- **nautobot.cable**: Manage cables in Nautobot. +- **nautobot.circuit**: Manage circuits in Nautobot. +- **nautobot.power_feed**: Manage power feeds in Nautobot. +- **nautobot.rack**: Manage racks in Nautobot. +- **nautobot.rack_group**: Manage rack groups in Nautobot. +- **nautobot.inventory_item**: Manage inventory items in Nautobot. ## Releasing, Versioning, and Deprecation From 245f433a8ee413be188d498019b708b6f9d48174 Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Mon, 15 Jul 2024 14:01:59 -0500 Subject: [PATCH 024/102] Tweaks. --- README.md | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 7798d57b..08927e6a 100644 --- a/README.md +++ b/README.md @@ -33,22 +33,22 @@ The modules in this collection enable seamless interaction with the Nautobot pla Here is a list of available modules along with a brief description of each: -- **nautobot.device**: Manage devices in Nautobot. -- **nautobot.device_role**: Manage device roles in Nautobot. -- **nautobot.device_type**: Manage device types in Nautobot. -- **nautobot.interface**: Manage interfaces on devices in Nautobot. -- **nautobot.ip_address**: Manage IP addresses in Nautobot. -- **nautobot.site**: Manage sites in Nautobot. -- **nautobot.tenant**: Manage tenants in Nautobot. -- **nautobot.vlan**: Manage VLANs in Nautobot. -- **nautobot.virtual_machine**: Manage virtual machines in Nautobot. -- **nautobot.virtualization_cluster**: Manage virtualization clusters in Nautobot. -- **nautobot.cable**: Manage cables in Nautobot. -- **nautobot.circuit**: Manage circuits in Nautobot. -- **nautobot.power_feed**: Manage power feeds in Nautobot. -- **nautobot.rack**: Manage racks in Nautobot. -- **nautobot.rack_group**: Manage rack groups in Nautobot. -- **nautobot.inventory_item**: Manage inventory items in Nautobot. +- **networktocode.nautobot.device**: Manage devices in Nautobot. +- **networktocode.nautobot.device_role**: Manage device roles in Nautobot. +- **networktocode.nautobot.device_type**: Manage device types in Nautobot. +- **networktocode.nautobot.interface**: Manage interfaces on devices in Nautobot. +- **networktocode.nautobot.ip_address**: Manage IP addresses in Nautobot. +- **networktocode.nautobot.site**: Manage sites in Nautobot. +- **networktocode.nautobot.tenant**: Manage tenants in Nautobot. +- **networktocode.nautobot.vlan**: Manage VLANs in Nautobot. +- **networktocode.nautobot.virtual_machine**: Manage virtual machines in Nautobot. +- **networktocode.nautobot.virtualization_cluster**: Manage virtualization clusters in Nautobot. +- **networktocode.nautobot.cable**: Manage cables in Nautobot. +- **networktocode.nautobot.circuit**: Manage circuits in Nautobot. +- **networktocode.nautobot.power_feed**: Manage power feeds in Nautobot. +- **networktocode.nautobot.rack**: Manage racks in Nautobot. +- **networktocode.nautobot.rack_group**: Manage rack groups in Nautobot. +- **networktocode.nautobot.inventory_item**: Manage inventory items in Nautobot. ## Releasing, Versioning, and Deprecation From e4d90f9e882dfba22e424c46f796e95e4adaab7b Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Thu, 18 Jul 2024 10:09:39 -0500 Subject: [PATCH 025/102] Adds controller module. --- changelogs/changelog.yaml | 4 + docs/plugins/cable_module.rst | 2 +- docs/plugins/circuit_module.rst | 2 +- docs/plugins/circuit_termination_module.rst | 2 +- docs/plugins/circuit_type_module.rst | 2 +- docs/plugins/cluster_group_module.rst | 2 +- docs/plugins/cluster_module.rst | 2 +- docs/plugins/cluster_type_module.rst | 2 +- docs/plugins/console_port_module.rst | 2 +- docs/plugins/console_port_template_module.rst | 2 +- docs/plugins/console_server_port_module.rst | 2 +- .../console_server_port_template_module.rst | 2 +- docs/plugins/contact_module.rst | 796 ++++++++++++++++++ docs/plugins/controller_module.rst | 29 + docs/plugins/custom_field_choice_module.rst | 2 +- docs/plugins/custom_field_module.rst | 2 +- docs/plugins/device_bay_module.rst | 2 +- docs/plugins/device_bay_template_module.rst | 2 +- docs/plugins/device_interface_module.rst | 2 +- .../device_interface_template_module.rst | 2 +- docs/plugins/device_module.rst | 2 +- .../device_redundancy_group_module.rst | 2 +- docs/plugins/device_type_module.rst | 2 +- docs/plugins/front_port_module.rst | 2 +- docs/plugins/front_port_template_module.rst | 2 +- docs/plugins/gql_inventory_inventory.rst | 67 +- docs/plugins/graphql_string_filter.rst | 2 +- docs/plugins/index.rst | 10 +- docs/plugins/inventory_inventory.rst | 2 +- docs/plugins/inventory_item_module.rst | 2 +- docs/plugins/ip_address_module.rst | 2 +- .../ip_address_to_interface_module.rst | 2 +- docs/plugins/location_module.rst | 2 +- docs/plugins/location_type_module.rst | 2 +- docs/plugins/lookup_graphql_lookup.rst | 2 +- docs/plugins/lookup_lookup.rst | 2 +- docs/plugins/manufacturer_module.rst | 2 +- docs/plugins/namespace_module.rst | 2 +- docs/plugins/nautobot_server_module.rst | 2 +- docs/plugins/platform_module.rst | 2 +- docs/plugins/plugin_module.rst | 2 +- docs/plugins/power_feed_module.rst | 2 +- docs/plugins/power_outlet_module.rst | 2 +- docs/plugins/power_outlet_template_module.rst | 2 +- docs/plugins/power_panel_module.rst | 2 +- docs/plugins/power_port_module.rst | 2 +- docs/plugins/power_port_template_module.rst | 2 +- docs/plugins/prefix_module.rst | 8 +- docs/plugins/provider_module.rst | 2 +- docs/plugins/query_graphql_module.rst | 2 +- docs/plugins/rack_group_module.rst | 2 +- docs/plugins/rack_module.rst | 2 +- docs/plugins/rear_port_module.rst | 2 +- docs/plugins/rear_port_template_module.rst | 2 +- .../relationship_association_module.rst | 2 +- docs/plugins/rir_module.rst | 2 +- docs/plugins/role_module.rst | 2 +- docs/plugins/route_target_module.rst | 2 +- docs/plugins/service_module.rst | 2 +- docs/plugins/status_module.rst | 2 +- docs/plugins/tag_module.rst | 2 +- docs/plugins/team_module.rst | 796 ++++++++++++++++++ docs/plugins/tenant_group_module.rst | 2 +- docs/plugins/tenant_module.rst | 2 +- docs/plugins/virtual_chassis_module.rst | 2 +- docs/plugins/virtual_machine_module.rst | 2 +- docs/plugins/vlan_group_module.rst | 2 +- docs/plugins/vlan_location_module.rst | 583 +++++++++++++ docs/plugins/vlan_module.rst | 8 +- docs/plugins/vm_interface_module.rst | 2 +- docs/plugins/vrf_module.rst | 2 +- galaxy.yml | 2 +- plugins/module_utils/dcim.py | 2 + plugins/module_utils/utils.py | 4 + plugins/modules/controller.py | 214 +++++ .../targets/latest/tasks/controllers.yml | 84 ++ 76 files changed, 2662 insertions(+), 69 deletions(-) create mode 100644 docs/plugins/contact_module.rst create mode 100644 docs/plugins/controller_module.rst create mode 100644 docs/plugins/team_module.rst create mode 100644 docs/plugins/vlan_location_module.rst create mode 100644 plugins/modules/controller.py create mode 100644 tests/integration/targets/latest/tasks/controllers.yml diff --git a/changelogs/changelog.yaml b/changelogs/changelog.yaml index fef7abf4..53626b67 100644 --- a/changelogs/changelog.yaml +++ b/changelogs/changelog.yaml @@ -449,3 +449,7 @@ releases: minor_changes: - (#345) Added `NAUTOBOT_VALIDATE_CERTS` environment variable to disable SSL verification - (#348) Fixed GraphQL Inventory plugin bug when device platform is None + 5.3.0: + changes: + minor_changes: + - (#326) Added `controller` module diff --git a/docs/plugins/cable_module.rst b/docs/plugins/cable_module.rst index 390fc108..d8752c30 100755 --- a/docs/plugins/cable_module.rst +++ b/docs/plugins/cable_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.cable module -- Create, update or delete cables within Na .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/circuit_module.rst b/docs/plugins/circuit_module.rst index dbf3e08b..35f3e44d 100755 --- a/docs/plugins/circuit_module.rst +++ b/docs/plugins/circuit_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.circuit module -- Create, update or delete circuits withi .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/circuit_termination_module.rst b/docs/plugins/circuit_termination_module.rst index 7c7ada07..9633bf5a 100755 --- a/docs/plugins/circuit_termination_module.rst +++ b/docs/plugins/circuit_termination_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.circuit_termination module -- Create, update or delete ci .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/circuit_type_module.rst b/docs/plugins/circuit_type_module.rst index 558e5e28..3bd7ba0b 100755 --- a/docs/plugins/circuit_type_module.rst +++ b/docs/plugins/circuit_type_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.circuit_type module -- Create, update or delete circuit t .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/cluster_group_module.rst b/docs/plugins/cluster_group_module.rst index f758759b..996f410c 100755 --- a/docs/plugins/cluster_group_module.rst +++ b/docs/plugins/cluster_group_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.cluster_group module -- Create, update or delete cluster .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/cluster_module.rst b/docs/plugins/cluster_module.rst index c8e36ceb..b9600a12 100755 --- a/docs/plugins/cluster_module.rst +++ b/docs/plugins/cluster_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.cluster module -- Create, update or delete clusters withi .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/cluster_type_module.rst b/docs/plugins/cluster_type_module.rst index 17b728c1..39f37ebc 100755 --- a/docs/plugins/cluster_type_module.rst +++ b/docs/plugins/cluster_type_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.cluster_type module -- Create, update or delete cluster t .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/console_port_module.rst b/docs/plugins/console_port_module.rst index ba134563..edadf236 100755 --- a/docs/plugins/console_port_module.rst +++ b/docs/plugins/console_port_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.console_port module -- Create, update or delete console p .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/console_port_template_module.rst b/docs/plugins/console_port_template_module.rst index d8a9ca35..c2371079 100755 --- a/docs/plugins/console_port_template_module.rst +++ b/docs/plugins/console_port_template_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.console_port_template module -- Create, update or delete .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/console_server_port_module.rst b/docs/plugins/console_server_port_module.rst index 69acf0a8..cc93a604 100755 --- a/docs/plugins/console_server_port_module.rst +++ b/docs/plugins/console_server_port_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.console_server_port module -- Create, update or delete co .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/console_server_port_template_module.rst b/docs/plugins/console_server_port_template_module.rst index 24fea239..41168245 100755 --- a/docs/plugins/console_server_port_template_module.rst +++ b/docs/plugins/console_server_port_template_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.console_server_port_template module -- Create, update or .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/contact_module.rst b/docs/plugins/contact_module.rst new file mode 100644 index 00000000..df64a6c4 --- /dev/null +++ b/docs/plugins/contact_module.rst @@ -0,0 +1,796 @@ + +.. Document meta + +:orphan: + +.. |antsibull-internal-nbsp| unicode:: 0xA0 + :trim: + +.. role:: ansible-attribute-support-label +.. role:: ansible-attribute-support-property +.. role:: ansible-attribute-support-full +.. role:: ansible-attribute-support-partial +.. role:: ansible-attribute-support-none +.. role:: ansible-attribute-support-na +.. role:: ansible-option-type +.. role:: ansible-option-elements +.. role:: ansible-option-required +.. role:: ansible-option-versionadded +.. role:: ansible-option-aliases +.. role:: ansible-option-choices +.. role:: ansible-option-choices-default-mark +.. role:: ansible-option-default-bold +.. role:: ansible-option-configuration +.. role:: ansible-option-returned-bold +.. role:: ansible-option-sample-bold + +.. Anchors + +.. _ansible_collections.networktocode.nautobot.contact_module: + +.. Anchors: short name for ansible.builtin + +.. Anchors: aliases + + + +.. Title + +networktocode.nautobot.contact module -- Creates or removes contacts from Nautobot +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +.. Collection note + +.. note:: + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. + You need further requirements to be able to use this module, + see :ref:`Requirements ` for details. + + To use it in a playbook, specify: :code:`networktocode.nautobot.contact`. + +.. version_added + +.. rst-class:: ansible-version-added + +New in networktocode.nautobot 5.3.0 + +.. contents:: + :local: + :depth: 1 + +.. Deprecated + + +Synopsis +-------- + +.. Description + +- Creates or removes contacts from Nautobot + + +.. Aliases + + +.. Requirements + +.. _ansible_collections.networktocode.nautobot.contact_module_requirements: + +Requirements +------------ +The below requirements are needed on the host that executes this module. + +- pynautobot + + + + + + +.. Options + +Parameters +---------- + +.. rst-class:: ansible-option-table + +.. list-table:: + :width: 100% + :widths: auto + :header-rows: 1 + + * - Parameter + - Comments + + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.contact_module__parameter-address: + + .. rst-class:: ansible-option-title + + **address** + + .. raw:: html + + + + .. rst-class:: ansible-option-type-line + + :ansible-option-type:`string` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + The address of the contact + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.contact_module__parameter-api_version: + + .. rst-class:: ansible-option-title + + **api_version** + + .. raw:: html + + + + .. rst-class:: ansible-option-type-line + + :ansible-option-type:`string` + + :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` + + + .. raw:: html + +
+ + - .. raw:: html + +
+ + API Version Nautobot REST API + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.contact_module__parameter-comments: + + .. rst-class:: ansible-option-title + + **comments** + + .. raw:: html + + + + .. rst-class:: ansible-option-type-line + + :ansible-option-type:`string` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + Comments about the contact + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.contact_module__parameter-custom_fields: + + .. rst-class:: ansible-option-title + + **custom_fields** + + .. raw:: html + + + + .. rst-class:: ansible-option-type-line + + :ansible-option-type:`dictionary` + + :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` + + + .. raw:: html + +
+ + - .. raw:: html + +
+ + Must exist in Nautobot and in key/value format + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.contact_module__parameter-email: + + .. rst-class:: ansible-option-title + + **email** + + .. raw:: html + + + + .. rst-class:: ansible-option-type-line + + :ansible-option-type:`string` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + The email of the contact + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.contact_module__parameter-name: + + .. rst-class:: ansible-option-title + + **name** + + .. raw:: html + + + + .. rst-class:: ansible-option-type-line + + :ansible-option-type:`string` / :ansible-option-required:`required` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + The name of the contact + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.contact_module__parameter-phone: + + .. rst-class:: ansible-option-title + + **phone** + + .. raw:: html + + + + .. rst-class:: ansible-option-type-line + + :ansible-option-type:`string` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + The phone number of the contact + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.contact_module__parameter-query_params: + + .. rst-class:: ansible-option-title + + **query_params** + + .. raw:: html + + + + .. rst-class:: ansible-option-type-line + + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + + :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` + + + .. raw:: html + +
+ + - .. raw:: html + +
+ + 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. + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.contact_module__parameter-state: + + .. rst-class:: ansible-option-title + + **state** + + .. raw:: html + + + + .. rst-class:: ansible-option-type-line + + :ansible-option-type:`string` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + + + .. rst-class:: ansible-option-line + + :ansible-option-choices:`Choices:` + + - :ansible-option-choices-entry:`"absent"` + - :ansible-option-choices-entry-default:`"present"` :ansible-option-choices-default-mark:`← (default)` + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.contact_module__parameter-tags: + + .. rst-class:: ansible-option-title + + **tags** + + .. raw:: html + + + + .. rst-class:: ansible-option-type-line + + :ansible-option-type:`list` / :ansible-option-elements:`elements=any` + + :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` + + + .. raw:: html + +
+ + - .. raw:: html + +
+ + Any tags that this item may need to be associated with + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.contact_module__parameter-teams: + + .. rst-class:: ansible-option-title + + **teams** + + .. raw:: html + + + + .. rst-class:: ansible-option-type-line + + :ansible-option-type:`list` / :ansible-option-elements:`elements=any` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + The teams the contact is associated with + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.contact_module__parameter-token: + + .. rst-class:: ansible-option-title + + **token** + + .. raw:: html + + + + .. rst-class:: ansible-option-type-line + + :ansible-option-type:`string` / :ansible-option-required:`required` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + The token created within Nautobot to authorize API access + + Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.contact_module__parameter-url: + + .. rst-class:: ansible-option-title + + **url** + + .. raw:: html + + + + .. rst-class:: ansible-option-type-line + + :ansible-option-type:`string` / :ansible-option-required:`required` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) + + Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.contact_module__parameter-validate_certs: + + .. rst-class:: ansible-option-title + + **validate_certs** + + .. raw:: html + + + + .. rst-class:: ansible-option-type-line + + :ansible-option-type:`any` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + If \ :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + + + .. rst-class:: ansible-option-line + + :ansible-option-default-bold:`Default:` :ansible-option-default:`true` + + .. raw:: html + +
+ + +.. Attributes + + +.. Notes + +Notes +----- + +.. note:: + - Tags should be defined as a YAML list + - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + +.. Seealso + + +.. Examples + +Examples +-------- + +.. code-block:: yaml+jinja + + + --- + - name: Create a contact + networktocode.nautobot.contact: + url: http://nautobot.local + token: thisIsMyToken + name: My Contact + phone: 123-456-7890 + email: user@example.com + address: 1234 Main St + teams: + - name: team1 + - name: team2 + comments: My Comments + tags: + - tag1 + - tag2 + custom_fields: + my_custom_field: my_value + state: present + + - name: Delete a contact + networktocode.nautobot.contact: + url: http://nautobot.local + token: thisIsMyToken + name: My Contact + state: absent + + + + +.. Facts + + +.. Return values + +Return Values +------------- +Common return values are documented :ref:`here `, the following are the fields unique to this module: + +.. rst-class:: ansible-option-table + +.. list-table:: + :width: 100% + :widths: auto + :header-rows: 1 + + * - Key + - Description + + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.contact_module__return-contact: + + .. rst-class:: ansible-option-title + + **contact** + + .. raw:: html + + + + .. rst-class:: ansible-option-type-line + + :ansible-option-type:`dictionary` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + Serialized object as created or already existent within Nautobot + + + .. rst-class:: ansible-option-line + + :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + + + .. raw:: html + +
+ + + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.contact_module__return-msg: + + .. rst-class:: ansible-option-title + + **msg** + + .. raw:: html + + + + .. rst-class:: ansible-option-type-line + + :ansible-option-type:`string` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + Message indicating failure or info about what has been achieved + + + .. rst-class:: ansible-option-line + + :ansible-option-returned-bold:`Returned:` always + + + .. raw:: html + +
+ + + +.. Status (Presently only deprecated) + + +.. Authors + +Authors +~~~~~~~ + +- Joe Wesch (@joewesch) + + + +.. Extra links + +Collection links +~~~~~~~~~~~~~~~~ + +.. raw:: html + + + +.. Parsing errors + diff --git a/docs/plugins/controller_module.rst b/docs/plugins/controller_module.rst new file mode 100644 index 00000000..ea2b196b --- /dev/null +++ b/docs/plugins/controller_module.rst @@ -0,0 +1,29 @@ + +.. Document meta section + +:orphan: + +.. Document body + +.. Anchors + +.. _ansible_collections.networktocode.nautobot.controller_module: + +.. Title + +networktocode.nautobot.controller module +++++++++++++++++++++++++++++++++++++++++ + + +The documentation for the module plugin, networktocode.nautobot.controller, was malformed. + +The errors were: + +* :: + + 1 validation error for ModuleDocSchema + doc -> description -> 0 + str type expected (type=type_error.str) + + +File a bug with the `networktocode.nautobot collection `_ in order to have it corrected. \ No newline at end of file diff --git a/docs/plugins/custom_field_choice_module.rst b/docs/plugins/custom_field_choice_module.rst index 0e82dbf6..831f2468 100755 --- a/docs/plugins/custom_field_choice_module.rst +++ b/docs/plugins/custom_field_choice_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.custom_field_choice module -- Creates or removes custom f .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/custom_field_module.rst b/docs/plugins/custom_field_module.rst index 1c662132..4637fafb 100755 --- a/docs/plugins/custom_field_module.rst +++ b/docs/plugins/custom_field_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.custom_field module -- Creates or removes custom fields f .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/device_bay_module.rst b/docs/plugins/device_bay_module.rst index 95b09aae..ba426562 100755 --- a/docs/plugins/device_bay_module.rst +++ b/docs/plugins/device_bay_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.device_bay module -- Create, update or delete device bays .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/device_bay_template_module.rst b/docs/plugins/device_bay_template_module.rst index 12e8552b..534e66a8 100755 --- a/docs/plugins/device_bay_template_module.rst +++ b/docs/plugins/device_bay_template_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.device_bay_template module -- Create, update or delete de .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/device_interface_module.rst b/docs/plugins/device_interface_module.rst index 4422ba77..55a41bdd 100755 --- a/docs/plugins/device_interface_module.rst +++ b/docs/plugins/device_interface_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.device_interface module -- Creates or removes interfaces .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/device_interface_template_module.rst b/docs/plugins/device_interface_template_module.rst index 55b3aa67..e6acaa07 100755 --- a/docs/plugins/device_interface_template_module.rst +++ b/docs/plugins/device_interface_template_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.device_interface_template module -- Creates or removes in .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/device_module.rst b/docs/plugins/device_module.rst index e918b7ff..385fb5fc 100755 --- a/docs/plugins/device_module.rst +++ b/docs/plugins/device_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.device module -- Create, update or delete devices within .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/device_redundancy_group_module.rst b/docs/plugins/device_redundancy_group_module.rst index 3e05dfcd..7cdc4b10 100755 --- a/docs/plugins/device_redundancy_group_module.rst +++ b/docs/plugins/device_redundancy_group_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.device_redundancy_group module -- Creates or removes devi .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/device_type_module.rst b/docs/plugins/device_type_module.rst index ebe0c74f..e3692b2b 100755 --- a/docs/plugins/device_type_module.rst +++ b/docs/plugins/device_type_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.device_type module -- Create, update or delete device typ .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/front_port_module.rst b/docs/plugins/front_port_module.rst index 88e2e12c..3e169128 100755 --- a/docs/plugins/front_port_module.rst +++ b/docs/plugins/front_port_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.front_port module -- Create, update or delete front ports .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/front_port_template_module.rst b/docs/plugins/front_port_template_module.rst index ad1f4633..6e9c605a 100755 --- a/docs/plugins/front_port_template_module.rst +++ b/docs/plugins/front_port_template_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.front_port_template module -- Create, update or delete fr .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/gql_inventory_inventory.rst b/docs/plugins/gql_inventory_inventory.rst index 799d3365..4aa29fda 100755 --- a/docs/plugins/gql_inventory_inventory.rst +++ b/docs/plugins/gql_inventory_inventory.rst @@ -42,7 +42,7 @@ networktocode.nautobot.gql_inventory inventory -- Nautobot inventory source usin .. Collection note .. note:: - This inventory plugin is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This inventory plugin is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this inventory plugin, @@ -513,6 +513,53 @@ Parameters :ansible-option-default-bold:`Default:` :ansible-option-default:`{}` + .. raw:: html + + + + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.gql_inventory_inventory__parameter-default_ip_version: + + .. rst-class:: ansible-option-title + + **default_ip_version** + + .. raw:: html + + + + .. rst-class:: ansible-option-type-line + + :ansible-option-type:`string` + + + + + .. raw:: html + +
+ + - .. raw:: html + +
+ + Choice between IPv6 and IPv4 address as the primary IP for ansible\_host. + + + .. rst-class:: ansible-option-line + + :ansible-option-choices:`Choices:` + + - :ansible-option-choices-entry-default:`"IPv4"` :ansible-option-choices-default-mark:`← (default)` + - :ansible-option-choices-entry:`"ipv4"` + - :ansible-option-choices-entry:`"IPv6"` + - :ansible-option-choices-entry:`"ipv6"` + + .. raw:: html
@@ -1525,6 +1572,24 @@ Examples tags: name tenant: name + # Add the default IP version to be used for the ansible_host + plugin: networktocode.nautobot.gql_inventory + api_endpoint: http://localhost:8000 + default_ip_version: ipv6 + query: + devices: + tags: name + serial: + tenant: name + location: + name: + contact_name: + description: + parent: name + virtual_machines: + tags: name + tenant: name + # To group by use group_by key # Specify the full path to the data you would like to use to group by. # Ensure all paths are also included in the query. diff --git a/docs/plugins/graphql_string_filter.rst b/docs/plugins/graphql_string_filter.rst index 8e7264a9..7661cb38 100644 --- a/docs/plugins/graphql_string_filter.rst +++ b/docs/plugins/graphql_string_filter.rst @@ -21,7 +21,7 @@ The errors were: * :: - Missing documentation or could not parse documentation: No documentation available for networktocode.nautobot.graphql_string (/root/.ansible/collections/ansible_collections/networktocode/nautobot/plugins/filter/graphql.py) + Missing documentation or could not parse documentation: No documentation available for networktocode.nautobot.graphql_string (/home/joshv/.ansible/collections/ansible_collections/networktocode/nautobot/plugins/filter/graphql.py) File a bug with the `networktocode.nautobot collection `_ in order to have it corrected. \ No newline at end of file diff --git a/docs/plugins/index.rst b/docs/plugins/index.rst index b6d5ff9a..25ea1a3b 100755 --- a/docs/plugins/index.rst +++ b/docs/plugins/index.rst @@ -6,7 +6,7 @@ Networktocode.Nautobot ====================== -Collection version 5.2.1 +Collection version 5.3.0 .. contents:: :local: @@ -58,6 +58,8 @@ Modules * :ref:`console_port_template module ` -- Create, update or delete console port templates within Nautobot * :ref:`console_server_port module ` -- Create, update or delete console server ports within Nautobot * :ref:`console_server_port_template module ` -- Create, update or delete console server port templates within Nautobot +* :ref:`contact module ` -- Creates or removes contacts from Nautobot +* :ref:`controller module ` -- * :ref:`custom_field module ` -- Creates or removes custom fields from Nautobot * :ref:`custom_field_choice module ` -- Creates or removes custom field choices from Nautobot * :ref:`device module ` -- Create, update or delete devices within Nautobot @@ -99,12 +101,14 @@ Modules * :ref:`service module ` -- Creates or removes service from Nautobot * :ref:`status module ` -- Creates or removes status from Nautobot * :ref:`tag module ` -- Creates or removes tags from Nautobot +* :ref:`team module ` -- Creates or removes teams from Nautobot * :ref:`tenant module ` -- Creates or removes tenants from Nautobot * :ref:`tenant_group module ` -- Creates or removes tenant groups from Nautobot * :ref:`virtual_chassis module ` -- Create, update or delete virtual chassis within Nautobot * :ref:`virtual_machine module ` -- Create, update or delete virtual\_machines within Nautobot * :ref:`vlan module ` -- Create, update or delete vlans within Nautobot * :ref:`vlan_group module ` -- Create, update or delete vlans groups within Nautobot +* :ref:`vlan_location module ` -- Create, update or delete Location assignments to VLANs within Nautobot * :ref:`vm_interface module ` -- Creates or removes interfaces from virtual machines in Nautobot * :ref:`vrf module ` -- Create, update or delete vrfs within Nautobot @@ -123,6 +127,8 @@ Modules console_port_template_module console_server_port_module console_server_port_template_module + contact_module + controller_module custom_field_module custom_field_choice_module device_module @@ -164,12 +170,14 @@ Modules service_module status_module tag_module + team_module tenant_module tenant_group_module virtual_chassis_module virtual_machine_module vlan_module vlan_group_module + vlan_location_module vm_interface_module vrf_module diff --git a/docs/plugins/inventory_inventory.rst b/docs/plugins/inventory_inventory.rst index 44c7a85b..beb39895 100755 --- a/docs/plugins/inventory_inventory.rst +++ b/docs/plugins/inventory_inventory.rst @@ -42,7 +42,7 @@ networktocode.nautobot.inventory inventory -- Nautobot inventory source .. Collection note .. note:: - This inventory plugin is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This inventory plugin is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. diff --git a/docs/plugins/inventory_item_module.rst b/docs/plugins/inventory_item_module.rst index c2da3376..df3315ee 100755 --- a/docs/plugins/inventory_item_module.rst +++ b/docs/plugins/inventory_item_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.inventory_item module -- Creates or removes inventory ite .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/ip_address_module.rst b/docs/plugins/ip_address_module.rst index 7a4ceb08..1dd9e753 100755 --- a/docs/plugins/ip_address_module.rst +++ b/docs/plugins/ip_address_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.ip_address module -- Creates or removes IP addresses from .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/ip_address_to_interface_module.rst b/docs/plugins/ip_address_to_interface_module.rst index fee3e35d..4100907a 100755 --- a/docs/plugins/ip_address_to_interface_module.rst +++ b/docs/plugins/ip_address_to_interface_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.ip_address_to_interface module -- Creates or removes IP a .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/location_module.rst b/docs/plugins/location_module.rst index 8044fdb9..35f7eee0 100755 --- a/docs/plugins/location_module.rst +++ b/docs/plugins/location_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.location module -- Creates or removes locations from Naut .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/location_type_module.rst b/docs/plugins/location_type_module.rst index 932c3ab1..e06a6479 100755 --- a/docs/plugins/location_type_module.rst +++ b/docs/plugins/location_type_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.location_type module -- Creates or removes location types .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/lookup_graphql_lookup.rst b/docs/plugins/lookup_graphql_lookup.rst index 2d3b96a6..2c5d9aed 100755 --- a/docs/plugins/lookup_graphql_lookup.rst +++ b/docs/plugins/lookup_graphql_lookup.rst @@ -42,7 +42,7 @@ networktocode.nautobot.lookup_graphql lookup -- Queries and returns elements fro .. Collection note .. note:: - This lookup plugin is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This lookup plugin is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this lookup plugin, diff --git a/docs/plugins/lookup_lookup.rst b/docs/plugins/lookup_lookup.rst index 85c1050a..612b4bcf 100755 --- a/docs/plugins/lookup_lookup.rst +++ b/docs/plugins/lookup_lookup.rst @@ -42,7 +42,7 @@ networktocode.nautobot.lookup lookup -- Queries and returns elements from Nautob .. Collection note .. note:: - This lookup plugin is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This lookup plugin is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this lookup plugin, diff --git a/docs/plugins/manufacturer_module.rst b/docs/plugins/manufacturer_module.rst index 48f352ca..23a1a887 100755 --- a/docs/plugins/manufacturer_module.rst +++ b/docs/plugins/manufacturer_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.manufacturer module -- Create or delete manufacturers wit .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/namespace_module.rst b/docs/plugins/namespace_module.rst index 518c25fa..e987c61f 100755 --- a/docs/plugins/namespace_module.rst +++ b/docs/plugins/namespace_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.namespace module -- Creates or removes namespaces from Na .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/nautobot_server_module.rst b/docs/plugins/nautobot_server_module.rst index 382bc4a0..c946bb88 100755 --- a/docs/plugins/nautobot_server_module.rst +++ b/docs/plugins/nautobot_server_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.nautobot_server module -- Manages Nautobot Server applica .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/platform_module.rst b/docs/plugins/platform_module.rst index 6d626ddf..5b4f7a5f 100755 --- a/docs/plugins/platform_module.rst +++ b/docs/plugins/platform_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.platform module -- Create or delete platforms within Naut .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/plugin_module.rst b/docs/plugins/plugin_module.rst index f7b565a8..68e125fa 100755 --- a/docs/plugins/plugin_module.rst +++ b/docs/plugins/plugin_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.plugin module -- CRUD operation on plugin objects .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/power_feed_module.rst b/docs/plugins/power_feed_module.rst index 89b35fa4..eb81e916 100755 --- a/docs/plugins/power_feed_module.rst +++ b/docs/plugins/power_feed_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.power_feed module -- Create, update or delete power feeds .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/power_outlet_module.rst b/docs/plugins/power_outlet_module.rst index c9e569f9..155ca71e 100755 --- a/docs/plugins/power_outlet_module.rst +++ b/docs/plugins/power_outlet_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.power_outlet module -- Create, update or delete power out .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/power_outlet_template_module.rst b/docs/plugins/power_outlet_template_module.rst index 59cbaaf6..5ecd9e7a 100755 --- a/docs/plugins/power_outlet_template_module.rst +++ b/docs/plugins/power_outlet_template_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.power_outlet_template module -- Create, update or delete .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/power_panel_module.rst b/docs/plugins/power_panel_module.rst index 3f0a5ba9..840cacfd 100755 --- a/docs/plugins/power_panel_module.rst +++ b/docs/plugins/power_panel_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.power_panel module -- Create, update or delete power pane .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/power_port_module.rst b/docs/plugins/power_port_module.rst index 7a4fe526..0c459f15 100755 --- a/docs/plugins/power_port_module.rst +++ b/docs/plugins/power_port_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.power_port module -- Create, update or delete power ports .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/power_port_template_module.rst b/docs/plugins/power_port_template_module.rst index 6e8fa504..f497ad76 100755 --- a/docs/plugins/power_port_template_module.rst +++ b/docs/plugins/power_port_template_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.power_port_template module -- Create, update or delete po .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/prefix_module.rst b/docs/plugins/prefix_module.rst index 4faab93f..94e33afb 100755 --- a/docs/plugins/prefix_module.rst +++ b/docs/plugins/prefix_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.prefix module -- Creates or removes prefixes from Nautobo .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -327,7 +327,11 @@ Parameters
- Location that prefix is associated with + The single location the prefix will be associated to + + If you want to associate multiple locations, use the \ :literal:`prefix\_location`\ module + + Using this parameter will override the \ :literal:`api\_version`\ option to \ :literal:`2.0`\ .. raw:: html diff --git a/docs/plugins/provider_module.rst b/docs/plugins/provider_module.rst index c3c64747..a808283d 100755 --- a/docs/plugins/provider_module.rst +++ b/docs/plugins/provider_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.provider module -- Create, update or delete providers wit .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/query_graphql_module.rst b/docs/plugins/query_graphql_module.rst index ea443373..25ad70e6 100755 --- a/docs/plugins/query_graphql_module.rst +++ b/docs/plugins/query_graphql_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.query_graphql module -- Queries and returns elements from .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/rack_group_module.rst b/docs/plugins/rack_group_module.rst index b12e29ad..d2f9733a 100755 --- a/docs/plugins/rack_group_module.rst +++ b/docs/plugins/rack_group_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.rack_group module -- Create, update or delete racks group .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/rack_module.rst b/docs/plugins/rack_module.rst index 2848421a..a33f9cdb 100755 --- a/docs/plugins/rack_module.rst +++ b/docs/plugins/rack_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.rack module -- Create, update or delete racks within Naut .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/rear_port_module.rst b/docs/plugins/rear_port_module.rst index dc1244a9..19ce494d 100755 --- a/docs/plugins/rear_port_module.rst +++ b/docs/plugins/rear_port_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.rear_port module -- Create, update or delete rear ports w .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/rear_port_template_module.rst b/docs/plugins/rear_port_template_module.rst index baf0373b..0a4910ec 100755 --- a/docs/plugins/rear_port_template_module.rst +++ b/docs/plugins/rear_port_template_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.rear_port_template module -- Create, update or delete rea .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/relationship_association_module.rst b/docs/plugins/relationship_association_module.rst index c494270a..44de7cdd 100755 --- a/docs/plugins/relationship_association_module.rst +++ b/docs/plugins/relationship_association_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.relationship_association module -- Creates or removes a r .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/rir_module.rst b/docs/plugins/rir_module.rst index c07d9797..ff7b2973 100755 --- a/docs/plugins/rir_module.rst +++ b/docs/plugins/rir_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.rir module -- Create, update or delete RIRs within Nautob .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/role_module.rst b/docs/plugins/role_module.rst index 9760637b..f058ffc8 100755 --- a/docs/plugins/role_module.rst +++ b/docs/plugins/role_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.role module -- Create, update or delete roles within Naut .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/route_target_module.rst b/docs/plugins/route_target_module.rst index 2267fb30..5640d035 100755 --- a/docs/plugins/route_target_module.rst +++ b/docs/plugins/route_target_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.route_target module -- Creates or removes route targets f .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/service_module.rst b/docs/plugins/service_module.rst index 1a1644f8..ddeee5a2 100755 --- a/docs/plugins/service_module.rst +++ b/docs/plugins/service_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.service module -- Creates or removes service from Nautobo .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/status_module.rst b/docs/plugins/status_module.rst index 1022fa0f..03dae35b 100755 --- a/docs/plugins/status_module.rst +++ b/docs/plugins/status_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.status module -- Creates or removes status from Nautobot .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/tag_module.rst b/docs/plugins/tag_module.rst index 4cb9d6cc..e0fbeecd 100755 --- a/docs/plugins/tag_module.rst +++ b/docs/plugins/tag_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.tag module -- Creates or removes tags from Nautobot .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/team_module.rst b/docs/plugins/team_module.rst new file mode 100644 index 00000000..cef3246a --- /dev/null +++ b/docs/plugins/team_module.rst @@ -0,0 +1,796 @@ + +.. Document meta + +:orphan: + +.. |antsibull-internal-nbsp| unicode:: 0xA0 + :trim: + +.. role:: ansible-attribute-support-label +.. role:: ansible-attribute-support-property +.. role:: ansible-attribute-support-full +.. role:: ansible-attribute-support-partial +.. role:: ansible-attribute-support-none +.. role:: ansible-attribute-support-na +.. role:: ansible-option-type +.. role:: ansible-option-elements +.. role:: ansible-option-required +.. role:: ansible-option-versionadded +.. role:: ansible-option-aliases +.. role:: ansible-option-choices +.. role:: ansible-option-choices-default-mark +.. role:: ansible-option-default-bold +.. role:: ansible-option-configuration +.. role:: ansible-option-returned-bold +.. role:: ansible-option-sample-bold + +.. Anchors + +.. _ansible_collections.networktocode.nautobot.team_module: + +.. Anchors: short name for ansible.builtin + +.. Anchors: aliases + + + +.. Title + +networktocode.nautobot.team module -- Creates or removes teams from Nautobot +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +.. Collection note + +.. note:: + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. + You need further requirements to be able to use this module, + see :ref:`Requirements ` for details. + + To use it in a playbook, specify: :code:`networktocode.nautobot.team`. + +.. version_added + +.. rst-class:: ansible-version-added + +New in networktocode.nautobot 5.3.0 + +.. contents:: + :local: + :depth: 1 + +.. Deprecated + + +Synopsis +-------- + +.. Description + +- Creates or removes teams from Nautobot + + +.. Aliases + + +.. Requirements + +.. _ansible_collections.networktocode.nautobot.team_module_requirements: + +Requirements +------------ +The below requirements are needed on the host that executes this module. + +- pynautobot + + + + + + +.. Options + +Parameters +---------- + +.. rst-class:: ansible-option-table + +.. list-table:: + :width: 100% + :widths: auto + :header-rows: 1 + + * - Parameter + - Comments + + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.team_module__parameter-address: + + .. rst-class:: ansible-option-title + + **address** + + .. raw:: html + + + + .. rst-class:: ansible-option-type-line + + :ansible-option-type:`string` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + The address of the team + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.team_module__parameter-api_version: + + .. rst-class:: ansible-option-title + + **api_version** + + .. raw:: html + + + + .. rst-class:: ansible-option-type-line + + :ansible-option-type:`string` + + :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` + + + .. raw:: html + +
+ + - .. raw:: html + +
+ + API Version Nautobot REST API + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.team_module__parameter-comments: + + .. rst-class:: ansible-option-title + + **comments** + + .. raw:: html + + + + .. rst-class:: ansible-option-type-line + + :ansible-option-type:`string` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + Comments about the team + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.team_module__parameter-contacts: + + .. rst-class:: ansible-option-title + + **contacts** + + .. raw:: html + + + + .. rst-class:: ansible-option-type-line + + :ansible-option-type:`list` / :ansible-option-elements:`elements=any` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + The contacts the team is associated with + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.team_module__parameter-custom_fields: + + .. rst-class:: ansible-option-title + + **custom_fields** + + .. raw:: html + + + + .. rst-class:: ansible-option-type-line + + :ansible-option-type:`dictionary` + + :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` + + + .. raw:: html + +
+ + - .. raw:: html + +
+ + Must exist in Nautobot and in key/value format + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.team_module__parameter-email: + + .. rst-class:: ansible-option-title + + **email** + + .. raw:: html + + + + .. rst-class:: ansible-option-type-line + + :ansible-option-type:`string` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + The email of the team + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.team_module__parameter-name: + + .. rst-class:: ansible-option-title + + **name** + + .. raw:: html + + + + .. rst-class:: ansible-option-type-line + + :ansible-option-type:`string` / :ansible-option-required:`required` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + The name of the team + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.team_module__parameter-phone: + + .. rst-class:: ansible-option-title + + **phone** + + .. raw:: html + + + + .. rst-class:: ansible-option-type-line + + :ansible-option-type:`string` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + The phone number of the team + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.team_module__parameter-query_params: + + .. rst-class:: ansible-option-title + + **query_params** + + .. raw:: html + + + + .. rst-class:: ansible-option-type-line + + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + + :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` + + + .. raw:: html + +
+ + - .. raw:: html + +
+ + 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. + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.team_module__parameter-state: + + .. rst-class:: ansible-option-title + + **state** + + .. raw:: html + + + + .. rst-class:: ansible-option-type-line + + :ansible-option-type:`string` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + + + .. rst-class:: ansible-option-line + + :ansible-option-choices:`Choices:` + + - :ansible-option-choices-entry:`"absent"` + - :ansible-option-choices-entry-default:`"present"` :ansible-option-choices-default-mark:`← (default)` + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.team_module__parameter-tags: + + .. rst-class:: ansible-option-title + + **tags** + + .. raw:: html + + + + .. rst-class:: ansible-option-type-line + + :ansible-option-type:`list` / :ansible-option-elements:`elements=any` + + :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` + + + .. raw:: html + +
+ + - .. raw:: html + +
+ + Any tags that this item may need to be associated with + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.team_module__parameter-token: + + .. rst-class:: ansible-option-title + + **token** + + .. raw:: html + + + + .. rst-class:: ansible-option-type-line + + :ansible-option-type:`string` / :ansible-option-required:`required` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + The token created within Nautobot to authorize API access + + Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.team_module__parameter-url: + + .. rst-class:: ansible-option-title + + **url** + + .. raw:: html + + + + .. rst-class:: ansible-option-type-line + + :ansible-option-type:`string` / :ansible-option-required:`required` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) + + Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.team_module__parameter-validate_certs: + + .. rst-class:: ansible-option-title + + **validate_certs** + + .. raw:: html + + + + .. rst-class:: ansible-option-type-line + + :ansible-option-type:`any` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + If \ :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + + + .. rst-class:: ansible-option-line + + :ansible-option-default-bold:`Default:` :ansible-option-default:`true` + + .. raw:: html + +
+ + +.. Attributes + + +.. Notes + +Notes +----- + +.. note:: + - Tags should be defined as a YAML list + - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + +.. Seealso + + +.. Examples + +Examples +-------- + +.. code-block:: yaml+jinja + + + --- + - name: Create a team + networktocode.nautobot.team: + url: http://nautobot.local + token: thisIsMyToken + name: My Team + phone: 123-456-7890 + email: user@example.com + address: 1234 Main St + contacts: + - name: contact1 + - name: contact2 + comments: My Comments + tags: + - tag1 + - tag2 + custom_fields: + my_custom_field: my_value + state: present + + - name: Delete a team + networktocode.nautobot.team: + url: http://nautobot.local + token: thisIsMyToken + name: My Team + state: absent + + + + +.. Facts + + +.. Return values + +Return Values +------------- +Common return values are documented :ref:`here `, the following are the fields unique to this module: + +.. rst-class:: ansible-option-table + +.. list-table:: + :width: 100% + :widths: auto + :header-rows: 1 + + * - Key + - Description + + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.team_module__return-msg: + + .. rst-class:: ansible-option-title + + **msg** + + .. raw:: html + + + + .. rst-class:: ansible-option-type-line + + :ansible-option-type:`string` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + Message indicating failure or info about what has been achieved + + + .. rst-class:: ansible-option-line + + :ansible-option-returned-bold:`Returned:` always + + + .. raw:: html + +
+ + + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.team_module__return-team: + + .. rst-class:: ansible-option-title + + **team** + + .. raw:: html + + + + .. rst-class:: ansible-option-type-line + + :ansible-option-type:`dictionary` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + Serialized object as created or already existent within Nautobot + + + .. rst-class:: ansible-option-line + + :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + + + .. raw:: html + +
+ + + +.. Status (Presently only deprecated) + + +.. Authors + +Authors +~~~~~~~ + +- Joe Wesch (@joewesch) + + + +.. Extra links + +Collection links +~~~~~~~~~~~~~~~~ + +.. raw:: html + + + +.. Parsing errors + diff --git a/docs/plugins/tenant_group_module.rst b/docs/plugins/tenant_group_module.rst index c2f0d1e8..d7bc0909 100755 --- a/docs/plugins/tenant_group_module.rst +++ b/docs/plugins/tenant_group_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.tenant_group module -- Creates or removes tenant groups f .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/tenant_module.rst b/docs/plugins/tenant_module.rst index 9d7eaef5..993bc566 100755 --- a/docs/plugins/tenant_module.rst +++ b/docs/plugins/tenant_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.tenant module -- Creates or removes tenants from Nautobot .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/virtual_chassis_module.rst b/docs/plugins/virtual_chassis_module.rst index 63a4040c..0e0a32eb 100755 --- a/docs/plugins/virtual_chassis_module.rst +++ b/docs/plugins/virtual_chassis_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.virtual_chassis module -- Create, update or delete virtua .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/virtual_machine_module.rst b/docs/plugins/virtual_machine_module.rst index c5e31db4..c2ba80fc 100755 --- a/docs/plugins/virtual_machine_module.rst +++ b/docs/plugins/virtual_machine_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.virtual_machine module -- Create, update or delete virtua .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/vlan_group_module.rst b/docs/plugins/vlan_group_module.rst index b26bf152..eb456c4b 100755 --- a/docs/plugins/vlan_group_module.rst +++ b/docs/plugins/vlan_group_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.vlan_group module -- Create, update or delete vlans group .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/vlan_location_module.rst b/docs/plugins/vlan_location_module.rst new file mode 100644 index 00000000..9274328a --- /dev/null +++ b/docs/plugins/vlan_location_module.rst @@ -0,0 +1,583 @@ + +.. Document meta + +:orphan: + +.. |antsibull-internal-nbsp| unicode:: 0xA0 + :trim: + +.. role:: ansible-attribute-support-label +.. role:: ansible-attribute-support-property +.. role:: ansible-attribute-support-full +.. role:: ansible-attribute-support-partial +.. role:: ansible-attribute-support-none +.. role:: ansible-attribute-support-na +.. role:: ansible-option-type +.. role:: ansible-option-elements +.. role:: ansible-option-required +.. role:: ansible-option-versionadded +.. role:: ansible-option-aliases +.. role:: ansible-option-choices +.. role:: ansible-option-choices-default-mark +.. role:: ansible-option-default-bold +.. role:: ansible-option-configuration +.. role:: ansible-option-returned-bold +.. role:: ansible-option-sample-bold + +.. Anchors + +.. _ansible_collections.networktocode.nautobot.vlan_location_module: + +.. Anchors: short name for ansible.builtin + +.. Anchors: aliases + + + +.. Title + +networktocode.nautobot.vlan_location module -- Create, update or delete Location assignments to VLANs within Nautobot ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +.. Collection note + +.. note:: + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. + You need further requirements to be able to use this module, + see :ref:`Requirements ` for details. + + To use it in a playbook, specify: :code:`networktocode.nautobot.vlan_location`. + +.. version_added + +.. rst-class:: ansible-version-added + +New in networktocode.nautobot 5.3.0 + +.. contents:: + :local: + :depth: 1 + +.. Deprecated + + +Synopsis +-------- + +.. Description + +- Create, update or delete Location assignments to VLANs within Nautobot + + +.. Aliases + + +.. Requirements + +.. _ansible_collections.networktocode.nautobot.vlan_location_module_requirements: + +Requirements +------------ +The below requirements are needed on the host that executes this module. + +- pynautobot + + + + + + +.. Options + +Parameters +---------- + +.. rst-class:: ansible-option-table + +.. list-table:: + :width: 100% + :widths: auto + :header-rows: 1 + + * - Parameter + - Comments + + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.vlan_location_module__parameter-api_version: + + .. rst-class:: ansible-option-title + + **api_version** + + .. raw:: html + + + + .. rst-class:: ansible-option-type-line + + :ansible-option-type:`string` + + :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` + + + .. raw:: html + +
+ + - .. raw:: html + +
+ + API Version Nautobot REST API + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.vlan_location_module__parameter-location: + + .. rst-class:: ansible-option-title + + **location** + + .. raw:: html + + + + .. rst-class:: ansible-option-type-line + + :ansible-option-type:`any` / :ansible-option-required:`required` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + The location the VLAN will be associated to + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.vlan_location_module__parameter-query_params: + + .. rst-class:: ansible-option-title + + **query_params** + + .. raw:: html + + + + .. rst-class:: ansible-option-type-line + + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + + :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` + + + .. raw:: html + +
+ + - .. raw:: html + +
+ + 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. + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.vlan_location_module__parameter-state: + + .. rst-class:: ansible-option-title + + **state** + + .. raw:: html + + + + .. rst-class:: ansible-option-type-line + + :ansible-option-type:`string` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + + + .. rst-class:: ansible-option-line + + :ansible-option-choices:`Choices:` + + - :ansible-option-choices-entry:`"absent"` + - :ansible-option-choices-entry-default:`"present"` :ansible-option-choices-default-mark:`← (default)` + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.vlan_location_module__parameter-token: + + .. rst-class:: ansible-option-title + + **token** + + .. raw:: html + + + + .. rst-class:: ansible-option-type-line + + :ansible-option-type:`string` / :ansible-option-required:`required` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + The token created within Nautobot to authorize API access + + Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.vlan_location_module__parameter-url: + + .. rst-class:: ansible-option-title + + **url** + + .. raw:: html + + + + .. rst-class:: ansible-option-type-line + + :ansible-option-type:`string` / :ansible-option-required:`required` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) + + Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.vlan_location_module__parameter-validate_certs: + + .. rst-class:: ansible-option-title + + **validate_certs** + + .. raw:: html + + + + .. rst-class:: ansible-option-type-line + + :ansible-option-type:`any` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + If \ :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + + + .. rst-class:: ansible-option-line + + :ansible-option-default-bold:`Default:` :ansible-option-default:`true` + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.vlan_location_module__parameter-vlan: + + .. rst-class:: ansible-option-title + + **vlan** + + .. raw:: html + + + + .. rst-class:: ansible-option-type-line + + :ansible-option-type:`any` / :ansible-option-required:`required` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + The VLAN to associate with the location + + + .. raw:: html + +
+ + +.. Attributes + + +.. Notes + +Notes +----- + +.. note:: + - This module requires Nautobot v2.2+ + - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + +.. Seealso + + +.. Examples + +Examples +-------- + +.. code-block:: yaml+jinja + + + - name: "Test Nautobot modules" + connection: local + hosts: localhost + gather_facts: False + + tasks: + - name: Assign Location to VLAN + networktocode.nautobot.vlan_location: + url: http://nautobot.local + token: thisIsMyToken + vlan: Test VLAN + location: + name: My Child Location + parent: My Parent Location + state: present + + - name: Unassign Location from VLAN + networktocode.nautobot.vlan_location: + url: http://nautobot.local + token: thisIsMyToken + vlan: Test VLAN + location: My Location + state: absent + + + + +.. Facts + + +.. Return values + +Return Values +------------- +Common return values are documented :ref:`here `, the following are the fields unique to this module: + +.. rst-class:: ansible-option-table + +.. list-table:: + :width: 100% + :widths: auto + :header-rows: 1 + + * - Key + - Description + + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.vlan_location_module__return-msg: + + .. rst-class:: ansible-option-title + + **msg** + + .. raw:: html + + + + .. rst-class:: ansible-option-type-line + + :ansible-option-type:`string` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + Message indicating failure or info about what has been achieved + + + .. rst-class:: ansible-option-line + + :ansible-option-returned-bold:`Returned:` always + + + .. raw:: html + +
+ + + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.vlan_location_module__return-vlan_location_assignments: + + .. rst-class:: ansible-option-title + + **vlan_location_assignments** + + .. raw:: html + + + + .. rst-class:: ansible-option-type-line + + :ansible-option-type:`dictionary` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + Serialized object as created or already existent within Nautobot + + + .. rst-class:: ansible-option-line + + :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + + + .. raw:: html + +
+ + + +.. Status (Presently only deprecated) + + +.. Authors + +Authors +~~~~~~~ + +- Joe Wesch (@joewesch) + + + +.. Extra links + +Collection links +~~~~~~~~~~~~~~~~ + +.. raw:: html + + + +.. Parsing errors + diff --git a/docs/plugins/vlan_module.rst b/docs/plugins/vlan_module.rst index dac00923..17827243 100755 --- a/docs/plugins/vlan_module.rst +++ b/docs/plugins/vlan_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.vlan module -- Create, update or delete vlans within Naut .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -245,7 +245,11 @@ Parameters
- The location the VLAN will be associated to + The single location the VLAN will be associated to + + If you want to associate multiple locations, use the \ :literal:`vlan\_location`\ module + + Using this parameter will override the \ :literal:`api\_version`\ option to \ :literal:`2.0`\ .. raw:: html diff --git a/docs/plugins/vm_interface_module.rst b/docs/plugins/vm_interface_module.rst index 85b9d12b..9cf8a16d 100755 --- a/docs/plugins/vm_interface_module.rst +++ b/docs/plugins/vm_interface_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.vm_interface module -- Creates or removes interfaces from .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/docs/plugins/vrf_module.rst b/docs/plugins/vrf_module.rst index b198fda1..bcf645b0 100755 --- a/docs/plugins/vrf_module.rst +++ b/docs/plugins/vrf_module.rst @@ -42,7 +42,7 @@ networktocode.nautobot.vrf module -- Create, update or delete vrfs within Nautob .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.2.1). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, diff --git a/galaxy.yml b/galaxy.yml index 84780faa..74603730 100644 --- a/galaxy.yml +++ b/galaxy.yml @@ -9,7 +9,7 @@ namespace: networktocode name: nautobot # The version of the collection. Must be compatible with semantic versioning -version: 5.2.1 +version: 5.3.0 # The path to the Markdown (.md) readme file. This path is relative to the root of the collection readme: README.md diff --git a/plugins/module_utils/dcim.py b/plugins/module_utils/dcim.py index 37b765b6..9dce4313 100644 --- a/plugins/module_utils/dcim.py +++ b/plugins/module_utils/dcim.py @@ -17,6 +17,7 @@ NB_CONSOLE_PORT_TEMPLATES = "console_port_templates" NB_CONSOLE_SERVER_PORTS = "console_server_ports" NB_CONSOLE_SERVER_PORT_TEMPLATES = "console_server_port_templates" +NB_CONTROLLERS = "controllers" NB_DEVICE_BAYS = "device_bays" NB_DEVICE_BAY_TEMPLATES = "device_bay_templates" NB_DEVICE_REDUNDANCY_GROUPS = "device_redundancy_groups" @@ -57,6 +58,7 @@ def run(self): - console_port_templates - console_server_ports - console_server_port_templates + - controllers - device_bays - device_bay_templates - devices diff --git a/plugins/module_utils/utils.py b/plugins/module_utils/utils.py index 36700a60..bd31b644 100644 --- a/plugins/module_utils/utils.py +++ b/plugins/module_utils/utils.py @@ -39,6 +39,7 @@ "console_port_templates", "console_server_ports", "console_server_port_templates", + "controllers", "device_bays", "device_bay_templates", "devices", @@ -102,6 +103,7 @@ cluster="name", cluster_group="name", cluster_type="name", + controller="name", device="name", role="name", device_type="model", @@ -228,6 +230,7 @@ "console_server_ports": "console_server_port", "console_server_port_templates": "console_server_port_template", "contacts": "contact", + "controllers": "controller", "custom_fields": "custom_field", "custom_field_choices": "custom_field_choice", "device_bays": "device_bay", @@ -292,6 +295,7 @@ "console_server_port_template": set(["name", "device_type"]), "contact": set(["name", "phone", "email"]), "contacts": set(["name", "phone", "email"]), + "controller": set(["name"]), "custom_field": set(["label"]), "custom_field_choice": set(["value", "custom_field"]), "dcim.consoleport": set(["name", "device"]), diff --git a/plugins/modules/controller.py b/plugins/modules/controller.py new file mode 100644 index 00000000..e549276c --- /dev/null +++ b/plugins/modules/controller.py @@ -0,0 +1,214 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# Copyright: (c) 2023, Network to Code (@networktocode) +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +# TODO: Check for any words of Device + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + +DOCUMENTATION = r""" +--- +module: controller +short_description: Create, update or delete controllers within Nautobot +description: + - Creates, updates or removes controllers from Nautobot, related page: https://docs.nautobot.com/projects/core/en/stable/user-guide/core-data-model/dcim/controller/ +notes: + - Tags should be defined as a YAML list + - This should be ran with connection C(local) and hosts C(localhost) +author: + - Josh VanDeraa (@jvanderaa) +version_added: "5.3.0" +extends_documentation_fragment: + - networktocode.nautobot.fragments.base + - networktocode.nautobot.fragments.tags + - networktocode.nautobot.fragments.custom_fields +options: + name: + description: + - The name of the controller + required: true + type: str + version_added: "5.3.0" + controller_device: + description: + - Device that runs the controller software + required: false + type: string + version_added: "5.3.0" + external_integration: + description: + - External connection for the controller, such as Meraki Cloud URL + required: false + type: string + version_added: "5.3.0" + role: + description: + - Required if I(state=present) and the device does not exist yet + required: false + type: raw + version_added: "5.3.0" + tenant: + description: + - The tenant that the device will be assigned to + required: false + type: raw + version_added: "5.3.0" + platform: + description: + - The platform of the device + required: false + type: raw + version_added: "5.3.0" + location: + description: + - Required if I(state=present) and the device does not exist yet + required: false + type: raw + version_added: "5.3.0" + status: + description: + - The status of the device + - Required if I(state=present) and the device does not exist yet + required: false + type: raw + version_added: "5.3.0" + local_config_context_data: + description: + - Arbitrary JSON data to define the devices configuration variables. + required: false + type: dict + version_added: "5.3.0" + device_redundancy_group: + description: + - Device redundancy group the device will be assigned to + required: false + type: raw + version_added: "5.1.0" + controller_device_redundancy_group: + description: + - Related device redundancy group the device will be assigned to + required: false + type: string + version_added: "5.3.0" +""" + +EXAMPLES = r""" +- name: "Test Nautobot modules" + connection: local + hosts: localhost + gather_facts: False + + tasks: + - name: Create device within Nautobot with only required information + networktocode.nautobot.device: + url: http://nautobot.local + token: thisIsMyToken + name: Test Device + device_type: C9410R + role: Core Switch + location: My Location + status: active + state: present + + - name: Create device within Nautobot with empty string name to generate UUID + networktocode.nautobot.device: + url: http://nautobot.local + token: thisIsMyToken + name: "" + device_type: C9410R + role: Core Switch + location: + name: My Location + parent: Parent Location + status: active + state: present + + - name: Delete device within nautobot + networktocode.nautobot.device: + url: http://nautobot.local + token: thisIsMyToken + name: Test Device + state: absent + + - name: Create device with tags + networktocode.nautobot.device: + url: http://nautobot.local + token: thisIsMyToken + name: Another Test Device + device_type: C9410R + role: Core Switch + location: + name: My Location + parent: Parent Location + status: active + local_config_context_data: + bgp: "65000" + tags: + - Schnozzberry + state: present + + - name: Update the rack and position of an existing device + networktocode.nautobot.device: + url: http://nautobot.local + token: thisIsMyToken + name: Test Device + rack: Test Rack + position: 10 + face: Front + state: present +""" + +RETURN = r""" +device: + description: Serialized object as created or already existent within Nautobot + returned: success (when I(state=present)) + type: dict +msg: + description: Message indicating failure or info about what has been achieved + returned: always + type: str +""" + +from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import NAUTOBOT_ARG_SPEC +from ansible_collections.networktocode.nautobot.plugins.module_utils.dcim import ( + NautobotDcimModule, + NB_CONTROLLERS, +) +from ansible.module_utils.basic import AnsibleModule +from copy import deepcopy +import uuid + + +def main(): + """ + Main entry point for module execution + """ + argument_spec = deepcopy(NAUTOBOT_ARG_SPEC) + argument_spec.update( + dict( + name=dict(required=True, type="str"), + controller_device=dict(required=False, type="str"), + external_integration=dict(required=False, type="str"), + role=dict(required=False, type="raw"), + tenant=dict(required=False, type="raw"), + platform=dict(required=False, type="raw"), + location=dict(required=False, type="raw"), + status=dict(required=False, type="raw"), + tags=dict(required=False, type="list", elements="raw"), + custom_fields=dict(required=False, type="dict"), + controller_device_redundancy_group=dict(required=False, type="raw"), + ) + ) + + module = AnsibleModule(argument_spec=argument_spec, supports_check_mode=True) + if module.params["name"] == "": + module.params["name"] = str(uuid.uuid4()) + + controller = NautobotDcimModule(module, NB_CONTROLLERS) + controller.run() + + +if __name__ == "__main__": # pragma: no cover + main() diff --git a/tests/integration/targets/latest/tasks/controllers.yml b/tests/integration/targets/latest/tasks/controllers.yml new file mode 100644 index 00000000..b258c2f7 --- /dev/null +++ b/tests/integration/targets/latest/tasks/controllers.yml @@ -0,0 +1,84 @@ +--- +- name: "CONTROLLER 1: Necessary info creation" + networktocode.nautobot.controller: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + name: Test Controller One + state: present + status: "Active" + register: test_one_controller + +- name: "CONTROLLER 1: ASSERT - Necessary info creation" + assert: + that: + - test_one_controller is changed + - test_one_controller['diff']['before']['state'] == "absent" + - test_one_controller['diff']['after']['state'] == "present" + - test_one_controller['controller']['name'] == "Test Controller One" + - test_one_controller['controller']['object_type'] == "dcim.controller" + - test_one_controller['msg'] == "controller Test Controller One created" + +- name: "CONTROLLER 2: Create duplicate" + networktocode.nautobot.controller: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + name: Test Controller One + state: present + status: "Active" + register: test_two + +- name: "CONTROLLER 2: ASSERT - Create duplicate" + assert: + that: + - not test_two['changed'] + - test_two['controller']['name'] == "Test Controller One" + - test_two['msg'] == "controller Test Controller One already exists" + +- name: "CONTROLLER 3: Update" + networktocode.nautobot.controller: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + name: Test Controller Two + description: "Test Controller changed description" + state: present + status: "Active" + register: test_three + +- name: "CONTROLLER 3: ASSERT - Update" + assert: + that: + - test_three['changed'] + - test_three['controller']['name'] == "Test Controller One" + - test_three['controller']['description'] == "Test Controller changed description" + - test_three['msg'] == "controller Test Controller One updated" + +- name: "CONTROLLER 4: ASSERT - Delete" + networktocode.nautobot.controller: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + name: Test Controller Two + state: absent + register: test_four + +- name: "CONTROLLER 3: ASSERT - Delete" + assert: + that: + - test_four is changed + - test_four['diff']['before']['state'] == "present" + - test_four['diff']['after']['state'] == "absent" + - test_four['msg'] == "controller Test Controller One deleted" + +- name: "CONTROLLER 5: ASSERT - Delete non existing" + networktocode.nautobot.controller: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + name: Test Controller Two + state: absent + register: test_five + +- name: "CONTROLLER 5: ASSERT - Delete non existing" + assert: + that: + - not test_five['changed'] + - test_five['controller'] == None + - test_five['msg'] == "controller Test Controller Two already absent" From 4fae485f3199ce46f13cfbc73db3320fe3169a27 Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Thu, 18 Jul 2024 11:00:27 -0500 Subject: [PATCH 026/102] Updates controller. --- plugins/modules/controller.py | 70 ++++++++--------------------------- 1 file changed, 15 insertions(+), 55 deletions(-) diff --git a/plugins/modules/controller.py b/plugins/modules/controller.py index e549276c..4a7fe370 100644 --- a/plugins/modules/controller.py +++ b/plugins/modules/controller.py @@ -74,18 +74,6 @@ required: false type: raw version_added: "5.3.0" - local_config_context_data: - description: - - Arbitrary JSON data to define the devices configuration variables. - required: false - type: dict - version_added: "5.3.0" - device_redundancy_group: - description: - - Device redundancy group the device will be assigned to - required: false - type: raw - version_added: "5.1.0" controller_device_redundancy_group: description: - Related device redundancy group the device will be assigned to @@ -102,62 +90,34 @@ tasks: - name: Create device within Nautobot with only required information - networktocode.nautobot.device: + networktocode.nautobot.controller: url: http://nautobot.local token: thisIsMyToken - name: Test Device - device_type: C9410R - role: Core Switch + name: "test_controller_2" location: My Location - status: active + status: "Active" state: present - - name: Create device within Nautobot with empty string name to generate UUID - networktocode.nautobot.device: + - name: "CREATE THE SECOND CONTROLLER" + networktocode.nautobot.controller: + name: "test_controller_3" url: http://nautobot.local token: thisIsMyToken - name: "" - device_type: C9410R - role: Core Switch - location: - name: My Location - parent: Parent Location - status: active - state: present + status: "Active" + location: "Cisco" + external_integration: "Cisco Catalyst SD-WAN" + role: "Administrative" + platform: "Cisco IOS" + tenant: "Nautobot Baseball Stadiums" + controller_device_redundancy_group: "controller_test" - name: Delete device within nautobot - networktocode.nautobot.device: + networktocode.nautobot.controller: url: http://nautobot.local token: thisIsMyToken - name: Test Device + name: test_controller_3 state: absent - - name: Create device with tags - networktocode.nautobot.device: - url: http://nautobot.local - token: thisIsMyToken - name: Another Test Device - device_type: C9410R - role: Core Switch - location: - name: My Location - parent: Parent Location - status: active - local_config_context_data: - bgp: "65000" - tags: - - Schnozzberry - state: present - - - name: Update the rack and position of an existing device - networktocode.nautobot.device: - url: http://nautobot.local - token: thisIsMyToken - name: Test Device - rack: Test Rack - position: 10 - face: Front - state: present """ RETURN = r""" From 3e027038d96daaff29e88a6646b5511e5d7a6b03 Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Thu, 18 Jul 2024 11:02:30 -0500 Subject: [PATCH 027/102] Updates controller docs. --- plugins/modules/controller.py | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/plugins/modules/controller.py b/plugins/modules/controller.py index 4a7fe370..8d0185a7 100644 --- a/plugins/modules/controller.py +++ b/plugins/modules/controller.py @@ -1,8 +1,7 @@ #!/usr/bin/python # -*- coding: utf-8 -*- -# Copyright: (c) 2023, Network to Code (@networktocode) +# Copyright: (c) 2024, Network to Code (@networktocode) # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) -# TODO: Check for any words of Device from __future__ import absolute_import, division, print_function @@ -30,56 +29,47 @@ - The name of the controller required: true type: str - version_added: "5.3.0" controller_device: description: - Device that runs the controller software required: false type: string - version_added: "5.3.0" external_integration: description: - External connection for the controller, such as Meraki Cloud URL required: false type: string - version_added: "5.3.0" role: description: - Required if I(state=present) and the device does not exist yet required: false type: raw - version_added: "5.3.0" tenant: description: - The tenant that the device will be assigned to required: false type: raw - version_added: "5.3.0" platform: description: - The platform of the device required: false type: raw - version_added: "5.3.0" location: description: - Required if I(state=present) and the device does not exist yet required: false type: raw - version_added: "5.3.0" status: description: - The status of the device - Required if I(state=present) and the device does not exist yet required: false type: raw - version_added: "5.3.0" controller_device_redundancy_group: description: - Related device redundancy group the device will be assigned to required: false type: string - version_added: "5.3.0" """ EXAMPLES = r""" From 48285ce3885d9994c41f39fb326d4799ed4f3902 Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Thu, 18 Jul 2024 11:20:50 -0500 Subject: [PATCH 028/102] Fix devices to controller copy pasta. --- plugins/modules/controller.py | 19 ++++++++----------- .../targets/latest/tasks/controllers.yml | 15 +++++++++++++++ 2 files changed, 23 insertions(+), 11 deletions(-) diff --git a/plugins/modules/controller.py b/plugins/modules/controller.py index 8d0185a7..b5da4e36 100644 --- a/plugins/modules/controller.py +++ b/plugins/modules/controller.py @@ -41,33 +41,33 @@ type: string role: description: - - Required if I(state=present) and the device does not exist yet + - Required if I(state=present) and the controller does not exist yet required: false type: raw tenant: description: - - The tenant that the device will be assigned to + - The tenant that the controller will be assigned to required: false type: raw platform: description: - - The platform of the device + - The platform of the controller required: false type: raw location: description: - - Required if I(state=present) and the device does not exist yet + - Required if I(state=present) and the controller does not exist yet required: false type: raw status: description: - - The status of the device - - Required if I(state=present) and the device does not exist yet + - The status of the controller + - Required if I(state=present) and the controller does not exist yet required: false type: raw - controller_device_redundancy_group: + controller: description: - - Related device redundancy group the device will be assigned to + - Related device redundancy group the controller will be assigned to required: false type: string """ @@ -128,7 +128,6 @@ ) from ansible.module_utils.basic import AnsibleModule from copy import deepcopy -import uuid def main(): @@ -153,8 +152,6 @@ def main(): ) module = AnsibleModule(argument_spec=argument_spec, supports_check_mode=True) - if module.params["name"] == "": - module.params["name"] = str(uuid.uuid4()) controller = NautobotDcimModule(module, NB_CONTROLLERS) controller.run() diff --git a/tests/integration/targets/latest/tasks/controllers.yml b/tests/integration/targets/latest/tasks/controllers.yml index b258c2f7..2d824fa8 100644 --- a/tests/integration/targets/latest/tasks/controllers.yml +++ b/tests/integration/targets/latest/tasks/controllers.yml @@ -82,3 +82,18 @@ - not test_five['changed'] - test_five['controller'] == None - test_five['msg'] == "controller Test Controller Two already absent" + +- name: "CONTROLLER 6: CREATE A CONTROLLER WITH AS MUCH AS POSSIBLE" + networktocode.nautobot.controller: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + name: "test_controller_3" + status: "Active" + location: "Cisco" + external_integration: "Cisco Catalyst SD-WAN" + role: "Administrative" + platform: "Cisco IOS" + tenant: "Nautobot Baseball Stadiums" + controller_device_redundancy_group: "controller_test" + tags: + - test_controller_tag From e361db99a1c489ae32c56ae27de88529704f1457 Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Thu, 18 Jul 2024 12:38:54 -0500 Subject: [PATCH 029/102] Update tests. --- tests/integration/nautobot-populate.py | 5 ++++- .../targets/latest/tasks/controllers.yml | 13 ++++++------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/tests/integration/nautobot-populate.py b/tests/integration/nautobot-populate.py index c4fdc671..6a2b9b34 100755 --- a/tests/integration/nautobot-populate.py +++ b/tests/integration/nautobot-populate.py @@ -48,7 +48,7 @@ def make_nautobot_calls(endpoint, payload): create_tags = make_nautobot_calls( nb.extras.tags, [ - {"name": "First", "content_types": ["dcim.device", "ipam.routetarget"]}, + {"name": "First", "content_types": ["dcim.device", "ipam.routetarget", "dcim.controller"]}, {"name": "Second", "content_types": ["dcim.device", "ipam.routetarget"]}, {"name": "Third", "content_types": ["dcim.device"]}, { @@ -244,6 +244,7 @@ def make_nautobot_calls(endpoint, payload): {"name": "Core Switch", "color": "aa1409", "vm_role": False, "content_types": ["dcim.device"]}, {"name": "Test VM Role", "color": "e91e63", "vm_role": True, "content_types": ["virtualization.virtualmachine"]}, {"name": "Test VM Role 1", "color": "e91e65", "vm_role": True, "content_types": ["dcim.device", "virtualization.virtualmachine"]}, + {"name": "Test Controller Role", "color": "e91e65", "vm_role": False, "content_types": ["dcim.controller"]}, ] created_device_roles = make_nautobot_calls(nb.extras.roles, device_roles) # Device role variables to be used later on @@ -609,5 +610,7 @@ def make_nautobot_calls(endpoint, payload): contacts = [{"name": "My Contact"}, {"name": "My Contact 2"}] created_contacts = make_nautobot_calls(nb.extras.contacts, contacts) + + if ERRORS: sys.exit("Errors have occurred when creating objects, and should have been printed out. Check previous output.") diff --git a/tests/integration/targets/latest/tasks/controllers.yml b/tests/integration/targets/latest/tasks/controllers.yml index 2d824fa8..c80afa34 100644 --- a/tests/integration/targets/latest/tasks/controllers.yml +++ b/tests/integration/targets/latest/tasks/controllers.yml @@ -89,11 +89,10 @@ token: "{{ nautobot_token }}" name: "test_controller_3" status: "Active" - location: "Cisco" - external_integration: "Cisco Catalyst SD-WAN" - role: "Administrative" - platform: "Cisco IOS" - tenant: "Nautobot Baseball Stadiums" - controller_device_redundancy_group: "controller_test" + location: "My Parent Location Type" + # external_integration: "" + role: "Test Controller Role" + tenant: "Test Tenant" + controller_device_redundancy_group: "My Device Redundancy Group" tags: - - test_controller_tag + - First From 00088e5ed933fb87eba30abb73d40174585a113b Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Fri, 19 Jul 2024 08:35:57 -0500 Subject: [PATCH 030/102] Blackens --- tests/integration/nautobot-populate.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/integration/nautobot-populate.py b/tests/integration/nautobot-populate.py index 6a2b9b34..89e6da26 100755 --- a/tests/integration/nautobot-populate.py +++ b/tests/integration/nautobot-populate.py @@ -611,6 +611,5 @@ def make_nautobot_calls(endpoint, payload): created_contacts = make_nautobot_calls(nb.extras.contacts, contacts) - if ERRORS: sys.exit("Errors have occurred when creating objects, and should have been printed out. Check previous output.") From 6693e224e7687581cd517c1a9967d1a8b5eed36b Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Mon, 22 Jul 2024 21:50:50 -0500 Subject: [PATCH 031/102] Fix docs. --- plugins/modules/controller.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/plugins/modules/controller.py b/plugins/modules/controller.py index b5da4e36..95c22414 100644 --- a/plugins/modules/controller.py +++ b/plugins/modules/controller.py @@ -12,7 +12,7 @@ module: controller short_description: Create, update or delete controllers within Nautobot description: - - Creates, updates or removes controllers from Nautobot, related page: https://docs.nautobot.com/projects/core/en/stable/user-guide/core-data-model/dcim/controller/ + - Creates, updates or removes controllers from Nautobot. notes: - Tags should be defined as a YAML list - This should be ran with connection C(local) and hosts C(localhost) @@ -33,12 +33,12 @@ description: - Device that runs the controller software required: false - type: string + type: str external_integration: description: - External connection for the controller, such as Meraki Cloud URL required: false - type: string + type: str role: description: - Required if I(state=present) and the controller does not exist yet @@ -65,11 +65,11 @@ - Required if I(state=present) and the controller does not exist yet required: false type: raw - controller: + controller_device_redundancy_group: description: - Related device redundancy group the controller will be assigned to required: false - type: string + type: str """ EXAMPLES = r""" @@ -147,7 +147,7 @@ def main(): status=dict(required=False, type="raw"), tags=dict(required=False, type="list", elements="raw"), custom_fields=dict(required=False, type="dict"), - controller_device_redundancy_group=dict(required=False, type="raw"), + controller_device_redundancy_group=dict(required=False, type="str"), ) ) From 348e1d97753bb45cda0795d435b7859100605733 Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Wed, 24 Jul 2024 20:26:18 -0500 Subject: [PATCH 032/102] Update plugins/modules/controller.py Co-authored-by: Joe Wesch <10467633+joewesch@users.noreply.github.com> --- plugins/modules/controller.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/modules/controller.py b/plugins/modules/controller.py index 95c22414..12f72d60 100644 --- a/plugins/modules/controller.py +++ b/plugins/modules/controller.py @@ -79,7 +79,7 @@ gather_facts: False tasks: - - name: Create device within Nautobot with only required information + - name: Create controller within Nautobot with only required information networktocode.nautobot.controller: url: http://nautobot.local token: thisIsMyToken From 216d0f2d760a68d8f2097edc74754ba3ce442448 Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Wed, 24 Jul 2024 20:26:30 -0500 Subject: [PATCH 033/102] Update plugins/modules/controller.py Co-authored-by: Joe Wesch <10467633+joewesch@users.noreply.github.com> --- plugins/modules/controller.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/modules/controller.py b/plugins/modules/controller.py index 12f72d60..4ce4a925 100644 --- a/plugins/modules/controller.py +++ b/plugins/modules/controller.py @@ -111,7 +111,7 @@ """ RETURN = r""" -device: +controller: description: Serialized object as created or already existent within Nautobot returned: success (when I(state=present)) type: dict From c1ba65dea4acf614f8a7ab8d93f720d0e678ff15 Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Wed, 24 Jul 2024 20:26:36 -0500 Subject: [PATCH 034/102] Update plugins/modules/controller.py Co-authored-by: Joe Wesch <10467633+joewesch@users.noreply.github.com> --- plugins/modules/controller.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/modules/controller.py b/plugins/modules/controller.py index 4ce4a925..1187d703 100644 --- a/plugins/modules/controller.py +++ b/plugins/modules/controller.py @@ -101,7 +101,7 @@ tenant: "Nautobot Baseball Stadiums" controller_device_redundancy_group: "controller_test" - - name: Delete device within nautobot + - name: Delete controller within nautobot networktocode.nautobot.controller: url: http://nautobot.local token: thisIsMyToken From 2e94abf7624fcb4dcd1278d13da8edbcf0db6b99 Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Wed, 24 Jul 2024 20:31:07 -0500 Subject: [PATCH 035/102] Updates testing. --- .../targets/latest/tasks/controller.yml | 102 ++++++++++++++++++ .../targets/latest/tasks/controllers.yml | 98 ----------------- .../integration/targets/latest/tasks/main.yml | 9 ++ 3 files changed, 111 insertions(+), 98 deletions(-) create mode 100644 tests/integration/targets/latest/tasks/controller.yml delete mode 100644 tests/integration/targets/latest/tasks/controllers.yml diff --git a/tests/integration/targets/latest/tasks/controller.yml b/tests/integration/targets/latest/tasks/controller.yml new file mode 100644 index 00000000..71781fde --- /dev/null +++ b/tests/integration/targets/latest/tasks/controller.yml @@ -0,0 +1,102 @@ +--- +- block: + - name: "CONTROLLER 1: Necessary info creation" + networktocode.nautobot.controller: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + name: Test Controller One + state: present + status: "Active" + register: test_one_controller + + - name: "CONTROLLER 1: ASSERT - Necessary info creation" + assert: + that: + - test_one_controller is changed + - test_one_controller['diff']['before']['state'] == "absent" + - test_one_controller['diff']['after']['state'] == "present" + - test_one_controller['controller']['name'] == "Test Controller One" + - test_one_controller['controller']['object_type'] == "dcim.controller" + - test_one_controller['msg'] == "controller Test Controller One created" + + - name: "CONTROLLER 2: Create duplicate" + networktocode.nautobot.controller: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + name: Test Controller One + state: present + status: "Active" + register: test_two + + - name: "CONTROLLER 2: ASSERT - Create duplicate" + assert: + that: + - not test_two['changed'] + - test_two['controller']['name'] == "Test Controller One" + - test_two['msg'] == "controller Test Controller One already exists" + + - name: "CONTROLLER 3: Update" + networktocode.nautobot.controller: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + name: Test Controller Two + description: "Test Controller changed description" + state: present + status: "Active" + register: test_three + + - name: "CONTROLLER 3: ASSERT - Update" + assert: + that: + - test_three['changed'] + - test_three['controller']['name'] == "Test Controller One" + - test_three['controller']['description'] == "Test Controller changed description" + - test_three['msg'] == "controller Test Controller One updated" + + - name: "CONTROLLER 4: ASSERT - Delete" + networktocode.nautobot.controller: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + name: Test Controller Two + state: absent + register: test_four + + - name: "CONTROLLER 3: ASSERT - Delete" + assert: + that: + - test_four is changed + - test_four['diff']['before']['state'] == "present" + - test_four['diff']['after']['state'] == "absent" + - test_four['msg'] == "controller Test Controller One deleted" + + - name: "CONTROLLER 5: ASSERT - Delete non existing" + networktocode.nautobot.controller: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + name: Test Controller Two + state: absent + register: test_five + + - name: "CONTROLLER 5: ASSERT - Delete non existing" + assert: + that: + - not test_five['changed'] + - test_five['controller'] == None + - test_five['msg'] == "controller Test Controller Two already absent" + + - name: "CONTROLLER 6: CREATE A CONTROLLER WITH AS MUCH AS POSSIBLE" + networktocode.nautobot.controller: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + name: "test_controller_3" + status: "Active" + location: "My Parent Location Type" + # external_integration: "" + role: "Test Controller Role" + tenant: "Test Tenant" + controller_device_redundancy_group: "My Device Redundancy Group" + tags: + - First + when: + # Contacts are only available on Nautobot 2.2+ + - "nautobot_version is version('2.2', '>=')" diff --git a/tests/integration/targets/latest/tasks/controllers.yml b/tests/integration/targets/latest/tasks/controllers.yml deleted file mode 100644 index c80afa34..00000000 --- a/tests/integration/targets/latest/tasks/controllers.yml +++ /dev/null @@ -1,98 +0,0 @@ ---- -- name: "CONTROLLER 1: Necessary info creation" - networktocode.nautobot.controller: - url: "{{ nautobot_url }}" - token: "{{ nautobot_token }}" - name: Test Controller One - state: present - status: "Active" - register: test_one_controller - -- name: "CONTROLLER 1: ASSERT - Necessary info creation" - assert: - that: - - test_one_controller is changed - - test_one_controller['diff']['before']['state'] == "absent" - - test_one_controller['diff']['after']['state'] == "present" - - test_one_controller['controller']['name'] == "Test Controller One" - - test_one_controller['controller']['object_type'] == "dcim.controller" - - test_one_controller['msg'] == "controller Test Controller One created" - -- name: "CONTROLLER 2: Create duplicate" - networktocode.nautobot.controller: - url: "{{ nautobot_url }}" - token: "{{ nautobot_token }}" - name: Test Controller One - state: present - status: "Active" - register: test_two - -- name: "CONTROLLER 2: ASSERT - Create duplicate" - assert: - that: - - not test_two['changed'] - - test_two['controller']['name'] == "Test Controller One" - - test_two['msg'] == "controller Test Controller One already exists" - -- name: "CONTROLLER 3: Update" - networktocode.nautobot.controller: - url: "{{ nautobot_url }}" - token: "{{ nautobot_token }}" - name: Test Controller Two - description: "Test Controller changed description" - state: present - status: "Active" - register: test_three - -- name: "CONTROLLER 3: ASSERT - Update" - assert: - that: - - test_three['changed'] - - test_three['controller']['name'] == "Test Controller One" - - test_three['controller']['description'] == "Test Controller changed description" - - test_three['msg'] == "controller Test Controller One updated" - -- name: "CONTROLLER 4: ASSERT - Delete" - networktocode.nautobot.controller: - url: "{{ nautobot_url }}" - token: "{{ nautobot_token }}" - name: Test Controller Two - state: absent - register: test_four - -- name: "CONTROLLER 3: ASSERT - Delete" - assert: - that: - - test_four is changed - - test_four['diff']['before']['state'] == "present" - - test_four['diff']['after']['state'] == "absent" - - test_four['msg'] == "controller Test Controller One deleted" - -- name: "CONTROLLER 5: ASSERT - Delete non existing" - networktocode.nautobot.controller: - url: "{{ nautobot_url }}" - token: "{{ nautobot_token }}" - name: Test Controller Two - state: absent - register: test_five - -- name: "CONTROLLER 5: ASSERT - Delete non existing" - assert: - that: - - not test_five['changed'] - - test_five['controller'] == None - - test_five['msg'] == "controller Test Controller Two already absent" - -- name: "CONTROLLER 6: CREATE A CONTROLLER WITH AS MUCH AS POSSIBLE" - networktocode.nautobot.controller: - url: "{{ nautobot_url }}" - token: "{{ nautobot_token }}" - name: "test_controller_3" - status: "Active" - location: "My Parent Location Type" - # external_integration: "" - role: "Test Controller Role" - tenant: "Test Tenant" - controller_device_redundancy_group: "My Device Redundancy Group" - tags: - - First diff --git a/tests/integration/targets/latest/tasks/main.yml b/tests/integration/targets/latest/tasks/main.yml index 53cf0740..2c511f2a 100644 --- a/tests/integration/targets/latest/tasks/main.yml +++ b/tests/integration/targets/latest/tasks/main.yml @@ -547,3 +547,12 @@ - team tags: - team + +- name: "PYNAUTOBOT_CONTROLLER TESTS" + include_tasks: + file: "controller.yml" + apply: + tags: + - team + tags: + - team \ No newline at end of file From 762df7745ebf913672940167e2927e6303a7d4e8 Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Wed, 24 Jul 2024 21:15:46 -0500 Subject: [PATCH 036/102] Updates. --- plugins/modules/controller.py | 1 + tests/integration/targets/latest/tasks/controller.yml | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/plugins/modules/controller.py b/plugins/modules/controller.py index 1187d703..03f49ec2 100644 --- a/plugins/modules/controller.py +++ b/plugins/modules/controller.py @@ -140,6 +140,7 @@ def main(): name=dict(required=True, type="str"), controller_device=dict(required=False, type="str"), external_integration=dict(required=False, type="str"), + location=dict(required=False, type="raw"), role=dict(required=False, type="raw"), tenant=dict(required=False, type="raw"), platform=dict(required=False, type="raw"), diff --git a/tests/integration/targets/latest/tasks/controller.yml b/tests/integration/targets/latest/tasks/controller.yml index 71781fde..0aceacd6 100644 --- a/tests/integration/targets/latest/tasks/controller.yml +++ b/tests/integration/targets/latest/tasks/controller.yml @@ -1,10 +1,14 @@ --- - block: + - set_fact: + parent_location: "{{ lookup('networktocode.nautobot.lookup', 'locations', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=\"Parent Test Location\"') }}" + - name: "CONTROLLER 1: Necessary info creation" networktocode.nautobot.controller: url: "{{ nautobot_url }}" token: "{{ nautobot_token }}" name: Test Controller One + location: "Parent Test Location" state: present status: "Active" register: test_one_controller @@ -24,6 +28,7 @@ url: "{{ nautobot_url }}" token: "{{ nautobot_token }}" name: Test Controller One + location: "Parent Test Location" state: present status: "Active" register: test_two @@ -41,6 +46,7 @@ token: "{{ nautobot_token }}" name: Test Controller Two description: "Test Controller changed description" + location: "Parent Test Location" state: present status: "Active" register: test_three @@ -90,7 +96,7 @@ token: "{{ nautobot_token }}" name: "test_controller_3" status: "Active" - location: "My Parent Location Type" + location: "My Parent Location" # external_integration: "" role: "Test Controller Role" tenant: "Test Tenant" From 77f2dea1a46ce6969bb94403657bc7573a4e0c9c Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Wed, 24 Jul 2024 21:19:47 -0500 Subject: [PATCH 037/102] Tests. --- plugins/modules/controller.py | 1 - 1 file changed, 1 deletion(-) diff --git a/plugins/modules/controller.py b/plugins/modules/controller.py index 03f49ec2..cd8d4c2f 100644 --- a/plugins/modules/controller.py +++ b/plugins/modules/controller.py @@ -144,7 +144,6 @@ def main(): role=dict(required=False, type="raw"), tenant=dict(required=False, type="raw"), platform=dict(required=False, type="raw"), - location=dict(required=False, type="raw"), status=dict(required=False, type="raw"), tags=dict(required=False, type="list", elements="raw"), custom_fields=dict(required=False, type="dict"), From 660733c7705df8cec9871aaae46a4b73bf34d3b1 Mon Sep 17 00:00:00 2001 From: Jeff Kala Date: Tue, 30 Jul 2024 16:54:00 -0500 Subject: [PATCH 038/102] add user endpoint for managing user groups permissions --- plugins/module_utils/users.py | 62 +++++++ plugins/module_utils/utils.py | 10 ++ plugins/modules/admin_group.py | 94 ++++++++++ plugins/modules/object_permission.py | 170 ++++++++++++++++++ plugins/modules/user.py | 150 ++++++++++++++++ tasks.py | 2 +- .../targets/latest/tasks/admin_group.yml | 71 ++++++++ .../integration/targets/latest/tasks/main.yml | 27 +++ .../latest/tasks/object_permission.yml | 71 ++++++++ .../integration/targets/latest/tasks/user.yml | 71 ++++++++ 10 files changed, 727 insertions(+), 1 deletion(-) create mode 100644 plugins/module_utils/users.py create mode 100644 plugins/modules/admin_group.py create mode 100644 plugins/modules/object_permission.py create mode 100644 plugins/modules/user.py create mode 100755 tests/integration/targets/latest/tasks/admin_group.yml create mode 100755 tests/integration/targets/latest/tasks/object_permission.yml create mode 100755 tests/integration/targets/latest/tasks/user.yml diff --git a/plugins/module_utils/users.py b/plugins/module_utils/users.py new file mode 100644 index 00000000..84c35bc3 --- /dev/null +++ b/plugins/module_utils/users.py @@ -0,0 +1,62 @@ +# -*- coding: utf-8 -*- +# Copyright: (c) 2024, Jeff Kala (@jeffkala) +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + +from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import ( + NautobotModule, + ENDPOINT_NAME_MAPPING, +) + + +NB_USERS = "users" +NB_ADMIN_GROUP = "groups" +NB_OBJECT_PERMISSION = "permissions" + + +class NautobotUsersModule(NautobotModule): + def run(self): + """ + This function should have all necessary code for endpoints within the application + to create/update/delete the endpoint objects + Supported endpoints: + users + admin_groups + object_permissions + """ + # Used to dynamically set key when returning results + endpoint_name = ENDPOINT_NAME_MAPPING[self.endpoint] + + self.result = {"changed": False} + + application = self._find_app(self.endpoint) + nb_app = getattr(self.nb, application) + nb_endpoint = getattr(nb_app, self.endpoint) + user_query_params = self.module.params.get("query_params") + + data = self.data + + # Used for msg output + if data.get("name"): + name = data["name"] + else: + name = data.get("id") + + object_query_params = self._build_query_params(endpoint_name, data, user_query_params) + self.nb_object = self._nb_endpoint_get(nb_endpoint, object_query_params, name) + + if self.state == "present": + self._ensure_object_exists(nb_endpoint, endpoint_name, name, data) + elif self.state == "absent": + self._ensure_object_absent(endpoint_name, name) + + try: + serialized_object = self.nb_object.serialize() + except AttributeError: + serialized_object = self.nb_object + + self.result.update({endpoint_name: serialized_object}) + + self.module.exit_json(**self.result) diff --git a/plugins/module_utils/utils.py b/plugins/module_utils/utils.py index 36700a60..8935a553 100644 --- a/plugins/module_utils/utils.py +++ b/plugins/module_utils/utils.py @@ -91,6 +91,7 @@ plugins=[], secrets=[], tenancy=["tenants", "tenant_groups"], + users=["users", "groups", "permissions"], virtualization=["cluster_groups", "cluster_types", "clusters", "virtual_machines"], ) @@ -107,6 +108,7 @@ device_type="model", export_targets="name", group="name", + groups="name", installed_device="name", import_targets="name", location="name", @@ -136,6 +138,7 @@ tenant="name", tenant_group="name", time_zone="timezone", + user="username", virtual_chassis="name", virtual_machine="name", vlan="name", @@ -237,6 +240,7 @@ "device_redundancy_groups": "device_redundancy_group", "front_ports": "front_port", "front_port_templates": "front_port_template", + "groups": "group", "interfaces": "interface", "interface_templates": "interface_template", "inventory_items": "inventory_item", @@ -246,6 +250,7 @@ "location_types": "location_type", "manufacturers": "manufacturer", "namespaces": "namespace", + "permissions": "permission", "platforms": "platform", "power_feeds": "power_feed", "power_outlets": "power_outlet", @@ -269,6 +274,7 @@ "teams": "team", "tenants": "tenant", "tenant_groups": "tenant_group", + "users": "user", "virtual_chassis": "virtual_chassis", "virtual_machines": "virtual_machine", "vlans": "vlan", @@ -309,6 +315,8 @@ "device_type": set(["model"]), "front_port": set(["name", "device", "rear_port"]), "front_port_template": set(["name", "device_type", "rear_port_template"]), + "group": set(["name"]), + "groups": set(["name"]), "installed_device": set(["name"]), "interface": set(["name", "device", "virtual_machine"]), "interface_template": set(["name", "device_type"]), @@ -326,6 +334,7 @@ "nat_inside": set(["namespace", "address"]), "parent_rack_group": set(["name"]), "parent_tenant_group": set(["name"]), + "permission": set(["name"]), "platform": set(["name"]), "power_feed": set(["name", "power_panel"]), "power_outlet": set(["name", "device"]), @@ -355,6 +364,7 @@ "tenant_group": set(["name"]), "termination_a": set(["name", "device", "virtual_machine"]), "termination_b": set(["name", "device", "virtual_machine"]), + "user": set(["username"]), "untagged_vlan": set(["group", "name", "location", "vid", "vlan_group", "tenant"]), "virtual_chassis": set(["name", "device"]), "virtual_machine": set(["name", "cluster"]), diff --git a/plugins/modules/admin_group.py b/plugins/modules/admin_group.py new file mode 100644 index 00000000..11578fe6 --- /dev/null +++ b/plugins/modules/admin_group.py @@ -0,0 +1,94 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# Copyright: (c) 2024, Jeff Kala (@jeffkala) +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + + +DOCUMENTATION = r""" +--- +module: admin_group +short_description: Create, update or delete admin groups within Nautobot +description: + - Creates, updates or removes admin groups from Nautobot +notes: + - Tags should be defined as a YAML list + - This should be ran with connection C(local) and hosts C(localhost) +author: + - Jeff Kala (@jeffkala) +version_added: "5.3.0" +extends_documentation_fragment: + - networktocode.nautobot.fragments.base +options: + name: + description: + - The name of the group + required: true + type: str + version_added: "5.3.0" +""" + +EXAMPLES = r""" +- name: "Test Nautobot modules" + connection: local + hosts: localhost + gather_facts: False + + tasks: + - name: Create user within Nautobot with only required information + networktocode.nautobot.admin_group: + url: http://nautobot.local + token: thisIsMyToken + name: read_only_group + state: present + + - name: Delete user within admin_group + networktocode.nautobot.user: + url: http://nautobot.local + token: thisIsMyToken + name: read_only_group + state: absent +""" + +RETURN = r""" +admin_group: + description: Serialized object as created or already existent within Nautobot + returned: success (when I(state=present)) + type: dict +msg: + description: Message indicating failure or info about what has been achieved + returned: always + type: str +""" + +from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import NAUTOBOT_ARG_SPEC +from ansible_collections.networktocode.nautobot.plugins.module_utils.users import ( + NautobotUsersModule, + NB_ADMIN_GROUP, +) +from ansible.module_utils.basic import AnsibleModule +from copy import deepcopy + + +def main(): + """ + Main entry point for module execution + """ + argument_spec = deepcopy(NAUTOBOT_ARG_SPEC) + argument_spec.update( + dict( + name=dict(required=True, type="str"), + ) + ) + + module = AnsibleModule(argument_spec=argument_spec, supports_check_mode=True) + + nb_groups = NautobotUsersModule(module, NB_ADMIN_GROUP) + nb_groups.run() + + +if __name__ == "__main__": # pragma: no cover + main() diff --git a/plugins/modules/object_permission.py b/plugins/modules/object_permission.py new file mode 100644 index 00000000..f3792781 --- /dev/null +++ b/plugins/modules/object_permission.py @@ -0,0 +1,170 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# Copyright: (c) 2024, Jeff Kala (@jeffkala) +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + + +DOCUMENTATION = r""" +--- +module: object_permission +short_description: Create, update or delete object permissions within Nautobot +description: + - Creates, updates or removes object permissions from Nautobot +notes: + - Tags should be defined as a YAML list + - This should be ran with connection C(local) and hosts C(localhost) +author: + - Jeff Kala (@jeffkala) +version_added: "5.3.0" +extends_documentation_fragment: + - networktocode.nautobot.fragments.base +options: + name: + description: + - The name of the permission + required: true + type: str + version_added: "5.3.0" + description: + description: + - The description of the permission + required: false + type: str + version_added: "5.3.0" + enabled: + description: + - If the permission is enabled or not. + required: true + type: bool + version_added: "5.3.0" + object_types: + description: + - The permitted object_types for the permission definition. + required: false + type: list + elements: str + version_added: "5.3.0" + actions: + description: + - The actions allowed for the permission definition. + choices: [ view, add, change, delete, run ] + required: true + type: list + elements: str + version_added: "5.3.0" + constraints: + description: + - The constraints for the permission definition. + required: false + type: json + version_added: "5.3.0" + users: + description: + - The users assigned for the permission definition. + required: false + type: list + elements: str + version_added: "5.3.0" + groups: + description: + - The groups assigned for the permission definition. + required: false + type: list + elements: dict + version_added: "5.3.0" +""" + +EXAMPLES = r""" +- name: "Test Nautobot modules" + connection: local + hosts: localhost + gather_facts: False + + tasks: + - name: Create object permission within Nautobot with only required information + networktocode.nautobot.object_permission: + url: http://nautobot.local + token: thisIsMyToken + name: read only + description: "ro permisisons" + enabled: true + object_types: + - "dcim.device" + actions: + - view + - change + users: + - nb_user + groups: + - name: read_only_group + state: present + + - name: Delete permission + networktocode.nautobot.object_permission: + url: http://nautobot.local + token: thisIsMyToken + name: read only + description: "ro permisisons" + enabled: true + object_types: + - "dcim.device" + actions: + - view + - change + users: + - nb_user + groups: + - name: read_only_group + state: absent +""" + +RETURN = r""" +object_permission: + description: Serialized object as created or already existent within Nautobot + returned: success (when I(state=present)) + type: dict +msg: + description: Message indicating failure or info about what has been achieved + returned: always + type: str +""" + +from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import NAUTOBOT_ARG_SPEC +from ansible_collections.networktocode.nautobot.plugins.module_utils.users import ( + NautobotUsersModule, + NB_OBJECT_PERMISSION, +) +from ansible.module_utils.basic import AnsibleModule +from copy import deepcopy + + +def main(): + """ + Main entry point for module execution + """ + argument_spec = deepcopy(NAUTOBOT_ARG_SPEC) + argument_spec.update( + dict( + name=dict(required=True, type="str"), + description=dict(required=False, type="str"), + enabled=dict(required=True, type="bool"), + object_types=dict(required=False, type="list", elements="str"), + actions=dict(required=True, type="list", elements="str", choices=["view", "add", "change", "delete", "run"]), + constraints=dict(required=False, type="json"), + users=dict(required=False, type="list", elements="str"), + groups=dict(required=False, type="list", elements="dict"), + ) + ) + + module = AnsibleModule(argument_spec=argument_spec, supports_check_mode=True) + + nb_obj_permissions = NautobotUsersModule(module, NB_OBJECT_PERMISSION) + nb_obj_permissions.run() + + +if __name__ == "__main__": # pragma: no cover + main() diff --git a/plugins/modules/user.py b/plugins/modules/user.py new file mode 100644 index 00000000..887f9bc8 --- /dev/null +++ b/plugins/modules/user.py @@ -0,0 +1,150 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# Copyright: (c) 2024, Jeff Kala (@jeffkala) +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + + +DOCUMENTATION = r""" +--- +module: user +short_description: Create, update or delete users within Nautobot +description: + - Creates, updates or removes users from Nautobot +notes: + - Tags should be defined as a YAML list + - This should be ran with connection C(local) and hosts C(localhost) +author: + - Jeff Kala (@jeffkala) +version_added: "5.3.0" +extends_documentation_fragment: + - networktocode.nautobot.fragments.base +options: + username: + description: + - The name of the user + required: true + type: str + version_added: "5.3.0" + is_superuser: + description: + - If the user should be set for superuser status + required: false + type: bool + version_added: "5.3.0" + is_staff: + description: + - If the user should be set for superuser status + required: false + type: bool + version_added: "5.3.0" + is_active: + description: + - If the user should be set for superuser status + required: false + type: bool + version_added: "5.3.0" + first_name: + description: + - The first name of the user + required: false + type: str + version_added: "5.3.0" + last_name: + description: + - The last name of the user + required: false + type: str + version_added: "5.3.0" + email: + description: + - The email of the user + required: false + type: str + version_added: "5.3.0" + groups: + description: + - The groups the user is assigned to + required: false + type: list + elements: raw + version_added: "5.3.0" +""" + +EXAMPLES = r""" +- name: "Test Nautobot modules" + connection: local + hosts: localhost + gather_facts: False + + tasks: + - name: Create user within Nautobot with only required information + networktocode.nautobot.user: + url: http://nautobot.local + token: thisIsMyToken + username: nb_user + email: nb_user@example.com + first_name: nb + last_name: user + state: present + + - name: Delete user within nautobot + networktocode.nautobot.user: + url: http://nautobot.local + token: thisIsMyToken + username: nb_user + email: nb_user@example.com + first_name: nb + last_name: user + state: absent +""" + +RETURN = r""" +user: + description: Serialized object as created or already existent within Nautobot + returned: success (when I(state=present)) + type: dict +msg: + description: Message indicating failure or info about what has been achieved + returned: always + type: str +""" + +from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import NAUTOBOT_ARG_SPEC +from ansible_collections.networktocode.nautobot.plugins.module_utils.users import ( + NautobotUsersModule, + NB_USERS, +) +from ansible.module_utils.basic import AnsibleModule +from copy import deepcopy + + +def main(): + """ + Main entry point for module execution + """ + argument_spec = deepcopy(NAUTOBOT_ARG_SPEC) + argument_spec.update( + dict( + username=dict(required=True, type="str"), + is_superuser=dict(required=False, type="bool"), + is_active=dict(required=False, type="bool"), + is_staff=dict(required=False, type="bool"), + first_name=dict(required=False, type="str"), + last_name=dict(required=False, type="str"), + email=dict(required=False, type="str"), + groups=dict(required=False, type="list", elements="raw"), + ) + ) + + module = AnsibleModule(argument_spec=argument_spec, supports_check_mode=True) + + nb_user = NautobotUsersModule(module, NB_USERS) + nb_user.run() + + +if __name__ == "__main__": # pragma: no cover + main() diff --git a/tasks.py b/tasks.py index b96c60e0..e89cb770 100644 --- a/tasks.py +++ b/tasks.py @@ -25,7 +25,7 @@ def is_truthy(arg): namespace.configure( { "nautobot_ansible": { - "nautobot_ver": "2.0.0", + "nautobot_ver": "2.2.4", "project_name": "nautobot_ansible", "python_ver": "3.9", "local": False, diff --git a/tests/integration/targets/latest/tasks/admin_group.yml b/tests/integration/targets/latest/tasks/admin_group.yml new file mode 100755 index 00000000..0f19c87c --- /dev/null +++ b/tests/integration/targets/latest/tasks/admin_group.yml @@ -0,0 +1,71 @@ +--- +## +## +### PYNAUTOBOT_GROUPS +## +## +- name: "GROUPS 1: Necessary info creation" + networktocode.nautobot.admin_group: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + name: Test GROUPS One + state: present + register: test_one + +- name: "GROUPS 1: ASSERT - Necessary info creation" + assert: + that: + - test_one is changed + - test_one['diff']['before']['state'] == "absent" + - test_one['diff']['after']['state'] == "present" + - test_one['groups']['name'] == "Test GROUPS One" + - test_one['msg'] == "groups Test GROUPS One created" + +- name: "GROUPS 2: Create duplicate" + networktocode.nautobot.admin_group: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + name: Test GROUPS One + state: present + register: test_two + +- name: "GROUPS 2: ASSERT - Create duplicate" + assert: + that: + - not test_two['changed'] + - test_two['groups']['name'] == "Test GROUPS One" + - test_two['msg'] == "groups Test GROUPS One already exists" + +- name: "GROUPS 3: ASSERT - Update" + networktocode.nautobot.admin_group: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + name: "Test GROUPS One" + is_private: true + state: present + register: test_three + +- name: "GROUPS 3: ASSERT - Updated" + assert: + that: + - test_three is changed + - test_three['diff']['after']['is_private'] == true + - test_three['groups']['name'] == "Test GROUPS One" + - test_three['groups']['is_private'] == true + - test_three['msg'] == "groups Test GROUPS One updated" + +- name: "GROUPS 4: ASSERT - Delete" + networktocode.nautobot.admin_group: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + name: "Test GROUPS One" + state: absent + register: test_four + +- name: "GROUPS 4: ASSERT - Delete" + assert: + that: + - test_four is changed + - test_four['groups']['name'] == "Test GROUPS One" + - test_four['groups']['is_private'] == true + - test_four['msg'] == "groups Test GROUPS One deleted" diff --git a/tests/integration/targets/latest/tasks/main.yml b/tests/integration/targets/latest/tasks/main.yml index 53cf0740..973cf098 100644 --- a/tests/integration/targets/latest/tasks/main.yml +++ b/tests/integration/targets/latest/tasks/main.yml @@ -547,3 +547,30 @@ - team tags: - team + +- name: "PYNAUTOBOT_USER TESTS" + include_tasks: + file: "user.yml" + apply: + tags: + - user + tags: + - user + +- name: "PYNAUTOBOT_GROUPS TESTS" + include_tasks: + file: "admin_group.yml" + apply: + tags: + - admin_group + tags: + - admin_group + +- name: "PYNAUTOBOT_OBJECT_PERMISSIONS TESTS" + include_tasks: + file: "object_permission.yml" + apply: + tags: + - object_permission + tags: + - object_permission diff --git a/tests/integration/targets/latest/tasks/object_permission.yml b/tests/integration/targets/latest/tasks/object_permission.yml new file mode 100755 index 00000000..ebc95816 --- /dev/null +++ b/tests/integration/targets/latest/tasks/object_permission.yml @@ -0,0 +1,71 @@ +--- +## +## +### PYNAUTOBOT_OBJECT_PERMISSIONS +## +## +- name: "PERMISSION 1: Necessary info creation" + networktocode.nautobot.object_permission: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + name: Test PERMISSION One + state: present + register: test_one + +- name: "PERMISSION 1: ASSERT - Necessary info creation" + assert: + that: + - test_one is changed + - test_one['diff']['before']['state'] == "absent" + - test_one['diff']['after']['state'] == "present" + - test_one['permission']['name'] == "Test PERMISSION One" + - test_one['msg'] == "permission Test PERMISSION One created" + +- name: "PERMISSION 2: Create duplicate" + networktocode.nautobot.object_permission: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + name: Test PERMISSION One + state: present + register: test_two + +- name: "PERMISSION 2: ASSERT - Create duplicate" + assert: + that: + - not test_two['changed'] + - test_two['permission']['name'] == "Test PERMISSION One" + - test_two['msg'] == "permission Test PERMISSION One already exists" + +- name: "PERMISSION 3: ASSERT - Update" + networktocode.nautobot.object_permission: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + name: "Test PERMISSION One" + is_private: true + state: present + register: test_three + +- name: "PERMISSION 3: ASSERT - Updated" + assert: + that: + - test_three is changed + - test_three['diff']['after']['is_private'] == true + - test_three['permission']['name'] == "Test PERMISSION One" + - test_three['permission']['is_private'] == true + - test_three['msg'] == "permission Test PERMISSION One updated" + +- name: "PERMISSION 4: ASSERT - Delete" + networktocode.nautobot.object_permission: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + name: "Test PERMISSION One" + state: absent + register: test_four + +- name: "PERMISSION 4: ASSERT - Delete" + assert: + that: + - test_four is changed + - test_four['permission']['name'] == "Test PERMISSION One" + - test_four['permission']['is_private'] == true + - test_four['msg'] == "permission Test PERMISSION One deleted" diff --git a/tests/integration/targets/latest/tasks/user.yml b/tests/integration/targets/latest/tasks/user.yml new file mode 100755 index 00000000..f593cf38 --- /dev/null +++ b/tests/integration/targets/latest/tasks/user.yml @@ -0,0 +1,71 @@ +--- +## +## +### PYNAUTOBOT_USER +## +## +- name: "USER 1: Necessary info creation" + networktocode.nautobot.user: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + name: Test USER One + state: present + register: test_one + +- name: "USER 1: ASSERT - Necessary info creation" + assert: + that: + - test_one is changed + - test_one['diff']['before']['state'] == "absent" + - test_one['diff']['after']['state'] == "present" + - test_one['user']['name'] == "Test USER One" + - test_one['msg'] == "user Test USER One created" + +- name: "USER 2: Create duplicate" + networktocode.nautobot.user: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + name: Test USER One + state: present + register: test_two + +- name: "USER 2: ASSERT - Create duplicate" + assert: + that: + - not test_two['changed'] + - test_two['user']['name'] == "Test USER One" + - test_two['msg'] == "user Test USER One already exists" + +- name: "USER 3: ASSERT - Update" + networktocode.nautobot.user: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + name: "Test USER One" + is_private: true + state: present + register: test_three + +- name: "USER 3: ASSERT - Updated" + assert: + that: + - test_three is changed + - test_three['diff']['after']['is_private'] == true + - test_three['user']['name'] == "Test USER One" + - test_three['user']['is_private'] == true + - test_three['msg'] == "user Test USER One updated" + +- name: "USER 4: ASSERT - Delete" + networktocode.nautobot.user: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + name: "Test USER One" + state: absent + register: test_four + +- name: "USER 4: ASSERT - Delete" + assert: + that: + - test_four is changed + - test_four['user']['name'] == "Test USER One" + - test_four['user']['is_private'] == true + - test_four['msg'] == "user Test USER One deleted" From f30f8f14c6d1d5d7a218a8f7e74354e854f31d8a Mon Sep 17 00:00:00 2001 From: Jeff Kala Date: Tue, 30 Jul 2024 22:49:21 -0500 Subject: [PATCH 039/102] update tests for the new models --- .../targets/latest/tasks/admin_group.yml | 53 +++++++------------ .../latest/tasks/object_permission.yml | 26 +++++++-- .../integration/targets/latest/tasks/user.yml | 32 +++++------ 3 files changed, 56 insertions(+), 55 deletions(-) diff --git a/tests/integration/targets/latest/tasks/admin_group.yml b/tests/integration/targets/latest/tasks/admin_group.yml index 0f19c87c..766fdf96 100755 --- a/tests/integration/targets/latest/tasks/admin_group.yml +++ b/tests/integration/targets/latest/tasks/admin_group.yml @@ -18,8 +18,8 @@ - test_one is changed - test_one['diff']['before']['state'] == "absent" - test_one['diff']['after']['state'] == "present" - - test_one['groups']['name'] == "Test GROUPS One" - - test_one['msg'] == "groups Test GROUPS One created" + - test_one['group']['name'] == "Test GROUPS One" + - test_one['msg'] == "group Test GROUPS One created" - name: "GROUPS 2: Create duplicate" networktocode.nautobot.admin_group: @@ -33,39 +33,22 @@ assert: that: - not test_two['changed'] - - test_two['groups']['name'] == "Test GROUPS One" - - test_two['msg'] == "groups Test GROUPS One already exists" + - test_two['group']['name'] == "Test GROUPS One" + - test_two['msg'] == "group Test GROUPS One already exists" -- name: "GROUPS 3: ASSERT - Update" - networktocode.nautobot.admin_group: - url: "{{ nautobot_url }}" - token: "{{ nautobot_token }}" - name: "Test GROUPS One" - is_private: true - state: present - register: test_three - -- name: "GROUPS 3: ASSERT - Updated" - assert: - that: - - test_three is changed - - test_three['diff']['after']['is_private'] == true - - test_three['groups']['name'] == "Test GROUPS One" - - test_three['groups']['is_private'] == true - - test_three['msg'] == "groups Test GROUPS One updated" +# Update tests skipped due to only one parameter. -- name: "GROUPS 4: ASSERT - Delete" - networktocode.nautobot.admin_group: - url: "{{ nautobot_url }}" - token: "{{ nautobot_token }}" - name: "Test GROUPS One" - state: absent - register: test_four + - name: "GROUPS 3: ASSERT - Delete" + networktocode.nautobot.admin_group: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + name: "Test GROUPS One" + state: absent + register: test_four -- name: "GROUPS 4: ASSERT - Delete" - assert: - that: - - test_four is changed - - test_four['groups']['name'] == "Test GROUPS One" - - test_four['groups']['is_private'] == true - - test_four['msg'] == "groups Test GROUPS One deleted" + - name: "GROUPS 3: ASSERT - Delete" + assert: + that: + - test_four is changed + - test_four['group']['name'] == "Test GROUPS One" + - test_four['msg'] == "group Test GROUPS One deleted" diff --git a/tests/integration/targets/latest/tasks/object_permission.yml b/tests/integration/targets/latest/tasks/object_permission.yml index ebc95816..d9df07a0 100755 --- a/tests/integration/targets/latest/tasks/object_permission.yml +++ b/tests/integration/targets/latest/tasks/object_permission.yml @@ -9,6 +9,11 @@ url: "{{ nautobot_url }}" token: "{{ nautobot_token }}" name: Test PERMISSION One + enabled: true + object_types: + - "dcim.device" + actions: + - view state: present register: test_one @@ -26,6 +31,11 @@ url: "{{ nautobot_url }}" token: "{{ nautobot_token }}" name: Test PERMISSION One + enabled: true + actions: + - view + object_types: + - "dcim.device" state: present register: test_two @@ -41,7 +51,11 @@ url: "{{ nautobot_url }}" token: "{{ nautobot_token }}" name: "Test PERMISSION One" - is_private: true + enabled: true + actions: + - add + object_types: + - "dcim.device" state: present register: test_three @@ -49,9 +63,9 @@ assert: that: - test_three is changed - - test_three['diff']['after']['is_private'] == true + - test_three['diff']['after']['actions'] == ["add"] - test_three['permission']['name'] == "Test PERMISSION One" - - test_three['permission']['is_private'] == true + - test_three['permission']['actions'] == ["add"] - test_three['msg'] == "permission Test PERMISSION One updated" - name: "PERMISSION 4: ASSERT - Delete" @@ -59,6 +73,11 @@ url: "{{ nautobot_url }}" token: "{{ nautobot_token }}" name: "Test PERMISSION One" + enabled: true + actions: + - view + object_types: + - "dcim.device" state: absent register: test_four @@ -67,5 +86,4 @@ that: - test_four is changed - test_four['permission']['name'] == "Test PERMISSION One" - - test_four['permission']['is_private'] == true - test_four['msg'] == "permission Test PERMISSION One deleted" diff --git a/tests/integration/targets/latest/tasks/user.yml b/tests/integration/targets/latest/tasks/user.yml index f593cf38..c4848bc1 100755 --- a/tests/integration/targets/latest/tasks/user.yml +++ b/tests/integration/targets/latest/tasks/user.yml @@ -8,7 +8,7 @@ networktocode.nautobot.user: url: "{{ nautobot_url }}" token: "{{ nautobot_token }}" - name: Test USER One + username: nb-user state: present register: test_one @@ -18,14 +18,13 @@ - test_one is changed - test_one['diff']['before']['state'] == "absent" - test_one['diff']['after']['state'] == "present" - - test_one['user']['name'] == "Test USER One" - - test_one['msg'] == "user Test USER One created" + - test_one['user']['username'] == "nb-user" - name: "USER 2: Create duplicate" networktocode.nautobot.user: url: "{{ nautobot_url }}" token: "{{ nautobot_token }}" - name: Test USER One + username: nb-user state: present register: test_two @@ -33,15 +32,15 @@ assert: that: - not test_two['changed'] - - test_two['user']['name'] == "Test USER One" - - test_two['msg'] == "user Test USER One already exists" + - test_two['user']['username'] == "nb-user" - name: "USER 3: ASSERT - Update" networktocode.nautobot.user: url: "{{ nautobot_url }}" token: "{{ nautobot_token }}" - name: "Test USER One" - is_private: true + username: "nb-user" + first_name: "nb" + last_name: "user" state: present register: test_three @@ -49,16 +48,19 @@ assert: that: - test_three is changed - - test_three['diff']['after']['is_private'] == true - - test_three['user']['name'] == "Test USER One" - - test_three['user']['is_private'] == true - - test_three['msg'] == "user Test USER One updated" + - test_three['user']['username'] == "nb-user" + - test_three['user']['first_name'] == "nb" + - test_three['user']['last_name'] == "user" + - test_three['diff']['before']['first_name'] == "" + - test_three['diff']['after']['first_name'] == "nb" + - test_three['diff']['before']['last_name'] == "" + - test_three['diff']['after']['last_name'] == "user" - name: "USER 4: ASSERT - Delete" networktocode.nautobot.user: url: "{{ nautobot_url }}" token: "{{ nautobot_token }}" - name: "Test USER One" + username: "nb-user" state: absent register: test_four @@ -66,6 +68,4 @@ assert: that: - test_four is changed - - test_four['user']['name'] == "Test USER One" - - test_four['user']['is_private'] == true - - test_four['msg'] == "user Test USER One deleted" + - test_four['user']['username'] == "nb-user" From c8f168ebd603052ad2f00e2ab64807b773f40689 Mon Sep 17 00:00:00 2001 From: Jeff Kala Date: Wed, 31 Jul 2024 09:02:02 -0500 Subject: [PATCH 040/102] update tests for the new models --- .../targets/latest/tasks/admin_group.yml | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/tests/integration/targets/latest/tasks/admin_group.yml b/tests/integration/targets/latest/tasks/admin_group.yml index 766fdf96..1259c806 100755 --- a/tests/integration/targets/latest/tasks/admin_group.yml +++ b/tests/integration/targets/latest/tasks/admin_group.yml @@ -38,17 +38,17 @@ # Update tests skipped due to only one parameter. - - name: "GROUPS 3: ASSERT - Delete" - networktocode.nautobot.admin_group: - url: "{{ nautobot_url }}" - token: "{{ nautobot_token }}" - name: "Test GROUPS One" - state: absent - register: test_four +- name: "GROUPS 3: ASSERT - Delete" + networktocode.nautobot.admin_group: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + name: "Test GROUPS One" + state: absent + register: test_four - - name: "GROUPS 3: ASSERT - Delete" - assert: - that: - - test_four is changed - - test_four['group']['name'] == "Test GROUPS One" - - test_four['msg'] == "group Test GROUPS One deleted" +- name: "GROUPS 3: ASSERT - Delete" + assert: + that: + - test_four is changed + - test_four['group']['name'] == "Test GROUPS One" + - test_four['msg'] == "group Test GROUPS One deleted" From 726fc2fcd9603e89ebda778baf0f557ba2e0ccad Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Thu, 1 Aug 2024 11:00:52 -0500 Subject: [PATCH 041/102] Add controller type. --- tests/integration/nautobot-populate.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/integration/nautobot-populate.py b/tests/integration/nautobot-populate.py index 89e6da26..acf21936 100755 --- a/tests/integration/nautobot-populate.py +++ b/tests/integration/nautobot-populate.py @@ -101,6 +101,10 @@ def make_nautobot_calls(endpoint, payload): "virtualization.cluster", "circuits.circuittermination", ] + +if nautobot_version > version.parse("2.2"): + location_content_types.append("dcim.controller") + location_types = [{"name": "My Parent Location Type", "content_types": location_content_types, "nestable": True}] created_location_types = make_nautobot_calls(nb.dcim.location_types, location_types) parent_location_type = nb.dcim.location_types.get(name="My Parent Location Type") From 1022ac02f52c6aba9f99fa8022f22df654882915 Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Thu, 1 Aug 2024 15:59:52 -0500 Subject: [PATCH 042/102] Updates to add description. --- plugins/modules/controller.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/plugins/modules/controller.py b/plugins/modules/controller.py index cd8d4c2f..fd333ae1 100644 --- a/plugins/modules/controller.py +++ b/plugins/modules/controller.py @@ -29,6 +29,11 @@ - The name of the controller required: true type: str + description: + description: + - Description of the controller + required: false + type: str controller_device: description: - Device that runs the controller software @@ -94,6 +99,7 @@ url: http://nautobot.local token: thisIsMyToken status: "Active" + description: "Description of the controller" location: "Cisco" external_integration: "Cisco Catalyst SD-WAN" role: "Administrative" @@ -140,6 +146,7 @@ def main(): name=dict(required=True, type="str"), controller_device=dict(required=False, type="str"), external_integration=dict(required=False, type="str"), + description=dict(required=False, type="str"), location=dict(required=False, type="raw"), role=dict(required=False, type="raw"), tenant=dict(required=False, type="raw"), From 9fe5c85afad6ce03ae043b5f5c8294d02489ac26 Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Fri, 2 Aug 2024 08:03:22 -0500 Subject: [PATCH 043/102] Fix. --- tests/integration/targets/latest/tasks/controller.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/integration/targets/latest/tasks/controller.yml b/tests/integration/targets/latest/tasks/controller.yml index 0aceacd6..c612f206 100644 --- a/tests/integration/targets/latest/tasks/controller.yml +++ b/tests/integration/targets/latest/tasks/controller.yml @@ -55,7 +55,7 @@ assert: that: - test_three['changed'] - - test_three['controller']['name'] == "Test Controller One" + - test_three['controller']['name'] == "Test Controller Two" - test_three['controller']['description'] == "Test Controller changed description" - test_three['msg'] == "controller Test Controller One updated" From f8e39b0b1136e7bc9e2b439a20675fb568e8e37d Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Fri, 2 Aug 2024 08:16:11 -0500 Subject: [PATCH 044/102] Update controller. --- tests/integration/targets/latest/tasks/controller.yml | 2 +- tests/integration/targets/latest/tasks/main.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/integration/targets/latest/tasks/controller.yml b/tests/integration/targets/latest/tasks/controller.yml index c612f206..8bdaf6f8 100644 --- a/tests/integration/targets/latest/tasks/controller.yml +++ b/tests/integration/targets/latest/tasks/controller.yml @@ -67,7 +67,7 @@ state: absent register: test_four - - name: "CONTROLLER 3: ASSERT - Delete" + - name: "CONTROLLER 4: ASSERT - Delete" assert: that: - test_four is changed diff --git a/tests/integration/targets/latest/tasks/main.yml b/tests/integration/targets/latest/tasks/main.yml index 2c511f2a..5d55e0ee 100644 --- a/tests/integration/targets/latest/tasks/main.yml +++ b/tests/integration/targets/latest/tasks/main.yml @@ -553,6 +553,6 @@ file: "controller.yml" apply: tags: - - team + - controller tags: - - team \ No newline at end of file + - controller \ No newline at end of file From b12024a3e3fa82224014d05f28fbae6f554caae5 Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Fri, 2 Aug 2024 13:01:08 -0500 Subject: [PATCH 045/102] Update. --- tests/integration/targets/latest/tasks/controller.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/integration/targets/latest/tasks/controller.yml b/tests/integration/targets/latest/tasks/controller.yml index 8bdaf6f8..b0da2057 100644 --- a/tests/integration/targets/latest/tasks/controller.yml +++ b/tests/integration/targets/latest/tasks/controller.yml @@ -57,7 +57,7 @@ - test_three['changed'] - test_three['controller']['name'] == "Test Controller Two" - test_three['controller']['description'] == "Test Controller changed description" - - test_three['msg'] == "controller Test Controller One updated" + - test_three['msg'] == "controller Test Controller Two updated" - name: "CONTROLLER 4: ASSERT - Delete" networktocode.nautobot.controller: From a8f7b90d9cb3de185db21eadfb9ced675e31bdaa Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Sun, 4 Aug 2024 20:14:00 -0500 Subject: [PATCH 046/102] Tests! --- .../targets/latest/tasks/controller.yml | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/tests/integration/targets/latest/tasks/controller.yml b/tests/integration/targets/latest/tasks/controller.yml index b0da2057..3267fb14 100644 --- a/tests/integration/targets/latest/tasks/controller.yml +++ b/tests/integration/targets/latest/tasks/controller.yml @@ -1,4 +1,7 @@ --- +- debug: + msg: "{{ nautobot_version }}" + - block: - set_fact: parent_location: "{{ lookup('networktocode.nautobot.lookup', 'locations', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=\"Parent Test Location\"') }}" @@ -44,26 +47,29 @@ networktocode.nautobot.controller: url: "{{ nautobot_url }}" token: "{{ nautobot_token }}" - name: Test Controller Two + name: Test Controller One description: "Test Controller changed description" location: "Parent Test Location" state: present status: "Active" register: test_three + - debug: + msg: "{{ test_three}}" + - name: "CONTROLLER 3: ASSERT - Update" assert: that: - test_three['changed'] - - test_three['controller']['name'] == "Test Controller Two" + - test_three['controller']['name'] == "Test Controller One" - test_three['controller']['description'] == "Test Controller changed description" - - test_three['msg'] == "controller Test Controller Two updated" + - test_three['msg'] == "controller Test Controller One updated" - name: "CONTROLLER 4: ASSERT - Delete" networktocode.nautobot.controller: url: "{{ nautobot_url }}" token: "{{ nautobot_token }}" - name: Test Controller Two + name: Test Controller One state: absent register: test_four @@ -96,7 +102,7 @@ token: "{{ nautobot_token }}" name: "test_controller_3" status: "Active" - location: "My Parent Location" + location: "Parent Test Location" # external_integration: "" role: "Test Controller Role" tenant: "Test Tenant" From ff65c3fbb6434ffc6ff3a74a92714fbd485a9589 Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Fri, 9 Aug 2024 08:02:46 -0500 Subject: [PATCH 047/102] Update tests/integration/nautobot-populate.py Co-authored-by: Joe Wesch <10467633+joewesch@users.noreply.github.com> --- tests/integration/nautobot-populate.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/integration/nautobot-populate.py b/tests/integration/nautobot-populate.py index acf21936..43e99441 100755 --- a/tests/integration/nautobot-populate.py +++ b/tests/integration/nautobot-populate.py @@ -102,7 +102,7 @@ def make_nautobot_calls(endpoint, payload): "circuits.circuittermination", ] -if nautobot_version > version.parse("2.2"): +if nautobot_version >= version.parse("2.2"): location_content_types.append("dcim.controller") location_types = [{"name": "My Parent Location Type", "content_types": location_content_types, "nestable": True}] From 95d07d5972a850bd39a8a4a496306fbe7cc0defa Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Fri, 9 Aug 2024 08:02:54 -0500 Subject: [PATCH 048/102] Update tests/integration/targets/latest/tasks/controller.yml Co-authored-by: Joe Wesch <10467633+joewesch@users.noreply.github.com> --- tests/integration/targets/latest/tasks/controller.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/integration/targets/latest/tasks/controller.yml b/tests/integration/targets/latest/tasks/controller.yml index 3267fb14..c38e65c1 100644 --- a/tests/integration/targets/latest/tasks/controller.yml +++ b/tests/integration/targets/latest/tasks/controller.yml @@ -110,5 +110,5 @@ tags: - First when: - # Contacts are only available on Nautobot 2.2+ + # Controllers are only available on Nautobot 2.2+ - "nautobot_version is version('2.2', '>=')" From be85ed56d4bed73a110d3d49e1bfbc7d660e8879 Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Fri, 9 Aug 2024 08:19:16 -0500 Subject: [PATCH 049/102] Updated test. --- tests/integration/targets/latest/tasks/controller.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tests/integration/targets/latest/tasks/controller.yml b/tests/integration/targets/latest/tasks/controller.yml index c38e65c1..062f0a60 100644 --- a/tests/integration/targets/latest/tasks/controller.yml +++ b/tests/integration/targets/latest/tasks/controller.yml @@ -109,6 +109,17 @@ controller_device_redundancy_group: "My Device Redundancy Group" tags: - First + register: test_six_controller + + - name: "CONTROLLER 7: ASSERT - As Much As Possible Info creation" + assert: + that: + - test_six_controller is changed + - test_six_controller['diff']['before']['state'] == "absent" + - test_six_controller['diff']['after']['state'] == "present" + - test_six_controller['controller']['name'] == "test_controller_3" + - test_six_controller['controller']['object_type'] == "dcim.controller" + - test_six_controller['msg'] == "controller test_controller_3 created" when: # Controllers are only available on Nautobot 2.2+ - "nautobot_version is version('2.2', '>=')" From ee5b73600d3ecaea147cd5e3946c706978bc3a34 Mon Sep 17 00:00:00 2001 From: Joe Wesch Date: Mon, 12 Aug 2024 14:23:41 -0500 Subject: [PATCH 050/102] Deduplicates tags and custom fields arg spec definitions --- plugins/module_utils/utils.py | 8 ++++++++ plugins/modules/circuit.py | 10 +++++++--- plugins/modules/cluster.py | 10 +++++++--- plugins/modules/console_port.py | 7 +++++-- plugins/modules/console_server_port.py | 7 +++++-- plugins/modules/contact.py | 10 +++++++--- plugins/modules/device.py | 10 +++++++--- plugins/modules/device_bay.py | 7 +++++-- plugins/modules/device_interface.py | 10 +++++++--- plugins/modules/device_redundancy_group.py | 10 +++++++--- plugins/modules/device_type.py | 10 +++++++--- plugins/modules/front_port.py | 7 +++++-- plugins/modules/inventory_item.py | 10 +++++++--- plugins/modules/ip_address.py | 10 +++++++--- plugins/modules/location.py | 10 +++++++--- plugins/modules/location_type.py | 7 +++++-- plugins/modules/namespace.py | 10 +++++++--- plugins/modules/power_feed.py | 10 +++++++--- plugins/modules/power_outlet.py | 7 +++++-- plugins/modules/power_port.py | 7 +++++-- plugins/modules/prefix.py | 10 +++++++--- plugins/modules/provider.py | 10 +++++++--- plugins/modules/rack.py | 10 +++++++--- plugins/modules/rear_port.py | 7 +++++-- plugins/modules/role.py | 7 +++++-- plugins/modules/route_target.py | 10 +++++++--- plugins/modules/service.py | 10 +++++++--- plugins/modules/tag.py | 7 +++++-- plugins/modules/team.py | 10 +++++++--- plugins/modules/tenant.py | 10 +++++++--- plugins/modules/virtual_chassis.py | 7 +++++-- plugins/modules/virtual_machine.py | 10 +++++++--- plugins/modules/vlan.py | 10 +++++++--- plugins/modules/vlan_group.py | 7 +++++-- plugins/modules/vm_interface.py | 10 +++++++--- plugins/modules/vrf.py | 10 +++++++--- 36 files changed, 229 insertions(+), 93 deletions(-) diff --git a/plugins/module_utils/utils.py b/plugins/module_utils/utils.py index 36700a60..be7d4269 100644 --- a/plugins/module_utils/utils.py +++ b/plugins/module_utils/utils.py @@ -432,6 +432,14 @@ api_version=dict(type="str", required=False), ) +TAGS_ARG_SPEC = dict( + tags=dict(required=False, type="list", elements="raw"), +) + +CUSTOM_FIELDS_ARG_SPEC = dict( + custom_fields=dict(required=False, type="dict"), +) + def is_truthy(arg): """ diff --git a/plugins/modules/circuit.py b/plugins/modules/circuit.py index e6dbdd6a..e1401ff5 100644 --- a/plugins/modules/circuit.py +++ b/plugins/modules/circuit.py @@ -134,7 +134,11 @@ type: str """ -from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import NAUTOBOT_ARG_SPEC +from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import ( + NAUTOBOT_ARG_SPEC, + TAGS_ARG_SPEC, + CUSTOM_FIELDS_ARG_SPEC, +) from ansible_collections.networktocode.nautobot.plugins.module_utils.circuits import ( NautobotCircuitsModule, NB_CIRCUITS, @@ -148,6 +152,8 @@ def main(): Main entry point for module execution """ argument_spec = deepcopy(NAUTOBOT_ARG_SPEC) + argument_spec.update(deepcopy(TAGS_ARG_SPEC)) + argument_spec.update(deepcopy(CUSTOM_FIELDS_ARG_SPEC)) argument_spec.update( dict( cid=dict(required=True, type="str"), @@ -159,8 +165,6 @@ def main(): commit_rate=dict(required=False, type="int"), description=dict(required=False, type="str"), comments=dict(required=False, type="str"), - tags=dict(required=False, type="list", elements="raw"), - custom_fields=dict(required=False, type="dict"), ) ) diff --git a/plugins/modules/cluster.py b/plugins/modules/cluster.py index afeec028..9fee1d42 100644 --- a/plugins/modules/cluster.py +++ b/plugins/modules/cluster.py @@ -118,7 +118,11 @@ type: str """ -from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import NAUTOBOT_ARG_SPEC +from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import ( + NAUTOBOT_ARG_SPEC, + TAGS_ARG_SPEC, + CUSTOM_FIELDS_ARG_SPEC, +) from ansible_collections.networktocode.nautobot.plugins.module_utils.virtualization import ( NautobotVirtualizationModule, NB_CLUSTERS, @@ -132,6 +136,8 @@ def main(): Main entry point for module execution """ argument_spec = deepcopy(NAUTOBOT_ARG_SPEC) + argument_spec.update(deepcopy(TAGS_ARG_SPEC)) + argument_spec.update(deepcopy(CUSTOM_FIELDS_ARG_SPEC)) argument_spec.update( dict( name=dict(required=True, type="str"), @@ -140,8 +146,6 @@ def main(): location=dict(required=False, type="raw"), tenant=dict(required=False, type="raw"), comments=dict(required=False, type="str"), - tags=dict(required=False, type="list", elements="raw"), - custom_fields=dict(required=False, type="dict"), ) ) diff --git a/plugins/modules/console_port.py b/plugins/modules/console_port.py index 672c7ed0..e5801508 100644 --- a/plugins/modules/console_port.py +++ b/plugins/modules/console_port.py @@ -95,7 +95,10 @@ type: str """ -from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import NAUTOBOT_ARG_SPEC +from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import ( + NAUTOBOT_ARG_SPEC, + TAGS_ARG_SPEC, +) from ansible_collections.networktocode.nautobot.plugins.module_utils.dcim import ( NautobotDcimModule, NB_CONSOLE_PORTS, @@ -109,13 +112,13 @@ def main(): Main entry point for module execution """ argument_spec = deepcopy(NAUTOBOT_ARG_SPEC) + argument_spec.update(deepcopy(TAGS_ARG_SPEC)) argument_spec.update( dict( device=dict(required=True, type="raw"), name=dict(required=True, type="str"), type=dict(required=False, type="str"), description=dict(required=False, type="str"), - tags=dict(required=False, type="list", elements="raw"), ) ) diff --git a/plugins/modules/console_server_port.py b/plugins/modules/console_server_port.py index 23b9805a..a884cf21 100644 --- a/plugins/modules/console_server_port.py +++ b/plugins/modules/console_server_port.py @@ -95,7 +95,10 @@ type: str """ -from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import NAUTOBOT_ARG_SPEC +from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import ( + NAUTOBOT_ARG_SPEC, + TAGS_ARG_SPEC, +) from ansible_collections.networktocode.nautobot.plugins.module_utils.dcim import ( NautobotDcimModule, NB_CONSOLE_SERVER_PORTS, @@ -109,13 +112,13 @@ def main(): Main entry point for module execution """ argument_spec = deepcopy(NAUTOBOT_ARG_SPEC) + argument_spec.update(deepcopy(TAGS_ARG_SPEC)) argument_spec.update( dict( device=dict(required=True, type="raw"), name=dict(required=True, type="str"), type=dict(required=False, type="str"), description=dict(required=False, type="str"), - tags=dict(required=False, type="list", elements="raw"), ) ) diff --git a/plugins/modules/contact.py b/plugins/modules/contact.py index 9dfe1450..b76bf21a 100644 --- a/plugins/modules/contact.py +++ b/plugins/modules/contact.py @@ -99,7 +99,11 @@ type: str """ -from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import NAUTOBOT_ARG_SPEC +from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import ( + NAUTOBOT_ARG_SPEC, + TAGS_ARG_SPEC, + CUSTOM_FIELDS_ARG_SPEC, +) from ansible_collections.networktocode.nautobot.plugins.module_utils.extras import ( NautobotExtrasModule, NB_CONTACT, @@ -113,6 +117,8 @@ def main(): Main entry point for module execution """ argument_spec = deepcopy(NAUTOBOT_ARG_SPEC) + argument_spec.update(deepcopy(TAGS_ARG_SPEC)) + argument_spec.update(deepcopy(CUSTOM_FIELDS_ARG_SPEC)) argument_spec.update( dict( name=dict(required=True, type="str"), @@ -121,8 +127,6 @@ def main(): address=dict(required=False, type="str"), teams=dict(required=False, type="list", elements="raw"), comments=dict(required=False, type="str"), - tags=dict(required=False, type="list", elements="raw"), - custom_fields=dict(required=False, type="dict"), ) ) diff --git a/plugins/modules/device.py b/plugins/modules/device.py index 243a60ba..3e39e105 100644 --- a/plugins/modules/device.py +++ b/plugins/modules/device.py @@ -243,7 +243,11 @@ type: str """ -from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import NAUTOBOT_ARG_SPEC +from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import ( + NAUTOBOT_ARG_SPEC, + TAGS_ARG_SPEC, + CUSTOM_FIELDS_ARG_SPEC, +) from ansible_collections.networktocode.nautobot.plugins.module_utils.dcim import ( NautobotDcimModule, NB_DEVICES, @@ -258,6 +262,8 @@ def main(): Main entry point for module execution """ argument_spec = deepcopy(NAUTOBOT_ARG_SPEC) + argument_spec.update(deepcopy(TAGS_ARG_SPEC)) + argument_spec.update(deepcopy(CUSTOM_FIELDS_ARG_SPEC)) argument_spec.update( dict( name=dict(required=True, type="str"), @@ -283,9 +289,7 @@ def main(): vc_position=dict(required=False, type="int"), vc_priority=dict(required=False, type="int"), comments=dict(required=False, type="str"), - tags=dict(required=False, type="list", elements="raw"), local_config_context_data=dict(required=False, type="dict"), - custom_fields=dict(required=False, type="dict"), device_redundancy_group=dict(required=False, type="raw"), device_redundancy_group_priority=dict(required=False, type="int"), ) diff --git a/plugins/modules/device_bay.py b/plugins/modules/device_bay.py index cd56a428..a9e1f35a 100644 --- a/plugins/modules/device_bay.py +++ b/plugins/modules/device_bay.py @@ -93,7 +93,10 @@ type: str """ -from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import NAUTOBOT_ARG_SPEC +from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import ( + NAUTOBOT_ARG_SPEC, + TAGS_ARG_SPEC, +) from ansible_collections.networktocode.nautobot.plugins.module_utils.dcim import ( NautobotDcimModule, NB_DEVICE_BAYS, @@ -107,13 +110,13 @@ def main(): Main entry point for module execution """ argument_spec = deepcopy(NAUTOBOT_ARG_SPEC) + argument_spec.update(deepcopy(TAGS_ARG_SPEC)) argument_spec.update( dict( device=dict(required=False, type="raw"), name=dict(required=True, type="str"), description=dict(required=False, type="str"), installed_device=dict(required=False, type="raw"), - tags=dict(required=False, type="list", elements="raw"), ) ) diff --git a/plugins/modules/device_interface.py b/plugins/modules/device_interface.py index 2d5c6e6e..17bc6227 100644 --- a/plugins/modules/device_interface.py +++ b/plugins/modules/device_interface.py @@ -248,7 +248,11 @@ type: str """ -from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import NAUTOBOT_ARG_SPEC +from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import ( + NAUTOBOT_ARG_SPEC, + TAGS_ARG_SPEC, + CUSTOM_FIELDS_ARG_SPEC, +) from ansible_collections.networktocode.nautobot.plugins.module_utils.dcim import ( NautobotDcimModule, NB_INTERFACES, @@ -262,6 +266,8 @@ def main(): Main entry point for module execution """ argument_spec = deepcopy(NAUTOBOT_ARG_SPEC) + argument_spec.update(deepcopy(TAGS_ARG_SPEC)) + argument_spec.update(deepcopy(CUSTOM_FIELDS_ARG_SPEC)) argument_spec.update( dict( update_vc_child=dict(type="bool", required=False, default=False), @@ -281,8 +287,6 @@ def main(): mode=dict(required=False, type="raw"), untagged_vlan=dict(required=False, type="raw"), tagged_vlans=dict(required=False, type="raw"), - tags=dict(required=False, type="list", elements="raw"), - custom_fields=dict(required=False, type="dict"), ) ) diff --git a/plugins/modules/device_redundancy_group.py b/plugins/modules/device_redundancy_group.py index 12ed6175..9e18ce53 100644 --- a/plugins/modules/device_redundancy_group.py +++ b/plugins/modules/device_redundancy_group.py @@ -114,7 +114,11 @@ type: str """ -from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import NAUTOBOT_ARG_SPEC +from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import ( + NAUTOBOT_ARG_SPEC, + TAGS_ARG_SPEC, + CUSTOM_FIELDS_ARG_SPEC, +) from ansible_collections.networktocode.nautobot.plugins.module_utils.dcim import ( NautobotDcimModule, NB_DEVICE_REDUNDANCY_GROUPS, @@ -128,6 +132,8 @@ def main(): Main entry point for module execution """ argument_spec = deepcopy(NAUTOBOT_ARG_SPEC) + argument_spec.update(deepcopy(TAGS_ARG_SPEC)) + argument_spec.update(deepcopy(CUSTOM_FIELDS_ARG_SPEC)) argument_spec.update( dict( name=dict(required=True, type="str"), @@ -139,8 +145,6 @@ def main(): choices=["active-active", "active-passive"], ), secrets_group=dict(required=False, type="raw"), - tags=dict(required=False, type="list", elements="raw"), - custom_fields=dict(required=False, type="dict"), ) ) diff --git a/plugins/modules/device_type.py b/plugins/modules/device_type.py index 88aa1727..e7da89e8 100644 --- a/plugins/modules/device_type.py +++ b/plugins/modules/device_type.py @@ -119,7 +119,11 @@ type: str """ -from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import NAUTOBOT_ARG_SPEC +from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import ( + NAUTOBOT_ARG_SPEC, + TAGS_ARG_SPEC, + CUSTOM_FIELDS_ARG_SPEC, +) from ansible_collections.networktocode.nautobot.plugins.module_utils.dcim import ( NautobotDcimModule, NB_DEVICE_TYPES, @@ -133,6 +137,8 @@ def main(): Main entry point for module execution """ argument_spec = deepcopy(NAUTOBOT_ARG_SPEC) + argument_spec.update(deepcopy(TAGS_ARG_SPEC)) + argument_spec.update(deepcopy(CUSTOM_FIELDS_ARG_SPEC)) argument_spec.update( dict( manufacturer=dict(required=False, type="raw"), @@ -146,8 +152,6 @@ def main(): type="str", ), comments=dict(required=False, type="str"), - tags=dict(required=False, type="list", elements="raw"), - custom_fields=dict(required=False, type="dict"), ) ) diff --git a/plugins/modules/front_port.py b/plugins/modules/front_port.py index 095f9327..b29d6198 100644 --- a/plugins/modules/front_port.py +++ b/plugins/modules/front_port.py @@ -113,7 +113,10 @@ type: str """ -from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import NAUTOBOT_ARG_SPEC +from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import ( + NAUTOBOT_ARG_SPEC, + TAGS_ARG_SPEC, +) from ansible_collections.networktocode.nautobot.plugins.module_utils.dcim import ( NautobotDcimModule, NB_FRONT_PORTS, @@ -127,6 +130,7 @@ def main(): Main entry point for module execution """ argument_spec = deepcopy(NAUTOBOT_ARG_SPEC) + argument_spec.update(deepcopy(TAGS_ARG_SPEC)) argument_spec.update( dict( device=dict(required=True, type="raw"), @@ -135,7 +139,6 @@ def main(): rear_port=dict(required=True, type="raw"), rear_port_position=dict(required=False, type="int"), description=dict(required=False, type="str"), - tags=dict(required=False, type="list", elements="raw"), ) ) diff --git a/plugins/modules/inventory_item.py b/plugins/modules/inventory_item.py index c8148adb..acb311a6 100644 --- a/plugins/modules/inventory_item.py +++ b/plugins/modules/inventory_item.py @@ -122,7 +122,11 @@ type: str """ -from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import NAUTOBOT_ARG_SPEC +from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import ( + NAUTOBOT_ARG_SPEC, + TAGS_ARG_SPEC, + CUSTOM_FIELDS_ARG_SPEC, +) from ansible_collections.networktocode.nautobot.plugins.module_utils.dcim import ( NautobotDcimModule, NB_INVENTORY_ITEMS, @@ -136,6 +140,8 @@ def main(): Main entry point for module execution """ argument_spec = deepcopy(NAUTOBOT_ARG_SPEC) + argument_spec.update(deepcopy(TAGS_ARG_SPEC)) + argument_spec.update(deepcopy(CUSTOM_FIELDS_ARG_SPEC)) argument_spec.update( dict( device=dict(required=True, type="raw"), @@ -146,8 +152,6 @@ def main(): asset_tag=dict(required=False, type="str"), description=dict(required=False, type="str"), discovered=dict(required=False, type="bool", default=False), - custom_fields=dict(required=False, type="dict"), - tags=dict(required=False, type="list", elements="raw"), ) ) diff --git a/plugins/modules/ip_address.py b/plugins/modules/ip_address.py index c188f078..070ad201 100644 --- a/plugins/modules/ip_address.py +++ b/plugins/modules/ip_address.py @@ -180,7 +180,11 @@ type: str """ -from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import NAUTOBOT_ARG_SPEC +from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import ( + NAUTOBOT_ARG_SPEC, + TAGS_ARG_SPEC, + CUSTOM_FIELDS_ARG_SPEC, +) from ansible_collections.networktocode.nautobot.plugins.module_utils.ipam import ( NautobotIpamModule, NB_IP_ADDRESSES, @@ -194,6 +198,8 @@ def main(): Main entry point for module execution """ argument_spec = deepcopy(NAUTOBOT_ARG_SPEC) + argument_spec.update(deepcopy(TAGS_ARG_SPEC)) + argument_spec.update(deepcopy(CUSTOM_FIELDS_ARG_SPEC)) # state choices present, absent, new argument_spec["state"] = dict(required=False, default="present", choices=["present", "absent", "new"]) argument_spec.update( @@ -212,8 +218,6 @@ def main(): nat_inside=dict(required=False, type="raw"), dns_name=dict(required=False, type="str"), namespace=dict(required=False, type="str", default="Global"), - tags=dict(required=False, type="list", elements="raw"), - custom_fields=dict(required=False, type="dict"), ) ) diff --git a/plugins/modules/location.py b/plugins/modules/location.py index 06085260..148c9ab5 100644 --- a/plugins/modules/location.py +++ b/plugins/modules/location.py @@ -197,7 +197,11 @@ type: str """ -from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import NAUTOBOT_ARG_SPEC +from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import ( + NAUTOBOT_ARG_SPEC, + TAGS_ARG_SPEC, + CUSTOM_FIELDS_ARG_SPEC, +) from ansible_collections.networktocode.nautobot.plugins.module_utils.dcim import ( NautobotDcimModule, NB_LOCATIONS, @@ -211,6 +215,8 @@ def main(): Main entry point for module execution """ argument_spec = deepcopy(NAUTOBOT_ARG_SPEC) + argument_spec.update(deepcopy(TAGS_ARG_SPEC)) + argument_spec.update(deepcopy(CUSTOM_FIELDS_ARG_SPEC)) argument_spec.update( dict( id=dict(required=False, type="str"), @@ -231,8 +237,6 @@ def main(): contact_phone=dict(required=False, type="str"), contact_email=dict(required=False, type="str"), comments=dict(required=False, type="str"), - tags=dict(required=False, type="list", elements="raw"), - custom_fields=dict(required=False, type="dict"), ) ) diff --git a/plugins/modules/location_type.py b/plugins/modules/location_type.py index 23570443..444d19a5 100644 --- a/plugins/modules/location_type.py +++ b/plugins/modules/location_type.py @@ -101,7 +101,10 @@ type: str """ -from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import NAUTOBOT_ARG_SPEC +from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import ( + NAUTOBOT_ARG_SPEC, + CUSTOM_FIELDS_ARG_SPEC, +) from ansible_collections.networktocode.nautobot.plugins.module_utils.dcim import ( NautobotDcimModule, NB_LOCATION_TYPES, @@ -115,6 +118,7 @@ def main(): Main entry point for module execution """ argument_spec = deepcopy(NAUTOBOT_ARG_SPEC) + argument_spec.update(deepcopy(CUSTOM_FIELDS_ARG_SPEC)) argument_spec.update( dict( name=dict(required=True, type="str"), @@ -122,7 +126,6 @@ def main(): parent_location_type=dict(required=False, type="raw", aliases=["parent"]), nestable=dict(required=False, type="bool"), content_types=dict(required=False, type="list", elements="str"), - custom_fields=dict(required=False, type="dict"), ) ) diff --git a/plugins/modules/namespace.py b/plugins/modules/namespace.py index 96a5ba38..544fe421 100644 --- a/plugins/modules/namespace.py +++ b/plugins/modules/namespace.py @@ -81,7 +81,11 @@ type: str """ -from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import NAUTOBOT_ARG_SPEC +from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import ( + NAUTOBOT_ARG_SPEC, + TAGS_ARG_SPEC, + CUSTOM_FIELDS_ARG_SPEC, +) from ansible_collections.networktocode.nautobot.plugins.module_utils.dcim import ( NautobotDcimModule, NB_NAMESPACES, @@ -95,13 +99,13 @@ def main(): Main entry point for module execution """ argument_spec = deepcopy(NAUTOBOT_ARG_SPEC) + argument_spec.update(deepcopy(TAGS_ARG_SPEC)) + argument_spec.update(deepcopy(CUSTOM_FIELDS_ARG_SPEC)) argument_spec.update( dict( name=dict(required=True, type="str"), description=dict(required=False, type="str"), location=dict(required=False, type="raw"), - tags=dict(required=False, type="list", elements="raw"), - custom_fields=dict(required=False, type="dict"), ) ) diff --git a/plugins/modules/power_feed.py b/plugins/modules/power_feed.py index 4be58a12..ee971a9c 100644 --- a/plugins/modules/power_feed.py +++ b/plugins/modules/power_feed.py @@ -155,7 +155,11 @@ type: str """ -from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import NAUTOBOT_ARG_SPEC +from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import ( + NAUTOBOT_ARG_SPEC, + TAGS_ARG_SPEC, + CUSTOM_FIELDS_ARG_SPEC, +) from ansible_collections.networktocode.nautobot.plugins.module_utils.dcim import ( NautobotDcimModule, NB_POWER_FEEDS, @@ -169,6 +173,8 @@ def main(): Main entry point for module execution """ argument_spec = deepcopy(NAUTOBOT_ARG_SPEC) + argument_spec.update(deepcopy(TAGS_ARG_SPEC)) + argument_spec.update(deepcopy(CUSTOM_FIELDS_ARG_SPEC)) argument_spec.update( dict( power_panel=dict(required=True, type="raw"), @@ -189,8 +195,6 @@ def main(): amperage=dict(required=False, type="int"), max_utilization=dict(required=False, type="int"), comments=dict(required=False, type="str"), - tags=dict(required=False, type="list", elements="raw"), - custom_fields=dict(required=False, type="dict"), ) ) diff --git a/plugins/modules/power_outlet.py b/plugins/modules/power_outlet.py index b476054d..986330da 100644 --- a/plugins/modules/power_outlet.py +++ b/plugins/modules/power_outlet.py @@ -113,7 +113,10 @@ type: str """ -from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import NAUTOBOT_ARG_SPEC +from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import ( + NAUTOBOT_ARG_SPEC, + TAGS_ARG_SPEC, +) from ansible_collections.networktocode.nautobot.plugins.module_utils.dcim import ( NautobotDcimModule, NB_POWER_OUTLETS, @@ -127,6 +130,7 @@ def main(): Main entry point for module execution """ argument_spec = deepcopy(NAUTOBOT_ARG_SPEC) + argument_spec.update(deepcopy(TAGS_ARG_SPEC)) argument_spec.update( dict( device=dict(required=True, type="raw"), @@ -135,7 +139,6 @@ def main(): power_port=dict(required=False, type="raw"), feed_leg=dict(required=False, choices=["A", "B", "C"], type="str"), description=dict(required=False, type="str"), - tags=dict(required=False, type="list", elements="raw"), ) ) diff --git a/plugins/modules/power_port.py b/plugins/modules/power_port.py index 78b9e80a..f7752598 100644 --- a/plugins/modules/power_port.py +++ b/plugins/modules/power_port.py @@ -109,7 +109,10 @@ type: str """ -from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import NAUTOBOT_ARG_SPEC +from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import ( + NAUTOBOT_ARG_SPEC, + TAGS_ARG_SPEC, +) from ansible_collections.networktocode.nautobot.plugins.module_utils.dcim import ( NautobotDcimModule, NB_POWER_PORTS, @@ -123,6 +126,7 @@ def main(): Main entry point for module execution """ argument_spec = deepcopy(NAUTOBOT_ARG_SPEC) + argument_spec.update(deepcopy(TAGS_ARG_SPEC)) argument_spec.update( dict( device=dict(required=True, type="raw"), @@ -131,7 +135,6 @@ def main(): allocated_draw=dict(required=False, type="int"), maximum_draw=dict(required=False, type="int"), description=dict(required=False, type="str"), - tags=dict(required=False, type="list", elements="raw"), ) ) diff --git a/plugins/modules/prefix.py b/plugins/modules/prefix.py index e49b1076..8e00664d 100644 --- a/plugins/modules/prefix.py +++ b/plugins/modules/prefix.py @@ -212,7 +212,11 @@ """ -from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import NAUTOBOT_ARG_SPEC +from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import ( + NAUTOBOT_ARG_SPEC, + TAGS_ARG_SPEC, + CUSTOM_FIELDS_ARG_SPEC, +) from ansible_collections.networktocode.nautobot.plugins.module_utils.ipam import ( NautobotIpamModule, NB_PREFIXES, @@ -226,6 +230,8 @@ def main(): Main entry point for module execution """ argument_spec = deepcopy(NAUTOBOT_ARG_SPEC) + argument_spec.update(deepcopy(TAGS_ARG_SPEC)) + argument_spec.update(deepcopy(CUSTOM_FIELDS_ARG_SPEC)) argument_spec.update( dict( ip_version=dict(required=False, type="int"), @@ -244,8 +250,6 @@ def main(): ), description=dict(required=False, type="str"), namespace=dict(required=False, type="str", default="Global"), - tags=dict(required=False, type="list", elements="raw"), - custom_fields=dict(required=False, type="dict"), first_available=dict(required=False, type="bool", default=False), ) ) diff --git a/plugins/modules/provider.py b/plugins/modules/provider.py index abc0e062..0b055bab 100644 --- a/plugins/modules/provider.py +++ b/plugins/modules/provider.py @@ -114,7 +114,11 @@ type: str """ -from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import NAUTOBOT_ARG_SPEC +from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import ( + NAUTOBOT_ARG_SPEC, + TAGS_ARG_SPEC, + CUSTOM_FIELDS_ARG_SPEC, +) from ansible_collections.networktocode.nautobot.plugins.module_utils.circuits import ( NautobotCircuitsModule, NB_PROVIDERS, @@ -128,6 +132,8 @@ def main(): Main entry point for module execution """ argument_spec = deepcopy(NAUTOBOT_ARG_SPEC) + argument_spec.update(deepcopy(TAGS_ARG_SPEC)) + argument_spec.update(deepcopy(CUSTOM_FIELDS_ARG_SPEC)) argument_spec.update( dict( name=dict(required=True, type="str"), @@ -137,8 +143,6 @@ def main(): noc_contact=dict(required=False, type="str"), admin_contact=dict(required=False, type="str"), comments=dict(required=False, type="str"), - tags=dict(required=False, type="list", elements="raw"), - custom_fields=dict(required=False, type="dict"), ), ) diff --git a/plugins/modules/rack.py b/plugins/modules/rack.py index 072ab1f2..d975c455 100644 --- a/plugins/modules/rack.py +++ b/plugins/modules/rack.py @@ -175,7 +175,11 @@ type: str """ -from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import NAUTOBOT_ARG_SPEC +from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import ( + NAUTOBOT_ARG_SPEC, + TAGS_ARG_SPEC, + CUSTOM_FIELDS_ARG_SPEC, +) from ansible_collections.networktocode.nautobot.plugins.module_utils.dcim import ( NautobotDcimModule, NB_RACKS, @@ -189,6 +193,8 @@ def main(): Main entry point for module execution """ argument_spec = deepcopy(NAUTOBOT_ARG_SPEC) + argument_spec.update(deepcopy(TAGS_ARG_SPEC)) + argument_spec.update(deepcopy(CUSTOM_FIELDS_ARG_SPEC)) argument_spec.update( dict( name=dict(required=True, type="str"), @@ -212,8 +218,6 @@ def main(): choices=["Millimeters", "Inches"], ), comments=dict(required=False, type="str"), - tags=dict(required=False, type="list", elements="raw"), - custom_fields=dict(required=False, type="dict"), ) ) diff --git a/plugins/modules/rear_port.py b/plugins/modules/rear_port.py index 72dd4000..ba44b8a5 100644 --- a/plugins/modules/rear_port.py +++ b/plugins/modules/rear_port.py @@ -104,7 +104,10 @@ type: str """ -from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import NAUTOBOT_ARG_SPEC +from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import ( + NAUTOBOT_ARG_SPEC, + TAGS_ARG_SPEC, +) from ansible_collections.networktocode.nautobot.plugins.module_utils.dcim import ( NautobotDcimModule, NB_REAR_PORTS, @@ -118,6 +121,7 @@ def main(): Main entry point for module execution """ argument_spec = deepcopy(NAUTOBOT_ARG_SPEC) + argument_spec.update(deepcopy(TAGS_ARG_SPEC)) argument_spec.update( dict( device=dict(required=True, type="raw"), @@ -125,7 +129,6 @@ def main(): type=dict(required=True, type="str"), positions=dict(required=False, type="int"), description=dict(required=False, type="str"), - tags=dict(required=False, type="list", elements="raw"), ) ) diff --git a/plugins/modules/role.py b/plugins/modules/role.py index d239f3d8..f096b073 100644 --- a/plugins/modules/role.py +++ b/plugins/modules/role.py @@ -89,7 +89,10 @@ returned: always type: str """ -from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import NAUTOBOT_ARG_SPEC +from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import ( + NAUTOBOT_ARG_SPEC, + CUSTOM_FIELDS_ARG_SPEC, +) from ansible_collections.networktocode.nautobot.plugins.module_utils.dcim import ( NautobotDcimModule, NB_ROLES, @@ -103,6 +106,7 @@ def main(): Main entry point for module execution """ argument_spec = deepcopy(NAUTOBOT_ARG_SPEC) + argument_spec.update(deepcopy(CUSTOM_FIELDS_ARG_SPEC)) argument_spec.update( dict( name=dict(required=True, type="str"), @@ -110,7 +114,6 @@ def main(): color=dict(required=False, type="str"), content_types=dict(required=False, type="list", elements="str"), weight=dict(required=False, type="int"), - custom_fields=dict(required=False, type="dict"), ) ) diff --git a/plugins/modules/route_target.py b/plugins/modules/route_target.py index 3052c3bb..7aaf978a 100644 --- a/plugins/modules/route_target.py +++ b/plugins/modules/route_target.py @@ -96,7 +96,11 @@ type: str """ -from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import NAUTOBOT_ARG_SPEC +from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import ( + NAUTOBOT_ARG_SPEC, + TAGS_ARG_SPEC, + CUSTOM_FIELDS_ARG_SPEC, +) from ansible_collections.networktocode.nautobot.plugins.module_utils.ipam import ( NautobotIpamModule, NB_ROUTE_TARGETS, @@ -110,13 +114,13 @@ def main(): Main entry point for module execution """ argument_spec = deepcopy(NAUTOBOT_ARG_SPEC) + argument_spec.update(deepcopy(TAGS_ARG_SPEC)) + argument_spec.update(deepcopy(CUSTOM_FIELDS_ARG_SPEC)) argument_spec.update( dict( name=dict(required=True, type="str"), tenant=dict(required=False, type="raw"), description=dict(required=False, type="str"), - tags=dict(required=False, type="list", elements="raw"), - custom_fields=dict(required=False, type="dict"), ) ) diff --git a/plugins/modules/service.py b/plugins/modules/service.py index 4a21904a..766be88a 100644 --- a/plugins/modules/service.py +++ b/plugins/modules/service.py @@ -108,7 +108,11 @@ state: absent """ -from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import NAUTOBOT_ARG_SPEC +from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import ( + NAUTOBOT_ARG_SPEC, + TAGS_ARG_SPEC, + CUSTOM_FIELDS_ARG_SPEC, +) from ansible_collections.networktocode.nautobot.plugins.module_utils.ipam import ( NautobotIpamModule, NB_SERVICES, @@ -122,6 +126,8 @@ def main(): Main entry point for module execution """ argument_spec = deepcopy(NAUTOBOT_ARG_SPEC) + argument_spec.update(deepcopy(TAGS_ARG_SPEC)) + argument_spec.update(deepcopy(CUSTOM_FIELDS_ARG_SPEC)) argument_spec.update( dict( device=dict(required=False, type="raw"), @@ -131,8 +137,6 @@ def main(): protocol=dict(required=True, type="raw"), ip_addresses=dict(required=False, type="raw"), description=dict(required=False, type="str"), - tags=dict(required=False, type="list", elements="raw"), - custom_fields=dict(required=False, type="dict"), ) ) required_one_of = [["device", "virtual_machine"]] diff --git a/plugins/modules/tag.py b/plugins/modules/tag.py index e4b6812d..9809a908 100644 --- a/plugins/modules/tag.py +++ b/plugins/modules/tag.py @@ -127,7 +127,10 @@ type: str """ -from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import NAUTOBOT_ARG_SPEC +from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import ( + NAUTOBOT_ARG_SPEC, + CUSTOM_FIELDS_ARG_SPEC, +) from ansible_collections.networktocode.nautobot.plugins.module_utils.extras import ( NautobotExtrasModule, NB_TAGS, @@ -141,13 +144,13 @@ def main(): Main entry point for module execution """ argument_spec = deepcopy(NAUTOBOT_ARG_SPEC) + argument_spec.update(deepcopy(CUSTOM_FIELDS_ARG_SPEC)) argument_spec.update( dict( name=dict(required=True, type="str"), color=dict(required=False, type="str"), description=dict(required=False, type="str"), content_types=dict(required=False, type="list", elements="str"), - custom_fields=dict(required=False, type="dict"), ) ) diff --git a/plugins/modules/team.py b/plugins/modules/team.py index fc886703..63167397 100644 --- a/plugins/modules/team.py +++ b/plugins/modules/team.py @@ -99,7 +99,11 @@ type: str """ -from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import NAUTOBOT_ARG_SPEC +from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import ( + NAUTOBOT_ARG_SPEC, + TAGS_ARG_SPEC, + CUSTOM_FIELDS_ARG_SPEC, +) from ansible_collections.networktocode.nautobot.plugins.module_utils.extras import ( NautobotExtrasModule, NB_TEAM, @@ -113,6 +117,8 @@ def main(): Main entry point for module execution """ argument_spec = deepcopy(NAUTOBOT_ARG_SPEC) + argument_spec.update(deepcopy(TAGS_ARG_SPEC)) + argument_spec.update(deepcopy(CUSTOM_FIELDS_ARG_SPEC)) argument_spec.update( dict( name=dict(required=True, type="str"), @@ -121,8 +127,6 @@ def main(): address=dict(required=False, type="str"), contacts=dict(required=False, type="list", elements="raw"), comments=dict(required=False, type="str"), - tags=dict(required=False, type="list", elements="raw"), - custom_fields=dict(required=False, type="dict"), ) ) diff --git a/plugins/modules/tenant.py b/plugins/modules/tenant.py index 611d4fe6..68717502 100644 --- a/plugins/modules/tenant.py +++ b/plugins/modules/tenant.py @@ -96,7 +96,11 @@ type: str """ -from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import NAUTOBOT_ARG_SPEC +from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import ( + NAUTOBOT_ARG_SPEC, + TAGS_ARG_SPEC, + CUSTOM_FIELDS_ARG_SPEC, +) from ansible_collections.networktocode.nautobot.plugins.module_utils.tenancy import ( NautobotTenancyModule, NB_TENANTS, @@ -110,14 +114,14 @@ def main(): Main entry point for module execution """ argument_spec = deepcopy(NAUTOBOT_ARG_SPEC) + argument_spec.update(deepcopy(TAGS_ARG_SPEC)) + argument_spec.update(deepcopy(CUSTOM_FIELDS_ARG_SPEC)) argument_spec.update( dict( name=dict(required=True, type="str"), tenant_group=dict(required=False, type="raw"), description=dict(required=False, type="str"), comments=dict(required=False, type="str"), - tags=dict(required=False, type="list", elements="raw"), - custom_fields=dict(required=False, type="dict"), ) ) diff --git a/plugins/modules/virtual_chassis.py b/plugins/modules/virtual_chassis.py index b11fb203..3f4f7a7b 100644 --- a/plugins/modules/virtual_chassis.py +++ b/plugins/modules/virtual_chassis.py @@ -86,7 +86,10 @@ type: str """ -from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import NAUTOBOT_ARG_SPEC +from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import ( + NAUTOBOT_ARG_SPEC, + TAGS_ARG_SPEC, +) from ansible_collections.networktocode.nautobot.plugins.module_utils.dcim import ( NautobotDcimModule, NB_VIRTUAL_CHASSIS, @@ -100,12 +103,12 @@ def main(): Main entry point for module execution """ argument_spec = deepcopy(NAUTOBOT_ARG_SPEC) + argument_spec.update(deepcopy(TAGS_ARG_SPEC)) argument_spec.update( dict( name=dict(required=True, type="str"), master=dict(required=False, type="raw"), domain=dict(required=False, type="str"), - tags=dict(required=False, type="list", elements="raw"), ) ) diff --git a/plugins/modules/virtual_machine.py b/plugins/modules/virtual_machine.py index 7717d717..3a3dbce5 100644 --- a/plugins/modules/virtual_machine.py +++ b/plugins/modules/virtual_machine.py @@ -161,7 +161,11 @@ type: str """ -from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import NAUTOBOT_ARG_SPEC +from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import ( + NAUTOBOT_ARG_SPEC, + TAGS_ARG_SPEC, + CUSTOM_FIELDS_ARG_SPEC, +) from ansible_collections.networktocode.nautobot.plugins.module_utils.virtualization import ( NautobotVirtualizationModule, NB_VIRTUAL_MACHINES, @@ -175,6 +179,8 @@ def main(): Main entry point for module execution """ argument_spec = deepcopy(NAUTOBOT_ARG_SPEC) + argument_spec.update(deepcopy(TAGS_ARG_SPEC)) + argument_spec.update(deepcopy(CUSTOM_FIELDS_ARG_SPEC)) argument_spec.update( dict( name=dict(required=True, type="str"), @@ -188,8 +194,6 @@ def main(): memory=dict(required=False, type="int"), disk=dict(required=False, type="int"), status=dict(required=False, type="raw"), - tags=dict(required=False, type="list", elements="raw"), - custom_fields=dict(required=False, type="dict"), local_config_context_data=dict(required=False, type="dict"), comments=dict(required=False, type="str"), ) diff --git a/plugins/modules/vlan.py b/plugins/modules/vlan.py index 8dbfdaad..799d6f5b 100644 --- a/plugins/modules/vlan.py +++ b/plugins/modules/vlan.py @@ -132,7 +132,11 @@ type: str """ -from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import NAUTOBOT_ARG_SPEC +from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import ( + NAUTOBOT_ARG_SPEC, + TAGS_ARG_SPEC, + CUSTOM_FIELDS_ARG_SPEC, +) from ansible_collections.networktocode.nautobot.plugins.module_utils.ipam import ( NautobotIpamModule, NB_VLANS, @@ -146,6 +150,8 @@ def main(): Main entry point for module execution """ argument_spec = deepcopy(NAUTOBOT_ARG_SPEC) + argument_spec.update(deepcopy(TAGS_ARG_SPEC)) + argument_spec.update(deepcopy(CUSTOM_FIELDS_ARG_SPEC)) argument_spec.update( dict( location=dict(required=False, type="raw"), @@ -156,8 +162,6 @@ def main(): status=dict(required=False, type="raw"), role=dict(required=False, type="raw"), description=dict(required=False, type="str"), - tags=dict(required=False, type="list", elements="raw"), - custom_fields=dict(required=False, type="dict"), ) ) diff --git a/plugins/modules/vlan_group.py b/plugins/modules/vlan_group.py index eeef61fb..ecb3415b 100644 --- a/plugins/modules/vlan_group.py +++ b/plugins/modules/vlan_group.py @@ -79,7 +79,10 @@ type: str """ -from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import NAUTOBOT_ARG_SPEC +from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import ( + NAUTOBOT_ARG_SPEC, + CUSTOM_FIELDS_ARG_SPEC, +) from ansible_collections.networktocode.nautobot.plugins.module_utils.ipam import ( NautobotIpamModule, NB_VLAN_GROUPS, @@ -93,12 +96,12 @@ def main(): Main entry point for module execution """ argument_spec = deepcopy(NAUTOBOT_ARG_SPEC) + argument_spec.update(deepcopy(CUSTOM_FIELDS_ARG_SPEC)) argument_spec.update( dict( name=dict(required=True, type="str"), location=dict(required=False, type="raw"), description=dict(required=False, type="str"), - custom_fields=dict(required=False, type="dict"), ) ) diff --git a/plugins/modules/vm_interface.py b/plugins/modules/vm_interface.py index 1c02c1a3..3b1dfc64 100644 --- a/plugins/modules/vm_interface.py +++ b/plugins/modules/vm_interface.py @@ -152,7 +152,11 @@ type: str """ -from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import NAUTOBOT_ARG_SPEC +from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import ( + NAUTOBOT_ARG_SPEC, + TAGS_ARG_SPEC, + CUSTOM_FIELDS_ARG_SPEC, +) from ansible_collections.networktocode.nautobot.plugins.module_utils.virtualization import ( NautobotVirtualizationModule, NB_VM_INTERFACES, @@ -166,6 +170,8 @@ def main(): Main entry point for module execution """ argument_spec = deepcopy(NAUTOBOT_ARG_SPEC) + argument_spec.update(deepcopy(TAGS_ARG_SPEC)) + argument_spec.update(deepcopy(CUSTOM_FIELDS_ARG_SPEC)) argument_spec.update( dict( virtual_machine=dict(required=True, type="raw"), @@ -178,8 +184,6 @@ def main(): mode=dict(required=False, type="raw"), untagged_vlan=dict(required=False, type="raw"), tagged_vlans=dict(required=False, type="raw"), - tags=dict(required=False, type="list", elements="raw"), - custom_fields=dict(required=False, type="dict"), ) ) diff --git a/plugins/modules/vrf.py b/plugins/modules/vrf.py index 0d61b497..09443b62 100644 --- a/plugins/modules/vrf.py +++ b/plugins/modules/vrf.py @@ -120,7 +120,11 @@ type: str """ -from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import NAUTOBOT_ARG_SPEC +from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import ( + NAUTOBOT_ARG_SPEC, + TAGS_ARG_SPEC, + CUSTOM_FIELDS_ARG_SPEC, +) from ansible_collections.networktocode.nautobot.plugins.module_utils.ipam import ( NautobotIpamModule, NB_VRFS, @@ -134,6 +138,8 @@ def main(): Main entry point for module execution """ argument_spec = deepcopy(NAUTOBOT_ARG_SPEC) + argument_spec.update(deepcopy(TAGS_ARG_SPEC)) + argument_spec.update(deepcopy(CUSTOM_FIELDS_ARG_SPEC)) argument_spec.update( dict( name=dict(required=True, type="str"), @@ -143,8 +149,6 @@ def main(): import_targets=dict(required=False, type="list", elements="str"), export_targets=dict(required=False, type="list", elements="str"), description=dict(required=False, type="str"), - tags=dict(required=False, type="list", elements="raw"), - custom_fields=dict(required=False, type="dict"), ) ) From 0c94d95f60325b3d358bfa5b33ebdd7dc5630c91 Mon Sep 17 00:00:00 2001 From: Joe Wesch Date: Mon, 12 Aug 2024 14:23:52 -0500 Subject: [PATCH 051/102] Updates new module documentation --- .../contributing/modules/new_module.rst | 67 ++++++++----------- 1 file changed, 28 insertions(+), 39 deletions(-) diff --git a/docs/getting_started/contributing/modules/new_module.rst b/docs/getting_started/contributing/modules/new_module.rst index 7e92e557..a51e3538 100644 --- a/docs/getting_started/contributing/modules/new_module.rst +++ b/docs/getting_started/contributing/modules/new_module.rst @@ -99,13 +99,13 @@ It is almost the same as the ``QUERY_TYPE``, but this is used to build the query Create the Module Python File ---------------------------------- -Copy an existing module file from ``plugins/modules`` and name it ``versa_route_target.py``. +Copy an existing module file from ``plugins/modules`` and name it ``route_target.py``. Now we need to update the ``DOCUMENTATION`` variable to match the module we're creating. .. note:: There are builtin options that you shouldn't have to change such as ``url``, ``token``, ``state``, - ``query_params``, and ``validate_certs``. + ``query_params``, and ``validate_certs``. These are added to the documentation automatically with the ``extends_documentation_fragment`` option. .. code-block:: python @@ -123,40 +123,26 @@ Now we need to update the ``DOCUMENTATION`` variable to match the module we're c requirements: - pynautobot version_added: "1.0.0" + extends_documentation_fragment: + - networktocode.nautobot.fragments.base + - networktocode.nautobot.fragments.tags + - networktocode.nautobot.fragments.custom_fields options: - ... - data: - type: dict + name: description: - - Defines the route target configuration - suboptions: - name: - description: - - Route target name - required: true - type: str - tenant: - description: - - The tenant that the route target will be assigned to - required: false - type: raw - description: - description: - - Tag description - required: false - type: str - tags: - description: - - Any tags that the device may need to be associated with - required: false - type: list - custom_fields: - description: - - must exist in Nautobot - required: false - type: dict + - Route target name required: true - ... + type: str + tenant: + description: + - The tenant that the route target will be assigned to + required: false + type: raw + description: + description: + - Tag description + required: false + type: str """ @@ -243,16 +229,18 @@ Now we import the necessary components from the collection that make up the meat .. code-block:: python from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import ( - NautobotAnsibleModule, NAUTOBOT_ARG_SPEC, + TAGS_ARG_SPEC, + CUSTOM_FIELDS_ARG_SPEC, ) from ansible_collections.networktocode.nautobot.plugins.module_utils.ipam import ( NautobotIpamModule, NB_ROUTE_TARGETS, ) + from ansible.module_utils.basic import AnsibleModule from copy import deepcopy -We import our custom ``NautobotAnsibleModule`` to properly validate our data and our base argument spec (``NAUTOBOT_ARG_SPEC``) that all modules should implement. +We import our base argument spec (``NAUTOBOT_ARG_SPEC``) that all modules should implement as well as the argument spec for tags and custom fields since this module will support those as well. .. code-block:: python @@ -262,6 +250,7 @@ We import our custom ``NautobotAnsibleModule`` to properly validate our data and state=dict(required=False, default="present", choices=["present", "absent"]), query_params=dict(required=False, type="list", elements="str"), validate_certs=dict(type="raw", default=True), + api_version=dict(type="str", required=False), ) Let's move onto the ``main()`` function in the module and take a look at the required argument spec. @@ -273,6 +262,8 @@ Let's move onto the ``main()`` function in the module and take a look at the req Main entry point for module execution """ argument_spec = deepcopy(NAUTOBOT_ARG_SPEC) + argument_spec.update(deepcopy(TAGS_ARG_SPEC)) + argument_spec.update(deepcopy(CUSTOM_FIELDS_ARG_SPEC)) argument_spec.update( dict( data=dict( @@ -282,8 +273,6 @@ Let's move onto the ``main()`` function in the module and take a look at the req name=dict(required=True, type="str"), tenant=dict(required=False, type="raw"), description=dict(required=False, type="str"), - tags=dict(required=False, type="list"), - custom_fields=dict(required=False, type="dict"), ), ), ) @@ -296,12 +285,12 @@ the sanity tests that will run when a PR is submitted to the project and both th def main(): ... - module = NautobotAnsibleModule(argument_spec=argument_spec, supports_check_mode=True) + module = AnsibleModule(argument_spec=argument_spec, supports_check_mode=True) route_target = NautobotIpamModule(module, NB_ROUTE_TARGETS) route_target.run() -We then initialize our custom ``NautobotAnsibleModule`` that will be passed into our custom ``NautobotIpamModule`` and then execute the ``run`` method. +We then initialize the standard ``AnsibleModule`` that will be passed into our custom ``NautobotIpamModule`` and then execute the ``run`` method. That is all that our module needs to implement at this point. We can test this locally by installing the collection locally and testing this within a playbook by following the directions :ref:`here`. Here is the output of the a playbook I created using the examples we documented with the only changes being the ``url`` and ``token``. From 69a8fb2301b881235ea151109207712a9c133ee2 Mon Sep 17 00:00:00 2001 From: Joe Wesch Date: Mon, 12 Aug 2024 20:18:39 -0500 Subject: [PATCH 052/102] Adds and enables Nautobot 2.3 tests --- .github/workflows/tests.yml | 3 +- .../{test_2.2-3.json => test_2.2-2.3.json} | 0 .../{test_2.2-3.yml => test_2.2-2.3.yml} | 0 ...json => test_2.2-2.3_options_flatten.json} | 0 ...n.yml => test_2.2-2.3_options_flatten.yml} | 0 ...plurals.json => test_2.2-2.3_plurals.json} | 0 ...3_plurals.yml => test_2.2-2.3_plurals.yml} | 0 .../targets/inventory/files/test_2.3-3.json | 2265 ++++++++++++++++ .../targets/inventory/files/test_2.3-3.yml | 27 + .../files/test_2.3-3_options_flatten.json | 2231 ++++++++++++++++ .../files/test_2.3-3_options_flatten.yml | 39 + .../inventory/files/test_2.3-3_plurals.json | 2348 +++++++++++++++++ .../inventory/files/test_2.3-3_plurals.yml | 36 + .../targets/latest/tasks/front_port.yml | 4 + .../latest/tasks/front_port_template.yml | 5 + .../targets/latest/tasks/ip_address.yml | 4 +- .../targets/latest/tasks/lookup.yml | 6 +- .../integration/targets/latest/tasks/main.yml | 19 +- 18 files changed, 6973 insertions(+), 14 deletions(-) rename tests/integration/targets/inventory/files/{test_2.2-3.json => test_2.2-2.3.json} (100%) rename tests/integration/targets/inventory/files/{test_2.2-3.yml => test_2.2-2.3.yml} (100%) rename tests/integration/targets/inventory/files/{test_2.2-3_options_flatten.json => test_2.2-2.3_options_flatten.json} (100%) rename tests/integration/targets/inventory/files/{test_2.2-3_options_flatten.yml => test_2.2-2.3_options_flatten.yml} (100%) rename tests/integration/targets/inventory/files/{test_2.2-3_plurals.json => test_2.2-2.3_plurals.json} (100%) rename tests/integration/targets/inventory/files/{test_2.2-3_plurals.yml => test_2.2-2.3_plurals.yml} (100%) create mode 100644 tests/integration/targets/inventory/files/test_2.3-3.json create mode 100644 tests/integration/targets/inventory/files/test_2.3-3.yml create mode 100644 tests/integration/targets/inventory/files/test_2.3-3_options_flatten.json create mode 100644 tests/integration/targets/inventory/files/test_2.3-3_options_flatten.yml create mode 100644 tests/integration/targets/inventory/files/test_2.3-3_plurals.json create mode 100644 tests/integration/targets/inventory/files/test_2.3-3_plurals.yml diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 29b979e9..14979d53 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -54,7 +54,7 @@ jobs: python-version: - "3.9" nautobot-version: - - "2.2" + - "2.3" ansible-version: - "2.14" - "2.15" @@ -78,6 +78,7 @@ jobs: - "2.0" - "2.1" - "2.2" + - "2.3" ansible-version: - "2.14" - "2.15" diff --git a/tests/integration/targets/inventory/files/test_2.2-3.json b/tests/integration/targets/inventory/files/test_2.2-2.3.json similarity index 100% rename from tests/integration/targets/inventory/files/test_2.2-3.json rename to tests/integration/targets/inventory/files/test_2.2-2.3.json diff --git a/tests/integration/targets/inventory/files/test_2.2-3.yml b/tests/integration/targets/inventory/files/test_2.2-2.3.yml similarity index 100% rename from tests/integration/targets/inventory/files/test_2.2-3.yml rename to tests/integration/targets/inventory/files/test_2.2-2.3.yml diff --git a/tests/integration/targets/inventory/files/test_2.2-3_options_flatten.json b/tests/integration/targets/inventory/files/test_2.2-2.3_options_flatten.json similarity index 100% rename from tests/integration/targets/inventory/files/test_2.2-3_options_flatten.json rename to tests/integration/targets/inventory/files/test_2.2-2.3_options_flatten.json diff --git a/tests/integration/targets/inventory/files/test_2.2-3_options_flatten.yml b/tests/integration/targets/inventory/files/test_2.2-2.3_options_flatten.yml similarity index 100% rename from tests/integration/targets/inventory/files/test_2.2-3_options_flatten.yml rename to tests/integration/targets/inventory/files/test_2.2-2.3_options_flatten.yml diff --git a/tests/integration/targets/inventory/files/test_2.2-3_plurals.json b/tests/integration/targets/inventory/files/test_2.2-2.3_plurals.json similarity index 100% rename from tests/integration/targets/inventory/files/test_2.2-3_plurals.json rename to tests/integration/targets/inventory/files/test_2.2-2.3_plurals.json diff --git a/tests/integration/targets/inventory/files/test_2.2-3_plurals.yml b/tests/integration/targets/inventory/files/test_2.2-2.3_plurals.yml similarity index 100% rename from tests/integration/targets/inventory/files/test_2.2-3_plurals.yml rename to tests/integration/targets/inventory/files/test_2.2-2.3_plurals.yml diff --git a/tests/integration/targets/inventory/files/test_2.3-3.json b/tests/integration/targets/inventory/files/test_2.3-3.json new file mode 100644 index 00000000..54b2c251 --- /dev/null +++ b/tests/integration/targets/inventory/files/test_2.3-3.json @@ -0,0 +1,2265 @@ +{ + "_meta": { + "hostvars": { + "R1-Device": { + "config_context": {}, + "custom_fields": {}, + "device_type": "Cisco Test", + "interfaces": [], + "is_virtual": false, + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "manufacturer": "Cisco", + "rack": "Main Test Rack", + "rack_groups": [ + "Parent Rack Group" + ], + "rack_role": "Test Rack Role", + "role": "Core Switch", + "services": [], + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tags": [] + }, + "Test Nexus One": { + "ansible_host": "172.16.180.11", + "config_context": {}, + "custom_fields": {}, + "device_type": "Nexus Parent", + "dns_name": "nexus.example.com", + "interfaces": [ + { + "bridge": null, + "cable": null, + "cable_peer": null, + "cable_peer_type": null, + "connected_endpoint": null, + "connected_endpoint_reachable": null, + "connected_endpoint_type": null, + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_managed_device_group": null, + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "object_type": "dcim.devicetype" + }, + "display": "Test Nexus One", + "face": null, + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "object_type": "dcim.location" + }, + "name": "Test Nexus One", + "natural_slug": "test-nexus-one__child-test-location_parent-test-location_6bf7", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": { + "object_type": "ipam.ipaddress" + }, + "primary_ip6": null, + "rack": null, + "role": { + "object_type": "extras.role" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vc_position": 0, + "vc_priority": null, + "virtual_chassis": { + "object_type": "dcim.virtualchassis" + } + }, + "display": "Ethernet1/1", + "enabled": true, + "ip_address_count": 1, + "ip_addresses": [ + { + "address": "172.16.180.11/24", + "custom_fields": {}, + "description": "", + "display": "172.16.180.11/24", + "dns_name": "nexus.example.com", + "host": "172.16.180.11", + "ip_version": 4, + "mask_length": 24, + "nat_inside": null, + "nat_outside_list": [], + "natural_slug": "global_172-16-180-11_1597", + "object_type": "ipam.ipaddress", + "parent": { + "broadcast": "172.31.255.255", + "custom_fields": {}, + "date_allocated": null, + "description": "", + "display": "172.16.0.0/12", + "ip_version": 4, + "namespace": { + "custom_fields": {}, + "description": "Default Global namespace. Created by Nautobot.", + "display": "Global", + "location": null, + "name": "Global", + "natural_slug": "global_0603", + "object_type": "ipam.namespace" + }, + "natural_slug": "global_172-16-0-0_12_418e", + "network": "172.16.0.0", + "object_type": "ipam.prefix", + "parent": null, + "prefix": "172.16.0.0/12", + "prefix_length": 12, + "rir": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tenant": null, + "type": { + "label": "Network", + "value": "network" + }, + "vlan": null + }, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tags": [], + "tenant": null, + "type": "host" + } + ], + "label": "", + "lag": null, + "mac_address": null, + "mgmt_only": false, + "mode": null, + "module": null, + "mtu": null, + "name": "Ethernet1/1", + "natural_slug": "test-nexus-one__child-test-location_parent-test-location___ethernet1-1_b2ec", + "object_type": "dcim.interface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "type": { + "label": "1000BASE-T (1GE)", + "value": "1000base-t" + }, + "untagged_vlan": null, + "vrf": null + }, + { + "bridge": null, + "cable": null, + "cable_peer": null, + "cable_peer_type": null, + "connected_endpoint": null, + "connected_endpoint_reachable": null, + "connected_endpoint_type": null, + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_managed_device_group": null, + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "object_type": "dcim.devicetype" + }, + "display": "Test Nexus Child One", + "face": null, + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "object_type": "dcim.location" + }, + "name": "Test Nexus Child One", + "natural_slug": "test-nexus-child-one__child-test-location_parent-test-location_8838", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "object_type": "extras.role" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vc_position": 2, + "vc_priority": null, + "virtual_chassis": { + "object_type": "dcim.virtualchassis" + } + }, + "display": "Ethernet2/1", + "enabled": true, + "ip_address_count": 1, + "ip_addresses": [ + { + "address": "172.16.180.12/24", + "custom_fields": {}, + "description": "", + "display": "172.16.180.12/24", + "dns_name": "nexus.example.com", + "host": "172.16.180.12", + "ip_version": 4, + "mask_length": 24, + "nat_inside": null, + "nat_outside_list": [], + "natural_slug": "global_172-16-180-12_1577", + "object_type": "ipam.ipaddress", + "parent": { + "broadcast": "172.31.255.255", + "custom_fields": {}, + "date_allocated": null, + "description": "", + "display": "172.16.0.0/12", + "ip_version": 4, + "namespace": { + "custom_fields": {}, + "description": "Default Global namespace. Created by Nautobot.", + "display": "Global", + "location": null, + "name": "Global", + "natural_slug": "global_0603", + "object_type": "ipam.namespace" + }, + "natural_slug": "global_172-16-0-0_12_418e", + "network": "172.16.0.0", + "object_type": "ipam.prefix", + "parent": null, + "prefix": "172.16.0.0/12", + "prefix_length": 12, + "rir": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tenant": null, + "type": { + "label": "Network", + "value": "network" + }, + "vlan": null + }, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tags": [], + "tenant": null, + "type": "host" + } + ], + "label": "", + "lag": null, + "mac_address": null, + "mgmt_only": false, + "mode": null, + "module": null, + "mtu": null, + "name": "Ethernet2/1", + "natural_slug": "test-nexus-child-one__child-test-location_parent-test-location___ethernet2-1_c397", + "object_type": "dcim.interface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "type": { + "label": "1000BASE-T (1GE)", + "value": "1000base-t" + }, + "untagged_vlan": null, + "vrf": null + } + ], + "is_virtual": false, + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "manufacturer": "Cisco", + "primary_ip4": "172.16.180.11", + "role": "Core Switch", + "services": [ + { + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_managed_device_group": null, + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "object_type": "dcim.devicetype" + }, + "display": "Test Nexus One", + "face": null, + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "object_type": "dcim.location" + }, + "name": "Test Nexus One", + "natural_slug": "test-nexus-one__child-test-location_parent-test-location_6bf7", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": { + "object_type": "ipam.ipaddress" + }, + "primary_ip6": null, + "rack": null, + "role": { + "object_type": "extras.role" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vc_position": 0, + "vc_priority": null, + "virtual_chassis": { + "object_type": "dcim.virtualchassis" + } + }, + "display": "telnet (TCP/23)", + "ip_addresses": [], + "name": "telnet", + "natural_slug": "telnet____test-nexus-one__child-test-location_parent-test-location_a54a", + "object_type": "ipam.service", + "ports": [ + 23 + ], + "protocol": { + "label": "TCP", + "value": "tcp" + }, + "tags": [], + "virtual_machine": null + } + ], + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tags": [] + }, + "Test VM With Spaces": { + "cluster": "Test Cluster 2", + "cluster_type": "Test Cluster Type", + "config_context": {}, + "custom_fields": {}, + "interfaces": [ + { + "bridge": null, + "custom_fields": {}, + "description": "", + "display": "Eth0", + "enabled": true, + "ip_addresses": [], + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth0", + "natural_slug": "test-cluster-2__test-vm-with-spaces_eth0_0577", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "virtual_machine": { + "cluster": { + "object_type": "virtualization.cluster" + }, + "comments": "", + "custom_fields": {}, + "disk": null, + "display": "Test VM With Spaces", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "Test VM With Spaces", + "natural_slug": "test-cluster-2__test-vm-with-spaces_6754", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "custom_fields": {}, + "description": "", + "display": "Eth1", + "enabled": true, + "ip_addresses": [], + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth1", + "natural_slug": "test-cluster-2__test-vm-with-spaces_eth1_8f04", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "virtual_machine": { + "cluster": { + "object_type": "virtualization.cluster" + }, + "comments": "", + "custom_fields": {}, + "disk": null, + "display": "Test VM With Spaces", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "Test VM With Spaces", + "natural_slug": "test-cluster-2__test-vm-with-spaces_6754", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vcpus": null + }, + "vrf": null + } + ], + "is_virtual": true, + "locations": [], + "services": [ + { + "custom_fields": {}, + "description": "", + "device": null, + "display": "ssh (TCP/22)", + "ip_addresses": [], + "name": "ssh", + "natural_slug": "ssh_test-cluster-2__test-vm-with-spaces_cbb3", + "object_type": "ipam.service", + "ports": [ + 22 + ], + "protocol": { + "label": "TCP", + "value": "tcp" + }, + "tags": [], + "virtual_machine": { + "cluster": { + "object_type": "virtualization.cluster" + }, + "comments": "", + "custom_fields": {}, + "disk": null, + "display": "Test VM With Spaces", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "Test VM With Spaces", + "natural_slug": "test-cluster-2__test-vm-with-spaces_6754", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vcpus": null + } + } + ], + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tags": [] + }, + "TestDeviceR1": { + "config_context": {}, + "custom_fields": {}, + "device_type": "Cisco Test", + "interfaces": [], + "is_virtual": false, + "location": "Child-Child Test Location", + "locations": [ + "Child-Child Test Location", + "Child Test Location", + "Parent Test Location" + ], + "manufacturer": "Cisco", + "rack": "Sub Test Rack", + "rack_groups": [ + "Child Rack Group", + "Parent Rack Group" + ], + "role": "Core Switch", + "services": [], + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tags": [] + }, + "test100": { + "config_context": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "custom_fields": {}, + "device_type": "Cisco Test", + "interfaces": [ + { + "bridge": null, + "cable": null, + "cable_peer": null, + "cable_peer_type": null, + "connected_endpoint": null, + "connected_endpoint_reachable": null, + "connected_endpoint_type": null, + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_managed_device_group": null, + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "object_type": "dcim.devicetype" + }, + "display": "test100", + "face": null, + "local_config_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "object_type": "dcim.location" + }, + "name": "test100", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_eb90", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "object_type": "extras.role" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": { + "object_type": "tenancy.tenant" + }, + "vc_position": null, + "vc_priority": null, + "virtual_chassis": null + }, + "display": "GigabitEthernet1", + "enabled": true, + "ip_address_count": 1, + "ip_addresses": [ + { + "address": "172.16.180.1/24", + "custom_fields": {}, + "description": "", + "display": "172.16.180.1/24", + "dns_name": "", + "host": "172.16.180.1", + "ip_version": 4, + "mask_length": 24, + "nat_inside": null, + "nat_outside_list": [], + "natural_slug": "global_172-16-180-1_6b3b", + "object_type": "ipam.ipaddress", + "parent": { + "broadcast": "172.31.255.255", + "custom_fields": {}, + "date_allocated": null, + "description": "", + "display": "172.16.0.0/12", + "ip_version": 4, + "namespace": { + "custom_fields": {}, + "description": "Default Global namespace. Created by Nautobot.", + "display": "Global", + "location": null, + "name": "Global", + "natural_slug": "global_0603", + "object_type": "ipam.namespace" + }, + "natural_slug": "global_172-16-0-0_12_418e", + "network": "172.16.0.0", + "object_type": "ipam.prefix", + "parent": null, + "prefix": "172.16.0.0/12", + "prefix_length": 12, + "rir": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tenant": null, + "type": { + "label": "Network", + "value": "network" + }, + "vlan": null + }, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tags": [], + "tenant": null, + "type": "host" + } + ], + "label": "", + "lag": null, + "mac_address": null, + "mgmt_only": false, + "mode": null, + "module": null, + "mtu": null, + "name": "GigabitEthernet1", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location___gigabitethernet1_a77d", + "object_type": "dcim.interface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "type": { + "label": "1000BASE-T (1GE)", + "value": "1000base-t" + }, + "untagged_vlan": null, + "vrf": null + }, + { + "bridge": null, + "cable": null, + "cable_peer": null, + "cable_peer_type": null, + "connected_endpoint": null, + "connected_endpoint_reachable": null, + "connected_endpoint_type": null, + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_managed_device_group": null, + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "object_type": "dcim.devicetype" + }, + "display": "test100", + "face": null, + "local_config_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "object_type": "dcim.location" + }, + "name": "test100", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_eb90", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "object_type": "extras.role" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": { + "object_type": "tenancy.tenant" + }, + "vc_position": null, + "vc_priority": null, + "virtual_chassis": null + }, + "display": "GigabitEthernet2", + "enabled": true, + "ip_address_count": 1, + "ip_addresses": [ + { + "address": "2001::1:1/64", + "custom_fields": {}, + "description": "", + "display": "2001::1:1/64", + "dns_name": "", + "host": "2001::1:1", + "ip_version": 6, + "mask_length": 64, + "nat_inside": null, + "nat_outside_list": [], + "natural_slug": "global_2001-1-1_80d9", + "object_type": "ipam.ipaddress", + "parent": { + "broadcast": "2001::ffff:ffff:ffff:ffff", + "custom_fields": {}, + "date_allocated": null, + "description": "", + "display": "2001::/64", + "ip_version": 6, + "namespace": { + "custom_fields": {}, + "description": "Default Global namespace. Created by Nautobot.", + "display": "Global", + "location": null, + "name": "Global", + "natural_slug": "global_0603", + "object_type": "ipam.namespace" + }, + "natural_slug": "global_2001_64_12de", + "network": "2001::", + "object_type": "ipam.prefix", + "parent": null, + "prefix": "2001::/64", + "prefix_length": 64, + "rir": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tenant": null, + "type": { + "label": "Network", + "value": "network" + }, + "vlan": null + }, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tags": [], + "tenant": null, + "type": "host" + } + ], + "label": "", + "lag": null, + "mac_address": null, + "mgmt_only": false, + "mode": null, + "module": null, + "mtu": null, + "name": "GigabitEthernet2", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location___gigabitethernet2_0787", + "object_type": "dcim.interface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "type": { + "label": "1000BASE-T (1GE)", + "value": "1000base-t" + }, + "untagged_vlan": null, + "vrf": null + }, + { + "bridge": null, + "cable": null, + "cable_peer": null, + "cable_peer_type": null, + "connected_endpoint": null, + "connected_endpoint_reachable": null, + "connected_endpoint_type": null, + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_managed_device_group": null, + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "object_type": "dcim.devicetype" + }, + "display": "test100", + "face": null, + "local_config_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "object_type": "dcim.location" + }, + "name": "test100", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_eb90", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "object_type": "extras.role" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": { + "object_type": "tenancy.tenant" + }, + "vc_position": null, + "vc_priority": null, + "virtual_chassis": null + }, + "display": "GigabitEthernet3", + "enabled": true, + "ip_address_count": 0, + "ip_addresses": [], + "label": "", + "lag": null, + "mac_address": null, + "mgmt_only": false, + "mode": null, + "module": null, + "mtu": null, + "name": "GigabitEthernet3", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location___gigabitethernet3_75d6", + "object_type": "dcim.interface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "type": { + "label": "1000BASE-T (1GE)", + "value": "1000base-t" + }, + "untagged_vlan": null, + "vrf": null + }, + { + "bridge": null, + "cable": null, + "cable_peer": null, + "cable_peer_type": null, + "connected_endpoint": null, + "connected_endpoint_reachable": null, + "connected_endpoint_type": null, + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_managed_device_group": null, + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "object_type": "dcim.devicetype" + }, + "display": "test100", + "face": null, + "local_config_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "object_type": "dcim.location" + }, + "name": "test100", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_eb90", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "object_type": "extras.role" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": { + "object_type": "tenancy.tenant" + }, + "vc_position": null, + "vc_priority": null, + "virtual_chassis": null + }, + "display": "GigabitEthernet4", + "enabled": true, + "ip_address_count": 0, + "ip_addresses": [], + "label": "", + "lag": null, + "mac_address": null, + "mgmt_only": false, + "mode": null, + "module": null, + "mtu": null, + "name": "GigabitEthernet4", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location___gigabitethernet4_9d66", + "object_type": "dcim.interface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "type": { + "label": "1000BASE-T (1GE)", + "value": "1000base-t" + }, + "untagged_vlan": null, + "vrf": null + } + ], + "is_virtual": false, + "local_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "manufacturer": "Cisco", + "role": "Core Switch", + "services": [ + { + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_managed_device_group": null, + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "object_type": "dcim.devicetype" + }, + "display": "test100", + "face": null, + "local_config_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "object_type": "dcim.location" + }, + "name": "test100", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_eb90", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "object_type": "extras.role" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": { + "object_type": "tenancy.tenant" + }, + "vc_position": null, + "vc_priority": null, + "virtual_chassis": null + }, + "display": "http (TCP/80)", + "ip_addresses": [ + { + "address": "172.16.180.1/24", + "custom_fields": {}, + "description": "", + "display": "172.16.180.1/24", + "dns_name": "", + "host": "172.16.180.1", + "interfaces": [ + { + "object_type": "dcim.interface" + } + ], + "ip_version": 4, + "mask_length": 24, + "nat_inside": null, + "nat_outside_list": [], + "natural_slug": "global_172-16-180-1_6b3b", + "object_type": "ipam.ipaddress", + "parent": { + "object_type": "ipam.prefix" + }, + "role": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "type": "host", + "vm_interfaces": [] + }, + { + "address": "2001::1:1/64", + "custom_fields": {}, + "description": "", + "display": "2001::1:1/64", + "dns_name": "", + "host": "2001::1:1", + "interfaces": [ + { + "object_type": "dcim.interface" + } + ], + "ip_version": 6, + "mask_length": 64, + "nat_inside": null, + "nat_outside_list": [], + "natural_slug": "global_2001-1-1_80d9", + "object_type": "ipam.ipaddress", + "parent": { + "object_type": "ipam.prefix" + }, + "role": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "type": "host", + "vm_interfaces": [] + } + ], + "name": "http", + "natural_slug": "http____test100_test-tenant_child-test-location_parent-test-location_19f8", + "object_type": "ipam.service", + "ports": [ + 80 + ], + "protocol": { + "label": "TCP", + "value": "tcp" + }, + "tags": [], + "virtual_machine": null + }, + { + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_managed_device_group": null, + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "object_type": "dcim.devicetype" + }, + "display": "test100", + "face": null, + "local_config_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "object_type": "dcim.location" + }, + "name": "test100", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_eb90", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "object_type": "extras.role" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": { + "object_type": "tenancy.tenant" + }, + "vc_position": null, + "vc_priority": null, + "virtual_chassis": null + }, + "display": "ssh (TCP/22)", + "ip_addresses": [], + "name": "ssh", + "natural_slug": "ssh____test100_test-tenant_child-test-location_parent-test-location_b2d4", + "object_type": "ipam.service", + "ports": [ + 22 + ], + "protocol": { + "label": "TCP", + "value": "tcp" + }, + "tags": [], + "virtual_machine": null + } + ], + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tags": [], + "tenant": "Test Tenant", + "tenant_group": "Test Tenant Group" + }, + "test100-vm": { + "cluster": "Test Cluster", + "cluster_group": "Test Cluster Group", + "cluster_type": "Test Cluster Type", + "config_context": {}, + "custom_fields": {}, + "interfaces": [ + { + "bridge": null, + "custom_fields": {}, + "description": "", + "display": "Eth0", + "enabled": true, + "ip_addresses": [], + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth0", + "natural_slug": "test-cluster__test100-vm_eth0_342d", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "virtual_machine": { + "cluster": { + "object_type": "virtualization.cluster" + }, + "comments": "", + "custom_fields": {}, + "disk": null, + "display": "test100-vm", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test100-vm", + "natural_slug": "test-cluster__test100-vm_3d00", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "custom_fields": {}, + "description": "", + "display": "Eth1", + "enabled": true, + "ip_addresses": [], + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth1", + "natural_slug": "test-cluster__test100-vm_eth1_ab21", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "virtual_machine": { + "cluster": { + "object_type": "virtualization.cluster" + }, + "comments": "", + "custom_fields": {}, + "disk": null, + "display": "test100-vm", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test100-vm", + "natural_slug": "test-cluster__test100-vm_3d00", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "custom_fields": {}, + "description": "", + "display": "Eth2", + "enabled": true, + "ip_addresses": [], + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth2", + "natural_slug": "test-cluster__test100-vm_eth2_2f31", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "virtual_machine": { + "cluster": { + "object_type": "virtualization.cluster" + }, + "comments": "", + "custom_fields": {}, + "disk": null, + "display": "test100-vm", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test100-vm", + "natural_slug": "test-cluster__test100-vm_3d00", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "custom_fields": {}, + "description": "", + "display": "Eth3", + "enabled": true, + "ip_addresses": [], + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth3", + "natural_slug": "test-cluster__test100-vm_eth3_8e1c", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "virtual_machine": { + "cluster": { + "object_type": "virtualization.cluster" + }, + "comments": "", + "custom_fields": {}, + "disk": null, + "display": "test100-vm", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test100-vm", + "natural_slug": "test-cluster__test100-vm_3d00", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "custom_fields": {}, + "description": "", + "display": "Eth4", + "enabled": true, + "ip_addresses": [], + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth4", + "natural_slug": "test-cluster__test100-vm_eth4_0d2c", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "virtual_machine": { + "cluster": { + "object_type": "virtualization.cluster" + }, + "comments": "", + "custom_fields": {}, + "disk": null, + "display": "test100-vm", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test100-vm", + "natural_slug": "test-cluster__test100-vm_3d00", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vcpus": null + }, + "vrf": null + } + ], + "is_virtual": true, + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "services": [], + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tags": [] + }, + "test101-vm": { + "cluster": "Test Cluster", + "cluster_group": "Test Cluster Group", + "cluster_type": "Test Cluster Type", + "config_context": {}, + "custom_fields": {}, + "interfaces": [ + { + "bridge": null, + "custom_fields": {}, + "description": "", + "display": "Eth0", + "enabled": true, + "ip_addresses": [], + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth0", + "natural_slug": "test-cluster__test101-vm_eth0_fd2c", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "virtual_machine": { + "cluster": { + "object_type": "virtualization.cluster" + }, + "comments": "", + "custom_fields": {}, + "disk": null, + "display": "test101-vm", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test101-vm", + "natural_slug": "test-cluster__test101-vm_80dc", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "custom_fields": {}, + "description": "", + "display": "Eth1", + "enabled": true, + "ip_addresses": [], + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth1", + "natural_slug": "test-cluster__test101-vm_eth1_d10e", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "virtual_machine": { + "cluster": { + "object_type": "virtualization.cluster" + }, + "comments": "", + "custom_fields": {}, + "disk": null, + "display": "test101-vm", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test101-vm", + "natural_slug": "test-cluster__test101-vm_80dc", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "custom_fields": {}, + "description": "", + "display": "Eth2", + "enabled": true, + "ip_addresses": [], + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth2", + "natural_slug": "test-cluster__test101-vm_eth2_7baf", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "virtual_machine": { + "cluster": { + "object_type": "virtualization.cluster" + }, + "comments": "", + "custom_fields": {}, + "disk": null, + "display": "test101-vm", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test101-vm", + "natural_slug": "test-cluster__test101-vm_80dc", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "custom_fields": {}, + "description": "", + "display": "Eth3", + "enabled": true, + "ip_addresses": [], + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth3", + "natural_slug": "test-cluster__test101-vm_eth3_4434", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "virtual_machine": { + "cluster": { + "object_type": "virtualization.cluster" + }, + "comments": "", + "custom_fields": {}, + "disk": null, + "display": "test101-vm", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test101-vm", + "natural_slug": "test-cluster__test101-vm_80dc", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "custom_fields": {}, + "description": "", + "display": "Eth4", + "enabled": true, + "ip_addresses": [], + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth4", + "natural_slug": "test-cluster__test101-vm_eth4_2978", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "virtual_machine": { + "cluster": { + "object_type": "virtualization.cluster" + }, + "comments": "", + "custom_fields": {}, + "disk": null, + "display": "test101-vm", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test101-vm", + "natural_slug": "test-cluster__test101-vm_80dc", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vcpus": null + }, + "vrf": null + } + ], + "is_virtual": true, + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "services": [], + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tags": [] + }, + "test102-vm": { + "cluster": "Test Cluster", + "cluster_group": "Test Cluster Group", + "cluster_type": "Test Cluster Type", + "config_context": {}, + "custom_fields": {}, + "interfaces": [], + "is_virtual": true, + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "services": [], + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tags": [] + }, + "test103-vm": { + "cluster": "Test Cluster", + "cluster_group": "Test Cluster Group", + "cluster_type": "Test Cluster Type", + "config_context": {}, + "custom_fields": {}, + "interfaces": [], + "is_virtual": true, + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "services": [], + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tags": [] + }, + "test104-vm": { + "cluster": "Test Cluster 2", + "cluster_type": "Test Cluster Type", + "config_context": {}, + "custom_fields": {}, + "interfaces": [], + "is_virtual": true, + "locations": [], + "services": [], + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tags": [] + } + } + }, + "all": { + "children": [ + "cluster_group_test_cluster_group", + "cluster_test_cluster", + "cluster_test_cluster_2", + "cluster_type_test_cluster_type", + "device_type_cisco_test", + "device_type_nexus_parent", + "is_virtual", + "location_child_child_test_location", + "location_child_test_location", + "location_parent_test_location", + "manufacturer_cisco", + "rack_group_child_rack_group", + "rack_group_parent_rack_group", + "rack_main_test_rack", + "rack_role_test_rack_role", + "rack_sub_test_rack", + "role_core_switch", + "service_http", + "service_ssh", + "service_telnet", + "status_active", + "tenant_test_tenant", + "ungrouped" + ] + }, + "cluster_group_test_cluster_group": { + "hosts": [ + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm" + ] + }, + "cluster_test_cluster": { + "hosts": [ + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm" + ] + }, + "cluster_test_cluster_2": { + "hosts": [ + "Test VM With Spaces", + "test104-vm" + ] + }, + "cluster_type_test_cluster_type": { + "hosts": [ + "Test VM With Spaces", + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm", + "test104-vm" + ] + }, + "device_type_cisco_test": { + "hosts": [ + "R1-Device", + "TestDeviceR1", + "test100" + ] + }, + "device_type_nexus_parent": { + "hosts": [ + "Test Nexus One" + ] + }, + "is_virtual": { + "hosts": [ + "Test VM With Spaces", + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm", + "test104-vm" + ] + }, + "location_child_child_test_location": { + "hosts": [ + "TestDeviceR1" + ] + }, + "location_child_test_location": { + "hosts": [ + "R1-Device", + "Test Nexus One", + "TestDeviceR1", + "test100", + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm" + ] + }, + "location_parent_test_location": { + "hosts": [ + "R1-Device", + "Test Nexus One", + "TestDeviceR1", + "test100", + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm" + ] + }, + "manufacturer_cisco": { + "hosts": [ + "R1-Device", + "Test Nexus One", + "TestDeviceR1", + "test100" + ] + }, + "rack_group_child_rack_group": { + "hosts": [ + "TestDeviceR1" + ] + }, + "rack_group_parent_rack_group": { + "hosts": [ + "R1-Device", + "TestDeviceR1" + ] + }, + "rack_main_test_rack": { + "hosts": [ + "R1-Device" + ] + }, + "rack_role_test_rack_role": { + "hosts": [ + "R1-Device" + ] + }, + "rack_sub_test_rack": { + "hosts": [ + "TestDeviceR1" + ] + }, + "role_core_switch": { + "hosts": [ + "R1-Device", + "Test Nexus One", + "TestDeviceR1", + "test100" + ] + }, + "service_http": { + "hosts": [ + "test100" + ] + }, + "service_ssh": { + "hosts": [ + "Test VM With Spaces", + "test100" + ] + }, + "service_telnet": { + "hosts": [ + "Test Nexus One" + ] + }, + "status_active": { + "hosts": [ + "R1-Device", + "Test Nexus One", + "Test VM With Spaces", + "TestDeviceR1", + "test100", + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm", + "test104-vm" + ] + }, + "tenant_test_tenant": { + "hosts": [ + "test100" + ] + } +} \ No newline at end of file diff --git a/tests/integration/targets/inventory/files/test_2.3-3.yml b/tests/integration/targets/inventory/files/test_2.3-3.yml new file mode 100644 index 00000000..9dbdf06d --- /dev/null +++ b/tests/integration/targets/inventory/files/test_2.3-3.yml @@ -0,0 +1,27 @@ +plugin: networktocode.nautobot.inventory +api_endpoint: "http://nautobot:8000" +token: "0123456789abcdef0123456789abcdef01234567" +validate_certs: False + +config_context: True +plurals: False +interfaces: True +services: True + +group_by: + - location + - tenant + - rack + - rack_group + - rack_role + - tag + - role + - device_type + - manufacturer + - platform + - cluster + - cluster_group + - cluster_type + - is_virtual + - services + - status diff --git a/tests/integration/targets/inventory/files/test_2.3-3_options_flatten.json b/tests/integration/targets/inventory/files/test_2.3-3_options_flatten.json new file mode 100644 index 00000000..dea1fb69 --- /dev/null +++ b/tests/integration/targets/inventory/files/test_2.3-3_options_flatten.json @@ -0,0 +1,2231 @@ +{ + "_meta": { + "hostvars": { + "R1-Device": { + "device_type": "Cisco Test", + "interfaces": [], + "is_virtual": false, + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "manufacturer": "Cisco", + "rack": "Main Test Rack", + "rack_groups": [ + "Parent Rack Group" + ], + "rack_role": "Test Rack Role", + "role": "Core Switch", + "services": [], + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tags": [] + }, + "Test Nexus One": { + "ansible_host": "172.16.180.11", + "device_type": "Nexus Parent", + "dns_name": "nexus.example.com", + "interfaces": [ + { + "bridge": null, + "cable": null, + "cable_peer": null, + "cable_peer_type": null, + "connected_endpoint": null, + "connected_endpoint_reachable": null, + "connected_endpoint_type": null, + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_managed_device_group": null, + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "object_type": "dcim.devicetype" + }, + "display": "Test Nexus One", + "face": null, + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "object_type": "dcim.location" + }, + "name": "Test Nexus One", + "natural_slug": "test-nexus-one__child-test-location_parent-test-location_6bf7", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": { + "object_type": "ipam.ipaddress" + }, + "primary_ip6": null, + "rack": null, + "role": { + "object_type": "extras.role" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vc_position": 0, + "vc_priority": null, + "virtual_chassis": { + "object_type": "dcim.virtualchassis" + } + }, + "display": "Ethernet1/1", + "enabled": true, + "ip_address_count": 1, + "ip_addresses": [ + { + "address": "172.16.180.11/24", + "custom_fields": {}, + "description": "", + "display": "172.16.180.11/24", + "dns_name": "nexus.example.com", + "host": "172.16.180.11", + "ip_version": 4, + "mask_length": 24, + "nat_inside": null, + "nat_outside_list": [], + "natural_slug": "global_172-16-180-11_1597", + "object_type": "ipam.ipaddress", + "parent": { + "broadcast": "172.31.255.255", + "custom_fields": {}, + "date_allocated": null, + "description": "", + "display": "172.16.0.0/12", + "ip_version": 4, + "namespace": { + "custom_fields": {}, + "description": "Default Global namespace. Created by Nautobot.", + "display": "Global", + "location": null, + "name": "Global", + "natural_slug": "global_0603", + "object_type": "ipam.namespace" + }, + "natural_slug": "global_172-16-0-0_12_418e", + "network": "172.16.0.0", + "object_type": "ipam.prefix", + "parent": null, + "prefix": "172.16.0.0/12", + "prefix_length": 12, + "rir": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tenant": null, + "type": { + "label": "Network", + "value": "network" + }, + "vlan": null + }, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tags": [], + "tenant": null, + "type": "host" + } + ], + "label": "", + "lag": null, + "mac_address": null, + "mgmt_only": false, + "mode": null, + "module": null, + "mtu": null, + "name": "Ethernet1/1", + "natural_slug": "test-nexus-one__child-test-location_parent-test-location___ethernet1-1_b2ec", + "object_type": "dcim.interface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "type": { + "label": "1000BASE-T (1GE)", + "value": "1000base-t" + }, + "untagged_vlan": null, + "vrf": null + }, + { + "bridge": null, + "cable": null, + "cable_peer": null, + "cable_peer_type": null, + "connected_endpoint": null, + "connected_endpoint_reachable": null, + "connected_endpoint_type": null, + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_managed_device_group": null, + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "object_type": "dcim.devicetype" + }, + "display": "Test Nexus Child One", + "face": null, + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "object_type": "dcim.location" + }, + "name": "Test Nexus Child One", + "natural_slug": "test-nexus-child-one__child-test-location_parent-test-location_8838", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "object_type": "extras.role" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vc_position": 2, + "vc_priority": null, + "virtual_chassis": { + "object_type": "dcim.virtualchassis" + } + }, + "display": "Ethernet2/1", + "enabled": true, + "ip_address_count": 1, + "ip_addresses": [ + { + "address": "172.16.180.12/24", + "custom_fields": {}, + "description": "", + "display": "172.16.180.12/24", + "dns_name": "nexus.example.com", + "host": "172.16.180.12", + "ip_version": 4, + "mask_length": 24, + "nat_inside": null, + "nat_outside_list": [], + "natural_slug": "global_172-16-180-12_1577", + "object_type": "ipam.ipaddress", + "parent": { + "broadcast": "172.31.255.255", + "custom_fields": {}, + "date_allocated": null, + "description": "", + "display": "172.16.0.0/12", + "ip_version": 4, + "namespace": { + "custom_fields": {}, + "description": "Default Global namespace. Created by Nautobot.", + "display": "Global", + "location": null, + "name": "Global", + "natural_slug": "global_0603", + "object_type": "ipam.namespace" + }, + "natural_slug": "global_172-16-0-0_12_418e", + "network": "172.16.0.0", + "object_type": "ipam.prefix", + "parent": null, + "prefix": "172.16.0.0/12", + "prefix_length": 12, + "rir": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tenant": null, + "type": { + "label": "Network", + "value": "network" + }, + "vlan": null + }, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tags": [], + "tenant": null, + "type": "host" + } + ], + "label": "", + "lag": null, + "mac_address": null, + "mgmt_only": false, + "mode": null, + "module": null, + "mtu": null, + "name": "Ethernet2/1", + "natural_slug": "test-nexus-child-one__child-test-location_parent-test-location___ethernet2-1_c397", + "object_type": "dcim.interface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "type": { + "label": "1000BASE-T (1GE)", + "value": "1000base-t" + }, + "untagged_vlan": null, + "vrf": null + } + ], + "is_virtual": false, + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "manufacturer": "Cisco", + "primary_ip4": "172.16.180.11", + "role": "Core Switch", + "services": [ + { + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_managed_device_group": null, + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "object_type": "dcim.devicetype" + }, + "display": "Test Nexus One", + "face": null, + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "object_type": "dcim.location" + }, + "name": "Test Nexus One", + "natural_slug": "test-nexus-one__child-test-location_parent-test-location_6bf7", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": { + "object_type": "ipam.ipaddress" + }, + "primary_ip6": null, + "rack": null, + "role": { + "object_type": "extras.role" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vc_position": 0, + "vc_priority": null, + "virtual_chassis": { + "object_type": "dcim.virtualchassis" + } + }, + "display": "telnet (TCP/23)", + "ip_addresses": [], + "name": "telnet", + "natural_slug": "telnet____test-nexus-one__child-test-location_parent-test-location_a54a", + "object_type": "ipam.service", + "ports": [ + 23 + ], + "protocol": { + "label": "TCP", + "value": "tcp" + }, + "tags": [], + "virtual_machine": null + } + ], + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tags": [] + }, + "Test VM With Spaces": { + "cluster": "Test Cluster 2", + "cluster_type": "Test Cluster Type", + "interfaces": [ + { + "bridge": null, + "custom_fields": {}, + "description": "", + "display": "Eth0", + "enabled": true, + "ip_addresses": [], + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth0", + "natural_slug": "test-cluster-2__test-vm-with-spaces_eth0_0577", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "virtual_machine": { + "cluster": { + "object_type": "virtualization.cluster" + }, + "comments": "", + "custom_fields": {}, + "disk": null, + "display": "Test VM With Spaces", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "Test VM With Spaces", + "natural_slug": "test-cluster-2__test-vm-with-spaces_6754", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "custom_fields": {}, + "description": "", + "display": "Eth1", + "enabled": true, + "ip_addresses": [], + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth1", + "natural_slug": "test-cluster-2__test-vm-with-spaces_eth1_8f04", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "virtual_machine": { + "cluster": { + "object_type": "virtualization.cluster" + }, + "comments": "", + "custom_fields": {}, + "disk": null, + "display": "Test VM With Spaces", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "Test VM With Spaces", + "natural_slug": "test-cluster-2__test-vm-with-spaces_6754", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vcpus": null + }, + "vrf": null + } + ], + "is_virtual": true, + "locations": [], + "services": [ + { + "custom_fields": {}, + "description": "", + "device": null, + "display": "ssh (TCP/22)", + "ip_addresses": [], + "name": "ssh", + "natural_slug": "ssh_test-cluster-2__test-vm-with-spaces_cbb3", + "object_type": "ipam.service", + "ports": [ + 22 + ], + "protocol": { + "label": "TCP", + "value": "tcp" + }, + "tags": [], + "virtual_machine": { + "cluster": { + "object_type": "virtualization.cluster" + }, + "comments": "", + "custom_fields": {}, + "disk": null, + "display": "Test VM With Spaces", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "Test VM With Spaces", + "natural_slug": "test-cluster-2__test-vm-with-spaces_6754", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vcpus": null + } + } + ], + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tags": [] + }, + "TestDeviceR1": { + "device_type": "Cisco Test", + "interfaces": [], + "is_virtual": false, + "location": "Child-Child Test Location", + "locations": [ + "Child-Child Test Location", + "Child Test Location", + "Parent Test Location" + ], + "manufacturer": "Cisco", + "rack": "Sub Test Rack", + "rack_groups": [ + "Child Rack Group", + "Parent Rack Group" + ], + "role": "Core Switch", + "services": [], + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tags": [] + }, + "test100": { + "device_type": "Cisco Test", + "interfaces": [ + { + "bridge": null, + "cable": null, + "cable_peer": null, + "cable_peer_type": null, + "connected_endpoint": null, + "connected_endpoint_reachable": null, + "connected_endpoint_type": null, + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_managed_device_group": null, + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "object_type": "dcim.devicetype" + }, + "display": "test100", + "face": null, + "local_config_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "object_type": "dcim.location" + }, + "name": "test100", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_eb90", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "object_type": "extras.role" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": { + "object_type": "tenancy.tenant" + }, + "vc_position": null, + "vc_priority": null, + "virtual_chassis": null + }, + "display": "GigabitEthernet1", + "enabled": true, + "ip_address_count": 1, + "ip_addresses": [ + { + "address": "172.16.180.1/24", + "custom_fields": {}, + "description": "", + "display": "172.16.180.1/24", + "dns_name": "", + "host": "172.16.180.1", + "ip_version": 4, + "mask_length": 24, + "nat_inside": null, + "nat_outside_list": [], + "natural_slug": "global_172-16-180-1_6b3b", + "object_type": "ipam.ipaddress", + "parent": { + "broadcast": "172.31.255.255", + "custom_fields": {}, + "date_allocated": null, + "description": "", + "display": "172.16.0.0/12", + "ip_version": 4, + "namespace": { + "custom_fields": {}, + "description": "Default Global namespace. Created by Nautobot.", + "display": "Global", + "location": null, + "name": "Global", + "natural_slug": "global_0603", + "object_type": "ipam.namespace" + }, + "natural_slug": "global_172-16-0-0_12_418e", + "network": "172.16.0.0", + "object_type": "ipam.prefix", + "parent": null, + "prefix": "172.16.0.0/12", + "prefix_length": 12, + "rir": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tenant": null, + "type": { + "label": "Network", + "value": "network" + }, + "vlan": null + }, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tags": [], + "tenant": null, + "type": "host" + } + ], + "label": "", + "lag": null, + "mac_address": null, + "mgmt_only": false, + "mode": null, + "module": null, + "mtu": null, + "name": "GigabitEthernet1", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location___gigabitethernet1_a77d", + "object_type": "dcim.interface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "type": { + "label": "1000BASE-T (1GE)", + "value": "1000base-t" + }, + "untagged_vlan": null, + "vrf": null + }, + { + "bridge": null, + "cable": null, + "cable_peer": null, + "cable_peer_type": null, + "connected_endpoint": null, + "connected_endpoint_reachable": null, + "connected_endpoint_type": null, + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_managed_device_group": null, + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "object_type": "dcim.devicetype" + }, + "display": "test100", + "face": null, + "local_config_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "object_type": "dcim.location" + }, + "name": "test100", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_eb90", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "object_type": "extras.role" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": { + "object_type": "tenancy.tenant" + }, + "vc_position": null, + "vc_priority": null, + "virtual_chassis": null + }, + "display": "GigabitEthernet2", + "enabled": true, + "ip_address_count": 1, + "ip_addresses": [ + { + "address": "2001::1:1/64", + "custom_fields": {}, + "description": "", + "display": "2001::1:1/64", + "dns_name": "", + "host": "2001::1:1", + "ip_version": 6, + "mask_length": 64, + "nat_inside": null, + "nat_outside_list": [], + "natural_slug": "global_2001-1-1_80d9", + "object_type": "ipam.ipaddress", + "parent": { + "broadcast": "2001::ffff:ffff:ffff:ffff", + "custom_fields": {}, + "date_allocated": null, + "description": "", + "display": "2001::/64", + "ip_version": 6, + "namespace": { + "custom_fields": {}, + "description": "Default Global namespace. Created by Nautobot.", + "display": "Global", + "location": null, + "name": "Global", + "natural_slug": "global_0603", + "object_type": "ipam.namespace" + }, + "natural_slug": "global_2001_64_12de", + "network": "2001::", + "object_type": "ipam.prefix", + "parent": null, + "prefix": "2001::/64", + "prefix_length": 64, + "rir": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tenant": null, + "type": { + "label": "Network", + "value": "network" + }, + "vlan": null + }, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tags": [], + "tenant": null, + "type": "host" + } + ], + "label": "", + "lag": null, + "mac_address": null, + "mgmt_only": false, + "mode": null, + "module": null, + "mtu": null, + "name": "GigabitEthernet2", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location___gigabitethernet2_0787", + "object_type": "dcim.interface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "type": { + "label": "1000BASE-T (1GE)", + "value": "1000base-t" + }, + "untagged_vlan": null, + "vrf": null + }, + { + "bridge": null, + "cable": null, + "cable_peer": null, + "cable_peer_type": null, + "connected_endpoint": null, + "connected_endpoint_reachable": null, + "connected_endpoint_type": null, + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_managed_device_group": null, + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "object_type": "dcim.devicetype" + }, + "display": "test100", + "face": null, + "local_config_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "object_type": "dcim.location" + }, + "name": "test100", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_eb90", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "object_type": "extras.role" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": { + "object_type": "tenancy.tenant" + }, + "vc_position": null, + "vc_priority": null, + "virtual_chassis": null + }, + "display": "GigabitEthernet3", + "enabled": true, + "ip_address_count": 0, + "ip_addresses": [], + "label": "", + "lag": null, + "mac_address": null, + "mgmt_only": false, + "mode": null, + "module": null, + "mtu": null, + "name": "GigabitEthernet3", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location___gigabitethernet3_75d6", + "object_type": "dcim.interface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "type": { + "label": "1000BASE-T (1GE)", + "value": "1000base-t" + }, + "untagged_vlan": null, + "vrf": null + }, + { + "bridge": null, + "cable": null, + "cable_peer": null, + "cable_peer_type": null, + "connected_endpoint": null, + "connected_endpoint_reachable": null, + "connected_endpoint_type": null, + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_managed_device_group": null, + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "object_type": "dcim.devicetype" + }, + "display": "test100", + "face": null, + "local_config_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "object_type": "dcim.location" + }, + "name": "test100", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_eb90", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "object_type": "extras.role" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": { + "object_type": "tenancy.tenant" + }, + "vc_position": null, + "vc_priority": null, + "virtual_chassis": null + }, + "display": "GigabitEthernet4", + "enabled": true, + "ip_address_count": 0, + "ip_addresses": [], + "label": "", + "lag": null, + "mac_address": null, + "mgmt_only": false, + "mode": null, + "module": null, + "mtu": null, + "name": "GigabitEthernet4", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location___gigabitethernet4_9d66", + "object_type": "dcim.interface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "type": { + "label": "1000BASE-T (1GE)", + "value": "1000base-t" + }, + "untagged_vlan": null, + "vrf": null + } + ], + "is_virtual": false, + "local_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "manufacturer": "Cisco", + "ntp_servers": [ + "pool.ntp.org" + ], + "role": "Core Switch", + "services": [ + { + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_managed_device_group": null, + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "object_type": "dcim.devicetype" + }, + "display": "test100", + "face": null, + "local_config_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "object_type": "dcim.location" + }, + "name": "test100", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_eb90", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "object_type": "extras.role" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": { + "object_type": "tenancy.tenant" + }, + "vc_position": null, + "vc_priority": null, + "virtual_chassis": null + }, + "display": "http (TCP/80)", + "ip_addresses": [ + { + "address": "172.16.180.1/24", + "custom_fields": {}, + "description": "", + "display": "172.16.180.1/24", + "dns_name": "", + "host": "172.16.180.1", + "interfaces": [ + { + "object_type": "dcim.interface" + } + ], + "ip_version": 4, + "mask_length": 24, + "nat_inside": null, + "nat_outside_list": [], + "natural_slug": "global_172-16-180-1_6b3b", + "object_type": "ipam.ipaddress", + "parent": { + "object_type": "ipam.prefix" + }, + "role": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "type": "host", + "vm_interfaces": [] + }, + { + "address": "2001::1:1/64", + "custom_fields": {}, + "description": "", + "display": "2001::1:1/64", + "dns_name": "", + "host": "2001::1:1", + "interfaces": [ + { + "object_type": "dcim.interface" + } + ], + "ip_version": 6, + "mask_length": 64, + "nat_inside": null, + "nat_outside_list": [], + "natural_slug": "global_2001-1-1_80d9", + "object_type": "ipam.ipaddress", + "parent": { + "object_type": "ipam.prefix" + }, + "role": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "type": "host", + "vm_interfaces": [] + } + ], + "name": "http", + "natural_slug": "http____test100_test-tenant_child-test-location_parent-test-location_19f8", + "object_type": "ipam.service", + "ports": [ + 80 + ], + "protocol": { + "label": "TCP", + "value": "tcp" + }, + "tags": [], + "virtual_machine": null + }, + { + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_managed_device_group": null, + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "object_type": "dcim.devicetype" + }, + "display": "test100", + "face": null, + "local_config_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "object_type": "dcim.location" + }, + "name": "test100", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_eb90", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "object_type": "extras.role" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": { + "object_type": "tenancy.tenant" + }, + "vc_position": null, + "vc_priority": null, + "virtual_chassis": null + }, + "display": "ssh (TCP/22)", + "ip_addresses": [], + "name": "ssh", + "natural_slug": "ssh____test100_test-tenant_child-test-location_parent-test-location_b2d4", + "object_type": "ipam.service", + "ports": [ + 22 + ], + "protocol": { + "label": "TCP", + "value": "tcp" + }, + "tags": [], + "virtual_machine": null + } + ], + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tags": [], + "tenant": "Test Tenant", + "tenant_group": "Test Tenant Group" + }, + "test100-vm": { + "cluster": "Test Cluster", + "cluster_group": "Test Cluster Group", + "cluster_type": "Test Cluster Type", + "interfaces": [ + { + "bridge": null, + "custom_fields": {}, + "description": "", + "display": "Eth0", + "enabled": true, + "ip_addresses": [], + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth0", + "natural_slug": "test-cluster__test100-vm_eth0_342d", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "virtual_machine": { + "cluster": { + "object_type": "virtualization.cluster" + }, + "comments": "", + "custom_fields": {}, + "disk": null, + "display": "test100-vm", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test100-vm", + "natural_slug": "test-cluster__test100-vm_3d00", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "custom_fields": {}, + "description": "", + "display": "Eth1", + "enabled": true, + "ip_addresses": [], + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth1", + "natural_slug": "test-cluster__test100-vm_eth1_ab21", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "virtual_machine": { + "cluster": { + "object_type": "virtualization.cluster" + }, + "comments": "", + "custom_fields": {}, + "disk": null, + "display": "test100-vm", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test100-vm", + "natural_slug": "test-cluster__test100-vm_3d00", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "custom_fields": {}, + "description": "", + "display": "Eth2", + "enabled": true, + "ip_addresses": [], + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth2", + "natural_slug": "test-cluster__test100-vm_eth2_2f31", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "virtual_machine": { + "cluster": { + "object_type": "virtualization.cluster" + }, + "comments": "", + "custom_fields": {}, + "disk": null, + "display": "test100-vm", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test100-vm", + "natural_slug": "test-cluster__test100-vm_3d00", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "custom_fields": {}, + "description": "", + "display": "Eth3", + "enabled": true, + "ip_addresses": [], + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth3", + "natural_slug": "test-cluster__test100-vm_eth3_8e1c", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "virtual_machine": { + "cluster": { + "object_type": "virtualization.cluster" + }, + "comments": "", + "custom_fields": {}, + "disk": null, + "display": "test100-vm", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test100-vm", + "natural_slug": "test-cluster__test100-vm_3d00", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "custom_fields": {}, + "description": "", + "display": "Eth4", + "enabled": true, + "ip_addresses": [], + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth4", + "natural_slug": "test-cluster__test100-vm_eth4_0d2c", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "virtual_machine": { + "cluster": { + "object_type": "virtualization.cluster" + }, + "comments": "", + "custom_fields": {}, + "disk": null, + "display": "test100-vm", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test100-vm", + "natural_slug": "test-cluster__test100-vm_3d00", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vcpus": null + }, + "vrf": null + } + ], + "is_virtual": true, + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "services": [], + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tags": [] + }, + "test101-vm": { + "cluster": "Test Cluster", + "cluster_group": "Test Cluster Group", + "cluster_type": "Test Cluster Type", + "interfaces": [ + { + "bridge": null, + "custom_fields": {}, + "description": "", + "display": "Eth0", + "enabled": true, + "ip_addresses": [], + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth0", + "natural_slug": "test-cluster__test101-vm_eth0_fd2c", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "virtual_machine": { + "cluster": { + "object_type": "virtualization.cluster" + }, + "comments": "", + "custom_fields": {}, + "disk": null, + "display": "test101-vm", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test101-vm", + "natural_slug": "test-cluster__test101-vm_80dc", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "custom_fields": {}, + "description": "", + "display": "Eth1", + "enabled": true, + "ip_addresses": [], + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth1", + "natural_slug": "test-cluster__test101-vm_eth1_d10e", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "virtual_machine": { + "cluster": { + "object_type": "virtualization.cluster" + }, + "comments": "", + "custom_fields": {}, + "disk": null, + "display": "test101-vm", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test101-vm", + "natural_slug": "test-cluster__test101-vm_80dc", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "custom_fields": {}, + "description": "", + "display": "Eth2", + "enabled": true, + "ip_addresses": [], + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth2", + "natural_slug": "test-cluster__test101-vm_eth2_7baf", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "virtual_machine": { + "cluster": { + "object_type": "virtualization.cluster" + }, + "comments": "", + "custom_fields": {}, + "disk": null, + "display": "test101-vm", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test101-vm", + "natural_slug": "test-cluster__test101-vm_80dc", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "custom_fields": {}, + "description": "", + "display": "Eth3", + "enabled": true, + "ip_addresses": [], + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth3", + "natural_slug": "test-cluster__test101-vm_eth3_4434", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "virtual_machine": { + "cluster": { + "object_type": "virtualization.cluster" + }, + "comments": "", + "custom_fields": {}, + "disk": null, + "display": "test101-vm", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test101-vm", + "natural_slug": "test-cluster__test101-vm_80dc", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "custom_fields": {}, + "description": "", + "display": "Eth4", + "enabled": true, + "ip_addresses": [], + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth4", + "natural_slug": "test-cluster__test101-vm_eth4_2978", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "virtual_machine": { + "cluster": { + "object_type": "virtualization.cluster" + }, + "comments": "", + "custom_fields": {}, + "disk": null, + "display": "test101-vm", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test101-vm", + "natural_slug": "test-cluster__test101-vm_80dc", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vcpus": null + }, + "vrf": null + } + ], + "is_virtual": true, + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "services": [], + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tags": [] + }, + "test102-vm": { + "cluster": "Test Cluster", + "cluster_group": "Test Cluster Group", + "cluster_type": "Test Cluster Type", + "interfaces": [], + "is_virtual": true, + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "services": [], + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tags": [] + }, + "test103-vm": { + "cluster": "Test Cluster", + "cluster_group": "Test Cluster Group", + "cluster_type": "Test Cluster Type", + "interfaces": [], + "is_virtual": true, + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "services": [], + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tags": [] + }, + "test104-vm": { + "cluster": "Test Cluster 2", + "cluster_type": "Test Cluster Type", + "interfaces": [], + "is_virtual": true, + "locations": [], + "services": [], + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tags": [] + } + } + }, + "active": { + "hosts": [ + "R1-Device", + "Test Nexus One", + "Test VM With Spaces", + "TestDeviceR1", + "test100", + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm", + "test104-vm" + ] + }, + "all": { + "children": [ + "active", + "child_child_test_location", + "child_rack_group", + "child_test_location", + "cisco", + "cisco_test", + "core_switch", + "is_virtual", + "main_test_rack", + "nexus_parent", + "parent_rack_group", + "parent_test_location", + "sub_test_rack", + "test_cluster", + "test_cluster_2", + "test_cluster_group", + "test_cluster_type", + "test_rack_role", + "test_tenant", + "test_tenant_group", + "ungrouped" + ] + }, + "child_child_test_location": { + "hosts": [ + "TestDeviceR1" + ] + }, + "child_rack_group": { + "hosts": [ + "TestDeviceR1" + ] + }, + "child_test_location": { + "hosts": [ + "R1-Device", + "Test Nexus One", + "TestDeviceR1", + "test100", + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm" + ] + }, + "cisco": { + "hosts": [ + "R1-Device", + "Test Nexus One", + "TestDeviceR1", + "test100" + ] + }, + "cisco_test": { + "hosts": [ + "R1-Device", + "TestDeviceR1", + "test100" + ] + }, + "core_switch": { + "hosts": [ + "R1-Device", + "Test Nexus One", + "TestDeviceR1", + "test100" + ] + }, + "is_virtual": { + "hosts": [ + "Test VM With Spaces", + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm", + "test104-vm" + ] + }, + "main_test_rack": { + "hosts": [ + "R1-Device" + ] + }, + "nexus_parent": { + "hosts": [ + "Test Nexus One" + ] + }, + "parent_rack_group": { + "hosts": [ + "R1-Device", + "TestDeviceR1" + ] + }, + "parent_test_location": { + "hosts": [ + "R1-Device", + "Test Nexus One", + "TestDeviceR1", + "test100", + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm" + ] + }, + "sub_test_rack": { + "hosts": [ + "TestDeviceR1" + ] + }, + "test_cluster": { + "hosts": [ + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm" + ] + }, + "test_cluster_2": { + "hosts": [ + "Test VM With Spaces", + "test104-vm" + ] + }, + "test_cluster_group": { + "hosts": [ + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm" + ] + }, + "test_cluster_type": { + "hosts": [ + "Test VM With Spaces", + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm", + "test104-vm" + ] + }, + "test_rack_role": { + "hosts": [ + "R1-Device" + ] + }, + "test_tenant": { + "hosts": [ + "test100" + ] + }, + "test_tenant_group": { + "hosts": [ + "test100" + ] + } +} \ No newline at end of file diff --git a/tests/integration/targets/inventory/files/test_2.3-3_options_flatten.yml b/tests/integration/targets/inventory/files/test_2.3-3_options_flatten.yml new file mode 100644 index 00000000..7f59c25e --- /dev/null +++ b/tests/integration/targets/inventory/files/test_2.3-3_options_flatten.yml @@ -0,0 +1,39 @@ +plugin: networktocode.nautobot.inventory +api_endpoint: "http://nautobot:8000" +token: "0123456789abcdef0123456789abcdef01234567" +validate_certs: False + +# Use cache on this test to make sure interfaces is tested via the cache +cache: True +cache_timeout: 3600 +cache_plugin: jsonfile +cache_connection: /tmp/inventory_nautobot + +config_context: True +flatten_config_context: True +flatten_custom_fields: True +flatten_local_context_data: True +plurals: False +interfaces: True +services: True +fetch_all: False +max_uri_length: 0 +group_names_raw: True + +group_by: + - location + - tenant + - tenant_group + - rack + - rack_group + - rack_role + - tag + - role + - device_type + - manufacturer + - platform + - cluster + - cluster_group + - cluster_type + - is_virtual + - status diff --git a/tests/integration/targets/inventory/files/test_2.3-3_plurals.json b/tests/integration/targets/inventory/files/test_2.3-3_plurals.json new file mode 100644 index 00000000..c5482aef --- /dev/null +++ b/tests/integration/targets/inventory/files/test_2.3-3_plurals.json @@ -0,0 +1,2348 @@ +{ + "_meta": { + "hostvars": { + "R1-Device": { + "config_context": [ + {} + ], + "custom_fields": {}, + "device_roles": [ + "Core Switch" + ], + "device_types": [ + "Cisco Test" + ], + "interfaces": [], + "is_virtual": false, + "local_context_data": [ + null + ], + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "manufacturers": [ + "Cisco" + ], + "rack_groups": [ + "Parent Rack Group" + ], + "rack_role": "Test Rack Role", + "racks": [ + "Main Test Rack" + ], + "services": [], + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tags": [] + }, + "Test Nexus One": { + "ansible_host": "172.16.180.11", + "config_context": [ + {} + ], + "custom_fields": {}, + "device_roles": [ + "Core Switch" + ], + "device_types": [ + "Nexus Parent" + ], + "dns_name": "nexus.example.com", + "interfaces": [ + { + "bridge": null, + "cable": null, + "cable_peer": null, + "cable_peer_type": null, + "connected_endpoint": null, + "connected_endpoint_reachable": null, + "connected_endpoint_type": null, + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_managed_device_group": null, + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "object_type": "dcim.devicetype" + }, + "display": "Test Nexus One", + "face": null, + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "object_type": "dcim.location" + }, + "name": "Test Nexus One", + "natural_slug": "test-nexus-one__child-test-location_parent-test-location_6bf7", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": { + "object_type": "ipam.ipaddress" + }, + "primary_ip6": null, + "rack": null, + "role": { + "object_type": "extras.role" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vc_position": 0, + "vc_priority": null, + "virtual_chassis": { + "object_type": "dcim.virtualchassis" + } + }, + "display": "Ethernet1/1", + "enabled": true, + "ip_address_count": 1, + "ip_addresses": [ + { + "address": "172.16.180.11/24", + "custom_fields": {}, + "description": "", + "display": "172.16.180.11/24", + "dns_name": "nexus.example.com", + "host": "172.16.180.11", + "ip_version": 4, + "mask_length": 24, + "nat_inside": null, + "nat_outside_list": [], + "natural_slug": "global_172-16-180-11_1597", + "object_type": "ipam.ipaddress", + "parent": { + "broadcast": "172.31.255.255", + "custom_fields": {}, + "date_allocated": null, + "description": "", + "display": "172.16.0.0/12", + "ip_version": 4, + "namespace": { + "custom_fields": {}, + "description": "Default Global namespace. Created by Nautobot.", + "display": "Global", + "location": null, + "name": "Global", + "natural_slug": "global_0603", + "object_type": "ipam.namespace" + }, + "natural_slug": "global_172-16-0-0_12_418e", + "network": "172.16.0.0", + "object_type": "ipam.prefix", + "parent": null, + "prefix": "172.16.0.0/12", + "prefix_length": 12, + "rir": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tenant": null, + "type": { + "label": "Network", + "value": "network" + }, + "vlan": null + }, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tags": [], + "tenant": null, + "type": "host" + } + ], + "label": "", + "lag": null, + "mac_address": null, + "mgmt_only": false, + "mode": null, + "module": null, + "mtu": null, + "name": "Ethernet1/1", + "natural_slug": "test-nexus-one__child-test-location_parent-test-location___ethernet1-1_b2ec", + "object_type": "dcim.interface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "type": { + "label": "1000BASE-T (1GE)", + "value": "1000base-t" + }, + "untagged_vlan": null, + "vrf": null + }, + { + "bridge": null, + "cable": null, + "cable_peer": null, + "cable_peer_type": null, + "connected_endpoint": null, + "connected_endpoint_reachable": null, + "connected_endpoint_type": null, + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_managed_device_group": null, + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "object_type": "dcim.devicetype" + }, + "display": "Test Nexus Child One", + "face": null, + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "object_type": "dcim.location" + }, + "name": "Test Nexus Child One", + "natural_slug": "test-nexus-child-one__child-test-location_parent-test-location_8838", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "object_type": "extras.role" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vc_position": 2, + "vc_priority": null, + "virtual_chassis": { + "object_type": "dcim.virtualchassis" + } + }, + "display": "Ethernet2/1", + "enabled": true, + "ip_address_count": 1, + "ip_addresses": [ + { + "address": "172.16.180.12/24", + "custom_fields": {}, + "description": "", + "display": "172.16.180.12/24", + "dns_name": "nexus.example.com", + "host": "172.16.180.12", + "ip_version": 4, + "mask_length": 24, + "nat_inside": null, + "nat_outside_list": [], + "natural_slug": "global_172-16-180-12_1577", + "object_type": "ipam.ipaddress", + "parent": { + "broadcast": "172.31.255.255", + "custom_fields": {}, + "date_allocated": null, + "description": "", + "display": "172.16.0.0/12", + "ip_version": 4, + "namespace": { + "custom_fields": {}, + "description": "Default Global namespace. Created by Nautobot.", + "display": "Global", + "location": null, + "name": "Global", + "natural_slug": "global_0603", + "object_type": "ipam.namespace" + }, + "natural_slug": "global_172-16-0-0_12_418e", + "network": "172.16.0.0", + "object_type": "ipam.prefix", + "parent": null, + "prefix": "172.16.0.0/12", + "prefix_length": 12, + "rir": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tenant": null, + "type": { + "label": "Network", + "value": "network" + }, + "vlan": null + }, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tags": [], + "tenant": null, + "type": "host" + } + ], + "label": "", + "lag": null, + "mac_address": null, + "mgmt_only": false, + "mode": null, + "module": null, + "mtu": null, + "name": "Ethernet2/1", + "natural_slug": "test-nexus-child-one__child-test-location_parent-test-location___ethernet2-1_c397", + "object_type": "dcim.interface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "type": { + "label": "1000BASE-T (1GE)", + "value": "1000base-t" + }, + "untagged_vlan": null, + "vrf": null + } + ], + "is_virtual": false, + "local_context_data": [ + null + ], + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "manufacturers": [ + "Cisco" + ], + "primary_ip4": "172.16.180.11", + "services": [ + { + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_managed_device_group": null, + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "object_type": "dcim.devicetype" + }, + "display": "Test Nexus One", + "face": null, + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "object_type": "dcim.location" + }, + "name": "Test Nexus One", + "natural_slug": "test-nexus-one__child-test-location_parent-test-location_6bf7", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": { + "object_type": "ipam.ipaddress" + }, + "primary_ip6": null, + "rack": null, + "role": { + "object_type": "extras.role" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vc_position": 0, + "vc_priority": null, + "virtual_chassis": { + "object_type": "dcim.virtualchassis" + } + }, + "display": "telnet (TCP/23)", + "ip_addresses": [], + "name": "telnet", + "natural_slug": "telnet____test-nexus-one__child-test-location_parent-test-location_a54a", + "object_type": "ipam.service", + "ports": [ + 23 + ], + "protocol": { + "label": "TCP", + "value": "tcp" + }, + "tags": [], + "virtual_machine": null + } + ], + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tags": [] + }, + "Test VM With Spaces": { + "cluster": "Test Cluster 2", + "cluster_type": "Test Cluster Type", + "config_context": [ + {} + ], + "custom_fields": {}, + "interfaces": [ + { + "bridge": null, + "custom_fields": {}, + "description": "", + "display": "Eth0", + "enabled": true, + "ip_addresses": [], + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth0", + "natural_slug": "test-cluster-2__test-vm-with-spaces_eth0_0577", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "virtual_machine": { + "cluster": { + "object_type": "virtualization.cluster" + }, + "comments": "", + "custom_fields": {}, + "disk": null, + "display": "Test VM With Spaces", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "Test VM With Spaces", + "natural_slug": "test-cluster-2__test-vm-with-spaces_6754", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "custom_fields": {}, + "description": "", + "display": "Eth1", + "enabled": true, + "ip_addresses": [], + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth1", + "natural_slug": "test-cluster-2__test-vm-with-spaces_eth1_8f04", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "virtual_machine": { + "cluster": { + "object_type": "virtualization.cluster" + }, + "comments": "", + "custom_fields": {}, + "disk": null, + "display": "Test VM With Spaces", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "Test VM With Spaces", + "natural_slug": "test-cluster-2__test-vm-with-spaces_6754", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vcpus": null + }, + "vrf": null + } + ], + "is_virtual": true, + "local_context_data": [ + null + ], + "locations": [], + "services": [ + { + "custom_fields": {}, + "description": "", + "device": null, + "display": "ssh (TCP/22)", + "ip_addresses": [], + "name": "ssh", + "natural_slug": "ssh_test-cluster-2__test-vm-with-spaces_cbb3", + "object_type": "ipam.service", + "ports": [ + 22 + ], + "protocol": { + "label": "TCP", + "value": "tcp" + }, + "tags": [], + "virtual_machine": { + "cluster": { + "object_type": "virtualization.cluster" + }, + "comments": "", + "custom_fields": {}, + "disk": null, + "display": "Test VM With Spaces", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "Test VM With Spaces", + "natural_slug": "test-cluster-2__test-vm-with-spaces_6754", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vcpus": null + } + } + ], + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tags": [] + }, + "TestDeviceR1": { + "config_context": [ + {} + ], + "custom_fields": {}, + "device_roles": [ + "Core Switch" + ], + "device_types": [ + "Cisco Test" + ], + "interfaces": [], + "is_virtual": false, + "local_context_data": [ + null + ], + "location": "Child-Child Test Location", + "locations": [ + "Child-Child Test Location", + "Child Test Location", + "Parent Test Location" + ], + "manufacturers": [ + "Cisco" + ], + "rack_groups": [ + "Child Rack Group", + "Parent Rack Group" + ], + "racks": [ + "Sub Test Rack" + ], + "services": [], + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tags": [] + }, + "test100": { + "config_context": [ + { + "ntp_servers": [ + "pool.ntp.org" + ] + } + ], + "custom_fields": {}, + "device_roles": [ + "Core Switch" + ], + "device_types": [ + "Cisco Test" + ], + "interfaces": [ + { + "bridge": null, + "cable": null, + "cable_peer": null, + "cable_peer_type": null, + "connected_endpoint": null, + "connected_endpoint_reachable": null, + "connected_endpoint_type": null, + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_managed_device_group": null, + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "object_type": "dcim.devicetype" + }, + "display": "test100", + "face": null, + "local_config_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "object_type": "dcim.location" + }, + "name": "test100", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_eb90", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "object_type": "extras.role" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": { + "object_type": "tenancy.tenant" + }, + "vc_position": null, + "vc_priority": null, + "virtual_chassis": null + }, + "display": "GigabitEthernet1", + "enabled": true, + "ip_address_count": 1, + "ip_addresses": [ + { + "address": "172.16.180.1/24", + "custom_fields": {}, + "description": "", + "display": "172.16.180.1/24", + "dns_name": "", + "host": "172.16.180.1", + "ip_version": 4, + "mask_length": 24, + "nat_inside": null, + "nat_outside_list": [], + "natural_slug": "global_172-16-180-1_6b3b", + "object_type": "ipam.ipaddress", + "parent": { + "broadcast": "172.31.255.255", + "custom_fields": {}, + "date_allocated": null, + "description": "", + "display": "172.16.0.0/12", + "ip_version": 4, + "namespace": { + "custom_fields": {}, + "description": "Default Global namespace. Created by Nautobot.", + "display": "Global", + "location": null, + "name": "Global", + "natural_slug": "global_0603", + "object_type": "ipam.namespace" + }, + "natural_slug": "global_172-16-0-0_12_418e", + "network": "172.16.0.0", + "object_type": "ipam.prefix", + "parent": null, + "prefix": "172.16.0.0/12", + "prefix_length": 12, + "rir": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tenant": null, + "type": { + "label": "Network", + "value": "network" + }, + "vlan": null + }, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tags": [], + "tenant": null, + "type": "host" + } + ], + "label": "", + "lag": null, + "mac_address": null, + "mgmt_only": false, + "mode": null, + "module": null, + "mtu": null, + "name": "GigabitEthernet1", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location___gigabitethernet1_a77d", + "object_type": "dcim.interface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "type": { + "label": "1000BASE-T (1GE)", + "value": "1000base-t" + }, + "untagged_vlan": null, + "vrf": null + }, + { + "bridge": null, + "cable": null, + "cable_peer": null, + "cable_peer_type": null, + "connected_endpoint": null, + "connected_endpoint_reachable": null, + "connected_endpoint_type": null, + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_managed_device_group": null, + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "object_type": "dcim.devicetype" + }, + "display": "test100", + "face": null, + "local_config_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "object_type": "dcim.location" + }, + "name": "test100", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_eb90", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "object_type": "extras.role" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": { + "object_type": "tenancy.tenant" + }, + "vc_position": null, + "vc_priority": null, + "virtual_chassis": null + }, + "display": "GigabitEthernet2", + "enabled": true, + "ip_address_count": 1, + "ip_addresses": [ + { + "address": "2001::1:1/64", + "custom_fields": {}, + "description": "", + "display": "2001::1:1/64", + "dns_name": "", + "host": "2001::1:1", + "ip_version": 6, + "mask_length": 64, + "nat_inside": null, + "nat_outside_list": [], + "natural_slug": "global_2001-1-1_80d9", + "object_type": "ipam.ipaddress", + "parent": { + "broadcast": "2001::ffff:ffff:ffff:ffff", + "custom_fields": {}, + "date_allocated": null, + "description": "", + "display": "2001::/64", + "ip_version": 6, + "namespace": { + "custom_fields": {}, + "description": "Default Global namespace. Created by Nautobot.", + "display": "Global", + "location": null, + "name": "Global", + "natural_slug": "global_0603", + "object_type": "ipam.namespace" + }, + "natural_slug": "global_2001_64_12de", + "network": "2001::", + "object_type": "ipam.prefix", + "parent": null, + "prefix": "2001::/64", + "prefix_length": 64, + "rir": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tenant": null, + "type": { + "label": "Network", + "value": "network" + }, + "vlan": null + }, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tags": [], + "tenant": null, + "type": "host" + } + ], + "label": "", + "lag": null, + "mac_address": null, + "mgmt_only": false, + "mode": null, + "module": null, + "mtu": null, + "name": "GigabitEthernet2", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location___gigabitethernet2_0787", + "object_type": "dcim.interface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "type": { + "label": "1000BASE-T (1GE)", + "value": "1000base-t" + }, + "untagged_vlan": null, + "vrf": null + }, + { + "bridge": null, + "cable": null, + "cable_peer": null, + "cable_peer_type": null, + "connected_endpoint": null, + "connected_endpoint_reachable": null, + "connected_endpoint_type": null, + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_managed_device_group": null, + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "object_type": "dcim.devicetype" + }, + "display": "test100", + "face": null, + "local_config_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "object_type": "dcim.location" + }, + "name": "test100", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_eb90", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "object_type": "extras.role" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": { + "object_type": "tenancy.tenant" + }, + "vc_position": null, + "vc_priority": null, + "virtual_chassis": null + }, + "display": "GigabitEthernet3", + "enabled": true, + "ip_address_count": 0, + "ip_addresses": [], + "label": "", + "lag": null, + "mac_address": null, + "mgmt_only": false, + "mode": null, + "module": null, + "mtu": null, + "name": "GigabitEthernet3", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location___gigabitethernet3_75d6", + "object_type": "dcim.interface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "type": { + "label": "1000BASE-T (1GE)", + "value": "1000base-t" + }, + "untagged_vlan": null, + "vrf": null + }, + { + "bridge": null, + "cable": null, + "cable_peer": null, + "cable_peer_type": null, + "connected_endpoint": null, + "connected_endpoint_reachable": null, + "connected_endpoint_type": null, + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_managed_device_group": null, + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "object_type": "dcim.devicetype" + }, + "display": "test100", + "face": null, + "local_config_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "object_type": "dcim.location" + }, + "name": "test100", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_eb90", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "object_type": "extras.role" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": { + "object_type": "tenancy.tenant" + }, + "vc_position": null, + "vc_priority": null, + "virtual_chassis": null + }, + "display": "GigabitEthernet4", + "enabled": true, + "ip_address_count": 0, + "ip_addresses": [], + "label": "", + "lag": null, + "mac_address": null, + "mgmt_only": false, + "mode": null, + "module": null, + "mtu": null, + "name": "GigabitEthernet4", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location___gigabitethernet4_9d66", + "object_type": "dcim.interface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "type": { + "label": "1000BASE-T (1GE)", + "value": "1000base-t" + }, + "untagged_vlan": null, + "vrf": null + } + ], + "is_virtual": false, + "local_context_data": [ + { + "ntp_servers": [ + "pool.ntp.org" + ] + } + ], + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "manufacturers": [ + "Cisco" + ], + "services": [ + { + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_managed_device_group": null, + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "object_type": "dcim.devicetype" + }, + "display": "test100", + "face": null, + "local_config_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "object_type": "dcim.location" + }, + "name": "test100", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_eb90", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "object_type": "extras.role" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": { + "object_type": "tenancy.tenant" + }, + "vc_position": null, + "vc_priority": null, + "virtual_chassis": null + }, + "display": "http (TCP/80)", + "ip_addresses": [ + { + "address": "172.16.180.1/24", + "custom_fields": {}, + "description": "", + "display": "172.16.180.1/24", + "dns_name": "", + "host": "172.16.180.1", + "interfaces": [ + { + "object_type": "dcim.interface" + } + ], + "ip_version": 4, + "mask_length": 24, + "nat_inside": null, + "nat_outside_list": [], + "natural_slug": "global_172-16-180-1_6b3b", + "object_type": "ipam.ipaddress", + "parent": { + "object_type": "ipam.prefix" + }, + "role": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "type": "host", + "vm_interfaces": [] + }, + { + "address": "2001::1:1/64", + "custom_fields": {}, + "description": "", + "display": "2001::1:1/64", + "dns_name": "", + "host": "2001::1:1", + "interfaces": [ + { + "object_type": "dcim.interface" + } + ], + "ip_version": 6, + "mask_length": 64, + "nat_inside": null, + "nat_outside_list": [], + "natural_slug": "global_2001-1-1_80d9", + "object_type": "ipam.ipaddress", + "parent": { + "object_type": "ipam.prefix" + }, + "role": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "type": "host", + "vm_interfaces": [] + } + ], + "name": "http", + "natural_slug": "http____test100_test-tenant_child-test-location_parent-test-location_19f8", + "object_type": "ipam.service", + "ports": [ + 80 + ], + "protocol": { + "label": "TCP", + "value": "tcp" + }, + "tags": [], + "virtual_machine": null + }, + { + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_managed_device_group": null, + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "object_type": "dcim.devicetype" + }, + "display": "test100", + "face": null, + "local_config_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "object_type": "dcim.location" + }, + "name": "test100", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_eb90", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "object_type": "extras.role" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": { + "object_type": "tenancy.tenant" + }, + "vc_position": null, + "vc_priority": null, + "virtual_chassis": null + }, + "display": "ssh (TCP/22)", + "ip_addresses": [], + "name": "ssh", + "natural_slug": "ssh____test100_test-tenant_child-test-location_parent-test-location_b2d4", + "object_type": "ipam.service", + "ports": [ + 22 + ], + "protocol": { + "label": "TCP", + "value": "tcp" + }, + "tags": [], + "virtual_machine": null + } + ], + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tags": [], + "tenant_group": "Test Tenant Group", + "tenants": [ + "Test Tenant" + ] + }, + "test100-vm": { + "cluster": "Test Cluster", + "cluster_group": "Test Cluster Group", + "cluster_type": "Test Cluster Type", + "config_context": [ + {} + ], + "custom_fields": {}, + "interfaces": [ + { + "bridge": null, + "custom_fields": {}, + "description": "", + "display": "Eth0", + "enabled": true, + "ip_addresses": [], + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth0", + "natural_slug": "test-cluster__test100-vm_eth0_342d", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "virtual_machine": { + "cluster": { + "object_type": "virtualization.cluster" + }, + "comments": "", + "custom_fields": {}, + "disk": null, + "display": "test100-vm", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test100-vm", + "natural_slug": "test-cluster__test100-vm_3d00", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "custom_fields": {}, + "description": "", + "display": "Eth1", + "enabled": true, + "ip_addresses": [], + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth1", + "natural_slug": "test-cluster__test100-vm_eth1_ab21", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "virtual_machine": { + "cluster": { + "object_type": "virtualization.cluster" + }, + "comments": "", + "custom_fields": {}, + "disk": null, + "display": "test100-vm", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test100-vm", + "natural_slug": "test-cluster__test100-vm_3d00", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "custom_fields": {}, + "description": "", + "display": "Eth2", + "enabled": true, + "ip_addresses": [], + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth2", + "natural_slug": "test-cluster__test100-vm_eth2_2f31", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "virtual_machine": { + "cluster": { + "object_type": "virtualization.cluster" + }, + "comments": "", + "custom_fields": {}, + "disk": null, + "display": "test100-vm", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test100-vm", + "natural_slug": "test-cluster__test100-vm_3d00", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "custom_fields": {}, + "description": "", + "display": "Eth3", + "enabled": true, + "ip_addresses": [], + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth3", + "natural_slug": "test-cluster__test100-vm_eth3_8e1c", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "virtual_machine": { + "cluster": { + "object_type": "virtualization.cluster" + }, + "comments": "", + "custom_fields": {}, + "disk": null, + "display": "test100-vm", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test100-vm", + "natural_slug": "test-cluster__test100-vm_3d00", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "custom_fields": {}, + "description": "", + "display": "Eth4", + "enabled": true, + "ip_addresses": [], + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth4", + "natural_slug": "test-cluster__test100-vm_eth4_0d2c", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "virtual_machine": { + "cluster": { + "object_type": "virtualization.cluster" + }, + "comments": "", + "custom_fields": {}, + "disk": null, + "display": "test100-vm", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test100-vm", + "natural_slug": "test-cluster__test100-vm_3d00", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vcpus": null + }, + "vrf": null + } + ], + "is_virtual": true, + "local_context_data": [ + null + ], + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "services": [], + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tags": [] + }, + "test101-vm": { + "cluster": "Test Cluster", + "cluster_group": "Test Cluster Group", + "cluster_type": "Test Cluster Type", + "config_context": [ + {} + ], + "custom_fields": {}, + "interfaces": [ + { + "bridge": null, + "custom_fields": {}, + "description": "", + "display": "Eth0", + "enabled": true, + "ip_addresses": [], + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth0", + "natural_slug": "test-cluster__test101-vm_eth0_fd2c", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "virtual_machine": { + "cluster": { + "object_type": "virtualization.cluster" + }, + "comments": "", + "custom_fields": {}, + "disk": null, + "display": "test101-vm", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test101-vm", + "natural_slug": "test-cluster__test101-vm_80dc", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "custom_fields": {}, + "description": "", + "display": "Eth1", + "enabled": true, + "ip_addresses": [], + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth1", + "natural_slug": "test-cluster__test101-vm_eth1_d10e", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "virtual_machine": { + "cluster": { + "object_type": "virtualization.cluster" + }, + "comments": "", + "custom_fields": {}, + "disk": null, + "display": "test101-vm", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test101-vm", + "natural_slug": "test-cluster__test101-vm_80dc", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "custom_fields": {}, + "description": "", + "display": "Eth2", + "enabled": true, + "ip_addresses": [], + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth2", + "natural_slug": "test-cluster__test101-vm_eth2_7baf", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "virtual_machine": { + "cluster": { + "object_type": "virtualization.cluster" + }, + "comments": "", + "custom_fields": {}, + "disk": null, + "display": "test101-vm", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test101-vm", + "natural_slug": "test-cluster__test101-vm_80dc", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "custom_fields": {}, + "description": "", + "display": "Eth3", + "enabled": true, + "ip_addresses": [], + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth3", + "natural_slug": "test-cluster__test101-vm_eth3_4434", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "virtual_machine": { + "cluster": { + "object_type": "virtualization.cluster" + }, + "comments": "", + "custom_fields": {}, + "disk": null, + "display": "test101-vm", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test101-vm", + "natural_slug": "test-cluster__test101-vm_80dc", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "custom_fields": {}, + "description": "", + "display": "Eth4", + "enabled": true, + "ip_addresses": [], + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth4", + "natural_slug": "test-cluster__test101-vm_eth4_2978", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "role": null, + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "virtual_machine": { + "cluster": { + "object_type": "virtualization.cluster" + }, + "comments": "", + "custom_fields": {}, + "disk": null, + "display": "test101-vm", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test101-vm", + "natural_slug": "test-cluster__test101-vm_80dc", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "object_type": "extras.status" + }, + "tenant": null, + "vcpus": null + }, + "vrf": null + } + ], + "is_virtual": true, + "local_context_data": [ + null + ], + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "services": [], + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tags": [] + }, + "test102-vm": { + "cluster": "Test Cluster", + "cluster_group": "Test Cluster Group", + "cluster_type": "Test Cluster Type", + "config_context": [ + {} + ], + "custom_fields": {}, + "interfaces": [], + "is_virtual": true, + "local_context_data": [ + null + ], + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "services": [], + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tags": [] + }, + "test103-vm": { + "cluster": "Test Cluster", + "cluster_group": "Test Cluster Group", + "cluster_type": "Test Cluster Type", + "config_context": [ + {} + ], + "custom_fields": {}, + "interfaces": [], + "is_virtual": true, + "local_context_data": [ + null + ], + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "services": [], + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tags": [] + }, + "test104-vm": { + "cluster": "Test Cluster 2", + "cluster_type": "Test Cluster Type", + "config_context": [ + {} + ], + "custom_fields": {}, + "interfaces": [], + "is_virtual": true, + "local_context_data": [ + null + ], + "locations": [], + "services": [], + "status": { + "color": "4caf50", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "name": "Active", + "natural_slug": "active_08bd", + "object_type": "extras.status" + }, + "tags": [] + } + } + }, + "all": { + "children": [ + "cluster_group_test_cluster_group", + "cluster_test_cluster", + "cluster_test_cluster_2", + "cluster_type_test_cluster_type", + "device_roles_core_switch", + "device_types_cisco_test", + "device_types_nexus_parent", + "is_virtual", + "location_parent_test_location", + "location_parent_test_location_2", + "locations_child_child_test_location", + "locations_child_test_location", + "locations_parent_test_location", + "manufacturers_cisco", + "rack_group_child_rack_group", + "rack_group_parent_rack_group", + "rack_role_test_rack_role", + "racks_main_test_rack", + "racks_sub_test_rack", + "status_active", + "tenant_group_test_tenant_group", + "tenants_test_tenant", + "ungrouped" + ] + }, + "cluster_group_test_cluster_group": { + "hosts": [ + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm" + ] + }, + "cluster_test_cluster": { + "hosts": [ + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm" + ] + }, + "cluster_test_cluster_2": { + "hosts": [ + "Test VM With Spaces", + "test104-vm" + ] + }, + "cluster_type_test_cluster_type": { + "hosts": [ + "Test VM With Spaces", + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm", + "test104-vm" + ] + }, + "device_roles_core_switch": { + "hosts": [ + "R1-Device", + "Test Nexus One", + "TestDeviceR1", + "test100" + ] + }, + "device_types_cisco_test": { + "hosts": [ + "R1-Device", + "TestDeviceR1", + "test100" + ] + }, + "device_types_nexus_parent": { + "hosts": [ + "Test Nexus One" + ] + }, + "is_virtual": { + "hosts": [ + "Test VM With Spaces", + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm", + "test104-vm" + ] + }, + "location_child_test_location": { + "children": [ + "location_child_child_test_location" + ] + }, + "location_parent_test_location": { + "children": [ + "location_child_test_location" + ] + }, + "location_parent_test_location_2": { + "children": [ + "location_child_test_location" + ] + }, + "locations_child_child_test_location": { + "hosts": [ + "TestDeviceR1" + ] + }, + "locations_child_test_location": { + "hosts": [ + "R1-Device", + "Test Nexus One", + "TestDeviceR1", + "test100", + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm" + ] + }, + "locations_parent_test_location": { + "hosts": [ + "R1-Device", + "Test Nexus One", + "TestDeviceR1", + "test100", + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm" + ] + }, + "manufacturers_cisco": { + "hosts": [ + "R1-Device", + "Test Nexus One", + "TestDeviceR1", + "test100" + ] + }, + "rack_group_child_rack_group": { + "hosts": [ + "TestDeviceR1" + ] + }, + "rack_group_parent_rack_group": { + "hosts": [ + "R1-Device", + "TestDeviceR1" + ] + }, + "rack_role_test_rack_role": { + "hosts": [ + "R1-Device" + ] + }, + "racks_main_test_rack": { + "hosts": [ + "R1-Device" + ] + }, + "racks_sub_test_rack": { + "hosts": [ + "TestDeviceR1" + ] + }, + "status_active": { + "hosts": [ + "R1-Device", + "Test Nexus One", + "Test VM With Spaces", + "TestDeviceR1", + "test100", + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm", + "test104-vm" + ] + }, + "tenant_group_test_tenant_group": { + "hosts": [ + "test100" + ] + }, + "tenants_test_tenant": { + "hosts": [ + "test100" + ] + } +} \ No newline at end of file diff --git a/tests/integration/targets/inventory/files/test_2.3-3_plurals.yml b/tests/integration/targets/inventory/files/test_2.3-3_plurals.yml new file mode 100644 index 00000000..26c6f213 --- /dev/null +++ b/tests/integration/targets/inventory/files/test_2.3-3_plurals.yml @@ -0,0 +1,36 @@ +plugin: networktocode.nautobot.inventory +api_endpoint: "http://nautobot:8000" +token: "0123456789abcdef0123456789abcdef01234567" +validate_certs: false + +cache: True +cache_timeout: 3600 +cache_plugin: jsonfile +cache_connection: /tmp/inventory_nautobot + +config_context: True +plurals: True +interfaces: True +services: True + +# Enough to fit only 2 devices, so tests chunking logic +max_uri_length: 80 +fetch_all: False + +group_by: + - locations + - tenants + - tenant_group + - racks + - rack_group + - rack_role + - tags + - device_roles + - device_types + - manufacturers + - platforms + - cluster + - cluster_group + - cluster_type + - is_virtual + - status diff --git a/tests/integration/targets/latest/tasks/front_port.yml b/tests/integration/targets/latest/tasks/front_port.yml index 81b63bce..e15b1249 100644 --- a/tests/integration/targets/latest/tasks/front_port.yml +++ b/tests/integration/targets/latest/tasks/front_port.yml @@ -19,6 +19,7 @@ device: test100 type: bnc rear_port: Test Rear Port + rear_port_position: 1 state: present register: test_one @@ -42,6 +43,7 @@ device: test100 type: bnc rear_port: Test Rear Port + rear_port_position: 1 state: present register: test_two @@ -90,6 +92,7 @@ device: test100 type: bnc rear_port: Test Rear Port + rear_port_position: 1 state: present register: test_four @@ -134,6 +137,7 @@ rear_port: device: test100 name: Test Rear Port + rear_port_position: 5 state: present register: test_six diff --git a/tests/integration/targets/latest/tasks/front_port_template.yml b/tests/integration/targets/latest/tasks/front_port_template.yml index a78ef9c2..4db4ae7d 100644 --- a/tests/integration/targets/latest/tasks/front_port_template.yml +++ b/tests/integration/targets/latest/tasks/front_port_template.yml @@ -20,6 +20,7 @@ device_type: Cisco Test type: bnc rear_port_template: Test Rear Port Template + rear_port_template_position: 1 state: present register: test_one @@ -43,6 +44,7 @@ device_type: Cisco Test type: bnc rear_port_template: Test Rear Port Template + rear_port_template_position: 1 state: present register: test_two @@ -88,6 +90,7 @@ device_type: Cisco Test type: bnc rear_port_template: Test Rear Port Template + rear_port_template_position: 1 state: present register: test_four @@ -111,6 +114,7 @@ device_type: Cisco Test type: bnc rear_port_template: Test Rear Port Template + rear_port_template_position: 1 state: absent register: test_five @@ -132,6 +136,7 @@ rear_port_template: device: Cisco Test name: Test Rear Port Template + rear_port_template_position: 5 state: present register: test_six diff --git a/tests/integration/targets/latest/tasks/ip_address.yml b/tests/integration/targets/latest/tasks/ip_address.yml index 99dcfccd..e1cafb2f 100644 --- a/tests/integration/targets/latest/tasks/ip_address.yml +++ b/tests/integration/targets/latest/tasks/ip_address.yml @@ -111,7 +111,9 @@ assert: that: - test_six is not changed - - "'duplicate key value violates unique constraint' in test_six['msg']" + # Error message changed from IntegrityError to ValidationError in Nautobot 2.2.9 + # https://github.com/nautobot/nautobot/pull/6031 + - ("'duplicate key value violates unique constraint' in test_six['msg']") or ("'IP address with this Parent and Host already exists.' in test_six['msg']") - name: "7 - Create new address with only parent specified - State: new" networktocode.nautobot.ip_address: diff --git a/tests/integration/targets/latest/tasks/lookup.yml b/tests/integration/targets/latest/tasks/lookup.yml index a5ae935e..4815a8e6 100644 --- a/tests/integration/targets/latest/tasks/lookup.yml +++ b/tests/integration/targets/latest/tasks/lookup.yml @@ -4,9 +4,9 @@ ### PYNAUTOBOT_LOOKUP ## ## -- name: "PYNAUTOBOT_LOOKUP 1: Lookup returns exactly six locations" +- name: "PYNAUTOBOT_LOOKUP 1: Lookup returns exactly five locations" assert: - that: "query_result | count == 6" + that: "query_result | count == 5" vars: query_result: "{{ query('networktocode.nautobot.lookup', 'locations', api_endpoint=nautobot_url, token=nautobot_token) }}" @@ -82,6 +82,6 @@ - name: "PYNAUTOBOT_LOOKUP 10: Lookup with retries set" assert: - that: "query_result | count == 6" + that: "query_result | count == 5" vars: query_result: "{{ query('networktocode.nautobot.lookup', 'locations', api_endpoint=nautobot_url, token=nautobot_token, num_retries=3) }}" \ No newline at end of file diff --git a/tests/integration/targets/latest/tasks/main.yml b/tests/integration/targets/latest/tasks/main.yml index 53cf0740..c382bde0 100644 --- a/tests/integration/targets/latest/tasks/main.yml +++ b/tests/integration/targets/latest/tasks/main.yml @@ -1,4 +1,14 @@ --- +# Lookup tests should run first so items created by other tests don't influence the results +- name: "PYNAUTOBOT_LOOKUP TESTS" + include_tasks: + file: "lookup.yml" + apply: + tags: + - lookup + tags: + - lookup + - name: "PYNAUTOBOT_DEVICE TESTS" include_tasks: file: "device.yml" @@ -440,15 +450,6 @@ tags: - service -- name: "PYNAUTOBOT_LOOKUP TESTS" - include_tasks: - file: "lookup.yml" - apply: - tags: - - lookup - tags: - - lookup - - name: "PYNAUTOBOT_TAG_TESTS" include_tasks: file: "tag.yml" From 00806faa4fe4217d86e6de1a93d27d08b863b516 Mon Sep 17 00:00:00 2001 From: Joe Wesch Date: Mon, 12 Aug 2024 20:48:56 -0500 Subject: [PATCH 053/102] Fixes Nautobot 2.1 tests --- tests/integration/nautobot-populate.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/integration/nautobot-populate.py b/tests/integration/nautobot-populate.py index c4fdc671..25374ff6 100755 --- a/tests/integration/nautobot-populate.py +++ b/tests/integration/nautobot-populate.py @@ -36,7 +36,7 @@ def make_nautobot_calls(endpoint, payload): try: created = endpoint.create(payload) except pynautobot.RequestError as e: - print(e.error) + print(f"Error creating endpoint {endpoint} with payload {payload}: {e.error}") global ERRORS # pylint: disable=global-statement ERRORS = True return @@ -600,7 +600,7 @@ def make_nautobot_calls(endpoint, payload): ############### # v2.2+ items # ############### -if nautobot_version > version.parse("2.1"): +if nautobot_version >= version.parse("2.2"): # Create Teams teams = [{"name": "My Test Team"}] created_teams = make_nautobot_calls(nb.extras.teams, teams) From 447ba263c8dfdd31e751540c75db4e4c0590bc5e Mon Sep 17 00:00:00 2001 From: Joe Wesch Date: Mon, 12 Aug 2024 20:53:41 -0500 Subject: [PATCH 054/102] Updates CI versions --- .github/workflows/integration_tests.yml | 2 +- .github/workflows/tests.yml | 14 +++++++------- .github/workflows/trigger_pr_main.yml | 2 +- .github/workflows/trigger_pr_normal.yml | 2 +- .github/workflows/trigger_release.yml | 8 ++++---- 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/workflows/integration_tests.yml b/.github/workflows/integration_tests.yml index 59160d07..af9498c7 100644 --- a/.github/workflows/integration_tests.yml +++ b/.github/workflows/integration_tests.yml @@ -29,7 +29,7 @@ jobs: INVOKE_NAUTOBOT_ANSIBLE_NAUTOBOT_VER: "${{ inputs.nautobot-version }}" steps: - name: "Check out repository code" - uses: "actions/checkout@v3" + uses: "actions/checkout@v4" - name: "Set up Python" uses: "actions/setup-python@v3" with: diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 14979d53..d38009fc 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -19,7 +19,7 @@ jobs: runs-on: "${{ inputs.runs-on }}" steps: - name: "Check out repository code" - uses: "actions/checkout@v3" + uses: "actions/checkout@v4" - name: "Install invoke" run: "pip install -U pip && pip install invoke" - name: "Linting" @@ -37,7 +37,7 @@ jobs: INVOKE_NAUTOBOT_ANSIBLE_PYTHON_VER: "${{ matrix.python-version }}" steps: - name: "Check out repository code" - uses: "actions/checkout@v3" + uses: "actions/checkout@v4" - name: "Install invoke" run: "pip install -U pip && pip install invoke" - name: "Tests" @@ -52,12 +52,12 @@ jobs: fail-fast: false matrix: python-version: - - "3.9" + - "3.11" nautobot-version: - "2.3" ansible-version: - - "2.14" - - "2.15" + - "2.16" + - "2.17" with: python-version: "${{ matrix.python-version }}" nautobot-version: "${{ matrix.nautobot-version }}" @@ -80,8 +80,8 @@ jobs: - "2.2" - "2.3" ansible-version: - - "2.14" - - "2.15" + - "2.16" + - "2.17" with: python-version: "${{ matrix.python-version }}" nautobot-version: "${{ matrix.nautobot-version }}" diff --git a/.github/workflows/trigger_pr_main.yml b/.github/workflows/trigger_pr_main.yml index 3dab8d47..0792ad70 100644 --- a/.github/workflows/trigger_pr_main.yml +++ b/.github/workflows/trigger_pr_main.yml @@ -1,7 +1,7 @@ --- name: "Pull Requests (main)" concurrency: # Cancel any existing runs of this workflow for this same PR - group: "${{ '{{ github.workflow }}' }}-${{ '{{ github.ref }}' }}" + group: "${{ github.workflow }}-${{ github.ref }}" cancel-in-progress: true on: # yamllint disable pull_request: diff --git a/.github/workflows/trigger_pr_normal.yml b/.github/workflows/trigger_pr_normal.yml index fb05fa8f..64815214 100644 --- a/.github/workflows/trigger_pr_normal.yml +++ b/.github/workflows/trigger_pr_normal.yml @@ -1,7 +1,7 @@ --- name: "Pull Requests (normal)" concurrency: # Cancel any existing runs of this workflow for this same PR - group: "${{ '{{ github.workflow }}' }}-${{ '{{ github.ref }}' }}" + group: "${{ github.workflow }}-${{ github.ref }}" cancel-in-progress: true on: # yamllint disable pull_request: diff --git a/.github/workflows/trigger_release.yml b/.github/workflows/trigger_release.yml index 999bee75..db864822 100644 --- a/.github/workflows/trigger_release.yml +++ b/.github/workflows/trigger_release.yml @@ -9,7 +9,7 @@ jobs: runs-on: "ubuntu-22.04" steps: - name: "Check out repository code" - uses: "actions/checkout@v3" + uses: "actions/checkout@v4" - name: "Install invoke" run: "pip install -U pip && pip install invoke" - name: "Linting" @@ -27,7 +27,7 @@ jobs: INVOKE_NAUTOBOT_ANSIBLE_PYTHON_VER: "${{ matrix.python-version }}" steps: - name: "Check out repository code" - uses: "actions/checkout@v3" + uses: "actions/checkout@v4" - name: "Install invoke" run: "pip install -U pip && pip install invoke" - name: "Tests" @@ -62,7 +62,7 @@ jobs: if: "startsWith(github.ref, 'refs/tags/v')" steps: - name: "Check out repository code" - uses: "actions/checkout@v3" + uses: "actions/checkout@v4" - name: "Set up Python" uses: "actions/setup-python@v3" with: @@ -87,7 +87,7 @@ jobs: if: "startsWith(github.ref, 'refs/tags/v')" steps: - name: "Check out repository code" - uses: "actions/checkout@v3" + uses: "actions/checkout@v4" - name: "Set up Python" uses: "actions/setup-python@v3" with: From e69c6c0a220b928dd35a65a9cca0122a4f9cb29b Mon Sep 17 00:00:00 2001 From: Joe Wesch Date: Mon, 12 Aug 2024 21:19:34 -0500 Subject: [PATCH 055/102] Updates python minimum to 3.10 and ansible to 2.16 --- .github/workflows/tests.yml | 2 - .github/workflows/trigger_release.yml | 11 +- .readthedocs.yml | 2 +- Dockerfile | 6 +- poetry.lock | 979 +++++++++--------- pyproject.toml | 4 +- tasks.py | 2 +- tests/sanity/ignore-2.11.txt | 1 - tests/sanity/ignore-2.12.txt | 2 - .../{ignore-2.14.txt => ignore-2.16.txt} | 0 .../{ignore-2.15.txt => ignore-2.17.txt} | 0 11 files changed, 526 insertions(+), 483 deletions(-) delete mode 100644 tests/sanity/ignore-2.11.txt delete mode 100644 tests/sanity/ignore-2.12.txt rename tests/sanity/{ignore-2.14.txt => ignore-2.16.txt} (100%) rename tests/sanity/{ignore-2.15.txt => ignore-2.17.txt} (100%) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index d38009fc..56fb0965 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -30,7 +30,6 @@ jobs: fail-fast: false matrix: python-version: - - "3.9" - "3.10" - "3.11" env: @@ -71,7 +70,6 @@ jobs: fail-fast: false matrix: python-version: - - "3.9" - "3.10" - "3.11" nautobot-version: diff --git a/.github/workflows/trigger_release.yml b/.github/workflows/trigger_release.yml index db864822..2589eb48 100644 --- a/.github/workflows/trigger_release.yml +++ b/.github/workflows/trigger_release.yml @@ -20,7 +20,6 @@ jobs: fail-fast: false matrix: python-version: - - "3.9" - "3.10" - "3.11" env: @@ -40,16 +39,16 @@ jobs: fail-fast: false matrix: python-version: - - "3.9" - "3.10" - "3.11" nautobot-version: - "2.0" - "2.1" - "2.2" + - "2.3" ansible-version: - - "2.14" - - "2.15" + - "2.16" + - "2.17" with: python-version: "${{ matrix.python-version }}" nautobot-version: "${{ matrix.nautobot-version }}" @@ -66,7 +65,7 @@ jobs: - name: "Set up Python" uses: "actions/setup-python@v3" with: - python-version: "3.9" + python-version: "3.10" - name: "Install Python Packages" run: "pip install ansible-core" - name: "Build the collection" @@ -91,7 +90,7 @@ jobs: - name: "Set up Python" uses: "actions/setup-python@v3" with: - python-version: "3.9" + python-version: "3.10" - name: "Install Python Packages" run: "pip install ansible-core" - name: "Create the ansible.cfg file" diff --git a/.readthedocs.yml b/.readthedocs.yml index f291e096..1443154b 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -6,7 +6,7 @@ version: 2 build: os: ubuntu-22.04 tools: - python: "3.9" + python: "3.10" python: install: diff --git a/Dockerfile b/Dockerfile index 633f25f6..5e0b4be0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,11 +3,11 @@ # # This base stage just installs the dependencies required for production # without any development deps. -ARG PYTHON_VER=3.9 +ARG PYTHON_VER=3.10 FROM python:${PYTHON_VER} AS base # Allow for flexible Python versions, for broader testing -ARG PYTHON_VER=3.9 +ARG PYTHON_VER=3.10 ENV PYTHON_VERSION=${PYTHON_VER} ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update -yqq && apt-get install -yqq shellcheck && apt-get clean @@ -60,7 +60,7 @@ FROM lint AS unittests ARG ANSIBLE_COLLECTIONS_PATH=/usr/share/ansible/collections ENV ANSIBLE_COLLECTIONS_PATH=${ANSIBLE_COLLECTIONS_PATH} -ARG PYTHON_VER=3.9 +ARG PYTHON_VER=3.10 ENV PYTHON_VERSION=${PYTHON_VER} # Allows for custom command line arguments to be passed to ansible-test (like -vvv) diff --git a/poetry.lock b/poetry.lock index 32907311..82e4b8f6 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand. [[package]] name = "aiofiles" @@ -11,92 +11,104 @@ files = [ {file = "aiofiles-24.1.0.tar.gz", hash = "sha256:22a075c9e5a3810f0c2e48f3008c94d68c65d763b9b03857924c99e57355166c"}, ] +[[package]] +name = "aiohappyeyeballs" +version = "2.3.5" +description = "Happy Eyeballs for asyncio" +optional = false +python-versions = ">=3.8" +files = [ + {file = "aiohappyeyeballs-2.3.5-py3-none-any.whl", hash = "sha256:4d6dea59215537dbc746e93e779caea8178c866856a721c9c660d7a5a7b8be03"}, + {file = "aiohappyeyeballs-2.3.5.tar.gz", hash = "sha256:6fa48b9f1317254f122a07a131a86b71ca6946ca989ce6326fff54a99a920105"}, +] + [[package]] name = "aiohttp" -version = "3.9.5" +version = "3.10.3" description = "Async http client/server framework (asyncio)" optional = false python-versions = ">=3.8" files = [ - {file = "aiohttp-3.9.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:fcde4c397f673fdec23e6b05ebf8d4751314fa7c24f93334bf1f1364c1c69ac7"}, - {file = "aiohttp-3.9.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5d6b3f1fabe465e819aed2c421a6743d8debbde79b6a8600739300630a01bf2c"}, - {file = "aiohttp-3.9.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6ae79c1bc12c34082d92bf9422764f799aee4746fd7a392db46b7fd357d4a17a"}, - {file = "aiohttp-3.9.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d3ebb9e1316ec74277d19c5f482f98cc65a73ccd5430540d6d11682cd857430"}, - {file = "aiohttp-3.9.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:84dabd95154f43a2ea80deffec9cb44d2e301e38a0c9d331cc4aa0166fe28ae3"}, - {file = "aiohttp-3.9.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c8a02fbeca6f63cb1f0475c799679057fc9268b77075ab7cf3f1c600e81dd46b"}, - {file = "aiohttp-3.9.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c26959ca7b75ff768e2776d8055bf9582a6267e24556bb7f7bd29e677932be72"}, - {file = "aiohttp-3.9.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:714d4e5231fed4ba2762ed489b4aec07b2b9953cf4ee31e9871caac895a839c0"}, - {file = "aiohttp-3.9.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e7a6a8354f1b62e15d48e04350f13e726fa08b62c3d7b8401c0a1314f02e3558"}, - {file = "aiohttp-3.9.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:c413016880e03e69d166efb5a1a95d40f83d5a3a648d16486592c49ffb76d0db"}, - {file = "aiohttp-3.9.5-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:ff84aeb864e0fac81f676be9f4685f0527b660f1efdc40dcede3c251ef1e867f"}, - {file = "aiohttp-3.9.5-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:ad7f2919d7dac062f24d6f5fe95d401597fbb015a25771f85e692d043c9d7832"}, - {file = "aiohttp-3.9.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:702e2c7c187c1a498a4e2b03155d52658fdd6fda882d3d7fbb891a5cf108bb10"}, - {file = "aiohttp-3.9.5-cp310-cp310-win32.whl", hash = "sha256:67c3119f5ddc7261d47163ed86d760ddf0e625cd6246b4ed852e82159617b5fb"}, - {file = "aiohttp-3.9.5-cp310-cp310-win_amd64.whl", hash = "sha256:471f0ef53ccedec9995287f02caf0c068732f026455f07db3f01a46e49d76bbb"}, - {file = "aiohttp-3.9.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:e0ae53e33ee7476dd3d1132f932eeb39bf6125083820049d06edcdca4381f342"}, - {file = "aiohttp-3.9.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c088c4d70d21f8ca5c0b8b5403fe84a7bc8e024161febdd4ef04575ef35d474d"}, - {file = "aiohttp-3.9.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:639d0042b7670222f33b0028de6b4e2fad6451462ce7df2af8aee37dcac55424"}, - {file = "aiohttp-3.9.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f26383adb94da5e7fb388d441bf09c61e5e35f455a3217bfd790c6b6bc64b2ee"}, - {file = "aiohttp-3.9.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:66331d00fb28dc90aa606d9a54304af76b335ae204d1836f65797d6fe27f1ca2"}, - {file = "aiohttp-3.9.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4ff550491f5492ab5ed3533e76b8567f4b37bd2995e780a1f46bca2024223233"}, - {file = "aiohttp-3.9.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f22eb3a6c1080d862befa0a89c380b4dafce29dc6cd56083f630073d102eb595"}, - {file = "aiohttp-3.9.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a81b1143d42b66ffc40a441379387076243ef7b51019204fd3ec36b9f69e77d6"}, - {file = "aiohttp-3.9.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f64fd07515dad67f24b6ea4a66ae2876c01031de91c93075b8093f07c0a2d93d"}, - {file = "aiohttp-3.9.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:93e22add827447d2e26d67c9ac0161756007f152fdc5210277d00a85f6c92323"}, - {file = "aiohttp-3.9.5-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:55b39c8684a46e56ef8c8d24faf02de4a2b2ac60d26cee93bc595651ff545de9"}, - {file = "aiohttp-3.9.5-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4715a9b778f4293b9f8ae7a0a7cef9829f02ff8d6277a39d7f40565c737d3771"}, - {file = "aiohttp-3.9.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:afc52b8d969eff14e069a710057d15ab9ac17cd4b6753042c407dcea0e40bf75"}, - {file = "aiohttp-3.9.5-cp311-cp311-win32.whl", hash = "sha256:b3df71da99c98534be076196791adca8819761f0bf6e08e07fd7da25127150d6"}, - {file = "aiohttp-3.9.5-cp311-cp311-win_amd64.whl", hash = "sha256:88e311d98cc0bf45b62fc46c66753a83445f5ab20038bcc1b8a1cc05666f428a"}, - {file = "aiohttp-3.9.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:c7a4b7a6cf5b6eb11e109a9755fd4fda7d57395f8c575e166d363b9fc3ec4678"}, - {file = "aiohttp-3.9.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:0a158704edf0abcac8ac371fbb54044f3270bdbc93e254a82b6c82be1ef08f3c"}, - {file = "aiohttp-3.9.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d153f652a687a8e95ad367a86a61e8d53d528b0530ef382ec5aaf533140ed00f"}, - {file = "aiohttp-3.9.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:82a6a97d9771cb48ae16979c3a3a9a18b600a8505b1115cfe354dfb2054468b4"}, - {file = "aiohttp-3.9.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:60cdbd56f4cad9f69c35eaac0fbbdf1f77b0ff9456cebd4902f3dd1cf096464c"}, - {file = "aiohttp-3.9.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8676e8fd73141ded15ea586de0b7cda1542960a7b9ad89b2b06428e97125d4fa"}, - {file = "aiohttp-3.9.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da00da442a0e31f1c69d26d224e1efd3a1ca5bcbf210978a2ca7426dfcae9f58"}, - {file = "aiohttp-3.9.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:18f634d540dd099c262e9f887c8bbacc959847cfe5da7a0e2e1cf3f14dbf2daf"}, - {file = "aiohttp-3.9.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:320e8618eda64e19d11bdb3bd04ccc0a816c17eaecb7e4945d01deee2a22f95f"}, - {file = "aiohttp-3.9.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:2faa61a904b83142747fc6a6d7ad8fccff898c849123030f8e75d5d967fd4a81"}, - {file = "aiohttp-3.9.5-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:8c64a6dc3fe5db7b1b4d2b5cb84c4f677768bdc340611eca673afb7cf416ef5a"}, - {file = "aiohttp-3.9.5-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:393c7aba2b55559ef7ab791c94b44f7482a07bf7640d17b341b79081f5e5cd1a"}, - {file = "aiohttp-3.9.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:c671dc117c2c21a1ca10c116cfcd6e3e44da7fcde37bf83b2be485ab377b25da"}, - {file = "aiohttp-3.9.5-cp312-cp312-win32.whl", hash = "sha256:5a7ee16aab26e76add4afc45e8f8206c95d1d75540f1039b84a03c3b3800dd59"}, - {file = "aiohttp-3.9.5-cp312-cp312-win_amd64.whl", hash = "sha256:5ca51eadbd67045396bc92a4345d1790b7301c14d1848feaac1d6a6c9289e888"}, - {file = "aiohttp-3.9.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:694d828b5c41255e54bc2dddb51a9f5150b4eefa9886e38b52605a05d96566e8"}, - {file = "aiohttp-3.9.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0605cc2c0088fcaae79f01c913a38611ad09ba68ff482402d3410bf59039bfb8"}, - {file = "aiohttp-3.9.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4558e5012ee03d2638c681e156461d37b7a113fe13970d438d95d10173d25f78"}, - {file = "aiohttp-3.9.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9dbc053ac75ccc63dc3a3cc547b98c7258ec35a215a92bd9f983e0aac95d3d5b"}, - {file = "aiohttp-3.9.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4109adee842b90671f1b689901b948f347325045c15f46b39797ae1bf17019de"}, - {file = "aiohttp-3.9.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a6ea1a5b409a85477fd8e5ee6ad8f0e40bf2844c270955e09360418cfd09abac"}, - {file = "aiohttp-3.9.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3c2890ca8c59ee683fd09adf32321a40fe1cf164e3387799efb2acebf090c11"}, - {file = "aiohttp-3.9.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3916c8692dbd9d55c523374a3b8213e628424d19116ac4308e434dbf6d95bbdd"}, - {file = "aiohttp-3.9.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:8d1964eb7617907c792ca00b341b5ec3e01ae8c280825deadbbd678447b127e1"}, - {file = "aiohttp-3.9.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:d5ab8e1f6bee051a4bf6195e38a5c13e5e161cb7bad83d8854524798bd9fcd6e"}, - {file = "aiohttp-3.9.5-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:52c27110f3862a1afbcb2af4281fc9fdc40327fa286c4625dfee247c3ba90156"}, - {file = "aiohttp-3.9.5-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:7f64cbd44443e80094309875d4f9c71d0401e966d191c3d469cde4642bc2e031"}, - {file = "aiohttp-3.9.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8b4f72fbb66279624bfe83fd5eb6aea0022dad8eec62b71e7bf63ee1caadeafe"}, - {file = "aiohttp-3.9.5-cp38-cp38-win32.whl", hash = "sha256:6380c039ec52866c06d69b5c7aad5478b24ed11696f0e72f6b807cfb261453da"}, - {file = "aiohttp-3.9.5-cp38-cp38-win_amd64.whl", hash = "sha256:da22dab31d7180f8c3ac7c7635f3bcd53808f374f6aa333fe0b0b9e14b01f91a"}, - {file = "aiohttp-3.9.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:1732102949ff6087589408d76cd6dea656b93c896b011ecafff418c9661dc4ed"}, - {file = "aiohttp-3.9.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c6021d296318cb6f9414b48e6a439a7f5d1f665464da507e8ff640848ee2a58a"}, - {file = "aiohttp-3.9.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:239f975589a944eeb1bad26b8b140a59a3a320067fb3cd10b75c3092405a1372"}, - {file = "aiohttp-3.9.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3b7b30258348082826d274504fbc7c849959f1989d86c29bc355107accec6cfb"}, - {file = "aiohttp-3.9.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cd2adf5c87ff6d8b277814a28a535b59e20bfea40a101db6b3bdca7e9926bc24"}, - {file = "aiohttp-3.9.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e9a3d838441bebcf5cf442700e3963f58b5c33f015341f9ea86dcd7d503c07e2"}, - {file = "aiohttp-3.9.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e3a1ae66e3d0c17cf65c08968a5ee3180c5a95920ec2731f53343fac9bad106"}, - {file = "aiohttp-3.9.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9c69e77370cce2d6df5d12b4e12bdcca60c47ba13d1cbbc8645dd005a20b738b"}, - {file = "aiohttp-3.9.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0cbf56238f4bbf49dab8c2dc2e6b1b68502b1e88d335bea59b3f5b9f4c001475"}, - {file = "aiohttp-3.9.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:d1469f228cd9ffddd396d9948b8c9cd8022b6d1bf1e40c6f25b0fb90b4f893ed"}, - {file = "aiohttp-3.9.5-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:45731330e754f5811c314901cebdf19dd776a44b31927fa4b4dbecab9e457b0c"}, - {file = "aiohttp-3.9.5-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:3fcb4046d2904378e3aeea1df51f697b0467f2aac55d232c87ba162709478c46"}, - {file = "aiohttp-3.9.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8cf142aa6c1a751fcb364158fd710b8a9be874b81889c2bd13aa8893197455e2"}, - {file = "aiohttp-3.9.5-cp39-cp39-win32.whl", hash = "sha256:7b179eea70833c8dee51ec42f3b4097bd6370892fa93f510f76762105568cf09"}, - {file = "aiohttp-3.9.5-cp39-cp39-win_amd64.whl", hash = "sha256:38d80498e2e169bc61418ff36170e0aad0cd268da8b38a17c4cf29d254a8b3f1"}, - {file = "aiohttp-3.9.5.tar.gz", hash = "sha256:edea7d15772ceeb29db4aff55e482d4bcfb6ae160ce144f2682de02f6d693551"}, + {file = "aiohttp-3.10.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cc36cbdedf6f259371dbbbcaae5bb0e95b879bc501668ab6306af867577eb5db"}, + {file = "aiohttp-3.10.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:85466b5a695c2a7db13eb2c200af552d13e6a9313d7fa92e4ffe04a2c0ea74c1"}, + {file = "aiohttp-3.10.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:71bb1d97bfe7e6726267cea169fdf5df7658831bb68ec02c9c6b9f3511e108bb"}, + {file = "aiohttp-3.10.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:baec1eb274f78b2de54471fc4c69ecbea4275965eab4b556ef7a7698dee18bf2"}, + {file = "aiohttp-3.10.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:13031e7ec1188274bad243255c328cc3019e36a5a907978501256000d57a7201"}, + {file = "aiohttp-3.10.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2bbc55a964b8eecb341e492ae91c3bd0848324d313e1e71a27e3d96e6ee7e8e8"}, + {file = "aiohttp-3.10.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e8cc0564b286b625e673a2615ede60a1704d0cbbf1b24604e28c31ed37dc62aa"}, + {file = "aiohttp-3.10.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f817a54059a4cfbc385a7f51696359c642088710e731e8df80d0607193ed2b73"}, + {file = "aiohttp-3.10.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:8542c9e5bcb2bd3115acdf5adc41cda394e7360916197805e7e32b93d821ef93"}, + {file = "aiohttp-3.10.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:671efce3a4a0281060edf9a07a2f7e6230dca3a1cbc61d110eee7753d28405f7"}, + {file = "aiohttp-3.10.3-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:0974f3b5b0132edcec92c3306f858ad4356a63d26b18021d859c9927616ebf27"}, + {file = "aiohttp-3.10.3-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:44bb159b55926b57812dca1b21c34528e800963ffe130d08b049b2d6b994ada7"}, + {file = "aiohttp-3.10.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:6ae9ae382d1c9617a91647575255ad55a48bfdde34cc2185dd558ce476bf16e9"}, + {file = "aiohttp-3.10.3-cp310-cp310-win32.whl", hash = "sha256:aed12a54d4e1ee647376fa541e1b7621505001f9f939debf51397b9329fd88b9"}, + {file = "aiohttp-3.10.3-cp310-cp310-win_amd64.whl", hash = "sha256:b51aef59370baf7444de1572f7830f59ddbabd04e5292fa4218d02f085f8d299"}, + {file = "aiohttp-3.10.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:e021c4c778644e8cdc09487d65564265e6b149896a17d7c0f52e9a088cc44e1b"}, + {file = "aiohttp-3.10.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:24fade6dae446b183e2410a8628b80df9b7a42205c6bfc2eff783cbeedc224a2"}, + {file = "aiohttp-3.10.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bc8e9f15939dacb0e1f2d15f9c41b786051c10472c7a926f5771e99b49a5957f"}, + {file = "aiohttp-3.10.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d5a9ec959b5381271c8ec9310aae1713b2aec29efa32e232e5ef7dcca0df0279"}, + {file = "aiohttp-3.10.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2a5d0ea8a6467b15d53b00c4e8ea8811e47c3cc1bdbc62b1aceb3076403d551f"}, + {file = "aiohttp-3.10.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c9ed607dbbdd0d4d39b597e5bf6b0d40d844dfb0ac6a123ed79042ef08c1f87e"}, + {file = "aiohttp-3.10.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d3e66d5b506832e56add66af88c288c1d5ba0c38b535a1a59e436b300b57b23e"}, + {file = "aiohttp-3.10.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fda91ad797e4914cca0afa8b6cccd5d2b3569ccc88731be202f6adce39503189"}, + {file = "aiohttp-3.10.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:61ccb867b2f2f53df6598eb2a93329b5eee0b00646ee79ea67d68844747a418e"}, + {file = "aiohttp-3.10.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:6d881353264e6156f215b3cb778c9ac3184f5465c2ece5e6fce82e68946868ef"}, + {file = "aiohttp-3.10.3-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:b031ce229114825f49cec4434fa844ccb5225e266c3e146cb4bdd025a6da52f1"}, + {file = "aiohttp-3.10.3-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:5337cc742a03f9e3213b097abff8781f79de7190bbfaa987bd2b7ceb5bb0bdec"}, + {file = "aiohttp-3.10.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ab3361159fd3dcd0e48bbe804006d5cfb074b382666e6c064112056eb234f1a9"}, + {file = "aiohttp-3.10.3-cp311-cp311-win32.whl", hash = "sha256:05d66203a530209cbe40f102ebaac0b2214aba2a33c075d0bf825987c36f1f0b"}, + {file = "aiohttp-3.10.3-cp311-cp311-win_amd64.whl", hash = "sha256:70b4a4984a70a2322b70e088d654528129783ac1ebbf7dd76627b3bd22db2f17"}, + {file = "aiohttp-3.10.3-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:166de65e2e4e63357cfa8417cf952a519ac42f1654cb2d43ed76899e2319b1ee"}, + {file = "aiohttp-3.10.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:7084876352ba3833d5d214e02b32d794e3fd9cf21fdba99cff5acabeb90d9806"}, + {file = "aiohttp-3.10.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8d98c604c93403288591d7d6d7d6cc8a63459168f8846aeffd5b3a7f3b3e5e09"}, + {file = "aiohttp-3.10.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d73b073a25a0bb8bf014345374fe2d0f63681ab5da4c22f9d2025ca3e3ea54fc"}, + {file = "aiohttp-3.10.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8da6b48c20ce78f5721068f383e0e113dde034e868f1b2f5ee7cb1e95f91db57"}, + {file = "aiohttp-3.10.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3a9dcdccf50284b1b0dc72bc57e5bbd3cc9bf019060dfa0668f63241ccc16aa7"}, + {file = "aiohttp-3.10.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:56fb94bae2be58f68d000d046172d8b8e6b1b571eb02ceee5535e9633dcd559c"}, + {file = "aiohttp-3.10.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bf75716377aad2c718cdf66451c5cf02042085d84522aec1f9246d3e4b8641a6"}, + {file = "aiohttp-3.10.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6c51ed03e19c885c8e91f574e4bbe7381793f56f93229731597e4a499ffef2a5"}, + {file = "aiohttp-3.10.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b84857b66fa6510a163bb083c1199d1ee091a40163cfcbbd0642495fed096204"}, + {file = "aiohttp-3.10.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c124b9206b1befe0491f48185fd30a0dd51b0f4e0e7e43ac1236066215aff272"}, + {file = "aiohttp-3.10.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:3461d9294941937f07bbbaa6227ba799bc71cc3b22c40222568dc1cca5118f68"}, + {file = "aiohttp-3.10.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:08bd0754d257b2db27d6bab208c74601df6f21bfe4cb2ec7b258ba691aac64b3"}, + {file = "aiohttp-3.10.3-cp312-cp312-win32.whl", hash = "sha256:7f9159ae530297f61a00116771e57516f89a3de6ba33f314402e41560872b50a"}, + {file = "aiohttp-3.10.3-cp312-cp312-win_amd64.whl", hash = "sha256:e1128c5d3a466279cb23c4aa32a0f6cb0e7d2961e74e9e421f90e74f75ec1edf"}, + {file = "aiohttp-3.10.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:d1100e68e70eb72eadba2b932b185ebf0f28fd2f0dbfe576cfa9d9894ef49752"}, + {file = "aiohttp-3.10.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a541414578ff47c0a9b0b8b77381ea86b0c8531ab37fc587572cb662ccd80b88"}, + {file = "aiohttp-3.10.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:d5548444ef60bf4c7b19ace21f032fa42d822e516a6940d36579f7bfa8513f9c"}, + {file = "aiohttp-3.10.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5ba2e838b5e6a8755ac8297275c9460e729dc1522b6454aee1766c6de6d56e5e"}, + {file = "aiohttp-3.10.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:48665433bb59144aaf502c324694bec25867eb6630fcd831f7a893ca473fcde4"}, + {file = "aiohttp-3.10.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bac352fceed158620ce2d701ad39d4c1c76d114255a7c530e057e2b9f55bdf9f"}, + {file = "aiohttp-3.10.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b0f670502100cdc567188c49415bebba947eb3edaa2028e1a50dd81bd13363f"}, + {file = "aiohttp-3.10.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:43b09f38a67679e32d380fe512189ccb0b25e15afc79b23fbd5b5e48e4fc8fd9"}, + {file = "aiohttp-3.10.3-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:cd788602e239ace64f257d1c9d39898ca65525583f0fbf0988bcba19418fe93f"}, + {file = "aiohttp-3.10.3-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:214277dcb07ab3875f17ee1c777d446dcce75bea85846849cc9d139ab8f5081f"}, + {file = "aiohttp-3.10.3-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:32007fdcaab789689c2ecaaf4b71f8e37bf012a15cd02c0a9db8c4d0e7989fa8"}, + {file = "aiohttp-3.10.3-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:123e5819bfe1b87204575515cf448ab3bf1489cdeb3b61012bde716cda5853e7"}, + {file = "aiohttp-3.10.3-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:812121a201f0c02491a5db335a737b4113151926a79ae9ed1a9f41ea225c0e3f"}, + {file = "aiohttp-3.10.3-cp38-cp38-win32.whl", hash = "sha256:b97dc9a17a59f350c0caa453a3cb35671a2ffa3a29a6ef3568b523b9113d84e5"}, + {file = "aiohttp-3.10.3-cp38-cp38-win_amd64.whl", hash = "sha256:3731a73ddc26969d65f90471c635abd4e1546a25299b687e654ea6d2fc052394"}, + {file = "aiohttp-3.10.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:38d91b98b4320ffe66efa56cb0f614a05af53b675ce1b8607cdb2ac826a8d58e"}, + {file = "aiohttp-3.10.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9743fa34a10a36ddd448bba8a3adc2a66a1c575c3c2940301bacd6cc896c6bf1"}, + {file = "aiohttp-3.10.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:7c126f532caf238031c19d169cfae3c6a59129452c990a6e84d6e7b198a001dc"}, + {file = "aiohttp-3.10.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:926e68438f05703e500b06fe7148ef3013dd6f276de65c68558fa9974eeb59ad"}, + {file = "aiohttp-3.10.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:434b3ab75833accd0b931d11874e206e816f6e6626fd69f643d6a8269cd9166a"}, + {file = "aiohttp-3.10.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d35235a44ec38109b811c3600d15d8383297a8fab8e3dec6147477ec8636712a"}, + {file = "aiohttp-3.10.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:59c489661edbd863edb30a8bd69ecb044bd381d1818022bc698ba1b6f80e5dd1"}, + {file = "aiohttp-3.10.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:50544fe498c81cb98912afabfc4e4d9d85e89f86238348e3712f7ca6a2f01dab"}, + {file = "aiohttp-3.10.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:09bc79275737d4dc066e0ae2951866bb36d9c6b460cb7564f111cc0427f14844"}, + {file = "aiohttp-3.10.3-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:af4dbec58e37f5afff4f91cdf235e8e4b0bd0127a2a4fd1040e2cad3369d2f06"}, + {file = "aiohttp-3.10.3-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:b22cae3c9dd55a6b4c48c63081d31c00fc11fa9db1a20c8a50ee38c1a29539d2"}, + {file = "aiohttp-3.10.3-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:ba562736d3fbfe9241dad46c1a8994478d4a0e50796d80e29d50cabe8fbfcc3f"}, + {file = "aiohttp-3.10.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:f25d6c4e82d7489be84f2b1c8212fafc021b3731abdb61a563c90e37cced3a21"}, + {file = "aiohttp-3.10.3-cp39-cp39-win32.whl", hash = "sha256:b69d832e5f5fa15b1b6b2c8eb6a9fd2c0ec1fd7729cb4322ed27771afc9fc2ac"}, + {file = "aiohttp-3.10.3-cp39-cp39-win_amd64.whl", hash = "sha256:673bb6e3249dc8825df1105f6ef74e2eab779b7ff78e96c15cadb78b04a83752"}, + {file = "aiohttp-3.10.3.tar.gz", hash = "sha256:21650e7032cc2d31fc23d353d7123e771354f2a3d5b05a5647fc30fea214e696"}, ] [package.dependencies] +aiohappyeyeballs = ">=2.3.0" aiosignal = ">=1.1.2" async-timeout = {version = ">=4.0,<5.0", markers = "python_version < \"3.11\""} attrs = ">=17.3.0" @@ -105,7 +117,7 @@ multidict = ">=4.5,<7.0" yarl = ">=1.0,<2.0" [package.extras] -speedups = ["Brotli", "aiodns", "brotlicffi"] +speedups = ["Brotli", "aiodns (>=3.2.0)", "brotlicffi"] [[package]] name = "aiosignal" @@ -132,20 +144,30 @@ files = [ {file = "alabaster-0.7.16.tar.gz", hash = "sha256:75a8b99c28a5dad50dd7f8ccdd447a121ddb3892da9e53d1ca5cca3106d58d65"}, ] +[[package]] +name = "annotated-types" +version = "0.7.0" +description = "Reusable constraint types to use with typing.Annotated" +optional = false +python-versions = ">=3.8" +files = [ + {file = "annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53"}, + {file = "annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89"}, +] + [[package]] name = "ansible-core" -version = "2.15.12" +version = "2.17.3" description = "Radically simple IT automation" optional = false -python-versions = ">=3.9" +python-versions = ">=3.10" files = [ - {file = "ansible_core-2.15.12-py3-none-any.whl", hash = "sha256:390edd603420122f7cb1c470d8d1f8bdbbd795a1844dd03c1917db21935aecb9"}, - {file = "ansible_core-2.15.12.tar.gz", hash = "sha256:5fde82cd3928d9857ad880782c644f27d3168b0f25321d5a8d6befa524aa1818"}, + {file = "ansible_core-2.17.3-py3-none-any.whl", hash = "sha256:71e5c93729cc5bf09ecdf0cac675685fd345d1571312409029bf842420850f23"}, + {file = "ansible_core-2.17.3.tar.gz", hash = "sha256:917557065339fe36e7078e9bea47eefab6d6877f3bd435fa5f0d766d04c58485"}, ] [package.dependencies] cryptography = "*" -importlib-resources = {version = ">=5.0,<5.1", markers = "python_version < \"3.10\""} jinja2 = ">=3.0.0" packaging = "*" PyYAML = ">=5.1" @@ -234,30 +256,24 @@ twiggy = ">=0.5.0" [[package]] name = "antsibull-docs" -version = "1.11.1" +version = "1.9.0" description = "Tools for building Ansible documentation" optional = false python-versions = ">=3.6.1,<4.0.0" files = [ - {file = "antsibull_docs-1.11.1-py3-none-any.whl", hash = "sha256:e198ee3aaeb9a95b110f424a91ee36cc30cdc41bd4df2eee9185cd0bf6e00d9c"}, - {file = "antsibull_docs-1.11.1.tar.gz", hash = "sha256:b18649b2a56cd6c84a9dd68563bad57bca0f08510efc4ad2c552daf3763fd9b2"}, + {file = "antsibull_docs-1.9.0-py3-none-any.whl", hash = "sha256:b9fc1243f47a6e32392cbd860ed73f9c34833ee7e9caafbefb3f7e6e01976429"}, + {file = "antsibull_docs-1.9.0.tar.gz", hash = "sha256:aee9383dd24548507ea53dd76adb39367600d2df80d6dcfa81c93c578d589601"}, ] [package.dependencies] -aiohttp = ">=3.0.0" ansible-pygments = "*" antsibull-core = ">=1.2.0,<3.0.0" asyncio-pool = "*" docutils = "*" -jinja2 = ">=3.0" +jinja2 = "*" packaging = "*" -pydantic = ">=1.0.0,<2.0.0" -PyYAML = "*" rstcheck = ">=3.0.0,<7.0.0" -semantic_version = "*" -sh = ">=1.0.0,<2.0.0" sphinx = "*" -twiggy = "*" [[package]] name = "astroid" @@ -302,32 +318,32 @@ files = [ [[package]] name = "attrs" -version = "23.2.0" +version = "24.2.0" description = "Classes Without Boilerplate" optional = false python-versions = ">=3.7" files = [ - {file = "attrs-23.2.0-py3-none-any.whl", hash = "sha256:99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1"}, - {file = "attrs-23.2.0.tar.gz", hash = "sha256:935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30"}, + {file = "attrs-24.2.0-py3-none-any.whl", hash = "sha256:81921eb96de3191c8258c199618104dd27ac608d9366f5e35d011eae1867ede2"}, + {file = "attrs-24.2.0.tar.gz", hash = "sha256:5cfb1b9148b5b086569baec03f20d7b6bf3bcacc9a42bebf87ffaaca362f6346"}, ] [package.extras] -cov = ["attrs[tests]", "coverage[toml] (>=5.3)"] -dev = ["attrs[tests]", "pre-commit"] -docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier", "zope-interface"] -tests = ["attrs[tests-no-zope]", "zope-interface"] -tests-mypy = ["mypy (>=1.6)", "pytest-mypy-plugins"] -tests-no-zope = ["attrs[tests-mypy]", "cloudpickle", "hypothesis", "pympler", "pytest (>=4.3.0)", "pytest-xdist[psutil]"] +benchmark = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-codspeed", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +cov = ["cloudpickle", "coverage[toml] (>=5.3)", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +dev = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pre-commit", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +docs = ["cogapp", "furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier (<24.7)"] +tests = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +tests-mypy = ["mypy (>=1.11.1)", "pytest-mypy-plugins"] [[package]] name = "babel" -version = "2.15.0" +version = "2.16.0" description = "Internationalization utilities" optional = false python-versions = ">=3.8" files = [ - {file = "Babel-2.15.0-py3-none-any.whl", hash = "sha256:08706bdad8d0a3413266ab61bd6c34d0c28d6e1e7badf40a2cebe67644e2e1fb"}, - {file = "babel-2.15.0.tar.gz", hash = "sha256:8daf0e265d05768bc6c7a314cf1321e9a123afc328cc635c18622a2f30a04413"}, + {file = "babel-2.16.0-py3-none-any.whl", hash = "sha256:368b5b98b37c06b7daf6696391c3240c938b37767d4584413e8438c5c435fa8b"}, + {file = "babel-2.16.0.tar.gz", hash = "sha256:d1f3554ca26605fe173f3de0c65f750f5a42f924499bf134de6423582298e316"}, ] [package.extras] @@ -359,33 +375,33 @@ yaml = ["PyYAML"] [[package]] name = "black" -version = "24.4.2" +version = "24.8.0" description = "The uncompromising code formatter." optional = false python-versions = ">=3.8" files = [ - {file = "black-24.4.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dd1b5a14e417189db4c7b64a6540f31730713d173f0b63e55fabd52d61d8fdce"}, - {file = "black-24.4.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8e537d281831ad0e71007dcdcbe50a71470b978c453fa41ce77186bbe0ed6021"}, - {file = "black-24.4.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eaea3008c281f1038edb473c1aa8ed8143a5535ff18f978a318f10302b254063"}, - {file = "black-24.4.2-cp310-cp310-win_amd64.whl", hash = "sha256:7768a0dbf16a39aa5e9a3ded568bb545c8c2727396d063bbaf847df05b08cd96"}, - {file = "black-24.4.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:257d724c2c9b1660f353b36c802ccece186a30accc7742c176d29c146df6e474"}, - {file = "black-24.4.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bdde6f877a18f24844e381d45e9947a49e97933573ac9d4345399be37621e26c"}, - {file = "black-24.4.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e151054aa00bad1f4e1f04919542885f89f5f7d086b8a59e5000e6c616896ffb"}, - {file = "black-24.4.2-cp311-cp311-win_amd64.whl", hash = "sha256:7e122b1c4fb252fd85df3ca93578732b4749d9be076593076ef4d07a0233c3e1"}, - {file = "black-24.4.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:accf49e151c8ed2c0cdc528691838afd217c50412534e876a19270fea1e28e2d"}, - {file = "black-24.4.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:88c57dc656038f1ab9f92b3eb5335ee9b021412feaa46330d5eba4e51fe49b04"}, - {file = "black-24.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:be8bef99eb46d5021bf053114442914baeb3649a89dc5f3a555c88737e5e98fc"}, - {file = "black-24.4.2-cp312-cp312-win_amd64.whl", hash = "sha256:415e686e87dbbe6f4cd5ef0fbf764af7b89f9057b97c908742b6008cc554b9c0"}, - {file = "black-24.4.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:bf10f7310db693bb62692609b397e8d67257c55f949abde4c67f9cc574492cc7"}, - {file = "black-24.4.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:98e123f1d5cfd42f886624d84464f7756f60ff6eab89ae845210631714f6db94"}, - {file = "black-24.4.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:48a85f2cb5e6799a9ef05347b476cce6c182d6c71ee36925a6c194d074336ef8"}, - {file = "black-24.4.2-cp38-cp38-win_amd64.whl", hash = "sha256:b1530ae42e9d6d5b670a34db49a94115a64596bc77710b1d05e9801e62ca0a7c"}, - {file = "black-24.4.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:37aae07b029fa0174d39daf02748b379399b909652a806e5708199bd93899da1"}, - {file = "black-24.4.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:da33a1a5e49c4122ccdfd56cd021ff1ebc4a1ec4e2d01594fef9b6f267a9e741"}, - {file = "black-24.4.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef703f83fc32e131e9bcc0a5094cfe85599e7109f896fe8bc96cc402f3eb4b6e"}, - {file = "black-24.4.2-cp39-cp39-win_amd64.whl", hash = "sha256:b9176b9832e84308818a99a561e90aa479e73c523b3f77afd07913380ae2eab7"}, - {file = "black-24.4.2-py3-none-any.whl", hash = "sha256:d36ed1124bb81b32f8614555b34cc4259c3fbc7eec17870e8ff8ded335b58d8c"}, - {file = "black-24.4.2.tar.gz", hash = "sha256:c872b53057f000085da66a19c55d68f6f8ddcac2642392ad3a355878406fbd4d"}, + {file = "black-24.8.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:09cdeb74d494ec023ded657f7092ba518e8cf78fa8386155e4a03fdcc44679e6"}, + {file = "black-24.8.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:81c6742da39f33b08e791da38410f32e27d632260e599df7245cccee2064afeb"}, + {file = "black-24.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:707a1ca89221bc8a1a64fb5e15ef39cd755633daa672a9db7498d1c19de66a42"}, + {file = "black-24.8.0-cp310-cp310-win_amd64.whl", hash = "sha256:d6417535d99c37cee4091a2f24eb2b6d5ec42b144d50f1f2e436d9fe1916fe1a"}, + {file = "black-24.8.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:fb6e2c0b86bbd43dee042e48059c9ad7830abd5c94b0bc518c0eeec57c3eddc1"}, + {file = "black-24.8.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:837fd281f1908d0076844bc2b801ad2d369c78c45cf800cad7b61686051041af"}, + {file = "black-24.8.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:62e8730977f0b77998029da7971fa896ceefa2c4c4933fcd593fa599ecbf97a4"}, + {file = "black-24.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:72901b4913cbac8972ad911dc4098d5753704d1f3c56e44ae8dce99eecb0e3af"}, + {file = "black-24.8.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:7c046c1d1eeb7aea9335da62472481d3bbf3fd986e093cffd35f4385c94ae368"}, + {file = "black-24.8.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:649f6d84ccbae73ab767e206772cc2d7a393a001070a4c814a546afd0d423aed"}, + {file = "black-24.8.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2b59b250fdba5f9a9cd9d0ece6e6d993d91ce877d121d161e4698af3eb9c1018"}, + {file = "black-24.8.0-cp312-cp312-win_amd64.whl", hash = "sha256:6e55d30d44bed36593c3163b9bc63bf58b3b30e4611e4d88a0c3c239930ed5b2"}, + {file = "black-24.8.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:505289f17ceda596658ae81b61ebbe2d9b25aa78067035184ed0a9d855d18afd"}, + {file = "black-24.8.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b19c9ad992c7883ad84c9b22aaa73562a16b819c1d8db7a1a1a49fb7ec13c7d2"}, + {file = "black-24.8.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1f13f7f386f86f8121d76599114bb8c17b69d962137fc70efe56137727c7047e"}, + {file = "black-24.8.0-cp38-cp38-win_amd64.whl", hash = "sha256:f490dbd59680d809ca31efdae20e634f3fae27fba3ce0ba3208333b713bc3920"}, + {file = "black-24.8.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:eab4dd44ce80dea27dc69db40dab62d4ca96112f87996bca68cd75639aeb2e4c"}, + {file = "black-24.8.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3c4285573d4897a7610054af5a890bde7c65cb466040c5f0c8b732812d7f0e5e"}, + {file = "black-24.8.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9e84e33b37be070ba135176c123ae52a51f82306def9f7d063ee302ecab2cf47"}, + {file = "black-24.8.0-cp39-cp39-win_amd64.whl", hash = "sha256:73bbf84ed136e45d451a260c6b73ed674652f90a2b3211d6a35e78054563a9bb"}, + {file = "black-24.8.0-py3-none-any.whl", hash = "sha256:972085c618ee94f402da1af548a4f218c754ea7e5dc70acb168bfaca4c2542ed"}, + {file = "black-24.8.0.tar.gz", hash = "sha256:2500945420b6784c38b9ee885af039f5e7471ef284ab03fa35ecdde4688cd83f"}, ] [package.dependencies] @@ -416,63 +432,78 @@ files = [ [[package]] name = "cffi" -version = "1.16.0" +version = "1.17.0" description = "Foreign Function Interface for Python calling C code." optional = false python-versions = ">=3.8" files = [ - {file = "cffi-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6b3d6606d369fc1da4fd8c357d026317fbb9c9b75d36dc16e90e84c26854b088"}, - {file = "cffi-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ac0f5edd2360eea2f1daa9e26a41db02dd4b0451b48f7c318e217ee092a213e9"}, - {file = "cffi-1.16.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7e61e3e4fa664a8588aa25c883eab612a188c725755afff6289454d6362b9673"}, - {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a72e8961a86d19bdb45851d8f1f08b041ea37d2bd8d4fd19903bc3083d80c896"}, - {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5b50bf3f55561dac5438f8e70bfcdfd74543fd60df5fa5f62d94e5867deca684"}, - {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7651c50c8c5ef7bdb41108b7b8c5a83013bfaa8a935590c5d74627c047a583c7"}, - {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4108df7fe9b707191e55f33efbcb2d81928e10cea45527879a4749cbe472614"}, - {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:32c68ef735dbe5857c810328cb2481e24722a59a2003018885514d4c09af9743"}, - {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:673739cb539f8cdaa07d92d02efa93c9ccf87e345b9a0b556e3ecc666718468d"}, - {file = "cffi-1.16.0-cp310-cp310-win32.whl", hash = "sha256:9f90389693731ff1f659e55c7d1640e2ec43ff725cc61b04b2f9c6d8d017df6a"}, - {file = "cffi-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:e6024675e67af929088fda399b2094574609396b1decb609c55fa58b028a32a1"}, - {file = "cffi-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b84834d0cf97e7d27dd5b7f3aca7b6e9263c56308ab9dc8aae9784abb774d404"}, - {file = "cffi-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1b8ebc27c014c59692bb2664c7d13ce7a6e9a629be20e54e7271fa696ff2b417"}, - {file = "cffi-1.16.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee07e47c12890ef248766a6e55bd38ebfb2bb8edd4142d56db91b21ea68b7627"}, - {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8a9d3ebe49f084ad71f9269834ceccbf398253c9fac910c4fd7053ff1386936"}, - {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e70f54f1796669ef691ca07d046cd81a29cb4deb1e5f942003f401c0c4a2695d"}, - {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5bf44d66cdf9e893637896c7faa22298baebcd18d1ddb6d2626a6e39793a1d56"}, - {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b78010e7b97fef4bee1e896df8a4bbb6712b7f05b7ef630f9d1da00f6444d2e"}, - {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c6a164aa47843fb1b01e941d385aab7215563bb8816d80ff3a363a9f8448a8dc"}, - {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e09f3ff613345df5e8c3667da1d918f9149bd623cd9070c983c013792a9a62eb"}, - {file = "cffi-1.16.0-cp311-cp311-win32.whl", hash = "sha256:2c56b361916f390cd758a57f2e16233eb4f64bcbeee88a4881ea90fca14dc6ab"}, - {file = "cffi-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:db8e577c19c0fda0beb7e0d4e09e0ba74b1e4c092e0e40bfa12fe05b6f6d75ba"}, - {file = "cffi-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:fa3a0128b152627161ce47201262d3140edb5a5c3da88d73a1b790a959126956"}, - {file = "cffi-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:68e7c44931cc171c54ccb702482e9fc723192e88d25a0e133edd7aff8fcd1f6e"}, - {file = "cffi-1.16.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abd808f9c129ba2beda4cfc53bde801e5bcf9d6e0f22f095e45327c038bfe68e"}, - {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88e2b3c14bdb32e440be531ade29d3c50a1a59cd4e51b1dd8b0865c54ea5d2e2"}, - {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcc8eb6d5902bb1cf6dc4f187ee3ea80a1eba0a89aba40a5cb20a5087d961357"}, - {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7be2d771cdba2942e13215c4e340bfd76398e9227ad10402a8767ab1865d2e6"}, - {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e715596e683d2ce000574bae5d07bd522c781a822866c20495e52520564f0969"}, - {file = "cffi-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2d92b25dbf6cae33f65005baf472d2c245c050b1ce709cc4588cdcdd5495b520"}, - {file = "cffi-1.16.0-cp312-cp312-win32.whl", hash = "sha256:b2ca4e77f9f47c55c194982e10f058db063937845bb2b7a86c84a6cfe0aefa8b"}, - {file = "cffi-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:68678abf380b42ce21a5f2abde8efee05c114c2fdb2e9eef2efdb0257fba1235"}, - {file = "cffi-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0c9ef6ff37e974b73c25eecc13952c55bceed9112be2d9d938ded8e856138bcc"}, - {file = "cffi-1.16.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a09582f178759ee8128d9270cd1344154fd473bb77d94ce0aeb2a93ebf0feaf0"}, - {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e760191dd42581e023a68b758769e2da259b5d52e3103c6060ddc02c9edb8d7b"}, - {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:80876338e19c951fdfed6198e70bc88f1c9758b94578d5a7c4c91a87af3cf31c"}, - {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a6a14b17d7e17fa0d207ac08642c8820f84f25ce17a442fd15e27ea18d67c59b"}, - {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6602bc8dc6f3a9e02b6c22c4fc1e47aa50f8f8e6d3f78a5e16ac33ef5fefa324"}, - {file = "cffi-1.16.0-cp38-cp38-win32.whl", hash = "sha256:131fd094d1065b19540c3d72594260f118b231090295d8c34e19a7bbcf2e860a"}, - {file = "cffi-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:31d13b0f99e0836b7ff893d37af07366ebc90b678b6664c955b54561fc36ef36"}, - {file = "cffi-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:582215a0e9adbe0e379761260553ba11c58943e4bbe9c36430c4ca6ac74b15ed"}, - {file = "cffi-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b29ebffcf550f9da55bec9e02ad430c992a87e5f512cd63388abb76f1036d8d2"}, - {file = "cffi-1.16.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dc9b18bf40cc75f66f40a7379f6a9513244fe33c0e8aa72e2d56b0196a7ef872"}, - {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cb4a35b3642fc5c005a6755a5d17c6c8b6bcb6981baf81cea8bfbc8903e8ba8"}, - {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b86851a328eedc692acf81fb05444bdf1891747c25af7529e39ddafaf68a4f3f"}, - {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c0f31130ebc2d37cdd8e44605fb5fa7ad59049298b3f745c74fa74c62fbfcfc4"}, - {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f8e709127c6c77446a8c0a8c8bf3c8ee706a06cd44b1e827c3e6a2ee6b8c098"}, - {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:748dcd1e3d3d7cd5443ef03ce8685043294ad6bd7c02a38d1bd367cfd968e000"}, - {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8895613bcc094d4a1b2dbe179d88d7fb4a15cee43c052e8885783fac397d91fe"}, - {file = "cffi-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed86a35631f7bfbb28e108dd96773b9d5a6ce4811cf6ea468bb6a359b256b1e4"}, - {file = "cffi-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:3686dffb02459559c74dd3d81748269ffb0eb027c39a6fc99502de37d501faa8"}, - {file = "cffi-1.16.0.tar.gz", hash = "sha256:bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0"}, + {file = "cffi-1.17.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f9338cc05451f1942d0d8203ec2c346c830f8e86469903d5126c1f0a13a2bcbb"}, + {file = "cffi-1.17.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a0ce71725cacc9ebf839630772b07eeec220cbb5f03be1399e0457a1464f8e1a"}, + {file = "cffi-1.17.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c815270206f983309915a6844fe994b2fa47e5d05c4c4cef267c3b30e34dbe42"}, + {file = "cffi-1.17.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d6bdcd415ba87846fd317bee0774e412e8792832e7805938987e4ede1d13046d"}, + {file = "cffi-1.17.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8a98748ed1a1df4ee1d6f927e151ed6c1a09d5ec21684de879c7ea6aa96f58f2"}, + {file = "cffi-1.17.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0a048d4f6630113e54bb4b77e315e1ba32a5a31512c31a273807d0027a7e69ab"}, + {file = "cffi-1.17.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:24aa705a5f5bd3a8bcfa4d123f03413de5d86e497435693b638cbffb7d5d8a1b"}, + {file = "cffi-1.17.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:856bf0924d24e7f93b8aee12a3a1095c34085600aa805693fb7f5d1962393206"}, + {file = "cffi-1.17.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:4304d4416ff032ed50ad6bb87416d802e67139e31c0bde4628f36a47a3164bfa"}, + {file = "cffi-1.17.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:331ad15c39c9fe9186ceaf87203a9ecf5ae0ba2538c9e898e3a6967e8ad3db6f"}, + {file = "cffi-1.17.0-cp310-cp310-win32.whl", hash = "sha256:669b29a9eca6146465cc574659058ed949748f0809a2582d1f1a324eb91054dc"}, + {file = "cffi-1.17.0-cp310-cp310-win_amd64.whl", hash = "sha256:48b389b1fd5144603d61d752afd7167dfd205973a43151ae5045b35793232aa2"}, + {file = "cffi-1.17.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c5d97162c196ce54af6700949ddf9409e9833ef1003b4741c2b39ef46f1d9720"}, + {file = "cffi-1.17.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5ba5c243f4004c750836f81606a9fcb7841f8874ad8f3bf204ff5e56332b72b9"}, + {file = "cffi-1.17.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bb9333f58fc3a2296fb1d54576138d4cf5d496a2cc118422bd77835e6ae0b9cb"}, + {file = "cffi-1.17.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:435a22d00ec7d7ea533db494da8581b05977f9c37338c80bc86314bec2619424"}, + {file = "cffi-1.17.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d1df34588123fcc88c872f5acb6f74ae59e9d182a2707097f9e28275ec26a12d"}, + {file = "cffi-1.17.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:df8bb0010fdd0a743b7542589223a2816bdde4d94bb5ad67884348fa2c1c67e8"}, + {file = "cffi-1.17.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a8b5b9712783415695663bd463990e2f00c6750562e6ad1d28e072a611c5f2a6"}, + {file = "cffi-1.17.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ffef8fd58a36fb5f1196919638f73dd3ae0db1a878982b27a9a5a176ede4ba91"}, + {file = "cffi-1.17.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:4e67d26532bfd8b7f7c05d5a766d6f437b362c1bf203a3a5ce3593a645e870b8"}, + {file = "cffi-1.17.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:45f7cd36186db767d803b1473b3c659d57a23b5fa491ad83c6d40f2af58e4dbb"}, + {file = "cffi-1.17.0-cp311-cp311-win32.whl", hash = "sha256:a9015f5b8af1bb6837a3fcb0cdf3b874fe3385ff6274e8b7925d81ccaec3c5c9"}, + {file = "cffi-1.17.0-cp311-cp311-win_amd64.whl", hash = "sha256:b50aaac7d05c2c26dfd50c3321199f019ba76bb650e346a6ef3616306eed67b0"}, + {file = "cffi-1.17.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:aec510255ce690d240f7cb23d7114f6b351c733a74c279a84def763660a2c3bc"}, + {file = "cffi-1.17.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2770bb0d5e3cc0e31e7318db06efcbcdb7b31bcb1a70086d3177692a02256f59"}, + {file = "cffi-1.17.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:db9a30ec064129d605d0f1aedc93e00894b9334ec74ba9c6bdd08147434b33eb"}, + {file = "cffi-1.17.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a47eef975d2b8b721775a0fa286f50eab535b9d56c70a6e62842134cf7841195"}, + {file = "cffi-1.17.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f3e0992f23bbb0be00a921eae5363329253c3b86287db27092461c887b791e5e"}, + {file = "cffi-1.17.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6107e445faf057c118d5050560695e46d272e5301feffda3c41849641222a828"}, + {file = "cffi-1.17.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eb862356ee9391dc5a0b3cbc00f416b48c1b9a52d252d898e5b7696a5f9fe150"}, + {file = "cffi-1.17.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:c1c13185b90bbd3f8b5963cd8ce7ad4ff441924c31e23c975cb150e27c2bf67a"}, + {file = "cffi-1.17.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:17c6d6d3260c7f2d94f657e6872591fe8733872a86ed1345bda872cfc8c74885"}, + {file = "cffi-1.17.0-cp312-cp312-win32.whl", hash = "sha256:c3b8bd3133cd50f6b637bb4322822c94c5ce4bf0d724ed5ae70afce62187c492"}, + {file = "cffi-1.17.0-cp312-cp312-win_amd64.whl", hash = "sha256:dca802c8db0720ce1c49cce1149ff7b06e91ba15fa84b1d59144fef1a1bc7ac2"}, + {file = "cffi-1.17.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:6ce01337d23884b21c03869d2f68c5523d43174d4fc405490eb0091057943118"}, + {file = "cffi-1.17.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:cab2eba3830bf4f6d91e2d6718e0e1c14a2f5ad1af68a89d24ace0c6b17cced7"}, + {file = "cffi-1.17.0-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:14b9cbc8f7ac98a739558eb86fabc283d4d564dafed50216e7f7ee62d0d25377"}, + {file = "cffi-1.17.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b00e7bcd71caa0282cbe3c90966f738e2db91e64092a877c3ff7f19a1628fdcb"}, + {file = "cffi-1.17.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:41f4915e09218744d8bae14759f983e466ab69b178de38066f7579892ff2a555"}, + {file = "cffi-1.17.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e4760a68cab57bfaa628938e9c2971137e05ce48e762a9cb53b76c9b569f1204"}, + {file = "cffi-1.17.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:011aff3524d578a9412c8b3cfaa50f2c0bd78e03eb7af7aa5e0df59b158efb2f"}, + {file = "cffi-1.17.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:a003ac9edc22d99ae1286b0875c460351f4e101f8c9d9d2576e78d7e048f64e0"}, + {file = "cffi-1.17.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ef9528915df81b8f4c7612b19b8628214c65c9b7f74db2e34a646a0a2a0da2d4"}, + {file = "cffi-1.17.0-cp313-cp313-win32.whl", hash = "sha256:70d2aa9fb00cf52034feac4b913181a6e10356019b18ef89bc7c12a283bf5f5a"}, + {file = "cffi-1.17.0-cp313-cp313-win_amd64.whl", hash = "sha256:b7b6ea9e36d32582cda3465f54c4b454f62f23cb083ebc7a94e2ca6ef011c3a7"}, + {file = "cffi-1.17.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:964823b2fc77b55355999ade496c54dde161c621cb1f6eac61dc30ed1b63cd4c"}, + {file = "cffi-1.17.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:516a405f174fd3b88829eabfe4bb296ac602d6a0f68e0d64d5ac9456194a5b7e"}, + {file = "cffi-1.17.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dec6b307ce928e8e112a6bb9921a1cb00a0e14979bf28b98e084a4b8a742bd9b"}, + {file = "cffi-1.17.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e4094c7b464cf0a858e75cd14b03509e84789abf7b79f8537e6a72152109c76e"}, + {file = "cffi-1.17.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2404f3de742f47cb62d023f0ba7c5a916c9c653d5b368cc966382ae4e57da401"}, + {file = "cffi-1.17.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3aa9d43b02a0c681f0bfbc12d476d47b2b2b6a3f9287f11ee42989a268a1833c"}, + {file = "cffi-1.17.0-cp38-cp38-win32.whl", hash = "sha256:0bb15e7acf8ab35ca8b24b90af52c8b391690ef5c4aec3d31f38f0d37d2cc499"}, + {file = "cffi-1.17.0-cp38-cp38-win_amd64.whl", hash = "sha256:93a7350f6706b31f457c1457d3a3259ff9071a66f312ae64dc024f049055f72c"}, + {file = "cffi-1.17.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1a2ddbac59dc3716bc79f27906c010406155031a1c801410f1bafff17ea304d2"}, + {file = "cffi-1.17.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6327b572f5770293fc062a7ec04160e89741e8552bf1c358d1a23eba68166759"}, + {file = "cffi-1.17.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dbc183e7bef690c9abe5ea67b7b60fdbca81aa8da43468287dae7b5c046107d4"}, + {file = "cffi-1.17.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5bdc0f1f610d067c70aa3737ed06e2726fd9d6f7bfee4a351f4c40b6831f4e82"}, + {file = "cffi-1.17.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6d872186c1617d143969defeadac5a904e6e374183e07977eedef9c07c8953bf"}, + {file = "cffi-1.17.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0d46ee4764b88b91f16661a8befc6bfb24806d885e27436fdc292ed7e6f6d058"}, + {file = "cffi-1.17.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6f76a90c345796c01d85e6332e81cab6d70de83b829cf1d9762d0a3da59c7932"}, + {file = "cffi-1.17.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0e60821d312f99d3e1569202518dddf10ae547e799d75aef3bca3a2d9e8ee693"}, + {file = "cffi-1.17.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:eb09b82377233b902d4c3fbeeb7ad731cdab579c6c6fda1f763cd779139e47c3"}, + {file = "cffi-1.17.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:24658baf6224d8f280e827f0a50c46ad819ec8ba380a42448e24459daf809cf4"}, + {file = "cffi-1.17.0-cp39-cp39-win32.whl", hash = "sha256:0fdacad9e0d9fc23e519efd5ea24a70348305e8d7d85ecbb1a5fa66dc834e7fb"}, + {file = "cffi-1.17.0-cp39-cp39-win_amd64.whl", hash = "sha256:7cbc78dc018596315d4e7841c8c3a7ae31cc4d638c9b627f87d52e8abaaf2d29"}, + {file = "cffi-1.17.0.tar.gz", hash = "sha256:f3157624b7558b914cb039fd1af735e5e8049a87c817cc215109ad1c8779df76"}, ] [package.dependencies] @@ -666,43 +697,38 @@ toml = ["tomli"] [[package]] name = "cryptography" -version = "42.0.8" +version = "43.0.0" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." optional = false python-versions = ">=3.7" files = [ - {file = "cryptography-42.0.8-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:81d8a521705787afe7a18d5bfb47ea9d9cc068206270aad0b96a725022e18d2e"}, - {file = "cryptography-42.0.8-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:961e61cefdcb06e0c6d7e3a1b22ebe8b996eb2bf50614e89384be54c48c6b63d"}, - {file = "cryptography-42.0.8-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e3ec3672626e1b9e55afd0df6d774ff0e953452886e06e0f1eb7eb0c832e8902"}, - {file = "cryptography-42.0.8-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e599b53fd95357d92304510fb7bda8523ed1f79ca98dce2f43c115950aa78801"}, - {file = "cryptography-42.0.8-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:5226d5d21ab681f432a9c1cf8b658c0cb02533eece706b155e5fbd8a0cdd3949"}, - {file = "cryptography-42.0.8-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:6b7c4f03ce01afd3b76cf69a5455caa9cfa3de8c8f493e0d3ab7d20611c8dae9"}, - {file = "cryptography-42.0.8-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:2346b911eb349ab547076f47f2e035fc8ff2c02380a7cbbf8d87114fa0f1c583"}, - {file = "cryptography-42.0.8-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:ad803773e9df0b92e0a817d22fd8a3675493f690b96130a5e24f1b8fabbea9c7"}, - {file = "cryptography-42.0.8-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:2f66d9cd9147ee495a8374a45ca445819f8929a3efcd2e3df6428e46c3cbb10b"}, - {file = "cryptography-42.0.8-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:d45b940883a03e19e944456a558b67a41160e367a719833c53de6911cabba2b7"}, - {file = "cryptography-42.0.8-cp37-abi3-win32.whl", hash = "sha256:a0c5b2b0585b6af82d7e385f55a8bc568abff8923af147ee3c07bd8b42cda8b2"}, - {file = "cryptography-42.0.8-cp37-abi3-win_amd64.whl", hash = "sha256:57080dee41209e556a9a4ce60d229244f7a66ef52750f813bfbe18959770cfba"}, - {file = "cryptography-42.0.8-cp39-abi3-macosx_10_12_universal2.whl", hash = "sha256:dea567d1b0e8bc5764b9443858b673b734100c2871dc93163f58c46a97a83d28"}, - {file = "cryptography-42.0.8-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c4783183f7cb757b73b2ae9aed6599b96338eb957233c58ca8f49a49cc32fd5e"}, - {file = "cryptography-42.0.8-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0608251135d0e03111152e41f0cc2392d1e74e35703960d4190b2e0f4ca9c70"}, - {file = "cryptography-42.0.8-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:dc0fdf6787f37b1c6b08e6dfc892d9d068b5bdb671198c72072828b80bd5fe4c"}, - {file = "cryptography-42.0.8-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:9c0c1716c8447ee7dbf08d6db2e5c41c688544c61074b54fc4564196f55c25a7"}, - {file = "cryptography-42.0.8-cp39-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:fff12c88a672ab9c9c1cf7b0c80e3ad9e2ebd9d828d955c126be4fd3e5578c9e"}, - {file = "cryptography-42.0.8-cp39-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:cafb92b2bc622cd1aa6a1dce4b93307792633f4c5fe1f46c6b97cf67073ec961"}, - {file = "cryptography-42.0.8-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:31f721658a29331f895a5a54e7e82075554ccfb8b163a18719d342f5ffe5ecb1"}, - {file = "cryptography-42.0.8-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:b297f90c5723d04bcc8265fc2a0f86d4ea2e0f7ab4b6994459548d3a6b992a14"}, - {file = "cryptography-42.0.8-cp39-abi3-win32.whl", hash = "sha256:2f88d197e66c65be5e42cd72e5c18afbfae3f741742070e3019ac8f4ac57262c"}, - {file = "cryptography-42.0.8-cp39-abi3-win_amd64.whl", hash = "sha256:fa76fbb7596cc5839320000cdd5d0955313696d9511debab7ee7278fc8b5c84a"}, - {file = "cryptography-42.0.8-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:ba4f0a211697362e89ad822e667d8d340b4d8d55fae72cdd619389fb5912eefe"}, - {file = "cryptography-42.0.8-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:81884c4d096c272f00aeb1f11cf62ccd39763581645b0812e99a91505fa48e0c"}, - {file = "cryptography-42.0.8-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c9bb2ae11bfbab395bdd072985abde58ea9860ed84e59dbc0463a5d0159f5b71"}, - {file = "cryptography-42.0.8-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:7016f837e15b0a1c119d27ecd89b3515f01f90a8615ed5e9427e30d9cdbfed3d"}, - {file = "cryptography-42.0.8-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5a94eccb2a81a309806027e1670a358b99b8fe8bfe9f8d329f27d72c094dde8c"}, - {file = "cryptography-42.0.8-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:dec9b018df185f08483f294cae6ccac29e7a6e0678996587363dc352dc65c842"}, - {file = "cryptography-42.0.8-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:343728aac38decfdeecf55ecab3264b015be68fc2816ca800db649607aeee648"}, - {file = "cryptography-42.0.8-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:013629ae70b40af70c9a7a5db40abe5d9054e6f4380e50ce769947b73bf3caad"}, - {file = "cryptography-42.0.8.tar.gz", hash = "sha256:8d09d05439ce7baa8e9e95b07ec5b6c886f548deb7e0f69ef25f64b3bce842f2"}, + {file = "cryptography-43.0.0-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:64c3f16e2a4fc51c0d06af28441881f98c5d91009b8caaff40cf3548089e9c74"}, + {file = "cryptography-43.0.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3dcdedae5c7710b9f97ac6bba7e1052b95c7083c9d0e9df96e02a1932e777895"}, + {file = "cryptography-43.0.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d9a1eca329405219b605fac09ecfc09ac09e595d6def650a437523fcd08dd22"}, + {file = "cryptography-43.0.0-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:ea9e57f8ea880eeea38ab5abf9fbe39f923544d7884228ec67d666abd60f5a47"}, + {file = "cryptography-43.0.0-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:9a8d6802e0825767476f62aafed40532bd435e8a5f7d23bd8b4f5fd04cc80ecf"}, + {file = "cryptography-43.0.0-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:cc70b4b581f28d0a254d006f26949245e3657d40d8857066c2ae22a61222ef55"}, + {file = "cryptography-43.0.0-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:4a997df8c1c2aae1e1e5ac49c2e4f610ad037fc5a3aadc7b64e39dea42249431"}, + {file = "cryptography-43.0.0-cp37-abi3-win32.whl", hash = "sha256:6e2b11c55d260d03a8cf29ac9b5e0608d35f08077d8c087be96287f43af3ccdc"}, + {file = "cryptography-43.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:31e44a986ceccec3d0498e16f3d27b2ee5fdf69ce2ab89b52eaad1d2f33d8778"}, + {file = "cryptography-43.0.0-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:7b3f5fe74a5ca32d4d0f302ffe6680fcc5c28f8ef0dc0ae8f40c0f3a1b4fca66"}, + {file = "cryptography-43.0.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac1955ce000cb29ab40def14fd1bbfa7af2017cca696ee696925615cafd0dce5"}, + {file = "cryptography-43.0.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:299d3da8e00b7e2b54bb02ef58d73cd5f55fb31f33ebbf33bd00d9aa6807df7e"}, + {file = "cryptography-43.0.0-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:ee0c405832ade84d4de74b9029bedb7b31200600fa524d218fc29bfa371e97f5"}, + {file = "cryptography-43.0.0-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:cb013933d4c127349b3948aa8aaf2f12c0353ad0eccd715ca789c8a0f671646f"}, + {file = "cryptography-43.0.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:fdcb265de28585de5b859ae13e3846a8e805268a823a12a4da2597f1f5afc9f0"}, + {file = "cryptography-43.0.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:2905ccf93a8a2a416f3ec01b1a7911c3fe4073ef35640e7ee5296754e30b762b"}, + {file = "cryptography-43.0.0-cp39-abi3-win32.whl", hash = "sha256:47ca71115e545954e6c1d207dd13461ab81f4eccfcb1345eac874828b5e3eaaf"}, + {file = "cryptography-43.0.0-cp39-abi3-win_amd64.whl", hash = "sha256:0663585d02f76929792470451a5ba64424acc3cd5227b03921dab0e2f27b1709"}, + {file = "cryptography-43.0.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:2c6d112bf61c5ef44042c253e4859b3cbbb50df2f78fa8fae6747a7814484a70"}, + {file = "cryptography-43.0.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:844b6d608374e7d08f4f6e6f9f7b951f9256db41421917dfb2d003dde4cd6b66"}, + {file = "cryptography-43.0.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:51956cf8730665e2bdf8ddb8da0056f699c1a5715648c1b0144670c1ba00b48f"}, + {file = "cryptography-43.0.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:aae4d918f6b180a8ab8bf6511a419473d107df4dbb4225c7b48c5c9602c38c7f"}, + {file = "cryptography-43.0.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:232ce02943a579095a339ac4b390fbbe97f5b5d5d107f8a08260ea2768be8cc2"}, + {file = "cryptography-43.0.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:5bcb8a5620008a8034d39bce21dc3e23735dfdb6a33a06974739bfa04f853947"}, + {file = "cryptography-43.0.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:08a24a7070b2b6804c1940ff0f910ff728932a9d0e80e7814234269f9d46d069"}, + {file = "cryptography-43.0.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:e9c5266c432a1e23738d178e51c2c7a5e2ddf790f248be939448c0ba2021f9d1"}, + {file = "cryptography-43.0.0.tar.gz", hash = "sha256:b88075ada2d51aa9f18283532c9f60e72170041bba88d7f37e49cbb10275299e"}, ] [package.dependencies] @@ -715,7 +741,7 @@ nox = ["nox"] pep8test = ["check-sdist", "click", "mypy", "ruff"] sdist = ["build"] ssh = ["bcrypt (>=3.1.5)"] -test = ["certifi", "pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-xdist"] +test = ["certifi", "cryptography-vectors (==43.0.0)", "pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-xdist"] test-randomorder = ["pytest-randomly"] [[package]] @@ -735,13 +761,13 @@ profile = ["gprof2dot (>=2022.7.29)"] [[package]] name = "docutils" -version = "0.17.1" +version = "0.20.1" description = "Docutils -- Python Documentation Utilities" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +python-versions = ">=3.7" files = [ - {file = "docutils-0.17.1-py2.py3-none-any.whl", hash = "sha256:cf316c8370a737a022b72b56874f6602acf974a37a9fba42ec2876387549fc61"}, - {file = "docutils-0.17.1.tar.gz", hash = "sha256:686577d2e4c32380bb50cbb22f575ed742d58168cee37e99117a854bcd88f125"}, + {file = "docutils-0.20.1-py3-none-any.whl", hash = "sha256:96f387a2c5562db4476f09f13bbab2192e764cac08ebbf3a34a95d9b1e4a59d6"}, + {file = "docutils-0.20.1.tar.gz", hash = "sha256:f08a4e276c3a1583a86dce3e34aba3fe04d02bba2dd51ed16106244e8a923e3b"}, ] [[package]] @@ -860,13 +886,13 @@ files = [ [[package]] name = "hypothesis" -version = "6.108.0" +version = "6.111.0" description = "A library for property-based testing" optional = false python-versions = ">=3.8" files = [ - {file = "hypothesis-6.108.0-py3-none-any.whl", hash = "sha256:1546e08abcfdda4ecd86a77df87c8a694936830236c393e4ad4c31f0bcf8ee3c"}, - {file = "hypothesis-6.108.0.tar.gz", hash = "sha256:24183b2a4d05c15834f5a80fe51cf933cdc812c4f7dc036209c9902b81d4e8e5"}, + {file = "hypothesis-6.111.0-py3-none-any.whl", hash = "sha256:7a51f678da3719a04a3ef61cd241384dd93b49f35d7cce22833745c66ac1d507"}, + {file = "hypothesis-6.111.0.tar.gz", hash = "sha256:04d0703621d9fdd61c079a4dda07babbe7ebf6d34eee6ad9484a2af0ee721801"}, ] [package.dependencies] @@ -875,10 +901,10 @@ exceptiongroup = {version = ">=1.0.0", markers = "python_version < \"3.11\""} sortedcontainers = ">=2.1.0,<3.0.0" [package.extras] -all = ["backports.zoneinfo (>=0.2.1)", "black (>=19.10b0)", "click (>=7.0)", "crosshair-tool (>=0.0.59)", "django (>=3.2)", "dpcontracts (>=0.4)", "hypothesis-crosshair (>=0.0.7)", "lark (>=0.10.1)", "libcst (>=0.3.16)", "numpy (>=1.17.3)", "pandas (>=1.1)", "pytest (>=4.6)", "python-dateutil (>=1.4)", "pytz (>=2014.1)", "redis (>=3.0.0)", "rich (>=9.0.0)", "tzdata (>=2024.1)"] +all = ["backports.zoneinfo (>=0.2.1)", "black (>=19.10b0)", "click (>=7.0)", "crosshair-tool (>=0.0.66)", "django (>=3.2)", "dpcontracts (>=0.4)", "hypothesis-crosshair (>=0.0.12)", "lark (>=0.10.1)", "libcst (>=0.3.16)", "numpy (>=1.17.3)", "pandas (>=1.1)", "pytest (>=4.6)", "python-dateutil (>=1.4)", "pytz (>=2014.1)", "redis (>=3.0.0)", "rich (>=9.0.0)", "tzdata (>=2024.1)"] cli = ["black (>=19.10b0)", "click (>=7.0)", "rich (>=9.0.0)"] codemods = ["libcst (>=0.3.16)"] -crosshair = ["crosshair-tool (>=0.0.59)", "hypothesis-crosshair (>=0.0.7)"] +crosshair = ["crosshair-tool (>=0.0.66)", "hypothesis-crosshair (>=0.0.12)"] dateutil = ["python-dateutil (>=1.4)"] django = ["django (>=3.2)"] dpcontracts = ["dpcontracts (>=0.4)"] @@ -931,21 +957,6 @@ zipp = ">=0.5" docs = ["rst.linker", "sphinx"] testing = ["importlib-resources (>=1.3)", "packaging", "pep517"] -[[package]] -name = "importlib-resources" -version = "5.0.7" -description = "Read resources from Python packages" -optional = false -python-versions = ">=3.6" -files = [ - {file = "importlib_resources-5.0.7-py3-none-any.whl", hash = "sha256:2238159eb743bd85304a16e0536048b3e991c531d1cd51c4a834d1ccf2829057"}, - {file = "importlib_resources-5.0.7.tar.gz", hash = "sha256:4df460394562b4581bb4e4087ad9447bd433148fba44241754ec3152499f1d1b"}, -] - -[package.extras] -docs = ["jaraco.packaging (>=8.2)", "rst.linker (>=1.9)", "sphinx"] -testing = ["pytest (>=3.5,!=3.7.3)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=1.2.3)", "pytest-cov", "pytest-enabler", "pytest-flake8", "pytest-mypy"] - [[package]] name = "iniconfig" version = "2.0.0" @@ -1012,13 +1023,13 @@ files = [ [[package]] name = "jsondiff" -version = "2.1.1" +version = "2.2.0" description = "Diff JSON and JSON-like structures in Python" optional = false python-versions = ">=3.8" files = [ - {file = "jsondiff-2.1.1-py3-none-any.whl", hash = "sha256:ffab5bc00237c2c9f48a4b07fff7bf7df13e4b98f9585bd00b6e6e5f371a98fc"}, - {file = "jsondiff-2.1.1.tar.gz", hash = "sha256:c7dfd4f8c9307500a536e9b93492b2c1ba62dac2b3c5189aa6e37d63b427b4d8"}, + {file = "jsondiff-2.2.0-py3-none-any.whl", hash = "sha256:afff7c0067d934e3f2730935dc3abd520ab7d09021c88d3a9f4272e7d2229a1e"}, + {file = "jsondiff-2.2.0.tar.gz", hash = "sha256:060e9a10fe136c643e9d2bf264ea1fbe966ed17d2fd37348dd65b1c650c2df4f"}, ] [package.dependencies] @@ -1316,13 +1327,13 @@ files = [ [[package]] name = "netutils" -version = "1.9.0" +version = "1.9.1" description = "Common helper functions useful in network automation." optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "netutils-1.9.0-py3-none-any.whl", hash = "sha256:5dad8d882c1c50e013466f60a281ca10c6f93f48e18927919aaa6019b5c22d66"}, - {file = "netutils-1.9.0.tar.gz", hash = "sha256:ce8ccb1c08599b4ca803948dcc849a5110b8d5fa040247591bf119fb1ce434ce"}, + {file = "netutils-1.9.1-py3-none-any.whl", hash = "sha256:0d6e9026cc529f365a63377159aed07769baee0bf7a7138fa86fce37b64dd9d4"}, + {file = "netutils-1.9.1.tar.gz", hash = "sha256:8ad8b5e02eb9d6692d0aaaf9c0f36da1a81f520f426a79d0e08e56cf7dbb3476"}, ] [package.extras] @@ -1441,62 +1452,126 @@ files = [ [[package]] name = "pydantic" -version = "1.10.17" -description = "Data validation and settings management using python type hints" +version = "2.8.2" +description = "Data validation using Python type hints" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "pydantic-1.10.17-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0fa51175313cc30097660b10eec8ca55ed08bfa07acbfe02f7a42f6c242e9a4b"}, - {file = "pydantic-1.10.17-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c7e8988bb16988890c985bd2093df9dd731bfb9d5e0860db054c23034fab8f7a"}, - {file = "pydantic-1.10.17-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:371dcf1831f87c9e217e2b6a0c66842879a14873114ebb9d0861ab22e3b5bb1e"}, - {file = "pydantic-1.10.17-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4866a1579c0c3ca2c40575398a24d805d4db6cb353ee74df75ddeee3c657f9a7"}, - {file = "pydantic-1.10.17-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:543da3c6914795b37785703ffc74ba4d660418620cc273490d42c53949eeeca6"}, - {file = "pydantic-1.10.17-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7623b59876f49e61c2e283551cc3647616d2fbdc0b4d36d3d638aae8547ea681"}, - {file = "pydantic-1.10.17-cp310-cp310-win_amd64.whl", hash = "sha256:409b2b36d7d7d19cd8310b97a4ce6b1755ef8bd45b9a2ec5ec2b124db0a0d8f3"}, - {file = "pydantic-1.10.17-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:fa43f362b46741df8f201bf3e7dff3569fa92069bcc7b4a740dea3602e27ab7a"}, - {file = "pydantic-1.10.17-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2a72d2a5ff86a3075ed81ca031eac86923d44bc5d42e719d585a8eb547bf0c9b"}, - {file = "pydantic-1.10.17-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b4ad32aed3bf5eea5ca5decc3d1bbc3d0ec5d4fbcd72a03cdad849458decbc63"}, - {file = "pydantic-1.10.17-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aeb4e741782e236ee7dc1fb11ad94dc56aabaf02d21df0e79e0c21fe07c95741"}, - {file = "pydantic-1.10.17-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:d2f89a719411cb234105735a520b7c077158a81e0fe1cb05a79c01fc5eb59d3c"}, - {file = "pydantic-1.10.17-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:db3b48d9283d80a314f7a682f7acae8422386de659fffaba454b77a083c3937d"}, - {file = "pydantic-1.10.17-cp311-cp311-win_amd64.whl", hash = "sha256:9c803a5113cfab7bbb912f75faa4fc1e4acff43e452c82560349fff64f852e1b"}, - {file = "pydantic-1.10.17-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:820ae12a390c9cbb26bb44913c87fa2ff431a029a785642c1ff11fed0a095fcb"}, - {file = "pydantic-1.10.17-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c1e51d1af306641b7d1574d6d3307eaa10a4991542ca324f0feb134fee259815"}, - {file = "pydantic-1.10.17-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e53fb834aae96e7b0dadd6e92c66e7dd9cdf08965340ed04c16813102a47fab"}, - {file = "pydantic-1.10.17-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0e2495309b1266e81d259a570dd199916ff34f7f51f1b549a0d37a6d9b17b4dc"}, - {file = "pydantic-1.10.17-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:098ad8de840c92ea586bf8efd9e2e90c6339d33ab5c1cfbb85be66e4ecf8213f"}, - {file = "pydantic-1.10.17-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:525bbef620dac93c430d5d6bdbc91bdb5521698d434adf4434a7ef6ffd5c4b7f"}, - {file = "pydantic-1.10.17-cp312-cp312-win_amd64.whl", hash = "sha256:6654028d1144df451e1da69a670083c27117d493f16cf83da81e1e50edce72ad"}, - {file = "pydantic-1.10.17-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c87cedb4680d1614f1d59d13fea353faf3afd41ba5c906a266f3f2e8c245d655"}, - {file = "pydantic-1.10.17-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11289fa895bcbc8f18704efa1d8020bb9a86314da435348f59745473eb042e6b"}, - {file = "pydantic-1.10.17-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:94833612d6fd18b57c359a127cbfd932d9150c1b72fea7c86ab58c2a77edd7c7"}, - {file = "pydantic-1.10.17-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:d4ecb515fa7cb0e46e163ecd9d52f9147ba57bc3633dca0e586cdb7a232db9e3"}, - {file = "pydantic-1.10.17-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:7017971ffa7fd7808146880aa41b266e06c1e6e12261768a28b8b41ba55c8076"}, - {file = "pydantic-1.10.17-cp37-cp37m-win_amd64.whl", hash = "sha256:e840e6b2026920fc3f250ea8ebfdedf6ea7a25b77bf04c6576178e681942ae0f"}, - {file = "pydantic-1.10.17-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:bfbb18b616abc4df70591b8c1ff1b3eabd234ddcddb86b7cac82657ab9017e33"}, - {file = "pydantic-1.10.17-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ebb249096d873593e014535ab07145498957091aa6ae92759a32d40cb9998e2e"}, - {file = "pydantic-1.10.17-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d8c209af63ccd7b22fba94b9024e8b7fd07feffee0001efae50dd99316b27768"}, - {file = "pydantic-1.10.17-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d4b40c9e13a0b61583e5599e7950490c700297b4a375b55b2b592774332798b7"}, - {file = "pydantic-1.10.17-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:c31d281c7485223caf6474fc2b7cf21456289dbaa31401844069b77160cab9c7"}, - {file = "pydantic-1.10.17-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:ae5184e99a060a5c80010a2d53c99aee76a3b0ad683d493e5f0620b5d86eeb75"}, - {file = "pydantic-1.10.17-cp38-cp38-win_amd64.whl", hash = "sha256:ad1e33dc6b9787a6f0f3fd132859aa75626528b49cc1f9e429cdacb2608ad5f0"}, - {file = "pydantic-1.10.17-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7e17c0ee7192e54a10943f245dc79e36d9fe282418ea05b886e1c666063a7b54"}, - {file = "pydantic-1.10.17-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:cafb9c938f61d1b182dfc7d44a7021326547b7b9cf695db5b68ec7b590214773"}, - {file = "pydantic-1.10.17-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95ef534e3c22e5abbdbdd6f66b6ea9dac3ca3e34c5c632894f8625d13d084cbe"}, - {file = "pydantic-1.10.17-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:62d96b8799ae3d782df7ec9615cb59fc32c32e1ed6afa1b231b0595f6516e8ab"}, - {file = "pydantic-1.10.17-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:ab2f976336808fd5d539fdc26eb51f9aafc1f4b638e212ef6b6f05e753c8011d"}, - {file = "pydantic-1.10.17-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:b8ad363330557beac73159acfbeed220d5f1bfcd6b930302a987a375e02f74fd"}, - {file = "pydantic-1.10.17-cp39-cp39-win_amd64.whl", hash = "sha256:48db882e48575ce4b39659558b2f9f37c25b8d348e37a2b4e32971dd5a7d6227"}, - {file = "pydantic-1.10.17-py3-none-any.whl", hash = "sha256:e41b5b973e5c64f674b3b4720286ded184dcc26a691dd55f34391c62c6934688"}, - {file = "pydantic-1.10.17.tar.gz", hash = "sha256:f434160fb14b353caf634149baaf847206406471ba70e64657c1e8330277a991"}, + {file = "pydantic-2.8.2-py3-none-any.whl", hash = "sha256:73ee9fddd406dc318b885c7a2eab8a6472b68b8fb5ba8150949fc3db939f23c8"}, + {file = "pydantic-2.8.2.tar.gz", hash = "sha256:6f62c13d067b0755ad1c21a34bdd06c0c12625a22b0fc09c6b149816604f7c2a"}, ] [package.dependencies] -typing-extensions = ">=4.2.0" +annotated-types = ">=0.4.0" +pydantic-core = "2.20.1" +typing-extensions = [ + {version = ">=4.6.1", markers = "python_version < \"3.13\""}, + {version = ">=4.12.2", markers = "python_version >= \"3.13\""}, +] [package.extras] -dotenv = ["python-dotenv (>=0.10.4)"] -email = ["email-validator (>=1.0.3)"] +email = ["email-validator (>=2.0.0)"] + +[[package]] +name = "pydantic-core" +version = "2.20.1" +description = "Core functionality for Pydantic validation and serialization" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pydantic_core-2.20.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:3acae97ffd19bf091c72df4d726d552c473f3576409b2a7ca36b2f535ffff4a3"}, + {file = "pydantic_core-2.20.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:41f4c96227a67a013e7de5ff8f20fb496ce573893b7f4f2707d065907bffdbd6"}, + {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f239eb799a2081495ea659d8d4a43a8f42cd1fe9ff2e7e436295c38a10c286a"}, + {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:53e431da3fc53360db73eedf6f7124d1076e1b4ee4276b36fb25514544ceb4a3"}, + {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f1f62b2413c3a0e846c3b838b2ecd6c7a19ec6793b2a522745b0869e37ab5bc1"}, + {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d41e6daee2813ecceea8eda38062d69e280b39df793f5a942fa515b8ed67953"}, + {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d482efec8b7dc6bfaedc0f166b2ce349df0011f5d2f1f25537ced4cfc34fd98"}, + {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e93e1a4b4b33daed65d781a57a522ff153dcf748dee70b40c7258c5861e1768a"}, + {file = "pydantic_core-2.20.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e7c4ea22b6739b162c9ecaaa41d718dfad48a244909fe7ef4b54c0b530effc5a"}, + {file = "pydantic_core-2.20.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4f2790949cf385d985a31984907fecb3896999329103df4e4983a4a41e13e840"}, + {file = "pydantic_core-2.20.1-cp310-none-win32.whl", hash = "sha256:5e999ba8dd90e93d57410c5e67ebb67ffcaadcea0ad973240fdfd3a135506250"}, + {file = "pydantic_core-2.20.1-cp310-none-win_amd64.whl", hash = "sha256:512ecfbefef6dac7bc5eaaf46177b2de58cdf7acac8793fe033b24ece0b9566c"}, + {file = "pydantic_core-2.20.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d2a8fa9d6d6f891f3deec72f5cc668e6f66b188ab14bb1ab52422fe8e644f312"}, + {file = "pydantic_core-2.20.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:175873691124f3d0da55aeea1d90660a6ea7a3cfea137c38afa0a5ffabe37b88"}, + {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:37eee5b638f0e0dcd18d21f59b679686bbd18917b87db0193ae36f9c23c355fc"}, + {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:25e9185e2d06c16ee438ed39bf62935ec436474a6ac4f9358524220f1b236e43"}, + {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:150906b40ff188a3260cbee25380e7494ee85048584998c1e66df0c7a11c17a6"}, + {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ad4aeb3e9a97286573c03df758fc7627aecdd02f1da04516a86dc159bf70121"}, + {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d3f3ed29cd9f978c604708511a1f9c2fdcb6c38b9aae36a51905b8811ee5cbf1"}, + {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b0dae11d8f5ded51699c74d9548dcc5938e0804cc8298ec0aa0da95c21fff57b"}, + {file = "pydantic_core-2.20.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:faa6b09ee09433b87992fb5a2859efd1c264ddc37280d2dd5db502126d0e7f27"}, + {file = "pydantic_core-2.20.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9dc1b507c12eb0481d071f3c1808f0529ad41dc415d0ca11f7ebfc666e66a18b"}, + {file = "pydantic_core-2.20.1-cp311-none-win32.whl", hash = "sha256:fa2fddcb7107e0d1808086ca306dcade7df60a13a6c347a7acf1ec139aa6789a"}, + {file = "pydantic_core-2.20.1-cp311-none-win_amd64.whl", hash = "sha256:40a783fb7ee353c50bd3853e626f15677ea527ae556429453685ae32280c19c2"}, + {file = "pydantic_core-2.20.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:595ba5be69b35777474fa07f80fc260ea71255656191adb22a8c53aba4479231"}, + {file = "pydantic_core-2.20.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a4f55095ad087474999ee28d3398bae183a66be4823f753cd7d67dd0153427c9"}, + {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f9aa05d09ecf4c75157197f27cdc9cfaeb7c5f15021c6373932bf3e124af029f"}, + {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e97fdf088d4b31ff4ba35db26d9cc472ac7ef4a2ff2badeabf8d727b3377fc52"}, + {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bc633a9fe1eb87e250b5c57d389cf28998e4292336926b0b6cdaee353f89a237"}, + {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d573faf8eb7e6b1cbbcb4f5b247c60ca8be39fe2c674495df0eb4318303137fe"}, + {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26dc97754b57d2fd00ac2b24dfa341abffc380b823211994c4efac7f13b9e90e"}, + {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:33499e85e739a4b60c9dac710c20a08dc73cb3240c9a0e22325e671b27b70d24"}, + {file = "pydantic_core-2.20.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:bebb4d6715c814597f85297c332297c6ce81e29436125ca59d1159b07f423eb1"}, + {file = "pydantic_core-2.20.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:516d9227919612425c8ef1c9b869bbbee249bc91912c8aaffb66116c0b447ebd"}, + {file = "pydantic_core-2.20.1-cp312-none-win32.whl", hash = "sha256:469f29f9093c9d834432034d33f5fe45699e664f12a13bf38c04967ce233d688"}, + {file = "pydantic_core-2.20.1-cp312-none-win_amd64.whl", hash = "sha256:035ede2e16da7281041f0e626459bcae33ed998cca6a0a007a5ebb73414ac72d"}, + {file = "pydantic_core-2.20.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:0827505a5c87e8aa285dc31e9ec7f4a17c81a813d45f70b1d9164e03a813a686"}, + {file = "pydantic_core-2.20.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:19c0fa39fa154e7e0b7f82f88ef85faa2a4c23cc65aae2f5aea625e3c13c735a"}, + {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa223cd1e36b642092c326d694d8bf59b71ddddc94cdb752bbbb1c5c91d833b"}, + {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c336a6d235522a62fef872c6295a42ecb0c4e1d0f1a3e500fe949415761b8a19"}, + {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7eb6a0587eded33aeefea9f916899d42b1799b7b14b8f8ff2753c0ac1741edac"}, + {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:70c8daf4faca8da5a6d655f9af86faf6ec2e1768f4b8b9d0226c02f3d6209703"}, + {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e9fa4c9bf273ca41f940bceb86922a7667cd5bf90e95dbb157cbb8441008482c"}, + {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:11b71d67b4725e7e2a9f6e9c0ac1239bbc0c48cce3dc59f98635efc57d6dac83"}, + {file = "pydantic_core-2.20.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:270755f15174fb983890c49881e93f8f1b80f0b5e3a3cc1394a255706cabd203"}, + {file = "pydantic_core-2.20.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:c81131869240e3e568916ef4c307f8b99583efaa60a8112ef27a366eefba8ef0"}, + {file = "pydantic_core-2.20.1-cp313-none-win32.whl", hash = "sha256:b91ced227c41aa29c672814f50dbb05ec93536abf8f43cd14ec9521ea09afe4e"}, + {file = "pydantic_core-2.20.1-cp313-none-win_amd64.whl", hash = "sha256:65db0f2eefcaad1a3950f498aabb4875c8890438bc80b19362cf633b87a8ab20"}, + {file = "pydantic_core-2.20.1-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:4745f4ac52cc6686390c40eaa01d48b18997cb130833154801a442323cc78f91"}, + {file = "pydantic_core-2.20.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a8ad4c766d3f33ba8fd692f9aa297c9058970530a32c728a2c4bfd2616d3358b"}, + {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41e81317dd6a0127cabce83c0c9c3fbecceae981c8391e6f1dec88a77c8a569a"}, + {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:04024d270cf63f586ad41fff13fde4311c4fc13ea74676962c876d9577bcc78f"}, + {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eaad4ff2de1c3823fddf82f41121bdf453d922e9a238642b1dedb33c4e4f98ad"}, + {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:26ab812fa0c845df815e506be30337e2df27e88399b985d0bb4e3ecfe72df31c"}, + {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3c5ebac750d9d5f2706654c638c041635c385596caf68f81342011ddfa1e5598"}, + {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2aafc5a503855ea5885559eae883978c9b6d8c8993d67766ee73d82e841300dd"}, + {file = "pydantic_core-2.20.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:4868f6bd7c9d98904b748a2653031fc9c2f85b6237009d475b1008bfaeb0a5aa"}, + {file = "pydantic_core-2.20.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:aa2f457b4af386254372dfa78a2eda2563680d982422641a85f271c859df1987"}, + {file = "pydantic_core-2.20.1-cp38-none-win32.whl", hash = "sha256:225b67a1f6d602de0ce7f6c1c3ae89a4aa25d3de9be857999e9124f15dab486a"}, + {file = "pydantic_core-2.20.1-cp38-none-win_amd64.whl", hash = "sha256:6b507132dcfc0dea440cce23ee2182c0ce7aba7054576efc65634f080dbe9434"}, + {file = "pydantic_core-2.20.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:b03f7941783b4c4a26051846dea594628b38f6940a2fdc0df00b221aed39314c"}, + {file = "pydantic_core-2.20.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1eedfeb6089ed3fad42e81a67755846ad4dcc14d73698c120a82e4ccf0f1f9f6"}, + {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:635fee4e041ab9c479e31edda27fcf966ea9614fff1317e280d99eb3e5ab6fe2"}, + {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:77bf3ac639c1ff567ae3b47f8d4cc3dc20f9966a2a6dd2311dcc055d3d04fb8a"}, + {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7ed1b0132f24beeec5a78b67d9388656d03e6a7c837394f99257e2d55b461611"}, + {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c6514f963b023aeee506678a1cf821fe31159b925c4b76fe2afa94cc70b3222b"}, + {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10d4204d8ca33146e761c79f83cc861df20e7ae9f6487ca290a97702daf56006"}, + {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2d036c7187b9422ae5b262badb87a20a49eb6c5238b2004e96d4da1231badef1"}, + {file = "pydantic_core-2.20.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9ebfef07dbe1d93efb94b4700f2d278494e9162565a54f124c404a5656d7ff09"}, + {file = "pydantic_core-2.20.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:6b9d9bb600328a1ce523ab4f454859e9d439150abb0906c5a1983c146580ebab"}, + {file = "pydantic_core-2.20.1-cp39-none-win32.whl", hash = "sha256:784c1214cb6dd1e3b15dd8b91b9a53852aed16671cc3fbe4786f4f1db07089e2"}, + {file = "pydantic_core-2.20.1-cp39-none-win_amd64.whl", hash = "sha256:d2fe69c5434391727efa54b47a1e7986bb0186e72a41b203df8f5b0a19a4f669"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:a45f84b09ac9c3d35dfcf6a27fd0634d30d183205230a0ebe8373a0e8cfa0906"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:d02a72df14dfdbaf228424573a07af10637bd490f0901cee872c4f434a735b94"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d2b27e6af28f07e2f195552b37d7d66b150adbaa39a6d327766ffd695799780f"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:084659fac3c83fd674596612aeff6041a18402f1e1bc19ca39e417d554468482"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:242b8feb3c493ab78be289c034a1f659e8826e2233786e36f2893a950a719bb6"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:38cf1c40a921d05c5edc61a785c0ddb4bed67827069f535d794ce6bcded919fc"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:e0bbdd76ce9aa5d4209d65f2b27fc6e5ef1312ae6c5333c26db3f5ade53a1e99"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:254ec27fdb5b1ee60684f91683be95e5133c994cc54e86a0b0963afa25c8f8a6"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:407653af5617f0757261ae249d3fba09504d7a71ab36ac057c938572d1bc9331"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:c693e916709c2465b02ca0ad7b387c4f8423d1db7b4649c551f27a529181c5ad"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5b5ff4911aea936a47d9376fd3ab17e970cc543d1b68921886e7f64bd28308d1"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:177f55a886d74f1808763976ac4efd29b7ed15c69f4d838bbd74d9d09cf6fa86"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:964faa8a861d2664f0c7ab0c181af0bea66098b1919439815ca8803ef136fc4e"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:4dd484681c15e6b9a977c785a345d3e378d72678fd5f1f3c0509608da24f2ac0"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f6d6cff3538391e8486a431569b77921adfcdef14eb18fbf19b7c0a5294d4e6a"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a6d511cc297ff0883bc3708b465ff82d7560193169a8b93260f74ecb0a5e08a7"}, + {file = "pydantic_core-2.20.1.tar.gz", hash = "sha256:26ca695eeee5f9f1aeeb211ffc12f10bcb6f71e2989988fda61dabd65db878d4"}, +] + +[package.dependencies] +typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0" [[package]] name = "pygments" @@ -1535,7 +1610,6 @@ mccabe = ">=0.6,<0.8" platformdirs = ">=2.2.0" tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} tomlkit = ">=0.10.1" -typing-extensions = {version = ">=3.10.0", markers = "python_version < \"3.10\""} [package.extras] spelling = ["pyenchant (>=3.2,<4.0)"] @@ -1543,13 +1617,13 @@ testutils = ["gitpython (>3)"] [[package]] name = "pynautobot" -version = "2.2.0" +version = "2.2.1" description = "Nautobot API client library" optional = false python-versions = "<4.0.0,>=3.8.1" files = [ - {file = "pynautobot-2.2.0-py3-none-any.whl", hash = "sha256:cfccebafcce80335d4de1e65b16ae34f5d69c1cb752a879a2003a4be8db60e7d"}, - {file = "pynautobot-2.2.0.tar.gz", hash = "sha256:b288e558be5598a3f46de015309d3558504205c3fe1341371f7ff360f895e674"}, + {file = "pynautobot-2.2.1-py3-none-any.whl", hash = "sha256:52d3d0581f25fc1157dce666fb8b4e0fc0491dfab02d1b72fd78aca4a9258be7"}, + {file = "pynautobot-2.2.1.tar.gz", hash = "sha256:0fa0fc2cbac8372d7cdf1d1e0abc396842760bf4934e31aba8517ab2171f2828"}, ] [package.dependencies] @@ -1559,13 +1633,13 @@ urllib3 = ">=1.21.1,<1.27" [[package]] name = "pytest" -version = "8.2.2" +version = "8.3.2" description = "pytest: simple powerful testing with Python" optional = false python-versions = ">=3.8" files = [ - {file = "pytest-8.2.2-py3-none-any.whl", hash = "sha256:c434598117762e2bd304e526244f67bf66bbd7b5d6cf22138be51ff661980343"}, - {file = "pytest-8.2.2.tar.gz", hash = "sha256:de4bb8104e201939ccdc688b27a89a7be2079b22e2bd2b07f806b6ba71117977"}, + {file = "pytest-8.3.2-py3-none-any.whl", hash = "sha256:4ba08f9ae7dcf84ded419494d229b48d0903ea6407b030eaec46df5e6a73bba5"}, + {file = "pytest-8.3.2.tar.gz", hash = "sha256:c132345d12ce551242c87269de812483f5bcc87cdbb4722e48487ba194f9fdce"}, ] [package.dependencies] @@ -1573,7 +1647,7 @@ colorama = {version = "*", markers = "sys_platform == \"win32\""} exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} iniconfig = "*" packaging = "*" -pluggy = ">=1.5,<2.0" +pluggy = ">=1.5,<2" tomli = {version = ">=1", markers = "python_version < \"3.11\""} [package.extras] @@ -1646,62 +1720,64 @@ testing = ["filelock"] [[package]] name = "pyyaml" -version = "6.0.1" +version = "6.0.2" description = "YAML parser and emitter for Python" optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "PyYAML-6.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a"}, - {file = "PyYAML-6.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f"}, - {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"}, - {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"}, - {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"}, - {file = "PyYAML-6.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290"}, - {file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"}, - {file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"}, - {file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"}, - {file = "PyYAML-6.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab"}, - {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"}, - {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"}, - {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"}, - {file = "PyYAML-6.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b"}, - {file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"}, - {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, - {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"}, - {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"}, - {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef"}, - {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"}, - {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"}, - {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"}, - {file = "PyYAML-6.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df"}, - {file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"}, - {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"}, - {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"}, - {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd"}, - {file = "PyYAML-6.0.1-cp36-cp36m-win32.whl", hash = "sha256:fca0e3a251908a499833aa292323f32437106001d436eca0e6e7833256674585"}, - {file = "PyYAML-6.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa"}, - {file = "PyYAML-6.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3"}, - {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27"}, - {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3"}, - {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:baa90d3f661d43131ca170712d903e6295d1f7a0f595074f151c0aed377c9b9c"}, - {file = "PyYAML-6.0.1-cp37-cp37m-win32.whl", hash = "sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba"}, - {file = "PyYAML-6.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867"}, - {file = "PyYAML-6.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595"}, - {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"}, - {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"}, - {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"}, - {file = "PyYAML-6.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6"}, - {file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"}, - {file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"}, - {file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"}, - {file = "PyYAML-6.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859"}, - {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"}, - {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"}, - {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"}, - {file = "PyYAML-6.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5"}, - {file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"}, - {file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"}, - {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"}, + {file = "PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086"}, + {file = "PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed"}, + {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180"}, + {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68"}, + {file = "PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99"}, + {file = "PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e"}, + {file = "PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774"}, + {file = "PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85"}, + {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4"}, + {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e"}, + {file = "PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5"}, + {file = "PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44"}, + {file = "PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab"}, + {file = "PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476"}, + {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48"}, + {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b"}, + {file = "PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4"}, + {file = "PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8"}, + {file = "PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba"}, + {file = "PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5"}, + {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc"}, + {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652"}, + {file = "PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183"}, + {file = "PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563"}, + {file = "PyYAML-6.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083"}, + {file = "PyYAML-6.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706"}, + {file = "PyYAML-6.0.2-cp38-cp38-win32.whl", hash = "sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a"}, + {file = "PyYAML-6.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff"}, + {file = "PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d"}, + {file = "PyYAML-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19"}, + {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e"}, + {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725"}, + {file = "PyYAML-6.0.2-cp39-cp39-win32.whl", hash = "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631"}, + {file = "PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8"}, + {file = "pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e"}, ] [[package]] @@ -1762,46 +1838,50 @@ jupyter = ["ipywidgets (>=7.5.1,<9)"] [[package]] name = "rstcheck" -version = "6.1.2" +version = "6.2.4" description = "Checks syntax of reStructuredText and code blocks nested within it" optional = false -python-versions = ">=3.7,<4.0" +python-versions = ">=3.8" files = [ - {file = "rstcheck-6.1.2-py3-none-any.whl", hash = "sha256:4aaa46e0debc179f849807c453fa384fd2b75167faf5b1274115730805fab529"}, - {file = "rstcheck-6.1.2.tar.gz", hash = "sha256:f9cb07a72ef9a81d1e32187eae29b00a89421ccba1bde0b1652a08ed0923f61b"}, + {file = "rstcheck-6.2.4-py3-none-any.whl", hash = "sha256:23de2575ba0af1adcddea87a20d69187f0fb9dd8270f59eb98d63461c95375a7"}, + {file = "rstcheck-6.2.4.tar.gz", hash = "sha256:384942563dfbfcc85903a587ecf050447217c46b51e266ed3fe51371bc599015"}, ] [package.dependencies] -rstcheck-core = ">=1.0.2,<2.0.0" -typer = {version = ">=0.4.1,<0.8", extras = ["all"]} +rstcheck-core = ">=1.1" +typer = ">=0.12.0" [package.extras] -docs = ["m2r2 (>=0.3.2)", "sphinx", "sphinx-autobuild (==2021.3.14)", "sphinx-click (>=4.0.3,<5.0.0)", "sphinx-rtd-dark-mode (>=1.2.4,<2.0.0)", "sphinx-rtd-theme (<1)", "sphinxcontrib-spelling (>=7.3)"] -sphinx = ["sphinx"] +dev = ["rstcheck[docs,sphinx,testing,toml,type-check]", "tox (>=3.15)"] +docs = ["myst-parser (>=3)", "sphinx (>=5.0)", "sphinx-autobuild (>=2021.3.14)", "sphinx-click (>=4.0.3)", "sphinx-rtd-theme (>=1.2)", "sphinxcontrib-spelling (>=7.3)"] +sphinx = ["sphinx (>=5.0)"] testing = ["coverage-conditional-plugin (>=0.5)", "coverage[toml] (>=6.0)", "pytest (>=7.2)", "pytest-cov (>=3.0)", "pytest-randomly (>=3.0)", "pytest-sugar (>=0.9.5)"] -toml = ["tomli"] +toml = ["tomli (>=2.0)"] +type-check = ["mypy (>=1.0)"] [[package]] name = "rstcheck-core" -version = "1.0.3" +version = "1.2.1" description = "Checks syntax of reStructuredText and code blocks nested within it" optional = false -python-versions = ">=3.7,<4.0" +python-versions = ">=3.8" files = [ - {file = "rstcheck_core-1.0.3-py3-none-any.whl", hash = "sha256:d75d7df8f15b58e8aafe322d6fb6ef1ac8d12bb563089b0696948a00ee7f601a"}, - {file = "rstcheck_core-1.0.3.tar.gz", hash = "sha256:add19c9a1b97d9087f4b463b49c12cd8a9c03689a255e99089c70a2692f16369"}, + {file = "rstcheck-core-1.2.1.tar.gz", hash = "sha256:9b330020d912e2864f23f332c1a0569463ca3b06b8fee7b7bdd201b055f7f831"}, + {file = "rstcheck_core-1.2.1-py3-none-any.whl", hash = "sha256:1c100de418b6c9e14d9cf6558644d0ab103fdc447f891313882d02df3a3c52ba"}, ] [package.dependencies] -docutils = ">=0.7,<0.20" -pydantic = ">=1.2,<2.0" -types-docutils = ">=0.18,<0.20" +docutils = ">=0.7" +pydantic = ">=2" [package.extras] -docs = ["m2r2 (>=0.3.2)", "sphinx (>=4.0,<6.0)", "sphinx-autobuild (==2021.3.14)", "sphinx-autodoc-typehints (>=1.15)", "sphinx-rtd-dark-mode (>=1.2.4,<2.0.0)", "sphinx-rtd-theme (<1)", "sphinxcontrib-apidoc (>=0.3)", "sphinxcontrib-spelling (>=7.3)"] -sphinx = ["sphinx (>=4.0,<6.0)"] -testing = ["coverage-conditional-plugin (>=0.5)", "coverage[toml] (>=6.0)", "pytest (>=6.0)", "pytest-cov (>=3.0)", "pytest-mock (>=3.7)", "pytest-randomly (>=3.0)", "pytest-sugar (>=0.9.5)"] -toml = ["tomli (>=2.0,<3.0)"] +dev = ["rstcheck-core[docs,sphinx,testing,toml,type-check,yaml]", "tox (>=3.15)"] +docs = ["m2r2 (>=0.3.2)", "sphinx (>=5.0,!=7.2.5)", "sphinx-autobuild (>=2021.3.14)", "sphinx-autodoc-typehints (>=1.15)", "sphinx-rtd-theme (>=1.2)", "sphinxcontrib-apidoc (>=0.3)", "sphinxcontrib-spelling (>=7.3)"] +sphinx = ["sphinx (>=5.0)"] +testing = ["coverage-conditional-plugin (>=0.5)", "coverage[toml] (>=6.0)", "pytest (>=7.2)", "pytest-cov (>=3.0)", "pytest-mock (>=3.7)", "pytest-randomly (>=3.0)", "pytest-sugar (>=0.9.5)"] +toml = ["tomli (>=2.0)"] +type-check = ["mypy (>=1.0)", "types-PyYAML (>=6.0.0)", "types-docutils (>=0.18)"] +yaml = ["pyyaml (>=6.0.0)"] [[package]] name = "semantic-version" @@ -1818,21 +1898,6 @@ files = [ dev = ["Django (>=1.11)", "check-manifest", "colorama (<=0.4.1)", "coverage", "flake8", "nose2", "readme-renderer (<25.0)", "tox", "wheel", "zest.releaser[recommended]"] doc = ["Sphinx", "sphinx-rtd-theme"] -[[package]] -name = "setuptools" -version = "70.3.0" -description = "Easily download, build, install, upgrade, and uninstall Python packages" -optional = false -python-versions = ">=3.8" -files = [ - {file = "setuptools-70.3.0-py3-none-any.whl", hash = "sha256:fe384da74336c398e0d956d1cae0669bc02eed936cdb1d49b57de1990dc11ffc"}, - {file = "setuptools-70.3.0.tar.gz", hash = "sha256:f171bab1dfbc86b132997f26a119f6056a57950d058587841a0082e8830f9dc5"}, -] - -[package.extras] -doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] -test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "importlib-metadata", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test", "mypy (==1.10.0)", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy", "pytest-perf", "pytest-ruff (>=0.3.2)", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] - [[package]] name = "sh" version = "1.14.3" @@ -1889,53 +1954,53 @@ files = [ [[package]] name = "sphinx" -version = "4.3.2" +version = "7.4.7" description = "Python documentation generator" optional = false -python-versions = ">=3.6" +python-versions = ">=3.9" files = [ - {file = "Sphinx-4.3.2-py3-none-any.whl", hash = "sha256:6a11ea5dd0bdb197f9c2abc2e0ce73e01340464feaece525e64036546d24c851"}, - {file = "Sphinx-4.3.2.tar.gz", hash = "sha256:0a8836751a68306b3fe97ecbe44db786f8479c3bf4b80e3a7f5c838657b4698c"}, + {file = "sphinx-7.4.7-py3-none-any.whl", hash = "sha256:c2419e2135d11f1951cd994d6eb18a1835bd8fdd8429f9ca375dc1f3281bd239"}, + {file = "sphinx-7.4.7.tar.gz", hash = "sha256:242f92a7ea7e6c5b406fdc2615413890ba9f699114a9c09192d7dfead2ee9cfe"}, ] [package.dependencies] -alabaster = ">=0.7,<0.8" -babel = ">=1.3" -colorama = {version = ">=0.3.5", markers = "sys_platform == \"win32\""} -docutils = ">=0.14,<0.18" -imagesize = "*" -Jinja2 = ">=2.3" -packaging = "*" -Pygments = ">=2.0" -requests = ">=2.5.0" -setuptools = "*" -snowballstemmer = ">=1.1" +alabaster = ">=0.7.14,<0.8.0" +babel = ">=2.13" +colorama = {version = ">=0.4.6", markers = "sys_platform == \"win32\""} +docutils = ">=0.20,<0.22" +imagesize = ">=1.3" +Jinja2 = ">=3.1" +packaging = ">=23.0" +Pygments = ">=2.17" +requests = ">=2.30.0" +snowballstemmer = ">=2.2" sphinxcontrib-applehelp = "*" sphinxcontrib-devhelp = "*" sphinxcontrib-htmlhelp = ">=2.0.0" sphinxcontrib-jsmath = "*" sphinxcontrib-qthelp = "*" -sphinxcontrib-serializinghtml = ">=1.1.5" +sphinxcontrib-serializinghtml = ">=1.1.9" +tomli = {version = ">=2", markers = "python_version < \"3.11\""} [package.extras] docs = ["sphinxcontrib-websupport"] -lint = ["docutils-stubs", "flake8 (>=3.5.0)", "isort", "mypy (>=0.920)", "types-pkg-resources", "types-requests", "types-typed-ast"] -test = ["cython", "html5lib", "pytest", "pytest-cov", "typed-ast"] +lint = ["flake8 (>=6.0)", "importlib-metadata (>=6.0)", "mypy (==1.10.1)", "pytest (>=6.0)", "ruff (==0.5.2)", "sphinx-lint (>=0.9)", "tomli (>=2)", "types-docutils (==0.21.0.20240711)", "types-requests (>=2.30.0)"] +test = ["cython (>=3.0)", "defusedxml (>=0.7.1)", "pytest (>=8.0)", "setuptools (>=70.0)", "typing_extensions (>=4.9)"] [[package]] name = "sphinx-rtd-theme" -version = "1.3.0" +version = "2.0.0" description = "Read the Docs theme for Sphinx" optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" +python-versions = ">=3.6" files = [ - {file = "sphinx_rtd_theme-1.3.0-py2.py3-none-any.whl", hash = "sha256:46ddef89cc2416a81ecfbeaceab1881948c014b1b6e4450b815311a89fb977b0"}, - {file = "sphinx_rtd_theme-1.3.0.tar.gz", hash = "sha256:590b030c7abb9cf038ec053b95e5380b5c70d61591eb0b552063fbe7c41f0931"}, + {file = "sphinx_rtd_theme-2.0.0-py2.py3-none-any.whl", hash = "sha256:ec93d0856dc280cf3aee9a4c9807c60e027c7f7b461b77aeffed682e68f0e586"}, + {file = "sphinx_rtd_theme-2.0.0.tar.gz", hash = "sha256:bd5d7b80622406762073a04ef8fadc5f9151261563d47027de09910ce03afe6b"}, ] [package.dependencies] -docutils = "<0.19" -sphinx = ">=1.6,<8" +docutils = "<0.21" +sphinx = ">=5,<8" sphinxcontrib-jquery = ">=4,<5" [package.extras] @@ -1943,49 +2008,49 @@ dev = ["bump2version", "sphinxcontrib-httpdomain", "transifex-client", "wheel"] [[package]] name = "sphinxcontrib-applehelp" -version = "1.0.8" +version = "2.0.0" description = "sphinxcontrib-applehelp is a Sphinx extension which outputs Apple help books" optional = false python-versions = ">=3.9" files = [ - {file = "sphinxcontrib_applehelp-1.0.8-py3-none-any.whl", hash = "sha256:cb61eb0ec1b61f349e5cc36b2028e9e7ca765be05e49641c97241274753067b4"}, - {file = "sphinxcontrib_applehelp-1.0.8.tar.gz", hash = "sha256:c40a4f96f3776c4393d933412053962fac2b84f4c99a7982ba42e09576a70619"}, + {file = "sphinxcontrib_applehelp-2.0.0-py3-none-any.whl", hash = "sha256:4cd3f0ec4ac5dd9c17ec65e9ab272c9b867ea77425228e68ecf08d6b28ddbdb5"}, + {file = "sphinxcontrib_applehelp-2.0.0.tar.gz", hash = "sha256:2f29ef331735ce958efa4734873f084941970894c6090408b079c61b2e1c06d1"}, ] [package.extras] -lint = ["docutils-stubs", "flake8", "mypy"] +lint = ["mypy", "ruff (==0.5.5)", "types-docutils"] standalone = ["Sphinx (>=5)"] test = ["pytest"] [[package]] name = "sphinxcontrib-devhelp" -version = "1.0.6" +version = "2.0.0" description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp documents" optional = false python-versions = ">=3.9" files = [ - {file = "sphinxcontrib_devhelp-1.0.6-py3-none-any.whl", hash = "sha256:6485d09629944511c893fa11355bda18b742b83a2b181f9a009f7e500595c90f"}, - {file = "sphinxcontrib_devhelp-1.0.6.tar.gz", hash = "sha256:9893fd3f90506bc4b97bdb977ceb8fbd823989f4316b28c3841ec128544372d3"}, + {file = "sphinxcontrib_devhelp-2.0.0-py3-none-any.whl", hash = "sha256:aefb8b83854e4b0998877524d1029fd3e6879210422ee3780459e28a1f03a8a2"}, + {file = "sphinxcontrib_devhelp-2.0.0.tar.gz", hash = "sha256:411f5d96d445d1d73bb5d52133377b4248ec79db5c793ce7dbe59e074b4dd1ad"}, ] [package.extras] -lint = ["docutils-stubs", "flake8", "mypy"] +lint = ["mypy", "ruff (==0.5.5)", "types-docutils"] standalone = ["Sphinx (>=5)"] test = ["pytest"] [[package]] name = "sphinxcontrib-htmlhelp" -version = "2.0.5" +version = "2.1.0" description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files" optional = false python-versions = ">=3.9" files = [ - {file = "sphinxcontrib_htmlhelp-2.0.5-py3-none-any.whl", hash = "sha256:393f04f112b4d2f53d93448d4bce35842f62b307ccdc549ec1585e950bc35e04"}, - {file = "sphinxcontrib_htmlhelp-2.0.5.tar.gz", hash = "sha256:0dc87637d5de53dd5eec3a6a01753b1ccf99494bd756aafecd74b4fa9e729015"}, + {file = "sphinxcontrib_htmlhelp-2.1.0-py3-none-any.whl", hash = "sha256:166759820b47002d22914d64a075ce08f4c46818e17cfc9470a9786b759b19f8"}, + {file = "sphinxcontrib_htmlhelp-2.1.0.tar.gz", hash = "sha256:c9e2916ace8aad64cc13a0d233ee22317f2b9025b9cf3295249fa985cc7082e9"}, ] [package.extras] -lint = ["docutils-stubs", "flake8", "mypy"] +lint = ["mypy", "ruff (==0.5.5)", "types-docutils"] standalone = ["Sphinx (>=5)"] test = ["html5lib", "pytest"] @@ -2019,33 +2084,33 @@ test = ["flake8", "mypy", "pytest"] [[package]] name = "sphinxcontrib-qthelp" -version = "1.0.7" +version = "2.0.0" description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp documents" optional = false python-versions = ">=3.9" files = [ - {file = "sphinxcontrib_qthelp-1.0.7-py3-none-any.whl", hash = "sha256:e2ae3b5c492d58fcbd73281fbd27e34b8393ec34a073c792642cd8e529288182"}, - {file = "sphinxcontrib_qthelp-1.0.7.tar.gz", hash = "sha256:053dedc38823a80a7209a80860b16b722e9e0209e32fea98c90e4e6624588ed6"}, + {file = "sphinxcontrib_qthelp-2.0.0-py3-none-any.whl", hash = "sha256:b18a828cdba941ccd6ee8445dbe72ffa3ef8cbe7505d8cd1fa0d42d3f2d5f3eb"}, + {file = "sphinxcontrib_qthelp-2.0.0.tar.gz", hash = "sha256:4fe7d0ac8fc171045be623aba3e2a8f613f8682731f9153bb2e40ece16b9bbab"}, ] [package.extras] -lint = ["docutils-stubs", "flake8", "mypy"] +lint = ["mypy", "ruff (==0.5.5)", "types-docutils"] standalone = ["Sphinx (>=5)"] -test = ["pytest"] +test = ["defusedxml (>=0.7.1)", "pytest"] [[package]] name = "sphinxcontrib-serializinghtml" -version = "1.1.10" +version = "2.0.0" description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)" optional = false python-versions = ">=3.9" files = [ - {file = "sphinxcontrib_serializinghtml-1.1.10-py3-none-any.whl", hash = "sha256:326369b8df80a7d2d8d7f99aa5ac577f51ea51556ed974e7716cfd4fca3f6cb7"}, - {file = "sphinxcontrib_serializinghtml-1.1.10.tar.gz", hash = "sha256:93f3f5dc458b91b192fe10c397e324f262cf163d79f3282c158e8436a2c4511f"}, + {file = "sphinxcontrib_serializinghtml-2.0.0-py3-none-any.whl", hash = "sha256:6e2cb0eef194e10c27ec0023bfeb25badbbb5868244cf5bc5bdc04e4464bf331"}, + {file = "sphinxcontrib_serializinghtml-2.0.0.tar.gz", hash = "sha256:e9d912827f872c029017a53f0ef2180b327c3f7fd23c87229f7a8e8b70031d4d"}, ] [package.extras] -lint = ["docutils-stubs", "flake8", "mypy"] +lint = ["mypy", "ruff (==0.5.5)", "types-docutils"] standalone = ["Sphinx (>=5)"] test = ["pytest"] @@ -2101,36 +2166,20 @@ six = "*" [[package]] name = "typer" -version = "0.4.2" +version = "0.12.3" description = "Typer, build great CLIs. Easy to code. Based on Python type hints." optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "typer-0.4.2-py3-none-any.whl", hash = "sha256:023bae00d1baf358a6cc7cea45851639360bb716de687b42b0a4641cd99173f1"}, - {file = "typer-0.4.2.tar.gz", hash = "sha256:b8261c6c0152dd73478b5ba96ba677e5d6948c715c310f7c91079f311f62ec03"}, + {file = "typer-0.12.3-py3-none-any.whl", hash = "sha256:070d7ca53f785acbccba8e7d28b08dcd88f79f1fbda035ade0aecec71ca5c914"}, + {file = "typer-0.12.3.tar.gz", hash = "sha256:49e73131481d804288ef62598d97a1ceef3058905aa536a1134f90891ba35482"}, ] [package.dependencies] -click = ">=7.1.1,<9.0.0" -colorama = {version = ">=0.4.3,<0.5.0", optional = true, markers = "extra == \"all\""} -shellingham = {version = ">=1.3.0,<2.0.0", optional = true, markers = "extra == \"all\""} - -[package.extras] -all = ["colorama (>=0.4.3,<0.5.0)", "shellingham (>=1.3.0,<2.0.0)"] -dev = ["autoflake (>=1.3.1,<2.0.0)", "flake8 (>=3.8.3,<4.0.0)", "pre-commit (>=2.17.0,<3.0.0)"] -doc = ["mdx-include (>=1.4.1,<2.0.0)", "mkdocs (>=1.1.2,<2.0.0)", "mkdocs-material (>=8.1.4,<9.0.0)"] -test = ["black (>=22.3.0,<23.0.0)", "coverage (>=5.2,<6.0)", "isort (>=5.0.6,<6.0.0)", "mypy (==0.910)", "pytest (>=4.4.0,<5.4.0)", "pytest-cov (>=2.10.0,<3.0.0)", "pytest-sugar (>=0.9.4,<0.10.0)", "pytest-xdist (>=1.32.0,<2.0.0)", "shellingham (>=1.3.0,<2.0.0)"] - -[[package]] -name = "types-docutils" -version = "0.19.1.9" -description = "Typing stubs for docutils" -optional = false -python-versions = "*" -files = [ - {file = "types-docutils-0.19.1.9.tar.gz", hash = "sha256:1d029567e67c52992fd42aa968778bc10a5e445c8450fc751d672d6f50330a4a"}, - {file = "types_docutils-0.19.1.9-py3-none-any.whl", hash = "sha256:556fb7ee19248aa482caa142a830c940b776b0f8c7577a98abe0977574546a1d"}, -] +click = ">=8.0.0" +rich = ">=10.11.0" +shellingham = ">=1.3.0" +typing-extensions = ">=3.7.4.3" [[package]] name = "typing-extensions" @@ -2343,13 +2392,13 @@ multidict = ">=4.0" [[package]] name = "zipp" -version = "3.19.2" +version = "3.20.0" description = "Backport of pathlib-compatible object wrapper for zip files" optional = false python-versions = ">=3.8" files = [ - {file = "zipp-3.19.2-py3-none-any.whl", hash = "sha256:f091755f667055f2d02b32c53771a7a6c8b47e1fdbc4b72a8b9072b3eef8015c"}, - {file = "zipp-3.19.2.tar.gz", hash = "sha256:bf1dcf6450f873a13e952a29504887c89e6de7506209e5b1bcc3460135d4de19"}, + {file = "zipp-3.20.0-py3-none-any.whl", hash = "sha256:58da6168be89f0be59beb194da1250516fdaa062ccebd30127ac65d30045e10d"}, + {file = "zipp-3.20.0.tar.gz", hash = "sha256:0145e43d89664cfe1a2e533adc75adafed82fe2da404b4bbb6b026c0157bdb31"}, ] [package.extras] @@ -2358,5 +2407,5 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" -python-versions = "^3.9" -content-hash = "7d3834e3dca2450fe615a67f08c0a06342188ac08fff224e6c982da773d38f5c" +python-versions = ">=3.10,<4.0" +content-hash = "2d136c6a9be4c07ee28edd92cf8bd1a8af06518bc061efd0722106f4dc0a83cf" diff --git a/pyproject.toml b/pyproject.toml index 48d53559..0867c502 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,10 +6,10 @@ authors = ["Network to Code "] license = "Apache 2.0" [tool.poetry.dependencies] -python = "^3.9" +python = ">=3.10,<4.0" netutils = "^1.2" pynautobot = "^2.1.1" -ansible-core = "^2.14" +ansible-core = "^2.16" [tool.poetry.dev-dependencies] black = "*" diff --git a/tasks.py b/tasks.py index b96c60e0..73b6d35f 100644 --- a/tasks.py +++ b/tasks.py @@ -27,7 +27,7 @@ def is_truthy(arg): "nautobot_ansible": { "nautobot_ver": "2.0.0", "project_name": "nautobot_ansible", - "python_ver": "3.9", + "python_ver": "3.10", "local": False, "compose_dir": os.path.join(os.path.dirname(__file__), "development"), "compose_files": ["docker-compose.yml"], diff --git a/tests/sanity/ignore-2.11.txt b/tests/sanity/ignore-2.11.txt deleted file mode 100644 index 66fe44ae..00000000 --- a/tests/sanity/ignore-2.11.txt +++ /dev/null @@ -1 +0,0 @@ -plugins/inventory/inventory.py pylint:isinstance-second-argument-not-valid-type # Bug that requires newer version (2.7.5) of pylint: https://github.com/PyCQA/pylint/issues/3507 \ No newline at end of file diff --git a/tests/sanity/ignore-2.12.txt b/tests/sanity/ignore-2.12.txt deleted file mode 100644 index 0ee1dc90..00000000 --- a/tests/sanity/ignore-2.12.txt +++ /dev/null @@ -1,2 +0,0 @@ -tests/integration/entrypoint.sh shellcheck:SC2016 # Command requires what is there -tests/integration/entrypoint.sh shellcheck:SC2086 # Command requires what is there \ No newline at end of file diff --git a/tests/sanity/ignore-2.14.txt b/tests/sanity/ignore-2.16.txt similarity index 100% rename from tests/sanity/ignore-2.14.txt rename to tests/sanity/ignore-2.16.txt diff --git a/tests/sanity/ignore-2.15.txt b/tests/sanity/ignore-2.17.txt similarity index 100% rename from tests/sanity/ignore-2.15.txt rename to tests/sanity/ignore-2.17.txt From b014661e9b96494d9e3e10d55ae29d278e24ded1 Mon Sep 17 00:00:00 2001 From: Joe Wesch Date: Mon, 12 Aug 2024 21:38:46 -0500 Subject: [PATCH 056/102] Removes version pins for dev dependencies --- poetry.lock | 515 +++++++++++++++++++++++-------------------------- pyproject.toml | 24 +-- 2 files changed, 251 insertions(+), 288 deletions(-) diff --git a/poetry.lock b/poetry.lock index 82e4b8f6..bd40184b 100644 --- a/poetry.lock +++ b/poetry.lock @@ -135,13 +135,13 @@ frozenlist = ">=1.1.0" [[package]] name = "alabaster" -version = "0.7.16" +version = "1.0.0" description = "A light, configurable Sphinx theme" optional = false -python-versions = ">=3.9" +python-versions = ">=3.10" files = [ - {file = "alabaster-0.7.16-py3-none-any.whl", hash = "sha256:b46733c07dce03ae4e150330b975c75737fa60f0a7c591b6c8bf4928a28e2c92"}, - {file = "alabaster-0.7.16.tar.gz", hash = "sha256:75a8b99c28a5dad50dd7f8ccdd447a121ddb3892da9e53d1ca5cca3106d58d65"}, + {file = "alabaster-1.0.0-py3-none-any.whl", hash = "sha256:fc6786402dc3fcb2de3cabd5fe455a2db534b371124f1f21de8731783dec828b"}, + {file = "alabaster-1.0.0.tar.gz", hash = "sha256:c00dca57bca26fa62a6d7d0a9fcce65f3e026e9bfe33e9c538fd3fbb2144fd9e"}, ] [[package]] @@ -189,21 +189,38 @@ pygments = ">=2.4.0" [[package]] name = "antsibull" -version = "0.45.1" +version = "0.63.1" description = "Tools for building the Ansible Distribution" optional = false -python-versions = ">=3.6.1,<4.0.0" +python-versions = ">=3.9" files = [ - {file = "antsibull-0.45.1-py3-none-any.whl", hash = "sha256:dfdabbaeacc0c00408961448a03f4e2516ac2658e220ca184669403efe9cb329"}, - {file = "antsibull-0.45.1.tar.gz", hash = "sha256:67dc55d84bb10e06bf344eed9a0c3ac057a16beed40ab9fc3e38f693865279d6"}, + {file = "antsibull-0.63.1-py3-none-any.whl", hash = "sha256:a8056df6a82170ec98579820d7b80d84950ca181e34bcceec6139db5c8989ec2"}, + {file = "antsibull-0.63.1.tar.gz", hash = "sha256:f8f42f727e29c8ad94143f550973e46df2a126e42275087707247b656d1314dc"}, ] [package.dependencies] -antsibull-changelog = ">=0.14.0" -antsibull-core = ">=1.0.0,<2.0.0" -antsibull-docs = ">=1.0.0,<2.0.0" +aiofiles = "*" +aiohttp = ">=3.0.0" +antsibull-changelog = ">=0.24.0" +antsibull-core = ">=2.0.0,<4.0.0" asyncio-pool = "*" +build = "*" jinja2 = "*" +packaging = ">=20.0" +pydantic = "<3" +semantic-version = "*" +twiggy = "*" +typing-extensions = "*" + +[package.extras] +all = ["pyperclip"] +clipboard = ["pyperclip"] +codeqa = ["flake8 (>=3.8.0)", "pylint", "reuse"] +coverage = ["coverage[toml]"] +dev = ["asynctest", "coverage[toml]", "cryptography", "flake8 (>=3.8.0)", "mypy", "nox", "pylint", "pyperclip", "pyre-check (>=0.9.15)", "pytest", "pytest-asyncio (>=0.12)", "pytest-cov", "pytest-error-for-skips", "reuse", "types-aiofiles", "types-docutils", "types-pyyaml", "types-setuptools"] +formatters = ["black (>=24)", "isort"] +test = ["asynctest", "cryptography", "pytest", "pytest-asyncio (>=0.12)", "pytest-cov", "pytest-error-for-skips"] +typing = ["mypy", "pyre-check (>=0.9.15)", "types-aiofiles", "types-docutils", "types-pyyaml", "types-setuptools"] [[package]] name = "antsibull-changelog" @@ -234,65 +251,102 @@ typing = ["mypy", "pyre-check (>=0.9.17)", "types-docutils", "types-pyyaml", "ty [[package]] name = "antsibull-core" -version = "1.5.1" +version = "3.0.1" description = "Tools for building the Ansible Distribution" optional = false -python-versions = ">=3.6.1,<4.0.0" +python-versions = ">=3.9" files = [ - {file = "antsibull_core-1.5.1-py3-none-any.whl", hash = "sha256:2406c676692d4d2e1c89ef188d4195e74d92a38ef584a5a6b006ecec23c87224"}, - {file = "antsibull_core-1.5.1.tar.gz", hash = "sha256:d5e3813317b332485abb808a9d0754aca2700ca19f8e6bee714187f4c0db8d70"}, + {file = "antsibull_core-3.0.1-py3-none-any.whl", hash = "sha256:653f44b010c85b6bcd37aacde64b35e56adec8f62119d2764aa56add7299c2f8"}, + {file = "antsibull_core-3.0.1.tar.gz", hash = "sha256:d7fddfb539757849725f8ae88ff049cef360c088a67251de0d1d8cb041243a9c"}, ] [package.dependencies] aiofiles = "*" aiohttp = ">=3.0.0" +build = "*" packaging = ">=20.0" perky = "*" -pydantic = "*" -PyYAML = "*" -semantic_version = "*" -sh = ">=1.0.0,<2.0.0" +pydantic = ">=2.0,<3.0" +pyyaml = "*" +semantic-version = "*" twiggy = ">=0.5.0" +[package.extras] +codeqa = ["antsibull-changelog", "flake8 (>=6.0.0)", "pylint (>=2.15.7)", "reuse"] +coverage = ["coverage[toml]"] +dev = ["antsibull-changelog", "asynctest", "black (>=24)", "coverage[toml]", "cryptography", "flake8 (>=6.0.0)", "isort", "mypy", "nox", "pylint (>=2.15.7)", "pyre-check (>=0.9.17)", "pytest", "pytest-asyncio (>=0.20)", "pytest-cov", "pytest-error-for-skips", "reuse", "types-aiofiles", "types-pyyaml", "typing-extensions"] +formatters = ["black (>=24)", "isort"] +test = ["asynctest", "cryptography", "pytest", "pytest-asyncio (>=0.20)", "pytest-cov", "pytest-error-for-skips"] +typing = ["mypy", "pyre-check (>=0.9.17)", "types-aiofiles", "types-pyyaml", "typing-extensions"] + [[package]] name = "antsibull-docs" -version = "1.9.0" +version = "2.12.0" description = "Tools for building Ansible documentation" optional = false -python-versions = ">=3.6.1,<4.0.0" +python-versions = ">=3.9" files = [ - {file = "antsibull_docs-1.9.0-py3-none-any.whl", hash = "sha256:b9fc1243f47a6e32392cbd860ed73f9c34833ee7e9caafbefb3f7e6e01976429"}, - {file = "antsibull_docs-1.9.0.tar.gz", hash = "sha256:aee9383dd24548507ea53dd76adb39367600d2df80d6dcfa81c93c578d589601"}, + {file = "antsibull_docs-2.12.0-py3-none-any.whl", hash = "sha256:ba03fdbd3f8e062de4e723f97b7ffe1b61160bd72064dd6292ae48994491574e"}, + {file = "antsibull_docs-2.12.0.tar.gz", hash = "sha256:1e0abaee583c84c902c7dbcbb0cc677b0d62ecba59ca81d3e3f3f384859a8c67"}, ] [package.dependencies] +aiohttp = ">=3.0.0" ansible-pygments = "*" -antsibull-core = ">=1.2.0,<3.0.0" +antsibull-changelog = ">=0.24.0" +antsibull-core = ">=2.1.0,<4.0.0" +antsibull-docs-parser = ">=1.0.2,<2.0.0" asyncio-pool = "*" docutils = "*" -jinja2 = "*" -packaging = "*" +jinja2 = ">=3.0" +packaging = ">=20.0" +pydantic = ">=1.0.0,<3.0.0" +pyyaml = "*" rstcheck = ">=3.0.0,<7.0.0" +semantic-version = "*" sphinx = "*" +twiggy = "*" + +[package.extras] +codeqa = ["flake8 (>=3.8.0)", "pylint (>=2.17.2)", "reuse"] +coverage = ["coverage[toml]"] +dev = ["ansible-core (>=2.14.0)", "asynctest", "black (>=24)", "cryptography", "flake8 (>=3.8.0)", "isort", "mypy", "nox", "pylint (>=2.17.2)", "pyre-check (>=0.9.17)", "pytest", "pytest-asyncio (>=0.12)", "pytest-cov", "pytest-error-for-skips", "reuse", "types-aiofiles", "types-docutils", "types-pyyaml"] +formatters = ["black (>=24)", "isort"] +test = ["ansible-core (>=2.14.0)", "asynctest", "cryptography", "pytest", "pytest-asyncio (>=0.12)", "pytest-cov", "pytest-error-for-skips"] +typing = ["mypy", "pyre-check (>=0.9.17)", "types-aiofiles", "types-docutils", "types-pyyaml"] + +[[package]] +name = "antsibull-docs-parser" +version = "1.0.2" +description = "Python library for processing Ansible documentation markup" +optional = false +python-versions = ">=3.6.1" +files = [ + {file = "antsibull_docs_parser-1.0.2-py3-none-any.whl", hash = "sha256:ee4717be6280300a3d61404e23508c5ab2522d40b9487e88ff8896092878e379"}, + {file = "antsibull_docs_parser-1.0.2.tar.gz", hash = "sha256:d42546c5697c9e5ff4e9515bbd142fa88771058d18307f2105c3f60e4c089558"}, +] + +[package.extras] +codeqa = ["antsibull-changelog", "flake8", "pylint", "reuse"] +coverage = ["coverage[toml]"] +dev = ["antsibull-changelog", "black", "coverage[toml]", "flake8", "isort", "mypy", "nox", "pylint", "pyre-check (>=0.9.17)", "pytest", "pytest-cov", "pytest-error-for-skips", "pyyaml", "reuse"] +formatters = ["black", "isort"] +test = ["pytest", "pytest-cov", "pytest-error-for-skips", "pyyaml"] +typing = ["mypy", "pyre-check (>=0.9.17)"] [[package]] name = "astroid" -version = "2.15.8" +version = "3.2.4" description = "An abstract syntax tree for Python with inference support." optional = false -python-versions = ">=3.7.2" +python-versions = ">=3.8.0" files = [ - {file = "astroid-2.15.8-py3-none-any.whl", hash = "sha256:1aa149fc5c6589e3d0ece885b4491acd80af4f087baafa3fb5203b113e68cd3c"}, - {file = "astroid-2.15.8.tar.gz", hash = "sha256:6c107453dffee9055899705de3c9ead36e74119cee151e5a9aaf7f0b0e020a6a"}, + {file = "astroid-3.2.4-py3-none-any.whl", hash = "sha256:413658a61eeca6202a59231abb473f932038fbcbf1666587f66d482083413a25"}, + {file = "astroid-3.2.4.tar.gz", hash = "sha256:0e14202810b30da1b735827f78f5157be2bbd4a7a59b7707ca0bfc2fb4c0063a"}, ] [package.dependencies] -lazy-object-proxy = ">=1.4.0" typing-extensions = {version = ">=4.0.0", markers = "python_version < \"3.11\""} -wrapt = [ - {version = ">=1.11,<2", markers = "python_version < \"3.11\""}, - {version = ">=1.14,<2", markers = "python_version >= \"3.11\""}, -] [[package]] name = "async-timeout" @@ -419,6 +473,31 @@ d = ["aiohttp (>=3.7.4)", "aiohttp (>=3.7.4,!=3.9.0)"] jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] uvloop = ["uvloop (>=0.15.2)"] +[[package]] +name = "build" +version = "1.2.1" +description = "A simple, correct Python build frontend" +optional = false +python-versions = ">=3.8" +files = [ + {file = "build-1.2.1-py3-none-any.whl", hash = "sha256:75e10f767a433d9a86e50d83f418e83efc18ede923ee5ff7df93b6cb0306c5d4"}, + {file = "build-1.2.1.tar.gz", hash = "sha256:526263f4870c26f26c433545579475377b2b7588b6f1eac76a001e873ae3e19d"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "os_name == \"nt\""} +importlib-metadata = {version = ">=4.6", markers = "python_full_version < \"3.10.2\""} +packaging = ">=19.1" +pyproject_hooks = "*" +tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} + +[package.extras] +docs = ["furo (>=2023.08.17)", "sphinx (>=7.0,<8.0)", "sphinx-argparse-cli (>=1.5)", "sphinx-autodoc-typehints (>=1.10)", "sphinx-issues (>=3.0.0)"] +test = ["build[uv,virtualenv]", "filelock (>=3)", "pytest (>=6.2.4)", "pytest-cov (>=2.12)", "pytest-mock (>=2)", "pytest-rerunfailures (>=9.1)", "pytest-xdist (>=1.34)", "setuptools (>=42.0.0)", "setuptools (>=56.0.0)", "setuptools (>=56.0.0)", "setuptools (>=67.8.0)", "wheel (>=0.36.0)"] +typing = ["build[uv]", "importlib-metadata (>=5.1)", "mypy (>=1.9.0,<1.10.0)", "tomli", "typing-extensions (>=3.7.4.3)"] +uv = ["uv (>=0.1.18)"] +virtualenv = ["virtualenv (>=20.0.35)"] + [[package]] name = "certifi" version = "2024.7.4" @@ -635,61 +714,83 @@ files = [ [[package]] name = "coverage" -version = "6.5.0" +version = "7.6.1" description = "Code coverage measurement for Python" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "coverage-6.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ef8674b0ee8cc11e2d574e3e2998aea5df5ab242e012286824ea3c6970580e53"}, - {file = "coverage-6.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:784f53ebc9f3fd0e2a3f6a78b2be1bd1f5575d7863e10c6e12504f240fd06660"}, - {file = "coverage-6.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b4a5be1748d538a710f87542f22c2cad22f80545a847ad91ce45e77417293eb4"}, - {file = "coverage-6.5.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:83516205e254a0cb77d2d7bb3632ee019d93d9f4005de31dca0a8c3667d5bc04"}, - {file = "coverage-6.5.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:af4fffaffc4067232253715065e30c5a7ec6faac36f8fc8d6f64263b15f74db0"}, - {file = "coverage-6.5.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:97117225cdd992a9c2a5515db1f66b59db634f59d0679ca1fa3fe8da32749cae"}, - {file = "coverage-6.5.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:a1170fa54185845505fbfa672f1c1ab175446c887cce8212c44149581cf2d466"}, - {file = "coverage-6.5.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:11b990d520ea75e7ee8dcab5bc908072aaada194a794db9f6d7d5cfd19661e5a"}, - {file = "coverage-6.5.0-cp310-cp310-win32.whl", hash = "sha256:5dbec3b9095749390c09ab7c89d314727f18800060d8d24e87f01fb9cfb40b32"}, - {file = "coverage-6.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:59f53f1dc5b656cafb1badd0feb428c1e7bc19b867479ff72f7a9dd9b479f10e"}, - {file = "coverage-6.5.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4a5375e28c5191ac38cca59b38edd33ef4cc914732c916f2929029b4bfb50795"}, - {file = "coverage-6.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c4ed2820d919351f4167e52425e096af41bfabacb1857186c1ea32ff9983ed75"}, - {file = "coverage-6.5.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:33a7da4376d5977fbf0a8ed91c4dffaaa8dbf0ddbf4c8eea500a2486d8bc4d7b"}, - {file = "coverage-6.5.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a8fb6cf131ac4070c9c5a3e21de0f7dc5a0fbe8bc77c9456ced896c12fcdad91"}, - {file = "coverage-6.5.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a6b7d95969b8845250586f269e81e5dfdd8ff828ddeb8567a4a2eaa7313460c4"}, - {file = "coverage-6.5.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:1ef221513e6f68b69ee9e159506d583d31aa3567e0ae84eaad9d6ec1107dddaa"}, - {file = "coverage-6.5.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cca4435eebea7962a52bdb216dec27215d0df64cf27fc1dd538415f5d2b9da6b"}, - {file = "coverage-6.5.0-cp311-cp311-win32.whl", hash = "sha256:98e8a10b7a314f454d9eff4216a9a94d143a7ee65018dd12442e898ee2310578"}, - {file = "coverage-6.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:bc8ef5e043a2af066fa8cbfc6e708d58017024dc4345a1f9757b329a249f041b"}, - {file = "coverage-6.5.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:4433b90fae13f86fafff0b326453dd42fc9a639a0d9e4eec4d366436d1a41b6d"}, - {file = "coverage-6.5.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4f05d88d9a80ad3cac6244d36dd89a3c00abc16371769f1340101d3cb899fc3"}, - {file = "coverage-6.5.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:94e2565443291bd778421856bc975d351738963071e9b8839ca1fc08b42d4bef"}, - {file = "coverage-6.5.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:027018943386e7b942fa832372ebc120155fd970837489896099f5cfa2890f79"}, - {file = "coverage-6.5.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:255758a1e3b61db372ec2736c8e2a1fdfaf563977eedbdf131de003ca5779b7d"}, - {file = "coverage-6.5.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:851cf4ff24062c6aec510a454b2584f6e998cada52d4cb58c5e233d07172e50c"}, - {file = "coverage-6.5.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:12adf310e4aafddc58afdb04d686795f33f4d7a6fa67a7a9d4ce7d6ae24d949f"}, - {file = "coverage-6.5.0-cp37-cp37m-win32.whl", hash = "sha256:b5604380f3415ba69de87a289a2b56687faa4fe04dbee0754bfcae433489316b"}, - {file = "coverage-6.5.0-cp37-cp37m-win_amd64.whl", hash = "sha256:4a8dbc1f0fbb2ae3de73eb0bdbb914180c7abfbf258e90b311dcd4f585d44bd2"}, - {file = "coverage-6.5.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d900bb429fdfd7f511f868cedd03a6bbb142f3f9118c09b99ef8dc9bf9643c3c"}, - {file = "coverage-6.5.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:2198ea6fc548de52adc826f62cb18554caedfb1d26548c1b7c88d8f7faa8f6ba"}, - {file = "coverage-6.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c4459b3de97b75e3bd6b7d4b7f0db13f17f504f3d13e2a7c623786289dd670e"}, - {file = "coverage-6.5.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:20c8ac5386253717e5ccc827caad43ed66fea0efe255727b1053a8154d952398"}, - {file = "coverage-6.5.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b07130585d54fe8dff3d97b93b0e20290de974dc8177c320aeaf23459219c0b"}, - {file = "coverage-6.5.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:dbdb91cd8c048c2b09eb17713b0c12a54fbd587d79adcebad543bc0cd9a3410b"}, - {file = "coverage-6.5.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:de3001a203182842a4630e7b8d1a2c7c07ec1b45d3084a83d5d227a3806f530f"}, - {file = "coverage-6.5.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:e07f4a4a9b41583d6eabec04f8b68076ab3cd44c20bd29332c6572dda36f372e"}, - {file = "coverage-6.5.0-cp38-cp38-win32.whl", hash = "sha256:6d4817234349a80dbf03640cec6109cd90cba068330703fa65ddf56b60223a6d"}, - {file = "coverage-6.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:7ccf362abd726b0410bf8911c31fbf97f09f8f1061f8c1cf03dfc4b6372848f6"}, - {file = "coverage-6.5.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:633713d70ad6bfc49b34ead4060531658dc6dfc9b3eb7d8a716d5873377ab745"}, - {file = "coverage-6.5.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:95203854f974e07af96358c0b261f1048d8e1083f2de9b1c565e1be4a3a48cfc"}, - {file = "coverage-6.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b9023e237f4c02ff739581ef35969c3739445fb059b060ca51771e69101efffe"}, - {file = "coverage-6.5.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:265de0fa6778d07de30bcf4d9dc471c3dc4314a23a3c6603d356a3c9abc2dfcf"}, - {file = "coverage-6.5.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f830ed581b45b82451a40faabb89c84e1a998124ee4212d440e9c6cf70083e5"}, - {file = "coverage-6.5.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:7b6be138d61e458e18d8e6ddcddd36dd96215edfe5f1168de0b1b32635839b62"}, - {file = "coverage-6.5.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:42eafe6778551cf006a7c43153af1211c3aaab658d4d66fa5fcc021613d02518"}, - {file = "coverage-6.5.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:723e8130d4ecc8f56e9a611e73b31219595baa3bb252d539206f7bbbab6ffc1f"}, - {file = "coverage-6.5.0-cp39-cp39-win32.whl", hash = "sha256:d9ecf0829c6a62b9b573c7bb6d4dcd6ba8b6f80be9ba4fc7ed50bf4ac9aecd72"}, - {file = "coverage-6.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:fc2af30ed0d5ae0b1abdb4ebdce598eafd5b35397d4d75deb341a614d333d987"}, - {file = "coverage-6.5.0-pp36.pp37.pp38-none-any.whl", hash = "sha256:1431986dac3923c5945271f169f59c45b8802a114c8f548d611f2015133df77a"}, - {file = "coverage-6.5.0.tar.gz", hash = "sha256:f642e90754ee3e06b0e7e51bce3379590e76b7f76b708e1a71ff043f87025c84"}, + {file = "coverage-7.6.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b06079abebbc0e89e6163b8e8f0e16270124c154dc6e4a47b413dd538859af16"}, + {file = "coverage-7.6.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cf4b19715bccd7ee27b6b120e7e9dd56037b9c0681dcc1adc9ba9db3d417fa36"}, + {file = "coverage-7.6.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61c0abb4c85b095a784ef23fdd4aede7a2628478e7baba7c5e3deba61070a02"}, + {file = "coverage-7.6.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fd21f6ae3f08b41004dfb433fa895d858f3f5979e7762d052b12aef444e29afc"}, + {file = "coverage-7.6.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f59d57baca39b32db42b83b2a7ba6f47ad9c394ec2076b084c3f029b7afca23"}, + {file = "coverage-7.6.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a1ac0ae2b8bd743b88ed0502544847c3053d7171a3cff9228af618a068ed9c34"}, + {file = "coverage-7.6.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e6a08c0be454c3b3beb105c0596ebdc2371fab6bb90c0c0297f4e58fd7e1012c"}, + {file = "coverage-7.6.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f5796e664fe802da4f57a168c85359a8fbf3eab5e55cd4e4569fbacecc903959"}, + {file = "coverage-7.6.1-cp310-cp310-win32.whl", hash = "sha256:7bb65125fcbef8d989fa1dd0e8a060999497629ca5b0efbca209588a73356232"}, + {file = "coverage-7.6.1-cp310-cp310-win_amd64.whl", hash = "sha256:3115a95daa9bdba70aea750db7b96b37259a81a709223c8448fa97727d546fe0"}, + {file = "coverage-7.6.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:7dea0889685db8550f839fa202744652e87c60015029ce3f60e006f8c4462c93"}, + {file = "coverage-7.6.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ed37bd3c3b063412f7620464a9ac1314d33100329f39799255fb8d3027da50d3"}, + {file = "coverage-7.6.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d85f5e9a5f8b73e2350097c3756ef7e785f55bd71205defa0bfdaf96c31616ff"}, + {file = "coverage-7.6.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9bc572be474cafb617672c43fe989d6e48d3c83af02ce8de73fff1c6bb3c198d"}, + {file = "coverage-7.6.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c0420b573964c760df9e9e86d1a9a622d0d27f417e1a949a8a66dd7bcee7bc6"}, + {file = "coverage-7.6.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1f4aa8219db826ce6be7099d559f8ec311549bfc4046f7f9fe9b5cea5c581c56"}, + {file = "coverage-7.6.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:fc5a77d0c516700ebad189b587de289a20a78324bc54baee03dd486f0855d234"}, + {file = "coverage-7.6.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b48f312cca9621272ae49008c7f613337c53fadca647d6384cc129d2996d1133"}, + {file = "coverage-7.6.1-cp311-cp311-win32.whl", hash = "sha256:1125ca0e5fd475cbbba3bb67ae20bd2c23a98fac4e32412883f9bcbaa81c314c"}, + {file = "coverage-7.6.1-cp311-cp311-win_amd64.whl", hash = "sha256:8ae539519c4c040c5ffd0632784e21b2f03fc1340752af711f33e5be83a9d6c6"}, + {file = "coverage-7.6.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:95cae0efeb032af8458fc27d191f85d1717b1d4e49f7cb226cf526ff28179778"}, + {file = "coverage-7.6.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5621a9175cf9d0b0c84c2ef2b12e9f5f5071357c4d2ea6ca1cf01814f45d2391"}, + {file = "coverage-7.6.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:260933720fdcd75340e7dbe9060655aff3af1f0c5d20f46b57f262ab6c86a5e8"}, + {file = "coverage-7.6.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07e2ca0ad381b91350c0ed49d52699b625aab2b44b65e1b4e02fa9df0e92ad2d"}, + {file = "coverage-7.6.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c44fee9975f04b33331cb8eb272827111efc8930cfd582e0320613263ca849ca"}, + {file = "coverage-7.6.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:877abb17e6339d96bf08e7a622d05095e72b71f8afd8a9fefc82cf30ed944163"}, + {file = "coverage-7.6.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:3e0cadcf6733c09154b461f1ca72d5416635e5e4ec4e536192180d34ec160f8a"}, + {file = "coverage-7.6.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c3c02d12f837d9683e5ab2f3d9844dc57655b92c74e286c262e0fc54213c216d"}, + {file = "coverage-7.6.1-cp312-cp312-win32.whl", hash = "sha256:e05882b70b87a18d937ca6768ff33cc3f72847cbc4de4491c8e73880766718e5"}, + {file = "coverage-7.6.1-cp312-cp312-win_amd64.whl", hash = "sha256:b5d7b556859dd85f3a541db6a4e0167b86e7273e1cdc973e5b175166bb634fdb"}, + {file = "coverage-7.6.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a4acd025ecc06185ba2b801f2de85546e0b8ac787cf9d3b06e7e2a69f925b106"}, + {file = "coverage-7.6.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a6d3adcf24b624a7b778533480e32434a39ad8fa30c315208f6d3e5542aeb6e9"}, + {file = "coverage-7.6.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d0c212c49b6c10e6951362f7c6df3329f04c2b1c28499563d4035d964ab8e08c"}, + {file = "coverage-7.6.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6e81d7a3e58882450ec4186ca59a3f20a5d4440f25b1cff6f0902ad890e6748a"}, + {file = "coverage-7.6.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78b260de9790fd81e69401c2dc8b17da47c8038176a79092a89cb2b7d945d060"}, + {file = "coverage-7.6.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a78d169acd38300060b28d600344a803628c3fd585c912cacc9ea8790fe96862"}, + {file = "coverage-7.6.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2c09f4ce52cb99dd7505cd0fc8e0e37c77b87f46bc9c1eb03fe3bc9991085388"}, + {file = "coverage-7.6.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6878ef48d4227aace338d88c48738a4258213cd7b74fd9a3d4d7582bb1d8a155"}, + {file = "coverage-7.6.1-cp313-cp313-win32.whl", hash = "sha256:44df346d5215a8c0e360307d46ffaabe0f5d3502c8a1cefd700b34baf31d411a"}, + {file = "coverage-7.6.1-cp313-cp313-win_amd64.whl", hash = "sha256:8284cf8c0dd272a247bc154eb6c95548722dce90d098c17a883ed36e67cdb129"}, + {file = "coverage-7.6.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:d3296782ca4eab572a1a4eca686d8bfb00226300dcefdf43faa25b5242ab8a3e"}, + {file = "coverage-7.6.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:502753043567491d3ff6d08629270127e0c31d4184c4c8d98f92c26f65019962"}, + {file = "coverage-7.6.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6a89ecca80709d4076b95f89f308544ec8f7b4727e8a547913a35f16717856cb"}, + {file = "coverage-7.6.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a318d68e92e80af8b00fa99609796fdbcdfef3629c77c6283566c6f02c6d6704"}, + {file = "coverage-7.6.1-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13b0a73a0896988f053e4fbb7de6d93388e6dd292b0d87ee51d106f2c11b465b"}, + {file = "coverage-7.6.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4421712dbfc5562150f7554f13dde997a2e932a6b5f352edcce948a815efee6f"}, + {file = "coverage-7.6.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:166811d20dfea725e2e4baa71fffd6c968a958577848d2131f39b60043400223"}, + {file = "coverage-7.6.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:225667980479a17db1048cb2bf8bfb39b8e5be8f164b8f6628b64f78a72cf9d3"}, + {file = "coverage-7.6.1-cp313-cp313t-win32.whl", hash = "sha256:170d444ab405852903b7d04ea9ae9b98f98ab6d7e63e1115e82620807519797f"}, + {file = "coverage-7.6.1-cp313-cp313t-win_amd64.whl", hash = "sha256:b9f222de8cded79c49bf184bdbc06630d4c58eec9459b939b4a690c82ed05657"}, + {file = "coverage-7.6.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6db04803b6c7291985a761004e9060b2bca08da6d04f26a7f2294b8623a0c1a0"}, + {file = "coverage-7.6.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f1adfc8ac319e1a348af294106bc6a8458a0f1633cc62a1446aebc30c5fa186a"}, + {file = "coverage-7.6.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a95324a9de9650a729239daea117df21f4b9868ce32e63f8b650ebe6cef5595b"}, + {file = "coverage-7.6.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b43c03669dc4618ec25270b06ecd3ee4fa94c7f9b3c14bae6571ca00ef98b0d3"}, + {file = "coverage-7.6.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8929543a7192c13d177b770008bc4e8119f2e1f881d563fc6b6305d2d0ebe9de"}, + {file = "coverage-7.6.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:a09ece4a69cf399510c8ab25e0950d9cf2b42f7b3cb0374f95d2e2ff594478a6"}, + {file = "coverage-7.6.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:9054a0754de38d9dbd01a46621636689124d666bad1936d76c0341f7d71bf569"}, + {file = "coverage-7.6.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:0dbde0f4aa9a16fa4d754356a8f2e36296ff4d83994b2c9d8398aa32f222f989"}, + {file = "coverage-7.6.1-cp38-cp38-win32.whl", hash = "sha256:da511e6ad4f7323ee5702e6633085fb76c2f893aaf8ce4c51a0ba4fc07580ea7"}, + {file = "coverage-7.6.1-cp38-cp38-win_amd64.whl", hash = "sha256:3f1156e3e8f2872197af3840d8ad307a9dd18e615dc64d9ee41696f287c57ad8"}, + {file = "coverage-7.6.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:abd5fd0db5f4dc9289408aaf34908072f805ff7792632250dcb36dc591d24255"}, + {file = "coverage-7.6.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:547f45fa1a93154bd82050a7f3cddbc1a7a4dd2a9bf5cb7d06f4ae29fe94eaf8"}, + {file = "coverage-7.6.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:645786266c8f18a931b65bfcefdbf6952dd0dea98feee39bd188607a9d307ed2"}, + {file = "coverage-7.6.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9e0b2df163b8ed01d515807af24f63de04bebcecbd6c3bfeff88385789fdf75a"}, + {file = "coverage-7.6.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:609b06f178fe8e9f89ef676532760ec0b4deea15e9969bf754b37f7c40326dbc"}, + {file = "coverage-7.6.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:702855feff378050ae4f741045e19a32d57d19f3e0676d589df0575008ea5004"}, + {file = "coverage-7.6.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:2bdb062ea438f22d99cba0d7829c2ef0af1d768d1e4a4f528087224c90b132cb"}, + {file = "coverage-7.6.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:9c56863d44bd1c4fe2abb8a4d6f5371d197f1ac0ebdee542f07f35895fc07f36"}, + {file = "coverage-7.6.1-cp39-cp39-win32.whl", hash = "sha256:6e2cd258d7d927d09493c8df1ce9174ad01b381d4729a9d8d4e38670ca24774c"}, + {file = "coverage-7.6.1-cp39-cp39-win_amd64.whl", hash = "sha256:06a737c882bd26d0d6ee7269b20b12f14a8704807a01056c80bb881a4b2ce6ca"}, + {file = "coverage-7.6.1-pp38.pp39.pp310-none-any.whl", hash = "sha256:e9a6e0eb86070e8ccaedfbd9d38fec54864f3125ab95419970575b42af7541df"}, + {file = "coverage-7.6.1.tar.gz", hash = "sha256:953510dfb7b12ab69d20135a0662397f077c59b1e6379a768e97c59d852ee51d"}, ] [package.extras] @@ -761,13 +862,13 @@ profile = ["gprof2dot (>=2022.7.29)"] [[package]] name = "docutils" -version = "0.20.1" +version = "0.21.2" description = "Docutils -- Python Documentation Utilities" optional = false -python-versions = ">=3.7" +python-versions = ">=3.9" files = [ - {file = "docutils-0.20.1-py3-none-any.whl", hash = "sha256:96f387a2c5562db4476f09f13bbab2192e764cac08ebbf3a34a95d9b1e4a59d6"}, - {file = "docutils-0.20.1.tar.gz", hash = "sha256:f08a4e276c3a1583a86dce3e34aba3fe04d02bba2dd51ed16106244e8a923e3b"}, + {file = "docutils-0.21.2-py3-none-any.whl", hash = "sha256:dafca5b9e384f0e419294eb4d2ff9fa826435bf15f15b7bd45723e8ad76811b2"}, + {file = "docutils-0.21.2.tar.gz", hash = "sha256:3a6b18732edf182daa3cd12775bbb338cf5691468f91eeeb109deff6ebfa986f"}, ] [[package]] @@ -941,21 +1042,22 @@ files = [ [[package]] name = "importlib-metadata" -version = "1.7.0" +version = "8.2.0" description = "Read metadata from Python packages" optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" +python-versions = ">=3.8" files = [ - {file = "importlib_metadata-1.7.0-py2.py3-none-any.whl", hash = "sha256:dc15b2969b4ce36305c51eebe62d418ac7791e9a157911d58bfb1f9ccd8e2070"}, - {file = "importlib_metadata-1.7.0.tar.gz", hash = "sha256:90bb658cdbbf6d1735b6341ce708fc7024a3e14e99ffdc5783edea9f9b077f83"}, + {file = "importlib_metadata-8.2.0-py3-none-any.whl", hash = "sha256:11901fa0c2f97919b288679932bb64febaeacf289d18ac84dd68cb2e74213369"}, + {file = "importlib_metadata-8.2.0.tar.gz", hash = "sha256:72e8d4399996132204f9a16dcc751af254a48f8d1b20b9ff0f98d4a8f901e73d"}, ] [package.dependencies] zipp = ">=0.5" [package.extras] -docs = ["rst.linker", "sphinx"] -testing = ["importlib-resources (>=1.3)", "packaging", "pep517"] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +perf = ["ipython"] +test = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-perf (>=0.9.2)", "pytest-ruff (>=0.2.1)"] [[package]] name = "iniconfig" @@ -1038,52 +1140,6 @@ pyyaml = "*" [package.extras] dev = ["build", "hypothesis", "pytest", "setuptools-scm"] -[[package]] -name = "lazy-object-proxy" -version = "1.10.0" -description = "A fast and thorough lazy object proxy." -optional = false -python-versions = ">=3.8" -files = [ - {file = "lazy-object-proxy-1.10.0.tar.gz", hash = "sha256:78247b6d45f43a52ef35c25b5581459e85117225408a4128a3daf8bf9648ac69"}, - {file = "lazy_object_proxy-1.10.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:855e068b0358ab916454464a884779c7ffa312b8925c6f7401e952dcf3b89977"}, - {file = "lazy_object_proxy-1.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ab7004cf2e59f7c2e4345604a3e6ea0d92ac44e1c2375527d56492014e690c3"}, - {file = "lazy_object_proxy-1.10.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dc0d2fc424e54c70c4bc06787e4072c4f3b1aa2f897dfdc34ce1013cf3ceef05"}, - {file = "lazy_object_proxy-1.10.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e2adb09778797da09d2b5ebdbceebf7dd32e2c96f79da9052b2e87b6ea495895"}, - {file = "lazy_object_proxy-1.10.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b1f711e2c6dcd4edd372cf5dec5c5a30d23bba06ee012093267b3376c079ec83"}, - {file = "lazy_object_proxy-1.10.0-cp310-cp310-win32.whl", hash = "sha256:76a095cfe6045c7d0ca77db9934e8f7b71b14645f0094ffcd842349ada5c5fb9"}, - {file = "lazy_object_proxy-1.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:b4f87d4ed9064b2628da63830986c3d2dca7501e6018347798313fcf028e2fd4"}, - {file = "lazy_object_proxy-1.10.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:fec03caabbc6b59ea4a638bee5fce7117be8e99a4103d9d5ad77f15d6f81020c"}, - {file = "lazy_object_proxy-1.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:02c83f957782cbbe8136bee26416686a6ae998c7b6191711a04da776dc9e47d4"}, - {file = "lazy_object_proxy-1.10.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:009e6bb1f1935a62889ddc8541514b6a9e1fcf302667dcb049a0be5c8f613e56"}, - {file = "lazy_object_proxy-1.10.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:75fc59fc450050b1b3c203c35020bc41bd2695ed692a392924c6ce180c6f1dc9"}, - {file = "lazy_object_proxy-1.10.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:782e2c9b2aab1708ffb07d4bf377d12901d7a1d99e5e410d648d892f8967ab1f"}, - {file = "lazy_object_proxy-1.10.0-cp311-cp311-win32.whl", hash = "sha256:edb45bb8278574710e68a6b021599a10ce730d156e5b254941754a9cc0b17d03"}, - {file = "lazy_object_proxy-1.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:e271058822765ad5e3bca7f05f2ace0de58a3f4e62045a8c90a0dfd2f8ad8cc6"}, - {file = "lazy_object_proxy-1.10.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e98c8af98d5707dcdecc9ab0863c0ea6e88545d42ca7c3feffb6b4d1e370c7ba"}, - {file = "lazy_object_proxy-1.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:952c81d415b9b80ea261d2372d2a4a2332a3890c2b83e0535f263ddfe43f0d43"}, - {file = "lazy_object_proxy-1.10.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80b39d3a151309efc8cc48675918891b865bdf742a8616a337cb0090791a0de9"}, - {file = "lazy_object_proxy-1.10.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:e221060b701e2aa2ea991542900dd13907a5c90fa80e199dbf5a03359019e7a3"}, - {file = "lazy_object_proxy-1.10.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:92f09ff65ecff3108e56526f9e2481b8116c0b9e1425325e13245abfd79bdb1b"}, - {file = "lazy_object_proxy-1.10.0-cp312-cp312-win32.whl", hash = "sha256:3ad54b9ddbe20ae9f7c1b29e52f123120772b06dbb18ec6be9101369d63a4074"}, - {file = "lazy_object_proxy-1.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:127a789c75151db6af398b8972178afe6bda7d6f68730c057fbbc2e96b08d282"}, - {file = "lazy_object_proxy-1.10.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9e4ed0518a14dd26092614412936920ad081a424bdcb54cc13349a8e2c6d106a"}, - {file = "lazy_object_proxy-1.10.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5ad9e6ed739285919aa9661a5bbed0aaf410aa60231373c5579c6b4801bd883c"}, - {file = "lazy_object_proxy-1.10.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2fc0a92c02fa1ca1e84fc60fa258458e5bf89d90a1ddaeb8ed9cc3147f417255"}, - {file = "lazy_object_proxy-1.10.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:0aefc7591920bbd360d57ea03c995cebc204b424524a5bd78406f6e1b8b2a5d8"}, - {file = "lazy_object_proxy-1.10.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5faf03a7d8942bb4476e3b62fd0f4cf94eaf4618e304a19865abf89a35c0bbee"}, - {file = "lazy_object_proxy-1.10.0-cp38-cp38-win32.whl", hash = "sha256:e333e2324307a7b5d86adfa835bb500ee70bfcd1447384a822e96495796b0ca4"}, - {file = "lazy_object_proxy-1.10.0-cp38-cp38-win_amd64.whl", hash = "sha256:cb73507defd385b7705c599a94474b1d5222a508e502553ef94114a143ec6696"}, - {file = "lazy_object_proxy-1.10.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:366c32fe5355ef5fc8a232c5436f4cc66e9d3e8967c01fb2e6302fd6627e3d94"}, - {file = "lazy_object_proxy-1.10.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2297f08f08a2bb0d32a4265e98a006643cd7233fb7983032bd61ac7a02956b3b"}, - {file = "lazy_object_proxy-1.10.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18dd842b49456aaa9a7cf535b04ca4571a302ff72ed8740d06b5adcd41fe0757"}, - {file = "lazy_object_proxy-1.10.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:217138197c170a2a74ca0e05bddcd5f1796c735c37d0eee33e43259b192aa424"}, - {file = "lazy_object_proxy-1.10.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9a3a87cf1e133e5b1994144c12ca4aa3d9698517fe1e2ca82977781b16955658"}, - {file = "lazy_object_proxy-1.10.0-cp39-cp39-win32.whl", hash = "sha256:30b339b2a743c5288405aa79a69e706a06e02958eab31859f7f3c04980853b70"}, - {file = "lazy_object_proxy-1.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:a899b10e17743683b293a729d3a11f2f399e8a90c73b089e29f5d0fe3509f0dd"}, - {file = "lazy_object_proxy-1.10.0-pp310.pp311.pp312.pp38.pp39-none-any.whl", hash = "sha256:80fa48bd89c8f2f456fc0765c11c23bf5af827febacd2f523ca5bc1893fcc09d"}, -] - [[package]] name = "markdown-it-py" version = "3.0.0" @@ -1201,19 +1257,19 @@ files = [ [[package]] name = "mock" -version = "4.0.3" +version = "5.1.0" description = "Rolling backport of unittest.mock for all Pythons" optional = false python-versions = ">=3.6" files = [ - {file = "mock-4.0.3-py3-none-any.whl", hash = "sha256:122fcb64ee37cfad5b3f48d7a7d51875d7031aaf3d8be7c42e2bee25044eee62"}, - {file = "mock-4.0.3.tar.gz", hash = "sha256:7d3fbbde18228f4ff2f1f119a45cdffa458b4c0dee32eb4d2bb2f82554bac7bc"}, + {file = "mock-5.1.0-py3-none-any.whl", hash = "sha256:18c694e5ae8a208cdb3d2c20a993ca1a7b0efa258c247a1e565150f477f83744"}, + {file = "mock-5.1.0.tar.gz", hash = "sha256:5e96aad5ccda4718e0a229ed94b2024df75cc2d55575ba5762d31f5767b8767d"}, ] [package.extras] build = ["blurb", "twine", "wheel"] docs = ["sphinx"] -test = ["pytest (<5.4)", "pytest-cov"] +test = ["pytest", "pytest-cov"] [[package]] name = "multidict" @@ -1352,13 +1408,13 @@ files = [ [[package]] name = "parameterized" -version = "0.8.1" +version = "0.9.0" description = "Parameterized testing with any Python test framework" optional = false -python-versions = "*" +python-versions = ">=3.7" files = [ - {file = "parameterized-0.8.1-py2.py3-none-any.whl", hash = "sha256:9cbb0b69a03e8695d68b3399a8a5825200976536fe1cb79db60ed6a4c8c9efe9"}, - {file = "parameterized-0.8.1.tar.gz", hash = "sha256:41bbff37d6186430f77f900d777e5bb6a24928a1c46fb1de692f8b52b8833b5c"}, + {file = "parameterized-0.9.0-py2.py3-none-any.whl", hash = "sha256:4e0758e3d41bea3bbd05ec14fc2c24736723f243b28d702081aef438c9372b1b"}, + {file = "parameterized-0.9.0.tar.gz", hash = "sha256:7fc905272cefa4f364c1a3429cbbe9c0f98b793988efb5bf90aac80f08db09b1"}, ] [package.extras] @@ -1589,23 +1645,24 @@ windows-terminal = ["colorama (>=0.4.6)"] [[package]] name = "pylint" -version = "2.17.7" +version = "3.2.6" description = "python code static checker" optional = false -python-versions = ">=3.7.2" +python-versions = ">=3.8.0" files = [ - {file = "pylint-2.17.7-py3-none-any.whl", hash = "sha256:27a8d4c7ddc8c2f8c18aa0050148f89ffc09838142193fdbe98f172781a3ff87"}, - {file = "pylint-2.17.7.tar.gz", hash = "sha256:f4fcac7ae74cfe36bc8451e931d8438e4a476c20314b1101c458ad0f05191fad"}, + {file = "pylint-3.2.6-py3-none-any.whl", hash = "sha256:03c8e3baa1d9fb995b12c1dbe00aa6c4bcef210c2a2634374aedeb22fb4a8f8f"}, + {file = "pylint-3.2.6.tar.gz", hash = "sha256:a5d01678349454806cff6d886fb072294f56a58c4761278c97fb557d708e1eb3"}, ] [package.dependencies] -astroid = ">=2.15.8,<=2.17.0-dev0" +astroid = ">=3.2.4,<=3.3.0-dev0" colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""} dill = [ {version = ">=0.2", markers = "python_version < \"3.11\""}, - {version = ">=0.3.6", markers = "python_version >= \"3.11\""}, + {version = ">=0.3.7", markers = "python_version >= \"3.12\""}, + {version = ">=0.3.6", markers = "python_version >= \"3.11\" and python_version < \"3.12\""}, ] -isort = ">=4.2.5,<6" +isort = ">=4.2.5,<5.13.0 || >5.13.0,<6" mccabe = ">=0.6,<0.8" platformdirs = ">=2.2.0" tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} @@ -1631,6 +1688,17 @@ packaging = ">=23.2,<24.0" requests = ">=2.30.0,<3.0.0" urllib3 = ">=1.21.1,<1.27" +[[package]] +name = "pyproject-hooks" +version = "1.1.0" +description = "Wrappers to call pyproject.toml-based build backend hooks." +optional = false +python-versions = ">=3.7" +files = [ + {file = "pyproject_hooks-1.1.0-py3-none-any.whl", hash = "sha256:7ceeefe9aec63a1064c18d939bdc3adf2d8aa1988a510afec15151578b232aa2"}, + {file = "pyproject_hooks-1.1.0.tar.gz", hash = "sha256:4b37730834edbd6bd37f26ece6b44802fb1c1ee2ece0e54ddff8bfc06db86965"}, +] + [[package]] name = "pytest" version = "8.3.2" @@ -1898,16 +1966,6 @@ files = [ dev = ["Django (>=1.11)", "check-manifest", "colorama (<=0.4.1)", "coverage", "flake8", "nose2", "readme-renderer (<25.0)", "tox", "wheel", "zest.releaser[recommended]"] doc = ["Sphinx", "sphinx-rtd-theme"] -[[package]] -name = "sh" -version = "1.14.3" -description = "Python subprocess replacement" -optional = false -python-versions = "*" -files = [ - {file = "sh-1.14.3.tar.gz", hash = "sha256:e4045b6c732d9ce75d571c79f5ac2234edd9ae4f5fa9d59b09705082bdca18c7"}, -] - [[package]] name = "shellingham" version = "1.5.4" @@ -1954,17 +2012,17 @@ files = [ [[package]] name = "sphinx" -version = "7.4.7" +version = "8.0.2" description = "Python documentation generator" optional = false -python-versions = ">=3.9" +python-versions = ">=3.10" files = [ - {file = "sphinx-7.4.7-py3-none-any.whl", hash = "sha256:c2419e2135d11f1951cd994d6eb18a1835bd8fdd8429f9ca375dc1f3281bd239"}, - {file = "sphinx-7.4.7.tar.gz", hash = "sha256:242f92a7ea7e6c5b406fdc2615413890ba9f699114a9c09192d7dfead2ee9cfe"}, + {file = "sphinx-8.0.2-py3-none-any.whl", hash = "sha256:56173572ae6c1b9a38911786e206a110c9749116745873feae4f9ce88e59391d"}, + {file = "sphinx-8.0.2.tar.gz", hash = "sha256:0cce1ddcc4fd3532cf1dd283bc7d886758362c5c1de6598696579ce96d8ffa5b"}, ] [package.dependencies] -alabaster = ">=0.7.14,<0.8.0" +alabaster = ">=0.7.14" babel = ">=2.13" colorama = {version = ">=0.4.6", markers = "sys_platform == \"win32\""} docutils = ">=0.20,<0.22" @@ -1984,27 +2042,25 @@ tomli = {version = ">=2", markers = "python_version < \"3.11\""} [package.extras] docs = ["sphinxcontrib-websupport"] -lint = ["flake8 (>=6.0)", "importlib-metadata (>=6.0)", "mypy (==1.10.1)", "pytest (>=6.0)", "ruff (==0.5.2)", "sphinx-lint (>=0.9)", "tomli (>=2)", "types-docutils (==0.21.0.20240711)", "types-requests (>=2.30.0)"] +lint = ["flake8 (>=6.0)", "mypy (==1.11.0)", "pytest (>=6.0)", "ruff (==0.5.5)", "sphinx-lint (>=0.9)", "tomli (>=2)", "types-Pillow (==10.2.0.20240520)", "types-Pygments (==2.18.0.20240506)", "types-colorama (==0.4.15.20240311)", "types-defusedxml (==0.7.0.20240218)", "types-docutils (==0.21.0.20240724)", "types-requests (>=2.30.0)"] test = ["cython (>=3.0)", "defusedxml (>=0.7.1)", "pytest (>=8.0)", "setuptools (>=70.0)", "typing_extensions (>=4.9)"] [[package]] name = "sphinx-rtd-theme" -version = "2.0.0" +version = "0.5.1" description = "Read the Docs theme for Sphinx" optional = false -python-versions = ">=3.6" +python-versions = "*" files = [ - {file = "sphinx_rtd_theme-2.0.0-py2.py3-none-any.whl", hash = "sha256:ec93d0856dc280cf3aee9a4c9807c60e027c7f7b461b77aeffed682e68f0e586"}, - {file = "sphinx_rtd_theme-2.0.0.tar.gz", hash = "sha256:bd5d7b80622406762073a04ef8fadc5f9151261563d47027de09910ce03afe6b"}, + {file = "sphinx_rtd_theme-0.5.1-py2.py3-none-any.whl", hash = "sha256:fa6bebd5ab9a73da8e102509a86f3fcc36dec04a0b52ea80e5a033b2aba00113"}, + {file = "sphinx_rtd_theme-0.5.1.tar.gz", hash = "sha256:eda689eda0c7301a80cf122dad28b1861e5605cbf455558f3775e1e8200e83a5"}, ] [package.dependencies] -docutils = "<0.21" -sphinx = ">=5,<8" -sphinxcontrib-jquery = ">=4,<5" +sphinx = "*" [package.extras] -dev = ["bump2version", "sphinxcontrib-httpdomain", "transifex-client", "wheel"] +dev = ["bump2version", "sphinxcontrib-httpdomain", "transifex-client"] [[package]] name = "sphinxcontrib-applehelp" @@ -2054,20 +2110,6 @@ lint = ["mypy", "ruff (==0.5.5)", "types-docutils"] standalone = ["Sphinx (>=5)"] test = ["html5lib", "pytest"] -[[package]] -name = "sphinxcontrib-jquery" -version = "4.1" -description = "Extension to include jQuery on newer Sphinx releases" -optional = false -python-versions = ">=2.7" -files = [ - {file = "sphinxcontrib-jquery-4.1.tar.gz", hash = "sha256:1620739f04e36a2c779f1a131a2dfd49b2fd07351bf1968ced074365933abc7a"}, - {file = "sphinxcontrib_jquery-4.1-py2.py3-none-any.whl", hash = "sha256:f936030d7d0147dd026a4f2b5a57343d233f1fc7b363f68b3d4f1cb0993878ae"}, -] - -[package.dependencies] -Sphinx = ">=1.8" - [[package]] name = "sphinxcontrib-jsmath" version = "1.0.1" @@ -2208,85 +2250,6 @@ brotli = ["brotli (==1.0.9)", "brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotl secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"] socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] -[[package]] -name = "wrapt" -version = "1.16.0" -description = "Module for decorators, wrappers and monkey patching." -optional = false -python-versions = ">=3.6" -files = [ - {file = "wrapt-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ffa565331890b90056c01db69c0fe634a776f8019c143a5ae265f9c6bc4bd6d4"}, - {file = "wrapt-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e4fdb9275308292e880dcbeb12546df7f3e0f96c6b41197e0cf37d2826359020"}, - {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb2dee3874a500de01c93d5c71415fcaef1d858370d405824783e7a8ef5db440"}, - {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2a88e6010048489cda82b1326889ec075a8c856c2e6a256072b28eaee3ccf487"}, - {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac83a914ebaf589b69f7d0a1277602ff494e21f4c2f743313414378f8f50a4cf"}, - {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:73aa7d98215d39b8455f103de64391cb79dfcad601701a3aa0dddacf74911d72"}, - {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:807cc8543a477ab7422f1120a217054f958a66ef7314f76dd9e77d3f02cdccd0"}, - {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bf5703fdeb350e36885f2875d853ce13172ae281c56e509f4e6eca049bdfb136"}, - {file = "wrapt-1.16.0-cp310-cp310-win32.whl", hash = "sha256:f6b2d0c6703c988d334f297aa5df18c45e97b0af3679bb75059e0e0bd8b1069d"}, - {file = "wrapt-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:decbfa2f618fa8ed81c95ee18a387ff973143c656ef800c9f24fb7e9c16054e2"}, - {file = "wrapt-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1a5db485fe2de4403f13fafdc231b0dbae5eca4359232d2efc79025527375b09"}, - {file = "wrapt-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:75ea7d0ee2a15733684badb16de6794894ed9c55aa5e9903260922f0482e687d"}, - {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a452f9ca3e3267cd4d0fcf2edd0d035b1934ac2bd7e0e57ac91ad6b95c0c6389"}, - {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:43aa59eadec7890d9958748db829df269f0368521ba6dc68cc172d5d03ed8060"}, - {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:72554a23c78a8e7aa02abbd699d129eead8b147a23c56e08d08dfc29cfdddca1"}, - {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d2efee35b4b0a347e0d99d28e884dfd82797852d62fcd7ebdeee26f3ceb72cf3"}, - {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:6dcfcffe73710be01d90cae08c3e548d90932d37b39ef83969ae135d36ef3956"}, - {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:eb6e651000a19c96f452c85132811d25e9264d836951022d6e81df2fff38337d"}, - {file = "wrapt-1.16.0-cp311-cp311-win32.whl", hash = "sha256:66027d667efe95cc4fa945af59f92c5a02c6f5bb6012bff9e60542c74c75c362"}, - {file = "wrapt-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:aefbc4cb0a54f91af643660a0a150ce2c090d3652cf4052a5397fb2de549cd89"}, - {file = "wrapt-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5eb404d89131ec9b4f748fa5cfb5346802e5ee8836f57d516576e61f304f3b7b"}, - {file = "wrapt-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9090c9e676d5236a6948330e83cb89969f433b1943a558968f659ead07cb3b36"}, - {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94265b00870aa407bd0cbcfd536f17ecde43b94fb8d228560a1e9d3041462d73"}, - {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f2058f813d4f2b5e3a9eb2eb3faf8f1d99b81c3e51aeda4b168406443e8ba809"}, - {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:98b5e1f498a8ca1858a1cdbffb023bfd954da4e3fa2c0cb5853d40014557248b"}, - {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:14d7dc606219cdd7405133c713f2c218d4252f2a469003f8c46bb92d5d095d81"}, - {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:49aac49dc4782cb04f58986e81ea0b4768e4ff197b57324dcbd7699c5dfb40b9"}, - {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:418abb18146475c310d7a6dc71143d6f7adec5b004ac9ce08dc7a34e2babdc5c"}, - {file = "wrapt-1.16.0-cp312-cp312-win32.whl", hash = "sha256:685f568fa5e627e93f3b52fda002c7ed2fa1800b50ce51f6ed1d572d8ab3e7fc"}, - {file = "wrapt-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:dcdba5c86e368442528f7060039eda390cc4091bfd1dca41e8046af7c910dda8"}, - {file = "wrapt-1.16.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:d462f28826f4657968ae51d2181a074dfe03c200d6131690b7d65d55b0f360f8"}, - {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a33a747400b94b6d6b8a165e4480264a64a78c8a4c734b62136062e9a248dd39"}, - {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b3646eefa23daeba62643a58aac816945cadc0afaf21800a1421eeba5f6cfb9c"}, - {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ebf019be5c09d400cf7b024aa52b1f3aeebeff51550d007e92c3c1c4afc2a40"}, - {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:0d2691979e93d06a95a26257adb7bfd0c93818e89b1406f5a28f36e0d8c1e1fc"}, - {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:1acd723ee2a8826f3d53910255643e33673e1d11db84ce5880675954183ec47e"}, - {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:bc57efac2da352a51cc4658878a68d2b1b67dbe9d33c36cb826ca449d80a8465"}, - {file = "wrapt-1.16.0-cp36-cp36m-win32.whl", hash = "sha256:da4813f751142436b075ed7aa012a8778aa43a99f7b36afe9b742d3ed8bdc95e"}, - {file = "wrapt-1.16.0-cp36-cp36m-win_amd64.whl", hash = "sha256:6f6eac2360f2d543cc875a0e5efd413b6cbd483cb3ad7ebf888884a6e0d2e966"}, - {file = "wrapt-1.16.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a0ea261ce52b5952bf669684a251a66df239ec6d441ccb59ec7afa882265d593"}, - {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7bd2d7ff69a2cac767fbf7a2b206add2e9a210e57947dd7ce03e25d03d2de292"}, - {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9159485323798c8dc530a224bd3ffcf76659319ccc7bbd52e01e73bd0241a0c5"}, - {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a86373cf37cd7764f2201b76496aba58a52e76dedfaa698ef9e9688bfd9e41cf"}, - {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:73870c364c11f03ed072dda68ff7aea6d2a3a5c3fe250d917a429c7432e15228"}, - {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:b935ae30c6e7400022b50f8d359c03ed233d45b725cfdd299462f41ee5ffba6f"}, - {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:db98ad84a55eb09b3c32a96c576476777e87c520a34e2519d3e59c44710c002c"}, - {file = "wrapt-1.16.0-cp37-cp37m-win32.whl", hash = "sha256:9153ed35fc5e4fa3b2fe97bddaa7cbec0ed22412b85bcdaf54aeba92ea37428c"}, - {file = "wrapt-1.16.0-cp37-cp37m-win_amd64.whl", hash = "sha256:66dfbaa7cfa3eb707bbfcd46dab2bc6207b005cbc9caa2199bcbc81d95071a00"}, - {file = "wrapt-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1dd50a2696ff89f57bd8847647a1c363b687d3d796dc30d4dd4a9d1689a706f0"}, - {file = "wrapt-1.16.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:44a2754372e32ab315734c6c73b24351d06e77ffff6ae27d2ecf14cf3d229202"}, - {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e9723528b9f787dc59168369e42ae1c3b0d3fadb2f1a71de14531d321ee05b0"}, - {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dbed418ba5c3dce92619656802cc5355cb679e58d0d89b50f116e4a9d5a9603e"}, - {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:941988b89b4fd6b41c3f0bfb20e92bd23746579736b7343283297c4c8cbae68f"}, - {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6a42cd0cfa8ffc1915aef79cb4284f6383d8a3e9dcca70c445dcfdd639d51267"}, - {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:1ca9b6085e4f866bd584fb135a041bfc32cab916e69f714a7d1d397f8c4891ca"}, - {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d5e49454f19ef621089e204f862388d29e6e8d8b162efce05208913dde5b9ad6"}, - {file = "wrapt-1.16.0-cp38-cp38-win32.whl", hash = "sha256:c31f72b1b6624c9d863fc095da460802f43a7c6868c5dda140f51da24fd47d7b"}, - {file = "wrapt-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:490b0ee15c1a55be9c1bd8609b8cecd60e325f0575fc98f50058eae366e01f41"}, - {file = "wrapt-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9b201ae332c3637a42f02d1045e1d0cccfdc41f1f2f801dafbaa7e9b4797bfc2"}, - {file = "wrapt-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2076fad65c6736184e77d7d4729b63a6d1ae0b70da4868adeec40989858eb3fb"}, - {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5cd603b575ebceca7da5a3a251e69561bec509e0b46e4993e1cac402b7247b8"}, - {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b47cfad9e9bbbed2339081f4e346c93ecd7ab504299403320bf85f7f85c7d46c"}, - {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8212564d49c50eb4565e502814f694e240c55551a5f1bc841d4fcaabb0a9b8a"}, - {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:5f15814a33e42b04e3de432e573aa557f9f0f56458745c2074952f564c50e664"}, - {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:db2e408d983b0e61e238cf579c09ef7020560441906ca990fe8412153e3b291f"}, - {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:edfad1d29c73f9b863ebe7082ae9321374ccb10879eeabc84ba3b69f2579d537"}, - {file = "wrapt-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed867c42c268f876097248e05b6117a65bcd1e63b779e916fe2e33cd6fd0d3c3"}, - {file = "wrapt-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:eb1b046be06b0fce7249f1d025cd359b4b80fc1c3e24ad9eca33e0dcdb2e4a35"}, - {file = "wrapt-1.16.0-py3-none-any.whl", hash = "sha256:6906c4100a8fcbf2fa735f6059214bb13b97f75b1a61777fcf6432121ef12ef1"}, - {file = "wrapt-1.16.0.tar.gz", hash = "sha256:5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d"}, -] - [[package]] name = "yarl" version = "1.9.4" @@ -2408,4 +2371,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = ">=3.10,<4.0" -content-hash = "2d136c6a9be4c07ee28edd92cf8bd1a8af06518bc061efd0722106f4dc0a83cf" +content-hash = "b1c789ec1aced8436e632980c78c3d2d251d34c7ab73d282142a2f9d565035d7" diff --git a/pyproject.toml b/pyproject.toml index 0867c502..038d9b42 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -13,7 +13,7 @@ ansible-core = "^2.16" [tool.poetry.dev-dependencies] black = "*" -coverage = "^6.5" +coverage = "*" cryptography = "*" jinja2 = "*" jmespath = "*" @@ -22,18 +22,18 @@ pytest = "*" pytest-mock = "*" pytest-xdist = "*" pyyaml = "*" -mock = "^4.0.2" -importlib-metadata = "1.7.0" -pylint = "^2.6.0" +mock = "*" +importlib-metadata = "*" +pylint = "*" sphinx_rtd_theme = "*" -hypothesis = "^6.8.0" -pytest-pythonpath = "^0.7.3" -parameterized = "^0.8.1" -invoke = "^2.1.0" -bandit = "^1.7.0" -antsibull = "^0.45.1" -antsibull-docs = "^1.7.3" -pytest-forked = "^1.6.0" +hypothesis = "*" +pytest-pythonpath = "*" +parameterized = "*" +invoke = "*" +bandit = "*" +antsibull = "*" +antsibull-docs = "*" +pytest-forked = "*" [build-system] requires = ["poetry-core>=1.0.0"] From 8be4b581737fdf08319e6d543b68a2e2a2124b61 Mon Sep 17 00:00:00 2001 From: Joe Wesch Date: Tue, 13 Aug 2024 08:44:18 -0500 Subject: [PATCH 057/102] Removes deprecated distutils --- tasks.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/tasks.py b/tasks.py index 73b6d35f..c879a03d 100644 --- a/tasks.py +++ b/tasks.py @@ -1,12 +1,12 @@ """Tasks for use with Invoke.""" -from distutils.util import strtobool from invoke import Collection, task as invoke_task import os def is_truthy(arg): """Convert "truthy" strings into Booleans. + Examples: >>> is_truthy('yes') True @@ -16,7 +16,14 @@ def is_truthy(arg): """ if isinstance(arg, bool): return arg - return bool(strtobool(arg)) + + val = str(arg).lower() + if val in ("y", "yes", "t", "true", "on", "1"): + return True + elif val in ("n", "no", "f", "false", "off", "0"): + return False + else: + raise ValueError(f"Invalid truthy value: `{arg}`") # Use pyinvoke configuration for default values, see http://docs.pyinvoke.org/en/stable/concepts/configuration.html From eaebf4f1552d16f2b4f41c32c99617113d580eea Mon Sep 17 00:00:00 2001 From: Joe Wesch Date: Tue, 13 Aug 2024 08:45:48 -0500 Subject: [PATCH 058/102] Pins coverage to the version required by Ansible --- poetry.lock | 128 +++++++++++++++++++++---------------------------- pyproject.toml | 2 +- 2 files changed, 55 insertions(+), 75 deletions(-) diff --git a/poetry.lock b/poetry.lock index bd40184b..34dc342d 100644 --- a/poetry.lock +++ b/poetry.lock @@ -714,83 +714,63 @@ files = [ [[package]] name = "coverage" -version = "7.6.1" +version = "7.3.2" description = "Code coverage measurement for Python" optional = false python-versions = ">=3.8" files = [ - {file = "coverage-7.6.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b06079abebbc0e89e6163b8e8f0e16270124c154dc6e4a47b413dd538859af16"}, - {file = "coverage-7.6.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cf4b19715bccd7ee27b6b120e7e9dd56037b9c0681dcc1adc9ba9db3d417fa36"}, - {file = "coverage-7.6.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61c0abb4c85b095a784ef23fdd4aede7a2628478e7baba7c5e3deba61070a02"}, - {file = "coverage-7.6.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fd21f6ae3f08b41004dfb433fa895d858f3f5979e7762d052b12aef444e29afc"}, - {file = "coverage-7.6.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f59d57baca39b32db42b83b2a7ba6f47ad9c394ec2076b084c3f029b7afca23"}, - {file = "coverage-7.6.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a1ac0ae2b8bd743b88ed0502544847c3053d7171a3cff9228af618a068ed9c34"}, - {file = "coverage-7.6.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e6a08c0be454c3b3beb105c0596ebdc2371fab6bb90c0c0297f4e58fd7e1012c"}, - {file = "coverage-7.6.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f5796e664fe802da4f57a168c85359a8fbf3eab5e55cd4e4569fbacecc903959"}, - {file = "coverage-7.6.1-cp310-cp310-win32.whl", hash = "sha256:7bb65125fcbef8d989fa1dd0e8a060999497629ca5b0efbca209588a73356232"}, - {file = "coverage-7.6.1-cp310-cp310-win_amd64.whl", hash = "sha256:3115a95daa9bdba70aea750db7b96b37259a81a709223c8448fa97727d546fe0"}, - {file = "coverage-7.6.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:7dea0889685db8550f839fa202744652e87c60015029ce3f60e006f8c4462c93"}, - {file = "coverage-7.6.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ed37bd3c3b063412f7620464a9ac1314d33100329f39799255fb8d3027da50d3"}, - {file = "coverage-7.6.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d85f5e9a5f8b73e2350097c3756ef7e785f55bd71205defa0bfdaf96c31616ff"}, - {file = "coverage-7.6.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9bc572be474cafb617672c43fe989d6e48d3c83af02ce8de73fff1c6bb3c198d"}, - {file = "coverage-7.6.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c0420b573964c760df9e9e86d1a9a622d0d27f417e1a949a8a66dd7bcee7bc6"}, - {file = "coverage-7.6.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1f4aa8219db826ce6be7099d559f8ec311549bfc4046f7f9fe9b5cea5c581c56"}, - {file = "coverage-7.6.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:fc5a77d0c516700ebad189b587de289a20a78324bc54baee03dd486f0855d234"}, - {file = "coverage-7.6.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b48f312cca9621272ae49008c7f613337c53fadca647d6384cc129d2996d1133"}, - {file = "coverage-7.6.1-cp311-cp311-win32.whl", hash = "sha256:1125ca0e5fd475cbbba3bb67ae20bd2c23a98fac4e32412883f9bcbaa81c314c"}, - {file = "coverage-7.6.1-cp311-cp311-win_amd64.whl", hash = "sha256:8ae539519c4c040c5ffd0632784e21b2f03fc1340752af711f33e5be83a9d6c6"}, - {file = "coverage-7.6.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:95cae0efeb032af8458fc27d191f85d1717b1d4e49f7cb226cf526ff28179778"}, - {file = "coverage-7.6.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5621a9175cf9d0b0c84c2ef2b12e9f5f5071357c4d2ea6ca1cf01814f45d2391"}, - {file = "coverage-7.6.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:260933720fdcd75340e7dbe9060655aff3af1f0c5d20f46b57f262ab6c86a5e8"}, - {file = "coverage-7.6.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07e2ca0ad381b91350c0ed49d52699b625aab2b44b65e1b4e02fa9df0e92ad2d"}, - {file = "coverage-7.6.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c44fee9975f04b33331cb8eb272827111efc8930cfd582e0320613263ca849ca"}, - {file = "coverage-7.6.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:877abb17e6339d96bf08e7a622d05095e72b71f8afd8a9fefc82cf30ed944163"}, - {file = "coverage-7.6.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:3e0cadcf6733c09154b461f1ca72d5416635e5e4ec4e536192180d34ec160f8a"}, - {file = "coverage-7.6.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c3c02d12f837d9683e5ab2f3d9844dc57655b92c74e286c262e0fc54213c216d"}, - {file = "coverage-7.6.1-cp312-cp312-win32.whl", hash = "sha256:e05882b70b87a18d937ca6768ff33cc3f72847cbc4de4491c8e73880766718e5"}, - {file = "coverage-7.6.1-cp312-cp312-win_amd64.whl", hash = "sha256:b5d7b556859dd85f3a541db6a4e0167b86e7273e1cdc973e5b175166bb634fdb"}, - {file = "coverage-7.6.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a4acd025ecc06185ba2b801f2de85546e0b8ac787cf9d3b06e7e2a69f925b106"}, - {file = "coverage-7.6.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a6d3adcf24b624a7b778533480e32434a39ad8fa30c315208f6d3e5542aeb6e9"}, - {file = "coverage-7.6.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d0c212c49b6c10e6951362f7c6df3329f04c2b1c28499563d4035d964ab8e08c"}, - {file = "coverage-7.6.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6e81d7a3e58882450ec4186ca59a3f20a5d4440f25b1cff6f0902ad890e6748a"}, - {file = "coverage-7.6.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78b260de9790fd81e69401c2dc8b17da47c8038176a79092a89cb2b7d945d060"}, - {file = "coverage-7.6.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a78d169acd38300060b28d600344a803628c3fd585c912cacc9ea8790fe96862"}, - {file = "coverage-7.6.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2c09f4ce52cb99dd7505cd0fc8e0e37c77b87f46bc9c1eb03fe3bc9991085388"}, - {file = "coverage-7.6.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6878ef48d4227aace338d88c48738a4258213cd7b74fd9a3d4d7582bb1d8a155"}, - {file = "coverage-7.6.1-cp313-cp313-win32.whl", hash = "sha256:44df346d5215a8c0e360307d46ffaabe0f5d3502c8a1cefd700b34baf31d411a"}, - {file = "coverage-7.6.1-cp313-cp313-win_amd64.whl", hash = "sha256:8284cf8c0dd272a247bc154eb6c95548722dce90d098c17a883ed36e67cdb129"}, - {file = "coverage-7.6.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:d3296782ca4eab572a1a4eca686d8bfb00226300dcefdf43faa25b5242ab8a3e"}, - {file = "coverage-7.6.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:502753043567491d3ff6d08629270127e0c31d4184c4c8d98f92c26f65019962"}, - {file = "coverage-7.6.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6a89ecca80709d4076b95f89f308544ec8f7b4727e8a547913a35f16717856cb"}, - {file = "coverage-7.6.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a318d68e92e80af8b00fa99609796fdbcdfef3629c77c6283566c6f02c6d6704"}, - {file = "coverage-7.6.1-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13b0a73a0896988f053e4fbb7de6d93388e6dd292b0d87ee51d106f2c11b465b"}, - {file = "coverage-7.6.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4421712dbfc5562150f7554f13dde997a2e932a6b5f352edcce948a815efee6f"}, - {file = "coverage-7.6.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:166811d20dfea725e2e4baa71fffd6c968a958577848d2131f39b60043400223"}, - {file = "coverage-7.6.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:225667980479a17db1048cb2bf8bfb39b8e5be8f164b8f6628b64f78a72cf9d3"}, - {file = "coverage-7.6.1-cp313-cp313t-win32.whl", hash = "sha256:170d444ab405852903b7d04ea9ae9b98f98ab6d7e63e1115e82620807519797f"}, - {file = "coverage-7.6.1-cp313-cp313t-win_amd64.whl", hash = "sha256:b9f222de8cded79c49bf184bdbc06630d4c58eec9459b939b4a690c82ed05657"}, - {file = "coverage-7.6.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6db04803b6c7291985a761004e9060b2bca08da6d04f26a7f2294b8623a0c1a0"}, - {file = "coverage-7.6.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f1adfc8ac319e1a348af294106bc6a8458a0f1633cc62a1446aebc30c5fa186a"}, - {file = "coverage-7.6.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a95324a9de9650a729239daea117df21f4b9868ce32e63f8b650ebe6cef5595b"}, - {file = "coverage-7.6.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b43c03669dc4618ec25270b06ecd3ee4fa94c7f9b3c14bae6571ca00ef98b0d3"}, - {file = "coverage-7.6.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8929543a7192c13d177b770008bc4e8119f2e1f881d563fc6b6305d2d0ebe9de"}, - {file = "coverage-7.6.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:a09ece4a69cf399510c8ab25e0950d9cf2b42f7b3cb0374f95d2e2ff594478a6"}, - {file = "coverage-7.6.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:9054a0754de38d9dbd01a46621636689124d666bad1936d76c0341f7d71bf569"}, - {file = "coverage-7.6.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:0dbde0f4aa9a16fa4d754356a8f2e36296ff4d83994b2c9d8398aa32f222f989"}, - {file = "coverage-7.6.1-cp38-cp38-win32.whl", hash = "sha256:da511e6ad4f7323ee5702e6633085fb76c2f893aaf8ce4c51a0ba4fc07580ea7"}, - {file = "coverage-7.6.1-cp38-cp38-win_amd64.whl", hash = "sha256:3f1156e3e8f2872197af3840d8ad307a9dd18e615dc64d9ee41696f287c57ad8"}, - {file = "coverage-7.6.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:abd5fd0db5f4dc9289408aaf34908072f805ff7792632250dcb36dc591d24255"}, - {file = "coverage-7.6.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:547f45fa1a93154bd82050a7f3cddbc1a7a4dd2a9bf5cb7d06f4ae29fe94eaf8"}, - {file = "coverage-7.6.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:645786266c8f18a931b65bfcefdbf6952dd0dea98feee39bd188607a9d307ed2"}, - {file = "coverage-7.6.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9e0b2df163b8ed01d515807af24f63de04bebcecbd6c3bfeff88385789fdf75a"}, - {file = "coverage-7.6.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:609b06f178fe8e9f89ef676532760ec0b4deea15e9969bf754b37f7c40326dbc"}, - {file = "coverage-7.6.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:702855feff378050ae4f741045e19a32d57d19f3e0676d589df0575008ea5004"}, - {file = "coverage-7.6.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:2bdb062ea438f22d99cba0d7829c2ef0af1d768d1e4a4f528087224c90b132cb"}, - {file = "coverage-7.6.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:9c56863d44bd1c4fe2abb8a4d6f5371d197f1ac0ebdee542f07f35895fc07f36"}, - {file = "coverage-7.6.1-cp39-cp39-win32.whl", hash = "sha256:6e2cd258d7d927d09493c8df1ce9174ad01b381d4729a9d8d4e38670ca24774c"}, - {file = "coverage-7.6.1-cp39-cp39-win_amd64.whl", hash = "sha256:06a737c882bd26d0d6ee7269b20b12f14a8704807a01056c80bb881a4b2ce6ca"}, - {file = "coverage-7.6.1-pp38.pp39.pp310-none-any.whl", hash = "sha256:e9a6e0eb86070e8ccaedfbd9d38fec54864f3125ab95419970575b42af7541df"}, - {file = "coverage-7.6.1.tar.gz", hash = "sha256:953510dfb7b12ab69d20135a0662397f077c59b1e6379a768e97c59d852ee51d"}, + {file = "coverage-7.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d872145f3a3231a5f20fd48500274d7df222e291d90baa2026cc5152b7ce86bf"}, + {file = "coverage-7.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:310b3bb9c91ea66d59c53fa4989f57d2436e08f18fb2f421a1b0b6b8cc7fffda"}, + {file = "coverage-7.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f47d39359e2c3779c5331fc740cf4bce6d9d680a7b4b4ead97056a0ae07cb49a"}, + {file = "coverage-7.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aa72dbaf2c2068404b9870d93436e6d23addd8bbe9295f49cbca83f6e278179c"}, + {file = "coverage-7.3.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:beaa5c1b4777f03fc63dfd2a6bd820f73f036bfb10e925fce067b00a340d0f3f"}, + {file = "coverage-7.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:dbc1b46b92186cc8074fee9d9fbb97a9dd06c6cbbef391c2f59d80eabdf0faa6"}, + {file = "coverage-7.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:315a989e861031334d7bee1f9113c8770472db2ac484e5b8c3173428360a9148"}, + {file = "coverage-7.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d1bc430677773397f64a5c88cb522ea43175ff16f8bfcc89d467d974cb2274f9"}, + {file = "coverage-7.3.2-cp310-cp310-win32.whl", hash = "sha256:a889ae02f43aa45032afe364c8ae84ad3c54828c2faa44f3bfcafecb5c96b02f"}, + {file = "coverage-7.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:c0ba320de3fb8c6ec16e0be17ee1d3d69adcda99406c43c0409cb5c41788a611"}, + {file = "coverage-7.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ac8c802fa29843a72d32ec56d0ca792ad15a302b28ca6203389afe21f8fa062c"}, + {file = "coverage-7.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:89a937174104339e3a3ffcf9f446c00e3a806c28b1841c63edb2b369310fd074"}, + {file = "coverage-7.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e267e9e2b574a176ddb983399dec325a80dbe161f1a32715c780b5d14b5f583a"}, + {file = "coverage-7.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2443cbda35df0d35dcfb9bf8f3c02c57c1d6111169e3c85fc1fcc05e0c9f39a3"}, + {file = "coverage-7.3.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4175e10cc8dda0265653e8714b3174430b07c1dca8957f4966cbd6c2b1b8065a"}, + {file = "coverage-7.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0cbf38419fb1a347aaf63481c00f0bdc86889d9fbf3f25109cf96c26b403fda1"}, + {file = "coverage-7.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:5c913b556a116b8d5f6ef834038ba983834d887d82187c8f73dec21049abd65c"}, + {file = "coverage-7.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1981f785239e4e39e6444c63a98da3a1db8e971cb9ceb50a945ba6296b43f312"}, + {file = "coverage-7.3.2-cp311-cp311-win32.whl", hash = "sha256:43668cabd5ca8258f5954f27a3aaf78757e6acf13c17604d89648ecc0cc66640"}, + {file = "coverage-7.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10c39c0452bf6e694511c901426d6b5ac005acc0f78ff265dbe36bf81f808a2"}, + {file = "coverage-7.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:4cbae1051ab791debecc4a5dcc4a1ff45fc27b91b9aee165c8a27514dd160836"}, + {file = "coverage-7.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:12d15ab5833a997716d76f2ac1e4b4d536814fc213c85ca72756c19e5a6b3d63"}, + {file = "coverage-7.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c7bba973ebee5e56fe9251300c00f1579652587a9f4a5ed8404b15a0471f216"}, + {file = "coverage-7.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fe494faa90ce6381770746077243231e0b83ff3f17069d748f645617cefe19d4"}, + {file = "coverage-7.3.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6e9589bd04d0461a417562649522575d8752904d35c12907d8c9dfeba588faf"}, + {file = "coverage-7.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d51ac2a26f71da1b57f2dc81d0e108b6ab177e7d30e774db90675467c847bbdf"}, + {file = "coverage-7.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:99b89d9f76070237975b315b3d5f4d6956ae354a4c92ac2388a5695516e47c84"}, + {file = "coverage-7.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:fa28e909776dc69efb6ed975a63691bc8172b64ff357e663a1bb06ff3c9b589a"}, + {file = "coverage-7.3.2-cp312-cp312-win32.whl", hash = "sha256:289fe43bf45a575e3ab10b26d7b6f2ddb9ee2dba447499f5401cfb5ecb8196bb"}, + {file = "coverage-7.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:7dbc3ed60e8659bc59b6b304b43ff9c3ed858da2839c78b804973f613d3e92ed"}, + {file = "coverage-7.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f94b734214ea6a36fe16e96a70d941af80ff3bfd716c141300d95ebc85339738"}, + {file = "coverage-7.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:af3d828d2c1cbae52d34bdbb22fcd94d1ce715d95f1a012354a75e5913f1bda2"}, + {file = "coverage-7.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:630b13e3036e13c7adc480ca42fa7afc2a5d938081d28e20903cf7fd687872e2"}, + {file = "coverage-7.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c9eacf273e885b02a0273bb3a2170f30e2d53a6d53b72dbe02d6701b5296101c"}, + {file = "coverage-7.3.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d8f17966e861ff97305e0801134e69db33b143bbfb36436efb9cfff6ec7b2fd9"}, + {file = "coverage-7.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b4275802d16882cf9c8b3d057a0839acb07ee9379fa2749eca54efbce1535b82"}, + {file = "coverage-7.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:72c0cfa5250f483181e677ebc97133ea1ab3eb68645e494775deb6a7f6f83901"}, + {file = "coverage-7.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:cb536f0dcd14149425996821a168f6e269d7dcd2c273a8bff8201e79f5104e76"}, + {file = "coverage-7.3.2-cp38-cp38-win32.whl", hash = "sha256:307adb8bd3abe389a471e649038a71b4eb13bfd6b7dd9a129fa856f5c695cf92"}, + {file = "coverage-7.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:88ed2c30a49ea81ea3b7f172e0269c182a44c236eb394718f976239892c0a27a"}, + {file = "coverage-7.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b631c92dfe601adf8f5ebc7fc13ced6bb6e9609b19d9a8cd59fa47c4186ad1ce"}, + {file = "coverage-7.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d3d9df4051c4a7d13036524b66ecf7a7537d14c18a384043f30a303b146164e9"}, + {file = "coverage-7.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f7363d3b6a1119ef05015959ca24a9afc0ea8a02c687fe7e2d557705375c01f"}, + {file = "coverage-7.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2f11cc3c967a09d3695d2a6f03fb3e6236622b93be7a4b5dc09166a861be6d25"}, + {file = "coverage-7.3.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:149de1d2401ae4655c436a3dced6dd153f4c3309f599c3d4bd97ab172eaf02d9"}, + {file = "coverage-7.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:3a4006916aa6fee7cd38db3bfc95aa9c54ebb4ffbfc47c677c8bba949ceba0a6"}, + {file = "coverage-7.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9028a3871280110d6e1aa2df1afd5ef003bab5fb1ef421d6dc748ae1c8ef2ebc"}, + {file = "coverage-7.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9f805d62aec8eb92bab5b61c0f07329275b6f41c97d80e847b03eb894f38d083"}, + {file = "coverage-7.3.2-cp39-cp39-win32.whl", hash = "sha256:d1c88ec1a7ff4ebca0219f5b1ef863451d828cccf889c173e1253aa84b1e07ce"}, + {file = "coverage-7.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b4767da59464bb593c07afceaddea61b154136300881844768037fd5e859353f"}, + {file = "coverage-7.3.2-pp38.pp39.pp310-none-any.whl", hash = "sha256:ae97af89f0fbf373400970c0a21eef5aa941ffeed90aee43650b81f7d7f47637"}, + {file = "coverage-7.3.2.tar.gz", hash = "sha256:be32ad29341b0170e795ca590e1c07e81fc061cb5b10c74ce7203491484404ef"}, ] [package.extras] @@ -2371,4 +2351,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = ">=3.10,<4.0" -content-hash = "b1c789ec1aced8436e632980c78c3d2d251d34c7ab73d282142a2f9d565035d7" +content-hash = "ab7a7b0c846b70bd0bb94bc8f2b98b93518d83abd7237aba96b1a0c8fc39b0dc" diff --git a/pyproject.toml b/pyproject.toml index 038d9b42..694ee4e8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -13,7 +13,7 @@ ansible-core = "^2.16" [tool.poetry.dev-dependencies] black = "*" -coverage = "*" +coverage = "7.3.2" cryptography = "*" jinja2 = "*" jmespath = "*" From 07e23992937020bbe62140aa78b5e838d9cde9a1 Mon Sep 17 00:00:00 2001 From: Joe Wesch Date: Tue, 13 Aug 2024 09:11:41 -0500 Subject: [PATCH 059/102] Updates actions/setup-python version --- .github/workflows/integration_tests.yml | 2 +- .github/workflows/trigger_release.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/integration_tests.yml b/.github/workflows/integration_tests.yml index af9498c7..6f6e5e7c 100644 --- a/.github/workflows/integration_tests.yml +++ b/.github/workflows/integration_tests.yml @@ -31,7 +31,7 @@ jobs: - name: "Check out repository code" uses: "actions/checkout@v4" - name: "Set up Python" - uses: "actions/setup-python@v3" + uses: "actions/setup-python@v5" with: python-version: "${{ inputs.python-version }}" - name: "Install invoke" diff --git a/.github/workflows/trigger_release.yml b/.github/workflows/trigger_release.yml index 2589eb48..3d776cf0 100644 --- a/.github/workflows/trigger_release.yml +++ b/.github/workflows/trigger_release.yml @@ -63,7 +63,7 @@ jobs: - name: "Check out repository code" uses: "actions/checkout@v4" - name: "Set up Python" - uses: "actions/setup-python@v3" + uses: "actions/setup-python@v5" with: python-version: "3.10" - name: "Install Python Packages" @@ -88,7 +88,7 @@ jobs: - name: "Check out repository code" uses: "actions/checkout@v4" - name: "Set up Python" - uses: "actions/setup-python@v3" + uses: "actions/setup-python@v5" with: python-version: "3.10" - name: "Install Python Packages" From 4c6d4a8618c841a726c3e3df222e55e61b343c40 Mon Sep 17 00:00:00 2001 From: Joe Wesch Date: Wed, 14 Aug 2024 08:14:31 -0500 Subject: [PATCH 060/102] Updates controller module arg spec --- plugins/modules/controller.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/plugins/modules/controller.py b/plugins/modules/controller.py index fd333ae1..6265cf6b 100644 --- a/plugins/modules/controller.py +++ b/plugins/modules/controller.py @@ -127,7 +127,11 @@ type: str """ -from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import NAUTOBOT_ARG_SPEC +from ansible_collections.networktocode.nautobot.plugins.module_utils.utils import ( + NAUTOBOT_ARG_SPEC, + TAGS_ARG_SPEC, + CUSTOM_FIELDS_ARG_SPEC, +) from ansible_collections.networktocode.nautobot.plugins.module_utils.dcim import ( NautobotDcimModule, NB_CONTROLLERS, @@ -141,6 +145,8 @@ def main(): Main entry point for module execution """ argument_spec = deepcopy(NAUTOBOT_ARG_SPEC) + argument_spec.update(deepcopy(TAGS_ARG_SPEC)) + argument_spec.update(deepcopy(CUSTOM_FIELDS_ARG_SPEC)) argument_spec.update( dict( name=dict(required=True, type="str"), @@ -152,8 +158,6 @@ def main(): tenant=dict(required=False, type="raw"), platform=dict(required=False, type="raw"), status=dict(required=False, type="raw"), - tags=dict(required=False, type="list", elements="raw"), - custom_fields=dict(required=False, type="dict"), controller_device_redundancy_group=dict(required=False, type="str"), ) ) From c9cfba2b3a7cec82a0d8f7d58d920d81f745eb09 Mon Sep 17 00:00:00 2001 From: Jeff Kala <48843785+jeffkala@users.noreply.github.com> Date: Fri, 16 Aug 2024 09:28:17 -0600 Subject: [PATCH 061/102] Apply suggestions from code review Co-authored-by: Joe Wesch <10467633+joewesch@users.noreply.github.com> --- plugins/modules/admin_group.py | 5 ++--- plugins/modules/object_permission.py | 3 +-- plugins/modules/user.py | 5 ++--- 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/plugins/modules/admin_group.py b/plugins/modules/admin_group.py index 11578fe6..548e85b0 100644 --- a/plugins/modules/admin_group.py +++ b/plugins/modules/admin_group.py @@ -15,7 +15,6 @@ description: - Creates, updates or removes admin groups from Nautobot notes: - - Tags should be defined as a YAML list - This should be ran with connection C(local) and hosts C(localhost) author: - Jeff Kala (@jeffkala) @@ -38,14 +37,14 @@ gather_facts: False tasks: - - name: Create user within Nautobot with only required information + - name: Create admin group within Nautobot networktocode.nautobot.admin_group: url: http://nautobot.local token: thisIsMyToken name: read_only_group state: present - - name: Delete user within admin_group + - name: Delete admin group networktocode.nautobot.user: url: http://nautobot.local token: thisIsMyToken diff --git a/plugins/modules/object_permission.py b/plugins/modules/object_permission.py index f3792781..3e96b66a 100644 --- a/plugins/modules/object_permission.py +++ b/plugins/modules/object_permission.py @@ -15,7 +15,6 @@ description: - Creates, updates or removes object permissions from Nautobot notes: - - Tags should be defined as a YAML list - This should be ran with connection C(local) and hosts C(localhost) author: - Jeff Kala (@jeffkala) @@ -74,7 +73,7 @@ - The groups assigned for the permission definition. required: false type: list - elements: dict + elements: raw version_added: "5.3.0" """ diff --git a/plugins/modules/user.py b/plugins/modules/user.py index 887f9bc8..644d610f 100644 --- a/plugins/modules/user.py +++ b/plugins/modules/user.py @@ -15,7 +15,6 @@ description: - Creates, updates or removes users from Nautobot notes: - - Tags should be defined as a YAML list - This should be ran with connection C(local) and hosts C(localhost) author: - Jeff Kala (@jeffkala) @@ -37,13 +36,13 @@ version_added: "5.3.0" is_staff: description: - - If the user should be set for superuser status + - If the user should be set for staff status required: false type: bool version_added: "5.3.0" is_active: description: - - If the user should be set for superuser status + - If the user should be active required: false type: bool version_added: "5.3.0" From a83749e1f7fcf057f79f7488dd0a9a912e69ac07 Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Sun, 25 Aug 2024 12:01:29 -0500 Subject: [PATCH 062/102] Adds VM Interface Role. --- plugins/modules/vm_interface.py | 8 ++++++++ tests/integration/nautobot-populate.py | 2 +- tests/integration/targets/latest/tasks/vm_interface.yml | 3 +++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/plugins/modules/vm_interface.py b/plugins/modules/vm_interface.py index 3b1dfc64..088000ed 100644 --- a/plugins/modules/vm_interface.py +++ b/plugins/modules/vm_interface.py @@ -85,6 +85,12 @@ required: false type: raw version_added: "3.0.0" + role: + description: + - The role of the interface + required: false + type: raw + version_added: "5.3.0" """ EXAMPLES = r""" @@ -125,6 +131,7 @@ - name: VoIP location: "{{ test_location['key'] }}" mtu: 1600 + role: Server mode: Tagged state: present @@ -184,6 +191,7 @@ def main(): mode=dict(required=False, type="raw"), untagged_vlan=dict(required=False, type="raw"), tagged_vlans=dict(required=False, type="raw"), + role=dict(required=False, type="raw"), ) ) diff --git a/tests/integration/nautobot-populate.py b/tests/integration/nautobot-populate.py index e031eea3..4db3f07f 100755 --- a/tests/integration/nautobot-populate.py +++ b/tests/integration/nautobot-populate.py @@ -246,7 +246,7 @@ def make_nautobot_calls(endpoint, payload): # Create Device Roles device_roles = [ {"name": "Core Switch", "color": "aa1409", "vm_role": False, "content_types": ["dcim.device"]}, - {"name": "Test VM Role", "color": "e91e63", "vm_role": True, "content_types": ["virtualization.virtualmachine"]}, + {"name": "Test VM Role", "color": "e91e63", "vm_role": True, "content_types": ["virtualization.virtualmachine", "virtualization.vminterface"]}, {"name": "Test VM Role 1", "color": "e91e65", "vm_role": True, "content_types": ["dcim.device", "virtualization.virtualmachine"]}, {"name": "Test Controller Role", "color": "e91e65", "vm_role": False, "content_types": ["dcim.controller"]}, ] diff --git a/tests/integration/targets/latest/tasks/vm_interface.yml b/tests/integration/targets/latest/tasks/vm_interface.yml index 7ecc7776..e5ca0933 100644 --- a/tests/integration/targets/latest/tasks/vm_interface.yml +++ b/tests/integration/targets/latest/tasks/vm_interface.yml @@ -8,6 +8,7 @@ vm100: "{{ lookup('networktocode.nautobot.lookup', 'virtual-machines', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=test100-vm') }}" tag_schnozzberry: "{{ lookup('networktocode.nautobot.lookup', 'tags', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=Schnozzberry') }}" wireless: "{{ lookup('networktocode.nautobot.lookup', 'vlans', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=Wireless') }}" + vm_interface_role: "{{ lookup('networktocode.nautobot.lookup', 'roles', api_endpoint=nautobot_url, token=nautobot_token, api_filter='Test VM Role' )}}" - name: "PYNAUTOBOT_VM_INTERFACE 1: Necessary info creation" networktocode.nautobot.vm_interface: @@ -58,6 +59,7 @@ mac_address: "00:00:00:AA:AA:01" description: "Updated test100-vm" mode: Tagged + role: "Test VM Role" untagged_vlan: name: Wireless location: "Child Test Location" @@ -95,6 +97,7 @@ - test_three['interface']['tagged_vlans']|length == 2 - test_three['interface']['tags'][0] == tag_schnozzberry['key'] - test_three['msg'] == "interface Eth10 updated" + - test_three['interface']['role'] == - name: "PYNAUTOBOT_VM_INTERFACE 4: ASSERT - Delete" networktocode.nautobot.vm_interface: From 3b9e98eeabd3ef700ccb9161211203ae07dcaaea Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Sun, 25 Aug 2024 12:31:15 -0500 Subject: [PATCH 063/102] Fix tests. --- tests/integration/nautobot-populate.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/tests/integration/nautobot-populate.py b/tests/integration/nautobot-populate.py index 4db3f07f..c8081710 100755 --- a/tests/integration/nautobot-populate.py +++ b/tests/integration/nautobot-populate.py @@ -246,7 +246,7 @@ def make_nautobot_calls(endpoint, payload): # Create Device Roles device_roles = [ {"name": "Core Switch", "color": "aa1409", "vm_role": False, "content_types": ["dcim.device"]}, - {"name": "Test VM Role", "color": "e91e63", "vm_role": True, "content_types": ["virtualization.virtualmachine", "virtualization.vminterface"]}, + {"name": "Test VM Role", "color": "e91e63", "vm_role": True, "content_types": ["virtualization.virtualmachine"]}, {"name": "Test VM Role 1", "color": "e91e65", "vm_role": True, "content_types": ["dcim.device", "virtualization.virtualmachine"]}, {"name": "Test Controller Role", "color": "e91e65", "vm_role": False, "content_types": ["dcim.controller"]}, ] @@ -617,3 +617,14 @@ def make_nautobot_calls(endpoint, payload): if ERRORS: sys.exit("Errors have occurred when creating objects, and should have been printed out. Check previous output.") + + +############### +# v2.3+ items # +############### +if nautobot_version >= version.parse("2.3"): + # Create role for virtual machine interfaces + vm_interface_roles = [ + {"name": "Test VM Interface Role", "color": "aa1409", "vm_role": False, "content_types": ["virtualization.vminterface"]}, + ] + created_device_roles = make_nautobot_calls(nb.extras.roles, device_roles) \ No newline at end of file From 23ebfda74869f27f7d5524ac7f8e402bd057b13c Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Mon, 26 Aug 2024 08:57:39 -0500 Subject: [PATCH 064/102] Tests. --- tasks.py | 2 +- tests/integration/nautobot-populate.py | 11 +- .../targets/latest/tasks/vm_interface.yml | 167 +++++++++++++++++- 3 files changed, 174 insertions(+), 6 deletions(-) diff --git a/tasks.py b/tasks.py index c879a03d..1873dd13 100644 --- a/tasks.py +++ b/tasks.py @@ -32,7 +32,7 @@ def is_truthy(arg): namespace.configure( { "nautobot_ansible": { - "nautobot_ver": "2.0.0", + "nautobot_ver": "2.3.1", "project_name": "nautobot_ansible", "python_ver": "3.10", "local": False, diff --git a/tests/integration/nautobot-populate.py b/tests/integration/nautobot-populate.py index c8081710..ea6408dd 100755 --- a/tests/integration/nautobot-populate.py +++ b/tests/integration/nautobot-populate.py @@ -5,6 +5,7 @@ __metaclass__ = type import os +import logging import sys import pynautobot from packaging import version @@ -12,6 +13,8 @@ # NOTE: If anything depends on specific versions of Nautobot, can check INTEGRATION_TESTS in env # os.environ["INTEGRATION_TESTS"] +logger = logging.getLogger(__name__) +logger.setLevel(logging.DEBUG) # Set nb variable to connect to Nautobot and use the variable in future calls nb_host = os.getenv("NAUTOBOT_URL", "http://nautobot:8000") @@ -48,7 +51,7 @@ def make_nautobot_calls(endpoint, payload): create_tags = make_nautobot_calls( nb.extras.tags, [ - {"name": "First", "content_types": ["dcim.device", "ipam.routetarget", "dcim.controller"]}, + {"name": "First", "content_types": ["dcim.device", "ipam.routetarget"]}, {"name": "Second", "content_types": ["dcim.device", "ipam.routetarget"]}, {"name": "Third", "content_types": ["dcim.device"]}, { @@ -251,6 +254,8 @@ def make_nautobot_calls(endpoint, payload): {"name": "Test Controller Role", "color": "e91e65", "vm_role": False, "content_types": ["dcim.controller"]}, ] created_device_roles = make_nautobot_calls(nb.extras.roles, device_roles) +print(created_device_roles) +logger.debug("Device Roles: %s", created_device_roles) # Device role variables to be used later on core_switch = nb.extras.roles.get(name="Core Switch") @@ -624,7 +629,9 @@ def make_nautobot_calls(endpoint, payload): ############### if nautobot_version >= version.parse("2.3"): # Create role for virtual machine interfaces + logger.debug("Creating VM Interface Role") vm_interface_roles = [ {"name": "Test VM Interface Role", "color": "aa1409", "vm_role": False, "content_types": ["virtualization.vminterface"]}, ] - created_device_roles = make_nautobot_calls(nb.extras.roles, device_roles) \ No newline at end of file + created_device_roles = make_nautobot_calls(nb.extras.roles, device_roles) + logger.debug("VM Interface Role created") diff --git a/tests/integration/targets/latest/tasks/vm_interface.yml b/tests/integration/targets/latest/tasks/vm_interface.yml index e5ca0933..7f88ed88 100644 --- a/tests/integration/targets/latest/tasks/vm_interface.yml +++ b/tests/integration/targets/latest/tasks/vm_interface.yml @@ -8,7 +8,7 @@ vm100: "{{ lookup('networktocode.nautobot.lookup', 'virtual-machines', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=test100-vm') }}" tag_schnozzberry: "{{ lookup('networktocode.nautobot.lookup', 'tags', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=Schnozzberry') }}" wireless: "{{ lookup('networktocode.nautobot.lookup', 'vlans', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=Wireless') }}" - vm_interface_role: "{{ lookup('networktocode.nautobot.lookup', 'roles', api_endpoint=nautobot_url, token=nautobot_token, api_filter='Test VM Role' )}}" + active: "{{ lookup('networktocode.nautobot.lookup', 'statuses', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=Active') }}" - name: "PYNAUTOBOT_VM_INTERFACE 1: Necessary info creation" networktocode.nautobot.vm_interface: @@ -59,7 +59,6 @@ mac_address: "00:00:00:AA:AA:01" description: "Updated test100-vm" mode: Tagged - role: "Test VM Role" untagged_vlan: name: Wireless location: "Child Test Location" @@ -97,7 +96,6 @@ - test_three['interface']['tagged_vlans']|length == 2 - test_three['interface']['tags'][0] == tag_schnozzberry['key'] - test_three['msg'] == "interface Eth10 updated" - - test_three['interface']['role'] == - name: "PYNAUTOBOT_VM_INTERFACE 4: ASSERT - Delete" networktocode.nautobot.vm_interface: @@ -164,3 +162,166 @@ - test_five['interface']['tagged_vlans']|length == 2 - test_five['interface']['tags'][0] == tag_schnozzberry['key'] - test_five['msg'] == "interface Eth0 updated" + +- name: "NAUTOBOT 2.3+ TESTS" + when: + - "nautobot_version is version('2.2', '>')" + block: + - name: SET ADDITIONAL FACTS + set_fact: + vm_interface_role: "{{ lookup('networktocode.nautobot.lookup', 'roles', api_endpoint=nautobot_url, token=nautobot_token, api_filter='Test VM Role' )}}" + + - name: "PYNAUTOBOT_VM_INTERFACE 11: Necessary info creation" + networktocode.nautobot.vm_interface: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + virtual_machine: "test100-vm" + name: "Eth10" + status: "Active" + state: present + register: test_eleven + + - name: "PYNAUTOBOT_VM_INTERFACE 11: ASSERT - Necessary info creation" + assert: + that: + - test_eleven is changed + - test_eleven['diff']['before']['state'] == "absent" + - test_eleven['diff']['after']['state'] == "present" + - test_eleven['interface']['name'] == "Eth10" + - test_eleven['interface']['virtual_machine'] == vm100['key'] + - test_eleven['msg'] == "interface Eth10 created" + + - name: "PYNAUTOBOT_VM_INTERFACE 12: Create duplicate" + networktocode.nautobot.vm_interface: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + virtual_machine: "test100-vm" + name: "Eth10" + status: "Active" + state: present + register: test_twelve + + - name: "PYNAUTOBOT_VM_INTERFACE 12: ASSERT - Create duplicate" + assert: + that: + - not test_twelve['changed'] + - test_twelve['interface']['name'] == "Eth10" + - test_twelve['interface']['virtual_machine'] == vm100['key'] + - test_twelve['msg'] == "interface Eth10 already exists" + + - name: "PYNAUTOBOT_VM_INTERFACE 13: Updated" + networktocode.nautobot.vm_interface: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + virtual_machine: "test100-vm" + name: "Eth10" + enabled: false + mtu: 9000 + mac_address: "00:00:00:AA:AA:01" + description: "Updated test100-vm" + mode: Tagged + role: "Test VM Role" + untagged_vlan: + name: Wireless + location: "Child Test Location" + tagged_vlans: + - name: Data + location: "Child Test Location" + - name: VoIP + location: "Child Test Location" + tags: + - "Schnozzberry" + state: present + register: test_thirteen + + - name: "PYNAUTOBOT_VM_INTERFACE 13: ASSERT - Updated" + assert: + that: + - test_thirteen is changed + - test_thirteen['diff']['after']['enabled'] == false + - test_thirteen['diff']['after']['mtu'] == 9000 + - test_thirteen['diff']['after']['mac_address'] == "00:00:00:AA:AA:01" + - test_thirteen['diff']['after']['description'] == "Updated test100-vm" + - test_thirteen['diff']['after']['mode'] == "tagged" + - test_thirteen['diff']['after']['untagged_vlan'] == wireless['key'] + - test_thirteen['diff']['after']['tagged_vlans']|length == 2 + - test_thirteen['diff']['after']['tags'][0] == tag_schnozzberry['key'] + - test_thirteen['interface']['name'] == "Eth10" + - test_thirteen['interface']['status'] == active['key'] + - test_thirteen['interface']['virtual_machine'] == vm100['key'] + - test_thirteen['interface']['enabled'] == false + - test_thirteen['interface']['mtu'] == 9000 + - test_thirteen['interface']['mac_address'] == "00:00:00:AA:AA:01" + - test_thirteen['interface']['description'] == "Updated test100-vm" + - test_thirteen['interface']['mode'] == "tagged" + - test_thirteen['interface']['untagged_vlan'] == wireless['key'] + - test_thirteen['interface']['tagged_vlans']|length == 2 + - test_thirteen['interface']['tags'][0] == tag_schnozzberry['key'] + - test_thirteen['interface']['role'] == vm_interface_role['key'] + - test_thirteen['msg'] == "interface Eth10 updated" + + - name: "PYNAUTOBOT_VM_INTERFACE 14: ASSERT - Delete" + networktocode.nautobot.vm_interface: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + name: "Eth10" + virtual_machine: "test100-vm" + state: absent + register: test_fourteen + + - name: "PYNAUTOBOT_VM_INTERFACE 14: ASSERT - Delete" + assert: + that: + - test_fourteen is changed + - test_fourteen['interface']['name'] == "Eth10" + - test_fourteen['interface']['virtual_machine'] == vm100['key'] + - test_fourteen['msg'] == "interface Eth10 deleted" + + - name: "PYNAUTOBOT_VM_INTERFACE 15: Attempt to update interface with same name on other VMs" + networktocode.nautobot.vm_interface: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + virtual_machine: "test100-vm" + name: "Eth0" + status: "Active" + enabled: false + mtu: 9000 + mac_address: "00:00:00:AA:AA:01" + description: "Updated test100-vm Eth0 intf" + mode: Tagged + untagged_vlan: + name: Wireless + location: "Child Test Location" + tagged_vlans: + - name: Data + location: "Child Test Location" + - name: VoIP + location: "Child Test Location" + tags: + - "Schnozzberry" + state: present + register: test_fifteen + + - name: "PYNAUTOBOT_VM_INTERFACE 15: ASSERT - Updated" + assert: + that: + - test_fifteen is changed + - test_fifteen['diff']['after']['enabled'] == false + - test_fifteen['diff']['after']['mtu'] == 9000 + - test_fifteen['diff']['after']['mac_address'] == "00:00:00:AA:AA:01" + - test_fifteen['diff']['after']['description'] == "Updated test100-vm Eth0 intf" + - test_fifteen['diff']['after']['mode'] == "tagged" + - test_fifteen['diff']['after']['untagged_vlan'] == wireless['key'] + - test_fifteen['diff']['after']['tagged_vlans']|length == 2 + - test_fifteen['diff']['after']['tags'][0] == tag_schnozzberry['key'] + - test_fifteen['interface']['name'] == "Eth0" + - test_fifteen['interface']['virtual_machine'] == vm100['key'] + - test_fifteen['interface']['enabled'] == false + - test_fifteen['interface']['mtu'] == 9000 + - test_fifteen['interface']['mac_address'] == "00:00:00:AA:AA:01" + - test_fifteen['interface']['description'] == "Updated test100-vm Eth0 intf" + - test_fifteen['interface']['mode'] == "tagged" + - test_fifteen['interface']['untagged_vlan'] == wireless['key'] + - test_fifteen['interface']['tagged_vlans']|length == 2 + - test_fifteen['interface']['tags'][0] == tag_schnozzberry['key'] + - test_fifteen['msg'] == "interface Eth0 updated" \ No newline at end of file From 2433038358f585faf879d4c74412d82b3e3e7da6 Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Mon, 26 Aug 2024 11:27:06 -0500 Subject: [PATCH 065/102] Updating conditional. --- tests/integration/targets/latest/tasks/vm_interface.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/integration/targets/latest/tasks/vm_interface.yml b/tests/integration/targets/latest/tasks/vm_interface.yml index 7f88ed88..2ddebe72 100644 --- a/tests/integration/targets/latest/tasks/vm_interface.yml +++ b/tests/integration/targets/latest/tasks/vm_interface.yml @@ -165,7 +165,7 @@ - name: "NAUTOBOT 2.3+ TESTS" when: - - "nautobot_version is version('2.2', '>')" + - "nautobot_version is version('2.3', '>=')" block: - name: SET ADDITIONAL FACTS set_fact: From 25729d515492ace36d3f747aa50e36e84f7e6e13 Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Mon, 26 Aug 2024 11:42:04 -0500 Subject: [PATCH 066/102] trial --- tests/integration/targets/latest/tasks/vm_interface.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/integration/targets/latest/tasks/vm_interface.yml b/tests/integration/targets/latest/tasks/vm_interface.yml index 2ddebe72..7730331a 100644 --- a/tests/integration/targets/latest/tasks/vm_interface.yml +++ b/tests/integration/targets/latest/tasks/vm_interface.yml @@ -8,7 +8,6 @@ vm100: "{{ lookup('networktocode.nautobot.lookup', 'virtual-machines', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=test100-vm') }}" tag_schnozzberry: "{{ lookup('networktocode.nautobot.lookup', 'tags', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=Schnozzberry') }}" wireless: "{{ lookup('networktocode.nautobot.lookup', 'vlans', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=Wireless') }}" - active: "{{ lookup('networktocode.nautobot.lookup', 'statuses', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=Active') }}" - name: "PYNAUTOBOT_VM_INTERFACE 1: Necessary info creation" networktocode.nautobot.vm_interface: From 44d7ba74b00161c0face4cc48b720d7d70c41cf6 Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Tue, 27 Aug 2024 15:36:34 -0500 Subject: [PATCH 067/102] Update tests/integration/targets/latest/tasks/vm_interface.yml Co-authored-by: Joe Wesch <10467633+joewesch@users.noreply.github.com> --- tests/integration/targets/latest/tasks/vm_interface.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/integration/targets/latest/tasks/vm_interface.yml b/tests/integration/targets/latest/tasks/vm_interface.yml index 7730331a..53ab5f37 100644 --- a/tests/integration/targets/latest/tasks/vm_interface.yml +++ b/tests/integration/targets/latest/tasks/vm_interface.yml @@ -168,7 +168,7 @@ block: - name: SET ADDITIONAL FACTS set_fact: - vm_interface_role: "{{ lookup('networktocode.nautobot.lookup', 'roles', api_endpoint=nautobot_url, token=nautobot_token, api_filter='Test VM Role' )}}" + vm_interface_role: "{{ lookup('networktocode.nautobot.lookup', 'roles', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=\"Test VM Role\"' )}}" - name: "PYNAUTOBOT_VM_INTERFACE 11: Necessary info creation" networktocode.nautobot.vm_interface: From 2c844b1666111217c290e578339ad9d8dab1208e Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Wed, 28 Aug 2024 08:28:17 -0500 Subject: [PATCH 068/102] Fix tests. --- tests/integration/nautobot-populate.py | 10 ++++------ .../integration/targets/latest/tasks/vm_interface.yml | 2 +- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/tests/integration/nautobot-populate.py b/tests/integration/nautobot-populate.py index ea6408dd..67eb6090 100755 --- a/tests/integration/nautobot-populate.py +++ b/tests/integration/nautobot-populate.py @@ -619,11 +619,6 @@ def make_nautobot_calls(endpoint, payload): contacts = [{"name": "My Contact"}, {"name": "My Contact 2"}] created_contacts = make_nautobot_calls(nb.extras.contacts, contacts) - -if ERRORS: - sys.exit("Errors have occurred when creating objects, and should have been printed out. Check previous output.") - - ############### # v2.3+ items # ############### @@ -633,5 +628,8 @@ def make_nautobot_calls(endpoint, payload): vm_interface_roles = [ {"name": "Test VM Interface Role", "color": "aa1409", "vm_role": False, "content_types": ["virtualization.vminterface"]}, ] - created_device_roles = make_nautobot_calls(nb.extras.roles, device_roles) + created_device_roles = make_nautobot_calls(nb.extras.roles, vm_interface_roles) logger.debug("VM Interface Role created") + +if ERRORS: + sys.exit("Errors have occurred when creating objects, and should have been printed out. Check previous output.") diff --git a/tests/integration/targets/latest/tasks/vm_interface.yml b/tests/integration/targets/latest/tasks/vm_interface.yml index 53ab5f37..f7c8f29f 100644 --- a/tests/integration/targets/latest/tasks/vm_interface.yml +++ b/tests/integration/targets/latest/tasks/vm_interface.yml @@ -168,7 +168,7 @@ block: - name: SET ADDITIONAL FACTS set_fact: - vm_interface_role: "{{ lookup('networktocode.nautobot.lookup', 'roles', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=\"Test VM Role\"' )}}" + vm_interface_role: "{{ lookup('networktocode.nautobot.lookup', 'roles', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=\"Test VM Interface Role\"' )}}" - name: "PYNAUTOBOT_VM_INTERFACE 11: Necessary info creation" networktocode.nautobot.vm_interface: From 2de6a77b2080c3f172b919ae62fbd70ab6cf407b Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Wed, 28 Aug 2024 08:30:52 -0500 Subject: [PATCH 069/102] Update location of active fact. --- tests/integration/targets/latest/tasks/device.yml | 1 - .../targets/latest/tasks/device_redundancy_group.yml | 1 - tests/integration/targets/latest/tasks/location.yml | 1 - tests/integration/targets/latest/tasks/main.yml | 4 ++++ tests/integration/targets/latest/tasks/plugin_bgp_asn.yml | 1 - tests/integration/targets/latest/tasks/prefix.yml | 1 - 6 files changed, 4 insertions(+), 5 deletions(-) diff --git a/tests/integration/targets/latest/tasks/device.yml b/tests/integration/targets/latest/tasks/device.yml index 90cf59bf..400c0f53 100644 --- a/tests/integration/targets/latest/tasks/device.yml +++ b/tests/integration/targets/latest/tasks/device.yml @@ -11,7 +11,6 @@ role: "{{ lookup('networktocode.nautobot.lookup', 'roles', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=\"Core Switch\"') }}" vc1: "{{ lookup('networktocode.nautobot.lookup', 'virtual-chassis', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=VC1') }}" staged: "{{ lookup('networktocode.nautobot.lookup', 'statuses', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=Staged') }}" - active: "{{ lookup('networktocode.nautobot.lookup', 'statuses', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=Active') }}" device_redundancy_group: "{{ lookup('networktocode.nautobot.lookup', 'device-redundancy-groups', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=\"My Device Redundancy Group\"') }}" - name: "1 - Device with required information" diff --git a/tests/integration/targets/latest/tasks/device_redundancy_group.yml b/tests/integration/targets/latest/tasks/device_redundancy_group.yml index 68546b29..29f5cdf2 100644 --- a/tests/integration/targets/latest/tasks/device_redundancy_group.yml +++ b/tests/integration/targets/latest/tasks/device_redundancy_group.yml @@ -5,7 +5,6 @@ ## ## - set_fact: - active: "{{ lookup('networktocode.nautobot.lookup', 'statuses', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=Active') }}" secrets_group: "{{ lookup('networktocode.nautobot.lookup', 'secrets-groups', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=\"Test Secrets Group\"') }}" - name: "1 - Create device redundancy group within Nautobot with only required information" diff --git a/tests/integration/targets/latest/tasks/location.yml b/tests/integration/targets/latest/tasks/location.yml index 64eed8fa..b75b2602 100644 --- a/tests/integration/targets/latest/tasks/location.yml +++ b/tests/integration/targets/latest/tasks/location.yml @@ -7,7 +7,6 @@ - set_fact: parent_location_type: "{{ lookup('networktocode.nautobot.lookup', 'location-types', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=\"My Parent Location Type\"') }}" child_location_type: "{{ lookup('networktocode.nautobot.lookup', 'location-types', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=\"My Child Location Type\"') }}" - active: "{{ lookup('networktocode.nautobot.lookup', 'statuses', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=Active') }}" - name: "1 - Create location within Nautobot with only required information" networktocode.nautobot.location: diff --git a/tests/integration/targets/latest/tasks/main.yml b/tests/integration/targets/latest/tasks/main.yml index 4c532edc..8d95f6c7 100644 --- a/tests/integration/targets/latest/tasks/main.yml +++ b/tests/integration/targets/latest/tasks/main.yml @@ -1,4 +1,8 @@ --- +- name: "Set Active Fact" + set_fact: + active: "{{ lookup('networktocode.nautobot.lookup', 'statuses', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=Active') }}" + # Lookup tests should run first so items created by other tests don't influence the results - name: "PYNAUTOBOT_LOOKUP TESTS" include_tasks: diff --git a/tests/integration/targets/latest/tasks/plugin_bgp_asn.yml b/tests/integration/targets/latest/tasks/plugin_bgp_asn.yml index 6e0edb0e..f26707f3 100644 --- a/tests/integration/targets/latest/tasks/plugin_bgp_asn.yml +++ b/tests/integration/targets/latest/tasks/plugin_bgp_asn.yml @@ -5,7 +5,6 @@ ## ## - set_fact: - active: "{{ lookup('networktocode.nautobot.lookup', 'statuses', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=Active') }}" planned: "{{ lookup('networktocode.nautobot.lookup', 'statuses', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=Planned') }}" - name: "BGP ASN 1: Creation" diff --git a/tests/integration/targets/latest/tasks/prefix.yml b/tests/integration/targets/latest/tasks/prefix.yml index 9e15d4ce..2882fd9d 100644 --- a/tests/integration/targets/latest/tasks/prefix.yml +++ b/tests/integration/targets/latest/tasks/prefix.yml @@ -10,7 +10,6 @@ tag_schnozzberry: "{{ lookup('networktocode.nautobot.lookup', 'tags', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=Schnozzberry') }}" vlan_group: "{{ lookup('networktocode.nautobot.lookup', 'vlan-groups', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=\"Test Vlan Group\"') }}" reserved: "{{ lookup('networktocode.nautobot.lookup', 'statuses', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=Reserved') }}" - active: "{{ lookup('networktocode.nautobot.lookup', 'statuses', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=Active') }}" global_namespace: "{{ lookup('networktocode.nautobot.lookup', 'namespaces', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=Global') }}" private_namespace: "{{ lookup('networktocode.nautobot.lookup', 'namespaces', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=Private') }}" From 1256a3c10502ec41c0ef69b34604f7ea205d6212 Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Wed, 28 Aug 2024 10:46:18 -0500 Subject: [PATCH 070/102] Fix tests. --- tests/integration/targets/latest/tasks/main.yml | 2 ++ tests/integration/targets/latest/tasks/vm_interface.yml | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/tests/integration/targets/latest/tasks/main.yml b/tests/integration/targets/latest/tasks/main.yml index 8d95f6c7..4750154f 100644 --- a/tests/integration/targets/latest/tasks/main.yml +++ b/tests/integration/targets/latest/tasks/main.yml @@ -2,6 +2,8 @@ - name: "Set Active Fact" set_fact: active: "{{ lookup('networktocode.nautobot.lookup', 'statuses', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=Active') }}" + tags: + - always # Lookup tests should run first so items created by other tests don't influence the results - name: "PYNAUTOBOT_LOOKUP TESTS" diff --git a/tests/integration/targets/latest/tasks/vm_interface.yml b/tests/integration/targets/latest/tasks/vm_interface.yml index f7c8f29f..c93aceb6 100644 --- a/tests/integration/targets/latest/tasks/vm_interface.yml +++ b/tests/integration/targets/latest/tasks/vm_interface.yml @@ -219,7 +219,7 @@ mac_address: "00:00:00:AA:AA:01" description: "Updated test100-vm" mode: Tagged - role: "Test VM Role" + role: "Test VM Interface Role" untagged_vlan: name: Wireless location: "Child Test Location" @@ -323,4 +323,4 @@ - test_fifteen['interface']['untagged_vlan'] == wireless['key'] - test_fifteen['interface']['tagged_vlans']|length == 2 - test_fifteen['interface']['tags'][0] == tag_schnozzberry['key'] - - test_fifteen['msg'] == "interface Eth0 updated" \ No newline at end of file + - test_fifteen['msg'] == "interface Eth0 updated" From 4021a89aa5969da3a707045bc66de0d8d297e7af Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Wed, 28 Aug 2024 11:03:08 -0500 Subject: [PATCH 071/102] Update tasks.py Co-authored-by: Joe Wesch <10467633+joewesch@users.noreply.github.com> --- tasks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks.py b/tasks.py index 1873dd13..c879a03d 100644 --- a/tasks.py +++ b/tasks.py @@ -32,7 +32,7 @@ def is_truthy(arg): namespace.configure( { "nautobot_ansible": { - "nautobot_ver": "2.3.1", + "nautobot_ver": "2.0.0", "project_name": "nautobot_ansible", "python_ver": "3.10", "local": False, From 7c0902868a0b606a8c4abbd2366ea0ceabbb3a93 Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Wed, 28 Aug 2024 11:03:13 -0500 Subject: [PATCH 072/102] Update tests/integration/targets/latest/tasks/main.yml Co-authored-by: Joe Wesch <10467633+joewesch@users.noreply.github.com> --- tests/integration/targets/latest/tasks/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/integration/targets/latest/tasks/main.yml b/tests/integration/targets/latest/tasks/main.yml index 4750154f..86ff4f33 100644 --- a/tests/integration/targets/latest/tasks/main.yml +++ b/tests/integration/targets/latest/tasks/main.yml @@ -1,5 +1,5 @@ --- -- name: "Set Active Fact" +- name: "Set facts used in multiple tests." set_fact: active: "{{ lookup('networktocode.nautobot.lookup', 'statuses', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=Active') }}" tags: From 8d96988e9185e3011f8930bda86c4a3503c358a0 Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Wed, 28 Aug 2024 11:07:43 -0500 Subject: [PATCH 073/102] Fix print --- tests/integration/nautobot-populate.py | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/tests/integration/nautobot-populate.py b/tests/integration/nautobot-populate.py index 67eb6090..026e9664 100755 --- a/tests/integration/nautobot-populate.py +++ b/tests/integration/nautobot-populate.py @@ -13,8 +13,6 @@ # NOTE: If anything depends on specific versions of Nautobot, can check INTEGRATION_TESTS in env # os.environ["INTEGRATION_TESTS"] -logger = logging.getLogger(__name__) -logger.setLevel(logging.DEBUG) # Set nb variable to connect to Nautobot and use the variable in future calls nb_host = os.getenv("NAUTOBOT_URL", "http://nautobot:8000") @@ -254,12 +252,10 @@ def make_nautobot_calls(endpoint, payload): {"name": "Test Controller Role", "color": "e91e65", "vm_role": False, "content_types": ["dcim.controller"]}, ] created_device_roles = make_nautobot_calls(nb.extras.roles, device_roles) -print(created_device_roles) -logger.debug("Device Roles: %s", created_device_roles) + # Device role variables to be used later on core_switch = nb.extras.roles.get(name="Core Switch") - # Create Rack Groups rack_groups = [ {"name": "Parent Rack Group", "location": location_child.id}, @@ -624,12 +620,10 @@ def make_nautobot_calls(endpoint, payload): ############### if nautobot_version >= version.parse("2.3"): # Create role for virtual machine interfaces - logger.debug("Creating VM Interface Role") vm_interface_roles = [ {"name": "Test VM Interface Role", "color": "aa1409", "vm_role": False, "content_types": ["virtualization.vminterface"]}, ] created_device_roles = make_nautobot_calls(nb.extras.roles, vm_interface_roles) - logger.debug("VM Interface Role created") if ERRORS: sys.exit("Errors have occurred when creating objects, and should have been printed out. Check previous output.") From b7d8db9f61814f0b4ae7cca05cf165410e8c8d48 Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Wed, 28 Aug 2024 13:24:00 -0500 Subject: [PATCH 074/102] Update tests. --- .../targets/latest/tasks/vm_interface.yml | 104 ------------------ 1 file changed, 104 deletions(-) diff --git a/tests/integration/targets/latest/tasks/vm_interface.yml b/tests/integration/targets/latest/tasks/vm_interface.yml index c93aceb6..6eecdc96 100644 --- a/tests/integration/targets/latest/tasks/vm_interface.yml +++ b/tests/integration/targets/latest/tasks/vm_interface.yml @@ -170,44 +170,6 @@ set_fact: vm_interface_role: "{{ lookup('networktocode.nautobot.lookup', 'roles', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=\"Test VM Interface Role\"' )}}" - - name: "PYNAUTOBOT_VM_INTERFACE 11: Necessary info creation" - networktocode.nautobot.vm_interface: - url: "{{ nautobot_url }}" - token: "{{ nautobot_token }}" - virtual_machine: "test100-vm" - name: "Eth10" - status: "Active" - state: present - register: test_eleven - - - name: "PYNAUTOBOT_VM_INTERFACE 11: ASSERT - Necessary info creation" - assert: - that: - - test_eleven is changed - - test_eleven['diff']['before']['state'] == "absent" - - test_eleven['diff']['after']['state'] == "present" - - test_eleven['interface']['name'] == "Eth10" - - test_eleven['interface']['virtual_machine'] == vm100['key'] - - test_eleven['msg'] == "interface Eth10 created" - - - name: "PYNAUTOBOT_VM_INTERFACE 12: Create duplicate" - networktocode.nautobot.vm_interface: - url: "{{ nautobot_url }}" - token: "{{ nautobot_token }}" - virtual_machine: "test100-vm" - name: "Eth10" - status: "Active" - state: present - register: test_twelve - - - name: "PYNAUTOBOT_VM_INTERFACE 12: ASSERT - Create duplicate" - assert: - that: - - not test_twelve['changed'] - - test_twelve['interface']['name'] == "Eth10" - - test_twelve['interface']['virtual_machine'] == vm100['key'] - - test_twelve['msg'] == "interface Eth10 already exists" - - name: "PYNAUTOBOT_VM_INTERFACE 13: Updated" networktocode.nautobot.vm_interface: url: "{{ nautobot_url }}" @@ -258,69 +220,3 @@ - test_thirteen['interface']['tags'][0] == tag_schnozzberry['key'] - test_thirteen['interface']['role'] == vm_interface_role['key'] - test_thirteen['msg'] == "interface Eth10 updated" - - - name: "PYNAUTOBOT_VM_INTERFACE 14: ASSERT - Delete" - networktocode.nautobot.vm_interface: - url: "{{ nautobot_url }}" - token: "{{ nautobot_token }}" - name: "Eth10" - virtual_machine: "test100-vm" - state: absent - register: test_fourteen - - - name: "PYNAUTOBOT_VM_INTERFACE 14: ASSERT - Delete" - assert: - that: - - test_fourteen is changed - - test_fourteen['interface']['name'] == "Eth10" - - test_fourteen['interface']['virtual_machine'] == vm100['key'] - - test_fourteen['msg'] == "interface Eth10 deleted" - - - name: "PYNAUTOBOT_VM_INTERFACE 15: Attempt to update interface with same name on other VMs" - networktocode.nautobot.vm_interface: - url: "{{ nautobot_url }}" - token: "{{ nautobot_token }}" - virtual_machine: "test100-vm" - name: "Eth0" - status: "Active" - enabled: false - mtu: 9000 - mac_address: "00:00:00:AA:AA:01" - description: "Updated test100-vm Eth0 intf" - mode: Tagged - untagged_vlan: - name: Wireless - location: "Child Test Location" - tagged_vlans: - - name: Data - location: "Child Test Location" - - name: VoIP - location: "Child Test Location" - tags: - - "Schnozzberry" - state: present - register: test_fifteen - - - name: "PYNAUTOBOT_VM_INTERFACE 15: ASSERT - Updated" - assert: - that: - - test_fifteen is changed - - test_fifteen['diff']['after']['enabled'] == false - - test_fifteen['diff']['after']['mtu'] == 9000 - - test_fifteen['diff']['after']['mac_address'] == "00:00:00:AA:AA:01" - - test_fifteen['diff']['after']['description'] == "Updated test100-vm Eth0 intf" - - test_fifteen['diff']['after']['mode'] == "tagged" - - test_fifteen['diff']['after']['untagged_vlan'] == wireless['key'] - - test_fifteen['diff']['after']['tagged_vlans']|length == 2 - - test_fifteen['diff']['after']['tags'][0] == tag_schnozzberry['key'] - - test_fifteen['interface']['name'] == "Eth0" - - test_fifteen['interface']['virtual_machine'] == vm100['key'] - - test_fifteen['interface']['enabled'] == false - - test_fifteen['interface']['mtu'] == 9000 - - test_fifteen['interface']['mac_address'] == "00:00:00:AA:AA:01" - - test_fifteen['interface']['description'] == "Updated test100-vm Eth0 intf" - - test_fifteen['interface']['mode'] == "tagged" - - test_fifteen['interface']['untagged_vlan'] == wireless['key'] - - test_fifteen['interface']['tagged_vlans']|length == 2 - - test_fifteen['interface']['tags'][0] == tag_schnozzberry['key'] - - test_fifteen['msg'] == "interface Eth0 updated" From bce96243a3a3c2014501674c29ecc4d5128ca7f8 Mon Sep 17 00:00:00 2001 From: Jacob Date: Wed, 28 Aug 2024 14:26:58 -0400 Subject: [PATCH 075/102] Allow location_type to use name for lookup Currently location_types that use the name to reference the related object will always report as "changed" since it compares the name with the ID of the existing location_type. Updated to convert name to ID. --- plugins/module_utils/utils.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plugins/module_utils/utils.py b/plugins/module_utils/utils.py index 979c6a8f..56b8f45e 100644 --- a/plugins/module_utils/utils.py +++ b/plugins/module_utils/utils.py @@ -112,6 +112,7 @@ installed_device="name", import_targets="name", location="name", + location_type="name", manufacturer="name", master="name", nat_inside="address", @@ -175,6 +176,7 @@ "ipaddresses": "ip_addresses", "lag": "interfaces", "location": "locations", + "location_type": "location_types", "manufacturer": "manufacturers", "master": "devices", "nat_inside": "ip_addresses", From 4186293cd809fb410303171ab9f3c51e192742c3 Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Wed, 28 Aug 2024 13:45:48 -0500 Subject: [PATCH 076/102] Updates test. --- .../targets/latest/tasks/vm_interface.yml | 49 ++++++++++--------- 1 file changed, 25 insertions(+), 24 deletions(-) diff --git a/tests/integration/targets/latest/tasks/vm_interface.yml b/tests/integration/targets/latest/tasks/vm_interface.yml index 6eecdc96..eb6add06 100644 --- a/tests/integration/targets/latest/tasks/vm_interface.yml +++ b/tests/integration/targets/latest/tasks/vm_interface.yml @@ -170,7 +170,7 @@ set_fact: vm_interface_role: "{{ lookup('networktocode.nautobot.lookup', 'roles', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=\"Test VM Interface Role\"' )}}" - - name: "PYNAUTOBOT_VM_INTERFACE 13: Updated" + - name: "PYNAUTOBOT_VM_INTERFACE 10: Updated" networktocode.nautobot.vm_interface: url: "{{ nautobot_url }}" token: "{{ nautobot_token }}" @@ -182,6 +182,7 @@ description: "Updated test100-vm" mode: Tagged role: "Test VM Interface Role" + status: "Active" untagged_vlan: name: Wireless location: "Child Test Location" @@ -193,30 +194,30 @@ tags: - "Schnozzberry" state: present - register: test_thirteen + register: test_ten - name: "PYNAUTOBOT_VM_INTERFACE 13: ASSERT - Updated" assert: that: - - test_thirteen is changed - - test_thirteen['diff']['after']['enabled'] == false - - test_thirteen['diff']['after']['mtu'] == 9000 - - test_thirteen['diff']['after']['mac_address'] == "00:00:00:AA:AA:01" - - test_thirteen['diff']['after']['description'] == "Updated test100-vm" - - test_thirteen['diff']['after']['mode'] == "tagged" - - test_thirteen['diff']['after']['untagged_vlan'] == wireless['key'] - - test_thirteen['diff']['after']['tagged_vlans']|length == 2 - - test_thirteen['diff']['after']['tags'][0] == tag_schnozzberry['key'] - - test_thirteen['interface']['name'] == "Eth10" - - test_thirteen['interface']['status'] == active['key'] - - test_thirteen['interface']['virtual_machine'] == vm100['key'] - - test_thirteen['interface']['enabled'] == false - - test_thirteen['interface']['mtu'] == 9000 - - test_thirteen['interface']['mac_address'] == "00:00:00:AA:AA:01" - - test_thirteen['interface']['description'] == "Updated test100-vm" - - test_thirteen['interface']['mode'] == "tagged" - - test_thirteen['interface']['untagged_vlan'] == wireless['key'] - - test_thirteen['interface']['tagged_vlans']|length == 2 - - test_thirteen['interface']['tags'][0] == tag_schnozzberry['key'] - - test_thirteen['interface']['role'] == vm_interface_role['key'] - - test_thirteen['msg'] == "interface Eth10 updated" + - test_ten is changed + - test_ten['diff']['after']['enabled'] == false + - test_ten['diff']['after']['mtu'] == 9000 + - test_ten['diff']['after']['mac_address'] == "00:00:00:AA:AA:01" + - test_ten['diff']['after']['description'] == "Updated test100-vm" + - test_ten['diff']['after']['mode'] == "tagged" + - test_ten['diff']['after']['untagged_vlan'] == wireless['key'] + - test_ten['diff']['after']['tagged_vlans']|length == 2 + - test_ten['diff']['after']['tags'][0] == tag_schnozzberry['key'] + - test_ten['interface']['name'] == "Eth10" + - test_ten['interface']['status'] == active['key'] + - test_ten['interface']['virtual_machine'] == vm100['key'] + - test_ten['interface']['enabled'] == false + - test_ten['interface']['mtu'] == 9000 + - test_ten['interface']['mac_address'] == "00:00:00:AA:AA:01" + - test_ten['interface']['description'] == "Updated test100-vm" + - test_ten['interface']['mode'] == "tagged" + - test_ten['interface']['untagged_vlan'] == wireless['key'] + - test_ten['interface']['tagged_vlans']|length == 2 + - test_ten['interface']['tags'][0] == tag_schnozzberry['key'] + - test_ten['interface']['role'] == vm_interface_role['key'] + - test_ten['msg'] == "interface Eth10 updated" From ec336578637573ebf865ab5f4b960697fbc4beb1 Mon Sep 17 00:00:00 2001 From: Jacob Date: Wed, 28 Aug 2024 14:51:30 -0400 Subject: [PATCH 077/102] Add test cases --- tests/integration/targets/latest/tasks/location.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/tests/integration/targets/latest/tasks/location.yml b/tests/integration/targets/latest/tasks/location.yml index 64eed8fa..4b6650ae 100644 --- a/tests/integration/targets/latest/tasks/location.yml +++ b/tests/integration/targets/latest/tasks/location.yml @@ -50,7 +50,7 @@ url: "{{ nautobot_url }}" token: "{{ nautobot_token }}" name: Test Location - location_type: "{{ parent_location_type['key'] }}" + location_type: "{{ parent_location_type['value']['name'] }}" description: Test Location Description register: test_update @@ -69,7 +69,7 @@ name: Test Location 2 status: Active description: Test Location 2 Description - location_type: "{{ child_location_type['key'] }}" + location_type: "{{ child_location_type['value']['name'] }}" parent_location: "{{ test_create_min['location']['id'] }}" tenant: Test Tenant facility: EquinoxCA7 @@ -106,7 +106,7 @@ name: Test Location 2 status: Active description: Test Location 2 Description - location_type: "{{ child_location_type['key'] }}" + location_type: "{{ child_location_type['value']['name'] }}" parent: "{{ test_create_min['location']['id'] }}" tenant: Test Tenant facility: EquinoxCA7 @@ -167,7 +167,6 @@ - set_fact: fist_location: "{{ lookup('networktocode.nautobot.lookup', 'locations', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=\"Test Location\" location_type=\"My Parent Location Type\"') }}" - - name: "8 - Delete location" networktocode.nautobot.location: url: "{{ nautobot_url }}" From 413659c39f685b75a62f95c8bc52c5c2e73af84e Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Wed, 28 Aug 2024 15:13:12 -0500 Subject: [PATCH 078/102] Add debug that proves working --- tests/integration/targets/latest/tasks/vm_interface.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/integration/targets/latest/tasks/vm_interface.yml b/tests/integration/targets/latest/tasks/vm_interface.yml index eb6add06..061d8e68 100644 --- a/tests/integration/targets/latest/tasks/vm_interface.yml +++ b/tests/integration/targets/latest/tasks/vm_interface.yml @@ -196,7 +196,10 @@ state: present register: test_ten - - name: "PYNAUTOBOT_VM_INTERFACE 13: ASSERT - Updated" + - debug: + msg: "{{ test_ten }}" + + - name: "PYNAUTOBOT_VM_INTERFACE 10: ASSERT - Updated" assert: that: - test_ten is changed From 752920e2ea2b3f13a3b12c044d30029c36424564 Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Wed, 28 Aug 2024 15:51:44 -0500 Subject: [PATCH 079/102] Update tests. --- tests/integration/targets/latest/tasks/vm_interface.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/integration/targets/latest/tasks/vm_interface.yml b/tests/integration/targets/latest/tasks/vm_interface.yml index 061d8e68..b7227855 100644 --- a/tests/integration/targets/latest/tasks/vm_interface.yml +++ b/tests/integration/targets/latest/tasks/vm_interface.yml @@ -170,12 +170,12 @@ set_fact: vm_interface_role: "{{ lookup('networktocode.nautobot.lookup', 'roles', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=\"Test VM Interface Role\"' )}}" - - name: "PYNAUTOBOT_VM_INTERFACE 10: Updated" + - name: "PYNAUTOBOT_VM_INTERFACE 10: Created" networktocode.nautobot.vm_interface: url: "{{ nautobot_url }}" token: "{{ nautobot_token }}" virtual_machine: "test100-vm" - name: "Eth10" + name: "Eth101" enabled: false mtu: 9000 mac_address: "00:00:00:AA:AA:01" @@ -211,7 +211,7 @@ - test_ten['diff']['after']['untagged_vlan'] == wireless['key'] - test_ten['diff']['after']['tagged_vlans']|length == 2 - test_ten['diff']['after']['tags'][0] == tag_schnozzberry['key'] - - test_ten['interface']['name'] == "Eth10" + - test_ten['interface']['name'] == "Eth101" - test_ten['interface']['status'] == active['key'] - test_ten['interface']['virtual_machine'] == vm100['key'] - test_ten['interface']['enabled'] == false @@ -223,4 +223,4 @@ - test_ten['interface']['tagged_vlans']|length == 2 - test_ten['interface']['tags'][0] == tag_schnozzberry['key'] - test_ten['interface']['role'] == vm_interface_role['key'] - - test_ten['msg'] == "interface Eth10 updated" + - test_ten['msg'] == "interface Eth101 updated" From 1fb55177a685b04bbc6601ef7cbd84d8dade30f9 Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Wed, 28 Aug 2024 16:08:39 -0500 Subject: [PATCH 080/102] Update tests for create. --- .../targets/latest/tasks/vm_interface.yml | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/tests/integration/targets/latest/tasks/vm_interface.yml b/tests/integration/targets/latest/tasks/vm_interface.yml index b7227855..f8e796ed 100644 --- a/tests/integration/targets/latest/tasks/vm_interface.yml +++ b/tests/integration/targets/latest/tasks/vm_interface.yml @@ -199,18 +199,12 @@ - debug: msg: "{{ test_ten }}" - - name: "PYNAUTOBOT_VM_INTERFACE 10: ASSERT - Updated" + - name: "PYNAUTOBOT_VM_INTERFACE 10: ASSERT - Created" assert: that: - test_ten is changed - - test_ten['diff']['after']['enabled'] == false - - test_ten['diff']['after']['mtu'] == 9000 - - test_ten['diff']['after']['mac_address'] == "00:00:00:AA:AA:01" - - test_ten['diff']['after']['description'] == "Updated test100-vm" - - test_ten['diff']['after']['mode'] == "tagged" - - test_ten['diff']['after']['untagged_vlan'] == wireless['key'] - - test_ten['diff']['after']['tagged_vlans']|length == 2 - - test_ten['diff']['after']['tags'][0] == tag_schnozzberry['key'] + - test_ten['diff']['before']['state'] == "absent" + - test_ten['diff']['after']['state'] == "present" - test_ten['interface']['name'] == "Eth101" - test_ten['interface']['status'] == active['key'] - test_ten['interface']['virtual_machine'] == vm100['key'] From 4c6ab12e504e07ed0bcef27fc2fe633181043ebb Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Wed, 28 Aug 2024 17:30:02 -0500 Subject: [PATCH 081/102] Update. --- tests/integration/targets/latest/tasks/vm_interface.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/integration/targets/latest/tasks/vm_interface.yml b/tests/integration/targets/latest/tasks/vm_interface.yml index f8e796ed..77ccb007 100644 --- a/tests/integration/targets/latest/tasks/vm_interface.yml +++ b/tests/integration/targets/latest/tasks/vm_interface.yml @@ -217,4 +217,4 @@ - test_ten['interface']['tagged_vlans']|length == 2 - test_ten['interface']['tags'][0] == tag_schnozzberry['key'] - test_ten['interface']['role'] == vm_interface_role['key'] - - test_ten['msg'] == "interface Eth101 updated" + - test_ten['msg'] == "interface Eth101 created" From 747a9a9d0bc7e08f70661f2f0ad01c8b1b70effd Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Thu, 29 Aug 2024 14:54:36 -0500 Subject: [PATCH 082/102] Fix more. --- tests/integration/nautobot-populate.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/integration/nautobot-populate.py b/tests/integration/nautobot-populate.py index 026e9664..aed738bb 100755 --- a/tests/integration/nautobot-populate.py +++ b/tests/integration/nautobot-populate.py @@ -49,7 +49,7 @@ def make_nautobot_calls(endpoint, payload): create_tags = make_nautobot_calls( nb.extras.tags, [ - {"name": "First", "content_types": ["dcim.device", "ipam.routetarget"]}, + {"name": "First", "content_types": ["dcim.device", "ipam.routetarget", "dcim.controller"]}, {"name": "Second", "content_types": ["dcim.device", "ipam.routetarget"]}, {"name": "Third", "content_types": ["dcim.device"]}, { From a604b69f036aeeb01bb300cc1f53296b4000f097 Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Thu, 29 Aug 2024 15:52:01 -0500 Subject: [PATCH 083/102] Update tests/integration/nautobot-populate.py Co-authored-by: Joe Wesch <10467633+joewesch@users.noreply.github.com> --- tests/integration/nautobot-populate.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/integration/nautobot-populate.py b/tests/integration/nautobot-populate.py index aed738bb..4817bcbe 100755 --- a/tests/integration/nautobot-populate.py +++ b/tests/integration/nautobot-populate.py @@ -5,7 +5,6 @@ __metaclass__ = type import os -import logging import sys import pynautobot from packaging import version From a4b470a9194313d554cd5521dbaa3420dc9d3d1b Mon Sep 17 00:00:00 2001 From: Joe Wesch Date: Thu, 29 Aug 2024 20:41:32 -0500 Subject: [PATCH 084/102] Fixes tests for 2.0-2.2 --- tests/integration/nautobot-populate.py | 70 ++++++++++--------- .../targets/latest/tasks/controller.yml | 2 +- 2 files changed, 39 insertions(+), 33 deletions(-) diff --git a/tests/integration/nautobot-populate.py b/tests/integration/nautobot-populate.py index e031eea3..edfc44f8 100755 --- a/tests/integration/nautobot-populate.py +++ b/tests/integration/nautobot-populate.py @@ -45,37 +45,40 @@ def make_nautobot_calls(endpoint, payload): # Create tags used in future tests -create_tags = make_nautobot_calls( - nb.extras.tags, - [ - {"name": "First", "content_types": ["dcim.device", "ipam.routetarget", "dcim.controller"]}, - {"name": "Second", "content_types": ["dcim.device", "ipam.routetarget"]}, - {"name": "Third", "content_types": ["dcim.device"]}, - { - "name": "Schnozzberry", - "content_types": [ - "dcim.device", - "dcim.rack", - "ipam.ipaddress", - "ipam.prefix", - "ipam.service", - "ipam.vlan", - "ipam.vrf", - "dcim.devicebay", - "dcim.inventoryitem", - "virtualization.virtualmachine", - "virtualization.cluster", - "virtualization.vminterface", - ], - }, - {"name": "Lookup", "content_types": ["dcim.device"]}, - {"name": "Nolookup", "content_types": ["dcim.device"]}, - {"name": "tagA", "content_types": ["dcim.device", "tenancy.tenant"]}, - {"name": "tagB", "content_types": ["dcim.device", "tenancy.tenant"]}, - {"name": "tagC", "content_types": ["dcim.device", "tenancy.tenant"]}, - {"name": "Updated", "content_types": ["dcim.device", "ipam.ipaddress"]}, - ], -) +tags = [ + {"name": "First", "content_types": ["dcim.device", "ipam.routetarget"]}, + {"name": "Second", "content_types": ["dcim.device", "ipam.routetarget"]}, + {"name": "Third", "content_types": ["dcim.device"]}, + { + "name": "Schnozzberry", + "content_types": [ + "dcim.device", + "dcim.rack", + "ipam.ipaddress", + "ipam.prefix", + "ipam.service", + "ipam.vlan", + "ipam.vrf", + "dcim.devicebay", + "dcim.inventoryitem", + "virtualization.virtualmachine", + "virtualization.cluster", + "virtualization.vminterface", + ], + }, + {"name": "Lookup", "content_types": ["dcim.device"]}, + {"name": "Nolookup", "content_types": ["dcim.device"]}, + {"name": "tagA", "content_types": ["dcim.device", "tenancy.tenant"]}, + {"name": "tagB", "content_types": ["dcim.device", "tenancy.tenant"]}, + {"name": "tagC", "content_types": ["dcim.device", "tenancy.tenant"]}, + {"name": "Updated", "content_types": ["dcim.device", "ipam.ipaddress"]}, +] + +if nautobot_version >= version.parse("2.2"): + tags.append({"name": "Controller Tag", "content_types": ["dcim.controller"]}) + +create_tags = make_nautobot_calls(nb.extras.tags, tags) + # ORDER OF OPERATIONS FOR THE MOST PART # Create TENANT GROUPS @@ -248,8 +251,11 @@ def make_nautobot_calls(endpoint, payload): {"name": "Core Switch", "color": "aa1409", "vm_role": False, "content_types": ["dcim.device"]}, {"name": "Test VM Role", "color": "e91e63", "vm_role": True, "content_types": ["virtualization.virtualmachine"]}, {"name": "Test VM Role 1", "color": "e91e65", "vm_role": True, "content_types": ["dcim.device", "virtualization.virtualmachine"]}, - {"name": "Test Controller Role", "color": "e91e65", "vm_role": False, "content_types": ["dcim.controller"]}, ] + +if nautobot_version >= version.parse("2.2"): + device_roles.append({"name": "Test Controller Role", "color": "e91e65", "vm_role": False, "content_types": ["dcim.controller"]}) + created_device_roles = make_nautobot_calls(nb.extras.roles, device_roles) # Device role variables to be used later on core_switch = nb.extras.roles.get(name="Core Switch") diff --git a/tests/integration/targets/latest/tasks/controller.yml b/tests/integration/targets/latest/tasks/controller.yml index 062f0a60..62645b55 100644 --- a/tests/integration/targets/latest/tasks/controller.yml +++ b/tests/integration/targets/latest/tasks/controller.yml @@ -108,7 +108,7 @@ tenant: "Test Tenant" controller_device_redundancy_group: "My Device Redundancy Group" tags: - - First + - Controller Tag register: test_six_controller - name: "CONTROLLER 7: ASSERT - As Much As Possible Info creation" From 414e1b523a9835be0caa0bce60328e16fcaacbad Mon Sep 17 00:00:00 2001 From: Joe Wesch Date: Thu, 29 Aug 2024 20:41:40 -0500 Subject: [PATCH 085/102] Adds manual workflow trigger --- .github/workflows/trigger_manual.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 .github/workflows/trigger_manual.yml diff --git a/.github/workflows/trigger_manual.yml b/.github/workflows/trigger_manual.yml new file mode 100644 index 00000000..499eb7e8 --- /dev/null +++ b/.github/workflows/trigger_manual.yml @@ -0,0 +1,16 @@ +--- +name: "Manual Tests" +on: # yamllint disable + workflow_dispatch: + inputs: + full-integration: + description: "Run full integration tests" + required: true + default: false + type: boolean + +jobs: + tests: + uses: ./.github/workflows/tests.yml + with: + full-integration: "${{ inputs.full-integration }}" From 8c1c39372bb61c23ab03135324f006f5120ed2e0 Mon Sep 17 00:00:00 2001 From: Joe Wesch Date: Thu, 29 Aug 2024 21:00:37 -0500 Subject: [PATCH 086/102] Adds invoke.yml example --- .gitignore | 1 + invoke.yml.example | 10 ++++++++++ 2 files changed, 11 insertions(+) create mode 100644 invoke.yml.example diff --git a/.gitignore b/.gitignore index 7b48f323..13c0a4af 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,7 @@ docs/_build/* pb.*.yml .DS_Store .env +invoke.yml # https://github.com/ansible/ansible/issues/68499 # ansible_collections/ diff --git a/invoke.yml.example b/invoke.yml.example new file mode 100644 index 00000000..4fdb1b48 --- /dev/null +++ b/invoke.yml.example @@ -0,0 +1,10 @@ +--- +# Copy this file to invoke.yml and update the variables to override the defaults from tasks.py +# nautobot_ansible: +# nautobot_ver: "2.3.0" +# project_name: "nautobot_ansible" +# python_ver: "3.11" +# local: False +# compose_dir: "/full/path/to/nautobot-ansible/development" +# compose_files: +# - "docker-compose.yml" From f22ac14a8328a14f7c6ca291ee0840989b4ab111 Mon Sep 17 00:00:00 2001 From: Jeff Kala Date: Fri, 30 Aug 2024 10:22:58 -0500 Subject: [PATCH 087/102] rename modules remove redundant version added refs --- plugins/modules/admin_group.py | 1 - ...{object_permission.py => admin_permission.py} | 16 ++++------------ plugins/modules/{user.py => admin_user.py} | 14 +++----------- ...bject_permission.yml => admin_permission.yml} | 8 ++++---- .../latest/tasks/{user.yml => admin_user.yml} | 8 ++++---- 5 files changed, 15 insertions(+), 32 deletions(-) rename plugins/modules/{object_permission.py => admin_permission.py} (92%) rename plugins/modules/{user.py => admin_user.py} (92%) rename tests/integration/targets/latest/tasks/{object_permission.yml => admin_permission.yml} (92%) rename tests/integration/targets/latest/tasks/{user.yml => admin_user.yml} (92%) diff --git a/plugins/modules/admin_group.py b/plugins/modules/admin_group.py index 11578fe6..96910dff 100644 --- a/plugins/modules/admin_group.py +++ b/plugins/modules/admin_group.py @@ -28,7 +28,6 @@ - The name of the group required: true type: str - version_added: "5.3.0" """ EXAMPLES = r""" diff --git a/plugins/modules/object_permission.py b/plugins/modules/admin_permission.py similarity index 92% rename from plugins/modules/object_permission.py rename to plugins/modules/admin_permission.py index f3792781..0db39577 100644 --- a/plugins/modules/object_permission.py +++ b/plugins/modules/admin_permission.py @@ -10,7 +10,7 @@ DOCUMENTATION = r""" --- -module: object_permission +module: admin_permission short_description: Create, update or delete object permissions within Nautobot description: - Creates, updates or removes object permissions from Nautobot @@ -28,26 +28,22 @@ - The name of the permission required: true type: str - version_added: "5.3.0" description: description: - The description of the permission required: false type: str - version_added: "5.3.0" enabled: description: - If the permission is enabled or not. required: true type: bool - version_added: "5.3.0" object_types: description: - The permitted object_types for the permission definition. required: false type: list elements: str - version_added: "5.3.0" actions: description: - The actions allowed for the permission definition. @@ -55,27 +51,23 @@ required: true type: list elements: str - version_added: "5.3.0" constraints: description: - The constraints for the permission definition. required: false type: json - version_added: "5.3.0" users: description: - The users assigned for the permission definition. required: false type: list elements: str - version_added: "5.3.0" groups: description: - The groups assigned for the permission definition. required: false type: list elements: dict - version_added: "5.3.0" """ EXAMPLES = r""" @@ -86,7 +78,7 @@ tasks: - name: Create object permission within Nautobot with only required information - networktocode.nautobot.object_permission: + networktocode.nautobot.admin_permission: url: http://nautobot.local token: thisIsMyToken name: read only @@ -104,7 +96,7 @@ state: present - name: Delete permission - networktocode.nautobot.object_permission: + networktocode.nautobot.admin_permission: url: http://nautobot.local token: thisIsMyToken name: read only @@ -123,7 +115,7 @@ """ RETURN = r""" -object_permission: +admin_permission: description: Serialized object as created or already existent within Nautobot returned: success (when I(state=present)) type: dict diff --git a/plugins/modules/user.py b/plugins/modules/admin_user.py similarity index 92% rename from plugins/modules/user.py rename to plugins/modules/admin_user.py index 887f9bc8..644805e5 100644 --- a/plugins/modules/user.py +++ b/plugins/modules/admin_user.py @@ -10,7 +10,7 @@ DOCUMENTATION = r""" --- -module: user +module: admin_user short_description: Create, update or delete users within Nautobot description: - Creates, updates or removes users from Nautobot @@ -28,50 +28,42 @@ - The name of the user required: true type: str - version_added: "5.3.0" is_superuser: description: - If the user should be set for superuser status required: false type: bool - version_added: "5.3.0" is_staff: description: - If the user should be set for superuser status required: false type: bool - version_added: "5.3.0" is_active: description: - If the user should be set for superuser status required: false type: bool - version_added: "5.3.0" first_name: description: - The first name of the user required: false type: str - version_added: "5.3.0" last_name: description: - The last name of the user required: false type: str - version_added: "5.3.0" email: description: - The email of the user required: false type: str - version_added: "5.3.0" groups: description: - The groups the user is assigned to required: false type: list elements: raw - version_added: "5.3.0" """ EXAMPLES = r""" @@ -82,7 +74,7 @@ tasks: - name: Create user within Nautobot with only required information - networktocode.nautobot.user: + networktocode.nautobot.admin_user: url: http://nautobot.local token: thisIsMyToken username: nb_user @@ -92,7 +84,7 @@ state: present - name: Delete user within nautobot - networktocode.nautobot.user: + networktocode.nautobot.admin_user: url: http://nautobot.local token: thisIsMyToken username: nb_user diff --git a/tests/integration/targets/latest/tasks/object_permission.yml b/tests/integration/targets/latest/tasks/admin_permission.yml similarity index 92% rename from tests/integration/targets/latest/tasks/object_permission.yml rename to tests/integration/targets/latest/tasks/admin_permission.yml index d9df07a0..763a4be8 100755 --- a/tests/integration/targets/latest/tasks/object_permission.yml +++ b/tests/integration/targets/latest/tasks/admin_permission.yml @@ -5,7 +5,7 @@ ## ## - name: "PERMISSION 1: Necessary info creation" - networktocode.nautobot.object_permission: + networktocode.nautobot.admin_permission: url: "{{ nautobot_url }}" token: "{{ nautobot_token }}" name: Test PERMISSION One @@ -27,7 +27,7 @@ - test_one['msg'] == "permission Test PERMISSION One created" - name: "PERMISSION 2: Create duplicate" - networktocode.nautobot.object_permission: + networktocode.nautobot.admin_permission: url: "{{ nautobot_url }}" token: "{{ nautobot_token }}" name: Test PERMISSION One @@ -47,7 +47,7 @@ - test_two['msg'] == "permission Test PERMISSION One already exists" - name: "PERMISSION 3: ASSERT - Update" - networktocode.nautobot.object_permission: + networktocode.nautobot.admin_permission: url: "{{ nautobot_url }}" token: "{{ nautobot_token }}" name: "Test PERMISSION One" @@ -69,7 +69,7 @@ - test_three['msg'] == "permission Test PERMISSION One updated" - name: "PERMISSION 4: ASSERT - Delete" - networktocode.nautobot.object_permission: + networktocode.nautobot.admin_permission: url: "{{ nautobot_url }}" token: "{{ nautobot_token }}" name: "Test PERMISSION One" diff --git a/tests/integration/targets/latest/tasks/user.yml b/tests/integration/targets/latest/tasks/admin_user.yml similarity index 92% rename from tests/integration/targets/latest/tasks/user.yml rename to tests/integration/targets/latest/tasks/admin_user.yml index c4848bc1..6538c440 100755 --- a/tests/integration/targets/latest/tasks/user.yml +++ b/tests/integration/targets/latest/tasks/admin_user.yml @@ -5,7 +5,7 @@ ## ## - name: "USER 1: Necessary info creation" - networktocode.nautobot.user: + networktocode.nautobot.admin_user: url: "{{ nautobot_url }}" token: "{{ nautobot_token }}" username: nb-user @@ -21,7 +21,7 @@ - test_one['user']['username'] == "nb-user" - name: "USER 2: Create duplicate" - networktocode.nautobot.user: + networktocode.nautobot.admin_user: url: "{{ nautobot_url }}" token: "{{ nautobot_token }}" username: nb-user @@ -35,7 +35,7 @@ - test_two['user']['username'] == "nb-user" - name: "USER 3: ASSERT - Update" - networktocode.nautobot.user: + networktocode.nautobot.admin_user: url: "{{ nautobot_url }}" token: "{{ nautobot_token }}" username: "nb-user" @@ -57,7 +57,7 @@ - test_three['diff']['after']['last_name'] == "user" - name: "USER 4: ASSERT - Delete" - networktocode.nautobot.user: + networktocode.nautobot.admin_user: url: "{{ nautobot_url }}" token: "{{ nautobot_token }}" username: "nb-user" From c693af357ccf820baff8fe3b7db6520458542174 Mon Sep 17 00:00:00 2001 From: Jeff Kala Date: Fri, 30 Aug 2024 11:36:40 -0500 Subject: [PATCH 088/102] add idempotent delete tests --- .../targets/latest/tasks/admin_group.yml | 23 +++++++++++++++---- .../targets/latest/tasks/admin_permission.yml | 20 ++++++++++++++++ .../targets/latest/tasks/admin_user.yml | 14 +++++++++++ 3 files changed, 53 insertions(+), 4 deletions(-) diff --git a/tests/integration/targets/latest/tasks/admin_group.yml b/tests/integration/targets/latest/tasks/admin_group.yml index 1259c806..f9eb4d88 100755 --- a/tests/integration/targets/latest/tasks/admin_group.yml +++ b/tests/integration/targets/latest/tasks/admin_group.yml @@ -44,11 +44,26 @@ token: "{{ nautobot_token }}" name: "Test GROUPS One" state: absent - register: test_four + register: test_three - name: "GROUPS 3: ASSERT - Delete" assert: that: - - test_four is changed - - test_four['group']['name'] == "Test GROUPS One" - - test_four['msg'] == "group Test GROUPS One deleted" + - test_three is changed + - test_three['group']['name'] == "Test GROUPS One" + - test_three['msg'] == "group Test GROUPS One deleted" + +- name: "GROUPS 4: ASSERT - Delete non existing" + networktocode.nautobot.admin_group: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + name: "Test GROUPS One" + state: absent + register: test_four + +- name: "GROUPS 4: ASSERT - Delete non existing" + assert: + that: + - not test_four['changed'] + - test_four['manufacturer'] == None + - test_four['msg'] == "group Test GROUPS One Two already absent" diff --git a/tests/integration/targets/latest/tasks/admin_permission.yml b/tests/integration/targets/latest/tasks/admin_permission.yml index 763a4be8..6ca092ca 100755 --- a/tests/integration/targets/latest/tasks/admin_permission.yml +++ b/tests/integration/targets/latest/tasks/admin_permission.yml @@ -87,3 +87,23 @@ - test_four is changed - test_four['permission']['name'] == "Test PERMISSION One" - test_four['msg'] == "permission Test PERMISSION One deleted" + +- name: "PERMISSION 5: ASSERT - Delete non existing" + networktocode.nautobot.admin_permission: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + name: "Test PERMISSION One" + enabled: true + actions: + - view + object_types: + - "dcim.device" + state: absent + register: test_five + +- name: "PERMISSION 5: ASSERT - Delete non existing" + assert: + that: + - test_five is changed + - test_five['permission']['name'] == "Test PERMISSION One" + - test_five['msg'] == "permission Test PERMISSION One deleted" diff --git a/tests/integration/targets/latest/tasks/admin_user.yml b/tests/integration/targets/latest/tasks/admin_user.yml index 6538c440..6ce52b90 100755 --- a/tests/integration/targets/latest/tasks/admin_user.yml +++ b/tests/integration/targets/latest/tasks/admin_user.yml @@ -69,3 +69,17 @@ that: - test_four is changed - test_four['user']['username'] == "nb-user" + +- name: "USER 5: ASSERT - Delete non existing" + networktocode.nautobot.admin_user: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + username: "nb-user" + state: absent + register: test_five + +- name: "USER 5: ASSERT - Delete non existing" + assert: + that: + - test_five is changed + - test_five['user']['username'] == "nb-user" From 7b459e586e68d2b2112b43438bd09959152467ff Mon Sep 17 00:00:00 2001 From: Jeff Kala <48843785+jeffkala@users.noreply.github.com> Date: Fri, 30 Aug 2024 12:42:38 -0600 Subject: [PATCH 089/102] Update tests/integration/targets/latest/tasks/main.yml Co-authored-by: Joe Wesch <10467633+joewesch@users.noreply.github.com> --- tests/integration/targets/latest/tasks/main.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/integration/targets/latest/tasks/main.yml b/tests/integration/targets/latest/tasks/main.yml index 973cf098..943d488f 100644 --- a/tests/integration/targets/latest/tasks/main.yml +++ b/tests/integration/targets/latest/tasks/main.yml @@ -550,12 +550,12 @@ - name: "PYNAUTOBOT_USER TESTS" include_tasks: - file: "user.yml" + file: "admin_user.yml" apply: tags: - - user + - admin_user tags: - - user + - admin_user - name: "PYNAUTOBOT_GROUPS TESTS" include_tasks: From 9517c0c430c71c711c2fb52646338aefc247511b Mon Sep 17 00:00:00 2001 From: Jeff Kala <48843785+jeffkala@users.noreply.github.com> Date: Fri, 30 Aug 2024 12:42:45 -0600 Subject: [PATCH 090/102] Update tests/integration/targets/latest/tasks/main.yml Co-authored-by: Joe Wesch <10467633+joewesch@users.noreply.github.com> --- tests/integration/targets/latest/tasks/main.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/integration/targets/latest/tasks/main.yml b/tests/integration/targets/latest/tasks/main.yml index 943d488f..c3b43d8d 100644 --- a/tests/integration/targets/latest/tasks/main.yml +++ b/tests/integration/targets/latest/tasks/main.yml @@ -568,9 +568,9 @@ - name: "PYNAUTOBOT_OBJECT_PERMISSIONS TESTS" include_tasks: - file: "object_permission.yml" + file: "admin_permission.yml" apply: tags: - - object_permission + - admin_permission tags: - - object_permission + - admin_permission From e7d74515b4ee42ee73fc69aac3a69660200f2d80 Mon Sep 17 00:00:00 2001 From: Jeff Kala <48843785+jeffkala@users.noreply.github.com> Date: Fri, 30 Aug 2024 12:46:56 -0600 Subject: [PATCH 091/102] Update plugins/module_utils/users.py Co-authored-by: Joe Wesch <10467633+joewesch@users.noreply.github.com> --- plugins/module_utils/users.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/module_utils/users.py b/plugins/module_utils/users.py index 84c35bc3..09e3aaaa 100644 --- a/plugins/module_utils/users.py +++ b/plugins/module_utils/users.py @@ -23,8 +23,8 @@ def run(self): to create/update/delete the endpoint objects Supported endpoints: users - admin_groups - object_permissions + groups + permissions """ # Used to dynamically set key when returning results endpoint_name = ENDPOINT_NAME_MAPPING[self.endpoint] From cee01c918ca7f5f4124ee25409482e674a31cebd Mon Sep 17 00:00:00 2001 From: Jeff Kala Date: Fri, 30 Aug 2024 13:52:02 -0500 Subject: [PATCH 092/102] fix test for idempotent deletes --- tests/integration/targets/latest/tasks/admin_group.yml | 6 +++--- tests/integration/targets/latest/tasks/admin_permission.yml | 2 +- tests/integration/targets/latest/tasks/admin_user.yml | 2 ++ 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/tests/integration/targets/latest/tasks/admin_group.yml b/tests/integration/targets/latest/tasks/admin_group.yml index f9eb4d88..353d1949 100755 --- a/tests/integration/targets/latest/tasks/admin_group.yml +++ b/tests/integration/targets/latest/tasks/admin_group.yml @@ -64,6 +64,6 @@ - name: "GROUPS 4: ASSERT - Delete non existing" assert: that: - - not test_four['changed'] - - test_four['manufacturer'] == None - - test_four['msg'] == "group Test GROUPS One Two already absent" + - test_four is changed + - test_four['group']['name'] == "Test GROUPS One" + - test_four['msg'] == "group Test GROUPS One already absent" diff --git a/tests/integration/targets/latest/tasks/admin_permission.yml b/tests/integration/targets/latest/tasks/admin_permission.yml index 6ca092ca..d37e7e78 100755 --- a/tests/integration/targets/latest/tasks/admin_permission.yml +++ b/tests/integration/targets/latest/tasks/admin_permission.yml @@ -106,4 +106,4 @@ that: - test_five is changed - test_five['permission']['name'] == "Test PERMISSION One" - - test_five['msg'] == "permission Test PERMISSION One deleted" + - test_five['msg'] == "permission Test PERMISSION One already absent" diff --git a/tests/integration/targets/latest/tasks/admin_user.yml b/tests/integration/targets/latest/tasks/admin_user.yml index 6ce52b90..9932f678 100755 --- a/tests/integration/targets/latest/tasks/admin_user.yml +++ b/tests/integration/targets/latest/tasks/admin_user.yml @@ -69,6 +69,7 @@ that: - test_four is changed - test_four['user']['username'] == "nb-user" + - test_four['msg'] == "user nb-user deleted" - name: "USER 5: ASSERT - Delete non existing" networktocode.nautobot.admin_user: @@ -83,3 +84,4 @@ that: - test_five is changed - test_five['user']['username'] == "nb-user" + - test_five['msg'] == "user nb-user already absent" From 0495a602ce372645f2e7ab4cea9364e3d34bff16 Mon Sep 17 00:00:00 2001 From: Jeff Kala <48843785+jeffkala@users.noreply.github.com> Date: Fri, 30 Aug 2024 13:02:16 -0600 Subject: [PATCH 093/102] Update plugins/modules/admin_permission.py Co-authored-by: Joe Wesch <10467633+joewesch@users.noreply.github.com> --- plugins/modules/admin_permission.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/modules/admin_permission.py b/plugins/modules/admin_permission.py index e81f5eb4..d93c5a2d 100644 --- a/plugins/modules/admin_permission.py +++ b/plugins/modules/admin_permission.py @@ -147,7 +147,7 @@ def main(): actions=dict(required=True, type="list", elements="str", choices=["view", "add", "change", "delete", "run"]), constraints=dict(required=False, type="json"), users=dict(required=False, type="list", elements="str"), - groups=dict(required=False, type="list", elements="dict"), + groups=dict(required=False, type="list", elements="raw"), ) ) From 68f42bfea0c1858953233ef7769f8ef565bb1388 Mon Sep 17 00:00:00 2001 From: Jeff Kala Date: Fri, 30 Aug 2024 14:29:48 -0500 Subject: [PATCH 094/102] fix user tests --- tests/integration/targets/latest/tasks/admin_group.yml | 2 +- tests/integration/targets/latest/tasks/admin_user.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/integration/targets/latest/tasks/admin_group.yml b/tests/integration/targets/latest/tasks/admin_group.yml index 353d1949..d7df2655 100755 --- a/tests/integration/targets/latest/tasks/admin_group.yml +++ b/tests/integration/targets/latest/tasks/admin_group.yml @@ -66,4 +66,4 @@ that: - test_four is changed - test_four['group']['name'] == "Test GROUPS One" - - test_four['msg'] == "group Test GROUPS One already absent" + - test_four['msg'] == "group Test GROUPS One already absent" diff --git a/tests/integration/targets/latest/tasks/admin_user.yml b/tests/integration/targets/latest/tasks/admin_user.yml index 9932f678..913ccdd6 100755 --- a/tests/integration/targets/latest/tasks/admin_user.yml +++ b/tests/integration/targets/latest/tasks/admin_user.yml @@ -69,7 +69,7 @@ that: - test_four is changed - test_four['user']['username'] == "nb-user" - - test_four['msg'] == "user nb-user deleted" + - test_four['msg'] == "username nb-user deleted" - name: "USER 5: ASSERT - Delete non existing" networktocode.nautobot.admin_user: @@ -84,4 +84,4 @@ that: - test_five is changed - test_five['user']['username'] == "nb-user" - - test_five['msg'] == "user nb-user already absent" + - test_five['msg'] == "username nb-user already absent" From 7defeb675a6363014f52d04e592638f347d37518 Mon Sep 17 00:00:00 2001 From: Jeff Kala Date: Fri, 30 Aug 2024 17:32:27 -0500 Subject: [PATCH 095/102] final fix of tests --- plugins/module_utils/users.py | 4 +++- tasks.py | 2 +- tests/integration/targets/latest/tasks/admin_group.yml | 6 ++++-- .../integration/targets/latest/tasks/admin_permission.yml | 3 +-- tests/integration/targets/latest/tasks/admin_user.yml | 7 +++---- 5 files changed, 12 insertions(+), 10 deletions(-) diff --git a/plugins/module_utils/users.py b/plugins/module_utils/users.py index 09e3aaaa..5b045c35 100644 --- a/plugins/module_utils/users.py +++ b/plugins/module_utils/users.py @@ -39,7 +39,9 @@ def run(self): data = self.data # Used for msg output - if data.get("name"): + if data.get("username"): + name = data["username"] + elif data.get("name"): name = data["name"] else: name = data.get("id") diff --git a/tasks.py b/tasks.py index 1abd6704..1873dd13 100644 --- a/tasks.py +++ b/tasks.py @@ -32,7 +32,7 @@ def is_truthy(arg): namespace.configure( { "nautobot_ansible": { - "nautobot_ver": "2.2.4", + "nautobot_ver": "2.3.1", "project_name": "nautobot_ansible", "python_ver": "3.10", "local": False, diff --git a/tests/integration/targets/latest/tasks/admin_group.yml b/tests/integration/targets/latest/tasks/admin_group.yml index d7df2655..ca4ef647 100755 --- a/tests/integration/targets/latest/tasks/admin_group.yml +++ b/tests/integration/targets/latest/tasks/admin_group.yml @@ -12,6 +12,9 @@ state: present register: test_one +- debug: + var: test_one + - name: "GROUPS 1: ASSERT - Necessary info creation" assert: that: @@ -64,6 +67,5 @@ - name: "GROUPS 4: ASSERT - Delete non existing" assert: that: - - test_four is changed - - test_four['group']['name'] == "Test GROUPS One" + - not test_four['changed'] - test_four['msg'] == "group Test GROUPS One already absent" diff --git a/tests/integration/targets/latest/tasks/admin_permission.yml b/tests/integration/targets/latest/tasks/admin_permission.yml index d37e7e78..f3aadaae 100755 --- a/tests/integration/targets/latest/tasks/admin_permission.yml +++ b/tests/integration/targets/latest/tasks/admin_permission.yml @@ -104,6 +104,5 @@ - name: "PERMISSION 5: ASSERT - Delete non existing" assert: that: - - test_five is changed - - test_five['permission']['name'] == "Test PERMISSION One" + - not test_five['changed'] - test_five['msg'] == "permission Test PERMISSION One already absent" diff --git a/tests/integration/targets/latest/tasks/admin_user.yml b/tests/integration/targets/latest/tasks/admin_user.yml index 913ccdd6..566cf388 100755 --- a/tests/integration/targets/latest/tasks/admin_user.yml +++ b/tests/integration/targets/latest/tasks/admin_user.yml @@ -69,7 +69,7 @@ that: - test_four is changed - test_four['user']['username'] == "nb-user" - - test_four['msg'] == "username nb-user deleted" + - test_four['msg'] == "user nb-user deleted" - name: "USER 5: ASSERT - Delete non existing" networktocode.nautobot.admin_user: @@ -82,6 +82,5 @@ - name: "USER 5: ASSERT - Delete non existing" assert: that: - - test_five is changed - - test_five['user']['username'] == "nb-user" - - test_five['msg'] == "username nb-user already absent" + - not test_five['changed'] + - test_five['msg'] == "user nb-user already absent" From 2d255ac256485d787df32ac00447d8e7e37cb2c4 Mon Sep 17 00:00:00 2001 From: Jeff Kala Date: Fri, 30 Aug 2024 20:51:37 -0500 Subject: [PATCH 096/102] undo def nb version change --- tasks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks.py b/tasks.py index 1873dd13..1abd6704 100644 --- a/tasks.py +++ b/tasks.py @@ -32,7 +32,7 @@ def is_truthy(arg): namespace.configure( { "nautobot_ansible": { - "nautobot_ver": "2.3.1", + "nautobot_ver": "2.2.4", "project_name": "nautobot_ansible", "python_ver": "3.10", "local": False, From b09b6417a21c555ff9960ae31f552a08f9d615fd Mon Sep 17 00:00:00 2001 From: Josh VanDeraa Date: Tue, 3 Sep 2024 09:21:54 -0500 Subject: [PATCH 097/102] Update tests/integration/nautobot-populate.py Co-authored-by: Joe Wesch <10467633+joewesch@users.noreply.github.com> --- tests/integration/nautobot-populate.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/integration/nautobot-populate.py b/tests/integration/nautobot-populate.py index 4817bcbe..02945234 100755 --- a/tests/integration/nautobot-populate.py +++ b/tests/integration/nautobot-populate.py @@ -622,7 +622,7 @@ def make_nautobot_calls(endpoint, payload): vm_interface_roles = [ {"name": "Test VM Interface Role", "color": "aa1409", "vm_role": False, "content_types": ["virtualization.vminterface"]}, ] - created_device_roles = make_nautobot_calls(nb.extras.roles, vm_interface_roles) + created_vm_interface_roles = make_nautobot_calls(nb.extras.roles, vm_interface_roles) if ERRORS: sys.exit("Errors have occurred when creating objects, and should have been printed out. Check previous output.") From d863bd86e7163b903a52bc4cba90a8a205b088c0 Mon Sep 17 00:00:00 2001 From: Jeff Kala <48843785+jeffkala@users.noreply.github.com> Date: Mon, 9 Sep 2024 15:33:22 -0600 Subject: [PATCH 098/102] Apply suggestions from code review Co-authored-by: Joe Wesch <10467633+joewesch@users.noreply.github.com> --- plugins/module_utils/users.py | 6 +++--- tasks.py | 2 +- tests/integration/targets/latest/tasks/admin_permission.yml | 2 +- tests/integration/targets/latest/tasks/admin_user.yml | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/plugins/module_utils/users.py b/plugins/module_utils/users.py index 5b045c35..abd72e4b 100644 --- a/plugins/module_utils/users.py +++ b/plugins/module_utils/users.py @@ -22,9 +22,9 @@ def run(self): This function should have all necessary code for endpoints within the application to create/update/delete the endpoint objects Supported endpoints: - users - groups - permissions + - users + - groups + - permissions """ # Used to dynamically set key when returning results endpoint_name = ENDPOINT_NAME_MAPPING[self.endpoint] diff --git a/tasks.py b/tasks.py index 1abd6704..c879a03d 100644 --- a/tasks.py +++ b/tasks.py @@ -32,7 +32,7 @@ def is_truthy(arg): namespace.configure( { "nautobot_ansible": { - "nautobot_ver": "2.2.4", + "nautobot_ver": "2.0.0", "project_name": "nautobot_ansible", "python_ver": "3.10", "local": False, diff --git a/tests/integration/targets/latest/tasks/admin_permission.yml b/tests/integration/targets/latest/tasks/admin_permission.yml index f3aadaae..ec0e63cb 100755 --- a/tests/integration/targets/latest/tasks/admin_permission.yml +++ b/tests/integration/targets/latest/tasks/admin_permission.yml @@ -46,7 +46,7 @@ - test_two['permission']['name'] == "Test PERMISSION One" - test_two['msg'] == "permission Test PERMISSION One already exists" -- name: "PERMISSION 3: ASSERT - Update" +- name: "PERMISSION 3: Update" networktocode.nautobot.admin_permission: url: "{{ nautobot_url }}" token: "{{ nautobot_token }}" diff --git a/tests/integration/targets/latest/tasks/admin_user.yml b/tests/integration/targets/latest/tasks/admin_user.yml index 566cf388..3edeeb1b 100755 --- a/tests/integration/targets/latest/tasks/admin_user.yml +++ b/tests/integration/targets/latest/tasks/admin_user.yml @@ -34,7 +34,7 @@ - not test_two['changed'] - test_two['user']['username'] == "nb-user" -- name: "USER 3: ASSERT - Update" +- name: "USER 3: Update" networktocode.nautobot.admin_user: url: "{{ nautobot_url }}" token: "{{ nautobot_token }}" From a5eac20ca33a260389f04bebf00ab6ca30741d48 Mon Sep 17 00:00:00 2001 From: Jeff Kala Date: Tue, 10 Sep 2024 12:32:23 -0500 Subject: [PATCH 099/102] add idempotent tests to updates, add user and groups test in admin-permissions tests --- plugins/lookup/lookup.py | 3 + tests/integration/nautobot-populate.py | 8 +++ .../targets/latest/tasks/admin_group.yml | 3 - .../targets/latest/tasks/admin_permission.yml | 58 +++++++++++++++---- .../targets/latest/tasks/admin_user.yml | 35 +++++++---- 5 files changed, 84 insertions(+), 23 deletions(-) diff --git a/plugins/lookup/lookup.py b/plugins/lookup/lookup.py index 92c169a8..3989d462 100644 --- a/plugins/lookup/lookup.py +++ b/plugins/lookup/lookup.py @@ -164,6 +164,9 @@ def get_endpoint(nautobot, term): """ endpoint_map = { + "admin-users": {"endpoint": nautobot.users.users}, + "admin-groups": {"endpoint": nautobot.users.groups}, + "admin-permissions": {"endpoint": nautobot.users.permissions}, "aggregates": {"endpoint": nautobot.ipam.aggregates}, "circuit-terminations": {"endpoint": nautobot.circuits.circuit_terminations}, "circuit-types": {"endpoint": nautobot.circuits.circuit_types}, diff --git a/tests/integration/nautobot-populate.py b/tests/integration/nautobot-populate.py index edfc44f8..0b03e47b 100755 --- a/tests/integration/nautobot-populate.py +++ b/tests/integration/nautobot-populate.py @@ -81,6 +81,14 @@ def make_nautobot_calls(endpoint, payload): # ORDER OF OPERATIONS FOR THE MOST PART +# Create Admin Users +admin_users = [{"username": "a_admin_user", "is_staff": True, "is_superuser": True}] +created_admin_users = make_nautobot_calls(nb.users.users, admin_users) + +# Create Admin User Groups +admin_groups = [{"name": "A Test Admin User Group"}] +created_admin_groups = make_nautobot_calls(nb.users.groups, admin_groups) + # Create TENANT GROUPS tenant_groups = [{"name": "Test Tenant Group"}] created_tenant_groups = make_nautobot_calls(nb.tenancy.tenant_groups, tenant_groups) diff --git a/tests/integration/targets/latest/tasks/admin_group.yml b/tests/integration/targets/latest/tasks/admin_group.yml index ca4ef647..f2ed6f36 100755 --- a/tests/integration/targets/latest/tasks/admin_group.yml +++ b/tests/integration/targets/latest/tasks/admin_group.yml @@ -12,9 +12,6 @@ state: present register: test_one -- debug: - var: test_one - - name: "GROUPS 1: ASSERT - Necessary info creation" assert: that: diff --git a/tests/integration/targets/latest/tasks/admin_permission.yml b/tests/integration/targets/latest/tasks/admin_permission.yml index ec0e63cb..1b224463 100755 --- a/tests/integration/targets/latest/tasks/admin_permission.yml +++ b/tests/integration/targets/latest/tasks/admin_permission.yml @@ -4,12 +4,20 @@ ### PYNAUTOBOT_OBJECT_PERMISSIONS ## ## +- set_fact: + nb_user: "{{ lookup('networktocode.nautobot.lookup', 'admin-users', api_endpoint=nautobot_url, token=nautobot_token, api_filter='username=\"a_admin_user\"') }}" + nb_group: "{{ lookup('networktocode.nautobot.lookup', 'admin-groups', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=\"A Test Admin User Group\"') }}" + - name: "PERMISSION 1: Necessary info creation" networktocode.nautobot.admin_permission: url: "{{ nautobot_url }}" token: "{{ nautobot_token }}" name: Test PERMISSION One enabled: true + users: + - "a_admin_user" + groups: + - name: "A Test Admin User Group" object_types: - "dcim.device" actions: @@ -21,6 +29,8 @@ assert: that: - test_one is changed + - test_one['permission']['users'][0] == nb_user['key'] + - test_one['permission']['groups'][0] == nb_group['key'] - test_one['diff']['before']['state'] == "absent" - test_one['diff']['after']['state'] == "present" - test_one['permission']['name'] == "Test PERMISSION One" @@ -32,6 +42,10 @@ token: "{{ nautobot_token }}" name: Test PERMISSION One enabled: true + users: + - "a_admin_user" + groups: + - name: "A Test Admin User Group" actions: - view object_types: @@ -52,6 +66,10 @@ token: "{{ nautobot_token }}" name: "Test PERMISSION One" enabled: true + users: + - "a_admin_user" + groups: + - name: "A Test Admin User Group" actions: - add object_types: @@ -68,27 +86,27 @@ - test_three['permission']['actions'] == ["add"] - test_three['msg'] == "permission Test PERMISSION One updated" -- name: "PERMISSION 4: ASSERT - Delete" +- name: "PERMISSION 4: Update - Idempotent" networktocode.nautobot.admin_permission: url: "{{ nautobot_url }}" token: "{{ nautobot_token }}" name: "Test PERMISSION One" enabled: true actions: - - view + - add object_types: - "dcim.device" - state: absent + state: present register: test_four -- name: "PERMISSION 4: ASSERT - Delete" +- name: "PERMISSION 4: ASSERT - Update - Idempotent" assert: that: - - test_four is changed + - not test_four['changed'] - test_four['permission']['name'] == "Test PERMISSION One" - - test_four['msg'] == "permission Test PERMISSION One deleted" + - test_four['msg'] == "permission Test PERMISSION One already exists" -- name: "PERMISSION 5: ASSERT - Delete non existing" +- name: "PERMISSION 5: ASSERT - Delete" networktocode.nautobot.admin_permission: url: "{{ nautobot_url }}" token: "{{ nautobot_token }}" @@ -101,8 +119,28 @@ state: absent register: test_five -- name: "PERMISSION 5: ASSERT - Delete non existing" +- name: "PERMISSION 5: ASSERT - Delete" + assert: + that: + - test_five is changed + - test_five['permission']['name'] == "Test PERMISSION One" + - test_five['msg'] == "permission Test PERMISSION One deleted" + +- name: "PERMISSION 6: ASSERT - Delete non existing" + networktocode.nautobot.admin_permission: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + name: "Test PERMISSION One" + enabled: true + actions: + - view + object_types: + - "dcim.device" + state: absent + register: test_six + +- name: "PERMISSION 6: ASSERT - Delete non existing" assert: that: - - not test_five['changed'] - - test_five['msg'] == "permission Test PERMISSION One already absent" + - not test_six['changed'] + - test_six['msg'] == "permission Test PERMISSION One already absent" diff --git a/tests/integration/targets/latest/tasks/admin_user.yml b/tests/integration/targets/latest/tasks/admin_user.yml index 3edeeb1b..f305e8ae 100755 --- a/tests/integration/targets/latest/tasks/admin_user.yml +++ b/tests/integration/targets/latest/tasks/admin_user.yml @@ -56,22 +56,22 @@ - test_three['diff']['before']['last_name'] == "" - test_three['diff']['after']['last_name'] == "user" -- name: "USER 4: ASSERT - Delete" +- name: "USER 4: Update - idempotent" networktocode.nautobot.admin_user: url: "{{ nautobot_url }}" token: "{{ nautobot_token }}" username: "nb-user" - state: absent + first_name: "nb" + last_name: "user" + state: present register: test_four -- name: "USER 4: ASSERT - Delete" +- name: "USER 4: ASSERT - Update - idempotent" assert: that: - - test_four is changed - - test_four['user']['username'] == "nb-user" - - test_four['msg'] == "user nb-user deleted" + - not test_four['changed'] -- name: "USER 5: ASSERT - Delete non existing" +- name: "USER 5: ASSERT - Delete" networktocode.nautobot.admin_user: url: "{{ nautobot_url }}" token: "{{ nautobot_token }}" @@ -79,8 +79,23 @@ state: absent register: test_five -- name: "USER 5: ASSERT - Delete non existing" +- name: "USER 5: ASSERT - Delete" + assert: + that: + - test_five is changed + - test_five['user']['username'] == "nb-user" + - test_five['msg'] == "user nb-user deleted" + +- name: "USER 6: ASSERT - Delete non existing" + networktocode.nautobot.admin_user: + url: "{{ nautobot_url }}" + token: "{{ nautobot_token }}" + username: "nb-user" + state: absent + register: test_six + +- name: "USER 6: ASSERT - Delete non existing" assert: that: - - not test_five['changed'] - - test_five['msg'] == "user nb-user already absent" + - not test_six['changed'] + - test_six['msg'] == "user nb-user already absent" From c9e035cc4e324c72c18cb2f088411d9e41be1d80 Mon Sep 17 00:00:00 2001 From: Jeff Kala Date: Tue, 10 Sep 2024 16:58:05 -0500 Subject: [PATCH 100/102] add idempotent tests to updates, add user and groups test in admin-permissions tests --- plugins/module_utils/utils.py | 5 ++++- .../targets/latest/tasks/admin_permission.yml | 16 ++++++++++------ 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/plugins/module_utils/utils.py b/plugins/module_utils/utils.py index 84b46ece..20c9e1df 100644 --- a/plugins/module_utils/utils.py +++ b/plugins/module_utils/utils.py @@ -171,6 +171,7 @@ "device_type": "device_types", "export_targets": "route_targets", "group": "tenant_groups", + "groups": "groups", "import_targets": "route_targets", "installed_device": "devices", "interface": "interfaces", @@ -214,6 +215,7 @@ "termination_a": "interfaces", "termination_b": "interfaces", "untagged_vlan": "vlans", + "users": "users", "virtual_chassis": "virtual_chassis", "virtual_machine": "virtual_machines", "vlan": "vlans", @@ -695,7 +697,8 @@ def _get_query_param_id(self, match, data): result = self._nb_endpoint_get(nb_endpoint, query_params, match) if result: - return result.id + # Inherited django models(admin groups) that are not overloaded are integers, force the integer to string. + return str(result.id) else: return data diff --git a/tests/integration/targets/latest/tasks/admin_permission.yml b/tests/integration/targets/latest/tasks/admin_permission.yml index 1b224463..ea3facf0 100755 --- a/tests/integration/targets/latest/tasks/admin_permission.yml +++ b/tests/integration/targets/latest/tasks/admin_permission.yml @@ -8,13 +8,18 @@ nb_user: "{{ lookup('networktocode.nautobot.lookup', 'admin-users', api_endpoint=nautobot_url, token=nautobot_token, api_filter='username=\"a_admin_user\"') }}" nb_group: "{{ lookup('networktocode.nautobot.lookup', 'admin-groups', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=\"A Test Admin User Group\"') }}" +- debug: + var: nb_user +- debug: + var: nb_group + - name: "PERMISSION 1: Necessary info creation" networktocode.nautobot.admin_permission: url: "{{ nautobot_url }}" token: "{{ nautobot_token }}" name: Test PERMISSION One enabled: true - users: + users: - "a_admin_user" groups: - name: "A Test Admin User Group" @@ -42,7 +47,7 @@ token: "{{ nautobot_token }}" name: Test PERMISSION One enabled: true - users: + users: - "a_admin_user" groups: - name: "A Test Admin User Group" @@ -53,6 +58,9 @@ state: present register: test_two +- debug: + var: test_two + - name: "PERMISSION 2: ASSERT - Create duplicate" assert: that: @@ -66,10 +74,6 @@ token: "{{ nautobot_token }}" name: "Test PERMISSION One" enabled: true - users: - - "a_admin_user" - groups: - - name: "A Test Admin User Group" actions: - add object_types: From 8edf3a9ffa3b62a66557f0d33742aacc43aaf4b2 Mon Sep 17 00:00:00 2001 From: Joe Wesch Date: Wed, 11 Sep 2024 08:24:59 -0500 Subject: [PATCH 101/102] Changes groups from raw to str --- plugins/modules/admin_permission.py | 12 ++++++------ .../targets/latest/tasks/admin_permission.yml | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/plugins/modules/admin_permission.py b/plugins/modules/admin_permission.py index d93c5a2d..9773117a 100644 --- a/plugins/modules/admin_permission.py +++ b/plugins/modules/admin_permission.py @@ -66,7 +66,7 @@ - The groups assigned for the permission definition. required: false type: list - elements: raw + elements: str """ EXAMPLES = r""" @@ -81,7 +81,7 @@ url: http://nautobot.local token: thisIsMyToken name: read only - description: "ro permisisons" + description: "ro permissions" enabled: true object_types: - "dcim.device" @@ -91,7 +91,7 @@ users: - nb_user groups: - - name: read_only_group + - read_only_group state: present - name: Delete permission @@ -99,7 +99,7 @@ url: http://nautobot.local token: thisIsMyToken name: read only - description: "ro permisisons" + description: "ro permissions" enabled: true object_types: - "dcim.device" @@ -109,7 +109,7 @@ users: - nb_user groups: - - name: read_only_group + - read_only_group state: absent """ @@ -147,7 +147,7 @@ def main(): actions=dict(required=True, type="list", elements="str", choices=["view", "add", "change", "delete", "run"]), constraints=dict(required=False, type="json"), users=dict(required=False, type="list", elements="str"), - groups=dict(required=False, type="list", elements="raw"), + groups=dict(required=False, type="list", elements="str"), ) ) diff --git a/tests/integration/targets/latest/tasks/admin_permission.yml b/tests/integration/targets/latest/tasks/admin_permission.yml index ea3facf0..ea3491d6 100755 --- a/tests/integration/targets/latest/tasks/admin_permission.yml +++ b/tests/integration/targets/latest/tasks/admin_permission.yml @@ -22,7 +22,7 @@ users: - "a_admin_user" groups: - - name: "A Test Admin User Group" + - "A Test Admin User Group" object_types: - "dcim.device" actions: @@ -50,7 +50,7 @@ users: - "a_admin_user" groups: - - name: "A Test Admin User Group" + - "A Test Admin User Group" actions: - view object_types: From 0fac7a0b8cdb539e67e10ebb704011a292a01a2f Mon Sep 17 00:00:00 2001 From: Joe Wesch Date: Wed, 11 Sep 2024 13:29:15 -0500 Subject: [PATCH 102/102] Release v5.3.0 --- CHANGELOG.rst | 20 + changelogs/changelog.yaml | 26 +- docs/plugins/admin_group_module.rst | 529 ++++++++ docs/plugins/admin_permission_module.rst | 808 ++++++++++++ docs/plugins/admin_user_module.rst | 797 +++++++++++ docs/plugins/cable_module.rst | 139 +- docs/plugins/circuit_module.rst | 143 +- docs/plugins/circuit_termination_module.rst | 135 +- docs/plugins/circuit_type_module.rst | 105 +- docs/plugins/cluster_group_module.rst | 105 +- docs/plugins/cluster_module.rst | 131 +- docs/plugins/cluster_type_module.rst | 105 +- docs/plugins/console_port_module.rst | 117 +- docs/plugins/console_port_template_module.rst | 109 +- docs/plugins/console_server_port_module.rst | 117 +- .../console_server_port_template_module.rst | 109 +- docs/plugins/contact_module.rst | 129 +- docs/plugins/controller_module.rst | 923 ++++++++++++- docs/plugins/custom_field_choice_module.rst | 109 +- docs/plugins/custom_field_module.rst | 169 ++- docs/plugins/device_bay_module.rst | 117 +- docs/plugins/device_bay_template_module.rst | 105 +- docs/plugins/device_interface_module.rst | 185 ++- .../device_interface_template_module.rst | 124 +- docs/plugins/device_module.rst | 203 ++- .../device_redundancy_group_module.rst | 132 +- docs/plugins/device_type_module.rst | 133 +- docs/plugins/environment_variables.rst | 24 +- docs/plugins/front_port_module.rst | 125 +- docs/plugins/front_port_template_module.rst | 117 +- docs/plugins/gql_inventory_inventory.rst | 267 ++-- docs/plugins/graphql_string_filter.rst | 10 +- docs/plugins/index.rst | 163 +-- docs/plugins/inventory_inventory.rst | 298 +++-- docs/plugins/inventory_item_module.rst | 135 +- docs/plugins/ip_address_module.rst | 164 ++- .../ip_address_to_interface_module.rst | 108 +- docs/plugins/location_module.rst | 183 ++- docs/plugins/location_type_module.rst | 125 +- docs/plugins/lookup_graphql_lookup.rst | 151 +-- docs/plugins/lookup_lookup.rst | 94 +- docs/plugins/manufacturer_module.rst | 105 +- docs/plugins/namespace_module.rst | 117 +- docs/plugins/nautobot_server_module.rst | 207 ++- docs/plugins/platform_module.rst | 117 +- docs/plugins/plugin_module.rst | 115 +- docs/plugins/power_feed_module.rst | 151 +-- docs/plugins/power_outlet_module.rst | 125 +- docs/plugins/power_outlet_template_module.rst | 117 +- docs/plugins/power_panel_module.rst | 109 +- docs/plugins/power_port_module.rst | 125 +- docs/plugins/power_port_template_module.rst | 117 +- docs/plugins/prefix_module.rst | 173 ++- docs/plugins/provider_module.rst | 133 +- docs/plugins/query_graphql_module.rst | 179 ++- docs/plugins/rack_group_module.rst | 119 +- docs/plugins/rack_module.rst | 181 ++- docs/plugins/rear_port_module.rst | 121 +- docs/plugins/rear_port_template_module.rst | 113 +- .../relationship_association_module.rst | 113 +- docs/plugins/rir_module.rst | 105 +- docs/plugins/role_module.rst | 121 +- docs/plugins/route_target_module.rst | 115 +- docs/plugins/service_module.rst | 122 +- docs/plugins/status_module.rst | 109 +- docs/plugins/tag_module.rst | 119 +- docs/plugins/team_module.rst | 129 +- docs/plugins/tenant_group_module.rst | 112 +- docs/plugins/tenant_module.rst | 119 +- docs/plugins/virtual_chassis_module.rst | 113 +- docs/plugins/virtual_machine_module.rst | 159 +-- docs/plugins/vlan_group_module.rst | 113 +- docs/plugins/vlan_location_module.rst | 105 +- docs/plugins/vlan_module.rst | 143 +- docs/plugins/vm_interface_module.rst | 185 +-- docs/plugins/vrf_module.rst | 133 +- poetry.lock | 1160 +++++++++-------- pyproject.toml | 2 +- 78 files changed, 7870 insertions(+), 5619 deletions(-) create mode 100644 docs/plugins/admin_group_module.rst create mode 100644 docs/plugins/admin_permission_module.rst create mode 100644 docs/plugins/admin_user_module.rst diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 8a2beed0..aa04e11c 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -5,6 +5,26 @@ networktocode.nautobot Release Notes .. contents:: Topics +v5.3.0 +====== + +New Modules +----------- + +- networktocode.nautobot.vlan_location - Creates or removes Location assignments to VLANs from Nautobot +- networktocode.nautobot.contact - Creates or removes contacts from Nautobot +- networktocode.nautobot.team - Creates or removes teams from Nautobot +- networktocode.nautobot.controller - Creates or removes controllers from Nautobot +- networktocode.nautobot.admin_user - Creates or removes users from Nautobot +- networktocode.nautobot.admin_group - Creates or removes groups from Nautobot +- networktocode.nautobot.admin_permission - Creates or removes permissions from Nautobot + +Minor Changes +------------- +- (#352) Added IPv6 support as the default IP version for `gql_inventory` plugin +- (#415) Added `role` option to `vm_interface` module +- (#416) Fixed `location_type` idempotency for `location` module + v5.2.1 ====== diff --git a/changelogs/changelog.yaml b/changelogs/changelog.yaml index 53626b67..3ba8efa9 100644 --- a/changelogs/changelog.yaml +++ b/changelogs/changelog.yaml @@ -450,6 +450,30 @@ releases: - (#345) Added `NAUTOBOT_VALIDATE_CERTS` environment variable to disable SSL verification - (#348) Fixed GraphQL Inventory plugin bug when device platform is None 5.3.0: + modules: + - description: Creates or removes Location assignments to VLANs from Nautobot + name: vlan_location + namespace: '' + - description: Creates or removes contacts from Nautobot + name: contact + namespace: '' + - description: Creates or removes teams from Nautobot + name: team + namespace: '' + - description: Creates or removes controllers from Nautobot + name: controller + namespace: '' + - description: Creates or removes users from Nautobot + name: admin_user + namespace: '' + - description: Creates or removes groups from Nautobot + name: admin_group + namespace: '' + - description: Creates or removes permissions from Nautobot + name: admin_permission + namespace: '' changes: minor_changes: - - (#326) Added `controller` module + - (#352) Added IPv6 support as the default IP version for `gql_inventory` plugin + - (#415) Added `role` option to `vm_interface` module + - (#416) Fixed `location_type` idempotency for `location` module diff --git a/docs/plugins/admin_group_module.rst b/docs/plugins/admin_group_module.rst new file mode 100644 index 00000000..99c5ab24 --- /dev/null +++ b/docs/plugins/admin_group_module.rst @@ -0,0 +1,529 @@ +.. Document meta + +:orphan: + +.. |antsibull-internal-nbsp| unicode:: 0xA0 + :trim: + +.. meta:: + :antsibull-docs: 2.14.0 + +.. Anchors + +.. _ansible_collections.networktocode.nautobot.admin_group_module: + +.. Anchors: short name for ansible.builtin + +.. Title + +networktocode.nautobot.admin_group module -- Create, update or delete admin groups within Nautobot +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +.. Collection note + +.. note:: + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. + + To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. + You need further requirements to be able to use this module, + see :ref:`Requirements ` for details. + + To use it in a playbook, specify: :code:`networktocode.nautobot.admin_group`. + +.. version_added + +.. rst-class:: ansible-version-added + +New in networktocode.nautobot 5.3.0 + +.. contents:: + :local: + :depth: 1 + +.. Deprecated + + +Synopsis +-------- + +.. Description + +- Creates, updates or removes admin groups from Nautobot + + +.. Aliases + + +.. Requirements + +.. _ansible_collections.networktocode.nautobot.admin_group_module_requirements: + +Requirements +------------ +The below requirements are needed on the host that executes this module. + +- pynautobot + + + + + + +.. Options + +Parameters +---------- + +.. tabularcolumns:: \X{1}{3}\X{2}{3} + +.. list-table:: + :width: 100% + :widths: auto + :header-rows: 1 + :class: longtable ansible-option-table + + * - Parameter + - Comments + + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.admin_group_module__parameter-api_version: + + .. rst-class:: ansible-option-title + + **api_version** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`string` + + :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` + + + .. raw:: html + +
+ + - .. raw:: html + +
+ + API Version Nautobot REST API + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.admin_group_module__parameter-name: + + .. rst-class:: ansible-option-title + + **name** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`string` / :ansible-option-required:`required` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + The name of the group + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.admin_group_module__parameter-query_params: + + .. rst-class:: ansible-option-title + + **query_params** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + + :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` + + + .. raw:: html + +
+ + - .. raw:: html + +
+ + 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. + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.admin_group_module__parameter-state: + + .. rst-class:: ansible-option-title + + **state** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`string` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + Use :literal:`present` or :literal:`absent` for adding or removing. + + + .. rst-class:: ansible-option-line + + :ansible-option-choices:`Choices:` + + - :ansible-option-choices-entry:`"absent"` + - :ansible-option-choices-entry-default:`"present"` :ansible-option-choices-default-mark:`← (default)` + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.admin_group_module__parameter-token: + + .. rst-class:: ansible-option-title + + **token** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`string` / :ansible-option-required:`required` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + The token created within Nautobot to authorize API access + + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.admin_group_module__parameter-url: + + .. rst-class:: ansible-option-title + + **url** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`string` / :ansible-option-required:`required` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) + + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.admin_group_module__parameter-validate_certs: + + .. rst-class:: ansible-option-title + + **validate_certs** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`any` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + If :literal:`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 :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. + + + .. rst-class:: ansible-option-line + + :ansible-option-default-bold:`Default:` :ansible-option-default:`true` + + .. raw:: html + +
+ + +.. Attributes + + +.. Notes + +Notes +----- + +.. note:: + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` + +.. Seealso + + +.. Examples + +Examples +-------- + +.. code-block:: yaml+jinja + + - name: "Test Nautobot modules" + connection: local + hosts: localhost + gather_facts: False + + tasks: + - name: Create admin group within Nautobot + networktocode.nautobot.admin_group: + url: http://nautobot.local + token: thisIsMyToken + name: read_only_group + state: present + + - name: Delete admin group + networktocode.nautobot.user: + url: http://nautobot.local + token: thisIsMyToken + name: read_only_group + state: absent + + + +.. Facts + + +.. Return values + +Return Values +------------- +Common return values are documented :ref:`here `, the following are the fields unique to this module: + +.. tabularcolumns:: \X{1}{3}\X{2}{3} + +.. list-table:: + :width: 100% + :widths: auto + :header-rows: 1 + :class: longtable ansible-option-table + + * - Key + - Description + + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.admin_group_module__return-admin_group: + + .. rst-class:: ansible-option-title + + **admin_group** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`dictionary` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + Serialized object as created or already existent within Nautobot + + + .. rst-class:: ansible-option-line + + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) + + + .. raw:: html + +
+ + + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.admin_group_module__return-msg: + + .. rst-class:: ansible-option-title + + **msg** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`string` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + Message indicating failure or info about what has been achieved + + + .. rst-class:: ansible-option-line + + :ansible-option-returned-bold:`Returned:` always + + + .. raw:: html + +
+ + + +.. Status (Presently only deprecated) + + +.. Authors + +Authors +~~~~~~~ + +- Jeff Kala (@jeffkala) + + + +.. Extra links + +Collection links +~~~~~~~~~~~~~~~~ + +.. ansible-links:: + + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true + + +.. Parsing errors diff --git a/docs/plugins/admin_permission_module.rst b/docs/plugins/admin_permission_module.rst new file mode 100644 index 00000000..e39cc775 --- /dev/null +++ b/docs/plugins/admin_permission_module.rst @@ -0,0 +1,808 @@ +.. Document meta + +:orphan: + +.. |antsibull-internal-nbsp| unicode:: 0xA0 + :trim: + +.. meta:: + :antsibull-docs: 2.14.0 + +.. Anchors + +.. _ansible_collections.networktocode.nautobot.admin_permission_module: + +.. Anchors: short name for ansible.builtin + +.. Title + +networktocode.nautobot.admin_permission module -- Create, update or delete object permissions within Nautobot ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +.. Collection note + +.. note:: + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. + + To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. + You need further requirements to be able to use this module, + see :ref:`Requirements ` for details. + + To use it in a playbook, specify: :code:`networktocode.nautobot.admin_permission`. + +.. version_added + +.. rst-class:: ansible-version-added + +New in networktocode.nautobot 5.3.0 + +.. contents:: + :local: + :depth: 1 + +.. Deprecated + + +Synopsis +-------- + +.. Description + +- Creates, updates or removes object permissions from Nautobot + + +.. Aliases + + +.. Requirements + +.. _ansible_collections.networktocode.nautobot.admin_permission_module_requirements: + +Requirements +------------ +The below requirements are needed on the host that executes this module. + +- pynautobot + + + + + + +.. Options + +Parameters +---------- + +.. tabularcolumns:: \X{1}{3}\X{2}{3} + +.. list-table:: + :width: 100% + :widths: auto + :header-rows: 1 + :class: longtable ansible-option-table + + * - Parameter + - Comments + + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.admin_permission_module__parameter-actions: + + .. rst-class:: ansible-option-title + + **actions** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` / :ansible-option-required:`required` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + The actions allowed for the permission definition. + + + .. rst-class:: ansible-option-line + + :ansible-option-choices:`Choices:` + + - :ansible-option-choices-entry:`"view"` + - :ansible-option-choices-entry:`"add"` + - :ansible-option-choices-entry:`"change"` + - :ansible-option-choices-entry:`"delete"` + - :ansible-option-choices-entry:`"run"` + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.admin_permission_module__parameter-api_version: + + .. rst-class:: ansible-option-title + + **api_version** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`string` + + :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` + + + .. raw:: html + +
+ + - .. raw:: html + +
+ + API Version Nautobot REST API + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.admin_permission_module__parameter-constraints: + + .. rst-class:: ansible-option-title + + **constraints** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`json` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + The constraints for the permission definition. + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.admin_permission_module__parameter-description: + + .. rst-class:: ansible-option-title + + **description** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`string` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + The description of the permission + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.admin_permission_module__parameter-enabled: + + .. rst-class:: ansible-option-title + + **enabled** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`boolean` / :ansible-option-required:`required` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + If the permission is enabled or not. + + + .. rst-class:: ansible-option-line + + :ansible-option-choices:`Choices:` + + - :ansible-option-choices-entry:`false` + - :ansible-option-choices-entry:`true` + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.admin_permission_module__parameter-groups: + + .. rst-class:: ansible-option-title + + **groups** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + The groups assigned for the permission definition. + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.admin_permission_module__parameter-name: + + .. rst-class:: ansible-option-title + + **name** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`string` / :ansible-option-required:`required` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + The name of the permission + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.admin_permission_module__parameter-object_types: + + .. rst-class:: ansible-option-title + + **object_types** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + The permitted object\_types for the permission definition. + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.admin_permission_module__parameter-query_params: + + .. rst-class:: ansible-option-title + + **query_params** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + + :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` + + + .. raw:: html + +
+ + - .. raw:: html + +
+ + 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. + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.admin_permission_module__parameter-state: + + .. rst-class:: ansible-option-title + + **state** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`string` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + Use :literal:`present` or :literal:`absent` for adding or removing. + + + .. rst-class:: ansible-option-line + + :ansible-option-choices:`Choices:` + + - :ansible-option-choices-entry:`"absent"` + - :ansible-option-choices-entry-default:`"present"` :ansible-option-choices-default-mark:`← (default)` + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.admin_permission_module__parameter-token: + + .. rst-class:: ansible-option-title + + **token** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`string` / :ansible-option-required:`required` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + The token created within Nautobot to authorize API access + + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.admin_permission_module__parameter-url: + + .. rst-class:: ansible-option-title + + **url** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`string` / :ansible-option-required:`required` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) + + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.admin_permission_module__parameter-users: + + .. rst-class:: ansible-option-title + + **users** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + The users assigned for the permission definition. + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.admin_permission_module__parameter-validate_certs: + + .. rst-class:: ansible-option-title + + **validate_certs** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`any` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + If :literal:`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 :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. + + + .. rst-class:: ansible-option-line + + :ansible-option-default-bold:`Default:` :ansible-option-default:`true` + + .. raw:: html + +
+ + +.. Attributes + + +.. Notes + +Notes +----- + +.. note:: + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` + +.. Seealso + + +.. Examples + +Examples +-------- + +.. code-block:: yaml+jinja + + - name: "Test Nautobot modules" + connection: local + hosts: localhost + gather_facts: False + + tasks: + - name: Create object permission within Nautobot with only required information + networktocode.nautobot.admin_permission: + url: http://nautobot.local + token: thisIsMyToken + name: read only + description: "ro permissions" + enabled: true + object_types: + - "dcim.device" + actions: + - view + - change + users: + - nb_user + groups: + - read_only_group + state: present + + - name: Delete permission + networktocode.nautobot.admin_permission: + url: http://nautobot.local + token: thisIsMyToken + name: read only + description: "ro permissions" + enabled: true + object_types: + - "dcim.device" + actions: + - view + - change + users: + - nb_user + groups: + - read_only_group + state: absent + + + +.. Facts + + +.. Return values + +Return Values +------------- +Common return values are documented :ref:`here `, the following are the fields unique to this module: + +.. tabularcolumns:: \X{1}{3}\X{2}{3} + +.. list-table:: + :width: 100% + :widths: auto + :header-rows: 1 + :class: longtable ansible-option-table + + * - Key + - Description + + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.admin_permission_module__return-admin_permission: + + .. rst-class:: ansible-option-title + + **admin_permission** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`dictionary` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + Serialized object as created or already existent within Nautobot + + + .. rst-class:: ansible-option-line + + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) + + + .. raw:: html + +
+ + + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.admin_permission_module__return-msg: + + .. rst-class:: ansible-option-title + + **msg** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`string` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + Message indicating failure or info about what has been achieved + + + .. rst-class:: ansible-option-line + + :ansible-option-returned-bold:`Returned:` always + + + .. raw:: html + +
+ + + +.. Status (Presently only deprecated) + + +.. Authors + +Authors +~~~~~~~ + +- Jeff Kala (@jeffkala) + + + +.. Extra links + +Collection links +~~~~~~~~~~~~~~~~ + +.. ansible-links:: + + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true + + +.. Parsing errors diff --git a/docs/plugins/admin_user_module.rst b/docs/plugins/admin_user_module.rst new file mode 100644 index 00000000..b6267935 --- /dev/null +++ b/docs/plugins/admin_user_module.rst @@ -0,0 +1,797 @@ +.. Document meta + +:orphan: + +.. |antsibull-internal-nbsp| unicode:: 0xA0 + :trim: + +.. meta:: + :antsibull-docs: 2.14.0 + +.. Anchors + +.. _ansible_collections.networktocode.nautobot.admin_user_module: + +.. Anchors: short name for ansible.builtin + +.. Title + +networktocode.nautobot.admin_user module -- Create, update or delete users within Nautobot +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +.. Collection note + +.. note:: + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. + + To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. + You need further requirements to be able to use this module, + see :ref:`Requirements ` for details. + + To use it in a playbook, specify: :code:`networktocode.nautobot.admin_user`. + +.. version_added + +.. rst-class:: ansible-version-added + +New in networktocode.nautobot 5.3.0 + +.. contents:: + :local: + :depth: 1 + +.. Deprecated + + +Synopsis +-------- + +.. Description + +- Creates, updates or removes users from Nautobot + + +.. Aliases + + +.. Requirements + +.. _ansible_collections.networktocode.nautobot.admin_user_module_requirements: + +Requirements +------------ +The below requirements are needed on the host that executes this module. + +- pynautobot + + + + + + +.. Options + +Parameters +---------- + +.. tabularcolumns:: \X{1}{3}\X{2}{3} + +.. list-table:: + :width: 100% + :widths: auto + :header-rows: 1 + :class: longtable ansible-option-table + + * - Parameter + - Comments + + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.admin_user_module__parameter-api_version: + + .. rst-class:: ansible-option-title + + **api_version** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`string` + + :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` + + + .. raw:: html + +
+ + - .. raw:: html + +
+ + API Version Nautobot REST API + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.admin_user_module__parameter-email: + + .. rst-class:: ansible-option-title + + **email** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`string` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + The email of the user + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.admin_user_module__parameter-first_name: + + .. rst-class:: ansible-option-title + + **first_name** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`string` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + The first name of the user + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.admin_user_module__parameter-groups: + + .. rst-class:: ansible-option-title + + **groups** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`list` / :ansible-option-elements:`elements=any` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + The groups the user is assigned to + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.admin_user_module__parameter-is_active: + + .. rst-class:: ansible-option-title + + **is_active** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`boolean` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + If the user should be active + + + .. rst-class:: ansible-option-line + + :ansible-option-choices:`Choices:` + + - :ansible-option-choices-entry:`false` + - :ansible-option-choices-entry:`true` + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.admin_user_module__parameter-is_staff: + + .. rst-class:: ansible-option-title + + **is_staff** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`boolean` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + If the user should be set for staff status + + + .. rst-class:: ansible-option-line + + :ansible-option-choices:`Choices:` + + - :ansible-option-choices-entry:`false` + - :ansible-option-choices-entry:`true` + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.admin_user_module__parameter-is_superuser: + + .. rst-class:: ansible-option-title + + **is_superuser** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`boolean` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + If the user should be set for superuser status + + + .. rst-class:: ansible-option-line + + :ansible-option-choices:`Choices:` + + - :ansible-option-choices-entry:`false` + - :ansible-option-choices-entry:`true` + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.admin_user_module__parameter-last_name: + + .. rst-class:: ansible-option-title + + **last_name** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`string` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + The last name of the user + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.admin_user_module__parameter-query_params: + + .. rst-class:: ansible-option-title + + **query_params** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + + :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` + + + .. raw:: html + +
+ + - .. raw:: html + +
+ + 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. + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.admin_user_module__parameter-state: + + .. rst-class:: ansible-option-title + + **state** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`string` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + Use :literal:`present` or :literal:`absent` for adding or removing. + + + .. rst-class:: ansible-option-line + + :ansible-option-choices:`Choices:` + + - :ansible-option-choices-entry:`"absent"` + - :ansible-option-choices-entry-default:`"present"` :ansible-option-choices-default-mark:`← (default)` + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.admin_user_module__parameter-token: + + .. rst-class:: ansible-option-title + + **token** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`string` / :ansible-option-required:`required` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + The token created within Nautobot to authorize API access + + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.admin_user_module__parameter-url: + + .. rst-class:: ansible-option-title + + **url** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`string` / :ansible-option-required:`required` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) + + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.admin_user_module__parameter-username: + + .. rst-class:: ansible-option-title + + **username** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`string` / :ansible-option-required:`required` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + The name of the user + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.admin_user_module__parameter-validate_certs: + + .. rst-class:: ansible-option-title + + **validate_certs** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`any` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + If :literal:`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 :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. + + + .. rst-class:: ansible-option-line + + :ansible-option-default-bold:`Default:` :ansible-option-default:`true` + + .. raw:: html + +
+ + +.. Attributes + + +.. Notes + +Notes +----- + +.. note:: + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` + +.. Seealso + + +.. Examples + +Examples +-------- + +.. code-block:: yaml+jinja + + - name: "Test Nautobot modules" + connection: local + hosts: localhost + gather_facts: False + + tasks: + - name: Create user within Nautobot with only required information + networktocode.nautobot.admin_user: + url: http://nautobot.local + token: thisIsMyToken + username: nb_user + email: nb_user@example.com + first_name: nb + last_name: user + state: present + + - name: Delete user within nautobot + networktocode.nautobot.admin_user: + url: http://nautobot.local + token: thisIsMyToken + username: nb_user + email: nb_user@example.com + first_name: nb + last_name: user + state: absent + + + +.. Facts + + +.. Return values + +Return Values +------------- +Common return values are documented :ref:`here `, the following are the fields unique to this module: + +.. tabularcolumns:: \X{1}{3}\X{2}{3} + +.. list-table:: + :width: 100% + :widths: auto + :header-rows: 1 + :class: longtable ansible-option-table + + * - Key + - Description + + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.admin_user_module__return-msg: + + .. rst-class:: ansible-option-title + + **msg** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`string` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + Message indicating failure or info about what has been achieved + + + .. rst-class:: ansible-option-line + + :ansible-option-returned-bold:`Returned:` always + + + .. raw:: html + +
+ + + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.admin_user_module__return-user: + + .. rst-class:: ansible-option-title + + **user** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`dictionary` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + Serialized object as created or already existent within Nautobot + + + .. rst-class:: ansible-option-line + + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) + + + .. raw:: html + +
+ + + +.. Status (Presently only deprecated) + + +.. Authors + +Authors +~~~~~~~ + +- Jeff Kala (@jeffkala) + + + +.. Extra links + +Collection links +~~~~~~~~~~~~~~~~ + +.. ansible-links:: + + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true + + +.. Parsing errors diff --git a/docs/plugins/cable_module.rst b/docs/plugins/cable_module.rst index d8752c30..07871e00 100755 --- a/docs/plugins/cable_module.rst +++ b/docs/plugins/cable_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.cable module -- Create, update or delete cables within Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.cable module -- Create, update or delete cables within Na .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`integer` + :ansible-option-type:`integer` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -267,9 +251,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -304,9 +288,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -345,9 +329,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -357,7 +341,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -387,9 +371,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -404,7 +388,7 @@ Parameters The status of the cable - Required if \ :emphasis:`state=present`\ and does not exist yet + Required if :emphasis:`state=present` and does not exist yet .. raw:: html @@ -426,9 +410,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` / :ansible-option-required:`required` + :ansible-option-type:`any` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -463,9 +447,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -515,9 +499,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` / :ansible-option-required:`required` + :ansible-option-type:`any` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -552,9 +536,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -604,9 +588,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -618,7 +602,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -640,9 +624,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -677,9 +661,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -691,7 +675,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -713,9 +697,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -725,9 +709,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -749,7 +733,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -761,7 +745,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot modules" connection: local hosts: localhost @@ -819,7 +802,6 @@ Examples - .. Facts @@ -829,12 +811,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -854,9 +837,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -871,7 +854,7 @@ Common return values are documented :ref:`here `, the foll .. rst-class:: ansible-option-line - :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) .. raw:: html @@ -894,9 +877,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -937,12 +920,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/circuit_module.rst b/docs/plugins/circuit_module.rst index 35f3e44d..0863e6a0 100755 --- a/docs/plugins/circuit_module.rst +++ b/docs/plugins/circuit_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.circuit module -- Create, update or delete circuits within Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.circuit module -- Create, update or delete circuits withi .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -267,9 +251,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`integer` + :ansible-option-type:`integer` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -304,9 +288,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -341,9 +325,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -378,9 +362,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -415,9 +399,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -452,9 +436,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -493,9 +477,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -505,7 +489,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -535,9 +519,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -552,7 +536,7 @@ Parameters The status of the circuit - Required if \ :emphasis:`state=present`\ and does not exist yet + Required if :emphasis:`state=present` and does not exist yet .. raw:: html @@ -574,9 +558,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=any` + :ansible-option-type:`list` / :ansible-option-elements:`elements=any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -611,9 +595,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -648,9 +632,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -662,7 +646,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -684,9 +668,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -698,7 +682,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -720,9 +704,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -732,9 +716,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -756,7 +740,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -768,7 +752,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot modules" connection: local hosts: localhost @@ -810,7 +793,6 @@ Examples - .. Facts @@ -820,12 +802,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -845,9 +828,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -862,7 +845,7 @@ Common return values are documented :ref:`here `, the foll .. rst-class:: ansible-option-line - :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) .. raw:: html @@ -885,9 +868,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -928,12 +911,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/circuit_termination_module.rst b/docs/plugins/circuit_termination_module.rst index 9633bf5a..da278e60 100755 --- a/docs/plugins/circuit_termination_module.rst +++ b/docs/plugins/circuit_termination_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.circuit_termination module -- Create, update or delete circuit terminations within Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.circuit_termination module -- Create, update or delete ci .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` / :ansible-option-required:`required` + :ansible-option-type:`any` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -267,9 +251,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`integer` + :ansible-option-type:`integer` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -304,9 +288,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -341,9 +325,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 4.2.0` @@ -378,9 +362,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -419,9 +403,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -431,7 +415,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -461,9 +445,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -506,9 +490,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -520,7 +504,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -542,9 +526,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`integer` + :ansible-option-type:`integer` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -579,9 +563,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -593,7 +577,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -615,9 +599,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -627,9 +611,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -655,9 +639,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -688,7 +672,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -700,7 +684,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot modules" connection: local hosts: localhost @@ -725,7 +708,7 @@ Examples token: thisIsMyToken circuit: Test Circuit term_side: Z - provider_network: + provider_network: name: "Provider A" port_speed: 10000 state: present @@ -752,7 +735,6 @@ Examples - .. Facts @@ -762,12 +744,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -787,9 +770,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -804,7 +787,7 @@ Common return values are documented :ref:`here `, the foll .. rst-class:: ansible-option-line - :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) .. raw:: html @@ -827,9 +810,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -870,12 +853,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/circuit_type_module.rst b/docs/plugins/circuit_type_module.rst index 3bd7ba0b..c495f218 100755 --- a/docs/plugins/circuit_type_module.rst +++ b/docs/plugins/circuit_type_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.circuit_type module -- Create, update or delete circuit types within Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.circuit_type module -- Create, update or delete circuit t .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -271,9 +255,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -283,7 +267,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -313,9 +297,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -327,7 +311,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -349,9 +333,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -363,7 +347,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -385,9 +369,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -397,9 +381,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -421,7 +405,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -433,7 +417,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot modules" connection: local hosts: localhost @@ -456,7 +439,6 @@ Examples - .. Facts @@ -466,12 +448,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -491,9 +474,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -508,7 +491,7 @@ Common return values are documented :ref:`here `, the foll .. rst-class:: ansible-option-line - :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) .. raw:: html @@ -531,9 +514,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -574,12 +557,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/cluster_group_module.rst b/docs/plugins/cluster_group_module.rst index 996f410c..3aec8ca8 100755 --- a/docs/plugins/cluster_group_module.rst +++ b/docs/plugins/cluster_group_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.cluster_group module -- Create, update or delete cluster groups within Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.cluster_group module -- Create, update or delete cluster .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -271,9 +255,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -283,7 +267,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -313,9 +297,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -327,7 +311,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -349,9 +333,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -363,7 +347,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -385,9 +369,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -397,9 +381,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -421,7 +405,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -433,7 +417,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot modules" connection: local hosts: localhost @@ -456,7 +439,6 @@ Examples - .. Facts @@ -466,12 +448,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -491,9 +474,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -508,7 +491,7 @@ Common return values are documented :ref:`here `, the foll .. rst-class:: ansible-option-line - :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) .. raw:: html @@ -531,9 +514,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -574,12 +557,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/cluster_module.rst b/docs/plugins/cluster_module.rst index b9600a12..3a9b95b9 100755 --- a/docs/plugins/cluster_module.rst +++ b/docs/plugins/cluster_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.cluster module -- Create, update or delete clusters within Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.cluster module -- Create, update or delete clusters withi .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -208,7 +192,7 @@ Parameters
- type of the cluster. Required if \ :emphasis:`state=present`\ and the cluster does not exist yet + type of the cluster. Required if :emphasis:`state=present` and the cluster does not exist yet .. raw:: html @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -267,9 +251,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -304,9 +288,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -341,9 +325,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -378,9 +362,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -419,9 +403,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -431,7 +415,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -461,9 +445,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=any` + :ansible-option-type:`list` / :ansible-option-elements:`elements=any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -498,9 +482,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -535,9 +519,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -549,7 +533,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -571,9 +555,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -585,7 +569,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -607,9 +591,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -619,9 +603,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -643,7 +627,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -655,7 +639,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot modules" connection: local hosts: localhost @@ -701,7 +684,6 @@ Examples - .. Facts @@ -711,12 +693,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -736,9 +719,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -753,7 +736,7 @@ Common return values are documented :ref:`here `, the foll .. rst-class:: ansible-option-line - :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) .. raw:: html @@ -776,9 +759,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -819,12 +802,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/cluster_type_module.rst b/docs/plugins/cluster_type_module.rst index 39f37ebc..abbe3fc8 100755 --- a/docs/plugins/cluster_type_module.rst +++ b/docs/plugins/cluster_type_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.cluster_type module -- Create, update or delete cluster types within Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.cluster_type module -- Create, update or delete cluster t .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -271,9 +255,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -283,7 +267,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -313,9 +297,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -327,7 +311,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -349,9 +333,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -363,7 +347,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -385,9 +369,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -397,9 +381,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -421,7 +405,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -433,7 +417,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot modules" connection: local hosts: localhost @@ -456,7 +439,6 @@ Examples - .. Facts @@ -466,12 +448,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -491,9 +474,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -508,7 +491,7 @@ Common return values are documented :ref:`here `, the foll .. rst-class:: ansible-option-line - :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) .. raw:: html @@ -531,9 +514,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -574,12 +557,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/console_port_module.rst b/docs/plugins/console_port_module.rst index edadf236..7b59529b 100755 --- a/docs/plugins/console_port_module.rst +++ b/docs/plugins/console_port_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.console_port module -- Create, update or delete console ports within Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.console_port module -- Create, update or delete console p .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` / :ansible-option-required:`required` + :ansible-option-type:`any` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -267,9 +251,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -308,9 +292,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -320,7 +304,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -350,9 +334,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=any` + :ansible-option-type:`list` / :ansible-option-elements:`elements=any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -387,9 +371,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -401,7 +385,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -423,9 +407,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -460,9 +444,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -474,7 +458,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -496,9 +480,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -508,9 +492,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -532,7 +516,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -544,7 +528,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot modules" connection: local hosts: localhost @@ -579,7 +562,6 @@ Examples - .. Facts @@ -589,12 +571,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -614,9 +597,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -631,7 +614,7 @@ Common return values are documented :ref:`here `, the foll .. rst-class:: ansible-option-line - :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) .. raw:: html @@ -654,9 +637,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -697,12 +680,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/console_port_template_module.rst b/docs/plugins/console_port_template_module.rst index c2371079..fa0d21a6 100755 --- a/docs/plugins/console_port_template_module.rst +++ b/docs/plugins/console_port_template_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.console_port_template module -- Create, update or delete console port templates within Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.console_port_template module -- Create, update or delete .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` / :ansible-option-required:`required` + :ansible-option-type:`any` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -271,9 +255,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -283,7 +267,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -313,9 +297,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -327,7 +311,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -349,9 +333,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -386,9 +370,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -400,7 +384,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -422,9 +406,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -434,9 +418,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -458,7 +442,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -470,7 +454,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot modules" connection: local hosts: localhost @@ -504,7 +487,6 @@ Examples - .. Facts @@ -514,12 +496,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -539,9 +522,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -556,7 +539,7 @@ Common return values are documented :ref:`here `, the foll .. rst-class:: ansible-option-line - :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) .. raw:: html @@ -579,9 +562,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -622,12 +605,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/console_server_port_module.rst b/docs/plugins/console_server_port_module.rst index cc93a604..8ca11ff4 100755 --- a/docs/plugins/console_server_port_module.rst +++ b/docs/plugins/console_server_port_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.console_server_port module -- Create, update or delete console server ports within Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.console_server_port module -- Create, update or delete co .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` / :ansible-option-required:`required` + :ansible-option-type:`any` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -267,9 +251,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -308,9 +292,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -320,7 +304,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -350,9 +334,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=any` + :ansible-option-type:`list` / :ansible-option-elements:`elements=any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -387,9 +371,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -401,7 +385,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -423,9 +407,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -460,9 +444,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -474,7 +458,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -496,9 +480,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -508,9 +492,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -532,7 +516,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -544,7 +528,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot modules" connection: local hosts: localhost @@ -579,7 +562,6 @@ Examples - .. Facts @@ -589,12 +571,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -614,9 +597,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -631,7 +614,7 @@ Common return values are documented :ref:`here `, the foll .. rst-class:: ansible-option-line - :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) .. raw:: html @@ -654,9 +637,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -697,12 +680,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/console_server_port_template_module.rst b/docs/plugins/console_server_port_template_module.rst index 41168245..1ace5085 100755 --- a/docs/plugins/console_server_port_template_module.rst +++ b/docs/plugins/console_server_port_template_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.console_server_port_template module -- Create, update or delete console server port templates within Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.console_server_port_template module -- Create, update or .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` / :ansible-option-required:`required` + :ansible-option-type:`any` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -271,9 +255,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -283,7 +267,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -313,9 +297,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -327,7 +311,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -349,9 +333,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -386,9 +370,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -400,7 +384,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -422,9 +406,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -434,9 +418,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -458,7 +442,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -470,7 +454,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot modules" connection: local hosts: localhost @@ -504,7 +487,6 @@ Examples - .. Facts @@ -514,12 +496,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -539,9 +522,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -556,7 +539,7 @@ Common return values are documented :ref:`here `, the foll .. rst-class:: ansible-option-line - :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) .. raw:: html @@ -579,9 +562,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -622,12 +605,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/contact_module.rst b/docs/plugins/contact_module.rst index df64a6c4..eb317f32 100644 --- a/docs/plugins/contact_module.rst +++ b/docs/plugins/contact_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.contact module -- Creates or removes contacts from Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.contact module -- Creates or removes contacts from Nautob .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -153,9 +137,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -190,9 +174,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -224,9 +208,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -261,9 +245,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -295,9 +279,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -329,9 +313,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -363,9 +347,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -404,9 +388,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -416,7 +400,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -446,9 +430,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=any` + :ansible-option-type:`list` / :ansible-option-elements:`elements=any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -483,9 +467,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=any` + :ansible-option-type:`list` / :ansible-option-elements:`elements=any` .. raw:: html @@ -517,9 +501,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -531,7 +515,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -553,9 +537,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -567,7 +551,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -589,9 +573,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -601,9 +585,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -625,7 +609,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -637,7 +621,6 @@ Examples .. code-block:: yaml+jinja - --- - name: Create a contact networktocode.nautobot.contact: @@ -667,7 +650,6 @@ Examples - .. Facts @@ -677,12 +659,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -702,9 +685,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -719,7 +702,7 @@ Common return values are documented :ref:`here `, the foll .. rst-class:: ansible-option-line - :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) .. raw:: html @@ -742,9 +725,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -785,12 +768,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/controller_module.rst b/docs/plugins/controller_module.rst index ea2b196b..10041c8e 100644 --- a/docs/plugins/controller_module.rst +++ b/docs/plugins/controller_module.rst @@ -1,29 +1,928 @@ - -.. Document meta section +.. Document meta :orphan: -.. Document body +.. |antsibull-internal-nbsp| unicode:: 0xA0 + :trim: + +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors .. _ansible_collections.networktocode.nautobot.controller_module: +.. Anchors: short name for ansible.builtin + .. Title -networktocode.nautobot.controller module -++++++++++++++++++++++++++++++++++++++++ +networktocode.nautobot.controller module -- Create, update or delete controllers within Nautobot +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +.. Collection note + +.. note:: + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. + + To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. + You need further requirements to be able to use this module, + see :ref:`Requirements ` for details. + + To use it in a playbook, specify: :code:`networktocode.nautobot.controller`. + +.. version_added + +.. rst-class:: ansible-version-added + +New in networktocode.nautobot 5.3.0 + +.. contents:: + :local: + :depth: 1 + +.. Deprecated + + +Synopsis +-------- + +.. Description + +- Creates, updates or removes controllers from Nautobot. + + +.. Aliases + + +.. Requirements + +.. _ansible_collections.networktocode.nautobot.controller_module_requirements: + +Requirements +------------ +The below requirements are needed on the host that executes this module. + +- pynautobot + + + + + + +.. Options + +Parameters +---------- + +.. tabularcolumns:: \X{1}{3}\X{2}{3} + +.. list-table:: + :width: 100% + :widths: auto + :header-rows: 1 + :class: longtable ansible-option-table + + * - Parameter + - Comments + + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.controller_module__parameter-api_version: + + .. rst-class:: ansible-option-title + + **api_version** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`string` + + :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` + + + .. raw:: html + +
+ + - .. raw:: html + +
+ + API Version Nautobot REST API + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.controller_module__parameter-controller_device: + + .. rst-class:: ansible-option-title + + **controller_device** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`string` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + Device that runs the controller software + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.controller_module__parameter-controller_device_redundancy_group: + + .. rst-class:: ansible-option-title + + **controller_device_redundancy_group** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`string` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + Related device redundancy group the controller will be assigned to + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.controller_module__parameter-custom_fields: + + .. rst-class:: ansible-option-title + + **custom_fields** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`dictionary` + + :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` + + + .. raw:: html + +
+ + - .. raw:: html + +
+ + Must exist in Nautobot and in key/value format + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.controller_module__parameter-description: + + .. rst-class:: ansible-option-title + + **description** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`string` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + Description of the controller + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.controller_module__parameter-external_integration: + + .. rst-class:: ansible-option-title + + **external_integration** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`string` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + External connection for the controller, such as Meraki Cloud URL + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.controller_module__parameter-location: + + .. rst-class:: ansible-option-title + + **location** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`any` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + Required if :emphasis:`state=present` and the controller does not exist yet + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.controller_module__parameter-name: + + .. rst-class:: ansible-option-title + + **name** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`string` / :ansible-option-required:`required` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + The name of the controller + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.controller_module__parameter-platform: + + .. rst-class:: ansible-option-title + + **platform** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`any` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + The platform of the controller + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.controller_module__parameter-query_params: + + .. rst-class:: ansible-option-title + + **query_params** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + + :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` + + + .. raw:: html + +
+ + - .. raw:: html + +
+ + 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. + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.controller_module__parameter-role: + + .. rst-class:: ansible-option-title + + **role** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`any` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + Required if :emphasis:`state=present` and the controller does not exist yet + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.controller_module__parameter-state: + + .. rst-class:: ansible-option-title + + **state** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`string` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + Use :literal:`present` or :literal:`absent` for adding or removing. + + + .. rst-class:: ansible-option-line + + :ansible-option-choices:`Choices:` + + - :ansible-option-choices-entry:`"absent"` + - :ansible-option-choices-entry-default:`"present"` :ansible-option-choices-default-mark:`← (default)` + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.controller_module__parameter-status: + + .. rst-class:: ansible-option-title + + **status** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`any` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + The status of the controller + + Required if :emphasis:`state=present` and the controller does not exist yet + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.controller_module__parameter-tags: + + .. rst-class:: ansible-option-title + + **tags** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`list` / :ansible-option-elements:`elements=any` + + :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` + + + .. raw:: html + +
+ + - .. raw:: html + +
+ + Any tags that this item may need to be associated with + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.controller_module__parameter-tenant: + + .. rst-class:: ansible-option-title + + **tenant** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`any` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + The tenant that the controller will be assigned to + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.controller_module__parameter-token: + + .. rst-class:: ansible-option-title + + **token** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`string` / :ansible-option-required:`required` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + The token created within Nautobot to authorize API access + + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.controller_module__parameter-url: + + .. rst-class:: ansible-option-title + + **url** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`string` / :ansible-option-required:`required` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) + + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. + + + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.controller_module__parameter-validate_certs: + + .. rst-class:: ansible-option-title + + **validate_certs** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`any` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + If :literal:`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 :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. + + + .. rst-class:: ansible-option-line + + :ansible-option-default-bold:`Default:` :ansible-option-default:`true` + + .. raw:: html + +
+ + +.. Attributes + + +.. Notes + +Notes +----- + +.. note:: + - Tags should be defined as a YAML list + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` + +.. Seealso + + +.. Examples + +Examples +-------- + +.. code-block:: yaml+jinja + + - name: "Test Nautobot modules" + connection: local + hosts: localhost + gather_facts: False + + tasks: + - name: Create controller within Nautobot with only required information + networktocode.nautobot.controller: + url: http://nautobot.local + token: thisIsMyToken + name: "test_controller_2" + location: My Location + status: "Active" + state: present + + - name: "CREATE THE SECOND CONTROLLER" + networktocode.nautobot.controller: + name: "test_controller_3" + url: http://nautobot.local + token: thisIsMyToken + status: "Active" + description: "Description of the controller" + location: "Cisco" + external_integration: "Cisco Catalyst SD-WAN" + role: "Administrative" + platform: "Cisco IOS" + tenant: "Nautobot Baseball Stadiums" + controller_device_redundancy_group: "controller_test" + + - name: Delete controller within nautobot + networktocode.nautobot.controller: + url: http://nautobot.local + token: thisIsMyToken + name: test_controller_3 + state: absent + + + +.. Facts + + +.. Return values + +Return Values +------------- +Common return values are documented :ref:`here `, the following are the fields unique to this module: + +.. tabularcolumns:: \X{1}{3}\X{2}{3} + +.. list-table:: + :width: 100% + :widths: auto + :header-rows: 1 + :class: longtable ansible-option-table + + * - Key + - Description + + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.controller_module__return-controller: + + .. rst-class:: ansible-option-title + + **controller** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`dictionary` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + Serialized object as created or already existent within Nautobot + + + .. rst-class:: ansible-option-line + + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) + + + .. raw:: html + +
+ + + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.controller_module__return-msg: + + .. rst-class:: ansible-option-title + + **msg** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`string` + + .. raw:: html + +
+ + - .. raw:: html + +
+ + Message indicating failure or info about what has been achieved + + + .. rst-class:: ansible-option-line + + :ansible-option-returned-bold:`Returned:` always + + + .. raw:: html + +
+ + + +.. Status (Presently only deprecated) + + +.. Authors + +Authors +~~~~~~~ + +- Josh VanDeraa (@jvanderaa) + -The documentation for the module plugin, networktocode.nautobot.controller, was malformed. +.. Extra links -The errors were: +Collection links +~~~~~~~~~~~~~~~~ -* :: +.. ansible-links:: - 1 validation error for ModuleDocSchema - doc -> description -> 0 - str type expected (type=type_error.str) + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -File a bug with the `networktocode.nautobot collection `_ in order to have it corrected. \ No newline at end of file +.. Parsing errors diff --git a/docs/plugins/custom_field_choice_module.rst b/docs/plugins/custom_field_choice_module.rst index 831f2468..a5a1cf48 100755 --- a/docs/plugins/custom_field_choice_module.rst +++ b/docs/plugins/custom_field_choice_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.custom_field_choice module -- Creates or removes custom field choices from Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.custom_field_choice module -- Creates or removes custom f .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` / :ansible-option-required:`required` + :ansible-option-type:`any` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 5.1.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -234,9 +218,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -246,7 +230,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -276,9 +260,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -290,7 +274,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -312,9 +296,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -326,7 +310,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -348,9 +332,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -360,9 +344,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -388,9 +372,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 5.1.0` @@ -425,9 +409,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`integer` + :ansible-option-type:`integer` :ansible-option-versionadded:`added in networktocode.nautobot 5.1.0` @@ -457,7 +441,7 @@ Notes ----- .. note:: - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -469,7 +453,6 @@ Examples .. code-block:: yaml+jinja - --- - name: Create a custom field choice networktocode.nautobot.custom_field_choice: @@ -482,7 +465,6 @@ Examples - .. Facts @@ -492,12 +474,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -517,9 +500,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -534,7 +517,7 @@ Common return values are documented :ref:`here `, the foll .. rst-class:: ansible-option-line - :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) .. raw:: html @@ -557,9 +540,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -600,12 +583,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/custom_field_module.rst b/docs/plugins/custom_field_module.rst index 4637fafb..5cb85422 100755 --- a/docs/plugins/custom_field_module.rst +++ b/docs/plugins/custom_field_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.custom_field module -- Creates or removes custom fields from Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.custom_field module -- Creates or removes custom fields f .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`boolean` + :ansible-option-type:`boolean` :ansible-option-versionadded:`added in networktocode.nautobot 5.1.0` @@ -164,9 +148,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -201,9 +185,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 5.1.0` @@ -218,7 +202,7 @@ Parameters Content types that this field should be available for - Required if \ :emphasis:`state=present`\ and the custom field does not exist yet + Required if :emphasis:`state=present` and the custom field does not exist yet .. raw:: html @@ -240,9 +224,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 5.1.0` @@ -279,9 +263,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 5.1.0` @@ -320,9 +304,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 5.1.0` @@ -337,7 +321,7 @@ Parameters Filter logic to apply when filtering models based on this field - Only compatible with \ :emphasis:`type=text`\ , \ :emphasis:`type=url`\ and \ :emphasis:`type=json`\ + Only compatible with :emphasis:`type=text`\ , :emphasis:`type=url` and :emphasis:`type=json` .. rst-class:: ansible-option-line @@ -368,9 +352,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 5.1.0` @@ -405,9 +389,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 5.1.0` @@ -422,7 +406,7 @@ Parameters Internal name of this field - Required if \ :emphasis:`state=present`\ and the custom field does not exist yet + Required if :emphasis:`state=present` and the custom field does not exist yet .. raw:: html @@ -444,9 +428,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 5.1.0` @@ -481,9 +465,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -522,9 +506,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`boolean` + :ansible-option-type:`boolean` :ansible-option-versionadded:`added in networktocode.nautobot 5.1.0` @@ -567,9 +551,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -579,7 +563,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -609,9 +593,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -623,7 +607,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -645,9 +629,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 5.1.0` @@ -662,9 +646,9 @@ Parameters Data type of this field - Required if \ :emphasis:`state=present`\ and the custom field does not exist yet + Required if :emphasis:`state=present` and the custom field does not exist yet - \ :emphasis:`type=select`\ and \ :emphasis:`type=multi-select`\ require choices to be defined separately with the \ :emphasis:`custom\_field\_choice`\ module + :emphasis:`type=select` and :emphasis:`type=multi-select` require choices to be defined separately with the :emphasis:`custom\_field\_choice` module .. rst-class:: ansible-option-line @@ -701,9 +685,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -715,7 +699,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -737,9 +721,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -749,9 +733,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -777,9 +761,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`integer` + :ansible-option-type:`integer` :ansible-option-versionadded:`added in networktocode.nautobot 5.1.0` @@ -794,7 +778,7 @@ Parameters Maximum value allowed for this field - Only compatible with \ :emphasis:`type=integer`\ + Only compatible with :emphasis:`type=integer` .. raw:: html @@ -816,9 +800,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`integer` + :ansible-option-type:`integer` :ansible-option-versionadded:`added in networktocode.nautobot 5.1.0` @@ -833,7 +817,7 @@ Parameters Minimum value allowed for this field - Only compatible with \ :emphasis:`type=integer`\ + Only compatible with :emphasis:`type=integer` .. raw:: html @@ -855,9 +839,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 5.1.0` @@ -872,7 +856,7 @@ Parameters Regular expression that this field must match - Only compatible with \ :emphasis:`type=text`\ + Only compatible with :emphasis:`type=text` .. raw:: html @@ -894,9 +878,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`integer` + :ansible-option-type:`integer` :ansible-option-versionadded:`added in networktocode.nautobot 5.1.0` @@ -926,7 +910,7 @@ Notes ----- .. note:: - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -938,7 +922,6 @@ Examples .. code-block:: yaml+jinja - - name: Create custom field within Nautobot with only required information networktocode.nautobot.custom_field: url: http://nautobot.local @@ -971,7 +954,6 @@ Examples - .. Facts @@ -981,12 +963,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -1006,9 +989,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -1023,7 +1006,7 @@ Common return values are documented :ref:`here `, the foll .. rst-class:: ansible-option-line - :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) .. raw:: html @@ -1046,9 +1029,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -1089,12 +1072,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/device_bay_module.rst b/docs/plugins/device_bay_module.rst index ba426562..a633b1e5 100755 --- a/docs/plugins/device_bay_module.rst +++ b/docs/plugins/device_bay_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.device_bay module -- Create, update or delete device bays within Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.device_bay module -- Create, update or delete device bays .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -267,9 +251,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -304,9 +288,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -345,9 +329,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -357,7 +341,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -387,9 +371,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=any` + :ansible-option-type:`list` / :ansible-option-elements:`elements=any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -424,9 +408,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -438,7 +422,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -460,9 +444,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -474,7 +458,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -496,9 +480,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -508,9 +492,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -532,7 +516,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -544,7 +528,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot modules" connection: local hosts: localhost @@ -578,7 +561,6 @@ Examples - .. Facts @@ -588,12 +570,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -613,9 +596,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -630,7 +613,7 @@ Common return values are documented :ref:`here `, the foll .. rst-class:: ansible-option-line - :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) .. raw:: html @@ -653,9 +636,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -696,12 +679,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/device_bay_template_module.rst b/docs/plugins/device_bay_template_module.rst index 534e66a8..ce908880 100755 --- a/docs/plugins/device_bay_template_module.rst +++ b/docs/plugins/device_bay_template_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.device_bay_template module -- Create, update or delete device bay templates within Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.device_bay_template module -- Create, update or delete de .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` / :ansible-option-required:`required` + :ansible-option-type:`any` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -271,9 +255,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -283,7 +267,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -313,9 +297,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -327,7 +311,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -349,9 +333,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -363,7 +347,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -385,9 +369,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -397,9 +381,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -421,7 +405,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -433,7 +417,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot modules" connection: local hosts: localhost @@ -458,7 +441,6 @@ Examples - .. Facts @@ -468,12 +450,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -493,9 +476,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -510,7 +493,7 @@ Common return values are documented :ref:`here `, the foll .. rst-class:: ansible-option-line - :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) .. raw:: html @@ -533,9 +516,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -576,12 +559,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/device_interface_module.rst b/docs/plugins/device_interface_module.rst index 55a41bdd..201625bb 100755 --- a/docs/plugins/device_interface_module.rst +++ b/docs/plugins/device_interface_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.device_interface module -- Creates or removes interfaces on devices from Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.device_interface module -- Creates or removes interfaces .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 4.5.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -267,9 +251,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` / :ansible-option-required:`required` + :ansible-option-type:`any` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -304,9 +288,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`boolean` + :ansible-option-type:`boolean` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -349,9 +333,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -386,9 +370,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -423,9 +407,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -460,9 +444,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`boolean` + :ansible-option-type:`boolean` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -505,9 +489,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -542,9 +526,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`integer` + :ansible-option-type:`integer` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -579,9 +563,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -616,9 +600,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 4.5.0` @@ -653,9 +637,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -694,9 +678,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -706,7 +690,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -736,9 +720,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 4.5.0` @@ -753,7 +737,7 @@ Parameters The status of the interface - Required if \ :emphasis:`state=present`\ and the interface does not exist yet + Required if :emphasis:`state=present` and the interface does not exist yet .. raw:: html @@ -775,9 +759,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -790,7 +774,7 @@ Parameters
- A list of tagged VLANS to be assigned to interface. Mode must be set to either \ :literal:`Tagged`\ or \ :literal:`Tagged All`\ + A list of tagged VLANS to be assigned to interface. Mode must be set to either :literal:`Tagged` or :literal:`Tagged All` .. raw:: html @@ -812,9 +796,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=any` + :ansible-option-type:`list` / :ansible-option-elements:`elements=any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -849,9 +833,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -863,7 +847,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -885,9 +869,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -901,9 +885,8 @@ Parameters
Form factor of the interface: - ex. 1000Base-T (1GE), Virtual, 10GBASE-T (10GE) - This has to be specified exactly as what is found within UI - + ex. 1000Base-T (1GE), Virtual, 10GBASE-T (10GE) + This has to be specified exactly as what is found within UI .. raw:: html @@ -925,9 +908,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -962,9 +945,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`boolean` + :ansible-option-type:`boolean` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -977,9 +960,8 @@ Parameters
- Use when master device is specified for \ :literal:`device`\ and the specified interface exists on a child device - and needs updated - + Use when master device is specified for :literal:`device` and the specified interface exists on a child device + and needs updated .. rst-class:: ansible-option-line @@ -1009,9 +991,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -1023,7 +1005,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -1045,9 +1027,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -1057,9 +1039,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -1081,7 +1063,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -1093,7 +1075,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot interface module" connection: local hosts: localhost @@ -1197,7 +1178,6 @@ Examples - .. Facts @@ -1207,12 +1187,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -1232,9 +1213,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -1272,9 +1253,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -1315,12 +1296,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/device_interface_template_module.rst b/docs/plugins/device_interface_template_module.rst index e6acaa07..fdd6da43 100755 --- a/docs/plugins/device_interface_template_module.rst +++ b/docs/plugins/device_interface_template_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.device_interface_template module -- Creates or removes interfaces on devices from Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.device_interface_template module -- Creates or removes in .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 5.2.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` / :ansible-option-required:`required` + :ansible-option-type:`any` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 5.2.0` @@ -267,9 +251,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`boolean` + :ansible-option-type:`boolean` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -312,9 +296,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -349,9 +333,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -390,9 +374,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -402,7 +386,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -432,9 +416,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -446,7 +430,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -468,9 +452,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -484,9 +468,8 @@ Parameters
Form factor of the interface: - ex. 1000Base-T (1GE), Virtual, 10GBASE-T (10GE) - This has to be specified exactly as what is found within UI - + ex. 1000Base-T (1GE), Virtual, 10GBASE-T (10GE) + This has to be specified exactly as what is found within UI .. raw:: html @@ -508,9 +491,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -522,7 +505,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -544,9 +527,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -556,9 +539,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -580,7 +563,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -592,7 +575,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot interface template module" connection: local hosts: localhost @@ -617,7 +599,6 @@ Examples - .. Facts @@ -627,12 +608,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -652,9 +634,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -692,9 +674,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -735,12 +717,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/device_module.rst b/docs/plugins/device_module.rst index 385fb5fc..02bd3750 100755 --- a/docs/plugins/device_module.rst +++ b/docs/plugins/device_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.device module -- Create, update or delete devices within Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.device module -- Create, update or delete devices within .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -267,9 +251,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -304,9 +288,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 5.1.0` @@ -341,9 +325,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`integer` + :ansible-option-type:`integer` :ansible-option-versionadded:`added in networktocode.nautobot 5.1.0` @@ -378,9 +362,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -393,7 +377,7 @@ Parameters
- Required if \ :emphasis:`state=present`\ and the device does not exist yet + Required if :emphasis:`state=present` and the device does not exist yet .. raw:: html @@ -415,9 +399,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -430,7 +414,7 @@ Parameters
- Required if \ :emphasis:`rack`\ is defined + Required if :emphasis:`rack` is defined .. rst-class:: ansible-option-line @@ -462,9 +446,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -499,9 +483,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -514,7 +498,7 @@ Parameters
- Required if \ :emphasis:`state=present`\ and the device does not exist yet + Required if :emphasis:`state=present` and the device does not exist yet .. raw:: html @@ -536,9 +520,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -573,9 +557,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -610,9 +594,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`integer` + :ansible-option-type:`integer` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -647,9 +631,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -684,9 +668,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -721,9 +705,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -762,9 +746,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -799,9 +783,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -814,7 +798,7 @@ Parameters
- Required if \ :emphasis:`state=present`\ and the device does not exist yet + Required if :emphasis:`state=present` and the device does not exist yet .. raw:: html @@ -836,9 +820,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -873,9 +857,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -885,7 +869,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -915,9 +899,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -932,7 +916,7 @@ Parameters The status of the device - Required if \ :emphasis:`state=present`\ and the device does not exist yet + Required if :emphasis:`state=present` and the device does not exist yet .. raw:: html @@ -954,9 +938,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=any` + :ansible-option-type:`list` / :ansible-option-elements:`elements=any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -991,9 +975,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -1028,9 +1012,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -1042,7 +1026,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -1064,9 +1048,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -1078,7 +1062,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -1100,9 +1084,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -1112,9 +1096,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -1140,9 +1124,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`integer` + :ansible-option-type:`integer` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -1177,9 +1161,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`integer` + :ansible-option-type:`integer` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -1214,9 +1198,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -1247,7 +1231,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -1259,7 +1243,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot modules" connection: local hosts: localhost @@ -1326,7 +1309,6 @@ Examples - .. Facts @@ -1336,12 +1318,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -1361,9 +1344,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -1378,7 +1361,7 @@ Common return values are documented :ref:`here `, the foll .. rst-class:: ansible-option-line - :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) .. raw:: html @@ -1401,9 +1384,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -1445,12 +1428,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/device_redundancy_group_module.rst b/docs/plugins/device_redundancy_group_module.rst index 7cdc4b10..73b3b7e4 100755 --- a/docs/plugins/device_redundancy_group_module.rst +++ b/docs/plugins/device_redundancy_group_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.device_redundancy_group module -- Creates or removes device redundancy groups from Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.device_redundancy_group module -- Creates or removes devi .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 5.1.0` @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 5.1.0` @@ -275,9 +259,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 5.1.0` @@ -312,9 +296,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -353,9 +337,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 5.1.0` @@ -390,9 +374,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -402,7 +386,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -432,9 +416,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 5.1.0` @@ -449,7 +433,7 @@ Parameters The status of the device redundancy group - Required if \ :emphasis:`state=present`\ and the device redundancy group does not exist yet + Required if :emphasis:`state=present` and the device redundancy group does not exist yet .. raw:: html @@ -471,9 +455,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=any` + :ansible-option-type:`list` / :ansible-option-elements:`elements=any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -508,9 +492,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -522,7 +506,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -544,9 +528,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -558,7 +542,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -580,9 +564,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -592,9 +576,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -616,7 +600,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -628,7 +612,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot device_redundancy_group module" connection: local hosts: localhost @@ -642,7 +625,7 @@ Examples name: My Redundancy Group status: Active state: present - + - name: Create device redundancy group within Nautobot with all information networktocode.nautobot.device_redundancy_group: url: http://nautobot.local @@ -659,7 +642,7 @@ Examples state: present vars: my_secrets_group: "{{ lookup('networktocode.nautobot.lookup', 'secrets-groups', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=\"My Secrets Group\"') }}" - + - name: Delete device redundancy group within nautobot networktocode.nautobot.device_redundancy_group: url: http://nautobot.local @@ -669,8 +652,6 @@ Examples - - .. Facts @@ -680,12 +661,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -705,9 +687,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -722,7 +704,7 @@ Common return values are documented :ref:`here `, the foll .. rst-class:: ansible-option-line - :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) .. raw:: html @@ -745,9 +727,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -788,12 +770,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/device_type_module.rst b/docs/plugins/device_type_module.rst index e3692b2b..207a566f 100755 --- a/docs/plugins/device_type_module.rst +++ b/docs/plugins/device_type_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.device_type module -- Create, update or delete device types within Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.device_type module -- Create, update or delete device typ .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`boolean` + :ansible-option-type:`boolean` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -275,9 +259,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -312,9 +296,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` / :ansible-option-required:`required` + :ansible-option-type:`any` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -349,9 +333,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -386,9 +370,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -427,9 +411,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -439,7 +423,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -469,9 +453,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -516,9 +500,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=any` + :ansible-option-type:`list` / :ansible-option-elements:`elements=any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -553,9 +537,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -567,7 +551,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -589,9 +573,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`integer` + :ansible-option-type:`integer` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -626,9 +610,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -640,7 +624,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -662,9 +646,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -674,9 +658,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -698,7 +682,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -710,7 +694,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot modules" connection: local hosts: localhost @@ -746,7 +729,6 @@ Examples - .. Facts @@ -756,12 +738,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -781,9 +764,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -798,7 +781,7 @@ Common return values are documented :ref:`here `, the foll .. rst-class:: ansible-option-line - :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) .. raw:: html @@ -821,9 +804,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -864,12 +847,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/environment_variables.rst b/docs/plugins/environment_variables.rst index c2e7a6e0..04197986 100644 --- a/docs/plugins/environment_variables.rst +++ b/docs/plugins/environment_variables.rst @@ -1,6 +1,8 @@ - :orphan: +.. meta:: + :antsibull-docs: 2.14.0 + .. _list_of_collection_env_vars: Index of all Collection Environment Variables @@ -14,23 +16,23 @@ Environment variables used by the ansible-core configuration are documented in : Merge extra vars into the available variables for composition (highest precedence). *Used by:* - :ref:`networktocode.nautobot.gql\_inventory inventory plugin `, - :ref:`networktocode.nautobot.inventory inventory plugin ` + :ansplugin:`networktocode.nautobot.gql\_inventory inventory plugin `, + :ansplugin:`networktocode.nautobot.inventory inventory plugin ` .. envvar:: NAUTOBOT_TOKEN See the documentations for the options where this environment variable is used. *Used by:* - :ref:`networktocode.nautobot.gql\_inventory inventory plugin `, - :ref:`networktocode.nautobot.inventory inventory plugin `, - :ref:`networktocode.nautobot.lookup lookup plugin `, - :ref:`networktocode.nautobot.lookup\_graphql lookup plugin ` + :ansplugin:`networktocode.nautobot.gql\_inventory inventory plugin `, + :ansplugin:`networktocode.nautobot.inventory inventory plugin `, + :ansplugin:`networktocode.nautobot.lookup lookup plugin `, + :ansplugin:`networktocode.nautobot.lookup\_graphql lookup plugin ` .. envvar:: NAUTOBOT_URL See the documentations for the options where this environment variable is used. *Used by:* - :ref:`networktocode.nautobot.gql\_inventory inventory plugin `, - :ref:`networktocode.nautobot.inventory inventory plugin `, - :ref:`networktocode.nautobot.lookup lookup plugin `, - :ref:`networktocode.nautobot.lookup\_graphql lookup plugin ` + :ansplugin:`networktocode.nautobot.gql\_inventory inventory plugin `, + :ansplugin:`networktocode.nautobot.inventory inventory plugin `, + :ansplugin:`networktocode.nautobot.lookup lookup plugin `, + :ansplugin:`networktocode.nautobot.lookup\_graphql lookup plugin ` diff --git a/docs/plugins/front_port_module.rst b/docs/plugins/front_port_module.rst index 3e169128..162aa65e 100755 --- a/docs/plugins/front_port_module.rst +++ b/docs/plugins/front_port_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.front_port module -- Create, update or delete front ports within Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.front_port module -- Create, update or delete front ports .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` / :ansible-option-required:`required` + :ansible-option-type:`any` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -267,9 +251,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -308,9 +292,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` / :ansible-option-required:`required` + :ansible-option-type:`any` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -345,9 +329,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`integer` + :ansible-option-type:`integer` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -382,9 +366,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -394,7 +378,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -424,9 +408,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=any` + :ansible-option-type:`list` / :ansible-option-elements:`elements=any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -461,9 +445,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -475,7 +459,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -497,9 +481,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -534,9 +518,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -548,7 +532,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -570,9 +554,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -582,9 +566,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -606,7 +590,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -618,7 +602,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot modules" connection: local hosts: localhost @@ -659,7 +642,6 @@ Examples - .. Facts @@ -669,12 +651,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -694,9 +677,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -711,7 +694,7 @@ Common return values are documented :ref:`here `, the foll .. rst-class:: ansible-option-line - :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) .. raw:: html @@ -734,9 +717,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -777,12 +760,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/front_port_template_module.rst b/docs/plugins/front_port_template_module.rst index 6e9c605a..5294216e 100755 --- a/docs/plugins/front_port_template_module.rst +++ b/docs/plugins/front_port_template_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.front_port_template module -- Create, update or delete front port templates within Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.front_port_template module -- Create, update or delete fr .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` / :ansible-option-required:`required` + :ansible-option-type:`any` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -271,9 +255,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` / :ansible-option-required:`required` + :ansible-option-type:`any` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -308,9 +292,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`integer` + :ansible-option-type:`integer` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -345,9 +329,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -357,7 +341,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -387,9 +371,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -401,7 +385,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -423,9 +407,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -460,9 +444,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -474,7 +458,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -496,9 +480,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -508,9 +492,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -532,7 +516,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -544,7 +528,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot modules" connection: local hosts: localhost @@ -585,7 +568,6 @@ Examples - .. Facts @@ -595,12 +577,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -620,9 +603,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -637,7 +620,7 @@ Common return values are documented :ref:`here `, the foll .. rst-class:: ansible-option-line - :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) .. raw:: html @@ -660,9 +643,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -703,12 +686,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/gql_inventory_inventory.rst b/docs/plugins/gql_inventory_inventory.rst index 4aa29fda..88301a05 100755 --- a/docs/plugins/gql_inventory_inventory.rst +++ b/docs/plugins/gql_inventory_inventory.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.gql_inventory inventory -- Nautobot inventory source using GraphQL capability @@ -42,7 +22,10 @@ networktocode.nautobot.gql_inventory inventory -- Nautobot inventory source usin .. Collection note .. note:: - This inventory plugin is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This inventory plugin is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this inventory plugin, @@ -91,12 +74,13 @@ The below requirements are needed on the local controller node that executes thi Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -116,9 +100,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` @@ -160,9 +144,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`boolean` + :ansible-option-type:`boolean` @@ -220,9 +204,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` @@ -281,9 +265,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` @@ -346,9 +330,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` @@ -374,21 +358,6 @@ Parameters - INI entries: - .. code-block:: - - [default] - fact_caching_prefix = ansible_inventory_ - - - Removed in: version 2.16 of ansible.builtin - - - Why: Fixes typing error in INI section name - - Alternative: Use the 'defaults' section instead - - - .. code-block:: [defaults] @@ -426,9 +395,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`integer` + :ansible-option-type:`integer` @@ -491,9 +460,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` @@ -532,9 +501,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` @@ -579,9 +548,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` @@ -596,7 +565,7 @@ Parameters Determine how redirects are followed. - By default, \ :emphasis:`follow\_redirects`\ is set to uses urllib2 default behavior. + By default, :emphasis:`follow\_redirects` is set to uses urllib2 default behavior. .. rst-class:: ansible-option-line @@ -629,9 +598,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` @@ -651,7 +620,6 @@ Parameters Valid group names must be string, so indexing the dotted path should return a string (i.e. \`platform.display\` instead of \`platform\`) If value returned by the defined path is a dictionary, an attempt will first be made to access the \`name\` field, and then the \`display\` field. (i.e. \`platform\` would attempt to lookup \`platform.name\`, and if that data was not returned, it would then try \`platform.display\`) - .. rst-class:: ansible-option-line @@ -677,9 +645,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`boolean` + :ansible-option-type:`boolean` :ansible-option-versionadded:`added in networktocode.nautobot 4.6.0` @@ -725,9 +693,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` @@ -766,9 +734,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=dictionary` + :ansible-option-type:`list` / :ansible-option-elements:`elements=dictionary` @@ -791,12 +759,16 @@ Parameters .. raw:: html
- + * - .. raw:: html
+ .. raw:: latex + + \hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth} + .. _ansible_collections.networktocode.nautobot.gql_inventory_inventory__parameter-keyed_groups/default_value: .. rst-class:: ansible-option-title @@ -807,9 +779,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in ansible-core 2.12` @@ -821,13 +793,17 @@ Parameters
+ .. raw:: latex + + \end{minipage} + - .. raw:: html
The default value when the host variable's value is an empty string. - This option is mutually exclusive with \ :literal:`trailing\_separator`\ . + This option is mutually exclusive with :ansopt:`networktocode.nautobot.gql\_inventory#inventory:keyed\_groups[].trailing\_separator`. .. raw:: html @@ -839,6 +815,10 @@ Parameters
+ .. raw:: latex + + \hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth} + .. _ansible_collections.networktocode.nautobot.gql_inventory_inventory__parameter-keyed_groups/key: .. rst-class:: ansible-option-title @@ -849,9 +829,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` @@ -860,6 +840,10 @@ Parameters
+ .. raw:: latex + + \end{minipage} + - .. raw:: html
@@ -876,6 +860,10 @@ Parameters
+ .. raw:: latex + + \hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth} + .. _ansible_collections.networktocode.nautobot.gql_inventory_inventory__parameter-keyed_groups/parent_group: .. rst-class:: ansible-option-title @@ -886,9 +874,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` @@ -897,6 +885,10 @@ Parameters
+ .. raw:: latex + + \end{minipage} + - .. raw:: html
@@ -913,6 +905,10 @@ Parameters
+ .. raw:: latex + + \hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth} + .. _ansible_collections.networktocode.nautobot.gql_inventory_inventory__parameter-keyed_groups/prefix: .. rst-class:: ansible-option-title @@ -923,9 +919,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` @@ -934,6 +930,10 @@ Parameters
+ .. raw:: latex + + \end{minipage} + - .. raw:: html
@@ -954,6 +954,10 @@ Parameters
+ .. raw:: latex + + \hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth} + .. _ansible_collections.networktocode.nautobot.gql_inventory_inventory__parameter-keyed_groups/separator: .. rst-class:: ansible-option-title @@ -964,9 +968,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` @@ -975,6 +979,10 @@ Parameters
+ .. raw:: latex + + \end{minipage} + - .. raw:: html
@@ -995,6 +1003,10 @@ Parameters
+ .. raw:: latex + + \hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth} + .. _ansible_collections.networktocode.nautobot.gql_inventory_inventory__parameter-keyed_groups/trailing_separator: .. rst-class:: ansible-option-title @@ -1005,9 +1017,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`boolean` + :ansible-option-type:`boolean` :ansible-option-versionadded:`added in ansible-core 2.12` @@ -1019,13 +1031,17 @@ Parameters
+ .. raw:: latex + + \end{minipage} + - .. raw:: html
- Set this option to \ :emphasis:`False`\ to omit the \ :literal:`separator`\ after the host variable when the value is an empty string. + Set this option to :ansval:`False` to omit the :ansopt:`networktocode.nautobot.gql\_inventory#inventory:keyed\_groups[].separator` after the host variable when the value is an empty string. - This option is mutually exclusive with \ :literal:`default\_value`\ . + This option is mutually exclusive with :ansopt:`networktocode.nautobot.gql\_inventory#inventory:keyed\_groups[].default\_value`. .. rst-class:: ansible-option-line @@ -1056,9 +1072,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`boolean` + :ansible-option-type:`boolean` :ansible-option-versionadded:`added in ansible-core 2.11` @@ -1114,9 +1130,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` @@ -1158,9 +1174,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` @@ -1183,12 +1199,16 @@ Parameters .. raw:: html
- + * - .. raw:: html
+ .. raw:: latex + + \hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth} + .. _ansible_collections.networktocode.nautobot.gql_inventory_inventory__parameter-query/devices: .. rst-class:: ansible-option-title @@ -1199,9 +1219,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` @@ -1210,6 +1230,10 @@ Parameters
+ .. raw:: latex + + \end{minipage} + - .. raw:: html
@@ -1226,6 +1250,10 @@ Parameters
+ .. raw:: latex + + \hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth} + .. _ansible_collections.networktocode.nautobot.gql_inventory_inventory__parameter-query/virtual_machines: .. rst-class:: ansible-option-title @@ -1236,9 +1264,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` @@ -1247,6 +1275,10 @@ Parameters
+ .. raw:: latex + + \end{minipage} + - .. raw:: html
@@ -1274,9 +1306,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`boolean` + :ansible-option-type:`boolean` @@ -1289,7 +1321,7 @@ Parameters
- If \ :literal:`yes`\ make invalid entries a fatal error, otherwise skip and continue. + If :ansval:`yes` make invalid entries a fatal error, otherwise skip and continue. Since it is possible to use facts in the expressions they might not always be available and we ignore those errors by default. @@ -1321,9 +1353,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`integer` + :ansible-option-type:`integer` @@ -1362,9 +1394,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` @@ -1408,9 +1440,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`boolean` + :ansible-option-type:`boolean` :ansible-option-versionadded:`added in ansible-core 2.11` @@ -1471,9 +1503,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`boolean` + :ansible-option-type:`boolean` @@ -1486,7 +1518,7 @@ Parameters
- Allows connection when SSL certificates are not valid. Set to \ :literal:`false`\ when certificates are not trusted. + Allows connection when SSL certificates are not valid. Set to :literal:`false` when certificates are not trusted. .. rst-class:: ansible-option-line @@ -1518,7 +1550,6 @@ Examples .. code-block:: yaml+jinja - # inventory.yml file in YAML format # Example command line: ansible-inventory -v --list -i inventory.yml # Add -vvv to the command to also see the GraphQL query that gets sent in the debug output. @@ -1641,7 +1672,6 @@ Examples - .. Facts @@ -1651,12 +1681,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this inventory: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -1676,9 +1707,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` .. raw:: html @@ -1722,12 +1753,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/graphql_string_filter.rst b/docs/plugins/graphql_string_filter.rst index 7661cb38..07ae4d6f 100644 --- a/docs/plugins/graphql_string_filter.rst +++ b/docs/plugins/graphql_string_filter.rst @@ -1,8 +1,10 @@ - .. Document meta section :orphan: +.. meta:: + :antsibull-docs: 2.14.0 + .. Document body .. Anchors @@ -19,9 +21,9 @@ The documentation for the filter plugin, networktocode.nautobot.graphql_string, The errors were: -* :: +* .. code-block:: text - Missing documentation or could not parse documentation: No documentation available for networktocode.nautobot.graphql_string (/home/joshv/.ansible/collections/ansible_collections/networktocode/nautobot/plugins/filter/graphql.py) + Missing documentation or could not parse documentation: No documentation available for networktocode.nautobot.graphql_string (/root/.ansible/collections/ansible_collections/networktocode/nautobot/plugins/filter/graphql.py) -File a bug with the `networktocode.nautobot collection `_ in order to have it corrected. \ No newline at end of file +File a bug with the `networktocode.nautobot collection `_ in order to have it corrected. diff --git a/docs/plugins/index.rst b/docs/plugins/index.rst index 25ea1a3b..4ede6f9f 100755 --- a/docs/plugins/index.rst +++ b/docs/plugins/index.rst @@ -1,4 +1,5 @@ - +.. meta:: + :antsibull-docs: 2.14.0 .. _plugins_in_networktocode.nautobot: @@ -25,19 +26,21 @@ This is a collection of Nautobot Ansible modules * 2.9.10 or newer -.. raw:: html +.. ansible-links:: + + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true - .. toctree:: :maxdepth: 1 - Plugin Index ------------ @@ -47,75 +50,81 @@ These are the plugins in the networktocode.nautobot collection: Modules ~~~~~~~ -* :ref:`cable module ` -- Create, update or delete cables within Nautobot -* :ref:`circuit module ` -- Create, update or delete circuits within Nautobot -* :ref:`circuit_termination module ` -- Create, update or delete circuit terminations within Nautobot -* :ref:`circuit_type module ` -- Create, update or delete circuit types within Nautobot -* :ref:`cluster module ` -- Create, update or delete clusters within Nautobot -* :ref:`cluster_group module ` -- Create, update or delete cluster groups within Nautobot -* :ref:`cluster_type module ` -- Create, update or delete cluster types within Nautobot -* :ref:`console_port module ` -- Create, update or delete console ports within Nautobot -* :ref:`console_port_template module ` -- Create, update or delete console port templates within Nautobot -* :ref:`console_server_port module ` -- Create, update or delete console server ports within Nautobot -* :ref:`console_server_port_template module ` -- Create, update or delete console server port templates within Nautobot -* :ref:`contact module ` -- Creates or removes contacts from Nautobot -* :ref:`controller module ` -- -* :ref:`custom_field module ` -- Creates or removes custom fields from Nautobot -* :ref:`custom_field_choice module ` -- Creates or removes custom field choices from Nautobot -* :ref:`device module ` -- Create, update or delete devices within Nautobot -* :ref:`device_bay module ` -- Create, update or delete device bays within Nautobot -* :ref:`device_bay_template module ` -- Create, update or delete device bay templates within Nautobot -* :ref:`device_interface module ` -- Creates or removes interfaces on devices from Nautobot -* :ref:`device_interface_template module ` -- Creates or removes interfaces on devices from Nautobot -* :ref:`device_redundancy_group module ` -- Creates or removes device redundancy groups from Nautobot -* :ref:`device_type module ` -- Create, update or delete device types within Nautobot -* :ref:`front_port module ` -- Create, update or delete front ports within Nautobot -* :ref:`front_port_template module ` -- Create, update or delete front port templates within Nautobot -* :ref:`inventory_item module ` -- Creates or removes inventory items from Nautobot -* :ref:`ip_address module ` -- Creates or removes IP addresses from Nautobot -* :ref:`ip_address_to_interface module ` -- Creates or removes IP address to interface association from Nautobot -* :ref:`location module ` -- Creates or removes locations from Nautobot -* :ref:`location_type module ` -- Creates or removes location types from Nautobot -* :ref:`manufacturer module ` -- Create or delete manufacturers within Nautobot -* :ref:`namespace module ` -- Creates or removes namespaces from Nautobot -* :ref:`nautobot_server module ` -- Manages Nautobot Server application. -* :ref:`platform module ` -- Create or delete platforms within Nautobot -* :ref:`plugin module ` -- CRUD operation on plugin objects -* :ref:`power_feed module ` -- Create, update or delete power feeds within Nautobot -* :ref:`power_outlet module ` -- Create, update or delete power outlets within Nautobot -* :ref:`power_outlet_template module ` -- Create, update or delete power outlet templates within Nautobot -* :ref:`power_panel module ` -- Create, update or delete power panels within Nautobot -* :ref:`power_port module ` -- Create, update or delete power ports within Nautobot -* :ref:`power_port_template module ` -- Create, update or delete power port templates within Nautobot -* :ref:`prefix module ` -- Creates or removes prefixes from Nautobot -* :ref:`provider module ` -- Create, update or delete providers within Nautobot -* :ref:`query_graphql module ` -- Queries and returns elements from Nautobot GraphQL endpoint -* :ref:`rack module ` -- Create, update or delete racks within Nautobot -* :ref:`rack_group module ` -- Create, update or delete racks groups within Nautobot -* :ref:`rear_port module ` -- Create, update or delete rear ports within Nautobot -* :ref:`rear_port_template module ` -- Create, update or delete rear port templates within Nautobot -* :ref:`relationship_association module ` -- Creates or removes a relationship association from Nautobot -* :ref:`rir module ` -- Create, update or delete RIRs within Nautobot -* :ref:`role module ` -- Create, update or delete roles within Nautobot -* :ref:`route_target module ` -- Creates or removes route targets from Nautobot -* :ref:`service module ` -- Creates or removes service from Nautobot -* :ref:`status module ` -- Creates or removes status from Nautobot -* :ref:`tag module ` -- Creates or removes tags from Nautobot -* :ref:`team module ` -- Creates or removes teams from Nautobot -* :ref:`tenant module ` -- Creates or removes tenants from Nautobot -* :ref:`tenant_group module ` -- Creates or removes tenant groups from Nautobot -* :ref:`virtual_chassis module ` -- Create, update or delete virtual chassis within Nautobot -* :ref:`virtual_machine module ` -- Create, update or delete virtual\_machines within Nautobot -* :ref:`vlan module ` -- Create, update or delete vlans within Nautobot -* :ref:`vlan_group module ` -- Create, update or delete vlans groups within Nautobot -* :ref:`vlan_location module ` -- Create, update or delete Location assignments to VLANs within Nautobot -* :ref:`vm_interface module ` -- Creates or removes interfaces from virtual machines in Nautobot -* :ref:`vrf module ` -- Create, update or delete vrfs within Nautobot +* :ansplugin:`admin_group module ` -- Create, update or delete admin groups within Nautobot +* :ansplugin:`admin_permission module ` -- Create, update or delete object permissions within Nautobot +* :ansplugin:`admin_user module ` -- Create, update or delete users within Nautobot +* :ansplugin:`cable module ` -- Create, update or delete cables within Nautobot +* :ansplugin:`circuit module ` -- Create, update or delete circuits within Nautobot +* :ansplugin:`circuit_termination module ` -- Create, update or delete circuit terminations within Nautobot +* :ansplugin:`circuit_type module ` -- Create, update or delete circuit types within Nautobot +* :ansplugin:`cluster module ` -- Create, update or delete clusters within Nautobot +* :ansplugin:`cluster_group module ` -- Create, update or delete cluster groups within Nautobot +* :ansplugin:`cluster_type module ` -- Create, update or delete cluster types within Nautobot +* :ansplugin:`console_port module ` -- Create, update or delete console ports within Nautobot +* :ansplugin:`console_port_template module ` -- Create, update or delete console port templates within Nautobot +* :ansplugin:`console_server_port module ` -- Create, update or delete console server ports within Nautobot +* :ansplugin:`console_server_port_template module ` -- Create, update or delete console server port templates within Nautobot +* :ansplugin:`contact module ` -- Creates or removes contacts from Nautobot +* :ansplugin:`controller module ` -- Create, update or delete controllers within Nautobot +* :ansplugin:`custom_field module ` -- Creates or removes custom fields from Nautobot +* :ansplugin:`custom_field_choice module ` -- Creates or removes custom field choices from Nautobot +* :ansplugin:`device module ` -- Create, update or delete devices within Nautobot +* :ansplugin:`device_bay module ` -- Create, update or delete device bays within Nautobot +* :ansplugin:`device_bay_template module ` -- Create, update or delete device bay templates within Nautobot +* :ansplugin:`device_interface module ` -- Creates or removes interfaces on devices from Nautobot +* :ansplugin:`device_interface_template module ` -- Creates or removes interfaces on devices from Nautobot +* :ansplugin:`device_redundancy_group module ` -- Creates or removes device redundancy groups from Nautobot +* :ansplugin:`device_type module ` -- Create, update or delete device types within Nautobot +* :ansplugin:`front_port module ` -- Create, update or delete front ports within Nautobot +* :ansplugin:`front_port_template module ` -- Create, update or delete front port templates within Nautobot +* :ansplugin:`inventory_item module ` -- Creates or removes inventory items from Nautobot +* :ansplugin:`ip_address module ` -- Creates or removes IP addresses from Nautobot +* :ansplugin:`ip_address_to_interface module ` -- Creates or removes IP address to interface association from Nautobot +* :ansplugin:`location module ` -- Creates or removes locations from Nautobot +* :ansplugin:`location_type module ` -- Creates or removes location types from Nautobot +* :ansplugin:`manufacturer module ` -- Create or delete manufacturers within Nautobot +* :ansplugin:`namespace module ` -- Creates or removes namespaces from Nautobot +* :ansplugin:`nautobot_server module ` -- Manages Nautobot Server application. +* :ansplugin:`platform module ` -- Create or delete platforms within Nautobot +* :ansplugin:`plugin module ` -- CRUD operation on plugin objects +* :ansplugin:`power_feed module ` -- Create, update or delete power feeds within Nautobot +* :ansplugin:`power_outlet module ` -- Create, update or delete power outlets within Nautobot +* :ansplugin:`power_outlet_template module ` -- Create, update or delete power outlet templates within Nautobot +* :ansplugin:`power_panel module ` -- Create, update or delete power panels within Nautobot +* :ansplugin:`power_port module ` -- Create, update or delete power ports within Nautobot +* :ansplugin:`power_port_template module ` -- Create, update or delete power port templates within Nautobot +* :ansplugin:`prefix module ` -- Creates or removes prefixes from Nautobot +* :ansplugin:`provider module ` -- Create, update or delete providers within Nautobot +* :ansplugin:`query_graphql module ` -- Queries and returns elements from Nautobot GraphQL endpoint +* :ansplugin:`rack module ` -- Create, update or delete racks within Nautobot +* :ansplugin:`rack_group module ` -- Create, update or delete racks groups within Nautobot +* :ansplugin:`rear_port module ` -- Create, update or delete rear ports within Nautobot +* :ansplugin:`rear_port_template module ` -- Create, update or delete rear port templates within Nautobot +* :ansplugin:`relationship_association module ` -- Creates or removes a relationship association from Nautobot +* :ansplugin:`rir module ` -- Create, update or delete RIRs within Nautobot +* :ansplugin:`role module ` -- Create, update or delete roles within Nautobot +* :ansplugin:`route_target module ` -- Creates or removes route targets from Nautobot +* :ansplugin:`service module ` -- Creates or removes service from Nautobot +* :ansplugin:`status module ` -- Creates or removes status from Nautobot +* :ansplugin:`tag module ` -- Creates or removes tags from Nautobot +* :ansplugin:`team module ` -- Creates or removes teams from Nautobot +* :ansplugin:`tenant module ` -- Creates or removes tenants from Nautobot +* :ansplugin:`tenant_group module ` -- Creates or removes tenant groups from Nautobot +* :ansplugin:`virtual_chassis module ` -- Create, update or delete virtual chassis within Nautobot +* :ansplugin:`virtual_machine module ` -- Create, update or delete virtual\_machines within Nautobot +* :ansplugin:`vlan module ` -- Create, update or delete vlans within Nautobot +* :ansplugin:`vlan_group module ` -- Create, update or delete vlans groups within Nautobot +* :ansplugin:`vlan_location module ` -- Create, update or delete Location assignments to VLANs within Nautobot +* :ansplugin:`vm_interface module ` -- Creates or removes interfaces from virtual machines in Nautobot +* :ansplugin:`vrf module ` -- Create, update or delete vrfs within Nautobot .. toctree:: :maxdepth: 1 :hidden: + admin_group_module + admin_permission_module + admin_user_module cable_module circuit_module circuit_termination_module @@ -185,7 +194,7 @@ Modules Filter Plugins ~~~~~~~~~~~~~~ -* :ref:`graphql_string filter ` -- +* :ansplugin:`graphql_string filter ` -- .. toctree:: :maxdepth: 1 @@ -197,8 +206,8 @@ Filter Plugins Inventory Plugins ~~~~~~~~~~~~~~~~~ -* :ref:`gql_inventory inventory ` -- Nautobot inventory source using GraphQL capability -* :ref:`inventory inventory ` -- Nautobot inventory source +* :ansplugin:`gql_inventory inventory ` -- Nautobot inventory source using GraphQL capability +* :ansplugin:`inventory inventory ` -- Nautobot inventory source .. toctree:: :maxdepth: 1 @@ -211,8 +220,8 @@ Inventory Plugins Lookup Plugins ~~~~~~~~~~~~~~ -* :ref:`lookup lookup ` -- Queries and returns elements from Nautobot -* :ref:`lookup_graphql lookup ` -- Queries and returns elements from Nautobot GraphQL endpoint +* :ansplugin:`lookup lookup ` -- Queries and returns elements from Nautobot +* :ansplugin:`lookup_graphql lookup ` -- Queries and returns elements from Nautobot GraphQL endpoint .. toctree:: :maxdepth: 1 @@ -220,5 +229,3 @@ Lookup Plugins lookup_lookup lookup_graphql_lookup - - diff --git a/docs/plugins/inventory_inventory.rst b/docs/plugins/inventory_inventory.rst index beb39895..fdc47d1c 100755 --- a/docs/plugins/inventory_inventory.rst +++ b/docs/plugins/inventory_inventory.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.inventory inventory -- Nautobot inventory source @@ -42,7 +22,10 @@ networktocode.nautobot.inventory inventory -- Nautobot inventory source .. Collection note .. note:: - This inventory plugin is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This inventory plugin is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. @@ -64,6 +47,7 @@ Synopsis .. Description - Get inventory hosts from Nautobot +- Note: If gathering an endpoint that has significant number of objects (such as interfaces), you may have failures caused by gathering too much data. Look to leverage the GraphQL inventory or gather data as a first task in the playbook rather than in inventory. .. Aliases @@ -81,12 +65,13 @@ Synopsis Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -106,9 +91,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`boolean` + :ansible-option-type:`boolean` @@ -151,9 +136,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` @@ -195,9 +180,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -235,9 +220,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`boolean` + :ansible-option-type:`boolean` @@ -295,9 +280,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` @@ -356,9 +341,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` @@ -421,9 +406,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` @@ -449,21 +434,6 @@ Parameters - INI entries: - .. code-block:: - - [default] - fact_caching_prefix = ansible_inventory_ - - - Removed in: version 2.16 of ansible.builtin - - - Why: Fixes typing error in INI section name - - Alternative: Use the 'defaults' section instead - - - .. code-block:: [defaults] @@ -501,9 +471,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`integer` + :ansible-option-type:`integer` @@ -566,9 +536,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` @@ -607,9 +577,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`boolean` + :ansible-option-type:`boolean` @@ -654,9 +624,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` @@ -695,9 +665,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`boolean` + :ansible-option-type:`boolean` @@ -742,9 +712,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`boolean` + :ansible-option-type:`boolean` :ansible-option-versionadded:`added in networktocode.nautobot 1.0.0` @@ -800,9 +770,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`boolean` + :ansible-option-type:`boolean` :ansible-option-versionadded:`added in networktocode.nautobot 1.0.0` @@ -818,7 +788,7 @@ Parameters
- If \ :emphasis:`config\_context`\ is enabled, by default it's added as a host var named config\_context. + If :emphasis:`config\_context` is enabled, by default it's added as a host var named config\_context. If flatten\_config\_context is set to True, the config context variables will be added directly to the host instead. @@ -850,9 +820,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`boolean` + :ansible-option-type:`boolean` :ansible-option-versionadded:`added in networktocode.nautobot 1.0.0` @@ -900,9 +870,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`boolean` + :ansible-option-type:`boolean` :ansible-option-versionadded:`added in networktocode.nautobot 1.0.0` @@ -918,7 +888,7 @@ Parameters
- If \ :emphasis:`local\_context\_data`\ is enabled, by default it's added as a host var named local\_context\_data. + If :emphasis:`local\_context\_data` is enabled, by default it's added as a host var named local\_context\_data. If flatten\_local\_context\_data is set to True, the config context variables will be added directly to the host instead. @@ -950,9 +920,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` @@ -967,7 +937,7 @@ Parameters Determine how redirects are followed. - By default, \ :emphasis:`follow\_redirects`\ is set to uses urllib2 default behavior. + By default, :emphasis:`follow\_redirects` is set to uses urllib2 default behavior. .. rst-class:: ansible-option-line @@ -1000,9 +970,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` @@ -1015,7 +985,7 @@ Parameters
- Keys used to create groups. The \ :emphasis:`plurals`\ option controls which of these are valid. + Keys used to create groups. The :emphasis:`plurals` option controls which of these are valid. .. rst-class:: ansible-option-line @@ -1072,9 +1042,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`boolean` + :ansible-option-type:`boolean` :ansible-option-versionadded:`added in networktocode.nautobot 1.0.0` @@ -1120,9 +1090,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` @@ -1161,9 +1131,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`boolean` + :ansible-option-type:`boolean` :ansible-option-versionadded:`added in networktocode.nautobot 1.0.0` @@ -1209,9 +1179,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=dictionary` + :ansible-option-type:`list` / :ansible-option-elements:`elements=dictionary` @@ -1234,12 +1204,16 @@ Parameters .. raw:: html
- + * - .. raw:: html
+ .. raw:: latex + + \hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth} + .. _ansible_collections.networktocode.nautobot.inventory_inventory__parameter-keyed_groups/default_value: .. rst-class:: ansible-option-title @@ -1250,9 +1224,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in ansible-core 2.12` @@ -1264,13 +1238,17 @@ Parameters
+ .. raw:: latex + + \end{minipage} + - .. raw:: html
The default value when the host variable's value is an empty string. - This option is mutually exclusive with \ :literal:`trailing\_separator`\ . + This option is mutually exclusive with :ansopt:`networktocode.nautobot.inventory#inventory:keyed\_groups[].trailing\_separator`. .. raw:: html @@ -1282,6 +1260,10 @@ Parameters
+ .. raw:: latex + + \hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth} + .. _ansible_collections.networktocode.nautobot.inventory_inventory__parameter-keyed_groups/key: .. rst-class:: ansible-option-title @@ -1292,9 +1274,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` @@ -1303,6 +1285,10 @@ Parameters
+ .. raw:: latex + + \end{minipage} + - .. raw:: html
@@ -1319,6 +1305,10 @@ Parameters
+ .. raw:: latex + + \hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth} + .. _ansible_collections.networktocode.nautobot.inventory_inventory__parameter-keyed_groups/parent_group: .. rst-class:: ansible-option-title @@ -1329,9 +1319,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` @@ -1340,6 +1330,10 @@ Parameters
+ .. raw:: latex + + \end{minipage} + - .. raw:: html
@@ -1356,6 +1350,10 @@ Parameters
+ .. raw:: latex + + \hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth} + .. _ansible_collections.networktocode.nautobot.inventory_inventory__parameter-keyed_groups/prefix: .. rst-class:: ansible-option-title @@ -1366,9 +1364,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` @@ -1377,6 +1375,10 @@ Parameters
+ .. raw:: latex + + \end{minipage} + - .. raw:: html
@@ -1397,6 +1399,10 @@ Parameters
+ .. raw:: latex + + \hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth} + .. _ansible_collections.networktocode.nautobot.inventory_inventory__parameter-keyed_groups/separator: .. rst-class:: ansible-option-title @@ -1407,9 +1413,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` @@ -1418,6 +1424,10 @@ Parameters
+ .. raw:: latex + + \end{minipage} + - .. raw:: html
@@ -1438,6 +1448,10 @@ Parameters
+ .. raw:: latex + + \hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth} + .. _ansible_collections.networktocode.nautobot.inventory_inventory__parameter-keyed_groups/trailing_separator: .. rst-class:: ansible-option-title @@ -1448,9 +1462,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`boolean` + :ansible-option-type:`boolean` :ansible-option-versionadded:`added in ansible-core 2.12` @@ -1462,13 +1476,17 @@ Parameters
+ .. raw:: latex + + \end{minipage} + - .. raw:: html
- Set this option to \ :emphasis:`False`\ to omit the \ :literal:`separator`\ after the host variable when the value is an empty string. + Set this option to :ansval:`False` to omit the :ansopt:`networktocode.nautobot.inventory#inventory:keyed\_groups[].separator` after the host variable when the value is an empty string. - This option is mutually exclusive with \ :literal:`default\_value`\ . + This option is mutually exclusive with :ansopt:`networktocode.nautobot.inventory#inventory:keyed\_groups[].default\_value`. .. rst-class:: ansible-option-line @@ -1499,9 +1517,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`boolean` + :ansible-option-type:`boolean` :ansible-option-versionadded:`added in ansible-core 2.11` @@ -1557,9 +1575,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`integer` + :ansible-option-type:`integer` :ansible-option-versionadded:`added in networktocode.nautobot 1.0.0` @@ -1603,9 +1621,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` @@ -1647,9 +1665,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`boolean` + :ansible-option-type:`boolean` :ansible-option-versionadded:`added in networktocode.nautobot 1.0.0` @@ -1669,7 +1687,7 @@ Parameters Group names will be plural (ie. "locations\_mylocation" instead of "location\_mylocation") - The choices of \ :emphasis:`group\_by`\ will be changed by this option. + The choices of :emphasis:`group\_by` will be changed by this option. .. rst-class:: ansible-option-line @@ -1699,9 +1717,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` @@ -1740,9 +1758,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`boolean` + :ansible-option-type:`boolean` :ansible-option-versionadded:`added in networktocode.nautobot 1.0.0` @@ -1788,9 +1806,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`boolean` + :ansible-option-type:`boolean` @@ -1803,7 +1821,7 @@ Parameters
- If \ :literal:`yes`\ make invalid entries a fatal error, otherwise skip and continue. + If :ansval:`yes` make invalid entries a fatal error, otherwise skip and continue. Since it is possible to use facts in the expressions they might not always be available and we ignore those errors by default. @@ -1835,9 +1853,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`integer` + :ansible-option-type:`integer` @@ -1876,9 +1894,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` @@ -1922,9 +1940,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`boolean` + :ansible-option-type:`boolean` :ansible-option-versionadded:`added in ansible-core 2.11` @@ -1985,9 +2003,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`boolean` + :ansible-option-type:`boolean` @@ -2000,7 +2018,7 @@ Parameters
- Allows connection when SSL certificates are not valid. Set to \ :literal:`false`\ when certificates are not trusted. + Allows connection when SSL certificates are not valid. Set to :literal:`false` when certificates are not trusted. .. rst-class:: ansible-option-line @@ -2030,9 +2048,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`boolean` + :ansible-option-type:`boolean` @@ -2077,9 +2095,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` @@ -2120,7 +2138,6 @@ Examples .. code-block:: yaml+jinja - # inventory.yml file in YAML format # Example command line: ansible-inventory -v --list -i inventory.yml @@ -2171,7 +2188,6 @@ Examples - .. Facts @@ -2201,12 +2217,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/inventory_item_module.rst b/docs/plugins/inventory_item_module.rst index df3315ee..9d80ea16 100755 --- a/docs/plugins/inventory_item_module.rst +++ b/docs/plugins/inventory_item_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.inventory_item module -- Creates or removes inventory items from Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.inventory_item module -- Creates or removes inventory ite .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -267,9 +251,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` / :ansible-option-required:`required` + :ansible-option-type:`any` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -304,9 +288,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`boolean` + :ansible-option-type:`boolean` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -349,9 +333,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -386,9 +370,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -423,9 +407,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -460,9 +444,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -501,9 +485,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -538,9 +522,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -550,7 +534,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -580,9 +564,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=any` + :ansible-option-type:`list` / :ansible-option-elements:`elements=any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -617,9 +601,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -631,7 +615,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -653,9 +637,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -667,7 +651,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -689,9 +673,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -701,9 +685,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -725,7 +709,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -737,7 +721,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot inventory_item module" connection: local hosts: localhost @@ -774,7 +757,6 @@ Examples - .. Facts @@ -784,12 +766,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -809,9 +792,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -849,9 +832,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -892,12 +875,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/ip_address_module.rst b/docs/plugins/ip_address_module.rst index 1dd9e753..7bf1d1d8 100755 --- a/docs/plugins/ip_address_module.rst +++ b/docs/plugins/ip_address_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.ip_address module -- Creates or removes IP addresses from Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.ip_address module -- Creates or removes IP addresses from .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -134,7 +118,7 @@ Parameters
- Required if state is \ :literal:`present`\ + Required if state is :literal:`present` .. raw:: html @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -267,9 +251,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -304,9 +288,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 5.0.0` @@ -320,7 +304,6 @@ Parameters
namespace that IP address is associated with. IPs are unique per namespaces. - .. rst-class:: ansible-option-line @@ -346,9 +329,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -383,9 +366,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -398,11 +381,10 @@ Parameters
- With state \ :literal:`new`\ , it will force to get the next available IP in - this prefix. - Required if state is \ :literal:`present`\ or \ :literal:`new`\ when no address is given. - Unused if an address is specified. - + With state :literal:`new`\ , it will force to get the next available IP in + this prefix. + Required if state is :literal:`present` or :literal:`new` when no address is given. + Unused if an address is specified. .. raw:: html @@ -424,9 +406,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -465,9 +447,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -502,9 +484,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -514,11 +496,10 @@ Parameters
- Use \ :literal:`present`\ , \ :literal:`new`\ or \ :literal:`absent`\ for adding, force adding or removing. - \ :literal:`present`\ will check if the IP is already created, and return it if - true. \ :literal:`new`\ will force to create it anyway (useful for anycasts, for - example). - + Use :literal:`present`\ , :literal:`new` or :literal:`absent` for adding, force adding or removing. + :literal:`present` will check if the IP is already created, and return it if + true. :literal:`new` will force to create it anyway (useful for anycasts, for + example). .. rst-class:: ansible-option-line @@ -549,9 +530,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -566,7 +547,7 @@ Parameters The status of the IP address - Required if \ :emphasis:`state=present`\ and does not exist yet + Required if :emphasis:`state=present` and does not exist yet .. raw:: html @@ -588,9 +569,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=any` + :ansible-option-type:`list` / :ansible-option-elements:`elements=any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -625,9 +606,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -662,9 +643,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -676,7 +657,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -698,9 +679,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 5.0.0` @@ -744,9 +725,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -758,7 +739,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -780,9 +761,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -792,9 +773,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -816,7 +797,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -828,7 +809,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot IP address module" connection: local hosts: localhost @@ -890,7 +870,6 @@ Examples - .. Facts @@ -900,12 +879,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -925,9 +905,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -965,9 +945,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -1009,12 +989,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/ip_address_to_interface_module.rst b/docs/plugins/ip_address_to_interface_module.rst index 4100907a..33ac3134 100755 --- a/docs/plugins/ip_address_to_interface_module.rst +++ b/docs/plugins/ip_address_to_interface_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.ip_address_to_interface module -- Creates or removes IP address to interface association from Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.ip_address_to_interface module -- Creates or removes IP a .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 5.0.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` / :ansible-option-required:`required` + :ansible-option-type:`any` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 5.0.0` @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -271,9 +255,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -283,7 +267,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding, or removing. + Use :literal:`present` or :literal:`absent` for adding, or removing. .. rst-class:: ansible-option-line @@ -313,9 +297,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -327,7 +311,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -349,9 +333,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -363,7 +347,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -385,9 +369,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -397,9 +381,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -425,9 +409,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 5.0.0` @@ -458,7 +442,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -470,7 +454,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot IP address to interface module" connection: local hosts: localhost @@ -502,8 +485,6 @@ Examples - - .. Facts @@ -513,12 +494,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -538,9 +520,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -578,9 +560,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -622,12 +604,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/location_module.rst b/docs/plugins/location_module.rst index 35f7eee0..d6a43165 100755 --- a/docs/plugins/location_module.rst +++ b/docs/plugins/location_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.location module -- Creates or removes locations from Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.location module -- Creates or removes locations from Naut .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`integer` + :ansible-option-type:`integer` :ansible-option-versionadded:`added in networktocode.nautobot 5.1.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 5.1.0` @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 5.1.0` @@ -267,9 +251,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 5.1.0` @@ -304,9 +288,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 5.1.0` @@ -341,9 +325,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -378,9 +362,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -412,9 +396,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 5.1.0` @@ -449,9 +433,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -487,9 +471,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 5.1.0` @@ -524,9 +508,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -538,7 +522,7 @@ Parameters The type of location - Required if \ :emphasis:`state=present`\ and does not exist yet + Required if :emphasis:`state=present` and does not exist yet .. raw:: html @@ -560,9 +544,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 5.1.0` @@ -597,9 +581,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -633,13 +617,11 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-aliases:`aliases: parent` + :ansible-option-aliases:`aliases: parent` - .. rst-class:: ansible-option-type-line - - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -671,9 +653,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 5.1.0` @@ -708,9 +690,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -749,9 +731,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 5.1.0` @@ -786,9 +768,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -798,7 +780,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -828,9 +810,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -842,7 +824,7 @@ Parameters Status of the location - Required if \ :emphasis:`state=present`\ and does not exist yet + Required if :emphasis:`state=present` and does not exist yet .. raw:: html @@ -864,9 +846,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=any` + :ansible-option-type:`list` / :ansible-option-elements:`elements=any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -901,9 +883,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 5.1.0` @@ -938,9 +920,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 5.1.0` @@ -975,9 +957,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -989,7 +971,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -1011,9 +993,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -1025,7 +1007,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -1047,9 +1029,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -1059,9 +1041,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -1083,7 +1065,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -1095,7 +1077,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot location module" connection: local hosts: localhost @@ -1146,7 +1127,6 @@ Examples - .. Facts @@ -1156,12 +1136,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -1181,9 +1162,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -1221,9 +1202,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -1264,12 +1245,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/location_type_module.rst b/docs/plugins/location_type_module.rst index e06a6479..c387860e 100755 --- a/docs/plugins/location_type_module.rst +++ b/docs/plugins/location_type_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.location_type module -- Creates or removes location types from Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.location_type module -- Creates or removes location types .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` .. raw:: html @@ -192,9 +176,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -229,9 +213,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -263,9 +247,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -297,9 +281,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`boolean` + :ansible-option-type:`boolean` .. raw:: html @@ -311,7 +295,7 @@ Parameters Allow Locations of this type to be parents/children of other Locations of this same type - Requires \ :literal:`nautobot \>= 1.5`\ + Requires :literal:`nautobot \>= 1.5` .. rst-class:: ansible-option-line @@ -343,13 +327,11 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-aliases:`aliases: parent` + :ansible-option-aliases:`aliases: parent` - .. rst-class:: ansible-option-type-line - - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -381,9 +363,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -422,9 +404,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -434,7 +416,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -464,9 +446,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -478,7 +460,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -500,9 +482,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -514,7 +496,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -536,9 +518,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -548,9 +530,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -572,7 +554,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -584,7 +566,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot location type module" connection: local hosts: localhost @@ -619,7 +600,6 @@ Examples - .. Facts @@ -629,12 +609,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -654,9 +635,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -694,9 +675,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -737,12 +718,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/lookup_graphql_lookup.rst b/docs/plugins/lookup_graphql_lookup.rst index 2c5d9aed..ff6a1917 100755 --- a/docs/plugins/lookup_graphql_lookup.rst +++ b/docs/plugins/lookup_graphql_lookup.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.lookup_graphql lookup -- Queries and returns elements from Nautobot GraphQL endpoint @@ -42,7 +22,10 @@ networktocode.nautobot.lookup_graphql lookup -- Queries and returns elements fro .. Collection note .. note:: - This lookup plugin is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This lookup plugin is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this lookup plugin, @@ -97,12 +80,13 @@ Keyword parameters This describes keyword parameters of the lookup. These are the values ``key1=value1``, ``key2=value2`` and so on in the following examples: ``lookup('networktocode.nautobot.lookup_graphql', key1=value1, key2=value2, ...)`` and ``query('networktocode.nautobot.lookup_graphql', key1=value1, key2=value2, ...)`` -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -122,9 +106,9 @@ examples: ``lookup('networktocode.nautobot.lookup_graphql', key1=value1, key2=va - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -162,9 +146,9 @@ examples: ``lookup('networktocode.nautobot.lookup_graphql', key1=value1, key2=va - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` @@ -201,9 +185,9 @@ examples: ``lookup('networktocode.nautobot.lookup_graphql', key1=value1, key2=va - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` @@ -238,9 +222,9 @@ examples: ``lookup('networktocode.nautobot.lookup_graphql', key1=value1, key2=va - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` @@ -282,9 +266,9 @@ examples: ``lookup('networktocode.nautobot.lookup_graphql', key1=value1, key2=va - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` @@ -326,9 +310,9 @@ examples: ``lookup('networktocode.nautobot.lookup_graphql', key1=value1, key2=va - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` @@ -369,48 +353,46 @@ Examples .. code-block:: yaml+jinja - - # Make API Query without variables - - name: SET FACT OF STRING - set_fact: - query_string: | - query { - locations { - id + # Make API Query without variables + - name: SET FACT OF STRING + set_fact: + query_string: | + query { + locations { + id + name + parent { name - parent { - name - } } } + } + + # Make query to GraphQL Endpoint + - name: Obtain list of locations from Nautobot + set_fact: + query_response: "{{ query('networktocode.nautobot.lookup_graphql', query=query_string, url='https://nautobot.example.com', token='') }}" + + # Example with variables + - name: SET FACTS TO SEND TO GRAPHQL ENDPOINT + set_fact: + graph_variables: + location_name: DEN + query_string: | + query ($location_name:String!) { + locations (name: $location_name) { + id + name + parent { + name + } + } + } - # Make query to GraphQL Endpoint - - name: Obtain list of locations from Nautobot - set_fact: - query_response: "{{ query('networktocode.nautobot.lookup_graphql', query=query_string, url='https://nautobot.example.com', token='') }}" - - # Example with variables - - name: SET FACTS TO SEND TO GRAPHQL ENDPOINT - set_fact: - graph_variables: - location_name: DEN - query_string: | - query ($location_name:String!) { - locations (name: $location_name) { - id - name - parent { - name - } - } - } - - # Get Response with variables - - name: Obtain list of devices from Nautobot - set_fact: - query_response: "{{ query('networktocode.nautobot.lookup_graphql', query_string, graph_variables=graph_variables, - url='https://nautobot.example.com', token='') }}" - + # Get Response with variables + - name: Obtain list of devices from Nautobot + set_fact: + query_response: "{{ query('networktocode.nautobot.lookup_graphql', query_string, graph_variables=graph_variables, + url='https://nautobot.example.com', token='') }}" @@ -422,12 +404,13 @@ Examples Return Value ------------ -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -447,9 +430,9 @@ Return Value - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -492,12 +475,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/lookup_lookup.rst b/docs/plugins/lookup_lookup.rst index 612b4bcf..e534f8a8 100755 --- a/docs/plugins/lookup_lookup.rst +++ b/docs/plugins/lookup_lookup.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.lookup lookup -- Queries and returns elements from Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.lookup lookup -- Queries and returns elements from Nautob .. Collection note .. note:: - This lookup plugin is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This lookup plugin is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this lookup plugin, @@ -92,12 +75,13 @@ The below requirements are needed on the local controller node that executes thi Terms ----- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -117,9 +101,9 @@ Terms - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` @@ -151,12 +135,13 @@ Keyword parameters This describes keyword parameters of the lookup. These are the values ``key1=value1``, ``key2=value2`` and so on in the following examples: ``lookup('networktocode.nautobot.lookup', key1=value1, key2=value2, ...)`` and ``query('networktocode.nautobot.lookup', key1=value1, key2=value2, ...)`` -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -176,9 +161,9 @@ examples: ``lookup('networktocode.nautobot.lookup', key1=value1, key2=value2, .. - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` @@ -220,9 +205,9 @@ examples: ``lookup('networktocode.nautobot.lookup', key1=value1, key2=value2, .. - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` @@ -257,9 +242,9 @@ examples: ``lookup('networktocode.nautobot.lookup', key1=value1, key2=value2, .. - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -297,9 +282,9 @@ examples: ``lookup('networktocode.nautobot.lookup', key1=value1, key2=value2, .. - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` @@ -340,9 +325,9 @@ examples: ``lookup('networktocode.nautobot.lookup', key1=value1, key2=value2, .. - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` @@ -377,9 +362,9 @@ examples: ``lookup('networktocode.nautobot.lookup', key1=value1, key2=value2, .. - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` @@ -414,9 +399,9 @@ examples: ``lookup('networktocode.nautobot.lookup', key1=value1, key2=value2, .. - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` @@ -460,9 +445,9 @@ examples: ``lookup('networktocode.nautobot.lookup', key1=value1, key2=value2, .. - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` @@ -509,7 +494,6 @@ Examples .. code-block:: yaml+jinja - tasks: # query a list of devices - name: Obtain list of devices from Nautobot @@ -564,7 +548,6 @@ Examples - .. Facts @@ -573,12 +556,13 @@ Examples Return Value ------------ -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -598,9 +582,9 @@ Return Value - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` .. raw:: html @@ -643,12 +627,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/manufacturer_module.rst b/docs/plugins/manufacturer_module.rst index 23a1a887..fc1aa59a 100755 --- a/docs/plugins/manufacturer_module.rst +++ b/docs/plugins/manufacturer_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.manufacturer module -- Create or delete manufacturers within Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.manufacturer module -- Create or delete manufacturers wit .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.2.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -271,9 +255,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -283,7 +267,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -313,9 +297,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -327,7 +311,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -349,9 +333,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -363,7 +347,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -385,9 +369,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -397,9 +381,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -421,7 +405,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -433,7 +417,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot modules" connection: local hosts: localhost @@ -457,7 +440,6 @@ Examples - .. Facts @@ -467,12 +449,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -492,9 +475,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -509,7 +492,7 @@ Common return values are documented :ref:`here `, the foll .. rst-class:: ansible-option-line - :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) .. raw:: html @@ -532,9 +515,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -575,12 +558,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/namespace_module.rst b/docs/plugins/namespace_module.rst index e987c61f..fed3facb 100755 --- a/docs/plugins/namespace_module.rst +++ b/docs/plugins/namespace_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.namespace module -- Creates or removes namespaces from Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.namespace module -- Creates or removes namespaces from Na .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 5.1.0` @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 5.1.0` @@ -267,9 +251,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 5.1.0` @@ -304,9 +288,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -345,9 +329,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -357,7 +341,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -387,9 +371,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=any` + :ansible-option-type:`list` / :ansible-option-elements:`elements=any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -424,9 +408,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -438,7 +422,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -460,9 +444,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -474,7 +458,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -496,9 +480,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -508,9 +492,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -532,7 +516,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -544,7 +528,6 @@ Examples .. code-block:: yaml+jinja - --- - name: Create a namespace networktocode.nautobot.namespace: @@ -569,7 +552,6 @@ Examples - .. Facts @@ -579,12 +561,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -604,9 +587,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -644,9 +627,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -661,7 +644,7 @@ Common return values are documented :ref:`here `, the foll .. rst-class:: ansible-option-line - :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) .. raw:: html @@ -687,12 +670,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/nautobot_server_module.rst b/docs/plugins/nautobot_server_module.rst index c946bb88..25b63f73 100755 --- a/docs/plugins/nautobot_server_module.rst +++ b/docs/plugins/nautobot_server_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.nautobot_server module -- Manages Nautobot Server application. @@ -42,7 +22,10 @@ networktocode.nautobot.nautobot_server module -- Manages Nautobot Server applica .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -68,8 +51,8 @@ Synopsis .. Description -- Manages Nautobot Server using the \ :literal:`nautobot-server`\ application frontend to \ :literal:`django-admin`\ . With the \ :literal:`virtualenv`\ parameter -- all management commands will be executed by the given \ :literal:`virtualenv`\ installation. +- Manages Nautobot Server using the :literal:`nautobot-server` application frontend to :literal:`django-admin`. With the :literal:`virtualenv` parameter +- all management commands will be executed by the given :literal:`virtualenv` installation. .. Aliases @@ -95,12 +78,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -120,9 +104,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -133,8 +117,7 @@ Parameters
A dictionary of the optional arguments and their values used together with the command. - This translates {"name\_arg": "value\_arg"} to "--name\_arg value\_arg". - + This translates {"name\_arg": "value\_arg"} to "--name\_arg value\_arg". .. rst-class:: ansible-option-line @@ -160,9 +143,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -172,11 +155,10 @@ Parameters
- The name of the Nautobot management command to run. Some command fully implemented are: \ :literal:`createsuperuser`\ , - \ :literal:`migrate`\ , \ :literal:`makemigrations`\ , \ :literal:`post\_upgrade`\ and \ :literal:`collectstatic`\ . - Other commands can be entered, but will fail if they're unknown to Nautobot or use positional arguments. - The module will perform some basic parameter validation, when applicable, to the commands. - + The name of the Nautobot management command to run. Some command fully implemented are: :literal:`createsuperuser`\ , + :literal:`migrate`\ , :literal:`makemigrations`\ , :literal:`post\_upgrade` and :literal:`collectstatic`. + Other commands can be entered, but will fail if they're unknown to Nautobot or use positional arguments. + The module will perform some basic parameter validation, when applicable, to the commands. .. raw:: html @@ -198,9 +180,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -232,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -266,9 +248,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` .. raw:: html @@ -278,7 +260,7 @@ Parameters
- A list of flags to append to the command that is passed to \ :literal:`nautobot-server`\ , so that ["flag1", "flag2"] is translated to "--flag1 --flag2". + A list of flags to append to the command that is passed to :literal:`nautobot-server`\ , so that ["flag1", "flag2"] is translated to "--flag1 --flag2". .. rst-class:: ansible-option-line @@ -304,9 +286,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` .. raw:: html @@ -316,7 +298,7 @@ Parameters
- A list of additional arguments to append to the end of the command that is passed to \ :literal:`nautobot-server`\ . + A list of additional arguments to append to the end of the command that is passed to :literal:`nautobot-server`. These are appended to the end of the command, so that ["arg1", "arg2"] is translated to "arg1 arg2". @@ -348,13 +330,11 @@ Parameters - .. rst-class:: ansible-option-type-line - - :ansible-option-aliases:`aliases: app_path, chdir` + .. ansible-option-type-line:: - .. rst-class:: ansible-option-type-line + :ansible-option-aliases:`aliases: app_path, chdir` - :ansible-option-type:`path` + :ansible-option-type:`path` .. raw:: html @@ -364,7 +344,7 @@ Parameters
- The path to the root of the Nautobot application where \ :strong:`nautobot-server`\ lives. + The path to the root of the Nautobot application where :strong:`nautobot-server` lives. .. rst-class:: ansible-option-line @@ -392,13 +372,11 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-aliases:`aliases: python_path` + :ansible-option-aliases:`aliases: python_path` - .. rst-class:: ansible-option-type-line - - :ansible-option-type:`path` + :ansible-option-type:`path` .. raw:: html @@ -430,9 +408,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`path` + :ansible-option-type:`path` .. raw:: html @@ -466,13 +444,11 @@ Parameters - .. rst-class:: ansible-option-type-line - - :ansible-option-aliases:`aliases: virtual_env` + .. ansible-option-type-line:: - .. rst-class:: ansible-option-type-line + :ansible-option-aliases:`aliases: virtual_env` - :ansible-option-type:`path` + :ansible-option-type:`path` .. raw:: html @@ -482,7 +458,7 @@ Parameters
- An optional path to a \ :emphasis:`virtualenv`\ installation to use while running the nautobot-server application. + An optional path to a :emphasis:`virtualenv` installation to use while running the nautobot-server application. .. raw:: html @@ -499,9 +475,9 @@ Notes ----- .. note:: - - Inspired from Django\_manage (\ https://github.com/ansible-collections/community.general/blob/main/plugins/modules/web_infrastructure/django_manage.py\ ). - - To be able to use the \ :literal:`collectstatic`\ command, you must have enabled staticfiles in your nautbot\_config.py. - - Your \ :literal:`nautobot-server`\ application must be executable (rwxr-xr-x), and must have a valid shebang. + - Inspired from Django\_manage (\ `https://github.com/ansible-collections/community.general/blob/main/plugins/modules/web\_infrastructure/django\_manage.py `__\ ). + - To be able to use the :literal:`collectstatic` command, you must have enabled staticfiles in your nautbot\_config.py. + - Your :literal:`nautobot-server` application must be executable (rwxr-xr-x), and must have a valid shebang. .. Seealso @@ -513,36 +489,34 @@ Examples .. code-block:: yaml+jinja - - - name: Createsuperuser - networktocode.nautobot.nautobot_server: - command: "createsuperuser" - args: - email: "admin93@example.com" - username: "superadmin7" - db_password: "{{ db_password }}" - - name: Collectstatic - networktocode.nautobot.nautobot_server: - command: "collectstatic" - db_password: "{{ db_password }}" - - name: Post Upgrade - networktocode.nautobot.nautobot_server: - command: "post_upgrade" - - name: Make Migrations for Plugin - networktocode.nautobot.nautobot_server: - command: "makemigrations" - positional_args: ["my_plugin_name"] - db_password: "{{ db_password }}" - - name: Migrate Plugin - networktocode.nautobot.nautobot_server: - command: "migrate" - args: - verbosity: 3 - flags: ["merge"] - positional_args: ["my_plugin_name"] - db_username: "{{ db_username }}" - db_password: "{{ db_password }}" - + - name: Createsuperuser + networktocode.nautobot.nautobot_server: + command: "createsuperuser" + args: + email: "admin93@example.com" + username: "superadmin7" + db_password: "{{ db_password }}" + - name: Collectstatic + networktocode.nautobot.nautobot_server: + command: "collectstatic" + db_password: "{{ db_password }}" + - name: Post Upgrade + networktocode.nautobot.nautobot_server: + command: "post_upgrade" + - name: Make Migrations for Plugin + networktocode.nautobot.nautobot_server: + command: "makemigrations" + positional_args: ["my_plugin_name"] + db_password: "{{ db_password }}" + - name: Migrate Plugin + networktocode.nautobot.nautobot_server: + command: "migrate" + args: + verbosity: 3 + flags: ["merge"] + positional_args: ["my_plugin_name"] + db_username: "{{ db_username }}" + db_password: "{{ db_password }}" @@ -555,12 +529,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -580,9 +555,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`boolean` + :ansible-option-type:`boolean` .. raw:: html @@ -625,9 +600,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -670,9 +645,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -715,9 +690,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -727,7 +702,7 @@ Common return values are documented :ref:`here `, the foll
- The path to the root of the Nautobot application where \ :strong:`nautobot-server`\ lives. + The path to the root of the Nautobot application where :strong:`nautobot-server` lives. .. rst-class:: ansible-option-line @@ -763,12 +738,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/platform_module.rst b/docs/plugins/platform_module.rst index 5b4f7a5f..bb15c0dd 100755 --- a/docs/plugins/platform_module.rst +++ b/docs/plugins/platform_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.platform module -- Create or delete platforms within Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.platform module -- Create or delete platforms within Naut .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -267,9 +251,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -304,9 +288,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -341,9 +325,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -382,9 +366,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -394,7 +378,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -424,9 +408,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -438,7 +422,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -460,9 +444,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -474,7 +458,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -496,9 +480,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -508,9 +492,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -532,7 +516,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -544,7 +528,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot modules" connection: local hosts: localhost @@ -578,7 +561,6 @@ Examples - .. Facts @@ -588,12 +570,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -613,9 +596,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -653,9 +636,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -670,7 +653,7 @@ Common return values are documented :ref:`here `, the foll .. rst-class:: ansible-option-line - :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) .. raw:: html @@ -696,12 +679,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/plugin_module.rst b/docs/plugins/plugin_module.rst index 68e125fa..1fe49bf9 100755 --- a/docs/plugins/plugin_module.rst +++ b/docs/plugins/plugin_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.plugin module -- CRUD operation on plugin objects @@ -42,7 +22,10 @@ networktocode.nautobot.plugin module -- CRUD operation on plugin objects .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` :ansible-option-versionadded:`added in networktocode.nautobot 4.4.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 4.4.0` @@ -232,13 +216,11 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-aliases:`aliases: ids` + :ansible-option-aliases:`aliases: ids` - .. rst-class:: ansible-option-type-line - - :ansible-option-type:`dictionary` / :ansible-option-required:`required` + :ansible-option-type:`dictionary` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 4.4.0` @@ -273,9 +255,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 4.4.0` @@ -310,9 +292,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -351,9 +333,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -363,7 +345,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -393,9 +375,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -407,7 +389,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -429,9 +411,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -443,7 +425,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -465,9 +447,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -477,9 +459,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -512,7 +494,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot Plugin Module" connection: local hosts: localhost @@ -565,7 +546,7 @@ Examples attrs: description: "Authentication Administration Accounting" state: present - + - name: Create FW address-object networktocode.nautobot.plugin: url: http://nautobot.local @@ -591,7 +572,6 @@ Examples - .. Facts @@ -601,12 +581,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -626,9 +607,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -666,9 +647,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -710,12 +691,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/power_feed_module.rst b/docs/plugins/power_feed_module.rst index eb81e916..617d12c3 100755 --- a/docs/plugins/power_feed_module.rst +++ b/docs/plugins/power_feed_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.power_feed module -- Create, update or delete power feeds within Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.power_feed module -- Create, update or delete power feeds .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`integer` + :ansible-option-type:`integer` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -267,9 +251,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`integer` + :ansible-option-type:`integer` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -304,9 +288,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -341,9 +325,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -386,9 +370,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` / :ansible-option-required:`required` + :ansible-option-type:`any` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -423,9 +407,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -464,9 +448,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -501,9 +485,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -513,7 +497,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -543,9 +527,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -560,7 +544,7 @@ Parameters The status of the power feed - Required if \ :emphasis:`state=present`\ and does not exist yet + Required if :emphasis:`state=present` and does not exist yet .. raw:: html @@ -582,9 +566,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -627,9 +611,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=any` + :ansible-option-type:`list` / :ansible-option-elements:`elements=any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -664,9 +648,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -678,7 +662,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -700,9 +684,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -745,9 +729,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -759,7 +743,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -781,9 +765,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -793,9 +777,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -821,9 +805,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`integer` + :ansible-option-type:`integer` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -854,7 +838,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -866,7 +850,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot modules" connection: local hosts: localhost @@ -908,7 +891,6 @@ Examples - .. Facts @@ -918,12 +900,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -943,9 +926,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -983,9 +966,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -1000,7 +983,7 @@ Common return values are documented :ref:`here `, the foll .. rst-class:: ansible-option-line - :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) .. raw:: html @@ -1026,12 +1009,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/power_outlet_module.rst b/docs/plugins/power_outlet_module.rst index 155ca71e..36d24a74 100755 --- a/docs/plugins/power_outlet_module.rst +++ b/docs/plugins/power_outlet_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.power_outlet module -- Create, update or delete power outlets within Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.power_outlet module -- Create, update or delete power out .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` / :ansible-option-required:`required` + :ansible-option-type:`any` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -276,9 +260,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -313,9 +297,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -350,9 +334,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -391,9 +375,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -403,7 +387,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -433,9 +417,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=any` + :ansible-option-type:`list` / :ansible-option-elements:`elements=any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -470,9 +454,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -484,7 +468,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -506,9 +490,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -543,9 +527,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -557,7 +541,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -579,9 +563,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -591,9 +575,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -615,7 +599,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -627,7 +611,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot modules" connection: local hosts: localhost @@ -664,7 +647,6 @@ Examples - .. Facts @@ -674,12 +656,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -699,9 +682,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -739,9 +722,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -756,7 +739,7 @@ Common return values are documented :ref:`here `, the foll .. rst-class:: ansible-option-line - :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) .. raw:: html @@ -782,12 +765,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/power_outlet_template_module.rst b/docs/plugins/power_outlet_template_module.rst index 5ecd9e7a..cac8f02a 100755 --- a/docs/plugins/power_outlet_template_module.rst +++ b/docs/plugins/power_outlet_template_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.power_outlet_template module -- Create, update or delete power outlet templates within Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.power_outlet_template module -- Create, update or delete .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` / :ansible-option-required:`required` + :ansible-option-type:`any` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -239,9 +223,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -276,9 +260,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -313,9 +297,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -354,9 +338,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -366,7 +350,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -396,9 +380,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -410,7 +394,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -432,9 +416,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -469,9 +453,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -483,7 +467,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -505,9 +489,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -517,9 +501,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -541,7 +525,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -553,7 +537,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot modules" connection: local hosts: localhost @@ -589,7 +572,6 @@ Examples - .. Facts @@ -599,12 +581,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -624,9 +607,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -664,9 +647,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -681,7 +664,7 @@ Common return values are documented :ref:`here `, the foll .. rst-class:: ansible-option-line - :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) .. raw:: html @@ -707,12 +690,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/power_panel_module.rst b/docs/plugins/power_panel_module.rst index 840cacfd..c20cc168 100755 --- a/docs/plugins/power_panel_module.rst +++ b/docs/plugins/power_panel_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.power_panel module -- Create, update or delete power panels within Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.power_panel module -- Create, update or delete power pane .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` / :ansible-option-required:`required` + :ansible-option-type:`any` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -271,9 +255,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -308,9 +292,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -320,7 +304,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -350,9 +334,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -364,7 +348,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -386,9 +370,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -400,7 +384,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -422,9 +406,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -434,9 +418,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -458,7 +442,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -470,7 +454,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot modules" connection: local hosts: localhost @@ -508,7 +491,6 @@ Examples - .. Facts @@ -518,12 +500,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -543,9 +526,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -583,9 +566,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -600,7 +583,7 @@ Common return values are documented :ref:`here `, the foll .. rst-class:: ansible-option-line - :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) .. raw:: html @@ -626,12 +609,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/power_port_module.rst b/docs/plugins/power_port_module.rst index 0c459f15..d2632cbe 100755 --- a/docs/plugins/power_port_module.rst +++ b/docs/plugins/power_port_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.power_port module -- Create, update or delete power ports within Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.power_port module -- Create, update or delete power ports .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`integer` + :ansible-option-type:`integer` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` / :ansible-option-required:`required` + :ansible-option-type:`any` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -267,9 +251,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`integer` + :ansible-option-type:`integer` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -304,9 +288,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -341,9 +325,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -382,9 +366,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -394,7 +378,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -424,9 +408,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=any` + :ansible-option-type:`list` / :ansible-option-elements:`elements=any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -461,9 +445,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -475,7 +459,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -497,9 +481,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -534,9 +518,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -548,7 +532,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -570,9 +554,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -582,9 +566,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -606,7 +590,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -618,7 +602,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot modules" connection: local hosts: localhost @@ -655,7 +638,6 @@ Examples - .. Facts @@ -665,12 +647,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -690,9 +673,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -730,9 +713,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -747,7 +730,7 @@ Common return values are documented :ref:`here `, the foll .. rst-class:: ansible-option-line - :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) .. raw:: html @@ -773,12 +756,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/power_port_template_module.rst b/docs/plugins/power_port_template_module.rst index f497ad76..d2a98ca9 100755 --- a/docs/plugins/power_port_template_module.rst +++ b/docs/plugins/power_port_template_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.power_port_template module -- Create, update or delete power port templates within Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.power_port_template module -- Create, update or delete po .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`integer` + :ansible-option-type:`integer` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` / :ansible-option-required:`required` + :ansible-option-type:`any` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`integer` + :ansible-option-type:`integer` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -267,9 +251,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -304,9 +288,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -345,9 +329,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -357,7 +341,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -387,9 +371,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -401,7 +385,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -423,9 +407,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -460,9 +444,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -474,7 +458,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -496,9 +480,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -508,9 +492,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -532,7 +516,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -544,7 +528,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot modules" connection: local hosts: localhost @@ -580,7 +563,6 @@ Examples - .. Facts @@ -590,12 +572,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -615,9 +598,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -655,9 +638,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -672,7 +655,7 @@ Common return values are documented :ref:`here `, the foll .. rst-class:: ansible-option-line - :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) .. raw:: html @@ -698,12 +681,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/prefix_module.rst b/docs/plugins/prefix_module.rst index 94e33afb..791f56e0 100755 --- a/docs/plugins/prefix_module.rst +++ b/docs/plugins/prefix_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.prefix module -- Creates or removes prefixes from Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.prefix module -- Creates or removes prefixes from Nautobo .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`boolean` + :ansible-option-type:`boolean` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -245,7 +229,7 @@ Parameters
- If \ :literal:`yes`\ and state \ :literal:`present`\ , if an parent is given, it will get the first available prefix of the given prefix\_length inside the given parent (and namespace, if given). Unused with state \ :literal:`absent`\ . + If :literal:`yes` and state :literal:`present`\ , if an parent is given, it will get the first available prefix of the given prefix\_length inside the given parent (and namespace, if given). Unused with state :literal:`absent`. .. rst-class:: ansible-option-line @@ -275,9 +259,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`integer` + :ansible-option-type:`integer` :ansible-option-versionadded:`added in networktocode.nautobot 5.0.0` @@ -312,9 +296,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -329,9 +313,9 @@ Parameters The single location the prefix will be associated to - If you want to associate multiple locations, use the \ :literal:`prefix\_location`\ module + If you want to associate multiple locations, use the :literal:`prefix\_location` module - Using this parameter will override the \ :literal:`api\_version`\ option to \ :literal:`2.0`\ + Using this parameter will override the :literal:`api\_version` option to :literal:`2.0` .. raw:: html @@ -353,9 +337,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 5.0.0` @@ -369,7 +353,6 @@ Parameters
namespace that IP address is associated with. IPs are unique per namespaces. - .. rst-class:: ansible-option-line @@ -395,9 +378,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -410,7 +393,7 @@ Parameters
- Required if state is \ :literal:`present`\ and first\_available is \ :literal:`yes`\ . Will get a new available prefix in this parent prefix. + Required if state is :literal:`present` and first\_available is :literal:`yes`. Will get a new available prefix in this parent prefix. .. raw:: html @@ -432,9 +415,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -447,7 +430,7 @@ Parameters
- Required if state is \ :literal:`present`\ and first\_available is False. Will allocate or free this prefix. + Required if state is :literal:`present` and first\_available is False. Will allocate or free this prefix. .. raw:: html @@ -469,9 +452,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`integer` + :ansible-option-type:`integer` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -484,9 +467,8 @@ Parameters
- Required ONLY if state is \ :literal:`present`\ and first\_available is \ :literal:`yes`\ . - Will get a new available prefix of the given prefix\_length in this parent prefix. - + Required ONLY if state is :literal:`present` and first\_available is :literal:`yes`. + Will get a new available prefix of the given prefix\_length in this parent prefix. .. raw:: html @@ -508,9 +490,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -549,9 +531,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -586,9 +568,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -598,7 +580,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -628,9 +610,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -645,7 +627,7 @@ Parameters The status of the prefix - Required if \ :emphasis:`state=present`\ and does not exist yet + Required if :emphasis:`state=present` and does not exist yet .. raw:: html @@ -667,9 +649,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=any` + :ansible-option-type:`list` / :ansible-option-elements:`elements=any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -704,9 +686,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -741,9 +723,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -755,7 +737,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -777,9 +759,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 5.0.0` @@ -823,9 +805,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -837,7 +819,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -859,9 +841,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -871,9 +853,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -899,9 +881,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -932,7 +914,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -944,7 +926,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot prefix module" connection: local hosts: localhost @@ -1026,7 +1007,6 @@ Examples - .. Facts @@ -1036,12 +1016,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -1061,9 +1042,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -1101,9 +1082,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -1145,12 +1126,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/provider_module.rst b/docs/plugins/provider_module.rst index a808283d..a163758e 100755 --- a/docs/plugins/provider_module.rst +++ b/docs/plugins/provider_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.provider module -- Create, update or delete providers within Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.provider module -- Create, update or delete providers wit .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`integer` + :ansible-option-type:`integer` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -267,9 +251,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -304,9 +288,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -341,9 +325,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -378,9 +362,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -415,9 +399,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -452,9 +436,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -493,9 +477,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -505,7 +489,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -535,9 +519,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=any` + :ansible-option-type:`list` / :ansible-option-elements:`elements=any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -572,9 +556,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -586,7 +570,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -608,9 +592,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -622,7 +606,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -644,9 +628,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -656,9 +640,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -680,7 +664,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -692,7 +676,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot modules" connection: local hosts: localhost @@ -728,7 +711,6 @@ Examples - .. Facts @@ -738,12 +720,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -763,9 +746,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -803,9 +786,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -820,7 +803,7 @@ Common return values are documented :ref:`here `, the foll .. rst-class:: ansible-option-line - :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) .. raw:: html @@ -846,12 +829,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/query_graphql_module.rst b/docs/plugins/query_graphql_module.rst index 25ad70e6..6ac80667 100755 --- a/docs/plugins/query_graphql_module.rst +++ b/docs/plugins/query_graphql_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.query_graphql module -- Queries and returns elements from Nautobot GraphQL endpoint @@ -42,7 +22,10 @@ networktocode.nautobot.query_graphql module -- Queries and returns elements from .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -96,12 +79,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -121,9 +105,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -155,9 +139,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -167,7 +151,7 @@ Parameters
- Dictionary of keys/values to pass into the GraphQL query, see (\ https://pynautobot.readthedocs.io/en/latest/advanced/graphql.html\ ) for more info + Dictionary of keys/values to pass into the GraphQL query, see (\ `https://pynautobot.readthedocs.io/en/latest/advanced/graphql.html `__\ ) for more info .. rst-class:: ansible-option-line @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -205,7 +189,7 @@ Parameters
- The GraphQL formatted query string, see (\ https://pynautobot.readthedocs.io/en/latest/advanced/graphql.html\ ) for more details. + The GraphQL formatted query string, see (\ `https://pynautobot.readthedocs.io/en/latest/advanced/graphql.html `__\ ) for more details. .. raw:: html @@ -227,9 +211,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -261,9 +245,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`boolean` + :ansible-option-type:`boolean` .. raw:: html @@ -303,9 +287,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -337,9 +321,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`boolean` + :ansible-option-type:`boolean` .. raw:: html @@ -381,54 +365,52 @@ Examples .. code-block:: yaml+jinja - - # Make API Query without variables - - name: SET FACT OF STRING - set_fact: - query_string: | - query { - locations { - id + # Make API Query without variables + - name: SET FACT OF STRING + set_fact: + query_string: | + query { + locations { + id + name + parent { name - parent { - name - } } } - - # Make query to GraphQL Endpoint - - name: Obtain list of locations from Nautobot - networktocode.nautobot.query_graphql: - url: http://nautobot.local - token: thisIsMyToken - query: "{{ query_string }}" - - - # Example with variables - - name: SET FACTS TO SEND TO GRAPHQL ENDPOINT - set_fact: - graph_variables: - $location_name: AMS01 - query_string: | - query ($location_name: String!) { - locations (name: $location_name) { - id - name - parent { - name - } + } + + # Make query to GraphQL Endpoint + - name: Obtain list of locations from Nautobot + networktocode.nautobot.query_graphql: + url: http://nautobot.local + token: thisIsMyToken + query: "{{ query_string }}" + + + # Example with variables + - name: SET FACTS TO SEND TO GRAPHQL ENDPOINT + set_fact: + graph_variables: + $location_name: AMS01 + query_string: | + query ($location_name: String!) { + locations (name: $location_name) { + id + name + parent { + name } } + } - # Get Response with variables and set to root keys - - name: Obtain list of devices at location in variables from Nautobot - networktocode.nautobot.query_graphql: - url: http://nautobot.local - token: thisIsMyToken - query: "{{ query_string }}" - graph_variables: "{{ graph_variables }}" - update_hostvars: yes - + # Get Response with variables and set to root keys + - name: Obtain list of devices at location in variables from Nautobot + networktocode.nautobot.query_graphql: + url: http://nautobot.local + token: thisIsMyToken + query: "{{ query_string }}" + graph_variables: "{{ graph_variables }}" + update_hostvars: yes @@ -441,12 +423,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -466,9 +449,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -506,9 +489,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -546,9 +529,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -586,9 +569,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -629,12 +612,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/rack_group_module.rst b/docs/plugins/rack_group_module.rst index d2f9733a..ecb32a9d 100755 --- a/docs/plugins/rack_group_module.rst +++ b/docs/plugins/rack_group_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.rack_group module -- Create, update or delete racks groups within Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.rack_group module -- Create, update or delete racks group .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -208,7 +192,7 @@ Parameters
- Required if \ :emphasis:`state=present`\ and the rack does not exist yet + Required if :emphasis:`state=present` and the rack does not exist yet .. raw:: html @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -269,13 +253,11 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-aliases:`aliases: parent` + :ansible-option-aliases:`aliases: parent` - .. rst-class:: ansible-option-type-line - - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -310,9 +292,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -351,9 +333,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -363,7 +345,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -393,9 +375,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -407,7 +389,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -429,9 +411,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -443,7 +425,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -465,9 +447,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -477,9 +459,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -501,7 +483,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -513,7 +495,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot modules" connection: local hosts: localhost @@ -540,7 +521,6 @@ Examples - .. Facts @@ -550,12 +530,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -575,9 +556,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -615,9 +596,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -632,7 +613,7 @@ Common return values are documented :ref:`here `, the foll .. rst-class:: ansible-option-line - :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) .. raw:: html @@ -658,12 +639,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/rack_module.rst b/docs/plugins/rack_module.rst index a33f9cdb..604af990 100755 --- a/docs/plugins/rack_module.rst +++ b/docs/plugins/rack_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.rack module -- Create, update or delete racks within Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.rack module -- Create, update or delete racks within Naut .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -267,9 +251,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`boolean` + :ansible-option-type:`boolean` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -312,9 +296,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -349,9 +333,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -364,7 +348,7 @@ Parameters
- Required if \ :emphasis:`state=present`\ and the rack does not exist yet. + Required if :emphasis:`state=present` and the rack does not exist yet. .. raw:: html @@ -386,9 +370,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -423,9 +407,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`integer` + :ansible-option-type:`integer` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -460,9 +444,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -475,7 +459,7 @@ Parameters
- Whether the rack unit is in Millimeters or Inches and is \ :emphasis:`required`\ if outer\_width/outer\_depth is specified. + Whether the rack unit is in Millimeters or Inches and is :emphasis:`required` if outer\_width/outer\_depth is specified. .. rst-class:: ansible-option-line @@ -505,9 +489,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`integer` + :ansible-option-type:`integer` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -542,9 +526,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -583,9 +567,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -620,9 +604,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -657,9 +641,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -694,9 +678,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -706,7 +690,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -736,9 +720,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -753,7 +737,7 @@ Parameters The status of the rack - Required if \ :emphasis:`state=present`\ and does not exist yet. + Required if :emphasis:`state=present` and does not exist yet. .. raw:: html @@ -775,9 +759,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=any` + :ansible-option-type:`list` / :ansible-option-elements:`elements=any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -812,9 +796,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -849,9 +833,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -863,7 +847,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -885,9 +869,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -922,9 +906,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`integer` + :ansible-option-type:`integer` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -959,9 +943,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -973,7 +957,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -995,9 +979,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -1007,9 +991,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -1035,9 +1019,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`integer` + :ansible-option-type:`integer` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -1078,8 +1062,8 @@ Notes .. note:: - Tags should be defined as a YAML list. - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ . - - The module supports \ :literal:`check\_mode`\ . + - This should be ran with connection :literal:`local` and hosts :literal:`localhost`. + - The module supports :literal:`check\_mode`. .. Seealso @@ -1091,7 +1075,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot modules" connection: local hosts: localhost @@ -1118,7 +1101,6 @@ Examples - .. Facts @@ -1128,12 +1110,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -1153,9 +1136,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -1193,9 +1176,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -1210,7 +1193,7 @@ Common return values are documented :ref:`here `, the foll .. rst-class:: ansible-option-line - :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) .. raw:: html @@ -1236,12 +1219,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/rear_port_module.rst b/docs/plugins/rear_port_module.rst index 19ce494d..73063ff9 100755 --- a/docs/plugins/rear_port_module.rst +++ b/docs/plugins/rear_port_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.rear_port module -- Create, update or delete rear ports within Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.rear_port module -- Create, update or delete rear ports w .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` / :ansible-option-required:`required` + :ansible-option-type:`any` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -267,9 +251,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`integer` + :ansible-option-type:`integer` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -304,9 +288,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -345,9 +329,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -357,7 +341,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -387,9 +371,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=any` + :ansible-option-type:`list` / :ansible-option-elements:`elements=any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -424,9 +408,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -438,7 +422,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -460,9 +444,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -497,9 +481,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -511,7 +495,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -533,9 +517,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -545,9 +529,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -569,7 +553,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -581,7 +565,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot modules" connection: local hosts: localhost @@ -619,7 +602,6 @@ Examples - .. Facts @@ -629,12 +611,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -654,9 +637,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -694,9 +677,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -711,7 +694,7 @@ Common return values are documented :ref:`here `, the foll .. rst-class:: ansible-option-line - :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) .. raw:: html @@ -737,12 +720,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/rear_port_template_module.rst b/docs/plugins/rear_port_template_module.rst index 0a4910ec..4b7bd1c9 100755 --- a/docs/plugins/rear_port_template_module.rst +++ b/docs/plugins/rear_port_template_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.rear_port_template module -- Create, update or delete rear port templates within Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.rear_port_template module -- Create, update or delete rea .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` / :ansible-option-required:`required` + :ansible-option-type:`any` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`integer` + :ansible-option-type:`integer` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -267,9 +251,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -308,9 +292,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -320,7 +304,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -350,9 +334,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -364,7 +348,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -386,9 +370,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -423,9 +407,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -437,7 +421,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -459,9 +443,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -471,9 +455,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -495,7 +479,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -507,7 +491,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot modules" connection: local hosts: localhost @@ -544,7 +527,6 @@ Examples - .. Facts @@ -554,12 +536,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -579,9 +562,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -619,9 +602,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -636,7 +619,7 @@ Common return values are documented :ref:`here `, the foll .. rst-class:: ansible-option-line - :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) .. raw:: html @@ -662,12 +645,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/relationship_association_module.rst b/docs/plugins/relationship_association_module.rst index 44de7cdd..d360e4af 100755 --- a/docs/plugins/relationship_association_module.rst +++ b/docs/plugins/relationship_association_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.relationship_association module -- Creates or removes a relationship association from Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.relationship_association module -- Creates or removes a r .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -190,9 +174,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -224,9 +208,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -265,9 +249,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` / :ansible-option-required:`required` + :ansible-option-type:`any` / :ansible-option-required:`required` .. raw:: html @@ -299,9 +283,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -333,9 +317,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -367,9 +351,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -379,7 +363,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -409,9 +393,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -423,7 +407,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -445,9 +429,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -459,7 +443,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -481,9 +465,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -493,9 +477,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -523,7 +507,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test relationship association creation/deletion" connection: local hosts: localhost @@ -552,7 +535,6 @@ Examples - .. Facts @@ -562,12 +544,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -587,9 +570,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -627,9 +610,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -671,12 +654,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/rir_module.rst b/docs/plugins/rir_module.rst index ff7b2973..746d14bf 100755 --- a/docs/plugins/rir_module.rst +++ b/docs/plugins/rir_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.rir module -- Create, update or delete RIRs within Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.rir module -- Create, update or delete RIRs within Nautob .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`boolean` + :ansible-option-type:`boolean` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -201,9 +185,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -238,9 +222,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -279,9 +263,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -291,7 +275,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -321,9 +305,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -335,7 +319,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -357,9 +341,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -371,7 +355,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -393,9 +377,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -405,9 +389,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -429,7 +413,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -441,7 +425,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot modules" connection: local hosts: localhost @@ -472,7 +455,6 @@ Examples - .. Facts @@ -482,12 +464,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -507,9 +490,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -547,9 +530,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -564,7 +547,7 @@ Common return values are documented :ref:`here `, the foll .. rst-class:: ansible-option-line - :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) .. raw:: html @@ -590,12 +573,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/role_module.rst b/docs/plugins/role_module.rst index f058ffc8..24079cd3 100755 --- a/docs/plugins/role_module.rst +++ b/docs/plugins/role_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.role module -- Create, update or delete roles within Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.role module -- Create, update or delete roles within Naut .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 5.0.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 5.0.0` @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -267,9 +251,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 5.0.0` @@ -304,9 +288,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 5.0.0` @@ -341,9 +325,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -382,9 +366,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -394,7 +378,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -424,9 +408,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -438,7 +422,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -460,9 +444,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -474,7 +458,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -496,9 +480,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -508,9 +492,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -536,9 +520,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`integer` + :ansible-option-type:`integer` :ansible-option-versionadded:`added in networktocode.nautobot 5.0.0` @@ -569,7 +553,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -581,7 +565,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot modules" connection: local hosts: localhost @@ -607,7 +590,6 @@ Examples - .. Facts @@ -617,12 +599,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -642,9 +625,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -682,9 +665,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -699,7 +682,7 @@ Common return values are documented :ref:`here `, the foll .. rst-class:: ansible-option-line - :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) .. raw:: html @@ -725,12 +708,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/route_target_module.rst b/docs/plugins/route_target_module.rst index 5640d035..0993aa28 100755 --- a/docs/plugins/route_target_module.rst +++ b/docs/plugins/route_target_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.route_target module -- Creates or removes route targets from Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.route_target module -- Creates or removes route targets f .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -264,9 +248,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -305,9 +289,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -317,7 +301,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -347,9 +331,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=any` + :ansible-option-type:`list` / :ansible-option-elements:`elements=any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -384,9 +368,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -421,9 +405,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -435,7 +419,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -457,9 +441,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -471,7 +455,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -493,9 +477,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -505,9 +489,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -529,7 +513,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -541,7 +525,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test route target creation/deletion" connection: local hosts: localhost @@ -584,7 +567,6 @@ Examples - .. Facts @@ -594,12 +576,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -619,9 +602,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -659,9 +642,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -702,12 +685,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/service_module.rst b/docs/plugins/service_module.rst index ddeee5a2..55f69df6 100755 --- a/docs/plugins/service_module.rst +++ b/docs/plugins/service_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.service module -- Creates or removes service from Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.service module -- Creates or removes service from Nautobo .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -267,9 +251,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -304,9 +288,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -341,9 +325,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=integer` + :ansible-option-type:`list` / :ansible-option-elements:`elements=integer` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -378,9 +362,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` / :ansible-option-required:`required` + :ansible-option-type:`any` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -415,9 +399,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -456,9 +440,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -468,7 +452,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -498,9 +482,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=any` + :ansible-option-type:`list` / :ansible-option-elements:`elements=any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -535,9 +519,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -549,7 +533,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -571,9 +555,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -585,7 +569,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -607,9 +591,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -619,9 +603,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -647,9 +631,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -679,8 +663,8 @@ Notes ----- .. note:: - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ . - - The module supports \ :literal:`check\_mode`\ . + - This should be ran with connection :literal:`local` and hosts :literal:`localhost`. + - The module supports :literal:`check\_mode`. .. Seealso @@ -692,7 +676,6 @@ Examples .. code-block:: yaml+jinja - - name: "Create nautobot service" connection: local hosts: all @@ -733,7 +716,6 @@ Examples - .. Facts @@ -757,12 +739,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/status_module.rst b/docs/plugins/status_module.rst index 03dae35b..b20525bd 100755 --- a/docs/plugins/status_module.rst +++ b/docs/plugins/status_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.status module -- Creates or removes status from Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.status module -- Creates or removes status from Nautobot .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -232,9 +216,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -269,9 +253,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -306,9 +290,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -347,9 +331,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -359,7 +343,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -389,9 +373,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -403,7 +387,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -425,9 +409,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -439,7 +423,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -461,9 +445,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -473,9 +457,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -508,7 +492,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test status creation/deletion" connection: local hosts: localhost @@ -541,7 +524,6 @@ Examples - .. Facts @@ -551,12 +533,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -576,9 +559,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -616,9 +599,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -661,12 +644,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/tag_module.rst b/docs/plugins/tag_module.rst index e0fbeecd..11cd21ca 100755 --- a/docs/plugins/tag_module.rst +++ b/docs/plugins/tag_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.tag module -- Creates or removes tags from Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.tag module -- Creates or removes tags from Nautobot .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` .. raw:: html @@ -209,7 +193,7 @@ Parameters e.g. dcim.device, ipam.ipaddress (more can be found in the examples) - Required if \ :emphasis:`state=present`\ and the tag does not exist yet + Required if :emphasis:`state=present` and the tag does not exist yet .. raw:: html @@ -231,9 +215,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -268,9 +252,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -305,9 +289,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -342,9 +326,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -383,9 +367,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -395,7 +379,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -425,9 +409,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -439,7 +423,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -461,9 +445,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -475,7 +459,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -497,9 +481,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -509,9 +493,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -533,7 +517,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -545,7 +529,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test tags creation/deletion" connection: local hosts: localhost @@ -597,7 +580,7 @@ Examples loop: - { name: mgmt, description: "management" } - { name: tun, description: "tunnel" } - + - name: Delete tags networktocode.nautobot.tag: @@ -611,7 +594,6 @@ Examples - .. Facts @@ -621,12 +603,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -646,9 +629,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -686,9 +669,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -729,12 +712,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/team_module.rst b/docs/plugins/team_module.rst index cef3246a..f29b55af 100644 --- a/docs/plugins/team_module.rst +++ b/docs/plugins/team_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.team module -- Creates or removes teams from Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.team module -- Creates or removes teams from Nautobot .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -153,9 +137,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -190,9 +174,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -224,9 +208,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=any` + :ansible-option-type:`list` / :ansible-option-elements:`elements=any` .. raw:: html @@ -258,9 +242,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -295,9 +279,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -329,9 +313,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -363,9 +347,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -397,9 +381,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -438,9 +422,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -450,7 +434,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -480,9 +464,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=any` + :ansible-option-type:`list` / :ansible-option-elements:`elements=any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -517,9 +501,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -531,7 +515,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -553,9 +537,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -567,7 +551,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -589,9 +573,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -601,9 +585,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -625,7 +609,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -637,7 +621,6 @@ Examples .. code-block:: yaml+jinja - --- - name: Create a team networktocode.nautobot.team: @@ -667,7 +650,6 @@ Examples - .. Facts @@ -677,12 +659,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -702,9 +685,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -742,9 +725,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -759,7 +742,7 @@ Common return values are documented :ref:`here `, the foll .. rst-class:: ansible-option-line - :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) .. raw:: html @@ -785,12 +768,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/tenant_group_module.rst b/docs/plugins/tenant_group_module.rst index d7bc0909..6672c7bc 100755 --- a/docs/plugins/tenant_group_module.rst +++ b/docs/plugins/tenant_group_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.tenant_group module -- Creates or removes tenant groups from Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.tenant_group module -- Creates or removes tenant groups f .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -232,13 +216,11 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-aliases:`aliases: parent` + :ansible-option-aliases:`aliases: parent` - .. rst-class:: ansible-option-type-line - - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.1.0` @@ -273,9 +255,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -314,9 +296,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -326,7 +308,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -356,9 +338,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -370,7 +352,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -392,9 +374,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -406,7 +388,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -428,9 +410,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -440,9 +422,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -464,7 +446,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -476,7 +458,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot tenant group module" connection: local hosts: localhost @@ -506,8 +487,6 @@ Examples - - .. Facts @@ -517,12 +496,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -542,9 +522,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -582,9 +562,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -625,12 +605,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/tenant_module.rst b/docs/plugins/tenant_module.rst index 993bc566..01c257c9 100755 --- a/docs/plugins/tenant_module.rst +++ b/docs/plugins/tenant_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.tenant module -- Creates or removes tenants from Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.tenant module -- Creates or removes tenants from Nautobot .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -267,9 +251,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -304,9 +288,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -345,9 +329,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -357,7 +341,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -387,9 +371,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=any` + :ansible-option-type:`list` / :ansible-option-elements:`elements=any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -424,9 +408,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -461,9 +445,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -475,7 +459,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -497,9 +481,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -511,7 +495,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -533,9 +517,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -545,9 +529,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -569,7 +553,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -581,7 +565,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot module" connection: local hosts: localhost @@ -617,7 +600,6 @@ Examples - .. Facts @@ -627,12 +609,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -652,9 +635,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -692,9 +675,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -735,12 +718,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/virtual_chassis_module.rst b/docs/plugins/virtual_chassis_module.rst index 0e0a32eb..77f7dc65 100755 --- a/docs/plugins/virtual_chassis_module.rst +++ b/docs/plugins/virtual_chassis_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.virtual_chassis module -- Create, update or delete virtual chassis within Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.virtual_chassis module -- Create, update or delete virtua .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -267,9 +251,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -308,9 +292,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -320,7 +304,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -350,9 +334,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=any` + :ansible-option-type:`list` / :ansible-option-elements:`elements=any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -387,9 +371,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -401,7 +385,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -423,9 +407,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -437,7 +421,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -459,9 +443,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -471,9 +455,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -495,7 +479,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -507,7 +491,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot modules" connection: local hosts: localhost @@ -539,7 +522,6 @@ Examples - .. Facts @@ -549,12 +531,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -574,9 +557,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -614,9 +597,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -631,7 +614,7 @@ Common return values are documented :ref:`here `, the foll .. rst-class:: ansible-option-line - :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) .. raw:: html @@ -657,12 +640,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/virtual_machine_module.rst b/docs/plugins/virtual_machine_module.rst index c2ba80fc..6361e33e 100755 --- a/docs/plugins/virtual_machine_module.rst +++ b/docs/plugins/virtual_machine_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.virtual_machine module -- Create, update or delete virtual\_machines within Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.virtual_machine module -- Create, update or delete virtua .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -267,9 +251,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`integer` + :ansible-option-type:`integer` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -304,9 +288,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -341,9 +325,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`integer` + :ansible-option-type:`integer` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -378,9 +362,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -415,9 +399,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -452,9 +436,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -489,9 +473,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -526,9 +510,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -567,9 +551,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -604,9 +588,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -616,7 +600,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -646,9 +630,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -663,7 +647,7 @@ Parameters The status of the virtual machine - Required if \ :emphasis:`state=present`\ and does not exist yet + Required if :emphasis:`state=present` and does not exist yet .. raw:: html @@ -685,9 +669,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=any` + :ansible-option-type:`list` / :ansible-option-elements:`elements=any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -722,9 +706,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -759,9 +743,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -773,7 +757,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -795,9 +779,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -809,7 +793,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -831,9 +815,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -843,9 +827,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -871,9 +855,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`integer` + :ansible-option-type:`integer` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -904,7 +888,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -916,7 +900,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot modules" connection: local hosts: localhost @@ -962,7 +945,6 @@ Examples - .. Facts @@ -972,12 +954,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -997,9 +980,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -1037,9 +1020,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -1054,7 +1037,7 @@ Common return values are documented :ref:`here `, the foll .. rst-class:: ansible-option-line - :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) .. raw:: html @@ -1080,12 +1063,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/vlan_group_module.rst b/docs/plugins/vlan_group_module.rst index eb456c4b..43fc2d3d 100755 --- a/docs/plugins/vlan_group_module.rst +++ b/docs/plugins/vlan_group_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.vlan_group module -- Create, update or delete vlans groups within Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.vlan_group module -- Create, update or delete vlans group .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 5.0.0` @@ -267,9 +251,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -304,9 +288,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -345,9 +329,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -357,7 +341,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -387,9 +371,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -401,7 +385,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -423,9 +407,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -437,7 +421,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -459,9 +443,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -471,9 +455,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -495,7 +479,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -507,7 +491,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot modules" connection: local hosts: localhost @@ -533,7 +516,6 @@ Examples - .. Facts @@ -543,12 +525,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -568,9 +551,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -608,9 +591,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -625,7 +608,7 @@ Common return values are documented :ref:`here `, the foll .. rst-class:: ansible-option-line - :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) .. raw:: html @@ -651,12 +634,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/vlan_location_module.rst b/docs/plugins/vlan_location_module.rst index 9274328a..58174fe9 100644 --- a/docs/plugins/vlan_location_module.rst +++ b/docs/plugins/vlan_location_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.vlan_location module -- Create, update or delete Location assignments to VLANs within Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.vlan_location module -- Create, update or delete Location .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` / :ansible-option-required:`required` + :ansible-option-type:`any` / :ansible-option-required:`required` .. raw:: html @@ -190,9 +174,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -231,9 +215,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -243,7 +227,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -273,9 +257,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -287,7 +271,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -309,9 +293,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -323,7 +307,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -345,9 +329,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -357,9 +341,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -385,9 +369,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` / :ansible-option-required:`required` + :ansible-option-type:`any` / :ansible-option-required:`required` .. raw:: html @@ -415,7 +399,7 @@ Notes .. note:: - This module requires Nautobot v2.2+ - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -427,7 +411,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot modules" connection: local hosts: localhost @@ -454,7 +437,6 @@ Examples - .. Facts @@ -464,12 +446,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -489,9 +472,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -529,9 +512,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -546,7 +529,7 @@ Common return values are documented :ref:`here `, the foll .. rst-class:: ansible-option-line - :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) .. raw:: html @@ -572,12 +555,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/vlan_module.rst b/docs/plugins/vlan_module.rst index 17827243..b439b35a 100755 --- a/docs/plugins/vlan_module.rst +++ b/docs/plugins/vlan_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.vlan module -- Create, update or delete vlans within Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.vlan module -- Create, update or delete vlans within Naut .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -247,9 +231,9 @@ Parameters The single location the VLAN will be associated to - If you want to associate multiple locations, use the \ :literal:`vlan\_location`\ module + If you want to associate multiple locations, use the :literal:`vlan\_location` module - Using this parameter will override the \ :literal:`api\_version`\ option to \ :literal:`2.0`\ + Using this parameter will override the :literal:`api\_version` option to :literal:`2.0` .. raw:: html @@ -271,9 +255,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -308,9 +292,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -349,9 +333,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -386,9 +370,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -398,7 +382,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -428,9 +412,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -445,7 +429,7 @@ Parameters The status of the vlan - Required if \ :emphasis:`state=present`\ and does not exist yet + Required if :emphasis:`state=present` and does not exist yet .. raw:: html @@ -467,9 +451,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=any` + :ansible-option-type:`list` / :ansible-option-elements:`elements=any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -504,9 +488,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -541,9 +525,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -555,7 +539,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -577,9 +561,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -591,7 +575,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -613,9 +597,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -625,9 +609,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -653,9 +637,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`integer` + :ansible-option-type:`integer` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -690,9 +674,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -723,7 +707,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -735,7 +719,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot modules" connection: local hosts: localhost @@ -780,7 +763,6 @@ Examples - .. Facts @@ -790,12 +772,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -815,9 +798,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -855,9 +838,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -872,7 +855,7 @@ Common return values are documented :ref:`here `, the foll .. rst-class:: ansible-option-line - :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) .. raw:: html @@ -898,12 +881,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/vm_interface_module.rst b/docs/plugins/vm_interface_module.rst index 9cf8a16d..99af782f 100755 --- a/docs/plugins/vm_interface_module.rst +++ b/docs/plugins/vm_interface_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.vm_interface module -- Creates or removes interfaces from virtual machines in Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.vm_interface module -- Creates or removes interfaces from .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`boolean` + :ansible-option-type:`boolean` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -275,9 +259,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -312,9 +296,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -349,9 +333,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`integer` + :ansible-option-type:`integer` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -386,9 +370,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -423,9 +407,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -445,6 +429,43 @@ Parameters an object unique in their environment. + .. raw:: html + +
+ + * - .. raw:: html + +
+
+ + .. _ansible_collections.networktocode.nautobot.vm_interface_module__parameter-role: + + .. rst-class:: ansible-option-title + + **role** + + .. raw:: html + + + + .. ansible-option-type-line:: + + :ansible-option-type:`any` + + :ansible-option-versionadded:`added in networktocode.nautobot 5.3.0` + + + .. raw:: html + +
+ + - .. raw:: html + +
+ + The role of the interface + + .. raw:: html
@@ -464,9 +485,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -476,7 +497,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -506,9 +527,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -523,7 +544,7 @@ Parameters The status of the interface. - Required if \ :emphasis:`state=present`\ and does not exist yet + Required if :emphasis:`state=present` and does not exist yet .. raw:: html @@ -545,9 +566,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -560,7 +581,7 @@ Parameters
- A list of tagged VLANS to be assigned to interface. Mode must be set to either \ :literal:`Tagged`\ or \ :literal:`Tagged All`\ + A list of tagged VLANS to be assigned to interface. Mode must be set to either :literal:`Tagged` or :literal:`Tagged All` .. raw:: html @@ -582,9 +603,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=any` + :ansible-option-type:`list` / :ansible-option-elements:`elements=any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -619,9 +640,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -633,7 +654,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -655,9 +676,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -692,9 +713,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -706,7 +727,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -728,9 +749,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -740,9 +761,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -768,9 +789,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` / :ansible-option-required:`required` + :ansible-option-type:`any` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -801,7 +822,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -813,7 +834,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot interface module" connection: local hosts: localhost @@ -851,6 +871,7 @@ Examples - name: VoIP location: "{{ test_location['key'] }}" mtu: 1600 + role: Server mode: Tagged state: present @@ -868,7 +889,6 @@ Examples - .. Facts @@ -878,12 +898,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -903,9 +924,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -943,9 +964,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -986,12 +1007,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/docs/plugins/vrf_module.rst b/docs/plugins/vrf_module.rst index bcf645b0..35efb244 100755 --- a/docs/plugins/vrf_module.rst +++ b/docs/plugins/vrf_module.rst @@ -1,4 +1,3 @@ - .. Document meta :orphan: @@ -6,23 +5,8 @@ .. |antsibull-internal-nbsp| unicode:: 0xA0 :trim: -.. role:: ansible-attribute-support-label -.. role:: ansible-attribute-support-property -.. role:: ansible-attribute-support-full -.. role:: ansible-attribute-support-partial -.. role:: ansible-attribute-support-none -.. role:: ansible-attribute-support-na -.. role:: ansible-option-type -.. role:: ansible-option-elements -.. role:: ansible-option-required -.. role:: ansible-option-versionadded -.. role:: ansible-option-aliases -.. role:: ansible-option-choices -.. role:: ansible-option-choices-default-mark -.. role:: ansible-option-default-bold -.. role:: ansible-option-configuration -.. role:: ansible-option-returned-bold -.. role:: ansible-option-sample-bold +.. meta:: + :antsibull-docs: 2.14.0 .. Anchors @@ -30,10 +14,6 @@ .. Anchors: short name for ansible.builtin -.. Anchors: aliases - - - .. Title networktocode.nautobot.vrf module -- Create, update or delete vrfs within Nautobot @@ -42,7 +22,10 @@ networktocode.nautobot.vrf module -- Create, update or delete vrfs within Nautob .. Collection note .. note:: - This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + This module is part of the `networktocode.nautobot collection `_ (version 5.3.0). + + It is not included in ``ansible-core``. + To check whether it is installed, run :code:`ansible-galaxy collection list`. To install it, use: :code:`ansible-galaxy collection install networktocode.nautobot`. You need further requirements to be able to use this module, @@ -94,12 +77,13 @@ The below requirements are needed on the host that executes this module. Parameters ---------- -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Parameter - Comments @@ -119,9 +103,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 4.1.0` @@ -156,9 +140,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -193,9 +177,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -230,9 +214,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -267,9 +251,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -304,9 +288,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -341,9 +325,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` :ansible-option-versionadded:`added in networktocode.nautobot 5.0.0` @@ -382,9 +366,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=string` + :ansible-option-type:`list` / :ansible-option-elements:`elements=string` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -423,9 +407,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -460,9 +444,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -472,7 +456,7 @@ Parameters
- Use \ :literal:`present`\ or \ :literal:`absent`\ for adding or removing. + Use :literal:`present` or :literal:`absent` for adding or removing. .. rst-class:: ansible-option-line @@ -502,9 +486,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`list` / :ansible-option-elements:`elements=any` + :ansible-option-type:`list` / :ansible-option-elements:`elements=any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -539,9 +523,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` :ansible-option-versionadded:`added in networktocode.nautobot 3.0.0` @@ -576,9 +560,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -590,7 +574,7 @@ Parameters The token created within Nautobot to authorize API access - Can be omitted if the \ :envvar:`NAUTOBOT\_TOKEN`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_TOKEN` environment variable is configured. .. raw:: html @@ -612,9 +596,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` / :ansible-option-required:`required` + :ansible-option-type:`string` / :ansible-option-required:`required` .. raw:: html @@ -626,7 +610,7 @@ Parameters The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) - Can be omitted if the \ :envvar:`NAUTOBOT\_URL`\ environment variable is configured. + Can be omitted if the :ansenvvarref:`NAUTOBOT\_URL` environment variable is configured. .. raw:: html @@ -648,9 +632,9 @@ Parameters - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`any` + :ansible-option-type:`any` .. raw:: html @@ -660,9 +644,9 @@ Parameters
- If \ :literal:`no`\ , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. + If :literal:`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 \ :envvar:`NAUTOBOT\_VALIDATE\_CERTS`\ environment variable is configured. + Can be omitted if the :ansenvvar:`NAUTOBOT\_VALIDATE\_CERTS` environment variable is configured. .. rst-class:: ansible-option-line @@ -684,7 +668,7 @@ Notes .. note:: - Tags should be defined as a YAML list - - This should be ran with connection \ :literal:`local`\ and hosts \ :literal:`localhost`\ + - This should be ran with connection :literal:`local` and hosts :literal:`localhost` .. Seealso @@ -696,7 +680,6 @@ Examples .. code-block:: yaml+jinja - - name: "Test Nautobot modules" connection: local hosts: localhost @@ -735,7 +718,6 @@ Examples - .. Facts @@ -745,12 +727,13 @@ Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this module: -.. rst-class:: ansible-option-table +.. tabularcolumns:: \X{1}{3}\X{2}{3} .. list-table:: :width: 100% :widths: auto :header-rows: 1 + :class: longtable ansible-option-table * - Key - Description @@ -770,9 +753,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`string` + :ansible-option-type:`string` .. raw:: html @@ -810,9 +793,9 @@ Common return values are documented :ref:`here `, the foll - .. rst-class:: ansible-option-type-line + .. ansible-option-type-line:: - :ansible-option-type:`dictionary` + :ansible-option-type:`dictionary` .. raw:: html @@ -827,7 +810,7 @@ Common return values are documented :ref:`here `, the foll .. rst-class:: ansible-option-line - :ansible-option-returned-bold:`Returned:` success (when \ :emphasis:`state=present`\ ) + :ansible-option-returned-bold:`Returned:` success (when :emphasis:`state=present`\ ) .. raw:: html @@ -853,12 +836,14 @@ Authors Collection links ~~~~~~~~~~~~~~~~ -.. raw:: html +.. ansible-links:: - + - title: "Issue Tracker" + url: "https://github.com/nautobot/nautobot-ansible/issues" + external: true + - title: "Repository (Sources)" + url: "https://github.com/nautobot/nautobot-ansible" + external: true -.. Parsing errors +.. Parsing errors diff --git a/poetry.lock b/poetry.lock index 34dc342d..0704e988 100644 --- a/poetry.lock +++ b/poetry.lock @@ -13,98 +13,113 @@ files = [ [[package]] name = "aiohappyeyeballs" -version = "2.3.5" +version = "2.4.0" description = "Happy Eyeballs for asyncio" optional = false python-versions = ">=3.8" files = [ - {file = "aiohappyeyeballs-2.3.5-py3-none-any.whl", hash = "sha256:4d6dea59215537dbc746e93e779caea8178c866856a721c9c660d7a5a7b8be03"}, - {file = "aiohappyeyeballs-2.3.5.tar.gz", hash = "sha256:6fa48b9f1317254f122a07a131a86b71ca6946ca989ce6326fff54a99a920105"}, + {file = "aiohappyeyeballs-2.4.0-py3-none-any.whl", hash = "sha256:7ce92076e249169a13c2f49320d1967425eaf1f407522d707d59cac7628d62bd"}, + {file = "aiohappyeyeballs-2.4.0.tar.gz", hash = "sha256:55a1714f084e63d49639800f95716da97a1f173d46a16dfcfda0016abb93b6b2"}, ] [[package]] name = "aiohttp" -version = "3.10.3" +version = "3.10.5" description = "Async http client/server framework (asyncio)" optional = false python-versions = ">=3.8" files = [ - {file = "aiohttp-3.10.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cc36cbdedf6f259371dbbbcaae5bb0e95b879bc501668ab6306af867577eb5db"}, - {file = "aiohttp-3.10.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:85466b5a695c2a7db13eb2c200af552d13e6a9313d7fa92e4ffe04a2c0ea74c1"}, - {file = "aiohttp-3.10.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:71bb1d97bfe7e6726267cea169fdf5df7658831bb68ec02c9c6b9f3511e108bb"}, - {file = "aiohttp-3.10.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:baec1eb274f78b2de54471fc4c69ecbea4275965eab4b556ef7a7698dee18bf2"}, - {file = "aiohttp-3.10.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:13031e7ec1188274bad243255c328cc3019e36a5a907978501256000d57a7201"}, - {file = "aiohttp-3.10.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2bbc55a964b8eecb341e492ae91c3bd0848324d313e1e71a27e3d96e6ee7e8e8"}, - {file = "aiohttp-3.10.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e8cc0564b286b625e673a2615ede60a1704d0cbbf1b24604e28c31ed37dc62aa"}, - {file = "aiohttp-3.10.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f817a54059a4cfbc385a7f51696359c642088710e731e8df80d0607193ed2b73"}, - {file = "aiohttp-3.10.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:8542c9e5bcb2bd3115acdf5adc41cda394e7360916197805e7e32b93d821ef93"}, - {file = "aiohttp-3.10.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:671efce3a4a0281060edf9a07a2f7e6230dca3a1cbc61d110eee7753d28405f7"}, - {file = "aiohttp-3.10.3-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:0974f3b5b0132edcec92c3306f858ad4356a63d26b18021d859c9927616ebf27"}, - {file = "aiohttp-3.10.3-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:44bb159b55926b57812dca1b21c34528e800963ffe130d08b049b2d6b994ada7"}, - {file = "aiohttp-3.10.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:6ae9ae382d1c9617a91647575255ad55a48bfdde34cc2185dd558ce476bf16e9"}, - {file = "aiohttp-3.10.3-cp310-cp310-win32.whl", hash = "sha256:aed12a54d4e1ee647376fa541e1b7621505001f9f939debf51397b9329fd88b9"}, - {file = "aiohttp-3.10.3-cp310-cp310-win_amd64.whl", hash = "sha256:b51aef59370baf7444de1572f7830f59ddbabd04e5292fa4218d02f085f8d299"}, - {file = "aiohttp-3.10.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:e021c4c778644e8cdc09487d65564265e6b149896a17d7c0f52e9a088cc44e1b"}, - {file = "aiohttp-3.10.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:24fade6dae446b183e2410a8628b80df9b7a42205c6bfc2eff783cbeedc224a2"}, - {file = "aiohttp-3.10.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bc8e9f15939dacb0e1f2d15f9c41b786051c10472c7a926f5771e99b49a5957f"}, - {file = "aiohttp-3.10.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d5a9ec959b5381271c8ec9310aae1713b2aec29efa32e232e5ef7dcca0df0279"}, - {file = "aiohttp-3.10.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2a5d0ea8a6467b15d53b00c4e8ea8811e47c3cc1bdbc62b1aceb3076403d551f"}, - {file = "aiohttp-3.10.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c9ed607dbbdd0d4d39b597e5bf6b0d40d844dfb0ac6a123ed79042ef08c1f87e"}, - {file = "aiohttp-3.10.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d3e66d5b506832e56add66af88c288c1d5ba0c38b535a1a59e436b300b57b23e"}, - {file = "aiohttp-3.10.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fda91ad797e4914cca0afa8b6cccd5d2b3569ccc88731be202f6adce39503189"}, - {file = "aiohttp-3.10.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:61ccb867b2f2f53df6598eb2a93329b5eee0b00646ee79ea67d68844747a418e"}, - {file = "aiohttp-3.10.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:6d881353264e6156f215b3cb778c9ac3184f5465c2ece5e6fce82e68946868ef"}, - {file = "aiohttp-3.10.3-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:b031ce229114825f49cec4434fa844ccb5225e266c3e146cb4bdd025a6da52f1"}, - {file = "aiohttp-3.10.3-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:5337cc742a03f9e3213b097abff8781f79de7190bbfaa987bd2b7ceb5bb0bdec"}, - {file = "aiohttp-3.10.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ab3361159fd3dcd0e48bbe804006d5cfb074b382666e6c064112056eb234f1a9"}, - {file = "aiohttp-3.10.3-cp311-cp311-win32.whl", hash = "sha256:05d66203a530209cbe40f102ebaac0b2214aba2a33c075d0bf825987c36f1f0b"}, - {file = "aiohttp-3.10.3-cp311-cp311-win_amd64.whl", hash = "sha256:70b4a4984a70a2322b70e088d654528129783ac1ebbf7dd76627b3bd22db2f17"}, - {file = "aiohttp-3.10.3-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:166de65e2e4e63357cfa8417cf952a519ac42f1654cb2d43ed76899e2319b1ee"}, - {file = "aiohttp-3.10.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:7084876352ba3833d5d214e02b32d794e3fd9cf21fdba99cff5acabeb90d9806"}, - {file = "aiohttp-3.10.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8d98c604c93403288591d7d6d7d6cc8a63459168f8846aeffd5b3a7f3b3e5e09"}, - {file = "aiohttp-3.10.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d73b073a25a0bb8bf014345374fe2d0f63681ab5da4c22f9d2025ca3e3ea54fc"}, - {file = "aiohttp-3.10.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8da6b48c20ce78f5721068f383e0e113dde034e868f1b2f5ee7cb1e95f91db57"}, - {file = "aiohttp-3.10.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3a9dcdccf50284b1b0dc72bc57e5bbd3cc9bf019060dfa0668f63241ccc16aa7"}, - {file = "aiohttp-3.10.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:56fb94bae2be58f68d000d046172d8b8e6b1b571eb02ceee5535e9633dcd559c"}, - {file = "aiohttp-3.10.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bf75716377aad2c718cdf66451c5cf02042085d84522aec1f9246d3e4b8641a6"}, - {file = "aiohttp-3.10.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6c51ed03e19c885c8e91f574e4bbe7381793f56f93229731597e4a499ffef2a5"}, - {file = "aiohttp-3.10.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b84857b66fa6510a163bb083c1199d1ee091a40163cfcbbd0642495fed096204"}, - {file = "aiohttp-3.10.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c124b9206b1befe0491f48185fd30a0dd51b0f4e0e7e43ac1236066215aff272"}, - {file = "aiohttp-3.10.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:3461d9294941937f07bbbaa6227ba799bc71cc3b22c40222568dc1cca5118f68"}, - {file = "aiohttp-3.10.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:08bd0754d257b2db27d6bab208c74601df6f21bfe4cb2ec7b258ba691aac64b3"}, - {file = "aiohttp-3.10.3-cp312-cp312-win32.whl", hash = "sha256:7f9159ae530297f61a00116771e57516f89a3de6ba33f314402e41560872b50a"}, - {file = "aiohttp-3.10.3-cp312-cp312-win_amd64.whl", hash = "sha256:e1128c5d3a466279cb23c4aa32a0f6cb0e7d2961e74e9e421f90e74f75ec1edf"}, - {file = "aiohttp-3.10.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:d1100e68e70eb72eadba2b932b185ebf0f28fd2f0dbfe576cfa9d9894ef49752"}, - {file = "aiohttp-3.10.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a541414578ff47c0a9b0b8b77381ea86b0c8531ab37fc587572cb662ccd80b88"}, - {file = "aiohttp-3.10.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:d5548444ef60bf4c7b19ace21f032fa42d822e516a6940d36579f7bfa8513f9c"}, - {file = "aiohttp-3.10.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5ba2e838b5e6a8755ac8297275c9460e729dc1522b6454aee1766c6de6d56e5e"}, - {file = "aiohttp-3.10.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:48665433bb59144aaf502c324694bec25867eb6630fcd831f7a893ca473fcde4"}, - {file = "aiohttp-3.10.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bac352fceed158620ce2d701ad39d4c1c76d114255a7c530e057e2b9f55bdf9f"}, - {file = "aiohttp-3.10.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b0f670502100cdc567188c49415bebba947eb3edaa2028e1a50dd81bd13363f"}, - {file = "aiohttp-3.10.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:43b09f38a67679e32d380fe512189ccb0b25e15afc79b23fbd5b5e48e4fc8fd9"}, - {file = "aiohttp-3.10.3-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:cd788602e239ace64f257d1c9d39898ca65525583f0fbf0988bcba19418fe93f"}, - {file = "aiohttp-3.10.3-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:214277dcb07ab3875f17ee1c777d446dcce75bea85846849cc9d139ab8f5081f"}, - {file = "aiohttp-3.10.3-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:32007fdcaab789689c2ecaaf4b71f8e37bf012a15cd02c0a9db8c4d0e7989fa8"}, - {file = "aiohttp-3.10.3-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:123e5819bfe1b87204575515cf448ab3bf1489cdeb3b61012bde716cda5853e7"}, - {file = "aiohttp-3.10.3-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:812121a201f0c02491a5db335a737b4113151926a79ae9ed1a9f41ea225c0e3f"}, - {file = "aiohttp-3.10.3-cp38-cp38-win32.whl", hash = "sha256:b97dc9a17a59f350c0caa453a3cb35671a2ffa3a29a6ef3568b523b9113d84e5"}, - {file = "aiohttp-3.10.3-cp38-cp38-win_amd64.whl", hash = "sha256:3731a73ddc26969d65f90471c635abd4e1546a25299b687e654ea6d2fc052394"}, - {file = "aiohttp-3.10.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:38d91b98b4320ffe66efa56cb0f614a05af53b675ce1b8607cdb2ac826a8d58e"}, - {file = "aiohttp-3.10.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9743fa34a10a36ddd448bba8a3adc2a66a1c575c3c2940301bacd6cc896c6bf1"}, - {file = "aiohttp-3.10.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:7c126f532caf238031c19d169cfae3c6a59129452c990a6e84d6e7b198a001dc"}, - {file = "aiohttp-3.10.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:926e68438f05703e500b06fe7148ef3013dd6f276de65c68558fa9974eeb59ad"}, - {file = "aiohttp-3.10.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:434b3ab75833accd0b931d11874e206e816f6e6626fd69f643d6a8269cd9166a"}, - {file = "aiohttp-3.10.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d35235a44ec38109b811c3600d15d8383297a8fab8e3dec6147477ec8636712a"}, - {file = "aiohttp-3.10.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:59c489661edbd863edb30a8bd69ecb044bd381d1818022bc698ba1b6f80e5dd1"}, - {file = "aiohttp-3.10.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:50544fe498c81cb98912afabfc4e4d9d85e89f86238348e3712f7ca6a2f01dab"}, - {file = "aiohttp-3.10.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:09bc79275737d4dc066e0ae2951866bb36d9c6b460cb7564f111cc0427f14844"}, - {file = "aiohttp-3.10.3-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:af4dbec58e37f5afff4f91cdf235e8e4b0bd0127a2a4fd1040e2cad3369d2f06"}, - {file = "aiohttp-3.10.3-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:b22cae3c9dd55a6b4c48c63081d31c00fc11fa9db1a20c8a50ee38c1a29539d2"}, - {file = "aiohttp-3.10.3-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:ba562736d3fbfe9241dad46c1a8994478d4a0e50796d80e29d50cabe8fbfcc3f"}, - {file = "aiohttp-3.10.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:f25d6c4e82d7489be84f2b1c8212fafc021b3731abdb61a563c90e37cced3a21"}, - {file = "aiohttp-3.10.3-cp39-cp39-win32.whl", hash = "sha256:b69d832e5f5fa15b1b6b2c8eb6a9fd2c0ec1fd7729cb4322ed27771afc9fc2ac"}, - {file = "aiohttp-3.10.3-cp39-cp39-win_amd64.whl", hash = "sha256:673bb6e3249dc8825df1105f6ef74e2eab779b7ff78e96c15cadb78b04a83752"}, - {file = "aiohttp-3.10.3.tar.gz", hash = "sha256:21650e7032cc2d31fc23d353d7123e771354f2a3d5b05a5647fc30fea214e696"}, + {file = "aiohttp-3.10.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:18a01eba2574fb9edd5f6e5fb25f66e6ce061da5dab5db75e13fe1558142e0a3"}, + {file = "aiohttp-3.10.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:94fac7c6e77ccb1ca91e9eb4cb0ac0270b9fb9b289738654120ba8cebb1189c6"}, + {file = "aiohttp-3.10.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2f1f1c75c395991ce9c94d3e4aa96e5c59c8356a15b1c9231e783865e2772699"}, + {file = "aiohttp-3.10.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f7acae3cf1a2a2361ec4c8e787eaaa86a94171d2417aae53c0cca6ca3118ff6"}, + {file = "aiohttp-3.10.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:94c4381ffba9cc508b37d2e536b418d5ea9cfdc2848b9a7fea6aebad4ec6aac1"}, + {file = "aiohttp-3.10.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c31ad0c0c507894e3eaa843415841995bf8de4d6b2d24c6e33099f4bc9fc0d4f"}, + {file = "aiohttp-3.10.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0912b8a8fadeb32ff67a3ed44249448c20148397c1ed905d5dac185b4ca547bb"}, + {file = "aiohttp-3.10.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0d93400c18596b7dc4794d48a63fb361b01a0d8eb39f28800dc900c8fbdaca91"}, + {file = "aiohttp-3.10.5-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d00f3c5e0d764a5c9aa5a62d99728c56d455310bcc288a79cab10157b3af426f"}, + {file = "aiohttp-3.10.5-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:d742c36ed44f2798c8d3f4bc511f479b9ceef2b93f348671184139e7d708042c"}, + {file = "aiohttp-3.10.5-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:814375093edae5f1cb31e3407997cf3eacefb9010f96df10d64829362ae2df69"}, + {file = "aiohttp-3.10.5-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8224f98be68a84b19f48e0bdc14224b5a71339aff3a27df69989fa47d01296f3"}, + {file = "aiohttp-3.10.5-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d9a487ef090aea982d748b1b0d74fe7c3950b109df967630a20584f9a99c0683"}, + {file = "aiohttp-3.10.5-cp310-cp310-win32.whl", hash = "sha256:d9ef084e3dc690ad50137cc05831c52b6ca428096e6deb3c43e95827f531d5ef"}, + {file = "aiohttp-3.10.5-cp310-cp310-win_amd64.whl", hash = "sha256:66bf9234e08fe561dccd62083bf67400bdbf1c67ba9efdc3dac03650e97c6088"}, + {file = "aiohttp-3.10.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8c6a4e5e40156d72a40241a25cc226051c0a8d816610097a8e8f517aeacd59a2"}, + {file = "aiohttp-3.10.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2c634a3207a5445be65536d38c13791904fda0748b9eabf908d3fe86a52941cf"}, + {file = "aiohttp-3.10.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4aff049b5e629ef9b3e9e617fa6e2dfeda1bf87e01bcfecaf3949af9e210105e"}, + {file = "aiohttp-3.10.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1942244f00baaacaa8155eca94dbd9e8cc7017deb69b75ef67c78e89fdad3c77"}, + {file = "aiohttp-3.10.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e04a1f2a65ad2f93aa20f9ff9f1b672bf912413e5547f60749fa2ef8a644e061"}, + {file = "aiohttp-3.10.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7f2bfc0032a00405d4af2ba27f3c429e851d04fad1e5ceee4080a1c570476697"}, + {file = "aiohttp-3.10.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:424ae21498790e12eb759040bbb504e5e280cab64693d14775c54269fd1d2bb7"}, + {file = "aiohttp-3.10.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:975218eee0e6d24eb336d0328c768ebc5d617609affaca5dbbd6dd1984f16ed0"}, + {file = "aiohttp-3.10.5-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:4120d7fefa1e2d8fb6f650b11489710091788de554e2b6f8347c7a20ceb003f5"}, + {file = "aiohttp-3.10.5-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:b90078989ef3fc45cf9221d3859acd1108af7560c52397ff4ace8ad7052a132e"}, + {file = "aiohttp-3.10.5-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:ba5a8b74c2a8af7d862399cdedce1533642fa727def0b8c3e3e02fcb52dca1b1"}, + {file = "aiohttp-3.10.5-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:02594361128f780eecc2a29939d9dfc870e17b45178a867bf61a11b2a4367277"}, + {file = "aiohttp-3.10.5-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:8fb4fc029e135859f533025bc82047334e24b0d489e75513144f25408ecaf058"}, + {file = "aiohttp-3.10.5-cp311-cp311-win32.whl", hash = "sha256:e1ca1ef5ba129718a8fc827b0867f6aa4e893c56eb00003b7367f8a733a9b072"}, + {file = "aiohttp-3.10.5-cp311-cp311-win_amd64.whl", hash = "sha256:349ef8a73a7c5665cca65c88ab24abe75447e28aa3bc4c93ea5093474dfdf0ff"}, + {file = "aiohttp-3.10.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:305be5ff2081fa1d283a76113b8df7a14c10d75602a38d9f012935df20731487"}, + {file = "aiohttp-3.10.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3a1c32a19ee6bbde02f1cb189e13a71b321256cc1d431196a9f824050b160d5a"}, + {file = "aiohttp-3.10.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:61645818edd40cc6f455b851277a21bf420ce347baa0b86eaa41d51ef58ba23d"}, + {file = "aiohttp-3.10.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c225286f2b13bab5987425558baa5cbdb2bc925b2998038fa028245ef421e75"}, + {file = "aiohttp-3.10.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8ba01ebc6175e1e6b7275c907a3a36be48a2d487549b656aa90c8a910d9f3178"}, + {file = "aiohttp-3.10.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8eaf44ccbc4e35762683078b72bf293f476561d8b68ec8a64f98cf32811c323e"}, + {file = "aiohttp-3.10.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1c43eb1ab7cbf411b8e387dc169acb31f0ca0d8c09ba63f9eac67829585b44f"}, + {file = "aiohttp-3.10.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:de7a5299827253023c55ea549444e058c0eb496931fa05d693b95140a947cb73"}, + {file = "aiohttp-3.10.5-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4790f0e15f00058f7599dab2b206d3049d7ac464dc2e5eae0e93fa18aee9e7bf"}, + {file = "aiohttp-3.10.5-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:44b324a6b8376a23e6ba25d368726ee3bc281e6ab306db80b5819999c737d820"}, + {file = "aiohttp-3.10.5-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:0d277cfb304118079e7044aad0b76685d30ecb86f83a0711fc5fb257ffe832ca"}, + {file = "aiohttp-3.10.5-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:54d9ddea424cd19d3ff6128601a4a4d23d54a421f9b4c0fff740505813739a91"}, + {file = "aiohttp-3.10.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:4f1c9866ccf48a6df2b06823e6ae80573529f2af3a0992ec4fe75b1a510df8a6"}, + {file = "aiohttp-3.10.5-cp312-cp312-win32.whl", hash = "sha256:dc4826823121783dccc0871e3f405417ac116055bf184ac04c36f98b75aacd12"}, + {file = "aiohttp-3.10.5-cp312-cp312-win_amd64.whl", hash = "sha256:22c0a23a3b3138a6bf76fc553789cb1a703836da86b0f306b6f0dc1617398abc"}, + {file = "aiohttp-3.10.5-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:7f6b639c36734eaa80a6c152a238242bedcee9b953f23bb887e9102976343092"}, + {file = "aiohttp-3.10.5-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f29930bc2921cef955ba39a3ff87d2c4398a0394ae217f41cb02d5c26c8b1b77"}, + {file = "aiohttp-3.10.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f489a2c9e6455d87eabf907ac0b7d230a9786be43fbe884ad184ddf9e9c1e385"}, + {file = "aiohttp-3.10.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:123dd5b16b75b2962d0fff566effb7a065e33cd4538c1692fb31c3bda2bfb972"}, + {file = "aiohttp-3.10.5-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b98e698dc34966e5976e10bbca6d26d6724e6bdea853c7c10162a3235aba6e16"}, + {file = "aiohttp-3.10.5-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c3b9162bab7e42f21243effc822652dc5bb5e8ff42a4eb62fe7782bcbcdfacf6"}, + {file = "aiohttp-3.10.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1923a5c44061bffd5eebeef58cecf68096e35003907d8201a4d0d6f6e387ccaa"}, + {file = "aiohttp-3.10.5-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d55f011da0a843c3d3df2c2cf4e537b8070a419f891c930245f05d329c4b0689"}, + {file = "aiohttp-3.10.5-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:afe16a84498441d05e9189a15900640a2d2b5e76cf4efe8cbb088ab4f112ee57"}, + {file = "aiohttp-3.10.5-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:f8112fb501b1e0567a1251a2fd0747baae60a4ab325a871e975b7bb67e59221f"}, + {file = "aiohttp-3.10.5-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:1e72589da4c90337837fdfe2026ae1952c0f4a6e793adbbfbdd40efed7c63599"}, + {file = "aiohttp-3.10.5-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:4d46c7b4173415d8e583045fbc4daa48b40e31b19ce595b8d92cf639396c15d5"}, + {file = "aiohttp-3.10.5-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:33e6bc4bab477c772a541f76cd91e11ccb6d2efa2b8d7d7883591dfb523e5987"}, + {file = "aiohttp-3.10.5-cp313-cp313-win32.whl", hash = "sha256:c58c6837a2c2a7cf3133983e64173aec11f9c2cd8e87ec2fdc16ce727bcf1a04"}, + {file = "aiohttp-3.10.5-cp313-cp313-win_amd64.whl", hash = "sha256:38172a70005252b6893088c0f5e8a47d173df7cc2b2bd88650957eb84fcf5022"}, + {file = "aiohttp-3.10.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:f6f18898ace4bcd2d41a122916475344a87f1dfdec626ecde9ee802a711bc569"}, + {file = "aiohttp-3.10.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:5ede29d91a40ba22ac1b922ef510aab871652f6c88ef60b9dcdf773c6d32ad7a"}, + {file = "aiohttp-3.10.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:673f988370f5954df96cc31fd99c7312a3af0a97f09e407399f61583f30da9bc"}, + {file = "aiohttp-3.10.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:58718e181c56a3c02d25b09d4115eb02aafe1a732ce5714ab70326d9776457c3"}, + {file = "aiohttp-3.10.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4b38b1570242fbab8d86a84128fb5b5234a2f70c2e32f3070143a6d94bc854cf"}, + {file = "aiohttp-3.10.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:074d1bff0163e107e97bd48cad9f928fa5a3eb4b9d33366137ffce08a63e37fe"}, + {file = "aiohttp-3.10.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd31f176429cecbc1ba499d4aba31aaccfea488f418d60376b911269d3b883c5"}, + {file = "aiohttp-3.10.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7384d0b87d4635ec38db9263e6a3f1eb609e2e06087f0aa7f63b76833737b471"}, + {file = "aiohttp-3.10.5-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:8989f46f3d7ef79585e98fa991e6ded55d2f48ae56d2c9fa5e491a6e4effb589"}, + {file = "aiohttp-3.10.5-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:c83f7a107abb89a227d6c454c613e7606c12a42b9a4ca9c5d7dad25d47c776ae"}, + {file = "aiohttp-3.10.5-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:cde98f323d6bf161041e7627a5fd763f9fd829bcfcd089804a5fdce7bb6e1b7d"}, + {file = "aiohttp-3.10.5-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:676f94c5480d8eefd97c0c7e3953315e4d8c2b71f3b49539beb2aa676c58272f"}, + {file = "aiohttp-3.10.5-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:2d21ac12dc943c68135ff858c3a989f2194a709e6e10b4c8977d7fcd67dfd511"}, + {file = "aiohttp-3.10.5-cp38-cp38-win32.whl", hash = "sha256:17e997105bd1a260850272bfb50e2a328e029c941c2708170d9d978d5a30ad9a"}, + {file = "aiohttp-3.10.5-cp38-cp38-win_amd64.whl", hash = "sha256:1c19de68896747a2aa6257ae4cf6ef59d73917a36a35ee9d0a6f48cff0f94db8"}, + {file = "aiohttp-3.10.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7e2fe37ac654032db1f3499fe56e77190282534810e2a8e833141a021faaab0e"}, + {file = "aiohttp-3.10.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f5bf3ead3cb66ab990ee2561373b009db5bc0e857549b6c9ba84b20bc462e172"}, + {file = "aiohttp-3.10.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1b2c16a919d936ca87a3c5f0e43af12a89a3ce7ccbce59a2d6784caba945b68b"}, + {file = "aiohttp-3.10.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ad146dae5977c4dd435eb31373b3fe9b0b1bf26858c6fc452bf6af394067e10b"}, + {file = "aiohttp-3.10.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8c5c6fa16412b35999320f5c9690c0f554392dc222c04e559217e0f9ae244b92"}, + {file = "aiohttp-3.10.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:95c4dc6f61d610bc0ee1edc6f29d993f10febfe5b76bb470b486d90bbece6b22"}, + {file = "aiohttp-3.10.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da452c2c322e9ce0cfef392e469a26d63d42860f829026a63374fde6b5c5876f"}, + {file = "aiohttp-3.10.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:898715cf566ec2869d5cb4d5fb4be408964704c46c96b4be267442d265390f32"}, + {file = "aiohttp-3.10.5-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:391cc3a9c1527e424c6865e087897e766a917f15dddb360174a70467572ac6ce"}, + {file = "aiohttp-3.10.5-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:380f926b51b92d02a34119d072f178d80bbda334d1a7e10fa22d467a66e494db"}, + {file = "aiohttp-3.10.5-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ce91db90dbf37bb6fa0997f26574107e1b9d5ff939315247b7e615baa8ec313b"}, + {file = "aiohttp-3.10.5-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:9093a81e18c45227eebe4c16124ebf3e0d893830c6aca7cc310bfca8fe59d857"}, + {file = "aiohttp-3.10.5-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:ee40b40aa753d844162dcc80d0fe256b87cba48ca0054f64e68000453caead11"}, + {file = "aiohttp-3.10.5-cp39-cp39-win32.whl", hash = "sha256:03f2645adbe17f274444953bdea69f8327e9d278d961d85657cb0d06864814c1"}, + {file = "aiohttp-3.10.5-cp39-cp39-win_amd64.whl", hash = "sha256:d17920f18e6ee090bdd3d0bfffd769d9f2cb4c8ffde3eb203777a3895c128862"}, + {file = "aiohttp-3.10.5.tar.gz", hash = "sha256:f071854b47d39591ce9a17981c46790acb30518e2f83dfca8db2dfa091178691"}, ] [package.dependencies] @@ -157,13 +172,13 @@ files = [ [[package]] name = "ansible-core" -version = "2.17.3" +version = "2.17.4" description = "Radically simple IT automation" optional = false python-versions = ">=3.10" files = [ - {file = "ansible_core-2.17.3-py3-none-any.whl", hash = "sha256:71e5c93729cc5bf09ecdf0cac675685fd345d1571312409029bf842420850f23"}, - {file = "ansible_core-2.17.3.tar.gz", hash = "sha256:917557065339fe36e7078e9bea47eefab6d6877f3bd435fa5f0d766d04c58485"}, + {file = "ansible_core-2.17.4-py3-none-any.whl", hash = "sha256:a36c9ab8e84d5d51f9fffe389d6ac7e81c8d0df6af8c12429ddbb71e8d69b21e"}, + {file = "ansible_core-2.17.4.tar.gz", hash = "sha256:44a1f30076796536ba2455cad18d36e62870f04e632e3ca2ebe970d7beacf24d"}, ] [package.dependencies] @@ -189,13 +204,13 @@ pygments = ">=2.4.0" [[package]] name = "antsibull" -version = "0.63.1" +version = "0.64.0" description = "Tools for building the Ansible Distribution" optional = false python-versions = ">=3.9" files = [ - {file = "antsibull-0.63.1-py3-none-any.whl", hash = "sha256:a8056df6a82170ec98579820d7b80d84950ca181e34bcceec6139db5c8989ec2"}, - {file = "antsibull-0.63.1.tar.gz", hash = "sha256:f8f42f727e29c8ad94143f550973e46df2a126e42275087707247b656d1314dc"}, + {file = "antsibull-0.64.0-py3-none-any.whl", hash = "sha256:afcd946bacd1775fec4435023ad71f50abc32bb0c6860feedbf43bfb34201cf0"}, + {file = "antsibull-0.64.0.tar.gz", hash = "sha256:227133ee70c31d6739ec7d9b468690951e6f168cb8f4ea2f968cdf15e4000eec"}, ] [package.dependencies] @@ -217,52 +232,53 @@ all = ["pyperclip"] clipboard = ["pyperclip"] codeqa = ["flake8 (>=3.8.0)", "pylint", "reuse"] coverage = ["coverage[toml]"] -dev = ["asynctest", "coverage[toml]", "cryptography", "flake8 (>=3.8.0)", "mypy", "nox", "pylint", "pyperclip", "pyre-check (>=0.9.15)", "pytest", "pytest-asyncio (>=0.12)", "pytest-cov", "pytest-error-for-skips", "reuse", "types-aiofiles", "types-docutils", "types-pyyaml", "types-setuptools"] +dev = ["asynctest", "coverage[toml]", "cryptography", "flake8 (>=3.8.0)", "mypy", "nox", "pylint", "pyperclip", "pytest", "pytest-asyncio (>=0.12)", "pytest-cov", "pytest-error-for-skips", "reuse", "types-aiofiles", "types-docutils", "types-pyyaml", "types-setuptools"] formatters = ["black (>=24)", "isort"] test = ["asynctest", "cryptography", "pytest", "pytest-asyncio (>=0.12)", "pytest-cov", "pytest-error-for-skips"] -typing = ["mypy", "pyre-check (>=0.9.15)", "types-aiofiles", "types-docutils", "types-pyyaml", "types-setuptools"] +typing = ["mypy", "types-aiofiles", "types-docutils", "types-pyyaml", "types-setuptools"] [[package]] name = "antsibull-changelog" -version = "0.29.0" +version = "0.30.0" description = "Changelog tool for Ansible-core and Ansible collections" optional = false python-versions = ">=3.9.0" files = [ - {file = "antsibull_changelog-0.29.0-py3-none-any.whl", hash = "sha256:992533e66c908929a79f4881cb8e668b9f3e90e12bf16a8bcb7a9e43d4fb3b37"}, - {file = "antsibull_changelog-0.29.0.tar.gz", hash = "sha256:b86d7e8e1a4f5ea7022f016efde2693262efe8bdf78be7f1b6e26f9673a6c70e"}, + {file = "antsibull_changelog-0.30.0-py3-none-any.whl", hash = "sha256:5ae38c10366d5226e5358ee3265e5dddde0b1b36e45970429e4ce3186f178426"}, + {file = "antsibull_changelog-0.30.0.tar.gz", hash = "sha256:37660a748cf2597ba9cdf26172ceac87ca5c227e693f50b4592da71c45c0bb74"}, ] [package.dependencies] +antsibull-docutils = ">=1.0.0,<2.0.0" +antsibull-fileutils = ">=1.0.0,<2.0.0" docutils = "*" packaging = "*" -pyyaml = "*" rstcheck = ">=3.0.0,<7.0.0" semantic-version = "*" [package.extras] codeqa = ["flake8 (>=3.8.0)", "pylint", "reuse"] coverage = ["coverage[toml]"] -dev = ["black (>=24)", "coverage[toml]", "flake8 (>=3.8.0)", "isort", "mypy", "nox", "pylint", "pyre-check (>=0.9.17)", "pytest", "pytest-cov", "pytest-error-for-skips", "reuse", "types-docutils", "types-pyyaml", "types-toml"] +dev = ["black (>=24)", "coverage[toml]", "flake8 (>=3.8.0)", "isort", "mypy", "nox", "pylint", "pytest", "pytest-cov", "pytest-error-for-skips", "reuse", "types-docutils", "types-pyyaml", "types-toml"] formatters = ["black (>=24)", "isort"] test = ["pytest", "pytest-cov", "pytest-error-for-skips"] toml = ["tomli"] -typing = ["mypy", "pyre-check (>=0.9.17)", "types-docutils", "types-pyyaml", "types-toml"] +typing = ["mypy", "types-docutils", "types-pyyaml", "types-toml"] [[package]] name = "antsibull-core" -version = "3.0.1" +version = "3.0.2" description = "Tools for building the Ansible Distribution" optional = false python-versions = ">=3.9" files = [ - {file = "antsibull_core-3.0.1-py3-none-any.whl", hash = "sha256:653f44b010c85b6bcd37aacde64b35e56adec8f62119d2764aa56add7299c2f8"}, - {file = "antsibull_core-3.0.1.tar.gz", hash = "sha256:d7fddfb539757849725f8ae88ff049cef360c088a67251de0d1d8cb041243a9c"}, + {file = "antsibull_core-3.0.2-py3-none-any.whl", hash = "sha256:2cfebeffe242afecc3285b3c49f6610d6f21082b1e69cc16c1e1937abfa6d192"}, + {file = "antsibull_core-3.0.2.tar.gz", hash = "sha256:293679fc1b1e7178a761583db55f8e7b641d1d1777d99dde442bf5160ccd58b3"}, ] [package.dependencies] aiofiles = "*" -aiohttp = ">=3.0.0" +aiohttp = ">=3.3.0" build = "*" packaging = ">=20.0" perky = "*" @@ -281,13 +297,13 @@ typing = ["mypy", "pyre-check (>=0.9.17)", "types-aiofiles", "types-pyyaml", "ty [[package]] name = "antsibull-docs" -version = "2.12.0" +version = "2.14.0" description = "Tools for building Ansible documentation" optional = false python-versions = ">=3.9" files = [ - {file = "antsibull_docs-2.12.0-py3-none-any.whl", hash = "sha256:ba03fdbd3f8e062de4e723f97b7ffe1b61160bd72064dd6292ae48994491574e"}, - {file = "antsibull_docs-2.12.0.tar.gz", hash = "sha256:1e0abaee583c84c902c7dbcbb0cc677b0d62ecba59ca81d3e3f3f384859a8c67"}, + {file = "antsibull_docs-2.14.0-py3-none-any.whl", hash = "sha256:1a302340a3640438e0dc83a9ca385ee6724abe0ee57198736de526046251ac0e"}, + {file = "antsibull_docs-2.14.0.tar.gz", hash = "sha256:b4e40bfb3674fa44834be3eb9d23dd4831cab6a0780c7f1448ac85208e731637"}, ] [package.dependencies] @@ -295,7 +311,8 @@ aiohttp = ">=3.0.0" ansible-pygments = "*" antsibull-changelog = ">=0.24.0" antsibull-core = ">=2.1.0,<4.0.0" -antsibull-docs-parser = ">=1.0.2,<2.0.0" +antsibull-docs-parser = ">=1.1.0,<2.0.0" +antsibull-fileutils = ">=1.0.0,<2.0.0" asyncio-pool = "*" docutils = "*" jinja2 = ">=3.0" @@ -310,20 +327,20 @@ twiggy = "*" [package.extras] codeqa = ["flake8 (>=3.8.0)", "pylint (>=2.17.2)", "reuse"] coverage = ["coverage[toml]"] -dev = ["ansible-core (>=2.14.0)", "asynctest", "black (>=24)", "cryptography", "flake8 (>=3.8.0)", "isort", "mypy", "nox", "pylint (>=2.17.2)", "pyre-check (>=0.9.17)", "pytest", "pytest-asyncio (>=0.12)", "pytest-cov", "pytest-error-for-skips", "reuse", "types-aiofiles", "types-docutils", "types-pyyaml"] +dev = ["ansible-core (>=2.14.0)", "asynctest", "black (>=24)", "cryptography", "flake8 (>=3.8.0)", "isort", "mypy", "nox", "pylint (>=2.17.2)", "pytest", "pytest-asyncio (>=0.12)", "pytest-cov", "pytest-error-for-skips", "reuse", "types-aiofiles", "types-docutils", "types-pyyaml"] formatters = ["black (>=24)", "isort"] test = ["ansible-core (>=2.14.0)", "asynctest", "cryptography", "pytest", "pytest-asyncio (>=0.12)", "pytest-cov", "pytest-error-for-skips"] -typing = ["mypy", "pyre-check (>=0.9.17)", "types-aiofiles", "types-docutils", "types-pyyaml"] +typing = ["mypy", "types-aiofiles", "types-docutils", "types-pyyaml"] [[package]] name = "antsibull-docs-parser" -version = "1.0.2" +version = "1.1.0" description = "Python library for processing Ansible documentation markup" optional = false python-versions = ">=3.6.1" files = [ - {file = "antsibull_docs_parser-1.0.2-py3-none-any.whl", hash = "sha256:ee4717be6280300a3d61404e23508c5ab2522d40b9487e88ff8896092878e379"}, - {file = "antsibull_docs_parser-1.0.2.tar.gz", hash = "sha256:d42546c5697c9e5ff4e9515bbd142fa88771058d18307f2105c3f60e4c089558"}, + {file = "antsibull_docs_parser-1.1.0-py3-none-any.whl", hash = "sha256:b29490908cd51660cc2b98d6af45b64db938e529f50e84aec416971820013450"}, + {file = "antsibull_docs_parser-1.1.0.tar.gz", hash = "sha256:9b94400918343677119c38344bf3bd867a937259f8d09fddc68deae2741ba056"}, ] [package.extras] @@ -334,6 +351,51 @@ formatters = ["black", "isort"] test = ["pytest", "pytest-cov", "pytest-error-for-skips", "pyyaml"] typing = ["mypy", "pyre-check (>=0.9.17)"] +[[package]] +name = "antsibull-docutils" +version = "1.0.0" +description = "Antsibull docutils helpers" +optional = false +python-versions = ">=3.9.0" +files = [ + {file = "antsibull_docutils-1.0.0-py3-none-any.whl", hash = "sha256:a2f0f10f53b1f35f9d08a05267a827133ed5c544cc6a1f63feba26581967fb62"}, + {file = "antsibull_docutils-1.0.0.tar.gz", hash = "sha256:078f7110e85d8df235c14a2db1a19e434bb77eaa059877dde85a70426996f960"}, +] + +[package.dependencies] +docutils = "*" + +[package.extras] +codeqa = ["antsibull-changelog", "flake8 (>=3.8.0)", "pylint", "reuse"] +coverage = ["coverage[toml]"] +dev = ["antsibull-changelog", "black (>=24)", "coverage[toml]", "flake8 (>=3.8.0)", "isort", "mypy", "nox", "pylint", "pytest", "pytest-cov", "pytest-error-for-skips", "reuse", "types-docutils", "types-pyyaml", "types-toml"] +formatters = ["black (>=24)", "isort"] +test = ["pytest", "pytest-cov", "pytest-error-for-skips"] +typing = ["mypy", "types-docutils", "types-pyyaml", "types-toml"] + +[[package]] +name = "antsibull-fileutils" +version = "1.0.0" +description = "Tools for building the Ansible Distribution" +optional = false +python-versions = ">=3.9" +files = [ + {file = "antsibull_fileutils-1.0.0-py3-none-any.whl", hash = "sha256:c1103dbfdcf17283b23c5ed35d644f7a3f01f7d207c156be0d848bd43caa2d5a"}, + {file = "antsibull_fileutils-1.0.0.tar.gz", hash = "sha256:7e373f46c6cf7cf982ea53a6e13910bb5c07add9d56a7641dffaaf22950a8233"}, +] + +[package.dependencies] +aiofiles = "*" +pyyaml = "*" + +[package.extras] +codeqa = ["antsibull-changelog", "flake8 (>=6.0.0)", "pylint (>=2.15.7)", "reuse"] +coverage = ["coverage[toml]"] +dev = ["antsibull-changelog", "black (>=24)", "coverage[toml]", "flake8 (>=6.0.0)", "isort", "mypy", "nox", "pylint (>=2.15.7)", "pytest", "pytest-asyncio (>=0.20)", "pytest-cov", "pytest-error-for-skips", "reuse", "types-aiofiles", "types-pyyaml", "typing-extensions"] +formatters = ["black (>=24)", "isort"] +test = ["pytest", "pytest-asyncio (>=0.20)", "pytest-cov", "pytest-error-for-skips"] +typing = ["mypy", "types-aiofiles", "types-pyyaml", "typing-extensions"] + [[package]] name = "astroid" version = "3.2.4" @@ -475,13 +537,13 @@ uvloop = ["uvloop (>=0.15.2)"] [[package]] name = "build" -version = "1.2.1" +version = "1.2.2" description = "A simple, correct Python build frontend" optional = false python-versions = ">=3.8" files = [ - {file = "build-1.2.1-py3-none-any.whl", hash = "sha256:75e10f767a433d9a86e50d83f418e83efc18ede923ee5ff7df93b6cb0306c5d4"}, - {file = "build-1.2.1.tar.gz", hash = "sha256:526263f4870c26f26c433545579475377b2b7588b6f1eac76a001e873ae3e19d"}, + {file = "build-1.2.2-py3-none-any.whl", hash = "sha256:277ccc71619d98afdd841a0e96ac9fe1593b823af481d3b0cea748e8894e0613"}, + {file = "build-1.2.2.tar.gz", hash = "sha256:119b2fb462adef986483438377a13b2f42064a2a3a4161f24a0cca698a07ac8c"}, ] [package.dependencies] @@ -500,89 +562,89 @@ virtualenv = ["virtualenv (>=20.0.35)"] [[package]] name = "certifi" -version = "2024.7.4" +version = "2024.8.30" description = "Python package for providing Mozilla's CA Bundle." optional = false python-versions = ">=3.6" files = [ - {file = "certifi-2024.7.4-py3-none-any.whl", hash = "sha256:c198e21b1289c2ab85ee4e67bb4b4ef3ead0892059901a8d5b622f24a1101e90"}, - {file = "certifi-2024.7.4.tar.gz", hash = "sha256:5a1e7645bc0ec61a09e26c36f6106dd4cf40c6db3a1fb6352b0244e7fb057c7b"}, + {file = "certifi-2024.8.30-py3-none-any.whl", hash = "sha256:922820b53db7a7257ffbda3f597266d435245903d80737e34f8a45ff3e3230d8"}, + {file = "certifi-2024.8.30.tar.gz", hash = "sha256:bec941d2aa8195e248a60b31ff9f0558284cf01a52591ceda73ea9afffd69fd9"}, ] [[package]] name = "cffi" -version = "1.17.0" +version = "1.17.1" description = "Foreign Function Interface for Python calling C code." optional = false python-versions = ">=3.8" files = [ - {file = "cffi-1.17.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f9338cc05451f1942d0d8203ec2c346c830f8e86469903d5126c1f0a13a2bcbb"}, - {file = "cffi-1.17.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a0ce71725cacc9ebf839630772b07eeec220cbb5f03be1399e0457a1464f8e1a"}, - {file = "cffi-1.17.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c815270206f983309915a6844fe994b2fa47e5d05c4c4cef267c3b30e34dbe42"}, - {file = "cffi-1.17.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d6bdcd415ba87846fd317bee0774e412e8792832e7805938987e4ede1d13046d"}, - {file = "cffi-1.17.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8a98748ed1a1df4ee1d6f927e151ed6c1a09d5ec21684de879c7ea6aa96f58f2"}, - {file = "cffi-1.17.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0a048d4f6630113e54bb4b77e315e1ba32a5a31512c31a273807d0027a7e69ab"}, - {file = "cffi-1.17.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:24aa705a5f5bd3a8bcfa4d123f03413de5d86e497435693b638cbffb7d5d8a1b"}, - {file = "cffi-1.17.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:856bf0924d24e7f93b8aee12a3a1095c34085600aa805693fb7f5d1962393206"}, - {file = "cffi-1.17.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:4304d4416ff032ed50ad6bb87416d802e67139e31c0bde4628f36a47a3164bfa"}, - {file = "cffi-1.17.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:331ad15c39c9fe9186ceaf87203a9ecf5ae0ba2538c9e898e3a6967e8ad3db6f"}, - {file = "cffi-1.17.0-cp310-cp310-win32.whl", hash = "sha256:669b29a9eca6146465cc574659058ed949748f0809a2582d1f1a324eb91054dc"}, - {file = "cffi-1.17.0-cp310-cp310-win_amd64.whl", hash = "sha256:48b389b1fd5144603d61d752afd7167dfd205973a43151ae5045b35793232aa2"}, - {file = "cffi-1.17.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c5d97162c196ce54af6700949ddf9409e9833ef1003b4741c2b39ef46f1d9720"}, - {file = "cffi-1.17.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5ba5c243f4004c750836f81606a9fcb7841f8874ad8f3bf204ff5e56332b72b9"}, - {file = "cffi-1.17.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bb9333f58fc3a2296fb1d54576138d4cf5d496a2cc118422bd77835e6ae0b9cb"}, - {file = "cffi-1.17.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:435a22d00ec7d7ea533db494da8581b05977f9c37338c80bc86314bec2619424"}, - {file = "cffi-1.17.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d1df34588123fcc88c872f5acb6f74ae59e9d182a2707097f9e28275ec26a12d"}, - {file = "cffi-1.17.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:df8bb0010fdd0a743b7542589223a2816bdde4d94bb5ad67884348fa2c1c67e8"}, - {file = "cffi-1.17.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a8b5b9712783415695663bd463990e2f00c6750562e6ad1d28e072a611c5f2a6"}, - {file = "cffi-1.17.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ffef8fd58a36fb5f1196919638f73dd3ae0db1a878982b27a9a5a176ede4ba91"}, - {file = "cffi-1.17.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:4e67d26532bfd8b7f7c05d5a766d6f437b362c1bf203a3a5ce3593a645e870b8"}, - {file = "cffi-1.17.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:45f7cd36186db767d803b1473b3c659d57a23b5fa491ad83c6d40f2af58e4dbb"}, - {file = "cffi-1.17.0-cp311-cp311-win32.whl", hash = "sha256:a9015f5b8af1bb6837a3fcb0cdf3b874fe3385ff6274e8b7925d81ccaec3c5c9"}, - {file = "cffi-1.17.0-cp311-cp311-win_amd64.whl", hash = "sha256:b50aaac7d05c2c26dfd50c3321199f019ba76bb650e346a6ef3616306eed67b0"}, - {file = "cffi-1.17.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:aec510255ce690d240f7cb23d7114f6b351c733a74c279a84def763660a2c3bc"}, - {file = "cffi-1.17.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2770bb0d5e3cc0e31e7318db06efcbcdb7b31bcb1a70086d3177692a02256f59"}, - {file = "cffi-1.17.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:db9a30ec064129d605d0f1aedc93e00894b9334ec74ba9c6bdd08147434b33eb"}, - {file = "cffi-1.17.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a47eef975d2b8b721775a0fa286f50eab535b9d56c70a6e62842134cf7841195"}, - {file = "cffi-1.17.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f3e0992f23bbb0be00a921eae5363329253c3b86287db27092461c887b791e5e"}, - {file = "cffi-1.17.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6107e445faf057c118d5050560695e46d272e5301feffda3c41849641222a828"}, - {file = "cffi-1.17.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eb862356ee9391dc5a0b3cbc00f416b48c1b9a52d252d898e5b7696a5f9fe150"}, - {file = "cffi-1.17.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:c1c13185b90bbd3f8b5963cd8ce7ad4ff441924c31e23c975cb150e27c2bf67a"}, - {file = "cffi-1.17.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:17c6d6d3260c7f2d94f657e6872591fe8733872a86ed1345bda872cfc8c74885"}, - {file = "cffi-1.17.0-cp312-cp312-win32.whl", hash = "sha256:c3b8bd3133cd50f6b637bb4322822c94c5ce4bf0d724ed5ae70afce62187c492"}, - {file = "cffi-1.17.0-cp312-cp312-win_amd64.whl", hash = "sha256:dca802c8db0720ce1c49cce1149ff7b06e91ba15fa84b1d59144fef1a1bc7ac2"}, - {file = "cffi-1.17.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:6ce01337d23884b21c03869d2f68c5523d43174d4fc405490eb0091057943118"}, - {file = "cffi-1.17.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:cab2eba3830bf4f6d91e2d6718e0e1c14a2f5ad1af68a89d24ace0c6b17cced7"}, - {file = "cffi-1.17.0-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:14b9cbc8f7ac98a739558eb86fabc283d4d564dafed50216e7f7ee62d0d25377"}, - {file = "cffi-1.17.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b00e7bcd71caa0282cbe3c90966f738e2db91e64092a877c3ff7f19a1628fdcb"}, - {file = "cffi-1.17.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:41f4915e09218744d8bae14759f983e466ab69b178de38066f7579892ff2a555"}, - {file = "cffi-1.17.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e4760a68cab57bfaa628938e9c2971137e05ce48e762a9cb53b76c9b569f1204"}, - {file = "cffi-1.17.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:011aff3524d578a9412c8b3cfaa50f2c0bd78e03eb7af7aa5e0df59b158efb2f"}, - {file = "cffi-1.17.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:a003ac9edc22d99ae1286b0875c460351f4e101f8c9d9d2576e78d7e048f64e0"}, - {file = "cffi-1.17.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ef9528915df81b8f4c7612b19b8628214c65c9b7f74db2e34a646a0a2a0da2d4"}, - {file = "cffi-1.17.0-cp313-cp313-win32.whl", hash = "sha256:70d2aa9fb00cf52034feac4b913181a6e10356019b18ef89bc7c12a283bf5f5a"}, - {file = "cffi-1.17.0-cp313-cp313-win_amd64.whl", hash = "sha256:b7b6ea9e36d32582cda3465f54c4b454f62f23cb083ebc7a94e2ca6ef011c3a7"}, - {file = "cffi-1.17.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:964823b2fc77b55355999ade496c54dde161c621cb1f6eac61dc30ed1b63cd4c"}, - {file = "cffi-1.17.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:516a405f174fd3b88829eabfe4bb296ac602d6a0f68e0d64d5ac9456194a5b7e"}, - {file = "cffi-1.17.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dec6b307ce928e8e112a6bb9921a1cb00a0e14979bf28b98e084a4b8a742bd9b"}, - {file = "cffi-1.17.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e4094c7b464cf0a858e75cd14b03509e84789abf7b79f8537e6a72152109c76e"}, - {file = "cffi-1.17.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2404f3de742f47cb62d023f0ba7c5a916c9c653d5b368cc966382ae4e57da401"}, - {file = "cffi-1.17.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3aa9d43b02a0c681f0bfbc12d476d47b2b2b6a3f9287f11ee42989a268a1833c"}, - {file = "cffi-1.17.0-cp38-cp38-win32.whl", hash = "sha256:0bb15e7acf8ab35ca8b24b90af52c8b391690ef5c4aec3d31f38f0d37d2cc499"}, - {file = "cffi-1.17.0-cp38-cp38-win_amd64.whl", hash = "sha256:93a7350f6706b31f457c1457d3a3259ff9071a66f312ae64dc024f049055f72c"}, - {file = "cffi-1.17.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1a2ddbac59dc3716bc79f27906c010406155031a1c801410f1bafff17ea304d2"}, - {file = "cffi-1.17.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6327b572f5770293fc062a7ec04160e89741e8552bf1c358d1a23eba68166759"}, - {file = "cffi-1.17.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dbc183e7bef690c9abe5ea67b7b60fdbca81aa8da43468287dae7b5c046107d4"}, - {file = "cffi-1.17.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5bdc0f1f610d067c70aa3737ed06e2726fd9d6f7bfee4a351f4c40b6831f4e82"}, - {file = "cffi-1.17.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6d872186c1617d143969defeadac5a904e6e374183e07977eedef9c07c8953bf"}, - {file = "cffi-1.17.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0d46ee4764b88b91f16661a8befc6bfb24806d885e27436fdc292ed7e6f6d058"}, - {file = "cffi-1.17.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6f76a90c345796c01d85e6332e81cab6d70de83b829cf1d9762d0a3da59c7932"}, - {file = "cffi-1.17.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0e60821d312f99d3e1569202518dddf10ae547e799d75aef3bca3a2d9e8ee693"}, - {file = "cffi-1.17.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:eb09b82377233b902d4c3fbeeb7ad731cdab579c6c6fda1f763cd779139e47c3"}, - {file = "cffi-1.17.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:24658baf6224d8f280e827f0a50c46ad819ec8ba380a42448e24459daf809cf4"}, - {file = "cffi-1.17.0-cp39-cp39-win32.whl", hash = "sha256:0fdacad9e0d9fc23e519efd5ea24a70348305e8d7d85ecbb1a5fa66dc834e7fb"}, - {file = "cffi-1.17.0-cp39-cp39-win_amd64.whl", hash = "sha256:7cbc78dc018596315d4e7841c8c3a7ae31cc4d638c9b627f87d52e8abaaf2d29"}, - {file = "cffi-1.17.0.tar.gz", hash = "sha256:f3157624b7558b914cb039fd1af735e5e8049a87c817cc215109ad1c8779df76"}, + {file = "cffi-1.17.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14"}, + {file = "cffi-1.17.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67"}, + {file = "cffi-1.17.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:edae79245293e15384b51f88b00613ba9f7198016a5948b5dddf4917d4d26382"}, + {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45398b671ac6d70e67da8e4224a065cec6a93541bb7aebe1b198a61b58c7b702"}, + {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ad9413ccdeda48c5afdae7e4fa2192157e991ff761e7ab8fdd8926f40b160cc3"}, + {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5da5719280082ac6bd9aa7becb3938dc9f9cbd57fac7d2871717b1feb0902ab6"}, + {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bb1a08b8008b281856e5971307cc386a8e9c5b625ac297e853d36da6efe9c17"}, + {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:045d61c734659cc045141be4bae381a41d89b741f795af1dd018bfb532fd0df8"}, + {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6883e737d7d9e4899a8a695e00ec36bd4e5e4f18fabe0aca0efe0a4b44cdb13e"}, + {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6b8b4a92e1c65048ff98cfe1f735ef8f1ceb72e3d5f0c25fdb12087a23da22be"}, + {file = "cffi-1.17.1-cp310-cp310-win32.whl", hash = "sha256:c9c3d058ebabb74db66e431095118094d06abf53284d9c81f27300d0e0d8bc7c"}, + {file = "cffi-1.17.1-cp310-cp310-win_amd64.whl", hash = "sha256:0f048dcf80db46f0098ccac01132761580d28e28bc0f78ae0d58048063317e15"}, + {file = "cffi-1.17.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a45e3c6913c5b87b3ff120dcdc03f6131fa0065027d0ed7ee6190736a74cd401"}, + {file = "cffi-1.17.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30c5e0cb5ae493c04c8b42916e52ca38079f1b235c2f8ae5f4527b963c401caf"}, + {file = "cffi-1.17.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f75c7ab1f9e4aca5414ed4d8e5c0e303a34f4421f8a0d47a4d019ceff0ab6af4"}, + {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1ed2dd2972641495a3ec98445e09766f077aee98a1c896dcb4ad0d303628e41"}, + {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:46bf43160c1a35f7ec506d254e5c890f3c03648a4dbac12d624e4490a7046cd1"}, + {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a24ed04c8ffd54b0729c07cee15a81d964e6fee0e3d4d342a27b020d22959dc6"}, + {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:610faea79c43e44c71e1ec53a554553fa22321b65fae24889706c0a84d4ad86d"}, + {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a9b15d491f3ad5d692e11f6b71f7857e7835eb677955c00cc0aefcd0669adaf6"}, + {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:de2ea4b5833625383e464549fec1bc395c1bdeeb5f25c4a3a82b5a8c756ec22f"}, + {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b"}, + {file = "cffi-1.17.1-cp311-cp311-win32.whl", hash = "sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655"}, + {file = "cffi-1.17.1-cp311-cp311-win_amd64.whl", hash = "sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0"}, + {file = "cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4"}, + {file = "cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c"}, + {file = "cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36"}, + {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5"}, + {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff"}, + {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99"}, + {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93"}, + {file = "cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3"}, + {file = "cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8"}, + {file = "cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65"}, + {file = "cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903"}, + {file = "cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e"}, + {file = "cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2"}, + {file = "cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3"}, + {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683"}, + {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5"}, + {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4"}, + {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd"}, + {file = "cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed"}, + {file = "cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9"}, + {file = "cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d"}, + {file = "cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a"}, + {file = "cffi-1.17.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:636062ea65bd0195bc012fea9321aca499c0504409f413dc88af450b57ffd03b"}, + {file = "cffi-1.17.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c7eac2ef9b63c79431bc4b25f1cd649d7f061a28808cbc6c47b534bd789ef964"}, + {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e221cf152cff04059d011ee126477f0d9588303eb57e88923578ace7baad17f9"}, + {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:31000ec67d4221a71bd3f67df918b1f88f676f1c3b535a7eb473255fdc0b83fc"}, + {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6f17be4345073b0a7b8ea599688f692ac3ef23ce28e5df79c04de519dbc4912c"}, + {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2b1fac190ae3ebfe37b979cc1ce69c81f4e4fe5746bb401dca63a9062cdaf1"}, + {file = "cffi-1.17.1-cp38-cp38-win32.whl", hash = "sha256:7596d6620d3fa590f677e9ee430df2958d2d6d6de2feeae5b20e82c00b76fbf8"}, + {file = "cffi-1.17.1-cp38-cp38-win_amd64.whl", hash = "sha256:78122be759c3f8a014ce010908ae03364d00a1f81ab5c7f4a7a5120607ea56e1"}, + {file = "cffi-1.17.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b2ab587605f4ba0bf81dc0cb08a41bd1c0a5906bd59243d56bad7668a6fc6c16"}, + {file = "cffi-1.17.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:28b16024becceed8c6dfbc75629e27788d8a3f9030691a1dbf9821a128b22c36"}, + {file = "cffi-1.17.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1d599671f396c4723d016dbddb72fe8e0397082b0a77a4fab8028923bec050e8"}, + {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca74b8dbe6e8e8263c0ffd60277de77dcee6c837a3d0881d8c1ead7268c9e576"}, + {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87"}, + {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98e3969bcff97cae1b2def8ba499ea3d6f31ddfdb7635374834cf89a1a08ecf0"}, + {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cdf5ce3acdfd1661132f2a9c19cac174758dc2352bfe37d98aa7512c6b7178b3"}, + {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9755e4345d1ec879e3849e62222a18c7174d65a6a92d5b346b1863912168b595"}, + {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f1e22e8c4419538cb197e4dd60acc919d7696e5ef98ee4da4e01d3f8cfa4cc5a"}, + {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c03e868a0b3bc35839ba98e74211ed2b05d2119be4e8a0f224fba9384f1fe02e"}, + {file = "cffi-1.17.1-cp39-cp39-win32.whl", hash = "sha256:e31ae45bc2e29f6b2abd0de1cc3b9d5205aa847cafaecb8af1476a609a2f6eb7"}, + {file = "cffi-1.17.1-cp39-cp39-win_amd64.whl", hash = "sha256:d016c76bdd850f3c626af19b0542c9677ba156e4ee4fccfdd7848803533ef662"}, + {file = "cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824"}, ] [package.dependencies] @@ -778,38 +840,38 @@ toml = ["tomli"] [[package]] name = "cryptography" -version = "43.0.0" +version = "43.0.1" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." optional = false python-versions = ">=3.7" files = [ - {file = "cryptography-43.0.0-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:64c3f16e2a4fc51c0d06af28441881f98c5d91009b8caaff40cf3548089e9c74"}, - {file = "cryptography-43.0.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3dcdedae5c7710b9f97ac6bba7e1052b95c7083c9d0e9df96e02a1932e777895"}, - {file = "cryptography-43.0.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d9a1eca329405219b605fac09ecfc09ac09e595d6def650a437523fcd08dd22"}, - {file = "cryptography-43.0.0-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:ea9e57f8ea880eeea38ab5abf9fbe39f923544d7884228ec67d666abd60f5a47"}, - {file = "cryptography-43.0.0-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:9a8d6802e0825767476f62aafed40532bd435e8a5f7d23bd8b4f5fd04cc80ecf"}, - {file = "cryptography-43.0.0-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:cc70b4b581f28d0a254d006f26949245e3657d40d8857066c2ae22a61222ef55"}, - {file = "cryptography-43.0.0-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:4a997df8c1c2aae1e1e5ac49c2e4f610ad037fc5a3aadc7b64e39dea42249431"}, - {file = "cryptography-43.0.0-cp37-abi3-win32.whl", hash = "sha256:6e2b11c55d260d03a8cf29ac9b5e0608d35f08077d8c087be96287f43af3ccdc"}, - {file = "cryptography-43.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:31e44a986ceccec3d0498e16f3d27b2ee5fdf69ce2ab89b52eaad1d2f33d8778"}, - {file = "cryptography-43.0.0-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:7b3f5fe74a5ca32d4d0f302ffe6680fcc5c28f8ef0dc0ae8f40c0f3a1b4fca66"}, - {file = "cryptography-43.0.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac1955ce000cb29ab40def14fd1bbfa7af2017cca696ee696925615cafd0dce5"}, - {file = "cryptography-43.0.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:299d3da8e00b7e2b54bb02ef58d73cd5f55fb31f33ebbf33bd00d9aa6807df7e"}, - {file = "cryptography-43.0.0-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:ee0c405832ade84d4de74b9029bedb7b31200600fa524d218fc29bfa371e97f5"}, - {file = "cryptography-43.0.0-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:cb013933d4c127349b3948aa8aaf2f12c0353ad0eccd715ca789c8a0f671646f"}, - {file = "cryptography-43.0.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:fdcb265de28585de5b859ae13e3846a8e805268a823a12a4da2597f1f5afc9f0"}, - {file = "cryptography-43.0.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:2905ccf93a8a2a416f3ec01b1a7911c3fe4073ef35640e7ee5296754e30b762b"}, - {file = "cryptography-43.0.0-cp39-abi3-win32.whl", hash = "sha256:47ca71115e545954e6c1d207dd13461ab81f4eccfcb1345eac874828b5e3eaaf"}, - {file = "cryptography-43.0.0-cp39-abi3-win_amd64.whl", hash = "sha256:0663585d02f76929792470451a5ba64424acc3cd5227b03921dab0e2f27b1709"}, - {file = "cryptography-43.0.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:2c6d112bf61c5ef44042c253e4859b3cbbb50df2f78fa8fae6747a7814484a70"}, - {file = "cryptography-43.0.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:844b6d608374e7d08f4f6e6f9f7b951f9256db41421917dfb2d003dde4cd6b66"}, - {file = "cryptography-43.0.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:51956cf8730665e2bdf8ddb8da0056f699c1a5715648c1b0144670c1ba00b48f"}, - {file = "cryptography-43.0.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:aae4d918f6b180a8ab8bf6511a419473d107df4dbb4225c7b48c5c9602c38c7f"}, - {file = "cryptography-43.0.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:232ce02943a579095a339ac4b390fbbe97f5b5d5d107f8a08260ea2768be8cc2"}, - {file = "cryptography-43.0.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:5bcb8a5620008a8034d39bce21dc3e23735dfdb6a33a06974739bfa04f853947"}, - {file = "cryptography-43.0.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:08a24a7070b2b6804c1940ff0f910ff728932a9d0e80e7814234269f9d46d069"}, - {file = "cryptography-43.0.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:e9c5266c432a1e23738d178e51c2c7a5e2ddf790f248be939448c0ba2021f9d1"}, - {file = "cryptography-43.0.0.tar.gz", hash = "sha256:b88075ada2d51aa9f18283532c9f60e72170041bba88d7f37e49cbb10275299e"}, + {file = "cryptography-43.0.1-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:8385d98f6a3bf8bb2d65a73e17ed87a3ba84f6991c155691c51112075f9ffc5d"}, + {file = "cryptography-43.0.1-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:27e613d7077ac613e399270253259d9d53872aaf657471473ebfc9a52935c062"}, + {file = "cryptography-43.0.1-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:68aaecc4178e90719e95298515979814bda0cbada1256a4485414860bd7ab962"}, + {file = "cryptography-43.0.1-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:de41fd81a41e53267cb020bb3a7212861da53a7d39f863585d13ea11049cf277"}, + {file = "cryptography-43.0.1-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:f98bf604c82c416bc829e490c700ca1553eafdf2912a91e23a79d97d9801372a"}, + {file = "cryptography-43.0.1-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:61ec41068b7b74268fa86e3e9e12b9f0c21fcf65434571dbb13d954bceb08042"}, + {file = "cryptography-43.0.1-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:014f58110f53237ace6a408b5beb6c427b64e084eb451ef25a28308270086494"}, + {file = "cryptography-43.0.1-cp37-abi3-win32.whl", hash = "sha256:2bd51274dcd59f09dd952afb696bf9c61a7a49dfc764c04dd33ef7a6b502a1e2"}, + {file = "cryptography-43.0.1-cp37-abi3-win_amd64.whl", hash = "sha256:666ae11966643886c2987b3b721899d250855718d6d9ce41b521252a17985f4d"}, + {file = "cryptography-43.0.1-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:ac119bb76b9faa00f48128b7f5679e1d8d437365c5d26f1c2c3f0da4ce1b553d"}, + {file = "cryptography-43.0.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1bbcce1a551e262dfbafb6e6252f1ae36a248e615ca44ba302df077a846a8806"}, + {file = "cryptography-43.0.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:58d4e9129985185a06d849aa6df265bdd5a74ca6e1b736a77959b498e0505b85"}, + {file = "cryptography-43.0.1-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:d03a475165f3134f773d1388aeb19c2d25ba88b6a9733c5c590b9ff7bbfa2e0c"}, + {file = "cryptography-43.0.1-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:511f4273808ab590912a93ddb4e3914dfd8a388fed883361b02dea3791f292e1"}, + {file = "cryptography-43.0.1-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:80eda8b3e173f0f247f711eef62be51b599b5d425c429b5d4ca6a05e9e856baa"}, + {file = "cryptography-43.0.1-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:38926c50cff6f533f8a2dae3d7f19541432610d114a70808f0926d5aaa7121e4"}, + {file = "cryptography-43.0.1-cp39-abi3-win32.whl", hash = "sha256:a575913fb06e05e6b4b814d7f7468c2c660e8bb16d8d5a1faf9b33ccc569dd47"}, + {file = "cryptography-43.0.1-cp39-abi3-win_amd64.whl", hash = "sha256:d75601ad10b059ec832e78823b348bfa1a59f6b8d545db3a24fd44362a1564cb"}, + {file = "cryptography-43.0.1-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:ea25acb556320250756e53f9e20a4177515f012c9eaea17eb7587a8c4d8ae034"}, + {file = "cryptography-43.0.1-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:c1332724be35d23a854994ff0b66530119500b6053d0bd3363265f7e5e77288d"}, + {file = "cryptography-43.0.1-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:fba1007b3ef89946dbbb515aeeb41e30203b004f0b4b00e5e16078b518563289"}, + {file = "cryptography-43.0.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:5b43d1ea6b378b54a1dc99dd8a2b5be47658fe9a7ce0a58ff0b55f4b43ef2b84"}, + {file = "cryptography-43.0.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:88cce104c36870d70c49c7c8fd22885875d950d9ee6ab54df2745f83ba0dc365"}, + {file = "cryptography-43.0.1-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:9d3cdb25fa98afdd3d0892d132b8d7139e2c087da1712041f6b762e4f807cc96"}, + {file = "cryptography-43.0.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:e710bf40870f4db63c3d7d929aa9e09e4e7ee219e703f949ec4073b4294f6172"}, + {file = "cryptography-43.0.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7c05650fe8023c5ed0d46793d4b7d7e6cd9c04e68eabe5b0aeea836e37bdcec2"}, + {file = "cryptography-43.0.1.tar.gz", hash = "sha256:203e92a75716d8cfb491dc47c79e17d0d9207ccffcbcb35f598fbe463ae3444d"}, ] [package.dependencies] @@ -822,7 +884,7 @@ nox = ["nox"] pep8test = ["check-sdist", "click", "mypy", "ruff"] sdist = ["build"] ssh = ["bcrypt (>=3.1.5)"] -test = ["certifi", "cryptography-vectors (==43.0.0)", "pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-xdist"] +test = ["certifi", "cryptography-vectors (==43.0.1)", "pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-xdist"] test-randomorder = ["pytest-randomly"] [[package]] @@ -967,13 +1029,13 @@ files = [ [[package]] name = "hypothesis" -version = "6.111.0" +version = "6.112.0" description = "A library for property-based testing" optional = false python-versions = ">=3.8" files = [ - {file = "hypothesis-6.111.0-py3-none-any.whl", hash = "sha256:7a51f678da3719a04a3ef61cd241384dd93b49f35d7cce22833745c66ac1d507"}, - {file = "hypothesis-6.111.0.tar.gz", hash = "sha256:04d0703621d9fdd61c079a4dda07babbe7ebf6d34eee6ad9484a2af0ee721801"}, + {file = "hypothesis-6.112.0-py3-none-any.whl", hash = "sha256:1e6adbd9534c0d691690b5006904327ea37c851d4e15262a22094aa77879e84d"}, + {file = "hypothesis-6.112.0.tar.gz", hash = "sha256:06ea8857e1e711a1a6f24154a3c8c4eab04b041993206aaa267f98b859fd6ef5"}, ] [package.dependencies] @@ -982,10 +1044,10 @@ exceptiongroup = {version = ">=1.0.0", markers = "python_version < \"3.11\""} sortedcontainers = ">=2.1.0,<3.0.0" [package.extras] -all = ["backports.zoneinfo (>=0.2.1)", "black (>=19.10b0)", "click (>=7.0)", "crosshair-tool (>=0.0.66)", "django (>=3.2)", "dpcontracts (>=0.4)", "hypothesis-crosshair (>=0.0.12)", "lark (>=0.10.1)", "libcst (>=0.3.16)", "numpy (>=1.17.3)", "pandas (>=1.1)", "pytest (>=4.6)", "python-dateutil (>=1.4)", "pytz (>=2014.1)", "redis (>=3.0.0)", "rich (>=9.0.0)", "tzdata (>=2024.1)"] +all = ["backports.zoneinfo (>=0.2.1)", "black (>=19.10b0)", "click (>=7.0)", "crosshair-tool (>=0.0.70)", "django (>=3.2)", "dpcontracts (>=0.4)", "hypothesis-crosshair (>=0.0.13)", "lark (>=0.10.1)", "libcst (>=0.3.16)", "numpy (>=1.17.3)", "pandas (>=1.1)", "pytest (>=4.6)", "python-dateutil (>=1.4)", "pytz (>=2014.1)", "redis (>=3.0.0)", "rich (>=9.0.0)", "tzdata (>=2024.1)"] cli = ["black (>=19.10b0)", "click (>=7.0)", "rich (>=9.0.0)"] codemods = ["libcst (>=0.3.16)"] -crosshair = ["crosshair-tool (>=0.0.66)", "hypothesis-crosshair (>=0.0.12)"] +crosshair = ["crosshair-tool (>=0.0.70)", "hypothesis-crosshair (>=0.0.13)"] dateutil = ["python-dateutil (>=1.4)"] django = ["django (>=3.2)"] dpcontracts = ["dpcontracts (>=0.4)"] @@ -1000,13 +1062,13 @@ zoneinfo = ["backports.zoneinfo (>=0.2.1)", "tzdata (>=2024.1)"] [[package]] name = "idna" -version = "3.7" +version = "3.8" description = "Internationalized Domain Names in Applications (IDNA)" optional = false -python-versions = ">=3.5" +python-versions = ">=3.6" files = [ - {file = "idna-3.7-py3-none-any.whl", hash = "sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0"}, - {file = "idna-3.7.tar.gz", hash = "sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc"}, + {file = "idna-3.8-py3-none-any.whl", hash = "sha256:050b4e5baadcd44d760cedbd2b8e639f2ff89bbc7a5730fcc662954303377aac"}, + {file = "idna-3.8.tar.gz", hash = "sha256:d838c2c0ed6fced7693d5e8ab8e734d5f8fda53a039c0164afb0b82e771e3603"}, ] [[package]] @@ -1022,22 +1084,26 @@ files = [ [[package]] name = "importlib-metadata" -version = "8.2.0" +version = "8.5.0" description = "Read metadata from Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "importlib_metadata-8.2.0-py3-none-any.whl", hash = "sha256:11901fa0c2f97919b288679932bb64febaeacf289d18ac84dd68cb2e74213369"}, - {file = "importlib_metadata-8.2.0.tar.gz", hash = "sha256:72e8d4399996132204f9a16dcc751af254a48f8d1b20b9ff0f98d4a8f901e73d"}, + {file = "importlib_metadata-8.5.0-py3-none-any.whl", hash = "sha256:45e54197d28b7a7f1559e60b95e7c567032b602131fbd588f1497f47880aa68b"}, + {file = "importlib_metadata-8.5.0.tar.gz", hash = "sha256:71522656f0abace1d072b9e5481a48f07c138e00f079c38c8f883823f9c26bd7"}, ] [package.dependencies] -zipp = ">=0.5" +zipp = ">=3.20" [package.extras] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] +cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +enabler = ["pytest-enabler (>=2.2)"] perf = ["ipython"] -test = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-perf (>=0.9.2)", "pytest-ruff (>=0.2.1)"] +test = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-perf (>=0.9.2)"] +type = ["pytest-mypy"] [[package]] name = "iniconfig" @@ -1105,13 +1171,13 @@ files = [ [[package]] name = "jsondiff" -version = "2.2.0" +version = "2.2.1" description = "Diff JSON and JSON-like structures in Python" optional = false python-versions = ">=3.8" files = [ - {file = "jsondiff-2.2.0-py3-none-any.whl", hash = "sha256:afff7c0067d934e3f2730935dc3abd520ab7d09021c88d3a9f4272e7d2229a1e"}, - {file = "jsondiff-2.2.0.tar.gz", hash = "sha256:060e9a10fe136c643e9d2bf264ea1fbe966ed17d2fd37348dd65b1c650c2df4f"}, + {file = "jsondiff-2.2.1-py3-none-any.whl", hash = "sha256:b1f0f7e2421881848b1d556d541ac01a91680cfcc14f51a9b62cdf4da0e56722"}, + {file = "jsondiff-2.2.1.tar.gz", hash = "sha256:658d162c8a86ba86de26303cd86a7b37e1b2c1ec98b569a60e2ca6180545f7fe"}, ] [package.dependencies] @@ -1253,103 +1319,108 @@ test = ["pytest", "pytest-cov"] [[package]] name = "multidict" -version = "6.0.5" +version = "6.1.0" description = "multidict implementation" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "multidict-6.0.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:228b644ae063c10e7f324ab1ab6b548bdf6f8b47f3ec234fef1093bc2735e5f9"}, - {file = "multidict-6.0.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:896ebdcf62683551312c30e20614305f53125750803b614e9e6ce74a96232604"}, - {file = "multidict-6.0.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:411bf8515f3be9813d06004cac41ccf7d1cd46dfe233705933dd163b60e37600"}, - {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d147090048129ce3c453f0292e7697d333db95e52616b3793922945804a433c"}, - {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:215ed703caf15f578dca76ee6f6b21b7603791ae090fbf1ef9d865571039ade5"}, - {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c6390cf87ff6234643428991b7359b5f59cc15155695deb4eda5c777d2b880f"}, - {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21fd81c4ebdb4f214161be351eb5bcf385426bf023041da2fd9e60681f3cebae"}, - {file = "multidict-6.0.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3cc2ad10255f903656017363cd59436f2111443a76f996584d1077e43ee51182"}, - {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:6939c95381e003f54cd4c5516740faba40cf5ad3eeff460c3ad1d3e0ea2549bf"}, - {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:220dd781e3f7af2c2c1053da9fa96d9cf3072ca58f057f4c5adaaa1cab8fc442"}, - {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:766c8f7511df26d9f11cd3a8be623e59cca73d44643abab3f8c8c07620524e4a"}, - {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:fe5d7785250541f7f5019ab9cba2c71169dc7d74d0f45253f8313f436458a4ef"}, - {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c1c1496e73051918fcd4f58ff2e0f2f3066d1c76a0c6aeffd9b45d53243702cc"}, - {file = "multidict-6.0.5-cp310-cp310-win32.whl", hash = "sha256:7afcdd1fc07befad18ec4523a782cde4e93e0a2bf71239894b8d61ee578c1319"}, - {file = "multidict-6.0.5-cp310-cp310-win_amd64.whl", hash = "sha256:99f60d34c048c5c2fabc766108c103612344c46e35d4ed9ae0673d33c8fb26e8"}, - {file = "multidict-6.0.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f285e862d2f153a70586579c15c44656f888806ed0e5b56b64489afe4a2dbfba"}, - {file = "multidict-6.0.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:53689bb4e102200a4fafa9de9c7c3c212ab40a7ab2c8e474491914d2305f187e"}, - {file = "multidict-6.0.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:612d1156111ae11d14afaf3a0669ebf6c170dbb735e510a7438ffe2369a847fd"}, - {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7be7047bd08accdb7487737631d25735c9a04327911de89ff1b26b81745bd4e3"}, - {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de170c7b4fe6859beb8926e84f7d7d6c693dfe8e27372ce3b76f01c46e489fcf"}, - {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:04bde7a7b3de05732a4eb39c94574db1ec99abb56162d6c520ad26f83267de29"}, - {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:85f67aed7bb647f93e7520633d8f51d3cbc6ab96957c71272b286b2f30dc70ed"}, - {file = "multidict-6.0.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:425bf820055005bfc8aa9a0b99ccb52cc2f4070153e34b701acc98d201693733"}, - {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d3eb1ceec286eba8220c26f3b0096cf189aea7057b6e7b7a2e60ed36b373b77f"}, - {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:7901c05ead4b3fb75113fb1dd33eb1253c6d3ee37ce93305acd9d38e0b5f21a4"}, - {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:e0e79d91e71b9867c73323a3444724d496c037e578a0e1755ae159ba14f4f3d1"}, - {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:29bfeb0dff5cb5fdab2023a7a9947b3b4af63e9c47cae2a10ad58394b517fddc"}, - {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e030047e85cbcedbfc073f71836d62dd5dadfbe7531cae27789ff66bc551bd5e"}, - {file = "multidict-6.0.5-cp311-cp311-win32.whl", hash = "sha256:2f4848aa3baa109e6ab81fe2006c77ed4d3cd1e0ac2c1fbddb7b1277c168788c"}, - {file = "multidict-6.0.5-cp311-cp311-win_amd64.whl", hash = "sha256:2faa5ae9376faba05f630d7e5e6be05be22913782b927b19d12b8145968a85ea"}, - {file = "multidict-6.0.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:51d035609b86722963404f711db441cf7134f1889107fb171a970c9701f92e1e"}, - {file = "multidict-6.0.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:cbebcd5bcaf1eaf302617c114aa67569dd3f090dd0ce8ba9e35e9985b41ac35b"}, - {file = "multidict-6.0.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2ffc42c922dbfddb4a4c3b438eb056828719f07608af27d163191cb3e3aa6cc5"}, - {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ceb3b7e6a0135e092de86110c5a74e46bda4bd4fbfeeb3a3bcec79c0f861e450"}, - {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:79660376075cfd4b2c80f295528aa6beb2058fd289f4c9252f986751a4cd0496"}, - {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e4428b29611e989719874670fd152b6625500ad6c686d464e99f5aaeeaca175a"}, - {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d84a5c3a5f7ce6db1f999fb9438f686bc2e09d38143f2d93d8406ed2dd6b9226"}, - {file = "multidict-6.0.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:76c0de87358b192de7ea9649beb392f107dcad9ad27276324c24c91774ca5271"}, - {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:79a6d2ba910adb2cbafc95dad936f8b9386e77c84c35bc0add315b856d7c3abb"}, - {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:92d16a3e275e38293623ebf639c471d3e03bb20b8ebb845237e0d3664914caef"}, - {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:fb616be3538599e797a2017cccca78e354c767165e8858ab5116813146041a24"}, - {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:14c2976aa9038c2629efa2c148022ed5eb4cb939e15ec7aace7ca932f48f9ba6"}, - {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:435a0984199d81ca178b9ae2c26ec3d49692d20ee29bc4c11a2a8d4514c67eda"}, - {file = "multidict-6.0.5-cp312-cp312-win32.whl", hash = "sha256:9fe7b0653ba3d9d65cbe7698cca585bf0f8c83dbbcc710db9c90f478e175f2d5"}, - {file = "multidict-6.0.5-cp312-cp312-win_amd64.whl", hash = "sha256:01265f5e40f5a17f8241d52656ed27192be03bfa8764d88e8220141d1e4b3556"}, - {file = "multidict-6.0.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:19fe01cea168585ba0f678cad6f58133db2aa14eccaf22f88e4a6dccadfad8b3"}, - {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6bf7a982604375a8d49b6cc1b781c1747f243d91b81035a9b43a2126c04766f5"}, - {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:107c0cdefe028703fb5dafe640a409cb146d44a6ae201e55b35a4af8e95457dd"}, - {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:403c0911cd5d5791605808b942c88a8155c2592e05332d2bf78f18697a5fa15e"}, - {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aeaf541ddbad8311a87dd695ed9642401131ea39ad7bc8cf3ef3967fd093b626"}, - {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e4972624066095e52b569e02b5ca97dbd7a7ddd4294bf4e7247d52635630dd83"}, - {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:d946b0a9eb8aaa590df1fe082cee553ceab173e6cb5b03239716338629c50c7a"}, - {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:b55358304d7a73d7bdf5de62494aaf70bd33015831ffd98bc498b433dfe5b10c"}, - {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:a3145cb08d8625b2d3fee1b2d596a8766352979c9bffe5d7833e0503d0f0b5e5"}, - {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:d65f25da8e248202bd47445cec78e0025c0fe7582b23ec69c3b27a640dd7a8e3"}, - {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:c9bf56195c6bbd293340ea82eafd0071cb3d450c703d2c93afb89f93b8386ccc"}, - {file = "multidict-6.0.5-cp37-cp37m-win32.whl", hash = "sha256:69db76c09796b313331bb7048229e3bee7928eb62bab5e071e9f7fcc4879caee"}, - {file = "multidict-6.0.5-cp37-cp37m-win_amd64.whl", hash = "sha256:fce28b3c8a81b6b36dfac9feb1de115bab619b3c13905b419ec71d03a3fc1423"}, - {file = "multidict-6.0.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:76f067f5121dcecf0d63a67f29080b26c43c71a98b10c701b0677e4a065fbd54"}, - {file = "multidict-6.0.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b82cc8ace10ab5bd93235dfaab2021c70637005e1ac787031f4d1da63d493c1d"}, - {file = "multidict-6.0.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5cb241881eefd96b46f89b1a056187ea8e9ba14ab88ba632e68d7a2ecb7aadf7"}, - {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8e94e6912639a02ce173341ff62cc1201232ab86b8a8fcc05572741a5dc7d93"}, - {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:09a892e4a9fb47331da06948690ae38eaa2426de97b4ccbfafbdcbe5c8f37ff8"}, - {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55205d03e8a598cfc688c71ca8ea5f66447164efff8869517f175ea632c7cb7b"}, - {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:37b15024f864916b4951adb95d3a80c9431299080341ab9544ed148091b53f50"}, - {file = "multidict-6.0.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f2a1dee728b52b33eebff5072817176c172050d44d67befd681609b4746e1c2e"}, - {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:edd08e6f2f1a390bf137080507e44ccc086353c8e98c657e666c017718561b89"}, - {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:60d698e8179a42ec85172d12f50b1668254628425a6bd611aba022257cac1386"}, - {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:3d25f19500588cbc47dc19081d78131c32637c25804df8414463ec908631e453"}, - {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:4cc0ef8b962ac7a5e62b9e826bd0cd5040e7d401bc45a6835910ed699037a461"}, - {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:eca2e9d0cc5a889850e9bbd68e98314ada174ff6ccd1129500103df7a94a7a44"}, - {file = "multidict-6.0.5-cp38-cp38-win32.whl", hash = "sha256:4a6a4f196f08c58c59e0b8ef8ec441d12aee4125a7d4f4fef000ccb22f8d7241"}, - {file = "multidict-6.0.5-cp38-cp38-win_amd64.whl", hash = "sha256:0275e35209c27a3f7951e1ce7aaf93ce0d163b28948444bec61dd7badc6d3f8c"}, - {file = "multidict-6.0.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e7be68734bd8c9a513f2b0cfd508802d6609da068f40dc57d4e3494cefc92929"}, - {file = "multidict-6.0.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1d9ea7a7e779d7a3561aade7d596649fbecfa5c08a7674b11b423783217933f9"}, - {file = "multidict-6.0.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ea1456df2a27c73ce51120fa2f519f1bea2f4a03a917f4a43c8707cf4cbbae1a"}, - {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf590b134eb70629e350691ecca88eac3e3b8b3c86992042fb82e3cb1830d5e1"}, - {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5c0631926c4f58e9a5ccce555ad7747d9a9f8b10619621f22f9635f069f6233e"}, - {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dce1c6912ab9ff5f179eaf6efe7365c1f425ed690b03341911bf4939ef2f3046"}, - {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0868d64af83169e4d4152ec612637a543f7a336e4a307b119e98042e852ad9c"}, - {file = "multidict-6.0.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:141b43360bfd3bdd75f15ed811850763555a251e38b2405967f8e25fb43f7d40"}, - {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:7df704ca8cf4a073334e0427ae2345323613e4df18cc224f647f251e5e75a527"}, - {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:6214c5a5571802c33f80e6c84713b2c79e024995b9c5897f794b43e714daeec9"}, - {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:cd6c8fca38178e12c00418de737aef1261576bd1b6e8c6134d3e729a4e858b38"}, - {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:e02021f87a5b6932fa6ce916ca004c4d441509d33bbdbeca70d05dff5e9d2479"}, - {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ebd8d160f91a764652d3e51ce0d2956b38efe37c9231cd82cfc0bed2e40b581c"}, - {file = "multidict-6.0.5-cp39-cp39-win32.whl", hash = "sha256:04da1bb8c8dbadf2a18a452639771951c662c5ad03aefe4884775454be322c9b"}, - {file = "multidict-6.0.5-cp39-cp39-win_amd64.whl", hash = "sha256:d6f6d4f185481c9669b9447bf9d9cf3b95a0e9df9d169bbc17e363b7d5487755"}, - {file = "multidict-6.0.5-py3-none-any.whl", hash = "sha256:0d63c74e3d7ab26de115c49bffc92cc77ed23395303d496eae515d4204a625e7"}, - {file = "multidict-6.0.5.tar.gz", hash = "sha256:f7e301075edaf50500f0b341543c41194d8df3ae5caf4702f2095f3ca73dd8da"}, + {file = "multidict-6.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3380252550e372e8511d49481bd836264c009adb826b23fefcc5dd3c69692f60"}, + {file = "multidict-6.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:99f826cbf970077383d7de805c0681799491cb939c25450b9b5b3ced03ca99f1"}, + {file = "multidict-6.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a114d03b938376557927ab23f1e950827c3b893ccb94b62fd95d430fd0e5cf53"}, + {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1c416351ee6271b2f49b56ad7f308072f6f44b37118d69c2cad94f3fa8a40d5"}, + {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6b5d83030255983181005e6cfbac1617ce9746b219bc2aad52201ad121226581"}, + {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3e97b5e938051226dc025ec80980c285b053ffb1e25a3db2a3aa3bc046bf7f56"}, + {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d618649d4e70ac6efcbba75be98b26ef5078faad23592f9b51ca492953012429"}, + {file = "multidict-6.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10524ebd769727ac77ef2278390fb0068d83f3acb7773792a5080f2b0abf7748"}, + {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ff3827aef427c89a25cc96ded1759271a93603aba9fb977a6d264648ebf989db"}, + {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:06809f4f0f7ab7ea2cabf9caca7d79c22c0758b58a71f9d32943ae13c7ace056"}, + {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:f179dee3b863ab1c59580ff60f9d99f632f34ccb38bf67a33ec6b3ecadd0fd76"}, + {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:aaed8b0562be4a0876ee3b6946f6869b7bcdb571a5d1496683505944e268b160"}, + {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3c8b88a2ccf5493b6c8da9076fb151ba106960a2df90c2633f342f120751a9e7"}, + {file = "multidict-6.1.0-cp310-cp310-win32.whl", hash = "sha256:4a9cb68166a34117d6646c0023c7b759bf197bee5ad4272f420a0141d7eb03a0"}, + {file = "multidict-6.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:20b9b5fbe0b88d0bdef2012ef7dee867f874b72528cf1d08f1d59b0e3850129d"}, + {file = "multidict-6.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3efe2c2cb5763f2f1b275ad2bf7a287d3f7ebbef35648a9726e3b69284a4f3d6"}, + {file = "multidict-6.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c7053d3b0353a8b9de430a4f4b4268ac9a4fb3481af37dfe49825bf45ca24156"}, + {file = "multidict-6.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:27e5fc84ccef8dfaabb09d82b7d179c7cf1a3fbc8a966f8274fcb4ab2eb4cadb"}, + {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e2b90b43e696f25c62656389d32236e049568b39320e2735d51f08fd362761b"}, + {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d83a047959d38a7ff552ff94be767b7fd79b831ad1cd9920662db05fec24fe72"}, + {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d1a9dd711d0877a1ece3d2e4fea11a8e75741ca21954c919406b44e7cf971304"}, + {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec2abea24d98246b94913b76a125e855eb5c434f7c46546046372fe60f666351"}, + {file = "multidict-6.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4867cafcbc6585e4b678876c489b9273b13e9fff9f6d6d66add5e15d11d926cb"}, + {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:5b48204e8d955c47c55b72779802b219a39acc3ee3d0116d5080c388970b76e3"}, + {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:d8fff389528cad1618fb4b26b95550327495462cd745d879a8c7c2115248e399"}, + {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:a7a9541cd308eed5e30318430a9c74d2132e9a8cb46b901326272d780bf2d423"}, + {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:da1758c76f50c39a2efd5e9859ce7d776317eb1dd34317c8152ac9251fc574a3"}, + {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c943a53e9186688b45b323602298ab727d8865d8c9ee0b17f8d62d14b56f0753"}, + {file = "multidict-6.1.0-cp311-cp311-win32.whl", hash = "sha256:90f8717cb649eea3504091e640a1b8568faad18bd4b9fcd692853a04475a4b80"}, + {file = "multidict-6.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:82176036e65644a6cc5bd619f65f6f19781e8ec2e5330f51aa9ada7504cc1926"}, + {file = "multidict-6.1.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:b04772ed465fa3cc947db808fa306d79b43e896beb677a56fb2347ca1a49c1fa"}, + {file = "multidict-6.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:6180c0ae073bddeb5a97a38c03f30c233e0a4d39cd86166251617d1bbd0af436"}, + {file = "multidict-6.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:071120490b47aa997cca00666923a83f02c7fbb44f71cf7f136df753f7fa8761"}, + {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50b3a2710631848991d0bf7de077502e8994c804bb805aeb2925a981de58ec2e"}, + {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b58c621844d55e71c1b7f7c498ce5aa6985d743a1a59034c57a905b3f153c1ef"}, + {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55b6d90641869892caa9ca42ff913f7ff1c5ece06474fbd32fb2cf6834726c95"}, + {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b820514bfc0b98a30e3d85462084779900347e4d49267f747ff54060cc33925"}, + {file = "multidict-6.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10a9b09aba0c5b48c53761b7c720aaaf7cf236d5fe394cd399c7ba662d5f9966"}, + {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1e16bf3e5fc9f44632affb159d30a437bfe286ce9e02754759be5536b169b305"}, + {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:76f364861c3bfc98cbbcbd402d83454ed9e01a5224bb3a28bf70002a230f73e2"}, + {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:820c661588bd01a0aa62a1283f20d2be4281b086f80dad9e955e690c75fb54a2"}, + {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:0e5f362e895bc5b9e67fe6e4ded2492d8124bdf817827f33c5b46c2fe3ffaca6"}, + {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3ec660d19bbc671e3a6443325f07263be452c453ac9e512f5eb935e7d4ac28b3"}, + {file = "multidict-6.1.0-cp312-cp312-win32.whl", hash = "sha256:58130ecf8f7b8112cdb841486404f1282b9c86ccb30d3519faf301b2e5659133"}, + {file = "multidict-6.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:188215fc0aafb8e03341995e7c4797860181562380f81ed0a87ff455b70bf1f1"}, + {file = "multidict-6.1.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:d569388c381b24671589335a3be6e1d45546c2988c2ebe30fdcada8457a31008"}, + {file = "multidict-6.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:052e10d2d37810b99cc170b785945421141bf7bb7d2f8799d431e7db229c385f"}, + {file = "multidict-6.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f90c822a402cb865e396a504f9fc8173ef34212a342d92e362ca498cad308e28"}, + {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b225d95519a5bf73860323e633a664b0d85ad3d5bede6d30d95b35d4dfe8805b"}, + {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:23bfd518810af7de1116313ebd9092cb9aa629beb12f6ed631ad53356ed6b86c"}, + {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5c09fcfdccdd0b57867577b719c69e347a436b86cd83747f179dbf0cc0d4c1f3"}, + {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf6bea52ec97e95560af5ae576bdac3aa3aae0b6758c6efa115236d9e07dae44"}, + {file = "multidict-6.1.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57feec87371dbb3520da6192213c7d6fc892d5589a93db548331954de8248fd2"}, + {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0c3f390dc53279cbc8ba976e5f8035eab997829066756d811616b652b00a23a3"}, + {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:59bfeae4b25ec05b34f1956eaa1cb38032282cd4dfabc5056d0a1ec4d696d3aa"}, + {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:b2f59caeaf7632cc633b5cf6fc449372b83bbdf0da4ae04d5be36118e46cc0aa"}, + {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:37bb93b2178e02b7b618893990941900fd25b6b9ac0fa49931a40aecdf083fe4"}, + {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4e9f48f58c2c523d5a06faea47866cd35b32655c46b443f163d08c6d0ddb17d6"}, + {file = "multidict-6.1.0-cp313-cp313-win32.whl", hash = "sha256:3a37ffb35399029b45c6cc33640a92bef403c9fd388acce75cdc88f58bd19a81"}, + {file = "multidict-6.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:e9aa71e15d9d9beaad2c6b9319edcdc0a49a43ef5c0a4c8265ca9ee7d6c67774"}, + {file = "multidict-6.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:db7457bac39421addd0c8449933ac32d8042aae84a14911a757ae6ca3eef1392"}, + {file = "multidict-6.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d094ddec350a2fb899fec68d8353c78233debde9b7d8b4beeafa70825f1c281a"}, + {file = "multidict-6.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5845c1fd4866bb5dd3125d89b90e57ed3138241540897de748cdf19de8a2fca2"}, + {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9079dfc6a70abe341f521f78405b8949f96db48da98aeb43f9907f342f627cdc"}, + {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3914f5aaa0f36d5d60e8ece6a308ee1c9784cd75ec8151062614657a114c4478"}, + {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c08be4f460903e5a9d0f76818db3250f12e9c344e79314d1d570fc69d7f4eae4"}, + {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d093be959277cb7dee84b801eb1af388b6ad3ca6a6b6bf1ed7585895789d027d"}, + {file = "multidict-6.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3702ea6872c5a2a4eeefa6ffd36b042e9773f05b1f37ae3ef7264b1163c2dcf6"}, + {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:2090f6a85cafc5b2db085124d752757c9d251548cedabe9bd31afe6363e0aff2"}, + {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:f67f217af4b1ff66c68a87318012de788dd95fcfeb24cc889011f4e1c7454dfd"}, + {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:189f652a87e876098bbc67b4da1049afb5f5dfbaa310dd67c594b01c10388db6"}, + {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:6bb5992037f7a9eff7991ebe4273ea7f51f1c1c511e6a2ce511d0e7bdb754492"}, + {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:ac10f4c2b9e770c4e393876e35a7046879d195cd123b4f116d299d442b335bcd"}, + {file = "multidict-6.1.0-cp38-cp38-win32.whl", hash = "sha256:e27bbb6d14416713a8bd7aaa1313c0fc8d44ee48d74497a0ff4c3a1b6ccb5167"}, + {file = "multidict-6.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:22f3105d4fb15c8f57ff3959a58fcab6ce36814486500cd7485651230ad4d4ef"}, + {file = "multidict-6.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:4e18b656c5e844539d506a0a06432274d7bd52a7487e6828c63a63d69185626c"}, + {file = "multidict-6.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a185f876e69897a6f3325c3f19f26a297fa058c5e456bfcff8015e9a27e83ae1"}, + {file = "multidict-6.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ab7c4ceb38d91570a650dba194e1ca87c2b543488fe9309b4212694174fd539c"}, + {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e617fb6b0b6953fffd762669610c1c4ffd05632c138d61ac7e14ad187870669c"}, + {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:16e5f4bf4e603eb1fdd5d8180f1a25f30056f22e55ce51fb3d6ad4ab29f7d96f"}, + {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f4c035da3f544b1882bac24115f3e2e8760f10a0107614fc9839fd232200b875"}, + {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:957cf8e4b6e123a9eea554fa7ebc85674674b713551de587eb318a2df3e00255"}, + {file = "multidict-6.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:483a6aea59cb89904e1ceabd2b47368b5600fb7de78a6e4a2c2987b2d256cf30"}, + {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:87701f25a2352e5bf7454caa64757642734da9f6b11384c1f9d1a8e699758057"}, + {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:682b987361e5fd7a139ed565e30d81fd81e9629acc7d925a205366877d8c8657"}, + {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ce2186a7df133a9c895dea3331ddc5ddad42cdd0d1ea2f0a51e5d161e4762f28"}, + {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:9f636b730f7e8cb19feb87094949ba54ee5357440b9658b2a32a5ce4bce53972"}, + {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:73eae06aa53af2ea5270cc066dcaf02cc60d2994bbb2c4ef5764949257d10f43"}, + {file = "multidict-6.1.0-cp39-cp39-win32.whl", hash = "sha256:1ca0083e80e791cffc6efce7660ad24af66c8d4079d2a750b29001b53ff59ada"}, + {file = "multidict-6.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:aa466da5b15ccea564bdab9c89175c762bc12825f4659c11227f515cee76fa4a"}, + {file = "multidict-6.1.0-py3-none-any.whl", hash = "sha256:48e171e52d1c4d33888e529b999e5900356b9ae588c2f09a52dcefb158b27506"}, + {file = "multidict-6.1.0.tar.gz", hash = "sha256:22ae2ebf9b0c69d206c003e2f6a914ea33f0a932d4aa16f236afc049d9958f4a"}, ] +[package.dependencies] +typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.11\""} + [[package]] name = "mypy-extensions" version = "1.0.0" @@ -1413,13 +1484,13 @@ files = [ [[package]] name = "pbr" -version = "6.0.0" +version = "6.1.0" description = "Python Build Reasonableness" optional = false python-versions = ">=2.6" files = [ - {file = "pbr-6.0.0-py2.py3-none-any.whl", hash = "sha256:4a7317d5e3b17a3dccb6a8cfe67dab65b20551404c52c8ed41279fa4f0cb4cda"}, - {file = "pbr-6.0.0.tar.gz", hash = "sha256:d1377122a5a00e2f940ee482999518efe16d745d423a670c27773dfbc3c9a7d9"}, + {file = "pbr-6.1.0-py2.py3-none-any.whl", hash = "sha256:a776ae228892d8013649c0aeccbb3d5f99ee15e005a4cbb7e61d55a067b28a2a"}, + {file = "pbr-6.1.0.tar.gz", hash = "sha256:788183e382e3d1d7707db08978239965e8b9e4e5ed42669bf4758186734d5f24"}, ] [[package]] @@ -1435,19 +1506,19 @@ files = [ [[package]] name = "platformdirs" -version = "4.2.2" +version = "4.3.2" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." optional = false python-versions = ">=3.8" files = [ - {file = "platformdirs-4.2.2-py3-none-any.whl", hash = "sha256:2d7a1657e36a80ea911db832a8a6ece5ee53d8de21edd5cc5879af6530b1bfee"}, - {file = "platformdirs-4.2.2.tar.gz", hash = "sha256:38b7b51f512eed9e84a22788b4bce1de17c0adb134d6becb09836e37d8654cd3"}, + {file = "platformdirs-4.3.2-py3-none-any.whl", hash = "sha256:eb1c8582560b34ed4ba105009a4badf7f6f85768b30126f351328507b2beb617"}, + {file = "platformdirs-4.3.2.tar.gz", hash = "sha256:9e5e27a08aa095dd127b9f2e764d74254f482fef22b0970773bfba79d091ab8c"}, ] [package.extras] -docs = ["furo (>=2023.9.10)", "proselint (>=0.13)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"] -test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)"] -type = ["mypy (>=1.8)"] +docs = ["furo (>=2024.8.6)", "proselint (>=0.14)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=8.3.2)", "pytest-cov (>=5)", "pytest-mock (>=3.14)"] +type = ["mypy (>=1.11.2)"] [[package]] name = "pluggy" @@ -1488,18 +1559,18 @@ files = [ [[package]] name = "pydantic" -version = "2.8.2" +version = "2.9.1" description = "Data validation using Python type hints" optional = false python-versions = ">=3.8" files = [ - {file = "pydantic-2.8.2-py3-none-any.whl", hash = "sha256:73ee9fddd406dc318b885c7a2eab8a6472b68b8fb5ba8150949fc3db939f23c8"}, - {file = "pydantic-2.8.2.tar.gz", hash = "sha256:6f62c13d067b0755ad1c21a34bdd06c0c12625a22b0fc09c6b149816604f7c2a"}, + {file = "pydantic-2.9.1-py3-none-any.whl", hash = "sha256:7aff4db5fdf3cf573d4b3c30926a510a10e19a0774d38fc4967f78beb6deb612"}, + {file = "pydantic-2.9.1.tar.gz", hash = "sha256:1363c7d975c7036df0db2b4a61f2e062fbc0aa5ab5f2772e0ffc7191a4f4bce2"}, ] [package.dependencies] -annotated-types = ">=0.4.0" -pydantic-core = "2.20.1" +annotated-types = ">=0.6.0" +pydantic-core = "2.23.3" typing-extensions = [ {version = ">=4.6.1", markers = "python_version < \"3.13\""}, {version = ">=4.12.2", markers = "python_version >= \"3.13\""}, @@ -1507,103 +1578,104 @@ typing-extensions = [ [package.extras] email = ["email-validator (>=2.0.0)"] +timezone = ["tzdata"] [[package]] name = "pydantic-core" -version = "2.20.1" +version = "2.23.3" description = "Core functionality for Pydantic validation and serialization" optional = false python-versions = ">=3.8" files = [ - {file = "pydantic_core-2.20.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:3acae97ffd19bf091c72df4d726d552c473f3576409b2a7ca36b2f535ffff4a3"}, - {file = "pydantic_core-2.20.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:41f4c96227a67a013e7de5ff8f20fb496ce573893b7f4f2707d065907bffdbd6"}, - {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f239eb799a2081495ea659d8d4a43a8f42cd1fe9ff2e7e436295c38a10c286a"}, - {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:53e431da3fc53360db73eedf6f7124d1076e1b4ee4276b36fb25514544ceb4a3"}, - {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f1f62b2413c3a0e846c3b838b2ecd6c7a19ec6793b2a522745b0869e37ab5bc1"}, - {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d41e6daee2813ecceea8eda38062d69e280b39df793f5a942fa515b8ed67953"}, - {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d482efec8b7dc6bfaedc0f166b2ce349df0011f5d2f1f25537ced4cfc34fd98"}, - {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e93e1a4b4b33daed65d781a57a522ff153dcf748dee70b40c7258c5861e1768a"}, - {file = "pydantic_core-2.20.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e7c4ea22b6739b162c9ecaaa41d718dfad48a244909fe7ef4b54c0b530effc5a"}, - {file = "pydantic_core-2.20.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4f2790949cf385d985a31984907fecb3896999329103df4e4983a4a41e13e840"}, - {file = "pydantic_core-2.20.1-cp310-none-win32.whl", hash = "sha256:5e999ba8dd90e93d57410c5e67ebb67ffcaadcea0ad973240fdfd3a135506250"}, - {file = "pydantic_core-2.20.1-cp310-none-win_amd64.whl", hash = "sha256:512ecfbefef6dac7bc5eaaf46177b2de58cdf7acac8793fe033b24ece0b9566c"}, - {file = "pydantic_core-2.20.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d2a8fa9d6d6f891f3deec72f5cc668e6f66b188ab14bb1ab52422fe8e644f312"}, - {file = "pydantic_core-2.20.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:175873691124f3d0da55aeea1d90660a6ea7a3cfea137c38afa0a5ffabe37b88"}, - {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:37eee5b638f0e0dcd18d21f59b679686bbd18917b87db0193ae36f9c23c355fc"}, - {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:25e9185e2d06c16ee438ed39bf62935ec436474a6ac4f9358524220f1b236e43"}, - {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:150906b40ff188a3260cbee25380e7494ee85048584998c1e66df0c7a11c17a6"}, - {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ad4aeb3e9a97286573c03df758fc7627aecdd02f1da04516a86dc159bf70121"}, - {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d3f3ed29cd9f978c604708511a1f9c2fdcb6c38b9aae36a51905b8811ee5cbf1"}, - {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b0dae11d8f5ded51699c74d9548dcc5938e0804cc8298ec0aa0da95c21fff57b"}, - {file = "pydantic_core-2.20.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:faa6b09ee09433b87992fb5a2859efd1c264ddc37280d2dd5db502126d0e7f27"}, - {file = "pydantic_core-2.20.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9dc1b507c12eb0481d071f3c1808f0529ad41dc415d0ca11f7ebfc666e66a18b"}, - {file = "pydantic_core-2.20.1-cp311-none-win32.whl", hash = "sha256:fa2fddcb7107e0d1808086ca306dcade7df60a13a6c347a7acf1ec139aa6789a"}, - {file = "pydantic_core-2.20.1-cp311-none-win_amd64.whl", hash = "sha256:40a783fb7ee353c50bd3853e626f15677ea527ae556429453685ae32280c19c2"}, - {file = "pydantic_core-2.20.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:595ba5be69b35777474fa07f80fc260ea71255656191adb22a8c53aba4479231"}, - {file = "pydantic_core-2.20.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a4f55095ad087474999ee28d3398bae183a66be4823f753cd7d67dd0153427c9"}, - {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f9aa05d09ecf4c75157197f27cdc9cfaeb7c5f15021c6373932bf3e124af029f"}, - {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e97fdf088d4b31ff4ba35db26d9cc472ac7ef4a2ff2badeabf8d727b3377fc52"}, - {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bc633a9fe1eb87e250b5c57d389cf28998e4292336926b0b6cdaee353f89a237"}, - {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d573faf8eb7e6b1cbbcb4f5b247c60ca8be39fe2c674495df0eb4318303137fe"}, - {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26dc97754b57d2fd00ac2b24dfa341abffc380b823211994c4efac7f13b9e90e"}, - {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:33499e85e739a4b60c9dac710c20a08dc73cb3240c9a0e22325e671b27b70d24"}, - {file = "pydantic_core-2.20.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:bebb4d6715c814597f85297c332297c6ce81e29436125ca59d1159b07f423eb1"}, - {file = "pydantic_core-2.20.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:516d9227919612425c8ef1c9b869bbbee249bc91912c8aaffb66116c0b447ebd"}, - {file = "pydantic_core-2.20.1-cp312-none-win32.whl", hash = "sha256:469f29f9093c9d834432034d33f5fe45699e664f12a13bf38c04967ce233d688"}, - {file = "pydantic_core-2.20.1-cp312-none-win_amd64.whl", hash = "sha256:035ede2e16da7281041f0e626459bcae33ed998cca6a0a007a5ebb73414ac72d"}, - {file = "pydantic_core-2.20.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:0827505a5c87e8aa285dc31e9ec7f4a17c81a813d45f70b1d9164e03a813a686"}, - {file = "pydantic_core-2.20.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:19c0fa39fa154e7e0b7f82f88ef85faa2a4c23cc65aae2f5aea625e3c13c735a"}, - {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa223cd1e36b642092c326d694d8bf59b71ddddc94cdb752bbbb1c5c91d833b"}, - {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c336a6d235522a62fef872c6295a42ecb0c4e1d0f1a3e500fe949415761b8a19"}, - {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7eb6a0587eded33aeefea9f916899d42b1799b7b14b8f8ff2753c0ac1741edac"}, - {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:70c8daf4faca8da5a6d655f9af86faf6ec2e1768f4b8b9d0226c02f3d6209703"}, - {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e9fa4c9bf273ca41f940bceb86922a7667cd5bf90e95dbb157cbb8441008482c"}, - {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:11b71d67b4725e7e2a9f6e9c0ac1239bbc0c48cce3dc59f98635efc57d6dac83"}, - {file = "pydantic_core-2.20.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:270755f15174fb983890c49881e93f8f1b80f0b5e3a3cc1394a255706cabd203"}, - {file = "pydantic_core-2.20.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:c81131869240e3e568916ef4c307f8b99583efaa60a8112ef27a366eefba8ef0"}, - {file = "pydantic_core-2.20.1-cp313-none-win32.whl", hash = "sha256:b91ced227c41aa29c672814f50dbb05ec93536abf8f43cd14ec9521ea09afe4e"}, - {file = "pydantic_core-2.20.1-cp313-none-win_amd64.whl", hash = "sha256:65db0f2eefcaad1a3950f498aabb4875c8890438bc80b19362cf633b87a8ab20"}, - {file = "pydantic_core-2.20.1-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:4745f4ac52cc6686390c40eaa01d48b18997cb130833154801a442323cc78f91"}, - {file = "pydantic_core-2.20.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a8ad4c766d3f33ba8fd692f9aa297c9058970530a32c728a2c4bfd2616d3358b"}, - {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41e81317dd6a0127cabce83c0c9c3fbecceae981c8391e6f1dec88a77c8a569a"}, - {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:04024d270cf63f586ad41fff13fde4311c4fc13ea74676962c876d9577bcc78f"}, - {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eaad4ff2de1c3823fddf82f41121bdf453d922e9a238642b1dedb33c4e4f98ad"}, - {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:26ab812fa0c845df815e506be30337e2df27e88399b985d0bb4e3ecfe72df31c"}, - {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3c5ebac750d9d5f2706654c638c041635c385596caf68f81342011ddfa1e5598"}, - {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2aafc5a503855ea5885559eae883978c9b6d8c8993d67766ee73d82e841300dd"}, - {file = "pydantic_core-2.20.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:4868f6bd7c9d98904b748a2653031fc9c2f85b6237009d475b1008bfaeb0a5aa"}, - {file = "pydantic_core-2.20.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:aa2f457b4af386254372dfa78a2eda2563680d982422641a85f271c859df1987"}, - {file = "pydantic_core-2.20.1-cp38-none-win32.whl", hash = "sha256:225b67a1f6d602de0ce7f6c1c3ae89a4aa25d3de9be857999e9124f15dab486a"}, - {file = "pydantic_core-2.20.1-cp38-none-win_amd64.whl", hash = "sha256:6b507132dcfc0dea440cce23ee2182c0ce7aba7054576efc65634f080dbe9434"}, - {file = "pydantic_core-2.20.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:b03f7941783b4c4a26051846dea594628b38f6940a2fdc0df00b221aed39314c"}, - {file = "pydantic_core-2.20.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1eedfeb6089ed3fad42e81a67755846ad4dcc14d73698c120a82e4ccf0f1f9f6"}, - {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:635fee4e041ab9c479e31edda27fcf966ea9614fff1317e280d99eb3e5ab6fe2"}, - {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:77bf3ac639c1ff567ae3b47f8d4cc3dc20f9966a2a6dd2311dcc055d3d04fb8a"}, - {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7ed1b0132f24beeec5a78b67d9388656d03e6a7c837394f99257e2d55b461611"}, - {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c6514f963b023aeee506678a1cf821fe31159b925c4b76fe2afa94cc70b3222b"}, - {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10d4204d8ca33146e761c79f83cc861df20e7ae9f6487ca290a97702daf56006"}, - {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2d036c7187b9422ae5b262badb87a20a49eb6c5238b2004e96d4da1231badef1"}, - {file = "pydantic_core-2.20.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9ebfef07dbe1d93efb94b4700f2d278494e9162565a54f124c404a5656d7ff09"}, - {file = "pydantic_core-2.20.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:6b9d9bb600328a1ce523ab4f454859e9d439150abb0906c5a1983c146580ebab"}, - {file = "pydantic_core-2.20.1-cp39-none-win32.whl", hash = "sha256:784c1214cb6dd1e3b15dd8b91b9a53852aed16671cc3fbe4786f4f1db07089e2"}, - {file = "pydantic_core-2.20.1-cp39-none-win_amd64.whl", hash = "sha256:d2fe69c5434391727efa54b47a1e7986bb0186e72a41b203df8f5b0a19a4f669"}, - {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:a45f84b09ac9c3d35dfcf6a27fd0634d30d183205230a0ebe8373a0e8cfa0906"}, - {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:d02a72df14dfdbaf228424573a07af10637bd490f0901cee872c4f434a735b94"}, - {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d2b27e6af28f07e2f195552b37d7d66b150adbaa39a6d327766ffd695799780f"}, - {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:084659fac3c83fd674596612aeff6041a18402f1e1bc19ca39e417d554468482"}, - {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:242b8feb3c493ab78be289c034a1f659e8826e2233786e36f2893a950a719bb6"}, - {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:38cf1c40a921d05c5edc61a785c0ddb4bed67827069f535d794ce6bcded919fc"}, - {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:e0bbdd76ce9aa5d4209d65f2b27fc6e5ef1312ae6c5333c26db3f5ade53a1e99"}, - {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:254ec27fdb5b1ee60684f91683be95e5133c994cc54e86a0b0963afa25c8f8a6"}, - {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:407653af5617f0757261ae249d3fba09504d7a71ab36ac057c938572d1bc9331"}, - {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:c693e916709c2465b02ca0ad7b387c4f8423d1db7b4649c551f27a529181c5ad"}, - {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5b5ff4911aea936a47d9376fd3ab17e970cc543d1b68921886e7f64bd28308d1"}, - {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:177f55a886d74f1808763976ac4efd29b7ed15c69f4d838bbd74d9d09cf6fa86"}, - {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:964faa8a861d2664f0c7ab0c181af0bea66098b1919439815ca8803ef136fc4e"}, - {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:4dd484681c15e6b9a977c785a345d3e378d72678fd5f1f3c0509608da24f2ac0"}, - {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f6d6cff3538391e8486a431569b77921adfcdef14eb18fbf19b7c0a5294d4e6a"}, - {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a6d511cc297ff0883bc3708b465ff82d7560193169a8b93260f74ecb0a5e08a7"}, - {file = "pydantic_core-2.20.1.tar.gz", hash = "sha256:26ca695eeee5f9f1aeeb211ffc12f10bcb6f71e2989988fda61dabd65db878d4"}, + {file = "pydantic_core-2.23.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:7f10a5d1b9281392f1bf507d16ac720e78285dfd635b05737c3911637601bae6"}, + {file = "pydantic_core-2.23.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3c09a7885dd33ee8c65266e5aa7fb7e2f23d49d8043f089989726391dd7350c5"}, + {file = "pydantic_core-2.23.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6470b5a1ec4d1c2e9afe928c6cb37eb33381cab99292a708b8cb9aa89e62429b"}, + {file = "pydantic_core-2.23.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9172d2088e27d9a185ea0a6c8cebe227a9139fd90295221d7d495944d2367700"}, + {file = "pydantic_core-2.23.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:86fc6c762ca7ac8fbbdff80d61b2c59fb6b7d144aa46e2d54d9e1b7b0e780e01"}, + {file = "pydantic_core-2.23.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f0cb80fd5c2df4898693aa841425ea1727b1b6d2167448253077d2a49003e0ed"}, + {file = "pydantic_core-2.23.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:03667cec5daf43ac4995cefa8aaf58f99de036204a37b889c24a80927b629cec"}, + {file = "pydantic_core-2.23.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:047531242f8e9c2db733599f1c612925de095e93c9cc0e599e96cf536aaf56ba"}, + {file = "pydantic_core-2.23.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:5499798317fff7f25dbef9347f4451b91ac2a4330c6669821c8202fd354c7bee"}, + {file = "pydantic_core-2.23.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bbb5e45eab7624440516ee3722a3044b83fff4c0372efe183fd6ba678ff681fe"}, + {file = "pydantic_core-2.23.3-cp310-none-win32.whl", hash = "sha256:8b5b3ed73abb147704a6e9f556d8c5cb078f8c095be4588e669d315e0d11893b"}, + {file = "pydantic_core-2.23.3-cp310-none-win_amd64.whl", hash = "sha256:2b603cde285322758a0279995b5796d64b63060bfbe214b50a3ca23b5cee3e83"}, + {file = "pydantic_core-2.23.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:c889fd87e1f1bbeb877c2ee56b63bb297de4636661cc9bbfcf4b34e5e925bc27"}, + {file = "pydantic_core-2.23.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ea85bda3189fb27503af4c45273735bcde3dd31c1ab17d11f37b04877859ef45"}, + {file = "pydantic_core-2.23.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a7f7f72f721223f33d3dc98a791666ebc6a91fa023ce63733709f4894a7dc611"}, + {file = "pydantic_core-2.23.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2b2b55b0448e9da68f56b696f313949cda1039e8ec7b5d294285335b53104b61"}, + {file = "pydantic_core-2.23.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c24574c7e92e2c56379706b9a3f07c1e0c7f2f87a41b6ee86653100c4ce343e5"}, + {file = "pydantic_core-2.23.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f2b05e6ccbee333a8f4b8f4d7c244fdb7a979e90977ad9c51ea31261e2085ce0"}, + {file = "pydantic_core-2.23.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e2c409ce1c219c091e47cb03feb3c4ed8c2b8e004efc940da0166aaee8f9d6c8"}, + {file = "pydantic_core-2.23.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d965e8b325f443ed3196db890d85dfebbb09f7384486a77461347f4adb1fa7f8"}, + {file = "pydantic_core-2.23.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f56af3a420fb1ffaf43ece3ea09c2d27c444e7c40dcb7c6e7cf57aae764f2b48"}, + {file = "pydantic_core-2.23.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5b01a078dd4f9a52494370af21aa52964e0a96d4862ac64ff7cea06e0f12d2c5"}, + {file = "pydantic_core-2.23.3-cp311-none-win32.whl", hash = "sha256:560e32f0df04ac69b3dd818f71339983f6d1f70eb99d4d1f8e9705fb6c34a5c1"}, + {file = "pydantic_core-2.23.3-cp311-none-win_amd64.whl", hash = "sha256:c744fa100fdea0d000d8bcddee95213d2de2e95b9c12be083370b2072333a0fa"}, + {file = "pydantic_core-2.23.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:e0ec50663feedf64d21bad0809f5857bac1ce91deded203efc4a84b31b2e4305"}, + {file = "pydantic_core-2.23.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:db6e6afcb95edbe6b357786684b71008499836e91f2a4a1e55b840955b341dbb"}, + {file = "pydantic_core-2.23.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:98ccd69edcf49f0875d86942f4418a4e83eb3047f20eb897bffa62a5d419c8fa"}, + {file = "pydantic_core-2.23.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a678c1ac5c5ec5685af0133262103defb427114e62eafeda12f1357a12140162"}, + {file = "pydantic_core-2.23.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:01491d8b4d8db9f3391d93b0df60701e644ff0894352947f31fff3e52bd5c801"}, + {file = "pydantic_core-2.23.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fcf31facf2796a2d3b7fe338fe8640aa0166e4e55b4cb108dbfd1058049bf4cb"}, + {file = "pydantic_core-2.23.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7200fd561fb3be06827340da066df4311d0b6b8eb0c2116a110be5245dceb326"}, + {file = "pydantic_core-2.23.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:dc1636770a809dee2bd44dd74b89cc80eb41172bcad8af75dd0bc182c2666d4c"}, + {file = "pydantic_core-2.23.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:67a5def279309f2e23014b608c4150b0c2d323bd7bccd27ff07b001c12c2415c"}, + {file = "pydantic_core-2.23.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:748bdf985014c6dd3e1e4cc3db90f1c3ecc7246ff5a3cd4ddab20c768b2f1dab"}, + {file = "pydantic_core-2.23.3-cp312-none-win32.whl", hash = "sha256:255ec6dcb899c115f1e2a64bc9ebc24cc0e3ab097775755244f77360d1f3c06c"}, + {file = "pydantic_core-2.23.3-cp312-none-win_amd64.whl", hash = "sha256:40b8441be16c1e940abebed83cd006ddb9e3737a279e339dbd6d31578b802f7b"}, + {file = "pydantic_core-2.23.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:6daaf5b1ba1369a22c8b050b643250e3e5efc6a78366d323294aee54953a4d5f"}, + {file = "pydantic_core-2.23.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d015e63b985a78a3d4ccffd3bdf22b7c20b3bbd4b8227809b3e8e75bc37f9cb2"}, + {file = "pydantic_core-2.23.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a3fc572d9b5b5cfe13f8e8a6e26271d5d13f80173724b738557a8c7f3a8a3791"}, + {file = "pydantic_core-2.23.3-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f6bd91345b5163ee7448bee201ed7dd601ca24f43f439109b0212e296eb5b423"}, + {file = "pydantic_core-2.23.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fc379c73fd66606628b866f661e8785088afe2adaba78e6bbe80796baf708a63"}, + {file = "pydantic_core-2.23.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fbdce4b47592f9e296e19ac31667daed8753c8367ebb34b9a9bd89dacaa299c9"}, + {file = "pydantic_core-2.23.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc3cf31edf405a161a0adad83246568647c54404739b614b1ff43dad2b02e6d5"}, + {file = "pydantic_core-2.23.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8e22b477bf90db71c156f89a55bfe4d25177b81fce4aa09294d9e805eec13855"}, + {file = "pydantic_core-2.23.3-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:0a0137ddf462575d9bce863c4c95bac3493ba8e22f8c28ca94634b4a1d3e2bb4"}, + {file = "pydantic_core-2.23.3-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:203171e48946c3164fe7691fc349c79241ff8f28306abd4cad5f4f75ed80bc8d"}, + {file = "pydantic_core-2.23.3-cp313-none-win32.whl", hash = "sha256:76bdab0de4acb3f119c2a4bff740e0c7dc2e6de7692774620f7452ce11ca76c8"}, + {file = "pydantic_core-2.23.3-cp313-none-win_amd64.whl", hash = "sha256:37ba321ac2a46100c578a92e9a6aa33afe9ec99ffa084424291d84e456f490c1"}, + {file = "pydantic_core-2.23.3-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:d063c6b9fed7d992bcbebfc9133f4c24b7a7f215d6b102f3e082b1117cddb72c"}, + {file = "pydantic_core-2.23.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6cb968da9a0746a0cf521b2b5ef25fc5a0bee9b9a1a8214e0a1cfaea5be7e8a4"}, + {file = "pydantic_core-2.23.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:edbefe079a520c5984e30e1f1f29325054b59534729c25b874a16a5048028d16"}, + {file = "pydantic_core-2.23.3-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:cbaaf2ef20d282659093913da9d402108203f7cb5955020bd8d1ae5a2325d1c4"}, + {file = "pydantic_core-2.23.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fb539d7e5dc4aac345846f290cf504d2fd3c1be26ac4e8b5e4c2b688069ff4cf"}, + {file = "pydantic_core-2.23.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7e6f33503c5495059148cc486867e1d24ca35df5fc064686e631e314d959ad5b"}, + {file = "pydantic_core-2.23.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:04b07490bc2f6f2717b10c3969e1b830f5720b632f8ae2f3b8b1542394c47a8e"}, + {file = "pydantic_core-2.23.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:03795b9e8a5d7fda05f3873efc3f59105e2dcff14231680296b87b80bb327295"}, + {file = "pydantic_core-2.23.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:c483dab0f14b8d3f0df0c6c18d70b21b086f74c87ab03c59250dbf6d3c89baba"}, + {file = "pydantic_core-2.23.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8b2682038e255e94baf2c473dca914a7460069171ff5cdd4080be18ab8a7fd6e"}, + {file = "pydantic_core-2.23.3-cp38-none-win32.whl", hash = "sha256:f4a57db8966b3a1d1a350012839c6a0099f0898c56512dfade8a1fe5fb278710"}, + {file = "pydantic_core-2.23.3-cp38-none-win_amd64.whl", hash = "sha256:13dd45ba2561603681a2676ca56006d6dee94493f03d5cadc055d2055615c3ea"}, + {file = "pydantic_core-2.23.3-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:82da2f4703894134a9f000e24965df73cc103e31e8c31906cc1ee89fde72cbd8"}, + {file = "pydantic_core-2.23.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:dd9be0a42de08f4b58a3cc73a123f124f65c24698b95a54c1543065baca8cf0e"}, + {file = "pydantic_core-2.23.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89b731f25c80830c76fdb13705c68fef6a2b6dc494402987c7ea9584fe189f5d"}, + {file = "pydantic_core-2.23.3-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c6de1ec30c4bb94f3a69c9f5f2182baeda5b809f806676675e9ef6b8dc936f28"}, + {file = "pydantic_core-2.23.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bb68b41c3fa64587412b104294b9cbb027509dc2f6958446c502638d481525ef"}, + {file = "pydantic_core-2.23.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1c3980f2843de5184656aab58698011b42763ccba11c4a8c35936c8dd6c7068c"}, + {file = "pydantic_core-2.23.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94f85614f2cba13f62c3c6481716e4adeae48e1eaa7e8bac379b9d177d93947a"}, + {file = "pydantic_core-2.23.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:510b7fb0a86dc8f10a8bb43bd2f97beb63cffad1203071dc434dac26453955cd"}, + {file = "pydantic_core-2.23.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:1eba2f7ce3e30ee2170410e2171867ea73dbd692433b81a93758ab2de6c64835"}, + {file = "pydantic_core-2.23.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:4b259fd8409ab84b4041b7b3f24dcc41e4696f180b775961ca8142b5b21d0e70"}, + {file = "pydantic_core-2.23.3-cp39-none-win32.whl", hash = "sha256:40d9bd259538dba2f40963286009bf7caf18b5112b19d2b55b09c14dde6db6a7"}, + {file = "pydantic_core-2.23.3-cp39-none-win_amd64.whl", hash = "sha256:5a8cd3074a98ee70173a8633ad3c10e00dcb991ecec57263aacb4095c5efb958"}, + {file = "pydantic_core-2.23.3-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:f399e8657c67313476a121a6944311fab377085ca7f490648c9af97fc732732d"}, + {file = "pydantic_core-2.23.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:6b5547d098c76e1694ba85f05b595720d7c60d342f24d5aad32c3049131fa5c4"}, + {file = "pydantic_core-2.23.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0dda0290a6f608504882d9f7650975b4651ff91c85673341789a476b1159f211"}, + {file = "pydantic_core-2.23.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65b6e5da855e9c55a0c67f4db8a492bf13d8d3316a59999cfbaf98cc6e401961"}, + {file = "pydantic_core-2.23.3-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:09e926397f392059ce0afdcac920df29d9c833256354d0c55f1584b0b70cf07e"}, + {file = "pydantic_core-2.23.3-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:87cfa0ed6b8c5bd6ae8b66de941cece179281239d482f363814d2b986b79cedc"}, + {file = "pydantic_core-2.23.3-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:e61328920154b6a44d98cabcb709f10e8b74276bc709c9a513a8c37a18786cc4"}, + {file = "pydantic_core-2.23.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ce3317d155628301d649fe5e16a99528d5680af4ec7aa70b90b8dacd2d725c9b"}, + {file = "pydantic_core-2.23.3-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:e89513f014c6be0d17b00a9a7c81b1c426f4eb9224b15433f3d98c1a071f8433"}, + {file = "pydantic_core-2.23.3-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:4f62c1c953d7ee375df5eb2e44ad50ce2f5aff931723b398b8bc6f0ac159791a"}, + {file = "pydantic_core-2.23.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2718443bc671c7ac331de4eef9b673063b10af32a0bb385019ad61dcf2cc8f6c"}, + {file = "pydantic_core-2.23.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0d90e08b2727c5d01af1b5ef4121d2f0c99fbee692c762f4d9d0409c9da6541"}, + {file = "pydantic_core-2.23.3-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2b676583fc459c64146debea14ba3af54e540b61762dfc0613dc4e98c3f66eeb"}, + {file = "pydantic_core-2.23.3-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:50e4661f3337977740fdbfbae084ae5693e505ca2b3130a6d4eb0f2281dc43b8"}, + {file = "pydantic_core-2.23.3-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:68f4cf373f0de6abfe599a38307f4417c1c867ca381c03df27c873a9069cda25"}, + {file = "pydantic_core-2.23.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:59d52cf01854cb26c46958552a21acb10dd78a52aa34c86f284e66b209db8cab"}, + {file = "pydantic_core-2.23.3.tar.gz", hash = "sha256:3cb0f65d8b4121c1b015c60104a685feb929a29d7cf204387c7f2688c7974690"}, ] [package.dependencies] @@ -1625,13 +1697,13 @@ windows-terminal = ["colorama (>=0.4.6)"] [[package]] name = "pylint" -version = "3.2.6" +version = "3.2.7" description = "python code static checker" optional = false python-versions = ">=3.8.0" files = [ - {file = "pylint-3.2.6-py3-none-any.whl", hash = "sha256:03c8e3baa1d9fb995b12c1dbe00aa6c4bcef210c2a2634374aedeb22fb4a8f8f"}, - {file = "pylint-3.2.6.tar.gz", hash = "sha256:a5d01678349454806cff6d886fb072294f56a58c4761278c97fb557d708e1eb3"}, + {file = "pylint-3.2.7-py3-none-any.whl", hash = "sha256:02f4aedeac91be69fb3b4bea997ce580a4ac68ce58b89eaefeaf06749df73f4b"}, + {file = "pylint-3.2.7.tar.gz", hash = "sha256:1b7a721b575eaeaa7d39db076b6e7743c993ea44f57979127c517c6c572c803e"}, ] [package.dependencies] @@ -1681,13 +1753,13 @@ files = [ [[package]] name = "pytest" -version = "8.3.2" +version = "8.3.3" description = "pytest: simple powerful testing with Python" optional = false python-versions = ">=3.8" files = [ - {file = "pytest-8.3.2-py3-none-any.whl", hash = "sha256:4ba08f9ae7dcf84ded419494d229b48d0903ea6407b030eaec46df5e6a73bba5"}, - {file = "pytest-8.3.2.tar.gz", hash = "sha256:c132345d12ce551242c87269de812483f5bcc87cdbb4722e48487ba194f9fdce"}, + {file = "pytest-8.3.3-py3-none-any.whl", hash = "sha256:a6853c7375b2663155079443d2e45de913a911a11d669df02a50814944db57b2"}, + {file = "pytest-8.3.3.tar.gz", hash = "sha256:70b98107bd648308a7952b06e6ca9a50bc660be218d53c257cc1fc94fda10181"}, ] [package.dependencies] @@ -1868,13 +1940,13 @@ test = ["commentjson", "packaging", "pytest"] [[package]] name = "rich" -version = "13.7.1" +version = "13.8.1" description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" optional = false python-versions = ">=3.7.0" files = [ - {file = "rich-13.7.1-py3-none-any.whl", hash = "sha256:4edbae314f59eb482f54e9e30bf00d33350aaa94f4bfcd4e9e3110e64d0d7222"}, - {file = "rich-13.7.1.tar.gz", hash = "sha256:9be308cb1fe2f1f57d67ce99e95af38a1e2bc71ad9813b0e247cf7ffbcc3a432"}, + {file = "rich-13.8.1-py3-none-any.whl", hash = "sha256:1760a3c0848469b97b558fc61c85233e3dafb69c7a071b4d60c38099d3cd4c06"}, + {file = "rich-13.8.1.tar.gz", hash = "sha256:8260cda28e3db6bf04d2d1ef4dbc03ba80a824c88b0e7668a0f23126a424844a"}, ] [package.dependencies] @@ -2138,17 +2210,17 @@ test = ["pytest"] [[package]] name = "stevedore" -version = "5.2.0" +version = "5.3.0" description = "Manage dynamic plugins for Python applications" optional = false python-versions = ">=3.8" files = [ - {file = "stevedore-5.2.0-py3-none-any.whl", hash = "sha256:1c15d95766ca0569cad14cb6272d4d31dae66b011a929d7c18219c176ea1b5c9"}, - {file = "stevedore-5.2.0.tar.gz", hash = "sha256:46b93ca40e1114cea93d738a6c1e365396981bb6bb78c27045b7587c9473544d"}, + {file = "stevedore-5.3.0-py3-none-any.whl", hash = "sha256:1efd34ca08f474dad08d9b19e934a22c68bb6fe416926479ba29e5013bcc8f78"}, + {file = "stevedore-5.3.0.tar.gz", hash = "sha256:9a64265f4060312828151c204efbe9b7a9852a0d9228756344dbc7e4023e375a"}, ] [package.dependencies] -pbr = ">=2.0.0,<2.1.0 || >2.1.0" +pbr = ">=2.0.0" [[package]] name = "tomli" @@ -2163,13 +2235,13 @@ files = [ [[package]] name = "tomlkit" -version = "0.13.0" +version = "0.13.2" description = "Style preserving TOML library" optional = false python-versions = ">=3.8" files = [ - {file = "tomlkit-0.13.0-py3-none-any.whl", hash = "sha256:7075d3042d03b80f603482d69bf0c8f345c2b30e41699fd8883227f89972b264"}, - {file = "tomlkit-0.13.0.tar.gz", hash = "sha256:08ad192699734149f5b97b45f1f18dad7eb1b6d16bc72ad0c2335772650d7b72"}, + {file = "tomlkit-0.13.2-py3-none-any.whl", hash = "sha256:7a974427f6e119197f670fbbbeae7bef749a6c14e793db934baefc1b5f03efde"}, + {file = "tomlkit-0.13.2.tar.gz", hash = "sha256:fff5fe59a87295b278abd31bec92c15d9bc4a06885ab12bcea52c71119392e79"}, ] [[package]] @@ -2188,13 +2260,13 @@ six = "*" [[package]] name = "typer" -version = "0.12.3" +version = "0.12.5" description = "Typer, build great CLIs. Easy to code. Based on Python type hints." optional = false python-versions = ">=3.7" files = [ - {file = "typer-0.12.3-py3-none-any.whl", hash = "sha256:070d7ca53f785acbccba8e7d28b08dcd88f79f1fbda035ade0aecec71ca5c914"}, - {file = "typer-0.12.3.tar.gz", hash = "sha256:49e73131481d804288ef62598d97a1ceef3058905aa536a1134f90891ba35482"}, + {file = "typer-0.12.5-py3-none-any.whl", hash = "sha256:62fe4e471711b147e3365034133904df3e235698399bc4de2b36c8579298d52b"}, + {file = "typer-0.12.5.tar.gz", hash = "sha256:f592f089bedcc8ec1b974125d64851029c3b1af145f04aca64d69410f0c9b722"}, ] [package.dependencies] @@ -2216,13 +2288,13 @@ files = [ [[package]] name = "urllib3" -version = "1.26.19" +version = "1.26.20" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" files = [ - {file = "urllib3-1.26.19-py2.py3-none-any.whl", hash = "sha256:37a0344459b199fce0e80b0d3569837ec6b6937435c5244e7fd73fa6006830f3"}, - {file = "urllib3-1.26.19.tar.gz", hash = "sha256:3e3d753a8618b86d7de333b4223005f68720bcd6a7d2bcb9fbd2229ec7c1e429"}, + {file = "urllib3-1.26.20-py2.py3-none-any.whl", hash = "sha256:0ed14ccfbf1c30a9072c7ca157e4319b70d65f623e91e7b32fadb2853431016e"}, + {file = "urllib3-1.26.20.tar.gz", hash = "sha256:40c2dc0c681e47eb8f90e7e27bf6ff7df2e677421fd46756da1161c39ca70d32"}, ] [package.extras] @@ -2232,101 +2304,103 @@ socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] [[package]] name = "yarl" -version = "1.9.4" +version = "1.11.1" description = "Yet another URL library" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "yarl-1.9.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a8c1df72eb746f4136fe9a2e72b0c9dc1da1cbd23b5372f94b5820ff8ae30e0e"}, - {file = "yarl-1.9.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a3a6ed1d525bfb91b3fc9b690c5a21bb52de28c018530ad85093cc488bee2dd2"}, - {file = "yarl-1.9.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c38c9ddb6103ceae4e4498f9c08fac9b590c5c71b0370f98714768e22ac6fa66"}, - {file = "yarl-1.9.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d9e09c9d74f4566e905a0b8fa668c58109f7624db96a2171f21747abc7524234"}, - {file = "yarl-1.9.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b8477c1ee4bd47c57d49621a062121c3023609f7a13b8a46953eb6c9716ca392"}, - {file = "yarl-1.9.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5ff2c858f5f6a42c2a8e751100f237c5e869cbde669a724f2062d4c4ef93551"}, - {file = "yarl-1.9.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:357495293086c5b6d34ca9616a43d329317feab7917518bc97a08f9e55648455"}, - {file = "yarl-1.9.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:54525ae423d7b7a8ee81ba189f131054defdb122cde31ff17477951464c1691c"}, - {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:801e9264d19643548651b9db361ce3287176671fb0117f96b5ac0ee1c3530d53"}, - {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e516dc8baf7b380e6c1c26792610230f37147bb754d6426462ab115a02944385"}, - {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:7d5aaac37d19b2904bb9dfe12cdb08c8443e7ba7d2852894ad448d4b8f442863"}, - {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:54beabb809ffcacbd9d28ac57b0db46e42a6e341a030293fb3185c409e626b8b"}, - {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bac8d525a8dbc2a1507ec731d2867025d11ceadcb4dd421423a5d42c56818541"}, - {file = "yarl-1.9.4-cp310-cp310-win32.whl", hash = "sha256:7855426dfbddac81896b6e533ebefc0af2f132d4a47340cee6d22cac7190022d"}, - {file = "yarl-1.9.4-cp310-cp310-win_amd64.whl", hash = "sha256:848cd2a1df56ddbffeb375535fb62c9d1645dde33ca4d51341378b3f5954429b"}, - {file = "yarl-1.9.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:35a2b9396879ce32754bd457d31a51ff0a9d426fd9e0e3c33394bf4b9036b099"}, - {file = "yarl-1.9.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4c7d56b293cc071e82532f70adcbd8b61909eec973ae9d2d1f9b233f3d943f2c"}, - {file = "yarl-1.9.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d8a1c6c0be645c745a081c192e747c5de06e944a0d21245f4cf7c05e457c36e0"}, - {file = "yarl-1.9.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b3c1ffe10069f655ea2d731808e76e0f452fc6c749bea04781daf18e6039525"}, - {file = "yarl-1.9.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:549d19c84c55d11687ddbd47eeb348a89df9cb30e1993f1b128f4685cd0ebbf8"}, - {file = "yarl-1.9.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a7409f968456111140c1c95301cadf071bd30a81cbd7ab829169fb9e3d72eae9"}, - {file = "yarl-1.9.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e23a6d84d9d1738dbc6e38167776107e63307dfc8ad108e580548d1f2c587f42"}, - {file = "yarl-1.9.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d8b889777de69897406c9fb0b76cdf2fd0f31267861ae7501d93003d55f54fbe"}, - {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:03caa9507d3d3c83bca08650678e25364e1843b484f19986a527630ca376ecce"}, - {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:4e9035df8d0880b2f1c7f5031f33f69e071dfe72ee9310cfc76f7b605958ceb9"}, - {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:c0ec0ed476f77db9fb29bca17f0a8fcc7bc97ad4c6c1d8959c507decb22e8572"}, - {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:ee04010f26d5102399bd17f8df8bc38dc7ccd7701dc77f4a68c5b8d733406958"}, - {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:49a180c2e0743d5d6e0b4d1a9e5f633c62eca3f8a86ba5dd3c471060e352ca98"}, - {file = "yarl-1.9.4-cp311-cp311-win32.whl", hash = "sha256:81eb57278deb6098a5b62e88ad8281b2ba09f2f1147c4767522353eaa6260b31"}, - {file = "yarl-1.9.4-cp311-cp311-win_amd64.whl", hash = "sha256:d1d2532b340b692880261c15aee4dc94dd22ca5d61b9db9a8a361953d36410b1"}, - {file = "yarl-1.9.4-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0d2454f0aef65ea81037759be5ca9947539667eecebca092733b2eb43c965a81"}, - {file = "yarl-1.9.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:44d8ffbb9c06e5a7f529f38f53eda23e50d1ed33c6c869e01481d3fafa6b8142"}, - {file = "yarl-1.9.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:aaaea1e536f98754a6e5c56091baa1b6ce2f2700cc4a00b0d49eca8dea471074"}, - {file = "yarl-1.9.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3777ce5536d17989c91696db1d459574e9a9bd37660ea7ee4d3344579bb6f129"}, - {file = "yarl-1.9.4-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fc5fc1eeb029757349ad26bbc5880557389a03fa6ada41703db5e068881e5f2"}, - {file = "yarl-1.9.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ea65804b5dc88dacd4a40279af0cdadcfe74b3e5b4c897aa0d81cf86927fee78"}, - {file = "yarl-1.9.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa102d6d280a5455ad6a0f9e6d769989638718e938a6a0a2ff3f4a7ff8c62cc4"}, - {file = "yarl-1.9.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:09efe4615ada057ba2d30df871d2f668af661e971dfeedf0c159927d48bbeff0"}, - {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:008d3e808d03ef28542372d01057fd09168419cdc8f848efe2804f894ae03e51"}, - {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:6f5cb257bc2ec58f437da2b37a8cd48f666db96d47b8a3115c29f316313654ff"}, - {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:992f18e0ea248ee03b5a6e8b3b4738850ae7dbb172cc41c966462801cbf62cf7"}, - {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:0e9d124c191d5b881060a9e5060627694c3bdd1fe24c5eecc8d5d7d0eb6faabc"}, - {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:3986b6f41ad22988e53d5778f91855dc0399b043fc8946d4f2e68af22ee9ff10"}, - {file = "yarl-1.9.4-cp312-cp312-win32.whl", hash = "sha256:4b21516d181cd77ebd06ce160ef8cc2a5e9ad35fb1c5930882baff5ac865eee7"}, - {file = "yarl-1.9.4-cp312-cp312-win_amd64.whl", hash = "sha256:a9bd00dc3bc395a662900f33f74feb3e757429e545d831eef5bb280252631984"}, - {file = "yarl-1.9.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:63b20738b5aac74e239622d2fe30df4fca4942a86e31bf47a81a0e94c14df94f"}, - {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7d7f7de27b8944f1fee2c26a88b4dabc2409d2fea7a9ed3df79b67277644e17"}, - {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c74018551e31269d56fab81a728f683667e7c28c04e807ba08f8c9e3bba32f14"}, - {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ca06675212f94e7a610e85ca36948bb8fc023e458dd6c63ef71abfd482481aa5"}, - {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5aef935237d60a51a62b86249839b51345f47564208c6ee615ed2a40878dccdd"}, - {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2b134fd795e2322b7684155b7855cc99409d10b2e408056db2b93b51a52accc7"}, - {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:d25039a474c4c72a5ad4b52495056f843a7ff07b632c1b92ea9043a3d9950f6e"}, - {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:f7d6b36dd2e029b6bcb8a13cf19664c7b8e19ab3a58e0fefbb5b8461447ed5ec"}, - {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:957b4774373cf6f709359e5c8c4a0af9f6d7875db657adb0feaf8d6cb3c3964c"}, - {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:d7eeb6d22331e2fd42fce928a81c697c9ee2d51400bd1a28803965883e13cead"}, - {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:6a962e04b8f91f8c4e5917e518d17958e3bdee71fd1d8b88cdce74dd0ebbf434"}, - {file = "yarl-1.9.4-cp37-cp37m-win32.whl", hash = "sha256:f3bc6af6e2b8f92eced34ef6a96ffb248e863af20ef4fde9448cc8c9b858b749"}, - {file = "yarl-1.9.4-cp37-cp37m-win_amd64.whl", hash = "sha256:ad4d7a90a92e528aadf4965d685c17dacff3df282db1121136c382dc0b6014d2"}, - {file = "yarl-1.9.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ec61d826d80fc293ed46c9dd26995921e3a82146feacd952ef0757236fc137be"}, - {file = "yarl-1.9.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8be9e837ea9113676e5754b43b940b50cce76d9ed7d2461df1af39a8ee674d9f"}, - {file = "yarl-1.9.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:bef596fdaa8f26e3d66af846bbe77057237cb6e8efff8cd7cc8dff9a62278bbf"}, - {file = "yarl-1.9.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2d47552b6e52c3319fede1b60b3de120fe83bde9b7bddad11a69fb0af7db32f1"}, - {file = "yarl-1.9.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:84fc30f71689d7fc9168b92788abc977dc8cefa806909565fc2951d02f6b7d57"}, - {file = "yarl-1.9.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4aa9741085f635934f3a2583e16fcf62ba835719a8b2b28fb2917bb0537c1dfa"}, - {file = "yarl-1.9.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:206a55215e6d05dbc6c98ce598a59e6fbd0c493e2de4ea6cc2f4934d5a18d130"}, - {file = "yarl-1.9.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07574b007ee20e5c375a8fe4a0789fad26db905f9813be0f9fef5a68080de559"}, - {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5a2e2433eb9344a163aced6a5f6c9222c0786e5a9e9cac2c89f0b28433f56e23"}, - {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:6ad6d10ed9b67a382b45f29ea028f92d25bc0bc1daf6c5b801b90b5aa70fb9ec"}, - {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:6fe79f998a4052d79e1c30eeb7d6c1c1056ad33300f682465e1b4e9b5a188b78"}, - {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:a825ec844298c791fd28ed14ed1bffc56a98d15b8c58a20e0e08c1f5f2bea1be"}, - {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8619d6915b3b0b34420cf9b2bb6d81ef59d984cb0fde7544e9ece32b4b3043c3"}, - {file = "yarl-1.9.4-cp38-cp38-win32.whl", hash = "sha256:686a0c2f85f83463272ddffd4deb5e591c98aac1897d65e92319f729c320eece"}, - {file = "yarl-1.9.4-cp38-cp38-win_amd64.whl", hash = "sha256:a00862fb23195b6b8322f7d781b0dc1d82cb3bcac346d1e38689370cc1cc398b"}, - {file = "yarl-1.9.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:604f31d97fa493083ea21bd9b92c419012531c4e17ea6da0f65cacdcf5d0bd27"}, - {file = "yarl-1.9.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8a854227cf581330ffa2c4824d96e52ee621dd571078a252c25e3a3b3d94a1b1"}, - {file = "yarl-1.9.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ba6f52cbc7809cd8d74604cce9c14868306ae4aa0282016b641c661f981a6e91"}, - {file = "yarl-1.9.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a6327976c7c2f4ee6816eff196e25385ccc02cb81427952414a64811037bbc8b"}, - {file = "yarl-1.9.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8397a3817d7dcdd14bb266283cd1d6fc7264a48c186b986f32e86d86d35fbac5"}, - {file = "yarl-1.9.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e0381b4ce23ff92f8170080c97678040fc5b08da85e9e292292aba67fdac6c34"}, - {file = "yarl-1.9.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:23d32a2594cb5d565d358a92e151315d1b2268bc10f4610d098f96b147370136"}, - {file = "yarl-1.9.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ddb2a5c08a4eaaba605340fdee8fc08e406c56617566d9643ad8bf6852778fc7"}, - {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:26a1dc6285e03f3cc9e839a2da83bcbf31dcb0d004c72d0730e755b33466c30e"}, - {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:18580f672e44ce1238b82f7fb87d727c4a131f3a9d33a5e0e82b793362bf18b4"}, - {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:29e0f83f37610f173eb7e7b5562dd71467993495e568e708d99e9d1944f561ec"}, - {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:1f23e4fe1e8794f74b6027d7cf19dc25f8b63af1483d91d595d4a07eca1fb26c"}, - {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:db8e58b9d79200c76956cefd14d5c90af54416ff5353c5bfd7cbe58818e26ef0"}, - {file = "yarl-1.9.4-cp39-cp39-win32.whl", hash = "sha256:c7224cab95645c7ab53791022ae77a4509472613e839dab722a72abe5a684575"}, - {file = "yarl-1.9.4-cp39-cp39-win_amd64.whl", hash = "sha256:824d6c50492add5da9374875ce72db7a0733b29c2394890aef23d533106e2b15"}, - {file = "yarl-1.9.4-py3-none-any.whl", hash = "sha256:928cecb0ef9d5a7946eb6ff58417ad2fe9375762382f1bf5c55e61645f2c43ad"}, - {file = "yarl-1.9.4.tar.gz", hash = "sha256:566db86717cf8080b99b58b083b773a908ae40f06681e87e589a976faf8246bf"}, + {file = "yarl-1.11.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:400cd42185f92de559d29eeb529e71d80dfbd2f45c36844914a4a34297ca6f00"}, + {file = "yarl-1.11.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8258c86f47e080a258993eed877d579c71da7bda26af86ce6c2d2d072c11320d"}, + {file = "yarl-1.11.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2164cd9725092761fed26f299e3f276bb4b537ca58e6ff6b252eae9631b5c96e"}, + {file = "yarl-1.11.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08ea567c16f140af8ddc7cb58e27e9138a1386e3e6e53982abaa6f2377b38cc"}, + {file = "yarl-1.11.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:768ecc550096b028754ea28bf90fde071c379c62c43afa574edc6f33ee5daaec"}, + {file = "yarl-1.11.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2909fa3a7d249ef64eeb2faa04b7957e34fefb6ec9966506312349ed8a7e77bf"}, + {file = "yarl-1.11.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:01a8697ec24f17c349c4f655763c4db70eebc56a5f82995e5e26e837c6eb0e49"}, + {file = "yarl-1.11.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e286580b6511aac7c3268a78cdb861ec739d3e5a2a53b4809faef6b49778eaff"}, + {file = "yarl-1.11.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:4179522dc0305c3fc9782549175c8e8849252fefeb077c92a73889ccbcd508ad"}, + {file = "yarl-1.11.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:27fcb271a41b746bd0e2a92182df507e1c204759f460ff784ca614e12dd85145"}, + {file = "yarl-1.11.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:f61db3b7e870914dbd9434b560075e0366771eecbe6d2b5561f5bc7485f39efd"}, + {file = "yarl-1.11.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:c92261eb2ad367629dc437536463dc934030c9e7caca861cc51990fe6c565f26"}, + {file = "yarl-1.11.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d95b52fbef190ca87d8c42f49e314eace4fc52070f3dfa5f87a6594b0c1c6e46"}, + {file = "yarl-1.11.1-cp310-cp310-win32.whl", hash = "sha256:489fa8bde4f1244ad6c5f6d11bb33e09cf0d1d0367edb197619c3e3fc06f3d91"}, + {file = "yarl-1.11.1-cp310-cp310-win_amd64.whl", hash = "sha256:476e20c433b356e16e9a141449f25161e6b69984fb4cdbd7cd4bd54c17844998"}, + {file = "yarl-1.11.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:946eedc12895873891aaceb39bceb484b4977f70373e0122da483f6c38faaa68"}, + {file = "yarl-1.11.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:21a7c12321436b066c11ec19c7e3cb9aec18884fe0d5b25d03d756a9e654edfe"}, + {file = "yarl-1.11.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c35f493b867912f6fda721a59cc7c4766d382040bdf1ddaeeaa7fa4d072f4675"}, + {file = "yarl-1.11.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25861303e0be76b60fddc1250ec5986c42f0a5c0c50ff57cc30b1be199c00e63"}, + {file = "yarl-1.11.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e4b53f73077e839b3f89c992223f15b1d2ab314bdbdf502afdc7bb18e95eae27"}, + {file = "yarl-1.11.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:327c724b01b8641a1bf1ab3b232fb638706e50f76c0b5bf16051ab65c868fac5"}, + {file = "yarl-1.11.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4307d9a3417eea87715c9736d050c83e8c1904e9b7aada6ce61b46361b733d92"}, + {file = "yarl-1.11.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:48a28bed68ab8fb7e380775f0029a079f08a17799cb3387a65d14ace16c12e2b"}, + {file = "yarl-1.11.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:067b961853c8e62725ff2893226fef3d0da060656a9827f3f520fb1d19b2b68a"}, + {file = "yarl-1.11.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8215f6f21394d1f46e222abeb06316e77ef328d628f593502d8fc2a9117bde83"}, + {file = "yarl-1.11.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:498442e3af2a860a663baa14fbf23fb04b0dd758039c0e7c8f91cb9279799bff"}, + {file = "yarl-1.11.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:69721b8effdb588cb055cc22f7c5105ca6fdaa5aeb3ea09021d517882c4a904c"}, + {file = "yarl-1.11.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1e969fa4c1e0b1a391f3fcbcb9ec31e84440253325b534519be0d28f4b6b533e"}, + {file = "yarl-1.11.1-cp311-cp311-win32.whl", hash = "sha256:7d51324a04fc4b0e097ff8a153e9276c2593106a811704025bbc1d6916f45ca6"}, + {file = "yarl-1.11.1-cp311-cp311-win_amd64.whl", hash = "sha256:15061ce6584ece023457fb8b7a7a69ec40bf7114d781a8c4f5dcd68e28b5c53b"}, + {file = "yarl-1.11.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:a4264515f9117be204935cd230fb2a052dd3792789cc94c101c535d349b3dab0"}, + {file = "yarl-1.11.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f41fa79114a1d2eddb5eea7b912d6160508f57440bd302ce96eaa384914cd265"}, + {file = "yarl-1.11.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:02da8759b47d964f9173c8675710720b468aa1c1693be0c9c64abb9d8d9a4867"}, + {file = "yarl-1.11.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9361628f28f48dcf8b2f528420d4d68102f593f9c2e592bfc842f5fb337e44fd"}, + {file = "yarl-1.11.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b91044952da03b6f95fdba398d7993dd983b64d3c31c358a4c89e3c19b6f7aef"}, + {file = "yarl-1.11.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:74db2ef03b442276d25951749a803ddb6e270d02dda1d1c556f6ae595a0d76a8"}, + {file = "yarl-1.11.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e975a2211952a8a083d1b9d9ba26472981ae338e720b419eb50535de3c02870"}, + {file = "yarl-1.11.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8aef97ba1dd2138112890ef848e17d8526fe80b21f743b4ee65947ea184f07a2"}, + {file = "yarl-1.11.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a7915ea49b0c113641dc4d9338efa9bd66b6a9a485ffe75b9907e8573ca94b84"}, + {file = "yarl-1.11.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:504cf0d4c5e4579a51261d6091267f9fd997ef58558c4ffa7a3e1460bd2336fa"}, + {file = "yarl-1.11.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:3de5292f9f0ee285e6bd168b2a77b2a00d74cbcfa420ed078456d3023d2f6dff"}, + {file = "yarl-1.11.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:a34e1e30f1774fa35d37202bbeae62423e9a79d78d0874e5556a593479fdf239"}, + {file = "yarl-1.11.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:66b63c504d2ca43bf7221a1f72fbe981ff56ecb39004c70a94485d13e37ebf45"}, + {file = "yarl-1.11.1-cp312-cp312-win32.whl", hash = "sha256:a28b70c9e2213de425d9cba5ab2e7f7a1c8ca23a99c4b5159bf77b9c31251447"}, + {file = "yarl-1.11.1-cp312-cp312-win_amd64.whl", hash = "sha256:17b5a386d0d36fb828e2fb3ef08c8829c1ebf977eef88e5367d1c8c94b454639"}, + {file = "yarl-1.11.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:1fa2e7a406fbd45b61b4433e3aa254a2c3e14c4b3186f6e952d08a730807fa0c"}, + {file = "yarl-1.11.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:750f656832d7d3cb0c76be137ee79405cc17e792f31e0a01eee390e383b2936e"}, + {file = "yarl-1.11.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0b8486f322d8f6a38539136a22c55f94d269addb24db5cb6f61adc61eabc9d93"}, + {file = "yarl-1.11.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3fce4da3703ee6048ad4138fe74619c50874afe98b1ad87b2698ef95bf92c96d"}, + {file = "yarl-1.11.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8ed653638ef669e0efc6fe2acb792275cb419bf9cb5c5049399f3556995f23c7"}, + {file = "yarl-1.11.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:18ac56c9dd70941ecad42b5a906820824ca72ff84ad6fa18db33c2537ae2e089"}, + {file = "yarl-1.11.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:688654f8507464745ab563b041d1fb7dab5d9912ca6b06e61d1c4708366832f5"}, + {file = "yarl-1.11.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4973eac1e2ff63cf187073cd4e1f1148dcd119314ab79b88e1b3fad74a18c9d5"}, + {file = "yarl-1.11.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:964a428132227edff96d6f3cf261573cb0f1a60c9a764ce28cda9525f18f7786"}, + {file = "yarl-1.11.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:6d23754b9939cbab02c63434776df1170e43b09c6a517585c7ce2b3d449b7318"}, + {file = "yarl-1.11.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c2dc4250fe94d8cd864d66018f8344d4af50e3758e9d725e94fecfa27588ff82"}, + {file = "yarl-1.11.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:09696438cb43ea6f9492ef237761b043f9179f455f405279e609f2bc9100212a"}, + {file = "yarl-1.11.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:999bfee0a5b7385a0af5ffb606393509cfde70ecca4f01c36985be6d33e336da"}, + {file = "yarl-1.11.1-cp313-cp313-win32.whl", hash = "sha256:ce928c9c6409c79e10f39604a7e214b3cb69552952fbda8d836c052832e6a979"}, + {file = "yarl-1.11.1-cp313-cp313-win_amd64.whl", hash = "sha256:501c503eed2bb306638ccb60c174f856cc3246c861829ff40eaa80e2f0330367"}, + {file = "yarl-1.11.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:dae7bd0daeb33aa3e79e72877d3d51052e8b19c9025ecf0374f542ea8ec120e4"}, + {file = "yarl-1.11.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:3ff6b1617aa39279fe18a76c8d165469c48b159931d9b48239065767ee455b2b"}, + {file = "yarl-1.11.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3257978c870728a52dcce8c2902bf01f6c53b65094b457bf87b2644ee6238ddc"}, + {file = "yarl-1.11.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0f351fa31234699d6084ff98283cb1e852270fe9e250a3b3bf7804eb493bd937"}, + {file = "yarl-1.11.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8aef1b64da41d18026632d99a06b3fefe1d08e85dd81d849fa7c96301ed22f1b"}, + {file = "yarl-1.11.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7175a87ab8f7fbde37160a15e58e138ba3b2b0e05492d7351314a250d61b1591"}, + {file = "yarl-1.11.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba444bdd4caa2a94456ef67a2f383710928820dd0117aae6650a4d17029fa25e"}, + {file = "yarl-1.11.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0ea9682124fc062e3d931c6911934a678cb28453f957ddccf51f568c2f2b5e05"}, + {file = "yarl-1.11.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:8418c053aeb236b20b0ab8fa6bacfc2feaaf7d4683dd96528610989c99723d5f"}, + {file = "yarl-1.11.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:61a5f2c14d0a1adfdd82258f756b23a550c13ba4c86c84106be4c111a3a4e413"}, + {file = "yarl-1.11.1-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:f3a6d90cab0bdf07df8f176eae3a07127daafcf7457b997b2bf46776da2c7eb7"}, + {file = "yarl-1.11.1-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:077da604852be488c9a05a524068cdae1e972b7dc02438161c32420fb4ec5e14"}, + {file = "yarl-1.11.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:15439f3c5c72686b6c3ff235279630d08936ace67d0fe5c8d5bbc3ef06f5a420"}, + {file = "yarl-1.11.1-cp38-cp38-win32.whl", hash = "sha256:238a21849dd7554cb4d25a14ffbfa0ef380bb7ba201f45b144a14454a72ffa5a"}, + {file = "yarl-1.11.1-cp38-cp38-win_amd64.whl", hash = "sha256:67459cf8cf31da0e2cbdb4b040507e535d25cfbb1604ca76396a3a66b8ba37a6"}, + {file = "yarl-1.11.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:884eab2ce97cbaf89f264372eae58388862c33c4f551c15680dd80f53c89a269"}, + {file = "yarl-1.11.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8a336eaa7ee7e87cdece3cedb395c9657d227bfceb6781295cf56abcd3386a26"}, + {file = "yarl-1.11.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:87f020d010ba80a247c4abc335fc13421037800ca20b42af5ae40e5fd75e7909"}, + {file = "yarl-1.11.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:637c7ddb585a62d4469f843dac221f23eec3cbad31693b23abbc2c366ad41ff4"}, + {file = "yarl-1.11.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:48dfd117ab93f0129084577a07287376cc69c08138694396f305636e229caa1a"}, + {file = "yarl-1.11.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75e0ae31fb5ccab6eda09ba1494e87eb226dcbd2372dae96b87800e1dcc98804"}, + {file = "yarl-1.11.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f46f81501160c28d0c0b7333b4f7be8983dbbc161983b6fb814024d1b4952f79"}, + {file = "yarl-1.11.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:04293941646647b3bfb1719d1d11ff1028e9c30199509a844da3c0f5919dc520"}, + {file = "yarl-1.11.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:250e888fa62d73e721f3041e3a9abf427788a1934b426b45e1b92f62c1f68366"}, + {file = "yarl-1.11.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:e8f63904df26d1a66aabc141bfd258bf738b9bc7bc6bdef22713b4f5ef789a4c"}, + {file = "yarl-1.11.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:aac44097d838dda26526cffb63bdd8737a2dbdf5f2c68efb72ad83aec6673c7e"}, + {file = "yarl-1.11.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:267b24f891e74eccbdff42241c5fb4f974de2d6271dcc7d7e0c9ae1079a560d9"}, + {file = "yarl-1.11.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:6907daa4b9d7a688063ed098c472f96e8181733c525e03e866fb5db480a424df"}, + {file = "yarl-1.11.1-cp39-cp39-win32.whl", hash = "sha256:14438dfc5015661f75f85bc5adad0743678eefee266ff0c9a8e32969d5d69f74"}, + {file = "yarl-1.11.1-cp39-cp39-win_amd64.whl", hash = "sha256:94d0caaa912bfcdc702a4204cd5e2bb01eb917fc4f5ea2315aa23962549561b0"}, + {file = "yarl-1.11.1-py3-none-any.whl", hash = "sha256:72bf26f66456baa0584eff63e44545c9f0eaed9b73cb6601b647c91f14c11f38"}, + {file = "yarl-1.11.1.tar.gz", hash = "sha256:1bb2d9e212fb7449b8fb73bc461b51eaa17cc8430b4a87d87be7b25052d92f53"}, ] [package.dependencies] @@ -2335,18 +2409,22 @@ multidict = ">=4.0" [[package]] name = "zipp" -version = "3.20.0" +version = "3.20.1" description = "Backport of pathlib-compatible object wrapper for zip files" optional = false python-versions = ">=3.8" files = [ - {file = "zipp-3.20.0-py3-none-any.whl", hash = "sha256:58da6168be89f0be59beb194da1250516fdaa062ccebd30127ac65d30045e10d"}, - {file = "zipp-3.20.0.tar.gz", hash = "sha256:0145e43d89664cfe1a2e533adc75adafed82fe2da404b4bbb6b026c0157bdb31"}, + {file = "zipp-3.20.1-py3-none-any.whl", hash = "sha256:9960cd8967c8f85a56f920d5d507274e74f9ff813a0ab8889a5b5be2daf44064"}, + {file = "zipp-3.20.1.tar.gz", hash = "sha256:c22b14cc4763c5a5b04134207736c107db42e9d3ef2d9779d465f5f1bcba572b"}, ] [package.extras] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] +cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy", "pytest-ruff (>=0.2.1)"] +enabler = ["pytest-enabler (>=2.2)"] +test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-ignore-flaky"] +type = ["pytest-mypy"] [metadata] lock-version = "2.0" diff --git a/pyproject.toml b/pyproject.toml index 694ee4e8..c2a9f936 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "nautobot_ansible_modules" -version = "5.2.1" +version = "5.3.0" description = "Ansible collection to interact with Nautobot's API" authors = ["Network to Code "] license = "Apache 2.0"