foreman_azure_rm 2.2.5 → 2.2.6

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: 39f6ca7eb686ea697b8c9f506303f41e545e46e2ad5aeb72fe376edb9780ee64
4
- data.tar.gz: bfd45c748455ba48ced60736ec4682708a223e862fc726e567eeb424c27fa874
3
+ metadata.gz: 4c5017c30e0067522ca79641d307a2aaef0073ee2c60eb2ec26bf7ca88c72047
4
+ data.tar.gz: e62b30ff6d8594136a724e0995ba7b5de4b14832cd015996d3186f0a1f4daaff
5
5
  SHA512:
6
- metadata.gz: cf021fdd847e111d38db05a4ace1070dd4bbaa4d03979405a424b55eb84b94da216b36883a6bc9957ba0c6041a0301e77586b687619a9ad23742dd26229d08b1
7
- data.tar.gz: d8ff32ba98f6125b0a1200b4d93491c5735c355747aba3d5e951db72c58883879b7bab6021162f5979dda3fbac6bd325c1588881a9c000b3f1725677a8627f15
6
+ metadata.gz: 944bbf2ce53335d33f7ed2f97ac4658408546458103be05ce6cd94bb7cc8f273d49d233adf2cbd7a137154437c0188749123e8ec73eff4d446b59a4d7f068677
7
+ data.tar.gz: 676ed07015b420ace8897695ba252f387577ab4b2b55d1bff62b97381ff3b53aac6ac57af99104351ec068af01af44f90770a54100a7aef1de148be039538278
@@ -176,6 +176,14 @@ module ForemanAzureRm
176
176
  logger.debug msg
177
177
  vm_create_params = ComputeModels::VirtualMachine.new.tap do |vm|
178
178
  vm.location = vm_hash[:location]
179
+ vm.tags = {}
180
+ unless vm_hash[:tags].nil?
181
+ arr = vm_hash[:tags].split(',')
182
+ arr.each do |item|
183
+ kv = item.split('=')
184
+ vm.tags[kv[0].strip] = kv[1].strip
185
+ end
186
+ end
179
187
  unless vm_hash[:availability_set_id].nil?
180
188
  sub_resource = MsRestAzure::SubResource.new
181
189
  sub_resource.id = vm_hash[:availability_set_id]
@@ -59,7 +59,7 @@ module ForemanAzureRm
59
59
  end
60
60
 
61
61
  def ensure_attributes_and_values
62
- validate_region
62
+ validate_region if validate_cloud?
63
63
  end
64
64
 
65
65
  def validate_region
@@ -67,6 +67,15 @@ module ForemanAzureRm
67
67
  errors.add(:region, "is not valid, must be lowercase eg. 'eastus'. No special characters allowed.") unless regions.collect(&:second).include?(region)
68
68
  end
69
69
 
70
+ def validate_cloud?
71
+ valid_clouds = ['azure', 'azureusgovernment', 'azurechina', 'azuregermancloud']
72
+ unless valid_clouds.include?(cloud)
73
+ errors.add(:cloud, "is not valid. Valid choices are #{valid_clouds.join(", ")}.")
74
+ return false
75
+ end
76
+ true
77
+ end
78
+
70
79
  def self.model_name
71
80
  ComputeResource.model_name
72
81
  end
@@ -321,6 +330,7 @@ module ForemanAzureRm
321
330
  script_command: args[:script_command],
322
331
  script_uris: args[:script_uris],
323
332
  nvidia_gpu_extension: args[:nvidia_gpu_extension],
333
+ tags: args[:tags],
324
334
  )
325
335
  logger.debug "Virtual Machine #{args[:vm_name]} Created Successfully."
326
336
  # request NVIDIA GPU driver and CUDA stack
@@ -339,6 +349,7 @@ module ForemanAzureRm
339
349
  script_command: user_command,
340
350
  script_uris: args[:script_uris],
341
351
  nvidia_gpu_extension: Foreman::Cast.to_bool(args[:nvidia_gpu_extension]),
352
+ tags: args[:tags],
342
353
  )
343
354
  rescue RuntimeError => e
344
355
  Foreman::Logging.exception('Unhandled AzureRm error', e)
@@ -7,6 +7,7 @@ module ForemanAzureRm
7
7
  attr_accessor :script_command, :script_uris
8
8
  attr_accessor :nvidia_gpu_extension
9
9
  attr_accessor :volumes
10
+ attr_accessor :tags
10
11
 
11
12
  delegate :name, to: :azure_vm, allow_nil: true
12
13
 
@@ -17,7 +18,8 @@ module ForemanAzureRm
17
18
  volumes: [],
18
19
  script_command: nil,
19
20
  script_uris: nil,
20
- nvidia_gpu_extension: false)
21
+ nvidia_gpu_extension: false,
22
+ tags: [])
21
23
 
22
24
  @azure_vm = azure_vm
23
25
  @sdk = sdk
@@ -27,6 +29,7 @@ module ForemanAzureRm
27
29
  @script_command ||= script_command
28
30
  @script_uris ||= script_uris
29
31
  @nvidia_gpu_extension ||= nvidia_gpu_extension
32
+ @tags ||= tags
30
33
  @azure_vm.hardware_profile ||= ComputeModels::HardwareProfile.new
31
34
  @azure_vm.os_profile ||= ComputeModels::OSProfile.new
32
35
  @azure_vm.os_profile.linux_configuration ||= ComputeModels::LinuxConfiguration.new
@@ -185,6 +185,13 @@
185
185
  }
186
186
  %>
187
187
 
188
+ <%= text_f f, :tags,
189
+ {
190
+ :label => _('Azure Tags'),
191
+ :label_help => _('Comma seperated list of name=value pairs for tags on this VM in Azure')
192
+ }
193
+ %>
194
+
188
195
  <%= checkbox_f f, :nvidia_gpu_extension,
189
196
  {
190
197
  :label => _('NVIDIA driver / CUDA'),
@@ -1,3 +1,3 @@
1
1
  module ForemanAzureRm
2
- VERSION = '2.2.5'.freeze
2
+ VERSION = '2.2.6'.freeze
3
3
  end
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foreman_azure_rm
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.5
4
+ version: 2.2.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aditi Puntambekar
8
8
  - Shimon Shtein
9
9
  - Tyler Gregory
10
- autorequire:
10
+ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2021-06-08 00:00:00.000000000 Z
13
+ date: 2021-11-11 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: azure_mgmt_resources
@@ -201,7 +201,7 @@ homepage: https://github.com/theforeman/foreman_azure_rm
201
201
  licenses:
202
202
  - GPL-3.0
203
203
  metadata: {}
204
- post_install_message:
204
+ post_install_message:
205
205
  rdoc_options: []
206
206
  require_paths:
207
207
  - lib
@@ -217,7 +217,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
217
217
  version: '0'
218
218
  requirements: []
219
219
  rubygems_version: 3.1.6
220
- signing_key:
220
+ signing_key:
221
221
  specification_version: 4
222
222
  summary: Azure Resource Manager as a compute resource for The Foreman
223
223
  test_files: []