terraspace 2.2.0 → 2.2.2
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 +4 -4
- data/CHANGELOG.md +6 -0
- data/lib/terraspace/app.rb +1 -0
- data/lib/terraspace/cli/help/import.md +29 -0
- data/lib/terraspace/cli/import.rb +12 -0
- data/lib/terraspace/cli.rb +6 -0
- data/lib/terraspace/compiler/erb/rewrite.rb +4 -1
- data/lib/terraspace/terraform/args/thor.rb +4 -0
- data/lib/terraspace/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0c7a68a82f374785998967cf8af6d56f78130d7e03e8b0d7e64e85a9483e61cd
|
|
4
|
+
data.tar.gz: 2883619576b4a57c0e049edbc2cdae9d44b6c23926e3fe85084170bed5afb6c3
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: fbbd8c9339438902bc05b507292497c7714ccf9264a0155ab4fcd51c9e7d89d8ea0fc0a94f60228273fb9830f4458269eefa259a014d14a5754692a3d7747a2a
|
|
7
|
+
data.tar.gz: e62b1db8f363a94bbea6ed69ec1a6323171ab4442ff9059f0141fc2017837167659f741b2a7bf7e88f6d643320ac2040ff4e35e6564e0725861f030cd48809d4
|
data/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,12 @@
|
|
|
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.2] - 2022-09-14
|
|
7
|
+
- [#268](https://github.com/boltops-tools/terraspace/pull/268) custom config.build.dependency_words ability
|
|
8
|
+
|
|
9
|
+
## [2.2.1] - 2022-09-08
|
|
10
|
+
- [#265](https://github.com/boltops-tools/terraspace/pull/265) import command
|
|
11
|
+
|
|
6
12
|
## [2.2.0] - 2022-09-02
|
|
7
13
|
- [#261](https://github.com/boltops-tools/terraspace/pull/261) extra layer also process env-extra
|
|
8
14
|
- [#262](https://github.com/boltops-tools/terraspace/pull/262) improve graph dependency processing: replace tfvars so only output and depends_on are evaluated
|
data/lib/terraspace/app.rb
CHANGED
|
@@ -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
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
## Examples
|
|
2
|
+
|
|
3
|
+
terraspace import ec2 aws_instance.this i-088a0a47e2e852cc8
|
|
4
|
+
terraspace import vpc module.vpc.aws_vpc.this vpc-000782e4951a734c7
|
|
5
|
+
terraspace import vpc module.vpc.aws_vpc.this vpc-000782e4951a734c7
|
|
6
|
+
|
|
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.
|
|
8
|
+
|
|
9
|
+
terraspace plan vpc
|
|
10
|
+
terraspace import vpc module.vpc.aws_vpc.this vpc-000782e4951a734c7
|
|
11
|
+
terraspace plan vpc
|
|
12
|
+
terraspace import vpc module.vpc.aws_internet_gateway.this[0] igw-0fa4bec3b4b46948a
|
|
13
|
+
terraspace state list vpc
|
|
14
|
+
|
|
15
|
+
Example with output:
|
|
16
|
+
|
|
17
|
+
$ terraspace import vpc module.vpc.aws_internet_gateway.this[0] igw-0fa4bec3b4b46948a
|
|
18
|
+
Building .terraspace-cache/us-west-2/dev/stacks/vpc
|
|
19
|
+
Current directory: .terraspace-cache/us-west-2/dev/stacks/vpc
|
|
20
|
+
=> terraform import module.vpc.aws_internet_gateway.this[0] igw-0fa4bec3b4b46948a
|
|
21
|
+
module.vpc.aws_internet_gateway.this[0]: Importing from ID "igw-0fa4bec3b4b46948a"...
|
|
22
|
+
module.vpc.aws_internet_gateway.this[0]: Import prepared!
|
|
23
|
+
Prepared aws_internet_gateway for import
|
|
24
|
+
module.vpc.aws_internet_gateway.this[0]: Refreshing state... [id=igw-0fa4bec3b4b46948a]
|
|
25
|
+
|
|
26
|
+
Import successful!
|
|
27
|
+
|
|
28
|
+
The resources that were imported are shown above. These resources are now in
|
|
29
|
+
your Terraform state and will henceforth be managed by Terraform.
|
data/lib/terraspace/cli.rb
CHANGED
|
@@ -109,6 +109,12 @@ module Terraspace
|
|
|
109
109
|
Fmt.new(options.merge(mod: mod)).run
|
|
110
110
|
end
|
|
111
111
|
|
|
112
|
+
desc "import ADDR ID", "Import existing infrastructure into your Terraform state"
|
|
113
|
+
long_desc Help.text(:import)
|
|
114
|
+
def import(mod, addr, id)
|
|
115
|
+
Import.new(options.merge(mod: mod, addr: addr, id: id)).run
|
|
116
|
+
end
|
|
117
|
+
|
|
112
118
|
desc "info STACK", "Get info about stack."
|
|
113
119
|
long_desc Help.text(:info)
|
|
114
120
|
instance_option.call
|
|
@@ -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]
|
|
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)
|
data/lib/terraspace/version.rb
CHANGED
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.
|
|
4
|
+
version: 2.2.2
|
|
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-
|
|
11
|
+
date: 2022-09-14 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activesupport
|
|
@@ -571,6 +571,7 @@ files:
|
|
|
571
571
|
- lib/terraspace/cli/help/down.md
|
|
572
572
|
- lib/terraspace/cli/help/fmt.md
|
|
573
573
|
- lib/terraspace/cli/help/force_unlock.md
|
|
574
|
+
- lib/terraspace/cli/help/import.md
|
|
574
575
|
- lib/terraspace/cli/help/info.md
|
|
575
576
|
- lib/terraspace/cli/help/init.md
|
|
576
577
|
- lib/terraspace/cli/help/list.md
|
|
@@ -604,6 +605,7 @@ files:
|
|
|
604
605
|
- lib/terraspace/cli/help/tfc/sync.md
|
|
605
606
|
- lib/terraspace/cli/help/up.md
|
|
606
607
|
- lib/terraspace/cli/help/validate.md
|
|
608
|
+
- lib/terraspace/cli/import.rb
|
|
607
609
|
- lib/terraspace/cli/info.rb
|
|
608
610
|
- lib/terraspace/cli/init.rb
|
|
609
611
|
- lib/terraspace/cli/list.rb
|