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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4e1533bcbd71b04e12dacfd7833aafb1883ffeb7
4
- data.tar.gz: 563922c138a209f6567d3cf014e7036be24fbf4f
3
+ metadata.gz: 7147604050b637a371e5946a3396930e3ccd4bfe
4
+ data.tar.gz: ff41020947f784268c92b827286bdc8dd5325ccd
5
5
  SHA512:
6
- metadata.gz: a8a8cd51ec379e4923629435949b4fafa30931229689d4095b280413f8cde7ca092323f0b2fce510844a019cde95d810c6c780508b3d5e5538cba052203b69a1
7
- data.tar.gz: 00ddbbe007b7a89a9f8db4c9f4c06f9b9f5e1536b15d79c2d3c85ebd193547ac434bd7d34ffa83434d5d1839aaf5ed9d10316d1061cf5cdf84521c464b2c6eb2
6
+ metadata.gz: cedd7061a669158834a74fe6e2fa0f10ae179c87c050925853674889e8e00bfd2e5942a1cd9ac14c5ef8d788b58bf0554f5c0803971111af55d8128c5fcbe7f2
7
+ data.tar.gz: 7daa18ecaea944ed8862bcc47d40396bcba15936e3ef67c03f3d40ed4a91d5ffeb45a5da02b1cd5e5afda5163ca79b468d23624d7fa71f522326c39b100e1eee
data/.DS_Store ADDED
Binary file
data/.travis.yml CHANGED
@@ -7,7 +7,17 @@ matrix:
7
7
  - rvm: 2.2
8
8
 
9
9
  notifications:
10
- email: false
10
+ email:
11
+ recipients:
12
+ - abbas.sheikh@confiz.com
13
+ - shaffan.chaudhry@confiz.com
14
+ - zeeshan.arshad@confiz.com
15
+ - samawia.moin@confiz.com
16
+ - waqar.haider@confiz.com
17
+ - bilal.naeem@confiz.com
18
+ on_success: always
19
+ on_failure: always
20
+
11
21
 
12
22
  addons:
13
23
  code_climate:
data/CHANGELOG.md CHANGED
@@ -1,30 +1,51 @@
1
+ ## 0.0.5
2
+
3
+ **Added:**
4
+ - Network Service - Added Get request for Public IP
5
+ - Network Service - Added Express Route Circuit
6
+ - Network Service - Added VPN Gateway
7
+
8
+ **Changed:**
9
+ - Updated fog-azure-rm runtime gem dependencies to latest:
10
+ -- azure_mgmt_compute 0.5.0
11
+ -- azure_mgmt_network 0.5.0
12
+ -- azure_mgmt_resources 0.5.0
13
+ -- azure_mgmt_storage 0.5.0
14
+ -- azure_mgmt_traffic_manager 0.5.0
15
+ -- rest-client 2.0.0
16
+ -- fog-core 1.42.0
17
+ - Traffic Manager Service - Moved Traffic Manager from Network Service to Traffic Manager Service.
18
+ - Application Gateway Service - Moved Application Gateway from Network Service to Application Gateway Service.
19
+
1
20
  ## 0.0.4
2
21
 
3
22
  **Added:**
4
- - Storage Service - Added Support Azure container operations
23
+ - Storage Service - Added Support for Azure container operations
5
24
  - Storage Service - Added blob container metadata support
6
- - Storage Service - Added support for Get Storage Access keys for Storage Account
7
- - Network Service - Added support for updation methods for Virtual Network
25
+ - Storage Service - Added support to get storage access key
8
26
  - Network Service - Added support for updation methods for Network Security Group
27
+ - Network Service - Added support for updation methods for Virtual Network(vnet)
9
28
  - Network Service - Added support for updation methods for Subnet
10
- - Network Service - Added Support for Internal Load Balancer
11
- - Resources Service - Added Azure Resource Manager Template feature
12
- - Resources Service - Added tag azure resources support
13
- - Tests - Added Integration test scripts for all services
14
- - Documentation - Added Readme for integration tests
15
- - Documentation - Added fog structure information
16
- - Code Climate - Added Ratings
29
+ - Network Service - Added support for updation methods for Network Interface Card(NIC)
30
+ - Compute Service - Added support for azure resource manager templates
31
+ - Resource Service - Added support to tag azure resources
32
+ - Integration test scripts for all services
33
+ - Documentation - Added fog structure information in contribution guide
17
34
 
18
35
  **Changed:**
19
- - Compute Service - Moved Data Disk model to Storage service
20
- - Network Service - Improved Subnet and Virtual Network module
21
- - Storage Service - Code standardization
36
+ - Compute Service - Moved data disk model to storage service and updated unit tests
37
+ - Compute Service - Loaded Data Disk model to make it accessible in Server model
38
+ - Network Service - Support for internal load balancer and documentation update
39
+ - Network Service - Improved subnet and virtual network module
40
+ - Network Service - Updated unit test and integration test
22
41
  - Documentation - Changed delete_data_disk request name to delete_disk
23
- - Code Climate - Disabled similar and identical code check
24
42
 
25
43
  **Fixed:**
26
44
  - Resolved bugs in server.rb integration file
27
45
 
46
+ **Removed:**
47
+ - Compute Service - Moved data disk implementation to storage service
48
+
28
49
 
29
50
  ## 0.0.3
30
51
 
data/fog-azure-rm.gemspec CHANGED
@@ -5,7 +5,7 @@ require 'fog/azurerm/version'
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = 'fog-azure-rm'
7
7
  spec.version = Fog::AzureRM::VERSION
8
- spec.authors = ['Shaffan Chaudhry', 'Samawia Moin', 'Adnan Khalil', 'Zeeshan Arshad', 'Haider Ali']
8
+ spec.authors = ['Shaffan Chaudhry', 'Samawia Moin', 'Adnan Khalil', 'Zeeshan Arshad', 'Haider Ali', 'Waqar Haider', 'Bilal Naeem']
9
9
  spec.summary = "Module for the 'fog' gem to support Azure Resource Manager cloud services."
10
10
  spec.description = "This library can be used as a module for 'fog' or as standalone provider
11
11
  to use the Azure Resource Manager cloud services in applications.."
@@ -22,13 +22,12 @@ Gem::Specification.new do |spec|
22
22
  spec.add_development_dependency 'minitest', '~> 5.8.4'
23
23
  spec.add_development_dependency 'simplecov', '~> 0.11.2'
24
24
  spec.add_development_dependency 'codeclimate-test-reporter'
25
- spec.add_dependency 'fog-core', '~> 1.27'
26
- spec.add_dependency 'fog-json', '~> 1.0'
27
- spec.add_dependency 'fog-xml', '~> 0.1'
28
- spec.add_dependency 'rest-client', '~> 1.8'
29
- spec.add_dependency 'azure_mgmt_compute', '~> 0.2.1'
30
- spec.add_dependency 'azure_mgmt_resources', '~> 0.2.1'
31
- spec.add_dependency 'azure_mgmt_storage', '~> 0.2.1'
32
- spec.add_dependency 'azure_mgmt_network', '~> 0.2.1'
25
+ spec.add_dependency 'fog-core', '~> 1.42.0'
26
+ spec.add_dependency 'rest-client', '~> 2.0.0'
27
+ spec.add_dependency 'azure_mgmt_compute', '~> 0.5.0'
28
+ spec.add_dependency 'azure_mgmt_resources', '~> 0.5.0'
29
+ spec.add_dependency 'azure_mgmt_storage', '~> 0.5.0'
30
+ spec.add_dependency 'azure_mgmt_network', '~> 0.5.0'
31
+ spec.add_dependency 'azure_mgmt_traffic_manager', '~> 0.5.0'
33
32
  spec.add_dependency 'azure-storage', '~> 0.10.2.preview'
34
33
  end
data/lib/fog/azurerm.rb CHANGED
@@ -6,10 +6,13 @@ require 'fog/azurerm/utilities/general'
6
6
  require 'fog/azurerm/version'
7
7
  require 'fog/azurerm/core'
8
8
  require 'fog/azurerm/dns'
9
+ require 'fog/azurerm/fog_azure_rm_exception'
9
10
  require 'fog/azurerm/resources'
10
11
  require 'fog/azurerm/storage'
11
12
  require 'fog/azurerm/network'
12
13
  require 'fog/azurerm/compute'
14
+ require 'fog/azurerm/application_gateway'
15
+ require 'fog/azurerm/traffic_manager'
13
16
 
14
17
  module Fog
15
18
  # Main AzureRM fog Provider Module
@@ -0,0 +1,64 @@
1
+ require 'fog/azurerm/core'
2
+
3
+ module Fog
4
+ module ApplicationGateway
5
+ # Fog Service Class for AzureRM
6
+ class AzureRM < Fog::Service
7
+ requires :tenant_id
8
+ requires :client_id
9
+ requires :client_secret
10
+ requires :subscription_id
11
+
12
+ request_path 'fog/azurerm/requests/application_gateway'
13
+ request :create_application_gateway
14
+ request :delete_application_gateway
15
+ request :list_application_gateways
16
+
17
+ model_path 'fog/azurerm/models/application_gateway'
18
+ model :gateway
19
+ collection :gateways
20
+ model :backend_address_pool
21
+ model :backend_http_setting
22
+ model :frontend_ip_configuration
23
+ model :frontend_port
24
+ model :ip_configuration
25
+ model :http_listener
26
+ model :probe
27
+ model :request_routing_rule
28
+ model :ssl_certificate
29
+ model :url_path_map
30
+
31
+ # Mock class for Application Gateway Service
32
+ class Mock
33
+ def initialize(_options = {})
34
+ begin
35
+ require 'azure_mgmt_network'
36
+ rescue LoadError => e
37
+ retry if require('rubygems')
38
+ raise e.message
39
+ end
40
+ end
41
+ end
42
+
43
+ # Real class for Application Gateway Service
44
+ class Real
45
+ def initialize(options = {})
46
+ begin
47
+ require 'azure_mgmt_network'
48
+ rescue LoadError => e
49
+ retry if require('rubygems')
50
+ raise e.message
51
+ end
52
+
53
+ credentials = Fog::Credentials::AzureRM.get_credentials(options[:tenant_id], options[:client_id], options[:client_secret])
54
+ @network_client = ::Azure::ARM::Network::NetworkManagementClient.new(credentials)
55
+ @network_client.subscription_id = options[:subscription_id]
56
+ @tenant_id = options[:tenant_id]
57
+ @client_id = options[:client_id]
58
+ @client_secret = options[:client_secret]
59
+ @subscription_id = options[:subscription_id]
60
+ end
61
+ end
62
+ end
63
+ end
64
+ end
@@ -12,6 +12,7 @@ module Fog
12
12
  request :create_availability_set
13
13
  request :delete_availability_set
14
14
  request :list_availability_sets
15
+ request :get_availability_set
15
16
  request :create_virtual_machine
16
17
  request :delete_virtual_machine
17
18
  request :get_virtual_machine
@@ -3,3 +3,20 @@ DEFAULT_ADDRESS_PREFIXES = ['10.2.0.0/16'].freeze
3
3
  SUBNET = 'Subnet'.freeze
4
4
  PUBLIC_IP = 'Public-IP-Address'.freeze
5
5
  NETWORK_SECURITY_GROUP = 'Network-Security-Group'.freeze
6
+ STANDARD_STORAGE = 'Standard'.freeze
7
+ PREMIUM_STORAGE = 'Premium'.freeze
8
+ ALLOWED_STANDARD_REPLICATION = %w(LRS ZRS GRS RAGRS).freeze
9
+ API_VERSION = '2016-06-01'.freeze
10
+ FAULT_DOMAIN_COUNT = 3.freeze
11
+ UPDATE_DOMAIN_COUNT = 5.freeze
12
+ WINDOWS = 'windows'.freeze
13
+ VPN = 'Vpn'.freeze
14
+ MICROSOFT_PEERING = 'MicrosoftPeering'.freeze
15
+ RESOURCE_GROUP_NAME = 4
16
+ RESOURCE_PROVIDER_NAMESPACE = 6
17
+ RESOURCE_TYPE = 7
18
+ RESOURCE_NAME = 8
19
+ AZURE_ENDPOINTS = 'azureEndpoints'.freeze
20
+ EXTERNAL_ENDPOINTS = 'externalEndpoints'.freeze
21
+ NESTED_ENDPOINTS = 'nestedEndpoints'.freeze
22
+ GLOBAL = 'global'.freeze
@@ -9,5 +9,6 @@ module Fog
9
9
  service(:storage, 'Storage')
10
10
  service(:network, 'Network')
11
11
  service(:compute, 'Compute')
12
+ service(:application_gateway, 'ApplicationGateway')
12
13
  end
13
14
  end
@@ -11,14 +11,16 @@ module Fog
11
11
  requires :subscription_id
12
12
 
13
13
  request_path 'fog/azurerm/requests/dns'
14
- request :create_zone
14
+ request :create_or_update_zone
15
15
  request :delete_zone
16
16
  request :check_for_zone
17
17
  request :list_zones
18
- request :create_record_set
18
+ request :get_zone
19
+ request :create_or_update_record_set
19
20
  request :delete_record_set
20
21
  request :list_record_sets
21
22
  request :get_records_from_record_set
23
+ request :get_record_set
22
24
 
23
25
  model_path 'fog/azurerm/models/dns'
24
26
  model :zone
@@ -0,0 +1,139 @@
1
+ # Application Gateway
2
+
3
+ This document explains how to get started using Azure Network Service with Fog to manage Application Gateway. With this gem you can create/update/list/delete Application Gateway.
4
+
5
+ ## Usage
6
+
7
+ First of all, you need to require the Fog library by executing:
8
+
9
+ ```ruby
10
+ require 'fog/azurerm'
11
+ ```
12
+ ## Create Connection
13
+
14
+ Next, create a connection to the Application Gateway Service:
15
+
16
+ ```ruby
17
+ azure_application_gateway_service = Fog::ApplicationGateway::AzureRM.new(
18
+ tenant_id: '<Tenantid>', # Tenant id of Azure Active Directory Application
19
+ client_id: '<Clientid>', # Client id of Azure Active Directory Application
20
+ client_secret: '<ClientSecret>', # Client Secret of Azure Active Directory Application
21
+ subscription_id: '<Subscriptionid>' # Subscription id of an Azure Account
22
+ )
23
+ ```
24
+
25
+ ## Create Application Gateway
26
+
27
+ Create a new Application Gateway.
28
+
29
+ ```ruby
30
+ gateway = azure_application_gateway_service.gateways.create(
31
+ name: '<Gateway Name>',
32
+ location: 'eastus',
33
+ resource_group: '<Resource Group name>',
34
+ sku_name: 'Standard_Medium',
35
+ sku_tier: 'Standard',
36
+ sku_capacity: '2',
37
+ gateway_ip_configurations:
38
+ [
39
+ {
40
+ name: 'gatewayIpConfigName',
41
+ subnet_id: '/subscriptions/<Subscription_id>/resourcegroups/<Resource Group name>/providers/Microsoft.Network/virtualNetworks/<Virtual Network Name>/subnets/<Subnet Name>'
42
+ }
43
+ ],
44
+ frontend_ip_configurations:
45
+ [
46
+ {
47
+ name: 'frontendIpConfig',
48
+ private_ip_allocation_method: 'Dynamic',
49
+ public_ip_address_id: '/subscriptions/<Subscription_id>/resourcegroups/<Resource Group name>/providers/Microsoft.Network/publicIPAddresses/<Public IP Address Name>',
50
+ private_ip_address: '10.0.1.5'
51
+ }
52
+ ],
53
+ frontend_ports:
54
+ [
55
+ {
56
+ name: 'frontendPort',
57
+ port: 443
58
+ }
59
+ ],
60
+ backend_address_pools:
61
+ [
62
+ {
63
+ name: 'backendAddressPool',
64
+ ip_addresses: [
65
+ {
66
+ ipAddress: '10.0.1.6'
67
+ }
68
+ ]
69
+ }
70
+ ],
71
+ backend_http_settings_list:
72
+ [
73
+ {
74
+ name: 'gateway_settings',
75
+ port: 80,
76
+ protocol: 'Http',
77
+ cookie_based_affinity: 'Enabled',
78
+ request_timeout: '30'
79
+ }
80
+ ],
81
+ http_listeners:
82
+ [
83
+ {
84
+ name: 'gateway_listener',
85
+ frontend_ip_config_id: '/subscriptions/<Subscription_id>/resourceGroups/<Resource Group name>/providers/Microsoft.Network/applicationGateways/<Gateway Name>/frontendIPConfigurations/frontendIpConfig',
86
+ frontend_port_id: '/subscriptions/<Subscription_id>/resourceGroups/<Resource Group name>/providers/Microsoft.Network/applicationGateways/<Gateway Name>/frontendPorts/frontendPort',
87
+ protocol: 'Http',
88
+ host_name: '',
89
+ require_server_name_indication: 'false'
90
+ }
91
+ ],
92
+ request_routing_rules:
93
+ [
94
+ {
95
+ name: 'gateway_request_route_rule',
96
+ type: 'Basic',
97
+ http_listener_id: '/subscriptions/<Subscription_id>/resourceGroups/<Resource Group name>/providers/Microsoft.Network/applicationGateways/<Gateway Name>/httpListeners/gateway_listener',
98
+ backend_address_pool_id: '/subscriptions/<Subscription_id>/resourceGroups/<Resource Group name>/providers/Microsoft.Network/applicationGateways/<Gateway Name>/backendAddressPools/backendAddressPool',
99
+ backend_http_settings_id: '/subscriptions/<Subscription_id>/resourceGroups/<Resource Group name>/providers/Microsoft.Network/applicationGateways/<Gateway Name>/backendHttpSettingsCollection/gateway_settings',
100
+ url_path_map: ''
101
+ }
102
+ ]
103
+
104
+
105
+ )
106
+ ```
107
+
108
+ ## List Application Gateways
109
+
110
+ List all application gateways in a resource group
111
+
112
+ ```ruby
113
+ gateways = azure_application_gateway_service.gateways(resource_group: '<Resource Group Name>')
114
+ gateways.each do |gateway|
115
+ puts "#{gateway.name}"
116
+ end
117
+ ```
118
+
119
+ ## Retrieve a single Application Gateway
120
+
121
+ Get a single record of Application Gateway
122
+
123
+ ```ruby
124
+ gateway = azure_application_gateway_service
125
+ .gateways(resource_group: '<Resource Group name>')
126
+ .get('<Application Gateway Name>')
127
+ puts "#{gateway.name}"
128
+ ```
129
+
130
+ ## Destroy a single Application Gateway
131
+
132
+ Get a application gateway object from the get method and then destroy that application gateway.
133
+
134
+ ```ruby
135
+ gateway.destroy
136
+ ```
137
+
138
+ ## Support and Feedback
139
+ Your feedback is highly appreciated! If you have specific issues with the fog ARM, you should file an issue via Github.
@@ -48,7 +48,7 @@ Get a single record of Zone
48
48
  ```ruby
49
49
  zone = azure_dns_service
50
50
  .zones
51
- .get('<Zone name>', '<Resource Group name>')
51
+ .get('<Resource Group name>', '<Zone name>')
52
52
  puts "#{zone.name}"
53
53
  ```
54
54
 
@@ -74,6 +74,7 @@ Create a new Record Set
74
74
  ttl: <Time to live(Integer)>
75
75
  )
76
76
  ```
77
+
77
78
  ## List Record Sets
78
79
 
79
80
  ```ruby
@@ -92,14 +93,35 @@ Get a single record of Record Set
92
93
 
93
94
  ```ruby
94
95
  record_set = azure_dns_service
95
- .record_sets(
96
- resource_group: '<Resource Group Name>',
97
- zone_name: '<Zone Name>'
98
- )
99
- .get('<Record Set name>', '<Record Type>')
96
+ .record_sets
97
+ .get('<Resource Group Name>', '<Record Set name>', '<Zone Name>', '<Record Type>')
100
98
  puts "#{record_set.name}"
101
99
  ```
102
100
 
101
+ ## Update TTL
102
+
103
+ Get an object of record set and then update TTL
104
+
105
+ ```ruby
106
+ record_set.update_ttl(
107
+ ttl: '<Time to live(Integer)>,
108
+ )
109
+ ```
110
+
111
+ ## Add/Remove Record set in Existing Record sets
112
+
113
+ Add a record by giving the value of record set in the form of string.
114
+
115
+ ```ruby
116
+ record_set.add_a_type_record('<Record>')
117
+ ```
118
+
119
+ Remove record from existing records by giving its value in the form of string.
120
+
121
+ ```ruby
122
+ record_set.remove_a_type_record('<Record>')
123
+ ```
124
+
103
125
  ## Destroy a single Record Set
104
126
 
105
127
  Get Record Set object from the get method(described above) and then destroy that Record Set.