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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 44f184f164ceab21c224160cb72f0177c82f51d247ca7d3ea34e5d048b5b1ca0
4
- data.tar.gz: bc2e04e53d0e1d1f53d1405929b4da125809accf97f60be39fb9c1c98d3b8ac1
3
+ metadata.gz: 0cf0542a457d36c7d9a740bde9b3ea054038f6b6d36593c1c8f33f499a16601c
4
+ data.tar.gz: 959d306004a5861007088db80e7c7b7e3a15467d7a20ca784d42b223623616c5
5
5
  SHA512:
6
- metadata.gz: beffa8010c53c30cc272e0019ccb7c4f7368bf7f3245942072468029ab098b886965dd790497d06d3d16a21abf5fb633fd8a8673ddcd16111924294962afeccf
7
- data.tar.gz: 67bcd3c0f0102f9e0c6a035ef025ad11da2c55dc37e6532b667e2cc85f072e1831cba71a047cfe04d69e0af8b32952f618386f7f9e0c663b8e70bf85e6f33f8b
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
- gallery_images_list = sdk.list_resources(filter: "resourceType eq 'Microsoft.Compute/galleries/images'")
176
- gallery_image = gallery_images_list.detect { |gal_img| gal_img.id.split('/')[-1] == image_id }
177
- if gallery_image.present?
178
- rg_name = gallery_image.id.split('/')[4]
179
- gallery_name = gallery_image.name.split('/')[0]
180
- image_versions = sdk.list_gallery_image_versions(rg_name, gallery_name, image_id)
181
- target_regions = image_versions.map do |image_version|
182
- image_version.publishing_profile.target_regions.map(&:name)
183
- end.flatten.uniq.map { |tgt_reg| tgt_reg.gsub(/\s+/, '').downcase }
184
- return true if target_regions.include? region
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 }
@@ -1,3 +1,3 @@
1
1
  module ForemanAzureRm
2
- VERSION = '3.0.3'.freeze
2
+ VERSION = '3.0.4'.freeze
3
3
  end
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.3
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-02-20 00:00:00.000000000 Z
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.5.23
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