open-index/open-npm huggingface dataset:
npm package: @itentialopensource/f5-member-creation
Description: F5 BigIP Load Balancer Pool Member Creation
Author: Itential Automation Platform
Latest version: 0.0.13-2022.1.1

<!-- This is a comment in md (Markdown) format, it will not be visible to the end user -->

<!-- Update the below line with your Pre-Built name -->
# F5 Member Creation

<!-- Leave TOC intact unless you've added or removed headers -->
## Table of Contents

* [Overview](#overview)
  * [Operations Manager and JSON-Form](#operations-manager-and-json-form)
* [Installation Prerequisites](#installation-prerequisites)
* [Requirements](#requirements)
* [Features](#features)
* [How to Install](#how-to-install)
* [How to Run](#how-to-run)
  * [Input Variables](#input-variables)
* [Additional Information](#additional-information)

## Overview

This Pre-Built uses the [Ansible Big IP Pool Member](https://docs.ansible.com/ansible/latest/collections/f5networks/f5_modules/bigip_pool_member_module.html) module to configure an F5 BigIP Load Balancer to create Pool Members.

## Operations Manager and JSON-Form

This workflow has an [Operations Manager item](./bundles/ac_agenda_jobs/F5%20Member%20Creation.json) that calls a workflow. The Operations Manager item uses a JSON-Form to specify common fields populated when a pool member is added. The workflow the Operations Manager item calls queries data from the formData job variable.

<table>
  <tr>
    <td>
      <img src="./images/f5_member_mgmt_ac_form.png" alt="form" width="800px">
    </td>
  </tr>
  <tr>
    <td>
      <img src="./images/f5_member_mgmt_canvas.png" alt="form" width="800px">
    </td>
  </tr>
</table>


## Installation Prerequisites

Users must satisfy the following pre-requisites:

* Itential Automation Platform
  * `^2022.1`
* Itential Automation Gateway

## Requirements

This Pre-Built requires the following:

* IAG Adapter Configured
* Existing F5 Pool
* F5 BigIP Load Balancer on-boarded in Ansible

## Features

The main benefits and features of the Pre-Built are outlined below.

* Allows user to create one or multiple members to add to an existing F5 Pool leveraging a simple form 
* Leverages F5 Ansible modules

## How to Install

To install the Pre-Built:

* Verify you are running a supported version of the Itential Automation Platform (IAP) as listed above in the [Requirements](#requirements) section in order to install the Pre-Built. 
* The Pre-Built can be installed from within App-Admin_Essential. Simply search for the name of your desired Pre-Built and click the install button.

## How to Run

Use the following to run the Pre-Built:

* Run the Automation Catalog item `F5 Member Creation` or call [F5 Member Management](./bundles/workflows/F5%20Member%20Management.json) from your workflow as a child job.

### Input Variables
_Example_

```json
{
  "device": "Target F5 host",
  "pool": "Pool name",
  "poolMembers": [{
    "name": "Pool member name",
    "state": "Pool member state",
    "port": "Pool member port (integer)",
    "address": "Pool member IP address"
  }]
}
```


## Additional Information

Please use your Itential Customer Success account if you need support when using this Pre-Built.
npm package: @itentialopensource/f5-pool-creation
Description: F5 BigIP Load Balancer Pool Creation
Author: Itential Automation Platform
Latest version: 0.0.12-2022.1.1

<!-- This is a comment in md (Markdown) format, it will not be visible to the end user -->

<!-- Update the below line with your Pre-Built name -->
# F5 Pool Creation

<!-- Leave TOC intact unless you've added or removed headers -->
## Table of Contents

* [Overview](#overview)
  * [Operations Manager and JSON-Form](#operations-manager-and-json-form)
* [Installation Prerequisites](#installation-prerequisites)
* [Requirements](#requirements)
* [Features](#features)
* [How to Install](#how-to-install)
* [How to Run](#how-to-run)
  * [Input Variables](#input-variables)
* [Additional Information](#additional-information)

## Overview

This Pre-Built uses the [Ansible Big IP Pool](https://docs.ansible.com/ansible/latest/collections/f5networks/f5_modules/bigip_pool_module.html) module to create an F5 pool.

## Operations Manager and JSON-Form

This workflow has an [Operations Manager item](./bundles/ac_agenda_jobs/F5%20Pool%20Creation.json) that calls a workflow. The Operations Manager item uses a JSON-Form to specify common fields populated when a pool is created. The workflow the Operations Manager item calls queries data from the formData job variable.

<table>
  <tr>
    <td>
      <img src="./images/f5_pool_creation_ac_form.png" alt="form" width="800px">
    </td>
  </tr>
  <tr>
    <td>
      <img src="./images/f5_pool_creation_canvas.png" alt="form" width="800px">
    </td>
  </tr>
</table>


## Installation Prerequisites

Users must satisfy the following pre-requisites:

* Itential Automation Platform
  * `^2022.1`
* Itential Automation Gateway
  * `2021.1`

## Requirements

This Pre-Built requires the following:

* IAG Adapter Configured
* F5 BigIP Load Balancer on-boarded in Ansible

## Features

The main benefits and features of the Pre-Built are outlined below.

* Allows user to create a pool leveraging simple form
* Leverages F5 Ansible modules

## How to Install

To install the Pre-Built:

* Verify you are running a supported version of the Itential Automation Platform (IAP) as listed above in the [Requirements](#requirements) section in order to install the Pre-Built. 
* The Pre-Built can be installed from within App-Admin_Essential. Simply search for the name of your desired Pre-Built and click the install button.

## How to Run

Use the following to run the Pre-Built:

* Run the Automation Catalog item `F5 Pool Creation` or call [F5 Pool Management](./bundles/workflows/F5%20Pool%20Management.json) from your workflow as a child job.

### Input Variables
_Example_

```json
{
  "device": "Target F5 host",
  "name": "Pool name",
  "description": "Descriptive text that identifies the pool",
  "loadBalancerMethodType": "Load balancing method",
  "state": "The pool state (present or absent)"
}
```


## Additional Information

Please use your Itential Customer Success account if you need support when using this Pre-Built.
npm package: @itentialopensource/forward-networks-create-network-collection
Description: Forward Networks Network Collection Creation
Author: Itential Artifacts
Latest version: 0.0.14-2023.1.0

<!-- This is a comment in md (Markdown) format, it will not be visible to the end user -->

<!-- Update the below line with your Pre-Built name -->
# Forward Networks Create Network Collection

## Table of Contents

* [Overview](#overview)
  * [Operations Manager and JSON-Form](#operations-manager-and-json-form)
* [Requirements](#requirements)
* [How to Install](#how-to-install)
* [How to Run](#how-to-run)
  * [Input Variables](#input-variables)
* [Additional Information](#additional-information)

## Overview

The Forward Networks Create Network Collection pre-built can be used to do service verfication before a deployment. The pre-built consists of transformations and childjobs that makes the pre-built modular in design and generic to verify any type of service using [Forward Enterprise](https://forwardnetworks.com).

The main parent flow which is shown in the overview contains functionality for:
1. Forward Networks Create Network Collection
2. JST : JSON Schema Transformation
<table><tr><td>
  <img src="./images/forward_networks_create_network_collection_autocatalog.png" alt="workflow" width="800px">
</td></tr></table>
<table><tr><td>
  <img src="./images/forward_networks_create_network_collection_automation.png" alt="workflow" width="800px">
</td></tr></table>

_Estimated Run Time_: 1min

## Installation Prerequisites

Users must satisfy the following pre-requisites:

* Itential Automation Platform
  * `^2021.2`
  * [Forward Networks Adapter](https://gitlab.com/itentialopensource/adapters/telemetry-analytics/adapter-forwardnetworks)

## Requirements

This Pre-Built requires the following:

* [Forward Networks Adapter](https://gitlab.com/itentialopensource/adapters/telemetry-analytics/adapter-forwardnetworks) configured with a Forward Enterprise instance.

## How to Install

To install the Pre-Built:

* Verify you are running a supported version of the Itential Automation Platform (IAP) as listed above in the [Requirements](#requirements) section in order to install the Pre-Built. 
* The Pre-Built can be installed from within App-Admin_Essential. Simply search for the name of your desired Pre-Built and click the install button (as shown below).


## How to Run

Use the following to run the Pre-Built:

* Run the Operations Manager item `Forward Networks Create Network Collection` or call [Forward Networks Create Network Collection](./bundles/workflows/Forward%20Networks%20Create%20FNetwork%20Collection.json) from your workflow as a child job.

### Input Variables
_Example_

```json
{
  "networkId": "Unique Identifier Associated with Network within Forward Enterprise"
}
```
npm package: @itentialopensource/generate-random-integer-within-a-range
Description: [Deprecated] Generates a random integer within a range
Author: Itential Artifacts
Latest version: 0.0.9-2023.1.1

<!-- This is a comment in md (Markdown) format, it will not be visible to the end user -->
## _Deprecation Notice_
This Pre-Built has been deprecated as of 01-15-2024 and will be end of life on 01-15-2025. The capabilities of this Pre-Built have been replaced by the [IAP - Data Manipulation](https://gitlab.com/itentialopensource/pre-built-automations/iap-data-manipulation)

# Generate Random Integer Within a Range

## Table of Contents

*  [Overview](#overview)
*  [Installation Prerequisites](#installation-prerequisites)
*  [How to Install](#how-to-install)
*  [How to Run](#how-to-run)
* [Attributes](#attributes)
* [Additional Information](#additional-information)

## Overview

This JST allows IAP users to generate a random integer within a user provided range.

## Installation Prerequisites
Users must satisfy the following prerequisites:
* Itential Automation Platform : `^2022.1`

## How to Install

To install the pre-built:
* Verify you are running a supported version of the Itential Automation Platform (IAP) as listed above in the [Prerequisites](#installation-prerequisites) section.
* The pre-built can be installed from within `App-Admin_Essential`. Simply search for the name of your desired pre-built and click the install button.


## How to Run

Use the following to run the pre-built:
1. Once the JST is installed as outlined in the [How to Install](#how-to-install) section above, navigate to the workflow where you would like to generate a random integer and add a `JSON Transformation` task.

2. Inside the `Transformation` task, search for and select `randomInteger` (the name of the internal JST).

3. The inputs to the JST would be the minimum and maximum numbers for the range (both inclusive) between which a random integer will be picked.

4. Save your input and the task is ready to run inside of IAP.

## Attributes
1. Input:
<table border='1' style='border-collapse:collapse'>
<thead>
<tr>
<th>Attribute</th>
<th>Description</th>
<th>Type</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>minimum</code></td>
<td>lower bound (inclusive) for the range between which a random integer will be generated</td>
<td><code>integer</td>
</tr>
<tr>
<td><code>maximum</code></td>
<td>upper bound (inclusive) for the range between which a random integer will be generated</td>
<td><code>integer</td>
</tr>
</tbody>
</table>


2. Output:
<table border='1' style='border-collapse:collapse'>
<thead>
<tr>
<th>Attribute</th>
<th>Description</th>
<th>Type</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>randomInteger</code></td>
<td>generated random integer</td>
<td><code>integer</td>
</tr>
</tbody>
</table>

## Additional Information
Please use your Itential Customer Succcess account if you need support when using this Pre-Built Transformation.
npm package: @itentialopensource/github-rest
Description: Project with workflows for GitHub using REST protocol
Author: Itential
Latest version: 1.0.5-2023.2.1

# GitHub - REST

## Overview

The integration of Itential and GitHub enables network teams to utilize GitHub's REST API to build automations that can include common tasks for version control of assets. This is a library of related automations that can be used as modular components in your own larger, end-to-end workflows.


## Workflows


<table>
  <thead>
    <tr>
      <th>Name</th>
      <th>Overview</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a href='https://gitlab.com/itentialopensource/pre-built-automations/github-rest/-/blob/release/2023.2/documentation/Create Pull Request - GitHub - REST.md' target='_blank'>Create Pull Request - GitHub - REST</a></td>
      <td>Create a pull request to propose changes to a project repository in GitHub</td>
    </tr>    <tr>
      <td><a href='https://gitlab.com/itentialopensource/pre-built-automations/github-rest/-/blob/release/2023.2/documentation/Commit File - GitHub - REST.md' target='_blank'>Commit File - GitHub - REST</a></td>
      <td>Commit a file in GitHub</td>
    </tr>    <tr>
      <td><a href='https://gitlab.com/itentialopensource/pre-built-automations/github-rest/-/blob/release/2023.2/documentation/Create Branch - GitHub - REST.md' target='_blank'>Create Branch - GitHub - REST</a></td>
      <td>Create a branch in GitHub</td>
    </tr>    <tr>
      <td><a href='https://gitlab.com/itentialopensource/pre-built-automations/github-rest/-/blob/release/2023.2/documentation/Get File - GitHub - REST.md' target='_blank'>Get File - GitHub - REST</a></td>
      <td>Get the contents of a file in a repository</td>
    </tr>    <tr>
      <td><a href='https://gitlab.com/itentialopensource/pre-built-automations/github-rest/-/blob/release/2023.2/documentation/Create Repository - GitHub - REST.md' target='_blank'>Create Repository - GitHub - REST</a></td>
      <td>Create a new repository for the authenticated user</td>
    </tr>
  </tbody>
</table>


## External Dependencies

<table>
  <thead>
    <tr>
      <th>Name</th>
      <th>OS Version</th>
      <th>API Version</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>GitHub</td>
      <td></td>
      <td>2022-11-28</td>
    </tr>
  </tbody>
</table>

## Adapters

<table>
  <thead>
    <tr>
      <th>Name</th>
      <th>Version</th>
      <th>Configuration Notes</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a href="https://gitlab.com/itentialopensource/adapters/devops-netops/adapter-github">adapter-github</a></td>
      <td>0.6.1</td>
      <td></td>
    </tr>
  </tbody>
</table>
npm package: @itentialopensource/iap-regex-operations
Description: Transformation project for use cases around string manipulation operations
Author: Itential
Latest version: 1.0.4-2023.2.1

# IAP - Regex Operations

## Overview

This Transformation Project contains several transformation examples that are used for regex operations in Itential Automation Platform (IAP).


## Transformations


<table>
  <thead>
    <tr>
      <th>Name</th>
      <th>Overview</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a href='https://gitlab.com/itentialopensource/pre-built-automations/iap-regex-operations/-/blob/release/2023.2/documentation/Test Regex Match - IAP.md' target='_blank'>Test Regex Match - IAP</a></td>
      <td>Execute a search for a match between a regular expression and a specified string and return a boolean value</td>
    </tr>    <tr>
      <td><a href='https://gitlab.com/itentialopensource/pre-built-automations/iap-regex-operations/-/blob/release/2023.2/documentation/Find Regex Match Index - IAP.md' target='_blank'>Find Regex Match Index - IAP</a></td>
      <td>Find the index of the first occurrence of a regular expression pattern in a string</td>
    </tr>    <tr>
      <td><a href='https://gitlab.com/itentialopensource/pre-built-automations/iap-regex-operations/-/blob/release/2023.2/documentation/Replace Substring or Regex - IAP.md' target='_blank'>Replace Substring or Regex - IAP</a></td>
      <td>Execute a search for a match in a string, and replaces the match with a replacement substring</td>
    </tr>    <tr>
      <td><a href='https://gitlab.com/itentialopensource/pre-built-automations/iap-regex-operations/-/blob/release/2023.2/documentation/Extract Matches From Regex - IAP.md' target='_blank'>Extract Matches From Regex - IAP</a></td>
      <td>Retrieve the result of matching a string against a regular expression</td>
    </tr>
  </tbody>
</table>


## External Dependencies

No external dependencies required to run this Transformation Project.

## Adapters

No adapters required to run this Transformation Project.
npm package: @itentialopensource/iap-workflow-utilities
Description: The Itential solution enables network teams to build automations that can include common tasks for IAP job history management, documentation of use cases in IAP, and IAP workflow optimization tasks. This is a library of related automations that can be use
Author: Itential
Latest version: 1.1.2-2023.2.7

# IAP - Workflow Utilities

## Overview

The Itential solution enables network teams to build automations that can include common tasks for IAP job history management, documentation of use cases in IAP, and IAP workflow optimization tasks. This is a library of related automations that can be used as modular components in your own larger, end-to-end workflows.


## Workflows


<table>
  <thead>
    <tr>
      <th>Name</th>
      <th>Overview</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a href='https://gitlab.com/itentialopensource/pre-built-automations/iap-workflow-utilities/-/blob/release/2023.2/documentation/Archive Jobs and Tasks Collections - IAP.md' target='_blank'>Archive Jobs and Tasks Collections - IAP</a></td>
      <td>Workflow that can archive data from the IAP Jobs and Tasks collections in MongoDB.</td>
    </tr>    <tr>
      <td><a href='https://gitlab.com/itentialopensource/pre-built-automations/iap-workflow-utilities/-/blob/release/2023.2/documentation/Restore Archived Jobs and Tasks - IAP.md' target='_blank'>Restore Archived Jobs and Tasks - IAP</a></td>
      <td>Workflow that restores archived IAP Jobs and Tasks collections in MongoDB database.</td>
    </tr>    <tr>
      <td><a href='https://gitlab.com/itentialopensource/pre-built-automations/iap-workflow-utilities/-/blob/release/2023.2/documentation/As Built Documentation - IAP.md' target='_blank'>As Built Documentation - IAP</a></td>
      <td>Workflow that creates a document in markdown format that includes each component of the pre-built, as well as the relationships between the components.</td>
    </tr>    <tr>
      <td><a href='https://gitlab.com/itentialopensource/pre-built-automations/iap-workflow-utilities/-/blob/release/2023.2/documentation/Chunk Array For Loop - IAP.md' target='_blank'>Chunk Array For Loop - IAP</a></td>
      <td>Workflow that splits large inputs into groups to be run in a child job loop</td>
    </tr>
  </tbody>
</table>


## External Dependencies

<table>
  <thead>
    <tr>
      <th>Name</th>
      <th>OS Version</th>
      <th>API Version</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Itential app-artifacts</td>
      <td></td>
      <td>^6.5.5-2023.2.0</td>
    </tr>
  </tbody>
</table>

## Adapters

<table>
  <thead>
    <tr>
      <th>Name</th>
      <th>Version</th>
      <th>Configuration Notes</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a href="https://gitlab.com/itentialopensource/adapters/persistence/adapter-db_mongo">adapter-db_mongo</a></td>
      <td>0.8.0</td>
      <td>To ensure ObjectId's are not mutated, use property `'convertObjectId': true` in Adapter Configuration.</td>
    </tr>
  </tbody>
</table>
npm package: @itentialopensource/ip-fabric-compare-network-routes-from-snapshots
Description: [Deprecated] IP Fabric Compare Network Routes From Snapshots
Author: Itential Artifacts
Latest version: 0.0.9-2022.1.0

## _Deprecation Notice_
This Pre-Built has been deprecated as of 09-01-2024 and will be end of life on 09-01-2025. The capabilities of this Pre-Built have been replaced by the [IP Fabric - REST](https://gitlab.com/itentialopensource/pre-built-automations/ip-fabric-rest)

<!-- This is a comment in md (Markdown) format, it will not be visible to the end user -->

<!-- Update the below line with your Pre-Built name -->
# IP Fabric Compare Network Routes from Snapshots

<!-- Leave TOC intact unless you've added or removed headers -->
## Table of Contents

* [Overview](#overview)
  * [Operations Manager and JSON-Form](#operations-manager-and-json-form)
* [Requirements](#requirements)
* [How to Install](#how-to-install)
* [How to Run](#how-to-run)
* [Additional Information](#additional-information)

## Overview

The IP Fabric Compare Network Routes from Snapshots Pre-Built can be used to compare the last and penultimate (previous) snapshots taken by the [IP Fabric Automated Network Assurance Platform](https://ipfabric.io/product/). The Pre-Built consists of two API tasks and a comparision view task which will render the delta.
This Pre-Built can be scheduled in Operations Manager and the delta could be reviewed in IAP or exported to any other system of record.

_Estimated Run Time_: 1min

## Installation Prerequisites

Users must satisfy the following pre-requisites:

<!-- Include any other required apps or adapters in this list -->
<!-- Ex.: EC2 Adapter -->
* Itential Automation Platform
  * `^2021.2`
  * [IP Fabric Adapter](https://gitlab.com/itentialopensource/adapters/telemetry-analytics/adapter-ipfabric)

## Requirements

This Pre-Built requires the following:

* [IP Fabric Adapter](https://gitlab.com/itentialopensource/adapters/telemetry-analytics/adapter-ipfabric) configured with credentials and IP Address of your IP Fabric Instance.

## How to Install

To install the Pre-Built:

* Verify you are running a supported version of the Itential Automation Platform (IAP) as listed above in the [Requirements](#requirements) section in order to install the Pre-Built. 
* The Pre-Built can be installed from within App-Admin_Essential. Simply search for the name of your desired Pre-Built and click the install button (as shown below).

<!-- OPTIONAL - Explain if external components are required outside of IAP -->
<!-- Ex.: The Ansible roles required for this Pre-Built can be found in the repository located at https://gitlab.com/itentialopensource/pre-built-automations/hello-world -->

## How to Run

Use the following to run the Pre-Built:

* Run the Operations Manager item `IP Fabric Compare Network Routes from Snapshots` or call [IP Fabric Compare Network Routes from Snapshots](./bundles/workflows/IP%20Fabric%20Compare%20Network%20Routes%20from%20Snapshots) from your workflow as a child job.
<!-- Update the below line with your Pre-Built name -->
npm package: @itentialopensource/ip-fabric-create-network-snapshot
Description: [Deprecated] IP Fabric Create Network Snapshot
Author: Itential Artifacts
Latest version: 0.0.11-2022.1.1

## _Deprecation Notice_
This Pre-Built has been deprecated as of 09-01-2024 and will be end of life on 09-01-2025. The capabilities of this Pre-Built have been replaced by the [IP Fabric - REST](https://gitlab.com/itentialopensource/pre-built-automations/ip-fabric-rest)

<!-- This is a comment in md (Markdown) format, it will not be visible to the end user -->

<!-- Update the below line with your Pre-Built name -->
# IP Fabric Create Network Snapshot

<!-- Leave TOC intact unless you've added or removed headers -->
## Table of Contents

* [Overview](#overview)
* [Requirements](#requirements)
* [How to Install](#how-to-install)
* [How to Run](#how-to-run)
* [Additional Information](#additional-information)

## Overview

The IP Fabric Create Network Snapshot Pre-Built will create a snapshot of the network using the [IP Fabric Automated Network Assurance Platform](https://ipfabric.io/product/). The Pre-Built consists of a task that takes a snapshot.

_Estimated Run Time_: 1min

## Installation Prerequisites

Users must satisfy the following pre-requisites:

<!-- Include any other required apps or adapters in this list -->
<!-- Ex.: EC2 Adapter -->
* Itential Automation Platform
  * `^2021.2`
  * [IP Fabric Adapter](https://gitlab.com/itentialopensource/adapters/telemetry-analytics/adapter-ipfabric)

## Requirements

This Pre-Built requires the following:

* [IP Fabric Adapter](https://gitlab.com/itentialopensource/adapters/telemetry-analytics/adapter-ipfabric) configured with credentials and IP Address of your IP Fabric Instance.

## How to Install

To install the Pre-Built:

* Verify you are running a supported version of the Itential Automation Platform (IAP) as listed above in the [Requirements](#requirements) section in order to install the Pre-Built. 
* The Pre-Built can be installed from within App-Admin_Essential. Simply search for the name of your desired Pre-Built and click the install button (as shown below).

<!-- OPTIONAL - Explain if external components are required outside of IAP -->
<!-- Ex.: The Ansible roles required for this Pre-Built can be found in the repository located at https://gitlab.com/itentialopensource/pre-built-automations/hello-world -->

## How to Run

Use the following to run the Pre-Built:

* Run the Operations Manager item `IP Fabric Create Snapshot` or call [IP Fabric Create Snapshot](./bundles/workflows/IP%20Fabric%20Create%20Snapshot) from your workflow as a child job.
npm package: @itentialopensource/ip-fabric-rest
Description: This contains modular workflows that operate when integrated with the IP Fabric solution. Once installed teams will be able to quickly automate common manual tasks such as network service path analysis, saving a significant amount of time and effort. This
Author: Itential
Latest version: 1.0.5-2023.2.1

# IP Fabric - REST

## Overview

This contains modular workflows that operate when integrated with the IP Fabric solution. Once installed teams will be able to quickly automate common manual tasks such as network service path analysis, saving a significant amount of time and effort. This library can be used as modular components with other libraries and automations to build comprehensive end-to-end orchestrated workflows with Itential's low-code platform.


## Workflows


<table>
  <thead>
    <tr>
      <th>Name</th>
      <th>Overview</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a href='https://gitlab.com/itentialopensource/pre-built-automations/ip-fabric-rest/-/blob/release/2023.2/documentation/Compare Snapshot Inventory - IP Fabric - REST.md' target='_blank'>Compare Snapshot Inventory - IP Fabric - REST</a></td>
      <td>Compare two network snapshots leveraging the IP Fabric Automated Network Assurance Platform</td>
    </tr>    <tr>
      <td><a href='https://gitlab.com/itentialopensource/pre-built-automations/ip-fabric-rest/-/blob/release/2023.2/documentation/Create Network Snapshot - IP Fabric - REST.md' target='_blank'>Create Network Snapshot - IP Fabric - REST</a></td>
      <td>Create a snapshot of the network using the IP Fabric Automated Network Assurance Platform</td>
    </tr>    <tr>
      <td><a href='https://gitlab.com/itentialopensource/pre-built-automations/ip-fabric-rest/-/blob/release/2023.2/documentation/Analyze Service Path - IP Fabric - REST.md' target='_blank'>Analyze Service Path - IP Fabric - REST</a></td>
      <td>Run end to end service path analysis within IP Fabric Automated Network Assurance Platform</td>
    </tr>    <tr>
      <td><a href='https://gitlab.com/itentialopensource/pre-built-automations/ip-fabric-rest/-/blob/release/2023.2/documentation/Compare Network Routes From Snapshots - IP Fabric - REST.md' target='_blank'>Compare Network Routes From Snapshots - IP Fabric - REST</a></td>
      <td>Compare the last and penultimate (previous) snapshots taken by the IP Fabric Automated Network Assurance Platform</td>
    </tr>
  </tbody>
</table>


## External Dependencies

<table>
  <thead>
    <tr>
      <th>Name</th>
      <th>OS Version</th>
      <th>API Version</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>IP Fabric</td>
      <td>6.6.3</td>
      <td></td>
    </tr>
  </tbody>
</table>

## Adapters

<table>
  <thead>
    <tr>
      <th>Name</th>
      <th>Version</th>
      <th>Configuration Notes</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a href="https://gitlab.com/itentialopensource/adapters/telemetry-analytics/adapter-ipfabric">adapter-ipfabric</a></td>
      <td>1.1.2</td>
      <td></td>
    </tr>
  </tbody>
</table>
npm package: @itentialopensource/ip-fabric-snapshot-inventory-comparison
Description: [Deprecated] IP Fabric Snapshot Inventory Comparison
Author: Itential Artifacts
Latest version: 0.0.13-2023.1.1

## _Deprecation Notice_
This Pre-Built has been deprecated as of 09-01-2024 and will be end of life on 09-01-2025. The capabilities of this Pre-Built have been replaced by the [IP Fabric - REST](https://gitlab.com/itentialopensource/pre-built-automations/ip-fabric-rest)

<!-- This is a comment in md (Markdown) format, it will not be visible to the end user -->

<!-- Update the below line with your Pre-Built name -->
# IP Fabric Snapshot Inventory Comparison

<!-- Leave TOC intact unless you've added or removed headers -->
## Table of Contents

* [Overview](#overview)
* [Requirements](#requirements)
* [How to Install](#how-to-install)
* [How to Run](#how-to-run)
* [Additional Information](#additional-information)

## Overview

The IP Fabric Snapshot Inventory Comparison Pre-Built allows you to compare two network snapshots leveraging the [IP Fabric Automated Network Assurance Platform](https://ipfabric.io/product/). The Pre-Built has two stubbed tasks that enable the user to define if they would like to take the results of the comparison. 

For example, if there are new devices in the most recent snapshot, the user may decide to build a childJob that adds the device(s) to their inventory system such as SolarWinds, BlueCat, PRTG, Zabbix, Netbox, etc. If there are fewer devices in the most recent snapshot, the user may decide to build a childJob that removes the device(s) from their inventory system. 

_Estimated Run Time_: 1min

## Installation Prerequisites

Users must satisfy the following pre-requisites:

<!-- Include any other required apps or adapters in this list -->
<!-- Ex.: EC2 Adapter -->
* Itential Automation Platform
  * `^2021.1`
  * [IP Fabric Adapter](https://gitlab.com/itentialopensource/adapters/telemetry-analytics/adapter-ipfabric)

## Requirements

This Pre-Built requires the following:

* [IP Fabric Adapter](https://gitlab.com/itentialopensource/adapters/telemetry-analytics/adapter-ipfabric) configured with credentials and IP Address of your IP Fabric Instance.

## How to Install

To install the Pre-Built:

* Verify you are running a supported version of the Itential Automation Platform (IAP) as listed above in the [Requirements](#requirements) section in order to install the Pre-Built. 
* The Pre-Built can be installed from within App-Admin_Essential. Simply search for the name of your desired Pre-Built and click the install button (as shown below).

<!-- OPTIONAL - Explain if external components are required outside of IAP -->
<!-- Ex.: The Ansible roles required for this Pre-Built can be found in the repository located at https://gitlab.com/itentialopensource/pre-built-automations/hello-world -->

## How to Run

Use the following to run the Pre-Built:

* Run the Operations Manager item `IP Fabric Snapshot Inventory Comparison` or call [IP Fabric Snapshot Inventory Comparison](./bundles/workflows/IP Fabric Snapshot Inventory Comparison) from your workflow as a child job.
npm package: @itentialopensource/itentialpromisify
Description: A generic class that wraps cogs, adapters, etc. so that their functions return promises.
Author: Itential, LLC
Latest version: 1.1.3

# ItentialPromisify

ItentialPromisify wraps cog and adapter functions to enable using async/await with them.

You can also use ItentialPromisify to promisify a single function that expects a callback with arguments in the order results, error.

## Installation

`npm install --save @itentialopensource/itentialpromisify`

## Usage with cogs/adapters

1. Require `ItentialPromisfy`.

    ```javascript
    const itentialPromisify = require('@itentialopensource/itentialPromisify');
    ```

2. Wrap an `adapter` or `cog`.

    ```javascript
    const workFlowEngineWrapper = itentialPromisify(cogs.WorkFlowEngine);
    ```

3. Use `async`/`await` with any method from the cog you wrapped.

    ```javascript
      try {
        const workflowName = 'routerUpgrade';
        const options = {
          variables: {
            new_version: '1.8.8'
          }
        };
        // N.b. no need to pass a callback to the wrapper!
        const saveData = await workFlowEngineWrapper.startJobWithOptions(workflowName, options);
        console.log(JSON.stringify(saveData, null, 2));
      } catch (error) {
        console.log(error.stack);
      }
    ```

## Usage with single functions

1. Require `ItentialPromisfy`.

    ```javascript
    const itentialPromisify = require('@itentialopensource/itentialPromisify');
    ```

2. Call itentialPromisify on the function

    ```javascript
    const startJobWithOptionsPromisified = itentialPromisify(cogs.WorkFlowEngine.startJobWithOptions);
    ```

3. Use `async`/`await` with the promisified method.

    ```javascript
        try {
          const workflowName = 'routerUpgrade';
          const options = {
            variables: {
              new_version: '1.8.8'
            }
          };
          const saveData = await startJobWithOptionsPromisified(workflowName, options);
          console.log(JSON.stringify(saveData, null, 2));
        } catch (error) {
          console.log(error.stack);
        }
    ```

## :open_hands: Contributing to itentialPromisify

Please check out the [Contributing Guidelines](./CONTRIBUTING.md).

License & Maintainers
---

### Maintained by:

Itential Cloud & Delivery Support Teams

### License

[Apache 2.0](./LICENSE)
npm package: @itentialopensource/jsdo
Description: JSON Schema Dereference Operator
Author: Itential, LLC
Latest version: 1.0.0

# JSDO

JSON Schema Dereference Operator, abbreviated to JSDO, is an operator for handling reference properties inside of a JSON Schema.

## Usage Description

JSDO can be used to resolve references inside of JSON Schema documents,
while leaving the implementation deals of how the schemas are retrieved up to the user.
This allows for a wide variety of use-cases,
as the JSON Schema specification leaves it up to the user to define where and how JSON Schema documents are stored.

Currently, JSDO only supports [draft 7 of the JSON Schema specification](https://tools.ietf.org/html/draft-handrews-json-schema-01).

`playground.test.js` provides an example of how to use JSDO when the JSON Schema documents are located on the local file system.

### Primary Features

- Add schemas to an instance of JSDO's schema store.
- Dereference schemas that have previously been added to an instance of JSDO.

### Notice of Unsupported Features

#### Process references that point to a file or remote URL

Supporting files and remote url reference pointers would require JSDO to implement a prescriptive solutions for managing such references.
JSDO is intentionally unopinionated about the implementation details of such file and remote url pointers,
so that users of JSDO can decide how to implement such a feature.

#### Recursive references

Dereferencing recursive references would lead to an infinite loop. For this reason, JSDO does not dereference recursive references.
Instead, if JSDO detects a recursive reference, the reference will be normalized to an empty object.
npm package: @itentialopensource/juniper-junos-iag
Description: This Pre-Built Automation bundle contains several example use cases that are applicable when the Itential Automation Platform is integrated with Juniper JUNOS using the device CLI. Because every environment is different, these use cases are fully function
Author: Itential
Latest version: 1.0.6-2023.2.1

# Juniper - JUNOS - IAG

## Overview

This Pre-Built Automation bundle contains several example use cases that are applicable when the Itential Automation Platform is integrated with Juniper JUNOS using the device CLI. Because every environment is different, these use cases are fully functioning examples that can be easily modified to operate in your specific environment. These workflows have been written with modularity in mind to make them easy to understand and simple to modify to suit your needs.


## Workflows


<table>
  <thead>
    <tr>
      <th>Name</th>
      <th>Overview</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a href='https://gitlab.com/itentialopensource/pre-built-automations/juniper-junos-iag/-/blob/release/2023.2/documentation/Software Upgrade - JUNOS.md' target='_blank'>Software Upgrade - JUNOS</a></td>
      <td>Upgrade software on a Juniper JUNOS device.</td>
    </tr>    <tr>
      <td><a href='https://gitlab.com/itentialopensource/pre-built-automations/juniper-junos-iag/-/blob/release/2023.2/documentation/Port Turn Up - JUNOS.md' target='_blank'>Port Turn Up - JUNOS</a></td>
      <td>Enable a port on a Juniper JUNOS device</td>
    </tr>
  </tbody>
</table>


## External Dependencies

<table>
  <thead>
    <tr>
      <th>Name</th>
      <th>OS Version</th>
      <th>API Version</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Itential Automation Gateway (IAG)</td>
      <td>^3.227.0+2023.1.33</td>
      <td></td>
    </tr>
  </tbody>
</table>

## Adapters

<table>
  <thead>
    <tr>
      <th>Name</th>
      <th>Version</th>
      <th>Configuration Notes</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>adapter-automation_gateway</td>
      <td>4.29.0-2023.1.12.0</td>
      <td></td>
    </tr>
  </tbody>
</table>
npm package: @itentialopensource/kentik-rest
Description: Project for use cases around Kentik using REST protocol.
Author: Itential
Latest version: 1.0.10-2023.2.1

# Kentik - REST

## Overview

The integration of Itential and Kentik enables network teams to build automations that can immediately respond to events and alarms generated by the Kentik observability platform. In addition, Itential also offers a package of Pre-Built Automations to implement multiple use cases with the integration. The Kentik - REST Pre-Built provides automations that help Network Engineers automate common tasks performed in the Kentik platform. This Pre-Built contains multiple automations including:

- Create a Device in Kentik - With this automation, users can create a device for a specific site and provide the device record as output.
- Run Device Flow Test - With this automation, users can run a device flow test for a specific device, providing the results of the test as output.


## Workflows


<table>
  <thead>
    <tr>
      <th>Name</th>
      <th>Overview</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a href='https://gitlab.com/itentialopensource/pre-built-automations/kentik-rest/-/blob/release/2023.2/documentation/Create Device - Kentik - REST.md' target='_blank'>Create Device - Kentik - REST</a></td>
      <td>Creates a device record in Kentik.</td>
    </tr>    <tr>
      <td><a href='https://gitlab.com/itentialopensource/pre-built-automations/kentik-rest/-/blob/release/2023.2/documentation/Device Flow Test - Kentik - REST.md' target='_blank'>Device Flow Test - Kentik - REST</a></td>
      <td>Check if a device is receiving traffic by validating the flow data.</td>
    </tr>
  </tbody>
</table>


## External Dependencies

<table>
  <thead>
    <tr>
      <th>Name</th>
      <th>OS Version</th>
      <th>API Version</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Kentik</td>
      <td></td>
      <td>v5</td>
    </tr>
  </tbody>
</table>

## Adapters

<table>
  <thead>
    <tr>
      <th>Name</th>
      <th>Version</th>
      <th>Configuration Notes</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a href="https://gitlab.com/itentialopensource/adapters/telemetry-analytics/adapter-kentik_v5">adapter-kentik_v5</a></td>
      <td>0.1.1</td>
      <td></td>
    </tr>
  </tbody>
</table>
npm package: @itentialopensource/microsoft-teams-rest
Description: Project for use cases around Microsoft Teams using REST protocol
Author: Itential Automation Platform
Latest version: 1.0.6-2023.2.1

# Microsoft - Teams - REST

## Overview

Project for use cases around Microsoft Teams using REST protocol


## Workflows


<table>
  <thead>
    <tr>
      <th>Name</th>
      <th>Overview</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a href='https://gitlab.com/itentialopensource/pre-built-automations/microsoft-teams-rest/-/blob/release/2023.2/documentation/Send Notification - Microsoft - Teams - REST.md' target='_blank'>Send Notification - Microsoft - Teams - REST</a></td>
      <td>Send notification on Microsoft teams using webhook key</td>
    </tr>
  </tbody>
</table>


## External Dependencies

<table>
  <thead>
    <tr>
      <th>Name</th>
      <th>OS Version</th>
      <th>API Version</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Microsoft Teams</td>
      <td></td>
      <td>v1.0</td>
    </tr>
  </tbody>
</table>

## Adapters

<table>
  <thead>
    <tr>
      <th>Name</th>
      <th>Version</th>
      <th>Configuration Notes</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a href="https://gitlab.com/itentialopensource/adapters/notification-messaging/adapter-msteams">adapter-msteams</a></td>
      <td>^0.6.0</td>
      <td></td>
    </tr>
  </tbody>
</table>
npm package: @itentialopensource/ned-validator
Description: [Deprecated] NED Validator
Author: Itential Artifacts
Latest version: 0.0.10-2022.1.1

<!-- This is a comment in md (Markdown) format, it will not be visible to the end user -->
## _Deprecation Notice_
This Pre-Built has been deprecated as of 05-02-2024 and will be end of life on 05-02-2025. The capabilities of this Pre-Built have been replaced by the [Cisco - NSO](https://gitlab.com/itentialopensource/pre-built-automations/cisco-nso)

<!-- Update the below line with your Pre-Built name -->
# Pre-Built Name

<!-- Leave TOC intact unless you've added or removed headers -->
## Table of Contents

* [Overview](#overview)
* [Installation Prerequisites](#installation-prerequisites)
* [Requirements](#requirements)
* [Features](#features)
* [How to Install](#how-to-install)
* [How to Run](#how-to-run)
* [Additional Information](#additional-information)

## Overview


The NED Validator accepts device configurations for various supported NEDs that are part of Cisco NSO (Network Services Orchestration). You can verify a configuration using the NED Validator before applying the configuration to your network devices.

_Estimated Run Time_: 1 minute

## Installation Prerequisites

Users must satisfy the following pre-requisites:

* Itential Automation Platform
  * `^2022.1`

## Requirements

This Pre-Built requires the following:

* @itential/adapter-nso

## Features

The main benefits and features of the Pre-Built are outlined below.

* Validates commands on selected adapters with a NED
* Displays results of commands

## How to Install

To install the Pre-Built:

* Verify you are running a supported version of the Itential Automation Platform (IAP) as listed above in the [Requirements](#requirements) section in order to install the Pre-Built. 
* The Pre-Built can be installed from within App-Admin_Essential. Simply search for the name of your desired Pre-Built and click the install button.

## How to Run

Use the following to run the Pre-Built:

Run the NED Validator workflow from the workflow canvas or with a child job task. A manual task will display a form which will allow you to select the adapter and commands

Click CONFIRM and another form will display the adapter, commands, and results.

From here you can select TRY AGAIN to be prompted with another form and try different adapters of commands. Select END to finish the job.

## Additional Information

Please use your Itential Customer Success account if you need support when using this Pre-Built.
npm package: @itentialopensource/netbox-rest
Description: Project for use cases around NetBox using REST protocol
Author: Itential
Latest version: 1.0.7-2023.2.1

# NetBox - REST

## Overview

Project with workflows for NetBox using REST protocol for managing IP Address and Prefix.


## Workflows


<table>
  <thead>
    <tr>
      <th>Name</th>
      <th>Overview</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a href='https://gitlab.com/itentialopensource/pre-built-automations/netbox-rest/-/blob/release/2023.2/documentation/Assign Next IP Address in Prefix - NetBox - REST.md' target='_blank'>Assign Next IP Address in Prefix - NetBox - REST</a></td>
      <td>Assign next IP address in prefix in NetBox</td>
    </tr>    <tr>
      <td><a href='https://gitlab.com/itentialopensource/pre-built-automations/netbox-rest/-/blob/release/2023.2/documentation/Create Prefix - NetBox - REST.md' target='_blank'>Create Prefix - NetBox - REST</a></td>
      <td>Creates prefix in NetBox</td>
    </tr>    <tr>
      <td><a href='https://gitlab.com/itentialopensource/pre-built-automations/netbox-rest/-/blob/release/2023.2/documentation/Delete IP Address - NetBox - REST.md' target='_blank'>Delete IP Address - NetBox - REST</a></td>
      <td>Delete IP address from NetBox</td>
    </tr>    <tr>
      <td><a href='https://gitlab.com/itentialopensource/pre-built-automations/netbox-rest/-/blob/release/2023.2/documentation/Delete Prefix - NetBox - REST.md' target='_blank'>Delete Prefix - NetBox - REST</a></td>
      <td>Deletes prefix from NetBox</td>
    </tr>    <tr>
      <td><a href='https://gitlab.com/itentialopensource/pre-built-automations/netbox-rest/-/blob/release/2023.2/documentation/Reserve IP Address - NetBox - REST.md' target='_blank'>Reserve IP Address - NetBox - REST</a></td>
      <td>Reserve IP address in NetBox</td>
    </tr>
  </tbody>
</table>


## External Dependencies

<table>
  <thead>
    <tr>
      <th>Name</th>
      <th>OS Version</th>
      <th>API Version</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>NetBox</td>
      <td></td>
      <td>3.6.3</td>
    </tr>
  </tbody>
</table>

## Adapters

<table>
  <thead>
    <tr>
      <th>Name</th>
      <th>Version</th>
      <th>Configuration Notes</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a href="https://gitlab.com/itentialopensource/adapters/inventory/adapter-netbox_v33">adapter-netbox_v33</a></td>
      <td>2.0.0</td>
      <td></td>
    </tr>
  </tbody>
</table>
npm package: @itentialopensource/palo-alto-panorama-rest-example
Description: This Pre-Built Automation bundle contains several example use cases that are applicable when Itential Automation Platform is integrated with Palo Alto Panorama using the REST API. Because every environment is different, these use cases are fully functioni
Author: Itential
Latest version: 1.0.2

# Palo Alto Networks - Panorama - REST - Example

## Overview

This Pre-Built Automation bundle contains several example use cases that are applicable when Itential Automation Platform is integrated with Palo Alto Panorama using the REST API. Because every environment is different, these use cases are fully functioning examples that can be easily modified to operate in your specific environment. These workflows have been written with modularity in mind to make them easy to understand and simple to modify to suit your needs.


## Example Workflows


<table>
  <thead>
    <tr>
      <th>Name</th>
      <th>Overview</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a href='https://gitlab.com/itentialopensource/pre-built-automations/palo-alto-panorama-rest-example/-/blob/master/documentation/Create Security Pre or Post Rule - Panorama - REST - Example.md' target='_blank'>Create Security Pre or Post Rule - Panorama - REST - Example</a></td>
      <td>This example use case automates the procedure of creating security pre or post rule and committing staged changes to Palo Alto Panorama</td>
    </tr>
  </tbody>
</table>


## External Dependencies

<table>
  <thead>
    <tr>
      <th>Name</th>
      <th>OS Version</th>
      <th>API Version</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Palo Alto Panorama</td>
      <td>9.1</td>
      <td></td>
    </tr>
  </tbody>
</table>

## Adapters

<table>
  <thead>
    <tr>
      <th>Name</th>
      <th>Version</th>
      <th>Configuration Notes</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a href="https://gitlab.com/itentialopensource/adapters/security/adapter-panorama">adapter-panorama</a></td>
      <td>0.14.2</td>
      <td></td>
    </tr>
  </tbody>
</table>