terradactyl-terraform 1.1.0 → 1.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: d9dda13855bb6517d2e7fe5a31dc7f2d78b67bbe00a7aa891abd43eb3d857ffd
4
- data.tar.gz: 6b14fdf2b3c5dfa2a395814dd4161af2ef926b8577f96f0f09c812df3bf54bd1
3
+ metadata.gz: 11e631baa96e27046b275f81bac0278e8de6df12fe6faad1e23f8183843dc883
4
+ data.tar.gz: 6c4e638624c37e240ed580dca0f2cfa2b2a63b1fb4383b7839c6ea87cf6c2b66
5
5
  SHA512:
6
- metadata.gz: a0789fe7856b3eab604b13dc2d9a35e9f90a5ad8d3c314958f73792e2ef8ea58db946dd1c3a14662f723353ebf4cbbe9ee060202e12ecd358a75fee8fd0ec9df
7
- data.tar.gz: 1cc92cb6b6e47f32778e1b75d68114574dd5a1db6db1d5f96482a48c77ff93439054f3ff66f9d6fd050eb5b94a343364e6d5bef335efc56c6ec1ba8c83af470f
6
+ metadata.gz: 974e91a4fda13702ddf1607b1d0e6324d39e186fca52937be86a1d48cf6163623013bb432ac63b5baa98f754f245c27a27cb4dc25c8d927ed2e6135e8f3e9604
7
+ data.tar.gz: ae52c3bebfbed294a3aa9556559e48df250a8b8ac37bf572285b082370a039a8fb89413493f59ac66c3b24470a46c27fc340e6cfb0a30fe5af66c4a4c7b06c5e
data/.gitignore CHANGED
@@ -8,6 +8,7 @@ Gemfile.lock
8
8
  /spec/reports/
9
9
  /tmp/
10
10
  vendor
11
+ .DS_Store
11
12
 
12
13
  # rspec failure tracking
13
14
  .rspec_status
data/CHANGELOG.md CHANGED
@@ -1,5 +1,33 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 1.2.1 (2022-06-13)
4
+
5
+ BUG FIX:
6
+
7
+ * differentiate between `arm` and `arm64` architectures
8
+ * fixes binary downloader on Apple silicon
9
+
10
+ MISCELLANEOUS:
11
+
12
+ * Add `.DS_Store` to `.gitignore`
13
+
14
+ ## 1.2.0 (2022-05-18)
15
+
16
+ NEW FEATURES:
17
+
18
+ * add support for Terraform version `~> 1.2.0`
19
+ * Update lib/terradactyl/terraform/commands/destroy.rb (add Rev1_02)
20
+ * Update lib/terradactyl/terraform/commands/init.rb (add Rev1_02)
21
+ * Update spec/fixtures/stacks (add rev1_02)
22
+ * Update spec/helpers.rb (add rev1_02)
23
+
24
+ ## 1.1.2 (2022-01-03)
25
+
26
+ BUG FIXES:
27
+
28
+ * fix calculation of latest version
29
+ * fix failing tests
30
+
3
31
  ## 1.1.0 (2021-12-09)
4
32
 
5
33
  NEW FEATURES:
@@ -62,6 +62,12 @@ module Terradactyl
62
62
  end
63
63
  end
64
64
 
65
+ module Rev1_02
66
+ module Destroy
67
+ include Terradactyl::Terraform::Rev015::Destroy
68
+ end
69
+ end
70
+
65
71
  module Commands
66
72
  class Destroy < Base
67
73
  end
@@ -59,6 +59,12 @@ module Terradactyl
59
59
  end
60
60
  end
61
61
 
62
+ module Rev1_02
63
+ module Init
64
+ include Terradactyl::Terraform::Rev015::Init
65
+ end
66
+ end
67
+
62
68
  module Commands
63
69
  class Init < Base
64
70
  end
@@ -108,6 +108,11 @@ module Terradactyl
108
108
  end
109
109
  end
110
110
 
111
+ module Rev1_02
112
+ class PlanFileParser < Rev012::PlanFileParser
113
+ end
114
+ end
115
+
111
116
  module Rev011
112
117
  class PlanFileParser < Rev012::PlanFileParser
113
118
  def checksum
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Terradactyl
4
4
  module Terraform
5
- VERSION = '1.1.0'
5
+ VERSION = '1.2.1'
6
6
  end
7
7
  end
@@ -4,16 +4,15 @@ module Terradactyl
4
4
  module Terraform
5
5
  module VersionManager
6
6
  class Defaults
7
- DEFAULT_INSTALL_DIR = Gem.bindir
8
- DEFAULT_DOWNLOADS_URL = 'https://www.terraform.io/downloads.html'
9
- DEFAULT_RELEASES_URL = 'https://releases.hashicorp.com/terraform'
10
- DEFAULT_VERSION = nil
7
+ DEFAULT_INSTALL_DIR = Gem.bindir
8
+ DEFAULT_RELEASES_URL = 'https://releases.hashicorp.com/terraform'
9
+ DEFAULT_VERSION = nil
11
10
 
12
11
  def self.load
13
12
  new
14
13
  end
15
14
 
16
- attr_reader :version, :install_dir, :downloads_url, :releases_url
15
+ attr_reader :version, :install_dir, :releases_url
17
16
 
18
17
  def initialize
19
18
  load_defaults
@@ -31,10 +30,6 @@ module Terradactyl
31
30
  @install_dir = validate_path(option) || DEFAULT_INSTALL_DIR
32
31
  end
33
32
 
34
- def downloads_url=(option)
35
- @downloads_url = validate_url(option) || DEFAULT_DOWNLOADS_URL
36
- end
37
-
38
33
  def releases_url=(option)
39
34
  @releases_url = validate_url(option) || DEFAULT_RELEASES_URL
40
35
  end
@@ -66,7 +61,6 @@ module Terradactyl
66
61
 
67
62
  def load_defaults
68
63
  @install_dir = DEFAULT_INSTALL_DIR
69
- @downloads_url = DEFAULT_DOWNLOADS_URL
70
64
  @releases_url = DEFAULT_RELEASES_URL
71
65
  @version = DEFAULT_VERSION
72
66
  end
@@ -10,8 +10,10 @@ module Terradactyl
10
10
  'amd64'
11
11
  when /i?86|x86|i86pc/
12
12
  '386'
13
- when /^arm/
13
+ when /^arm$/
14
14
  'arm'
15
+ when /^arm64/
16
+ 'arm64'
15
17
  else
16
18
  raise "FATAL: Unsupported CPU arch, #{value}"
17
19
  end
@@ -36,10 +38,6 @@ module Terradactyl
36
38
  end
37
39
  end
38
40
 
39
- def downloads_url
40
- VersionManager.downloads_url
41
- end
42
-
43
41
  def releases_url
44
42
  VersionManager.releases_url
45
43
  end
@@ -31,8 +31,7 @@ module Terradactyl
31
31
  class << self
32
32
  extend Forwardable
33
33
 
34
- def_delegators :@options, :version, :version=, :install_dir,
35
- :install_dir=, :downloads_url, :downloads_url=,
34
+ def_delegators :@options, :version, :version=, :install_dir, :install_dir=,
36
35
  :releases_url, :releases_url=, :reset!
37
36
 
38
37
  def_delegators :@inventory, :[], :binaries, :any?
@@ -153,6 +152,9 @@ module Terradactyl
153
152
  fh = Downloader.fetch(releases_url)
154
153
  re = /terraform_(?<version>\d+\.\d+\.\d+(-\w+)?)/
155
154
  fh.read.scan(re).flatten.sort_by { |v| Gem::Version.new(v) }
155
+ ensure
156
+ fh.close
157
+ fh.unlink
156
158
  end
157
159
 
158
160
  def pessimistic_max(version)
@@ -163,12 +165,7 @@ module Terradactyl
163
165
  end
164
166
 
165
167
  def calculate_latest
166
- fh = Downloader.fetch(downloads_url)
167
- re = %r{#{releases_url}\/(?<version>\d+\.\d+\.\d+)}
168
- fh.read.match(re)['version']
169
- ensure
170
- fh.close
171
- fh.unlink
168
+ remote_versions.reject { |e| e =~ /\d+\.\d+\.\d+-/ }.last
172
169
  end
173
170
  end
174
171
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: terradactyl-terraform
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian Warsing
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-12-09 00:00:00.000000000 Z
11
+ date: 2022-06-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubyzip