fog-azure-rm 0.2.2 → 0.2.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|