terradactyl-terraform 1.8.0 → 1.8.1

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