rake_terraform 0.8.0 → 0.9.0

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
  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