mirror of https://github.com/hashicorp/terraform
bump-go-getter
dependabot/go_modules/github.com/hashicorp/go-getter-1.8.6
mildwonkey/state-show-json
pss/support-dev-overrides
main
mildwonkey/import-in-module
v1.15
jbardin/reaction
sarah/workspace-list-json-output-nonbreaking
TF-35484
dynamic-module-sources-bugs
mildwonkey/action-in-resource
v1.14
radek/b-fix-pss-provider-upgrade
testing-for-tracing
ast-hclwrite-migration
backport/fix-base64-error-message/loudly-proven-monster
sarah-radek-b-fix-pss-provider-upgrade
prototype-tf-migration-ast
pss/cleanup-init-gating-flag
backport/jbardin/path-matcher/legally-upright-cub
feature/34010/add-strict-mode-tf-test
add-missing-variable-loading
pss/safe-provider-download-during-init-in-automation
pss/safe-provider-download-during-init
sams/tf-test-parallel-deps-cleanup
jbardin/eval-outputs-with-types
prototype-migrate-ux
stacks-variable-validations
modernize-other-commands
modernize-graph-command-to-use-arguments
modernize-force-unlock-command-to-use-arguments
modernize-fmt-command-to-use-arguments
modernize-workspace-new-command-to-use-arguments
modernize-workspace-delete-command-to-use-arguments
modernize-workspace-select-command-to-use-arguments
modernize-workspace-list-command-to-use-arguments
modernize-logout-command-to-use-arguments
modernize-get-command-to-use-arguments
mildwonkey/action-expansion
tracing
make-ci-target
prototype-expansion-moved-3
guard-against-non-pointers-in-graph-add
prototype-expansion-moved
pss/discovery-block-download-via-download-event-callbacks
prototype-expansion-moved-2
sams/fill-nested
deprecated-resource-block-marks
modernize-console-command-to-use-arguments
modernize-providers-commands-to-use-command-package
modernize-state-commands-to-use-arguments-package
sams/skip-cleanup-release
expanding-moved-blocks
backport/dbanck/bump-otel/thankfully-picked-fish
modernize-taint-commands
modernize-state-commands
modernize-taint-commands-2
modernize-import-command
modernize-providers-lock-command
providers-command-modernization
mildwonkey/action-graph
sams/f-plan
sams/marks-provenance
tfdiags-test-helper-with-extras
pss/discovery-block-download-via-installer-as-blackbox-2
changelog-link-verification
pss/discovery-block-download-via-installer-as-blackbox
sams/jit-instances
refactor-config-types
pss/init-security-workflow-changes
experimental/sams_matej/safe_targeting
sams/feat-targeting
sarah/workspace-list-using-views
v1.11
v1.13
v1.12
matejrisek/actions/on_failure
prototype-destroy-action
limit-usage-of-deep-unmarking
use-deprecation-marks-for-resource-deprecation-2
shweta/remove_extra_color_code_in_plan_string
sarah/init-cmd-testing-comments
prepare/1.15.0-alpha20260114
stacks-destory-argument
pss/validate-backend-state-store-config-in-plans
pss/change-experiment-control
example-current-experiment
sarah/allow-experiment-overrides
use-deprecation-marks-for-resource-deprecation
deprecation-marks-2
fix-actions-not-respecting-resource-dependencies
changelog-fix-2
changelog-fix
backport/stacks-surface-diagnostics-from-locals/externally-sacred-snapper
backport/fails-in-apply-should-not-set-empty-state/gladly-leading-cattle
stacks-invalid-locals
jbardin/terraform-data-write-only
undeferred-components-should-not-have-unknown-inputs
mildwonkey/actions-deps-tests
pss/update-how-operations-use-backend-config-state
mildwonkey/poc
sarah/plan-workspace-not-used-test
compliance/update-headers
1.13-bump-crypto-dep
experimental/add-on-failure
mjyocca/TF-25756-tf-reg-comp-protocol
prepare/1.15.0-alpha20251117
backport/bump-golang-crypto/lovely-cheerful-stud
proto/reg-comp
deprecation-structural-detection
backport/liamcervante/37841/remarkably-classic-tapir
deprecation-without-marks
azure/fix-empty-string-ignore
backport/dependabot/go_modules/golang.org/x/crypto-0.45.0/nominally-still-dory
backport/radek/pss-isolate-init/slowly-literate-molly
backport/dbanck/fix-list-no-identity-crash/vastly-driving-pig
backport/liamcervante/ephemeral-outputs-state/thankfully-easy-spider
backport/liamcervante/stacks/component-ephemeral-output/repeatedly-perfect-molly
backport/t-bump-go-getter/clearly-master-chow
mildwonkey/de-feral-actions
backport/alanpchua/update-release-scan-config/conversely-adequate-weevil
backport/alanpchua/update-release-scan-config/merely-together-hagfish
backport/liamcervante/ephemerals/stacks-and-tests/indirectly-arriving-shrimp
pss/add-pss-implementations-in-grpcwrap
liamcervante/37784
deps-oci-sdk-update
deprecation-marks
fix-action-targeting-2-backport-1-14
backport/refactor-action-apply-graph/gratefully-upward-perch
backport/liamcervante/actions/validate-ephemeral/remotely-next-monster
pss/2025-10-init-new-workdir
sams/query-validate-identity-change
backport/dbanck/check-identity-schema-decode/notably-heroic-moose
add-duration-to-action-complete
liamcervante/actions/defers-with-edges
backport/mildwonkey/actions/dont-panic-on-refresh/commonly-needed-bullfrog
backport/add-test-case-for-conditions-referencing-triggering-resource/forcibly-square-wahoo
fix-query-action-interference-2
fix-query-action-interference
sams/xtract-config
backport/sams/list-remove-experiments/rapidly-usable-macaque
mend-security/deploy-workflow-psirt_prd0014263
pss/migrate-state-store-to-backend
TF-27458-2-old
TF-27458-with-partial-expansion
TF-27480
TF-27458-with-partial-expansion-based-on-validation
sarah/add-azure-backend-testing-notes
TF-27460-with-unknown-conditions
TF-27460-with-count-and-index
pss/update-workspace-commands
actions/invoke-command-prototype
actions-in-modules
backport/sams/flaky-test/reliably-fond-flounder
equivalence-testing/add-action-invocations-to-summary
actions/prototype-looping-syntax
TF-27458-old
experiment/actions-no-reference-cycle
pss/prototyping-2025-08-12
backport/dbanck/identity-apply-error/wildly-intent-chamois
backport/dbanck/identity-apply-error/newly-pumped-bonefish
backport/dbanck/identity-apply-error/naturally-vital-grouper
pss/prototyping-2025-06-11
backport/dbanck/identity-apply-error/notably-allowing-macaw
provider-using-hashicorp-namespace
sams/exp/test-breakpoints
pss/enable-specific-experiment-for-init-via-flag
diagnostics-playground
local-state-via-terraform-provider
revert-37307-sams/no-runtime-build
TF-27252
stack-cli-download-in-plugin-cache
radek/pss-builtin-provider-impl
jbardin/ignore_changes
TF-25933
radek/pluggable-backends-protocol
sams/memo-eval-ctx
pss/warning-ss-in-child-module
radek/f-state-storage-cfg
ds-experimenting
sams/parallel-cleanup
bump/consul-remote-state-deps
build-workflow-dev/validate-window-symlink-pack-fix
fix-windows-symlink
sarah/pss-prototype-be-state
backport/radditude/remove-cgo-default/personally-calm-cat
v1.7
v1.6
v1.3
v1.10
v1.9
v1.8
v1.1
v1.0
backport/patch-1/virtually-up-fowl
v1.2
v1.4
v1.5
backport/patch-1/finally-wired-stingray
backport/patch-1/suddenly-stirred-piranha
backport/patch-1/nationally-working-kite
backport/bmm/update-use-cases/lovely-relevant-haddock
docs/reference-rewrites-phrase-1
backport/ilu/bump-vul/logically-robust-tomcat
sarah/pss-prototype-backend-state
backport/dbanck/fix-import-ui-identity/hugely-super-hippo
sams/tfquery-execute-res
sams/ephem-blocks
fixing-stacks-plugin-server-panics
sams/query-list
stacks-subcommand-plugin
backport/dbanck/relax-identity-validation/partly-bursting-llama
f-terraform-actions
backport/iframe-to-videoembed/promptly-grand-turtle
backport/iframe-to-videoembed/safely-ideal-platypus
backport/iframe-to-videoembed/strongly-capable-maggot
backport/dbanck/validate-identity-matches-schema/carefully-many-malamute
sarah/merge-main-controlling-destroys
sarah/partial-config-nested-attrs-bugfix
refactor-with-hcloverlay
f-controlling-destroys
docs/resource-block-ref-rewrite
sarah/add-file-fields
rs/remove_io_links
radek/testing-remove-unused-fields
sams/invalid-triggered-by-ref
docs/march-sprint-lang-rewrites
TF-24447-spike-stacks-cli-as-a-plugin
sarah/refactor-local-state-backend
tfmigrate-links
sams/deferred-targeting
output-deprecation
TF-24682-save
sams/inverse-target
sams/fix-single-wrapped-null
update-aws-sdk-go-base
RK/feedback-on-ephemeral-value-changes
RK/checks-draft
sams/resource-level-concurrency
sarah/auto-label-no-changelog
stacks-debugging-info
backport/sams/tf-test
backport/sams/fix-empty-state/cleanly-moral-maggot
backport/oss/solely-organic-gull
test-changie-check
backport/docs/stacks-deploy/clearly-curious-lioness
sarah/TF-21877
backport/IPL-7602/saved-plan-apply-hangs-with-auto-approve-flag/privately-humorous-jay
output-deprecation-with-marks
sams/cancel-ch-to-ctx
demo-pr
backport/changelog-and-experiments/adequately-ultimate-pika
sams/tf-test-parallel
backport-changie-changelog-to-1-10
cleanup/1.11.0-beta1
backport-changie-changelog
prepare/1.11.0-alpha20250107
prepare/-alpha20250107
ds/main-clean
Content-rewrites-part-1
TF-21851
TF-21851-only-dynamic-backend-first-try
release-0-10-3
equivalence-testing/sams/skip-graph-cycle-validation
f-builtin-write-only-attr
changelog-process
equivalence-testing/update-backend-comments
TF-21877
release/liamcervante-testing
cleanup-1.10-rc.3
equivalence-testing/jbardin/data-depends_on
input-deprecation
equivalence-testing/docs/dnf5
TF-18617-remove-in-the-end-version
equivalence-testing/docs/update-version-constraints-operators-reference
equivalence-testing/main
equivalence-testing/fix/typo-infrastructure
jbardin/no-refresh-objcompat
equivalence-testing/d-update-json-schema
equivalence-testing/jbardin/undeclared-vars
TF-21888
backport/jbardin/ephemeral-funcs/safely-quick-cougar
backport/dependabot/go_modules/github.com/golang-jwt/jwt/v4-4.5.1/daily-probable-ewe
rln-ephemeral-values-updates
trying-to-get-interactive-inputs-to-work
RK/ephemeral-values
ensure-checks-dont-leak-ephemeral-values
ephemeral-checks
add-ephemeral-func
ds/experiment/trigger-block
TF-18609
TF-18610-with-cross-component-ephemeral-values
backport/patch-1/hopelessly-enabled-magpie
ds/deferred-ephemeral-resources-with-change
ds/deferred-ephemeral-resources
ds/office-hours-removed-block
20240919
improve-error-message-for-removed-block-component-collission
apply-destroy-and-forget-plans
nolegacysdk-azure
add-removed-blocks-to-find-stack-config-components-rpc-call
radek/f-ev-ephemeral-func
radek/f-ev-variable-validation
docs/cli-nav-rename
docs/write-configuration-proposal
alisdair/stacks/sensitive-inputs
kmoe/render-output-sensitivity-changes
brandonc/plan_options_replace
brandonc/contains_equality_docs
docs/re-reformat-templatestring-funct
make-plan-public-with-deferred-plan-renderer
make-plan-public-with-deferred-plan-renderer-2
make-plan-public
TF-19059
artifact-manifest/main/presumably-calm-ostrich
jbardin/destroy-validations
f-collections-iterators
revert-32615-patch-1
TF-18435
TF-18463-2
TF-18463
TF-9822
b-variable-default-validation-context
TF-13968
TF-10919
spike-component-remove
f-actions-prototype
TF-17949
kmoe/ephemeral-output-values
f-core-finer-semaphore
f-fmt-required-providers
f-ephemeral-values
f-ephemeral-values-2
b-stacks-apply-variables-not-passed
f-ephemeral-values-stacks
docs/atrujill0-1.9-review
doc-provider-req-cta
f-cmd-console-release-lock
RK/renameAzureAD
f-rpcapi-multipkg
f-stacks-state-plan-handles
TF-13085
TF-13952
f-templatestring-dynamic-traversals
bmm/migrate-tf-phases-doc
f-events-actions
apparentlymart-patch-4
brandonc/deprecated_module_warnings
mjyocca/stacks-rpcapi-package-service
sebasslash/tf-15302_modifiable-snapshot-interval
TF-12601/deprecated-module-warnings
f-stacks-provider-singletons
b-plan-snapshot-experiments
TF-13965
backend/azure/update-to-latest-sdks
docs/atrujillo/lang-add-moved-ref
consistency-provider-deferred
nf/apr24-pr-template
TF-14641
TF-13964
TF-13963
nf/may24-alpha-release
jbardin/plan-valid-nested-null
ensure-all-deferred-provider-workflows-have-same-behavior
TF-13961
f-collections-set-zeroval
backport/RK/fix-links/adequately-related-bear
backport/RK/fix-links/willingly-ultimate-catfish
RK/fix-links
f-stacks-provider-cancel
testing-renovate
f-robust-marks-handling
tf-init-json
TF-13960
TF-13959
radditude/fix-provider-for-each
f-junit-xml-round-2
TF-13960-old
TF-13959-old
TF-13958-old
modify-dev-override-warn-with-backend
TF-13951
bmm/fix-style-anchor
WAF-110-Terraform-Code-Style-Guide
bmm/custom-condition-docs-fix
doc-dependency-updates
f-rehearse-gosum-changes
f-genconfig-hclwrite
f-no-more-helperschema
TF-13084
radditude/stacks-checkable
f-removed-provisioners
TF-10521-Implement-component-resource-correlators-in-the-agent
b-stacks-remove-data-resource
laurenolivia/changelog-fix-cloud-colorize
kmoe/dynamic-foreach-sensitive-error
alisdair/stackeval-hook-replace-action-counts-slice
alisdair/stackeval-hook-replace-action-counts
radditude/standard-panics
improve-dynamic-block-iterator-error
backport/patch-1/lovely-splendid-mackerel
improve-dynamic-block-error-message
document-provider-lock-using-cache
individual-element-diffs
b-evalcontext-funcs-in-partial-expanded-module
fix-is-sensitive
f-plan-applyable-complete-flags
use-plugin-cache-for-provider-lock
b-terraform-test-junit-invalid
heat/chore/update-website-node-version
f-deferred-actions-placeholder-eval
RK/fix-nav-upgrade-name
laurenolivia/fix-cloud-colorize
apparentlymart-patch-3
alisdair/stacks-sensitive-component-outputs
f-stacks-apply-ordering
kmoe/forget-plan-proto-2
backport/bmm/tf-test-mock-doc-update/trivially-kind-burro
bmm/tf-test-mock-doc-update
feature/applied_changes/add_component_addr
gh-issue-34396
brandonc/bump_go-slug_0.13.3
backport/patch-1/scarcely-touched-jennet
sebasslash/cloudplugin_terminal
RELPLAT-955-EOY-license-updates
feature/add-additional-fields-to-resource-proto
f-module-eval-plan
f-deferred-actions
apparentlymart-patch-2
f-addrs-localval-uniquekey
radditude/apply-sensitive-values
f-cmd-graph-simpler
jbardin/provider-functions
RK/update-oracle-registry-links
f-sso-endpoint
dep-minor-upgrades-v1.7
kmoe/import-moved-validation
tests_docs_fixup
apparentlymart-patch-1
b-val-refinements-panics
backport/mock-importstate-data-race/adversely-prompt-halibut
backport/s3/fix-coerce-value/certainly-saving-owl
backport/s3/fix-coerce-value/deeply-on-marlin
backport/s3/f-schema-single-nested-object/accurately-noble-stingray
backport/s3/f-schema-single-nested-object/miserably-well-arachnid
s3/f-check-for-bucket-in-init
backport/s3/improved-s3-error-messages/extremely-natural-filly
backport/TF-9149-terraform-1-5-should-not-enable-snapshots-when-x-terraform-snapshot-interval-is-not-sent/ghastly-social-hippo
s3/request-logging
backport/s3/request-logging/locally-feasible-snail
backport/s3/testing-endpoints/nominally-becoming-caiman
backport/s3/testing-endpoints/possibly-supreme-kite
backport/s3/testing-endpoints/strangely-cunning-manatee
s3/log-base
backport/s3/log-base/blatantly-ethical-buffalo
backport/TF-9149-terraform-1-5-should-not-enable-snapshots-when-x-terraform-snapshot-interval-is-not-sent/remarkably-moral-oriole
backport/TF-9149-terraform-1-5-should-not-enable-snapshots-when-x-terraform-snapshot-interval-is-not-sent/remarkably-stunning-mule
backport/TF-9149-terraform-1-5-should-not-enable-snapshots-when-x-terraform-snapshot-interval-is-not-sent/naturally-wise-primate
backport/jbardin/types/gently-unbiased-walleye
backport/jbardin/types/loudly-hot-poodle
alisdair-patch-1
backport/s3/allow-forbid-account-ids/rarely-casual-louse
backport/s3/allow-forbid-account-ids/violently-on-adder
alisdair/check-results-state-compatibility-1.5
backport/alisdair/check-results-state-compatibility/jointly-curious-kit
alisdair/check-results-state-compatibility-1.3
IPL-3022-terraform-cloud-state-locking-regression-for-local-users
brandonc/state_upload_fallback
import-id-interp-docs
go1.21
radditude/validate-module-names
brandonc/CHANGELOG-go-tfe-bump-v1.38.1
swap_ironbank_stanza
codeowners-core
enable_ironbank
backport/brandonc/bump_go-tfe_v1.32.1/adversely-fit-mite
radditude/check-ci
RK/remove-language
compliance/license-updates
compliance/license-update
s3/more-validation-modernization
update-linux-package-license
backport/jbardin/init-from-module-warnings/informally-trusting-asp
radditude/go-1.20.7
sebasslash/saved-cloud-plans-changelog
cli-team/saved-cloud-plans
brandonc/changelog_33333
TF-7327-using-multiple-terraform-remote-state-data-sources-can-cause-race-conditions-when-the-backend-configuring-localterraform-com
deps-grpc-cve-2023-32731
TF-7056-uploading-state-directly-to-hosted-state-upload-url-when-available
b-svchost-race-panic-v1.5
backport/b-svchost-race-panic/evidently-intense-horse
RK/add-checks-tutorial-and-fix-headers
sebasslash/snapshot-interval-header-check
RELENG-297-patch-set-output-deprecation
backport/fix-iss-33220/allegedly-oriented-warthog
kmoe/genconfig-timeouts
radditude/duplicate-import-blocks
TF-6378-Workspaces-can-use-agent-pools-when-not-in-allowed-workspaces
sarah-test-changes
nf/suggest/laurenolivia/codify-remote-plan-artifact
radditude/ci-test
jbardin/import-with-config
vravind1/plugin-framework-tutorial
alisdair/goimports-fixes
releng/disable-reproducability-checks
f-sourcebundle
laurenolivia/add-resource-drift-logtype
kmoe/plannable-import-plan-renderer
kmoe/plannable-import-types
jbardin/provider-resource-types
backport/patch-1/personally-brave-snapper
tf-5529-sro-tfe-version-check
bflad/debugging-link-to-provider-logging
releng/fix-ecr-tag
releng/fix-trigger-dependencies
releng/migrate-common-release-tooling
b-1.4-no-cty-refinements-yet
backport/patch-3/horribly-patient-ape
f-deferred-actions-old
judith/state
releng/test-linux-arm-tests
ashleemboyer-patch-1
doc-break-plugin-cache-env
docs/amb.migrate-link-formats
f-break-plugin-cache-with-env-var
brandonc/TF-4560
sebasslash/sro-provisioner-logs
sebasslash/fix-credentials-sourcing-backend
sebasslash/cloud-e2e-testworkflow
TF-3527-detect-alias-localterraform-com-during-terraform-init
alisdair/hcl-v2.16.0
f-smoke-test-prototype
f-typeexpr-inferred
kmoe-patch-1
kmoe/import-refresh-false
f-default-provider-address-allowlist
mktg-tf-ee07f063062f473a65a2c1d9c3036251
null-values-fix
f-output-value-types
backport/fix-future-lang-2/mostly-helped-shrew
fix-future-lang-2
f-cli-hide-fast-refresh
f-cmd-web
doc-unicode-hcl
brandonc/changelog_sensitive_diff_fixes
brandonc/changelog_nested_sensitive
f-build-go1.19.3
fix-links-devdot
brandonc/providers-estimate
brandonc/nested_attr_sensitive
fix-future-facing-language
gcs-backend-add-private-connect-support
mg_no_code_prov_followup
add-cont-valid-callout
f-partial-plan-on-error
gcs-backend-add-kms
doc-yamlencode-stable
mg_cli_install_architectures
b-check-output-multi-expand
b-check-resource-multi-expand
uk1288-redact-output-sensitive-values
fix-internals-overview
update-lang-frontmatter
megan_pr_touch_up
kmoe/init-checksum-miss-error
dividers-devdot-fixes
fix-dividers-for-devdot
megan_tf563
f-dynamic-provider-assignment
dev-portal-updates-docs
f-persistent-checks-old
f-jsonstate-2
b-flatten-panic
backport/patch-1/badly-correct-zebra
backport/patch-1/fully-fine-macaw
backport/patch-1/globally-true-burro
backport/patch-1/heavily-moving-teal
backport/patch-1/overly-fleet-polecat
backport/patch-1/presently-upright-newt
backport/patch-1/yearly-first-impala
update-readme
backport/patch-1/yearly-rich-skunk
tiny-fix-readme
kevin/remove-guides-docs
remove-terraform-docs
docs-readme-updates-versioned-docs
module-invocation-warning
update-important-section
f-expand-root-outputs
f-addrs-static-checkable
gs/add-pre-plan-run-tasks
f-moduletest-2
stable-website
backport/bugfix_typos/hardly-sharp-mosquito
fix-readme-again
fix-cdktf-link
backport/fix-apt-page/abnormally-relative-quagga
fix-apt-page
laura-update-docs-readme
MatthewTestBranch
tfexec-0.17.0
add-jsonstate-to-cloudbackendstate2
update-optional-type-attributes
docs-for-each-list-toset
add-jsonstate-to-cloudbackendstate
add-internals-to-sidebar
backport/patch-1/rarely-informed-gopher
f-functions-in-providers
f-testing-with-conditions
add-warnings-backends
add-version-notes-1.2
add-tutorial-custom-conditions
non-interactive-workflows
alisdair/fix-configload-snapshot-panic
fix-postconditions-example
f-partial-plan-on-error-ui
thiskevinwang-patch-1
brandonc/cloud_upgrade_013
update-run-task-result
taiidani/cloudScheme
brandonc/scheme_override_cloud
alisdair/metadata-functions-command
update-runtasks
add-note-about-spaces
sebasslash/err-approval-input-false
sebasslash/config-token-precedence
kevin/preview
update-TF-WORKSPACE-variable
sebasslash/rename-env-vars
laura-update-pre-post-conditions
release-notes-env-credentials
rt-changelog-entry-1.1
sebasslash/env-cloud-e2e-tests
sebasslash/add-cloud-e2e-test-workflow
sebasslash/tf-workspace-cloud-config
kevin/vercel-config
build-pr-checks
uk1288/update-changelog-md-v1-1
uk1288/update-changelog-md
sebasslash/resolve-flaky-env-var-test
uk1288/fix-for-cloud-integration-panic
sebasslash/add-tf-hostname-env-var
f-init-provider-source-feedback
sebasslash/add-tf-org-env-var
uturunku1-patch-2
link_workflow_tutorials
migrate-go-tfe-1_0
f-ng-workflow
uturunku1-patch-1
update-cidrnetmask-docs
tchupp/override-local-vars
backport/barrettclark/update-go-slug/severely-destined-crow
preapply-runtasks-clioutput
fix-broken-link
kmoe/unused-resource-attributes
f-e2etest-deps-forbidden
alisdair/disable-preconditions-postconditions
update-depends-on-docs
fix-preconditions
preapply-runtasks-cli-output
barrettclark/fix-state-outputs-read-permissions
fix-last-intro-nits
fix-intro-page-images
add-new-intro-docs
fix-provisioners-content
update-packaging-action-name
update_gen_meta
f-diagnostics-cli-reorg
test-branch-protection-workflow
alisdair/resource-instance-object-dependencies
f-new-build-pipeline
f-implied-move-module-call
b-1.1-module-source-git
backport/doc-refactoring-nav-link/honestly-sweet-sawfly
tfc-integration-docs
f-svcauth-environment
f-preconditions-postconditions
nf/nov21-migrate-away-from-cloud
tags-reconfigure-msg
backport/jbardin/k8s-mod-update/likely-probable-falcon
lafentres/autolabel-dependabot-prs
cloud-e2e-fix
f-validate-lint
f-rpcplugin-interface
brandonc/variable_parsing_refactor
nq.docs-content-update
backport/jbardin/coerce-value-nested-types/certainly-rested-chigger
backport/jbardin/optional-attrs/obviously-growing-duck
f-plugin-finder
backport/main/absolutely-sterling-whippet
revert-29088-minify_jsonencode
omarismail/run-vars
backport/jbardin/format-empty-nested-attrs/rightly-uncommon-bluegill
backport/jbardin/format-id-name-marks/perfectly-boss-bass
b-miekg-dns-upgrade
f-unused-attr
backport/jbardin/ignore-changes-marks/formerly-new-insect
prototype-implicit-graph
f-moved-again
f-decode-moved
f-derived-values-tracking
alisdair/prototype-moved-actions
v0.15
doc-config-refactoring
review-1.0-docs
f-template-values
cgriggs01-tpdp-default
f-plan-immediate-ops
backport/f-plan-refresh-only-and-replace/really-absolute-silkworm
backport/f-plan-action-reason/incredibly-concrete-jackal
v0.14
v0.13
v0.11
v0.12
f-submodule-outputs-inferred-sensitive
backport/k8s-backend-credentials/radically-decent-mite
res-add-learn-link-debug
f-func-expandnull
f-new-plan-modes
alisdair/version-should-include-prerelease
f-debugger
update-tfe-login-flow
json-schema-export-crash
f-exprstress
alisdair/still-applying-consolidation
f-fewer-apply-updates
pselle/env_delete
b-tf-builtin-provider-parser-fix
f-gen-integration-tests
jan21_language_urls
jan21_url_rfc
b-dev-overrides-plan-warning
jan21_test_broken_link_check
f-prototype-workspaces-are-states
f-cmd-output-raw
pault/0.14-tfce-continue-on-error
cmd-fmt-parens-error
alisdair/mildwonkey/type-func
revamp-cli-config
f-prototype-drift
gitrgoliveira-patch-1
fix-value-assertion-errors
f-nix-legacy-providers
26258
alisdair/are-consul-tests-running
f-temp-without-provider-blocks
f-depfile-pkg
alisdair/plan-summary-after-changes
mnomitch/varialbe-errors-on-remote-backend
alisdair/concise-diff-experiment
alisdair/remote-input-variable-unset
alisdair/backend-config-override-fix-remote-test
f-skip-attrs-as-blocks
alisdair/duplicate-no-color
cgriggs01-stable-pdp
guide-v0.13-beta
july2020_pre0.13_stable-website_backup
f-terraform-version-lock
b-module-instance-resource-deps
f-playground
alisdair/alpine-latest
alisdair/providers-list
f-provider-http-mirrors
f-providers-mirror-2
f-outputs-plan
f-plan-reads
f-cmdline-funcs
ps-protocol2
k8sback
f-refresh-plan
alisdair/getproviders-retries-bad-branch-do-not-use
registry-provider-tiers
f-providerinst-command-tests
f-provider-source-local-discovery
f-cmd-show-config
f-langserver
paddy_module_attribution_tmp
f-providers-new-installer
paddy_paul_proto52
f-providers-mirror
f-cliconfig-hcl2api
build-circleci
f-possible-apply-refactoring
f-core-rpc
f-provider-state-storage
f-workspaces2-prototype
p-go-azure-helpers-0.10.0
f-func-cidrsubnets
regenerate-protobufs
f-resource-for_each-and-experiments
f-testing-eval-prototype
sdk-removed
Incident16886
f-state-upgrade-always
sdk-v0.11-with-go-modules
pluginsdk-v0.12-early8
pluginsdk-v0.12-early7
pluginsdk-v0.12-early6
pluginsdk-v0.12-early5
cd/deprecate-in-docs
pluginsdk-v0.12-early4
pluginsdk-v0.12-early3
f-objchange-nulls
b-nested-set-unknown
b-sdk-nested-id
vendor-bump-hil
b-sdk-import-verify-test
pluginsdk-v0.12-early2
pluginsdk-v0.12-early1
v011
v0.12-alpha
allthingsclowd-patch-1
f-v0.12-cmdvars
f-outputs-in-plan
azurerm-backend-proxy
go1.11rc1-vendor-experiment
f-hcl2-planstate
f-provider-schema-init
f-hcl2-context-old
proto-test-harness
f-svchost-disco
v1.4.2
v1.4.1
v1.4.0
v1.4.0-rc1
v1.3.9
v1.4.0-beta2
v1.3.8
v1.4.0-beta1
v1.3.7
v1.4.0-alpha20221207
v1.3.6
v1.3.5
v1.4.0-alpha20221109
v1.3.4
v1.3.3
v1.3.2
v1.3.1
v1.3.0
v1.3.0-rc1
v1.2.9
v1.3.0-beta1
v1.2.8
v1.3.0-alpha20220817
v1.2.7
v1.3.0-alpha20220803
v1.2.6
v1.2.5
v1.3.0-alpha20220706
v1.2.4
v1.3.0-alpha20220622
v1.2.3
v1.3.0-alpha20220608
v1.2.2
v1.2.1
v1.3.0-dev
v1.2.0
v1.2.0-rc2
v1.2.0-rc1
v1.2.0-beta1
v1.1.9
v1.2.0-alpha20220413
v1.1.8
v1.2.0-alpha-20220328
v1.1.7
v1.1.6
v1.1.5
v1.1.4
v1.1.3
v1.1.2
v1.1.1
v1.1.0
v1.1.0-rc1
v1.1.0-beta2
v1.0.11
v1.1.0-beta1
v1.1.0-alpha20211029
v1.0.10
v1.1.0-alpha20211020
v1.0.9
v1.1.0-alpha20211006
v1.0.8
v1.1.0-alpha20210922
v1.0.7
v1.1.0-alpha20210908
v1.0.6
v1.0.5
v1.1.0-alpha20210811
v1.0.4
v1.1.0-alpha20210728
v1.0.3
v1.1.0-alpha20210714
v1.0.2
v1.1.0-alpha20210630
v1.0.1
v1.1.0-alpha20210616
v1.0.0
v0.15.5
v0.15.4
v0.15.3
v0.15.2
v0.11.15
v0.12.31
v0.13.7
v0.14.11
v0.15.1
v0.15.0
v0.14.10
v0.15.0-rc2
v0.15.0-rc1
v0.14.9
v0.15.0-beta2
v0.14.8
v0.15.0-beta1
v0.14.7
v0.15.0-alpha20210210
v0.14.6
v0.15.0-alpha20210127
v0.14.5
v0.15.0-alpha20210107
v0.14.4
v0.13.6
v0.12.30
v0.14.3
v0.14.2
v0.14.1
v0.14.0
v0.14.0-rc1
v0.14.0-beta2
v0.13.5
v0.14.0-beta1
v0.14.0-alpha20201007
v0.13.4
v0.14.0-alpha20200923
v0.13.3
v0.14.0-alpha20200910
v0.13.2
v0.13.1
v0.13.0
v0.12.29
v0.13.0-rc1
v0.13.0-beta3
v0.12.28
v0.12.27
v0.13.0-beta2
v0.13.0-beta1
v0.12.26
v0.12.25
v0.12.24
v0.12.23
v0.12.22
v0.12.21
v0.12.20
v0.12.19
v0.12.18
v0.12.17
v0.12.16
v0.12.15
v0.12.14
v0.12.13
v0.12.12
v0.12.11
v0.12.10
v0.12.9
v0.12.8
v0.12.7
v0.12.6
v0.12.5
v0.12.4
v0.12.3
v0.12.2
v0.12.1
v0.12.0
v0.12.0-dev20190520H16
v0.11.14
v0.12.0-rc1
v0.12.0-beta2
v0.11.13
v0.11.12
v0.12.0-beta1
v0.11.12-beta1
v0.11.11
v0.12.0-alpha4
v0.12.0-alpha3
v0.12.0-alpha2
v0.11.10
v0.12.0-alpha1
v0.11.9
v0.11.9-beta1
v0.11.8
v0.11.7
v0.11.6
v0.11.5
v0.11.4
v0.11.3
v0.11.2
v0.11.1
v0.11.0
v0.11.0-rc1
v0.11.0-beta1
v0.10.8
v0.10.7
v0.10.6
v0.10.5
v0.10.4
v0.10.3
v0.10.2
v0.10.1
v0.10.0-rc1
v0.10.0-beta2
v0.9.11
v0.9.10
v0.9.9
v0.10.0-beta1
v0.9.8
v0.9.7
v0.9.6
v0.9.5
v0.9.4
v0.9.3
v0.9.2
v0.9.1
v0.9.0
v0.9.0-beta2
v0.8.8
v0.9.0-beta1
v0.8.7
v0.8.6
v0.8.5
v0.8.4
v0.8.3
v0.8.2
v0.8.1
v0.8.0
v0.8.0-rc3
v0.8.0-rc2
v0.7.13
v0.8.0-rc1
v0.7.12
v0.8.0-beta2
v0.7.11
v0.8.0-beta1
v0.7.9
v0.7.8
v0.7.7
v0.7.6
v0.7.5
v0.7.4
v0.7.3
v0.7.2
v0.7.1
v0.7.0
v0.7.0-rc4
v0.7.0-rc3
v0.7.0-rc2
v0.7.0-rc1
v0.6.16
v0.6.15
v0.6.14
v0.6.13
v0.6.12
v0.6.11
v0.6.10
v0.6.9
v0.6.8
v0.6.7
v0.6.6
v0.6.5
v0.6.4
v0.6.3
v0.6.2
v0.6.1
v0.6.0
v0.5.3
0.7.7
list
v0.1.0
v0.1.1
v0.10.0
v0.2.0
v0.2.1
v0.2.2
v0.3.0
v0.3.1
v0.3.5
v0.3.6
v0.3.7
v0.4.0
v0.4.1
v0.4.2
v0.5.0
v0.5.1
v0.7.10
v1.10.0
v1.10.0-alpha20240606
v1.10.0-alpha20240619
v1.10.0-alpha20240717
v1.10.0-alpha20240730
v1.10.0-alpha20240807
v1.10.0-alpha20240814
v1.10.0-alpha20240828
v1.10.0-alpha20240911
v1.10.0-alpha20240918
v1.10.0-alpha20240926
v1.10.0-alpha20241009
v1.10.0-alpha20241023
v1.10.0-beta1
v1.10.0-rc1
v1.10.0-rc2
v1.10.0-rc3
v1.10.1
v1.10.2
v1.10.3
v1.10.4
v1.10.5
v1.11.0
v1.11.0-alpha20241106
v1.11.0-alpha20241211
v1.11.0-alpha20241218
v1.11.0-alpha20250107
v1.11.0-beta1
v1.11.0-beta2
v1.11.0-rc1
v1.11.0-rc2
v1.11.0-rc3
v1.11.1
v1.11.2
v1.11.3
v1.11.4
v1.12.0
v1.12.0-alpha20250213
v1.12.0-alpha20250312
v1.12.0-alpha20250319
v1.12.0-beta1
v1.12.0-beta2
v1.12.0-beta3
v1.12.0-rc1
v1.12.0-rc2
v1.12.1
v1.12.2
v1.13.0
v1.13.0-alpha20250521
v1.13.0-alpha20250604
v1.13.0-alpha20250623
v1.13.0-alpha20250702
v1.13.0-alpha20250708
v1.13.0-beta1
v1.13.0-beta2
v1.13.0-beta3
v1.13.0-rc1
v1.13.1
v1.13.2
v1.13.3
v1.13.4
v1.13.5
v1.14.0
v1.14.0-alpha20250716
v1.14.0-alpha20250724
v1.14.0-alpha20250806
v1.14.0-alpha20250813
v1.14.0-alpha20250827
v1.14.0-alpha20250903
v1.14.0-alpha20250911
v1.14.0-beta1
v1.14.0-beta2
v1.14.0-beta3
v1.14.0-rc1
v1.14.0-rc2
v1.14.1
v1.14.2
v1.14.3
v1.14.4
v1.14.5
v1.14.6
v1.14.7
v1.14.8
v1.15.0-alpha20251119
v1.15.0-alpha20251203
v1.15.0-alpha20260204
v1.15.0-alpha20260218
v1.15.0-alpha20260304
v1.15.0-beta1
v1.15.0-beta2
v1.15.0-rc1
v1.3.10
v1.4.3
v1.4.4
v1.4.5
v1.4.6
v1.4.7
v1.5.0
v1.5.0-alpha20230405
v1.5.0-alpha20230504
v1.5.0-beta1
v1.5.0-beta2
v1.5.0-rc1
v1.5.0-rc2
v1.5.1
v1.5.2
v1.5.3
v1.5.4
v1.5.5
v1.5.6
v1.5.7
v1.6.0
v1.6.0-alpha20230719
v1.6.0-alpha20230802
v1.6.0-alpha20230816
v1.6.0-beta1
v1.6.0-beta2
v1.6.0-beta3
v1.6.0-rc1
v1.6.1
v1.6.2
v1.6.3
v1.6.4
v1.6.5
v1.6.6
v1.7.0
v1.7.0-alpha20231025
v1.7.0-alpha20231108
v1.7.0-alpha20231130
v1.7.0-beta1
v1.7.0-beta2
v1.7.0-rc1
v1.7.0-rc2
v1.7.1
v1.7.2
v1.7.3
v1.7.4
v1.7.5
v1.8.0
v1.8.0-alpha20240131
v1.8.0-alpha20240214
v1.8.0-alpha20240216
v1.8.0-alpha20240228
v1.8.0-beta1
v1.8.0-rc1
v1.8.0-rc2
v1.8.1
v1.8.2
v1.8.3
v1.8.4
v1.8.5
v1.9.0
v1.9.0-alpha20240404
v1.9.0-alpha20240501
v1.9.0-alpha20240516
v1.9.0-beta1
v1.9.0-rc1
v1.9.0-rc2
v1.9.0-rc3
v1.9.1
v1.9.2
v1.9.3
v1.9.4
v1.9.5
v1.9.6
v1.9.7
v1.9.8
${ noResults }
26 Commits (94de72c63834acea811c27a585c19eae29374a4b)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
64cf53bd7e |
configs: Fix check block configuration diagnostics
When validating self-references for resource and data source preconditions and postconditions, we previously did not nil-check the block's condition field, which caused a panic when the block had no condition. While fixing this I noticed that we were not validating that there are no self-references in the error message, so fixed that. |
4 years ago |
|
|
fda0579537 |
Experiments supported only in alpha/dev builds
We originally introduced the idea of language experiments as a way to get early feedback on not-yet-proven feature ideas, ideally as part of the initial exploration of the solution space rather than only after a solution has become relatively clear. Unfortunately, our tradeoff of making them available in normal releases behind an explicit opt-in in order to make it easier to participate in the feedback process had the unintended side-effect of making it feel okay to use experiments in production and endure the warnings they generate. This in turn has made us reluctant to make use of the experiments feature lest experiments become de-facto production features which we then feel compelled to preserve even though we aren't yet ready to graduate them to stable features. In an attempt to tweak that compromise, here we make the availability of experiments _at all_ a build-time flag which will not be set by default, and therefore experiments will not be available in most release builds. The intent (not yet implemented in this PR) is for our release process to set this flag only when it knows it's building an alpha release or a development snapshot not destined for release at all, which will therefore allow us to still use the alpha releases as a vehicle for giving feedback participants access to a feature (without needing to install a Go toolchain) but will not encourage pretending that these features are production-ready before they graduate from experimental. Only language experiments have an explicit framework for dealing with them which outlives any particular experiment, so most of the changes here are to that generalized mechanism. However, the intent is that non-language experiments, such as experimental CLI commands, would also in future check Meta.AllowExperimentalFeatures and gate the use of those experiments too, so that we can be consistent that experimental features will never be available unless you explicitly choose to use an alpha release or a custom build from source code. Since there are already some experiments active at the time of this commit which were not previously subject to this restriction, we'll pragmatically leave those as exceptions that will remain generally available for now, and so this new approach will apply only to new experiments started in the future. Once those experiments have all concluded, we will be left with no more exceptions unless we explicitly choose to make an exception for some reason we've not imagined yet. It's important that we be able to write tests that rely on experiments either being available or not being available, so here we're using our typical approach of making "package main" deal with the global setting that applies to Terraform CLI executables while making the layers below all support fine-grain selection of this behavior so that tests with different needs can run concurrently without trampling on one another. As a compromise, the integration tests in the terraform package will run with experiments enabled _by default_ since we commonly need to exercise experiments in those tests, but they can selectively opt-out if they need to by overriding the loader setting back to false again. |
4 years ago |
|
|
479c71f93d
|
Merge pull request #31210 from hashicorp/update-optional-type-attributes
Edit type constraints docs for style and flow |
4 years ago |
|
|
57c0deb01e |
check for duplicate defaults from resource names
|
4 years ago |
|
|
922de89be1 |
Conclude module variable optional attrs experiment
|
4 years ago |
|
|
2581bc93cb |
Check for duplicate types in required_providers
Adding multiple local names for the same provider type in required_providers was not prevented, which can lead to ambiguous behavior in Terraform. Providers are always indexed by the providers fully qualified name, so duplicate local names cannot be differentiated. |
4 years ago |
|
|
650380f3ae |
configs: Add default argument to optional()
The optional modifier previously accepted a single argument: the attribute type. This commit adds an optional second argument, which specifies a default value for the attribute. To record the default values for a variable's type, we use a separate parallel structure of `typeexpr.Defaults`, rather than extending `cty.Type` to include a `cty.Value` of defaults (which may in turn include a `cty.Type` with defaults, and so on, and so forth). The new `typeexpr.TypeConstraintWithDefaults` returns a type constraint and defaults value. Defaults will be `nil` unless there are default values specified somewhere in the variable's type. |
4 years ago |
|
|
6eb3264d1a |
parse replace_triggered_by in resource configs
|
4 years ago |
|
|
bb35f02c95 |
Conclude preconditions/postconditions experiment
|
4 years ago |
|
|
1879a39d2d |
configs: Refined error messages for mismatched provider passing
This set of diagnostic messages is under a number of unusual constraints
that make them tough to get right:
- They are discussing a couple finicky concepts which authors are
likely to be encountering for the first time in these error messages:
the idea of "local names" for providers, the relationship between those
and provider source addresses, and additional ("aliased") provider
configurations.
- They are reporting concerns that span across a module call boundary,
and so need to take care to be clear about whether they are talking
about a problem in the caller or a problem in the callee.
- Some of them are effectively deprecation warnings for features that
might be in use by a third-party module that the user doesn't control,
in which case they have no recourse to address them aside from opening
a feature request with the upstream module maintainer.
- Terraform has, for backward-compatibility reasons, a lot of implied
default behaviors regarding providers and provider configurations,
and these errors can arise in situations where Terraform's assumptions
don't match the author's intent, and so we need to be careful to
explain what Terraform assumed in order to make the messages
understandable.
After seeing some confusion with these messages in the community, and
being somewhat confused by some of them myself, I decided to try to edit
them a bit for consistency of terminology (both between the messages and
with terminology in our docs), being explicit about caller vs. callee
by naming them in the messages, and making explicit what would otherwise
be implicit with regard to the correspondences between provider source
addresses and local names.
My assumed audience for all of these messages is the author of the caller
module, because it's the caller who is responsible for creating the
relationship between caller and callee. As much as possible I tried to
make the messages include specific actions for that author to take to
quiet the warning or fix the error, but some of the warnings are only
fixable by the callee's maintainer and so those messages are, in effect,
a suggestion to send a request to the author to stop using a deprecated
feature.
I think these new messages are also not ideal by any means, because it's
just tough to pack so much information into concise messages while being
clear and consistent, but I hope at least this will give users seeing
these messages enough context to infer what's going on, possibly with the
help of our documentation.
I intentionally didn't change which cases Terraform will return warnings
or errors -- only the message texts -- although I did highlight in a
comment in one of the tests that what it is a asserting seems a bit
suspicious to me. I don't intend to address that here; instead, I intend
that note to be something to refer to if we later see a bug report that
calls that behavior into question.
This does actually silence some _unrelated_ warnings and errors in cases
where a provider block has an invalid provider local name as its label,
because our other functions for dealing with provider addresses are
written to panic if given invalid addresses under the assumption that
earlier code will have guarded against that. Doing this allowed for the
provider configuration validation logic to safely include more information
about the configuration as helpful context, without risking tripping over
known-invalid configuration and panicking in the process.
|
4 years ago |
|
|
b06fe04621 |
core: Check rule error message expressions
Error messages for preconditions, postconditions, and custom variable validations have until now been string literals. This commit changes this to treat the field as an HCL expression, which must evaluate to a string. Most commonly this will either be a string literal or a template expression. When the check rule condition is evaluated, we also evaluate the error message. This means that the error message should always evaluate to a string value, even if the condition passes. If it does not, this will result in an error diagnostic. If the condition fails, and the error message also fails to evaluate, we fall back to a default error message. This means that the check rule failure will still be reported, alongside diagnostics explaining why the custom error message failed to render. As part of this change, we also necessarily remove the heuristic about the error message format. This guidance can be readded in future as part of a configuration hint system. |
4 years ago |
|
|
7ded73f266 |
configs: Validate pre/postcondition self-refs
Preconditions and postconditions for resources and data sources may not refer to the address of the containing resource or data source. This commit adds a parse-time validation for this rule. |
4 years ago |
|
|
9076400436 |
configs: Decode preconditions and postconditions
This allows precondition and postcondition checks to be declared for resources and output values as long as the preconditions_postconditions experiment is enabled. Terraform Core doesn't currently know anything about these features, so as of this commit declaring them does nothing at all. |
4 years ago |
|
|
0771a214d8 |
skip provider resolution when there are errors
If there are errors loading the configuration, don't try to resolve the provider names, as those names may not even be valid. |
4 years ago |
|
|
affe2c3295 |
addrs: Expose the registry address parser's error messages
Previously we ended up losing all of the error message detail produced by the registry address parser, because we treated any registry address failure as cause to parse the address as a go-getter-style remote address instead. That led to terrible feedback in the situation where the user _was_ trying to write a module address but it was invalid in some way. Although we can't really tighten this up in the default case due to our compatibility promises, it's never been valid to use the "version" argument with anything other than a registry address and so as a compromise here we'll use the presence of "version" as a heuristic for user intent to parse the source address as a registry address, and thus we can return a registry-address-specific error message in that case and thus give more direct feedback about what was wrong. This unfortunately won't help someone trying to install from the registry _without_ a version constraint, but I didn't want to let perfect be the enemy of the good here, particularly since we recommend using version constraints with registry modules anyway; indeed, that's one of the main benefits of using a registry rather than a remote source directly. |
4 years ago |
|
|
df6dad5070
|
add failing test for IgnoreAllChanges override
|
5 years ago |
|
|
b91d9435ea
|
Merge pull request #29832 from hashicorp/jbardin/nullable-variable
configs: explicitly nullable variable values |
5 years ago |
|
|
94cbc8fb5d |
experiments: config_driven_move has concluded
Based on feedback during earlier alpha releases, we've decided to move forward with the current design for the first phase of config-driven refactoring. Therefore here we've marked the experiment as concluded with no changes to the most recent incarnation of the functionality. The other changes here are all just updating test fixtures to no longer declare that they are using experimental features. |
5 years ago |
|
|
7b7972ac95 |
allow nullable override
|
5 years ago |
|
|
f0a64eb456 |
configs: explicitly nullable variable values
The current behavior of module input variables is to allow users to override a default by assigning `null`, which works contrary to the behavior of resource attributes, and prevents explicitly accepting a default when the input must be defined in the configuration. Add a new variable attribute called `nullable` will allow explicitly defining when a variable can be set to null or not. The current default behavior is that of `nullable=true`. Setting `nullable=false` in a variable block indicates that the variable value can never be null. This either requires a non-null input value, or a non-null default value. In the case of the latter, we also opt-in to the new behavior of a `null` input value taking the default rather than overriding it. In a future language edition where we make `nullable=false` the default, setting `nullable=true` will allow the legacy behavior of `null` overriding a default value. The only future configuration in which this would be required even if the legacy behavior were not desired is when setting an optional+nullable value. In that case `default=null` would also be needed and we could therefor imply `nullable=true` without requiring it in the configuration. |
5 years ago |
|
|
18d54c1129 |
Allow cloud block overrides
These changes allow cloud blocks to be overridden by backend blocks and vice versa; the logic follows the current backend behavior of a block overriding a preceding block in full, with no merges. |
5 years ago |
|
|
a4c24e3147 |
Add cloud {} configuration block for Terraform Cloud
This is a replacement declaration for using Terraform Cloud as a remote backend, leaving the literal backend as an implementation detail and not a user-level concept. |
5 years ago |
|
|
6b8e103d6a |
configs: Include "moved" blocks when merging multiple files into a module
An earlier commit added logic to decode "moved" blocks and do static validation of them. Here we now include that result also in modules produced from those files, which we can then use in Terraform Core to actually implement the moves. This also places the feature behind an active experiment keyword called config_driven_move. For now activating this doesn't actually achieve anything except let you include moved blocks that Terraform will summarily ignore, but we'll expand the scope of this in later commits to eventually reach the point where it's really usable. |
5 years ago |
|
|
3acb5e2841
|
configs: add decodeMovedBlock behind a locked gate. (#28973)
This PR adds decoding for the upcoming "moved" blocks in configuration. This code is gated behind an experiment called EverythingIsAPlan, but the experiment is not registered as an active experiment, so it will never run (there is a test in place which will fail if the experiment is ever registered). This also adds a new function to the Targetable interface, AddrType, to simplifying comparing two addrs.Targetable. There is some validation missing still: this does not (yet) descend into resources to see if the actual resource types are the same (I've put this off in part because we will eventually need the provider schema to verify aliased resources, so I suspect this validation will have to happen later on). |
5 years ago |
|
|
1a8da65314 |
Refactoring of module source addresses and module installation
It's been a long while since we gave close attention to the codepaths for module source address parsing and external module package installation. Due to their age, these codepaths often diverged from our modern practices such as representing address types in the addrs package, and encapsulating package installation details only in a particular location. In particular, this refactor makes source address parsing a separate step from module installation, which therefore makes the result of that parsing available to other Terraform subsystems which work with the configuration representation objects. This also presented the opportunity to better encapsulate our use of go-getter into a new package "getmodules" (echoing "getproviders"), which is intended to be the only part of Terraform that directly interacts with go-getter. This is largely just a refactor of the existing functionality into a new code organization, but there is one notable change in behavior here: the source address parsing now happens during configuration loading rather than module installation, which may cause errors about invalid addresses to be returned in different situations than before. That counts as backward compatible because we only promise to remain compatible with configurations that are _valid_, which means that they can be initialized, planned, and applied without any errors. This doesn't introduce any new error cases, and instead just makes a pre-existing error case be detected earlier. Our module registry client is still using its own special module address type from registry/regsrc for now, with a small shim from the new addrs.ModuleSourceRegistry type. Hopefully in a later commit we'll also rework the registry client to work with the new address type, but this commit is already big enough as it is. |
5 years ago |
|
|
31349a9c3a |
Move configs/ to internal/configs/
This is part of a general effort to move all of Terraform's non-library package surface under internal in order to reinforce that these are for internal use within Terraform only. If you were previously importing packages under this prefix into an external codebase, you could pin to an earlier release tag as an interim solution until you've make a plan to achieve the same functionality some other way. |
5 years ago |