vmakhaev / pulumi-vultr

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Terraform Bridge Provider Boilerplate

This repository contains boilerplate code for building a new Pulumi provider which wraps an existing Terraform provider, if the existing provider uses Go Modules.

Modify this README to describe:

  • The type of resources the provider manages
  • Add a build status image from Travis at the top of the README
  • Update package names in the information below
  • Add any important documentation of concepts (e.g. the "serverless" components in the AWS provider).

Creating a Pulumi Terraform Bridge Provider

First, clone this repo with the name of the desired provider in place of vultr:

git clone https://github.com/pulumi/pulumi-tf-provider-boilerplate pulumi-vultr

Second, replace references to vultr with the name of your provider:

make prepare NAME=foo REPOSITORY=github.com/pulumi/pulumi-foo

Next, list the configuration points for the provider in the area of the README.

Note: If the name of the desired Pulumi provider differs from the name of the Terraform provider, you will need to carefully distinguish between the references - see https://github.com/pulumi/pulumi-azure for an example.

Add dependencies

In order to properly build the sdks, the following tools are expected:

In the root of the repository, run:

  • GO111MODULE=on go get github.com/pulumi/pulumi-terraform@master
  • (cd provider && go get github.com/terraform-providers/terraform-provider-foo) (where foo is the name of the provider - note the parenthesis to run this in a subshell)
  • (cd provider && go mod vendor)
  • make ensure

Build the provider:

  • Edit provider/resources.go to map each resource, and specify provider information
  • Enumerate any examples in examples/examples_test.go
  • make

Installing

This package is available in many languages in the standard packaging formats.

Node.js (Java/TypeScript)

To use from JavaScript or TypeScript in Node.js, install using either npm:

$ npm install @pulumi/xyx

or yarn:

$ yarn add @pulumi/xyx

Python

To use from Python, install using pip:

$ pip install pulumi_xyx

Go

To use from Go, use go get to grab the latest version of the library

$ go get github.com/pulumi/pulumi-vultr/sdk/go/...

Configuration

The following configuration points are available for the vultr provider:

  • vultr:apiKey (environment: vultr_API_KEY) - the API key for vultr
  • vultr:region (environment: vultr_REGION) - the region in which to deploy resources

Reference

For detailed reference documentation, please visit the API docs.

About

License:Apache License 2.0


Languages

Language:TypeScript 72.4%Language:Makefile 13.1%Language:Go 10.1%Language:Shell 4.3%