fog-azure-rm 0.2.2 → 0.2.3
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/CHANGELOG.md +8 -0
- data/lib/fog/azurerm.rb +9 -0
- data/lib/fog/azurerm/constants.rb +8 -5
- data/lib/fog/azurerm/docs/application_gateway.md +3 -3
- data/lib/fog/azurerm/docs/compute.md +2 -2
- data/lib/fog/azurerm/docs/network.md +17 -17
- data/lib/fog/azurerm/models/compute/caching_types.rb +11 -0
- data/lib/fog/azurerm/models/compute/disk_create_option_types.rb +11 -0
- data/lib/fog/azurerm/models/compute/server.rb +18 -6
- data/lib/fog/azurerm/models/network/ipallocation_method.rb +10 -0
- data/lib/fog/azurerm/models/network/security_rule_access.rb +10 -0
- data/lib/fog/azurerm/models/network/security_rule_direction.rb +10 -0
- data/lib/fog/azurerm/models/network/security_rule_protocol.rb +11 -0
- data/lib/fog/azurerm/models/storage/kind.rb +10 -0
- data/lib/fog/azurerm/models/storage/sku_name.rb +13 -0
- data/lib/fog/azurerm/models/storage/sku_tier.rb +10 -0
- data/lib/fog/azurerm/version.rb +1 -1
- data/test/integration/Virtual_network_gateway_connection.rb +2 -2
- data/test/integration/application_gateway.rb +2 -2
- data/test/integration/blob.rb +2 -2
- data/test/integration/external_load_balancer.rb +2 -2
- data/test/integration/internal_load_balancer.rb +1 -1
- data/test/integration/network_security_group.rb +9 -9
- data/test/integration/network_security_rule.rb +3 -3
- data/test/integration/public_ip.rb +6 -2
- data/test/integration/resource_tag.rb +1 -1
- data/test/integration/server.rb +2 -2
- data/test/integration/server_custom_image.rb +1 -1
- data/test/integration/storage_account.rb +2 -2
- data/test/integration/virtual_machine_extension.rb +1 -1
- data/test/integration/virtual_network_gateway.rb +1 -1
- data/test/integration/virtual_network_gateway_connection_to_express_route.rb +1 -1
- data/test/requests/network/test_check_virtual_network_exists.rb +14 -6
- data/test/requests/network/test_create_network_interface.rb +4 -4
- metadata +11 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4a229fc3ad67bc450669aaa95ef75aea77e1e886
|
4
|
+
data.tar.gz: 9b25636194beacdb451765b7894b0044282c7386
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2429b485a5d228cf42ce191ca4d5a048caac1082a50c774cdb0967f8d6a0c5413eeabc177de8669fdc50fc59ffa976e86d4339302a4600c05365340d29735fed
|
7
|
+
data.tar.gz: 5f7b8ac957e2c4c3c5dac39e6de606ff99fd01edf6bb245a2d1a687a83080128c8be5a0ea90488d0ecc892079b7d1330bf823cd8fbb66562ce4de1219944bb9b
|
data/CHANGELOG.md
CHANGED
data/lib/fog/azurerm.rb
CHANGED
@@ -7,6 +7,15 @@ require 'fog/azurerm/utilities/general'
|
|
7
7
|
require 'fog/azurerm/version'
|
8
8
|
require 'fog/core'
|
9
9
|
require 'fog/json'
|
10
|
+
require 'fog/azurerm/models/compute/caching_types'
|
11
|
+
require 'fog/azurerm/models/compute/disk_create_option_types'
|
12
|
+
require 'fog/azurerm/models/network/ipallocation_method'
|
13
|
+
require 'fog/azurerm/models/network/security_rule_access'
|
14
|
+
require 'fog/azurerm/models/network/security_rule_direction'
|
15
|
+
require 'fog/azurerm/models/network/security_rule_protocol'
|
16
|
+
require 'fog/azurerm/models/storage/sku_name'
|
17
|
+
require 'fog/azurerm/models/storage/sku_tier'
|
18
|
+
require 'fog/azurerm/models/storage/kind'
|
10
19
|
|
11
20
|
module Fog
|
12
21
|
# Autoload Module for Credentials
|
@@ -7,8 +7,8 @@ STANDARD_STORAGE = 'Standard'.freeze
|
|
7
7
|
PREMIUM_STORAGE = 'Premium'.freeze
|
8
8
|
ALLOWED_STANDARD_REPLICATION = %w(LRS ZRS GRS RAGRS).freeze
|
9
9
|
API_VERSION = '2016-06-01'.freeze
|
10
|
-
FAULT_DOMAIN_COUNT = 3
|
11
|
-
UPDATE_DOMAIN_COUNT = 5
|
10
|
+
FAULT_DOMAIN_COUNT = 3
|
11
|
+
UPDATE_DOMAIN_COUNT = 5
|
12
12
|
WINDOWS = 'windows'.freeze
|
13
13
|
VPN = 'Vpn'.freeze
|
14
14
|
MICROSOFT_PEERING = 'MicrosoftPeering'.freeze
|
@@ -28,13 +28,16 @@ ENVIRONMENT_AZURE_CHINA_CLOUD = 'AzureChinaCloud'.freeze
|
|
28
28
|
ENVIRONMENT_AZURE_US_GOVERNMENT = 'AzureUSGovernment'.freeze
|
29
29
|
ENVIRONMENT_AZURE_GERMAN_CLOUD = 'AzureGermanCloud'.freeze
|
30
30
|
|
31
|
+
PLATFORM_LINUX = 'linux'.freeze
|
32
|
+
|
31
33
|
# State of the copy operation
|
32
|
-
COPY_STATUS =
|
34
|
+
COPY_STATUS =
|
35
|
+
{
|
33
36
|
# The copy completed successfully.
|
34
37
|
SUCCESS: 'success',
|
35
38
|
# The copy is in progress
|
36
39
|
PENDING: 'pending'
|
37
|
-
}.freeze
|
40
|
+
}.freeze
|
38
41
|
|
39
42
|
# https://msdn.microsoft.com/en-us/library/azure/dd179451.aspx
|
40
43
|
# The maximum size for a block blob created via Put Blob is 64 MB. But for better performance, this size should be 32 MB.
|
@@ -48,4 +51,4 @@ MAXIMUM_CHUNK_SIZE = 4 * 1024 * 1024
|
|
48
51
|
|
49
52
|
# The hash value of 4MB empty content
|
50
53
|
HASH_OF_4MB_EMPTY_CONTENT = 'b5cfa9d6c8febd618f91ac2843d50a1c'.freeze
|
51
|
-
REST_CLIENT_API_VERSION = %w(2014-04-01-preview 2016-05-01).freeze
|
54
|
+
REST_CLIENT_API_VERSION = %w(2014-04-01-preview 2016-05-01).freeze
|
@@ -52,7 +52,7 @@ Create a new Application Gateway.
|
|
52
52
|
[
|
53
53
|
{
|
54
54
|
name: 'frontendIpConfig',
|
55
|
-
private_ip_allocation_method:
|
55
|
+
private_ip_allocation_method: Fog::Network::AzureRM::IPAllocationMethod::Dynamic,
|
56
56
|
public_ip_address_id: '/subscriptions/<Subscription_id>/resourcegroups/<Resource Group name>/providers/Microsoft.Network/publicIPAddresses/<Public IP Address Name>',
|
57
57
|
private_ip_address: '10.0.1.5'
|
58
58
|
}
|
@@ -120,7 +120,7 @@ There can be two ways of giving `frontend_ip_configurations` while creating appl
|
|
120
120
|
[
|
121
121
|
{
|
122
122
|
name: 'frontendIpConfig',
|
123
|
-
private_ip_allocation_method:
|
123
|
+
private_ip_allocation_method: Fog::Network::AzureRM::IPAllocationMethod::Dynamic,
|
124
124
|
public_ip_address_id: '/subscriptions/<Subscription_id>/resourcegroups/<Resource Group name>/providers/Microsoft.Network/publicIPAddresses/<Public IP Address Name>',
|
125
125
|
private_ip_address: '10.0.1.5'
|
126
126
|
}
|
@@ -132,7 +132,7 @@ There can be two ways of giving `frontend_ip_configurations` while creating appl
|
|
132
132
|
[
|
133
133
|
{
|
134
134
|
name: 'frontendIpConfig',
|
135
|
-
private_ip_allocation_method:
|
135
|
+
private_ip_allocation_method: Fog::Network::AzureRM::IPAllocationMethod::Dynamic,
|
136
136
|
subnet_id: '<Subnet ID',
|
137
137
|
private_ip_address: '10.0.1.5'
|
138
138
|
}
|
@@ -43,7 +43,7 @@ Create a new linux server
|
|
43
43
|
vm_size: 'Basic_A0',
|
44
44
|
storage_account_name: '<Storage Account Name>',
|
45
45
|
username: '<Username for VM>',
|
46
|
-
password: '<Password for VM>',
|
46
|
+
password: '<Password for VM>', # Optional, if 'platform' partameter is 'Linux'.
|
47
47
|
disable_password_authentication: false,
|
48
48
|
network_interface_card_id: '/subscriptions/{Subscription-Id}/resourceGroups/{Resource-Group-Name}/providers/Microsoft.Network/networkInterfaces/{Network-Interface-Id}',
|
49
49
|
publisher: 'Canonical', # Not required if custom image is being used
|
@@ -53,7 +53,7 @@ Create a new linux server
|
|
53
53
|
platform: 'Linux',
|
54
54
|
vhd_path: '<Path of VHD>', # Optional, if you want to create the VM from a custom image.
|
55
55
|
custom_data: 'echo customData', # Optional, if you want to add custom data in this VM.
|
56
|
-
os_disk_caching:
|
56
|
+
os_disk_caching: Fog::Compute::AzureRM::CachingTypes::None # Optional, can be one of None, ReadOnly, ReadWrite
|
57
57
|
)
|
58
58
|
```
|
59
59
|
|
@@ -253,7 +253,7 @@ Create a new network interface. Skip public_ip_address_id parameter to create ne
|
|
253
253
|
subnet_id: '/subscriptions/<Subscriptionid>/resourceGroups/<Resource Group name>/providers/Microsoft.Network/virtualNetworks/<Virtual Network name>/subnets/<Subnet name>',
|
254
254
|
public_ip_address_id: '/subscriptions/<Subscriptionid>/resourceGroups/<Resource Group name>/providers/Microsoft.Network/publicIPAddresses/<Public IP name>',
|
255
255
|
ip_configuration_name: '<Ip Configuration Name>',
|
256
|
-
private_ip_allocation_method:
|
256
|
+
private_ip_allocation_method: Fog::Network::AzureRM::IPAllocationMethod::Dynamic
|
257
257
|
)
|
258
258
|
```
|
259
259
|
|
@@ -333,7 +333,7 @@ Create a new public IP. The parameter, type can be Dynamic or Static.
|
|
333
333
|
name: '<Public IP name>',
|
334
334
|
resource_group: '<Resource Group name>',
|
335
335
|
location: 'westus',
|
336
|
-
public_ip_allocation_method:
|
336
|
+
public_ip_allocation_method: Fog::Network::AzureRM::IPAllocationMethod::Static
|
337
337
|
)
|
338
338
|
```
|
339
339
|
|
@@ -404,14 +404,14 @@ Network security group requires a resource group to create.
|
|
404
404
|
location: 'eastus',
|
405
405
|
security_rules: [{
|
406
406
|
name: '<Security Rule name>',
|
407
|
-
protocol:
|
407
|
+
protocol: Fog::Network::AzureRM::SecurityRuleProtocol::Tcp,
|
408
408
|
source_port_range: '22',
|
409
409
|
destination_port_range: '22',
|
410
410
|
source_address_prefix: '0.0.0.0/0',
|
411
411
|
destination_address_prefix: '0.0.0.0/0',
|
412
|
-
access:
|
412
|
+
access: Fog::Network::AzureRM::SecurityRuleAccess::Allow,
|
413
413
|
priority: '100',
|
414
|
-
direction:
|
414
|
+
direction: Fog::Network::AzureRM::SecurityRuleDirection::Inbound
|
415
415
|
}]
|
416
416
|
)
|
417
417
|
```
|
@@ -448,14 +448,14 @@ You can update security rules by passing the modified attributes in the form of
|
|
448
448
|
[
|
449
449
|
{
|
450
450
|
name: '<Security Rule name>',
|
451
|
-
protocol:
|
451
|
+
protocol: Fog::Network::AzureRM::SecurityRuleProtocol::Tcp,
|
452
452
|
source_port_range: '*',
|
453
453
|
destination_port_range: '*',
|
454
454
|
source_address_prefix: '0.0.0.0/0',
|
455
455
|
destination_address_prefix: '0.0.0.0/0',
|
456
|
-
access:
|
456
|
+
access: Fog::Network::AzureRM::SecurityRuleAccess::Allow,
|
457
457
|
priority: '100',
|
458
|
-
direction:
|
458
|
+
direction: Fog::Network::AzureRM::SecurityRuleDirection::Inbound
|
459
459
|
}
|
460
460
|
]
|
461
461
|
)
|
@@ -471,14 +471,14 @@ Add array of security rules in the form of hash.
|
|
471
471
|
[
|
472
472
|
{
|
473
473
|
name: '<Security Rule name>',
|
474
|
-
protocol:
|
474
|
+
protocol: Fog::Network::AzureRM::SecurityRuleProtocol::Tcp,
|
475
475
|
source_port_range: '3389',
|
476
476
|
destination_port_range: '3389',
|
477
477
|
source_address_prefix: '0.0.0.0/0',
|
478
478
|
destination_address_prefix: '0.0.0.0/0',
|
479
|
-
access:
|
479
|
+
access: Fog::Network::AzureRM::SecurityRuleAccess::Allow,
|
480
480
|
priority: '102',
|
481
|
-
direction:
|
481
|
+
direction: Fog::Network::AzureRM::SecurityRuleDirection::Inbound
|
482
482
|
}
|
483
483
|
]
|
484
484
|
)
|
@@ -512,15 +512,15 @@ Network security rule requires a resource group and network security group to cr
|
|
512
512
|
azure_network_service.network_security_rules.create(
|
513
513
|
name: '<Security Rule name>',
|
514
514
|
resource_group: '<Resource Group name>',
|
515
|
-
protocol:
|
515
|
+
protocol: Fog::Network::AzureRM::SecurityRuleProtocol::Tcp,
|
516
516
|
network_security_group_name: '<Network Security Group name>',
|
517
517
|
source_port_range: '22',
|
518
518
|
destination_port_range: '22',
|
519
519
|
source_address_prefix: '0.0.0.0/0',
|
520
520
|
destination_address_prefix: '0.0.0.0/0',
|
521
|
-
access:
|
521
|
+
access: Fog::Network::AzureRM::SecurityRuleAccess::Allow,
|
522
522
|
priority: '100',
|
523
|
-
direction:
|
523
|
+
direction: Fog::Network::AzureRM::SecurityRuleDirection::Inbound
|
524
524
|
)
|
525
525
|
```
|
526
526
|
|
@@ -575,7 +575,7 @@ Create a new load balancer.
|
|
575
575
|
[
|
576
576
|
{
|
577
577
|
name: 'fic',
|
578
|
-
private_ipallocation_method:
|
578
|
+
private_ipallocation_method: Fog::Network::AzureRM::IPAllocationMethod::Dynamic,
|
579
579
|
public_ipaddress_id: '/subscriptions/<Subscriptionid>/resourceGroups/<Resource Group name>/providers/Microsoft.Network/publicIPAddresses/<Public-IP-Name>'
|
580
580
|
}
|
581
581
|
],
|
@@ -622,7 +622,7 @@ Create a new load balancer.
|
|
622
622
|
[
|
623
623
|
{
|
624
624
|
name: 'LB-Frontend',
|
625
|
-
private_ipallocation_method:
|
625
|
+
private_ipallocation_method: Fog::Network::AzureRM::IPAllocationMethod::Static,
|
626
626
|
private_ipaddress: '10.1.2.5',
|
627
627
|
subnet_id: subnet.id
|
628
628
|
}
|
@@ -736,7 +736,7 @@ Create a new Virtual Network Gateway.
|
|
736
736
|
ip_configurations: [
|
737
737
|
{
|
738
738
|
name: 'default',
|
739
|
-
private_ipallocation_method:
|
739
|
+
private_ipallocation_method: Fog::Network::AzureRM::IPAllocationMethod::Dynamic,
|
740
740
|
public_ipaddress_id: '/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.Network/publicIPAddresses/{public_ip_name}',
|
741
741
|
subnet_id: '/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.Network/virtualNetworks/{virtual_network_name}/subnets/{subnet_name}',
|
742
742
|
private_ipaddress: nil
|
@@ -53,10 +53,12 @@ module Fog
|
|
53
53
|
hash['custom_data'] = vm.os_profile.custom_data
|
54
54
|
hash['data_disks'] = []
|
55
55
|
|
56
|
-
vm.storage_profile.data_disks.
|
57
|
-
|
58
|
-
|
59
|
-
|
56
|
+
unless vm.storage_profile.data_disks.nil?
|
57
|
+
vm.storage_profile.data_disks.each do |disk|
|
58
|
+
data_disk = Fog::Storage::AzureRM::DataDisk.new
|
59
|
+
hash['data_disks'] << data_disk.merge_attributes(Fog::Storage::AzureRM::DataDisk.parse(disk))
|
60
|
+
end
|
61
|
+
end
|
60
62
|
|
61
63
|
hash['disable_password_authentication'] = false
|
62
64
|
hash['disable_password_authentication'] = vm.os_profile.linux_configuration.disable_password_authentication unless vm.os_profile.linux_configuration.nil?
|
@@ -72,9 +74,15 @@ module Fog
|
|
72
74
|
|
73
75
|
def save
|
74
76
|
requires :name, :location, :resource_group, :vm_size, :storage_account_name,
|
75
|
-
:username, :
|
76
|
-
requires :disable_password_authentication if platform.casecmp('linux').zero?
|
77
|
+
:username, :network_interface_card_id
|
77
78
|
requires :publisher, :offer, :sku, :version if vhd_path.nil?
|
79
|
+
|
80
|
+
if platform_is_linux?(platform)
|
81
|
+
requires :disable_password_authentication
|
82
|
+
else
|
83
|
+
requires :password
|
84
|
+
end
|
85
|
+
|
78
86
|
ssh_key_path = "/home/#{username}/.ssh/authorized_keys" unless ssh_key_data.nil?
|
79
87
|
vm = service.create_virtual_machine(virtual_machine_params(ssh_key_path))
|
80
88
|
merge_attributes(Server.parse(vm))
|
@@ -128,6 +136,10 @@ module Fog
|
|
128
136
|
|
129
137
|
private
|
130
138
|
|
139
|
+
def platform_is_linux?(platform)
|
140
|
+
platform.strip.casecmp(PLATFORM_LINUX).zero?
|
141
|
+
end
|
142
|
+
|
131
143
|
def virtual_machine_params(ssh_key_path)
|
132
144
|
{
|
133
145
|
resource_group: resource_group,
|
@@ -0,0 +1,13 @@
|
|
1
|
+
module Fog
|
2
|
+
module Storage
|
3
|
+
class AzureRM
|
4
|
+
module SkuName
|
5
|
+
StandardLRS = 'Standard_LRS'.freeze
|
6
|
+
StandardGRS = 'Standard_GRS'.freeze
|
7
|
+
StandardRAGRS = 'Standard_RAGRS'.freeze
|
8
|
+
StandardZRS = 'Standard_ZRS'.freeze
|
9
|
+
PremiumLRS = 'Premium_LRS'.freeze
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
data/lib/fog/azurerm/version.rb
CHANGED
@@ -64,14 +64,14 @@ begin
|
|
64
64
|
name: 'mypubip',
|
65
65
|
resource_group: 'TestRG-GC',
|
66
66
|
location: LOCATION,
|
67
|
-
public_ip_allocation_method:
|
67
|
+
public_ip_allocation_method: Fog::Network::AzureRM::IPAllocationMethod::Dynamic
|
68
68
|
)
|
69
69
|
|
70
70
|
network.public_ips.create(
|
71
71
|
name: 'mypubip2',
|
72
72
|
resource_group: 'TestRG-GC',
|
73
73
|
location: LOCATION,
|
74
|
-
public_ip_allocation_method:
|
74
|
+
public_ip_allocation_method: Fog::Network::AzureRM::IPAllocationMethod::Dynamic
|
75
75
|
)
|
76
76
|
|
77
77
|
network.local_network_gateways.create(
|
@@ -68,7 +68,7 @@ begin
|
|
68
68
|
name: public_ip_name,
|
69
69
|
resource_group: resource_group_name,
|
70
70
|
location: LOCATION,
|
71
|
-
public_ip_allocation_method:
|
71
|
+
public_ip_allocation_method: Fog::Network::AzureRM::IPAllocationMethod::Dynamic
|
72
72
|
)
|
73
73
|
|
74
74
|
########################################################################################################################
|
@@ -98,7 +98,7 @@ begin
|
|
98
98
|
frontend_ip_configurations: [
|
99
99
|
{
|
100
100
|
name: 'frontendIpConfig',
|
101
|
-
private_ip_allocation_method:
|
101
|
+
private_ip_allocation_method: Fog::Network::AzureRM::IPAllocationMethod::Dynamic,
|
102
102
|
public_ip_address_id: "/subscriptions/#{azure_credentials['subscription_id']}/resourcegroups/#{resource_group_name}/providers/Microsoft.Network/publicIPAddresses/#{public_ip_name}",
|
103
103
|
private_ip_address: '10.0.1.5'
|
104
104
|
}
|
data/test/integration/blob.rb
CHANGED
@@ -224,7 +224,7 @@ begin
|
|
224
224
|
end
|
225
225
|
|
226
226
|
########################################################################################################################
|
227
|
-
######################
|
227
|
+
###################### Download a small blob ######################
|
228
228
|
########################################################################################################################
|
229
229
|
|
230
230
|
begin
|
@@ -239,7 +239,7 @@ begin
|
|
239
239
|
end
|
240
240
|
|
241
241
|
########################################################################################################################
|
242
|
-
######################
|
242
|
+
###################### Download a large blob ######################
|
243
243
|
########################################################################################################################
|
244
244
|
|
245
245
|
begin
|
@@ -51,7 +51,7 @@ begin
|
|
51
51
|
name: 'mypubip',
|
52
52
|
resource_group: 'TestRG-LB',
|
53
53
|
location: LOCATION,
|
54
|
-
public_ip_allocation_method:
|
54
|
+
public_ip_allocation_method: Fog::Network::AzureRM::IPAllocationMethod::Dynamic
|
55
55
|
)
|
56
56
|
|
57
57
|
########################################################################################################################
|
@@ -73,7 +73,7 @@ begin
|
|
73
73
|
[
|
74
74
|
{
|
75
75
|
name: 'fic',
|
76
|
-
private_ipallocation_method:
|
76
|
+
private_ipallocation_method: Fog::Network::AzureRM::IPAllocationMethod::Dynamic,
|
77
77
|
public_ipaddress_id: pip.id
|
78
78
|
}
|
79
79
|
],
|
@@ -49,14 +49,14 @@ begin
|
|
49
49
|
location: LOCATION,
|
50
50
|
security_rules: [{
|
51
51
|
name: 'testRule',
|
52
|
-
protocol:
|
52
|
+
protocol: Fog::Network::AzureRM::SecurityRuleProtocol::Tcp,
|
53
53
|
source_port_range: '22',
|
54
54
|
destination_port_range: '22',
|
55
55
|
source_address_prefix: '0.0.0.0/0',
|
56
56
|
destination_address_prefix: '0.0.0.0/0',
|
57
|
-
access:
|
57
|
+
access: Fog::Network::AzureRM::SecurityRuleAccess::Allow,
|
58
58
|
priority: '100',
|
59
|
-
direction:
|
59
|
+
direction: Fog::Network::AzureRM::SecurityRuleDirection::Inbound
|
60
60
|
}]
|
61
61
|
)
|
62
62
|
puts "Created network security group: #{network_security_group.name}"
|
@@ -72,14 +72,14 @@ begin
|
|
72
72
|
[
|
73
73
|
{
|
74
74
|
name: 'testRule',
|
75
|
-
protocol:
|
75
|
+
protocol: Fog::Network::AzureRM::SecurityRuleProtocol::Tcp,
|
76
76
|
source_port_range: '*',
|
77
77
|
destination_port_range: '22',
|
78
78
|
source_address_prefix: '0.0.0.0/0',
|
79
79
|
destination_address_prefix: '0.0.0.0/0',
|
80
|
-
access:
|
80
|
+
access: Fog::Network::AzureRM::SecurityRuleAccess::Allow,
|
81
81
|
priority: '100',
|
82
|
-
direction:
|
82
|
+
direction: Fog::Network::AzureRM::SecurityRuleDirection::Inbound
|
83
83
|
}
|
84
84
|
]
|
85
85
|
)
|
@@ -103,14 +103,14 @@ begin
|
|
103
103
|
[
|
104
104
|
{
|
105
105
|
name: 'testRule2',
|
106
|
-
protocol:
|
106
|
+
protocol: Fog::Network::AzureRM::SecurityRuleProtocol::Tcp,
|
107
107
|
source_port_range: '22',
|
108
108
|
destination_port_range: '22',
|
109
109
|
source_address_prefix: '0.0.0.0/0',
|
110
110
|
destination_address_prefix: '0.0.0.0/0',
|
111
|
-
access:
|
111
|
+
access: Fog::Network::AzureRM::SecurityRuleAccess::Allow,
|
112
112
|
priority: '102',
|
113
|
-
direction:
|
113
|
+
direction: Fog::Network::AzureRM::SecurityRuleDirection::Inbound
|
114
114
|
}
|
115
115
|
]
|
116
116
|
)
|
@@ -56,15 +56,15 @@ begin
|
|
56
56
|
network_security_rule = network.network_security_rules.create(
|
57
57
|
name: 'testRule',
|
58
58
|
resource_group: 'TestRG-NSR',
|
59
|
-
protocol:
|
59
|
+
protocol: Fog::Network::AzureRM::SecurityRuleProtocol::Tcp,
|
60
60
|
network_security_group_name: 'testGroup',
|
61
61
|
source_port_range: '22',
|
62
62
|
destination_port_range: '22',
|
63
63
|
source_address_prefix: '0.0.0.0/0',
|
64
64
|
destination_address_prefix: '0.0.0.0/0',
|
65
|
-
access:
|
65
|
+
access: Fog::Network::AzureRM::SecurityRuleAccess::Allow,
|
66
66
|
priority: '100',
|
67
|
-
direction:
|
67
|
+
direction: Fog::Network::AzureRM::SecurityRuleDirection::Inbound
|
68
68
|
)
|
69
69
|
puts "Created network security rule: #{network_security_rule.name}"
|
70
70
|
|
@@ -47,7 +47,7 @@ begin
|
|
47
47
|
name: 'mypubip',
|
48
48
|
resource_group: 'TestRG-PB',
|
49
49
|
location: LOCATION,
|
50
|
-
public_ip_allocation_method:
|
50
|
+
public_ip_allocation_method: Fog::Network::AzureRM::IPAllocationMethod::Dynamic
|
51
51
|
)
|
52
52
|
puts "Created public ip: #{public_ip.name}"
|
53
53
|
|
@@ -57,7 +57,11 @@ begin
|
|
57
57
|
|
58
58
|
pubip = network.public_ips.get('TestRG-PB', 'mypubip')
|
59
59
|
puts "Get public ip: #{pubip.name}"
|
60
|
-
pubip.update(
|
60
|
+
pubip.update(
|
61
|
+
public_ip_allocation_method: Fog::Network::AzureRM::IPAllocationMethod::Dynamic,
|
62
|
+
idle_timeout_in_minutes: '10',
|
63
|
+
domain_name_label: 'newdomainlabel'
|
64
|
+
)
|
61
65
|
puts 'Updated public ip'
|
62
66
|
|
63
67
|
########################################################################################################################
|
@@ -36,7 +36,7 @@ begin
|
|
36
36
|
name: 'mypubip',
|
37
37
|
resource_group: 'TestRG-RT',
|
38
38
|
location: LOCATION,
|
39
|
-
public_ip_allocation_method:
|
39
|
+
public_ip_allocation_method: Fog::Network::AzureRM::IPAllocationMethod::Static
|
40
40
|
).id
|
41
41
|
|
42
42
|
########################################################################################################################
|
data/test/integration/server.rb
CHANGED
@@ -76,7 +76,7 @@ begin
|
|
76
76
|
location: LOCATION,
|
77
77
|
subnet_id: "/subscriptions/#{azure_credentials['subscription_id']}/resourceGroups/TestRG-VM/providers/Microsoft.Network/virtualNetworks/testVnet/subnets/mysubnet",
|
78
78
|
ip_configuration_name: 'testIpConfiguration',
|
79
|
-
private_ip_allocation_method:
|
79
|
+
private_ip_allocation_method: Fog::Network::AzureRM::IPAllocationMethod::Dynamic
|
80
80
|
)
|
81
81
|
|
82
82
|
########################################################################################################################
|
@@ -106,7 +106,7 @@ begin
|
|
106
106
|
version: 'latest',
|
107
107
|
platform: 'linux',
|
108
108
|
custom_data: 'echo customData',
|
109
|
-
os_disk_caching:
|
109
|
+
os_disk_caching: Fog::Compute::AzureRM::CachingTypes::None
|
110
110
|
)
|
111
111
|
puts "Created virtual machine: #{virtual_machine.name}"
|
112
112
|
|
@@ -76,7 +76,7 @@ begin
|
|
76
76
|
location: LOCATION,
|
77
77
|
subnet_id: "/subscriptions/#{azure_credentials['subscription_id']}/resourceGroups/TestRG-CustomVM/providers/Microsoft.Network/virtualNetworks/testVnet/subnets/mysubnet",
|
78
78
|
ip_configuration_name: 'testIpConfiguration',
|
79
|
-
private_ip_allocation_method:
|
79
|
+
private_ip_allocation_method: Fog::Network::AzureRM::IPAllocationMethod::Dynamic
|
80
80
|
)
|
81
81
|
|
82
82
|
########################################################################################################################
|
@@ -70,7 +70,7 @@ begin
|
|
70
70
|
name: grs_storage_account,
|
71
71
|
location: LOCATION,
|
72
72
|
resource_group: 'TestRG-SA',
|
73
|
-
sku_name:
|
73
|
+
sku_name: Fog::Storage::AzureRM::SkuTier::Standard,
|
74
74
|
replication: 'GRS',
|
75
75
|
encryption: true
|
76
76
|
)
|
@@ -86,7 +86,7 @@ begin
|
|
86
86
|
name: premium_storage_acc,
|
87
87
|
location: LOCATION,
|
88
88
|
resource_group: 'TestRG-SA',
|
89
|
-
sku_name:
|
89
|
+
sku_name: Fog::Storage::AzureRM::SkuTier::Premium,
|
90
90
|
replication: 'LRS'
|
91
91
|
)
|
92
92
|
puts "Created storage account for premium lrs replication: #{storage_account.name}"
|
@@ -75,7 +75,7 @@ begin
|
|
75
75
|
location: LOCATION,
|
76
76
|
subnet_id: "/subscriptions/#{azure_credentials['subscription_id']}/resourceGroups/TestRG-VME/providers/Microsoft.Network/virtualNetworks/testVnet/subnets/mysubnet",
|
77
77
|
ip_configuration_name: 'testIpConfiguration',
|
78
|
-
private_ip_allocation_method:
|
78
|
+
private_ip_allocation_method: Fog::Network::AzureRM::IPAllocationMethod::Dynamic
|
79
79
|
)
|
80
80
|
|
81
81
|
compute.servers.create(
|
@@ -50,7 +50,7 @@ begin
|
|
50
50
|
name: 'mypubip',
|
51
51
|
resource_group: 'TestRG-VNG',
|
52
52
|
location: LOCATION,
|
53
|
-
public_ip_allocation_method:
|
53
|
+
public_ip_allocation_method: Fog::Network::AzureRM::IPAllocationMethod::Dynamic
|
54
54
|
)
|
55
55
|
|
56
56
|
########################################################################################################################
|
@@ -15,16 +15,24 @@ class TestCheckVirtualNetworkExists < Minitest::Test
|
|
15
15
|
end
|
16
16
|
|
17
17
|
def test_check_virtual_network_exists_failure
|
18
|
-
|
19
|
-
|
20
|
-
|
18
|
+
faraday_response = Faraday::Response.new(nil)
|
19
|
+
response = proc { raise MsRestAzure::AzureOperationError.new(nil, faraday_response, 'error' => { 'message' => 'mocked exception', 'code' => 'ResourceNotFound' }) }
|
20
|
+
|
21
|
+
faraday_response.stub :status, '404' do
|
22
|
+
@virtual_networks.stub :get, response do
|
23
|
+
assert !@service.check_virtual_network_exists('fog-test-rg', 'fog-test-virtual-network')
|
24
|
+
end
|
21
25
|
end
|
22
26
|
end
|
23
27
|
|
24
28
|
def test_check_virtual_network_exists_exception
|
25
|
-
|
26
|
-
|
27
|
-
|
29
|
+
faraday_response = Faraday::Response.new(nil)
|
30
|
+
response = proc { raise MsRestAzure::AzureOperationError.new(nil, faraday_response, 'error' => { 'message' => 'mocked exception', 'code' => 'ResourceGroupNotFound' }) }
|
31
|
+
|
32
|
+
faraday_response.stub :status, '400' do
|
33
|
+
@virtual_networks.stub :get, response do
|
34
|
+
assert_raises(RuntimeError) { @service.check_virtual_network_exists('fog-test-rg', 'fog-test-virtual-network') }
|
35
|
+
end
|
28
36
|
end
|
29
37
|
end
|
30
38
|
end
|
@@ -11,14 +11,14 @@ class TestCreateNetworkInterface < Minitest::Test
|
|
11
11
|
def test_create_network_interface_success
|
12
12
|
mocked_response = ApiStub::Requests::Network::NetworkInterface.create_network_interface_response(@network_client)
|
13
13
|
@network_interfaces.stub :create_or_update, mocked_response do
|
14
|
-
assert_equal @service.create_or_update_network_interface('fog-test-rg', 'fog-test-network-interface', 'West US', 'fog-test-subnet-id', 'fog-test-ip-address-id', 'fog-test-ip-configuration', 'Dynamic', '10.0.0.8'), mocked_response
|
14
|
+
assert_equal @service.create_or_update_network_interface('fog-test-rg', 'fog-test-network-interface', 'West US', 'fog-test-subnet-id', 'fog-test-ip-address-id', 'fog-test-ip-configuration', 'Dynamic', '10.0.0.8', ['id-1', 'id-2'], ['id-1', 'id-2']), mocked_response
|
15
15
|
end
|
16
16
|
end
|
17
17
|
|
18
18
|
def test_create_network_interface_without_public_ip_success
|
19
19
|
mocked_response = ApiStub::Requests::Network::NetworkInterface.create_network_interface_response(@network_client)
|
20
20
|
@network_interfaces.stub :create_or_update, mocked_response do
|
21
|
-
assert_equal @service.create_or_update_network_interface('fog-test-rg', 'fog-test-network-interface', 'West US', 'fog-test-subnet-id', nil, 'fog-test-ip-configuration', 'Dynamic', '10.0.0.8'), mocked_response
|
21
|
+
assert_equal @service.create_or_update_network_interface('fog-test-rg', 'fog-test-network-interface', 'West US', 'fog-test-subnet-id', nil, 'fog-test-ip-configuration', 'Dynamic', '10.0.0.8', ['id-1', 'id-2'], ['id-1', 'id-2']), mocked_response
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
@@ -26,7 +26,7 @@ class TestCreateNetworkInterface < Minitest::Test
|
|
26
26
|
response = ApiStub::Requests::Network::NetworkInterface.create_network_interface_response(@network_client)
|
27
27
|
@network_interfaces.stub :create_or_update, response do
|
28
28
|
assert_raises ArgumentError do
|
29
|
-
@service.create_or_update_network_interface('fog-test-rg', 'fog-test-network-interface', 'West US', 'fog-test-subnet-id', 'fog-test-ip-address-id', 'fog-test-ip-configuration')
|
29
|
+
@service.create_or_update_network_interface('fog-test-rg', 'fog-test-network-interface', 'West US', 'fog-test-subnet-id', 'fog-test-ip-address-id', 'fog-test-ip-configuration', ['id-1', 'id-2'], ['id-1', 'id-2'])
|
30
30
|
end
|
31
31
|
end
|
32
32
|
end
|
@@ -35,7 +35,7 @@ class TestCreateNetworkInterface < Minitest::Test
|
|
35
35
|
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
|
36
36
|
@network_interfaces.stub :create_or_update, response do
|
37
37
|
assert_raises RuntimeError do
|
38
|
-
@service.create_or_update_network_interface('fog-test-rg', 'fog-test-network-interface', 'West US', 'fog-test-subnet-id', 'fog-test-ip-address-id', 'fog-test-ip-configuration', 'Dynamic', '10.0.0.8')
|
38
|
+
@service.create_or_update_network_interface('fog-test-rg', 'fog-test-network-interface', 'West US', 'fog-test-subnet-id', 'fog-test-ip-address-id', 'fog-test-ip-configuration', 'Dynamic', '10.0.0.8', ['id-1', 'id-2'], ['id-1', 'id-2'])
|
39
39
|
end
|
40
40
|
end
|
41
41
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fog-azure-rm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shaffan Chaudhry
|
@@ -14,7 +14,7 @@ authors:
|
|
14
14
|
autorequire:
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
|
-
date: 2017-01-
|
17
|
+
date: 2017-01-20 00:00:00.000000000 Z
|
18
18
|
dependencies:
|
19
19
|
- !ruby/object:Gem::Dependency
|
20
20
|
name: rake
|
@@ -321,6 +321,8 @@ files:
|
|
321
321
|
- lib/fog/azurerm/models/application_gateway/url_path_map.rb
|
322
322
|
- lib/fog/azurerm/models/compute/availability_set.rb
|
323
323
|
- lib/fog/azurerm/models/compute/availability_sets.rb
|
324
|
+
- lib/fog/azurerm/models/compute/caching_types.rb
|
325
|
+
- lib/fog/azurerm/models/compute/disk_create_option_types.rb
|
324
326
|
- lib/fog/azurerm/models/compute/server.rb
|
325
327
|
- lib/fog/azurerm/models/compute/servers.rb
|
326
328
|
- lib/fog/azurerm/models/compute/virtual_machine_extension.rb
|
@@ -343,6 +345,7 @@ files:
|
|
343
345
|
- lib/fog/azurerm/models/network/frontend_ip_configuration.rb
|
344
346
|
- lib/fog/azurerm/models/network/inbound_nat_pool.rb
|
345
347
|
- lib/fog/azurerm/models/network/inbound_nat_rule.rb
|
348
|
+
- lib/fog/azurerm/models/network/ipallocation_method.rb
|
346
349
|
- lib/fog/azurerm/models/network/load_balancer.rb
|
347
350
|
- lib/fog/azurerm/models/network/load_balancers.rb
|
348
351
|
- lib/fog/azurerm/models/network/load_balancing_rule.rb
|
@@ -358,6 +361,9 @@ files:
|
|
358
361
|
- lib/fog/azurerm/models/network/probe.rb
|
359
362
|
- lib/fog/azurerm/models/network/public_ip.rb
|
360
363
|
- lib/fog/azurerm/models/network/public_ips.rb
|
364
|
+
- lib/fog/azurerm/models/network/security_rule_access.rb
|
365
|
+
- lib/fog/azurerm/models/network/security_rule_direction.rb
|
366
|
+
- lib/fog/azurerm/models/network/security_rule_protocol.rb
|
361
367
|
- lib/fog/azurerm/models/network/subnet.rb
|
362
368
|
- lib/fog/azurerm/models/network/subnets.rb
|
363
369
|
- lib/fog/azurerm/models/network/virtual_network.rb
|
@@ -389,8 +395,11 @@ files:
|
|
389
395
|
- lib/fog/azurerm/models/storage/directory.rb
|
390
396
|
- lib/fog/azurerm/models/storage/file.rb
|
391
397
|
- lib/fog/azurerm/models/storage/files.rb
|
398
|
+
- lib/fog/azurerm/models/storage/kind.rb
|
392
399
|
- lib/fog/azurerm/models/storage/recovery_vault.rb
|
393
400
|
- lib/fog/azurerm/models/storage/recovery_vaults.rb
|
401
|
+
- lib/fog/azurerm/models/storage/sku_name.rb
|
402
|
+
- lib/fog/azurerm/models/storage/sku_tier.rb
|
394
403
|
- lib/fog/azurerm/models/storage/storage_account.rb
|
395
404
|
- lib/fog/azurerm/models/storage/storage_accounts.rb
|
396
405
|
- lib/fog/azurerm/models/traffic_manager/traffic_manager_end_point.rb
|