Workflow
NetBox IP Address Management
Overview
Project with workflows for NetBox using REST protocol for managing IP Address and Prefix.
Workflows
Name | Overview |
---|---|
Assign Next IP Address in Prefix - NetBox - REST | Assign next IP address in prefix in NetBox |
Create Prefix - NetBox - REST | Creates prefix in NetBox |
Delete IP Address - NetBox - REST | Delete IP address from NetBox |
Delete Prefix - NetBox - REST | Deletes prefix from NetBox |
Reserve IP Address - NetBox - REST | Reserve IP address in NetBox |
For further technical details on how to install and use this Workflow Project, please click the Technical Documentation tab.
Table of Contents
Getting Started
This section is helpful for deployments as it provides you with pertinent information on prerequisites and properties.
Helpful Background Information
Workflows often include logic that varies from business to business. As a result, we often find that our Workflow Projects are more useful as modular components that can be incorporated into a larger process. In addition, they often can add value as a learning tool on how we integrate with other systems and how we do things within the Itential Automation Platform.
While these can be utilized, you may find more value in using them as a starting point to build around.
Prerequisites
Itential Workflow Projects are built and tested on particular versions of IAP. In addition, Workflow Projects are often dependent on external systems and as such, these Workflow Projects will have dependencies on these other systems. This version of NetBox - REST has been tested with:
- IAP 2023.2
External Dependencies
Name | OS Version | API Version |
---|---|---|
NetBox | 3.6.3 |
Adapters
Name | Version | Configuration Notes |
---|---|---|
adapter-netbox_v33 | 2.0.0 |
How to Install
To install the Workflow Project:
- Verify you are running a supported version of the Itential Automation Platform (IAP) as listed above in the Supported IAP Versions section in order to install the Example Project.
- Import the Example Project in Admin Essentials.
Testing
Cypress is generally used to test all Itential Example Projects. While Cypress is an opensource tool, at Itential we have internal libraries that have been built around Cypress to allow us to test with a deployed IAP.
When certifying our Example Projects for a release of IAP we run these tests against the particular version of IAP and create a release branch in GitLab. If you do not see the Example Project available in your version of IAP please contact Itential.
While Itential tests this Example Project and its capabilities, it is often the case the customer environments offer their own unique circumstances. Therefore, it is our recommendation that you deploy this Example Project into a development/testing environment in which you can test the Example Project.
Using this Workflow Project
Workflow Projects contain 1 or more workflows. Each of these workflows have different inputs and outputs.
Assign Next IP Address in Prefix - NetBox - REST
Assign next IP address in prefix in NetBox
Capabilities include:
- The workflow is used to assign next IP address in prefix in NetBox
Entry Point IAP Component
The primary IAP component to run Assign Next IP Address in Prefix - NetBox - REST is listed below:
IAP Component Name | IAP Component Type | Assign Next IP Address in Prefix - NetBox | Workflow |
---|
Inputs
The following table lists the inputs for Assign Next IP Address in Prefix - NetBox - REST:
Name | Type | Required | Description | Example Value |
---|---|---|---|---|
ipStatus | string | yes | Status of IP address. Possible values include 'active', 'reserved', 'deprecated', 'dhcp', and 'slaac' | active |
dnsName | string | no | The DNS name of the IP address | example.com |
prefixId | number | yes | The prefix to get IP address from using prefix Id | 104 |
adapterId | string | yes | NetBox adapter instance to use for the workflow | NetBox_v3 |
Outputs
The following table lists the outputs for Assign Next IP Address in Prefix - NetBox - REST:
Name | Type | Description | Example Value |
---|---|---|---|
assignedIPAddress | object | The assigned IP address information | {
"icode": "AD.201",
"response": {
"lastUpdated": "2023-10-13T16:02:33.109111Z",
"dnsName": "foo.bar",
"id": 300,
"url": "https://demo.netbox.dev/api/ipam/ip-addresses/300/",
"display": "10.112.151.2/24",
"family": {
"value": 4,
"label": "IPv4"
},
"address": "10.112.151.2/24",
"vrf": null,
"tenant": null,
"status": {
"value": "active",
"label": "Active"
},
"role": null,
"assigned_object_id": null,
"assigned_object": null,
"nat_inside": null,
"nat_outside": [],
"description": "",
"comments": "",
"tags": [],
"custom_fields": {},
"created": "2023-10-13T16:02:33.109085Z"
}
} |
netboxError | object | The error response object | {
"icode": "AD.500",
"IAPerror": {
"origin": "NetBox_v3-connectorRest-handleEndResponse",
"displayString": "Error 404 received on request",
"recommendation": "Verify the request is accurate via debug logs and postman",
"code": 404,
"raw_response": {
"status": "success",
"code": 404,
"response": {
"detail": "Not found."
},
"redirects": 0,
"tripTime": "172ms",
"reqHdr": {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "****"
}
}
},
"response": {
"detail": "Not found."
}
} |
Query Output
The following items show how to query successful results from the output of Assign Next IP Address in Prefix - NetBox - REST:
IP Address ID
assignedIPAddress.response.id
IP Address
assignedIPAddress.response.address
The following items show how to query failure results from the output of Assign Next IP Address in Prefix - NetBox - REST:
Error Response Message
netboxError.response.detail
Example Inputs and Outputs
Example 1
Input:
{ "ipStatus": "active", "dnsName": "example.com", "prefixId": 30, "adapterId": "NetBox_v3" }
Output:
{ "assignedIPAddress": { "icode": "AD.201", "response": { "lastUpdated": "2023-10-13T16:02:33.109111Z", "dnsName": "example.com", "id": 300, "url": "https://demo.netbox.dev/api/ipam/ip-addresses/300/", "display": "10.112.151.2/24", "family": { "value": 4, "label": "IPv4" }, "address": "10.112.151.2/24", "vrf": null, "tenant": null, "status": { "value": "active", "label": "Active" }, "role": null, "assigned_object_id": null, "assigned_object": null, "nat_inside": null, "nat_outside": [], "description": "", "comments": "", "tags": [], "custom_fields": {}, "created": "2023-10-13T16:02:33.109085Z" } } }
Example 2
Input:
{ "ipStatus": "active", "dnsName": "foo.bar", "prefixId": 103, "adapterId": "NetBox_v3", }
Output:
{ "netboxError": { "icode": "AD.500", "IAPerror": { "origin": "NetBox_v3-connectorRest-handleEndResponse", "displayString": "Error 404 received on request", "recommendation": "Verify the request is accurate via debug logs and postman", "code": 404, "raw_response": { "status": "success", "code": 404, "response": { "detail": "Not found." }, "redirects": 0, "tripTime": "172ms", "reqHdr": { "Content-Type": "application/json", "Accept": "application/json", "Authorization": "****" } } }, "response": { "detail": "Not found." } } }
API Links
No API Links provided.
Create Prefix - NetBox - REST
Creates prefix in NetBox
Capabilities include:
- The workflow is used to create prefix in NetBox
Entry Point IAP Component
The primary IAP component to run Create Prefix - NetBox - REST is listed below:
IAP Component Name | IAP Component Type | Create Prefix - NetBox | Workflow |
---|
Inputs
The following table lists the inputs for Create Prefix - NetBox - REST:
Name | Type | Required | Description | Example Value |
---|---|---|---|---|
prefix | string | yes | The prefix to create | 10.0.0.0/24 |
prefixStatus | string | yes | The status to assign the prefix on creation. Example values include 'active', 'container', 'reserved', and 'deprecated'. | active |
prefixDescription | string | no | The description to associate with prefix created | Example prefix |
adapterId | string | yes | The NetBox adapter instance to use in workflow | NetBox_v3 |
Outputs
The following table lists the outputs for Create Prefix - NetBox - REST:
Name | Type | Description | Example Value |
---|---|---|---|
createdPrefix | object | The created prefix information | {
"icode": "AD.201",
"response": {
"lastUpdated": "2023-10-13T16:12:11.267722Z",
"isPool": false,
"markUtilized": false,
"id": 103,
"url": "https://demo.netbox.dev/api/ipam/prefixes/103/",
"display": "10.0.0.0/24",
"family": {
"value": 4,
"label": "IPv4"
},
"prefix": "10.0.0.0/24",
"site": null,
"vrf": null,
"tenant": null,
"vlan": null,
"status": {
"value": "active",
"label": "Active"
},
"role": null,
"description": "test",
"comments": "",
"tags": [],
"custom_fields": {},
"created": "2023-10-13T16:12:11.267697Z",
"children": 0,
"_depth": 0
}
} |
netboxError | object | Error response if creating prefix fails | {
"icode": "AD.500",
"IAPerror": {
"origin": "NetBox_v3-connectorRest-handleEndResponse",
"displayString": "Error 500 received on request",
"recommendation": "Verify the request is accurate via debug logs and postman",
"code": 500,
"raw_response": {
"status": "success",
"code": 500,
"headers": {
"server": "nginx/1.18.0 (Ubuntu)",
"date": "Fri, 13 Oct 2023 19:28:10 GMT",
"content-type": "application/json",
"content-length": 99,
"connection": "close",
"x-request-id": "32fb4421-4306-4038-8001-282f77c8c468",
"vary": "HX-Request, Cookie, origin",
"api-version": 3.6,
"x-content-type-options": "nosniff",
"referrer-policy": "same-origin",
"cross-origin-opener-policy": "same-origin",
"x-frame-options": "SAMEORIGIN"
},
"response": {
"error": "'data'",
"exception": "KeyError",
"netbox_version": "3.6.3",
"python_version": "3.8.10"
},
"redirects": 0,
"tripTime": "176ms",
"reqHdr": {
"Content-Type": "application/json",
"Accept": "application/json",
"Content-length": 66,
"Authorization": "****"
}
}
},
"response": {
"error": "'data'",
"exception": "KeyError",
"netbox_version": "3.6.3",
"python_version": "3.8.10"
}
} |
Query Output
The following items show how to query successful results from the output of Create Prefix - NetBox - REST:
Created Prefix ID
createdPrefix.response.id
The following items show how to query failure results from the output of Create Prefix - NetBox - REST:
Error Exception Type
netboxError.response.exception
Example Inputs and Outputs
Example 1
Input:
{ "prefix": "10.0.0.0/24", "prefixStatus": "active", "prefixDescription": "test", "adapterId": "NetBox_v3" }
Output:
{ "createdPrefix": { "icode": "AD.201", "response": { "lastUpdated": "2023-10-13T16:12:11.267722Z", "isPool": false, "markUtilized": false, "id": 103, "url": "https://demo.netbox.dev/api/ipam/prefixes/103/", "display": "10.0.0.0/24", "family": { "value": 4, "label": "IPv4" }, "prefix": "10.0.0.0/24", "site": null, "vrf": null, "tenant": null, "vlan": null, "status": { "value": "active", "label": "Active" }, "role": null, "description": "test", "comments": "", "tags": [], "custom_fields": {}, "created": "2023-10-13T16:12:11.267697Z", "children": 0, "_depth": 0 } } }
Example 2
Input:
{ "prefix": "10.1234.0.0/24", "prefixStatus": "active", "prefixDescription": "test", "adapterId": "NetBox_v3", }
Output:
{ "createdPrefix": null, "netboxError": { "icode": "AD.500", "IAPerror": { "origin": "NetBox_v3-connectorRest-handleEndResponse", "displayString": "Error 500 received on request", "recommendation": "Verify the request is accurate via debug logs and postman", "code": 500, "raw_response": { "status": "success", "code": 500, "headers": { "server": "nginx/1.18.0 (Ubuntu)", "date": "Fri, 13 Oct 2023 19:28:10 GMT", "content-type": "application/json", "content-length": 99, "connection": "close", "x-request-id": "32fb4421-4306-4038-8001-282f77c8c468", "vary": "HX-Request, Cookie, origin", "api-version": 3.6, "x-content-type-options": "nosniff", "referrer-policy": "same-origin", "cross-origin-opener-policy": "same-origin", "x-frame-options": "SAMEORIGIN" }, "response": { "error": "'data'", "exception": "KeyError", "netbox_version": "3.6.3", "python_version": "3.8.10" }, "redirects": 0, "tripTime": "176ms", "reqHdr": { "Content-Type": "application/json", "Accept": "application/json", "Content-length": 66, "Authorization": "****" } } }, "response": { "error": "'data'", "exception": "KeyError", "netbox_version": "3.6.3", "python_version": "3.8.10" } } }
API Links
No API Links provided.
Delete IP Address - NetBox - REST
Delete IP address from NetBox
Capabilities include:
- The workflow is used to delete IP address from NetBox
Entry Point IAP Component
The primary IAP component to run Delete IP Address - NetBox - REST is listed below:
IAP Component Name | IAP Component Type | Delete IP Address - NetBox | Workflow |
---|
Inputs
The following table lists the inputs for Delete IP Address - NetBox - REST:
Name | Type | Required | Description | Example Value |
---|---|---|---|---|
ipAddress | string | yes | The IP address to delete | 10.112.151.2/24 |
adapterId | string | yes | The name of the NetBox adapter instance to use for this workflow | NetBox_v3 |
Outputs
The following table lists the outputs for Delete IP Address - NetBox - REST:
Name | Type | Description | Example Value |
---|---|---|---|
ipAddressSearchResult | object | Result of searching for IP address to delete | {
"icode": "AD.200",
"response": {
"count": 1,
"next": null,
"previous": null,
"results": [
{
"id": 302,
"url": "https://demo.netbox.dev/api/ipam/ip-addresses/302/",
"display": "10.112.151.2/24",
"family": {
"value": 4,
"label": "IPv4"
},
"address": "10.112.151.2/24",
"vrf": null,
"tenant": null,
"status": {
"value": "active",
"label": "Active"
},
"role": null,
"assigned_object_type": null,
"assigned_object_id": null,
"assigned_object": null,
"nat_inside": null,
"nat_outside": [],
"dns_name": "foo.bar",
"description": "",
"comments": "",
"tags": [],
"custom_fields": {},
"created": "2023-10-13T16:56:46.527518Z",
"last_updated": "2023-10-13T16:56:46.527555Z"
}
]
}
} |
deleteIPAddressResult | object | Result of deleting the IP address | {
"icode": "AD.204",
"response": "success"
} |
Query Output
The following items show how to query successful results from the output of Delete IP Address - NetBox - REST:
Number of Found IP Addresses
ipAddressSearchResult.response.count
IP Address Deletion Result
deleteIPAddressResult.response
Example Inputs and Outputs
Example 1
Input:
{ "ipAddress": "10.112.151.2/24", "adapterId": "NetBox_v3" }
Output:
{ "ipAddressSearchResult": { "icode": "AD.200", "response": { "count": 1, "next": null, "previous": null, "results": [ { "id": 302, "url": "https://demo.netbox.dev/api/ipam/ip-addresses/302/", "display": "10.112.151.2/24", "family": { "value": 4, "label": "IPv4" }, "address": "10.112.151.2/24", "vrf": null, "tenant": null, "status": { "value": "active", "label": "Active" }, "role": null, "assigned_object_type": null, "assigned_object_id": null, "assigned_object": null, "nat_inside": null, "nat_outside": [], "dns_name": "foo.bar", "description": "", "comments": "", "tags": [], "custom_fields": {}, "created": "2023-10-13T16:56:46.527518Z", "last_updated": "2023-10-13T16:56:46.527555Z" } ] } }, "deleteIPAddressResult": { "icode": "AD.204", "response": "success" } }
Example 2
Input:
{ "ipAddress": "10.111.121.0/24", "adapterId": "NetBox_v3" }
Output:
{ "ipAddressSearchResult": { "icode": "AD.200", "response": { "count": 0, "next": null, "previous": null, "results": [] } } }
API Links
No API Links provided.
Delete Prefix - NetBox - REST
Deletes prefix from NetBox
Capabilities include:
- The workflow is used delete prefix from NetBox
- Provides option to delete or keep IP addresses associated with prefix to delete
Entry Point IAP Component
The primary IAP component to run Delete Prefix - NetBox - REST is listed below:
IAP Component Name | IAP Component Type | Delete Prefix - NetBox | Workflow |
---|
Inputs
The following table lists the inputs for Delete Prefix - NetBox - REST:
Name | Type | Required | Description | Example Value |
---|---|---|---|---|
prefixId | number | yes | The prefix ID to use to delete prefix | 108 |
adapterId | string | yes | The name of the NetBox adapter instance to use for this workflow | NetBox_v3 |
Outputs
The following table lists the outputs for Delete Prefix - NetBox - REST:
Name | Type | Description | Example Value |
---|---|---|---|
prefixSearchResult | object | Result of searching for the prefix using its ID | {
"icode": "AD.200",
"response": {
"count": 1,
"next": null,
"previous": null,
"results": [
{
"id": 108,
"url": "https://demo.netbox.dev/api/ipam/prefixes/108/",
"display": "10.0.0.0/24",
"family": {
"value": 4,
"label": "IPv4"
},
"prefix": "10.0.0.0/24",
"site": null,
"vrf": null,
"tenant": null,
"vlan": null,
"status": {
"value": "active",
"label": "Active"
},
"role": null,
"is_pool": false,
"mark_utilized": false,
"description": "",
"comments": "",
"tags": [],
"custom_fields": {},
"created": "2023-10-13T18:35:29.241712Z",
"last_updated": "2023-10-13T18:35:29.241741Z",
"children": 0,
"_depth": 0
}
]
}
} |
prefixIPAddresses | object | The IP addresses found associated with the prefix | {
"icode": "AD.200",
"response": {
"count": 2,
"next": null,
"previous": null,
"results": [
{
"id": 307,
"url": "https://demo.netbox.dev/api/ipam/ip-addresses/307/",
"display": "10.0.0.1/24",
"family": {
"value": 4,
"label": "IPv4"
},
"address": "10.0.0.1/24",
"vrf": null,
"tenant": null,
"status": {
"value": "active",
"label": "Active"
},
"role": null,
"assigned_object_type": null,
"assigned_object_id": null,
"assigned_object": null,
"nat_inside": null,
"nat_outside": [],
"dns_name": "",
"description": "",
"comments": "",
"tags": [],
"custom_fields": {},
"created": "2023-10-13T18:35:36.024002Z",
"last_updated": "2023-10-13T18:35:36.024029Z"
},
{
"id": 308,
"url": "https://demo.netbox.dev/api/ipam/ip-addresses/308/",
"display": "10.0.0.2/24",
"family": {
"value": 4,
"label": "IPv4"
},
"address": "10.0.0.2/24",
"vrf": null,
"tenant": null,
"status": {
"value": "active",
"label": "Active"
},
"role": null,
"assigned_object_type": null,
"assigned_object_id": null,
"assigned_object": null,
"nat_inside": null,
"nat_outside": [],
"dns_name": "",
"description": "",
"comments": "",
"tags": [],
"custom_fields": {},
"created": "2023-10-13T18:35:48.247864Z",
"last_updated": "2023-10-13T18:35:48.247905Z"
}
]
}
} |
deleteIPAddressResult | object | The result of deleting the IP addresses associated with the prefix | [
{
"status": "complete",
"ipAddress": "10.0.0.1/24",
"adapterId": "NetBox_v3",
"childJobLoopIndex": 0,
"_id": "fb1bd4f8e49a48e18494ae1b",
"initiator": "admin@pronghorn",
"ipAddressSearchResult": {
"icode": "AD.200",
"response": {
"count": 1,
"next": null,
"previous": null,
"results": [
{
"id": 307,
"url": "https://demo.netbox.dev/api/ipam/ip-addresses/307/",
"display": "10.0.0.1/24",
"family": {
"value": 4,
"label": "IPv4"
},
"address": "10.0.0.1/24",
"vrf": null,
"tenant": null,
"status": {
"value": "active",
"label": "Active"
},
"role": null,
"assigned_object_type": null,
"assigned_object_id": null,
"assigned_object": null,
"nat_inside": null,
"nat_outside": [],
"dns_name": "",
"description": "",
"comments": "",
"tags": [],
"custom_fields": {},
"created": "2023-10-13T18:35:36.024002Z",
"last_updated": "2023-10-13T18:35:36.024029Z"
}
]
}
},
"deleteIPAddressResult": {
"icode": "AD.204",
"response": "success"
}
},
{
"status": "complete",
"ipAddress": "10.0.0.2/24",
"adapterId": "NetBox_v3",
"childJobLoopIndex": 1,
"_id": "866154625a06451dba45cae0",
"initiator": "admin@pronghorn",
"ipAddressSearchResult": {
"icode": "AD.200",
"response": {
"count": 1,
"next": null,
"previous": null,
"results": [
{
"id": 308,
"url": "https://demo.netbox.dev/api/ipam/ip-addresses/308/",
"display": "10.0.0.2/24",
"family": {
"value": 4,
"label": "IPv4"
},
"address": "10.0.0.2/24",
"vrf": null,
"tenant": null,
"status": {
"value": "active",
"label": "Active"
},
"role": null,
"assigned_object_type": null,
"assigned_object_id": null,
"assigned_object": null,
"nat_inside": null,
"nat_outside": [],
"dns_name": "",
"description": "",
"comments": "",
"tags": [],
"custom_fields": {},
"created": "2023-10-13T18:35:48.247864Z",
"last_updated": "2023-10-13T18:35:48.247905Z"
}
]
}
},
"deleteIPAddressResult": {
"icode": "AD.204",
"response": "success"
}
}
] |
deletePrefixResult | object | The result of deleting the prefix | {
"icode": "AD.204",
"response": "success"
} |
Query Output
The following items show how to query successful results from the output of Delete Prefix - NetBox - REST:
Prefix Deletion Result
deletePrefixResult.response
Number of Prefix Found
prefixSearchResult.response.count
Example Inputs and Outputs
Example 1
Input:
{ "prefixId": 108, "adapterId": "NetBox_v3" }
Output:
{ "prefixSearchResult": { "icode": "AD.200", "response": { "count": 1, "next": null, "previous": null, "results": [ { "id": 108, "url": "https://demo.netbox.dev/api/ipam/prefixes/108/", "display": "10.0.0.0/24", "family": { "value": 4, "label": "IPv4" }, "prefix": "10.0.0.0/24", "site": null, "vrf": null, "tenant": null, "vlan": null, "status": { "value": "active", "label": "Active" }, "role": null, "is_pool": false, "mark_utilized": false, "description": "", "comments": "", "tags": [], "custom_fields": {}, "created": "2023-10-13T18:35:29.241712Z", "last_updated": "2023-10-13T18:35:29.241741Z", "children": 0, "_depth": 0 } ] } }, "prefixIPAddresses": { "icode": "AD.200", "response": { "count": 2, "next": null, "previous": null, "results": [ { "id": 307, "url": "https://demo.netbox.dev/api/ipam/ip-addresses/307/", "display": "10.0.0.1/24", "family": { "value": 4, "label": "IPv4" }, "address": "10.0.0.1/24", "vrf": null, "tenant": null, "status": { "value": "active", "label": "Active" }, "role": null, "assigned_object_type": null, "assigned_object_id": null, "assigned_object": null, "nat_inside": null, "nat_outside": [], "dns_name": "", "description": "", "comments": "", "tags": [], "custom_fields": {}, "created": "2023-10-13T18:35:36.024002Z", "last_updated": "2023-10-13T18:35:36.024029Z" }, { "id": 308, "url": "https://demo.netbox.dev/api/ipam/ip-addresses/308/", "display": "10.0.0.2/24", "family": { "value": 4, "label": "IPv4" }, "address": "10.0.0.2/24", "vrf": null, "tenant": null, "status": { "value": "active", "label": "Active" }, "role": null, "assigned_object_type": null, "assigned_object_id": null, "assigned_object": null, "nat_inside": null, "nat_outside": [], "dns_name": "", "description": "", "comments": "", "tags": [], "custom_fields": {}, "created": "2023-10-13T18:35:48.247864Z", "last_updated": "2023-10-13T18:35:48.247905Z" } ] } }, "deleteIPAddressResult": [ { "status": "complete", "ipAddress": "10.0.0.1/24", "adapterId": "NetBox_v3", "childJobLoopIndex": 0, "_id": "fb1bd4f8e49a48e18494ae1b", "initiator": "admin@pronghorn", "ipAddressSearchResult": { "icode": "AD.200", "response": { "count": 1, "next": null, "previous": null, "results": [ { "id": 307, "url": "https://demo.netbox.dev/api/ipam/ip-addresses/307/", "display": "10.0.0.1/24", "family": { "value": 4, "label": "IPv4" }, "address": "10.0.0.1/24", "vrf": null, "tenant": null, "status": { "value": "active", "label": "Active" }, "role": null, "assigned_object_type": null, "assigned_object_id": null, "assigned_object": null, "nat_inside": null, "nat_outside": [], "dns_name": "", "description": "", "comments": "", "tags": [], "custom_fields": {}, "created": "2023-10-13T18:35:36.024002Z", "last_updated": "2023-10-13T18:35:36.024029Z" } ] } }, "deleteIPAddressResult": { "icode": "AD.204", "response": "success" } }, { "status": "complete", "ipAddress": "10.0.0.2/24", "adapterId": "NetBox_v3", "childJobLoopIndex": 1, "_id": "866154625a06451dba45cae0", "initiator": "admin@pronghorn", "ipAddressSearchResult": { "icode": "AD.200", "response": { "count": 1, "next": null, "previous": null, "results": [ { "id": 308, "url": "https://demo.netbox.dev/api/ipam/ip-addresses/308/", "display": "10.0.0.2/24", "family": { "value": 4, "label": "IPv4" }, "address": "10.0.0.2/24", "vrf": null, "tenant": null, "status": { "value": "active", "label": "Active" }, "role": null, "assigned_object_type": null, "assigned_object_id": null, "assigned_object": null, "nat_inside": null, "nat_outside": [], "dns_name": "", "description": "", "comments": "", "tags": [], "custom_fields": {}, "created": "2023-10-13T18:35:48.247864Z", "last_updated": "2023-10-13T18:35:48.247905Z" } ] } }, "deleteIPAddressResult": { "icode": "AD.204", "response": "success" } } ], "deletePrefixResult": { "icode": "AD.204", "response": "success" } }
Example 2
Input:
{ "prefixId": 109, "adapterId": "NetBox_v3" }
Output:
{ "prefixSearchResult": { "icode": "AD.200", "response": { "count": 1, "next": null, "previous": null, "results": [ { "id": 109, "url": "https://demo.netbox.dev/api/ipam/prefixes/109/", "display": "10.0.0.0/24", "family": { "value": 4, "label": "IPv4" }, "prefix": "10.0.0.0/24", "site": null, "vrf": null, "tenant": null, "vlan": null, "status": { "value": "active", "label": "Active" }, "role": null, "is_pool": false, "mark_utilized": false, "description": "", "comments": "", "tags": [], "custom_fields": {}, "created": "2023-10-13T18:40:27.715812Z", "last_updated": "2023-10-13T18:40:27.715839Z", "children": 0, "_depth": 0 } ] } }, "prefixIPAddresses": { "icode": "AD.200", "response": { "count": 1, "next": null, "previous": null, "results": [ { "id": 309, "url": "https://demo.netbox.dev/api/ipam/ip-addresses/309/", "display": "10.0.0.1/24", "family": { "value": 4, "label": "IPv4" }, "address": "10.0.0.1/24", "vrf": null, "tenant": null, "status": { "value": "active", "label": "Active" }, "role": null, "assigned_object_type": null, "assigned_object_id": null, "assigned_object": null, "nat_inside": null, "nat_outside": [], "dns_name": "", "description": "", "comments": "", "tags": [], "custom_fields": {}, "created": "2023-10-13T18:40:37.383859Z", "last_updated": "2023-10-13T18:40:37.383901Z" } ] } }, "deletePrefixResult": { "icode": "AD.204", "response": "success" } }
Example 3
Input:
{ "prefixId": 109, "adapterId": "NetBox_v3" }
Output:
{ "prefixSearchResult": { "icode": "AD.200", "response": { "count": 0, "next": null, "previous": null, "results": [] } } }
API Links
No API Links provided.
Reserve IP Address - NetBox - REST
Reserve IP address in NetBox
Capabilities include:
- The workflow is used to reserve IP address in NetBox
Entry Point IAP Component
The primary IAP component to run Reserve IP Address - NetBox - REST is listed below:
IAP Component Name | IAP Component Type | Reserve IP Address - NetBox | Workflow |
---|
Inputs
The following table lists the inputs for Reserve IP Address - NetBox - REST:
Name | Type | Required | Description | Example Value |
---|---|---|---|---|
ipAddress | string | yes | The IP address to reserve | 192.168.1.0/24 |
description | string | yes | Description of the IP address | IP address description |
adapterId | string | yes | The NetBox adapter instance to use in workflow | NetBox_v3 |
Outputs
The following table lists the outputs for Reserve IP Address - NetBox - REST:
Name | Type | Description | Example Value |
---|---|---|---|
reserveIPAddressResult | object | Information related to the IP address reserved | {
"icode": "AD.201",
"response": {
"lastUpdated": "2023-10-13T18:51:35.813505Z",
"id": 310,
"url": "https://demo.netbox.dev/api/ipam/ip-addresses/310/",
"display": "192.168.1.0/24",
"family": {
"value": 4,
"label": "IPv4"
},
"address": "192.168.1.0/24",
"vrf": null,
"tenant": null,
"status": {
"value": "active",
"label": "Active"
},
"role": null,
"assigned_object_id": null,
"assigned_object": null,
"nat_inside": null,
"nat_outside": [],
"description": "test",
"comments": "",
"tags": [],
"custom_fields": {},
"created": "2023-10-13T18:51:35.813477Z"
}
} |
Query Output
The following items show how to query successful results from the output of Reserve IP Address - NetBox - REST:
IP Address ID
reserveIPAddressResult.response.id
Example Inputs and Outputs
Example 1
Input:
{ "ipAddress": "192.168.1.0/24", "description": "IP address description", "adapterId": "NetBox_v3" }
Output:
{ "reserveIPAddressResult": { "icode": "AD.201", "response": { "lastUpdated": "2023-10-13T18:51:35.813505Z", "id": 310, "url": "https://demo.netbox.dev/api/ipam/ip-addresses/310/", "display": "192.168.1.0/24", "family": { "value": 4, "label": "IPv4" }, "address": "192.168.1.0/24", "vrf": null, "tenant": null, "status": { "value": "active", "label": "Active" }, "role": null, "assigned_object_id": null, "assigned_object": null, "nat_inside": null, "nat_outside": [], "description": "IP address description", "comments": "", "tags": [], "custom_fields": {}, "created": "2023-10-13T18:51:35.813477Z" } } }
API Links
No API Links provided.
Additional Information
Support
Please use your Itential Customer Success account if you need support when using this Workflow Project.