foreman_azure_rm 3.0.3 → 3.0.4
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 +4 -4
- data/app/models/foreman_azure_rm/azure_rm.rb +48 -10
- data/lib/foreman_azure_rm/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0cf0542a457d36c7d9a740bde9b3ea054038f6b6d36593c1c8f33f499a16601c
|
4
|
+
data.tar.gz: 959d306004a5861007088db80e7c7b7e3a15467d7a20ca784d42b223623616c5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 140422589d274c9e8206b552ab37e082c91d34eb8971d81249ee01cd5fde766636cf37dc66d028f29fb158dfb318a258f33425c19c9112e6fe52b4345e6a5754
|
7
|
+
data.tar.gz: fab0fefa3f3835d769da502e4dcf94a6c8149fa0e7a3442225004b15f6def14c3a8f2f565a56653d7c034c4bfd3b3a5ed09fd9e6aa23b1fc30ea892e2577585f
|
@@ -172,16 +172,54 @@ module ForemanAzureRm
|
|
172
172
|
return false
|
173
173
|
end
|
174
174
|
when 'gallery'
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
175
|
+
# Instead of the problematic line:
|
176
|
+
# gallery_images_list = sdk.list_resources(filter: "resourceType eq 'Microsoft.Compute/galleries/images'")
|
177
|
+
#
|
178
|
+
# The issue occurs with azure_mgmt_resources 0.18.2, where the resources.list method
|
179
|
+
# signature has changed from previous versions. In prior versions, this method accepted
|
180
|
+
# a filter parameter directly (resources.list(filter: "...")) but in version 0.18.2,
|
181
|
+
# the method doesn't accept any parameters, causing the "wrong number of arguments (given 1, expected 0)"
|
182
|
+
# error. This change in the Ruby SDK API is likely due to Azure REST API updates.
|
183
|
+
|
184
|
+
begin
|
185
|
+
# Extract gallery name and image name from gallery:// URL
|
186
|
+
gallery_parts = image_id.split('/')
|
187
|
+
|
188
|
+
if gallery_parts.length >= 2
|
189
|
+
gallery_name = gallery_parts[0]
|
190
|
+
image_name = gallery_parts[1]
|
191
|
+
|
192
|
+
# Try to find the gallery and image using dedicated SDK methods
|
193
|
+
galleries = sdk.list_galleries
|
194
|
+
gallery = galleries.find { |g| g.name == gallery_name }
|
195
|
+
|
196
|
+
if gallery
|
197
|
+
rg_name = gallery.id.split('/')[4] # Extract resource group name from gallery ID
|
198
|
+
|
199
|
+
# Check if the image exists in the gallery
|
200
|
+
begin
|
201
|
+
gallery_image = sdk.get_gallery_image(rg_name, gallery_name, image_name)
|
202
|
+
|
203
|
+
if gallery_image
|
204
|
+
# Check versions and regions
|
205
|
+
image_versions = sdk.list_gallery_image_versions(rg_name, gallery_name, image_name)
|
206
|
+
target_regions = image_versions.map do |image_version|
|
207
|
+
image_version.publishing_profile.target_regions.map(&:name)
|
208
|
+
end.flatten.uniq.map { |tgt_reg| tgt_reg.gsub(/\s+/, '').downcase }
|
209
|
+
|
210
|
+
return true if target_regions.include? region
|
211
|
+
end
|
212
|
+
rescue StandardError => e
|
213
|
+
Rails.logger.warn("Gallery image check failed: #{e.message}")
|
214
|
+
end
|
215
|
+
end
|
216
|
+
end
|
217
|
+
|
218
|
+
# If any problems occur, assume the image doesn't exist
|
219
|
+
return false
|
220
|
+
rescue StandardError => e
|
221
|
+
Rails.logger.warn("Gallery check failed: #{e.message}")
|
222
|
+
return false
|
185
223
|
end
|
186
224
|
when 'custom'
|
187
225
|
custom_image = sdk.list_custom_images.detect { |custom_img| custom_img.name == image_id && custom_img.location == region }
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: foreman_azure_rm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
4
|
+
version: 3.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aditi Puntambekar
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2025-
|
13
|
+
date: 2025-05-28 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: azure_mgmt_resources
|
@@ -202,7 +202,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
202
202
|
- !ruby/object:Gem::Version
|
203
203
|
version: '0'
|
204
204
|
requirements: []
|
205
|
-
rubygems_version: 3.
|
205
|
+
rubygems_version: 3.2.33
|
206
206
|
signing_key:
|
207
207
|
specification_version: 4
|
208
208
|
summary: Azure Resource Manager as a compute resource for The Foreman
|