terradactyl-terraform 1.7.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: c61d5c7f95f1766f2de945d305776d8b3f26061cce628ce758eb5016d7306d97
4
- data.tar.gz: fa42e59f3ff390d97d6b53944aef6b9f6b348d0a219de8f4165bf64df4bf93f9
3
+ metadata.gz: 414a5cd429ebeb337767f029ee5ffcaec14a61bbb471ae9dff8c063274d024be
4
+ data.tar.gz: 8cbcace0c15a7da8f3e296c61550e64cee9a6e94cbd745ac30b45d93bb6318d9
5
5
  SHA512:
6
- metadata.gz: 9485ea4a80d031abef8da6c4f7aa9a836f22a33fd56ffb0ba0d7316c8ee19a9f8496786d8230276f8d41056c71d3ea9057a4e0c282df548ba7f141ba290962c4
7
- data.tar.gz: 422383ddea10375bedddca0cd47f32a47e052c5d48e3905469c196d175aeb2db657bd473a38ea0285377a0a6d6a0e9908d8df23252674bbae6411e004d5322d9
6
+ metadata.gz: 8e189de12cfbe14a6fee652f46479b41af6de0631645242433ca319882518e6744d36213e0be01cd3284c9514c440d162c15d1f26f2132f468a87d2c8b47fa59
7
+ data.tar.gz: 3679715a8b81dba0604aca3ab525f2b340233384320487e4fcba113479dd2b5446f8e1ffd69d0b7fbbec9d74ec2b84ff33f4292f30371c23de5e5457ac037496
data/CHANGELOG.md CHANGED
@@ -1,11 +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
+
11
+ ## 1.8.0 (2025-04-10)
12
+ NEW FEATURES:
13
+ * add support for Terraform version `~> 1.8.0`
14
+ * update init, planfile, and destroy commands (add Rev1_08)
15
+ * add Rev1_08 rspecs
16
+
3
17
  ## 1.7.0 (2024-01-17)
4
- * add support for Terraform version `~> 1.r76.0`
5
- * update init, planfile, and destroy commands (add Rev1_0r76)
18
+ NEW FEATURES:
19
+ * add support for Terraform version `~> 1.7.0`
20
+ * update init, planfile, and destroy commands (add Rev1_07)
6
21
  * add Rev1_07 rspecs
7
22
 
8
23
  ## 1.6.0 (2023-10-04)
24
+ NEW FEATURES:
9
25
  * add support for Terraform version `~> 1.6.0`
10
26
  * update init, planfile, and destroy commands (add Rev1_06)
11
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
 
@@ -98,6 +98,18 @@ module Terradactyl
98
98
  end
99
99
  end
100
100
 
101
+ module Rev1_08
102
+ module Destroy
103
+ include Terradactyl::Terraform::Rev015::Destroy
104
+ end
105
+ end
106
+
107
+ module Rev1_latest
108
+ module Destroy
109
+ include Terradactyl::Terraform::Rev015::Destroy
110
+ end
111
+ end
112
+
101
113
  module Commands
102
114
  class Destroy < Base
103
115
  end
@@ -95,6 +95,18 @@ module Terradactyl
95
95
  end
96
96
  end
97
97
 
98
+ module Rev1_08
99
+ module Init
100
+ include Terradactyl::Terraform::Rev015::Init
101
+ end
102
+ end
103
+
104
+ module Rev1_latest
105
+ module Init
106
+ include Terradactyl::Terraform::Rev015::Init
107
+ end
108
+ end
109
+
98
110
  module Commands
99
111
  class Init < Base
100
112
  end
@@ -143,6 +143,16 @@ module Terradactyl
143
143
  end
144
144
  end
145
145
 
146
+ module Rev1_08
147
+ class PlanFileParser < Rev012::PlanFileParser
148
+ end
149
+ end
150
+
151
+ module Rev1_latest
152
+ class PlanFileParser < Rev012::PlanFileParser
153
+ end
154
+ end
155
+
146
156
  module Rev011
147
157
  class PlanFileParser < Rev012::PlanFileParser
148
158
  def checksum
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Terradactyl
4
4
  module Terraform
5
- VERSION = '1.7.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.7.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-01-17 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