foreman_azure_rm 2.1.3 → 2.2.0
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/README.md +17 -15
 - data/app/controllers/foreman_azure_rm/concerns/compute_resources_controller_extensions.rb +1 -0
 - data/app/models/concerns/foreman_azure_rm/vm_extensions/managed_vm.rb +16 -0
 - data/app/models/foreman_azure_rm/azure_rm.rb +11 -2
 - data/app/views/api/v2/compute_resources/azurerm.json.rabl +1 -1
 - data/app/views/compute_resources/form/_azurerm.html.erb +6 -0
 - data/app/views/compute_resources_vms/index/_azurerm.html.erb +12 -12
 - data/app/views/images/form/_azurerm.html.erb +2 -2
 - data/lib/foreman_azure_rm/azure_sdk_adapter.rb +54 -13
 - data/lib/foreman_azure_rm/engine.rb +2 -2
 - data/lib/foreman_azure_rm/version.rb +1 -1
 - data/locale/ko/LC_MESSAGES/foreman_azure_rm.mo +0 -0
 - data/locale/ko/foreman_azure_rm.po +7 -6
 - data/locale/nl_NL/LC_MESSAGES/foreman_azure_rm.mo +0 -0
 - data/locale/nl_NL/foreman_azure_rm.po +2 -1
 - data/locale/pl/LC_MESSAGES/foreman_azure_rm.mo +0 -0
 - data/locale/pl/foreman_azure_rm.po +3 -2
 - data/locale/pt_BR/LC_MESSAGES/foreman_azure_rm.mo +0 -0
 - data/locale/pt_BR/foreman_azure_rm.po +11 -9
 - data/locale/ru/LC_MESSAGES/foreman_azure_rm.mo +0 -0
 - data/locale/ru/foreman_azure_rm.po +11 -9
 - metadata +12 -12
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 416621db4c525470113b126a84a30a5701999e6bc442f6e18beb0bdd6b3379a3
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 6ec1793bc3394b0a19f92f5ad98a33c005e30fce89bd549ebde954529ab7d895
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: f8a953836164727d9bba985be5d77b8211c73bc2cc20f45c7de563d49fb06cd32652695e6b4a0b42c19e0dcd5a5d86b51b347562b460f90eb33342f518044fd7
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 79cbe567f0cb3556b046f208c6f7218876c4ab10fb8b74d4ae6e2d9df8a9f601b8a895cff46e236630c306f1f977a00c5976517af99c39744b6060a72b0cfda7
         
     | 
    
        data/README.md
    CHANGED
    
    | 
         @@ -4,6 +4,7 @@ 
     | 
|
| 
       4 
4 
     | 
    
         
             
            ```foreman_azure_rm``` adds [Microsoft Azure Resource Manager](http://azure.com/) as a compute resource for The Foreman
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
            * Website: [TheForeman.org](http://theforeman.org)
         
     | 
| 
      
 7 
     | 
    
         
            +
            * ForemanAzureRm: [Plugin manual](https://theforeman.org/plugins/foreman_azure)
         
     | 
| 
       7 
8 
     | 
    
         
             
            * Support: [Foreman support](http://theforeman.org/support.html)
         
     | 
| 
       8 
9 
     | 
    
         | 
| 
       9 
10 
     | 
    
         
             
            ## Installation
         
     | 
| 
         @@ -12,25 +13,25 @@ 
     | 
|
| 
       12 
13 
     | 
    
         | 
| 
       13 
14 
     | 
    
         
             
            Add the following to bundler.d/Gemfile.local.rb in your Foreman installation directory (/usr/share/foreman by default)
         
     | 
| 
       14 
15 
     | 
    
         | 
| 
       15 
     | 
    
         
            -
            ``` 
     | 
| 
      
 16 
     | 
    
         
            +
            ```console
         
     | 
| 
       16 
17 
     | 
    
         
             
            $ gem 'foreman_azure_rm'
         
     | 
| 
       17 
18 
     | 
    
         
             
            ```
         
     | 
| 
       18 
19 
     | 
    
         | 
| 
       19 
20 
     | 
    
         
             
            Or simply:
         
     | 
| 
       20 
21 
     | 
    
         | 
| 
       21 
     | 
    
         
            -
            ``` 
     | 
| 
      
 22 
     | 
    
         
            +
            ```console
         
     | 
| 
       22 
23 
     | 
    
         
             
            $ echo "gem 'foreman_azure_rm'" > /usr/share/foreman/bundler.d/Gemfile.local.rb
         
     | 
| 
       23 
24 
     | 
    
         
             
            ```
         
     | 
| 
       24 
25 
     | 
    
         | 
| 
       25 
26 
     | 
    
         
             
            Then run `bundle install` from the same directory
         
     | 
| 
       26 
27 
     | 
    
         | 
| 
       27 
28 
     | 
    
         
             
            ### Package
         
     | 
| 
       28 
     | 
    
         
            -
            ```
         
     | 
| 
      
 29 
     | 
    
         
            +
            ```console
         
     | 
| 
       29 
30 
     | 
    
         
             
            # yum install tfm-rubygem-foreman_azure_rm
         
     | 
| 
       30 
31 
     | 
    
         
             
            ```
         
     | 
| 
       31 
32 
     | 
    
         | 
| 
       32 
33 
     | 
    
         
             
            ### Foreman Installer
         
     | 
| 
       33 
     | 
    
         
            -
            ```
         
     | 
| 
      
 34 
     | 
    
         
            +
            ```console
         
     | 
| 
       34 
35 
     | 
    
         
             
            # foreman-installer --enable-foreman-plugin-azure
         
     | 
| 
       35 
36 
     | 
    
         
             
            ```
         
     | 
| 
       36 
37 
     | 
    
         | 
| 
         @@ -44,7 +45,7 @@ git clone https://github.com/theforeman/foreman_azure_rm.git 
     | 
|
| 
       44 
45 
     | 
    
         
             
            Add the following to bundler.d/Gemfile.local.rb in your Foreman development directory
         
     | 
| 
       45 
46 
     | 
    
         | 
| 
       46 
47 
     | 
    
         
             
            ```ruby
         
     | 
| 
       47 
     | 
    
         
            -
             
     | 
| 
      
 48 
     | 
    
         
            +
            gem 'foreman_azure_rm', :path => 'path to foreman_azure_rm directory'
         
     | 
| 
       48 
49 
     | 
    
         
             
            ```
         
     | 
| 
       49 
50 
     | 
    
         | 
| 
       50 
51 
     | 
    
         
             
            Then run `bundle install` from the same directory
         
     | 
| 
         @@ -54,14 +55,19 @@ Then run `bundle install` from the same directory 
     | 
|
| 
       54 
55 
     | 
    
         
             
                * VM creation
         
     | 
| 
       55 
56 
     | 
    
         
             
                * Provisions using Finish and User data templates from Foreman
         
     | 
| 
       56 
57 
     | 
    
         
             
                * Supports cloud-config provisioning
         
     | 
| 
       57 
     | 
    
         
            -
                * Currently supports single NIC
         
     | 
| 
       58 
     | 
    
         
            -
                * Currently supports single default OS Disk
         
     | 
| 
       59 
58 
     | 
    
         
             
                * Currently supports only provisioning of Linux platforms
         
     | 
| 
       60 
59 
     | 
    
         
             
                * Provisioning using [Public Images](https://docs.microsoft.com/en-us/azure/virtual-machines/linux/cli-ps-findimage)
         
     | 
| 
      
 60 
     | 
    
         
            +
                * Provision using custom images
         
     | 
| 
      
 61 
     | 
    
         
            +
                * Provision using shared image galleries
         
     | 
| 
      
 62 
     | 
    
         
            +
                * Provision using RHEL byos images
         
     | 
| 
      
 63 
     | 
    
         
            +
                * Multiple NICs support
         
     | 
| 
      
 64 
     | 
    
         
            +
                * Support to add multiple data disks/volumes (standard or premium)
         
     | 
| 
      
 65 
     | 
    
         
            +
                * VM Extension with Custom Script and File URIs support
         
     | 
| 
       61 
66 
     | 
    
         
             
                * Static or dynamic addresses on a per NIC basis
         
     | 
| 
       62 
67 
     | 
    
         
             
            * Limited extension support
         
     | 
| 
       63 
68 
     | 
    
         
             
                * Microsoft's custom script extension
         
     | 
| 
       64 
69 
     | 
    
         
             
                * Puppet Lab's Puppet agent extension for Windows
         
     | 
| 
      
 70 
     | 
    
         
            +
            * Azure Gov Cloud Support
         
     | 
| 
       65 
71 
     | 
    
         | 
| 
       66 
72 
     | 
    
         
             
            ## Configuration
         
     | 
| 
       67 
73 
     | 
    
         
             
            Go to **Infrastructure > Compute Resources** and click on "New Compute Resource".
         
     | 
| 
         @@ -71,21 +77,17 @@ Choose the **Azure Resource Manager provider**, and fill in all the fields. You 
     | 
|
| 
       71 
77 
     | 
    
         
             
            That's it. You're now ready to create and manage Azure resources in your new Azure Resource Manager compute resource. You should see something like this in the Compute Resource page:
         
     | 
| 
       72 
78 
     | 
    
         | 
| 
       73 
79 
     | 
    
         | 
| 
       74 
     | 
    
         
            -
            
         
     | 
| 
       75 
81 
     | 
    
         | 
| 
       76 
82 
     | 
    
         | 
| 
       77 
     | 
    
         
            -
            
         
     | 
| 
       78 
84 
     | 
    
         | 
| 
       79 
85 
     | 
    
         | 
| 
       80 
     | 
    
         
            -
            
         
     | 
| 
       81 
87 
     | 
    
         | 
| 
       82 
88 
     | 
    
         | 
| 
       83 
89 
     | 
    
         
             
            ## Planned Features
         
     | 
| 
       84 
     | 
    
         
            -
            *  
     | 
| 
       85 
     | 
    
         
            -
            * Support to add multiple data disks (standard or premium)
         
     | 
| 
       86 
     | 
    
         
            -
            * Provision using custom images
         
     | 
| 
       87 
     | 
    
         
            -
            * Provision using shared image galleries
         
     | 
| 
       88 
     | 
    
         
            -
            * Improved extension support    
         
     | 
| 
      
 90 
     | 
    
         
            +
            * Support for http_proxy
         
     | 
| 
       89 
91 
     | 
    
         | 
| 
       90 
92 
     | 
    
         
             
            ## Known Limitations
         
     | 
| 
       91 
93 
     | 
    
         
             
            * Please note that currently username is expected to be the same on both Virtual Machine tab for Host creation and during Image creation for Compute Resource. The password field for Image creation is optional.
         
     | 
| 
         @@ -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 
     | 
    
         | 
| 
         @@ -59,6 +59,21 @@ module ForemanAzureRm 
     | 
|
| 
       59 
59 
     | 
    
         
             
                    end
         
     | 
| 
       60 
60 
     | 
    
         
             
                  end
         
     | 
| 
       61 
61 
     | 
    
         | 
| 
      
 62 
     | 
    
         
            +
                  def marketplace_image_plan(image)
         
     | 
| 
      
 63 
     | 
    
         
            +
                    image_type, image_id = image.split('://')
         
     | 
| 
      
 64 
     | 
    
         
            +
                    return nil unless image_type == 'marketplace' && image_id.include?('byos')
         
     | 
| 
      
 65 
     | 
    
         
            +
                    urn = image_id.split(':')
         
     | 
| 
      
 66 
     | 
    
         
            +
                    publisher = urn[0]
         
     | 
| 
      
 67 
     | 
    
         
            +
                    offer     = urn[1]
         
     | 
| 
      
 68 
     | 
    
         
            +
                    sku       = urn[2]
         
     | 
| 
      
 69 
     | 
    
         
            +
                    version   = urn[3]
         
     | 
| 
      
 70 
     | 
    
         
            +
                    image_plan = ComputeModels::PurchasePlan.new
         
     | 
| 
      
 71 
     | 
    
         
            +
                    image_plan.publisher = publisher.downcase
         
     | 
| 
      
 72 
     | 
    
         
            +
                    image_plan.name = sku.downcase
         
     | 
| 
      
 73 
     | 
    
         
            +
                    image_plan.product = offer.downcase
         
     | 
| 
      
 74 
     | 
    
         
            +
                    image_plan
         
     | 
| 
      
 75 
     | 
    
         
            +
                  end
         
     | 
| 
      
 76 
     | 
    
         
            +
             
     | 
| 
       62 
77 
     | 
    
         
             
                  def marketplace_image_reference(publisher, offer, sku, version)
         
     | 
| 
       63 
78 
     | 
    
         
             
                    image_reference = ComputeModels::ImageReference.new
         
     | 
| 
       64 
79 
     | 
    
         
             
                    image_reference.publisher = publisher
         
     | 
| 
         @@ -209,6 +224,7 @@ module ForemanAzureRm 
     | 
|
| 
       209 
224 
     | 
    
         | 
| 
       210 
225 
     | 
    
         
             
                  def create_managed_virtual_machine(vm_hash)
         
     | 
| 
       211 
226 
     | 
    
         
             
                    vm_params = initialize_vm(vm_hash)
         
     | 
| 
      
 227 
     | 
    
         
            +
                    vm_params.plan = marketplace_image_plan(vm_hash[:image_id])
         
     | 
| 
       212 
228 
     | 
    
         
             
                    vm_params.network_profile = define_network_profile(vm_hash[:network_interface_card_ids])
         
     | 
| 
       213 
229 
     | 
    
         
             
                    vm_params.storage_profile.image_reference = define_image(vm_hash[:resource_group], vm_hash[:image_id])
         
     | 
| 
       214 
230 
     | 
    
         
             
                    vm_params.storage_profile.data_disks = define_data_disks(vm_hash[:name], vm_hash[:data_disks])
         
     | 
| 
         @@ -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
         
     | 
| 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            attributes :tenant, :app_ident, :sub_id, : 
     | 
| 
      
 1 
     | 
    
         
            +
            attributes :azure_environment, :tenant, :app_ident, :sub_id, :region
         
     | 
| 
         @@ -1,3 +1,9 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            <%= selectable_f f, :cloud, [
         
     | 
| 
      
 2 
     | 
    
         
            +
              ['Public / Standard', 'azure'],  
         
     | 
| 
      
 3 
     | 
    
         
            +
              ['US Government', 'azureusgovernment'],
         
     | 
| 
      
 4 
     | 
    
         
            +
              ['China', 'azurechina'],
         
     | 
| 
      
 5 
     | 
    
         
            +
              ['Germany', 'azuregermancloud'],
         
     | 
| 
      
 6 
     | 
    
         
            +
            ], {}, { :label => _('Cloud'), :required => true } %>
         
     | 
| 
       1 
7 
     | 
    
         
             
            <%= text_f f, :app_ident, :label => _('Client ID'), :required => true, :help_inline => link_to(icon_text('help', _('Documentation'), :kind => 'pficon'),
         
     | 
| 
       2 
8 
     | 
    
         
             
              azure_doc_url, :rel => 'external', :class => 'btn btn-default btn-docs', :target => '_blank') %>
         
     | 
| 
       3 
9 
     | 
    
         
             
            <%= password_f f, :password, :label => _('Client Secret'), :keep_value => true, :required => true %>
         
     | 
| 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            < 
     | 
| 
       2 
     | 
    
         
            -
              < 
     | 
| 
       3 
     | 
    
         
            -
                < 
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
       9 
     | 
    
         
            -
             
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
             
     | 
| 
      
 1 
     | 
    
         
            +
            <thead>
         
     | 
| 
      
 2 
     | 
    
         
            +
              <tr>
         
     | 
| 
      
 3 
     | 
    
         
            +
                <th><%= _('Name') %></th>
         
     | 
| 
      
 4 
     | 
    
         
            +
                <th><%= _('Size') %></th>
         
     | 
| 
      
 5 
     | 
    
         
            +
                <th><%= _('Resource Group') %></th>
         
     | 
| 
      
 6 
     | 
    
         
            +
                <th><%= _('Region') %></th>
         
     | 
| 
      
 7 
     | 
    
         
            +
                <th><%= _('State') %></th>
         
     | 
| 
      
 8 
     | 
    
         
            +
                <th><%= _('Actions') %></th>
         
     | 
| 
      
 9 
     | 
    
         
            +
              </tr>
         
     | 
| 
      
 10 
     | 
    
         
            +
            </thead>
         
     | 
| 
      
 11 
     | 
    
         
            +
            <tbody>
         
     | 
| 
       12 
12 
     | 
    
         
             
              <% @vms.each do |vm| %>
         
     | 
| 
       13 
13 
     | 
    
         
             
                <tr>
         
     | 
| 
       14 
14 
     | 
    
         
             
                  <td><%= link_to_if_authorized vm.name, hash_for_compute_resource_vm_path(:compute_resource_id => @compute_resource, :id => vm.identity).merge(:auth_object => @compute_resource) %></td>
         
     | 
| 
         @@ -27,4 +27,4 @@ 
     | 
|
| 
       27 
27 
     | 
    
         
             
                  </td>
         
     | 
| 
       28 
28 
     | 
    
         
             
                </tr>
         
     | 
| 
       29 
29 
     | 
    
         
             
              <% end %>
         
     | 
| 
       30 
     | 
    
         
            -
            </ 
     | 
| 
      
 30 
     | 
    
         
            +
            </tbody>
         
     | 
| 
         @@ -2,5 +2,5 @@ 
     | 
|
| 
       2 
2 
     | 
    
         
             
                       :help_inline         => _("The user that will be used to SSH into the VM for completion")
         
     | 
| 
       3 
3 
     | 
    
         
             
            %>
         
     | 
| 
       4 
4 
     | 
    
         
             
            <%= password_f f, :password, :keep_value => true, :help_inline => _("Password to authenticate with - used for SSH finish step.") %>
         
     | 
| 
       5 
     | 
    
         
            -
            <%= image_field(f, :label => _("Azure Image Name"), :help_inline => _("For custom or shared gallery image prefix  
     | 
| 
       6 
     | 
    
         
            -
            <%= checkbox_f f, :user_data, :help_inline => _("Does this image support user data input?") %>
         
     | 
| 
      
 5 
     | 
    
         
            +
            <%= image_field(f, :label => _("Azure Image Name"), :help_inline => _("For custom or shared gallery image, use prefix 'custom://' or 'gallery://'. For public and RHEL-byos images, prefix the uuid with 'marketplace://'. (e.g. 'marketplace://OpenLogic:CentOS:7.5:latest' or 'custom://image-name')")) %>
         
     | 
| 
      
 6 
     | 
    
         
            +
            <%= checkbox_f f, :user_data, :help_inline => _("Does this image support user data input?") %>
         
     | 
| 
         @@ -1,46 +1,87 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            module ForemanAzureRm
         
     | 
| 
       2 
2 
     | 
    
         
             
              class AzureSdkAdapter
         
     | 
| 
       3 
     | 
    
         
            -
                def initialize(tenant, app_ident, secret_key, sub_id)
         
     | 
| 
       4 
     | 
    
         
            -
                  @tenant 
     | 
| 
       5 
     | 
    
         
            -
                  @app_ident 
     | 
| 
       6 
     | 
    
         
            -
                  @secret_key 
     | 
| 
       7 
     | 
    
         
            -
                  @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 
     | 
    
         
            -
                   
     | 
| 
      
 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 
     | 
    
         
            -
                     
     | 
| 
      
 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 
     | 
    
         | 
| 
         @@ -42,7 +42,7 @@ module ForemanAzureRm 
     | 
|
| 
       42 
42 
     | 
    
         
             
                  require 'azure_mgmt_subscriptions'
         
     | 
| 
       43 
43 
     | 
    
         | 
| 
       44 
44 
     | 
    
         
             
                  # Add format validation for azure images
         
     | 
| 
       45 
     | 
    
         
            -
                  ::Image.validates :uuid, format: { with: /\A((marketplace|custom|gallery):\/\/)[^:]+(:[^:]+:[^:]+:[^:]+)?\z/,
         
     | 
| 
      
 45 
     | 
    
         
            +
                  ::Image.validates :uuid, uniqueness: { scope: :compute_resource_id, case_sensitive: false }, format: { with: /\A((marketplace|custom|gallery):\/\/)[^:]+(:[^:]+:[^:]+:[^:]+)?\z/,
         
     | 
| 
       46 
46 
     | 
    
         
             
                      message: "Incorrect UUID format" }, if: -> (image){ image.compute_resource.is_a? ForemanAzureRm::AzureRm }
         
     | 
| 
       47 
47 
     | 
    
         | 
| 
       48 
48 
     | 
    
         
             
                  # Use excon as default so that HTTP Proxy settings of foreman works
         
     | 
| 
         Binary file 
     | 
| 
         @@ -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. 
     | 
| 
      
 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 ""
         
     | 
| 
         Binary file 
     | 
| 
         @@ -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. 
     | 
| 
      
 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"
         
     | 
| 
         Binary file 
     | 
| 
         @@ -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. 
     | 
| 
      
 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 ""
         
     | 
| 
         Binary file 
     | 
| 
         @@ -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. 
     | 
| 
      
 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:  
     | 
| 
      
 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 ""
         
     | 
| 
         Binary file 
     | 
| 
         @@ -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. 
     | 
| 
      
 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:  
     | 
| 
      
 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. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 2.2.0
         
     | 
| 
       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: 2021-03- 
     | 
| 
      
 13 
     | 
    
         
            +
            date: 2021-03-05 00:00:00.000000000 Z
         
     | 
| 
       14 
14 
     | 
    
         
             
            dependencies:
         
     | 
| 
       15 
15 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       16 
16 
     | 
    
         
             
              name: deface
         
     | 
| 
         @@ -32,70 +32,70 @@ dependencies: 
     | 
|
| 
       32 
32 
     | 
    
         
             
                requirements:
         
     | 
| 
       33 
33 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       34 
34 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       35 
     | 
    
         
            -
                    version: 0.17. 
     | 
| 
      
 35 
     | 
    
         
            +
                    version: 0.17.9
         
     | 
| 
       36 
36 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       37 
37 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       38 
38 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       39 
39 
     | 
    
         
             
                requirements:
         
     | 
| 
       40 
40 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       41 
41 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       42 
     | 
    
         
            -
                    version: 0.17. 
     | 
| 
      
 42 
     | 
    
         
            +
                    version: 0.17.9
         
     | 
| 
       43 
43 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       44 
44 
     | 
    
         
             
              name: azure_mgmt_network
         
     | 
| 
       45 
45 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       46 
46 
     | 
    
         
             
                requirements:
         
     | 
| 
       47 
47 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       48 
48 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       49 
     | 
    
         
            -
                    version: 0. 
     | 
| 
      
 49 
     | 
    
         
            +
                    version: 0.23.4
         
     | 
| 
       50 
50 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       51 
51 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       52 
52 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       53 
53 
     | 
    
         
             
                requirements:
         
     | 
| 
       54 
54 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       55 
55 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       56 
     | 
    
         
            -
                    version: 0. 
     | 
| 
      
 56 
     | 
    
         
            +
                    version: 0.23.4
         
     | 
| 
       57 
57 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       58 
58 
     | 
    
         
             
              name: azure_mgmt_storage
         
     | 
| 
       59 
59 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       60 
60 
     | 
    
         
             
                requirements:
         
     | 
| 
       61 
61 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       62 
62 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       63 
     | 
    
         
            -
                    version: 0. 
     | 
| 
      
 63 
     | 
    
         
            +
                    version: 0.21.1
         
     | 
| 
       64 
64 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       65 
65 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       66 
66 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       67 
67 
     | 
    
         
             
                requirements:
         
     | 
| 
       68 
68 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       69 
69 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       70 
     | 
    
         
            -
                    version: 0. 
     | 
| 
      
 70 
     | 
    
         
            +
                    version: 0.21.1
         
     | 
| 
       71 
71 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       72 
72 
     | 
    
         
             
              name: azure_mgmt_compute
         
     | 
| 
       73 
73 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       74 
74 
     | 
    
         
             
                requirements:
         
     | 
| 
       75 
75 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       76 
76 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       77 
     | 
    
         
            -
                    version: 0. 
     | 
| 
      
 77 
     | 
    
         
            +
                    version: 0.19.3
         
     | 
| 
       78 
78 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       79 
79 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       80 
80 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       81 
81 
     | 
    
         
             
                requirements:
         
     | 
| 
       82 
82 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       83 
83 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       84 
     | 
    
         
            -
                    version: 0. 
     | 
| 
      
 84 
     | 
    
         
            +
                    version: 0.19.3
         
     | 
| 
       85 
85 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       86 
86 
     | 
    
         
             
              name: azure_mgmt_subscriptions
         
     | 
| 
       87 
87 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       88 
88 
     | 
    
         
             
                requirements:
         
     | 
| 
       89 
89 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       90 
90 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       91 
     | 
    
         
            -
                    version: 0.18. 
     | 
| 
      
 91 
     | 
    
         
            +
                    version: 0.18.4
         
     | 
| 
       92 
92 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       93 
93 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       94 
94 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       95 
95 
     | 
    
         
             
                requirements:
         
     | 
| 
       96 
96 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       97 
97 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       98 
     | 
    
         
            -
                    version: 0.18. 
     | 
| 
      
 98 
     | 
    
         
            +
                    version: 0.18.4
         
     | 
| 
       99 
99 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       100 
100 
     | 
    
         
             
              name: rubocop
         
     | 
| 
       101 
101 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     |