terraspace 2.2.1 → 2.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9173675976a0e7207ae8ce912195535f2dc43c7bba91c5a90808559ce543df2d
4
- data.tar.gz: 6c7b089a9bd1d82873ac5148fc276a0ad3578236f6cf89a3742ea049ef461bbe
3
+ metadata.gz: 265cf001f291f8f16ba281504b5a10caad4931680320781c9fa57ea996d6eba0
4
+ data.tar.gz: cfc3a6bc5c3210a5b6edf60d085f9a3487535052c01b573360d18eab44bafec0
5
5
  SHA512:
6
- metadata.gz: 72de399e443552b2981df770e22d2a710721f526aacabff3210ee28d85c4c870a2bdf61f02576b4cc1170789229beaa92feb89eba2269a0dbd7f07ccd6e7a152
7
- data.tar.gz: eb40bc9c321f6f1fa9f2ba3a4f14f9f831b4aefc23af251655b65dccb58ac838c9493fff8dcde7ec1de007015689627e1ffb4d9049bdd04c871cfb9f4b363bde
6
+ metadata.gz: 4373aff69d41d00c1533545927ace7b2ebc9ef0d93449483c5ff5cf0960cbb5d935b1f4f20d21fa00bc79c23d722cde6d4e31c2ad215f78a3a9cd8fc5cf000e9
7
+ data.tar.gz: 51773b55e7e9e51719e2c803294dba300ce7bbb9b1ab0ed5fa967313f204e3859943ab406c5228b7222e38ddc0296e80db8feba1622751f821e787a6b4b2ec4b
data/CHANGELOG.md CHANGED
@@ -3,6 +3,13 @@
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
+ ## [2.2.3] - 2022-12-11
7
+ - [#283](https://github.com/boltops-tools/terraspace/pull/283) update terraspace new cli help
8
+ - [#285](https://github.com/boltops-tools/terraspace/pull/285) Only generate output files with content
9
+
10
+ ## [2.2.2] - 2022-09-14
11
+ - [#268](https://github.com/boltops-tools/terraspace/pull/268) custom config.build.dependency_words ability
12
+
6
13
  ## [2.2.1] - 2022-09-08
7
14
  - [#265](https://github.com/boltops-tools/terraspace/pull/265) import command
8
15
 
@@ -42,6 +42,7 @@ module Terraspace
42
42
  config.build.clean_cache = nil # defaults to true
43
43
  config.build.default_pass_files = ["/files/"]
44
44
  config.build.pass_files = []
45
+ config.build.dependency_words = []
45
46
 
46
47
  config.bundle = ActiveSupport::OrderedOptions.new
47
48
  config.bundle.logger = ts_logger
@@ -1,7 +1,7 @@
1
1
  ## Examples
2
2
 
3
- terraspace import aws_instance.this i-088a0a47e2e852cc8
4
- terraspace import module.vpc.aws_vpc.this vpc-000782e4951a734c7
3
+ terraspace import ec2 aws_instance.this i-088a0a47e2e852cc8
4
+ terraspace import vpc module.vpc.aws_vpc.this vpc-000782e4951a734c7
5
5
  terraspace import vpc module.vpc.aws_vpc.this vpc-000782e4951a734c7
6
6
 
7
7
  A general workflow is to use terraspace plan, inspect what resources, are missing and and import resources based on that. The `state list` command is also useful.
@@ -1,12 +1,12 @@
1
1
  ## Stack Examples
2
2
 
3
- $ terraspace new test demo --type stack
3
+ $ terraspace new test example --type stack
4
4
  => Creating stack test: example
5
- exist app/stacks/example
6
5
  create app/stacks/example/test/.rspec
7
6
  create app/stacks/example/test/Gemfile
8
- create app/stacks/example/test/spec/fixtures/stack/main.tf
9
- create app/stacks/example/test/spec/fixtures/stack/outputs.tf
7
+ create app/stacks/example/test/spec/fixtures/config/app.rb
8
+ create app/stacks/example/test/spec/fixtures/config/terraform/provider.tf
9
+ create app/stacks/example/test/spec/fixtures/tfvars/test.tfvars
10
10
  create app/stacks/example/test/spec/main_spec.rb
11
11
  create app/stacks/example/test/spec/spec_helper.rb
12
12
  $
@@ -15,11 +15,8 @@
15
15
 
16
16
  $ terraspace new test example --type module
17
17
  => Creating module test: example
18
- exist app/modules/example
19
18
  create app/modules/example/test/.rspec
20
19
  create app/modules/example/test/Gemfile
21
- create app/modules/example/test/spec/fixtures/stack/main.tf
22
- create app/modules/example/test/spec/fixtures/stack/outputs.tf
23
20
  create app/modules/example/test/spec/main_spec.rb
24
21
  create app/modules/example/test/spec/spec_helper.rb
25
22
  $
@@ -28,7 +25,6 @@
28
25
 
29
26
  $ terraspace new test my --type project
30
27
  => Creating test bootstrap structure
31
- exist
32
28
  create .rspec
33
29
  create spec/spec_helper.rb
34
30
  $
@@ -26,7 +26,10 @@ module Terraspace::Compiler::Erb
26
26
  def new_line(line)
27
27
  md = line.match(/.*(<% |<%=)/) || line.match(/.*<%$/)
28
28
  if md
29
- words = %w[output depends_on] # TODO: consider allowing user customizations
29
+ words = %w[output depends_on]
30
+ dependency_words = [Terraspace.config.build.dependency_words].flatten
31
+ words += dependency_words # custom user words to evaluated in first pass also
32
+ return line if words.include?('*') # passthrough for special case '*'
30
33
  # IE: <%= output or <% depends_on
31
34
  regexp = Regexp.new(".*<%.*#{words.join('|')}.*")
32
35
  if line.match(regexp)
@@ -34,7 +34,7 @@ module Terraspace::Compiler
34
34
  if content.respond_to?(:path) # IO filehandle
35
35
  FileUtils.cp(content.path, dest_path) # preserves permission
36
36
  else # just content
37
- IO.write(dest_path, content, mode: "wb")
37
+ IO.write(dest_path, content, mode: "wb") unless content.nil?
38
38
  end
39
39
  logger.debug "Created #{Terraspace::Util.pretty_path(dest_path)}"
40
40
  end
@@ -1,3 +1,3 @@
1
1
  module Terraspace
2
- VERSION = "2.2.1"
2
+ VERSION = "2.2.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: terraspace
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.1
4
+ version: 2.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tung Nguyen
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-09-08 00:00:00.000000000 Z
11
+ date: 2022-12-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -965,7 +965,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
965
965
  - !ruby/object:Gem::Version
966
966
  version: '0'
967
967
  requirements: []
968
- rubygems_version: 3.3.21
968
+ rubygems_version: 3.3.26
969
969
  signing_key:
970
970
  specification_version: 4
971
971
  summary: 'Terraspace: The Terraspace Framework'