foreman_azure_rm 2.1.1 → 2.2.2

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
- SHA256:
3
- metadata.gz: cc75ad1df578bcc16ca37a67e323b1ff763ec6e6149db99a1056ae88c9248c5d
4
- data.tar.gz: 3d8127cce9836f8f23c95947e5497b2c8f3c4d3fc10a7ad025c0d09fa805a06a
2
+ SHA1:
3
+ metadata.gz: d9bd1762fee080c446b9a5b9f8563cc4c8c8ac02
4
+ data.tar.gz: 1ae71a51e1f0515020aaa08d58e66e39ea4bfac3
5
5
  SHA512:
6
- metadata.gz: a213f22eb2b08b07fe28b803a33136a4d3a977eb46a4b95bf926f48189137efef13aacf37a4d81cf2f47c6d710e5ac8a73d5f498431d7a06d3bf6e4d7567380f
7
- data.tar.gz: c361b566af6b568899c60942826a6db92e973da00ac4d6a8641a2c3592090ceaf87fe6a57414b3f260f486b70ebc84c98966da1802477987f816baa19c99a4c1
6
+ metadata.gz: 79d07e33953a24f2e865885302f66631d98fea51e7feb2579d663ed26427e3056030c02ef7fcdd247af868f40f152b8c473649f3e6b44eb0ef5f34cacdf38174
7
+ data.tar.gz: 515fca26a081c6f2706962f3e80d1390ae97ce8e8733fb79934716e2922bd4e38022e11ce973d8d5f0b081f1a66970b46ae0306faf6de090aad367f1312f4e57
data/README.md CHANGED
@@ -67,6 +67,7 @@ Then run `bundle install` from the same directory
67
67
  * Limited extension support
68
68
  * Microsoft's custom script extension
69
69
  * Puppet Lab's Puppet agent extension for Windows
70
+ * Azure Gov Cloud Support
70
71
 
71
72
  ## Configuration
72
73
  Go to **Infrastructure > Compute Resources** and click on "New Compute Resource".
@@ -86,7 +87,6 @@ That's it. You're now ready to create and manage Azure resources in your new Azu
86
87
 
87
88
 
88
89
  ## Planned Features
89
- * Azure Gov Cloud Support
90
90
  * Support for http_proxy
91
91
 
92
92
  ## Known Limitations
@@ -10,6 +10,7 @@ module ForemanAzureRm
10
10
  param :app_ident, String, :desc => N_("Client ID for AzureRm")
11
11
  param :secret_key, String, :desc => N_("Client Secret for AzureRm")
12
12
  param :sub_id, String, :desc => N_("Subscription ID for AzureRm")
13
+ param :cloud, String, :desc => N_("Cloud")
13
14
  end
14
15
  end
15
16
 
@@ -10,4 +10,7 @@ module AzureComputeResourceHelper
10
10
  end
11
11
  selectable_f(f, :url, regions, {}, {:label => _('Azure Region'), :disabled => regions.empty?, :required => true, :help_inline_permanent => load_button_f(f, regions.present?, _("Load Regions")) })
12
12
  end
13
+ def azure_doc_version
14
+ doc_version = Foreman::Plugin.find(:foreman_azure_rm).version.scan(/\d+\.\d+/).first + '.x'
15
+ end
13
16
  end
@@ -4,7 +4,7 @@ module ForemanAzureRm
4
4
  module ManagedVM
5
5
  extend ActiveSupport::Concern
6
6
 
7
- def define_managed_storage_profile(vm_name, os_disk_caching, platform, premium_os_disk)
7
+ def define_managed_storage_profile(vm_name, os_disk_caching, platform, premium_os_disk, os_disk_size_gb)
8
8
  storage_profile = ComputeModels::StorageProfile.new
9
9
  os_disk = ComputeModels::OSDisk.new
10
10
  managed_disk_params = ComputeModels::ManagedDiskParameters.new
@@ -12,6 +12,7 @@ module ForemanAzureRm
12
12
  # Create OS disk
13
13
  os_disk.name = "#{vm_name}-osdisk"
14
14
  os_disk.os_type = platform
15
+ os_disk.disk_size_gb = os_disk_size_gb
15
16
  os_disk.create_option = ComputeModels::DiskCreateOptionTypes::FromImage
16
17
  os_disk.caching = disk_caching(os_disk_caching)
17
18
  managed_disk_params.storage_account_type = if premium_os_disk == 'true'
@@ -187,21 +188,23 @@ module ForemanAzureRm
187
188
  os_profile.admin_password = vm_hash[:password]
188
189
 
189
190
  # Adding the ssh-key support for authentication
190
- os_profile.linux_configuration = ComputeModels::LinuxConfiguration.new.tap do |linux|
191
- linux.disable_password_authentication = vm_hash[:disable_password_authentication]
192
- linux.ssh = ComputeModels::SshConfiguration.new.tap do |ssh_config|
193
- ssh_config.public_keys = [
194
- ComputeModels::SshPublicKey.new.tap do |foreman_key|
195
- foreman_key.key_data = key_pair.public
196
- foreman_key.path = "/home/#{vm_hash[:username]}/.ssh/authorized_keys"
191
+ if vm_hash[:platform] == 'Linux'
192
+ os_profile.linux_configuration = ComputeModels::LinuxConfiguration.new.tap do |linux|
193
+ linux.disable_password_authentication = vm_hash[:disable_password_authentication]
194
+ linux.ssh = ComputeModels::SshConfiguration.new.tap do |ssh_config|
195
+ ssh_config.public_keys = [
196
+ ComputeModels::SshPublicKey.new.tap do |foreman_key|
197
+ foreman_key.key_data = key_pair.public
198
+ foreman_key.path = "/home/#{vm_hash[:username]}/.ssh/authorized_keys"
199
+ end
200
+ ]
201
+ if vm_hash[:ssh_key_data].present?
202
+ key_data = vm_hash[:ssh_key_data]
203
+ pub_key = ComputeModels::SshPublicKey.new
204
+ pub_key.key_data = key_data
205
+ pub_key.path = "/home/#{vm_hash[:username]}/.ssh/authorized_keys"
206
+ ssh_config.public_keys << pub_key
197
207
  end
198
- ]
199
- if vm_hash[:ssh_key_data].present?
200
- key_data = vm_hash[:ssh_key_data]
201
- pub_key = ComputeModels::SshPublicKey.new
202
- pub_key.key_data = key_data
203
- pub_key.path = "/home/#{vm_hash[:username]}/.ssh/authorized_keys"
204
- ssh_config.public_keys << pub_key
205
208
  end
206
209
  end
207
210
  end
@@ -212,7 +215,8 @@ module ForemanAzureRm
212
215
  vm_hash[:name],
213
216
  vm_hash[:os_disk_caching],
214
217
  vm_hash[:platform],
215
- vm_hash[:premium_os_disk]
218
+ vm_hash[:premium_os_disk],
219
+ vm_hash[:os_disk_size_gb]
216
220
  )
217
221
  vm.hardware_profile = ComputeModels::HardwareProfile.new.tap do |hw_profile|
218
222
  hw_profile.vm_size = vm_hash[:vm_size]
@@ -235,11 +239,22 @@ module ForemanAzureRm
235
239
  if args[:script_command].present? || args[:script_uris].present?
236
240
  args[:script_uris] ||= args[:script_uris].to_s
237
241
  extension = ComputeModels::VirtualMachineExtension.new
238
- if args[:platform] == 'Linux'
242
+
243
+ case args[:platform]
244
+ # https://docs.microsoft.com/en-us/azure/virtual-machines/extensions/custom-script-linux
245
+ when 'Linux'
239
246
  extension.publisher = 'Microsoft.Azure.Extensions'
240
247
  extension.virtual_machine_extension_type = 'CustomScript'
241
248
  extension.type_handler_version = '2.0'
249
+ # https://docs.microsoft.com/en-us/azure/virtual-machines/extensions/custom-script-windows
250
+ when 'Windows'
251
+ extension.publisher = 'Microsoft.Compute'
252
+ extension.virtual_machine_extension_type = 'CustomScriptExtension'
253
+ extension.type_handler_version = '1.10'
254
+ else
255
+ raise RuntimeError, "Unsupported platform #{args[:platform]}"
242
256
  end
257
+
243
258
  extension.auto_upgrade_minor_version = true
244
259
  extension.location = region
245
260
  extension.settings = {
@@ -11,6 +11,7 @@ module ForemanAzureRm
11
11
  alias_attribute :secret_key, :password
12
12
  alias_attribute :region, :url
13
13
  alias_attribute :tenant, :uuid
14
+ alias_attribute :azure_environment, :cloud
14
15
 
15
16
  validates :user, :password, :uuid, :app_ident, :presence => true
16
17
 
@@ -41,8 +42,16 @@ module ForemanAzureRm
41
42
  attrs[:app_ident] = name
42
43
  end
43
44
 
45
+ def cloud
46
+ attrs[:cloud]
47
+ end
48
+
49
+ def cloud=(name)
50
+ attrs[:cloud] = name
51
+ end
52
+
44
53
  def sdk
45
- @sdk ||= ForemanAzureRm::AzureSdkAdapter.new(tenant, app_ident, secret_key, sub_id)
54
+ @sdk ||= ForemanAzureRm::AzureSdkAdapter.new(tenant, app_ident, secret_key, sub_id, azure_environment)
46
55
  end
47
56
 
48
57
  def to_label
@@ -81,7 +90,7 @@ module ForemanAzureRm
81
90
 
82
91
  def test_connection(options = {})
83
92
  super
84
- errors[:user].empty? && errors[:password].empty? && errors[:uuid].empty? && errors[:app_ident].empty? && regions
93
+ errors[:user].empty? && errors[:password].empty? && errors[:uuid].empty? && errors[:app_ident].empty? && errors[:cloud].empty? && regions
85
94
  rescue StandardError => e
86
95
  errors[:base] << e.message
87
96
  rescue Excon::Error::Socket => e
@@ -106,7 +115,8 @@ module ForemanAzureRm
106
115
  platform: opts[:platform],
107
116
  ssh_key_data: opts[:ssh_key_data],
108
117
  os_disk_caching: opts[:os_disk_caching],
109
- premium_os_disk: opts[:premium_os_disk]
118
+ premium_os_disk: opts[:premium_os_disk],
119
+ os_disk_size_gb: opts[:os_disk_size_gb]
110
120
  )
111
121
  if opts[:interfaces].present?
112
122
  ifaces = []
@@ -259,23 +269,26 @@ module ForemanAzureRm
259
269
  args = args.to_h.deep_symbolize_keys
260
270
  args[:vm_name] = args[:name].split('.')[0]
261
271
  nics = create_nics(region, args)
262
- if args[:password].present? && !args[:ssh_key_data].present?
263
- # Any change to sudoers_cmd and formation of new
264
- # args[:script_command] must be accordingly changed
265
- # in script_command method in AzureRmCompute class
266
- sudoers_cmd = "$echo #{args[:password]} | sudo -S echo '\"#{args[:username]}\" ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/waagent"
267
- if args[:script_command].present?
268
- # to run the script_cmd given through form as username
269
- user_command = args[:script_command]
270
- args[:script_command] = sudoers_cmd + " ; su - \"#{args[:username]}\" -c \"#{user_command}\""
272
+
273
+ if args[:platform] == 'Linux'
274
+ if args[:password].present? && !args[:ssh_key_data].present?
275
+ # Any change to sudoers_cmd and formation of new
276
+ # args[:script_command] must be accordingly changed
277
+ # in script_command method in AzureRmCompute class
278
+ sudoers_cmd = "$echo #{args[:password]} | sudo -S echo '\"#{args[:username]}\" ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/waagent"
279
+ if args[:script_command].present?
280
+ # to run the script_cmd given through form as username
281
+ user_command = args[:script_command]
282
+ args[:script_command] = sudoers_cmd + " ; su - \"#{args[:username]}\" -c \"#{user_command}\""
283
+ else
284
+ args[:script_command] = sudoers_cmd
285
+ end
286
+ disable_password_auth = false
287
+ elsif args[:ssh_key_data].present? && !args[:password].present?
288
+ disable_password_auth = true
271
289
  else
272
- args[:script_command] = sudoers_cmd
290
+ disable_password_auth = false
273
291
  end
274
- disable_password_auth = false
275
- elsif args[:ssh_key_data].present? && !args[:password].present?
276
- disable_password_auth = true
277
- else
278
- disable_password_auth = false
279
292
  end
280
293
 
281
294
  vm = create_managed_virtual_machine(
@@ -292,6 +305,7 @@ module ForemanAzureRm
292
305
  image_id: args[:image_id],
293
306
  os_disk_caching: args[:os_disk_caching],
294
307
  premium_os_disk: args[:premium_os_disk],
308
+ os_disk_size_gb: args[:os_disk_size_gb],
295
309
  data_disks: args[:volumes_attributes],
296
310
  custom_data: args[:user_data],
297
311
  script_command: args[:script_command],
@@ -10,7 +10,7 @@ module ForemanAzureRm
10
10
  delegate :name, to: :azure_vm, allow_nil: true
11
11
 
12
12
  def initialize(azure_vm: ComputeModels::VirtualMachine.new,
13
- sdk: sdk,
13
+ sdk: nil,
14
14
  resource_group: azure_vm.resource_group,
15
15
  nics: [],
16
16
  volumes: [],
@@ -179,6 +179,10 @@ module ForemanAzureRm
179
179
  @azure_vm.storage_profile.os_disk.managed_disk.storage_account_type
180
180
  end
181
181
 
182
+ def os_disk_size_gb
183
+ @azure_vm.storage_profile.os_disk.disk_size_gb
184
+ end
185
+
182
186
  def os_disk_caching
183
187
  @azure_vm.storage_profile.os_disk.caching
184
188
  end
@@ -1 +1 @@
1
- attributes :tenant, :app_ident, :sub_id, :secret_key, :region
1
+ attributes :azure_environment, :tenant, :app_ident, :sub_id, :region
@@ -1,6 +1,12 @@
1
- <%= text_f f, :app_ident, :label => _('Client ID'), :required => true %>
1
+ <%= selectable_f f, :cloud, [
2
+ ['Public / Standard', 'azure'],
3
+ ['US Government', 'azureusgovernment'],
4
+ ['China', 'azurechina'],
5
+ ['Germany', 'azuregermancloud'],
6
+ ], {}, { :label => _('Cloud'), :required => true } %>
7
+ <%= text_f f, :app_ident, :label => _('Client ID'), :required => true, :help_inline => link_to('Documentation', external_link_path(type: 'plugin_manual', name: 'foreman_azure', version: azure_doc_version), :kind => 'pficon', :rel => 'external', :class => 'btn btn-default btn-docs', :target => '_blank') %>
2
8
  <%= password_f f, :password, :label => _('Client Secret'), :keep_value => true, :required => true %>
3
9
  <%= text_f f, :user, :label => _('Subscription ID'), :required => true %>
4
10
  <%= text_f f, :uuid, :label => _('Tenant ID'), :required => true %>
5
11
 
6
- <%= regions_list(@compute_resource, f) %>
12
+ <%= regions_list(@compute_resource, f) %>
@@ -154,6 +154,16 @@
154
154
  'false'
155
155
  %>
156
156
 
157
+ <%= number_f f, :os_disk_size_gb,
158
+ {
159
+ :label => _('Override OS Disk Size (GB)'),
160
+ :label_help => _("Leave empty to use default image size"),
161
+ :required => false,
162
+ :min => 1,
163
+ :class => "col-md-2",
164
+ }
165
+ %>
166
+
157
167
  <%= selectable_f f, :os_disk_caching, %w(None ReadOnly ReadWrite),
158
168
  { :include_blank => _("Azure's Default") },
159
169
  {
@@ -1,46 +1,87 @@
1
1
  module ForemanAzureRm
2
2
  class AzureSdkAdapter
3
- def initialize(tenant, app_ident, secret_key, sub_id)
4
- @tenant = tenant
5
- @app_ident = app_ident
6
- @secret_key = secret_key
7
- @sub_id = sub_id
3
+ def initialize(tenant, app_ident, secret_key, sub_id, azure_environment)
4
+ @tenant = tenant
5
+ @app_ident = app_ident
6
+ @secret_key = secret_key
7
+ @sub_id = sub_id
8
+ @azure_environment = azure_environment
9
+ @ad_settings = ad_environment_settings(azure_environment)
10
+ @environment_settings = environment_settings(azure_environment)
8
11
  end
9
12
 
10
13
  def resource_client
11
- @resource_client ||= Resources::Client.new(azure_credentials)
14
+ #resource_manager_endpoint_url
15
+ @resource_client ||= Resources::Client.new(azure_credentials(@environment_settings.resource_manager_endpoint_url))
12
16
  end
13
17
 
14
18
  def compute_client
15
- @compute_client ||= Compute::Client.new(azure_credentials)
19
+ @compute_client ||= Compute::Client.new(azure_credentials(@environment_settings.resource_manager_endpoint_url))
16
20
  end
17
21
 
18
22
  def network_client
19
- @network_client ||= Network::Client.new(azure_credentials)
23
+ @network_client ||= Network::Client.new(azure_credentials(@environment_settings.resource_manager_endpoint_url))
20
24
  end
21
25
 
22
26
  def storage_client
23
- @storage_client ||= Storage::Client.new(azure_credentials)
27
+ @storage_client ||= Storage::Client.new(azure_credentials(@environment_settings.resource_manager_endpoint_url))
24
28
  end
25
29
 
26
30
  def subscription_client
27
- @subscription_client ||= Subscriptions::Client.new(azure_credentials)
31
+ @subscription_client ||= Subscriptions::Client.new(azure_credentials(@environment_settings.resource_manager_endpoint_url))
28
32
  end
29
33
 
30
- def azure_credentials
34
+ def azure_credentials(base_url)
31
35
  provider = MsRestAzure::ApplicationTokenProvider.new(
32
36
  @tenant,
33
37
  @app_ident,
34
- @secret_key)
38
+ @secret_key,
39
+ @ad_settings)
35
40
 
36
41
  credentials = MsRest::TokenCredentials.new(provider)
37
42
 
38
43
  {
39
44
  credentials: credentials,
40
- subscription_id: @sub_id
45
+ tenant_id: @tenant,
46
+ client_id: @app_ident,
47
+ client_secret: @secret_key,
48
+ subscription_id: @sub_id,
49
+ base_url: base_url
41
50
  }
42
51
  end
43
52
 
53
+ # https://github.com/Azure/azure-sdk-for-ruby/issues/850
54
+ # Retrieves a [MsRestAzure::ActiveDirectoryServiceSettings] object representing the settings for the given cloud.
55
+ # @param azure_environment [String] The Azure environment to retrieve settings for.
56
+ #
57
+ # @return [MsRestAzure::ActiveDirectoryServiceSettings] Settings to be used for subsequent requests
58
+ #
59
+ def ad_environment_settings(azure_environment)
60
+ case azure_environment.downcase
61
+ when 'azureusgovernment'
62
+ MsRestAzure::ActiveDirectoryServiceSettings.get_azure_us_government_settings
63
+ when 'azurechina'
64
+ MsRestAzure::ActiveDirectoryServiceSettings.get_azure_china_settings
65
+ when 'azuregermancloud'
66
+ MsRestAzure::ActiveDirectoryServiceSettings.get_azure_german_settings
67
+ when 'azure'
68
+ MsRestAzure::ActiveDirectoryServiceSettings.get_azure_settings
69
+ end
70
+ end
71
+
72
+ def environment_settings(azure_environment)
73
+ case azure_environment.downcase
74
+ when 'azureusgovernment'
75
+ MsRestAzure::AzureEnvironments::AzureUSGovernment
76
+ when 'azurechina'
77
+ MsRestAzure::AzureEnvironments::AzureChinaCloud
78
+ when 'azuregermancloud'
79
+ MsRestAzure::AzureEnvironments::AzureGermanCloud
80
+ when 'azure'
81
+ MsRestAzure::AzureEnvironments::AzureCloud
82
+ end
83
+ end
84
+
44
85
  def list_regions(subscription_id)
45
86
  subscription_client.subscriptions.list_locations(subscription_id)
46
87
  end
@@ -11,7 +11,7 @@ module ForemanAzureRm
11
11
  Foreman::Plugin.register :foreman_azure_rm do
12
12
  requires_foreman '>= 1.17'
13
13
  compute_resource ForemanAzureRm::AzureRm
14
- parameter_filter ComputeResource, :azure_vm, :tenant, :app_ident, :secret_key, :sub_id, :region
14
+ parameter_filter ComputeResource, :azure_vm, :tenant, :app_ident, :secret_key, :sub_id, :region, :cloud
15
15
  end
16
16
  end
17
17
 
@@ -1,3 +1,3 @@
1
1
  module ForemanAzureRm
2
- VERSION = '2.1.1'.freeze
2
+ VERSION = '2.2.2'.freeze
3
3
  end
@@ -7,9 +7,10 @@
7
7
  # 0868a4d1af5275b3f70b0a6dac4c99a4, 2020
8
8
  # Bryan Kearney <bryan.kearney@gmail.com>, 2020
9
9
  #
10
+ #, fuzzy
10
11
  msgid ""
11
12
  msgstr ""
12
- "Project-Id-Version: foreman_azure_rm 2.0.8\n"
13
+ "Project-Id-Version: foreman_azure_rm 2.1.1\n"
13
14
  "Report-Msgid-Bugs-To: \n"
14
15
  "PO-Revision-Date: 2020-04-21 13:58+0000\n"
15
16
  "Last-Translator: Bryan Kearney <bryan.kearney@gmail.com>, 2020\n"
@@ -24,7 +25,7 @@ msgid "%{vm_size} VM Size"
24
25
  msgstr ""
25
26
 
26
27
  msgid "Action with sub plans"
27
- msgstr ""
28
+ msgstr "하위 계획이 있는 작업"
28
29
 
29
30
  msgid "Actions"
30
31
  msgstr "동작 "
@@ -78,13 +79,13 @@ msgid "Image"
78
79
  msgstr "이미지 "
79
80
 
80
81
  msgid "Import Puppet classes"
81
- msgstr ""
82
+ msgstr "Puppet 클래스 가져오기"
82
83
 
83
84
  msgid "Import facts"
84
- msgstr ""
85
+ msgstr "팩트 불러오기"
85
86
 
86
87
  msgid "Load Regions"
87
- msgstr ""
88
+ msgstr "지역 로드 "
88
89
 
89
90
  msgid "Marketplace Image URN"
90
91
  msgstr ""
@@ -132,7 +133,7 @@ msgid "Reload Images, Sizes, vNets"
132
133
  msgstr ""
133
134
 
134
135
  msgid "Remote action:"
135
- msgstr ""
136
+ msgstr "원격 작업:"
136
137
 
137
138
  msgid "Resource Group"
138
139
  msgstr ""
@@ -7,9 +7,10 @@
7
7
  # Maxim Burgerhout <maxim@wzzrd.com>, 2020
8
8
  # EmielK <emiel@kremers.us>, 2020
9
9
  #
10
+ #, fuzzy
10
11
  msgid ""
11
12
  msgstr ""
12
- "Project-Id-Version: foreman_azure_rm 2.0.8\n"
13
+ "Project-Id-Version: foreman_azure_rm 2.1.1\n"
13
14
  "Report-Msgid-Bugs-To: \n"
14
15
  "PO-Revision-Date: 2020-04-21 13:58+0000\n"
15
16
  "Last-Translator: EmielK <emiel@kremers.us>, 2020\n"
@@ -7,9 +7,10 @@
7
7
  # sziolkow <sziolkow@gmail.com>, 2020
8
8
  # Michał Foryt <michal.foryt@gmail.com>, 2020
9
9
  #
10
+ #, fuzzy
10
11
  msgid ""
11
12
  msgstr ""
12
- "Project-Id-Version: foreman_azure_rm 2.0.8\n"
13
+ "Project-Id-Version: foreman_azure_rm 2.1.1\n"
13
14
  "Report-Msgid-Bugs-To: \n"
14
15
  "PO-Revision-Date: 2020-04-21 13:58+0000\n"
15
16
  "Last-Translator: Michał Foryt <michal.foryt@gmail.com>, 2020\n"
@@ -86,7 +87,7 @@ msgid "Import facts"
86
87
  msgstr ""
87
88
 
88
89
  msgid "Load Regions"
89
- msgstr ""
90
+ msgstr "Załaduj regiony"
90
91
 
91
92
  msgid "Marketplace Image URN"
92
93
  msgstr ""
@@ -4,18 +4,20 @@
4
4
  # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5
5
  #
6
6
  # Translators:
7
- # Flamarion Jorge <jorge.flamarion@gmail.com>, 2020
8
7
  # 0868a4d1af5275b3f70b0a6dac4c99a4, 2020
8
+ # Bruno Emanuel Silva <bemanuel.pe@gmail.com>, 2020
9
+ # Flamarion Jorge <jorge.flamarion@gmail.com>, 2020
9
10
  # Bryan Kearney <bryan.kearney@gmail.com>, 2020
10
11
  # Luiz Henrique Vasconcelos <luizvasconceloss@yahoo.com.br>, 2020
11
- # Bruno Emanuel Silva <bemanuel.pe@gmail.com>, 2020
12
12
  #
13
+ #, fuzzy
13
14
  msgid ""
14
15
  msgstr ""
15
- "Project-Id-Version: foreman_azure_rm 2.0.8\n"
16
+ "Project-Id-Version: foreman_azure_rm 2.1.1\n"
16
17
  "Report-Msgid-Bugs-To: \n"
17
18
  "PO-Revision-Date: 2020-04-21 13:58+0000\n"
18
- "Last-Translator: Bruno Emanuel Silva <bemanuel.pe@gmail.com>, 2020\n"
19
+ "Last-Translator: Luiz Henrique Vasconcelos <luizvasconceloss@yahoo.com.br>, 20"
20
+ "20\n"
19
21
  "Language-Team: Portuguese (Brazil) (https://www.transifex.com/foreman/teams/11"
20
22
  "4/pt_BR/)\n"
21
23
  "MIME-Version: 1.0\n"
@@ -28,7 +30,7 @@ msgid "%{vm_size} VM Size"
28
30
  msgstr ""
29
31
 
30
32
  msgid "Action with sub plans"
31
- msgstr ""
33
+ msgstr "Ação com subplanos"
32
34
 
33
35
  msgid "Actions"
34
36
  msgstr "Ações"
@@ -82,13 +84,13 @@ msgid "Image"
82
84
  msgstr "Imagem"
83
85
 
84
86
  msgid "Import Puppet classes"
85
- msgstr ""
87
+ msgstr "Importar classes de Puppet"
86
88
 
87
89
  msgid "Import facts"
88
- msgstr ""
90
+ msgstr "Importar fatos"
89
91
 
90
92
  msgid "Load Regions"
91
- msgstr ""
93
+ msgstr "Carregar regiões"
92
94
 
93
95
  msgid "Marketplace Image URN"
94
96
  msgstr ""
@@ -136,7 +138,7 @@ msgid "Reload Images, Sizes, vNets"
136
138
  msgstr ""
137
139
 
138
140
  msgid "Remote action:"
139
- msgstr ""
141
+ msgstr "Ação remota:"
140
142
 
141
143
  msgid "Resource Group"
142
144
  msgstr ""
@@ -4,17 +4,19 @@
4
4
  # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5
5
  #
6
6
  # Translators:
7
- # 0868a4d1af5275b3f70b0a6dac4c99a4, 2020
8
7
  # Andrei Burd <burdandrei@gmail.com>, 2020
9
- # Bryan Kearney <bryan.kearney@gmail.com>, 2020
10
8
  # Vladimir Pavlov <v.pavlov@i-teco.ru>, 2020
9
+ # Yulia <yulia.poyarkova@redhat.com>, 2020
10
+ # 0868a4d1af5275b3f70b0a6dac4c99a4, 2020
11
+ # Bryan Kearney <bryan.kearney@gmail.com>, 2020
11
12
  #
13
+ #, fuzzy
12
14
  msgid ""
13
15
  msgstr ""
14
- "Project-Id-Version: foreman_azure_rm 2.0.8\n"
16
+ "Project-Id-Version: foreman_azure_rm 2.1.1\n"
15
17
  "Report-Msgid-Bugs-To: \n"
16
18
  "PO-Revision-Date: 2020-04-21 13:58+0000\n"
17
- "Last-Translator: Vladimir Pavlov <v.pavlov@i-teco.ru>, 2020\n"
19
+ "Last-Translator: Bryan Kearney <bryan.kearney@gmail.com>, 2020\n"
18
20
  "Language-Team: Russian (https://www.transifex.com/foreman/teams/114/ru/)\n"
19
21
  "MIME-Version: 1.0\n"
20
22
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -28,7 +30,7 @@ msgid "%{vm_size} VM Size"
28
30
  msgstr ""
29
31
 
30
32
  msgid "Action with sub plans"
31
- msgstr ""
33
+ msgstr "Действия с подпланами"
32
34
 
33
35
  msgid "Actions"
34
36
  msgstr "Действия"
@@ -82,13 +84,13 @@ msgid "Image"
82
84
  msgstr "Образ"
83
85
 
84
86
  msgid "Import Puppet classes"
85
- msgstr ""
87
+ msgstr "Импорт классов Puppet"
86
88
 
87
89
  msgid "Import facts"
88
- msgstr ""
90
+ msgstr "Импорт фактов"
89
91
 
90
92
  msgid "Load Regions"
91
- msgstr ""
93
+ msgstr "Загрузить регионы"
92
94
 
93
95
  msgid "Marketplace Image URN"
94
96
  msgstr ""
@@ -136,7 +138,7 @@ msgid "Reload Images, Sizes, vNets"
136
138
  msgstr ""
137
139
 
138
140
  msgid "Remote action:"
139
- msgstr ""
141
+ msgstr "Удаленное действие:"
140
142
 
141
143
  msgid "Resource Group"
142
144
  msgstr ""
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: 2.1.1
4
+ version: 2.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aditi Puntambekar
@@ -10,124 +10,110 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2020-06-09 00:00:00.000000000 Z
13
+ date: 2021-04-12 00:00:00.000000000 Z
14
14
  dependencies:
15
- - !ruby/object:Gem::Dependency
16
- name: deface
17
- requirement: !ruby/object:Gem::Requirement
18
- requirements:
19
- - - "<"
20
- - !ruby/object:Gem::Version
21
- version: '2.0'
22
- type: :runtime
23
- prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- requirements:
26
- - - "<"
27
- - !ruby/object:Gem::Version
28
- version: '2.0'
29
15
  - !ruby/object:Gem::Dependency
30
16
  name: azure_mgmt_resources
31
17
  requirement: !ruby/object:Gem::Requirement
32
18
  requirements:
33
- - - "~>"
19
+ - - ~>
34
20
  - !ruby/object:Gem::Version
35
- version: 0.17.6
21
+ version: 0.18.1
36
22
  type: :runtime
37
23
  prerelease: false
38
24
  version_requirements: !ruby/object:Gem::Requirement
39
25
  requirements:
40
- - - "~>"
26
+ - - ~>
41
27
  - !ruby/object:Gem::Version
42
- version: 0.17.6
28
+ version: 0.18.1
43
29
  - !ruby/object:Gem::Dependency
44
30
  name: azure_mgmt_network
45
31
  requirement: !ruby/object:Gem::Requirement
46
32
  requirements:
47
- - - "~>"
33
+ - - ~>
48
34
  - !ruby/object:Gem::Version
49
- version: 0.19.0
35
+ version: 0.26.1
50
36
  type: :runtime
51
37
  prerelease: false
52
38
  version_requirements: !ruby/object:Gem::Requirement
53
39
  requirements:
54
- - - "~>"
40
+ - - ~>
55
41
  - !ruby/object:Gem::Version
56
- version: 0.19.0
42
+ version: 0.26.1
57
43
  - !ruby/object:Gem::Dependency
58
44
  name: azure_mgmt_storage
59
45
  requirement: !ruby/object:Gem::Requirement
60
46
  requirements:
61
- - - "~>"
47
+ - - ~>
62
48
  - !ruby/object:Gem::Version
63
- version: 0.17.10
49
+ version: 0.23.0
64
50
  type: :runtime
65
51
  prerelease: false
66
52
  version_requirements: !ruby/object:Gem::Requirement
67
53
  requirements:
68
- - - "~>"
54
+ - - ~>
69
55
  - !ruby/object:Gem::Version
70
- version: 0.17.10
56
+ version: 0.23.0
71
57
  - !ruby/object:Gem::Dependency
72
58
  name: azure_mgmt_compute
73
59
  requirement: !ruby/object:Gem::Requirement
74
60
  requirements:
75
- - - "~>"
61
+ - - ~>
76
62
  - !ruby/object:Gem::Version
77
- version: 0.18.7
63
+ version: 0.22.0
78
64
  type: :runtime
79
65
  prerelease: false
80
66
  version_requirements: !ruby/object:Gem::Requirement
81
67
  requirements:
82
- - - "~>"
68
+ - - ~>
83
69
  - !ruby/object:Gem::Version
84
- version: 0.18.7
70
+ version: 0.22.0
85
71
  - !ruby/object:Gem::Dependency
86
72
  name: azure_mgmt_subscriptions
87
73
  requirement: !ruby/object:Gem::Requirement
88
74
  requirements:
89
- - - "~>"
75
+ - - ~>
90
76
  - !ruby/object:Gem::Version
91
- version: 0.18.1
77
+ version: 0.18.5
92
78
  type: :runtime
93
79
  prerelease: false
94
80
  version_requirements: !ruby/object:Gem::Requirement
95
81
  requirements:
96
- - - "~>"
82
+ - - ~>
97
83
  - !ruby/object:Gem::Version
98
- version: 0.18.1
84
+ version: 0.18.5
99
85
  - !ruby/object:Gem::Dependency
100
86
  name: rubocop
101
87
  requirement: !ruby/object:Gem::Requirement
102
88
  requirements:
103
- - - ">="
89
+ - - '>='
104
90
  - !ruby/object:Gem::Version
105
91
  version: '0'
106
92
  type: :development
107
93
  prerelease: false
108
94
  version_requirements: !ruby/object:Gem::Requirement
109
95
  requirements:
110
- - - ">="
96
+ - - '>='
111
97
  - !ruby/object:Gem::Version
112
98
  version: '0'
113
99
  - !ruby/object:Gem::Dependency
114
100
  name: mocha
115
101
  requirement: !ruby/object:Gem::Requirement
116
102
  requirements:
117
- - - "~>"
103
+ - - ~>
118
104
  - !ruby/object:Gem::Version
119
105
  version: '1.2'
120
- - - ">="
106
+ - - '>='
121
107
  - !ruby/object:Gem::Version
122
108
  version: 1.2.1
123
109
  type: :development
124
110
  prerelease: false
125
111
  version_requirements: !ruby/object:Gem::Requirement
126
112
  requirements:
127
- - - "~>"
113
+ - - ~>
128
114
  - !ruby/object:Gem::Version
129
115
  version: '1.2'
130
- - - ">="
116
+ - - '>='
131
117
  - !ruby/object:Gem::Version
132
118
  version: 1.2.1
133
119
  description: This gem provides Azure Resource Manager as a compute resource for The
@@ -140,9 +126,6 @@ executables: []
140
126
  extensions: []
141
127
  extra_rdoc_files: []
142
128
  files:
143
- - LICENSE
144
- - README.md
145
- - Rakefile
146
129
  - app/controllers/foreman_azure_rm/concerns/compute_resources_controller_extensions.rb
147
130
  - app/controllers/foreman_azure_rm/concerns/hosts_controller_extensions.rb
148
131
  - app/helpers/azure_compute_resource_helper.rb
@@ -211,6 +194,9 @@ files:
211
194
  - locale/zh_CN/foreman_azure_rm.po
212
195
  - locale/zh_TW/LC_MESSAGES/foreman_azure_rm.mo
213
196
  - locale/zh_TW/foreman_azure_rm.po
197
+ - LICENSE
198
+ - Rakefile
199
+ - README.md
214
200
  homepage: https://github.com/theforeman/foreman_azure_rm
215
201
  licenses:
216
202
  - GPL-3.0
@@ -221,17 +207,17 @@ require_paths:
221
207
  - lib
222
208
  required_ruby_version: !ruby/object:Gem::Requirement
223
209
  requirements:
224
- - - ">="
210
+ - - '>='
225
211
  - !ruby/object:Gem::Version
226
212
  version: '0'
227
213
  required_rubygems_version: !ruby/object:Gem::Requirement
228
214
  requirements:
229
- - - ">="
215
+ - - '>='
230
216
  - !ruby/object:Gem::Version
231
217
  version: '0'
232
218
  requirements: []
233
219
  rubyforge_project:
234
- rubygems_version: 2.7.6.2
220
+ rubygems_version: 2.0.14.1
235
221
  signing_key:
236
222
  specification_version: 4
237
223
  summary: Azure Resource Manager as a compute resource for The Foreman