Ip Fabric
The IP Fabric connector enables automated interactions with IP Fabric's network infrastructure automation platform, allowing for detailed network visibility and analysis.
IP Fabric is an advanced network infrastructure visibility and analytics platform that provides comprehensive network snapshots for enhanced monitoring and troubleshooting. The IP Fabric connector for Swimlane Turbine enables users to automate the retrieval of network interface details and managed IPv4 address information, streamlining network analysis and incident response. By integrating with IP Fabric, Swimlane Turbine users gain the ability to efficiently query network states, ensuring swift identification and resolution of network issues, and maintaining robust network health.
Limitations
None to date.
Supported Versions
This IP Fabric connector uses the Version 6.9 API.
Additional Docs
Configuration
Prerequisites
To effectively utilize the IP Fabric connector within the Swimlane Turbine platform, ensure you have the following:
- API Key Authentication with the necessary parameters:
- URL: The endpoint URL for the IP Fabric API.
- API Token: A valid API token from IP Fabric to authenticate requests.
Authentication Methods
API Key Authentication:
- URL: The endpoint URL for the IP Fabric API.
- API Token: Your unique token to authenticate requests to the IP Fabric API.
Setup Instructions
- To use API tokens, you need to generate them in the UI (in Settings β Integration β API Tokens) or using the API.
- Please note that the token string is only visible when you create the token in the UI or in the returned API JSON response. For this reason, please make sure that you copy the token string when creating the API token in the UI.
- Starting from version 6.3.0, the API token must be auto-generated by IP Fabric and cannot be a custom string.
- This is a breaking change when posting to /api/v6.3/api-tokens, which no longer accepts the token argument when creating a new token using the API.
Capabilities
This Connector provides the following capabilities:
- Get Inventory Interface
- Get Managed IPv4 Addresses
Get Inventory Interface
Interface Inventory table represents information about every discovered interface in the network, including the state information as observed during the last analysis.
IP Fabric's documentation for this action can be found here.
Get Managed IPv4 Addresses
- Information about every IP address on every managed network infrastructure device.
- DNS checks on managed IP addresses are also performed to verify the DNS consistency.
IP Fabric's documentation for this action can be found here.
Configurations
IP Fabric API Key Authentication
Authenticates using an API Key.
Configuration Parameters
Parameter | Description | Type | Required |
|---|---|---|---|
url | A URL to the target host. | string | Required |
X-API-Token | API Token | string | Required |
verify_ssl | Verify SSL certificate | boolean | Optional |
http_proxy | A proxy to route requests through. | string | Optional |
Actions
Get Inventory Interface
Retrieve details from the Interface Inventory table, including state information of all network interfaces observed in the last analysis.
Endpoint
- URL: /api/v6.9/tables/inventory/interfaces
- Method: GET
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
parameters.snapshot | string | Optional | Snapshot UUID or reference ($last, $prev, $lastLocked) to be used for the request. |
parameters.reports | string | Optional | Report to be used for the request. |
parameters.attributeFilters | object | Optional | Attribute filters to be applied on present columns. |
parameters.attributeFilters.siteName | array | Optional | Parameters for the Get Inventory Interface action |
parameters.columns | array | Optional | Column names to be returned. Example column names - duplex, bandwidth, errDisabled, hasTransceiver, hostname, intName, intNameAlias, l1, l2, loginIp, loginType, mac, media, mtu, nameOriginal, primaryIp, reason, rel, siteName, sn, speed, speedValue, speedType, transceiverPn, transceiverSn, transceiverType, slug. |
parameters.filters | object | Optional | Filters to be applied on present columns. |
parameters.filters.hostname | array | Optional | Parameters for the Get Inventory Interface action |
parameters.pagination | object | Optional | Pagination parameters. |
parameters.pagination.start | number | Optional | Parameters for the Get Inventory Interface action |
parameters.pagination.limit | number | Optional | Parameters for the Get Inventory Interface action |
parameters.sort | object | Optional | Sorting to be used for the request. |
parameters.sort.column | string | Optional | The field used to sort the results. Specify a valid column name to determine the sorting criteria. |
parameters.sort.order | string | Optional | The sorting direction for the specified column. Choose either asc for ascending order or desc for descending order. |
Input Example
{"parameters":{"snapshot":"$last","reports":"/inventory/interfaces","attributeFilters":{"siteName":["SiteName"]},"columns":["dscr","duplex","bandwidth","errDisabled","hasTransceiver","hostname","intName","intNameAlias","l1","l2","loginIp","loginType","mac","media","mtu","nameOriginal","primaryIp","reason","rel","siteName","sn","speed","speedValue","speedType","transceiverPn","transceiverSn","transceiverType","slug"],"filters":{"hostname":["eq","value"]},"pagination":{"start":0,"limit":1},"sort":{"column":"hostname","order":"asc"}}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
_meta | object | Output field: _meta |
_meta.count | number | Count value |
_meta.limit | number | Output field: _meta.limit |
_meta.size | number | Output field: _meta.size |
_meta.snapshot | string | Output field: _meta.snapshot |
_meta.start | number | Output field: _meta.start |
data | array | Response data |
data.dscr | object | Response data |
data.dscr.data | string | Response data |
data.dscr.severity | number | Response data |
data.duplex | object | Response data |
data.duplex.data | string | Response data |
data.duplex.severity | number | Response data |
data.bandwidth | object | Response data |
data.errDisabled | object | Response data |
data.hasTransceiver | boolean | Response data |
data.hostname | string | Response data |
data.intName | string | Response data |
data.intNameAlias | object | Response data |
data.l1 | string | Response data |
data.l2 | object | Response data |
data.l2.data | string | Response data |
data.l2.severity | number | Response data |
Output Example
{"status_code":200,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Fri, 21 Feb 2025 20:37:23 GMT"},"reason":"OK","json_body":{"_meta":{"count":2,"limit":1,"size":1,"snapshot":"2527da67-c550-4ea0-94ec-b1c991cb7e5a","start":0},"data":[{}]}}
Get Managed IPv4 Addresses
Retrieves details on all managed IPv4 addresses across network devices, including DNS consistency checks.
Endpoint
- URL: /api/v6.9/tables/addressing/managed-devs
- Method: GET
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
parameters.snapshot | string | Optional | Snapshot UUID or reference ($last, $prev, $lastLocked) to be used for the request. |
parameters.reports | string | Optional | Report to be used for the request. |
parameters.attributeFilters | object | Optional | Attribute filters to be applied on present columns. |
parameters.attributeFilters.siteName | array | Optional | Parameters for the Get Managed IPv4 Addresses action |
parameters.columns | array | Optional | Column names to be returned. Example column names - dnsHostnameMatch, dnsName, dnsReverseMatch, hostname, intName, ip, mac, net, siteName, sn, stateL1, stateL2, type, vlanId, vrf. |
parameters.filters | object | Optional | Filters to be applied on present columns. |
parameters.filters.hostname | array | Optional | Parameters for the Get Managed IPv4 Addresses action |
parameters.pagination | object | Optional | Pagination parameters. |
parameters.pagination.start | number | Optional | Parameters for the Get Managed IPv4 Addresses action |
parameters.pagination.limit | number | Optional | Parameters for the Get Managed IPv4 Addresses action |
parameters.sort | object | Optional | Sorting to be used for the request. |
parameters.sort.column | string | Optional | The field used to sort the results. Specify a valid column name to determine the sorting criteria. |
parameters.sort.order | string | Optional | The sorting direction for the specified column. Choose either asc for ascending order or desc for descending order. |
Input Example
{"parameters":{"snapshot":"$last","reports":"/technology/addressing/managed-ip","attributeFilters":{"siteName":["SiteName"]},"columns":["dnsHostnameMatch","dnsName","dnsReverseMatch","hostname","intName","ip","mac","net","siteName","sn","stateL1","stateL2","type","vlanId","vrf"],"filters":{"hostname":["eq","value"]},"pagination":{"start":0,"limit":1},"sort":{"column":"hostname","order":"asc"}}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
_meta | object | Output field: _meta |
_meta.count | number | Count value |
_meta.limit | number | Output field: _meta.limit |
_meta.size | number | Output field: _meta.size |
_meta.snapshot | string | Output field: _meta.snapshot |
_meta.start | number | Output field: _meta.start |
data | array | Response data |
data.dnsHostnameMatch | number | Response data |
data.dnsName | object | Response data |
data.dnsReverseMatch | object | Response data |
data.dnsReverseMatch.data | number | Response data |
data.dnsReverseMatch.severity | number | Response data |
data.hostname | string | Response data |
data.intName | string | Response data |
data.ip | string | Response data |
data.mac | string | Response data |
data.net | string | Response data |
data.siteName | string | Response data |
data.sn | string | Response data |
data.stateL1 | string | Response data |
data.stateL2 | string | Response data |
data.type | string | Response data |
data.vlanId | object | Response data |
Output Example
{"status_code":200,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Fri, 21 Feb 2025 20:37:23 GMT"},"reason":"OK","json_body":{"_meta":{"count":2,"limit":1,"size":1,"snapshot":"2527da67-c550-4ea0-94ec-b1c991cb7e5a","start":0},"data":[{}]}}
Response Headers
Header | Description | Example |
|---|---|---|
content-length | The length of the response body in bytes | 140 |
content-type | The media type of the resource | application/json |
Date | The date and time at which the message was originated | Fri, 21 Feb 2025 20:37:23 GMT |