brightbox-cli 0.17.1 → 0.17.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (229) hide show
  1. data/.gitignore +1 -1
  2. data/brightbox-cli.gemspec +10 -9
  3. data/lib/brightbox-cli/commands/servers-activate-console.rb +1 -1
  4. data/lib/brightbox-cli/commands/types-show.rb +5 -4
  5. data/lib/brightbox-cli/config.rb +1 -1
  6. data/lib/brightbox-cli/detailed_server.rb +2 -1
  7. data/lib/brightbox-cli/gli_global_hooks.rb +1 -8
  8. data/lib/brightbox-cli/server_groups.rb +4 -0
  9. data/lib/brightbox-cli/servers.rb +5 -13
  10. data/lib/brightbox-cli/types.rb +1 -1
  11. data/lib/brightbox-cli/vendor/fog/.gitignore +1 -0
  12. data/lib/brightbox-cli/vendor/fog/README.rdoc +1 -1
  13. data/lib/brightbox-cli/vendor/fog/Rakefile +4 -3
  14. data/lib/brightbox-cli/vendor/fog/changelog.txt +213 -0
  15. data/lib/brightbox-cli/vendor/fog/docs/compute/index.markdown +15 -1
  16. data/lib/brightbox-cli/vendor/fog/docs/index.markdown +1 -1
  17. data/lib/brightbox-cli/vendor/fog/docs/storage/index.markdown +4 -4
  18. data/lib/brightbox-cli/vendor/fog/examples/compute_tests.rb +18 -6
  19. data/lib/brightbox-cli/vendor/fog/examples/dns_tests.rb +1 -1
  20. data/lib/brightbox-cli/vendor/fog/examples/storage_tests.rb +1 -1
  21. data/lib/brightbox-cli/vendor/fog/fog.gemspec +4 -3
  22. data/lib/brightbox-cli/vendor/fog/lib/fog.rb +1 -1
  23. data/lib/brightbox-cli/vendor/fog/lib/fog/aws.rb +16 -1
  24. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/auto_scaling.rb +2 -17
  25. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/cloud_formation.rb +1 -16
  26. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/cloud_watch.rb +2 -17
  27. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/compute.rb +10 -21
  28. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/elasticache.rb +1 -7
  29. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/elb.rb +34 -24
  30. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/emr.rb +5 -4
  31. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/iam.rb +16 -1
  32. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/auto_scaling/group.rb +2 -2
  33. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/cloud_watch/metric_statistic.rb +1 -2
  34. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/compute/security_group.rb +3 -3
  35. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/compute/security_groups.rb +25 -0
  36. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/compute/server.rb +4 -1
  37. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/dns/records.rb +3 -3
  38. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/elb/listener.rb +9 -7
  39. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/elb/load_balancer.rb +6 -0
  40. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/storage/directory.rb +21 -0
  41. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/storage/file.rb +19 -5
  42. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/storage/files.rb +4 -4
  43. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/compute/describe_instances.rb +2 -2
  44. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/compute/describe_security_groups.rb +2 -2
  45. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/sqs/receive_message.rb +1 -1
  46. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/rds.rb +41 -18
  47. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/create_security_group.rb +6 -4
  48. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/create_tags.rb +3 -2
  49. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/describe_availability_zones.rb +3 -0
  50. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/describe_security_groups.rb +2 -0
  51. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elb/create_app_cookie_stickiness_policy.rb +2 -0
  52. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elb/create_lb_cookie_stickiness_policy.rb +3 -1
  53. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elb/create_load_balancer.rb +7 -2
  54. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elb/create_load_balancer_listeners.rb +10 -1
  55. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elb/delete_load_balancer_policy.rb +1 -1
  56. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elb/describe_load_balancers.rb +5 -1
  57. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elb/set_load_balancer_listener_ssl_certificate.rb +27 -0
  58. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elb/set_load_balancer_policies_of_listener.rb +1 -1
  59. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/emr/run_job_flow.rb +9 -7
  60. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/iam/add_user_to_group.rb +24 -0
  61. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/iam/create_access_key.rb +24 -0
  62. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/iam/create_group.rb +21 -0
  63. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/iam/create_user.rb +21 -0
  64. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/iam/delete_access_key.rb +17 -0
  65. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/iam/delete_group.rb +19 -0
  66. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/iam/delete_user.rb +17 -0
  67. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/iam/delete_user_policy.rb +16 -0
  68. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/iam/list_access_keys.rb +21 -0
  69. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/iam/list_groups.rb +18 -0
  70. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/iam/list_groups_for_user.rb +24 -0
  71. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/iam/list_user_policies.rb +18 -0
  72. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/iam/list_users.rb +17 -0
  73. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/iam/put_user_policy.rb +18 -0
  74. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/iam/remove_user_from_group.rb +19 -0
  75. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/iam/upload_server_certificate.rb +1 -1
  76. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/rds/authorize_db_security_group_ingress.rb +30 -1
  77. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/rds/create_db_instance.rb +67 -1
  78. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/rds/create_db_security_group.rb +19 -1
  79. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/rds/delete_db_instance.rb +19 -3
  80. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/rds/delete_db_security_group.rb +11 -1
  81. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/rds/describe_db_instances.rb +56 -1
  82. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/rds/describe_db_reserved_instances.rb +1 -1
  83. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/rds/describe_db_security_groups.rb +44 -2
  84. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/rds/modify_db_instance.rb +26 -1
  85. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/rds/reboot_db_instance.rb +17 -1
  86. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/rds/revoke_db_security_group_ingress.rb +27 -1
  87. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/sqs/change_message_visibility.rb +1 -1
  88. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/sqs/delete_message.rb +1 -1
  89. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/sqs/receive_message.rb +13 -14
  90. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/storage/copy_object.rb +14 -6
  91. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/storage/delete_object.rb +73 -2
  92. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/storage/get_bucket.rb +3 -2
  93. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/storage/get_bucket_object_versions.rb +95 -2
  94. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/storage/get_bucket_versioning.rb +32 -0
  95. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/storage/get_object.rb +27 -1
  96. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/storage/get_object_http_url.rb +4 -3
  97. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/storage/get_object_https_url.rb +4 -3
  98. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/storage/put_bucket_versioning.rb +41 -0
  99. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/storage/put_bucket_website.rb +17 -0
  100. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/storage/put_object.rb +25 -9
  101. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/ses.rb +2 -7
  102. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/simpledb.rb +4 -17
  103. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/sns.rb +1 -14
  104. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/sqs.rb +5 -11
  105. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/storage.rb +6 -22
  106. data/lib/brightbox-cli/vendor/fog/lib/fog/bin.rb +2 -0
  107. data/lib/brightbox-cli/vendor/fog/lib/fog/bin/aws.rb +9 -1
  108. data/lib/brightbox-cli/vendor/fog/lib/fog/bin/voxel.rb +1 -1
  109. data/lib/brightbox-cli/vendor/fog/lib/fog/brightbox/models/compute/server.rb +1 -0
  110. data/lib/brightbox-cli/vendor/fog/lib/fog/compute.rb +6 -0
  111. data/lib/brightbox-cli/vendor/fog/lib/fog/compute/models/server.rb +11 -0
  112. data/lib/brightbox-cli/vendor/fog/lib/fog/core.rb +0 -1
  113. data/lib/brightbox-cli/vendor/fog/lib/fog/core/connection.rb +0 -1
  114. data/lib/brightbox-cli/vendor/fog/lib/fog/core/errors.rb +5 -0
  115. data/lib/brightbox-cli/vendor/fog/lib/fog/core/scp.rb +18 -2
  116. data/lib/brightbox-cli/vendor/fog/lib/fog/core/wait_for.rb +1 -1
  117. data/lib/brightbox-cli/vendor/fog/lib/fog/dnsmadeeasy/dns.rb +1 -1
  118. data/lib/brightbox-cli/vendor/fog/lib/fog/dynect/models/dns/records.rb +2 -2
  119. data/lib/brightbox-cli/vendor/fog/lib/fog/dynect/requests/dns/get_node_list.rb +2 -1
  120. data/lib/brightbox-cli/vendor/fog/lib/fog/ecloud/compute.rb +1 -1
  121. data/lib/brightbox-cli/vendor/fog/lib/fog/ecloud/requests/compute/add_backup_internet_service.rb +1 -1
  122. data/lib/brightbox-cli/vendor/fog/lib/fog/ecloud/requests/compute/add_internet_service.rb +2 -2
  123. data/lib/brightbox-cli/vendor/fog/lib/fog/ecloud/requests/compute/add_node.rb +1 -1
  124. data/lib/brightbox-cli/vendor/fog/lib/fog/ecloud/requests/compute/clone_vapp.rb +1 -1
  125. data/lib/brightbox-cli/vendor/fog/lib/fog/ecloud/requests/compute/configure_internet_service.rb +1 -1
  126. data/lib/brightbox-cli/vendor/fog/lib/fog/ecloud/requests/compute/configure_network.rb +1 -1
  127. data/lib/brightbox-cli/vendor/fog/lib/fog/ecloud/requests/compute/configure_network_ip.rb +1 -1
  128. data/lib/brightbox-cli/vendor/fog/lib/fog/ecloud/requests/compute/configure_vapp.rb +1 -1
  129. data/lib/brightbox-cli/vendor/fog/lib/fog/ecloud/requests/compute/instantiate_vapp_template.rb +1 -1
  130. data/lib/brightbox-cli/vendor/fog/lib/fog/libvirt/compute.rb +7 -3
  131. data/lib/brightbox-cli/vendor/fog/lib/fog/libvirt/models/compute/nodes.rb +1 -3
  132. data/lib/brightbox-cli/vendor/fog/lib/fog/libvirt/models/compute/server.rb +93 -99
  133. data/lib/brightbox-cli/vendor/fog/lib/fog/libvirt/models/compute/servers.rb +2 -1
  134. data/lib/brightbox-cli/vendor/fog/lib/fog/libvirt/models/compute/util.rb +1 -2
  135. data/lib/brightbox-cli/vendor/fog/lib/fog/providers.rb +2 -0
  136. data/lib/brightbox-cli/vendor/fog/lib/fog/rackspace/dns.rb +10 -2
  137. data/lib/brightbox-cli/vendor/fog/lib/fog/rackspace/load_balancers.rb +3 -0
  138. data/lib/brightbox-cli/vendor/fog/lib/fog/rackspace/models/compute/flavor.rb +2 -0
  139. data/lib/brightbox-cli/vendor/fog/lib/fog/rackspace/models/compute/server.rb +2 -2
  140. data/lib/brightbox-cli/vendor/fog/lib/fog/rackspace/models/dns/callback.rb +3 -1
  141. data/lib/brightbox-cli/vendor/fog/lib/fog/rackspace/models/dns/record.rb +4 -0
  142. data/lib/brightbox-cli/vendor/fog/lib/fog/rackspace/models/load_balancers/load_balancer.rb +18 -8
  143. data/lib/brightbox-cli/vendor/fog/lib/fog/rackspace/models/storage/directory.rb +5 -1
  144. data/lib/brightbox-cli/vendor/fog/lib/fog/rackspace/requests/compute/create_image.rb +1 -3
  145. data/lib/brightbox-cli/vendor/fog/lib/fog/rackspace/requests/load_balancers/delete_nodes.rb +1 -2
  146. data/lib/brightbox-cli/vendor/fog/lib/fog/rackspace/requests/load_balancers/list_load_balancers.rb +8 -2
  147. data/lib/brightbox-cli/vendor/fog/lib/fog/storm_on_demand/compute.rb +1 -1
  148. data/lib/brightbox-cli/vendor/fog/lib/fog/vcloud/compute.rb +91 -30
  149. data/lib/brightbox-cli/vendor/fog/lib/fog/vcloud/models/compute/catalog.rb +1 -1
  150. data/lib/brightbox-cli/vendor/fog/lib/fog/vcloud/models/compute/catalog_item.rb +1 -1
  151. data/lib/brightbox-cli/vendor/fog/lib/fog/vcloud/models/compute/catalogs.rb +5 -8
  152. data/lib/brightbox-cli/vendor/fog/lib/fog/vcloud/models/compute/ip.rb +2 -2
  153. data/lib/brightbox-cli/vendor/fog/lib/fog/vcloud/models/compute/network.rb +9 -51
  154. data/lib/brightbox-cli/vendor/fog/lib/fog/vcloud/models/compute/networks.rb +21 -7
  155. data/lib/brightbox-cli/vendor/fog/lib/fog/vcloud/models/compute/server.rb +38 -58
  156. data/lib/brightbox-cli/vendor/fog/lib/fog/vcloud/models/compute/servers.rb +12 -18
  157. data/lib/brightbox-cli/vendor/fog/lib/fog/vcloud/models/compute/task.rb +1 -1
  158. data/lib/brightbox-cli/vendor/fog/lib/fog/vcloud/models/compute/tasks.rb +1 -3
  159. data/lib/brightbox-cli/vendor/fog/lib/fog/vcloud/models/compute/vdc.rb +14 -29
  160. data/lib/brightbox-cli/vendor/fog/lib/fog/vcloud/models/compute/vdcs.rb +6 -11
  161. data/lib/brightbox-cli/vendor/fog/lib/fog/vcloud/requests/compute/clone_vapp.rb +1 -1
  162. data/lib/brightbox-cli/vendor/fog/lib/fog/vcloud/requests/compute/configure_network.rb +1 -1
  163. data/lib/brightbox-cli/vendor/fog/lib/fog/vcloud/requests/compute/configure_network_ip.rb +1 -1
  164. data/lib/brightbox-cli/vendor/fog/lib/fog/vcloud/requests/compute/configure_vapp.rb +1 -1
  165. data/lib/brightbox-cli/vendor/fog/lib/fog/vcloud/requests/compute/configure_vm.rb +1 -1
  166. data/lib/brightbox-cli/vendor/fog/lib/fog/vcloud/requests/compute/instantiate_vapp_template.rb +1 -1
  167. data/lib/brightbox-cli/vendor/fog/lib/fog/vcloud/requests/compute/login.rb +8 -4
  168. data/lib/brightbox-cli/vendor/fog/lib/fog/virtual_box/compute.rb +4 -0
  169. data/lib/brightbox-cli/vendor/fog/lib/fog/vsphere/compute.rb +1 -0
  170. data/lib/brightbox-cli/vendor/fog/lib/fog/vsphere/models/compute/server.rb +7 -1
  171. data/lib/brightbox-cli/vendor/fog/lib/fog/vsphere/requests/compute/list_virtual_machines.rb +86 -86
  172. data/lib/brightbox-cli/vendor/fog/lib/fog/vsphere/requests/compute/vm_clone.rb +43 -8
  173. data/lib/brightbox-cli/vendor/fog/lib/fog/zerigo/models/dns/record.rb +7 -5
  174. data/lib/brightbox-cli/vendor/fog/lib/fog/zerigo/requests/dns/update_host.rb +2 -2
  175. data/lib/brightbox-cli/vendor/fog/spec/ecloud/spec_helper.rb +1 -1
  176. data/lib/brightbox-cli/vendor/fog/tests/aws/models/elb/model_tests.rb +15 -6
  177. data/lib/brightbox-cli/vendor/fog/tests/aws/requests/compute/instance_tests.rb +37 -0
  178. data/lib/brightbox-cli/vendor/fog/tests/aws/requests/compute/security_group_tests.rb +6 -4
  179. data/lib/brightbox-cli/vendor/fog/tests/aws/requests/elb/helper.rb +33 -0
  180. data/lib/brightbox-cli/vendor/fog/tests/aws/requests/elb/listener_tests.rb +22 -4
  181. data/lib/brightbox-cli/vendor/fog/tests/aws/requests/elb/policy_tests.rb +13 -0
  182. data/lib/brightbox-cli/vendor/fog/tests/aws/requests/iam/access_key_tests.rb +2 -7
  183. data/lib/brightbox-cli/vendor/fog/tests/aws/requests/iam/group_tests.rb +1 -4
  184. data/lib/brightbox-cli/vendor/fog/tests/aws/requests/iam/user_policy_tests.rb +4 -11
  185. data/lib/brightbox-cli/vendor/fog/tests/aws/requests/iam/user_tests.rb +19 -12
  186. data/lib/brightbox-cli/vendor/fog/tests/aws/requests/rds/helper.rb +38 -3
  187. data/lib/brightbox-cli/vendor/fog/tests/aws/requests/rds/instance_tests.rb +3 -1
  188. data/lib/brightbox-cli/vendor/fog/tests/aws/requests/storage/bucket_tests.rb +66 -1
  189. data/lib/brightbox-cli/vendor/fog/tests/brightbox/requests/compute/account_tests.rb +3 -3
  190. data/lib/brightbox-cli/vendor/fog/tests/brightbox/requests/compute/api_client_tests.rb +6 -6
  191. data/lib/brightbox-cli/vendor/fog/tests/brightbox/requests/compute/cloud_ip_tests.rb +15 -9
  192. data/lib/brightbox-cli/vendor/fog/tests/brightbox/requests/compute/helper.rb +6 -2
  193. data/lib/brightbox-cli/vendor/fog/tests/brightbox/requests/compute/image_tests.rb +2 -2
  194. data/lib/brightbox-cli/vendor/fog/tests/brightbox/requests/compute/interface_tests.rb +1 -1
  195. data/lib/brightbox-cli/vendor/fog/tests/brightbox/requests/compute/load_balancer_tests.rb +9 -9
  196. data/lib/brightbox-cli/vendor/fog/tests/brightbox/requests/compute/server_group_tests.rb +8 -8
  197. data/lib/brightbox-cli/vendor/fog/tests/brightbox/requests/compute/server_tests.rb +17 -13
  198. data/lib/brightbox-cli/vendor/fog/tests/brightbox/requests/compute/server_type_tests.rb +2 -2
  199. data/lib/brightbox-cli/vendor/fog/tests/brightbox/requests/compute/user_tests.rb +3 -3
  200. data/lib/brightbox-cli/vendor/fog/tests/brightbox/requests/compute/zone_tests.rb +2 -2
  201. data/lib/brightbox-cli/vendor/fog/tests/glesys/requests/compute/helper.rb +87 -64
  202. data/lib/brightbox-cli/vendor/fog/tests/glesys/requests/compute/ip_tests.rb +1 -1
  203. data/lib/brightbox-cli/vendor/fog/tests/glesys/requests/compute/server_tests.rb +4 -4
  204. data/lib/brightbox-cli/vendor/fog/tests/helpers/formats_helper.rb +1 -1
  205. data/lib/brightbox-cli/vendor/fog/tests/helpers/mock_helper.rb +2 -0
  206. data/lib/brightbox-cli/vendor/fog/tests/rackspace/requests/dns/dns_tests.rb +4 -2
  207. data/lib/brightbox-cli/vendor/fog/tests/rackspace/requests/load_balancers/helper.rb +27 -11
  208. data/lib/brightbox-cli/vendor/fog/tests/rackspace/requests/load_balancers/load_balancer_tests.rb +4 -1
  209. data/lib/brightbox-cli/vendor/fog/tests/rackspace/requests/load_balancers/node_tests.rb +24 -25
  210. data/lib/brightbox-cli/vendor/fog/tests/slicehost/requests/compute/slice_tests.rb +2 -2
  211. data/lib/brightbox-cli/vendor/fog/tests/storm_on_demand/requests/compute/server_tests.rb +3 -3
  212. data/lib/brightbox-cli/vendor/fog/tests/vcloud/models/compute/servers_tests.rb +18 -90
  213. data/lib/brightbox-cli/vendor/fog/tests/vsphere/requests/compute/vm_clone_tests.rb +16 -4
  214. data/lib/brightbox-cli/vendor/fog/tests/vsphere/requests/compute/vm_power_on_tests.rb +1 -1
  215. data/lib/brightbox-cli/version.rb +1 -1
  216. data/spec/cloud_ips_spec.rb +1 -1
  217. data/spec/fixtures/vcr_cassettes/list_cloud_ip.yml +58 -26
  218. data/spec/fixtures/vcr_cassettes/server_show.yml +143 -102
  219. data/spec/servers_spec.rb +3 -2
  220. data/spec/spec_helper.rb +4 -0
  221. metadata +128 -213
  222. data/lib/brightbox-cli/vendor/fog/tests/rackspace/models/access_list_tests.rb +0 -12
  223. data/lib/brightbox-cli/vendor/fog/tests/rackspace/models/access_lists_tests.rb +0 -12
  224. data/lib/brightbox-cli/vendor/fog/tests/rackspace/models/load_balancer_tests.rb +0 -116
  225. data/lib/brightbox-cli/vendor/fog/tests/rackspace/models/load_balancers_tests.rb +0 -19
  226. data/lib/brightbox-cli/vendor/fog/tests/rackspace/models/node_tests.rb +0 -19
  227. data/lib/brightbox-cli/vendor/fog/tests/rackspace/models/nodes_tests.rb +0 -12
  228. data/lib/brightbox-cli/vendor/fog/tests/rackspace/models/virtual_ip_tests.rb +0 -16
  229. data/lib/brightbox-cli/vendor/fog/tests/rackspace/models/virtual_ips_tests.rb +0 -12
@@ -62,6 +62,9 @@ module Fog
62
62
  request :remove_monitor
63
63
  request :get_usage
64
64
  request :get_load_balancer_usage
65
+ request :get_error_page
66
+ request :set_error_page
67
+ request :remove_error_page
65
68
 
66
69
  module Shared
67
70
 
@@ -34,6 +34,8 @@ module Fog
34
34
  1/2.0
35
35
  when 15872
36
36
  1
37
+ when 30720
38
+ 2
37
39
  end
38
40
  end
39
41
 
@@ -9,9 +9,9 @@ module Fog
9
9
  identity :id
10
10
 
11
11
  attribute :addresses
12
- attribute :flavor_id, :aliases => 'flavorId'
12
+ attribute :flavor_id, :aliases => 'flavorId', :type => :integer
13
13
  attribute :host_id, :aliases => 'hostId'
14
- attribute :image_id, :aliases => 'imageId'
14
+ attribute :image_id, :aliases => 'imageId', :type => :integer
15
15
  attribute :metadata
16
16
  attribute :name
17
17
  attribute :personality
@@ -11,8 +11,10 @@ module Fog
11
11
  response = nil
12
12
  Fog.wait_for(timeout, interval) do
13
13
  response = connection.callback job_id
14
- if response.body['status'] != 'RUNNING'
14
+ if response.body['status'] == 'COMPLETED'
15
15
  true
16
+ elsif response.body['status'] == 'ERROR'
17
+ raise Fog::DNS::Rackspace::CallbackError.new(response)
16
18
  elsif retries == 0
17
19
  raise Fog::Errors::Error.new("Wait on job #{job_id} took too long")
18
20
  else
@@ -50,6 +50,10 @@ module Fog
50
50
  :data => value
51
51
  }
52
52
 
53
+ if priority
54
+ options[:priority] = priority
55
+ end
56
+
53
57
  response = wait_for_job connection.add_records(@zone.identity, [options]).body['jobId']
54
58
  merge_attributes(response.body['response']['records'].select {|record| record['name'] == self.name && record['type'] == self.type && record['data'] == self.value}.first)
55
59
  true
@@ -70,10 +70,6 @@ module Fog
70
70
  virtual_ips.load(new_virtual_ips)
71
71
  end
72
72
 
73
- def connection_logging
74
- attributes[:connection_logging]
75
- end
76
-
77
73
  def enable_connection_logging
78
74
  requires :identity
79
75
  connection.set_connection_logging identity, true
@@ -94,7 +90,7 @@ module Fog
94
90
 
95
91
  def enable_health_monitor(type, delay, timeout, attempsBeforeDeactivation, options = {})
96
92
  requires :identity
97
- connection.set_monitor(identity, type, delay, timeout, attempsBeforeDeactivation, options = {})
93
+ connection.set_monitor(identity, type, delay, timeout, attempsBeforeDeactivation, options)
98
94
  true
99
95
  end
100
96
 
@@ -164,6 +160,21 @@ module Fog
164
160
  connection.get_load_balancer_usage(identity, options).body
165
161
  end
166
162
 
163
+ def error_page
164
+ requires :identity
165
+ connection.get_error_page(identity).body['errorpage']['content']
166
+ end
167
+
168
+ def error_page=(content)
169
+ requires :identity
170
+ connection.set_error_page identity, content
171
+ end
172
+
173
+ def reset_error_page
174
+ requires :identity
175
+ connection.remove_error_page identity
176
+ end
177
+
167
178
  private
168
179
  def create
169
180
  requires :name, :protocol, :port, :virtual_ips, :nodes
@@ -200,16 +211,15 @@ module Fog
200
211
  def connection_logging=(new_value)
201
212
  if !new_value.nil? and new_value.is_a?(Hash)
202
213
  attributes[:connection_logging] = case new_value['enabled']
203
- when 'true'
214
+ when true,'true'
204
215
  true
205
- when 'false'
216
+ when false,'false'
206
217
  false
207
218
  end
208
219
  else
209
220
  attributes[:connection_logging] = new_value
210
221
  end
211
222
  end
212
-
213
223
  end
214
224
  end
215
225
  end
@@ -58,7 +58,11 @@ module Fog
58
58
 
59
59
  if @connection.cdn && @public
60
60
  # if public and CDN connection then update cdn to public
61
- @public_url = connection.cdn.put_container(key, 'X-CDN-Enabled' => 'True').headers['X-CDN-URI']
61
+ uri_header = 'X-CDN-URI'
62
+ if connection.rackspace_cdn_ssl == true
63
+ uri_header = 'X-CDN-SSL-URI'
64
+ end
65
+ @public_url = connection.cdn.put_container(key, 'X-CDN-Enabled' => 'True').headers[uri_header]
62
66
  elsif @connection.cdn && !@public
63
67
  connection.cdn.put_container(key, 'X-CDN-Enabled' => 'False')
64
68
  @public_url = nil
@@ -21,9 +21,7 @@ module Fog
21
21
  'serverId' => server_id
22
22
  }
23
23
  }
24
- if options['name']
25
- data['image']['name'] = options['name']
26
- end
24
+ data['image'].merge!(options)
27
25
  request(
28
26
  :body => MultiJson.encode(data),
29
27
  :expects => 202,
@@ -4,10 +4,9 @@ module Fog
4
4
  class Real
5
5
  def delete_nodes(load_balancer_id, *node_ids)
6
6
  query_string = node_ids.collect { |node_id| "id=#{node_id}" }.join('&')
7
- puts query_string
8
7
  request(
9
8
  :expects => [200, 202],
10
- :path => "loadbalancers/#{load_balancer_id}/nodes?#{node_ids}",
9
+ :path => "loadbalancers/#{load_balancer_id}/nodes?#{query_string}",
11
10
  :method => 'DELETE'
12
11
  )
13
12
  end
@@ -2,11 +2,17 @@ module Fog
2
2
  module Rackspace
3
3
  class LoadBalancers
4
4
  class Real
5
- def list_load_balancers
5
+ def list_load_balancers(options = {})
6
+ if options.has_key? :node_address
7
+ query_string = "?nodeaddress=#{options[:node_address]}"
8
+ else
9
+ query_string = ''
10
+ end
11
+
6
12
  request(
7
13
  :expects => 200,
8
14
  :method => 'GET',
9
- :path => 'loadbalancers.json'
15
+ :path => "loadbalancers.json?#{query_string}"
10
16
  )
11
17
  end
12
18
  end
@@ -125,7 +125,7 @@ module Fog
125
125
  unless response.body.empty?
126
126
  response.body = MultiJson.decode(response.body)
127
127
  end
128
- if response.body.keys.include?('full_error')
128
+ if response.body.has_key?('full_error')
129
129
  raise(Fog::Compute::StormOnDemand::Error, response.body.inspect)
130
130
  end
131
131
  response
@@ -52,6 +52,20 @@ module Fog
52
52
  end
53
53
  end
54
54
 
55
+ def link_up
56
+ load_unless_loaded!
57
+ self.links.find{|l| l[:rel] == 'up' }
58
+ end
59
+
60
+ def self.has_up(item)
61
+ class_eval <<-EOS, __FILE__,__LINE__
62
+ def #{item}
63
+ load_unless_loaded!
64
+ connection.get_#{item}(link_up[:href])
65
+ end
66
+ EOS
67
+ end
68
+
55
69
  end
56
70
  end
57
71
  end
@@ -60,12 +74,16 @@ module Fog
60
74
  module Vcloud
61
75
  class Compute < Fog::Service
62
76
 
63
- PATH = '/api/v1.0'
77
+ BASE_PATH = '/api'
78
+ DEFAULT_VERSION = '1.5'
79
+ SUPPORTED_VERSIONS = [ '1.5', '1.0' ]
64
80
  PORT = 443
65
81
  SCHEME = 'https'
66
82
 
83
+ attr_writer :default_organization_uri
84
+
67
85
  requires :vcloud_username, :vcloud_password, :vcloud_host
68
- recognizes :vcloud_port, :vcloud_scheme, :vcloud_path, :vcloud_default_vdc
86
+ recognizes :vcloud_port, :vcloud_scheme, :vcloud_path, :vcloud_default_vdc, :vcloud_version, :vcloud_base_path
69
87
  recognizes :provider # remove post deprecation
70
88
 
71
89
  model_path 'fog/vcloud/models/compute'
@@ -81,8 +99,12 @@ module Fog
81
99
  collection :servers
82
100
  model :task
83
101
  collection :tasks
102
+ model :vapp
103
+ collection :vapps
84
104
  model :vdc
85
105
  collection :vdcs
106
+ model :organization
107
+ collection :organizations
86
108
 
87
109
  request_path 'fog/vcloud/requests/compute'
88
110
  request :clone_vapp
@@ -93,21 +115,15 @@ module Fog
93
115
  request :configure_vm_name_description
94
116
  request :configure_vm_disks
95
117
  request :delete_vapp
96
- request :get_catalog
97
118
  request :get_catalog_item
98
119
  request :get_customization_options
99
- request :get_network
100
120
  request :get_network_ip
101
121
  request :get_network_ips
102
122
  request :get_network_extensions
103
- request :get_organization
104
- request :get_task
105
123
  request :get_task_list
106
- request :get_vapp
107
124
  request :get_vapp_template
108
125
  request :get_vm_disks
109
126
  request :get_vm_memory
110
- request :get_vdc
111
127
  request :instantiate_vapp_template
112
128
  request :login
113
129
  request :power_off
@@ -131,13 +147,16 @@ module Fog
131
147
  def basic_request(*args)
132
148
  self.class_eval <<-EOS, __FILE__,__LINE__
133
149
  def #{args[0]}(uri)
134
- request({
135
- :expects => #{args[1] || 200},
136
- :method => '#{args[2] || 'GET'}',
137
- :headers => #{args[3] ? args[3].inspect : '{}'},
138
- :body => '#{args[4] ? args[4] : ''}',
139
- :parse => true,
140
- :uri => uri })
150
+ request(
151
+ {
152
+ :expects => #{args[1] || 200},
153
+ :method => '#{args[2] || 'GET'}',
154
+ :headers => #{args[3] ? args[3].inspect : '{}'},
155
+ :body => '#{args[4] ? args[4] : ''}',
156
+ :parse => true,
157
+ :uri => uri
158
+ }
159
+ )
141
160
  end
142
161
  EOS
143
162
  end
@@ -154,9 +173,10 @@ module Fog
154
173
  end
155
174
  EOS
156
175
  end
157
-
158
176
  end
159
177
 
178
+ attr_reader :version
179
+
160
180
  def initialize(options = {})
161
181
  require 'builder'
162
182
  require 'fog/core/parser'
@@ -165,13 +185,15 @@ module Fog
165
185
  @connection_options = options[:connection_options] || {}
166
186
  @persistent = options[:persistent]
167
187
 
168
- @username = options[:vcloud_username]
169
- @password = options[:vcloud_password]
170
- @host = options[:vcloud_host]
171
- @vdc_href = options[:vcloud_default_vdc]
172
- @path = options[:vcloud_path] || Fog::Vcloud::Compute::PATH
173
- @port = options[:vcloud_port] || Fog::Vcloud::Compute::PORT
174
- @scheme = options[:vcloud_scheme] || Fog::Vcloud::Compute::SCHEME
188
+ @username = options[:vcloud_username]
189
+ @password = options[:vcloud_password]
190
+ @host = options[:vcloud_host]
191
+ @vdc_href = options[:vcloud_default_vdc]
192
+ @base_path = options[:vcloud_base_path] || Fog::Vcloud::Compute::BASE_PATH
193
+ @version = options[:vcloud_version] || Fog::Vcloud::Compute::DEFAULT_VERSION
194
+ @path = options[:vcloud_path] || "#{@base_path}/v#{@version}"
195
+ @port = options[:vcloud_port] || Fog::Vcloud::Compute::PORT
196
+ @scheme = options[:vcloud_scheme] || Fog::Vcloud::Compute::SCHEME
175
197
  end
176
198
 
177
199
  def reload
@@ -214,10 +236,17 @@ module Fog
214
236
  end
215
237
 
216
238
  def xmlns
217
- { "xmlns" => "http://www.vmware.com/vcloud/v1",
218
- "xmlns:ovf" => "http://schemas.dmtf.org/ovf/envelope/1",
219
- "xmlns:xsi" => "http://www.w3.org/2001/XMLSchema-instance",
220
- "xmlns:xsd" => "http://www.w3.org/2001/XMLSchema" }
239
+ if version == '1.0'
240
+ { "xmlns" => "http://www.vmware.com/vcloud/v1",
241
+ "xmlns:ovf" => "http://schemas.dmtf.org/ovf/envelope/1",
242
+ "xmlns:xsi" => "http://www.w3.org/2001/XMLSchema-instance",
243
+ "xmlns:xsd" => "http://www.w3.org/2001/XMLSchema" }
244
+ else
245
+ { 'xmlns' => "http://www.vmware.com/vcloud/v1.5",
246
+ "xmlns:ovf" => "http://schemas.dmtf.org/ovf/envelope/1",
247
+ "xmlns:xsi" => "http://www.w3.org/2001/XMLSchema-instance",
248
+ "xmlns:xsd" => "http://www.w3.org/2001/XMLSchema" }
249
+ end
221
250
  end
222
251
 
223
252
  # If the cookie isn't set, do a get_organizations call to set it
@@ -235,8 +264,23 @@ module Fog
235
264
  end
236
265
  end
237
266
 
238
- private
239
267
 
268
+ def basic_request_params(uri,*args)
269
+ {
270
+ :expects => args[0] || 200,
271
+ :method => args[1] || 'GET',
272
+ :headers => args[2] ? args[2].inspect : {},
273
+ :body => args[3] ? args[3] : '',
274
+ :parse => true,
275
+ :uri => uri
276
+ }
277
+ end
278
+
279
+ def base_path_url
280
+ "#{@scheme}://#{@host}:#{@port}#{@base_path}"
281
+ end
282
+
283
+ private
240
284
  def ensure_parsed(uri)
241
285
  if uri.is_a?(String)
242
286
  URI.parse(uri)
@@ -273,6 +317,7 @@ module Fog
273
317
 
274
318
  # Set headers to an empty hash if none are set.
275
319
  headers = params[:headers] || {}
320
+ headers['Accept'] = 'application/*+xml;version=1.5' if version == '1.5'
276
321
 
277
322
  # Add our auth cookie to the headers
278
323
  if @cookie
@@ -289,14 +334,12 @@ module Fog
289
334
  })
290
335
 
291
336
  # Parse the response body into a hash
292
- #puts response.body
293
337
  unless response.body.empty?
294
338
  if params[:parse]
295
339
  document = Fog::ToHashDocument.new
296
340
  parser = Nokogiri::XML::SAX::PushParser.new(document)
297
341
  parser << response.body
298
342
  parser.finish
299
-
300
343
  response.body = document.body
301
344
  end
302
345
  end
@@ -305,7 +348,25 @@ module Fog
305
348
  end
306
349
 
307
350
  end
351
+ def self.item_requests(*types)
352
+ types.each{|t| item_request(t) }
353
+ end
354
+ def self.item_request(type)
355
+ Fog::Vcloud::Compute::Real.class_eval <<-EOS, __FILE__,__LINE__
356
+ def get_#{type}(uri)
357
+ Fog::Vcloud::Compute::#{type.to_s.capitalize}.new(
358
+ self.request(basic_request_params(uri)).body.merge(
359
+ :connection => self,
360
+ :collection => Fog::Vcloud::Compute::#{type.to_s.capitalize}s.new(
361
+ :connection => self
362
+ )
363
+ )
364
+ )
365
+ end
366
+ EOS
367
+ end
308
368
 
369
+ item_requests :organization, :vdc, :network, :vapp, :server, :catalog, :task
309
370
  end
310
371
  end
311
372
  end
@@ -4,7 +4,7 @@ module Fog
4
4
  class Catalog < Fog::Vcloud::Model
5
5
 
6
6
  identity :href, :aliases => :Href
7
-
7
+ attribute :links, :aliases => :Link, :type => :array
8
8
  ignore_attributes :xmlns, :xmlns_i, :xmlns_xsi, :xmlns_xsd
9
9
 
10
10
  attribute :type
@@ -4,7 +4,7 @@ module Fog
4
4
  class CatalogItem < Fog::Vcloud::Model
5
5
 
6
6
  identity :href, :aliases => :Href
7
-
7
+ attribute :links, :aliases => :Link, :type => :array
8
8
  ignore_attributes :xmlns, :xmlns_i, :xmlns_xsi, :xmlns_xsd
9
9
 
10
10
  attribute :type
@@ -7,23 +7,20 @@ module Fog
7
7
 
8
8
  model Fog::Vcloud::Compute::Catalog
9
9
 
10
+ attribute :organization_uri
11
+
10
12
  def all
11
- data = connection.get_organization(organization_uri).body[:Link].select { |link| link[:type] == "application/vnd.vmware.vcloud.catalog+xml" }
13
+ org_uri = self.organization_uri || connection.default_organization_uri
14
+ data = connection.get_organization(org_uri).links.select { |link| link[:type] == "application/vnd.vmware.vcloud.catalog+xml" }
12
15
  load(data)
13
16
  end
14
17
 
15
18
  def get(uri)
16
- if data = connection.get_catalog(uri)
17
- new(data.body)
18
- end
19
+ connection.get_catalog(uri)
19
20
  rescue Fog::Errors::NotFound
20
21
  nil
21
22
  end
22
23
 
23
- def organization_uri
24
- @organization_uri ||= connection.default_organization_uri
25
- end
26
-
27
24
  def item_by_name(name)
28
25
  res = nil
29
26
  items = all.collect { |catalog| catalog.catalog_items }