terraform-provider-merge

command module
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 5, 2021 License: MPL-2.0 Imports: 3 Imported by: 0

README

Merge Terraform provider

Deep merge your JSON and YAML objects. Builds on cloudposse/utils, allowing mixing of JSON and YAML inputs.


Usage

Initialise the provider:

terraform {
  required_providers {
    merge = {
      source = "LukeCarrier/merge"
    }
  }
}

provider "merge" {}

Then use the data source:

data "merge_merge" "json_multi" {
  input {
    format = "json"
    data = jsonencode({
      "hello" = "world"
    })
  }

  input {
    format = "json"
    data = jsonencode({
      "hello" = "galaxy"
    })
  }

  output_format = "json"
}

output "json_multi" {
  value = data.merge_merge.json_multi.output
}

Hacking

Get the dependencies:

go mod download
go build

Run the unit tests:

go test ./...

To test a Terraform state, you'll need to create a .terraformrc and set TF_CLI_CONFIG_FILE to its path. See /integration/fixtures/example.terraformrc for an example.

Signing

Generate a new key (use Keybase, GnuPG's CLI is a dumpster fire), then import it into a temporary local keyring:

export GNUPGHOME="$(mktemp -d)"
keybase pgp export -q email@addr -s \
    | gpg --import --allow-secret-key-import --pinentry-mode=loopback

Export the private key, and paste the result into a new GitHub secret named GPG_PRIVATE_KEY:

gpg --armor --export-secret-key email@addr

Add the passphrase to a secret named PASSPHRASE.

Finally, export the public key and paste the result into the Terraform registry:

gpg --armor --export email@addr

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL