profile
viewpoint

Comcast/Surf-N-Perf 86

Micro-library for gathering web page performance data

caseycesari/map-gather 17

Scrape a ArcGIS Rest API feature layer

abemassry/mockstrap 11

Inspired by: XKCD-style plots in d3, bootswatch, flatstrap, and balsamiq

pselle/codachrome 7

🎶 Web Audio Web Midi Machine Learning 🎶

pselle/choosing-javascript-framework 5

Sample applications from Choosing a JavaScript Framework

danieldreier/terraform-issue-reproductions 2

Reproduction cases for terraform issues

pselle/connectboards 2

Digital communication boards.

amacdougall/octo-port 1

Export Github Issues to Excel-compatible format

startedstrickyak/basicly-go-forth-film

started time in 2 days

issue commentlvm/build-supercollider

Package qtwebengine5-dev not available for Ubuntu <18.04

Future reader, if you got to this because you figured out that you were unable to locate packages and the installing dependencies step failed, and you followed the SuperCollider instructions on getting Qt on your machine ... to use the handy script in this repo, update this line:

-DCMAKE_PREFIX_PATH= \

to your Qt path (for example:) -DCMAKE_PREFIX_PATH=/opt/qt511 \

This assumes you edited so that you installed all the other prereqs (deleting the qtwebengine5-dev bit from the install section)

colinmorris

comment created time in 2 days

issue commentlvm/build-supercollider

Package qtwebengine5-dev not available for Ubuntu <18.04

@colinmorris Did you figure out a workaround for this? I'm running Linux Mint 18.2 and ran into the path you described (redherring, trying to figure out how to deal with qtwebengine5, including I used this intense Qt installer but nada, the script still doesn't work and I'd like to get SuperCollider on this machine :disappointed: )

colinmorris

comment created time in 2 days

delete branch pselle/terraform

delete branch : pselle/sensitive-values

delete time in 5 days

create barnchhashicorp/terraform

branch : pselle/sensitive-values

created branch time in 5 days

push eventpselle/livecode

pselle

commit sha bfbb2941fabb7c0e6d7f0a39f1062dd39e8c428c

Some files from the cyberpunk festival

view details

push time in 6 days

PR closed hashicorp/terraform

Update github.com/gorilla/websocket to v1.4.1 backend/etcdv2

v1.4.1 addresses GHSA-jf24-p9p9-4rjh

+4 -6

4 comments

3 changed files

davewongillies

pr closed time in 6 days

pull request commenthashicorp/terraform

Update github.com/gorilla/websocket to v1.4.1

@davewongillies Yes, I imagine that's annoying for it to continue to come up! Eventually, backends will be shipped separately from Terraform core, and it won't be as much of an issue (unless you're using etcdv2 of course). I'll go ahead and close this then.

davewongillies

comment created time in 6 days

create barnchpselle/terraform

branch : pselle/sensitive-values

created branch time in 7 days

pull request commenthashicorp/terraform

Update github.com/gorilla/websocket to v1.4.1

@davewongillies Thank you for opening this PR! However, reading this vulnerability, we do not believe it applies to the way this library is used in the code that is using it (a legacy etcd 2.x backend).

If you have a scenario where Terraform would be interacting with the impacted code, we're very interested to hear it! It is also how we would be able to validate that any such vulnerability were fixed by the dependency upgrade.

davewongillies

comment created time in 14 days

push eventpselle/livecode

pselle

commit sha 5af091f40bb552b88fef5c9ebe90045eb4f8ccb6

Website updates

view details

push time in 19 days

push eventpselle/livecode

pselle

commit sha 2135ec17948432c168fa00556a0a9017f586c230

add sauce

view details

pselle

commit sha 57fda9d2fe8b0f26093484c0ebf400d5762ca7c8

Remove wip'

view details

push time in 22 days

push eventpselle/livecode

pselle

commit sha 8597e81d922e1f71858bde804156117a8ab1ec40

Add WIP

view details

push time in 24 days

push eventpselle/livecode

pselle

commit sha 606588059239664c13d43b26a94667de3f81139a

Remove WIP spacebloop

view details

push time in a month

push eventpselle/livecode

pselle

commit sha bf7733dace4d783f25d18bcc8b0589353ddf60a7

Add spacebloop

view details

push time in a month

push eventpselle/livecode

pselle

commit sha 8e0c207bbb89ae8b600974b52f49b1f49163a937

Oops

view details

push time in a month

pull request commenthashicorp/terraform

state: remove deprecated state package

@mildwonkey Looks like there might still be some dependencies in tests? https://app.circleci.com/pipelines/github/hashicorp/terraform/1380/workflows/cf2f7109-286e-4447-becd-452ae00e0b19/jobs/8818

mildwonkey

comment created time in a month

push eventpselle/livecode

pselle

commit sha 75e1780f52e29241cd2ec902ced59076b718bdf9

Add ideas

view details

pselle

commit sha e8d8357bda3f1ef464d84916cdf6c8c92775f73f

WIP

view details

pselle

commit sha 9038556de345b72d2a1fa3b113736d2886aa856e

Add adventure

view details

push time in a month

PR closed hashicorp/terraform

🎄Remove unused sdkv1

This uses staticcheck to prune unused non-public identifiers.

+4 -3633

1 comment

98 changed files

appilon

pr closed time in a month

pull request commenthashicorp/terraform

🎄Remove unused

Thanks so much for this Alex! I continue to use this PR to reference the dead code you found, but we'll be removing it package-by-package or in coherent bits, so I'll close this PR to reflect that we won't me merging it. Thank you!

appilon

comment created time in a month

CommitCommentEvent

Pull request review commenthashicorp/terraform

[DRAFT] backend state locking

+package local

Sweet! New test file!

mildwonkey

comment created time in a month

Pull request review commenthashicorp/terraform

state: remove calls to deprecated state package

 import ( )  // StateHook is a hook that continuously updates the state by calling-// WriteState on a state.State.+// WriteState on a statemgr.Full.

Yay for correcting comments!

mildwonkey

comment created time in a month

issue commenthashicorp/terraform

Data source depends_on fails in refresh if file modified outside of Terraform

@jbardin I should have included this in the original issue, but this works in 0.12 and is broken in 0.13, so I consider it a bug.

pselle

comment created time in a month

issue openedhashicorp/terraform

Data source depends_on fails in refresh if files modified outside of Terraform

Terraform Version

<!--- Run terraform version to show the version, and paste the result between the ``` marks below.

If you are not running the latest version of Terraform, please try upgrading because your issue may have already been fixed. -->

Terraform v0.13.0-dev

Terraform Configuration Files

<!-- Paste the relevant parts of your Terraform configuration between the ``` marks below.

For large Terraform configs, please use a service like Dropbox and share a link to the ZIP file. For security, you can also encrypt the files using our GPG public key. -->

resource "local_file" "apple" {
    content     = "apple"
    filename = "${path.root}/apple.txt"
}

data "local_file" "apple_d" {
    filename = "${path.root}/apple.txt"
    depends_on = [local_file.apple]
}

output "fruit" {
  value = [
    data.local_file.apple_d.content,
  ]
}

Debug Output

<!-- Full debug output can be obtained by running Terraform with the environment variable TF_LOG=trace. Please create a GitHub Gist containing the debug output. Please do not paste the debug output in the issue, since debug output is long.

Debug output may contain sensitive information. Please review it before posting publicly, and if you are concerned feel free to encrypt the files using the HashiCorp security public key. -->

Crash Output

<!-- If the console output indicates that Terraform crashed, please share a link to a GitHub Gist containing the output of the crash.log file. -->

Expected Behavior

<!-- What should have happened? --> Terraform should create the missing file

Actual Behavior

<!-- What actually happened? -->

Terraform errors in the refresh phase

local_file.apple: Refreshing state... [id=d0be2dc421be4fcd0172e5afceea3970e2f3d940]
data.local_file.apple_d: Refreshing state... [id=d0be2dc421be4fcd0172e5afceea3970e2f3d940]

Error: open ./apple.txt: no such file or directory

  on main.tf line 6, in data "local_file" "apple_d":
   6: data "local_file" "apple_d" {

Steps to Reproduce

  1. terraform init
  2. terraform apply
  3. rm apple.txt
  4. terraform apply

Additional Context

<!-- Are there anything atypical about your situation that we should know? For example: is Terraform running in a wrapper script or in a CI system? Are you passing any unusual command line options or environment variables to opt-in to non-default behavior? -->

References

<!-- Are there any other GitHub issues (open or closed) or Pull Requests that should be linked here? For example:

  • #6017

-->

created time in a month

push eventhashicorp/terraform

Pam Selle

commit sha 2009fccf530f6535e05c029d376a59b10078e92b

Update README.md fix typo

view details

push time in a month

push eventpselle/tf-0.13-demos

Pam Selle

commit sha f03c7abd2a40b393b160dff160335927ba58a81c

Update README.md

view details

push time in a month

push eventhashicorp/terraform

Pam Selle

commit sha 26b2db84e5d1b33134193bce333cdd667ff4cb56

Update Dockerfile-release

view details

push time in a month

push eventhashicorp/terraform

Pam Selle

commit sha 6234c75e2a5786b644fa3da6f68c85a1ee10bc59

Update Dockerfile-release

view details

push time in a month

push eventhashicorp/terraform

Pam Selle

commit sha 02aa91fc747fcc4261a061b5296541693f2d2e75

Update alpine version for 0.12 releases

view details

push time in a month

push eventhashicorp/terraform

Hadrien Patte

commit sha 4dea1bb5a032037e16b6fbb8267e8bcc774e769f

Fix JSON output format documentation

view details

Pam Selle

commit sha 9cf5a185326bb3c765aef5b58ddcbc9ab1214c2b

Merge pull request #25238 from HadrienPatte/fix-json-output-format-docs Fix JSON output format documentation

view details

push time in a month

PR merged hashicorp/terraform

Fix JSON output format documentation

This PR updates the JSON output format documentation page. In this page, the Plan representation is described as having a top level "config" key mapping to a config-representation object. But with the latest version of Terraform, the config-representation object is mapped under a top level "configuration" key. Related code: command/jsonplan/plan.go


Examples to reproduce with terraform v0.12.26:

  • main.tf file:
resource "null_resource" "test" {
  provisioner "local-exec" {
    command = "echo 'hello world'"
  }
}

Run

terraform init
terraform plan -out=plan
terraform show -json plan

the last command outputs the following JSON (pretty printed here for readability):

{
  "format_version": "0.1",
  "terraform_version": "0.12.26",
  "planned_values": {
    "root_module": {
      "resources": [
        {
          "address": "null_resource.test",
          "mode": "managed",
          "type": "null_resource",
          "name": "test",
          "provider_name": "null",
          "schema_version": 0,
          "values": {
            "triggers": null
          }
        }
      ]
    }
  },
  "resource_changes": [
    {
      "address": "null_resource.test",
      "mode": "managed",
      "type": "null_resource",
      "name": "test",
      "provider_name": "null",
      "change": {
        "actions": [
          "create"
        ],
        "before": null,
        "after": {
          "triggers": null
        },
        "after_unknown": {
          "id": true
        }
      }
    }
  ],
  "configuration": {
    "root_module": {
      "resources": [
        {
          "address": "null_resource.test",
          "mode": "managed",
          "type": "null_resource",
          "name": "test",
          "provider_config_key": "null",
          "provisioners": [
            {
              "type": "local-exec",
              "expressions": {
                "command": {
                  "constant_value": "echo 'hello world'"
                }
              }
            }
          ],
          "schema_version": 0
        }
      ]
    }
  }
}

We can see that the config-representation object is under the "configuration" key.

+4 -4

2 comments

1 changed file

HadrienPatte

pr closed time in a month

push eventhashicorp/terraform

Matt Schuchard

commit sha 86a511e257994b0f64f2e46a746037f562bc348a

update hcl language markdown to terraform markdown

view details

Pam Selle

commit sha d1e91729601f00430fbff7819a20093489f50e04

Merge pull request #25292 from mschuchard/patch-1 update hcl language markdown to terraform markdown

view details

push time in a month

PR merged hashicorp/terraform

update hcl language markdown to terraform markdown

Just a quick proposal for a patch (literally using GH UI for PR) to the issue template. If this is not desired, then that is cool.

+1 -1

3 comments

1 changed file

mschuchard

pr closed time in a month

pull request commenthashicorp/terraform

update hcl language markdown to terraform markdown

I like and agree with this idea! Done.

mschuchard

comment created time in a month

push eventpselle/tf-0.13-demos

Pam Selle

commit sha fe6df7a92d175315807f0081f69ddb6104082b53

Update README.md

view details

push time in a month

push eventpselle/tf-0.13-demos

Pam Selle

commit sha d8630aa85966a333628d4bba39a0fb41cfdb9ccf

Add depends on demo

view details

push time in a month

push eventpselle/tf-0.13-demos

Pam Selle

commit sha ae54eb6ab28609655cf05d46f476295ca12dc889

Updates to example and README

view details

push time in a month

create barnchpselle/tf-0.13-demos

branch : master

created branch time in a month

created repositorypselle/tf-0.13-demos

created time in a month

push eventpselle/terraform-aws-s3-bucket-1

Pam Selle

commit sha f5b975de4cbc614d9d607ba7f0b89cdd903bc934

Update README for support info

view details

push time in a month

PR opened terraform-aws-modules/terraform-aws-s3-bucket

Allow 0.13

Description

Update the required version block to allow 0.13 usage

Motivation and Context

This module cannot be used with the 0.13 versions of terraform (beta, or the upcoming GA), this modifies the version so that it can at least be used. However, there are other changes that might be desirable, such as deprecating the create_bucket argument now that module count will be available.

Breaking Changes

<!-- Does this break backwards compatibility with the current major version? --> <!-- If so, please provide an explanation why it is necessary. -->

How Has This Been Tested?

Forked this repo, changed the file, and ran through loading the module, changing count, and changing for_each. <!--- Please describe in detail how you tested your changes. --> <!--- Include details of your testing environment, and the tests you ran to --> <!--- see how your change affects other areas of the code, etc. -->

+1 -1

0 comment

1 changed file

pr created time in a month

push eventpselle/terraform-aws-s3-bucket-1

Pam Selle

commit sha 20029f1e2c1c7664d32c31cdc741a8cbe2f6658b

Allow 0.13

view details

push time in a month

push eventpselle/livecode

pselle

commit sha 43ef81105c269a007d1e4594f4494d19698fbf70

synth society set:

view details

push time in a month

Pull request review commenthashicorp/terraform

index destroy dependencies by addrs.ConfigResource

 func (t *DestroyEdgeTransformer) Transform(g *Graph) error { 			log.Printf("[TRACE] DestroyEdgeTransformer: %q (%T) destroys %s", dag.VertexName(n), v, key) 			destroyers[key] = append(destroyers[key], n) -			resAddr := addr.Resource.Resource.Absolute(addr.Module).String()+			resAddr := addr.ContainingResource().Config().String()

Really like this address update.

jbardin

comment created time in a month

issue closedhashicorp/terraform

Terraform v0.12.27 - Crash on version, init, plan, etc...

Terraform Version

$ terraform version
runtime: netpoll: break fd ready for -2
fatal error: runtime: netpoll: break fd ready for something unexpected

runtime stack:
runtime.throw(0x2a2e35a, 0x39)
	/usr/local/go/src/runtime/panic.go:1116 +0x72
runtime.netpoll(0x1a39a4, 0x1b6547fccf01)
	/usr/local/go/src/runtime/netpoll_kqueue.go:140 +0x30a
runtime.findrunnable(0xc00004e800, 0x0)
	/usr/local/go/src/runtime/proc.go:2323 +0x72b
runtime.schedule()
	/usr/local/go/src/runtime/proc.go:2520 +0x2fc
runtime.park_m(0xc000000c00)
	/usr/local/go/src/runtime/proc.go:2690 +0x9d
runtime.mcall(0x80000)
	/usr/local/go/src/runtime/asm_amd64.s:318 +0x5b

goroutine 1 [runnable, locked to thread]:
runtime.doInit(0x3cb5820)
	/usr/local/go/src/runtime/proc.go:5398 +0xd8
runtime.doInit(0x3cd5fe0)
	/usr/local/go/src/runtime/proc.go:5409 +0x57
runtime.doInit(0x3ccc440)
	/usr/local/go/src/runtime/proc.go:5409 +0x57
runtime.main()
	/usr/local/go/src/runtime/proc.go:190 +0x1ce
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:1373 +0x1

goroutine 18 [select]:
go.opencensus.io/stats/view.(*worker).start(0xc00009cf00)
	/go/pkg/mod/go.opencensus.io@v0.22.0/stats/view/worker.go:154 +0x100
created by go.opencensus.io/stats/view.init.0
	/go/pkg/mod/go.opencensus.io@v0.22.0/stats/view/worker.go:32 +0x57

Note: This crash appears to even affect terraform version command.

The version is: v0.12.27 Running on: macOS Mojave 10.14.6 64-bit

Terraform Configuration Files

N/A

Debug Output

export TF_LOG=trace;  terraform version
runtime: netpoll: break fd ready for -2
fatal error: runtime: netpoll: break fd ready for something unexpected

runtime stack:
runtime.throw(0x2a2e35a, 0x39)
	/usr/local/go/src/runtime/panic.go:1116 +0x72
runtime.netpoll(0xabe69, 0x1ba7b6ad7201)
	/usr/local/go/src/runtime/netpoll_kqueue.go:140 +0x30a
runtime.findrunnable(0xc00004c000, 0x0)
	/usr/local/go/src/runtime/proc.go:2323 +0x72b
runtime.schedule()
	/usr/local/go/src/runtime/proc.go:2520 +0x2fc
runtime.park_m(0xc000000c00)
	/usr/local/go/src/runtime/proc.go:2690 +0x9d
runtime.mcall(0x80000)
	/usr/local/go/src/runtime/asm_amd64.s:318 +0x5b

goroutine 1 [runnable, locked to thread]:
path/filepath.Clean(0x7ffeefbff1e0, 0x4f, 0x0, 0x0)
	/usr/local/go/src/path/filepath/path.go:88 +0xc4d
github.com/kardianos/osext.executableClean(0x3cb7360, 0xc00000f0b8, 0x0, 0xe)
	/go/pkg/mod/github.com/kardianos/osext@v0.0.0-20190222173326-2bc1f35cddc0/osext.go:14 +0x3b
github.com/kardianos/osext.init()
	/go/pkg/mod/github.com/kardianos/osext@v0.0.0-20190222173326-2bc1f35cddc0/osext.go:10 +0x22

goroutine 6 [select]:
go.opencensus.io/stats/view.(*worker).start(0xc000108f00)
	/go/pkg/mod/go.opencensus.io@v0.22.0/stats/view/worker.go:154 +0x100
created by go.opencensus.io/stats/view.init.0
	/go/pkg/mod/go.opencensus.io@v0.22.0/stats/view/worker.go:32 +0x57

Crash Output

terraform version
runtime: netpoll: break fd ready for -2
fatal error: runtime: netpoll: break fd ready for something unexpected

runtime stack:
runtime.throw(0x2a2e35a, 0x39)
	/usr/local/go/src/runtime/panic.go:1116 +0x72
runtime.netpoll(0x253d48cae, 0x1bb0a6c64d01)
	/usr/local/go/src/runtime/netpoll_kqueue.go:140 +0x30a
runtime.findrunnable(0xc000051000, 0x0)
	/usr/local/go/src/runtime/proc.go:2323 +0x72b
runtime.schedule()
	/usr/local/go/src/runtime/proc.go:2520 +0x2fc
runtime.park_m(0xc000001080)
	/usr/local/go/src/runtime/proc.go:2690 +0x9d
runtime.mcall(0x80000)
	/usr/local/go/src/runtime/asm_amd64.s:318 +0x5b

goroutine 1 [runnable, locked to thread]:
github.com/ChrisTrenkamp/goxpath/parser.init()
	/go/pkg/mod/github.com/!chris!trenkamp/goxpath@v0.0.0-20170922090931-c385f95c6022/parser/ast.go:19

goroutine 6 [select]:
go.opencensus.io/stats/view.(*worker).start(0xc000108f00)
	/go/pkg/mod/go.opencensus.io@v0.22.0/stats/view/worker.go:154 +0x100
created by go.opencensus.io/stats/view.init.0
	/go/pkg/mod/go.opencensus.io@v0.22.0/stats/view/worker.go:32 +0x57

Expected Behavior

Terraform should have output it's version / or started up properly.

Actual Behavior

GoLang error:

runtime: netpoll: break fd ready for -2
fatal error: runtime: netpoll: break fd ready for something unexpected

Steps to Reproduce

  • terraform version OR:
  • terraform init / terraform plan, etc...

Additional Context

Details about released version:

unzip -l ~/Downloads/terraform_0.12.27_darwin_amd64.zip
Archive:  ~/Downloads/terraform_0.12.27_darwin_amd64.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
 64736592  06-24-2020 13:37   terraform
---------                     -------
 64736592                     1 file

unzip -d /tmp/  ~/Downloads/terraform_0.12.27_darwin_amd64.zip
Archive:  ~/Downloads/terraform_0.12.27_darwin_amd64.zip
  inflating: /tmp/terraform

shasum -a 256 /tmp/terraform
9436a5ba5ce9c46dc93eae9305e08d5f30926fd5f7cbf93889e5f807e6523036  /tmp/terraform

References

closed time in a month

trinitronx

issue commenthashicorp/terraform

Terraform v0.12.27 - Crash on version, init, plan, etc...

Hello! Yes as @claudiobizzotto notes, we released 0.12.28 to fix this issue -- we built the 0.12 release with the Go version meant for 0.13! 0.12.28 has been released and should resolve this issue. Thank you so much for the report!

trinitronx

comment created time in a month

push eventhashicorp/terraform

Pam Selle

commit sha 15b5120981dc624710c320ab84c5f57e75ae4a1e

Update CHANGELOG.md

view details

push time in a month

push eventhashicorp/terraform

Pam Selle

commit sha 0b9cc6a5b099f51a37241cef0dff980b94c67456

Update CHANGELOG.md

view details

push time in a month

push eventhashicorp/terraform

Pam Selle

commit sha ad8ff621ff4248ee657dc60fa40f11196c8062ec

Update CHANGELOG.md

view details

push time in a month

push eventhashicorp/terraform

João G. Packer

commit sha fd47260fdcbdadfa027ece6fdbba1b77111291ca

command: adjust exit code of state rm (#22300) * command: adjust exit code of state rm and state mv Commands `state rm` and `state mv` will now exit with code 1 when the target resource is not found in the current state. This is consistent with `terraform state show non_existent_resource`. Fixes #17800

view details

push time in a month

PR merged hashicorp/terraform

command: adjust exit code of state rm breaking-change bug cli

Commands state rm will now exit with code 1 when the resource is not found in the current state. This is consistent with terraform state show non_existent_resource.

Fixes #17800

+12 -11

5 comments

2 changed files

jgpacker

pr closed time in a month

issue closedhashicorp/terraform

terraform state rm always displays success message as long as you give it a "valid" resource name

<!-- Hi there,

Thank you for opening an issue. Please note that we try to keep the Terraform issue tracker reserved for bug reports and feature requests. For general usage questions, please see: https://www.terraform.io/community.html.

If your issue relates to a specific Terraform provider, please open it in the provider's own repository. The index of providers is at https://github.com/terraform-providers . -->

Terraform Version

<!--- Run terraform -v to show the version, and paste the result between the ``` marks below.

If you are not running the latest version of Terraform, please try upgrading because your issue may have already been fixed. -->

Terraform v0.11.5

Terraform Command

<!-- Paste the relevant parts of your Terraform configuration between the ``` marks below.

For large Terraform configs, please use a service like Dropbox and share a link to the ZIP file. For security, you can also encrypt the files using our GPG public key. -->

$ terraform state rm foo.bar
1 items removed.
Item removal successful.

Expected Behavior

<!-- What should have happened? --> Terraform should give me an error saying the resource does not exist.

Actual Behavior

<!-- What actually happened? --> Terraform says it removed 1 item successfully.

Steps to Reproduce

<!-- Please list the full steps required to reproduce the issue, for example:

  1. terraform init
  2. terraform apply -->

In any folder, even one that does not contain state run terraform state rm random_type.random_name. If there's no . Terraform will complain:

$ terraform state rm foo
Error removing items from the state: Error parsing address 'foo': invalid resource address "foo"

but beyond that it always prints the success message.

closed time in a month

kaofelix

issue closedhashicorp/terraform

Terraform 0.13 Error: Duplicate required providers configuration

Terraform Version

NOTE: The bug report comments suggest running terraform -v which is no longer a valid flag in 0.13. terraform version works

Terraform v0.13.0-beta2

Terraform Configuration Files

provider_ns1.tf

terraform {
  required_providers {
    ns1 = {
      source  = "terraform-providers/ns1"
      version = "~> 1.5"
    }
  }
}

providers.tf

/******************************************************************************
 * Provider Config
 *****************************************************************************/
terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 2.65"
    }
    local = {
      source  = "hashicorp/local"
      version = "~> 1.4.0"
    }
  }

  required_version = ">= 0.13"
}

Expected Behavior

I should still be able to separate provider configurations into separate files. required_providers configurations should merge together into a single block as files are processed. Duplicate providers in the merged block should cause an error.

Actual Behavior

Error: Duplicate required providers configuration

  on providers.tf line 5, in terraform:
   5:   required_providers {

A module may have only one required providers configuration. The required
providers were previously configured at provider_ns1.tf:2,3-21.

Steps to Reproduce

  1. terraform init

closed time in a month

jyoder-deloitte

issue commenthashicorp/terraform

Terraform 0.13 Error: Duplicate required providers configuration

Hello @jyoder-deloitte, thank you for this report!

This is a known breaking change we are adding in 0.13, and you can read the relevant PR here: https://github.com/hashicorp/terraform/pull/24763. I'll borrow from the summary of that PR here:

We now permit at most one required_providers block per module (except for overrides). This prevents users (and Terraform) from struggling to understand how to merge multiple required_providers configurations, with version and source attributes split across multiple blocks.

This is a purposeful change for 0.13, so I'm going to close this issue.

As well, thank you for the note about terraform -v! This was accidentally broken when adding a different feature allowing json output from the version command, and has since been fixed.

jyoder-deloitte

comment created time in a month

Pull request review commenthashicorp/terraform

configs: Fix provider requirements panics

 func decodeRequiredProvidersBlock(block *hcl.Block) (*RequiredProviders, hcl.Dia 				vc := VersionConstraint{ 					DeclRange: attr.Range, 				}-				constraintStr := expr.GetAttr("version").AsString()-				constraints, err := version.NewConstraint(constraintStr)-				if err != nil {-					// NewConstraint doesn't return user-friendly errors, so we'll just-					// ignore the provided error and produce our own generic one.+				constraint := expr.GetAttr("version")+				if !constraint.Type().Equals(cty.String) || constraint.IsNull() { 					diags = append(diags, &hcl.Diagnostic{ 						Severity: hcl.DiagError, 						Summary:  "Invalid version constraint",-						Detail:   "This string does not use correct version constraint syntax.",+						Detail:   "Version must be specified as a string.",

Helpful additional error!

alisdair

comment created time in a month

issue commenthashicorp/terraform

aws_elasticsearch_domain does not allow to configure fine-grained access control

Hi @holisticode! As you found, the AWS provider is responsible for this feature/code, not Terraform Core. Additionally, since you're asking a question, you might want to check out the AWS Provider Discuss forum. Thanks!

holisticode

comment created time in a month

issue closedhashicorp/terraform

aws_elasticsearch_domain does not allow to configure fine-grained access control

I read https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-ac.html and https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/fgac.html#fgac-walkthrough-basic and concluded that for our needs, the AWS ES domain should have fine-grained access control enabled.

But I was not able to enable it by using the terraform resource aws_elasticsearch_domain module.

Terraform Version

Terraform v0.12.26
...

### Terraform Configuration Files

aws_elasticsearch_domain ...

Expected Behavior

Ability to configure an AWS Elasticsearch domain with fine-grained access control enabled

Actual Behavior

Fine-grained access control is disabled. No options in the terraform resource template to enable it.

Steps to Reproduce

Create an aws_elasticsearc_domain

closed time in a month

holisticode

issue commenthashicorp/terraform

Invalid count Argument Error after terraform destroy

Hi @tomusaleem, thank you for this report. I'm unable to reproduce this, at least without more information, particularly about the local.isEnable value. When I tested with static values, I was unable to reproduce the problem you've described. Could you provide more information about your config, perhaps by filling out our suggested issue template? Our issue template includes reproduction steps (among the other questions it asks) to help us more quickly diagnose an issue. Thanks!

tomusaleem

comment created time in a month

PR opened zclconf/go-cty

Allow empty maps to merge function

Passing empty maps to MapVal panics. If we have an empty map after merging maps, return MapValEmpty so that we avoid this panic. Fixes https://github.com/hashicorp/terraform/issues/25303

+11 -0

0 comment

2 changed files

pr created time in a month

create barnchpselle/go-cty

branch : merge_func

created branch time in a month

delete branch hashicorp/terraform

delete branch : pselle/nestedexpandingproviders

delete time in 2 months

push eventhashicorp/terraform

Pam Selle

commit sha 199157a51a86e4f002664dab9be3021f74affa56

Validation for provider blocks in expanding modules (nested) (#25248) * Refactor provider validation into separate func & recurse Refactors the validate provider functions into a separate function that can recursively search above a module to check and see if any parents of the module contain count/for_each configs to be considered

view details

push time in 2 months

PR merged hashicorp/terraform

Validation for provider blocks in expanding modules (nested)

When a module is loaded, rather than only checking the first parent, provider validation has been refactored into a separate function such that we look for count or for_each on module calls.

This covers the case when a module has a provider {} block and is the child (or child of a child) of a module that has count or for_each declared. Two tests are included, to ensure parent, and parent-of-parent.

+154 -42

1 comment

11 changed files

pselle

pr closed time in 2 months

push eventhashicorp/terraform

Pam Selle

commit sha a2fcdffe4e786e02c260afc28902b8c68056c4e5

Update so we don't lose diags

view details

push time in 2 months

Pull request review commenthashicorp/terraform

Validation for provider blocks in expanding modules (nested)

 func (l *Loader) moduleWalkerLoad(req *configs.ModuleRequest) (*configs.Module, 	// The providers associated with expanding modules must be present in the proxy/passed providers 	// block. Guarding here for accessing the module call just in case. 	if mc, exists := req.Parent.Module.ModuleCalls[req.Name]; exists {-		if mc.Count != nil || mc.ForEach != nil {-			for key, pc := range mod.ProviderConfigs {-				// Use these to track if a provider is configured (not allowed),-				// or if we've found its matching proxy-				var isConfigured bool-				var foundMatchingProxy bool--				// Validate the config against an empty schema to see if it's empty.-				_, pcConfigDiags := pc.Config.Content(&hcl.BodySchema{})-				if pcConfigDiags.HasErrors() || pc.Version.Required != nil {-					isConfigured = true-				}+		validateDiags := validateProviderConfigs(mc, mod, req.Parent)+		diags = append(diags, validateDiags...)+	}+	return mod, record.Version, diags+}++func validateProviderConfigs(mc *configs.ModuleCall, mod *configs.Module, parent *configs.Config) hcl.Diagnostics {+	var diags hcl.Diagnostics++	if mc.Count != nil || mc.ForEach != nil {+		for key, pc := range mod.ProviderConfigs {+			// Use these to track if a provider is configured (not allowed),+			// or if we've found its matching proxy+			var isConfigured bool+			var foundMatchingProxy bool++			// Validate the config against an empty schema to see if it's empty.+			_, pcConfigDiags := pc.Config.Content(&hcl.BodySchema{})+			if pcConfigDiags.HasErrors() || pc.Version.Required != nil {+				isConfigured = true+			} -				// If it is empty or only has an alias,-				// does this provider exist in our proxy configs?-				for _, r := range mc.Providers {-					// Must match on name and Alias-					if pc.Name == r.InChild.Name && pc.Alias == r.InChild.Alias {-						foundMatchingProxy = true-						break-					}+			// If it is empty or only has an alias,+			// does this provider exist in our proxy configs?+			for _, r := range mc.Providers {+				// Must match on name and Alias+				if pc.Name == r.InChild.Name && pc.Alias == r.InChild.Alias {+					foundMatchingProxy = true+					break+				}+			}+			if isConfigured || !foundMatchingProxy {+				if mc.Count != nil {+					diags = append(diags, &hcl.Diagnostic{+						Severity: hcl.DiagError,+						Summary:  "Module does not support count",+						Detail:   fmt.Sprintf(moduleProviderError, mc.Name, "count", key, pc.NameRange),+						Subject:  mc.Count.Range().Ptr(),+					}) 				}-				if isConfigured || !foundMatchingProxy {-					if mc.Count != nil {-						diags = append(diags, &hcl.Diagnostic{-							Severity: hcl.DiagError,-							Summary:  "Module does not support count",-							Detail:   fmt.Sprintf(moduleProviderError, mc.Name, "count", key, pc.NameRange),-							Subject:  mc.Count.Range().Ptr(),-						})-					}-					if mc.ForEach != nil {-						diags = append(diags, &hcl.Diagnostic{-							Severity: hcl.DiagError,-							Summary:  "Module does not support for_each",-							Detail:   fmt.Sprintf(moduleProviderError, mc.Name, "for_each", key, pc.NameRange),-							Subject:  mc.ForEach.Range().Ptr(),-						})-					}+				if mc.ForEach != nil {+					diags = append(diags, &hcl.Diagnostic{+						Severity: hcl.DiagError,+						Summary:  "Module does not support for_each",+						Detail:   fmt.Sprintf(moduleProviderError, mc.Name, "for_each", key, pc.NameRange),+						Subject:  mc.ForEach.Range().Ptr(),+					}) 				} 			} 		} 	}-	return mod, record.Version, diags+	// If this module has further parents, go through them recursively+	if !parent.Path.IsRoot() {+		// Use the path to get the name so we can look it up in the parent module calls+		path := parent.Path+		name := path[len(path)-1]+		// This parent's module call, so we can check for count/for_each here,+		// guarding with exists just in case+		if mc, exists := parent.Parent.Module.ModuleCalls[name]; exists {+			return validateProviderConfigs(mc, mod, parent.Parent)

Ah! yes, we'd want to pass the diags through to keep accumulating. Interesting point, thank you.

pselle

comment created time in 2 months

push eventhashicorp/terraform

Pam Selle

commit sha cb30354885d9c957025a905651c94421202a6974

Add test coverage for double nesting, to test recursion

view details

push time in 2 months

push eventhashicorp/terraform

Pam Selle

commit sha 213d7f74563129c878451bd4d20b79f5a3b157b0

Add missing modules.json

view details

push time in 2 months

PR opened hashicorp/terraform

Validation for provider blocks in expanding modules (nested)

When a module is loaded, rather than only checking the first parent, provider validation has been refactored into a separate function such that we look for count or for_each on module calls. This covers the case when a module has a provider {} block and is the child (or child of a child) of a module that has count or for_each declared.

+78 -42

0 comment

5 changed files

pr created time in 2 months

create barnchhashicorp/terraform

branch : pselle/nestedexpandingproviders

created branch time in 2 months

create barnchpselle/terraform

branch : pselle/nestedexpandingproviders

created branch time in 2 months

pull request commenthashicorp/terraform

Makefile: remove unused targets

Great point @adamhorden ... I also use make website in this repo. Running make website in the other website repo doesn't build the docs in this one.

alisdair

comment created time in 2 months

delete branch hashicorp/terraform-website

delete branch : pselle/remove_provisioner_type

delete time in 2 months

push eventhashicorp/terraform-website

Pam Selle

commit sha 9df412cfe0392fdaacb2524a9eb1a16d303865cd

Remove provisioner plugin from docs Provisioner plugins are not supported in the current SDK, so remove mention of them from the docs

view details

Pam Selle

commit sha 334d2da94d37e65c5c003bc8aa28078c09293b4d

Update content/source/docs/extend/index.html.md Co-authored-by: Judith Malnick <judith.patudith@gmail.com>

view details

Pam Selle

commit sha 8a1d7dbc9f27499cbf65316e6ddf14f80125f151

Amend extend

view details

Pam Selle

commit sha e57624dba998c9867872f08a25d62fee149eba16

Update schema page to remove provisoners

view details

Pam Selle

commit sha ba721e833c3649431a01cdfc1f615855e303de92

Merge pull request #1270 from hashicorp/pselle/remove_provisioner_type Remove provisioner plugin from docs

view details

push time in 2 months

PR merged hashicorp/terraform-website

Remove provisioner plugin from docs

Description

Provisioner plugins are not supported in the current SDK, so remove mention of them from the docs.

+14 -31

2 comments

3 changed files

pselle

pr closed time in 2 months

push eventhashicorp/terraform-website

Pam Selle

commit sha e57624dba998c9867872f08a25d62fee149eba16

Update schema page to remove provisoners

view details

push time in 2 months

push eventhashicorp/terraform-website

Pam Selle

commit sha 8a1d7dbc9f27499cbf65316e6ddf14f80125f151

Amend extend

view details

Pam Selle

commit sha 7f8853704bbbebb0fa9c2604c5a0d62196019cb0

Update schema page to remove provisoners

view details

push time in 2 months

create barnchpselle/terraform-website

branch : pselle/remove_provisioner_type

created branch time in 2 months

push eventpselle/terraform-website

Pam Selle

commit sha 12b41d4badde994253892e88ba24f57c7f69d739

Update schema page to remove provisoners

view details

push time in 2 months

pull request commenthashicorp/terraform-website

Remove provisioner plugin from docs

Really good point, Judith! I believe #1 is the most accurate. In the long-run, that won't be true (you won't be able to write custom provisioners at all, SDK or no), but you're correct that you could theoretically still do it (but we don't want to push people in that way, at all).

Thanks for the tip on the Schema page, updating there as well.

pselle

comment created time in 2 months

push eventhashicorp/terraform-website

Pam Selle

commit sha 334d2da94d37e65c5c003bc8aa28078c09293b4d

Update content/source/docs/extend/index.html.md Co-authored-by: Judith Malnick <judith.patudith@gmail.com>

view details

push time in 2 months

pull request commenthashicorp/terraform-website

Remove provisioner plugin from docs

Requesting review from @hashicorp/terraform-education, not sure what the protocol is at the moment for requesting review here!

pselle

comment created time in 2 months

delete branch hashicorp/terraform

delete branch : pselle/jsonencode

delete time in 2 months

Pull request review commenthashicorp/terraform

website: Draw better attention to for and for_each patterns

 as a whole. #### Using Sets  The Terraform language doesn't have a literal syntax for-[sets](./types.html#collection-types), but you can use the `toset` function to-convert a list of strings to a set:+[set values](./types.html#collection-types), but you can use the `toset`+function to explicitly convert a list of strings to a set:  ```hcl-variable "subnet_ids" {-  type = list(string)

Great change, since variables are a case where one could define the type as set(string) and move on with your day. Nice improvement! (aaaand I see you've noted that here in the docs below! nice)

apparentlymart

comment created time in 2 months

push eventpselle/livecode

pselle

commit sha 182329c4bbd4efddd8490ca6a31e1b88b676d628

some set updates

view details

pselle

commit sha 270f54d31e2c41f42b50d99aa67097157b02f0fb

setnotes

view details

push time in 2 months

push eventpselle/livecode

pselle

commit sha b5cb8d78dafa1beacec096657d961fe2009bf878

More set development

view details

push time in 2 months

push eventhashicorp/terraform

Pam Selle

commit sha 5883099ce59b8cda7bc6b061ae8efd6ea276ee9d

Update CHANGELOG.md

view details

push time in 2 months

PR merged hashicorp/terraform

[vendor] upgrade go-cty

Upgrade go-cty to get jsonencode fix, closes #23062

$ go get -u github.com/zclconf/go-cty
$ go mod vendor
$ go mod tidy
+9 -8

1 comment

4 changed files

pselle

pr closed time in 2 months

issue closedhashicorp/terraform

jsonencode - Invalid value for "val" parameter: argument must not be null.

<!-- Hi there,

Thank you for opening an issue. Please note that we try to keep the Terraform issue tracker reserved for bug reports and feature requests. For general usage questions, please see: https://www.terraform.io/community.html.

If your issue relates to a specific Terraform provider, please open it in the provider's own repository. The index of providers is at https://github.com/terraform-providers . -->

Terraform Version

<!--- Run terraform -v to show the version, and paste the result between the ``` marks below.

If you are not running the latest version of Terraform, please try upgrading because your issue may have already been fixed. -->

Terraform v0.12.10

Terraform Configuration Files

✗ terraform console
Acquiring state lock. This may take a few moments...
> jsonencode(null)

>
Error: Invalid function argument

  on <console-input> line 1:
  (source code not available)

Invalid value for "val" parameter: argument must not be null.

Debug Output

Expected Behavior

Documentation states that jsonencode(null) will output a null value. https://www.terraform.io/docs/configuration/functions/jsonencode.html

Additional info

It appears there's no test for jsonencode with a null value. https://github.com/hashicorp/terraform/blob/master/config/hcl2_shim_util_test.go

closed time in 2 months

blaines

push eventhashicorp/terraform

Pam Selle

commit sha 5e8b60ba07fbffec8508bfc6b8879a1d7e3d187c

Upgrade go-cty for jsonencode fix, closes #23062

view details

Pam Selle

commit sha 195b59e5f23d515101280cd6d935771503da1d50

Merge pull request #25078 from hashicorp/pselle/jsonencode [vendor] upgrade go-cty

view details

push time in 2 months

push eventhashicorp/terraform

Pam Selle

commit sha 5e8b60ba07fbffec8508bfc6b8879a1d7e3d187c

Upgrade go-cty for jsonencode fix, closes #23062

view details

push time in 2 months

issue closedhashicorp/terraform

count and for_each for modules

Is it possible to dynamically select map variable, e.g?

Currently I am doing this:

vars.tf

locals {
  map1 = {
    name1 = "foo"
    name2 = "bar"
  }
}

main.tf

module "x1" {
  source = "../"
  parameter = "${local.map1["name1"]}"
}

module "x2" {
  source = "../"
  parameter = "${local.map1["name2"]}"
}

This works but it's repetitive/DRY to hardcode the key name.

Ideally I want to able to do something like this:

module "x1" {
  source = "../"
  parameter = "${local.map1[$var.select]}"
}

Where I can dynamically alter the key variable in the same file. I thought about using null_data_source:

data "null_data_source" "test" {
  inputs = {
    current = "${var.selector}"
  }
}

parameter  = "${local.map1[data.null_data_source.test.outputs["current"]]}"

But don't think I will able to inject different variable to selector value since I can't use locals within module block.

closed time in 2 months

AnthonyWC

issue commenthashicorp/terraform

count and for_each for modules

We turned on count and for_each for modules in master as of https://github.com/hashicorp/terraform/pull/24461, and as @danieldreier said, this will be in the 0.13.0 release, with the beta coming out next week.

I'm closing this issue to reflect that the work is done and will be released soon!

AnthonyWC

comment created time in 2 months

PR opened hashicorp/terraform

[vendor] upgrate go-cty

Upgrade go-cty to get jsonencode fix, closes #23062

+9 -6

0 comment

4 changed files

pr created time in 2 months

create barnchpselle/terraform

branch : pselle/jsonencode

created branch time in 2 months

create barnchhashicorp/terraform

branch : pselle/jsonencode

created branch time in 2 months

PR opened hashicorp/terraform-website

Remove provisioner plugin from docs

Description

Provisioner plugins are not supported in the current SDK, so remove mention of them from the docs.

+12 -28

0 comment

2 changed files

pr created time in 2 months

push eventhashicorp/terraform-website

Pam Selle

commit sha 9df412cfe0392fdaacb2524a9eb1a16d303865cd

Remove provisioner plugin from docs Provisioner plugins are not supported in the current SDK, so remove mention of them from the docs

view details

push time in 2 months

create barnchhashicorp/terraform-website

branch : pselle/remove_provisioner_type

created branch time in 2 months

more