fog 1.21.0 → 1.22.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (324) hide show
  1. checksums.yaml +8 -8
  2. data/.gitignore +3 -0
  3. data/.travis.yml +4 -2
  4. data/.yardopts +1 -0
  5. data/CHANGELOG.md +8278 -0
  6. data/CONTRIBUTORS.md +37 -0
  7. data/Gemfile +2 -0
  8. data/RELEASE.md +2 -1
  9. data/Rakefile +4 -1
  10. data/fog.gemspec +4 -5
  11. data/gemfiles/Gemfile-edge +17 -0
  12. data/{Gemfile.1.8.7 → gemfiles/Gemfile-ruby-1.8.7} +4 -1
  13. data/lib/fog/aws/core.rb +0 -9
  14. data/lib/fog/aws/dynamodb.rb +0 -1
  15. data/lib/fog/aws/iam.rb +29 -5
  16. data/lib/fog/aws/parsers/compute/describe_dhcp_options.rb +1 -2
  17. data/lib/fog/aws/parsers/iam/list_mfa_devices.rb +34 -0
  18. data/lib/fog/aws/requests/compute/run_instances.rb +8 -2
  19. data/lib/fog/aws/requests/data_pipeline/describe_objects.rb +5 -4
  20. data/lib/fog/aws/requests/iam/list_mfa_devices.rb +55 -0
  21. data/lib/fog/aws/storage.rb +0 -9
  22. data/lib/fog/cloudsigma/docs/getting_started.md +2 -2
  23. data/lib/fog/cloudstack/models/compute/servers.rb +3 -0
  24. data/lib/fog/ecloud/compute.rb +1 -1
  25. data/lib/fog/fogdocker/requests/compute/container_action.rb +1 -1
  26. data/lib/fog/fogdocker/requests/compute/container_all.rb +1 -1
  27. data/lib/fog/fogdocker/requests/compute/container_commit.rb +1 -1
  28. data/lib/fog/fogdocker/requests/compute/container_create.rb +1 -1
  29. data/lib/fog/fogdocker/requests/compute/container_get.rb +1 -1
  30. data/lib/fog/fogdocker/requests/compute/image_all.rb +1 -1
  31. data/lib/fog/fogdocker/requests/compute/image_create.rb +1 -1
  32. data/lib/fog/fogdocker/requests/compute/image_get.rb +1 -1
  33. data/lib/fog/glesys/compute.rb +6 -6
  34. data/lib/fog/google/README.md +1 -1
  35. data/lib/fog/google/compute.rb +63 -3
  36. data/lib/fog/google/examples/create.rb +1 -1
  37. data/lib/fog/google/examples/eric-fail.rb +13 -7
  38. data/lib/fog/google/examples/load-balance.rb +100 -0
  39. data/lib/fog/google/models/compute/address.rb +62 -0
  40. data/lib/fog/google/models/compute/addresses.rb +34 -0
  41. data/lib/fog/google/models/compute/disk.rb +13 -5
  42. data/lib/fog/google/models/compute/firewall.rb +48 -0
  43. data/lib/fog/google/models/compute/firewalls.rb +27 -0
  44. data/lib/fog/google/models/compute/flavor.rb +16 -5
  45. data/lib/fog/google/models/compute/flavors.rb +10 -4
  46. data/lib/fog/google/models/compute/forwarding_rule.rb +88 -0
  47. data/lib/fog/google/models/compute/forwarding_rules.rb +45 -0
  48. data/lib/fog/google/models/compute/http_health_check.rb +85 -0
  49. data/lib/fog/google/models/compute/http_health_checks.rb +26 -0
  50. data/lib/fog/google/models/compute/network.rb +45 -0
  51. data/lib/fog/google/models/compute/networks.rb +27 -0
  52. data/lib/fog/google/models/compute/operation.rb +41 -5
  53. data/lib/fog/google/models/compute/operations.rb +18 -3
  54. data/lib/fog/google/models/compute/project.rb +32 -0
  55. data/lib/fog/google/models/compute/projects.rb +22 -0
  56. data/lib/fog/google/models/compute/region.rb +34 -0
  57. data/lib/fog/google/models/compute/regions.rb +27 -0
  58. data/lib/fog/google/models/compute/route.rb +52 -0
  59. data/lib/fog/google/models/compute/routes.rb +27 -0
  60. data/lib/fog/google/models/compute/server.rb +24 -7
  61. data/lib/fog/google/models/compute/servers.rb +2 -2
  62. data/lib/fog/google/models/compute/snapshot.rb +22 -7
  63. data/lib/fog/google/models/compute/snapshots.rb +4 -2
  64. data/lib/fog/google/models/compute/target_pool.rb +112 -0
  65. data/lib/fog/google/models/compute/target_pools.rb +45 -0
  66. data/lib/fog/google/requests/compute/add_target_pool_health_checks.rb +34 -0
  67. data/lib/fog/google/requests/compute/add_target_pool_instances.rb +34 -0
  68. data/lib/fog/google/requests/compute/delete_forwarding_rule.rb +36 -0
  69. data/lib/fog/google/requests/compute/delete_http_health_check.rb +30 -0
  70. data/lib/fog/google/requests/compute/delete_region_operation.rb +33 -0
  71. data/lib/fog/google/requests/compute/delete_route.rb +26 -0
  72. data/lib/fog/google/requests/compute/delete_snapshot.rb +2 -7
  73. data/lib/fog/google/requests/compute/delete_target_pool.rb +36 -0
  74. data/lib/fog/google/requests/compute/get_forwarding_rule.rb +33 -0
  75. data/lib/fog/google/requests/compute/get_http_health_check.rb +30 -0
  76. data/lib/fog/google/requests/compute/get_project.rb +25 -0
  77. data/lib/fog/google/requests/compute/get_region.rb +26 -0
  78. data/lib/fog/google/requests/compute/get_region_operation.rb +36 -0
  79. data/lib/fog/google/requests/compute/get_route.rb +26 -0
  80. data/lib/fog/google/requests/compute/get_target_pool.rb +33 -0
  81. data/lib/fog/google/requests/compute/get_target_pool_health.rb +35 -0
  82. data/lib/fog/google/requests/compute/insert_address.rb +4 -4
  83. data/lib/fog/google/requests/compute/insert_firewall.rb +20 -6
  84. data/lib/fog/google/requests/compute/insert_forwarding_rule.rb +31 -0
  85. data/lib/fog/google/requests/compute/insert_http_health_check.rb +32 -0
  86. data/lib/fog/google/requests/compute/insert_network.rb +6 -4
  87. data/lib/fog/google/requests/compute/insert_route.rb +38 -0
  88. data/lib/fog/google/requests/compute/insert_server.rb +15 -0
  89. data/lib/fog/google/requests/compute/insert_target_pool.rb +31 -0
  90. data/lib/fog/google/requests/compute/list_aggregated_addresses.rb +25 -0
  91. data/lib/fog/google/requests/compute/list_aggregated_machine_types.rb +25 -0
  92. data/lib/fog/google/requests/compute/list_forwarding_rules.rb +36 -0
  93. data/lib/fog/google/requests/compute/list_http_health_checks.rb +29 -0
  94. data/lib/fog/google/requests/compute/list_region_operations.rb +29 -0
  95. data/lib/fog/google/requests/compute/list_regions.rb +29 -0
  96. data/lib/fog/google/requests/compute/list_routes.rb +25 -0
  97. data/lib/fog/google/requests/compute/list_target_pools.rb +30 -0
  98. data/lib/fog/google/requests/compute/remove_target_pool_health_checks.rb +34 -0
  99. data/lib/fog/google/requests/compute/remove_target_pool_instance.rb +34 -0
  100. data/lib/fog/google/requests/compute/remove_target_pool_instances.rb +34 -0
  101. data/lib/fog/google/requests/compute/set_common_instance_metadata.rb +30 -0
  102. data/lib/fog/google/requests/compute/set_forwarding_rule_target.rb +32 -0
  103. data/lib/fog/google/requests/compute/set_tags.rb +4 -1
  104. data/lib/fog/hp/examples/compute.md +3 -3
  105. data/lib/fog/hp/examples/compute_v2.md +6 -3
  106. data/lib/fog/hp/examples/networking.md +1 -1
  107. data/lib/fog/hp/models/network/router.rb +1 -1
  108. data/lib/fog/joyent/analytics.rb +2 -2
  109. data/lib/fog/joyent/compute.rb +2 -2
  110. data/lib/fog/joyent/models/compute/server.rb +2 -0
  111. data/lib/fog/ninefold/compute.rb +6 -6
  112. data/lib/fog/openstack/compute.rb +3 -3
  113. data/lib/fog/openstack/core.rb +4 -4
  114. data/lib/fog/openstack/examples/network/network_subnets_routers.rb +2 -2
  115. data/lib/fog/openstack/identity.rb +1 -1
  116. data/lib/fog/openstack/image.rb +1 -1
  117. data/lib/fog/openstack/metering.rb +1 -1
  118. data/lib/fog/openstack/models/network/router.rb +21 -4
  119. data/lib/fog/openstack/network.rb +1 -1
  120. data/lib/fog/openstack/orchestration.rb +2 -2
  121. data/lib/fog/openstack/requests/network/create_router.rb +30 -9
  122. data/lib/fog/openstack/requests/network/delete_router.rb +1 -1
  123. data/lib/fog/openstack/requests/network/update_router.rb +28 -41
  124. data/lib/fog/openstack/requests/storage/get_object_https_url.rb +12 -2
  125. data/lib/fog/openstack/storage.rb +1 -1
  126. data/lib/fog/openstack/volume.rb +1 -1
  127. data/lib/fog/rackspace/auto_scale.rb +1 -1
  128. data/lib/fog/rackspace/block_storage.rb +2 -2
  129. data/lib/fog/rackspace/cdn.rb +1 -1
  130. data/lib/fog/rackspace/compute.rb +1 -1
  131. data/lib/fog/rackspace/compute_v2.rb +2 -2
  132. data/lib/fog/rackspace/core.rb +2 -1
  133. data/lib/fog/rackspace/databases.rb +2 -2
  134. data/lib/fog/rackspace/dns.rb +1 -1
  135. data/lib/fog/rackspace/identity.rb +1 -1
  136. data/lib/fog/rackspace/load_balancers.rb +2 -2
  137. data/lib/fog/rackspace/models/compute_v2/server.rb +18 -6
  138. data/lib/fog/rackspace/models/dns/records.rb +22 -0
  139. data/lib/fog/rackspace/models/monitoring/alarm.rb +3 -1
  140. data/lib/fog/rackspace/models/queues/message.rb +2 -2
  141. data/lib/fog/rackspace/models/storage/metadata.rb +0 -5
  142. data/lib/fog/rackspace/monitoring.rb +1 -1
  143. data/lib/fog/rackspace/queues.rb +1 -1
  144. data/lib/fog/rackspace/requests/compute_v2/create_server.rb +5 -2
  145. data/lib/fog/rackspace/service.rb +1 -1
  146. data/lib/fog/rackspace/storage.rb +1 -1
  147. data/lib/fog/rage4/models/dns/record.rb +2 -0
  148. data/lib/fog/rage4/requests/dns/create_record.rb +2 -0
  149. data/lib/fog/rage4/requests/dns/update_record.rb +2 -0
  150. data/lib/fog/serverlove/compute.rb +2 -2
  151. data/lib/fog/vcloud_director/models/compute/tasks.rb +1 -0
  152. data/lib/fog/version.rb +1 -1
  153. data/lib/fog/vsphere/core.rb +23 -0
  154. data/lib/fog/vsphere/models/compute/interface.rb +3 -3
  155. data/lib/fog/vsphere/requests/compute/create_vm.rb +2 -2
  156. data/lib/fog/vsphere/requests/compute/list_interface_types.rb +1 -2
  157. data/lib/tasks/changelog_task.rb +191 -89
  158. data/lib/tasks/github_release_task.rb +67 -0
  159. data/spec/fog/xml/connection_spec.rb +34 -0
  160. data/tests/aws/requests/iam/mfa_tests.rb +23 -0
  161. data/tests/aws/signed_params_tests.rb +9 -5
  162. data/tests/google/helpers/disk_helper.rb +1 -1
  163. data/tests/google/requests/compute/disk_tests.rb +3 -21
  164. data/tests/helper.rb +1 -1
  165. data/tests/openstack/models/network/router_tests.rb +3 -2
  166. data/tests/openstack/requests/network/router_tests.rb +10 -12
  167. data/tests/openstack/requests/storage/object_tests.rb +23 -7
  168. data/tests/rackspace/models/compute_v2/server_tests.rb +1 -1
  169. data/tests/rackspace/models/monitoring/alarm_tests.rb +3 -0
  170. data/tests/rage4/requests/dns/dns_tests.rb +32 -0
  171. metadata +66 -172
  172. data/changelog.txt +0 -8265
  173. data/providers/brightbox/.gitignore +0 -1
  174. data/providers/brightbox/Gemfile +0 -3
  175. data/providers/brightbox/LICENSE.txt +0 -22
  176. data/providers/brightbox/README.md +0 -50
  177. data/providers/brightbox/Rakefile +0 -8
  178. data/providers/brightbox/fog-brightbox.gemspec +0 -28
  179. data/providers/brightbox/lib/fog/brightbox.rb +0 -1
  180. data/providers/brightbox/lib/fog/brightbox/compute.rb +0 -305
  181. data/providers/brightbox/lib/fog/brightbox/compute/image_selector.rb +0 -45
  182. data/providers/brightbox/lib/fog/brightbox/compute/shared.rb +0 -230
  183. data/providers/brightbox/lib/fog/brightbox/core.rb +0 -11
  184. data/providers/brightbox/lib/fog/brightbox/models/compute/account.rb +0 -69
  185. data/providers/brightbox/lib/fog/brightbox/models/compute/accounts.rb +0 -29
  186. data/providers/brightbox/lib/fog/brightbox/models/compute/api_client.rb +0 -37
  187. data/providers/brightbox/lib/fog/brightbox/models/compute/api_clients.rb +0 -24
  188. data/providers/brightbox/lib/fog/brightbox/models/compute/application.rb +0 -24
  189. data/providers/brightbox/lib/fog/brightbox/models/compute/applications.rb +0 -28
  190. data/providers/brightbox/lib/fog/brightbox/models/compute/cloud_ip.rb +0 -68
  191. data/providers/brightbox/lib/fog/brightbox/models/compute/cloud_ips.rb +0 -34
  192. data/providers/brightbox/lib/fog/brightbox/models/compute/collaboration.rb +0 -49
  193. data/providers/brightbox/lib/fog/brightbox/models/compute/collaborations.rb +0 -47
  194. data/providers/brightbox/lib/fog/brightbox/models/compute/database_server.rb +0 -97
  195. data/providers/brightbox/lib/fog/brightbox/models/compute/database_servers.rb +0 -28
  196. data/providers/brightbox/lib/fog/brightbox/models/compute/database_snapshot.rb +0 -52
  197. data/providers/brightbox/lib/fog/brightbox/models/compute/database_snapshots.rb +0 -24
  198. data/providers/brightbox/lib/fog/brightbox/models/compute/database_type.rb +0 -19
  199. data/providers/brightbox/lib/fog/brightbox/models/compute/database_types.rb +0 -26
  200. data/providers/brightbox/lib/fog/brightbox/models/compute/firewall_policies.rb +0 -29
  201. data/providers/brightbox/lib/fog/brightbox/models/compute/firewall_policy.rb +0 -63
  202. data/providers/brightbox/lib/fog/brightbox/models/compute/firewall_rule.rb +0 -54
  203. data/providers/brightbox/lib/fog/brightbox/models/compute/firewall_rules.rb +0 -24
  204. data/providers/brightbox/lib/fog/brightbox/models/compute/flavor.rb +0 -32
  205. data/providers/brightbox/lib/fog/brightbox/models/compute/flavors.rb +0 -28
  206. data/providers/brightbox/lib/fog/brightbox/models/compute/image.rb +0 -64
  207. data/providers/brightbox/lib/fog/brightbox/models/compute/images.rb +0 -28
  208. data/providers/brightbox/lib/fog/brightbox/models/compute/load_balancer.rb +0 -107
  209. data/providers/brightbox/lib/fog/brightbox/models/compute/load_balancers.rb +0 -28
  210. data/providers/brightbox/lib/fog/brightbox/models/compute/server.rb +0 -217
  211. data/providers/brightbox/lib/fog/brightbox/models/compute/server_group.rb +0 -94
  212. data/providers/brightbox/lib/fog/brightbox/models/compute/server_groups.rb +0 -29
  213. data/providers/brightbox/lib/fog/brightbox/models/compute/servers.rb +0 -61
  214. data/providers/brightbox/lib/fog/brightbox/models/compute/user.rb +0 -43
  215. data/providers/brightbox/lib/fog/brightbox/models/compute/user_collaboration.rb +0 -44
  216. data/providers/brightbox/lib/fog/brightbox/models/compute/user_collaborations.rb +0 -31
  217. data/providers/brightbox/lib/fog/brightbox/models/compute/users.rb +0 -27
  218. data/providers/brightbox/lib/fog/brightbox/models/compute/zone.rb +0 -22
  219. data/providers/brightbox/lib/fog/brightbox/models/compute/zones.rb +0 -29
  220. data/providers/brightbox/lib/fog/brightbox/oauth2.rb +0 -166
  221. data/providers/brightbox/lib/fog/brightbox/requests/compute/accept_user_collaboration.rb +0 -21
  222. data/providers/brightbox/lib/fog/brightbox/requests/compute/activate_console_server.rb +0 -21
  223. data/providers/brightbox/lib/fog/brightbox/requests/compute/add_listeners_load_balancer.rb +0 -24
  224. data/providers/brightbox/lib/fog/brightbox/requests/compute/add_nodes_load_balancer.rb +0 -24
  225. data/providers/brightbox/lib/fog/brightbox/requests/compute/add_servers_server_group.rb +0 -34
  226. data/providers/brightbox/lib/fog/brightbox/requests/compute/apply_to_firewall_policy.rb +0 -24
  227. data/providers/brightbox/lib/fog/brightbox/requests/compute/create_api_client.rb +0 -23
  228. data/providers/brightbox/lib/fog/brightbox/requests/compute/create_application.rb +0 -23
  229. data/providers/brightbox/lib/fog/brightbox/requests/compute/create_cloud_ip.rb +0 -24
  230. data/providers/brightbox/lib/fog/brightbox/requests/compute/create_collaboration.rb +0 -23
  231. data/providers/brightbox/lib/fog/brightbox/requests/compute/create_database_server.rb +0 -25
  232. data/providers/brightbox/lib/fog/brightbox/requests/compute/create_firewall_policy.rb +0 -26
  233. data/providers/brightbox/lib/fog/brightbox/requests/compute/create_firewall_rule.rb +0 -29
  234. data/providers/brightbox/lib/fog/brightbox/requests/compute/create_image.rb +0 -30
  235. data/providers/brightbox/lib/fog/brightbox/requests/compute/create_load_balancer.rb +0 -26
  236. data/providers/brightbox/lib/fog/brightbox/requests/compute/create_server.rb +0 -29
  237. data/providers/brightbox/lib/fog/brightbox/requests/compute/create_server_group.rb +0 -23
  238. data/providers/brightbox/lib/fog/brightbox/requests/compute/delete_api_client.rb +0 -28
  239. data/providers/brightbox/lib/fog/brightbox/requests/compute/delete_application.rb +0 -28
  240. data/providers/brightbox/lib/fog/brightbox/requests/compute/delete_cloud_ip.rb +0 -28
  241. data/providers/brightbox/lib/fog/brightbox/requests/compute/delete_collaboration.rb +0 -28
  242. data/providers/brightbox/lib/fog/brightbox/requests/compute/delete_database_server.rb +0 -26
  243. data/providers/brightbox/lib/fog/brightbox/requests/compute/delete_database_snapshot.rb +0 -26
  244. data/providers/brightbox/lib/fog/brightbox/requests/compute/delete_firewall_policy.rb +0 -28
  245. data/providers/brightbox/lib/fog/brightbox/requests/compute/delete_firewall_rule.rb +0 -28
  246. data/providers/brightbox/lib/fog/brightbox/requests/compute/delete_image.rb +0 -28
  247. data/providers/brightbox/lib/fog/brightbox/requests/compute/delete_load_balancer.rb +0 -28
  248. data/providers/brightbox/lib/fog/brightbox/requests/compute/delete_server.rb +0 -28
  249. data/providers/brightbox/lib/fog/brightbox/requests/compute/delete_server_group.rb +0 -28
  250. data/providers/brightbox/lib/fog/brightbox/requests/compute/delete_user_collaboration.rb +0 -28
  251. data/providers/brightbox/lib/fog/brightbox/requests/compute/get_account.rb +0 -29
  252. data/providers/brightbox/lib/fog/brightbox/requests/compute/get_api_client.rb +0 -21
  253. data/providers/brightbox/lib/fog/brightbox/requests/compute/get_application.rb +0 -21
  254. data/providers/brightbox/lib/fog/brightbox/requests/compute/get_authenticated_user.rb +0 -17
  255. data/providers/brightbox/lib/fog/brightbox/requests/compute/get_cloud_ip.rb +0 -21
  256. data/providers/brightbox/lib/fog/brightbox/requests/compute/get_collaboration.rb +0 -21
  257. data/providers/brightbox/lib/fog/brightbox/requests/compute/get_database_server.rb +0 -19
  258. data/providers/brightbox/lib/fog/brightbox/requests/compute/get_database_snapshot.rb +0 -19
  259. data/providers/brightbox/lib/fog/brightbox/requests/compute/get_database_type.rb +0 -21
  260. data/providers/brightbox/lib/fog/brightbox/requests/compute/get_firewall_policy.rb +0 -21
  261. data/providers/brightbox/lib/fog/brightbox/requests/compute/get_firewall_rule.rb +0 -21
  262. data/providers/brightbox/lib/fog/brightbox/requests/compute/get_image.rb +0 -21
  263. data/providers/brightbox/lib/fog/brightbox/requests/compute/get_interface.rb +0 -21
  264. data/providers/brightbox/lib/fog/brightbox/requests/compute/get_load_balancer.rb +0 -21
  265. data/providers/brightbox/lib/fog/brightbox/requests/compute/get_scoped_account.rb +0 -15
  266. data/providers/brightbox/lib/fog/brightbox/requests/compute/get_server.rb +0 -21
  267. data/providers/brightbox/lib/fog/brightbox/requests/compute/get_server_group.rb +0 -21
  268. data/providers/brightbox/lib/fog/brightbox/requests/compute/get_server_type.rb +0 -21
  269. data/providers/brightbox/lib/fog/brightbox/requests/compute/get_user.rb +0 -29
  270. data/providers/brightbox/lib/fog/brightbox/requests/compute/get_user_collaboration.rb +0 -21
  271. data/providers/brightbox/lib/fog/brightbox/requests/compute/get_zone.rb +0 -21
  272. data/providers/brightbox/lib/fog/brightbox/requests/compute/list_accounts.rb +0 -17
  273. data/providers/brightbox/lib/fog/brightbox/requests/compute/list_api_clients.rb +0 -19
  274. data/providers/brightbox/lib/fog/brightbox/requests/compute/list_applications.rb +0 -19
  275. data/providers/brightbox/lib/fog/brightbox/requests/compute/list_cloud_ips.rb +0 -19
  276. data/providers/brightbox/lib/fog/brightbox/requests/compute/list_collaborations.rb +0 -19
  277. data/providers/brightbox/lib/fog/brightbox/requests/compute/list_database_servers.rb +0 -17
  278. data/providers/brightbox/lib/fog/brightbox/requests/compute/list_database_snapshots.rb +0 -17
  279. data/providers/brightbox/lib/fog/brightbox/requests/compute/list_database_types.rb +0 -19
  280. data/providers/brightbox/lib/fog/brightbox/requests/compute/list_firewall_policies.rb +0 -19
  281. data/providers/brightbox/lib/fog/brightbox/requests/compute/list_images.rb +0 -19
  282. data/providers/brightbox/lib/fog/brightbox/requests/compute/list_load_balancers.rb +0 -19
  283. data/providers/brightbox/lib/fog/brightbox/requests/compute/list_server_groups.rb +0 -19
  284. data/providers/brightbox/lib/fog/brightbox/requests/compute/list_server_types.rb +0 -19
  285. data/providers/brightbox/lib/fog/brightbox/requests/compute/list_servers.rb +0 -19
  286. data/providers/brightbox/lib/fog/brightbox/requests/compute/list_user_collaborations.rb +0 -19
  287. data/providers/brightbox/lib/fog/brightbox/requests/compute/list_users.rb +0 -19
  288. data/providers/brightbox/lib/fog/brightbox/requests/compute/list_zones.rb +0 -19
  289. data/providers/brightbox/lib/fog/brightbox/requests/compute/map_cloud_ip.rb +0 -24
  290. data/providers/brightbox/lib/fog/brightbox/requests/compute/move_servers_server_group.rb +0 -36
  291. data/providers/brightbox/lib/fog/brightbox/requests/compute/reject_user_collaboration.rb +0 -21
  292. data/providers/brightbox/lib/fog/brightbox/requests/compute/remove_firewall_policy.rb +0 -24
  293. data/providers/brightbox/lib/fog/brightbox/requests/compute/remove_listeners_load_balancer.rb +0 -24
  294. data/providers/brightbox/lib/fog/brightbox/requests/compute/remove_nodes_load_balancer.rb +0 -24
  295. data/providers/brightbox/lib/fog/brightbox/requests/compute/remove_servers_server_group.rb +0 -34
  296. data/providers/brightbox/lib/fog/brightbox/requests/compute/resend_collaboration.rb +0 -21
  297. data/providers/brightbox/lib/fog/brightbox/requests/compute/reset_ftp_password_account.rb +0 -32
  298. data/providers/brightbox/lib/fog/brightbox/requests/compute/reset_ftp_password_scoped_account.rb +0 -18
  299. data/providers/brightbox/lib/fog/brightbox/requests/compute/reset_password_database_server.rb +0 -19
  300. data/providers/brightbox/lib/fog/brightbox/requests/compute/reset_secret_api_client.rb +0 -25
  301. data/providers/brightbox/lib/fog/brightbox/requests/compute/reset_secret_application.rb +0 -21
  302. data/providers/brightbox/lib/fog/brightbox/requests/compute/shutdown_server.rb +0 -21
  303. data/providers/brightbox/lib/fog/brightbox/requests/compute/snapshot_database_server.rb +0 -19
  304. data/providers/brightbox/lib/fog/brightbox/requests/compute/snapshot_server.rb +0 -21
  305. data/providers/brightbox/lib/fog/brightbox/requests/compute/start_server.rb +0 -21
  306. data/providers/brightbox/lib/fog/brightbox/requests/compute/stop_server.rb +0 -21
  307. data/providers/brightbox/lib/fog/brightbox/requests/compute/unmap_cloud_ip.rb +0 -21
  308. data/providers/brightbox/lib/fog/brightbox/requests/compute/update_account.rb +0 -61
  309. data/providers/brightbox/lib/fog/brightbox/requests/compute/update_api_client.rb +0 -26
  310. data/providers/brightbox/lib/fog/brightbox/requests/compute/update_application.rb +0 -26
  311. data/providers/brightbox/lib/fog/brightbox/requests/compute/update_cloud_ip.rb +0 -27
  312. data/providers/brightbox/lib/fog/brightbox/requests/compute/update_database_server.rb +0 -25
  313. data/providers/brightbox/lib/fog/brightbox/requests/compute/update_database_snapshot.rb +0 -26
  314. data/providers/brightbox/lib/fog/brightbox/requests/compute/update_firewall_policy.rb +0 -26
  315. data/providers/brightbox/lib/fog/brightbox/requests/compute/update_firewall_rule.rb +0 -31
  316. data/providers/brightbox/lib/fog/brightbox/requests/compute/update_image.rb +0 -31
  317. data/providers/brightbox/lib/fog/brightbox/requests/compute/update_load_balancer.rb +0 -29
  318. data/providers/brightbox/lib/fog/brightbox/requests/compute/update_scoped_account.rb +0 -31
  319. data/providers/brightbox/lib/fog/brightbox/requests/compute/update_server.rb +0 -28
  320. data/providers/brightbox/lib/fog/brightbox/requests/compute/update_server_group.rb +0 -26
  321. data/providers/brightbox/lib/fog/brightbox/requests/compute/update_user.rb +0 -29
  322. data/providers/brightbox/lib/fog/brightbox/version.rb +0 -5
  323. data/providers/brightbox/test/fog/compute/brightbox_test.rb +0 -37
  324. data/test/fog/xml/connection_test.rb +0 -30
@@ -0,0 +1,45 @@
1
+ require 'fog/core/collection'
2
+ require 'fog/google/models/compute/forwarding_rule'
3
+
4
+ module Fog
5
+ module Compute
6
+ class Google
7
+
8
+ class ForwardingRules < Fog::Collection
9
+
10
+ model Fog::Compute::Google::ForwardingRule
11
+
12
+ def all(filters={})
13
+ if filters['region'].nil?
14
+ data = []
15
+ service.list_regions.body['items'].each do |region|
16
+ data += service.list_forwarding_rules(region['name']).body['items'] || []
17
+ end
18
+ else
19
+ data = service.list_forwarding_rules(filters['region']).body['items'] || []
20
+ end
21
+ load(data)
22
+ end
23
+
24
+ def get(identity, region=nil)
25
+ response = nil
26
+ if region.nil?
27
+ service.list_regions.body['items'].each do |region|
28
+ begin
29
+ response = service.get_forwarding_rule(identity, region['name'])
30
+ break if response.status == 200
31
+ rescue Fog::Errors::Error
32
+ end
33
+ end
34
+ else
35
+ response = service.get_forwarding_rule(identity, region)
36
+ end
37
+ return nil if response.nil?
38
+ new(response.body)
39
+ end
40
+
41
+ end
42
+
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,85 @@
1
+ require 'fog/core/model'
2
+
3
+ module Fog
4
+ module Compute
5
+ class Google
6
+
7
+ class HttpHealthCheck < Fog::Model
8
+
9
+ identity :name
10
+
11
+ attribute :kind, :aliases => 'kind'
12
+ attribute :self_link, :aliases => 'selfLink'
13
+ attribute :id, :aliases => 'id'
14
+ attribute :creation_timestamp, :aliases => 'creationTimestamp'
15
+ attribute :description, :aliases => 'description'
16
+ attribute :host, :aliases => 'host'
17
+ attribute :request_path, :aliases => 'requestPath'
18
+ attribute :port, :aliases => 'port'
19
+ attribute :check_interval_sec, :aliases => 'checkIntervalSec'
20
+ attribute :timeout_sec, :aliases => 'timeoutSec'
21
+ attribute :unhealthy_threshold, :aliases => 'unhealthyThreshold'
22
+ attribute :healthy_threshold, :aliases => 'healthyThreshold'
23
+
24
+ def save
25
+ requires :name
26
+
27
+ options = {
28
+ 'description' => description,
29
+ 'host' => host,
30
+ 'requestPath' => request_path || "/",
31
+ 'port' => port || 80,
32
+ 'checkIntervalSec' => check_interval_sec || 5,
33
+ 'timeoutSec' => timeout_sec || 5,
34
+ 'unhealthyThreshold' => unhealthy_threshold || 2,
35
+ 'healthyThreshold' => healthy_threshold || 2,
36
+ }
37
+
38
+ service.insert_http_health_check(name, options).body
39
+ data = service.backoff_if_unfound {service.get_http_health_check(name).body}
40
+ merge_attributes(data)
41
+ end
42
+
43
+ def destroy(async=true)
44
+ requires :name
45
+ operation = service.delete_http_health_check(name)
46
+
47
+ if not async
48
+ # wait until "DONE" to ensure the operation doesn't fail, raises
49
+ # exception on error
50
+ Fog.wait_for do
51
+ operation = service.get_global_operation(operation.body["name"])
52
+ operation.body["status"] == "DONE"
53
+ end
54
+ end
55
+ operation
56
+ end
57
+
58
+ def ready?
59
+ begin
60
+ service.get_http_health_check(self.name)
61
+ true
62
+ rescue Fog::Errors::NotFound
63
+ false
64
+ end
65
+ end
66
+
67
+ def reload
68
+ requires :name
69
+
70
+ return unless data = begin
71
+ collection.get(name)
72
+ rescue Excon::Errors::SocketError
73
+ nil
74
+ end
75
+
76
+ new_attributes = data.attributes
77
+ merge_attributes(new_attributes)
78
+ self
79
+ end
80
+
81
+ RUNNING_STATE = "READY"
82
+ end
83
+ end
84
+ end
85
+ end
@@ -0,0 +1,26 @@
1
+ require 'fog/core/collection'
2
+ require 'fog/google/models/compute/http_health_check'
3
+
4
+ module Fog
5
+ module Compute
6
+ class Google
7
+
8
+ class HttpHealthChecks < Fog::Collection
9
+
10
+ model Fog::Compute::Google::HttpHealthCheck
11
+
12
+ def all(filters={})
13
+ data = service.list_http_health_checks.body['items'] || []
14
+ load(data)
15
+ end
16
+
17
+ def get(identity)
18
+ response = service.get_http_health_check(identity)
19
+ new(response.body) unless response.nil?
20
+ end
21
+
22
+ end
23
+
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,45 @@
1
+ require 'fog/core/model'
2
+
3
+ module Fog
4
+ module Compute
5
+ class Google
6
+
7
+ ##
8
+ # Represents a Network resource
9
+ #
10
+ # @see https://developers.google.com/compute/docs/reference/latest/networks
11
+ class Network < Fog::Model
12
+ identity :name
13
+
14
+ attribute :kind
15
+ attribute :id
16
+ attribute :ipv4_range, :aliases => 'IPv4Range'
17
+ attribute :creation_timestamp, :aliases => 'creationTimestamp'
18
+ attribute :description
19
+ attribute :gateway_ipv4, :aliases => 'gatewayIPv4'
20
+ attribute :self_link, :aliases => 'selfLink'
21
+
22
+ def save
23
+ requires :identity, :ipv4_range
24
+
25
+ data = service.insert_network(identity, self.ipv4_range, self.attributes)
26
+ operation = Fog::Compute::Google::Operations.new(:service => service).get(data.body['name'])
27
+ operation.wait_for { !pending? }
28
+ reload
29
+ end
30
+
31
+ def destroy(async=true)
32
+ requires :identity
33
+
34
+ data = service.delete_network(identity)
35
+ operation = Fog::Compute::Google::Operations.new(:service => service).get(data.body['name'])
36
+ unless async
37
+ operation.wait_for { ready? }
38
+ end
39
+ operation
40
+ end
41
+ end
42
+
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,27 @@
1
+ require 'fog/core/collection'
2
+ require 'fog/google/models/compute/network'
3
+
4
+ module Fog
5
+ module Compute
6
+ class Google
7
+
8
+ class Networks < Fog::Collection
9
+ model Fog::Compute::Google::Network
10
+
11
+ def all
12
+ data = service.list_networks.body
13
+ load(data['items'] || [])
14
+ end
15
+
16
+ def get(identity)
17
+ if network = service.get_network(identity).body
18
+ new(network)
19
+ end
20
+ rescue Fog::Errors::NotFound
21
+ nil
22
+ end
23
+ end
24
+
25
+ end
26
+ end
27
+ end
@@ -8,12 +8,27 @@ module Fog
8
8
 
9
9
  identity :name
10
10
 
11
- attribute :kind, :aliases => 'kind'
12
- attribute :id, :aliases => 'id'
11
+ attribute :kind
12
+ attribute :id
13
+ attribute :client_operation_id, :aliases => 'clientOperationId'
13
14
  attribute :creation_timestamp, :aliases => 'creationTimestamp'
14
- attribute :zone_name, :aliases => 'zone'
15
- attribute :status, :aliases => 'status'
15
+ attribute :end_time, :aliases => 'endTime'
16
+ attribute :error
17
+ attribute :http_error_message, :aliases => 'httpErrorMessage'
18
+ attribute :http_error_status_code, :aliases => 'httpErrorStatusCode'
19
+ attribute :insert_time, :aliases => 'insertTime'
20
+ attribute :operation_type, :aliases => 'operationType'
21
+ attribute :progress
22
+ attribute :region
16
23
  attribute :self_link, :aliases => 'selfLink'
24
+ attribute :start_time, :aliases => 'startTime'
25
+ attribute :status
26
+ attribute :status_message, :aliases => 'statusMessage'
27
+ attribute :target_id, :aliases => 'targetId'
28
+ attribute :target_link, :aliases => 'targetLink'
29
+ attribute :user
30
+ attribute :warnings
31
+ attribute :zone
17
32
 
18
33
  def ready?
19
34
  self.status == DONE_STATE
@@ -23,10 +38,31 @@ module Fog
23
38
  self.status == PENDING_STATE
24
39
  end
25
40
 
41
+ def region_name
42
+ region.nil? ? nil : region.split('/')[-1]
43
+ end
44
+
45
+ def zone_name
46
+ zone.nil? ? nil : zone.split('/')[-1]
47
+ end
48
+
49
+ def destroy
50
+ requires :identity
51
+
52
+ if zone
53
+ service.delete_zone_operation(zone, identity)
54
+ elsif region
55
+ service.delete_region_operation(region, identity)
56
+ else
57
+ service.delete_global_operation(identity)
58
+ end
59
+ true
60
+ end
61
+
26
62
  def reload
27
63
  requires :identity
28
64
 
29
- data = collection.get(identity, zone)
65
+ data = collection.get(identity, zone, region)
30
66
  new_attributes = data.attributes
31
67
  merge_attributes(new_attributes)
32
68
  self
@@ -9,14 +9,29 @@ module Fog
9
9
 
10
10
  model Fog::Compute::Google::Operation
11
11
 
12
- def get(identity, zone=nil)
13
- if zone.nil?
14
- response = service.get_global_operation(identity)
12
+ def all(filters = {})
13
+ if filters['zone']
14
+ data = service.list_zone_operations(filters['zone']).body
15
+ elsif filters['region']
16
+ data = service.list_region_operations(filters['region']).body
15
17
  else
18
+ data = service.list_global_operations.body
19
+ end
20
+ load(data['items'] || [])
21
+ end
22
+
23
+ def get(identity, zone=nil, region=nil)
24
+ if not zone.nil?
16
25
  response = service.get_zone_operation(zone, identity)
26
+ elsif not region.nil?
27
+ response = service.get_region_operation(region, identity)
28
+ else
29
+ response = service.get_global_operation(identity)
17
30
  end
18
31
  return nil if response.nil?
19
32
  new(response.body)
33
+ rescue Fog::Errors::NotFound
34
+ nil
20
35
  end
21
36
 
22
37
  end
@@ -0,0 +1,32 @@
1
+ require 'fog/core/model'
2
+
3
+ module Fog
4
+ module Compute
5
+ class Google
6
+
7
+ ##
8
+ # Represents a Project resource
9
+ #
10
+ # @see https://developers.google.com/compute/docs/reference/latest/projects
11
+ class Project < Fog::Model
12
+ identity :name
13
+
14
+ attribute :kind
15
+ attribute :id
16
+ attribute :common_instance_metadata, :aliases => 'commonInstanceMetadata'
17
+ attribute :creation_timestamp, :aliases => 'creationTimestamp'
18
+ attribute :description
19
+ attribute :quotas
20
+ attribute :self_link, :aliases => 'selfLink'
21
+
22
+ def set_metadata(metadata = {})
23
+ requires :identity
24
+
25
+ data = service.set_common_instance_metadata(identity, self.common_instance_metadata['fingerprint'], metadata)
26
+ Fog::Compute::Google::Operations.new(:service => service).get(data.body['name'])
27
+ end
28
+ end
29
+
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,22 @@
1
+ require 'fog/core/collection'
2
+ require 'fog/google/models/compute/project'
3
+
4
+ module Fog
5
+ module Compute
6
+ class Google
7
+
8
+ class Projects < Fog::Collection
9
+ model Fog::Compute::Google::Project
10
+
11
+ def get(identity)
12
+ if project = service.get_project(identity).body
13
+ new(project)
14
+ end
15
+ rescue Fog::Errors::NotFound
16
+ nil
17
+ end
18
+ end
19
+
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,34 @@
1
+ require 'fog/core/model'
2
+
3
+ module Fog
4
+ module Compute
5
+ class Google
6
+
7
+ ##
8
+ # Represents a Region resource
9
+ #
10
+ # @see https://developers.google.com/compute/docs/reference/latest/regions
11
+ class Region < Fog::Model
12
+ identity :name
13
+
14
+ attribute :kind
15
+ attribute :id
16
+ attribute :creation_timestamp, :aliases => 'creationTimestamp'
17
+ attribute :deprecated
18
+ attribute :description
19
+ attribute :quotas
20
+ attribute :self_link, :aliases => 'selfLink'
21
+ attribute :status
22
+ attribute :zones
23
+
24
+ DOWN_STATE = 'DOWN'
25
+ UP_STATE = 'UP'
26
+
27
+ def up?
28
+ self.status == UP_STATE
29
+ end
30
+ end
31
+
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,27 @@
1
+ require 'fog/core/collection'
2
+ require 'fog/google/models/compute/region'
3
+
4
+ module Fog
5
+ module Compute
6
+ class Google
7
+
8
+ class Regions < Fog::Collection
9
+ model Fog::Compute::Google::Region
10
+
11
+ def all
12
+ data = service.list_regions.body
13
+ load(data['items'] || [])
14
+ end
15
+
16
+ def get(identity)
17
+ if region = service.get_region(identity).body
18
+ new(region)
19
+ end
20
+ rescue Fog::Errors::NotFound
21
+ nil
22
+ end
23
+ end
24
+
25
+ end
26
+ end
27
+ end