far-gem 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (771) hide show
  1. checksums.yaml +7 -0
  2. data/.arclint +8 -0
  3. data/.codeclimate.yml +17 -0
  4. data/.gitignore +6 -0
  5. data/.hound.yml +2 -0
  6. data/.rubocop.yml +38 -0
  7. data/.travis.yml +47 -0
  8. data/CHANGELOG.md +356 -0
  9. data/CONTRIBUTING.md +40 -0
  10. data/CONTRIBUTORS.md +12 -0
  11. data/Gemfile +3 -0
  12. data/LICENSE.md +20 -0
  13. data/README.md +96 -0
  14. data/fog-azure-rm.gemspec +37 -0
  15. data/lib/fog/azurerm.rb +88 -0
  16. data/lib/fog/azurerm/application_gateway.rb +75 -0
  17. data/lib/fog/azurerm/async_response.rb +44 -0
  18. data/lib/fog/azurerm/compute.rb +102 -0
  19. data/lib/fog/azurerm/config.rb +1 -0
  20. data/lib/fog/azurerm/constants.rb +71 -0
  21. data/lib/fog/azurerm/credentials.rb +40 -0
  22. data/lib/fog/azurerm/dns.rb +70 -0
  23. data/lib/fog/azurerm/docs/application_gateway.md +245 -0
  24. data/lib/fog/azurerm/docs/compute.md +499 -0
  25. data/lib/fog/azurerm/docs/dns.md +149 -0
  26. data/lib/fog/azurerm/docs/key_vault.md +91 -0
  27. data/lib/fog/azurerm/docs/network.md +1132 -0
  28. data/lib/fog/azurerm/docs/resources.md +178 -0
  29. data/lib/fog/azurerm/docs/sql.md +170 -0
  30. data/lib/fog/azurerm/docs/storage.md +398 -0
  31. data/lib/fog/azurerm/docs/structure.md +53 -0
  32. data/lib/fog/azurerm/docs/traffic_manager.md +161 -0
  33. data/lib/fog/azurerm/key_vault.rb +51 -0
  34. data/lib/fog/azurerm/models/application_gateway/backend_address_pool.rb +24 -0
  35. data/lib/fog/azurerm/models/application_gateway/backend_http_setting.rb +28 -0
  36. data/lib/fog/azurerm/models/application_gateway/frontend_ip_configuration.rb +26 -0
  37. data/lib/fog/azurerm/models/application_gateway/frontend_port.rb +20 -0
  38. data/lib/fog/azurerm/models/application_gateway/gateway.rb +617 -0
  39. data/lib/fog/azurerm/models/application_gateway/gateways.rb +30 -0
  40. data/lib/fog/azurerm/models/application_gateway/http_listener.rb +30 -0
  41. data/lib/fog/azurerm/models/application_gateway/ip_configuration.rb +26 -0
  42. data/lib/fog/azurerm/models/application_gateway/probe.rb +30 -0
  43. data/lib/fog/azurerm/models/application_gateway/request_routing_rule.rb +27 -0
  44. data/lib/fog/azurerm/models/application_gateway/ssl_certificate.rb +24 -0
  45. data/lib/fog/azurerm/models/application_gateway/url_path_map.rb +30 -0
  46. data/lib/fog/azurerm/models/compute/availability_set.rb +67 -0
  47. data/lib/fog/azurerm/models/compute/availability_sets.rb +35 -0
  48. data/lib/fog/azurerm/models/compute/caching_types.rb +13 -0
  49. data/lib/fog/azurerm/models/compute/creation_data.rb +23 -0
  50. data/lib/fog/azurerm/models/compute/data_disk.rb +26 -0
  51. data/lib/fog/azurerm/models/compute/disk_create_option.rb +16 -0
  52. data/lib/fog/azurerm/models/compute/disk_create_option_types.rb +13 -0
  53. data/lib/fog/azurerm/models/compute/encryption_settings.rb +29 -0
  54. data/lib/fog/azurerm/models/compute/image_disk_reference.rb +15 -0
  55. data/lib/fog/azurerm/models/compute/managed_disk.rb +77 -0
  56. data/lib/fog/azurerm/models/compute/managed_disks.rb +43 -0
  57. data/lib/fog/azurerm/models/compute/operation_status_response.rb +18 -0
  58. data/lib/fog/azurerm/models/compute/server.rb +268 -0
  59. data/lib/fog/azurerm/models/compute/servers.rb +47 -0
  60. data/lib/fog/azurerm/models/compute/virtual_machine_extension.rb +76 -0
  61. data/lib/fog/azurerm/models/compute/virtual_machine_extensions.rb +31 -0
  62. data/lib/fog/azurerm/models/dns/a_record.rb +15 -0
  63. data/lib/fog/azurerm/models/dns/cname_record.rb +15 -0
  64. data/lib/fog/azurerm/models/dns/record_set.rb +103 -0
  65. data/lib/fog/azurerm/models/dns/record_sets.rb +34 -0
  66. data/lib/fog/azurerm/models/dns/zone.rb +58 -0
  67. data/lib/fog/azurerm/models/dns/zones.rb +29 -0
  68. data/lib/fog/azurerm/models/key_vault/access_policy_entry.rb +27 -0
  69. data/lib/fog/azurerm/models/key_vault/vault.rb +78 -0
  70. data/lib/fog/azurerm/models/key_vault/vaults.rb +27 -0
  71. data/lib/fog/azurerm/models/network/express_route_circuit.rb +86 -0
  72. data/lib/fog/azurerm/models/network/express_route_circuit_authorization.rb +50 -0
  73. data/lib/fog/azurerm/models/network/express_route_circuit_authorizations.rb +28 -0
  74. data/lib/fog/azurerm/models/network/express_route_circuit_peering.rb +91 -0
  75. data/lib/fog/azurerm/models/network/express_route_circuit_peerings.rb +27 -0
  76. data/lib/fog/azurerm/models/network/express_route_circuits.rb +30 -0
  77. data/lib/fog/azurerm/models/network/express_route_service_provider.rb +29 -0
  78. data/lib/fog/azurerm/models/network/express_route_service_providers.rb +18 -0
  79. data/lib/fog/azurerm/models/network/frontend_ip_configuration.rb +27 -0
  80. data/lib/fog/azurerm/models/network/inbound_nat_pool.rb +26 -0
  81. data/lib/fog/azurerm/models/network/inbound_nat_rule.rb +26 -0
  82. data/lib/fog/azurerm/models/network/ipallocation_method.rb +12 -0
  83. data/lib/fog/azurerm/models/network/load_balancer.rb +249 -0
  84. data/lib/fog/azurerm/models/network/load_balancers.rb +36 -0
  85. data/lib/fog/azurerm/models/network/load_balancing_rule.rb +37 -0
  86. data/lib/fog/azurerm/models/network/local_network_gateway.rb +62 -0
  87. data/lib/fog/azurerm/models/network/local_network_gateways.rb +27 -0
  88. data/lib/fog/azurerm/models/network/network_interface.rb +121 -0
  89. data/lib/fog/azurerm/models/network/network_interfaces.rb +30 -0
  90. data/lib/fog/azurerm/models/network/network_security_group.rb +114 -0
  91. data/lib/fog/azurerm/models/network/network_security_groups.rb +30 -0
  92. data/lib/fog/azurerm/models/network/network_security_rule.rb +66 -0
  93. data/lib/fog/azurerm/models/network/network_security_rules.rb +31 -0
  94. data/lib/fog/azurerm/models/network/path_rule.rb +30 -0
  95. data/lib/fog/azurerm/models/network/probe.rb +28 -0
  96. data/lib/fog/azurerm/models/network/public_ip.rb +70 -0
  97. data/lib/fog/azurerm/models/network/public_ips.rb +30 -0
  98. data/lib/fog/azurerm/models/network/security_rule_access.rb +12 -0
  99. data/lib/fog/azurerm/models/network/security_rule_direction.rb +12 -0
  100. data/lib/fog/azurerm/models/network/security_rule_protocol.rb +13 -0
  101. data/lib/fog/azurerm/models/network/subnet.rb +66 -0
  102. data/lib/fog/azurerm/models/network/subnets.rb +31 -0
  103. data/lib/fog/azurerm/models/network/virtual_network.rb +109 -0
  104. data/lib/fog/azurerm/models/network/virtual_network_gateway.rb +137 -0
  105. data/lib/fog/azurerm/models/network/virtual_network_gateway_connection.rb +76 -0
  106. data/lib/fog/azurerm/models/network/virtual_network_gateway_connections.rb +27 -0
  107. data/lib/fog/azurerm/models/network/virtual_network_gateways.rb +30 -0
  108. data/lib/fog/azurerm/models/network/virtual_networks.rb +36 -0
  109. data/lib/fog/azurerm/models/network/vpn_client_configuration.rb +34 -0
  110. data/lib/fog/azurerm/models/network/vpn_client_revoked_certificates.rb +22 -0
  111. data/lib/fog/azurerm/models/network/vpn_client_root_certificates.rb +22 -0
  112. data/lib/fog/azurerm/models/resources/azure_resource.rb +25 -0
  113. data/lib/fog/azurerm/models/resources/azure_resources.rb +32 -0
  114. data/lib/fog/azurerm/models/resources/dependency.rb +27 -0
  115. data/lib/fog/azurerm/models/resources/deployment.rb +65 -0
  116. data/lib/fog/azurerm/models/resources/deployments.rb +30 -0
  117. data/lib/fog/azurerm/models/resources/provider.rb +27 -0
  118. data/lib/fog/azurerm/models/resources/provider_resource_type.rb +22 -0
  119. data/lib/fog/azurerm/models/resources/resource_group.rb +34 -0
  120. data/lib/fog/azurerm/models/resources/resource_groups.rb +29 -0
  121. data/lib/fog/azurerm/models/sql/firewall_rule.rb +48 -0
  122. data/lib/fog/azurerm/models/sql/firewall_rules.rb +32 -0
  123. data/lib/fog/azurerm/models/sql/sql_database.rb +67 -0
  124. data/lib/fog/azurerm/models/sql/sql_databases.rb +32 -0
  125. data/lib/fog/azurerm/models/sql/sql_server.rb +50 -0
  126. data/lib/fog/azurerm/models/sql/sql_servers.rb +31 -0
  127. data/lib/fog/azurerm/models/storage/directories.rb +75 -0
  128. data/lib/fog/azurerm/models/storage/directory.rb +151 -0
  129. data/lib/fog/azurerm/models/storage/file.rb +263 -0
  130. data/lib/fog/azurerm/models/storage/files.rb +183 -0
  131. data/lib/fog/azurerm/models/storage/kind.rb +12 -0
  132. data/lib/fog/azurerm/models/storage/sku_name.rb +15 -0
  133. data/lib/fog/azurerm/models/storage/sku_tier.rb +12 -0
  134. data/lib/fog/azurerm/models/storage/storage_account.rb +92 -0
  135. data/lib/fog/azurerm/models/storage/storage_accounts.rb +47 -0
  136. data/lib/fog/azurerm/models/traffic_manager/traffic_manager_end_point.rb +82 -0
  137. data/lib/fog/azurerm/models/traffic_manager/traffic_manager_end_points.rb +30 -0
  138. data/lib/fog/azurerm/models/traffic_manager/traffic_manager_profile.rb +90 -0
  139. data/lib/fog/azurerm/models/traffic_manager/traffic_manager_profiles.rb +27 -0
  140. data/lib/fog/azurerm/network.rb +178 -0
  141. data/lib/fog/azurerm/requests/application_gateway/check_ag_exists.rb +31 -0
  142. data/lib/fog/azurerm/requests/application_gateway/create_or_update_application_gateway.rb +302 -0
  143. data/lib/fog/azurerm/requests/application_gateway/delete_application_gateway.rb +26 -0
  144. data/lib/fog/azurerm/requests/application_gateway/get_application_gateway.rb +159 -0
  145. data/lib/fog/azurerm/requests/application_gateway/list_application_gateways.rb +29 -0
  146. data/lib/fog/azurerm/requests/application_gateway/start_application_gateway.rb +27 -0
  147. data/lib/fog/azurerm/requests/application_gateway/stop_application_gateway.rb +27 -0
  148. data/lib/fog/azurerm/requests/application_gateway/update_sku_attributes.rb +28 -0
  149. data/lib/fog/azurerm/requests/application_gateway/update_subnet_id_in_gateway_ip_configuration.rb +29 -0
  150. data/lib/fog/azurerm/requests/compute/attach_data_disk_to_vm.rb +208 -0
  151. data/lib/fog/azurerm/requests/compute/check_availability_set_exists.rb +31 -0
  152. data/lib/fog/azurerm/requests/compute/check_managed_disk_exists.rb +33 -0
  153. data/lib/fog/azurerm/requests/compute/check_vm_exists.rb +39 -0
  154. data/lib/fog/azurerm/requests/compute/check_vm_extension_exists.rb +31 -0
  155. data/lib/fog/azurerm/requests/compute/check_vm_status.rb +38 -0
  156. data/lib/fog/azurerm/requests/compute/create_availability_set.rb +64 -0
  157. data/lib/fog/azurerm/requests/compute/create_image.rb +68 -0
  158. data/lib/fog/azurerm/requests/compute/create_or_update_managed_disk.rb +121 -0
  159. data/lib/fog/azurerm/requests/compute/create_or_update_vm_extension.rb +63 -0
  160. data/lib/fog/azurerm/requests/compute/create_virtual_machine.rb +403 -0
  161. data/lib/fog/azurerm/requests/compute/deallocate_virtual_machine.rb +35 -0
  162. data/lib/fog/azurerm/requests/compute/delete_availability_set.rb +27 -0
  163. data/lib/fog/azurerm/requests/compute/delete_image.rb +29 -0
  164. data/lib/fog/azurerm/requests/compute/delete_managed_disk.rb +29 -0
  165. data/lib/fog/azurerm/requests/compute/delete_virtual_machine.rb +35 -0
  166. data/lib/fog/azurerm/requests/compute/delete_vm_extension.rb +28 -0
  167. data/lib/fog/azurerm/requests/compute/detach_data_disk_from_vm.rb +102 -0
  168. data/lib/fog/azurerm/requests/compute/generalize_virtual_machine.rb +35 -0
  169. data/lib/fog/azurerm/requests/compute/get_availability_set.rb +32 -0
  170. data/lib/fog/azurerm/requests/compute/get_image.rb +45 -0
  171. data/lib/fog/azurerm/requests/compute/get_managed_disk.rb +64 -0
  172. data/lib/fog/azurerm/requests/compute/get_virtual_machine.rb +88 -0
  173. data/lib/fog/azurerm/requests/compute/get_vm_extension.rb +46 -0
  174. data/lib/fog/azurerm/requests/compute/grant_access_to_managed_disk.rb +30 -0
  175. data/lib/fog/azurerm/requests/compute/list_availability_sets.rb +40 -0
  176. data/lib/fog/azurerm/requests/compute/list_available_sizes_for_virtual_machine.rb +64 -0
  177. data/lib/fog/azurerm/requests/compute/list_managed_disks_by_rg.rb +66 -0
  178. data/lib/fog/azurerm/requests/compute/list_managed_disks_in_subscription.rb +66 -0
  179. data/lib/fog/azurerm/requests/compute/list_virtual_machines.rb +69 -0
  180. data/lib/fog/azurerm/requests/compute/power_off_virtual_machine.rb +35 -0
  181. data/lib/fog/azurerm/requests/compute/redeploy_virtual_machine.rb +35 -0
  182. data/lib/fog/azurerm/requests/compute/restart_virtual_machine.rb +35 -0
  183. data/lib/fog/azurerm/requests/compute/revoke_access_to_managed_disk.rb +33 -0
  184. data/lib/fog/azurerm/requests/compute/start_virtual_machine.rb +35 -0
  185. data/lib/fog/azurerm/requests/dns/check_record_set_exists.rb +31 -0
  186. data/lib/fog/azurerm/requests/dns/check_zone_exists.rb +34 -0
  187. data/lib/fog/azurerm/requests/dns/create_or_update_record_set.rb +72 -0
  188. data/lib/fog/azurerm/requests/dns/create_or_update_zone.rb +56 -0
  189. data/lib/fog/azurerm/requests/dns/delete_record_set.rb +28 -0
  190. data/lib/fog/azurerm/requests/dns/delete_zone.rb +28 -0
  191. data/lib/fog/azurerm/requests/dns/get_record_set.rb +47 -0
  192. data/lib/fog/azurerm/requests/dns/get_records_from_record_set.rb +32 -0
  193. data/lib/fog/azurerm/requests/dns/get_zone.rb +41 -0
  194. data/lib/fog/azurerm/requests/dns/list_record_sets.rb +63 -0
  195. data/lib/fog/azurerm/requests/dns/list_zones.rb +72 -0
  196. data/lib/fog/azurerm/requests/key_vault/check_vault_exists.rb +31 -0
  197. data/lib/fog/azurerm/requests/key_vault/create_or_update_vault.rb +106 -0
  198. data/lib/fog/azurerm/requests/key_vault/delete_vault.rb +28 -0
  199. data/lib/fog/azurerm/requests/key_vault/get_vault.rb +54 -0
  200. data/lib/fog/azurerm/requests/key_vault/list_vaults.rb +56 -0
  201. data/lib/fog/azurerm/requests/network/add_address_prefixes_in_virtual_network.rb +68 -0
  202. data/lib/fog/azurerm/requests/network/add_dns_servers_in_virtual_network.rb +76 -0
  203. data/lib/fog/azurerm/requests/network/add_security_rules.rb +154 -0
  204. data/lib/fog/azurerm/requests/network/add_subnets_in_virtual_network.rb +71 -0
  205. data/lib/fog/azurerm/requests/network/attach_network_security_group_to_subnet.rb +57 -0
  206. data/lib/fog/azurerm/requests/network/attach_resource_to_nic.rb +89 -0
  207. data/lib/fog/azurerm/requests/network/attach_route_table_to_subnet.rb +57 -0
  208. data/lib/fog/azurerm/requests/network/check_express_route_cir_auth_exists.rb +31 -0
  209. data/lib/fog/azurerm/requests/network/check_express_route_circuit_exists.rb +31 -0
  210. data/lib/fog/azurerm/requests/network/check_load_balancer_exists.rb +31 -0
  211. data/lib/fog/azurerm/requests/network/check_local_net_gateway_exists.rb +31 -0
  212. data/lib/fog/azurerm/requests/network/check_net_sec_group_exists.rb +31 -0
  213. data/lib/fog/azurerm/requests/network/check_net_sec_rule_exists.rb +31 -0
  214. data/lib/fog/azurerm/requests/network/check_network_interface_exists.rb +31 -0
  215. data/lib/fog/azurerm/requests/network/check_public_ip_exists.rb +33 -0
  216. data/lib/fog/azurerm/requests/network/check_subnet_exists.rb +32 -0
  217. data/lib/fog/azurerm/requests/network/check_virtual_network_exists.rb +33 -0
  218. data/lib/fog/azurerm/requests/network/check_vnet_gateway_connection_exists.rb +32 -0
  219. data/lib/fog/azurerm/requests/network/check_vnet_gateway_exists.rb +32 -0
  220. data/lib/fog/azurerm/requests/network/create_load_balancer.rb +189 -0
  221. data/lib/fog/azurerm/requests/network/create_or_update_express_route_circuit.rb +111 -0
  222. data/lib/fog/azurerm/requests/network/create_or_update_express_route_circuit_authorization.rb +51 -0
  223. data/lib/fog/azurerm/requests/network/create_or_update_express_route_circuit_peering.rb +79 -0
  224. data/lib/fog/azurerm/requests/network/create_or_update_local_network_gateway.rb +79 -0
  225. data/lib/fog/azurerm/requests/network/create_or_update_network_interface.rb +121 -0
  226. data/lib/fog/azurerm/requests/network/create_or_update_network_security_group.rb +178 -0
  227. data/lib/fog/azurerm/requests/network/create_or_update_network_security_rule.rb +59 -0
  228. data/lib/fog/azurerm/requests/network/create_or_update_public_ip.rb +61 -0
  229. data/lib/fog/azurerm/requests/network/create_or_update_virtual_network.rb +111 -0
  230. data/lib/fog/azurerm/requests/network/create_or_update_virtual_network_gateway.rb +159 -0
  231. data/lib/fog/azurerm/requests/network/create_or_update_virtual_network_gateway_connection.rb +83 -0
  232. data/lib/fog/azurerm/requests/network/create_subnet.rb +54 -0
  233. data/lib/fog/azurerm/requests/network/delete_express_route_circuit.rb +28 -0
  234. data/lib/fog/azurerm/requests/network/delete_express_route_circuit_authorization.rb +29 -0
  235. data/lib/fog/azurerm/requests/network/delete_express_route_circuit_peering.rb +28 -0
  236. data/lib/fog/azurerm/requests/network/delete_load_balancer.rb +28 -0
  237. data/lib/fog/azurerm/requests/network/delete_local_network_gateway.rb +29 -0
  238. data/lib/fog/azurerm/requests/network/delete_network_interface.rb +28 -0
  239. data/lib/fog/azurerm/requests/network/delete_network_security_group.rb +30 -0
  240. data/lib/fog/azurerm/requests/network/delete_network_security_rule.rb +30 -0
  241. data/lib/fog/azurerm/requests/network/delete_public_ip.rb +27 -0
  242. data/lib/fog/azurerm/requests/network/delete_subnet.rb +28 -0
  243. data/lib/fog/azurerm/requests/network/delete_virtual_network.rb +28 -0
  244. data/lib/fog/azurerm/requests/network/delete_virtual_network_gateway.rb +28 -0
  245. data/lib/fog/azurerm/requests/network/delete_virtual_network_gateway_connection.rb +29 -0
  246. data/lib/fog/azurerm/requests/network/detach_network_security_group_from_subnet.rb +51 -0
  247. data/lib/fog/azurerm/requests/network/detach_resource_from_nic.rb +81 -0
  248. data/lib/fog/azurerm/requests/network/detach_route_table_from_subnet.rb +51 -0
  249. data/lib/fog/azurerm/requests/network/get_available_ipaddresses_count.rb +23 -0
  250. data/lib/fog/azurerm/requests/network/get_connection_shared_key.rb +25 -0
  251. data/lib/fog/azurerm/requests/network/get_express_route_circuit.rb +51 -0
  252. data/lib/fog/azurerm/requests/network/get_express_route_circuit_authorization.rb +35 -0
  253. data/lib/fog/azurerm/requests/network/get_express_route_circuit_peering.rb +48 -0
  254. data/lib/fog/azurerm/requests/network/get_load_balancer.rb +170 -0
  255. data/lib/fog/azurerm/requests/network/get_local_network_gateway.rb +47 -0
  256. data/lib/fog/azurerm/requests/network/get_network_interface.rb +60 -0
  257. data/lib/fog/azurerm/requests/network/get_network_security_group.rb +165 -0
  258. data/lib/fog/azurerm/requests/network/get_network_security_rule.rb +47 -0
  259. data/lib/fog/azurerm/requests/network/get_public_ip.rb +41 -0
  260. data/lib/fog/azurerm/requests/network/get_subnet.rb +37 -0
  261. data/lib/fog/azurerm/requests/network/get_virtual_network.rb +62 -0
  262. data/lib/fog/azurerm/requests/network/get_virtual_network_gateway.rb +45 -0
  263. data/lib/fog/azurerm/requests/network/get_virtual_network_gateway_connection.rb +47 -0
  264. data/lib/fog/azurerm/requests/network/list_express_route_circuit_authorizations.rb +37 -0
  265. data/lib/fog/azurerm/requests/network/list_express_route_circuit_peerings.rb +44 -0
  266. data/lib/fog/azurerm/requests/network/list_express_route_circuits.rb +53 -0
  267. data/lib/fog/azurerm/requests/network/list_express_route_service_providers.rb +37 -0
  268. data/lib/fog/azurerm/requests/network/list_load_balancers.rb +31 -0
  269. data/lib/fog/azurerm/requests/network/list_load_balancers_in_subscription.rb +31 -0
  270. data/lib/fog/azurerm/requests/network/list_local_network_gateways.rb +50 -0
  271. data/lib/fog/azurerm/requests/network/list_network_interfaces.rb +67 -0
  272. data/lib/fog/azurerm/requests/network/list_network_security_groups.rb +169 -0
  273. data/lib/fog/azurerm/requests/network/list_network_security_rules.rb +51 -0
  274. data/lib/fog/azurerm/requests/network/list_public_ips.rb +46 -0
  275. data/lib/fog/azurerm/requests/network/list_subnets.rb +55 -0
  276. data/lib/fog/azurerm/requests/network/list_virtual_network_gateway_connections.rb +50 -0
  277. data/lib/fog/azurerm/requests/network/list_virtual_network_gateways.rb +43 -0
  278. data/lib/fog/azurerm/requests/network/list_virtual_networks.rb +74 -0
  279. data/lib/fog/azurerm/requests/network/list_virtual_networks_in_subscription.rb +74 -0
  280. data/lib/fog/azurerm/requests/network/remove_address_prefixes_from_virtual_network.rb +69 -0
  281. data/lib/fog/azurerm/requests/network/remove_dns_servers_from_virtual_network.rb +69 -0
  282. data/lib/fog/azurerm/requests/network/remove_security_rule.rb +157 -0
  283. data/lib/fog/azurerm/requests/network/remove_subnets_from_virtual_network.rb +59 -0
  284. data/lib/fog/azurerm/requests/network/reset_connection_shared_key.rb +36 -0
  285. data/lib/fog/azurerm/requests/network/set_connection_shared_key.rb +36 -0
  286. data/lib/fog/azurerm/requests/resources/check_azure_resource_exists.rb +40 -0
  287. data/lib/fog/azurerm/requests/resources/check_deployment_exists.rb +30 -0
  288. data/lib/fog/azurerm/requests/resources/check_resource_group_exists.rb +30 -0
  289. data/lib/fog/azurerm/requests/resources/create_deployment.rb +97 -0
  290. data/lib/fog/azurerm/requests/resources/create_resource_group.rb +40 -0
  291. data/lib/fog/azurerm/requests/resources/delete_deployment.rb +28 -0
  292. data/lib/fog/azurerm/requests/resources/delete_resource_group.rb +28 -0
  293. data/lib/fog/azurerm/requests/resources/delete_resource_tag.rb +44 -0
  294. data/lib/fog/azurerm/requests/resources/get_deployment.rb +81 -0
  295. data/lib/fog/azurerm/requests/resources/get_resource_group.rb +47 -0
  296. data/lib/fog/azurerm/requests/resources/list_deployments.rb +77 -0
  297. data/lib/fog/azurerm/requests/resources/list_resource_groups.rb +51 -0
  298. data/lib/fog/azurerm/requests/resources/list_tagged_resources.rb +50 -0
  299. data/lib/fog/azurerm/requests/resources/tag_resource.rb +43 -0
  300. data/lib/fog/azurerm/requests/sql/check_database_exists.rb +21 -0
  301. data/lib/fog/azurerm/requests/sql/check_firewall_rule_exists.rb +21 -0
  302. data/lib/fog/azurerm/requests/sql/check_sql_server_exists.rb +21 -0
  303. data/lib/fog/azurerm/requests/sql/create_or_update_database.rb +71 -0
  304. data/lib/fog/azurerm/requests/sql/create_or_update_firewall_rule.rb +42 -0
  305. data/lib/fog/azurerm/requests/sql/create_or_update_sql_server.rb +53 -0
  306. data/lib/fog/azurerm/requests/sql/delete_database.rb +28 -0
  307. data/lib/fog/azurerm/requests/sql/delete_firewall_rule.rb +29 -0
  308. data/lib/fog/azurerm/requests/sql/delete_sql_server.rb +29 -0
  309. data/lib/fog/azurerm/requests/sql/get_database.rb +42 -0
  310. data/lib/fog/azurerm/requests/sql/get_firewall_rule.rb +37 -0
  311. data/lib/fog/azurerm/requests/sql/get_sql_server.rb +34 -0
  312. data/lib/fog/azurerm/requests/sql/list_databases.rb +58 -0
  313. data/lib/fog/azurerm/requests/sql/list_firewall_rules.rb +49 -0
  314. data/lib/fog/azurerm/requests/sql/list_sql_servers.rb +44 -0
  315. data/lib/fog/azurerm/requests/storage/acquire_blob_lease.rb +32 -0
  316. data/lib/fog/azurerm/requests/storage/acquire_container_lease.rb +32 -0
  317. data/lib/fog/azurerm/requests/storage/check_container_exists.rb +30 -0
  318. data/lib/fog/azurerm/requests/storage/check_storage_account_exists.rb +37 -0
  319. data/lib/fog/azurerm/requests/storage/check_storage_account_name_availability.rb +44 -0
  320. data/lib/fog/azurerm/requests/storage/commit_blob_blocks.rb +30 -0
  321. data/lib/fog/azurerm/requests/storage/compare_container_blobs.rb +148 -0
  322. data/lib/fog/azurerm/requests/storage/copy_blob.rb +30 -0
  323. data/lib/fog/azurerm/requests/storage/copy_blob_from_uri.rb +30 -0
  324. data/lib/fog/azurerm/requests/storage/create_block_blob.rb +108 -0
  325. data/lib/fog/azurerm/requests/storage/create_container.rb +40 -0
  326. data/lib/fog/azurerm/requests/storage/create_disk.rb +62 -0
  327. data/lib/fog/azurerm/requests/storage/create_page_blob.rb +31 -0
  328. data/lib/fog/azurerm/requests/storage/create_storage_account.rb +66 -0
  329. data/lib/fog/azurerm/requests/storage/delete_blob.rb +32 -0
  330. data/lib/fog/azurerm/requests/storage/delete_container.rb +31 -0
  331. data/lib/fog/azurerm/requests/storage/delete_disk.rb +36 -0
  332. data/lib/fog/azurerm/requests/storage/delete_storage_account.rb +27 -0
  333. data/lib/fog/azurerm/requests/storage/get_blob.rb +163 -0
  334. data/lib/fog/azurerm/requests/storage/get_blob_http_url.rb +39 -0
  335. data/lib/fog/azurerm/requests/storage/get_blob_https_url.rb +39 -0
  336. data/lib/fog/azurerm/requests/storage/get_blob_properties.rb +55 -0
  337. data/lib/fog/azurerm/requests/storage/get_blob_url.rb +28 -0
  338. data/lib/fog/azurerm/requests/storage/get_container_acl.rb +30 -0
  339. data/lib/fog/azurerm/requests/storage/get_container_properties.rb +41 -0
  340. data/lib/fog/azurerm/requests/storage/get_container_url.rb +34 -0
  341. data/lib/fog/azurerm/requests/storage/get_storage_access_keys.rb +32 -0
  342. data/lib/fog/azurerm/requests/storage/get_storage_account.rb +36 -0
  343. data/lib/fog/azurerm/requests/storage/list_blobs.rb +168 -0
  344. data/lib/fog/azurerm/requests/storage/list_containers.rb +73 -0
  345. data/lib/fog/azurerm/requests/storage/list_storage_account_for_rg.rb +49 -0
  346. data/lib/fog/azurerm/requests/storage/list_storage_accounts.rb +49 -0
  347. data/lib/fog/azurerm/requests/storage/multipart_save_block_blob.rb +110 -0
  348. data/lib/fog/azurerm/requests/storage/put_blob_block.rb +30 -0
  349. data/lib/fog/azurerm/requests/storage/put_blob_metadata.rb +31 -0
  350. data/lib/fog/azurerm/requests/storage/put_blob_pages.rb +30 -0
  351. data/lib/fog/azurerm/requests/storage/put_blob_properties.rb +31 -0
  352. data/lib/fog/azurerm/requests/storage/put_container_acl.rb +31 -0
  353. data/lib/fog/azurerm/requests/storage/put_container_metadata.rb +31 -0
  354. data/lib/fog/azurerm/requests/storage/release_blob_lease.rb +30 -0
  355. data/lib/fog/azurerm/requests/storage/release_container_lease.rb +30 -0
  356. data/lib/fog/azurerm/requests/storage/save_page_blob.rb +111 -0
  357. data/lib/fog/azurerm/requests/storage/update_storage_account.rb +59 -0
  358. data/lib/fog/azurerm/requests/storage/wait_blob_copy_operation_to_finish.rb +56 -0
  359. data/lib/fog/azurerm/requests/traffic_manager/check_traffic_manager_endpoint_exists.rb +31 -0
  360. data/lib/fog/azurerm/requests/traffic_manager/check_traffic_manager_profile_exists.rb +31 -0
  361. data/lib/fog/azurerm/requests/traffic_manager/create_or_update_traffic_manager_endpoint.rb +54 -0
  362. data/lib/fog/azurerm/requests/traffic_manager/create_or_update_traffic_manager_profile.rb +130 -0
  363. data/lib/fog/azurerm/requests/traffic_manager/delete_traffic_manager_endpoint.rb +28 -0
  364. data/lib/fog/azurerm/requests/traffic_manager/delete_traffic_manager_profile.rb +26 -0
  365. data/lib/fog/azurerm/requests/traffic_manager/get_traffic_manager_endpoint.rb +39 -0
  366. data/lib/fog/azurerm/requests/traffic_manager/get_traffic_manager_profile.rb +80 -0
  367. data/lib/fog/azurerm/requests/traffic_manager/list_traffic_manager_profiles.rb +82 -0
  368. data/lib/fog/azurerm/resources.rb +71 -0
  369. data/lib/fog/azurerm/sql.rb +66 -0
  370. data/lib/fog/azurerm/storage.rb +136 -0
  371. data/lib/fog/azurerm/traffic_manager.rb +62 -0
  372. data/lib/fog/azurerm/utilities/general.rb +179 -0
  373. data/lib/fog/azurerm/utilities/logger_messages.yml +19 -0
  374. data/lib/fog/azurerm/version.rb +5 -0
  375. data/rake-script.sh +10 -0
  376. data/rakefile +29 -0
  377. data/test/api_stub.rb +145 -0
  378. data/test/api_stub/models/application_gateway/gateway.rb +165 -0
  379. data/test/api_stub/models/compute/availability_set.rb +69 -0
  380. data/test/api_stub/models/compute/managed_disk.rb +59 -0
  381. data/test/api_stub/models/compute/server.rb +268 -0
  382. data/test/api_stub/models/compute/virtual_machine_extension.rb +31 -0
  383. data/test/api_stub/models/dns/record_set.rb +57 -0
  384. data/test/api_stub/models/dns/zone.rb +29 -0
  385. data/test/api_stub/models/key_vault/vault.rb +39 -0
  386. data/test/api_stub/models/network/express_route_circuit.rb +47 -0
  387. data/test/api_stub/models/network/express_route_circuit_authorization.rb +22 -0
  388. data/test/api_stub/models/network/express_route_circuit_peering.rb +33 -0
  389. data/test/api_stub/models/network/express_route_service_provider.rb +29 -0
  390. data/test/api_stub/models/network/load_balancer.rb +154 -0
  391. data/test/api_stub/models/network/local_network_gateway.rb +31 -0
  392. data/test/api_stub/models/network/network_interface.rb +72 -0
  393. data/test/api_stub/models/network/network_security_group.rb +95 -0
  394. data/test/api_stub/models/network/network_security_rule.rb +30 -0
  395. data/test/api_stub/models/network/public_ip.rb +36 -0
  396. data/test/api_stub/models/network/subnet.rb +36 -0
  397. data/test/api_stub/models/network/virtual_network.rb +62 -0
  398. data/test/api_stub/models/network/virtual_network_gateway.rb +26 -0
  399. data/test/api_stub/models/network/virtual_network_gateway_connection.rb +31 -0
  400. data/test/api_stub/models/resources/deployment.rb +116 -0
  401. data/test/api_stub/models/resources/resource.rb +43 -0
  402. data/test/api_stub/models/resources/resource_group.rb +24 -0
  403. data/test/api_stub/models/sql/sql_database.rb +30 -0
  404. data/test/api_stub/models/sql/sql_firewall_rule.rb +24 -0
  405. data/test/api_stub/models/sql/sql_server.rb +24 -0
  406. data/test/api_stub/models/storage/directory.rb +178 -0
  407. data/test/api_stub/models/storage/file.rb +181 -0
  408. data/test/api_stub/models/storage/storageaccount.rb +22 -0
  409. data/test/api_stub/models/traffic_manager/traffic_manager_end_point.rb +27 -0
  410. data/test/api_stub/models/traffic_manager/traffic_manager_profile.rb +75 -0
  411. data/test/api_stub/requests/application_gateway/gateway.rb +461 -0
  412. data/test/api_stub/requests/compute/availability_set.rb +114 -0
  413. data/test/api_stub/requests/compute/image.rb +41 -0
  414. data/test/api_stub/requests/compute/managed_disk.rb +102 -0
  415. data/test/api_stub/requests/compute/virtual_machine.rb +1018 -0
  416. data/test/api_stub/requests/compute/virtual_machine_extension.rb +46 -0
  417. data/test/api_stub/requests/dns/record_set.rb +75 -0
  418. data/test/api_stub/requests/dns/zone.rb +52 -0
  419. data/test/api_stub/requests/key_vault/vault.rb +95 -0
  420. data/test/api_stub/requests/network/express_route_circuit.rb +100 -0
  421. data/test/api_stub/requests/network/express_route_circuit_authorization.rb +31 -0
  422. data/test/api_stub/requests/network/express_route_circuit_peering.rb +62 -0
  423. data/test/api_stub/requests/network/express_route_service_provider.rb +30 -0
  424. data/test/api_stub/requests/network/load_balancer.rb +388 -0
  425. data/test/api_stub/requests/network/local_network_gateway.rb +62 -0
  426. data/test/api_stub/requests/network/network_interface.rb +264 -0
  427. data/test/api_stub/requests/network/network_security_group.rb +225 -0
  428. data/test/api_stub/requests/network/network_security_rule.rb +72 -0
  429. data/test/api_stub/requests/network/public_ip.rb +71 -0
  430. data/test/api_stub/requests/network/subnet.rb +71 -0
  431. data/test/api_stub/requests/network/virtual_network.rb +125 -0
  432. data/test/api_stub/requests/network/virtual_network_gateway.rb +49 -0
  433. data/test/api_stub/requests/network/virtual_network_gateway_connection.rb +68 -0
  434. data/test/api_stub/requests/resources/deployment.rb +68 -0
  435. data/test/api_stub/requests/resources/resource.rb +45 -0
  436. data/test/api_stub/requests/resources/resource_group.rb +51 -0
  437. data/test/api_stub/requests/sql/database.rb +71 -0
  438. data/test/api_stub/requests/sql/firewall_rule.rb +50 -0
  439. data/test/api_stub/requests/sql/sql_server.rb +49 -0
  440. data/test/api_stub/requests/storage/directory.rb +89 -0
  441. data/test/api_stub/requests/storage/file.rb +243 -0
  442. data/test/api_stub/requests/storage/storageaccount.rb +126 -0
  443. data/test/api_stub/requests/traffic_manager/traffic_manager_endpoint.rb +41 -0
  444. data/test/api_stub/requests/traffic_manager/traffic_manager_profile.rb +166 -0
  445. data/test/integration/README.md +14 -0
  446. data/test/integration/application_gateway.rb +260 -0
  447. data/test/integration/availability_set.rb +184 -0
  448. data/test/integration/blob.rb +297 -0
  449. data/test/integration/container.rb +160 -0
  450. data/test/integration/credentials/azure.yml +5 -0
  451. data/test/integration/data_disk.rb +90 -0
  452. data/test/integration/deployment.rb +78 -0
  453. data/test/integration/express_route_circuit.rb +139 -0
  454. data/test/integration/external_load_balancer.rb +156 -0
  455. data/test/integration/internal_load_balancer.rb +145 -0
  456. data/test/integration/key_vault.rb +99 -0
  457. data/test/integration/local_network_gateway.rb +91 -0
  458. data/test/integration/managed_disk.rb +118 -0
  459. data/test/integration/network_interface.rb +157 -0
  460. data/test/integration/network_security_group.rb +134 -0
  461. data/test/integration/network_security_rule.rb +102 -0
  462. data/test/integration/public_ip.rb +84 -0
  463. data/test/integration/record_set.rb +126 -0
  464. data/test/integration/resource_group.rb +62 -0
  465. data/test/integration/resource_tag.rb +93 -0
  466. data/test/integration/server.rb +356 -0
  467. data/test/integration/server_custom_image.rb +227 -0
  468. data/test/integration/sql_server.rb +183 -0
  469. data/test/integration/storage_account.rb +135 -0
  470. data/test/integration/subnet.rb +122 -0
  471. data/test/integration/traffic_manager.rb +142 -0
  472. data/test/integration/virtual_machine_extension.rb +165 -0
  473. data/test/integration/virtual_network.rb +163 -0
  474. data/test/integration/virtual_network_gateway.rb +119 -0
  475. data/test/integration/virtual_network_gateway_connection.rb +221 -0
  476. data/test/integration/virtual_network_gateway_connection_to_express_route.rb +123 -0
  477. data/test/integration/zone.rb +81 -0
  478. data/test/models/application_gateway/test_gateway.rb +136 -0
  479. data/test/models/application_gateway/test_gateways.rb +55 -0
  480. data/test/models/compute/test_availability_set.rb +57 -0
  481. data/test/models/compute/test_availability_sets.rb +55 -0
  482. data/test/models/compute/test_data_disk.rb +23 -0
  483. data/test/models/compute/test_managed_disk.rb +62 -0
  484. data/test/models/compute/test_managed_disks.rb +68 -0
  485. data/test/models/compute/test_server.rb +236 -0
  486. data/test/models/compute/test_servers.rb +56 -0
  487. data/test/models/compute/test_virtual_machine_extension.rb +61 -0
  488. data/test/models/compute/test_virtual_machine_extensions.rb +49 -0
  489. data/test/models/dns/test_record_set.rb +86 -0
  490. data/test/models/dns/test_record_sets.rb +66 -0
  491. data/test/models/dns/test_zone.rb +51 -0
  492. data/test/models/dns/test_zones.rb +51 -0
  493. data/test/models/key_vault/test_vault.rb +40 -0
  494. data/test/models/key_vault/test_vaults.rb +55 -0
  495. data/test/models/network/test_express_route_circuit.rb +52 -0
  496. data/test/models/network/test_express_route_circuit_authorization.rb +50 -0
  497. data/test/models/network/test_express_route_circuit_authorizations.rb +56 -0
  498. data/test/models/network/test_express_route_circuit_peering.rb +53 -0
  499. data/test/models/network/test_express_route_circuit_peerings.rb +43 -0
  500. data/test/models/network/test_express_route_circuits.rb +55 -0
  501. data/test/models/network/test_express_route_service_providers.rb +30 -0
  502. data/test/models/network/test_load_balancer.rb +52 -0
  503. data/test/models/network/test_load_balancers.rb +55 -0
  504. data/test/models/network/test_local_network_gateway.rb +53 -0
  505. data/test/models/network/test_local_network_gateways.rb +55 -0
  506. data/test/models/network/test_network_interface.rb +97 -0
  507. data/test/models/network/test_network_interfaces.rb +55 -0
  508. data/test/models/network/test_network_security_group.rb +87 -0
  509. data/test/models/network/test_network_security_groups.rb +54 -0
  510. data/test/models/network/test_network_security_rule.rb +44 -0
  511. data/test/models/network/test_network_security_rules.rb +55 -0
  512. data/test/models/network/test_public_ip.rb +62 -0
  513. data/test/models/network/test_public_ips.rb +55 -0
  514. data/test/models/network/test_subnet.rb +83 -0
  515. data/test/models/network/test_subnets.rb +56 -0
  516. data/test/models/network/test_virtual_network.rb +107 -0
  517. data/test/models/network/test_virtual_network_gateway.rb +62 -0
  518. data/test/models/network/test_virtual_network_gateway_connection.rb +59 -0
  519. data/test/models/network/test_virtual_network_gateway_connections.rb +55 -0
  520. data/test/models/network/test_virtual_network_gateways.rb +55 -0
  521. data/test/models/network/test_virtual_networks.rb +67 -0
  522. data/test/models/resources/test_deployment.rb +55 -0
  523. data/test/models/resources/test_deployments.rb +51 -0
  524. data/test/models/resources/test_resource.rb +22 -0
  525. data/test/models/resources/test_resource_group.rb +45 -0
  526. data/test/models/resources/test_resource_groups.rb +51 -0
  527. data/test/models/resources/test_resources.rb +52 -0
  528. data/test/models/sql/test_database.rb +68 -0
  529. data/test/models/sql/test_databases.rb +42 -0
  530. data/test/models/sql/test_firewall_rule.rb +55 -0
  531. data/test/models/sql/test_firewall_rules.rb +42 -0
  532. data/test/models/sql/test_sql_server.rb +58 -0
  533. data/test/models/sql/test_sql_servers.rb +41 -0
  534. data/test/models/storage/test_directories.rb +74 -0
  535. data/test/models/storage/test_directory.rb +178 -0
  536. data/test/models/storage/test_file.rb +294 -0
  537. data/test/models/storage/test_files.rb +234 -0
  538. data/test/models/storage/test_storage_account.rb +89 -0
  539. data/test/models/storage/test_storage_accounts.rb +78 -0
  540. data/test/models/traffic_manager/test_traffic_manager_end_point.rb +54 -0
  541. data/test/models/traffic_manager/test_traffic_manager_end_points.rb +56 -0
  542. data/test/models/traffic_manager/test_traffic_manager_profile.rb +63 -0
  543. data/test/models/traffic_manager/test_traffic_manager_profiles.rb +55 -0
  544. data/test/requests/application_gateway/test_check_ag_exists.rb +38 -0
  545. data/test/requests/application_gateway/test_create_or_update_application_gateway.rb +35 -0
  546. data/test/requests/application_gateway/test_delete_application_gateway.rb +23 -0
  547. data/test/requests/application_gateway/test_get_application_gateway.rb +24 -0
  548. data/test/requests/application_gateway/test_list_application_gateways.rb +24 -0
  549. data/test/requests/application_gateway/test_start_application_gateway.rb +25 -0
  550. data/test/requests/application_gateway/test_stop_application_gateway.rb +25 -0
  551. data/test/requests/compute/test_attach_data_disk_to_vm.rb +105 -0
  552. data/test/requests/compute/test_check_availability_set_exists.rb +38 -0
  553. data/test/requests/compute/test_check_managed_disk_exists.rb +38 -0
  554. data/test/requests/compute/test_check_vm_exists.rb +38 -0
  555. data/test/requests/compute/test_check_vm_extension_exists.rb +38 -0
  556. data/test/requests/compute/test_create_availability_set.rb +112 -0
  557. data/test/requests/compute/test_create_image.rb +27 -0
  558. data/test/requests/compute/test_create_or_update_managed_disk.rb +38 -0
  559. data/test/requests/compute/test_create_virtual_machine.rb +90 -0
  560. data/test/requests/compute/test_create_vm_extension.rb +35 -0
  561. data/test/requests/compute/test_deallocate_virtual_machine.rb +32 -0
  562. data/test/requests/compute/test_delete_availability_set.rb +23 -0
  563. data/test/requests/compute/test_delete_image.rb +23 -0
  564. data/test/requests/compute/test_delete_managed_disk.rb +23 -0
  565. data/test/requests/compute/test_delete_virtual_machine.rb +32 -0
  566. data/test/requests/compute/test_detach_data_disk_from_vm.rb +32 -0
  567. data/test/requests/compute/test_generalize_virtual_machine.rb +32 -0
  568. data/test/requests/compute/test_get_availability_set.rb +24 -0
  569. data/test/requests/compute/test_get_image.rb +23 -0
  570. data/test/requests/compute/test_get_managed_disk.rb +24 -0
  571. data/test/requests/compute/test_get_virtual_machine.rb +24 -0
  572. data/test/requests/compute/test_get_vm_extension.rb +26 -0
  573. data/test/requests/compute/test_get_vm_status.rb +25 -0
  574. data/test/requests/compute/test_grant_access_to_managed_disk.rb +26 -0
  575. data/test/requests/compute/test_list_availability_sets.rb +24 -0
  576. data/test/requests/compute/test_list_available_sizes_for_virtual_machine.rb +33 -0
  577. data/test/requests/compute/test_list_managed_disks_by_rg.rb +24 -0
  578. data/test/requests/compute/test_list_managed_disks_in_subscription.rb +24 -0
  579. data/test/requests/compute/test_list_virtual_machines.rb +24 -0
  580. data/test/requests/compute/test_power_off_virtual_machine.rb +32 -0
  581. data/test/requests/compute/test_redeploy_virtual_machine.rb +33 -0
  582. data/test/requests/compute/test_restart_virtual_machine.rb +32 -0
  583. data/test/requests/compute/test_revoke_access_to_managed_disk.rb +24 -0
  584. data/test/requests/compute/test_start_virtual_machine.rb +32 -0
  585. data/test/requests/compute/test_update_vm_extension.rb +35 -0
  586. data/test/requests/dns/test_check_record_set_exists.rb +38 -0
  587. data/test/requests/dns/test_check_zone_exists.rb +49 -0
  588. data/test/requests/dns/test_create_record_set.rb +46 -0
  589. data/test/requests/dns/test_create_zone.rb +37 -0
  590. data/test/requests/dns/test_delete_record_set.rb +24 -0
  591. data/test/requests/dns/test_delete_zone.rb +24 -0
  592. data/test/requests/dns/test_get_record_set.rb +24 -0
  593. data/test/requests/dns/test_get_records_from_record_set.rb +42 -0
  594. data/test/requests/dns/test_get_zone.rb +35 -0
  595. data/test/requests/dns/test_list_record_sets.rb +35 -0
  596. data/test/requests/dns/test_list_zones.rb +26 -0
  597. data/test/requests/key_vault/test_check_vault_exists.rb +38 -0
  598. data/test/requests/key_vault/test_create_or_update_vault.rb +25 -0
  599. data/test/requests/key_vault/test_delete_vault.rb +23 -0
  600. data/test/requests/key_vault/test_get_vault.rb +24 -0
  601. data/test/requests/key_vault/test_list_vaults.rb +24 -0
  602. data/test/requests/network/test_add_address_prefixes_in_virtual_network.rb +29 -0
  603. data/test/requests/network/test_add_dns_servers_in_virtual_network.rb +29 -0
  604. data/test/requests/network/test_add_security_rules.rb +43 -0
  605. data/test/requests/network/test_add_subnets_in_virtual_network.rb +29 -0
  606. data/test/requests/network/test_attach_network_security_group_to_subnet.rb +26 -0
  607. data/test/requests/network/test_attach_resource_to_nic.rb +43 -0
  608. data/test/requests/network/test_attach_route_table_to_subnet.rb +26 -0
  609. data/test/requests/network/test_check_express_route_cir_auth_exists.rb +38 -0
  610. data/test/requests/network/test_check_express_route_circuit_exists.rb +38 -0
  611. data/test/requests/network/test_check_load_balancer_exists.rb +38 -0
  612. data/test/requests/network/test_check_local_net_gateway_exists.rb +38 -0
  613. data/test/requests/network/test_check_net_sec_group_exists.rb +38 -0
  614. data/test/requests/network/test_check_net_sec_rule_exists.rb +38 -0
  615. data/test/requests/network/test_check_network_interface_exists.rb +38 -0
  616. data/test/requests/network/test_check_public_ip_exists.rb +37 -0
  617. data/test/requests/network/test_check_subnet_exists.rb +38 -0
  618. data/test/requests/network/test_check_virtual_network_exists.rb +40 -0
  619. data/test/requests/network/test_check_vnet_gateway_connection_exists.rb +38 -0
  620. data/test/requests/network/test_check_vnet_gateway_exists.rb +38 -0
  621. data/test/requests/network/test_create_express_route_circuit.rb +39 -0
  622. data/test/requests/network/test_create_express_route_circuit_authorization.rb +35 -0
  623. data/test/requests/network/test_create_express_route_circuit_peering.rb +37 -0
  624. data/test/requests/network/test_create_load_balancer.rb +50 -0
  625. data/test/requests/network/test_create_local_network_gateway.rb +36 -0
  626. data/test/requests/network/test_create_network_interface.rb +43 -0
  627. data/test/requests/network/test_create_or_update_network_security_group.rb +39 -0
  628. data/test/requests/network/test_create_or_update_network_security_rule.rb +28 -0
  629. data/test/requests/network/test_create_or_update_virtual_network.rb +57 -0
  630. data/test/requests/network/test_create_public_ip.rb +36 -0
  631. data/test/requests/network/test_create_subnet.rb +35 -0
  632. data/test/requests/network/test_create_virtual_network_gateway.rb +37 -0
  633. data/test/requests/network/test_create_virtual_network_gateway_connection.rb +36 -0
  634. data/test/requests/network/test_delete_express_route_circuit.rb +24 -0
  635. data/test/requests/network/test_delete_express_route_circuit_authorization.rb +23 -0
  636. data/test/requests/network/test_delete_express_route_circuit_peering.rb +24 -0
  637. data/test/requests/network/test_delete_load_balancer.rb +24 -0
  638. data/test/requests/network/test_delete_local_network_gateway.rb +23 -0
  639. data/test/requests/network/test_delete_network_interface.rb +24 -0
  640. data/test/requests/network/test_delete_network_security_group.rb +25 -0
  641. data/test/requests/network/test_delete_network_security_rule.rb +25 -0
  642. data/test/requests/network/test_delete_public_ip.rb +24 -0
  643. data/test/requests/network/test_delete_subnet.rb +24 -0
  644. data/test/requests/network/test_delete_virtual_network.rb +24 -0
  645. data/test/requests/network/test_delete_virtual_network_gateway.rb +24 -0
  646. data/test/requests/network/test_delete_virtual_network_gateway_connection.rb +23 -0
  647. data/test/requests/network/test_detach_network_security_group_from_subnet.rb +26 -0
  648. data/test/requests/network/test_detach_resource_from_nic.rb +41 -0
  649. data/test/requests/network/test_detach_route_table_from_subnet.rb +26 -0
  650. data/test/requests/network/test_get_available_ipaddresses_count.rb +18 -0
  651. data/test/requests/network/test_get_connection_shared_key.rb +24 -0
  652. data/test/requests/network/test_get_express_route_circuit.rb +24 -0
  653. data/test/requests/network/test_get_express_route_circuit_authorization.rb +24 -0
  654. data/test/requests/network/test_get_express_route_circuit_peering.rb +24 -0
  655. data/test/requests/network/test_get_load_balancer.rb +24 -0
  656. data/test/requests/network/test_get_local_network_gateway.rb +24 -0
  657. data/test/requests/network/test_get_network_interface.rb +24 -0
  658. data/test/requests/network/test_get_network_security_group.rb +26 -0
  659. data/test/requests/network/test_get_network_security_rule.rb +26 -0
  660. data/test/requests/network/test_get_public_ip.rb +26 -0
  661. data/test/requests/network/test_get_subnet.rb +26 -0
  662. data/test/requests/network/test_get_virtual_network.rb +26 -0
  663. data/test/requests/network/test_get_virtual_network_gateway.rb +24 -0
  664. data/test/requests/network/test_get_virtual_network_gateway_connection.rb +24 -0
  665. data/test/requests/network/test_list_express_route_circuit_authorizations.rb +24 -0
  666. data/test/requests/network/test_list_express_route_circuit_peerings.rb +24 -0
  667. data/test/requests/network/test_list_express_route_circuits.rb +26 -0
  668. data/test/requests/network/test_list_express_route_service_providers.rb +24 -0
  669. data/test/requests/network/test_list_load_balancers.rb +24 -0
  670. data/test/requests/network/test_list_local_network_gateways.rb +24 -0
  671. data/test/requests/network/test_list_network_interfaces.rb +24 -0
  672. data/test/requests/network/test_list_network_security_groups.rb +26 -0
  673. data/test/requests/network/test_list_network_security_rules.rb +26 -0
  674. data/test/requests/network/test_list_public_ips.rb +24 -0
  675. data/test/requests/network/test_list_subnets.rb +24 -0
  676. data/test/requests/network/test_list_virtual_network_gateway_connections.rb +24 -0
  677. data/test/requests/network/test_list_virtual_network_gateways.rb +24 -0
  678. data/test/requests/network/test_list_virtual_networks.rb +24 -0
  679. data/test/requests/network/test_list_virtual_networks_in_subscription.rb +24 -0
  680. data/test/requests/network/test_remove_address_prefixes_from_virtual_network.rb +29 -0
  681. data/test/requests/network/test_remove_dns_servers_from_virtual_network.rb +29 -0
  682. data/test/requests/network/test_remove_security_rule.rb +29 -0
  683. data/test/requests/network/test_remove_subnets_from_virtual_network.rb +29 -0
  684. data/test/requests/network/test_reset_connection_shared_key.rb +23 -0
  685. data/test/requests/network/test_set_connection_shared_key.rb +23 -0
  686. data/test/requests/network/test_update_public_ip.rb +35 -0
  687. data/test/requests/resources/test_check_azure_resource_exists.rb +22 -0
  688. data/test/requests/resources/test_check_deployment_exists.rb +29 -0
  689. data/test/requests/resources/test_check_resource_group_exists.rb +29 -0
  690. data/test/requests/resources/test_create_deployment.rb +32 -0
  691. data/test/requests/resources/test_create_resource_group.rb +25 -0
  692. data/test/requests/resources/test_delete_deployment.rb +25 -0
  693. data/test/requests/resources/test_delete_resource_group.rb +24 -0
  694. data/test/requests/resources/test_delete_resource_tag.rb +35 -0
  695. data/test/requests/resources/test_get_deployment.rb +24 -0
  696. data/test/requests/resources/test_get_resource_group.rb +24 -0
  697. data/test/requests/resources/test_list_deployments.rb +25 -0
  698. data/test/requests/resources/test_list_resource_groups.rb +24 -0
  699. data/test/requests/resources/test_list_tagged_resources.rb +24 -0
  700. data/test/requests/resources/test_tag_resource.rb +35 -0
  701. data/test/requests/sql/test_create_or_update_database.rb +25 -0
  702. data/test/requests/sql/test_create_or_update_firewall_rule.rb +25 -0
  703. data/test/requests/sql/test_create_or_update_sql_server.rb +25 -0
  704. data/test/requests/sql/test_delete_database.rb +23 -0
  705. data/test/requests/sql/test_delete_firewall_rule.rb +23 -0
  706. data/test/requests/sql/test_delete_sql_server.rb +23 -0
  707. data/test/requests/sql/test_get_database.rb +24 -0
  708. data/test/requests/sql/test_get_firewall_rule.rb +24 -0
  709. data/test/requests/sql/test_get_sql_server.rb +24 -0
  710. data/test/requests/sql/test_list_databases.rb +24 -0
  711. data/test/requests/sql/test_list_firewall_rules.rb +24 -0
  712. data/test/requests/sql/test_list_sql_servers.rb +24 -0
  713. data/test/requests/storage/test_acquire_blob_lease.rb +36 -0
  714. data/test/requests/storage/test_acquire_container_lease.rb +36 -0
  715. data/test/requests/storage/test_check_container_exists.rb +18 -0
  716. data/test/requests/storage/test_check_storage_account_exists.rb +41 -0
  717. data/test/requests/storage/test_check_storage_account_name_availability.rb +35 -0
  718. data/test/requests/storage/test_commit_blob_blocks.rb +34 -0
  719. data/test/requests/storage/test_compare_container_blobs.rb +36 -0
  720. data/test/requests/storage/test_copy_blob.rb +36 -0
  721. data/test/requests/storage/test_copy_blob_from_uri.rb +36 -0
  722. data/test/requests/storage/test_create_block_blob.rb +80 -0
  723. data/test/requests/storage/test_create_container.rb +36 -0
  724. data/test/requests/storage/test_create_disk.rb +70 -0
  725. data/test/requests/storage/test_create_page_blob.rb +34 -0
  726. data/test/requests/storage/test_create_storage_account.rb +34 -0
  727. data/test/requests/storage/test_delete_blob.rb +42 -0
  728. data/test/requests/storage/test_delete_container.rb +42 -0
  729. data/test/requests/storage/test_delete_disk.rb +30 -0
  730. data/test/requests/storage/test_delete_storage_account.rb +28 -0
  731. data/test/requests/storage/test_get_blob.rb +141 -0
  732. data/test/requests/storage/test_get_blob_http_url.rb +30 -0
  733. data/test/requests/storage/test_get_blob_https_url.rb +30 -0
  734. data/test/requests/storage/test_get_blob_properties.rb +45 -0
  735. data/test/requests/storage/test_get_blob_url.rb +75 -0
  736. data/test/requests/storage/test_get_container_acl.rb +37 -0
  737. data/test/requests/storage/test_get_container_properties.rb +45 -0
  738. data/test/requests/storage/test_get_container_url.rb +33 -0
  739. data/test/requests/storage/test_get_storage_access_keys.rb +24 -0
  740. data/test/requests/storage/test_get_storage_account.rb +25 -0
  741. data/test/requests/storage/test_list_blobs.rb +77 -0
  742. data/test/requests/storage/test_list_containers.rb +54 -0
  743. data/test/requests/storage/test_list_storage_accounts.rb +37 -0
  744. data/test/requests/storage/test_list_storage_accounts_for_rg.rb +37 -0
  745. data/test/requests/storage/test_multipart_save_block_blob.rb +105 -0
  746. data/test/requests/storage/test_put_blob_block.rb +34 -0
  747. data/test/requests/storage/test_put_blob_metadata.rb +36 -0
  748. data/test/requests/storage/test_put_blob_pages.rb +34 -0
  749. data/test/requests/storage/test_put_blob_properties.rb +39 -0
  750. data/test/requests/storage/test_put_container_acl.rb +34 -0
  751. data/test/requests/storage/test_put_container_metadata.rb +36 -0
  752. data/test/requests/storage/test_release_blob_lease.rb +34 -0
  753. data/test/requests/storage/test_release_container_lease.rb +34 -0
  754. data/test/requests/storage/test_save_page_blob.rb +115 -0
  755. data/test/requests/storage/test_update_storage_account.rb +34 -0
  756. data/test/requests/storage/test_wait_blob_copy_operation_to_finish.rb +148 -0
  757. data/test/requests/traffic_manager/test_check_traffic_manager_endpoint_exists.rb +38 -0
  758. data/test/requests/traffic_manager/test_check_traffic_manager_profile_exists.rb +38 -0
  759. data/test/requests/traffic_manager/test_create_traffic_manager_endpoint.rb +25 -0
  760. data/test/requests/traffic_manager/test_create_traffic_manager_profile.rb +25 -0
  761. data/test/requests/traffic_manager/test_delete_traffic_manager_endpoint.rb +23 -0
  762. data/test/requests/traffic_manager/test_delete_traffic_manager_profile.rb +23 -0
  763. data/test/requests/traffic_manager/test_get_traffic_manager_endpoint.rb +24 -0
  764. data/test/requests/traffic_manager/test_get_traffic_manager_profile.rb +24 -0
  765. data/test/requests/traffic_manager/test_list_traffic_manager_profiles.rb +24 -0
  766. data/test/requests/traffic_manager/test_update_traffic_manager_endpoint.rb +27 -0
  767. data/test/requests/traffic_manager/test_update_traffic_manager_profile.rb +27 -0
  768. data/test/smoke_tests/compute/test_resource_group_smoke.rb +37 -0
  769. data/test/test_credentials.rb +63 -0
  770. data/test/test_helper.rb +831 -0
  771. metadata +1050 -0
@@ -0,0 +1,178 @@
1
+ # Resources
2
+
3
+ This document explains how to get started using Azure Resources Service with Fog. With this gem you can create, update, list or delete resource groups.
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
+
13
+ ## Create Connection
14
+
15
+ Next, create a connection to the Resources Service:
16
+
17
+ ```ruby
18
+ fog_resources_service = Fog::Resources::AzureRM.new(
19
+ tenant_id: '<Tenant Id>', # Tenant Id of Azure Active Directory Application
20
+ client_id: '<Client Id>', # Client Id of Azure Active Directory Application
21
+ client_secret: '<Client Secret>', # Client Secret of Azure Active Directory Application
22
+ subscription_id: '<Subscription Id>', # Subscription Id of an Azure Account
23
+ environment: '<AzureCloud/AzureChinaCloud/AzureUSGovernment/AzureGermanCloud>' # Azure cloud environment. Default is AzureCloud.
24
+ )
25
+ ```
26
+
27
+ ## Check Resource Group Existence
28
+
29
+ ```ruby
30
+ fog_resources_service.resource_groups.check_resource_group_exists('<Resource Group Name>')
31
+ ```
32
+
33
+ ## Create Resource Group
34
+
35
+ Create a new resource group
36
+
37
+ ```ruby
38
+ fog_resources_service.resource_groups.create(
39
+ name: '<Resource Group name>',
40
+ location: '<Location>',
41
+ tags: { key1: 'value1', key2: 'value2', keyN: 'valueN' } # [Optional]
42
+ )
43
+ ```
44
+ ## List Resource Groups
45
+
46
+ ```ruby
47
+ fog_resources_service.resource_groups.each do |resource_group|
48
+ puts "#{resource_group.name}"
49
+ puts "#{resource_group.location}"
50
+ end
51
+ ```
52
+
53
+ ## Retrieve a single Resource Group
54
+
55
+ Get a single record of Resource Group
56
+
57
+ ```ruby
58
+ resource_group = fog_resources_service
59
+ .resource_groups
60
+ .get('<Resource Group Name>')
61
+ puts "#{resource_group.name}"
62
+ ```
63
+
64
+ ## Destroy a single Resource Group
65
+
66
+ Get resource group object from the get method(described above) and then destroy that resource group.
67
+
68
+ ```ruby
69
+ resource_group.destroy
70
+ ```
71
+ ## Tagging a Resource
72
+
73
+ You can tag a Resource as following:
74
+
75
+ ```ruby
76
+ fog_resources_service.tag_resource(
77
+ '<Resource Id>',
78
+ '<Tag Key>',
79
+ '<Tag Value>',
80
+ '<API Version>'
81
+ )
82
+ ```
83
+
84
+ ## List Tagged Resources in a Subscription
85
+
86
+ ```ruby
87
+ fog_resources_service.azure_resources(tag_name: '<Tag Key>', tag_value: '<Tag Value>').each do |resource|
88
+ puts "#{resource.name}"
89
+ puts "#{resource.location}"
90
+ puts "#{resource.type}"
91
+ end
92
+ ```
93
+ OR
94
+ ```ruby
95
+ fog_resources_service.azure_resources(tag_name: '<Tag Key>').each do |resource|
96
+ puts "#{resource.name}"
97
+ puts "#{resource.location}"
98
+ puts "#{resource.type}"
99
+ end
100
+ ```
101
+ ## Retrieve a single Resource
102
+
103
+ Get a single record of Tagged Resources
104
+
105
+ ```ruby
106
+ resource = fog_resources_service
107
+ .azure_resources(tag_name: '<Tag Key>')
108
+ .get('<Resource Id>')
109
+ puts "#{resource.name}"
110
+ ```
111
+ ## Remove tag from a Resource
112
+
113
+ Remove tag from a resource as following:
114
+
115
+ ```ruby
116
+ fog_resources_service.delete_resource_tag(
117
+ '<Resource Id>',
118
+ '<Tag Key>',
119
+ '<Tag Value>',
120
+ '<API Version>'
121
+ )
122
+ ```
123
+
124
+ ## Check Resource Existence
125
+
126
+ ```ruby
127
+ fog_resources_service.azure_resources.check_azure_resource_exists('<Resource Id>', '<API Version>')
128
+ ```
129
+
130
+ ## Check Deployment Existence
131
+
132
+ ```ruby
133
+ fog_resources_service.deployments.check_deployment_exists('<Resource Group Name>', '<Deployment Name>')
134
+ ```
135
+
136
+ ## Create Deployment
137
+
138
+ Create a Deployment
139
+
140
+ ```ruby
141
+ fog_resources_service.deployments.create(
142
+ name: '<Deployment Name>',
143
+ resource_group: '<Resource Group Name>',
144
+ template_link: '<Template Link>',
145
+ parameters_link: '<Parameters Link>'
146
+ )
147
+ ```
148
+ ## List Deployments
149
+
150
+ List Deployments in a resource group
151
+
152
+ ```ruby
153
+ fog_resources_service.deployments(resource_group: '<Resource Group Name>').each do |deployment|
154
+ puts "#{deployment.name}"
155
+ end
156
+ ```
157
+
158
+ ## Retrieve a single Deployment
159
+
160
+ Get a single record of Deployment
161
+
162
+ ```ruby
163
+ deployment = fog_resources_service
164
+ .deployments
165
+ .get('<Resource Group Name>', '<Deployment Name>')
166
+ puts "#{deployment.name}"
167
+ ```
168
+
169
+ ## Destroy a single Deployment
170
+
171
+ Get Deployment object from the get method(described above) and then destroy that Deployment.
172
+
173
+ ```ruby
174
+ deployment.destroy
175
+ ```
176
+
177
+ ## Support and Feedback
178
+ Your feedback is appreciated! If you have specific issues with the fog ARM, you should file an issue via Github.
@@ -0,0 +1,170 @@
1
+ # Azure SQL
2
+
3
+ This document explains how to get started using Azure SQL Services with Fog.
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
+
13
+ ## Create Connection
14
+
15
+ Next, create a connection to the SQL Service:
16
+
17
+ ```ruby
18
+ fog_sql_service = Fog::Sql::AzureRM.new(
19
+ tenant_id: '<Tenant Id>', # Tenant Id of Azure Active Directory Application
20
+ client_id: '<Client Id>', # Client Id of Azure Active Directory Application
21
+ client_secret: '<Client Secret>', # Client Secret of Azure Active Directory Application
22
+ subscription_id: '<Subscription Id>', # Subscription Id of an Azure Account
23
+ environment: '<AzureCloud/AzureChinaCloud/AzureUSGovernment/AzureGermanCloud>' # Azure cloud environment. Default is AzureCloud.
24
+ )
25
+ ```
26
+
27
+ The _server-name_ and _database-name_ value must be set using all lowercase ANSI letters , hyphen, and the numbers 1 through 9. Do not use a hyphen as the leading or trailing character.
28
+
29
+
30
+ ## Create SQL Server
31
+
32
+ Create a new Server
33
+
34
+ ```ruby
35
+ fog_sql_service.sql_servers.create(
36
+ name: '<Unique Server Name>',
37
+ resource_group: '<Resource Group Name>',
38
+ location: '<Location>',
39
+ version: '<Version Number>', # Specifies the version of the Azure server. The acceptable value are: '2.0' or '12.0'
40
+ administrator_login: '<Admin Username>', # Specifies the name of the SQL administrator.
41
+ administrator_login_password: '<Admin Password>', # Specifies the password of the SQL administrator.
42
+ tags: { key1: 'value1', key2: 'value2', keyN: 'valueN' } # [Optional]
43
+ )
44
+ ```
45
+ For more information, see link: https://msdn.microsoft.com/en-us/library/azure/mt297738.aspx
46
+
47
+ ## List SQL Servers
48
+ Get a list of servers in given resource group
49
+ ```ruby
50
+ servers = fog_sql_service.sql_servers(resource_group: '<Resource Group Name>')
51
+ servers.each do |server|
52
+ puts "Listing : #{server.name}"
53
+ end
54
+ ```
55
+
56
+ ## Retrieve a single SQL Server
57
+
58
+ Get a single record of SQL Server
59
+
60
+ ```ruby
61
+ server = fog_sql_service.sql_servers
62
+ .get('<Resource Group Name>', '<Server Name>')
63
+ puts "Server Name: #{server.name}"
64
+ ```
65
+
66
+ ## Destroy a SQL Server
67
+
68
+ Get SQL Server object from the get method(described above) and destroy that Server.
69
+
70
+ ```ruby
71
+ server.destroy
72
+ ```
73
+
74
+ ## Create SQL Database
75
+
76
+ Creates a new Sql Database
77
+
78
+ In parameter _create_mode_: 'Copy', 'NonReadableSecondary', and 'OnlineSecondary' are not supported by SQL Data Warehouse.
79
+
80
+ If parameter _edition_ is set to DataWarehouse, the acceptable values for parameter _requested_service_objective_name_ are: ['DW100', 'DW200', 'DW300', 'DW400', 'DW500', 'DW600', 'DW1000', 'DW1200', 'DW1500', 'DW2000', 'DW3000', 'DW6000']
81
+
82
+ ```ruby
83
+ fog_sql_service.sql_databases.create(
84
+ resource_group: '<Resource Group Name>',
85
+ location: '<Location>',
86
+ server_name: '<Server Name>',
87
+ name: '<Database Name>',
88
+ edition: '<Edition Type>', # Conditional. Specifies the edition of the database. If createMode is set to Default, then this value must be specified. The acceptable value are: [Basic, Standard, Premium, DataWarehouse]
89
+ source_database_id: '<URI>', # Conditional. Specifies the URI of the source database. If createMode is not set to Default, then this value must be specified.
90
+ collation: '<Collation>', # Conditional. Specifies the name of the collation. If createMode is set to Default, then this value must be specified.
91
+ max_size_bytes: '<Size in Bytes>', # Conditional. Specifies the maximum size to which the database may grow. If createMode is set to Default, then this value must be specified.
92
+ requested_service_objective_name: '<Name>', # Conditional. Specifies the requested service level of the database. If requestedServiceObjectiveId is specified, then this value must not be specified. The acceptable value are: [Basic, S0, S1, S2, S3, P1, P2, P4, P6, P11, ElasticPool]
93
+ elastic_pool_name: '<Pool Name>', # Conditional. Specifies the name of the elastic database pool. If requestedServiceObjectiveId or requestedServiceObjectiveName is set to ElasticPool, then this value must be specified.
94
+ requested_service_objective_id: '<GUID>', # Conditional. Specifies the identifier of the requested service level. If requestedServiceObjectiveName is specified, then this value must not be specified.
95
+ tags: { key1: 'value1', key2: 'value2', keyN: 'valueN' }, # [Optional]
96
+ create_mode: '<Create Mode Type>' # [Optional]. Specifies the type of database to create. The default value is Default. The acceptable values are: [Copy, Default, NonReadableSecondary, OnlineSecondary, PointInTimeRestore, PointInTimeRestore, Restore]
97
+ )
98
+ ```
99
+ For more information see link: https://msdn.microsoft.com/en-us/library/azure/mt163685.aspx
100
+
101
+ ## List SQL Databases
102
+ Get a list of databases in given resource group
103
+
104
+ ```ruby
105
+ databases = fog_sql_service.sql_databases(resource_group: '<Resource Group Name>', server_name: '<Server Name>')
106
+ databases.each do |database|
107
+ puts "Listing : #{database.name}"
108
+ end
109
+ ```
110
+
111
+ ## Retrieve a single SQL Database
112
+
113
+ Get a single record of SQL Database
114
+
115
+ ```ruby
116
+ database = fog_sql_service.sql_databases
117
+ .get('<Resource Group Name>', '<Server Name>', '<Database Name>')
118
+ puts "Database Name: #{database.name}"
119
+ ```
120
+
121
+ ## Destroy a single SQL Database
122
+
123
+ Get SQL Database object from the get method(described above) and destroy that Database.
124
+
125
+ ```ruby
126
+ database.destroy
127
+ ```
128
+
129
+ ## Create Firewall Rule
130
+
131
+ Create a new Firewall Rule
132
+
133
+ ```ruby
134
+ fog_sql_service.firewall_rules.create(
135
+ name: '<Firewall Rule Name>',
136
+ resource_group: '<Resource Group Name>',
137
+ server_location: '<Server Name>',
138
+ start_ip: '<Start IP Address>', # Specifies the starting IP address to allow through the firewall.
139
+ end_ip: '<End IP Address>', # Specifies the ending IP address to allow through the firewall.
140
+
141
+ )
142
+ ```
143
+
144
+ ## List Firewall Rules
145
+ Get a list of Firewall Rules on a SQL Server in given resource group
146
+ ```ruby
147
+ firewall_rules = fog_sql_service.firewall_rules(resource_group: '<Resource Group Name>', server_name: '<Server Name>')
148
+ firewall_rules.each do |firewall_rule|
149
+ puts "Listing : #{firewall_rule.name}"
150
+ end
151
+ ```
152
+
153
+ ## Retrieve a single Firewall Rule
154
+ Get a single record of Firewall rule on SQL Server
155
+ ```ruby
156
+ firewall_rule = fog_sql_service.firewall_rules
157
+ .get('<Resource Group Name>', '<Server Name>', '<Firewall Rule Name>')
158
+ puts "Get: Firewall Rule Name: #{firewall_rule.name}"
159
+ ```
160
+
161
+ ## Destroy a Firewall Rule
162
+ Get Firewall Rule object from the get method(described above) and destroy that Firewall Rule.
163
+
164
+ ```ruby
165
+ firewall_rule.destroy
166
+ ```
167
+
168
+
169
+ ## Support and Feedback
170
+ Your feedback is appreciated! If you have specific issues with the fog ARM, you should file an issue via Github.
@@ -0,0 +1,398 @@
1
+ # Storage
2
+
3
+ This document explains how to get started using Azure Storage Service with Fog. With this gem you can create, update, list or delete storage accounts.
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
+
13
+ ## Create Connection
14
+
15
+ Next, create a connection to the Storage Service:
16
+
17
+ ```ruby
18
+ fog_storage_service = Fog::Storage::AzureRM.new(
19
+ tenant_id: '<Tenant Id>', # Tenant Id of Azure Active Directory Application
20
+ client_id: '<Client Id>', # Client Id of Azure Active Directory Application
21
+ client_secret: '<Client Secret>', # Client Secret of Azure Active Directory Application
22
+ subscription_id: '<Subscription Id>', # Subscription Id of an Azure Account
23
+ azure_storage_account_name: '<Storage Account Name>', # Name of an Azure Storage Account
24
+ azure_storage_access_key: '<Storage Account Key>', # Key of an Azure Storage Account
25
+ environment: '<AzureCloud/AzureChinaCloud/AzureUSGovernment/AzureGermanCloud>' # Azure cloud environment. Default is AzureCloud.
26
+ )
27
+ ```
28
+
29
+ If you only want to manage the storage accounts, you can create the connection without the storage account information:
30
+
31
+ ```ruby
32
+ fog_storage_service = Fog::Storage::AzureRM.new(
33
+ tenant_id: '<Tenant Id>', # Tenant Id of Azure Active Directory Application
34
+ client_id: '<Client Id>', # Client Id of Azure Active Directory Application
35
+ client_secret: '<Client Secret>', # Client Secret of Azure Active Directory Application
36
+ subscription_id: '<Subscription Id>', # Subscription Id of an Azure Account
37
+ environment: '<AzureCloud/AzureChinaCloud/AzureUSGovernment/AzureGermanCloud>' # Azure cloud environment. Default is AzureCloud.
38
+ )
39
+ ```
40
+
41
+ If you only want to manage the storage data, you can create the connection without the Azure subscription information:
42
+
43
+ ```ruby
44
+ fog_storage_service = Fog::Storage::AzureRM.new(
45
+ azure_storage_account_name: '<Storage Account Name>', # Name of an Azure Storage Account
46
+ azure_storage_access_key: '<Storage Account Key>', # Key of an Azure Storage Account
47
+ environment: '<AzureCloud/AzureChinaCloud/AzureUSGovernment/AzureGermanCloud>' # Azure cloud environment. Default is AzureCloud.
48
+ )
49
+ ```
50
+
51
+ ## Check Name Availability
52
+
53
+ This operation checks that account name is valid and is not already in use. _Storage Account Type_ is an optional parameter
54
+
55
+ ```ruby
56
+ fog_storage_service.storage_accounts.check_name_availability('<Storage Account Name>', '<Storage Account Type>')
57
+ ```
58
+
59
+ ## Check Storage Account Existence
60
+
61
+ ```ruby
62
+ fog_storage_service.storage_accounts.check_storage_account_exists('<Resource Group Name>', '<Storage Account Name>')
63
+ ```
64
+
65
+ ## Create Storage Account
66
+
67
+ Create a new storage account. Replication attribute for Standard and Premium account types are as follows
68
+
69
+ ##### Standard
70
+
71
+ 1. LRS (Standard Locally-redundant storage)
72
+ 2. ZRS (Standard Zone-redundant storage)
73
+ 3. GRS (Standard Geo-redundant storage)
74
+ 4. RAGRS (Standard Read access geo-redundant storage)
75
+
76
+ ##### Premium
77
+ 1. LRS (Premium Locally-redundant storage)
78
+
79
+ ```ruby
80
+ fog_storage_service.storage_accounts.create(
81
+ name: '<Storage Account name>',
82
+ location: '<Location>',
83
+ resource_group: '<Resource Group Name>',
84
+ account_type: '<Standard/Premium>', # [Optional] Default value 'Standard'. Allowed values can only be Standard or Premium
85
+ replication: '<Replication Type>', # [Optional] Default value 'LRS'
86
+ encryption: <True/False>, # [Optional] Enables encryption. Default is false.
87
+ tags: { key1: 'value1', key2: 'value2', keyN: 'valueN' } # [Optional]
88
+ )
89
+ ```
90
+ Premium Storage account store data on solid state drives (SSDs). For more details on standard and premium storage accounts, see [Introduction to Microsoft Azure Storage](https://azure.microsoft.com/en-us/documentation/articles/storage-introduction/) and [Premium Storage: High-Performance Storage for Azure Virtual Machine Workloads](https://azure.microsoft.com/en-us/documentation/articles/storage-premium-storage/).
91
+
92
+ ## List storage accounts
93
+
94
+ ##### List storage accounts in a subscription
95
+
96
+ ```ruby
97
+ fog_storage_service.storage_accounts.each do |storage_acc|
98
+ puts "#{storage_acc.name}"
99
+ puts "#{storage_acc.location}"
100
+ end
101
+ ```
102
+ ##### List storage accounts in a resource group
103
+
104
+ ```ruby
105
+ storage_accounts = fog_storage_service.storage_accounts(resource_group: '<Resource Group Name>')
106
+ storage_accounts.each do |storage_acc|
107
+ puts "#{storage_acc.name}"
108
+ puts "#{storage_acc.location}"
109
+ end
110
+ ```
111
+
112
+ ## Retrieve a single Storage Account
113
+
114
+ Get a single record of Storage Account
115
+
116
+ ```ruby
117
+ storage_acc = fog_storage_service
118
+ .storage_accounts
119
+ .get('<Resource Group Name>', '<Storage Account Name>')
120
+ puts "#{storage_acc.name}"
121
+ ```
122
+
123
+ ## Enable encryption on Storage Account
124
+
125
+ Get a single record of Storage Account and enable encryption on that Storage Account
126
+
127
+ ```ruby
128
+ storage_acc = fog_storage_service
129
+ .storage_accounts
130
+ .get('<Resource Group Name>', '<Storage Account Name>')
131
+
132
+ storage_acc.update(encryption: true)
133
+ ```
134
+
135
+ ## Get Access Keys
136
+
137
+ Get access keys of a storage account
138
+
139
+ ```ruby
140
+ keys_hash = storage_acc.get_access_keys
141
+ keys_hash.each do |keys|
142
+ puts "#{keys.key_name}: #{keys.value}"
143
+ end
144
+ ```
145
+
146
+ ## Destroy a single Storage Account
147
+
148
+ Get storage account object from the get method and then destroy that storage account.
149
+
150
+ ```ruby
151
+ storage_acc.destroy
152
+ ```
153
+
154
+ ## Create a Disk
155
+
156
+ Create a Disk in storage account. _disk_size_in_gb_ must be an integer and the range is [1, 1023].
157
+ By default the disk will be created in the container 'vhds'. You can specify other container by set options[:container_name].
158
+
159
+ ```ruby
160
+ fog_storage_service.create_disk('<Data Disk Name>', disk_size_in_gb, options = {})
161
+ ```
162
+
163
+ ## Delete a Disk
164
+
165
+ Delete a Disk from a storage account. Disk must be in unlocked state i.e detached from server (virtual machine) to successfully perform this action.
166
+ By default the disk will be deleted from the container 'vhds'. You can specify other container by set options[:container_name].
167
+
168
+ ```ruby
169
+ fog_storage_service.delete_disk('<Data Disk Name>', options = {})
170
+ ```
171
+
172
+ ## Check Storage Container Existence
173
+
174
+ ```ruby
175
+ fog_storage_service.directories.check_container_exists('<Container Name>')
176
+ ```
177
+
178
+ ## Create a storage container
179
+
180
+ Create a storage container in the current storage account.
181
+
182
+ ```ruby
183
+ directory = fog_storage_service.directories.create(
184
+ key: '<Container Name>',
185
+ public: <True/False>
186
+ )
187
+ puts directory.key
188
+ ```
189
+
190
+ ## List storage containers
191
+
192
+ List all the storage containers in the current storage accounts.
193
+
194
+ ```ruby
195
+ fog_storage_service.directories.each do |directory|
196
+ puts directory.key
197
+ end
198
+ ```
199
+
200
+ ## Get the access control level of the storage container
201
+
202
+ Get the permissions for the specified container. The permissions indicate whether container data may be accessed publicly.
203
+
204
+ ```ruby
205
+ directory = fog_storage_service.directories.get('<Container Name>', max_keys: <Maximum No. of Keys Value>)
206
+ puts directory.acl
207
+ ```
208
+
209
+ ## Set the access control level of the storage container
210
+
211
+ Set the permissions for the specified container. The permissions indicate whether container data may be accessed publicly. The container permissions provide the following options for managing container access:
212
+
213
+ - ###### Container
214
+
215
+ Full public read access. Container and blob data can be read via anonymous request. Clients can enumerate blobs within the container via anonymous request, but cannot enumerate containers within the storage account.
216
+
217
+ - ###### Blob
218
+
219
+ Public read access for blobs only. Blob data within this container can be read via anonymous request, but container data is not available. Clients cannot enumerate blobs within the container via anonymous request.
220
+
221
+ - ###### Nil
222
+
223
+ No public read access. Container and blob data can be read by the account owner only.
224
+
225
+ ```ruby
226
+ directory = fog_storage_service.directories.get('<Container Name>', max_keys: <Maximum No. of Keys Value>)
227
+ directory.acl = '<Container Name>'
228
+ directory.save(is_create: <True/False>)
229
+ ```
230
+
231
+ ## Delete the storage container
232
+
233
+ Mark the specified container for deletion. The container and any blobs contained within it are later deleted during garbage collection.
234
+
235
+ ```ruby
236
+ directory = fog_storage_service.directories.get('<Container Name>', max_keys: <Maximum No. of Keys Value>)
237
+ puts directory.destroy
238
+ ```
239
+
240
+ ## Upload data as a block blob
241
+ ```ruby
242
+ directory = fog_storage_service.directories.get('<Container Name>', max_keys: <Maximum No. of Keys Value>)
243
+ options = {
244
+ key: '<Blob Name>',
245
+ body: '<Blob Content>'
246
+ }
247
+ new_block_blob = directory.files.create(options)
248
+ puts new_block_blob.inspect
249
+ ```
250
+
251
+ ## Upload a local file as a block blob
252
+ ```ruby
253
+ directory = fog_storage_service.directories.get('<Container Name>', max_keys: <Maximum No. of Keys Value>)
254
+ File.open('<File Path>') do |file|
255
+ options = {
256
+ key: '<Blob Name>',
257
+ body: file
258
+ }
259
+ new_block_blob = directory.files.create(options)
260
+ puts new_block_blob.inspect
261
+ end
262
+ ```
263
+
264
+ ## Upload VHD data as a page blob
265
+ ```ruby
266
+ directory = fog_storage_service.directories.get('<Container Name>', max_keys: <Maximum No. of Keys Value>)
267
+ options = {
268
+ key: '<Blob Name>',
269
+ body: '<Blob Content>',
270
+ blob_type: '<Blob Type>'
271
+ }
272
+ new_page_blob = directory.files.create(options)
273
+ puts new_page_blob.inspect
274
+ ```
275
+
276
+ ## Upload a local VHD as a page blob
277
+ ```ruby
278
+ directory = fog_storage_service.directories.get('<Container Name>', max_keys: <Maximum No. of Keys Value>)
279
+ File.open('<File Path>') do |file|
280
+ options = {
281
+ key: '<Blob Name>',
282
+ body: file,
283
+ blob_type: '<Blob Type>'
284
+ }
285
+ new_page_blob = directory.files.create(options)
286
+ puts new_page_blob.inspect
287
+ end
288
+ ```
289
+
290
+ ## Copy Blob from one container to another
291
+ ```ruby
292
+ directory = fog_storage_service.directories.get('<Source Container Name>', max_keys: <Maximum No. of Keys Value>)
293
+ copied_blob = directory.files.head('<Source Blob Name>').copy('<Destination Container Name>', '<Destination Blob Name>')
294
+ puts copied_blob.inspect
295
+ ```
296
+
297
+ ## Copy Blob from one uri to self
298
+ ```ruby
299
+ directory = fog_storage_service.directories.get('<Destination Container Name>', max_keys: <Maximum No. of Keys Value>)
300
+ copied_blob = directory.files.new(key: '<Destination Blob Name>')
301
+ copied_blob.copy_from_uri('<Source Blob Uri>')
302
+ puts copied_blob.inspect
303
+ ```
304
+
305
+ ## Download a small blob to a local file
306
+ ```ruby
307
+ directory = fog_storage_service.directories.get('<Container Name>', max_keys: <Maximum No. of Keys Value>)
308
+ blob = directory.files.get('<Blob Name>')
309
+ File.open('<File Path>', 'wb') do |file|
310
+ file.write(blob.body)
311
+ end
312
+ puts "File Size: #{::File.size <File Path>}"
313
+ ```
314
+
315
+ ## Download a large blob to a local file
316
+ ```ruby
317
+ directory = fog_storage_service.directories.get('<Container Name>', max_keys: <Maximum No. of Keys Value>)
318
+ File.open('<File Path>', 'wb') do |file|
319
+ directory.files.get('<Blob Name>') do |chunk, remaining_bytes, total_bytes|
320
+ puts "remaining_bytes: #{remaining_bytes}, total_bytes: #{total_bytes}"
321
+ file.write(chunk)
322
+ end
323
+ end
324
+ puts "File Size: #{::File.size <File Path>}"
325
+ ```
326
+
327
+ ## Delete the storage blob
328
+
329
+ Mark the specified blob for deletion. The blob is later deleted during garbage collection.
330
+
331
+ ```ruby
332
+ directory = fog_storage_service.directories.get('<Container Name>', max_keys: <Maximum No. of Keys Value>)
333
+ blob = directory.files.head('<Blob Name>')
334
+ puts blob.destroy
335
+ ```
336
+
337
+ ## Set storage blob properties
338
+
339
+ Set the storage blob properties.
340
+
341
+ ```ruby
342
+ directory = fog_storage_service.directories.get('<Container Name>', max_keys: <Maximum No. of Keys Value>)
343
+ blob = directory.files.head('<Blob Name>')
344
+ blob.content_language = '<Language>'
345
+ blob.content_disposition = '<Content Disposition Type>'
346
+ blob.save(update_body: <True/False>)
347
+ ```
348
+
349
+ ## Metadata
350
+
351
+ Metadata allows us to provide descriptive information about specific containers or blobs. This is simply providing name/value pairs of data we want to set on the container or blob.
352
+
353
+ ### Get Blob Metadata
354
+
355
+ ```ruby
356
+ directory = fog_storage_service.directories.get('<Container Name>', max_keys: <Maximum No. of Keys Value>)
357
+ blob = directory.files.head('<Blob Name>')
358
+ puts blob.metadata
359
+ ```
360
+
361
+ ### Set Blob Metadata
362
+
363
+ ```ruby
364
+ directory = fog_storage_service.directories.get('<Container Name>', max_keys: <Maximum No. of Keys Value>)
365
+ blob = directory.files.head('<Blob Name>')
366
+ blob.metadata = {
367
+ Category: '<Category Value>',
368
+ Resolution: '<Resolution Value>'
369
+ }
370
+ blob.save(update_body: <True/False>)
371
+ ```
372
+
373
+ ### Get Container Metadata
374
+
375
+ ```ruby
376
+ directory = fog_storage_service.directories.get('<Container Name>', max_keys: <Maximum No. of Keys Value>)
377
+ puts directory.metadata
378
+ ```
379
+
380
+ ### Set Container Metadata
381
+
382
+ ```ruby
383
+ directory = fog_storage_service.directories.get('<Container Name>', max_keys: <Maximum No. of Keys Value>)
384
+ directory.metadata = {
385
+ CreatedBy: '<Username>',
386
+ SourceMachine: '<Machine Name>',
387
+ category: '<Category Value>',
388
+ docType: '<Document Type>'
389
+ }
390
+ directory.save(is_create: <True/False>)
391
+ ```
392
+
393
+ ## Support and Feedback
394
+ Your feedback is appreciated! If you have specific issues with the fog ARM, you should file an issue via Github.
395
+
396
+
397
+
398
+