{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":17728164,"defaultBranch":"main","name":"terraform","ownerLogin":"hashicorp","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2014-03-13T22:25:48.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/761456?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1717229441.0","currentOid":""},"activityList":{"items":[{"before":null,"after":"9f53a1e2559d678c4b7d622ee44ba20a75ab2fd0","ref":"refs/heads/dependabot/github_actions/github-actions-breaking-0ba95953a7","pushedAt":"2024-06-01T08:10:41.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"build(deps): bump hashicorp/actions-set-product-version\n\nBumps the github-actions-breaking group with 1 update: [hashicorp/actions-set-product-version](https://github.com/hashicorp/actions-set-product-version).\n\n\nUpdates `hashicorp/actions-set-product-version` from 1.0.1 to 2\n- [Commits](https://github.com/hashicorp/actions-set-product-version/compare/e2c49d61aff17b1280ddfe7bb031331d02ca0140...d9b52fb778068099ca4c5e28e1ca0fee2544e114)\n\n---\nupdated-dependencies:\n- dependency-name: hashicorp/actions-set-product-version\n dependency-type: direct:production\n update-type: version-update:semver-major\n dependency-group: github-actions-breaking\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"build(deps): bump hashicorp/actions-set-product-version"}},{"before":null,"after":"84c18943c6a85a62c97c666f20aba8f863164196","ref":"refs/heads/tsccr-auto-pinning/trusted/2024-06-01","pushedAt":"2024-06-01T06:05:20.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"hashicorp-tsccr[bot]","name":null,"path":"/apps/hashicorp-tsccr","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/312369?s=80&v=4"},"commit":{"message":"Result of tsccr-helper -log-level=info gha update -latest .","shortMessageHtmlLink":"Result of tsccr-helper -log-level=info gha update -latest ."}},{"before":"f3e4acc6c5cd4d42133c07acc842fe1ece220e07","after":"0ec2d37ff3194f1397a8e545339ddc231d46468c","ref":"refs/heads/f-ephemeral-variables","pushedAt":"2024-05-31T22:20:06.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"apparentlymart","name":"Martin Atkins","path":"/apparentlymart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20180?s=80&v=4"},"commit":{"message":"terraform: terraform.applying returns true during the apply phase\n\nThis new symbol returns an ephemeral boolean flag that is true only during\nthe apply phase and false otherwise. Since this involves an ephemeral\nvalue and those are still experimental, this symbol is also available only\nwhen opted in to the ephemeral_values experiment.\n\nThe intended use for this is to configure a provider with a different (and\nprobably more privileged) role or username during the apply phase when\nTerraform is actually trying to change infrastructure, so that planning\ncan be done with a more limited level of access that might, for example,\nonly allow _reading_ from the remote system.\n\n role_arn = (\n terraform.applying ? local.write_role_arn : local.read_role_arn\n )","shortMessageHtmlLink":"terraform: terraform.applying returns true during the apply phase"}},{"before":"6bb33ef741456b9feb8595c049c883e8b3b90b2e","after":"f3e4acc6c5cd4d42133c07acc842fe1ece220e07","ref":"refs/heads/f-ephemeral-variables","pushedAt":"2024-05-31T21:56:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"apparentlymart","name":"Martin Atkins","path":"/apparentlymart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20180?s=80&v=4"},"commit":{"message":"terraform: terraform.applying returns true during the apply phase\n\nThis new symbol returns an ephemeral boolean flag that is true only during\nthe apply phase and false otherwise. Since this involves an ephemeral\nvalue and those are still experimental, this symbol is also available only\nwhen opted in to the ephemeral_values experiment.\n\nThe intended use for this is to configure a provider with a different (and\nprobably more privileged) role or username during the apply phase when\nTerraform is actually trying to change infrastructure, so that planning\ncan be done with a more limited level of access that might, for example,\nonly allow _reading_ from the remote system.\n\n role_arn = (\n terraform.applying ? local.write_role_arn : local.read_role_arn\n )","shortMessageHtmlLink":"terraform: terraform.applying returns true during the apply phase"}},{"before":"9da50156780ccc67189eec7054604d6e3b2f6ec4","after":"a0ca6e8eec4797da31e15ee29992fc9f1af9143e","ref":"refs/heads/v1.9","pushedAt":"2024-05-31T21:45:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jbardin","name":"James Bardin","path":"/jbardin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/35067?s=80&v=4"},"commit":{"message":"update CHANGELOG.md","shortMessageHtmlLink":"update CHANGELOG.md"}},{"before":"8e6098d5fab6a8117b6e28292c4cf703e44c01dd","after":null,"ref":"refs/heads/backport-35262","pushedAt":"2024-05-31T21:43:23.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jbardin","name":"James Bardin","path":"/jbardin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/35067?s=80&v=4"}},{"before":"22de83dfaa636446e3883e44ca8a624391e47533","after":"9da50156780ccc67189eec7054604d6e3b2f6ec4","ref":"refs/heads/v1.9","pushedAt":"2024-05-31T21:43:21.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"jbardin","name":"James Bardin","path":"/jbardin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/35067?s=80&v=4"},"commit":{"message":"Merge pull request #35272 from hashicorp/backport-35262\n\nbackport 35262","shortMessageHtmlLink":"Merge pull request #35272 from hashicorp/backport-35262"}},{"before":null,"after":"8e6098d5fab6a8117b6e28292c4cf703e44c01dd","ref":"refs/heads/backport-35262","pushedAt":"2024-05-31T21:32:22.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jbardin","name":"James Bardin","path":"/jbardin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/35067?s=80&v=4"},"commit":{"message":"don't attempt to import during a destroy operation\n\nA full destroy requires Terraform to refresh everything beforehand, but\nif an instance is missing from the state and has an `import` block,\nTerraform was attempting to re-import that resource before destroy. The\nmost common reason this could happen would be when resuming a partially\ncompleted destroy, where some of the state has already been deleted. In\nthat case the import will fail with an error because the resource no\nlonger exists, and end up blocking the rest of the operation.","shortMessageHtmlLink":"don't attempt to import during a destroy operation"}},{"before":"a5443a8bda3058c0085e1208b1fc200276506e8a","after":null,"ref":"refs/heads/jbardin/destroy-import","pushedAt":"2024-05-31T21:20:43.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jbardin","name":"James Bardin","path":"/jbardin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/35067?s=80&v=4"}},{"before":"a73e4e658648e0d507e89c4cd389a2af5edf9395","after":"611210d5f645082b41170ff9edbc7b63c1f8e573","ref":"refs/heads/main","pushedAt":"2024-05-31T21:20:39.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"jbardin","name":"James Bardin","path":"/jbardin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/35067?s=80&v=4"},"commit":{"message":"Merge pull request #35262 from hashicorp/jbardin/destroy-import\n\nDon't attempt to import during a destroy operation","shortMessageHtmlLink":"Merge pull request #35262 from hashicorp/jbardin/destroy-import"}},{"before":"93c14c3f324df9961406ad25022bb57130276a13","after":"6bb33ef741456b9feb8595c049c883e8b3b90b2e","ref":"refs/heads/f-ephemeral-variables","pushedAt":"2024-05-31T20:38:06.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"apparentlymart","name":"Martin Atkins","path":"/apparentlymart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20180?s=80&v=4"},"commit":{"message":"command: \"terraform apply\" accepts variable values with saved plan\n\nTo support ephemeral values we need a more complicated set of rules about\nwhat input variables can and must be set when applying a saved plan. The\ncommand itself does not have enough information to implement those rules\nitself, so we'll let them pass through and check this in the local\nbackend's apply phase instead.\n\nThe local backend's apply phase already had basic support for dealing with\napply-time variable values, but it'll now also be responsible for\nrejecting attempts to set variables when the experiment isn't enabled,\nto keep all of this logic in roughly the same place.","shortMessageHtmlLink":"command: \"terraform apply\" accepts variable values with saved plan"}},{"before":"9aab353e15b2f2607898e6ed7785fa7c076fca6e","after":"93c14c3f324df9961406ad25022bb57130276a13","ref":"refs/heads/f-ephemeral-variables","pushedAt":"2024-05-31T20:37:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"apparentlymart","name":"Martin Atkins","path":"/apparentlymart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20180?s=80&v=4"},"commit":{"message":"command: \"terraform apply\" accepts variable values with saved plan\n\nTo support ephemeral values we need a more complicated set of rules about\nwhat input variables can and must be set when applying a saved plan. The\ncommand itself does not have enough information to implement those rules\nitself, so we'll let them pass through and check this in the local\nbackend's apply phase instead.\n\nThe local backend's apply phase already had basic support for dealing with\napply-time variable values, but it'll now also be responsible for\nrejecting attempts to set variables when the experiment isn't enabled,\nto keep all of this logic in roughly the same place.","shortMessageHtmlLink":"command: \"terraform apply\" accepts variable values with saved plan"}},{"before":"91935d5420b8f8c2504ff785f62bf510ed0cfa84","after":"9aab353e15b2f2607898e6ed7785fa7c076fca6e","ref":"refs/heads/f-ephemeral-variables","pushedAt":"2024-05-31T20:19:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"apparentlymart","name":"Martin Atkins","path":"/apparentlymart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20180?s=80&v=4"},"commit":{"message":"backend/local: Handle apply-time values for ephemeral input variables\n\nWhen the ephemeral variables experiment is active we can potentially have\ninput variables whose values need to be provided separately in both the\nplan and apply phases, as a compromise to avoid writing those values as\npart of a saved plan file and to allow the given value to vary between\nthe two phases if necessary.\n\nThe CLI layer must therefore re-process the given input variable values\nduring the apply phase whenever this experiment is active for the root\nmodule and the plan recorded at least one apply-time variable name.\n\nTo reduce the risk of this new logic accidentally impacting\nnon-experimental usage, the whole call is guarded by whether the root\nmodule is participating in the experiment. Checking just the root module\nis sufficient here because only the root input variables are directly\nhandled by the CLI layer; input variables for descendent modules are\nhandled entirely within the modules runtime.","shortMessageHtmlLink":"backend/local: Handle apply-time values for ephemeral input variables"}},{"before":"798a7eb2483e98379a2cb7ef46aabbffcf271715","after":"91935d5420b8f8c2504ff785f62bf510ed0cfa84","ref":"refs/heads/f-ephemeral-variables","pushedAt":"2024-05-31T19:05:31.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"apparentlymart","name":"Martin Atkins","path":"/apparentlymart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20180?s=80&v=4"},"commit":{"message":"terraform: Check for required input variables during the apply phase\n\nThe new concept of \"ephemeral input variables\" creates the possibility of\nneeding to provide an input variable value during the apply phase, rather\nthan just retaining it in the plan.\n\nNow we'll remember in the plan the names of the variables that need to be\nre-supplied during apply -- that is, any ephemeral values whose plan-time\nvalues were non-null -- and then check at the start of the apply phase\nwhether those variables (and _only_ those variables) were provided in the\nplanning options.\n\nThis doesn't yet update Terraform CLI to actually populate this stuff, so\nas of this commit any plan with apply-time variables is effectively\nunapplyable. We'll deal with that in future commits.","shortMessageHtmlLink":"terraform: Check for required input variables during the apply phase"}},{"before":null,"after":"6b19b9e82a48ff90065988cc5235e2966c860ede","ref":"refs/heads/jbardin/render-uknown-block","pushedAt":"2024-05-31T18:25:57.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jbardin","name":"James Bardin","path":"/jbardin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/35067?s=80&v=4"},"commit":{"message":"render entirely unknown blocks in the plan output\n\nThe plan renderer was missing a check for entirely unknown blocks,\ncausing them to be omitted from the human readable output. An unknown\nblock can happen when using an unknown for_each value in a dynamic block\nassignment.","shortMessageHtmlLink":"render entirely unknown blocks in the plan output"}},{"before":"8dc774c135e5dae8c19485a435500d0406334388","after":"798a7eb2483e98379a2cb7ef46aabbffcf271715","ref":"refs/heads/f-ephemeral-variables","pushedAt":"2024-05-31T18:07:01.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"apparentlymart","name":"Martin Atkins","path":"/apparentlymart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20180?s=80&v=4"},"commit":{"message":"terraform: Initial partial support for ephemeral values\n\nThis is a checkpoint commit on the path to supporting ephemeral values as\na cross-cutting concern in the Terraform language. An ephemeral value is\none that lives only in RAM during a single phase and so cannot persist\nfrom the plan phase to the apply phase, or between consecutive plan/apply\nrounds.\n\nTerraform tracks whether each value is ephemeral using the cty \"marks\"\nconcept, thus achieving the same dynamic analysis as we already employ for\nthe concept of \"sensitive values\" that prevents displaying a value in the\nuser interface.\n\nThis commit is just a starting point which gets some of the basics into\nplace:\n - input variables and output values can both be statically declared as\n being ephemeral. Only ephemeral inputs/outputs can have ephemeral values\n assigned to them, and the recipient of the value sees it as ephemeral\n even if the assigned value was not already ephemeral.\n\n This creates a dynamic analysis cutoff point at module boundaries so\n that it's possible to determine in isolation whether a single module is\n using ephemeral values correctly, without having to test it in every\n possible calling context.\n - Managed and data resources cannot have ephemeral values assigned into\n their configurations because Terraform and providers both expect the\n resource attributes to persist between phases.\n - Ephemeral values _can_ be used in provider and provisioner\n configurations, because both of those effectively meet the definition\n of the new \"ephemeral\" concept despite it not previously having a name.\n - Ephemeral markings propagate through all of the built-in language\n features for dynamic analysis purposes, largely relying on cty's efforts\n to do that in similar vein as for sensitive marks. In particular,\n it's possible to define a local value whose expression produces\n an ephemeral result, and passing ephemeral values to functions should\n propagate the ephemeral mark to the results when appropriate. (I've not\n yet thoroughly reviewed all of the built-in functions for correct\n marks handling though, so there may be some gaps to address in later\n commits.)\n\nThe next step for this work will be to change the modules runtime to have\nsupport for a workflow involving ephemeral _root_ input variables, where\ntheir values must be re-supplied during the apply phase. That will then\nachieve (in experimental capacity) the first goal of ephemeral values: to\nbe able to provide non-persistent settings such as time-limited API tokens\nto use in provider configuration blocks.","shortMessageHtmlLink":"terraform: Initial partial support for ephemeral values"}},{"before":"1e809feb0331767e6924db760db2f3cc0c70bc9b","after":"8dc774c135e5dae8c19485a435500d0406334388","ref":"refs/heads/f-ephemeral-variables","pushedAt":"2024-05-31T17:51:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"apparentlymart","name":"Martin Atkins","path":"/apparentlymart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20180?s=80&v=4"},"commit":{"message":"terraform: Initial partial support for ephemeral values\n\nThis is a checkpoint commit on the path to supporting ephemeral values as\na cross-cutting concern in the Terraform language. An ephemeral value is\none that lives only in RAM during a single phase and so cannot persist\nfrom the plan phase to the apply phase, or between consecutive plan/apply\nrounds.\n\nTerraform tracks whether each value is ephemeral using the cty \"marks\"\nconcept, thus achieving the same dynamic analysis as we already employ for\nthe concept of \"sensitive values\" that prevents displaying a value in the\nuser interface.\n\nThis commit is just a starting point which gets some of the basics into\nplace:\n - input variables and output values can both be statically declared as\n being ephemeral. Only ephemeral inputs/outputs can have ephemeral values\n assigned to them, and the recipient of the value sees it as ephemeral\n even if the assigned value was not already ephemeral.\n\n This creates a dynamic analysis cutoff point at module boundaries so\n that it's possible to determine in isolation whether a single module is\n using ephemeral values correctly, without having to test it in every\n possible calling context.\n - Managed and data resources cannot have ephemeral values assigned into\n their configurations because Terraform and providers both expect the\n resource attributes to persist between phases.\n - Ephemeral values _can_ be used in provider and provisioner\n configurations, because both of those effectively meet the definition\n of the new \"ephemeral\" concept despite it not previously having a name.\n - Ephemeral markings propagate through all of the built-in language\n features for dynamic analysis purposes, largely relying on cty's efforts\n to do that in similar vein as for sensitive marks. In particular,\n it's possible to define a local value whose expression produces\n an ephemeral result, and passing ephemeral values to functions should\n propagate the ephemeral mark to the results when appropriate. (I've not\n yet thoroughly reviewed all of the built-in functions for correct\n marks handling though, so there may be some gaps to address in later\n commits.)\n\nThe next step for this work will be to change the modules runtime to have\nsupport for a workflow involving ephemeral _root_ input variables, where\ntheir values must be re-supplied during the apply phase. That will then\nachieve (in experimental capacity) the first goal of ephemeral values: to\nbe able to provide non-persistent settings such as time-limited API tokens\nto use in provider configuration blocks.","shortMessageHtmlLink":"terraform: Initial partial support for ephemeral values"}},{"before":null,"after":"1e809feb0331767e6924db760db2f3cc0c70bc9b","ref":"refs/heads/f-ephemeral-variables","pushedAt":"2024-05-31T17:02:39.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"apparentlymart","name":"Martin Atkins","path":"/apparentlymart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20180?s=80&v=4"},"commit":{"message":"configs: Variables and outputs can be \"ephemeral\"\n\nWhen the ephemeral_values experiment is active, a module author can\ndesignate individual input variables and output values as being\n\"ephemeral\", which doesn't currently do anything but in future commits\nwill represent that the values can be used only in locations that don't\nrequire Terraform to persist the value as part of state snapshots or\nsaved plan files.","shortMessageHtmlLink":"configs: Variables and outputs can be \"ephemeral\""}},{"before":"c2aad5086d6e20382775ab4803ca4ba70048a163","after":"22de83dfaa636446e3883e44ca8a624391e47533","ref":"refs/heads/v1.9","pushedAt":"2024-05-31T13:06:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"liamcervante","name":"Liam Cervante","path":"/liamcervante","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/56838463?s=80&v=4"},"commit":{"message":"clean up after 1.9.0-beta1 release","shortMessageHtmlLink":"clean up after 1.9.0-beta1 release"}},{"before":"1d251ebea2a379ed49e2c45715e4ac49dd4dfa35","after":"937e0f764bc580250f160de6c9cb53bac84ff7af","ref":"refs/heads/nf/may24-data-planned-deferred-changes","pushedAt":"2024-05-31T12:53:39.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"nfagerlund","name":"Nick Fagerlund","path":"/nfagerlund","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/484309?s=80&v=4"},"commit":{"message":"WIP: Punch a hole in the hole (don't prune root outputs with preconditions in non-destroy applies, bc their references actually mean something)","shortMessageHtmlLink":"WIP: Punch a hole in the hole (don't prune root outputs with precondi…"}},{"before":"fa657cb94cd30b1fd8d47d73425c2b2eda393d29","after":"c2aad5086d6e20382775ab4803ca4ba70048a163","ref":"refs/heads/v1.9","pushedAt":"2024-05-31T11:54:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"liamcervante","name":"Liam Cervante","path":"/liamcervante","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/56838463?s=80&v=4"},"commit":{"message":"prepare for 1.9.0-beta1 release","shortMessageHtmlLink":"prepare for 1.9.0-beta1 release"}},{"before":"cdf88b30cc944b2ea5800c345737aaca7754876d","after":"a73e4e658648e0d507e89c4cd389a2af5edf9395","ref":"refs/heads/main","pushedAt":"2024-05-31T11:50:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"liamcervante","name":"Liam Cervante","path":"/liamcervante","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/56838463?s=80&v=4"},"commit":{"message":"Update CHANGELOG.md","shortMessageHtmlLink":"Update CHANGELOG.md"}},{"before":"755740e1568cb74ba4ea8cf23a7ad277bfd6be4c","after":null,"ref":"refs/heads/liamcervante/v1.10","pushedAt":"2024-05-31T11:46:36.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"liamcervante","name":"Liam Cervante","path":"/liamcervante","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/56838463?s=80&v=4"}},{"before":"fa657cb94cd30b1fd8d47d73425c2b2eda393d29","after":"cdf88b30cc944b2ea5800c345737aaca7754876d","ref":"refs/heads/main","pushedAt":"2024-05-31T11:46:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"liamcervante","name":"Liam Cervante","path":"/liamcervante","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/56838463?s=80&v=4"},"commit":{"message":"complete creation of v1.9 branch (#35268)","shortMessageHtmlLink":"complete creation of v1.9 branch (#35268)"}},{"before":null,"after":"755740e1568cb74ba4ea8cf23a7ad277bfd6be4c","ref":"refs/heads/liamcervante/v1.10","pushedAt":"2024-05-31T11:45:51.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"liamcervante","name":"Liam Cervante","path":"/liamcervante","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/56838463?s=80&v=4"},"commit":{"message":"complete creation of v1.9 branch","shortMessageHtmlLink":"complete creation of v1.9 branch"}},{"before":null,"after":"fa657cb94cd30b1fd8d47d73425c2b2eda393d29","ref":"refs/heads/v1.9","pushedAt":"2024-05-31T11:43:36.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"liamcervante","name":"Liam Cervante","path":"/liamcervante","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/56838463?s=80&v=4"},"commit":{"message":"Merge pull request #35264 from hashicorp/revert-35231-TF-12601/deprecated-module-version-warns-rev2","shortMessageHtmlLink":"Merge pull request #35264 from hashicorp/revert-35231-TF-12601/deprec…"}},{"before":"3a5221269bc04558a776d09e20c83d31c94467f6","after":null,"ref":"refs/heads/revert-35231-TF-12601/deprecated-module-version-warns-rev2","pushedAt":"2024-05-31T11:33:21.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"brandonc","name":"Brandon Croft","path":"/brandonc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/174332?s=80&v=4"}},{"before":"be73fa30cc04c2ab0b1fd60680ccc8cb8efe8639","after":"fa657cb94cd30b1fd8d47d73425c2b2eda393d29","ref":"refs/heads/main","pushedAt":"2024-05-31T11:33:16.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"brandonc","name":"Brandon Croft","path":"/brandonc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/174332?s=80&v=4"},"commit":{"message":"Merge pull request #35264 from hashicorp/revert-35231-TF-12601/deprecated-module-version-warns-rev2","shortMessageHtmlLink":"Merge pull request #35264 from hashicorp/revert-35231-TF-12601/deprec…"}},{"before":"f75ece07526a24011d8acf4e6acb0c32e9279bb1","after":"6a8a9e16afbe866c6cec6c74f39d57eb5a2ddac9","ref":"refs/heads/liamcervante/stacks/known-to-unknown-providers","pushedAt":"2024-05-31T10:19:40.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"liamcervante","name":"Liam Cervante","path":"/liamcervante","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/56838463?s=80&v=4"},"commit":{"message":"stacks: add support for unknown for_each expressions in providers","shortMessageHtmlLink":"stacks: add support for unknown for_each expressions in providers"}},{"before":"4318d614663758d57b29534e374fc1927cf5c386","after":"f75ece07526a24011d8acf4e6acb0c32e9279bb1","ref":"refs/heads/liamcervante/stacks/known-to-unknown-providers","pushedAt":"2024-05-31T10:13:45.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"liamcervante","name":"Liam Cervante","path":"/liamcervante","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/56838463?s=80&v=4"},"commit":{"message":"stacks: add support for unknown for_each expressions in providers","shortMessageHtmlLink":"stacks: add support for unknown for_each expressions in providers"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEWaCZgwA","startCursor":null,"endCursor":null}},"title":"Activity · hashicorp/terraform"}