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
@@ -27,6 +27,23 @@ module Fog
27
27
  end
28
28
 
29
29
  end
30
+
31
+ class Mock
32
+
33
+ def delete_user(user_name)
34
+ if data[:users].has_key? user_name
35
+ data[:users].delete user_name
36
+ Excon::Response.new.tap do |response|
37
+ response.body = { 'RequestId' => Fog::AWS::Mock.request_id }
38
+ response.status = 200
39
+ end
40
+ else
41
+ raise Fog::AWS::IAM::NotFound.new("The user with name #{user_name} cannot be found.")
42
+ end
43
+
44
+ end
45
+
46
+ end
30
47
  end
31
48
  end
32
49
  end
@@ -29,6 +29,22 @@ module Fog
29
29
  end
30
30
 
31
31
  end
32
+
33
+ class Mock
34
+
35
+ def delete_user_policy(user_name, policy_name)
36
+ if data[:users].has_key?(user_name) && data[:users][user_name][:policies].has_key?(policy_name)
37
+ data[:users][user_name][:policies].delete policy_name
38
+ Excon::Response.new.tap do |response|
39
+ response.body = { 'RequestId' => Fog::AWS::Mock.request_id }
40
+ response.status = 200
41
+ end
42
+ else
43
+ raise Fog::AWS::IAM::NotFound.new("The user policy with name #{policy_name} cannot be found.")
44
+ end
45
+ end
46
+
47
+ end
32
48
  end
33
49
  end
34
50
  end
@@ -35,6 +35,27 @@ module Fog
35
35
  end
36
36
 
37
37
  end
38
+
39
+ class Mock
40
+
41
+ def list_access_keys(options = {})
42
+ #FIXME: Doesn't do anything with options, aside from UserName
43
+ user = options['UserName']
44
+
45
+ if data[:users].has_key? user
46
+ Excon::Response.new.tap do |response|
47
+ response.body = { 'AccessKeys' => data[:users][user][:access_keys].map do |akey|
48
+ {'Status' => akey['Status'], 'AccessKeyId' => akey['AccessKeyId']}
49
+ end,
50
+ 'IsTruncated' => false,
51
+ 'RequestId' => Fog::AWS::Mock.request_id }
52
+ response.status = 200
53
+ end
54
+ else
55
+ Fog::AWS::IAM::NotFound.new("The user with name #{user} cannot be found.")
56
+ end
57
+ end
58
+ end
38
59
  end
39
60
  end
40
61
  end
@@ -37,6 +37,24 @@ module Fog
37
37
  end
38
38
 
39
39
  end
40
+
41
+ class Mock
42
+
43
+ def list_groups(options = {} )
44
+ #FIXME: Doesn't observe options
45
+ Excon::Response.new.tap do |response|
46
+ response.status = 200
47
+ response.body = { 'Groups' => data[:groups].map do |name, group|
48
+ { 'GroupId' => group[:group_id],
49
+ 'GroupName' => name,
50
+ 'Path' => group[:path],
51
+ 'Arn' => group[:arn] }
52
+ end,
53
+ 'IsTruncated' => false,
54
+ 'RequestId' => Fog::AWS::Mock.request_id }
55
+ end
56
+ end
57
+ end
40
58
  end
41
59
  end
42
60
  end
@@ -38,6 +38,30 @@ module Fog
38
38
  end
39
39
 
40
40
  end
41
+
42
+ class Mock
43
+ def list_groups_for_user(user_name, options = {})
44
+ #FIXME: Does not consider options
45
+ if data[:users].has_key? user_name
46
+ Excon::Response.new.tap do |response|
47
+ response.status = 200
48
+ response.body = { 'GroupsForUser' => data[:groups].select do |name, group|
49
+ group[:members].include? user_name
50
+ end.map do |name, group|
51
+ { 'GroupId' => group[:group_id],
52
+ 'GroupName' => name,
53
+ 'Path' => group[:path],
54
+ 'Arn' => group[:arn] }
55
+ end,
56
+ 'IsTruncated' => false,
57
+ 'RequestId' => Fog::AWS::Mock.request_id
58
+ }
59
+ end
60
+ else
61
+ raise Fog::AWS::IAM::NotFound.new("The user with name #{user_name} cannot be found.")
62
+ end
63
+ end
64
+ end
41
65
  end
42
66
  end
43
67
  end
@@ -34,6 +34,24 @@ module Fog
34
34
  end
35
35
 
36
36
  end
37
+
38
+ class Mock
39
+
40
+ def list_user_policies(user_name, options = {})
41
+ #FIXME: doesn't use options atm
42
+ if data[:users].has_key? user_name
43
+ Excon::Response.new.tap do |response|
44
+ response.body = { 'PolicyNames' => data[:users][user_name][:policies].keys,
45
+ 'IsTruncated' => false,
46
+ 'RequestId' => Fog::AWS::Mock.request_id }
47
+ response.status = 200
48
+ end
49
+ else
50
+ raise Fog::AWS::IAM::NotFound.new("The user with name #{user_name} cannot be found.")
51
+ end
52
+ end
53
+
54
+ end
37
55
  end
38
56
  end
39
57
  end
@@ -37,6 +37,23 @@ module Fog
37
37
  end
38
38
 
39
39
  end
40
+
41
+ class Mock
42
+ def list_users(options = {})
43
+ #FIXME: none of the options are currently supported
44
+ Excon::Response.new.tap do |response|
45
+ response.body = {'Users' => data[:users].map do |user, data|
46
+ { 'UserId' => data[:user_id],
47
+ 'Path' => data[:path],
48
+ 'UserName' => user,
49
+ 'Arn' => data[:arn] }
50
+ end,
51
+ 'IsTruncated' => false,
52
+ 'RequestId' => Fog::AWS::Mock.request_id }
53
+ response.status = 200
54
+ end
55
+ end
56
+ end
40
57
  end
41
58
  end
42
59
  end
@@ -31,6 +31,24 @@ module Fog
31
31
  end
32
32
 
33
33
  end
34
+
35
+ class Mock
36
+
37
+ #FIXME: You can't actually use the credentials for anything elsewhere in Fog
38
+ #FIXME: Doesn't do any validation on the policy
39
+ def put_user_policy(user_name, policy_name, policy_document)
40
+ if data[:users].has_key? user_name
41
+ data[:users][user_name][:policies][policy_name] = policy_document
42
+
43
+ Excon::Response.new.tap do |response|
44
+ response.body = { 'RequestId' => Fog::AWS::Mock.request_id }
45
+ response.status = 200
46
+ end
47
+ else
48
+ raise Fog::AWS::IAM::NotFound.new("The user with name #{user_name} cannot be found.")
49
+ end
50
+ end
51
+ end
34
52
  end
35
53
  end
36
54
  end
@@ -29,6 +29,25 @@ module Fog
29
29
  end
30
30
 
31
31
  end
32
+
33
+ class Mock
34
+
35
+ def remove_user_from_group(group_name, user_name)
36
+ if data[:groups].has_key? group_name
37
+ if data[:users].has_key? user_name
38
+ data[:groups][group_name][:members].delete_if { |item| item == user_name }
39
+ Excon::Response.new.tap do |response|
40
+ response.status = 200
41
+ response.body = { 'RequestId' => Fog::AWS::Mock.request_id }
42
+ end
43
+ else
44
+ raise Fog::AWS::IAM::NotFound.new("The user with name #{user_name} cannot be found.")
45
+ end
46
+ else
47
+ raise Fog::AWS::IAM::NotFound.new("The group with name #{group_name} cannot be found.")
48
+ end
49
+ end
50
+ end
32
51
  end
33
52
  end
34
53
  end
@@ -71,7 +71,7 @@ module Fog
71
71
  raise Fog::AWS::IAM::EntityAlreadyExists.new
72
72
  else
73
73
  response.status = 200
74
- path = options['path'] || "/"
74
+ path = options['Path'] || "/"
75
75
  data = {
76
76
  'Arn' => Fog::AWS::Mock.arn('iam', self.data[:owner_id], "server-certificate/#{name}"),
77
77
  'Path' => path,
@@ -33,7 +33,36 @@ module Fog
33
33
  class Mock
34
34
 
35
35
  def authorize_db_security_group_ingress(name, opts = {})
36
- Fog::Mock.not_implemented
36
+ unless opts.key?('CIDRIP') || (opts.key?('EC2SecurityGroupName') && opts.key?('EC2SecurityGroupOwnerId'))
37
+ raise ArgumentError, 'Must specify CIDRIP, or both EC2SecurityGroupName and EC2SecurityGroupOwnerId'
38
+ end
39
+
40
+ response = Excon::Response.new
41
+
42
+ if sec_group = self.data[:security_groups][name]
43
+ if opts.key?('CIDRIP')
44
+ if sec_group['IPRanges'].detect{|h| h['CIDRIP'] == opts['CIDRIP']}
45
+ raise Fog::AWS::RDS::AuthorizationAlreadyExists.new("AuthorizationAlreadyExists => #{opts['CIDRIP']} is alreay defined")
46
+ end
47
+ sec_group['IPRanges'] << opts.merge({"Status" => 'authorizing'})
48
+ else
49
+ if sec_group['EC2SecurityGroups'].detect{|h| h['EC2SecurityGroupName'] == opts['EC2SecurityGroupName']}
50
+ raise Fog::AWS::RDS::AuthorizationAlreadyExists.new("AuthorizationAlreadyExists => #{opts['EC2SecurityGroupName']} is alreay defined")
51
+ end
52
+ sec_group['EC2SecurityGroups'] << opts.merge({"Status" => 'authorizing'})
53
+ end
54
+ response.status = 200
55
+ response.body = {
56
+ "ResponseMetadata"=>{ "RequestId"=> Fog::AWS::Mock.request_id },
57
+ 'AuthorizeDBSecurityGroupIngressResult' => {
58
+ 'DBSecurityGroup' => sec_group
59
+ }
60
+ }
61
+ response
62
+ else
63
+ raise Fog::AWS::RDS::NotFound.new("DBSecurityGroupNotFound => #{name} not found")
64
+ end
65
+
37
66
  end
38
67
 
39
68
  end
@@ -47,7 +47,73 @@ module Fog
47
47
  class Mock
48
48
 
49
49
  def create_db_instance(db_name, options={})
50
- Fog::Mock.not_implemented
50
+ response = Excon::Response.new
51
+ if self.data[:servers] and self.data[:servers][db_name]
52
+ # I don't know how to raise an exception that contains the excon data
53
+ #response.status = 400
54
+ #response.body = {
55
+ # 'Code' => 'DBInstanceAlreadyExists',
56
+ # 'Message' => "DB Instance already exists"
57
+ #}
58
+ #return response
59
+ raise Fog::AWS::RDS::IdentifierTaken.new("DBInstanceAlreadyExists #{response.body.to_s}")
60
+ end
61
+
62
+ # These are the required parameters according to the API
63
+ required_params = %w{AllocatedStorage DBInstanceClass Engine MasterUserPassword MasterUsername }
64
+ required_params.each do |key|
65
+ unless options.has_key?(key) and options[key] and !options[key].to_s.empty?
66
+ #response.status = 400
67
+ #response.body = {
68
+ # 'Code' => 'MissingParameter',
69
+ # 'Message' => "The request must contain the parameter #{key}"
70
+ #}
71
+ #return response
72
+ raise Fog::AWS::RDS::NotFound.new("The request must contain the parameter #{key}")
73
+ end
74
+ end
75
+
76
+ data =
77
+ {
78
+ "DBInstanceIdentifier"=> db_name,
79
+ "DBName" => options["DBName"],
80
+ "InstanceCreateTime" => nil,
81
+ "AutoMinorVersionUpgrade"=>true,
82
+ "Endpoint"=>{},
83
+ "ReadReplicaDBInstanceIdentifiers"=>['bla'],
84
+ "PreferredMaintenanceWindow"=>"mon:04:30-mon:05:00",
85
+ "Engine"=> options["Engine"],
86
+ "EngineVersion"=> options["EngineVersion"] || "5.1.57",
87
+ "PendingModifiedValues"=>{"MasterUserPassword"=>"****"}, # This clears when is available
88
+ "MultiAZ"=>false,
89
+ "MasterUsername"=> options["MasterUsername"],
90
+ "DBInstanceClass"=> options["DBInstanceClass"],
91
+ "DBInstanceStatus"=>"creating",
92
+ "BackupRetentionPeriod"=> options["BackupRetentionPeriod"] || 1,
93
+ "AllocatedStorage"=> options["AllocatedStorage"],
94
+ "DBParameterGroups"=> # I think groups should be in the self.data method
95
+ [{"DBParameterGroupName"=>"default.mysql5.1",
96
+ "ParameterApplyStatus"=>"in-sync"}],
97
+ "DBSecurityGroups"=>
98
+ [{"Status"=>"active",
99
+ "DBSecurityGroupName"=>"default"}],
100
+ "LicenseModel"=>"general-public-license",
101
+ "PreferredBackupWindow"=>"08:00-08:30",
102
+ # "ReadReplicaSourceDBInstanceIdentifier" => nil,
103
+ # "LatestRestorableTime" => nil,
104
+ "AvailabilityZone" => options["AvailabilityZone"]
105
+ }
106
+
107
+
108
+ self.data[:servers][db_name] = data
109
+ response.body = {
110
+ "ResponseMetadata"=>{ "RequestId"=> Fog::AWS::Mock.request_id },
111
+ "CreateDBInstanceResult"=> {"DBInstance"=> data}
112
+ }
113
+ response.status = 200
114
+ # This values aren't showed at creating time but at available time
115
+ self.data[:servers][db_name]["InstanceCreateTime"] = Time.now
116
+ response
51
117
  end
52
118
 
53
119
  end
@@ -27,7 +27,25 @@ module Fog
27
27
  class Mock
28
28
 
29
29
  def create_db_security_group(name, description = name)
30
- Fog::Mock.not_implemented
30
+ response = Excon::Response.new
31
+ if self.data[:security_groups] and self.data[:security_groups][name]
32
+ raise Fog::AWS::RDS::IdentifierTaken.new("DBInstanceAlreadyExists => The security group '#{name}' already exists")
33
+ end
34
+
35
+ data = {
36
+ 'DBSecurityGroupName' => name,
37
+ 'DBSecurityGroupDescription' => description,
38
+ 'EC2SecurityGroups' => [],
39
+ 'IPRanges' => [],
40
+ 'OwnerId' => '0123456789'
41
+ }
42
+ self.data[:security_groups][name] = data
43
+ response.body = {
44
+ "ResponseMetadata"=>{ "RequestId"=> Fog::AWS::Mock.request_id },
45
+ 'CreateDBSecurityGroupResult' => { 'DBSecurityGroup' => data }
46
+ }
47
+ response
48
+
31
49
  end
32
50
 
33
51
  end
@@ -15,7 +15,7 @@ module Fog
15
15
  # ==== Returns
16
16
  # * response<~Excon::Response>:
17
17
  # * body<~Hash>:
18
- def delete_db_instance(identifier, snapshot_identifier, skip_snapshot = false)
18
+ def delete_db_instance(identifier, snapshot_identifier, skip_snapshot = false)
19
19
  params = {}
20
20
  params['FinalDBSnapshotIdentifier'] = snapshot_identifier if snapshot_identifier
21
21
  request({
@@ -30,8 +30,24 @@ module Fog
30
30
 
31
31
  class Mock
32
32
 
33
- def delete_db_snapshot(identifier, snapshot_identifier, skip_snapshot = false)
34
- Fog::Mock.not_implemented
33
+ def delete_db_instance(identifier, snapshot_identifier, skip_snapshot = false)
34
+ response = Excon::Response.new
35
+
36
+ unless skip_snapshot
37
+ # I don't know how to mock snapshot_identifier
38
+ Fog::Logger.warning("snapshot_identifier is not mocked [light_black](#{caller.first})[/]")
39
+ end
40
+
41
+ if server_set = self.data[:servers].delete(identifier)
42
+ response.status = 200
43
+ response.body = {
44
+ "ResponseMetadata"=>{ "RequestId"=> Fog::AWS::Mock.request_id },
45
+ "DeleteDBInstanceResult" => { "DBInstance" => server_set }
46
+ }
47
+ response
48
+ else
49
+ raise Fog::AWS::RDS::NotFound.new("DBInstance #{identifier} not found")
50
+ end
35
51
  end
36
52
 
37
53
  end
@@ -25,7 +25,17 @@ module Fog
25
25
  class Mock
26
26
 
27
27
  def delete_db_security_group(name, description = name)
28
- Fog::Mock.not_implemented
28
+ response = Excon::Response.new
29
+
30
+ if self.data[:security_groups].delete(name)
31
+ response.status = 200
32
+ response.body = {
33
+ "ResponseMetadata"=>{ "RequestId"=> Fog::AWS::Mock.request_id },
34
+ }
35
+ response
36
+ else
37
+ raise Fog::AWS::RDS::NotFound.new("DBSecurityGroupNotFound => #{name} not found")
38
+ end
29
39
  end
30
40
 
31
41
  end