All Projects → jeremmfr → terraform-provider-junos

jeremmfr / terraform-provider-junos

Licence: MIT license
Terraform's provider for Junos devices

Programming Languages

go
31211 projects - #10 most used programming language

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

terraform-provider-vagrant
A Vagrant provider for terraform.
Stars: ✭ 43 (-2.27%)
Mutual labels:  terraform-provider
terraform-provider-pingfederate
Ping Federate Terraform Provider
Stars: ✭ 13 (-70.45%)
Mutual labels:  terraform-provider
terraform-provider-filesystem
A @hashicorp Terraform provider for interacting with the filesystem
Stars: ✭ 61 (+38.64%)
Mutual labels:  terraform-provider
terraform-provider-icinga2
Terraform Icinga2 provider
Stars: ✭ 13 (-70.45%)
Mutual labels:  terraform-provider
junos-verifications-automation-with-jsnapy
How to automate operational state verifications and configuration verifications on Junos devices using JSNAPy
Stars: ✭ 13 (-70.45%)
Mutual labels:  junos-automation
terraform-provider-teamcity
Terraform Provider for Jetbrains TeamCity CI server
Stars: ✭ 70 (+59.09%)
Mutual labels:  terraform-provider
Network-Automation
Cisco ACI, Firepower, Meraki, NETCONF, and SQL Python Programs
Stars: ✭ 47 (+6.82%)
Mutual labels:  netconf
terraform-provider-dns
Supports DNS updates (RFC 2136) and can optionally be configured with secret key based transaction authentication (RFC 2845).
Stars: ✭ 75 (+70.45%)
Mutual labels:  terraform-provider
terraform-provider-local
Terraform local provider – Used to manage local resources, such as creating files.
Stars: ✭ 137 (+211.36%)
Mutual labels:  terraform-provider
netconf-examples
NETCONF examples for learning labs
Stars: ✭ 59 (+34.09%)
Mutual labels:  netconf
terraform-provider-nomad
Terraform Nomad provider
Stars: ✭ 91 (+106.82%)
Mutual labels:  terraform-provider
terraform-provider-cyral
Cyral Terraform Provider
Stars: ✭ 12 (-72.73%)
Mutual labels:  terraform-provider
terraform-provider-infoblox
Infoblox plugin for Terraform
Stars: ✭ 40 (-9.09%)
Mutual labels:  terraform-provider
terraform-provider-mssql
Terraform provider for Microsoft SQL Server
Stars: ✭ 18 (-59.09%)
Mutual labels:  terraform-provider
terraform-provider-testing
An experimental Terraform provider to assist in writing tests for Terraform modules
Stars: ✭ 59 (+34.09%)
Mutual labels:  terraform-provider
terraform-provider-sumologic
This project is done. It has been integrated into https://github.com/SumoLogic/sumologic-terraform-provider
Stars: ✭ 13 (-70.45%)
Mutual labels:  terraform-provider
terraform-provider-minio
Terraform provider for managing minio S3 buckets and IAM Users
Stars: ✭ 123 (+179.55%)
Mutual labels:  terraform-provider
terraform-provider-dockermachine
Docker machine provider for Terraform
Stars: ✭ 20 (-54.55%)
Mutual labels:  terraform-provider
mlxsh
mlxsh is the missing, fast power command-line and shell that enables you to enter configuration changes or run commands simultaneously to groups of Brocade or Extreme Networks Netiron devices (MLX, CER, MLXE, XMR, ICX, Ironware), SLX-Devices or Juniper switches via Secure Shell (ssh).
Stars: ✭ 22 (-50%)
Mutual labels:  junos-automation
terraform-provider-hsdp
Terraform provider to orchestrate various HSDP resources like IAM, CDL, CDR, MDM, Container Host, Edge, etc
Stars: ✭ 26 (-40.91%)
Mutual labels:  terraform-provider
Junos logo Terraform logo

terraform-provider-junos

Release Installs Registry License
Go Status Linters Status Go Report Card
Buy Me A Coffee


This is an unofficial Terraform provider for Junos devices with netconf protocol

See Terraform registry for provider and resources documentation.

Requirements

In addition to develop

Automatic install (Terraform 0.13 and later)

Add source information inside the Terraform configuration block for automatic provider installation:

terraform {
  required_providers {
    junos = {
      source = "jeremmfr/junos"
    }
  }
}

Manual install

Download latest version in releases

Terraform 0.13 and later

Extract provider binary in local mirror directory with a fake registry (registry.local):

for archive in $(ls terraform-provider-junos*.zip) ; do
  OS_ARCH=$(echo $archive | cut -d'_' -f3-4 | cut -d'.' -f1)
  VERSION=$(echo $archive | cut -d'_' -f2)
  tfPath="${HOME}/.terraform.d/plugins/registry.local/jeremmfr/junos/${VERSION}/${OS_ARCH}/"
  mkdir -p ${tfPath}
  unzip ${archive} -d ${tfPath}
done

and add inside the terraform configuration block:

terraform {
  required_providers {
    junos = {
      source = "registry.local/jeremmfr/junos"
    }
  }
}

Terraform 0.12 and earlier

Extract provider binary beside terraform binary:

tfPath=$(which terraform | rev | cut -d'/' -f2- | rev)
unzip terraform-provider-junos*.zip -d ${tfPath}

Missing Junos parameters

Some Junos parameters are not included in provider for various reasons (time, utility, understanding, ...) but you can create a issue to request the potential addition of missing features.

Contributing

To contribute, please read the contribution guideline

Compile a binary from source to use with Terraform

Build to override automatic install version (Terraform 0.14 and later)

Since Terraform 0.14, development overrides for provider developers allow to use the provider built from source.
Use a Terraform cli configuration file (~/.terraformrc by default) with at least the following options:

provider_installation {
  dev_overrides {
    "jeremmfr/junos" = "[replace with the GOPATH]/bin"
  }
  direct {}
}

and build then install in $GOPATH/bin:

git clone https://github.com/jeremmfr/terraform-provider-junos.git
cd terraform-provider-junos
go install

Build to use with a fake registry (Terraform 0.13 and later)

git clone https://github.com/jeremmfr/terraform-provider-junos.git
cd terraform-provider-junos && git fetch --tags
latestTag=$(git describe --tags `git rev-list --tags --max-count=1`)
git checkout ${latestTag}
tfPath="${HOME}/.terraform.d/plugins/registry.local/jeremmfr/junos/${latestTag:1}/$(go env GOOS)_$(go env GOARCH)/"
mkdir -p ${tfPath}
go build -o ${tfPath}/terraform-provider-junos_${latestTag}
unset latestTag tfPath

and add inside the terraform configuration block:

terraform {
  required_providers {
    junos = {
      source = "registry.local/jeremmfr/junos"
    }
  }
}

Build with output beside terraform binary (Terraform 0.12 and earlier)

git clone https://github.com/jeremmfr/terraform-provider-junos.git
cd terraform-provider-junos && git fetch --tags
latestTag=$(git describe --tags `git rev-list --tags --max-count=1`)
git checkout ${latestTag}
tfPath=$(which terraform | rev | cut -d'/' -f2- | rev)
go build -o ${tfPath}/terraform-provider-junos_${latestTag}
unset latestTag tfPath
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].