terraform/vendor/github.com/hashicorp/go-tfe
Sander van Harmelen 4b9f17d967 govendor: update `go-tfe` 2018-09-20 21:54:54 +02:00
..
LICENSE govendor: add dependencies for the remote backend 2018-08-03 11:29:11 +02:00
README.md govendor: add dependencies for the remote backend 2018-08-03 11:29:11 +02:00
apply.go govendor: update `go-tfe` 2018-09-20 21:54:54 +02:00
configuration_version.go govendor: update `go-tfe` 2018-09-08 10:23:55 +02:00
logreader.go govendor: update `go-tfe` 2018-09-20 21:54:54 +02:00
oauth_client.go govendor: update `go-tfe` 2018-09-20 21:54:54 +02:00
oauth_token.go govendor: update `go-tfe` 2018-09-20 21:54:54 +02:00
organization.go govendor: update `go-tfe` 2018-09-08 10:23:55 +02:00
organization_token.go govendor: update `go-tfe` 2018-09-08 10:23:55 +02:00
plan.go govendor: update `go-tfe` 2018-09-20 21:54:54 +02:00
policy.go govendor: update `go-tfe` 2018-09-08 10:23:55 +02:00
policy_check.go govendor: update `go-tfe` 2018-09-20 21:54:54 +02:00
run.go govendor: update `go-tfe` 2018-09-20 21:54:54 +02:00
ssh_key.go govendor: update `go-tfe` 2018-09-08 10:23:55 +02:00
state_version.go govendor: update `go-tfe` 2018-09-08 10:23:55 +02:00
team.go govendor: update `go-tfe` 2018-09-08 10:23:55 +02:00
team_access.go govendor: update `go-tfe` 2018-09-08 10:23:55 +02:00
team_member.go govendor: update `go-tfe` 2018-09-08 10:23:55 +02:00
team_token.go govendor: update `go-tfe` 2018-09-08 10:23:55 +02:00
tfe.go govendor: update `go-tfe` 2018-09-20 21:54:54 +02:00
type_helpers.go govendor: update `go-tfe` 2018-09-08 10:23:55 +02:00
user.go govendor: add dependencies for the remote backend 2018-08-03 11:29:11 +02:00
validations.go govendor: add dependencies for the remote backend 2018-08-03 11:29:11 +02:00
variable.go govendor: update `go-tfe` 2018-09-20 21:54:54 +02:00
workspace.go govendor: update `go-tfe` 2018-09-08 10:23:55 +02:00

README.md

Terraform Enterprise Go Client

Build Status GitHub license GoDoc Go Report Card GitHub issues

This is an API client for Terraform Enterprise.

NOTE

The Terraform Enterprise API endpoints are in beta and are subject to change! So that means this API client is also in beta and is also subject to change. We will indicate any breaking changes by releasing new versions. Until the release of v1.0, any minor version changes will indicate possible breaking changes. Patch version changes will be used for both bugfixes and non-breaking changes.

Coverage

Currently the following endpoints are supported:

Installation

Installation can be done with a normal go get:

go get -u github.com/hashicorp/go-tfe

Documentation

For complete usage of the API client, see the full package docs.

Usage

import tfe "github.com/hashicorp/go-tfe"

Construct a new TFE client, then use the various endpoints on the client to access different parts of the Terraform Enterprise API. For example, to list all organizations:

config := &tfe.Config{
	Token: "insert-your-token-here",
}

client, err := tfe.NewClient(config)
if err != nil {
	log.Fatal(err)
}

orgs, err := client.Organizations.List(context.Background(), OrganizationListOptions{})
if err != nil {
	log.Fatal(err)
}

Examples

The examples directory contains a couple of examples. One of which is listed here as well:

package main

import (
	"log"

	tfe "github.com/hashicorp/go-tfe"
)

func main() {
	config := &tfe.Config{
		Token: "insert-your-token-here",
	}

	client, err := tfe.NewClient(config)
	if err != nil {
		log.Fatal(err)
	}

	// Create a context
	ctx := context.Background()

	// Create a new organization
	options := tfe.OrganizationCreateOptions{
		Name:  tfe.String("example"),
		Email: tfe.String("info@example.com"),
	}

	org, err := client.Organizations.Create(ctx, options)
	if err != nil {
		log.Fatal(err)
	}

	// Delete an organization
	err = client.Organizations.Delete(ctx, org.Name)
	if err != nil {
		log.Fatal(err)
	}
}

Issues and Contributing

If you find an issue with this package, please report an issue. If you'd like, we welcome any contributions. Fork this repository and submit a pull request.