rake_terraform 0.8.0 → 0.9.0

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: 49f64a19258530d7b83183db8c801c6ca9a429fe
4
- data.tar.gz: 7e7670a2b688257ad4df32ad2ed7441985936241
3
+ metadata.gz: a6df3b659288c9ef903f6d940d63cfc0f5ddebf2
4
+ data.tar.gz: f1c2d2f3807a7c1953c2082974059baa0658f363
5
5
  SHA512:
6
- metadata.gz: 3e2affe61d5a6e77f7ed4dad4b4a91b46b1d65c07a3ef21771e4113694b93c73d3c3565c073e4caa5a0d2b8800c7a9f723dd5a4dd0dad654ac9e45093cbe4b38
7
- data.tar.gz: a49b8333cb57e9cc19b786918e244443956d5860cf5c19409e030b590876cbc270cb1f25e89c13084603d795efdd2e8b1bbc0065bcf7831142faac78caad2750
6
+ metadata.gz: a775deb62eb952b2548ce534edd9609cdfdeb232b559668f3e71e2d2fc93fc30dc589c405ea10f24ecc3399ab2ed00e176dd321dbca908a2ada719c04f321386
7
+ data.tar.gz: dbc16e4281546597ea4eccd247459bc4bc0fa1a65846ae532af825e95d0774757e2892e9ddb304704cfa76de57a757052449f25dee9aa9b71c6868dd9b907e4d
data/Gemfile.lock CHANGED
@@ -1,9 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rake_terraform (0.8.0)
4
+ rake_terraform (0.9.0)
5
5
  rake_dependencies (~> 0.15)
6
- ruby-terraform (~> 0.5)
6
+ ruby-terraform (~> 0.6)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
@@ -29,7 +29,7 @@ GEM
29
29
  minitest (5.10.1)
30
30
  open4 (1.3.4)
31
31
  rake (11.2.2)
32
- rake_dependencies (0.15.0)
32
+ rake_dependencies (0.15.1)
33
33
  hamster (~> 3.0)
34
34
  minitar (~> 0.6)
35
35
  rubyzip (~> 1.1)
@@ -46,7 +46,7 @@ GEM
46
46
  diff-lcs (>= 1.2.0, < 2.0)
47
47
  rspec-support (~> 3.5.0)
48
48
  rspec-support (3.5.0)
49
- ruby-terraform (0.5.0)
49
+ ruby-terraform (0.6.0)
50
50
  lino (~> 1.1)
51
51
  rubyzip (1.2.1)
52
52
  thread_safe (0.3.5)
@@ -1,4 +1,5 @@
1
1
  require 'rake_dependencies'
2
+ require 'ruby_terraform'
2
3
  require 'rake_terraform/version'
3
4
  require 'rake_terraform/tasklib'
4
5
  require 'rake_terraform/tasks'
@@ -11,16 +12,18 @@ module RakeTerraform
11
12
  end
12
13
 
13
14
  def self.define_installation_tasks(opts = {})
15
+ namespace = opts[:namespace] || :terraform
16
+ version = opts[:version] || '0.9.0'
17
+ path = opts[:path] || File.join('vendor', 'terraform')
18
+
14
19
  RubyTerraform.configure do |c|
15
- c.binary = File.join(
16
- opts[:path] || File.join('vendor', 'terraform'),
17
- 'bin', 'terraform')
20
+ c.binary = File.join(path, 'bin', 'terraform')
18
21
  end
19
22
  RakeDependencies::Tasks::All.new do |t|
20
- t.namespace = opts[:namespace] || :terraform
23
+ t.namespace = namespace
21
24
  t.dependency = 'terraform'
22
- t.version = opts[:version] || '0.9.0'
23
- t.path = opts[:path] || File.join('vendor', 'terraform')
25
+ t.version = version
26
+ t.path = path
24
27
  t.type = :zip
25
28
 
26
29
  t.os_ids = {mac: 'darwin', linux: 'linux'}
@@ -44,7 +47,7 @@ module RakeTerraform
44
47
  .build
45
48
  .execute(stdout: version_string)
46
49
 
47
- if version_string.string.lines.first =~ /#{opts[:version]}/
50
+ if version_string.string.lines.first =~ /#{version}/
48
51
  return false
49
52
  end
50
53
  end
@@ -2,9 +2,9 @@ module RakeTerraform
2
2
  module Tasks
3
3
  class All < TaskLib
4
4
  parameter :configuration_name, :required => true
5
- parameter :configuration_directory, :required => true
5
+ parameter :source_directory, :required => true
6
+ parameter :work_directory, :required => true
6
7
 
7
- parameter :backend
8
8
  parameter :backend_config
9
9
 
10
10
  parameter :vars
@@ -35,9 +35,9 @@ module RakeTerraform
35
35
  t.argument_names = plan_argument_names || argument_names || []
36
36
 
37
37
  t.configuration_name = configuration_name
38
- t.configuration_directory = configuration_directory
38
+ t.source_directory = source_directory
39
+ t.work_directory = work_directory
39
40
 
40
- t.backend = backend
41
41
  t.backend_config = backend_config
42
42
 
43
43
  t.vars = vars
@@ -54,9 +54,9 @@ module RakeTerraform
54
54
  t.argument_names = provision_argument_names || argument_names || []
55
55
 
56
56
  t.configuration_name = configuration_name
57
- t.configuration_directory = configuration_directory
57
+ t.source_directory = source_directory
58
+ t.work_directory = work_directory
58
59
 
59
- t.backend = backend
60
60
  t.backend_config = backend_config
61
61
 
62
62
  t.vars = vars
@@ -75,9 +75,9 @@ module RakeTerraform
75
75
 
76
76
 
77
77
  t.configuration_name = configuration_name
78
- t.configuration_directory = configuration_directory
78
+ t.source_directory = source_directory
79
+ t.work_directory = work_directory
79
80
 
80
- t.backend = backend
81
81
  t.backend_config = backend_config
82
82
 
83
83
  t.vars = vars
@@ -8,9 +8,9 @@ module RakeTerraform
8
8
  parameter :argument_names, :default => []
9
9
 
10
10
  parameter :configuration_name, :required => true
11
- parameter :configuration_directory, :required => true
11
+ parameter :source_directory, :required => true
12
+ parameter :work_directory, :required => true
12
13
 
13
- parameter :backend
14
14
  parameter :backend_config
15
15
 
16
16
  parameter :vars, default: {}
@@ -28,17 +28,15 @@ module RakeTerraform
28
28
  end
29
29
 
30
30
  def define
31
- if backend && state_file
32
- raise ArgumentError.new(
33
- "Only one of 'state_file' and 'backend' can be provided.")
34
- end
35
-
36
31
  desc "Destroy #{configuration_name} using terraform"
37
32
  task name, argument_names => [ensure_task] do |_, args|
33
+ configuration_directory = File.join(work_directory, source_directory)
34
+
38
35
  params = OpenStruct.new({
39
36
  configuration_name: configuration_name,
37
+ source_directory: source_directory,
38
+ work_directory: work_directory,
40
39
  configuration_directory: configuration_directory,
41
- backend: backend,
42
40
  backend_config: backend_config,
43
41
  state_file: state_file,
44
42
  no_color: no_color,
@@ -56,24 +54,22 @@ module RakeTerraform
56
54
 
57
55
  puts "Destroying #{configuration_name}"
58
56
 
59
- RubyTerraform.clean
60
- RubyTerraform.get(
61
- directory: configuration_directory,
57
+ RubyTerraform.clean(
58
+ base_directory: configuration_directory)
59
+ RubyTerraform.init(
60
+ source: source_directory,
61
+ path: configuration_directory,
62
+ backend_config: derived_backend_config,
62
63
  no_color: no_color)
63
- if backend
64
- RubyTerraform.remote_config(
64
+ Dir.chdir(configuration_directory) do
65
+ RubyTerraform.destroy(
66
+ force: true,
65
67
  no_color: no_color,
66
- backend: backend,
67
- backend_config: derived_backend_config)
68
+ no_backup: no_backup,
69
+ backup: backup_file,
70
+ state: state_file,
71
+ vars: derived_vars)
68
72
  end
69
- RubyTerraform.destroy(
70
- force: true,
71
- no_color: no_color,
72
- no_backup: no_backup,
73
- backup: backup_file,
74
- directory: configuration_directory,
75
- state: state_file,
76
- vars: derived_vars)
77
73
  end
78
74
  end
79
75
  end
@@ -9,9 +9,9 @@ module RakeTerraform
9
9
  parameter :argument_names, :default => []
10
10
 
11
11
  parameter :configuration_name, :required => true
12
- parameter :configuration_directory, :required => true
12
+ parameter :source_directory, :required => true
13
+ parameter :work_directory, :required => true
13
14
 
14
- parameter :backend
15
15
  parameter :backend_config
16
16
 
17
17
  parameter :vars, default: {}
@@ -29,17 +29,15 @@ module RakeTerraform
29
29
  end
30
30
 
31
31
  def define
32
- if backend && state_file
33
- raise ArgumentError.new(
34
- "Only one of 'state_file' and 'backend' can be provided.")
35
- end
36
-
37
32
  desc "Plan #{configuration_name} using terraform"
38
33
  task name, argument_names => [ensure_task] do |_, args|
34
+ configuration_directory = File.join(work_directory, source_directory)
35
+
39
36
  params = OpenStruct.new({
40
37
  configuration_name: configuration_name,
38
+ source_directory: source_directory,
39
+ work_directory: work_directory,
41
40
  configuration_directory: configuration_directory,
42
- backend: backend,
43
41
  backend_config: backend_config,
44
42
  state_file: state_file,
45
43
  no_color: no_color,
@@ -55,23 +53,21 @@ module RakeTerraform
55
53
 
56
54
  puts "Planning #{configuration_name}"
57
55
 
58
- RubyTerraform.clean
59
- RubyTerraform.get(
60
- directory: configuration_directory,
56
+ RubyTerraform.clean(
57
+ base_directory: configuration_directory)
58
+ RubyTerraform.init(
59
+ source: source_directory,
60
+ path: configuration_directory,
61
+ backend_config: derived_backend_config,
61
62
  no_color: no_color)
62
- if backend
63
- RubyTerraform.remote_config(
63
+ Dir.chdir(configuration_directory) do
64
+ RubyTerraform.plan(
64
65
  no_color: no_color,
65
- backend: backend,
66
- backend_config: derived_backend_config)
66
+ destroy: destroy,
67
+ state: state_file,
68
+ plan: plan_file,
69
+ vars: derived_vars)
67
70
  end
68
- RubyTerraform.plan(
69
- no_color: no_color,
70
- destroy: destroy,
71
- directory: configuration_directory,
72
- state: state_file,
73
- plan: plan_file,
74
- vars: derived_vars)
75
71
  end
76
72
  end
77
73
  end
@@ -9,9 +9,9 @@ module RakeTerraform
9
9
  parameter :argument_names, :default => []
10
10
 
11
11
  parameter :configuration_name, :required => true
12
- parameter :configuration_directory, :required => true
12
+ parameter :source_directory, :required => true
13
+ parameter :work_directory, :required => true
13
14
 
14
- parameter :backend
15
15
  parameter :backend_config
16
16
 
17
17
  parameter :vars, default: {}
@@ -29,17 +29,15 @@ module RakeTerraform
29
29
  end
30
30
 
31
31
  def define
32
- if backend && state_file
33
- raise ArgumentError.new(
34
- "Only one of 'state_file' and 'backend' can be provided.")
35
- end
36
-
37
32
  desc "Provision #{configuration_name} using terraform"
38
33
  task name, argument_names => [ensure_task] do |_, args|
34
+ configuration_directory = File.join(work_directory, source_directory)
35
+
39
36
  params = OpenStruct.new({
40
37
  configuration_name: configuration_name,
38
+ source_directory: source_directory,
39
+ work_directory: work_directory,
41
40
  configuration_directory: configuration_directory,
42
- backend: backend,
43
41
  backend_config: backend_config,
44
42
  state_file: state_file,
45
43
  no_color: no_color,
@@ -57,23 +55,21 @@ module RakeTerraform
57
55
 
58
56
  puts "Provisioning #{configuration_name}"
59
57
 
60
- RubyTerraform.clean
61
- RubyTerraform.get(
62
- directory: configuration_directory,
58
+ RubyTerraform.clean(
59
+ base_directory: configuration_directory)
60
+ RubyTerraform.init(
61
+ source: source_directory,
62
+ path: configuration_directory,
63
+ backend_config: derived_backend_config,
63
64
  no_color: no_color)
64
- if backend
65
- RubyTerraform.remote_config(
65
+ Dir.chdir(configuration_directory) do
66
+ RubyTerraform.apply(
66
67
  no_color: no_color,
67
- backend: backend,
68
- backend_config: derived_backend_config)
68
+ no_backup: no_backup,
69
+ backup: backup_file,
70
+ state: state_file,
71
+ vars: derived_vars)
69
72
  end
70
- RubyTerraform.apply(
71
- no_color: no_color,
72
- no_backup: no_backup,
73
- backup: backup_file,
74
- directory: configuration_directory,
75
- state: state_file,
76
- vars: derived_vars)
77
73
  end
78
74
  end
79
75
  end
@@ -1,3 +1,3 @@
1
1
  module RakeTerraform
2
- VERSION = "0.8.0"
2
+ VERSION = "0.9.0"
3
3
  end
@@ -22,7 +22,7 @@ Gem::Specification.new do |spec|
22
22
  spec.require_paths = ['lib']
23
23
 
24
24
  spec.add_dependency 'rake_dependencies', '~> 0.15'
25
- spec.add_dependency 'ruby-terraform', '~> 0.5'
25
+ spec.add_dependency 'ruby-terraform', '~> 0.6'
26
26
 
27
27
  spec.add_development_dependency 'bundler', '~> 1.14'
28
28
  spec.add_development_dependency 'rake', '~> 11.0'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rake_terraform
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Toby Clemson
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-03-18 00:00:00.000000000 Z
11
+ date: 2017-06-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake_dependencies
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - ~>
32
32
  - !ruby/object:Gem::Version
33
- version: '0.5'
33
+ version: '0.6'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ~>
39
39
  - !ruby/object:Gem::Version
40
- version: '0.5'
40
+ version: '0.6'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement