Giter VIP home page Giter VIP logo

nac-import's Introduction

Overview

This tool automates importing existing ACI objects into a local terraform state file.

Traditionally terraform import would need to be run for each MO, which can be a time consuming and error-prone process. This tool reads imports from the terraform plan output and attempts to speed up imports by running terraform import requests in parallel.

Note that this is not strictly required, but can provide additional assurance that a large terraform plan will not result in production impact in a brownfield ACI deployment.

Quick Start

Run this tool from within the Terraform root folder. The CLI options are for exceptional cases and typically won't be required.

Usage: nac-import [--verbose] [--no-cleanup] [--install]

Options:
  --verbose, -v          Print debug output to CLI
  --no-cleanup           Keep temporary files for RCA
  --install              Install terraform if not found locally
  --help, -h             display this help and exit
  --version              display version and exit

Caveats

Very large imports may take a while due to APIC request throttling limits. Testing has show approximately 300 object imported in 5-7 minutes. This may vary depending on RTT to the APIC, APIC response time, etc.

Not all object types are supported. Specifically, VPC protection groups and OOB addresses may not import. This is due to the DNs for these objects being unknown prior to creation. These objects can safely be created over existing configuration after reviewing the terraform plan output.

This tool has not been tested with a non-local state file, e.g. Terraform cloud, GitHub action runners, etc. It very likely won't work in these cases; however, it will still create a local state file, which can possibly be meged using terraform state commands, or minimally used as additional assurance.

nac-import's People

Contributors

brightpuddle avatar danischm avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.