fog-azure-rm 0.0.3 → 0.0.4

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 (288) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +17 -0
  3. data/.gitignore +6 -0
  4. data/.hound.yml +2 -0
  5. data/.rubocop.yml +36 -0
  6. data/.travis.yml +14 -0
  7. data/CHANGELOG.md +28 -0
  8. data/CONTRIBUTING.md +2 -0
  9. data/CONTRIBUTORS.md +2 -0
  10. data/Gemfile +3 -0
  11. data/fog-azure-rm.gemspec +34 -0
  12. data/lib/fog/azurerm.rb +1 -0
  13. data/lib/fog/azurerm/compute.rb +0 -1
  14. data/lib/fog/azurerm/config.rb +4 -0
  15. data/lib/fog/azurerm/credentials.rb +10 -3
  16. data/lib/fog/azurerm/docs/compute.md +172 -0
  17. data/lib/fog/azurerm/docs/dns.md +112 -0
  18. data/lib/fog/azurerm/docs/network.md +794 -0
  19. data/lib/fog/azurerm/docs/resources.md +155 -0
  20. data/lib/fog/azurerm/docs/storage.md +222 -0
  21. data/lib/fog/azurerm/docs/structure.md +53 -0
  22. data/lib/fog/azurerm/models/compute/server.rb +3 -2
  23. data/lib/fog/azurerm/models/network/frontend_ip_configuration.rb +5 -1
  24. data/lib/fog/azurerm/models/network/network_interface.rb +49 -4
  25. data/lib/fog/azurerm/models/network/network_interfaces.rb +4 -2
  26. data/lib/fog/azurerm/models/network/network_security_group.rb +27 -4
  27. data/lib/fog/azurerm/models/network/network_security_groups.rb +4 -2
  28. data/lib/fog/azurerm/models/network/network_security_rule.rb +1 -1
  29. data/lib/fog/azurerm/models/network/subnet.rb +26 -6
  30. data/lib/fog/azurerm/models/network/subnets.rb +4 -2
  31. data/lib/fog/azurerm/models/network/virtual_network.rb +72 -10
  32. data/lib/fog/azurerm/models/network/virtual_networks.rb +4 -2
  33. data/lib/fog/azurerm/models/resources/azure_resource.rb +25 -0
  34. data/lib/fog/azurerm/models/resources/azure_resources.rb +31 -0
  35. data/lib/fog/azurerm/models/resources/dependency.rb +27 -0
  36. data/lib/fog/azurerm/models/resources/deployment.rb +65 -0
  37. data/lib/fog/azurerm/models/resources/deployments.rb +27 -0
  38. data/lib/fog/azurerm/models/resources/provider.rb +27 -0
  39. data/lib/fog/azurerm/models/resources/provider_resource_type.rb +22 -0
  40. data/lib/fog/azurerm/models/storage/blob.rb +13 -0
  41. data/lib/fog/azurerm/models/storage/blobs.rb +22 -0
  42. data/lib/fog/azurerm/models/storage/container.rb +65 -0
  43. data/lib/fog/azurerm/models/storage/containers.rb +44 -0
  44. data/lib/fog/azurerm/models/storage/data_disk.rb +26 -0
  45. data/lib/fog/azurerm/models/storage/storage_account.rb +4 -0
  46. data/lib/fog/azurerm/network.rb +21 -3
  47. data/lib/fog/azurerm/requests/network/add_address_prefixes_in_virtual_network.rb +68 -0
  48. data/lib/fog/azurerm/requests/network/add_dns_servers_in_virtual_network.rb +74 -0
  49. data/lib/fog/azurerm/requests/network/add_security_rules.rb +152 -0
  50. data/lib/fog/azurerm/requests/network/add_subnets_in_virtual_network.rb +69 -0
  51. data/lib/fog/azurerm/requests/network/attach_network_security_group_to_subnet.rb +59 -0
  52. data/lib/fog/azurerm/requests/network/attach_resource_to_nic.rb +88 -0
  53. data/lib/fog/azurerm/requests/network/attach_route_table_to_subnet.rb +59 -0
  54. data/lib/fog/azurerm/requests/network/create_load_balancer.rb +4 -4
  55. data/lib/fog/azurerm/requests/network/{create_network_interface.rb → create_or_update_network_interface.rb} +14 -13
  56. data/lib/fog/azurerm/requests/network/{create_network_security_group.rb → create_or_update_network_security_group.rb} +17 -35
  57. data/lib/fog/azurerm/requests/network/create_or_update_virtual_network.rb +116 -0
  58. data/lib/fog/azurerm/requests/network/create_subnet.rb +28 -14
  59. data/lib/fog/azurerm/requests/network/detach_network_security_group_from_subnet.rb +53 -0
  60. data/lib/fog/azurerm/requests/network/detach_resource_from_nic.rb +80 -0
  61. data/lib/fog/azurerm/requests/network/detach_route_table_from_subnet.rb +53 -0
  62. data/lib/fog/azurerm/requests/network/get_network_interface.rb +60 -0
  63. data/lib/fog/azurerm/requests/network/get_network_security_group.rb +161 -0
  64. data/lib/fog/azurerm/requests/network/get_subnet.rb +36 -0
  65. data/lib/fog/azurerm/requests/network/get_virtual_network.rb +64 -0
  66. data/lib/fog/azurerm/requests/network/remove_address_prefixes_from_virtual_network.rb +67 -0
  67. data/lib/fog/azurerm/requests/network/remove_dns_servers_from_virtual_network.rb +67 -0
  68. data/lib/fog/azurerm/requests/network/remove_security_rule.rb +155 -0
  69. data/lib/fog/azurerm/requests/network/remove_subnets_from_virtual_network.rb +57 -0
  70. data/lib/fog/azurerm/requests/resources/create_deployment.rb +90 -0
  71. data/lib/fog/azurerm/requests/resources/delete_deployment.rb +28 -0
  72. data/lib/fog/azurerm/requests/resources/delete_resource_tag.rb +48 -0
  73. data/lib/fog/azurerm/requests/resources/list_deployments.rb +75 -0
  74. data/lib/fog/azurerm/requests/resources/list_tagged_resources.rb +46 -0
  75. data/lib/fog/azurerm/requests/resources/tag_resource.rb +46 -0
  76. data/lib/fog/azurerm/requests/storage/create_container.rb +37 -0
  77. data/lib/fog/azurerm/requests/storage/delete_container.rb +26 -0
  78. data/lib/fog/azurerm/requests/storage/delete_disk.rb +36 -0
  79. data/lib/fog/azurerm/requests/storage/get_blob_metadata.rb +30 -0
  80. data/lib/fog/azurerm/requests/storage/get_container_access_control_list.rb +29 -0
  81. data/lib/fog/azurerm/requests/storage/get_container_metadata.rb +31 -0
  82. data/lib/fog/azurerm/requests/storage/get_container_properties.rb +36 -0
  83. data/lib/fog/azurerm/requests/storage/get_storage_access_keys.rb +31 -0
  84. data/lib/fog/azurerm/requests/storage/list_containers.rb +49 -0
  85. data/lib/fog/azurerm/requests/storage/list_storage_account_for_rg.rb +0 -1
  86. data/lib/fog/azurerm/requests/storage/set_blob_metadata.rb +26 -0
  87. data/lib/fog/azurerm/requests/storage/set_container_metadata.rb +26 -0
  88. data/lib/fog/azurerm/resources.rb +13 -0
  89. data/lib/fog/azurerm/storage.rb +46 -6
  90. data/lib/fog/azurerm/utilities/general.rb +18 -0
  91. data/lib/fog/azurerm/version.rb +1 -1
  92. data/rakefile +21 -0
  93. data/test/api_stub.rb +44 -0
  94. data/test/api_stub/models/compute/availability_set.rb +21 -0
  95. data/test/api_stub/models/compute/server.rb +191 -0
  96. data/test/api_stub/models/dns/record_set.rb +59 -0
  97. data/test/api_stub/models/dns/zone.rb +47 -0
  98. data/test/api_stub/models/network/application_gateway.rb +135 -0
  99. data/test/api_stub/models/network/load_balancer.rb +132 -0
  100. data/test/api_stub/models/network/network_interface.rb +71 -0
  101. data/test/api_stub/models/network/network_security_group.rb +94 -0
  102. data/test/api_stub/models/network/public_ip.rb +35 -0
  103. data/test/api_stub/models/network/subnet.rb +35 -0
  104. data/test/api_stub/models/network/traffic_manager_end_point.rb +26 -0
  105. data/test/api_stub/models/network/traffic_manager_profile.rb +74 -0
  106. data/test/api_stub/models/network/virtual_network.rb +61 -0
  107. data/test/api_stub/models/resources/deployment.rb +110 -0
  108. data/test/api_stub/models/resources/resource.rb +40 -0
  109. data/test/api_stub/models/resources/resource_group.rb +38 -0
  110. data/test/api_stub/models/storage/blob.rb +17 -0
  111. data/test/api_stub/models/storage/container.rb +92 -0
  112. data/test/api_stub/models/storage/data_disk.rb +30 -0
  113. data/test/api_stub/models/storage/storageaccount.rb +29 -0
  114. data/test/api_stub/requests/compute/availability_set.rb +46 -0
  115. data/test/api_stub/requests/compute/virtual_machine.rb +654 -0
  116. data/test/api_stub/requests/dns/record_set.rb +105 -0
  117. data/test/api_stub/requests/dns/zone.rb +67 -0
  118. data/test/api_stub/requests/network/application_gateway.rb +433 -0
  119. data/test/api_stub/requests/network/load_balancer.rb +366 -0
  120. data/test/api_stub/requests/network/network_interface.rb +268 -0
  121. data/test/api_stub/requests/network/network_security_group.rb +240 -0
  122. data/test/api_stub/requests/network/public_ip.rb +73 -0
  123. data/test/api_stub/requests/network/subnet.rb +73 -0
  124. data/test/api_stub/requests/network/traffic_manager_endpoint.rb +25 -0
  125. data/test/api_stub/requests/network/traffic_manager_profile.rb +140 -0
  126. data/test/api_stub/requests/network/virtual_network.rb +127 -0
  127. data/test/api_stub/requests/resources/deployment.rb +23 -0
  128. data/test/api_stub/requests/resources/resource.rb +47 -0
  129. data/test/api_stub/requests/resources/resource_group.rb +53 -0
  130. data/test/api_stub/requests/storage/blob.rb +24 -0
  131. data/test/api_stub/requests/storage/container.rb +95 -0
  132. data/test/api_stub/requests/storage/storageaccount.rb +112 -0
  133. data/test/integration/README.md +14 -0
  134. data/test/integration/application_gateway.rb +129 -0
  135. data/test/integration/availability_set.rb +56 -0
  136. data/test/integration/container.rb +81 -0
  137. data/test/integration/credentials/azure.yml +4 -0
  138. data/test/integration/external_load_balancer.rb +119 -0
  139. data/test/integration/internal_load_balancer.rb +126 -0
  140. data/test/integration/network_interface.rb +135 -0
  141. data/test/integration/network_security_group.rb +104 -0
  142. data/test/integration/public_ip.rb +63 -0
  143. data/test/integration/record_set.rb +88 -0
  144. data/test/integration/server.rb +139 -0
  145. data/test/integration/storage_account.rb +62 -0
  146. data/test/integration/subnet.rb +91 -0
  147. data/test/integration/traffic_manager.rb +81 -0
  148. data/test/integration/virtual_network.rb +124 -0
  149. data/test/integration/zone.rb +64 -0
  150. data/test/models/compute/test_availability_set.rb +53 -0
  151. data/test/models/compute/test_availability_sets.rb +41 -0
  152. data/test/models/compute/test_server.rb +143 -0
  153. data/test/models/compute/test_servers.rb +49 -0
  154. data/test/models/dns/test_record_set.rb +59 -0
  155. data/test/models/dns/test_record_sets.rb +51 -0
  156. data/test/models/dns/test_zone.rb +49 -0
  157. data/test/models/dns/test_zones.rb +49 -0
  158. data/test/models/network/test_application_gateway.rb +62 -0
  159. data/test/models/network/test_application_gateways.rb +42 -0
  160. data/test/models/network/test_load_balancer.rb +56 -0
  161. data/test/models/network/test_load_balancers.rb +42 -0
  162. data/test/models/network/test_network_interface.rb +106 -0
  163. data/test/models/network/test_network_interfaces.rb +41 -0
  164. data/test/models/network/test_network_security_group.rb +88 -0
  165. data/test/models/network/test_network_security_groups.rb +40 -0
  166. data/test/models/network/test_network_security_rule.rb +30 -0
  167. data/test/models/network/test_public_ip.rb +58 -0
  168. data/test/models/network/test_public_ips.rb +55 -0
  169. data/test/models/network/test_subnet.rb +84 -0
  170. data/test/models/network/test_subnets.rb +42 -0
  171. data/test/models/network/test_traffic_manager_end_point.rb +53 -0
  172. data/test/models/network/test_traffic_manager_end_points.rb +42 -0
  173. data/test/models/network/test_traffic_manager_profile.rb +54 -0
  174. data/test/models/network/test_traffic_manager_profiles.rb +41 -0
  175. data/test/models/network/test_virtual_network.rb +112 -0
  176. data/test/models/network/test_virtual_networks.rb +54 -0
  177. data/test/models/resources/test_deployment.rb +54 -0
  178. data/test/models/resources/test_deployments.rb +37 -0
  179. data/test/models/resources/test_resource.rb +22 -0
  180. data/test/models/resources/test_resource_group.rb +43 -0
  181. data/test/models/resources/test_resource_groups.rb +37 -0
  182. data/test/models/resources/test_resources.rb +38 -0
  183. data/test/models/storage/test_blobs.rb +32 -0
  184. data/test/models/storage/test_container.rb +67 -0
  185. data/test/models/storage/test_containers.rb +56 -0
  186. data/test/models/storage/test_data_disk.rb +29 -0
  187. data/test/models/storage/test_storage_account.rb +62 -0
  188. data/test/models/storage/test_storage_accounts.rb +65 -0
  189. data/test/requests/compute/test_attach_data_disk_to_vm.rb +175 -0
  190. data/test/requests/compute/test_create_availability_set.rb +30 -0
  191. data/test/requests/compute/test_create_virtual_machine.rb +50 -0
  192. data/test/requests/compute/test_deallocate_virtual_machine.rb +29 -0
  193. data/test/requests/compute/test_delete_availability_set.rb +29 -0
  194. data/test/requests/compute/test_delete_virtual_machine.rb +29 -0
  195. data/test/requests/compute/test_detach_data_disk_from_vm.rb +53 -0
  196. data/test/requests/compute/test_generalize_virtual_machine.rb +29 -0
  197. data/test/requests/compute/test_get_virtual_machine.rb +31 -0
  198. data/test/requests/compute/test_get_vm_status.rb +31 -0
  199. data/test/requests/compute/test_list_availability_sets.rb +30 -0
  200. data/test/requests/compute/test_list_available_sizes_for_virtual_machine.rb +31 -0
  201. data/test/requests/compute/test_list_virtual_machines.rb +30 -0
  202. data/test/requests/compute/test_power_off_virtual_machine.rb +29 -0
  203. data/test/requests/compute/test_redeploy_virtual_machine.rb +29 -0
  204. data/test/requests/compute/test_restart_virtual_machine.rb +29 -0
  205. data/test/requests/compute/test_start_virtual_machine.rb +29 -0
  206. data/test/requests/dns/test_check_for_zone.rb +52 -0
  207. data/test/requests/dns/test_create_record_set.rb +45 -0
  208. data/test/requests/dns/test_create_zone.rb +36 -0
  209. data/test/requests/dns/test_delete_record_set.rb +35 -0
  210. data/test/requests/dns/test_delete_zone.rb +35 -0
  211. data/test/requests/dns/test_get_records_from_record_set.rb +55 -0
  212. data/test/requests/dns/test_list_record_sets.rb +36 -0
  213. data/test/requests/dns/test_list_zones.rb +40 -0
  214. data/test/requests/network/test_add_address_prefixes_in_virtual_network.rb +45 -0
  215. data/test/requests/network/test_add_dns_servers_in_virtual_network.rb +45 -0
  216. data/test/requests/network/test_add_security_rules.rb +63 -0
  217. data/test/requests/network/test_add_subnets_in_virtual_network.rb +45 -0
  218. data/test/requests/network/test_attach_network_security_group_to_subnet.rb +33 -0
  219. data/test/requests/network/test_attach_resource_to_nic.rb +65 -0
  220. data/test/requests/network/test_attach_route_table_to_subnet.rb +33 -0
  221. data/test/requests/network/test_check_for_public_ip.rb +38 -0
  222. data/test/requests/network/test_check_for_virtual_network.rb +38 -0
  223. data/test/requests/network/test_create_application_gateway.rb +61 -0
  224. data/test/requests/network/test_create_load_balancer.rb +56 -0
  225. data/test/requests/network/test_create_network_interface.rb +54 -0
  226. data/test/requests/network/test_create_network_security_group.rb +45 -0
  227. data/test/requests/network/test_create_or_update_virtual_network.rb +63 -0
  228. data/test/requests/network/test_create_public_ip.rb +44 -0
  229. data/test/requests/network/test_create_subnet.rb +44 -0
  230. data/test/requests/network/test_create_traffic_manager_endpoint.rb +32 -0
  231. data/test/requests/network/test_create_traffic_manager_profile.rb +32 -0
  232. data/test/requests/network/test_delete_application_gateway.rb +30 -0
  233. data/test/requests/network/test_delete_load_balancer.rb +30 -0
  234. data/test/requests/network/test_delete_network_interface.rb +30 -0
  235. data/test/requests/network/test_delete_network_security_group.rb +32 -0
  236. data/test/requests/network/test_delete_public_ip.rb +30 -0
  237. data/test/requests/network/test_delete_subnet.rb +30 -0
  238. data/test/requests/network/test_delete_traffic_manager_endpoint.rb +28 -0
  239. data/test/requests/network/test_delete_traffic_manager_profile.rb +28 -0
  240. data/test/requests/network/test_delete_virtual_network.rb +30 -0
  241. data/test/requests/network/test_detach_network_security_group_from_subnet.rb +33 -0
  242. data/test/requests/network/test_detach_resource_from_nic.rb +60 -0
  243. data/test/requests/network/test_detach_route_table_from_subnet.rb +33 -0
  244. data/test/requests/network/test_get_network_interface.rb +31 -0
  245. data/test/requests/network/test_get_network_security_group.rb +33 -0
  246. data/test/requests/network/test_get_subnet.rb +33 -0
  247. data/test/requests/network/test_get_traffic_manager_profile.rb +29 -0
  248. data/test/requests/network/test_list_application_gateways.rb +31 -0
  249. data/test/requests/network/test_list_load_balancers.rb +31 -0
  250. data/test/requests/network/test_list_network_interfaces.rb +31 -0
  251. data/test/requests/network/test_list_network_security_groups.rb +33 -0
  252. data/test/requests/network/test_list_public_ips.rb +31 -0
  253. data/test/requests/network/test_list_subnets.rb +31 -0
  254. data/test/requests/network/test_list_traffic_manager_profiles.rb +29 -0
  255. data/test/requests/network/test_list_virtual_networks.rb +31 -0
  256. data/test/requests/network/test_remove_address_prefixes_from_virtual_network.rb +45 -0
  257. data/test/requests/network/test_remove_dns_servers_from_virtual_network.rb +45 -0
  258. data/test/requests/network/test_remove_security_rule.rb +49 -0
  259. data/test/requests/network/test_remove_subnets_from_virtual_network.rb +45 -0
  260. data/test/requests/resources/test_create_deployment.rb +49 -0
  261. data/test/requests/resources/test_create_resource_group.rb +31 -0
  262. data/test/requests/resources/test_delete_deployment.rb +31 -0
  263. data/test/requests/resources/test_delete_resource_group.rb +30 -0
  264. data/test/requests/resources/test_delete_resource_tag.rb +51 -0
  265. data/test/requests/resources/test_list_deployments.rb +32 -0
  266. data/test/requests/resources/test_list_resource_groups.rb +31 -0
  267. data/test/requests/resources/test_list_tagged_resources.rb +31 -0
  268. data/test/requests/resources/test_tag_resource.rb +51 -0
  269. data/test/requests/storage/test_check_storage_account_name_availability.rb +59 -0
  270. data/test/requests/storage/test_create_container.rb +31 -0
  271. data/test/requests/storage/test_create_storage_account.rb +56 -0
  272. data/test/requests/storage/test_delete_container.rb +30 -0
  273. data/test/requests/storage/test_delete_storage_account.rb +34 -0
  274. data/test/requests/storage/test_get_blob_metadata.rb +18 -0
  275. data/test/requests/storage/test_get_container_access_control_list.rb +31 -0
  276. data/test/requests/storage/test_get_container_metadata.rb +18 -0
  277. data/test/requests/storage/test_get_container_properties.rb +31 -0
  278. data/test/requests/storage/test_get_storage_access_keys.rb +31 -0
  279. data/test/requests/storage/test_list_containers.rb +23 -0
  280. data/test/requests/storage/test_list_storage_accounts.rb +47 -0
  281. data/test/requests/storage/test_list_storage_accounts_for_rg.rb +51 -0
  282. data/test/requests/storage/test_set_blob_metadata.rb +17 -0
  283. data/test/requests/storage/test_set_container_metadata.rb +17 -0
  284. data/test/test_credentials.rb +39 -0
  285. data/test/test_helper.rb +428 -0
  286. metadata +273 -14
  287. data/lib/fog/azurerm/models/compute/data_disk.rb +0 -26
  288. data/lib/fog/azurerm/requests/network/create_virtual_network.rb +0 -115
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 35da447cf146705b309a9b239e0d42b543622911
4
- data.tar.gz: 07eb2ced5d952e43d6542d13a1770796efaaff76
3
+ metadata.gz: 4e1533bcbd71b04e12dacfd7833aafb1883ffeb7
4
+ data.tar.gz: 563922c138a209f6567d3cf014e7036be24fbf4f
5
5
  SHA512:
6
- metadata.gz: a6d6f19416f13e123f54bd38a294356be5d953a16064720e4d417065fa829f96a8803d6812dbfab6a0c94510e420732d8a287a5f5c1c2710fa76c354e16b4ac6
7
- data.tar.gz: bee84fdd1d9dd9f99eae7330309ec14e509b73dbd660d6d5af1c21f61a02bc9a01b9d7b78e75058b86b9b8e62c1ea3dee733ea760098be664d61d290bdd27c52
6
+ metadata.gz: a8a8cd51ec379e4923629435949b4fafa30931229689d4095b280413f8cde7ca092323f0b2fce510844a019cde95d810c6c780508b3d5e5538cba052203b69a1
7
+ data.tar.gz: 00ddbbe007b7a89a9f8db4c9f4c06f9b9f5e1536b15d79c2d3c85ebd193547ac434bd7d34ffa83434d5d1839aaf5ed9d10316d1061cf5cdf84521c464b2c6eb2
data/.codeclimate.yml ADDED
@@ -0,0 +1,17 @@
1
+ engines:
2
+ rubocop:
3
+ enabled: true
4
+ duplication:
5
+ enabled: true
6
+ config:
7
+ languages:
8
+ - ruby
9
+ checks:
10
+ Similar code:
11
+ enabled: false
12
+ Identical code:
13
+ enabled: false
14
+ ratings:
15
+ paths:
16
+ - lib/**
17
+ - test/**
data/.gitignore ADDED
@@ -0,0 +1,6 @@
1
+ .idea
2
+ *.gem
3
+ Gemfile.lock
4
+ .arcconfig
5
+ coverage
6
+ */.DS_Store
data/.hound.yml ADDED
@@ -0,0 +1,2 @@
1
+ ruby:
2
+ config_file: .rubocop.yml
data/.rubocop.yml ADDED
@@ -0,0 +1,36 @@
1
+ # Custom Enforced Rubocop Styles
2
+
3
+ LineLength:
4
+ Enabled: false
5
+ MethodLength:
6
+ Enabled: false
7
+ ClassLength:
8
+ Enabled: false
9
+ SignalException:
10
+ Enabled: false
11
+ RaiseArgs:
12
+ Enabled: false
13
+ ParameterLists:
14
+ Enabled: false
15
+ AbcSize:
16
+ Enabled: false
17
+ RedundantBegin:
18
+ Enabled: false
19
+ PerceivedComplexity:
20
+ Enabled: false
21
+ CyclomaticComplexity:
22
+ Enabled: false
23
+ RescueException:
24
+ Enabled: false
25
+ NestedParenthesizedCalls:
26
+ Enabled: false
27
+
28
+ # Custom Enforced Hound Ruby Styles
29
+
30
+ CollectionMethods:
31
+ PreferredMethods:
32
+ detect: find
33
+ StringLiterals:
34
+ EnforcedStyle: single_quotes
35
+ SignalException:
36
+ EnforcedStyle: only_raise
data/.travis.yml ADDED
@@ -0,0 +1,14 @@
1
+ language: ruby
2
+ sudo: false
3
+ matrix:
4
+ fast_finish: true
5
+ include:
6
+ - rvm: 2.1
7
+ - rvm: 2.2
8
+
9
+ notifications:
10
+ email: false
11
+
12
+ addons:
13
+ code_climate:
14
+ repo_token: b1401494baa004d90402414cb33a7fc6420fd3693e60c677a120ddefd7d84cfd
data/CHANGELOG.md CHANGED
@@ -1,3 +1,31 @@
1
+ ## 0.0.4
2
+
3
+ **Added:**
4
+ - Storage Service - Added Support Azure container operations
5
+ - 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
8
+ - Network Service - Added support for updation methods for Network Security Group
9
+ - 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
17
+
18
+ **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
22
+ - Documentation - Changed delete_data_disk request name to delete_disk
23
+ - Code Climate - Disabled similar and identical code check
24
+
25
+ **Fixed:**
26
+ - Resolved bugs in server.rb integration file
27
+
28
+
1
29
  ## 0.0.3
2
30
 
3
31
  **Added:**
data/CONTRIBUTING.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  New contributors are always welcome, when it doubt please ask questions. We strive to be an open and welcoming community. Please be nice to one another.
4
4
 
5
+ For structure information of fog click [here](https://github.com/fog/fog-azure-rm/blob/master/lib/fog/azurerm/docs/structure.md)
6
+
5
7
  ### Coding
6
8
 
7
9
  * Pick a task:
data/CONTRIBUTORS.md CHANGED
@@ -2,3 +2,5 @@
2
2
  * Adnan Khalil <adnan.khalil@confiz.com>
3
3
  * Samawia Moin <samawia.moin@confiz.com>
4
4
  * Shaffan Chaudhry <shaffan.chaudhry@confiz.com>
5
+ * Zeeshan Arshad <zeeshan.arshad@confiz.com>
6
+ * Haider Ali <haider.ali@confiz.com>
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source 'https://rubygems.org'
2
+ # Specify your gem's dependencies in fog-azure.gemspec
3
+ gemspec
@@ -0,0 +1,34 @@
1
+ lib = File.expand_path('../lib', __FILE__)
2
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
+ require 'fog/azurerm/version'
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = 'fog-azure-rm'
7
+ spec.version = Fog::AzureRM::VERSION
8
+ spec.authors = ['Shaffan Chaudhry', 'Samawia Moin', 'Adnan Khalil', 'Zeeshan Arshad', 'Haider Ali']
9
+ spec.summary = "Module for the 'fog' gem to support Azure Resource Manager cloud services."
10
+ spec.description = "This library can be used as a module for 'fog' or as standalone provider
11
+ to use the Azure Resource Manager cloud services in applications.."
12
+ spec.files = `git ls-files`.split("\n")
13
+ spec.test_files = `git ls-files -- {spec,tests}/*`.split("\n")
14
+ spec.require_paths = %w[lib]
15
+ spec.license = 'MIT'
16
+ spec.homepage = 'https://github.com/fog/fog-azure-rm'
17
+ spec.rdoc_options = %w[--charset=UTF-8]
18
+ spec.extra_rdoc_files = %w[README.md]
19
+ spec.required_ruby_version = '>= 2.0.0'
20
+ spec.post_install_message = 'Thanks for installing!'
21
+ spec.add_development_dependency 'rake', '~> 10.0'
22
+ spec.add_development_dependency 'minitest', '~> 5.8.4'
23
+ spec.add_development_dependency 'simplecov', '~> 0.11.2'
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'
33
+ spec.add_dependency 'azure-storage', '~> 0.10.2.preview'
34
+ end
data/lib/fog/azurerm.rb CHANGED
@@ -2,6 +2,7 @@ require 'ms_rest_azure'
2
2
  require 'rest_client'
3
3
  require 'erb'
4
4
  require 'fog/azurerm/config'
5
+ require 'fog/azurerm/utilities/general'
5
6
  require 'fog/azurerm/version'
6
7
  require 'fog/azurerm/core'
7
8
  require 'fog/azurerm/dns'
@@ -32,7 +32,6 @@ module Fog
32
32
  collection :availability_sets
33
33
  model :server
34
34
  collection :servers
35
- model :data_disk
36
35
 
37
36
  # This class provides the mock implementation for unit tests.
38
37
  class Mock
@@ -1 +1,5 @@
1
1
  AZURE_RESOURCE = 'https://management.azure.com'.freeze
2
+ DEFAULT_ADDRESS_PREFIXES = ['10.2.0.0/16'].freeze
3
+ SUBNET = 'Subnet'.freeze
4
+ PUBLIC_IP = 'Public-IP-Address'.freeze
5
+ NETWORK_SECURITY_GROUP = 'Network-Security-Group'.freeze
@@ -3,7 +3,7 @@ module Fog
3
3
  # This class is managing credentials token
4
4
  class AzureRM
5
5
  def self.get_credentials(tenant_id, client_id, client_secret)
6
- if @credentials.nil? || new_client(tenant_id, client_id, client_secret)
6
+ if @credentials.nil? || new_management_credential?(tenant_id, client_id, client_secret)
7
7
  get_new_credentials(tenant_id, client_id, client_secret)
8
8
  else
9
9
  @credentials
@@ -19,19 +19,26 @@ module Fog
19
19
  @tenant_id = tenant_id
20
20
  @client_id = client_id
21
21
  @client_secret = client_secret
22
+ return if @tenant_id.nil? || @client_id.nil? || @client_secret.nil?
22
23
  @token_provider = MsRestAzure::ApplicationTokenProvider.new(@tenant_id, @client_id, @client_secret)
23
24
  @credentials = MsRest::TokenCredentials.new(@token_provider)
24
25
  @credentials
25
26
  end
26
27
 
27
- def self.new_client(tenant_id, client_id, client_secret)
28
+ def self.new_management_credential?(tenant_id, client_id, client_secret)
28
29
  @tenant_id != tenant_id ||
29
30
  @client_id != client_id ||
30
31
  @client_secret != client_secret
31
32
  end
32
33
 
34
+ def self.new_account_credential?(options = {})
35
+ @account_name != options[:azure_storage_account_name] ||
36
+ @account_key != options[:azure_storage_access_key] ||
37
+ @connection_string != options[:azure_storage_connection_string]
38
+ end
39
+
33
40
  private_class_method :get_new_credentials
34
- private_class_method :new_client
41
+ private_class_method :new_management_credential?
35
42
  end
36
43
  end
37
44
  end
@@ -0,0 +1,172 @@
1
+ # Compute
2
+
3
+ This document explains how to get started using Azure Compute Service with Fog. With this gem you can create/update/list/delete availability sets and virtual machines.
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 Compute Service:
16
+
17
+ ```ruby
18
+ azure_compute_service = Fog::Compute.new(
19
+ provider: 'AzureRM',
20
+ tenant_id: '<Tenantid>', # Tenant id of Azure Active Directory Application
21
+ client_id: '<Clientid>', # Client id of Azure Active Directory Application
22
+ client_secret: '<ClientSecret>', # Client Secret of Azure Active Directory Application
23
+ subscription_id: '<Subscriptionid>' # Subscription id of an Azure Account
24
+ )
25
+ ```
26
+
27
+ ## Create Server
28
+
29
+ Create a new linux server
30
+
31
+ ```ruby
32
+ azure_compute_service.servers.create(
33
+ name: '<VM Name>',
34
+ location: 'West US',
35
+ resource_group: '<Resource Group Name>',
36
+ vm_size: 'Basic_A0',
37
+ storage_account_name: '<Storage Account Name>',
38
+ username: '<Username for VM>',
39
+ password: '<Password for VM>',
40
+ disable_password_authentication: false,
41
+ network_interface_card_id: '/subscriptions/{Subscription-Id}/resourceGroups/{Resource-Group-Name}/providers/Microsoft.Network/networkInterfaces/{Network-Interface-Id}',
42
+ publisher: 'Canonical',
43
+ offer: 'UbuntuServer',
44
+ sku: '14.04.2-LTS',
45
+ version: 'latest',
46
+ platform: 'Linux'
47
+ )
48
+ ```
49
+ Create a new windows server
50
+
51
+ ```ruby
52
+ azure_compute_service.servers.create(
53
+ name: '<VM Name>',
54
+ location: 'West US',
55
+ resource_group: '<Resource Group Name>',
56
+ vm_size: 'Basic_A0',
57
+ storage_account_name: '<Storage Account Name>',
58
+ username: '<Username for VM>',
59
+ password: '<Password for VM>',
60
+ disable_password_authentication: false,
61
+ network_interface_card_id: '/subscriptions/{Subscription-Id}/resourceGroups/{Resource-Group-Name}/providers/Microsoft.Network/networkInterfaces/{Network-Interface-Id}',
62
+ publisher: 'MicrosoftWindowsServerEssentials',
63
+ offer: 'WindowsServerEssentials',
64
+ sku: 'WindowsServerEssentials',
65
+ version: 'latest',
66
+ platform: 'Windows'
67
+ )
68
+ ```
69
+
70
+ ## List Servers
71
+
72
+ List servers in a resource group
73
+
74
+ ```ruby
75
+ servers = azure_compute_service.servers(resource_group: '<Resource Group name>')
76
+ servers.each do |server|
77
+ puts "#{server.name}"
78
+ puts "#{server.location}"
79
+ end
80
+ ```
81
+
82
+ ## Retrieve a single Server
83
+
84
+ Get a single record of Server
85
+
86
+ ```ruby
87
+ server = azure_compute_service
88
+ .servers(resource_group: '<Resource Group name>')
89
+ .get('Server name>')
90
+ puts "#{server.name}"
91
+ ```
92
+
93
+ ## Attach a Data Disk to Server
94
+
95
+ Get the server object and attach a Data Disk to it.
96
+
97
+ ```ruby
98
+ server.attach_data_disk('<Disk Name>', <Size in GB>, '<Storage Account Name>)
99
+ ```
100
+
101
+ ## Detach a Data Disk from Server
102
+
103
+ Get the server object and detach a Data Disk from it.
104
+
105
+ ```ruby
106
+ server.detach_data_disk('<Disk Name>')
107
+ ```
108
+
109
+ ## Get a Server's status
110
+
111
+ Check the status of a Server
112
+
113
+ ```ruby
114
+ status = azure_compute_service
115
+ .servers(resource_group: '<Resource Group name>')
116
+ .get('<Server name>')
117
+ .vm_status
118
+ puts status
119
+ ```
120
+
121
+ ## Destroy a single Server
122
+
123
+ Get a server object from the get method(described above) and then destroy that server.
124
+
125
+ ```ruby
126
+ server.destroy
127
+ ```
128
+
129
+ ## Create Availability Set
130
+
131
+ Create a new availability set
132
+
133
+ ```ruby
134
+ azure_compute_service.availability_sets.create(
135
+ name: '<Availability Set name>',
136
+ location: 'West US',
137
+ resource_group: '<Resource Group name>'
138
+ )
139
+ ```
140
+ ## List Availability Sets
141
+
142
+ List availability sets in a resource group
143
+
144
+ ```ruby
145
+ availability_sets = azure_compute_service.availability_sets(resource_group: '<Resource Group name>')
146
+ availability_sets.each do |availability_set|
147
+ puts "#{availability_set.name}"
148
+ puts "#{availability_set.location}"
149
+ end
150
+ ```
151
+
152
+ ## Retrieve a single Availability Set
153
+
154
+ Get a single record of Availability Set
155
+
156
+ ```ruby
157
+ availability_set = azure_compute_service
158
+ .availability_sets(resource_group: '<Resource Group name>')
159
+ .get('<Resource Group name>','<Availability Set name>')
160
+ puts "#{availability_set.name}"
161
+ ```
162
+
163
+ ## Destroy a single Availability Set
164
+
165
+ Get an availability set object from the get method and then destroy that availability set.
166
+
167
+ ```ruby
168
+ availability_set.destroy
169
+ ```
170
+
171
+ ## Support and Feedback
172
+ Your feedback is appreciated! If you have specific issues with the fog ARM, you should file an issue via Github.
@@ -0,0 +1,112 @@
1
+ #DNS
2
+
3
+ This document explains how to get started using Azure DNS Service 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 DNS Service:
16
+
17
+ ```ruby
18
+ azure_dns_service = Fog::DNS::AzureRM.new(
19
+ tenant_id: '<Tenantid>', # Tenant id of Azure Active Directory Application
20
+ client_id: '<Clientid>', # Client id of Azure Active Directory Application
21
+ client_secret: '<ClientSecret>', # Client Secret of Azure Active Directory Application
22
+ subscription_id: '<Subscriptionid>' # Subscription id of an Azure Account
23
+ )
24
+ ```
25
+ ## Create Zone
26
+
27
+ Create a new Zone
28
+
29
+ ```ruby
30
+ azure_dns_service.zones.create(
31
+ name: '<Zone name>',
32
+ resource_group: '<Resource Group name>'
33
+ )
34
+ ```
35
+ ## List Zones
36
+
37
+ ```ruby
38
+ azure_dns_service.zones.each do |zone|
39
+ puts "#{zone.name}"
40
+ puts "#{zone.resource_group}"
41
+ end
42
+ ```
43
+
44
+ ## Retrieve a single Zone
45
+
46
+ Get a single record of Zone
47
+
48
+ ```ruby
49
+ zone = azure_dns_service
50
+ .zones
51
+ .get('<Zone name>', '<Resource Group name>')
52
+ puts "#{zone.name}"
53
+ ```
54
+
55
+ ## Destroy a single Zone
56
+
57
+ Get Zone object from the get method(described above) and then destroy that Zone.
58
+
59
+ ```ruby
60
+ zone.destroy
61
+ ```
62
+
63
+ ## Create Record Set
64
+
65
+ Create a new Record Set
66
+
67
+ ```ruby
68
+ azure_dns_service.record_sets.create(
69
+ name: '<Record Set name>',
70
+ resource_group: '<Resource Group name>',
71
+ zone_name: '<Zone Name>',
72
+ records: <String array of Records>,
73
+ type: '<Record Type(A/CNAME)>',
74
+ ttl: <Time to live(Integer)>
75
+ )
76
+ ```
77
+ ## List Record Sets
78
+
79
+ ```ruby
80
+ azure_dns_service.record_sets(
81
+ resource_group: '<Resource Group Name>',
82
+ zone_name: '<Zone Name>'
83
+ ).each do |record_set|
84
+ puts "#{record_set.name}"
85
+ puts "#{record_set.resource_group}"
86
+ end
87
+ ```
88
+
89
+ ## Retrieve a single Record Set
90
+
91
+ Get a single record of Record Set
92
+
93
+ ```ruby
94
+ 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>')
100
+ puts "#{record_set.name}"
101
+ ```
102
+
103
+ ## Destroy a single Record Set
104
+
105
+ Get Record Set object from the get method(described above) and then destroy that Record Set.
106
+
107
+ ```ruby
108
+ record_set.destroy
109
+ ```
110
+
111
+ ## Support and Feedback
112
+ Your feedback is appreciated! If you have specific issues with the fog ARM, you should file an issue via Github.