All Projects → IBM-Cloud → Terraform Provider Ibm

IBM-Cloud / Terraform Provider Ibm

Licence: mpl-2.0
Terraform on IBM provider https://cloud.ibm.com/docs/ibm-cloud-provider-for-terraform?topic=ibm-cloud-provider-for-terraform-getting-started

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Terraform Provider Ibm

Terraform Provider Hcloud
Terraform provider for Hetzner Cloud
Stars: ✭ 138 (-34.29%)
Mutual labels:  terraform, terraform-provider
Terraform Provider Lxd
LXD Resource provider for Terraform
Stars: ✭ 164 (-21.9%)
Mutual labels:  terraform, terraform-provider
Terraform Provider Docker
As part of our introduction to self-service publishing in the Terraform Registry, this copy of the provider has been archived, and ownership has been transferred to active maintainers in the community. Please see the new location on the Terraform Registry: https://registry.terraform.io/providers/kreuzwerker/docker/latest
Stars: ✭ 131 (-37.62%)
Mutual labels:  terraform, terraform-provider
Terraform Provider Mongodbatlas
Terraform provider for MongoDB Atlas
Stars: ✭ 126 (-40%)
Mutual labels:  terraform, terraform-provider
Terraform Provider Kubectl
Terraform provider to handle raw kubernetes manifest yaml files
Stars: ✭ 174 (-17.14%)
Mutual labels:  terraform, terraform-provider
Terraform Provider Rancher2
Terraform Rancher2 provider
Stars: ✭ 129 (-38.57%)
Mutual labels:  terraform, terraform-provider
Terraform Provider Stripe
A Terraform Provider for Stripe
Stars: ✭ 143 (-31.9%)
Mutual labels:  terraform, terraform-provider
Terraform Provider Databricks
Databricks Terraform Provider
Stars: ✭ 119 (-43.33%)
Mutual labels:  terraform, terraform-provider
Terraform Plugin Sdk
Terraform Plugin SDK enables building plugins (providers) to manage any service providers or custom in-house solutions
Stars: ✭ 201 (-4.29%)
Mutual labels:  terraform, terraform-provider
Terraform Provider Vultr
Terraform Vultr Provider
Stars: ✭ 172 (-18.1%)
Mutual labels:  terraform, terraform-provider
Terraform Provider Google Beta
Terraform Google Cloud Platform Beta provider
Stars: ✭ 123 (-41.43%)
Mutual labels:  terraform, terraform-provider
Terraform Provider Sentry
Terraform provider for Sentry
Stars: ✭ 183 (-12.86%)
Mutual labels:  terraform, terraform-provider
Terraform Provider Grafana
Terraform Grafana provider
Stars: ✭ 118 (-43.81%)
Mutual labels:  terraform, terraform-provider
Terraform Provider Azurerm
Terraform provider for Azure Resource Manager
Stars: ✭ 3,007 (+1331.9%)
Mutual labels:  terraform, terraform-provider
Terraform Provider Template
Terraform template provider
Stars: ✭ 119 (-43.33%)
Mutual labels:  terraform, terraform-provider
Terraform Provider Scaffolding
Quick start repository for creating a Terraform provider
Stars: ✭ 129 (-38.57%)
Mutual labels:  terraform, terraform-provider
Terraform Provider Okta
🎉 Now an official Terraform provider! 🚚 We've moved to https://github.com/terraform-providers/terraform-provider-okta/
Stars: ✭ 111 (-47.14%)
Mutual labels:  terraform, terraform-provider
Terraform Provider Zerotier
Create, modify and destroy ZeroTier networks and members through Terraform.
Stars: ✭ 113 (-46.19%)
Mutual labels:  terraform, terraform-provider
Terraform Provider Shell
Terraform provider for executing shell commands and saving output to state file
Stars: ✭ 172 (-18.1%)
Mutual labels:  terraform, terraform-provider
Terraform Provider Azuread
Terraform provider for Azure Active Directory
Stars: ✭ 178 (-15.24%)
Mutual labels:  terraform, terraform-provider

Terraform Provider

Requirements

  • Terraform 0.10.1+
  • Go 1.15 (to build the provider plugin)

Building The Provider

Clone repository to: $GOPATH/src/github.com/IBM-Cloud/terraform-provider-ibm

mkdir -p $GOPATH/src/github.com/IBM-Cloud; cd $GOPATH/src/github.com/IBM-Cloud
git clone [email protected]:IBM-Cloud/terraform-provider-ibm.git

Enter the provider directory and build the provider

cd $GOPATH/src/github.com/IBM-Cloud/terraform-provider-ibm
make build

Docker Image For The Provider

You can also pull the docker image for the ibmcloud terraform provider :

docker pull ibmterraform/terraform-provider-ibm-docker

Using the provider

If you want to run Terraform with the IBM Cloud provider plugin on your system, complete the following steps:

  1. Download and install Terraform for your system.

  2. Download the IBM Cloud provider plugin for Terraform.

  3. Unzip the release archive to extract the plugin binary (terraform-provider-ibm_vX.Y.Z).

  4. Move the binary into the Terraform plugins directory for the platform.

    • Linux/Unix/OS X: ~/.terraform.d/plugins
    • Windows: %APPDATA%\terraform.d\plugins
  5. Export API credential tokens as environment variables. This can either be IBM Cloud API keys or Softlayer API keys and usernames, depending on the resources you are provisioning.

export IC_API_KEY="IBM Cloud API Key"
export IAAS_CLASSIC_API_KEY="IBM Cloud Classic Infrastructure API Key"
export IAAS_CLASSIC_USERNAME="IBM Cloud Classic Infrastructure username associated with Classic Infrastructure API KEY".
  1. Add the plug-in provider to the Terraform configuration file.
provider "ibm" {}

See the official documentation for more details on using the IBM provider.

Developing the Provider

If you wish to work on the provider, you'll first need Go installed on your machine (version 1.8+ is required). You'll also need to correctly setup a GOPATH, as well as adding $GOPATH/bin to your $PATH.

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

make build
...
$GOPATH/bin/terraform-provider-ibm
...

In order to test the provider, you can simply run make test.

make test

In order to run the full suite of Acceptance tests, run make testacc.

Note: Acceptance tests create real resources, and often cost money to run.

make testacc

In order to run a particular Acceptance test, export the variable TESTARGS. For example

export TESTARGS="-run TestAccIBMNetworkVlan_Basic"

Issuing make testacc will now run the testcase with names matching TestAccIBMNetworkVlan_Basic. This particular testcase is present in ibm/resource_ibm_network_vlan_test.go

You will also need to export the following environment variables for running the Acceptance tests.

  • IC_API_KEY- The IBM Cloud API Key
  • IAAS_CLASSIC_API_KEY - The IBM Cloud Classic Infrastructure API Key
  • IAAS_CLASSIC_USERNAME - The IBM Cloud Classic Infrastructure username associated with the Classic InfrastAPI Key.

Additional environment variables may be required depending on the tests being run. Check console log for warning messages about required variables.

IBM Cloud Ansible Modules

An implementation of generated Ansible modules using the IBM Cloud Terraform Provider.

Prerequisites

  1. Install Python3

  2. RedHat Ansible 2.8+

    pip install "ansible>=2.8.0"
    

Install

  1. Download IBM Cloud Ansible modules from release page

  2. Extract module archive.

    unzip ibmcloud_ansible_modules.zip
    
  3. Add modules and module_utils to the Ansible search path. E.g.:

    cp build/modules/* $HOME/.ansible/plugins/modules/.
    cp build/module_utils/* $HOME/.ansible/plugins/module_utils/.
    
    

Example Projects

  1. VPC Virtual Server Instance

  2. Power Virtual Server Instance

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].