fog-azure-rm 0.0.4 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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.