fog-azure-rm 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (433) hide show
  1. checksums.yaml +4 -4
  2. data/.DS_Store +0 -0
  3. data/.travis.yml +11 -1
  4. data/CHANGELOG.md +35 -14
  5. data/fog-azure-rm.gemspec +8 -9
  6. data/lib/fog/azurerm.rb +3 -0
  7. data/lib/fog/azurerm/application_gateway.rb +64 -0
  8. data/lib/fog/azurerm/compute.rb +1 -0
  9. data/lib/fog/azurerm/config.rb +17 -0
  10. data/lib/fog/azurerm/core.rb +1 -0
  11. data/lib/fog/azurerm/dns.rb +4 -2
  12. data/lib/fog/azurerm/docs/application_gateway.md +139 -0
  13. data/lib/fog/azurerm/docs/dns.md +28 -6
  14. data/lib/fog/azurerm/docs/network.md +151 -143
  15. data/lib/fog/azurerm/docs/resources.md +3 -3
  16. data/lib/fog/azurerm/docs/storage.md +15 -3
  17. data/lib/fog/azurerm/docs/traffic_manager.md +118 -0
  18. data/lib/fog/azurerm/fog_azure_rm_exception.rb +13 -0
  19. data/lib/fog/azurerm/models/application_gateway/backend_address_pool.rb +22 -0
  20. data/lib/fog/azurerm/models/application_gateway/backend_http_setting.rb +26 -0
  21. data/lib/fog/azurerm/models/application_gateway/frontend_ip_configuration.rb +22 -0
  22. data/lib/fog/azurerm/models/application_gateway/frontend_port.rb +18 -0
  23. data/lib/fog/azurerm/models/{network/application_gateway.rb → application_gateway/gateway.rb} +74 -78
  24. data/lib/fog/azurerm/models/{network/application_gateways.rb → application_gateway/gateways.rb} +6 -6
  25. data/lib/fog/azurerm/models/application_gateway/http_listener.rb +28 -0
  26. data/lib/fog/azurerm/models/application_gateway/ip_configuration.rb +18 -0
  27. data/lib/fog/azurerm/models/application_gateway/probe.rb +28 -0
  28. data/lib/fog/azurerm/models/application_gateway/request_routing_rule.rb +25 -0
  29. data/lib/fog/azurerm/models/application_gateway/ssl_certificate.rb +22 -0
  30. data/lib/fog/azurerm/models/application_gateway/url_path_map.rb +28 -0
  31. data/lib/fog/azurerm/models/compute/availability_set.rb +8 -8
  32. data/lib/fog/azurerm/models/compute/availability_sets.rb +3 -1
  33. data/lib/fog/azurerm/models/compute/server.rb +50 -34
  34. data/lib/fog/azurerm/models/dns/record_set.rb +30 -2
  35. data/lib/fog/azurerm/models/dns/record_sets.rb +4 -2
  36. data/lib/fog/azurerm/models/dns/zone.rb +1 -1
  37. data/lib/fog/azurerm/models/dns/zones.rb +4 -2
  38. data/lib/fog/azurerm/models/network/express_route_circuit.rb +89 -0
  39. data/lib/fog/azurerm/models/network/express_route_circuit_peering.rb +93 -0
  40. data/lib/fog/azurerm/models/network/express_route_circuit_peerings.rb +31 -0
  41. data/lib/fog/azurerm/models/network/express_route_circuits.rb +29 -0
  42. data/lib/fog/azurerm/models/network/express_route_service_provider.rb +29 -0
  43. data/lib/fog/azurerm/models/network/express_route_service_providers.rb +21 -0
  44. data/lib/fog/azurerm/models/network/frontend_ip_configuration.rb +5 -15
  45. data/lib/fog/azurerm/models/network/inbound_nat_pool.rb +6 -7
  46. data/lib/fog/azurerm/models/network/inbound_nat_rule.rb +6 -9
  47. data/lib/fog/azurerm/models/network/load_balancer.rb +17 -19
  48. data/lib/fog/azurerm/models/network/load_balancing_rule.rb +11 -16
  49. data/lib/fog/azurerm/models/network/network_interface.rb +24 -24
  50. data/lib/fog/azurerm/models/network/network_security_group.rb +9 -9
  51. data/lib/fog/azurerm/models/network/network_security_rule.rb +13 -13
  52. data/lib/fog/azurerm/models/network/probe.rb +7 -8
  53. data/lib/fog/azurerm/models/network/public_ip.rb +15 -16
  54. data/lib/fog/azurerm/models/network/public_ips.rb +4 -2
  55. data/lib/fog/azurerm/models/network/subnet.rb +8 -8
  56. data/lib/fog/azurerm/models/network/virtual_network.rb +9 -9
  57. data/lib/fog/azurerm/models/network/virtual_network_gateway.rb +138 -0
  58. data/lib/fog/azurerm/models/network/virtual_network_gateways.rb +29 -0
  59. data/lib/fog/azurerm/models/network/vpn_client_configuration.rb +34 -0
  60. data/lib/fog/azurerm/models/network/vpn_client_revoked_certificates.rb +22 -0
  61. data/lib/fog/azurerm/models/network/vpn_client_root_certificates.rb +22 -0
  62. data/lib/fog/azurerm/models/resources/azure_resource.rb +5 -5
  63. data/lib/fog/azurerm/models/resources/dependency.rb +5 -5
  64. data/lib/fog/azurerm/models/resources/deployment.rb +14 -14
  65. data/lib/fog/azurerm/models/resources/provider.rb +4 -4
  66. data/lib/fog/azurerm/models/resources/provider_resource_type.rb +4 -4
  67. data/lib/fog/azurerm/models/resources/resource_group.rb +9 -1
  68. data/lib/fog/azurerm/models/resources/resource_groups.rb +5 -1
  69. data/lib/fog/azurerm/models/storage/data_disk.rb +6 -6
  70. data/lib/fog/azurerm/models/storage/storage_account.rb +41 -10
  71. data/lib/fog/azurerm/models/storage/storage_accounts.rb +1 -6
  72. data/lib/fog/azurerm/models/traffic_manager/traffic_manager_end_point.rb +75 -0
  73. data/lib/fog/azurerm/models/traffic_manager/traffic_manager_end_points.rb +31 -0
  74. data/lib/fog/azurerm/models/traffic_manager/traffic_manager_profile.rb +59 -0
  75. data/lib/fog/azurerm/models/traffic_manager/traffic_manager_profiles.rb +26 -0
  76. data/lib/fog/azurerm/network.rb +25 -25
  77. data/lib/fog/azurerm/requests/{network → application_gateway}/create_application_gateway.rb +59 -95
  78. data/lib/fog/azurerm/requests/application_gateway/delete_application_gateway.rb +26 -0
  79. data/lib/fog/azurerm/requests/application_gateway/list_application_gateways.rb +29 -0
  80. data/lib/fog/azurerm/requests/compute/attach_data_disk_to_vm.rb +38 -38
  81. data/lib/fog/azurerm/requests/compute/check_vm_status.rb +8 -10
  82. data/lib/fog/azurerm/requests/compute/create_availability_set.rb +15 -20
  83. data/lib/fog/azurerm/requests/compute/create_virtual_machine.rb +50 -45
  84. data/lib/fog/azurerm/requests/compute/deallocate_virtual_machine.rb +9 -10
  85. data/lib/fog/azurerm/requests/compute/delete_availability_set.rb +7 -8
  86. data/lib/fog/azurerm/requests/compute/delete_virtual_machine.rb +9 -10
  87. data/lib/fog/azurerm/requests/compute/detach_data_disk_from_vm.rb +20 -19
  88. data/lib/fog/azurerm/requests/compute/generalize_virtual_machine.rb +9 -10
  89. data/lib/fog/azurerm/requests/compute/get_availability_set.rb +32 -0
  90. data/lib/fog/azurerm/requests/compute/get_virtual_machine.rb +17 -14
  91. data/lib/fog/azurerm/requests/compute/list_availability_sets.rb +7 -6
  92. data/lib/fog/azurerm/requests/compute/list_available_sizes_for_virtual_machine.rb +37 -31
  93. data/lib/fog/azurerm/requests/compute/list_virtual_machines.rb +47 -42
  94. data/lib/fog/azurerm/requests/compute/power_off_virtual_machine.rb +9 -10
  95. data/lib/fog/azurerm/requests/compute/redeploy_virtual_machine.rb +9 -10
  96. data/lib/fog/azurerm/requests/compute/restart_virtual_machine.rb +9 -10
  97. data/lib/fog/azurerm/requests/compute/start_virtual_machine.rb +9 -10
  98. data/lib/fog/azurerm/requests/dns/{create_record_set.rb → create_or_update_record_set.rb} +2 -2
  99. data/lib/fog/azurerm/requests/dns/{create_zone.rb → create_or_update_zone.rb} +3 -3
  100. data/lib/fog/azurerm/requests/dns/get_record_set.rb +56 -0
  101. data/lib/fog/azurerm/requests/dns/get_zone.rb +50 -0
  102. data/lib/fog/azurerm/requests/dns/list_record_sets.rb +2 -2
  103. data/lib/fog/azurerm/requests/network/add_address_prefixes_in_virtual_network.rb +3 -3
  104. data/lib/fog/azurerm/requests/network/add_dns_servers_in_virtual_network.rb +8 -6
  105. data/lib/fog/azurerm/requests/network/add_security_rules.rb +15 -13
  106. data/lib/fog/azurerm/requests/network/add_subnets_in_virtual_network.rb +6 -4
  107. data/lib/fog/azurerm/requests/network/attach_network_security_group_to_subnet.rb +13 -15
  108. data/lib/fog/azurerm/requests/network/attach_resource_to_nic.rb +17 -16
  109. data/lib/fog/azurerm/requests/network/attach_route_table_to_subnet.rb +13 -15
  110. data/lib/fog/azurerm/requests/network/check_for_public_ip.rb +2 -4
  111. data/lib/fog/azurerm/requests/network/check_for_virtual_network.rb +5 -5
  112. data/lib/fog/azurerm/requests/network/create_load_balancer.rb +43 -62
  113. data/lib/fog/azurerm/requests/network/create_or_update_express_route_circuit.rb +98 -0
  114. data/lib/fog/azurerm/requests/network/create_or_update_express_route_circuit_peering.rb +69 -0
  115. data/lib/fog/azurerm/requests/network/create_or_update_network_interface.rb +14 -19
  116. data/lib/fog/azurerm/requests/network/create_or_update_network_security_group.rb +29 -26
  117. data/lib/fog/azurerm/requests/network/create_or_update_virtual_network.rb +19 -25
  118. data/lib/fog/azurerm/requests/network/create_or_update_virtual_network_gateway.rb +151 -0
  119. data/lib/fog/azurerm/requests/network/create_public_ip.rb +8 -10
  120. data/lib/fog/azurerm/requests/network/create_subnet.rb +13 -15
  121. data/lib/fog/azurerm/requests/network/delete_express_route_circuit.rb +28 -0
  122. data/lib/fog/azurerm/requests/network/delete_express_route_circuit_peering.rb +28 -0
  123. data/lib/fog/azurerm/requests/network/delete_load_balancer.rb +8 -7
  124. data/lib/fog/azurerm/requests/network/delete_network_interface.rb +7 -8
  125. data/lib/fog/azurerm/requests/network/delete_network_security_group.rb +8 -7
  126. data/lib/fog/azurerm/requests/network/delete_public_ip.rb +4 -6
  127. data/lib/fog/azurerm/requests/network/delete_subnet.rb +6 -7
  128. data/lib/fog/azurerm/requests/network/delete_virtual_network.rb +6 -7
  129. data/lib/fog/azurerm/requests/network/delete_virtual_network_gateway.rb +28 -0
  130. data/lib/fog/azurerm/requests/network/detach_network_security_group_from_subnet.rb +15 -17
  131. data/lib/fog/azurerm/requests/network/detach_resource_from_nic.rb +15 -14
  132. data/lib/fog/azurerm/requests/network/detach_route_table_from_subnet.rb +15 -17
  133. data/lib/fog/azurerm/requests/network/get_express_route_circuit.rb +51 -0
  134. data/lib/fog/azurerm/requests/network/get_express_route_circuit_peering.rb +48 -0
  135. data/lib/fog/azurerm/requests/network/get_network_interface.rb +7 -7
  136. data/lib/fog/azurerm/requests/network/get_network_security_group.rb +11 -7
  137. data/lib/fog/azurerm/requests/network/get_public_ip.rb +41 -0
  138. data/lib/fog/azurerm/requests/network/get_subnet.rb +10 -9
  139. data/lib/fog/azurerm/requests/network/get_virtual_network.rb +12 -14
  140. data/lib/fog/azurerm/requests/network/get_virtual_network_gateway.rb +45 -0
  141. data/lib/fog/azurerm/requests/network/list_express_route_circuit_peerings.rb +44 -0
  142. data/lib/fog/azurerm/requests/network/list_express_route_circuits.rb +53 -0
  143. data/lib/fog/azurerm/requests/network/list_express_route_service_providers.rb +37 -0
  144. data/lib/fog/azurerm/requests/network/list_load_balancers.rb +6 -6
  145. data/lib/fog/azurerm/requests/network/list_network_interfaces.rb +42 -37
  146. data/lib/fog/azurerm/requests/network/list_network_security_groups.rb +149 -143
  147. data/lib/fog/azurerm/requests/network/list_public_ips.rb +26 -22
  148. data/lib/fog/azurerm/requests/network/list_subnets.rb +35 -31
  149. data/lib/fog/azurerm/requests/network/list_virtual_network_gateways.rb +43 -0
  150. data/lib/fog/azurerm/requests/network/list_virtual_networks.rb +52 -51
  151. data/lib/fog/azurerm/requests/network/remove_address_prefixes_from_virtual_network.rb +6 -4
  152. data/lib/fog/azurerm/requests/network/remove_dns_servers_from_virtual_network.rb +6 -4
  153. data/lib/fog/azurerm/requests/network/remove_security_rule.rb +15 -13
  154. data/lib/fog/azurerm/requests/network/remove_subnets_from_virtual_network.rb +6 -4
  155. data/lib/fog/azurerm/requests/resources/create_deployment.rb +27 -21
  156. data/lib/fog/azurerm/requests/resources/create_resource_group.rb +9 -9
  157. data/lib/fog/azurerm/requests/resources/delete_deployment.rb +3 -4
  158. data/lib/fog/azurerm/requests/resources/delete_resource_group.rb +3 -5
  159. data/lib/fog/azurerm/requests/resources/delete_resource_tag.rb +14 -20
  160. data/lib/fog/azurerm/requests/resources/list_deployments.rb +8 -7
  161. data/lib/fog/azurerm/requests/resources/list_resource_groups.rb +27 -23
  162. data/lib/fog/azurerm/requests/resources/list_tagged_resources.rb +30 -27
  163. data/lib/fog/azurerm/requests/resources/tag_resource.rb +15 -20
  164. data/lib/fog/azurerm/requests/storage/check_storage_account_name_availability.rb +13 -15
  165. data/lib/fog/azurerm/requests/storage/create_container.rb +6 -5
  166. data/lib/fog/azurerm/requests/storage/create_storage_account.rb +36 -22
  167. data/lib/fog/azurerm/requests/storage/delete_container.rb +6 -5
  168. data/lib/fog/azurerm/requests/storage/delete_disk.rb +13 -12
  169. data/lib/fog/azurerm/requests/storage/delete_storage_account.rb +8 -9
  170. data/lib/fog/azurerm/requests/storage/get_blob_metadata.rb +10 -9
  171. data/lib/fog/azurerm/requests/storage/get_container_access_control_list.rb +6 -5
  172. data/lib/fog/azurerm/requests/storage/get_container_metadata.rb +8 -7
  173. data/lib/fog/azurerm/requests/storage/get_container_properties.rb +6 -5
  174. data/lib/fog/azurerm/requests/storage/get_storage_access_keys.rb +7 -7
  175. data/lib/fog/azurerm/requests/storage/list_containers.rb +6 -5
  176. data/lib/fog/azurerm/requests/storage/list_storage_account_for_rg.rb +7 -12
  177. data/lib/fog/azurerm/requests/storage/list_storage_accounts.rb +7 -13
  178. data/lib/fog/azurerm/requests/storage/set_blob_metadata.rb +8 -7
  179. data/lib/fog/azurerm/requests/storage/set_container_metadata.rb +8 -7
  180. data/lib/fog/azurerm/requests/traffic_manager/create_traffic_manager_endpoint.rb +54 -0
  181. data/lib/fog/azurerm/requests/traffic_manager/create_traffic_manager_profile.rb +107 -0
  182. data/lib/fog/azurerm/requests/traffic_manager/delete_traffic_manager_endpoint.rb +28 -0
  183. data/lib/fog/azurerm/requests/traffic_manager/delete_traffic_manager_profile.rb +26 -0
  184. data/lib/fog/azurerm/requests/traffic_manager/get_traffic_manager_endpoint.rb +39 -0
  185. data/lib/fog/azurerm/requests/traffic_manager/get_traffic_manager_profile.rb +80 -0
  186. data/lib/fog/azurerm/requests/traffic_manager/list_traffic_manager_profiles.rb +82 -0
  187. data/lib/fog/azurerm/storage.rb +1 -1
  188. data/lib/fog/azurerm/traffic_manager.rb +56 -0
  189. data/lib/fog/azurerm/utilities/general.rb +28 -0
  190. data/lib/fog/azurerm/version.rb +1 -1
  191. data/test/api_stub.rb +14 -7
  192. data/test/api_stub/models/{network/application_gateway.rb → application_gateway/gateway.rb} +8 -7
  193. data/test/api_stub/models/compute/availability_set.rb +35 -6
  194. data/test/api_stub/models/compute/server.rb +15 -16
  195. data/test/api_stub/models/dns/record_set.rb +20 -0
  196. data/test/api_stub/models/network/express_route_circuit.rb +47 -0
  197. data/test/api_stub/models/network/express_route_circuit_peering.rb +33 -0
  198. data/test/api_stub/models/network/express_route_service_provider.rb +29 -0
  199. data/test/api_stub/models/network/load_balancer.rb +137 -115
  200. data/test/api_stub/models/network/network_interface.rb +3 -2
  201. data/test/api_stub/models/network/network_security_group.rb +4 -3
  202. data/test/api_stub/models/network/public_ip.rb +5 -4
  203. data/test/api_stub/models/network/subnet.rb +3 -2
  204. data/test/api_stub/models/network/virtual_network.rb +3 -2
  205. data/test/api_stub/models/network/virtual_network_gateway.rb +26 -0
  206. data/test/api_stub/models/resources/deployment.rb +56 -50
  207. data/test/api_stub/models/resources/resource.rb +17 -14
  208. data/test/api_stub/models/resources/resource_group.rb +4 -18
  209. data/test/api_stub/models/storage/storageaccount.rb +8 -15
  210. data/test/api_stub/models/{network → traffic_manager}/traffic_manager_end_point.rb +4 -3
  211. data/test/api_stub/models/{network → traffic_manager}/traffic_manager_profile.rb +4 -3
  212. data/test/api_stub/requests/application_gateway/gateway.rb +431 -0
  213. data/test/api_stub/requests/compute/availability_set.rb +34 -23
  214. data/test/api_stub/requests/compute/virtual_machine.rb +73 -30
  215. data/test/api_stub/requests/dns/record_set.rb +6 -6
  216. data/test/api_stub/requests/dns/zone.rb +2 -2
  217. data/test/api_stub/requests/network/express_route_circuit.rb +100 -0
  218. data/test/api_stub/requests/network/express_route_circuit_peering.rb +62 -0
  219. data/test/api_stub/requests/network/express_route_service_provider.rb +30 -0
  220. data/test/api_stub/requests/network/load_balancer.rb +273 -251
  221. data/test/api_stub/requests/network/network_interface.rb +12 -16
  222. data/test/api_stub/requests/network/network_security_group.rb +12 -27
  223. data/test/api_stub/requests/network/public_ip.rb +7 -9
  224. data/test/api_stub/requests/network/subnet.rb +6 -8
  225. data/test/api_stub/requests/network/virtual_network.rb +6 -8
  226. data/test/api_stub/requests/network/virtual_network_gateway.rb +49 -0
  227. data/test/api_stub/requests/resources/deployment.rb +56 -11
  228. data/test/api_stub/requests/resources/resource.rb +6 -8
  229. data/test/api_stub/requests/resources/resource_group.rb +6 -8
  230. data/test/api_stub/requests/storage/storageaccount.rb +44 -31
  231. data/test/api_stub/requests/traffic_manager/traffic_manager_endpoint.rb +41 -0
  232. data/test/api_stub/requests/{network → traffic_manager}/traffic_manager_profile.rb +7 -5
  233. data/test/integration/application_gateway.rb +16 -8
  234. data/test/integration/availability_set.rb +1 -1
  235. data/test/integration/container.rb +2 -1
  236. data/test/integration/deployment.rb +54 -0
  237. data/test/integration/express_route_circuit.rb +80 -0
  238. data/test/integration/external_load_balancer.rb +7 -6
  239. data/test/integration/internal_load_balancer.rb +6 -5
  240. data/test/integration/network_interface.rb +2 -2
  241. data/test/integration/public_ip.rb +2 -2
  242. data/test/integration/record_set.rb +26 -8
  243. data/test/integration/resource_group.rb +39 -0
  244. data/test/integration/resource_tag.rb +62 -0
  245. data/test/integration/server.rb +6 -4
  246. data/test/integration/storage_account.rb +33 -5
  247. data/test/integration/subnet.rb +2 -2
  248. data/test/integration/traffic_manager.rb +12 -12
  249. data/test/integration/virtual_network.rb +6 -6
  250. data/test/integration/virtual_network_gateway.rb +101 -0
  251. data/test/integration/zone.rb +1 -1
  252. data/test/models/application_gateway/test_gateway.rb +57 -0
  253. data/test/models/{network/test_application_gateways.rb → application_gateway/test_gateways.rb} +10 -10
  254. data/test/models/compute/test_availability_set.rb +2 -1
  255. data/test/models/compute/test_availability_sets.rb +5 -4
  256. data/test/models/compute/test_server.rb +6 -5
  257. data/test/models/compute/test_servers.rb +3 -2
  258. data/test/models/dns/test_record_set.rb +27 -1
  259. data/test/models/dns/test_record_sets.rb +3 -2
  260. data/test/models/dns/test_zone.rb +1 -1
  261. data/test/models/dns/test_zones.rb +2 -1
  262. data/test/models/network/test_express_route_circuit.rb +58 -0
  263. data/test/models/network/test_express_route_circuit_peering.rb +59 -0
  264. data/test/models/network/test_express_route_circuit_peerings.rb +43 -0
  265. data/test/models/network/test_express_route_circuits.rb +42 -0
  266. data/test/models/network/test_express_route_service_providers.rb +30 -0
  267. data/test/models/network/test_load_balancer.rb +7 -12
  268. data/test/models/network/test_load_balancers.rb +4 -4
  269. data/test/models/network/test_network_interface.rb +10 -16
  270. data/test/models/network/test_network_interfaces.rb +3 -2
  271. data/test/models/network/test_network_security_group.rb +6 -8
  272. data/test/models/network/test_network_security_groups.rb +2 -1
  273. data/test/models/network/test_public_ip.rb +5 -6
  274. data/test/models/network/test_public_ips.rb +6 -6
  275. data/test/models/network/test_subnet.rb +9 -15
  276. data/test/models/network/test_subnets.rb +3 -2
  277. data/test/models/network/test_virtual_network.rb +10 -16
  278. data/test/models/network/test_virtual_network_gateway.rb +62 -0
  279. data/test/models/network/test_virtual_network_gateways.rb +42 -0
  280. data/test/models/network/test_virtual_networks.rb +3 -2
  281. data/test/models/resources/test_deployment.rb +2 -1
  282. data/test/models/resources/test_deployments.rb +2 -1
  283. data/test/models/resources/test_resource_group.rb +2 -1
  284. data/test/models/resources/test_resource_groups.rb +2 -1
  285. data/test/models/resources/test_resources.rb +2 -1
  286. data/test/models/storage/test_data_disk.rb +0 -6
  287. data/test/models/storage/test_storage_account.rb +29 -8
  288. data/test/models/storage/test_storage_accounts.rb +5 -5
  289. data/test/models/{network → traffic_manager}/test_traffic_manager_end_point.rb +4 -3
  290. data/test/models/traffic_manager/test_traffic_manager_end_points.rb +43 -0
  291. data/test/models/{network → traffic_manager}/test_traffic_manager_profile.rb +5 -4
  292. data/test/models/traffic_manager/test_traffic_manager_profiles.rb +42 -0
  293. data/test/requests/application_gateway/test_create_application_gateway.rb +51 -0
  294. data/test/requests/application_gateway/test_delete_application_gateway.rb +23 -0
  295. data/test/requests/application_gateway/test_list_application_gateways.rb +24 -0
  296. data/test/requests/compute/test_attach_data_disk_to_vm.rb +40 -123
  297. data/test/requests/compute/test_create_availability_set.rb +9 -11
  298. data/test/requests/compute/test_create_virtual_machine.rb +13 -29
  299. data/test/requests/compute/test_deallocate_virtual_machine.rb +7 -13
  300. data/test/requests/compute/test_delete_availability_set.rb +5 -11
  301. data/test/requests/compute/test_delete_virtual_machine.rb +7 -13
  302. data/test/requests/compute/test_detach_data_disk_from_vm.rb +13 -34
  303. data/test/requests/compute/test_generalize_virtual_machine.rb +7 -13
  304. data/test/requests/compute/test_get_availability_set.rb +24 -0
  305. data/test/requests/compute/test_get_virtual_machine.rb +8 -15
  306. data/test/requests/compute/test_get_vm_status.rb +8 -14
  307. data/test/requests/compute/test_list_availability_sets.rb +8 -14
  308. data/test/requests/compute/test_list_available_sizes_for_virtual_machine.rb +8 -15
  309. data/test/requests/compute/test_list_virtual_machines.rb +8 -14
  310. data/test/requests/compute/test_power_off_virtual_machine.rb +7 -13
  311. data/test/requests/compute/test_redeploy_virtual_machine.rb +7 -13
  312. data/test/requests/compute/test_restart_virtual_machine.rb +7 -13
  313. data/test/requests/compute/test_start_virtual_machine.rb +7 -13
  314. data/test/requests/dns/test_create_record_set.rb +8 -8
  315. data/test/requests/dns/test_create_zone.rb +6 -6
  316. data/test/requests/dns/test_delete_record_set.rb +2 -2
  317. data/test/requests/dns/test_delete_zone.rb +2 -2
  318. data/test/requests/dns/test_get_record_set.rb +46 -0
  319. data/test/requests/dns/test_get_zone.rb +46 -0
  320. data/test/requests/network/test_add_address_prefixes_in_virtual_network.rb +11 -27
  321. data/test/requests/network/test_add_dns_servers_in_virtual_network.rb +11 -27
  322. data/test/requests/network/test_add_security_rules.rb +11 -31
  323. data/test/requests/network/test_add_subnets_in_virtual_network.rb +11 -27
  324. data/test/requests/network/test_attach_network_security_group_to_subnet.rb +9 -16
  325. data/test/requests/network/test_attach_resource_to_nic.rb +15 -37
  326. data/test/requests/network/test_attach_route_table_to_subnet.rb +9 -16
  327. data/test/requests/network/test_check_for_public_ip.rb +10 -18
  328. data/test/requests/network/test_check_for_virtual_network.rb +10 -18
  329. data/test/requests/network/test_create_express_route_circuit.rb +39 -0
  330. data/test/requests/network/test_create_express_route_circuit_peering.rb +37 -0
  331. data/test/requests/network/test_create_load_balancer.rb +27 -34
  332. data/test/requests/network/test_create_network_interface.rb +16 -28
  333. data/test/requests/network/test_create_or_update_network_security_group.rb +38 -0
  334. data/test/requests/network/test_create_or_update_virtual_network.rb +20 -28
  335. data/test/requests/network/test_create_public_ip.rb +13 -22
  336. data/test/requests/network/test_create_subnet.rb +13 -22
  337. data/test/requests/network/test_create_virtual_network_gateway.rb +37 -0
  338. data/test/requests/network/test_delete_express_route_circuit.rb +24 -0
  339. data/test/requests/network/test_delete_express_route_circuit_peering.rb +24 -0
  340. data/test/requests/network/test_delete_load_balancer.rb +7 -13
  341. data/test/requests/network/test_delete_network_interface.rb +7 -13
  342. data/test/requests/network/test_delete_network_security_group.rb +6 -13
  343. data/test/requests/network/test_delete_public_ip.rb +7 -13
  344. data/test/requests/network/test_delete_subnet.rb +7 -13
  345. data/test/requests/network/test_delete_virtual_network.rb +7 -13
  346. data/test/requests/network/test_delete_virtual_network_gateway.rb +24 -0
  347. data/test/requests/network/test_detach_network_security_group_from_subnet.rb +9 -16
  348. data/test/requests/network/test_detach_resource_from_nic.rb +15 -34
  349. data/test/requests/network/test_detach_route_table_from_subnet.rb +9 -16
  350. data/test/requests/network/test_get_express_route_circuit.rb +24 -0
  351. data/test/requests/network/test_get_express_route_circuit_peering.rb +24 -0
  352. data/test/requests/network/test_get_network_interface.rb +8 -15
  353. data/test/requests/network/test_get_network_security_group.rb +9 -16
  354. data/test/requests/network/test_get_public_ip.rb +26 -0
  355. data/test/requests/network/test_get_subnet.rb +9 -16
  356. data/test/requests/network/test_get_virtual_network.rb +26 -0
  357. data/test/requests/network/test_get_virtual_network_gateway.rb +24 -0
  358. data/test/requests/network/test_list_express_route_circuit_peerings.rb +24 -0
  359. data/test/requests/network/test_list_express_route_circuits.rb +26 -0
  360. data/test/requests/network/test_list_express_route_service_providers.rb +24 -0
  361. data/test/requests/network/test_list_load_balancers.rb +8 -15
  362. data/test/requests/network/test_list_network_interfaces.rb +8 -15
  363. data/test/requests/network/test_list_network_security_groups.rb +9 -16
  364. data/test/requests/network/test_list_public_ips.rb +8 -15
  365. data/test/requests/network/test_list_subnets.rb +8 -15
  366. data/test/requests/network/test_list_virtual_network_gateways.rb +24 -0
  367. data/test/requests/network/test_list_virtual_networks.rb +8 -15
  368. data/test/requests/network/test_remove_address_prefixes_from_virtual_network.rb +11 -27
  369. data/test/requests/network/test_remove_dns_servers_from_virtual_network.rb +11 -27
  370. data/test/requests/network/test_remove_security_rule.rb +11 -31
  371. data/test/requests/network/test_remove_subnets_from_virtual_network.rb +11 -27
  372. data/test/requests/resources/test_create_deployment.rb +10 -27
  373. data/test/requests/resources/test_create_resource_group.rb +8 -15
  374. data/test/requests/resources/test_delete_deployment.rb +5 -11
  375. data/test/requests/resources/test_delete_resource_group.rb +8 -14
  376. data/test/requests/resources/test_delete_resource_tag.rb +12 -28
  377. data/test/requests/resources/test_list_deployments.rb +8 -15
  378. data/test/requests/resources/test_list_resource_groups.rb +8 -15
  379. data/test/requests/resources/test_list_tagged_resources.rb +8 -15
  380. data/test/requests/resources/test_tag_resource.rb +12 -28
  381. data/test/requests/storage/test_check_storage_account_name_availability.rb +14 -29
  382. data/test/requests/storage/test_create_storage_account.rb +13 -35
  383. data/test/requests/storage/test_delete_storage_account.rb +8 -14
  384. data/test/requests/storage/test_get_storage_access_keys.rb +7 -14
  385. data/test/requests/storage/test_list_storage_accounts.rb +12 -22
  386. data/test/requests/storage/test_list_storage_accounts_for_rg.rb +15 -29
  387. data/test/requests/traffic_manager/test_create_traffic_manager_endpoint.rb +25 -0
  388. data/test/requests/traffic_manager/test_create_traffic_manager_profile.rb +25 -0
  389. data/test/requests/traffic_manager/test_delete_traffic_manager_endpoint.rb +23 -0
  390. data/test/requests/traffic_manager/test_delete_traffic_manager_profile.rb +23 -0
  391. data/test/requests/traffic_manager/test_get_traffic_manager_endpoint.rb +24 -0
  392. data/test/requests/traffic_manager/test_get_traffic_manager_profile.rb +24 -0
  393. data/test/requests/traffic_manager/test_list_traffic_manager_profiles.rb +24 -0
  394. data/test/test_helper.rb +113 -4
  395. metadata +147 -86
  396. data/lib/fog/azurerm/models/network/application_gateway_backend_address_pool.rb +0 -24
  397. data/lib/fog/azurerm/models/network/application_gateway_backend_http_setting.rb +0 -30
  398. data/lib/fog/azurerm/models/network/application_gateway_frontend_ip_configuration.rb +0 -30
  399. data/lib/fog/azurerm/models/network/application_gateway_frontend_port.rb +0 -22
  400. data/lib/fog/azurerm/models/network/application_gateway_http_listener.rb +0 -37
  401. data/lib/fog/azurerm/models/network/application_gateway_ip_configuration.rb +0 -21
  402. data/lib/fog/azurerm/models/network/application_gateway_probe.rb +0 -32
  403. data/lib/fog/azurerm/models/network/application_gateway_request_routing_rule.rb +0 -35
  404. data/lib/fog/azurerm/models/network/application_gateway_ssl_certificate.rb +0 -26
  405. data/lib/fog/azurerm/models/network/application_gateway_url_path_map.rb +0 -32
  406. data/lib/fog/azurerm/models/network/traffic_manager_end_point.rb +0 -63
  407. data/lib/fog/azurerm/models/network/traffic_manager_end_points.rb +0 -29
  408. data/lib/fog/azurerm/models/network/traffic_manager_profile.rb +0 -59
  409. data/lib/fog/azurerm/models/network/traffic_manager_profiles.rb +0 -24
  410. data/lib/fog/azurerm/requests/network/create_traffic_manager_endpoint.rb +0 -78
  411. data/lib/fog/azurerm/requests/network/create_traffic_manager_profile.rb +0 -127
  412. data/lib/fog/azurerm/requests/network/delete_application_gateway.rb +0 -27
  413. data/lib/fog/azurerm/requests/network/delete_traffic_manager_endpoint.rb +0 -37
  414. data/lib/fog/azurerm/requests/network/delete_traffic_manager_profile.rb +0 -37
  415. data/lib/fog/azurerm/requests/network/get_traffic_manager_profile.rb +0 -96
  416. data/lib/fog/azurerm/requests/network/list_application_gateways.rb +0 -31
  417. data/lib/fog/azurerm/requests/network/list_traffic_manager_profiles.rb +0 -98
  418. data/test/api_stub/models/storage/data_disk.rb +0 -30
  419. data/test/api_stub/requests/network/application_gateway.rb +0 -433
  420. data/test/api_stub/requests/network/traffic_manager_endpoint.rb +0 -25
  421. data/test/models/network/test_application_gateway.rb +0 -62
  422. data/test/models/network/test_traffic_manager_end_points.rb +0 -42
  423. data/test/models/network/test_traffic_manager_profiles.rb +0 -41
  424. data/test/requests/network/test_create_application_gateway.rb +0 -61
  425. data/test/requests/network/test_create_network_security_group.rb +0 -45
  426. data/test/requests/network/test_create_traffic_manager_endpoint.rb +0 -32
  427. data/test/requests/network/test_create_traffic_manager_profile.rb +0 -32
  428. data/test/requests/network/test_delete_application_gateway.rb +0 -30
  429. data/test/requests/network/test_delete_traffic_manager_endpoint.rb +0 -28
  430. data/test/requests/network/test_delete_traffic_manager_profile.rb +0 -28
  431. data/test/requests/network/test_get_traffic_manager_profile.rb +0 -29
  432. data/test/requests/network/test_list_application_gateways.rb +0 -31
  433. data/test/requests/network/test_list_traffic_manager_profiles.rb +0 -29
@@ -1,17 +1,20 @@
1
1
  module ApiStub
2
2
  module Requests
3
3
  module Storage
4
+ # Mock class for Storage Requests
4
5
  class StorageAccount
5
- def self.storage_account_request
6
- body = ' {
7
- "location": "west us",
8
- "properties":{
9
- "accountType": "Standard_LRS"
6
+ def self.storage_account_request(storage_mgmt_client)
7
+ storage_account_hash = {
8
+ 'id' => '/subscriptions/67f2116d-4ea2-4c6c-b20a-f92183dbe3cb/resourceGroups/fog_test_rg/providers/Microsoft.Storage/storageAccounts/fogtestsasecond',
9
+ 'name' => 'fog-test-storage-account',
10
+ 'location' => 'west us',
11
+ 'sku' =>
12
+ {
13
+ 'name' => 'Standard_LRS'
10
14
  }
11
- }'
12
- result = MsRestAzure::AzureOperationResponse.new(MsRest::HttpOperationRequest.new('', '', ''), Faraday::Response.new)
13
- result.body = Azure::ARM::Storage::Models::StorageAccount.deserialize_object(JSON.load(body))
14
- result
15
+ }
16
+ storage_account_mapper = Azure::ARM::Storage::Models::StorageAccount.mapper
17
+ storage_mgmt_client.deserialize(storage_account_mapper, storage_account_hash, 'hash')
15
18
  end
16
19
 
17
20
  def self.create_storage_account
@@ -25,8 +28,18 @@ module ApiStub
25
28
  storage_acc_obj
26
29
  end
27
30
 
28
- def self.list_storage_accounts_for_rg
31
+ def self.storage_account_arguments
29
32
  {
33
+ resource_group: 'gateway-RG',
34
+ name: 'fog_test_storage_account',
35
+ sku_name: 'Standard',
36
+ location: 'West US',
37
+ replication: 'LRS'
38
+ }
39
+ end
40
+
41
+ def self.list_storage_accounts_for_rg(storage_mgmt_client)
42
+ list_storage_accounts_hash = {
30
43
  'value' =>
31
44
  [
32
45
  {
@@ -47,10 +60,12 @@ module ApiStub
47
60
  }
48
61
  ]
49
62
  }
63
+ storage_account_list_mapper = Azure::ARM::Storage::Models::StorageAccountListResult.mapper
64
+ storage_mgmt_client.deserialize(storage_account_list_mapper, list_storage_accounts_hash, 'hash')
50
65
  end
51
66
 
52
- def self.list_storage_accounts
53
- {
67
+ def self.list_storage_accounts(storage_mgmt_client)
68
+ list_storage_accounts_hash = {
54
69
  'value' =>
55
70
  [
56
71
  {
@@ -71,40 +86,38 @@ module ApiStub
71
86
  }
72
87
  ]
73
88
  }
89
+ storage_account_list_mapper = Azure::ARM::Storage::Models::StorageAccountListResult.mapper
90
+ storage_mgmt_client.deserialize(storage_account_list_mapper, list_storage_accounts_hash, 'hash')
74
91
  end
75
92
 
76
- def self.true_case_for_check_name_availability
77
- {
93
+ def self.true_case_for_check_name_availability(storage_mgmt_client)
94
+ check_name_availability_hash = {
78
95
  'nameAvailable' => true,
79
96
  'reason' => 'AccountNameInvalid|AlreadyExists',
80
97
  'message' => 'error message'
81
98
  }
99
+ storage_account_check_name_avaiablability_mapper = Azure::ARM::Storage::Models::CheckNameAvailabilityResult.mapper
100
+ storage_mgmt_client.deserialize(storage_account_check_name_avaiablability_mapper, check_name_availability_hash, 'hash')
82
101
  end
83
102
 
84
- def self.false_case_for_check_name_availability
85
- {
103
+ def self.false_case_for_check_name_availability(storage_mgmt_client)
104
+ check_name_availability_hash = {
86
105
  'nameAvailable' => false,
87
106
  'reason' => 'AccountNameInvalid|AlreadyExists',
88
107
  'message' => 'error message'
89
108
  }
90
- end
91
-
92
- def self.azure_operation_response(body)
93
- MsRestAzure::AzureOperationResponse.new(MsRest::HttpOperationRequest.new('', '', ''), Faraday::Response.new, Azure::ARM::Storage::Models::CheckNameAvailabilityResult.deserialize_object(body))
94
- end
95
-
96
- def self.response_storage_account_list(body)
97
- MsRestAzure::AzureOperationResponse.new(MsRest::HttpOperationRequest.new('', '', ''), Faraday::Response.new, Azure::ARM::Storage::Models::StorageAccountListResult.deserialize_object(body))
109
+ storage_account_check_name_avaiablability_mapper = Azure::ARM::Storage::Models::CheckNameAvailabilityResult.mapper
110
+ storage_mgmt_client.deserialize(storage_account_check_name_avaiablability_mapper, check_name_availability_hash, 'hash')
98
111
  end
99
112
 
100
113
  def self.list_keys_response
101
- body = '{
102
- "key1": "key1 value",
103
- "key2": "key2 value"
104
- }'
105
- result = MsRestAzure::AzureOperationResponse.new(MsRest::HttpOperationRequest.new('', '', ''), Faraday::Response.new)
106
- result.body = Azure::ARM::Storage::Models::StorageAccountKeys.deserialize_object(JSON.load(body))
107
- result
114
+ key1 = Azure::ARM::Storage::Models::StorageAccountKey.new
115
+ key1.key_name = 'key1'
116
+ key1.value = 'sfhyuiafhhfids0943'
117
+ key1.permissions = 'Full'
118
+ storage_account_key_list = Azure::ARM::Storage::Models::StorageAccountListKeysResult.new
119
+ storage_account_key_list.keys = [key1]
120
+ storage_account_key_list
108
121
  end
109
122
  end
110
123
  end
@@ -0,0 +1,41 @@
1
+ module ApiStub
2
+ module Requests
3
+ module TrafficManager
4
+ # Mock class for raffic Manager End Point Requests
5
+ class TrafficManagerEndPoint
6
+ def self.create_traffic_manager_endpoint_response(traffic_manager_client)
7
+ body = '{
8
+ "id": "/subscriptions/######/resourceGroups/fog-test-rg/providers/Microsoft.Network/trafficManagerProfiles/fog-test-profile/externalEndpoints/fog-test-end-point?api-version=2015-11-01",
9
+ "name": "fog-test-end-point",
10
+ "type": "Microsoft.Network/trafficManagerProfiles/externalEndpoints",
11
+ "properties": {
12
+ "endpointStatus": "Enabled",
13
+ "endpointMonitorStatus": "Online",
14
+ "target": "test.com",
15
+ "weight": 10,
16
+ "priority": 5,
17
+ "endpointLocation": "northeurope"
18
+ }
19
+ }'
20
+ endpoint_mapper = Azure::ARM::TrafficManager::Models::Endpoint.mapper
21
+ traffic_manager_client.deserialize(endpoint_mapper, JSON.load(body), 'result.body')
22
+ end
23
+
24
+ def self.endpoint_hash
25
+ {
26
+ resource_group: 'resource-group',
27
+ name: 'name',
28
+ traffic_manager_profile_name: 'traffic_manager_profile_name',
29
+ type: 'type',
30
+ target_resource_id: 'target_resource_id',
31
+ target: 'target',
32
+ weight: 'weight',
33
+ priority: 'priority',
34
+ endpoint_location: 'endpoint_location',
35
+ min_child_endpoints: 'min_child_endpoints'
36
+ }
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -1,9 +1,9 @@
1
1
  module ApiStub
2
2
  module Requests
3
- module Network
3
+ module TrafficManager
4
4
  # Mock class for Traffic Manager Profile Requests
5
5
  class TrafficManagerProfile
6
- def self.create_traffic_manager_profile_response
6
+ def self.create_traffic_manager_profile_response(traffic_manager_client)
7
7
  body = '{
8
8
  "location": "global",
9
9
  "tags": {},
@@ -65,10 +65,11 @@ module ApiStub
65
65
  }]
66
66
  }
67
67
  }'
68
- body
68
+ profile_mapper = Azure::ARM::TrafficManager::Models::Profile.mapper
69
+ traffic_manager_client.deserialize(profile_mapper, JSON.load(body), 'result.body')
69
70
  end
70
71
 
71
- def self.list_traffic_manager_profiles_response
72
+ def self.list_traffic_manager_profiles_response(traffic_manager_client)
72
73
  body = '{
73
74
  "values": [{
74
75
  "location": "global",
@@ -132,7 +133,8 @@ module ApiStub
132
133
  }
133
134
  }]
134
135
  }'
135
- body
136
+ profile_mapper = Azure::ARM::TrafficManager::Models::ProfileListResult.mapper
137
+ traffic_manager_client.deserialize(profile_mapper, JSON.load(body), 'result.body')
136
138
  end
137
139
  end
138
140
  end
@@ -15,6 +15,13 @@ rs = Fog::Resources::AzureRM.new(
15
15
  subscription_id: azure_credentials['subscription_id']
16
16
  )
17
17
 
18
+ application_gateway = Fog::ApplicationGateway::AzureRM.new(
19
+ tenant_id: azure_credentials['tenant_id'],
20
+ client_id: azure_credentials['client_id'],
21
+ client_secret: azure_credentials['client_secret'],
22
+ subscription_id: azure_credentials['subscription_id']
23
+ )
24
+
18
25
  network = Fog::Network::AzureRM.new(
19
26
  tenant_id: azure_credentials['tenant_id'],
20
27
  client_id: azure_credentials['client_id'],
@@ -32,10 +39,11 @@ rs.resource_groups.create(
32
39
  )
33
40
 
34
41
  network.virtual_networks.create(
35
- name: 'testVnet',
36
- location: 'eastus',
37
- resource_group: 'TestRG-AG',
38
- network_address_list: '10.1.0.0/16,10.2.0.0/16'
42
+ name: 'testVnet',
43
+ location: 'eastus',
44
+ resource_group: 'TestRG-AG',
45
+ dns_servers: %w(10.1.0.0 10.2.0.0),
46
+ address_prefixes: %w(10.1.0.0/16 10.2.0.0/16)
39
47
  )
40
48
 
41
49
  network.subnets.create(
@@ -56,7 +64,7 @@ network.public_ips.create(
56
64
  ###################### Create Application Gateway ######################
57
65
  ########################################################################################################################
58
66
 
59
- network.application_gateways.create(
67
+ application_gateway.gateways.create(
60
68
  name: 'gateway',
61
69
  location: 'eastus',
62
70
  resource_group: 'TestRG-AG',
@@ -112,17 +120,17 @@ network.application_gateways.create(
112
120
  ###################### Get and Destroy Application Gateway ######################
113
121
  ########################################################################################################################
114
122
 
115
- ag = network.application_gateways(resource_group: 'TestRG-AG').get('gateway')
123
+ ag = application_gateway.gateways(resource_group: 'TestRG-AG').get('gateway')
116
124
  ag.destroy
117
125
 
118
126
  ########################################################################################################################
119
127
  ###################### CleanUp ######################
120
128
  ########################################################################################################################
121
129
 
122
- pubip = network.public_ips(resource_group: 'TestRG-AG').get('mypubip')
130
+ pubip = network.public_ips.get('TestRG-AG', 'mypubip')
123
131
  pubip.destroy
124
132
 
125
- vnet = network.virtual_networks(resource_group: 'TestRG-AG').get('testVnet')
133
+ vnet = network.virtual_networks.get('TestRG-AG', 'testVnet')
126
134
  vnet.destroy
127
135
 
128
136
  rg = rs.resource_groups.get('TestRG-AG')
@@ -45,7 +45,7 @@ compute.availability_sets.create(
45
45
  ###################### Get and Delete Availability Set ######################
46
46
  ########################################################################################################################
47
47
 
48
- avail_set = compute.availability_sets(resource_group: 'TestRG-AS').get('test-availability-set')
48
+ avail_set = compute.availability_sets.get('TestRG-AS', 'test-availability-set')
49
49
  avail_set.destroy
50
50
 
51
51
  ########################################################################################################################
@@ -37,7 +37,8 @@ storage_account = storage.storage_accounts.create(
37
37
  resource_group: 'TestRG-VM'
38
38
  )
39
39
 
40
- access_key = storage_account.get_access_keys['key1']
40
+ keys = storage_account.get_access_keys
41
+ access_key = keys.first.value
41
42
 
42
43
  storage_data = Fog::Storage.new(
43
44
  provider: 'AzureRM',
@@ -0,0 +1,54 @@
1
+ require 'fog/azurerm'
2
+ require 'yaml'
3
+
4
+ ########################################################################################################################
5
+ ###################### Services object required by all actions ######################
6
+ ###################### Keep it Uncommented! ######################
7
+ ########################################################################################################################
8
+
9
+ azure_credentials = YAML.load_file('credentials/azure.yml')
10
+
11
+ resources = Fog::Resources::AzureRM.new(
12
+ tenant_id: azure_credentials['tenant_id'],
13
+ client_id: azure_credentials['client_id'],
14
+ client_secret: azure_credentials['client_secret'],
15
+ subscription_id: azure_credentials['subscription_id']
16
+ )
17
+
18
+ ########################################################################################################################
19
+ ###################### Prerequisites ######################
20
+ ########################################################################################################################
21
+
22
+ resource_group = resources.resource_groups.create(
23
+ name: 'TestRG-ZN',
24
+ location: 'eastus'
25
+ )
26
+
27
+ ########################################################################################################################
28
+ ###################### Create Deployment ############################
29
+ ########################################################################################################################
30
+
31
+ resources.deployments.create(
32
+ name: 'testdeployment',
33
+ resource_group: resource_group.name,
34
+ template_link: 'https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-azure-dns-new-zone/azuredeploy.json',
35
+ parameters_link: 'https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-azure-dns-new-zone/azuredeploy.parameters.json'
36
+ )
37
+
38
+ ########################################################################################################################
39
+ ###################### List and Get Deployment #########################
40
+ ########################################################################################################################
41
+
42
+ deployment = resources.deployments(resource_group: resource_group.name).get('testdeployment')
43
+
44
+ ########################################################################################################################
45
+ ###################### Destroy Deployment ###############################
46
+ ########################################################################################################################
47
+
48
+ deployment.destroy
49
+
50
+ ########################################################################################################################
51
+ ###################### CleanUp ######################
52
+ ########################################################################################################################
53
+
54
+ resource_group.destroy
@@ -0,0 +1,80 @@
1
+ require 'fog/azurerm'
2
+ require 'yaml'
3
+
4
+ ########################################################################################################################
5
+ ###################### Services object required by all actions ######################
6
+ ###################### Keep it Uncommented! ######################
7
+ ########################################################################################################################
8
+
9
+ azure_credentials = YAML.load_file('credentials/azure.yml')
10
+
11
+ resources = Fog::Resources::AzureRM.new(
12
+ tenant_id: azure_credentials['tenant_id'],
13
+ client_id: azure_credentials['client_id'],
14
+ client_secret: azure_credentials['client_secret'],
15
+ subscription_id: azure_credentials['subscription_id']
16
+ )
17
+
18
+ network = Fog::Network::AzureRM.new(
19
+ tenant_id: azure_credentials['tenant_id'],
20
+ client_id: azure_credentials['client_id'],
21
+ client_secret: azure_credentials['client_secret'],
22
+ subscription_id: azure_credentials['subscription_id']
23
+ )
24
+
25
+ ########################################################################################################################
26
+ ###################### Prerequisites ######################
27
+ ########################################################################################################################
28
+
29
+ resources.resource_groups.create(
30
+ name: 'TestRG-ER',
31
+ location: 'eastus'
32
+ )
33
+
34
+ ########################################################################################################################
35
+ ################ Create Express Route Circuit #################
36
+ ########################################################################################################################
37
+
38
+ network.express_route_circuits.create(
39
+ name: 'testERCircuit',
40
+ location: 'eastus',
41
+ tags: {
42
+ key1: 'value1',
43
+ key2: 'value2'
44
+ },
45
+ resource_group: 'TestRG-ER',
46
+ sku_name: 'Standard_MeteredData',
47
+ sku_tier: 'Standard',
48
+ sku_family: 'MeteredData',
49
+ service_provider_name: 'Telenor',
50
+ peering_location: 'London',
51
+ bandwidth_in_mbps: 100,
52
+ peerings: [
53
+ {
54
+ name: 'AzurePublicPeering',
55
+ peering_type: 'AzurePublicPeering',
56
+ peer_asn: 100,
57
+ primary_peer_address_prefix: '192.168.1.0/30',
58
+ secondary_peer_address_prefix: '192.168.2.0/30',
59
+ vlan_id: 200
60
+ }
61
+ ]
62
+ )
63
+
64
+ ########################################################################################################################
65
+ ###################### List Express Route Circuit ####################
66
+ ########################################################################################################################
67
+
68
+ circuits = network.express_route_circuits(resource_group: 'TestRG-ER')
69
+ circuits.each do |circuit|
70
+ puts circuit.name
71
+ end
72
+
73
+ ########################################################################################################################
74
+ ###################### CleanUp ######################
75
+ ########################################################################################################################
76
+
77
+ circuit = network.express_route_circuits.get('TestRG-ER', 'testERCircuit')
78
+ puts circuit.name
79
+
80
+ circuit.destroy
@@ -32,10 +32,11 @@ rs.resource_groups.create(
32
32
  )
33
33
 
34
34
  network.virtual_networks.create(
35
- name: 'testVnet',
36
- location: 'westus',
37
- resource_group: 'TestRG-LB',
38
- network_address_list: '10.1.0.0/16,10.2.0.0/16'
35
+ name: 'testVnet',
36
+ location: 'westus',
37
+ resource_group: 'TestRG-LB',
38
+ dns_servers: %w(10.1.0.0 10.2.0.0),
39
+ address_prefixes: %w(10.1.0.0/16 10.2.0.0/16)
39
40
  )
40
41
 
41
42
  network.subnets.create(
@@ -109,10 +110,10 @@ lb.destroy
109
110
  ###################### CleanUp ######################
110
111
  ########################################################################################################################
111
112
 
112
- pubip = network.public_ips(resource_group: 'TestRG-LB').get('mypubip')
113
+ pubip = network.public_ips.get('TestRG-LB', 'mypubip')
113
114
  pubip.destroy
114
115
 
115
- vnet = network.virtual_networks(resource_group: 'TestRG-LB').get('testVnet')
116
+ vnet = network.virtual_networks.get('TestRG-LB', 'testVnet')
116
117
  vnet.destroy
117
118
 
118
119
  rg = rs.resource_groups.get('TestRG-LB')
@@ -32,10 +32,11 @@ rs.resource_groups.create(
32
32
  )
33
33
 
34
34
  network.virtual_networks.create(
35
- name: 'NRPVNet',
36
- location: 'westus',
37
- resource_group: 'NRP-RG-Fog',
38
- network_address_list: '10.1.0.0/16,10.2.0.0/16'
35
+ name: 'NRPVNet',
36
+ location: 'westus',
37
+ resource_group: 'NRP-RG-Fog',
38
+ dns_servers: %w(10.1.0.0 10.2.0.0),
39
+ address_prefixes: %w(10.1.0.0/16 10.2.0.0/16)
39
40
  )
40
41
 
41
42
  subnet = network.subnets.create(
@@ -119,7 +120,7 @@ lb.destroy
119
120
  ###################### CleanUp ######################
120
121
  ########################################################################################################################
121
122
 
122
- vnet = network.virtual_networks(resource_group: 'NRP-RG-Fog').get('NRPVNet')
123
+ vnet = network.virtual_networks.get('NRP-RG-Fog', 'NRPVNet')
123
124
  vnet.destroy
124
125
 
125
126
  rg = rs.resource_groups.get('NRP-RG-Fog')