npm package: @itentialopensource/dns-management-infoblox
Description: An artifact for DNS management using Infoblox
Author: Itential Artifacts
Latest version: 0.0.1-2019.2.2

# DNS Management Infoblox 
An artifact for the management of DNS records in Infoblox

## Table of Contents

- [Intro](#intro)
- [Features](#features)
- [Requirements](#requirements)
- [Known Limitations](#known-limitations)
- [How to Run](#how-to-run)

## Intro
The DNS Management Infoblox artifact enables IAP users to create, modify, and delete DNS record types in the Infoblox platform.  Advantageously, any number of request types (Create, Modify, or Delete) related to any combination of DNS record types (currently available: A, PTR, CNAME, NS, and Fixed Address) may be submitted in one form and processed by one IAP workflow job, providing a streamlined DNS management experience.

<table><tr><td>
  <img src="https://gitlab.com/itentialopensource/pre-built-automations/dns-management-infoblox/raw/release/2019.2/images/DNSinfobloxparentworkflow.png" alt="DNS Management Infoblox Workflow" width="800px">
</td></tr></table>

Users may create requests to create, delete, or modify DNS records using the associated form.  The workflow job that launches when the form is submitted leverages child workflows to process requests related to the various DNS record types using an Itential adapter that connects to your Infoblox instance.  Upon completion, the workflow provides a summary, in a final manual task, of the successful requests processed by the Infoblox platform.

<table><tr><td>
  <img src="https://gitlab.com/itentialopensource/pre-built-automations/dns-management-infoblox/raw/release/2019.2/images/DNSinfobloxreport.png" alt="DNS Management Infoblox Report" width="800px">
</td></tr></table>

## Features
* Allows users to perform CRUD operations on multiple DNS record types in Infoblox at one time using a single form.
* Provides a concise report of all successful DNS management requests.

## Requirements
This artifact requires [adapter-infoblox](https://gitlab.com/itentialopensource/adapters/inventory/adapter-infoblox), which must be configured to connect to a running instance of Infoblox.

## Known Limitations
The current version of this artifact supports management of the following record types in Infoblox: A, PTR, CNAME, NS, and Fixed Address.  In addition, only the nameserver value of an NS record, but not its associated addresses, may be changed at this time.  Lastly, DNS record requests that are not successful are not included in the final manual task that summarizes the status of the DNS record requests processed by Infoblox.

## How to Run
The DNS Management Infoblox artifact may be run manually using IAP's Automation Catalog, which leverages associated workflows and JSON forms. Doing so opens a form in which the user may add data for multiple record types to be created or deleted, as well as data that may be used to modify existing records. Note that the various DNS record types are submitted in distinct sections of the same form, and more request may be added by pressing the "+" button to the right side of a record type.  The form may be submitted by clicking "Run" at the bottom left corner of the form.

<table><tr><td>
  <img src="https://gitlab.com/itentialopensource/pre-built-automations/dns-management-infoblox/raw/release/2019.2/images/DNSinfobloxform.png" alt="DNS Management Infoblox Form" width="800px">
</td></tr></table>

Furthermore, Create and Delete requests are submitted in one section of the form, while Modify requests are handled separately.

<table><tr><td>
  <img src="https://gitlab.com/itentialopensource/pre-built-automations/dns-management-infoblox/raw/release/2019.2/images/DNSinfobloxformrecord.png" alt="DNS Management Infoblox Form Create and Delete" width="800px">
  <img src="https://gitlab.com/itentialopensource/pre-built-automations/dns-management-infoblox/raw/release/2019.2/images/DNSinfobloxformmodify.png" alt="DNS Management Infoblox Form Modify" width="800px">
</td></tr></table>

A "zero-touch" mode, in which the user will not be prompted with manual tasks during the automation, may be enabled or disabled on the form.  Selection of whether this mode is enabled or disabled is mandatory.

<table><tr><td>
  <img src="https://gitlab.com/itentialopensource/pre-built-automations/dns-management-infoblox/raw/release/2019.2/images/DNSinfobloxformzerotouch.png" alt="DNS Management Infoblox Form Zero Touch" width="800px">
</td></tr></table>

Once submitted, a parent workflow employs child workflows based on the DNS record types and requests types provided by the user.  For example:

#### Create and Delete A Records
<table><tr><td>
  <img src="https://gitlab.com/itentialopensource/pre-built-automations/dns-management-infoblox/raw/release/2019.2/images/DNSinfobloxchildworkflow.png" alt="DNS Management Infoblox Child Workflow" width="800px">
</td></tr></table>

#### Modify A Records
<table><tr><td>
  <img src="https://gitlab.com/itentialopensource/pre-built-automations/dns-management-infoblox/raw/release/2019.2/images/DNSinfobloxchildworkflowmodify.png" alt="DNS Management Infoblox Child Workflow Modify" width="800px">
</td></tr></table>

Finally, the workflow provides a summary of the successful DNS record requests processed by Infoblox by way of a manual task, as shown in the [Intro](#intro) section, above, unless "zero-touch" mode is enabled.