terradactyl-terraform 1.7.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: 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