brightbox-cli 0.17.1 → 0.17.2

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 (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 }