TerraformDevKit 0.1.2 → 0.1.3

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
  SHA1:
3
- metadata.gz: 4bf334632780d7a74097aa472d40a483d475b4a8
4
- data.tar.gz: 3646248e8946931f8fccf56e681adc74d6559237
3
+ metadata.gz: 9ee5561c1fc4b5b3989d2500db456572ec97f54f
4
+ data.tar.gz: 23fd6c508dd766815c9b088efdaf41b037a7a1f2
5
5
  SHA512:
6
- metadata.gz: 732188c769df072888d934e1a956d7a7d3878de0c2332b5e2ebfcf97a5354a61ddf95f1daf112658c1de04c41c443f27d106714541e1196b68d46749b3229937
7
- data.tar.gz: 9b5c244462fa4c783187fd2bb8a688c3d4a98ea6102e2ed69e50d737b0493a40bc3ad514e6a650c311e6bc349900dcce743ee7531eb5c64438c899e98b287bd3
6
+ metadata.gz: 8216fa0308818d19e1aed29d1defdf6c2bbdf65a823d44e9c62873b0a88526f6ee13ef6cd376a2c31500547c447825b9f7a7e8948ef4ef71d3b78bbf831d3592
7
+ data.tar.gz: e1dfd2ee7f76fc345d98e17d82e7d738edb812ec769f1f08c2c28ea4cd9901a64865f7f3357025d00713d3af95e2c2f5475f586cf2ff37dd88b6f950b8e3504d
@@ -4,6 +4,7 @@ require 'TerraformDevKit/command'
4
4
  require 'TerraformDevKit/config'
5
5
  require 'TerraformDevKit/dynamodb'
6
6
  require 'TerraformDevKit/os'
7
+ require 'TerraformDevKit/terraform_env_manager'
7
8
  require 'TerraformDevKit/terraform_installer'
8
9
  require 'TerraformDevKit/terragrunt_installer'
9
10
  require 'TerraformDevKit/url'
@@ -0,0 +1,41 @@
1
+ require 'TerraformDevKit/command'
2
+ require 'TerraformDevKit/os'
3
+
4
+ module TerraformDevKit
5
+ class TerraformEnvManager
6
+ def self.exist?(env)
7
+ output = Command.run('terraform env list')
8
+ output.any? { |line| line.tr('* ', '') == env }
9
+ end
10
+
11
+ def self.create(env)
12
+ Command.run("terraform env new #{env}") unless exist?(env)
13
+ end
14
+
15
+ def self.delete(env)
16
+ if exist?(env)
17
+ select('default')
18
+ if TerraformDevKit::OS.host_os == 'windows'
19
+ # TODO: Get rid of this hack once the following issue gets fixed:
20
+ # https://github.com/hashicorp/terraform/issues/15343
21
+ puts 'WARNING: Deleting an environment does not work on Windows'
22
+ else
23
+ Command.run("terraform env delete #{env}")
24
+ end
25
+ end
26
+ end
27
+
28
+ def self.select(env)
29
+ create(env)
30
+ Command.run("terraform env select #{env}")
31
+ end
32
+
33
+ def self.active
34
+ output = Command.run('terraform env list')
35
+ active = output.select { |line| line.include?('*') }
36
+ raise 'Error parsing output from terraform' if active.length != 1
37
+ match = /\s*\*\s*(\S+)/.match(active[0])
38
+ match[1] unless match.nil?
39
+ end
40
+ end
41
+ end
@@ -1,3 +1,3 @@
1
1
  module TerraformDevKit
2
- VERSION = '0.1.2'.freeze
2
+ VERSION = '0.1.3'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: TerraformDevKit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Victor Jimenez
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-06-20 00:00:00.000000000 Z
11
+ date: 2017-06-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -108,6 +108,7 @@ files:
108
108
  - lib/TerraformDevKit/download.rb
109
109
  - lib/TerraformDevKit/dynamodb.rb
110
110
  - lib/TerraformDevKit/os.rb
111
+ - lib/TerraformDevKit/terraform_env_manager.rb
111
112
  - lib/TerraformDevKit/terraform_installer.rb
112
113
  - lib/TerraformDevKit/terragrunt_installer.rb
113
114
  - lib/TerraformDevKit/url.rb