All Projects → CiscoDevNet → terraform-provider-aci

CiscoDevNet / terraform-provider-aci

Licence: MPL-2.0 license
Terraform Cisco ACI provider

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to terraform-provider-aci

terraform-provider-sumologic
Terraform provider for Sumo Logic
Stars: ✭ 24 (-64.71%)
Mutual labels:  terraform-provider
terraform-provider-spacelift
Terraform provider to interact with Spacelift
Stars: ✭ 26 (-61.76%)
Mutual labels:  terraform-provider
terraform-provider-ddcloud
Terraform provider for Dimension Data cloud compute.
Stars: ✭ 17 (-75%)
Mutual labels:  terraform-provider
pyaci
Python Bindings for Cisco ACI REST API
Stars: ✭ 42 (-38.24%)
Mutual labels:  aci
terraform-provider-twilio
Terraform provider for Twilio. 🌎☎️ Preserved for archaeological fun. Please see the official Twilio TF provider @ https://github.com/twilio/terraform-provider-twilio.
Stars: ✭ 32 (-52.94%)
Mutual labels:  terraform-provider
terraform-provider-dnsimple
Terraform DNSimple provider
Stars: ✭ 15 (-77.94%)
Mutual labels:  terraform-provider
terraform-provider-qingcloud
Terraform QingCloud Provider
Stars: ✭ 34 (-50%)
Mutual labels:  terraform-provider
terraform-provider-proxmox
terraform provider for proxmox
Stars: ✭ 28 (-58.82%)
Mutual labels:  terraform-provider
terraform-provider-nix
terraform provider that manages nix builds and nixos machines.
Stars: ✭ 105 (+54.41%)
Mutual labels:  terraform-provider
terraform-provider-ncloud
Terraform NaverCloud provider
Stars: ✭ 25 (-63.24%)
Mutual labels:  terraform-provider
terraform-aws-kinesis-firehose
This code creates a Kinesis Firehose in AWS to send CloudWatch log data to S3.
Stars: ✭ 25 (-63.24%)
Mutual labels:  terraform-provider
terraform-provider-checkly
Terraform provider for the Checkly monitoring service
Stars: ✭ 37 (-45.59%)
Mutual labels:  terraform-provider
terraform-provider-jumpcloud
A Terraform provider for JumpCloud
Stars: ✭ 17 (-75%)
Mutual labels:  terraform-provider
terraform-provider-honeycombio
A Terraform provider for Honeycomb.io
Stars: ✭ 37 (-45.59%)
Mutual labels:  terraform-provider
terraform-provider-ansiblevault
Read ansible vault from Terraform
Stars: ✭ 70 (+2.94%)
Mutual labels:  terraform-provider
terraform-provider-kite
Terraform provider for managing long term portfolio with Zerodha Kite
Stars: ✭ 21 (-69.12%)
Mutual labels:  terraform-provider
terraform-provider-astra
A project that allows DataStax Astra users to manage their full database lifecycle for Astra Serverless databases (built on Apache Cassandra(TM)) using Terraform
Stars: ✭ 16 (-76.47%)
Mutual labels:  terraform-provider
terraform-provider-sonarqube
Terraform provider for managing Sonarqube configuration
Stars: ✭ 26 (-61.76%)
Mutual labels:  terraform-provider
terraform-provider-algolia
Terraform Provider for Algolia
Stars: ✭ 27 (-60.29%)
Mutual labels:  terraform-provider
terraform-provider-vmc
Terraform provider for VMware Cloud on AWS
Stars: ✭ 16 (-76.47%)
Mutual labels:  terraform-provider

Cisco ACI Provider

Requirements

  • Terraform

    • v0.12 and higher (ACI Provider v1.0.0 or higher)
    • v0.11.x or below (ACI Provider v0.7.1 or below)
  • Go Latest Version

Building The Provider

Clone this repository to: $GOPATH/src/github.com/CiscoDevNet/terraform-provider-cisco-aci.

$ mkdir -p $GOPATH/src/github.com/CiscoDevNet; cd $GOPATH/src/github.com/CiscoDevNet
$ git clone https://github.com/CiscoDevNet/terraform-provider-aci.git

Enter the provider directory and run dep ensure to install all the dependancies. After, that run make build to build the provider binary.

$ cd $GOPATH/src/github.com/CiscoDevNet/terraform-provider-aci
$ dep ensure
$ make build

Using The Provider


If you are building the provider, follow the instructions to install it as a plugin. After placing it into your plugins directory, run terraform init to initialize it.

ex.

terraform {
  required_providers {
    aci = {
      source = "ciscodevnet/aci"
    }
  }
}

#configure provider with your cisco aci credentials.
provider "aci" {
  # cisco-aci user name
  username = "admin"
  # cisco-aci password
  password = "password"
  # cisco-aci url
  url      = "https://my-cisco-aci.com"
  insecure = true
  proxy_url = "https://proxy_server:proxy_port"
}

resource "aci_tenant" "test-tenant" {
  name        = "test-tenant"
  description = "This tenant is created by terraform"
}

resource "aci_app_profile" "test-app" {
  tenant_dn   = aci_tenant.test-tenant.id
  name        = "test-app"
  description = "This app profile is created by terraform"
}

Note : If you are facing the issue of invalid character '<' looking for beginning of value while running terraform apply, use signature based authentication in that case, or else use -parallelism=1 with terraform plan and terraform apply to limit the concurrency to one thread.

terraform plan -parallelism=1
terraform apply -parallelism=1
  provider "aci" {
      # cisco-aci user name
      username = "admin"
      # private key path
      private_key = "path to private key"
      # Certificate Name
      cert_name = "user-cert"
      # cisco-aci url
      url      = "https://my-cisco-aci.com"
      insecure = true
  }

Note: The value of "cert_name" argument must match the name of the certificate object attached to the APIC user (aaaUserCert) used for signature-based authentication

Developing The Provider

If you want to work on the provider, you'll first need Go installed on your machine.

To compile the provider, run make build. This will build the provider with sanity checks present in scripts directory and put the provider binary in $GOPATH/bin directory.

Important: To successfully use the provider you need to follow these steps:

  • Copy or Symlink the provider from the $GOPATH/bin to ~/.terraform.d/plugins/terraform.local/CiscoDevNet/aci/<Version>/<architecture>/ for example:

    ln -s ~/go/bin/terraform-provider-aci ~/.terraform.d/plugins/terraform.local/CiscoDevNet/aci/2.3.0/linux_amd64/terraform-provider-aci
  • Edit the Terraform Provider Configuration to use the local provider.

    terraform {
      required_providers {
        aci = {
          source = "terraform.local/CiscoDevNet/aci"
          version = "2.3.0"
        }
      }
    }

NOTE: Currently only resource properties supports the reflecting manual changes made in CISCO ACI. Manual changes to relationship is not taken care by the provider.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].