terradactyl-terraform 1.8.0 → 1.8.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: 4b36a7e64011be5115b310c46c7dd57e287983288f45688fb2633654340a1fdc
4
- data.tar.gz: 01cdafbbfe6a4025e03bd05f57cfa6d1458cd0d2deeb4126a410ebf3b4ce02bc
3
+ metadata.gz: 414a5cd429ebeb337767f029ee5ffcaec14a61bbb471ae9dff8c063274d024be
4
+ data.tar.gz: 8cbcace0c15a7da8f3e296c61550e64cee9a6e94cbd745ac30b45d93bb6318d9
5
5
  SHA512:
6
- metadata.gz: 439d0d72510c36d950305dc08d794b926308f9c5faef045af116c31dd669be6cc32e8a52a528f354efce03a4418ebf10d59bccfe32bc39b826f29c6e10d537eb
7
- data.tar.gz: '086410255b2ee3ce7bb778e068e9ee2ca24e24b6c44c9a8bf72070d5fa051dc4d142ed0cb7446da650aabd582a547c51211890f7a7eb11c2684796a151778e0b'
6
+ metadata.gz: 8e189de12cfbe14a6fee652f46479b41af6de0631645242433ca319882518e6744d36213e0be01cd3284c9514c440d162c15d1f26f2132f468a87d2c8b47fa59
7
+ data.tar.gz: 3679715a8b81dba0604aca3ab525f2b340233384320487e4fcba113479dd2b5446f8e1ffd69d0b7fbbec9d74ec2b84ff33f4292f30371c23de5e5457ac037496
data/CHANGELOG.md CHANGED
@@ -1,16 +1,27 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 1.8.1 (2025-04-17)
4
+ NEW FEATURES:
5
+ * add support for using latest Terraform 1.x minor version without an explicit implementation
6
+ * update init, planfile, and destroy commands (add Rev1_latest)
7
+
8
+ BUG FIX:
9
+ * fix downloading TF versions < 1.0 on `arm64` architectures
10
+
3
11
  ## 1.8.0 (2025-04-10)
12
+ NEW FEATURES:
4
13
  * add support for Terraform version `~> 1.8.0`
5
14
  * update init, planfile, and destroy commands (add Rev1_08)
6
15
  * add Rev1_08 rspecs
7
16
 
8
17
  ## 1.7.0 (2024-01-17)
18
+ NEW FEATURES:
9
19
  * add support for Terraform version `~> 1.7.0`
10
20
  * update init, planfile, and destroy commands (add Rev1_07)
11
21
  * add Rev1_07 rspecs
12
22
 
13
23
  ## 1.6.0 (2023-10-04)
24
+ NEW FEATURES:
14
25
  * add support for Terraform version `~> 1.6.0`
15
26
  * update init, planfile, and destroy commands (add Rev1_06)
16
27
  * add Rev1_06 rspecs
@@ -6,7 +6,7 @@ module Terradactyl
6
6
  def calc_revision(version)
7
7
  major, minor = version.split(/\.|-/).take(2)
8
8
  major = major.to_i.zero? ? major : major + '_'
9
- minor = minor.rjust(2, '0') # pad a single digit
9
+ minor = minor.nil? ? 'latest' : minor.rjust(2, '0') # pad a single digit unless not provided
10
10
  ['Rev', major, minor].join
11
11
  end
12
12
 
@@ -104,6 +104,12 @@ module Terradactyl
104
104
  end
105
105
  end
106
106
 
107
+ module Rev1_latest
108
+ module Destroy
109
+ include Terradactyl::Terraform::Rev015::Destroy
110
+ end
111
+ end
112
+
107
113
  module Commands
108
114
  class Destroy < Base
109
115
  end
@@ -101,6 +101,12 @@ module Terradactyl
101
101
  end
102
102
  end
103
103
 
104
+ module Rev1_latest
105
+ module Init
106
+ include Terradactyl::Terraform::Rev015::Init
107
+ end
108
+ end
109
+
104
110
  module Commands
105
111
  class Init < Base
106
112
  end
@@ -148,6 +148,11 @@ module Terradactyl
148
148
  end
149
149
  end
150
150
 
151
+ module Rev1_latest
152
+ class PlanFileParser < Rev012::PlanFileParser
153
+ end
154
+ end
155
+
151
156
  module Rev011
152
157
  class PlanFileParser < Rev012::PlanFileParser
153
158
  def checksum
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Terradactyl
4
4
  module Terraform
5
- VERSION = '1.8.0'
5
+ VERSION = '1.8.1'
6
6
  end
7
7
  end
@@ -81,7 +81,7 @@ module Terradactyl
81
81
  end
82
82
 
83
83
  def archive_file
84
- "terraform_#{version}_#{platform}_#{architecture}.zip"
84
+ "terraform_#{version}_#{platform}_#{architecture(version)}.zip"
85
85
  end
86
86
 
87
87
  def download_url
@@ -16,8 +16,12 @@ module Terradactyl
16
16
  end
17
17
 
18
18
  def fetch(url: self.url)
19
- @fh = URI.parse(url).open
20
- @path = @fh.path
19
+ begin
20
+ @fh = URI.parse(url).open
21
+ @path = @fh.path
22
+ rescue OpenURI::HTTPError => e
23
+ puts "Can't access #{url}", e.message
24
+ end
21
25
  @fh
22
26
  end
23
27
 
@@ -4,7 +4,7 @@ module Terradactyl
4
4
  module Terraform
5
5
  module VersionManager
6
6
  module Package
7
- def architecture
7
+ def architecture(version = nil)
8
8
  case value = RbConfig::CONFIG['host_cpu'].downcase
9
9
  when /amd64|x86_64/
10
10
  'amd64'
@@ -13,7 +13,11 @@ module Terradactyl
13
13
  when /^arm$/
14
14
  'arm'
15
15
  when /^arm64|aarch64/
16
- 'arm64'
16
+ if !version.nil? && version.start_with?('0.')
17
+ 'amd64' # fall back to amd64 because no arm64 releases for TF versions < 1.0
18
+ else
19
+ 'arm64'
20
+ end
17
21
  else
18
22
  raise "FATAL: Unsupported CPU arch, #{value}"
19
23
  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.8.0
4
+ version: 1.8.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: 2024-04-10 00:00:00.000000000 Z
11
+ date: 2024-04-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubyzip