far-gem 0.5.1 → 0.5.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (248) hide show
  1. checksums.yaml +5 -5
  2. data/.travis.yml +11 -9
  3. data/CHANGELOG.md +31 -0
  4. data/README.md +2 -0
  5. data/fog-azure-rm.gemspec +4 -3
  6. data/lib/fog/azurerm.rb +1 -0
  7. data/lib/fog/azurerm/custom_fog_errors.rb +18 -0
  8. data/lib/fog/azurerm/docs/compute.md +10 -4
  9. data/lib/fog/azurerm/docs/network.md +2 -1
  10. data/lib/fog/azurerm/models/compute/managed_disk.rb +9 -2
  11. data/lib/fog/azurerm/models/compute/server.rb +8 -1
  12. data/lib/fog/azurerm/models/network/network_interface.rb +3 -1
  13. data/lib/fog/azurerm/models/resources/azure_resources.rb +8 -0
  14. data/lib/fog/azurerm/models/storage/file.rb +2 -0
  15. data/lib/fog/azurerm/requests/compute/create_virtual_machine.rb +35 -7
  16. data/lib/fog/azurerm/requests/compute/delete_managed_disk.rb +12 -4
  17. data/lib/fog/azurerm/requests/network/create_or_update_network_interface.rb +4 -3
  18. data/lib/fog/azurerm/requests/network/list_network_security_groups.rb +139 -143
  19. data/lib/fog/azurerm/requests/resources/list_resources_in_resource_group.rb +42 -0
  20. data/lib/fog/azurerm/requests/storage/get_blob_properties.rb +26 -26
  21. data/lib/fog/azurerm/resources.rb +1 -0
  22. data/lib/fog/azurerm/storage.rb +1 -0
  23. data/lib/fog/azurerm/utilities/general.rb +9 -5
  24. data/lib/fog/azurerm/version.rb +1 -1
  25. data/test/api_stub/models/compute/server.rb +1 -0
  26. data/test/api_stub/models/resources/resource.rb +17 -0
  27. data/test/api_stub/requests/compute/virtual_machine.rb +8 -0
  28. data/test/api_stub/requests/network/network_security_group.rb +2 -2
  29. data/test/api_stub/requests/resources/resource.rb +17 -0
  30. data/test/api_stub/requests/storage/file.rb +9 -0
  31. data/test/integration/network_interface.rb +2 -1
  32. data/test/integration/resource_group.rb +10 -1
  33. data/test/models/compute/test_managed_disk.rb +9 -2
  34. data/test/models/compute/test_server.rb +1 -0
  35. data/test/models/network/test_network_interface.rb +2 -1
  36. data/test/models/resources/test_resources.rb +14 -1
  37. data/test/requests/application_gateway/test_check_ag_exists.rb +1 -1
  38. data/test/requests/application_gateway/test_create_or_update_application_gateway.rb +1 -1
  39. data/test/requests/application_gateway/test_delete_application_gateway.rb +1 -1
  40. data/test/requests/application_gateway/test_get_application_gateway.rb +1 -1
  41. data/test/requests/application_gateway/test_list_application_gateways.rb +1 -1
  42. data/test/requests/application_gateway/test_start_application_gateway.rb +1 -1
  43. data/test/requests/application_gateway/test_stop_application_gateway.rb +1 -1
  44. data/test/requests/compute/test_attach_data_disk_to_vm.rb +4 -4
  45. data/test/requests/compute/test_check_availability_set_exists.rb +1 -1
  46. data/test/requests/compute/test_check_managed_disk_exists.rb +1 -1
  47. data/test/requests/compute/test_check_vm_exists.rb +1 -1
  48. data/test/requests/compute/test_check_vm_extension_exists.rb +1 -1
  49. data/test/requests/compute/test_create_availability_set.rb +2 -2
  50. data/test/requests/compute/test_create_image.rb +1 -1
  51. data/test/requests/compute/test_create_or_update_managed_disk.rb +1 -1
  52. data/test/requests/compute/test_create_virtual_machine.rb +41 -17
  53. data/test/requests/compute/test_create_vm_extension.rb +1 -1
  54. data/test/requests/compute/test_deallocate_virtual_machine.rb +2 -2
  55. data/test/requests/compute/test_delete_availability_set.rb +1 -1
  56. data/test/requests/compute/test_delete_image.rb +1 -1
  57. data/test/requests/compute/test_delete_managed_disk.rb +2 -2
  58. data/test/requests/compute/test_delete_virtual_machine.rb +2 -2
  59. data/test/requests/compute/test_detach_data_disk_from_vm.rb +1 -1
  60. data/test/requests/compute/test_generalize_virtual_machine.rb +2 -2
  61. data/test/requests/compute/test_get_availability_set.rb +1 -1
  62. data/test/requests/compute/test_get_image.rb +1 -1
  63. data/test/requests/compute/test_get_managed_disk.rb +1 -1
  64. data/test/requests/compute/test_get_virtual_machine.rb +1 -1
  65. data/test/requests/compute/test_get_vm_extension.rb +1 -1
  66. data/test/requests/compute/test_get_vm_status.rb +1 -1
  67. data/test/requests/compute/test_grant_access_to_managed_disk.rb +1 -1
  68. data/test/requests/compute/test_list_availability_sets.rb +1 -1
  69. data/test/requests/compute/test_list_available_sizes_for_virtual_machine.rb +2 -2
  70. data/test/requests/compute/test_list_managed_disks_by_rg.rb +1 -1
  71. data/test/requests/compute/test_list_managed_disks_in_subscription.rb +1 -1
  72. data/test/requests/compute/test_list_virtual_machines.rb +1 -1
  73. data/test/requests/compute/test_power_off_virtual_machine.rb +2 -2
  74. data/test/requests/compute/test_redeploy_virtual_machine.rb +2 -2
  75. data/test/requests/compute/test_restart_virtual_machine.rb +2 -2
  76. data/test/requests/compute/test_revoke_access_to_managed_disk.rb +1 -1
  77. data/test/requests/compute/test_start_virtual_machine.rb +2 -2
  78. data/test/requests/compute/test_update_vm_extension.rb +1 -1
  79. data/test/requests/dns/test_check_record_set_exists.rb +1 -1
  80. data/test/requests/dns/test_check_zone_exists.rb +1 -1
  81. data/test/requests/dns/test_create_record_set.rb +1 -1
  82. data/test/requests/dns/test_create_zone.rb +1 -1
  83. data/test/requests/dns/test_delete_record_set.rb +1 -1
  84. data/test/requests/dns/test_delete_zone.rb +1 -1
  85. data/test/requests/dns/test_get_record_set.rb +1 -1
  86. data/test/requests/dns/test_get_records_from_record_set.rb +1 -1
  87. data/test/requests/dns/test_get_zone.rb +1 -1
  88. data/test/requests/dns/test_list_record_sets.rb +1 -1
  89. data/test/requests/dns/test_list_zones.rb +1 -1
  90. data/test/requests/key_vault/test_check_vault_exists.rb +1 -1
  91. data/test/requests/key_vault/test_create_or_update_vault.rb +1 -1
  92. data/test/requests/key_vault/test_delete_vault.rb +1 -1
  93. data/test/requests/key_vault/test_get_vault.rb +1 -1
  94. data/test/requests/key_vault/test_list_vaults.rb +1 -1
  95. data/test/requests/network/test_add_address_prefixes_in_virtual_network.rb +1 -1
  96. data/test/requests/network/test_add_dns_servers_in_virtual_network.rb +1 -1
  97. data/test/requests/network/test_add_subnets_in_virtual_network.rb +1 -1
  98. data/test/requests/network/test_attach_network_security_group_to_subnet.rb +1 -1
  99. data/test/requests/network/test_attach_resource_to_nic.rb +1 -1
  100. data/test/requests/network/test_attach_route_table_to_subnet.rb +1 -1
  101. data/test/requests/network/test_check_express_route_cir_auth_exists.rb +1 -1
  102. data/test/requests/network/test_check_express_route_circuit_exists.rb +1 -1
  103. data/test/requests/network/test_check_load_balancer_exists.rb +1 -1
  104. data/test/requests/network/test_check_local_net_gateway_exists.rb +1 -1
  105. data/test/requests/network/test_check_net_sec_group_exists.rb +1 -1
  106. data/test/requests/network/test_check_net_sec_rule_exists.rb +1 -1
  107. data/test/requests/network/test_check_network_interface_exists.rb +1 -1
  108. data/test/requests/network/test_check_public_ip_exists.rb +1 -1
  109. data/test/requests/network/test_check_subnet_exists.rb +1 -1
  110. data/test/requests/network/test_check_virtual_network_exists.rb +1 -1
  111. data/test/requests/network/test_check_vnet_gateway_connection_exists.rb +1 -1
  112. data/test/requests/network/test_check_vnet_gateway_exists.rb +1 -1
  113. data/test/requests/network/test_create_express_route_circuit.rb +1 -1
  114. data/test/requests/network/test_create_express_route_circuit_authorization.rb +1 -1
  115. data/test/requests/network/test_create_express_route_circuit_peering.rb +1 -1
  116. data/test/requests/network/test_create_load_balancer.rb +1 -1
  117. data/test/requests/network/test_create_local_network_gateway.rb +1 -1
  118. data/test/requests/network/test_create_network_interface.rb +1 -1
  119. data/test/requests/network/test_create_or_update_network_security_group.rb +1 -1
  120. data/test/requests/network/test_create_or_update_network_security_rule.rb +1 -1
  121. data/test/requests/network/test_create_or_update_virtual_network.rb +1 -1
  122. data/test/requests/network/test_create_public_ip.rb +1 -1
  123. data/test/requests/network/test_create_subnet.rb +1 -1
  124. data/test/requests/network/test_create_virtual_network_gateway.rb +1 -1
  125. data/test/requests/network/test_create_virtual_network_gateway_connection.rb +1 -1
  126. data/test/requests/network/test_delete_express_route_circuit.rb +1 -1
  127. data/test/requests/network/test_delete_express_route_circuit_authorization.rb +1 -1
  128. data/test/requests/network/test_delete_express_route_circuit_peering.rb +1 -1
  129. data/test/requests/network/test_delete_load_balancer.rb +1 -1
  130. data/test/requests/network/test_delete_local_network_gateway.rb +1 -1
  131. data/test/requests/network/test_delete_network_interface.rb +1 -1
  132. data/test/requests/network/test_delete_network_security_group.rb +1 -1
  133. data/test/requests/network/test_delete_network_security_rule.rb +1 -1
  134. data/test/requests/network/test_delete_public_ip.rb +1 -1
  135. data/test/requests/network/test_delete_subnet.rb +1 -1
  136. data/test/requests/network/test_delete_virtual_network.rb +1 -1
  137. data/test/requests/network/test_delete_virtual_network_gateway.rb +1 -1
  138. data/test/requests/network/test_delete_virtual_network_gateway_connection.rb +1 -1
  139. data/test/requests/network/test_detach_network_security_group_from_subnet.rb +1 -1
  140. data/test/requests/network/test_detach_resource_from_nic.rb +1 -1
  141. data/test/requests/network/test_detach_route_table_from_subnet.rb +1 -1
  142. data/test/requests/network/test_get_connection_shared_key.rb +1 -1
  143. data/test/requests/network/test_get_express_route_circuit.rb +1 -1
  144. data/test/requests/network/test_get_express_route_circuit_authorization.rb +1 -1
  145. data/test/requests/network/test_get_express_route_circuit_peering.rb +1 -1
  146. data/test/requests/network/test_get_load_balancer.rb +1 -1
  147. data/test/requests/network/test_get_local_network_gateway.rb +1 -1
  148. data/test/requests/network/test_get_network_interface.rb +1 -1
  149. data/test/requests/network/test_get_network_security_group.rb +1 -1
  150. data/test/requests/network/test_get_network_security_rule.rb +1 -1
  151. data/test/requests/network/test_get_public_ip.rb +1 -1
  152. data/test/requests/network/test_get_subnet.rb +1 -1
  153. data/test/requests/network/test_get_virtual_network.rb +1 -1
  154. data/test/requests/network/test_get_virtual_network_gateway.rb +1 -1
  155. data/test/requests/network/test_get_virtual_network_gateway_connection.rb +1 -1
  156. data/test/requests/network/test_list_express_route_circuit_authorizations.rb +1 -1
  157. data/test/requests/network/test_list_express_route_circuit_peerings.rb +1 -1
  158. data/test/requests/network/test_list_express_route_circuits.rb +1 -1
  159. data/test/requests/network/test_list_express_route_service_providers.rb +1 -1
  160. data/test/requests/network/test_list_load_balancers.rb +1 -1
  161. data/test/requests/network/test_list_local_network_gateways.rb +1 -1
  162. data/test/requests/network/test_list_network_interfaces.rb +1 -1
  163. data/test/requests/network/test_list_network_security_groups.rb +4 -4
  164. data/test/requests/network/test_list_network_security_rules.rb +1 -1
  165. data/test/requests/network/test_list_public_ips.rb +1 -1
  166. data/test/requests/network/test_list_subnets.rb +1 -1
  167. data/test/requests/network/test_list_virtual_network_gateway_connections.rb +1 -1
  168. data/test/requests/network/test_list_virtual_network_gateways.rb +1 -1
  169. data/test/requests/network/test_list_virtual_networks.rb +1 -1
  170. data/test/requests/network/test_list_virtual_networks_in_subscription.rb +1 -1
  171. data/test/requests/network/test_remove_address_prefixes_from_virtual_network.rb +1 -1
  172. data/test/requests/network/test_remove_dns_servers_from_virtual_network.rb +1 -1
  173. data/test/requests/network/test_remove_subnets_from_virtual_network.rb +1 -1
  174. data/test/requests/network/test_reset_connection_shared_key.rb +1 -1
  175. data/test/requests/network/test_set_connection_shared_key.rb +1 -1
  176. data/test/requests/network/test_update_public_ip.rb +1 -1
  177. data/test/requests/resources/test_check_deployment_exists.rb +1 -1
  178. data/test/requests/resources/test_check_resource_group_exists.rb +1 -1
  179. data/test/requests/resources/test_create_deployment.rb +1 -1
  180. data/test/requests/resources/test_create_resource_group.rb +1 -1
  181. data/test/requests/resources/test_delete_deployment.rb +1 -1
  182. data/test/requests/resources/test_delete_resource_group.rb +1 -1
  183. data/test/requests/resources/test_delete_resource_tag.rb +1 -1
  184. data/test/requests/resources/test_get_deployment.rb +1 -1
  185. data/test/requests/resources/test_get_resource_group.rb +1 -1
  186. data/test/requests/resources/test_list_deployments.rb +1 -1
  187. data/test/requests/resources/test_list_resource_groups.rb +1 -1
  188. data/test/requests/resources/test_list_resources_in_resource_group.rb +24 -0
  189. data/test/requests/resources/test_list_tagged_resources.rb +1 -1
  190. data/test/requests/resources/test_tag_resource.rb +1 -1
  191. data/test/requests/sql/test_create_or_update_database.rb +1 -1
  192. data/test/requests/sql/test_create_or_update_firewall_rule.rb +1 -1
  193. data/test/requests/sql/test_create_or_update_sql_server.rb +1 -1
  194. data/test/requests/sql/test_delete_database.rb +1 -1
  195. data/test/requests/sql/test_delete_firewall_rule.rb +1 -1
  196. data/test/requests/sql/test_delete_sql_server.rb +1 -1
  197. data/test/requests/sql/test_get_database.rb +1 -1
  198. data/test/requests/sql/test_get_firewall_rule.rb +1 -1
  199. data/test/requests/sql/test_get_sql_server.rb +1 -1
  200. data/test/requests/sql/test_list_databases.rb +1 -1
  201. data/test/requests/sql/test_list_firewall_rules.rb +1 -1
  202. data/test/requests/sql/test_list_sql_servers.rb +1 -1
  203. data/test/requests/storage/test_acquire_blob_lease.rb +1 -1
  204. data/test/requests/storage/test_acquire_container_lease.rb +1 -1
  205. data/test/requests/storage/test_check_storage_account_exists.rb +1 -1
  206. data/test/requests/storage/test_check_storage_account_name_availability.rb +1 -1
  207. data/test/requests/storage/test_commit_blob_blocks.rb +1 -1
  208. data/test/requests/storage/test_compare_container_blobs.rb +1 -1
  209. data/test/requests/storage/test_copy_blob.rb +1 -1
  210. data/test/requests/storage/test_copy_blob_from_uri.rb +1 -1
  211. data/test/requests/storage/test_create_block_blob.rb +1 -1
  212. data/test/requests/storage/test_create_container.rb +1 -1
  213. data/test/requests/storage/test_create_page_blob.rb +1 -1
  214. data/test/requests/storage/test_create_storage_account.rb +1 -1
  215. data/test/requests/storage/test_delete_blob.rb +1 -1
  216. data/test/requests/storage/test_delete_container.rb +1 -1
  217. data/test/requests/storage/test_delete_storage_account.rb +1 -1
  218. data/test/requests/storage/test_get_blob.rb +4 -4
  219. data/test/requests/storage/test_get_blob_properties.rb +4 -2
  220. data/test/requests/storage/test_get_container_acl.rb +1 -1
  221. data/test/requests/storage/test_get_container_properties.rb +1 -1
  222. data/test/requests/storage/test_get_storage_access_keys.rb +1 -1
  223. data/test/requests/storage/test_get_storage_account.rb +1 -1
  224. data/test/requests/storage/test_list_blobs.rb +1 -1
  225. data/test/requests/storage/test_list_containers.rb +1 -1
  226. data/test/requests/storage/test_list_storage_accounts.rb +1 -1
  227. data/test/requests/storage/test_list_storage_accounts_for_rg.rb +1 -1
  228. data/test/requests/storage/test_put_blob_block.rb +1 -1
  229. data/test/requests/storage/test_put_blob_metadata.rb +1 -1
  230. data/test/requests/storage/test_put_blob_pages.rb +1 -1
  231. data/test/requests/storage/test_put_blob_properties.rb +1 -1
  232. data/test/requests/storage/test_put_container_acl.rb +1 -1
  233. data/test/requests/storage/test_put_container_metadata.rb +1 -1
  234. data/test/requests/storage/test_release_blob_lease.rb +1 -1
  235. data/test/requests/storage/test_release_container_lease.rb +1 -1
  236. data/test/requests/storage/test_update_storage_account.rb +1 -1
  237. data/test/requests/traffic_manager/test_check_traffic_manager_endpoint_exists.rb +1 -1
  238. data/test/requests/traffic_manager/test_check_traffic_manager_profile_exists.rb +1 -1
  239. data/test/requests/traffic_manager/test_create_traffic_manager_endpoint.rb +1 -1
  240. data/test/requests/traffic_manager/test_create_traffic_manager_profile.rb +1 -1
  241. data/test/requests/traffic_manager/test_delete_traffic_manager_endpoint.rb +1 -1
  242. data/test/requests/traffic_manager/test_delete_traffic_manager_profile.rb +1 -1
  243. data/test/requests/traffic_manager/test_get_traffic_manager_endpoint.rb +1 -1
  244. data/test/requests/traffic_manager/test_get_traffic_manager_profile.rb +1 -1
  245. data/test/requests/traffic_manager/test_list_traffic_manager_profiles.rb +1 -1
  246. data/test/requests/traffic_manager/test_update_traffic_manager_endpoint.rb +1 -1
  247. data/test/requests/traffic_manager/test_update_traffic_manager_profile.rb +1 -1
  248. metadata +25 -8
@@ -21,6 +21,7 @@ module ApiStub
21
21
  },
22
22
  'osDisk' => {
23
23
  'name' => 'fog-test-server_os_disk',
24
+ 'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg/providers/Microsoft.Compute/disks/fog-test-server_os_disk',
24
25
  'vhd' => {
25
26
  'uri' => 'http://storageAccount.blob.core.windows.net/vhds/fog-test-server_os_disk.vhd'
26
27
  }
@@ -37,6 +37,23 @@ module ApiStub
37
37
  result_mapper = Azure::ARM::Resources::Models::ResourceListResult.mapper
38
38
  client.deserialize(result_mapper, Fog::JSON.decode(resources), 'result.body').value
39
39
  end
40
+
41
+ def self.list_resources_in_resource_group_response(client)
42
+ resources = '{
43
+ "id": "/subscriptions/########-####-####-####-############/resourceGroups/{RESOURCE-GROUP}/providers/Microsoft.Network/{PROVIDER-NAME}/{RESOURCE-NAME}",
44
+ "name": "your-resource-name",
45
+ "type": "providernamespace/resourcetype",
46
+ "location": "westus",
47
+ "tags": {
48
+ "tag_name": "tag_value"
49
+ },
50
+ "plan": {
51
+ "name": "free"
52
+ }
53
+ }'
54
+ result_mapper = Azure::ARM::Resources::Models::GenericResource.mapper
55
+ client.deserialize(result_mapper, Fog::JSON.decode(resources), 'result.body')
56
+ end
40
57
  end
41
58
  end
42
59
  end
@@ -243,6 +243,7 @@ module ApiStub
243
243
  },
244
244
  "osDisk": {
245
245
  "name":"myosdisk1",
246
+ "id":"/subscriptions/{subscription-id}/resourceGroups/fog-test-rg/providers/Microsoft.Compute/disks/myosdisk1",
246
247
  "vhd": {
247
248
  "uri":"http://mystorage1.blob.core.windows.net/vhds/myosdisk1.vhd"
248
249
  },
@@ -320,6 +321,7 @@ module ApiStub
320
321
  },
321
322
  "osDisk": {
322
323
  "name":"myosdisk1",
324
+ "id":"/subscriptions/{subscription-id}/resourceGroups/fog-test-rg/providers/Microsoft.Compute/disks/myosdisk1",
323
325
  "vhd": {
324
326
  "uri":"http://mystorage1.blob.core.windows.net/vhds/myosdisk1.vhd"
325
327
  },
@@ -397,6 +399,7 @@ module ApiStub
397
399
  },
398
400
  "osDisk": {
399
401
  "name":"myosdisk1",
402
+ "id":"/subscriptions/{subscription-id}/resourceGroups/fog-test-rg/providers/Microsoft.Compute/disks/myosdisk1",
400
403
  "vhd": {
401
404
  "uri":"https://custimagestorage.blob.core.windows.net/customimage/trusty-server-cloudimg-amd64-disk1.vhd"
402
405
  },
@@ -474,6 +477,7 @@ module ApiStub
474
477
  },
475
478
  "osDisk": {
476
479
  "name":"myosdisk1",
480
+ "id":"/subscriptions/{subscription-id}/resourceGroups/fog-test-rg/providers/Microsoft.Compute/disks/myosdisk1",
477
481
  "vhd": {
478
482
  "uri":"http://mystorage1.blob.core.windows.net/vhds/myosdisk1.vhd"
479
483
  },
@@ -546,6 +550,7 @@ module ApiStub
546
550
  'osDisk' =>
547
551
  {
548
552
  'name' => 'myosdisk1',
553
+ 'id' => '/subscriptions/{subscription-id}/resourceGroups/fog-test-rg/providers/Microsoft.Compute/disks/myosdisk1',
549
554
  'vhd' =>
550
555
  {
551
556
  'uri' => 'http://mystorage1.blob.core.windows.net/vhds/myosdisk1.vhd'
@@ -651,6 +656,7 @@ module ApiStub
651
656
  },
652
657
  "osDisk": {
653
658
  "name":"myosdisk1",
659
+ "id":"/subscriptions/{subscription-id}/resourceGroups/fog-test-rg/providers/Microsoft.Compute/disks/myosdisk1",
654
660
  "vhd": {
655
661
  "uri":"http://mystorage1.blob.core.windows.net/vhds/myosdisk1.vhd"
656
662
  },
@@ -809,6 +815,7 @@ module ApiStub
809
815
  },
810
816
  "osDisk": {
811
817
  "name":"myosdisk1",
818
+ "id":"/subscriptions/{subscription-id}/resourceGroups/fog-test-rg/providers/Microsoft.Compute/disks/myosdisk1",
812
819
  "vhd": {
813
820
  "uri":"http://mystorage1.blob.core.windows.net/vhds/myosdisk1.vhd"
814
821
  },
@@ -896,6 +903,7 @@ module ApiStub
896
903
  },
897
904
  "osDisk": {
898
905
  "name":"myosdisk1",
906
+ "id":"/subscriptions/{subscription-id}/resourceGroups/fog-test-rg/providers/Microsoft.Compute/disks/myosdisk1",
899
907
  "vhd": {
900
908
  "uri":"http://mystorage1.blob.core.windows.net/vhds/myosdisk1.vhd"
901
909
  },
@@ -216,8 +216,8 @@ module ApiStub
216
216
  }
217
217
  ]
218
218
  }'
219
- result_mapper = Azure::ARM::Network::Models::NetworkInterfaceListResult.mapper
220
- network_client.deserialize(result_mapper, Fog::JSON.decode(nsg_list), 'result.body')
219
+ result_mapper = Azure::ARM::Network::Models::NetworkSecurityGroupListResult.mapper
220
+ network_client.deserialize(result_mapper, Fog::JSON.decode(nsg_list), 'result.body').value
221
221
  end
222
222
  end
223
223
  end
@@ -39,6 +39,23 @@ module ApiStub
39
39
  result_mapper = Azure::ARM::Resources::Models::ResourceListResult.mapper
40
40
  client.deserialize(result_mapper, Fog::JSON.decode(body), 'result.body')
41
41
  end
42
+
43
+ def self.list_resources_in_resource_group(client)
44
+ body = '{
45
+ "id": "/subscriptions/########-####-####-####-############/resourceGroups/{RESOURCE-GROUP}/providers/Microsoft.Network/{PROVIDER-NAME}/{RESOURCE-NAME}",
46
+ "name": "your-resource-name",
47
+ "type": "providernamespace/resourcetype",
48
+ "location": "westus",
49
+ "tags": {
50
+ "tag_name": "tag_value"
51
+ },
52
+ "plan": {
53
+ "name": "free"
54
+ }
55
+ }'
56
+ result_mapper = Azure::ARM::Resources::Models::GenericResource.mapper
57
+ client.deserialize(result_mapper, Fog::JSON.decode(body), 'result.body')
58
+ end
42
59
  end
43
60
  end
44
61
  end
@@ -5,6 +5,15 @@ module ApiStub
5
5
  # Below data should be as same as those in Mock classes in lib/fog/azurerm/requests/storage/*.rb
6
6
  class File
7
7
  def self.blob
8
+ blob_data = blob_as_hash
9
+ blob = Azure::Storage::Blob::Blob.new
10
+ blob.name = blob_data['name']
11
+ blob.metadata = blob_data['metadata']
12
+ blob.properties = blob_data['properties'].map { |k, v| { k.to_sym => v } }.reduce({}, &:merge!)
13
+ blob
14
+ end
15
+
16
+ def self.blob_as_hash
8
17
  {
9
18
  'name' => 'test_blob',
10
19
  'metadata' => {},
@@ -107,7 +107,8 @@ begin
107
107
  public_ip_address_id: "/subscriptions/#{azure_credentials['subscription_id']}/resourceGroups/TestRG-NI/providers/Microsoft.Network/publicIPAddresses/mypubip",
108
108
  ip_configuration_name: 'testIpConfiguration',
109
109
  private_ip_allocation_method: 'Dynamic',
110
- tags: { key: 'value' }
110
+ tags: { key: 'value' },
111
+ enable_accelerated_networking: true
111
112
  )
112
113
  puts "Created network interface: #{network_interface.name}"
113
114
 
@@ -17,7 +17,6 @@ resource = Fog::Resources::AzureRM.new(
17
17
  resource_group_name = "RG-#{current_time}"
18
18
 
19
19
  begin
20
-
21
20
  ########################################################################################################################
22
21
  ###################### Check Resource Group Exists? ######################
23
22
  ########################################################################################################################
@@ -51,6 +50,16 @@ begin
51
50
  resource_group = resource_groups.get(resource_group_name)
52
51
  puts "Get resource group: #{resource_group.name}"
53
52
 
53
+ ########################################################################################################################
54
+ ###################### Get All Resources in a Resource Group ######################
55
+ ########################################################################################################################
56
+
57
+ resources = resource.azure_resources.list_resources_in_resource_group(resource_group_name)
58
+ puts 'List resources in resource groups:'
59
+ resources.each do |a_resource|
60
+ puts a_resource.name
61
+ end
62
+
54
63
  ########################################################################################################################
55
64
  ###################### Destroy Resource Group ######################
56
65
  ########################################################################################################################
@@ -50,13 +50,20 @@ class TestManagedDisk < Minitest::Test
50
50
 
51
51
  def test_destroy_method_true_response
52
52
  @service.stub :delete_managed_disk, true do
53
- assert @managed_disk.destroy
53
+ assert @managed_disk.destroy(false)
54
54
  end
55
55
  end
56
56
 
57
57
  def test_destroy_method_false_response
58
58
  @service.stub :delete_managed_disk, false do
59
- assert !@managed_disk.destroy
59
+ assert !@managed_disk.destroy(false)
60
+ end
61
+ end
62
+
63
+ def test_destroy_method_can_take_params_async
64
+ async_response = Concurrent::Promise.execute { 10 }
65
+ @service.stub :delete_managed_disk, async_response do
66
+ assert_instance_of Fog::AzureRM::AsyncResponse, @managed_disk.destroy(true)
60
67
  end
61
68
  end
62
69
  end
@@ -38,6 +38,7 @@ class TestServer < Minitest::Test
38
38
  :vm_size,
39
39
  :storage_account_name,
40
40
  :os_disk_name,
41
+ :os_disk_id,
41
42
  :os_disk_vhd_uri,
42
43
  :os_disk_caching,
43
44
  :publisher,
@@ -45,7 +45,8 @@ class TestNetworkInterface < Minitest::Test
45
45
  :applied_dns_servers,
46
46
  :internal_dns_name_label,
47
47
  :internal_fqd,
48
- :tags
48
+ :tags,
49
+ :enable_accelerated_networking
49
50
  ]
50
51
  attributes.each do |attribute|
51
52
  assert_respond_to @network_interface, attribute
@@ -14,7 +14,8 @@ class TestResources < Minitest::Test
14
14
  methods = [
15
15
  :all,
16
16
  :get,
17
- :check_azure_resource_exists
17
+ :check_azure_resource_exists,
18
+ :list_resources_in_resource_group
18
19
  ]
19
20
  methods.each do |method|
20
21
  assert_respond_to @resources, method
@@ -49,4 +50,16 @@ class TestResources < Minitest::Test
49
50
  assert !@resources.check_azure_resource_exists(@resource_id, '2016-09-01')
50
51
  end
51
52
  end
53
+
54
+ def test_list_resources_in_resource_group_method_response
55
+ client = @service.instance_variable_get(:@rmc)
56
+ response = [ApiStub::Models::Resources::Resource.list_resources_in_resource_group_response(client)]
57
+ @service.stub :list_resources_in_resource_group, response do
58
+ assert_instance_of Fog::Resources::AzureRM::AzureResources, @resources.list_resources_in_resource_group('fog-test-rg')
59
+ assert @resources.list_resources_in_resource_group('fog-test-rg').size >= 1
60
+ @resources.list_resources_in_resource_group('fog-test-rg').each do |s|
61
+ assert_instance_of Fog::Resources::AzureRM::AzureResource, s
62
+ end
63
+ end
64
+ end
52
65
  end
@@ -32,7 +32,7 @@ class TestCheckAGExists < Minitest::Test
32
32
  def test_check_app_gateway_exists_exception
33
33
  response = proc { raise MsRestAzure::AzureOperationError.new(nil, create_mock_response, 'error' => { 'message' => 'mocked exception', 'code' => 'Exception' }) }
34
34
  @gateways.stub :get, response do
35
- assert_raises(RuntimeError) { @service.check_ag_exists('fog-test-rg', 'fogRM-rg') }
35
+ assert_raises(MsRestAzure::AzureOperationError) { @service.check_ag_exists('fog-test-rg', 'fogRM-rg') }
36
36
  end
37
37
  end
38
38
  end
@@ -27,7 +27,7 @@ class TestCreateOrUpdateApplicationGateway < Minitest::Test
27
27
  def test_create_or_update_application_gateway_exception_failure
28
28
  response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
29
29
  @gateways.stub :create_or_update, response do
30
- assert_raises RuntimeError do
30
+ assert_raises MsRestAzure::AzureOperationError do
31
31
  @service.create_or_update_application_gateway(@gateway_params)
32
32
  end
33
33
  end
@@ -17,7 +17,7 @@ class TestDeleteApplicationGateway < Minitest::Test
17
17
  def test_delete_application_gateway_failure
18
18
  response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
19
19
  @gateways.stub :delete, response do
20
- assert_raises(RuntimeError) { @service.delete_application_gateway('fogRM-rg', 'gateway') }
20
+ assert_raises(MsRestAzure::AzureOperationError) { @service.delete_application_gateway('fogRM-rg', 'gateway') }
21
21
  end
22
22
  end
23
23
  end
@@ -18,7 +18,7 @@ class TestGetApplicationGateway < Minitest::Test
18
18
  def test_get_application_gateway_failure
19
19
  response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
20
20
  @gateways.stub :get, response do
21
- assert_raises(RuntimeError) { @service.get_application_gateway('fog-test-rg', 'fogRM-rg') }
21
+ assert_raises(MsRestAzure::AzureOperationError) { @service.get_application_gateway('fog-test-rg', 'fogRM-rg') }
22
22
  end
23
23
  end
24
24
  end
@@ -18,7 +18,7 @@ class TestListApplicationGateways < Minitest::Test
18
18
  def test_list_application_gateways_failure
19
19
  response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
20
20
  @gateways.stub :list_as_lazy, response do
21
- assert_raises(RuntimeError) { @service.list_application_gateways('fogRM-rg') }
21
+ assert_raises(MsRestAzure::AzureOperationError) { @service.list_application_gateways('fogRM-rg') }
22
22
  end
23
23
  end
24
24
  end
@@ -17,7 +17,7 @@ class TestStartApplicationGateway < Minitest::Test
17
17
  def test_start_application_gateway_exception_failure
18
18
  response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
19
19
  @gateways.stub :start, response do
20
- assert_raises RuntimeError do
20
+ assert_raises MsRestAzure::AzureOperationError do
21
21
  @service.start_application_gateway('test-rg', 'test-ag')
22
22
  end
23
23
  end
@@ -17,7 +17,7 @@ class TestStopApplicationGateway < Minitest::Test
17
17
  def test_stop_application_gateway_exception_failure
18
18
  response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
19
19
  @gateways.stub :stop, response do
20
- assert_raises RuntimeError do
20
+ assert_raises MsRestAzure::AzureOperationError do
21
21
  @service.stop_application_gateway('test-rg', 'test-ag')
22
22
  end
23
23
  end
@@ -62,7 +62,7 @@ class TestAttachDataDiskToVM < Minitest::Test
62
62
  @virtual_machines.stub :get, @get_vm_response do
63
63
  @storage_accounts.stub :list_keys, @storage_access_keys_response do
64
64
  @virtual_machines.stub :create_or_update, update_vm_response do
65
- assert_raises RuntimeError do
65
+ assert_raises Azure::Core::Http::HTTPError do
66
66
  @service.attach_data_disk_to_vm(@input_params, false)
67
67
  end
68
68
  end
@@ -75,7 +75,7 @@ class TestAttachDataDiskToVM < Minitest::Test
75
75
  @virtual_machines.stub :get, @get_vm_response do
76
76
  @storage_accounts.stub :list_keys, @storage_access_keys_response do
77
77
  @virtual_machines.stub :create_or_update, update_vm_response do
78
- assert_raises RuntimeError do
78
+ assert_raises Azure::Core::Http::HTTPError do
79
79
  @service.attach_data_disk_to_vm(@input_params, false)
80
80
  end
81
81
  end
@@ -86,7 +86,7 @@ class TestAttachDataDiskToVM < Minitest::Test
86
86
  def test_get_vm_failure
87
87
  get_vm_response = proc { fail MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
88
88
  @virtual_machines.stub :get, get_vm_response do
89
- assert_raises RuntimeError do
89
+ assert_raises MsRestAzure::AzureOperationError do
90
90
  @service.attach_data_disk_to_vm(@input_params, false)
91
91
  end
92
92
  end
@@ -96,7 +96,7 @@ class TestAttachDataDiskToVM < Minitest::Test
96
96
  storage_access_keys_response = proc { fail MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
97
97
  @virtual_machines.stub :get, @get_vm_response do
98
98
  @storage_accounts.stub :list_keys, storage_access_keys_response do
99
- assert_raises RuntimeError do
99
+ assert_raises MsRestAzure::AzureOperationError do
100
100
  @service.attach_data_disk_to_vm(@input_params, false)
101
101
  end
102
102
  end
@@ -32,7 +32,7 @@ class TestCheckAvailabilitySetExists < Minitest::Test
32
32
  def test_check_availability_set_exists_exception
33
33
  response = proc { raise MsRestAzure::AzureOperationError.new(nil, create_mock_response, 'error' => { 'message' => 'mocked exception', 'code' => 'Exception' }) }
34
34
  @availability_sets.stub :get, response do
35
- assert_raises(RuntimeError) { @service.check_availability_set_exists('myrg1', 'myavset1') }
35
+ assert_raises(MsRestAzure::AzureOperationError) { @service.check_availability_set_exists('myrg1', 'myavset1') }
36
36
  end
37
37
  end
38
38
  end
@@ -32,7 +32,7 @@ class TestCheckManagedDiskExists < Minitest::Test
32
32
  def test_check_managed_disk_exists_exception
33
33
  response = proc { raise MsRestAzure::AzureOperationError.new(nil, create_mock_response, 'error' => { 'message' => 'mocked exception', 'code' => 'Exception' }) }
34
34
  @managed_disks.stub :get, response do
35
- assert_raises(RuntimeError) { @service.check_managed_disk_exists('myrg1', 'mydisk1') }
35
+ assert_raises(MsRestAzure::AzureOperationError) { @service.check_managed_disk_exists('myrg1', 'mydisk1') }
36
36
  end
37
37
  end
38
38
  end
@@ -32,7 +32,7 @@ class TestCheckVirtualMachineExists < Minitest::Test
32
32
  def test_check_vm_exists_exception
33
33
  response = proc { raise MsRestAzure::AzureOperationError.new(nil, create_mock_response, 'error' => { 'message' => 'mocked exception', 'code' => 'Exception' }) }
34
34
  @virtual_machines.stub :get, response do
35
- assert_raises(RuntimeError) { @service.check_vm_exists('fog-test-rg', 'fog-test-server', false) }
35
+ assert_raises(MsRestAzure::AzureOperationError) { @service.check_vm_exists('fog-test-rg', 'fog-test-server', false) }
36
36
  end
37
37
  end
38
38
  end
@@ -32,7 +32,7 @@ class TestCheckVMExtensionExists < Minitest::Test
32
32
  def test_check_vm_extension_exists_exception
33
33
  response = proc { raise MsRestAzure::AzureOperationError.new(nil, create_mock_response, 'error' => { 'message' => 'mocked exception', 'code' => 'Exception' }) }
34
34
  @vm_extension.stub :get, response do
35
- assert_raises(RuntimeError) { @service.check_vm_extension_exists('fog-test-rg', 'fog-test-vm', 'fog-test-extension') }
35
+ assert_raises(MsRestAzure::AzureOperationError) { @service.check_vm_extension_exists('fog-test-rg', 'fog-test-vm', 'fog-test-extension') }
36
36
  end
37
37
  end
38
38
  end
@@ -71,7 +71,7 @@ class TestCreateAvailabilitySet < Minitest::Test
71
71
 
72
72
  @availability_sets.stub :validate_params, true do
73
73
  @availability_sets.stub :create_or_update, response do
74
- assert_raises(RuntimeError) { @service.create_availability_set(avail_set_params) }
74
+ assert_raises(MsRestAzure::AzureOperationError) { @service.create_availability_set(avail_set_params) }
75
75
  end
76
76
  end
77
77
  end
@@ -105,7 +105,7 @@ class TestCreateAvailabilitySet < Minitest::Test
105
105
 
106
106
  @availability_sets.stub :validate_params, true do
107
107
  @availability_sets.stub :create_or_update, response do
108
- assert_raises(RuntimeError) { @service.create_availability_set(avail_set_params) }
108
+ assert_raises(MsRestAzure::AzureOperationError) { @service.create_availability_set(avail_set_params) }
109
109
  end
110
110
  end
111
111
  end
@@ -19,7 +19,7 @@ class TestCreateImage < Minitest::Test
19
19
  def test_create_image_failure
20
20
  response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
21
21
  @image.stub :create_or_update, response do
22
- assert_raises RuntimeError do
22
+ assert_raises MsRestAzure::AzureOperationError do
23
23
  @service.create_image(@input_params)
24
24
  end
25
25
  end
@@ -31,7 +31,7 @@ class TestCreateManagedDisk < Minitest::Test
31
31
  response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
32
32
  @managed_disks.stub :validate_params, true do
33
33
  @managed_disks.stub :create_or_update, response do
34
- assert_raises(RuntimeError) { @service.create_or_update_managed_disk(@disk) }
34
+ assert_raises(MsRestAzure::AzureOperationError) { @service.create_or_update_managed_disk(@disk) }
35
35
  end
36
36
  end
37
37
  end
@@ -10,80 +10,104 @@ class TestCreateVirtualMachine < Minitest::Test
10
10
  @custom_data_response = ApiStub::Requests::Compute::VirtualMachine.create_virtual_machine_with_custom_data_response(compute_client)
11
11
  @linux_virtual_machine_hash = ApiStub::Requests::Compute::VirtualMachine.linux_virtual_machine_params
12
12
  @windows_virtual_machine_hash = ApiStub::Requests::Compute::VirtualMachine.windows_virtual_machine_params
13
+ @error_response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
13
14
  end
14
15
 
15
16
  def test_create_linux_virtual_machine_success
16
17
  @virtual_machines.stub :create_or_update, @response do
17
- assert_equal @service.create_virtual_machine(@linux_virtual_machine_hash), @response
18
+ @virtual_machines.stub :get, @error_response do
19
+ assert_equal @service.create_virtual_machine(@linux_virtual_machine_hash), @response
20
+ end
18
21
  end
19
22
 
20
23
  # Async
21
24
  @virtual_machines.stub :create_or_update_async, @response do
22
- assert_equal @service.create_virtual_machine(@linux_virtual_machine_hash, true), @response
25
+ @virtual_machines.stub :get, @error_response do
26
+ assert_equal @service.create_virtual_machine(@linux_virtual_machine_hash, true), @response
27
+ end
23
28
  end
24
29
  end
25
30
 
26
31
  def test_create_windows_virtual_machine_success
27
32
  @virtual_machines.stub :create_or_update, @response do
28
- assert_equal @service.create_virtual_machine(@windows_virtual_machine_hash), @response
33
+ @virtual_machines.stub :get, @error_response do
34
+ assert_equal @service.create_virtual_machine(@windows_virtual_machine_hash), @response
35
+ end
29
36
  end
30
37
 
31
38
  # Async
32
39
  @virtual_machines.stub :create_or_update_async, @response do
33
- assert_equal @service.create_virtual_machine(@windows_virtual_machine_hash, true), @response
40
+ @virtual_machines.stub :get, @error_response do
41
+ assert_equal @service.create_virtual_machine(@windows_virtual_machine_hash, true), @response
42
+ end
34
43
  end
35
44
  end
36
45
 
37
46
  def test_create_linux_virtual_machine_from_custom_image_success
38
47
  linux_virtual_machine_with_custom_image_hash = ApiStub::Requests::Compute::VirtualMachine.linux_virtual_machine_with_custom_image_params
39
48
  @virtual_machines.stub :create_or_update, @response do
40
- assert_equal @service.create_virtual_machine(linux_virtual_machine_with_custom_image_hash), @response
49
+ @virtual_machines.stub :get, @error_response do
50
+ assert_equal @service.create_virtual_machine(linux_virtual_machine_with_custom_image_hash), @response
51
+ end
41
52
  end
42
53
 
43
54
  # Async
44
55
  @virtual_machines.stub :create_or_update_async, @response do
45
- assert_equal @service.create_virtual_machine(linux_virtual_machine_with_custom_image_hash, true), @response
56
+ @virtual_machines.stub :get, @error_response do
57
+ assert_equal @service.create_virtual_machine(linux_virtual_machine_with_custom_image_hash, true), @response
58
+ end
46
59
  end
47
60
  end
48
61
 
49
62
  def test_create_windows_virtual_machine_from_custom_image_success
50
63
  windows_virtual_machine_with_custom_image_hash = ApiStub::Requests::Compute::VirtualMachine.windows_virtual_machine_with_custom_image_params
51
64
  @virtual_machines.stub :create_or_update, @response do
52
- assert_equal @service.create_virtual_machine(windows_virtual_machine_with_custom_image_hash), @response
65
+ @virtual_machines.stub :get, @error_response do
66
+ assert_equal @service.create_virtual_machine(windows_virtual_machine_with_custom_image_hash), @response
67
+ end
53
68
  end
54
69
 
55
70
  # Async
56
71
  @virtual_machines.stub :create_or_update_async, @response do
57
- assert_equal @service.create_virtual_machine(windows_virtual_machine_with_custom_image_hash, true), @response
72
+ @virtual_machines.stub :get, @error_response do
73
+ assert_equal @service.create_virtual_machine(windows_virtual_machine_with_custom_image_hash, true), @response
74
+ end
58
75
  end
59
76
  end
60
77
 
61
78
  def test_create_linux_virtual_machine_with_custom_data_success
62
79
  linux_virtual_machine_with_custom_data_hash = ApiStub::Requests::Compute::VirtualMachine.linux_virtual_machine_with_custom_data_params
63
80
  @virtual_machines.stub :create_or_update, @custom_data_response do
64
- assert_equal @service.create_virtual_machine(linux_virtual_machine_with_custom_data_hash), @custom_data_response
81
+ @virtual_machines.stub :get, @error_response do
82
+ assert_equal @service.create_virtual_machine(linux_virtual_machine_with_custom_data_hash), @custom_data_response
83
+ end
65
84
  end
66
85
  end
67
86
 
68
87
  def test_create_windows_virtual_machine_with_custom_data_success
69
88
  windows_virtual_machine_with_custom_data_hash = ApiStub::Requests::Compute::VirtualMachine.windows_virtual_machine_with_custom_data_params
70
89
  @virtual_machines.stub :create_or_update, @custom_data_response do
71
- assert_equal @service.create_virtual_machine(windows_virtual_machine_with_custom_data_hash), @custom_data_response
90
+ @virtual_machines.stub :get, @error_response do
91
+ assert_equal @service.create_virtual_machine(windows_virtual_machine_with_custom_data_hash), @custom_data_response
92
+ end
72
93
  end
73
94
  end
74
95
 
75
96
  def test_create_virtual_machine_failure
76
- response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
77
- @virtual_machines.stub :create_or_update, response do
78
- assert_raises RuntimeError do
79
- @service.create_virtual_machine(@linux_virtual_machine_hash)
97
+ @virtual_machines.stub :create_or_update, @error_response do
98
+ @virtual_machines.stub :get, @error_response do
99
+ assert_raises MsRestAzure::AzureOperationError do
100
+ @service.create_virtual_machine(@linux_virtual_machine_hash)
101
+ end
80
102
  end
81
103
  end
82
104
 
83
105
  # Async
84
- @virtual_machines.stub :create_or_update_async, response do
85
- assert_raises RuntimeError do
86
- @service.create_virtual_machine(@linux_virtual_machine_hash, true)
106
+ @virtual_machines.stub :create_or_update_async, @error_response do
107
+ @virtual_machines.stub :get, @error_response do
108
+ assert_raises MsRestAzure::AzureOperationError do
109
+ @service.create_virtual_machine(@linux_virtual_machine_hash, true)
110
+ end
87
111
  end
88
112
  end
89
113
  end