terraspace 0.3.3 → 0.3.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.cody/aws/bin/build.sh +2 -0
- data/.cody/azurerm/bin/build.sh +2 -0
- data/.cody/google/bin/build.sh +2 -0
- data/CHANGELOG.md +10 -0
- data/lib/terraspace.rb +1 -0
- data/lib/terraspace/all/summary.rb +21 -1
- data/lib/terraspace/cli.rb +25 -25
- data/lib/terraspace/cli/all.rb +9 -9
- data/lib/terraspace/cli/cloud.rb +3 -9
- data/lib/terraspace/cli/cloud/runs.rb +0 -2
- data/lib/terraspace/cli/help/all/down.md +32 -0
- data/lib/terraspace/cli/help/all/graph.md +21 -0
- data/lib/terraspace/cli/help/all/output.md +22 -0
- data/lib/terraspace/cli/help/all/plan.md +25 -0
- data/lib/terraspace/cli/help/all/providers.md +21 -0
- data/lib/terraspace/cli/help/all/refresh.md +17 -0
- data/lib/terraspace/cli/help/all/show.md +21 -0
- data/lib/terraspace/cli/help/all/up.md +27 -0
- data/lib/terraspace/cli/help/all/validate.md +21 -0
- data/lib/terraspace/cli/help/build.md +6 -0
- data/lib/terraspace/cli/help/bundle.md +9 -5
- data/lib/terraspace/cli/help/check_setup.md +9 -0
- data/lib/terraspace/cli/help/clean.md +5 -0
- data/lib/terraspace/cli/help/cloud/destroy.md +16 -0
- data/lib/terraspace/cli/help/cloud/list.md +7 -0
- data/lib/terraspace/cli/help/cloud/runs/list.md +3 -3
- data/lib/terraspace/cli/help/cloud/runs/prune.md +1 -1
- data/lib/terraspace/cli/help/cloud/sync.md +26 -2
- data/lib/terraspace/cli/help/console.md +8 -0
- data/lib/terraspace/cli/help/down.md +26 -0
- data/lib/terraspace/cli/help/info.md +43 -0
- data/lib/terraspace/cli/help/init.md +37 -0
- data/lib/terraspace/cli/help/list.md +20 -0
- data/lib/terraspace/cli/help/log.md +2 -0
- data/lib/terraspace/cli/help/logs/remove.md +5 -0
- data/lib/terraspace/cli/help/logs/truncate.md +5 -0
- data/lib/terraspace/cli/help/new/bootstrap_test.md +8 -0
- data/lib/terraspace/cli/help/new/example.md +8 -0
- data/lib/terraspace/cli/help/new/git_hook.md +6 -0
- data/lib/terraspace/cli/help/new/module.md +9 -0
- data/lib/terraspace/cli/help/new/module_test.md +12 -0
- data/lib/terraspace/cli/help/new/plugin.md +49 -0
- data/lib/terraspace/cli/help/new/project.md +40 -0
- data/lib/terraspace/cli/help/new/project_test.md +8 -0
- data/lib/terraspace/cli/help/new/shim.md +21 -0
- data/lib/terraspace/cli/help/new/stack.md +9 -0
- data/lib/terraspace/cli/help/output.md +6 -0
- data/lib/terraspace/cli/help/plan.md +29 -0
- data/lib/terraspace/cli/help/providers.md +18 -0
- data/lib/terraspace/cli/help/refresh.md +11 -0
- data/lib/terraspace/cli/help/seed.md +7 -0
- data/lib/terraspace/cli/help/show.md +36 -0
- data/lib/terraspace/cli/help/summary.md +11 -0
- data/lib/terraspace/cli/help/test.md +35 -0
- data/lib/terraspace/cli/help/up.md +30 -0
- data/lib/terraspace/cli/help/validate.md +9 -0
- data/lib/terraspace/cli/info.rb +4 -16
- data/lib/terraspace/cli/logs.rb +1 -1
- data/lib/terraspace/cli/new.rb +18 -18
- data/lib/terraspace/cli/new/git_hook.rb +4 -1
- data/lib/terraspace/cli/new/project.rb +1 -1
- data/lib/terraspace/cli/summary.rb +2 -2
- data/lib/terraspace/command.rb +1 -1
- data/lib/terraspace/dependency/graph.rb +2 -1
- data/lib/terraspace/plugin/summary/interface.rb +1 -1
- data/lib/terraspace/shell.rb +14 -4
- data/lib/terraspace/terraform/cloud/runs/lister.rb +0 -2
- data/lib/terraspace/terraform/cloud/syncer.rb +2 -2
- data/lib/terraspace/terraform/cloud/workspace.rb +0 -9
- data/lib/terraspace/version.rb +1 -1
- data/spec/terraspace/all/summary_spec.rb +1 -1
- metadata +43 -3
- data/lib/terraspace/cli/help/update.md +0 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 82d3075dd4d1feefc14c645c634b80fca976887120ccf4e531385745e7d4df3e
|
4
|
+
data.tar.gz: e3c035ee09b574247d563e3261e4f51e7d93bc5a6bf5af4d3b0ab083864f25af
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 384d8c9ff03eec838719ebe438dd9ad047558e0e4d495732f66561364b9100879bf498609bf931e29def28c5e4e3c0cb5ad4875cde4955a46dd63f850ec43887
|
7
|
+
data.tar.gz: f475ab2126fe8c7807c9811a2f9f734cc9c47c702c61daa7b3cd4c995a192aa5b3669cde26f92c57b0592adf0131f4dbc80b45e0641900bca2090162d4e7529b
|
data/.cody/aws/bin/build.sh
CHANGED
data/.cody/azurerm/bin/build.sh
CHANGED
@@ -17,4 +17,6 @@ export ARM_TENANT_ID=$(cat ~/.azure/app-client.json | jq -r '.tenant_id')
|
|
17
17
|
set -x
|
18
18
|
terraspace new project infra --examples --plugin azurerm
|
19
19
|
cd infra
|
20
|
+
terraspace new bootstrap_test
|
21
|
+
terraspace new project_test demo --examples --plugin azurerm
|
20
22
|
terraspace test
|
data/.cody/google/bin/build.sh
CHANGED
@@ -14,4 +14,6 @@ export GOOGLE_PROJECT=$(cat $GOOGLE_APPLICATION_CREDENTIALS | jq -r '.project_id
|
|
14
14
|
set -x
|
15
15
|
terraspace new project infra --examples --plugin google
|
16
16
|
cd infra
|
17
|
+
terraspace new bootstrap_test
|
18
|
+
terraspace new project_test demo --examples --plugin google
|
17
19
|
terraspace test
|
data/CHANGELOG.md
CHANGED
@@ -3,6 +3,16 @@
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
4
4
|
This project *loosely tries* to adhere to [Semantic Versioning](http://semver.org/), even before v1.0.
|
5
5
|
|
6
|
+
## [0.3.4]
|
7
|
+
* #42 update cli docs and bug fixes
|
8
|
+
* fix console by using system instead of popen3
|
9
|
+
* fix build for edge case when app/modules exist but app/stacks do not
|
10
|
+
* terraspace new project: do not generate spec folder by default
|
11
|
+
* improve all output summary
|
12
|
+
* remove redundant `terraspace cloud setup`, instead use: `terraspace cloud sync`
|
13
|
+
* improve terraspace info output
|
14
|
+
* fix integration test pipeline
|
15
|
+
|
6
16
|
## [0.3.3]
|
7
17
|
* #41 fix `terraspace build` and `terraspace seed` when bucket doesnt exist yet and there are dependenices defined.
|
8
18
|
|
data/lib/terraspace.rb
CHANGED
@@ -6,6 +6,7 @@ require "active_support/core_ext/class"
|
|
6
6
|
require "active_support/core_ext/hash"
|
7
7
|
require "active_support/core_ext/string"
|
8
8
|
require "active_support/ordered_options"
|
9
|
+
require "cli-format"
|
9
10
|
require "deep_merge/rails_compat"
|
10
11
|
require "dsl_evaluator"
|
11
12
|
require "fileutils"
|
@@ -51,7 +51,15 @@ module Terraspace::All
|
|
51
51
|
end
|
52
52
|
|
53
53
|
def output
|
54
|
-
@lines
|
54
|
+
if @lines.grep(/No outputs found/).empty?
|
55
|
+
@lines.select! do |line|
|
56
|
+
line.include?(" = ") # looks like output
|
57
|
+
end
|
58
|
+
else
|
59
|
+
@lines.select! do |line|
|
60
|
+
line.include?("No outputs found")
|
61
|
+
end
|
62
|
+
end
|
55
63
|
end
|
56
64
|
|
57
65
|
def show
|
@@ -65,6 +73,18 @@ module Terraspace::All
|
|
65
73
|
@lines.unshift(summary) # add to top
|
66
74
|
end
|
67
75
|
|
76
|
+
# [2020-09-19T19:36:33 #14387 terraspace providers c1]: => terraform providers
|
77
|
+
# [2020-09-19T19:36:33 #14387 terraspace providers c1]:
|
78
|
+
# [2020-09-19T19:36:33 #14387 terraspace providers c1]: Providers required by configuration:
|
79
|
+
# [2020-09-19T19:36:33 #14387 terraspace providers c1]: .
|
80
|
+
# [2020-09-19T19:36:33 #14387 terraspace providers c1]: └── provider[registry.terraform.io/hashicorp/random]
|
81
|
+
# [2020-09-19T19:36:33 #14387 terraspace providers c1]:
|
82
|
+
def providers
|
83
|
+
@lines.select! do |line|
|
84
|
+
line.include?("provider[")
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
68
88
|
# [2020-09-07T14:53:36 #31106 terraspace show b1]: Outputs:
|
69
89
|
# [2020-09-07T14:53:36 #31106 terraspace show b1]:
|
70
90
|
# [2020-09-07T14:53:36 #31106 terraspace show b1]: length = 1
|
data/lib/terraspace/cli.rb
CHANGED
@@ -44,7 +44,7 @@ module Terraspace
|
|
44
44
|
long_desc Help.text(:new)
|
45
45
|
subcommand "new", New
|
46
46
|
|
47
|
-
desc "build [STACK]", "
|
47
|
+
desc "build [STACK]", "Build project."
|
48
48
|
long_desc Help.text(:build)
|
49
49
|
option :quiet, type: :boolean, desc: "quiet output"
|
50
50
|
instance_option.call
|
@@ -53,32 +53,32 @@ module Terraspace
|
|
53
53
|
Terraspace::Builder.new(options.merge(mod: mod)).run # building any stack builds them all
|
54
54
|
end
|
55
55
|
|
56
|
-
desc "bundle", "
|
56
|
+
desc "bundle", "Bundle with Terrafile."
|
57
57
|
long_desc Help.text(:bundle)
|
58
58
|
def bundle(*args)
|
59
59
|
Bundle.new(options.merge(args: args)).run
|
60
60
|
end
|
61
61
|
|
62
|
-
desc "check_setup", "
|
62
|
+
desc "check_setup", "Check setup."
|
63
63
|
long_desc Help.text(:check_setup)
|
64
64
|
def check_setup
|
65
65
|
CheckSetup.new(options).run
|
66
66
|
end
|
67
67
|
|
68
|
-
desc "clean", "
|
68
|
+
desc "clean", "Removes .terraspace-cache dir."
|
69
69
|
long_desc Help.text(:clean)
|
70
70
|
def clean
|
71
71
|
Clean.new(options).run
|
72
72
|
end
|
73
73
|
|
74
|
-
desc "console STACK", "console .
|
74
|
+
desc "console STACK", "Run console in built terraform project."
|
75
75
|
long_desc Help.text(:console)
|
76
76
|
instance_option.call
|
77
77
|
def console(mod)
|
78
|
-
Commander.new("console", options.merge(mod: mod)).run
|
78
|
+
Commander.new("console", options.merge(mod: mod, shell: "system")).run
|
79
79
|
end
|
80
80
|
|
81
|
-
desc "down STACK", "
|
81
|
+
desc "down STACK", "Destroy infrastructure stack."
|
82
82
|
long_desc Help.text(:down)
|
83
83
|
instance_option.call
|
84
84
|
yes_option.call
|
@@ -88,29 +88,29 @@ module Terraspace
|
|
88
88
|
Down.new(options.merge(mod: mod)).run
|
89
89
|
end
|
90
90
|
|
91
|
-
desc "info STACK", "info"
|
91
|
+
desc "info STACK", "Get info about stack."
|
92
92
|
long_desc Help.text(:info)
|
93
|
-
format_option.call
|
94
93
|
instance_option.call
|
94
|
+
option :format, desc: "Output formats: #{CliFormat.formats.join(', ')}"
|
95
95
|
def info(mod)
|
96
96
|
Info.new(options.merge(mod: mod)).run
|
97
97
|
end
|
98
98
|
|
99
|
-
desc "init STACK", "init"
|
99
|
+
desc "init STACK", "Run init in built terraform project."
|
100
100
|
long_desc Help.text(:init)
|
101
101
|
instance_option.call
|
102
102
|
def init(mod)
|
103
103
|
Commander.new("init", options.merge(mod: mod, quiet: false)).run
|
104
104
|
end
|
105
105
|
|
106
|
-
desc "list", "
|
106
|
+
desc "list", "List stacks and modules."
|
107
107
|
long_desc Help.text(:list)
|
108
108
|
option :type, aliases: %w[t], desc: "Type: stack or module. Default all"
|
109
109
|
def list
|
110
110
|
List.new(options).run
|
111
111
|
end
|
112
112
|
|
113
|
-
desc "log [ACTION] [STACK]", "
|
113
|
+
desc "log [ACTION] [STACK]", "View and tail logs."
|
114
114
|
long_desc Help.text("log")
|
115
115
|
option :timestamps, aliases: %w[t], type: :boolean, desc: "Whether or not to show the leading timestamp. Defaults to timestamps for multiple logs, and no timestamp if a single log is specified. Note: In follow mode, timestamp always shown"
|
116
116
|
option :follow, aliases: %w[f], type: :boolean, desc: "Follow the log in live tail fashion. Must specify a stack if using this option."
|
@@ -120,7 +120,7 @@ module Terraspace
|
|
120
120
|
Log.new(@options.merge(action: action, stack: stack)).run
|
121
121
|
end
|
122
122
|
|
123
|
-
desc "plan STACK", "
|
123
|
+
desc "plan STACK", "Plan stack."
|
124
124
|
long_desc Help.text(:plan)
|
125
125
|
auto_option.call
|
126
126
|
input_option.call
|
@@ -131,21 +131,21 @@ module Terraspace
|
|
131
131
|
Commander.new("plan", options.merge(mod: mod)).run
|
132
132
|
end
|
133
133
|
|
134
|
-
desc "providers STACK", "providers"
|
134
|
+
desc "providers STACK", "Show providers."
|
135
135
|
long_desc Help.text(:providers)
|
136
136
|
instance_option.call
|
137
137
|
def providers(mod)
|
138
138
|
Commander.new("providers", options.merge(mod: mod)).run
|
139
139
|
end
|
140
140
|
|
141
|
-
desc "refresh STACK", "refresh"
|
141
|
+
desc "refresh STACK", "Run refresh."
|
142
142
|
long_desc Help.text(:refresh)
|
143
143
|
instance_option.call
|
144
144
|
def refresh(mod)
|
145
145
|
Commander.new("refresh", options.merge(mod: mod)).run
|
146
146
|
end
|
147
147
|
|
148
|
-
desc "seed STACK", "seed"
|
148
|
+
desc "seed STACK", "Build starer seed tfvars file."
|
149
149
|
long_desc Help.text(:seed)
|
150
150
|
option :yes, aliases: :y, type: :boolean, desc: "bypass prompts and force overwrite files"
|
151
151
|
option :where, desc: "where to create file. either under app or seed folder structure. values: app or stack"
|
@@ -155,8 +155,8 @@ module Terraspace
|
|
155
155
|
Seed.new(options.merge(mod: mod)).run
|
156
156
|
end
|
157
157
|
|
158
|
-
desc "summary", "
|
159
|
-
long_desc Help.text(:
|
158
|
+
desc "summary", "Summarize resources."
|
159
|
+
long_desc Help.text(:summary)
|
160
160
|
option :mod, desc: "Module to build to generate a backend file for discovery. By default the last module is used. Usually, it wont matter."
|
161
161
|
init_option.call
|
162
162
|
option :short, aliases: %w[s], type: :boolean, desc: "Only show statefiles"
|
@@ -164,7 +164,7 @@ module Terraspace
|
|
164
164
|
Summary.new(options).run
|
165
165
|
end
|
166
166
|
|
167
|
-
desc "show STACK", "show"
|
167
|
+
desc "show STACK", "Run show."
|
168
168
|
long_desc Help.text(:show)
|
169
169
|
instance_option.call
|
170
170
|
option :plan, desc: "path to created.plan"
|
@@ -173,13 +173,13 @@ module Terraspace
|
|
173
173
|
Commander.new("show", options.merge(mod: mod)).run
|
174
174
|
end
|
175
175
|
|
176
|
-
desc "test", "test"
|
176
|
+
desc "test", "Run test."
|
177
177
|
long_desc Help.text(:test)
|
178
178
|
def test
|
179
179
|
Test.new(options).run
|
180
180
|
end
|
181
181
|
|
182
|
-
desc "output STACK", "output"
|
182
|
+
desc "output STACK", "Run output."
|
183
183
|
long_desc Help.text(:output)
|
184
184
|
format_option.call
|
185
185
|
instance_option.call
|
@@ -188,8 +188,8 @@ module Terraspace
|
|
188
188
|
Commander.new("output", options.merge(mod: mod)).run
|
189
189
|
end
|
190
190
|
|
191
|
-
desc "up STACK", "Deploy infrastructure.
|
192
|
-
long_desc Help.text(:
|
191
|
+
desc "up STACK", "Deploy infrastructure stack."
|
192
|
+
long_desc Help.text(:up)
|
193
193
|
auto_option.call
|
194
194
|
init_option.call
|
195
195
|
input_option.call
|
@@ -202,7 +202,7 @@ module Terraspace
|
|
202
202
|
Up.new(options.merge(mod: mod)).run
|
203
203
|
end
|
204
204
|
|
205
|
-
desc "validate STACK", "
|
205
|
+
desc "validate STACK", "Validate stack."
|
206
206
|
long_desc Help.text(:validate)
|
207
207
|
instance_option.call
|
208
208
|
def validate(mod)
|
@@ -221,7 +221,7 @@ module Terraspace
|
|
221
221
|
Completer::Script.generate
|
222
222
|
end
|
223
223
|
|
224
|
-
desc "version", "
|
224
|
+
desc "version", "Prints version."
|
225
225
|
def version
|
226
226
|
puts VERSION
|
227
227
|
end
|
data/lib/terraspace/cli/all.rb
CHANGED
@@ -3,14 +3,14 @@ class Terraspace::CLI
|
|
3
3
|
class_option :yes, aliases: :y, type: :boolean, desc: "auto approve all batch commands"
|
4
4
|
class_option :exit_on_fail, type: :boolean, desc: "whether or not to exit when one of the batch commands fails"
|
5
5
|
|
6
|
-
desc "down", "
|
6
|
+
desc "down", "Destroy all or multiple stacks."
|
7
7
|
long_desc Help.text("all/down")
|
8
8
|
option :destroy_workspace, type: :boolean, desc: "Also destroy the Cloud workspace. Only applies when using Terraform Cloud remote backend."
|
9
9
|
def down(*stacks)
|
10
10
|
Terraspace::All::Runner.new("down", @options.merge(stacks: stacks)).run
|
11
11
|
end
|
12
12
|
|
13
|
-
desc "graph", "graph
|
13
|
+
desc "graph", "Draw a dependency graph."
|
14
14
|
long_desc Help.text("all/graph")
|
15
15
|
option :format, default: "png", desc: "format: text or diagram"
|
16
16
|
option :full,type: :boolean, desc: "draw the full graph with highlighted nodes or draw the subgraph. text format defaults to false, graph format defaults to true"
|
@@ -18,43 +18,43 @@ class Terraspace::CLI
|
|
18
18
|
Terraspace::All::Grapher.new(@options.merge(stacks: stacks)).run
|
19
19
|
end
|
20
20
|
|
21
|
-
desc "refresh", "
|
21
|
+
desc "refresh", "Refresh all or multiple stacks."
|
22
22
|
long_desc Help.text("all/refresh")
|
23
23
|
def refresh(*stacks)
|
24
24
|
Terraspace::All::Runner.new("refresh", @options.merge(stacks: stacks)).run
|
25
25
|
end
|
26
26
|
|
27
|
-
desc "output", "output all"
|
27
|
+
desc "output", "Show output for all or multiple stacks."
|
28
28
|
long_desc Help.text("all/output")
|
29
29
|
def output(*stacks)
|
30
30
|
Terraspace::All::Runner.new("output", @options.merge(stacks: stacks)).run
|
31
31
|
end
|
32
32
|
|
33
|
-
desc "plan", "plan all"
|
33
|
+
desc "plan", "Run plan for all or multiple stacks."
|
34
34
|
long_desc Help.text("all/plan")
|
35
35
|
def plan(*stacks)
|
36
36
|
Terraspace::All::Runner.new("plan", @options.merge(stacks: stacks)).run
|
37
37
|
end
|
38
38
|
|
39
|
-
desc "providers", "providers all"
|
39
|
+
desc "providers", "Show providers for all or multiple stacks."
|
40
40
|
long_desc Help.text("all/providers")
|
41
41
|
def providers(*stacks)
|
42
42
|
Terraspace::All::Runner.new("providers", @options.merge(stacks: stacks)).run
|
43
43
|
end
|
44
44
|
|
45
|
-
desc "show", "show all"
|
45
|
+
desc "show", "Run show for all or multiple stacks."
|
46
46
|
long_desc Help.text("all/show")
|
47
47
|
def show(*stacks)
|
48
48
|
Terraspace::All::Runner.new("show", @options.merge(stacks: stacks)).run
|
49
49
|
end
|
50
50
|
|
51
|
-
desc "up", "
|
51
|
+
desc "up", "Deploy all or multiple stacks."
|
52
52
|
long_desc Help.text("all/up")
|
53
53
|
def up(*stacks)
|
54
54
|
Terraspace::All::Runner.new("up", @options.merge(stacks: stacks)).run
|
55
55
|
end
|
56
56
|
|
57
|
-
desc "validate", "
|
57
|
+
desc "validate", "Validate all or multiple stacks."
|
58
58
|
long_desc Help.text("all/validate")
|
59
59
|
def validate(*stacks)
|
60
60
|
Terraspace::All::Runner.new("validate", @options.merge(stacks: stacks)).run
|
data/lib/terraspace/cli/cloud.rb
CHANGED
@@ -20,17 +20,11 @@ class Terraspace::CLI
|
|
20
20
|
Workspace.new(options.merge(mod: mod)).destroy
|
21
21
|
end
|
22
22
|
|
23
|
-
desc "
|
24
|
-
long_desc Help.text("cloud:setup")
|
25
|
-
def setup(mod)
|
26
|
-
Workspace.new(options.merge(mod: mod)).setup
|
27
|
-
end
|
28
|
-
|
29
|
-
desc "sync [STACK]", "sync workspace"
|
23
|
+
desc "sync [STACK]", "Sync all or multiple workspaces."
|
30
24
|
long_desc Help.text("cloud:sync")
|
31
25
|
yes_option.call
|
32
|
-
def sync(
|
33
|
-
Syncer.new(options.merge(
|
26
|
+
def sync(*stacks)
|
27
|
+
Syncer.new(options.merge(stacks: stacks, override_auto_sync: true)).run
|
34
28
|
end
|
35
29
|
|
36
30
|
desc "runs SUBCOMMAND", "runs subcommands"
|
@@ -0,0 +1,32 @@
|
|
1
|
+
## Example
|
2
|
+
|
3
|
+
$ terraspace all down
|
4
|
+
Will run:
|
5
|
+
terraspace down a1 # batch 1
|
6
|
+
terraspace down b1 # batch 2
|
7
|
+
terraspace down b2 # batch 2
|
8
|
+
terraspace down c1 # batch 3
|
9
|
+
Are you sure? (y/N)
|
10
|
+
|
11
|
+
Once you confirm, Terraspace destroys the infrastructure.
|
12
|
+
|
13
|
+
Are you sure? (y/N) y
|
14
|
+
Batch Run 1:
|
15
|
+
Running: terraspace down a1 Logs: log/down/a1.log
|
16
|
+
terraspace down a1: Changes to Outputs:
|
17
|
+
terraspace down a1: Destroy complete! Resources: 2 destroyed.
|
18
|
+
Batch Run 2:
|
19
|
+
Running: terraspace down b1 Logs: log/down/b1.log
|
20
|
+
Running: terraspace down b2 Logs: log/down/b2.log
|
21
|
+
terraspace down b1: Changes to Outputs:
|
22
|
+
terraspace down b1: Destroy complete! Resources: 2 destroyed.
|
23
|
+
terraspace down b2: Changes to Outputs:
|
24
|
+
terraspace down b2: Destroy complete! Resources: 1 destroyed.
|
25
|
+
Batch Run 3:
|
26
|
+
Running: terraspace down c1 Logs: log/down/c1.log
|
27
|
+
terraspace down c1: Changes to Outputs:
|
28
|
+
terraspace down c1: Destroy complete! Resources: 1 destroyed.
|
29
|
+
Time took: 15s
|
30
|
+
$
|
31
|
+
|
32
|
+
Terraspace provides a reduced-noise summary of the runs. The full logs are also written for further inspection and debugging. The [terraspace log](https://terraspace.cloud/reference/terraspace-log/) command is useful for viewing the logs.
|
@@ -0,0 +1,21 @@
|
|
1
|
+
## Example
|
2
|
+
|
3
|
+
$ terraspace all graph
|
4
|
+
Building graph...
|
5
|
+
Graph saved to .terraspace-cache/graph/dependencies-20200919192103.png
|
6
|
+
$
|
7
|
+
|
8
|
+
The graph will auto-open on macosx and cloud9.
|
9
|
+
|
10
|
+
![](https://img.boltops.com/boltops/tools/terraspace/graphs/example-a1.png)
|
11
|
+
|
12
|
+
## Text Form
|
13
|
+
|
14
|
+
You can also generate a graph in text, tree-like form
|
15
|
+
|
16
|
+
$ terraspace all graph --format text
|
17
|
+
a1
|
18
|
+
├── b2
|
19
|
+
│ └── c1
|
20
|
+
└── b1
|
21
|
+
└── c1
|
@@ -0,0 +1,22 @@
|
|
1
|
+
## Example
|
2
|
+
|
3
|
+
$ terraspace all output
|
4
|
+
Running:
|
5
|
+
terraspace output c1 # batch 1
|
6
|
+
terraspace output b1 # batch 2
|
7
|
+
terraspace output b2 # batch 2
|
8
|
+
terraspace output a1 # batch 3
|
9
|
+
Batch Run 1:
|
10
|
+
Running: terraspace output c1 Logs: log/output/c1.log
|
11
|
+
terraspace output c1: length = 1
|
12
|
+
Batch Run 2:
|
13
|
+
Running: terraspace output b1 Logs: log/output/b1.log
|
14
|
+
Running: terraspace output b2 Logs: log/output/b2.log
|
15
|
+
terraspace output b1: length = 1
|
16
|
+
terraspace output b1: length2 = 1
|
17
|
+
terraspace output b2: length = 1
|
18
|
+
Batch Run 3:
|
19
|
+
Running: terraspace output a1 Logs: log/output/a1.log
|
20
|
+
terraspace output a1: Warning: No outputs found
|
21
|
+
Time took: 12s
|
22
|
+
$
|