fog-azure-rm 0.2.6 → 0.2.7
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/constants.rb +1 -0
- data/lib/fog/azurerm/models/traffic_manager/traffic_manager_profile.rb +2 -1
- data/lib/fog/azurerm/requests/compute/attach_data_disk_to_vm.rb +6 -2
- data/lib/fog/azurerm/requests/network/check_virtual_network_exists.rb +1 -1
- data/lib/fog/azurerm/requests/traffic_manager/create_or_update_traffic_manager_profile.rb +15 -2
- data/lib/fog/azurerm/version.rb +1 -1
- data/test/api_stub/requests/traffic_manager/traffic_manager_profile.rb +12 -1
- data/test/integration/traffic_manager.rb +10 -1
- data/test/requests/network/test_check_virtual_network_exists.rb +4 -8
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: abba2750995255a81a2edf8cb5d51bf41331f5b3
|
4
|
+
data.tar.gz: d883aa12233282ce91ce91ceb1ca895eb2ae2810
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c17370ff19fd0e568d8309ca054b957e6affee602909e7fc102640eeab68a218ff1f2b47438fc4e015392e9d7d77c9cd4ea7e855fe440dcb35eca441f1d79e32
|
7
|
+
data.tar.gz: 390a20c58f0321402dc6ebc7d6c789a7a5c8a484b76b14deec8ebf274a50cf09b908f4cfcc1efcc7c41041cdc4d88e734a788582d1afeade4cc49e1e4fda4f2c
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
## 0.2.7
|
2
|
+
|
3
|
+
**Changed:**
|
4
|
+
- Traffic Manager Service - Updated Traffic Manager Profile create method to receive and create Endpoints with it.
|
5
|
+
|
6
|
+
**Fixed:**
|
7
|
+
- Network Service - Fixed issue in check_virtual_network_exists request
|
8
|
+
|
1
9
|
## 0.2.6
|
2
10
|
|
3
11
|
**Fixed:**
|
@@ -16,6 +16,7 @@ RESOURCE_GROUP_NAME = 4
|
|
16
16
|
RESOURCE_PROVIDER_NAMESPACE = 6
|
17
17
|
RESOURCE_TYPE = 7
|
18
18
|
RESOURCE_NAME = 8
|
19
|
+
ENDPOINT_PREFIX = 'Microsoft.Network/trafficManagerProfiles'.freeze
|
19
20
|
AZURE_ENDPOINTS = 'azureEndpoints'.freeze
|
20
21
|
EXTERNAL_ENDPOINTS = 'externalEndpoints'.freeze
|
21
22
|
NESTED_ENDPOINTS = 'nestedEndpoints'.freeze
|
@@ -15,7 +15,11 @@ module Fog
|
|
15
15
|
begin
|
16
16
|
virtual_machine = @compute_mgmt_client.virtual_machines.create_or_update(resource_group, vm_name, vm)
|
17
17
|
rescue MsRestAzure::AzureOperationError => e
|
18
|
+
if e.body.to_s =~ /InvalidParameter/ && e.body.to_s =~ /already exists/
|
19
|
+
Fog::Logger.debug 'The disk is already attached'
|
20
|
+
else
|
18
21
|
raise_azure_exception(e, msg)
|
22
|
+
end
|
19
23
|
end
|
20
24
|
Fog::Logger.debug "Data Disk #{disk_name} attached to Virtual Machine #{vm_name} successfully."
|
21
25
|
virtual_machine
|
@@ -66,9 +70,9 @@ module Fog
|
|
66
70
|
data_disk.lun = lun
|
67
71
|
data_disk.disk_size_gb = disk_size.to_s
|
68
72
|
data_disk.vhd = Azure::ARM::Compute::Models::VirtualHardDisk.new
|
69
|
-
data_disk.vhd.uri = "https://#{storage_account_name}.blob.core.windows.net/vhds/#{disk_name}.vhd"
|
73
|
+
data_disk.vhd.uri = "https://#{storage_account_name}.blob.core.windows.net/vhds/#{storage_account_name}-#{disk_name}.vhd"
|
70
74
|
data_disk.caching = Azure::ARM::Compute::Models::CachingTypes::ReadWrite
|
71
|
-
blob_name = "#{disk_name}.vhd"
|
75
|
+
blob_name = "#{storage_account_name}-#{disk_name}.vhd"
|
72
76
|
disk_exist = check_blob_exist(storage_account_name, blob_name, access_key)
|
73
77
|
data_disk.create_option = Azure::ARM::Compute::Models::DiskCreateOptionTypes::Empty
|
74
78
|
data_disk.create_option = Azure::ARM::Compute::Models::DiskCreateOptionTypes::Attach if disk_exist
|
@@ -11,7 +11,7 @@ module Fog
|
|
11
11
|
Fog::Logger.debug "Virtual Network #{name} exists."
|
12
12
|
true
|
13
13
|
rescue MsRestAzure::AzureOperationError => e
|
14
|
-
if e.
|
14
|
+
if e.error_code == 'ResourceNotFound'
|
15
15
|
Fog::Logger.debug "Virtual Network #{name} doesn't exist."
|
16
16
|
false
|
17
17
|
else
|
@@ -6,7 +6,7 @@ module Fog
|
|
6
6
|
def create_or_update_traffic_manager_profile(profile_hash)
|
7
7
|
msg = "Creating Traffic Manager Profile: #{profile_hash[:name]}."
|
8
8
|
Fog::Logger.debug msg
|
9
|
-
profile_parameters = get_profile_object(profile_hash[:traffic_routing_method], profile_hash[:relative_name], profile_hash[:ttl], profile_hash[:protocol], profile_hash[:port], profile_hash[:path])
|
9
|
+
profile_parameters = get_profile_object(profile_hash[:traffic_routing_method], profile_hash[:relative_name], profile_hash[:ttl], profile_hash[:protocol], profile_hash[:port], profile_hash[:path], profile_hash[:endpoints])
|
10
10
|
begin
|
11
11
|
traffic_manager_profile = @traffic_mgmt_client.profiles.create_or_update(profile_hash[:resource_group], profile_hash[:name], profile_parameters)
|
12
12
|
rescue MsRestAzure::AzureOperationError => e
|
@@ -18,16 +18,29 @@ module Fog
|
|
18
18
|
|
19
19
|
private
|
20
20
|
|
21
|
-
def get_profile_object(traffic_routing_method, relative_name, ttl, protocol, port, path)
|
21
|
+
def get_profile_object(traffic_routing_method, relative_name, ttl, protocol, port, path, endpoints)
|
22
22
|
traffic_manager_profile = Azure::ARM::TrafficManager::Models::Profile.new
|
23
23
|
traffic_manager_profile.traffic_routing_method = traffic_routing_method
|
24
24
|
traffic_manager_profile.location = GLOBAL
|
25
25
|
|
26
26
|
traffic_manager_profile.dns_config = get_traffic_manager_dns_config(relative_name, ttl)
|
27
27
|
traffic_manager_profile.monitor_config = get_traffic_manager_monitor_config(protocol, port, path)
|
28
|
+
traffic_manager_profile.endpoints = get_endpoints(endpoints) unless endpoints.nil?
|
28
29
|
traffic_manager_profile
|
29
30
|
end
|
30
31
|
|
32
|
+
def get_endpoints(endpoints)
|
33
|
+
endpoint_objects = []
|
34
|
+
|
35
|
+
endpoints.each do |endpoint|
|
36
|
+
endpoint_object = get_endpoint_object(endpoint[:target_resource_id], endpoint[:target], endpoint[:weight], endpoint[:priority], endpoint[:endpoint_location], endpoint[:min_child_endpoints])
|
37
|
+
endpoint_object.name = endpoint[:name]
|
38
|
+
endpoint_object.type = "#{ENDPOINT_PREFIX}/#{endpoint[:type]}"
|
39
|
+
endpoint_objects.push(endpoint_object)
|
40
|
+
end
|
41
|
+
endpoint_objects
|
42
|
+
end
|
43
|
+
|
31
44
|
def get_traffic_manager_dns_config(relative_name, ttl)
|
32
45
|
traffic_manager_dns_config = Azure::ARM::TrafficManager::Models::DnsConfig.new
|
33
46
|
traffic_manager_dns_config.relative_name = relative_name
|
data/lib/fog/azurerm/version.rb
CHANGED
@@ -146,7 +146,18 @@ module ApiStub
|
|
146
146
|
ttl: 'ttl',
|
147
147
|
protocol: 'protocol',
|
148
148
|
port: 'port',
|
149
|
-
path: 'path'
|
149
|
+
path: 'path',
|
150
|
+
endpoints: [{
|
151
|
+
name: 'endpoint2',
|
152
|
+
traffic_manager_profile_name: 'test-tmp',
|
153
|
+
resource_group: 'TestRG-TM',
|
154
|
+
type: 'externalEndpoints',
|
155
|
+
target: 'test-app.com',
|
156
|
+
endpoint_location: 'eastus',
|
157
|
+
endpoint_status: 'Enabled',
|
158
|
+
priority: 5,
|
159
|
+
weight: 10
|
160
|
+
}]
|
150
161
|
}
|
151
162
|
end
|
152
163
|
end
|
@@ -51,7 +51,16 @@ begin
|
|
51
51
|
ttl: '30',
|
52
52
|
protocol: 'http',
|
53
53
|
port: '80',
|
54
|
-
path: '/monitorpage.aspx'
|
54
|
+
path: '/monitorpage.aspx',
|
55
|
+
endpoints: [{
|
56
|
+
name: 'endpoint1',
|
57
|
+
type: 'externalEndpoints',
|
58
|
+
target: 'test-app.com',
|
59
|
+
endpoint_location: 'eastus',
|
60
|
+
endpoint_status: 'Enabled',
|
61
|
+
priority: 5,
|
62
|
+
weight: 10
|
63
|
+
}]
|
55
64
|
)
|
56
65
|
puts "Created traffic manager profile: #{traffic_manager_profile.name}"
|
57
66
|
|
@@ -18,10 +18,8 @@ class TestCheckVirtualNetworkExists < Minitest::Test
|
|
18
18
|
faraday_response = Faraday::Response.new(nil)
|
19
19
|
response = proc { raise MsRestAzure::AzureOperationError.new(nil, faraday_response, 'error' => { 'message' => 'mocked exception', 'code' => 'ResourceNotFound' }) }
|
20
20
|
|
21
|
-
|
22
|
-
|
23
|
-
assert !@service.check_virtual_network_exists('fog-test-rg', 'fog-test-virtual-network')
|
24
|
-
end
|
21
|
+
@virtual_networks.stub :get, response do
|
22
|
+
assert !@service.check_virtual_network_exists('fog-test-rg', 'fog-test-virtual-network')
|
25
23
|
end
|
26
24
|
end
|
27
25
|
|
@@ -29,10 +27,8 @@ class TestCheckVirtualNetworkExists < Minitest::Test
|
|
29
27
|
faraday_response = Faraday::Response.new(nil)
|
30
28
|
response = proc { raise MsRestAzure::AzureOperationError.new(nil, faraday_response, 'error' => { 'message' => 'mocked exception', 'code' => 'ResourceGroupNotFound' }) }
|
31
29
|
|
32
|
-
|
33
|
-
@
|
34
|
-
assert_raises(RuntimeError) { @service.check_virtual_network_exists('fog-test-rg', 'fog-test-virtual-network') }
|
35
|
-
end
|
30
|
+
@virtual_networks.stub :get, response do
|
31
|
+
assert_raises(RuntimeError) { @service.check_virtual_network_exists('fog-test-rg', 'fog-test-virtual-network') }
|
36
32
|
end
|
37
33
|
end
|
38
34
|
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.7
|
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-
|
17
|
+
date: 2017-02-08 00:00:00.000000000 Z
|
18
18
|
dependencies:
|
19
19
|
- !ruby/object:Gem::Dependency
|
20
20
|
name: rake
|