Skip to content

jaymcgrath/terraform-provider-newrelic

 
 

Repository files navigation

New Relic Terraform Provider

Requirements

New Relic and the Terraform team will support Terraform versions up to 2 years after the latest release. We advice to always upgrade to the latest version of Terraform and the New Relic Terraform provider.

Using the provider

To use the latest version of the provider in your Terraform environment, run terraform init and Terraform will automatically install the provider.

If you wish to pin your environment to a specific release of the provider, you can do so with a required_providers statement in your Terraform manifest. The terraform configuration block varies slightly depending on which Terraform version you're using. See below for more examples of configuring the provider version for the different versions of Terraform.

For Terraform version 1.x and above

terraform {
  required_version = "~> 1.0"
  required_providers {
    newrelic = {
      source  = "newrelic/newrelic"
    }
  }
}

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

For more information on using the provider and the associated resources, please see the provider documentation page.

Developing the Provider

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

Please see our CONTRIBUTING guide for more detail on the APIs in use by this provider.

Building

Clone repository to: $GOPATH/src/github.com/newrelic/terraform-provider-newrelic

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

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

$ cd $GOPATH/src/github.com/newrelic/terraform-provider-newrelic
$ make build

Testing

In order to test the provider, run make test. This will run the full test suite.

$ make test

In order to run the unit test suite only, run make test-unit.

$ make test-unit

In order to run the acceptance test suite only, run make test-integration.

$ make test-integration

Note: Acceptance tests create real resources. The following environment variables must bet set for acceptance tests to run:

NEW_RELIC_API_KEY
NEW_RELIC_ACCOUNT_ID
NEW_RELIC_INSIGHTS_INSERT_KEY
NEW_RELIC_LICENSE_KEY
NEW_RELIC_REGION

In order to run a single test, run the following command and replace {testName} with function name of your test.

TF_ACC=1 NR_ACC_TESTING=1 gotestsum -f testname -- -v --tags=integration -timeout 10m ./newrelic --run {testName}

Go Version Support

We'll aim to support the latest supported release of Go, along with the previous release. This doesn't mean that building with an older version of Go will not work, but we don't intend to support a Go version in this project that is not supported by the larger Go community. Please see the Go releases page for more details.

Packages

No packages published

Languages

  • Go 96.3%
  • Makefile 2.6%
  • Other 1.1%