terraspace 2.2.0 → 2.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 672cf9e56e84babb2bc53f8e076a13cb51aa9741416fcd6128e66b3774d335fb
4
- data.tar.gz: 10417698653e7ae38863e1c9d3a1fafebb2ea937693e8c5c0f65cb14e81b1f0b
3
+ metadata.gz: 9173675976a0e7207ae8ce912195535f2dc43c7bba91c5a90808559ce543df2d
4
+ data.tar.gz: 6c7b089a9bd1d82873ac5148fc276a0ad3578236f6cf89a3742ea049ef461bbe
5
5
  SHA512:
6
- metadata.gz: fbb895751949a30c32caaadad94a7d24c711313ca3675bb849f8ec9ab04b21e00901051ba5914d2c6a9317cabd91345cf8efe2ed053b90f61bb56228117b2249
7
- data.tar.gz: d2fcb5d16322d8a2c7bdf15be9d8108aefaee66505deb4c54acaad2339958d4a9cf4def684e4a08a44ff467f2ce9e7269a9d38924bf668634bdd93e3cd55d69d
6
+ metadata.gz: 72de399e443552b2981df770e22d2a710721f526aacabff3210ee28d85c4c870a2bdf61f02576b4cc1170789229beaa92feb89eba2269a0dbd7f07ccd6e7a152
7
+ data.tar.gz: eb40bc9c321f6f1fa9f2ba3a4f14f9f831b4aefc23af251655b65dccb58ac838c9493fff8dcde7ec1de007015689627e1ffb4d9049bdd04c871cfb9f4b363bde
data/CHANGELOG.md CHANGED
@@ -3,6 +3,9 @@
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.1] - 2022-09-08
7
+ - [#265](https://github.com/boltops-tools/terraspace/pull/265) import command
8
+
6
9
  ## [2.2.0] - 2022-09-02
7
10
  - [#261](https://github.com/boltops-tools/terraspace/pull/261) extra layer also process env-extra
8
11
  - [#262](https://github.com/boltops-tools/terraspace/pull/262) improve graph dependency processing: replace tfvars so only output and depends_on are evaluated
@@ -0,0 +1,29 @@
1
+ ## Examples
2
+
3
+ terraspace import aws_instance.this i-088a0a47e2e852cc8
4
+ terraspace import 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.
@@ -0,0 +1,12 @@
1
+ class Terraspace::CLI
2
+ class Import < Base
3
+ def run
4
+ commander.run
5
+ end
6
+
7
+ def commander
8
+ Commander.new("import", @options)
9
+ end
10
+ memoize :commander
11
+ end
12
+ end
@@ -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
@@ -117,6 +117,10 @@ module Terraspace::Terraform::Args
117
117
  auto_approve_arg
118
118
  end
119
119
 
120
+ def import_args
121
+ [@options[:addr], @options[:id]]
122
+ end
123
+
120
124
  def auto_approve_arg
121
125
  @options[:yes] || @options[:auto] ? ["-auto-approve"] : []
122
126
  end
@@ -1,3 +1,3 @@
1
1
  module Terraspace
2
- VERSION = "2.2.0"
2
+ VERSION = "2.2.1"
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.0
4
+ version: 2.2.1
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-02 00:00:00.000000000 Z
11
+ date: 2022-09-08 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