terraform/terraform/test-fixtures
Paul Hinze f882dd1427 core: Encode Targets in saved Planfile
When a user specifies `-target`s on a `terraform plan` and stores
the resulting diff in a plan file using `-out` - it usually works just
fine since the diff is scoped based on the targets.

When there are tainted resources in the state, however, graph nodes to
destroy them were popping back into the plan when it was being loaded
from a file. This was because Targets weren't being stored in the
Planfile, so Terraform didn't know to filter them out. (In the
non-Planfile scenario, we still had the Targets loaded directly from the
flags.)

By encoding Targets in with the Planfile we can ensure that the same
filters are always applied.

Backwards compatibility should be fine here, since we're just adding a
field. The gob encoder/decoder will just do the right thing (ignore/skip
the field) with planfiles stored w/ versions that don't know about
Targets.

Fixes #5183
2016-03-08 14:29:37 -06:00
..
apply-blank terraform: orphans should call post-apply hook [GH-1938] 2015-06-25 20:11:29 -07:00
apply-cancel dos2unix 2014-07-28 10:43:00 -07:00
apply-compute terraform: fix tests 2014-07-22 08:29:49 -07:00
apply-count-dec terraform: nil out the Diff on a resource when expanding 2014-10-09 23:15:42 -07:00
apply-count-dec-one terraform: catch scenario where both "foo" and "foo.0" are in state 2015-03-01 21:28:41 -08:00
apply-count-tainted terraform: add count tainted apply test 2014-10-12 09:41:27 -07:00
apply-count-variable terraform: test case for variable count 2014-10-17 18:03:30 -07:00
apply-depends-create-before terraform: test ordering when using create before with depedencies 2014-09-29 17:00:45 -07:00
apply-destroy terraform: test creates an actual logical dependence 2014-09-17 17:30:25 -07:00
apply-destroy-cbd core: add context test for #5096 2016-02-22 18:37:21 -06:00
apply-destroy-computed terraform: prune resources and variables 2015-07-20 08:57:34 -07:00
apply-destroy-cross-providers Add repro test case for bug #2892 2015-10-03 14:16:39 -07:00
apply-destroy-deeply-nested-module core: add failing deeply nested orphan module test 2015-07-20 10:19:52 -05:00
apply-destroy-nested-module terraform: get nested oprhans in the transform 2015-07-19 13:53:31 -07:00
apply-destroy-outputs dos2unix 2014-07-28 10:43:00 -07:00
apply-destroy-provisioner terraform: don't execute provisioners on destroy 2014-10-18 11:37:26 -07:00
apply-empty-module terraform: fix module output handling. Fixes #474 2014-11-24 19:18:52 -08:00
apply-error dos2unix 2014-07-28 10:43:00 -07:00
apply-error-create-before terraform: Testing failed apply with create_before_destroy 2014-09-29 15:20:03 -07:00
apply-good dos2unix 2014-07-28 10:43:00 -07:00
apply-good-create-before terraform: test happy path create-before-destroy 2014-09-29 15:20:04 -07:00
apply-good-create-before-update terraform: only depose state if we're doing the destroy side 2015-02-19 12:08:34 -08:00
apply-idattr dos2unix 2014-07-28 10:43:00 -07:00
apply-map-var-override core: test coverage around map key regression 2015-11-24 16:00:02 -06:00
apply-minimal terraform: minimal apply test case 2014-07-08 16:12:30 -07:00
apply-module terraform: test apply with modules 2014-09-23 17:13:50 -07:00
apply-module-bool terraform: module inputs/vars can be non-strings [GH-819] 2015-02-23 13:50:53 -08:00
apply-module-destroy-order terraform: destroy transform must happen globally 2015-05-02 18:21:00 -07:00
apply-module-only-provider terraform: all providers for ProvidedBy() should be added 2015-06-26 12:00:02 -07:00
apply-module-orphan-provider-inherit terraform: module orphans providers should inherit config 2015-06-24 17:48:31 -07:00
apply-module-provider-alias terraform: missing provider should add missing aliases [GH-2023] 2015-06-24 20:58:52 -07:00
apply-module-provider-close-nested test case 2015-07-17 10:58:47 -07:00
apply-module-var-resource-count terraform: test case for destroying with a count [GH-527] 2015-02-20 10:02:52 -08:00
apply-multi-depose-create-before-destroy core: [refactor] store Deposed resource instances as a list 2015-03-04 12:25:59 -06:00
apply-multi-provider terraform: provider cache should append the provider name to it 2015-02-19 12:08:33 -08:00
apply-multi-var terraform: test for reducing count and using splats 2015-06-23 18:25:08 -07:00
apply-output dos2unix 2014-07-28 10:43:00 -07:00
apply-output-add-after Add test attempting to reproduce #2598 2015-11-09 15:27:09 -05:00
apply-output-add-before Add test attempting to reproduce #2598 2015-11-09 15:27:09 -05:00
apply-output-invalid terraform: guard output types. Fixes #593 2014-11-24 16:49:38 -08:00
apply-output-list terraform: guard output types. Fixes #593 2014-11-24 16:49:38 -08:00
apply-output-multi config: make the interp split pretty insane 2014-10-09 22:45:22 -07:00
apply-output-multi-index dos2unix 2014-07-28 10:43:00 -07:00
apply-output-orphan terraform: EvalDeleteOutput and context test 2015-04-29 11:27:12 -07:00
apply-provider-alias Support for multiple providers of the same type 2015-04-20 14:14:34 -07:00
apply-provider-computed terraform: tests to check behavior of computed provider configs 2015-06-23 22:02:56 -07:00
apply-provider-warning core: fix crash on provider warning 2015-07-28 17:13:14 -05:00
apply-provisioner-compute terraform: add variables as graph nodes (no eval yet) 2015-04-30 16:27:20 -07:00
apply-provisioner-conninfo terraform: add variables as graph nodes (no eval yet) 2015-04-30 16:27:20 -07:00
apply-provisioner-diff terraform: ensure provisioner runs only on instance create 2014-09-22 11:15:22 -07:00
apply-provisioner-fail dos2unix 2014-07-28 10:43:00 -07:00
apply-provisioner-fail-create terraform: taint resources who error on create with provisioners 2014-10-16 23:19:07 -07:00
apply-provisioner-fail-create-before terraform: test provising fail create-before-destroy 2014-09-29 15:20:03 -07:00
apply-provisioner-multi-self-ref terraform: more self tests 2015-02-23 15:02:26 -08:00
apply-provisioner-resource-ref dos2unix 2014-07-28 10:43:00 -07:00
apply-provisioner-self-ref terraform: enable self vars 2015-02-23 14:56:02 -08:00
apply-taint dos2unix 2014-07-28 10:43:00 -07:00
apply-taint-dep terraform: test for various taint cases 2015-02-26 09:50:18 -08:00
apply-taint-dep-requires-new terraform: test for various taint cases 2015-02-26 09:50:18 -08:00
apply-tainted-targets core: Encode Targets in saved Planfile 2016-03-08 14:29:37 -06:00
apply-targeted core: fill out context tests for targeted ops 2015-03-31 14:49:38 -05:00
apply-targeted-count core: formalize resource addressing 2015-03-31 15:04:10 -05:00
apply-targeted-module core: module targeting 2015-05-05 21:58:48 -05:00
apply-targeted-module-dep core: move targets transform after flatten 2015-06-29 13:19:37 -05:00
apply-targeted-module-resource core: module targeting 2015-05-05 21:58:48 -05:00
apply-unknown dos2unix 2014-07-28 10:43:00 -07:00
apply-unknown-interpolate terraform: error if resource not found in module [GH-1997] 2015-06-24 22:25:48 -07:00
apply-vars config: HCL loader 2014-08-11 09:58:53 -07:00
apply-vars-env terraform: allow TF_VAR_name to be set to set variables 2015-04-22 06:31:53 +02:00
graph-basic config: HCL loader 2014-08-11 09:58:53 -07:00
graph-builder-basic terraform: initial GraphBuilder impl 2015-02-19 12:07:54 -08:00
graph-builder-cbd-non-cbd terraform: test case for cycle of CBD depending on non-CBD 2015-02-19 12:08:33 -08:00
graph-builder-modules terraform: expand modules in our builder 2015-02-19 12:07:57 -08:00
graph-builder-multi-level-module terraform: flattening multi-level modules works 2015-05-07 13:08:59 -07:00
graph-builder-orphan-deps terraform: orphan dependencies should be inverted 2015-06-23 20:41:02 -07:00
graph-count dos2unix 2014-07-28 10:43:00 -07:00
graph-count-var-resource terraform: dependencies in the graph from count properly show up 2014-10-02 13:54:04 -07:00
graph-cycle config: HCL loader 2014-08-11 09:58:53 -07:00
graph-depends-on dos2unix 2014-07-28 10:43:00 -07:00
graph-depends-on-count terraform: depends_on with count creates proper graph [GH-244] 2014-08-30 16:08:50 -07:00
graph-diff dos2unix 2014-07-28 10:43:00 -07:00
graph-diff-create-before terraform: Adding lifecycle config block 2014-09-29 15:20:02 -07:00
graph-diff-destroy dos2unix 2014-07-28 10:43:00 -07:00
graph-diff-module terraform: handle module dependencies with a diff 2014-09-26 09:20:01 -07:00
graph-diff-module-dep terraform: testing the destroy order of modules 2014-11-24 14:58:52 -08:00
graph-diff-module-dep-module terraform: Add more tests for cases we felt weren't well covered 2014-12-16 15:59:26 -08:00
graph-missing-deps terraform: error if config graph is missing dependencies 2015-02-19 12:07:51 -08:00
graph-module-orphan terraform: module orphans 2014-09-23 14:57:17 -07:00
graph-modules terraform: module dependencies in graph use full name (FOR THE FUTURE) 2015-04-30 17:19:01 -07:00
graph-node-module-expand terraform: module nodes expand 2015-02-19 12:07:57 -08:00
graph-node-module-flatten terraform: start FlattenGraph impl. 2015-04-30 20:46:54 -07:00
graph-outputs terraform: outputs show up in the graph 2015-02-19 12:08:02 -08:00
graph-provider-alias Support for multiple providers of the same type 2015-04-20 14:14:34 -07:00
graph-provider-prune terraform: test that unused providers are pruned 2014-09-24 16:02:42 -07:00
graph-provisioners config: HCL loader 2014-08-11 09:58:53 -07:00
graph-resource-expand terraform: turn resource expand into graph 2014-10-12 08:57:08 -07:00
graph-resource-expand-prov-deps terraform: provisioner dependencies are reflected in graph 2014-10-12 09:15:26 -07:00
graph-tainted terraform: graph tainted resources into the graph 2014-09-19 21:29:48 -06:00
input-bad-var-default terraform: don't panic on input for bad default type [GH-1344] 2015-04-18 16:31:21 -07:00
input-provider terraform: ask for input for providers 2014-09-29 09:13:15 -07:00
input-provider-multi terraform: test input with multiple providers 2015-04-20 14:59:03 -07:00
input-provider-once terraform: Input should only be called on providers once 2015-02-20 15:35:57 -08:00
input-provider-vars terraform: add InputMode to determine what is asked for 2014-10-08 10:18:45 -07:00
input-provider-with-vars terraform: failling test case for a bug 2014-10-18 14:36:34 -07:00
input-provider-with-vars-and-module terraform: fix provider config inheritance during input 2015-04-10 16:28:47 -05:00
input-var-default core: don't prompt for variables with defaults 2015-07-02 10:40:30 -05:00
input-var-partially-computed core: don't error on computed value during input walk 2015-08-12 14:23:33 -05:00
input-vars terraform: Input() asks for variable inputs 2014-09-28 23:37:36 -07:00
input-vars-unset terraform: add input mode to only ask for unset variables 2015-03-24 13:30:21 -07:00
interpolate-multi-vars interpolate: Expand computed TypeList attributes properly 2015-08-27 13:02:02 +01:00
interpolate-path-module terraform: pulling out everything into Interpolater 2015-02-19 12:07:56 -08:00
interpolate-resource-variable terraform: splatting with computed values is computed [GH-2744] 2015-07-19 17:27:38 -07:00
issue-5254 terraform: issue 5254 test case (not yet working) 2016-02-24 10:55:55 -05:00
new-good dos2unix 2014-07-28 10:43:00 -07:00
new-graph-cycle dos2unix 2014-07-28 10:43:00 -07:00
new-pc-cache dos2unix 2014-07-28 10:43:00 -07:00
new-provider-validate dos2unix 2014-07-28 10:43:00 -07:00
new-variables dos2unix 2014-07-28 10:43:00 -07:00
plan-cbd-maintain-root core: respect roots in CBD transform 2015-05-13 17:53:42 -05:00
plan-computed dos2unix 2014-07-28 10:43:00 -07:00
plan-computed-list core: check sets for computed [GH-247] 2014-08-30 17:26:10 -07:00
plan-count config: make the interp split pretty insane 2014-10-09 22:45:22 -07:00
plan-count-computed terraform: counts can't be computed 2014-10-02 16:21:17 -07:00
plan-count-dec dos2unix 2014-07-28 10:43:00 -07:00
plan-count-inc dos2unix 2014-07-28 10:43:00 -07:00
plan-count-index terraform: count.index 2014-10-02 22:02:59 -07:00
plan-count-index-zero terraform: another test for count index 2014-10-02 22:07:23 -07:00
plan-count-one-index terraform: test count = 1 variable access 2014-10-02 17:24:22 -07:00
plan-count-var config: make the interp split pretty insane 2014-10-09 22:45:22 -07:00
plan-count-zero terraform: test count == zero 2014-10-02 17:18:40 -07:00
plan-destroy dos2unix 2014-07-28 10:43:00 -07:00
plan-diffvar dos2unix 2014-07-28 10:43:00 -07:00
plan-empty dos2unix 2014-07-28 10:43:00 -07:00
plan-escaped-var terraform: failing test case 2016-01-19 12:37:55 -08:00
plan-good dos2unix 2014-07-28 10:43:00 -07:00
plan-ignore-changes Adding ignore_changes lifecycle meta property 2015-10-14 16:34:27 -05:00
plan-module-cycle terraform: prune tainted destroys if no tainted in state [GH-1475] 2015-04-14 10:48:45 -07:00
plan-module-deadlock core: fix deadlock w/ CBD + modules 2015-05-13 13:05:43 -05:00
plan-module-destroy terraform: destroy plans work with modules 2014-09-25 20:44:34 -07:00
plan-module-destroy-gh-1835 terraform: don't include variables in destroy node requirements 2015-05-06 20:13:19 -07:00
plan-module-destroy-multivar terraform: add edge for missing providers 2015-05-01 18:39:24 -07:00
plan-module-input terraform: variables to modules work 2014-09-23 16:49:38 -07:00
plan-module-input-computed terraform: computed input variables work to modules 2014-09-23 17:05:44 -07:00
plan-module-input-var terraform: test case for cascading input variables (variable to 2014-09-23 16:55:19 -07:00
plan-module-multi-var terraform: fixing test case 2014-12-09 00:28:03 -08:00
plan-module-provider-defaults terraform: test for child module provider default 2014-09-24 14:04:54 -07:00
plan-module-provider-defaults-var terraform: add variables as graph nodes (no eval yet) 2015-04-30 16:27:20 -07:00
plan-module-provider-inherit terraform: change the graph a bit to better support providers with 2014-09-24 13:31:35 -07:00
plan-module-var terraform: outputs should be properly calculated for modules now 2014-09-23 15:46:20 -07:00
plan-module-var-computed terraform: module w/ computed output works 2014-09-23 16:27:38 -07:00
plan-modules terraform: plan with modules work 2014-09-23 14:15:40 -07:00
plan-modules-remove terraform: module orphans 2014-09-23 14:57:17 -07:00
plan-modules-remove-provisioners core: fix bug detecting deeply nested module orphans 2016-02-09 10:35:46 -06:00
plan-nil dos2unix 2014-07-28 10:43:00 -07:00
plan-orphan dos2unix 2014-07-28 10:43:00 -07:00
plan-path-var terraform: test path variables 2014-10-07 20:09:30 -07:00
plan-prevent-destroy-bad core: add prevent_destroy lifecycle flag 2015-04-17 10:40:04 -05:00
plan-prevent-destroy-good core: add prevent_destroy lifecycle flag 2015-04-17 10:40:04 -05:00
plan-provider terraform: test for variables in provider configs 2014-10-18 14:13:14 -07:00
plan-provider-init dos2unix 2014-07-28 10:43:00 -07:00
plan-taint dos2unix 2014-07-28 10:43:00 -07:00
plan-taint-interpolated-count core: Make copies when creating destroy nodes 2016-02-09 09:25:16 -06:00
plan-targeted core: fill out context tests for targeted ops 2015-03-31 14:49:38 -05:00
plan-targeted-module-orphan core: Orphan addressing / targeting 2016-01-19 17:48:44 -06:00
plan-targeted-orphan Add failing test for targeted destroy on orphan 2015-11-13 13:20:04 -06:00
plan-targeted-over-ten core: Orphan addressing / targeting 2016-01-19 17:48:44 -06:00
plan-targeted-with-tainted core: Encode Targets in saved Planfile 2016-03-08 14:29:37 -06:00
plan-var-list-err terraform: acceptance test for validation error 2015-01-13 06:59:12 +01:00
refresh-basic dos2unix 2014-07-28 10:43:00 -07:00
refresh-module-computed-var terraform: module computed vars with splat vars don't error 2015-06-24 21:23:37 -07:00
refresh-module-input-computed-output terraform: refresh ignores variables with no values [GH-478] 2014-10-20 23:08:17 -07:00
refresh-module-orphan core: fix deadlock when dependable node replaced with non-dependable one 2015-08-10 15:50:36 -05:00
refresh-module-var-module terraform: update comment 2014-12-16 08:24:21 -08:00
refresh-modules terraform: update graph to build subgraphs for modules 2014-09-22 16:48:18 -07:00
refresh-no-state terraform: fix crash if outputs with no state [GH-358] 2014-10-03 15:57:43 -07:00
refresh-output terraform: return value for resource interpolation on refresh 2015-04-10 13:51:22 -07:00
refresh-output-partial terraform: don't fail refresh if output doesn't exist [GH-483] 2014-10-20 18:45:52 -07:00
refresh-targeted core: fill out context tests for targeted ops 2015-03-31 14:49:38 -05:00
refresh-targeted-count core: formalize resource addressing 2015-03-31 15:04:10 -05:00
refresh-unknown-provider terraform: fix bug with crash with no providers [GH-786] 2015-01-16 09:56:51 -08:00
refresh-vars dos2unix 2014-07-28 10:43:00 -07:00
smc-uservars config: HCL loader 2014-08-11 09:58:53 -07:00
state-module-orphans terraform: State.ModuleOrphans 2015-02-19 12:07:52 -08:00
transform-create-before-destroy-basic terraform: create before destroy 2015-02-19 12:08:07 -08:00
transform-create-before-destroy-twice terraform: CBD edge transpositions must happen atomically 2015-02-19 12:08:32 -08:00
transform-destroy-basic terraform: put destroy nodes into the graph 2015-02-19 12:08:03 -08:00
transform-destroy-deps terraform: CBD edge transpositions must happen atomically 2015-02-19 12:08:32 -08:00
transform-destroy-prefix terraform: when pruning destroy, only match exact nodes, or exact counts 2015-04-14 13:17:08 -07:00
transform-destroy-prune-count terraform: prune destroy nodes for resources not in diff 2015-02-19 12:08:32 -08:00
transform-flatten terraform: outputs connect properly 2015-05-01 11:26:58 -07:00
transform-orphan-basic terraform: start the transforms, adding orphans 2015-02-19 12:07:52 -08:00
transform-orphan-modules terraform: module orphans 2015-02-19 12:07:52 -08:00
transform-orphan-output-basic terraform: add output orphan transformer 2015-04-29 11:18:58 -07:00
transform-provider-basic terraform: ProviderTransform to map resources to providers by dep 2015-02-19 12:07:53 -08:00
transform-provider-disable terraform: disable providers that are only used by modules 2015-04-08 21:14:19 -07:00
transform-provider-disable-keep terraform: test negative case for disable provider transformer 2015-04-08 21:39:56 -07:00
transform-provider-missing terraform: missing provider should add missing aliases [GH-2023] 2015-06-24 20:58:52 -07:00
transform-provider-prune terraform: PruneProviderTransfomer 2015-02-19 12:07:54 -08:00
transform-provisioner-basic terraform: provisioner transforms 2015-02-19 12:07:58 -08:00
transform-provisioner-prune terraform: provisioner transforms 2015-02-19 12:07:58 -08:00
transform-resource-count-basic terraform: inner-count dependencies work [GH-1540] 2015-04-18 15:56:43 -07:00
transform-resource-count-deps terraform: inner-count dependencies work [GH-1540] 2015-04-18 15:56:43 -07:00
transform-resource-count-negative terraform: dynamic subgraph expansion for count 2015-02-19 12:07:57 -08:00
transform-root-basic terraform: validation in progress 2015-02-19 12:07:55 -08:00
transform-tainted-basic terraform: tainted transformer 2015-02-19 12:07:53 -08:00
transform-targets-basic core: targeted operations 2015-03-31 14:49:38 -05:00
transform-targets-destroy core: targeted operations 2015-03-31 14:49:38 -05:00
transform-trans-reduce-basic terraform: add TransitiveReductionTransformer 2015-02-27 19:18:04 -08:00
validate-bad-module-output terraform: validation validates the submodules 2014-09-24 19:31:30 -07:00
validate-bad-pc dos2unix 2014-07-28 10:43:00 -07:00
validate-bad-pc-empty terraform: validate providers even without config block [GH-284] 2014-09-09 17:38:30 -07:00
validate-bad-prov-conf terraform: provisioner config is properly interpolated 2015-02-19 12:08:33 -08:00
validate-bad-rc dos2unix 2014-07-28 10:43:00 -07:00
validate-bad-var dos2unix 2014-07-28 10:43:00 -07:00
validate-computed-var terraform: tests to check behavior of computed provider configs 2015-06-23 22:02:56 -07:00
validate-count-negative terraform: validate count is non-negative 2014-10-02 17:14:25 -07:00
validate-count-variable terraform: set count to 1 while validating [GH-442] 2014-10-17 18:18:28 -07:00
validate-cycle core: validate on verbose graph to detect some cycles earlier 2015-04-23 11:07:13 -05:00
validate-good dos2unix 2014-07-28 10:43:00 -07:00
validate-good-module terraform: validation validates the submodules 2014-09-24 19:31:30 -07:00
validate-module-bad-rc terraform: validation validates the submodules 2014-09-24 19:31:30 -07:00
validate-module-deps-cycle terraform: run prune destroy on validate 2015-05-05 12:11:49 -07:00
validate-module-pc-inherit terraform: providers inherit properly for validation 2014-09-24 21:38:23 -07:00
validate-module-pc-inherit-orphan terraform: orphan module should flatten 2015-05-14 20:54:33 -07:00
validate-module-pc-inherit-unused terraform: don't prune, but disable, inherited configs [GH-1447] 2015-04-09 08:48:08 -07:00
validate-module-pc-vars terraform: disable providers that are only used by modules 2015-04-08 21:14:19 -07:00
validate-required-var dos2unix 2014-07-28 10:43:00 -07:00
validate-resource-name-symbol terraform: warn if the name has special characters 2014-10-08 15:59:50 -07:00
validate-self-ref dos2unix 2014-07-28 10:43:00 -07:00
validate-self-ref-multi dos2unix 2014-07-28 10:43:00 -07:00
validate-self-ref-multi-all dos2unix 2014-07-28 10:43:00 -07:00
validate-targeted core: fix targeting in destroy w/ provisioners 2015-04-27 08:36:54 -05:00
validate-var-no-default-explicit-type core: Support explicit variable type declaration 2016-01-24 11:40:02 -06:00
validate-variable-ref terraform: validation with unknown variables works [GH-432] 2014-10-16 15:54:56 -07:00