brightbox-cli 1.1.0 → 1.2.0

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 (237) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -0
  3. data/CHANGELOG.md +18 -0
  4. data/Gemfile.lock +18 -19
  5. data/bin/_brightbox-bash-completer +42 -0
  6. data/brightbox-cli.gemspec +5 -5
  7. data/lib/brightbox-cli/accounts.rb +1 -3
  8. data/lib/brightbox-cli/api.rb +27 -8
  9. data/lib/brightbox-cli/cloud_ips.rb +11 -15
  10. data/lib/brightbox-cli/collaborating_account.rb +23 -26
  11. data/lib/brightbox-cli/collaboration.rb +1 -1
  12. data/lib/brightbox-cli/commands/{accounts-accept-invite.rb → accounts/accept-invite.rb} +2 -3
  13. data/lib/brightbox-cli/commands/{accounts-default.rb → accounts/default.rb} +1 -3
  14. data/lib/brightbox-cli/commands/{accounts-list.rb → accounts/list.rb} +1 -1
  15. data/lib/brightbox-cli/commands/{accounts-remove.rb → accounts/remove.rb} +1 -2
  16. data/lib/brightbox-cli/commands/{accounts-reset-ftp-password.rb → accounts/reset-ftp-password.rb} +10 -5
  17. data/lib/brightbox-cli/commands/{accounts-show.rb → accounts/show.rb} +14 -6
  18. data/lib/brightbox-cli/commands/{cloudips-create.rb → cloudips/create.rb} +4 -4
  19. data/lib/brightbox-cli/commands/{cloudips-destroy.rb → cloudips/destroy.rb} +1 -1
  20. data/lib/brightbox-cli/commands/{cloudips-list.rb → cloudips/list.rb} +2 -10
  21. data/lib/brightbox-cli/commands/{cloudips-map.rb → cloudips/map.rb} +2 -8
  22. data/lib/brightbox-cli/commands/{cloudips-show.rb → cloudips/show.rb} +13 -3
  23. data/lib/brightbox-cli/commands/{cloudips-unmap.rb → cloudips/unmap.rb} +1 -1
  24. data/lib/brightbox-cli/commands/{cloudips-update.rb → cloudips/update.rb} +5 -6
  25. data/lib/brightbox-cli/commands/collaborations.rb +3 -9
  26. data/lib/brightbox-cli/commands/{config-client-add.rb → config/client-add.rb} +2 -2
  27. data/lib/brightbox-cli/commands/{config-client-default.rb → config/client-default.rb} +1 -1
  28. data/lib/brightbox-cli/commands/{config-client-list.rb → config/client-list.rb} +3 -3
  29. data/lib/brightbox-cli/commands/{config-client-remove.rb → config/client-remove.rb} +4 -1
  30. data/lib/brightbox-cli/commands/{config-user-add.rb → config/user-add.rb} +1 -1
  31. data/lib/brightbox-cli/commands/{firewall-policies-apply.rb → firewall/policies-apply.rb} +3 -4
  32. data/lib/brightbox-cli/commands/{firewall-policies-create.rb → firewall/policies-create.rb} +3 -4
  33. data/lib/brightbox-cli/commands/{firewall-policies-destroy.rb → firewall/policies-destroy.rb} +2 -3
  34. data/lib/brightbox-cli/commands/{firewall-policies-list.rb → firewall/policies-list.rb} +2 -9
  35. data/lib/brightbox-cli/commands/{firewall-policies-remove.rb → firewall/policies-remove.rb} +2 -3
  36. data/lib/brightbox-cli/commands/{firewall-policies-show.rb → firewall/policies-show.rb} +11 -3
  37. data/lib/brightbox-cli/commands/{firewall-policies-update.rb → firewall/policies-update.rb} +3 -3
  38. data/lib/brightbox-cli/commands/{firewall-rules-create.rb → firewall/rules-create.rb} +4 -4
  39. data/lib/brightbox-cli/commands/{firewall-rules-destroy.rb → firewall/rules-destroy.rb} +2 -4
  40. data/lib/brightbox-cli/commands/{firewall-rules-list.rb → firewall/rules-list.rb} +2 -2
  41. data/lib/brightbox-cli/commands/{firewall-rules-show.rb → firewall/rules-show.rb} +10 -4
  42. data/lib/brightbox-cli/commands/{firewall-rules-update.rb → firewall/rules-update.rb} +3 -3
  43. data/lib/brightbox-cli/commands/{groups-add-server.rb → groups/add-server.rb} +2 -2
  44. data/lib/brightbox-cli/commands/{groups-create.rb → groups/create.rb} +3 -3
  45. data/lib/brightbox-cli/commands/{groups-destroy.rb → groups/destroy.rb} +2 -2
  46. data/lib/brightbox-cli/commands/groups/list.rb +14 -0
  47. data/lib/brightbox-cli/commands/{groups-move_servers.rb → groups/move_servers.rb} +1 -2
  48. data/lib/brightbox-cli/commands/{groups-remove-servers.rb → groups/remove-servers.rb} +1 -1
  49. data/lib/brightbox-cli/commands/{groups-show.rb → groups/show.rb} +1 -1
  50. data/lib/brightbox-cli/commands/{groups-update.rb → groups/update.rb} +5 -10
  51. data/lib/brightbox-cli/commands/{images-destroy.rb → images/destroy.rb} +2 -2
  52. data/lib/brightbox-cli/commands/{images-list.rb → images/list.rb} +2 -10
  53. data/lib/brightbox-cli/commands/{images-register.rb → images/register.rb} +6 -6
  54. data/lib/brightbox-cli/commands/{images-show.rb → images/show.rb} +2 -11
  55. data/lib/brightbox-cli/commands/{images-update.rb → images/update.rb} +8 -8
  56. data/lib/brightbox-cli/commands/{lbs-add-nodes.rb → lbs/add-nodes.rb} +2 -2
  57. data/lib/brightbox-cli/commands/{lbs-create.rb → lbs/create.rb} +16 -10
  58. data/lib/brightbox-cli/commands/{lbs-destroy.rb → lbs/destroy.rb} +1 -1
  59. data/lib/brightbox-cli/commands/{lbs-list.rb → lbs/list.rb} +2 -10
  60. data/lib/brightbox-cli/commands/{lbs-remove-nodes.rb → lbs/remove-nodes.rb} +2 -2
  61. data/lib/brightbox-cli/commands/{lbs-show.rb → lbs/show.rb} +4 -7
  62. data/lib/brightbox-cli/commands/{lbs-update.rb → lbs/update.rb} +16 -10
  63. data/lib/brightbox-cli/commands/{servers-activate-console.rb → servers/activate-console.rb} +3 -3
  64. data/lib/brightbox-cli/commands/{servers-create.rb → servers/create.rb} +4 -4
  65. data/lib/brightbox-cli/commands/{servers-destroy.rb → servers/destroy.rb} +2 -2
  66. data/lib/brightbox-cli/commands/{servers-list.rb → servers/list.rb} +7 -8
  67. data/lib/brightbox-cli/commands/{servers-show.rb → servers/show.rb} +1 -6
  68. data/lib/brightbox-cli/commands/{servers-shutdown.rb → servers/shutdown.rb} +1 -1
  69. data/lib/brightbox-cli/commands/{servers-snapshot.rb → servers/snapshot.rb} +1 -1
  70. data/lib/brightbox-cli/commands/{servers-start.rb → servers/start.rb} +1 -1
  71. data/lib/brightbox-cli/commands/{servers-stop.rb → servers/stop.rb} +1 -1
  72. data/lib/brightbox-cli/commands/{servers-update.rb → servers/update.rb} +2 -2
  73. data/lib/brightbox-cli/commands/sql/instances_create.rb +66 -0
  74. data/lib/brightbox-cli/commands/sql/instances_destroy.rb +28 -0
  75. data/lib/brightbox-cli/commands/sql/instances_list.rb +27 -0
  76. data/lib/brightbox-cli/commands/sql/instances_reset_password.rb +33 -0
  77. data/lib/brightbox-cli/commands/sql/instances_show.rb +26 -0
  78. data/lib/brightbox-cli/commands/sql/instances_snapshot.rb +25 -0
  79. data/lib/brightbox-cli/commands/sql/instances_update.rb +45 -0
  80. data/lib/brightbox-cli/commands/sql/snapshots_destroy.rb +31 -0
  81. data/lib/brightbox-cli/commands/sql/snapshots_list.rb +25 -0
  82. data/lib/brightbox-cli/commands/sql/snapshots_show.rb +26 -0
  83. data/lib/brightbox-cli/commands/sql/snapshots_update.rb +37 -0
  84. data/lib/brightbox-cli/commands/sql/types.rb +53 -0
  85. data/lib/brightbox-cli/commands/types.rb +1 -1
  86. data/lib/brightbox-cli/commands/users/list.rb +17 -0
  87. data/lib/brightbox-cli/commands/{users-show.rb → users/show.rb} +5 -13
  88. data/lib/brightbox-cli/commands/{users-update.rb → users/update.rb} +3 -3
  89. data/lib/brightbox-cli/config.rb +4 -7
  90. data/lib/brightbox-cli/config/accounts.rb +3 -6
  91. data/lib/brightbox-cli/config/api_client.rb +12 -4
  92. data/lib/brightbox-cli/config/authentication_tokens.rb +8 -14
  93. data/lib/brightbox-cli/config/clients.rb +6 -7
  94. data/lib/brightbox-cli/config/section_name_deduplicator.rb +4 -5
  95. data/lib/brightbox-cli/config/sections.rb +7 -10
  96. data/lib/brightbox-cli/config/user_application.rb +15 -7
  97. data/lib/brightbox-cli/connection_manager.rb +1 -2
  98. data/lib/brightbox-cli/database_server.rb +100 -0
  99. data/lib/brightbox-cli/database_snapshot.rb +36 -0
  100. data/lib/brightbox-cli/database_type.rb +44 -0
  101. data/lib/brightbox-cli/detailed_server.rb +8 -7
  102. data/lib/brightbox-cli/error_parser.rb +8 -4
  103. data/lib/brightbox-cli/firewall_rule.rb +5 -5
  104. data/lib/brightbox-cli/firewall_rules.rb +2 -3
  105. data/lib/brightbox-cli/gli_global_hooks.rb +7 -7
  106. data/lib/brightbox-cli/images.rb +13 -14
  107. data/lib/brightbox-cli/legacy/args_adjuster.rb +5 -6
  108. data/lib/brightbox-cli/load_balancers.rb +10 -13
  109. data/lib/brightbox-cli/logging.rb +3 -3
  110. data/lib/brightbox-cli/nilable_hash.rb +1 -1
  111. data/lib/brightbox-cli/ruby_core_ext.rb +1 -2
  112. data/lib/brightbox-cli/server_groups.rb +5 -5
  113. data/lib/brightbox-cli/servers.rb +9 -9
  114. data/lib/brightbox-cli/tables.rb +24 -25
  115. data/lib/brightbox-cli/types.rb +6 -5
  116. data/lib/brightbox-cli/user_collaboration.rb +2 -3
  117. data/lib/brightbox-cli/users.rb +3 -3
  118. data/lib/brightbox-cli/version.rb +1 -1
  119. data/lib/brightbox_cli.rb +10 -2
  120. data/locales/en.yml +205 -0
  121. data/spec/cassettes/Brightbox_Account/_all/when_connected_using_an_application/returns_a_collection_of_Accounts.yml +10 -10
  122. data/spec/cassettes/Brightbox_Account/_all/when_connected_using_an_application/returns_resources_on_the_same_connection.yml +4 -4
  123. data/spec/cassettes/Brightbox_Account/_all/when_connected_using_an_client/returns_a_collection_of_Accounts.yml +8 -8
  124. data/spec/cassettes/Brightbox_Account/_all/when_connected_using_an_client/returns_resources_on_the_same_connection.yml +4 -4
  125. data/spec/cassettes/Brightbox_BBConfig/_add_section/when_first_and_only_client/saves_changes_to_the_config_file.yml +4 -4
  126. data/spec/cassettes/Brightbox_BBConfig/_add_section/when_first_and_only_client/saves_the_default_account.yml +4 -4
  127. data/spec/cassettes/Brightbox_BBConfig/_add_section/when_first_and_only_client/saves_the_new_client_as_the_default.yml +4 -4
  128. data/spec/cassettes/Brightbox_BBConfig/_find_or_set_default_account/when_client_is_not_authenticated/does_not_raise_an_error.yml +176 -176
  129. data/spec/cassettes/Brightbox_BBConfig/_find_or_set_default_account/when_client_may_access_one_account/updates_the_setting.yml +176 -176
  130. data/spec/cassettes/Brightbox_BBConfig/_renew_tokens/when_config_in_use_is_not_the_default/uses_correct_credentials.yml +2 -2
  131. data/spec/cassettes/Brightbox_BBConfig/_renew_tokens/when_using_a_user_app_with_a_cached_refresh_token/caches_the_new_tokens.yml +2 -2
  132. data/spec/cassettes/Brightbox_BBConfig/_renew_tokens/when_using_a_user_app_with_an_expired_refresh_token/caches_the_new_tokens.yml +4 -4
  133. data/spec/cassettes/Brightbox_BBConfig/_renew_tokens/when_using_a_user_app_with_no_tokens/caches_the_new_tokens.yml +2 -2
  134. data/spec/cassettes/Brightbox_BBConfig/_renew_tokens/when_using_a_user_app_with_no_tokens/prompts_user_to_retry_command.yml +2 -2
  135. data/spec/cassettes/Brightbox_BBConfig/_renew_tokens/when_using_an_API_client_with_no_tokens/caches_a_new_access_token.yml +2 -2
  136. data/spec/cassettes/Brightbox_CloudIP/_find_all_/when_a_Cloud_IP_exists/returns_a_suitable.yml +28 -28
  137. data/spec/cassettes/Brightbox_FirewallPolicy/_apply_to/should_apply_firewall_policy.yml +24 -24
  138. data/spec/cassettes/Brightbox_FirewallPolicy/_create/should_create_firewall_policy.yml +24 -24
  139. data/spec/cassettes/Brightbox_FirewallPolicy/_destroy/should_destroy_firewall_policy.yml +28 -28
  140. data/spec/cassettes/Brightbox_FirewallPolicy/_find_all_/when_a_policy_exists/should_list_firewall_policy.yml +24 -24
  141. data/spec/cassettes/Brightbox_FirewallPolicy/_find_or_call/when_a_policy_exists/should_show_firewall_policy.yml +20 -20
  142. data/spec/cassettes/Brightbox_FirewallRule/_create/when_policy_exists/creates_the_rule_successfully.yml +24 -24
  143. data/spec/cassettes/Brightbox_FirewallRule/_destroy/when_rule_exists/destroys_a_rule.yml +20 -20
  144. data/spec/cassettes/Brightbox_FirewallRule/_find/when_rule_exists/can_display_the_result.yml +24 -24
  145. data/spec/cassettes/Brightbox_FirewallRule/_from_policy/when_policy_exists_with_a_rule/lists_all_rules.yml +32 -32
  146. data/spec/cassettes/Brightbox_Server/_destroy/when_server_exists/should_work.yml +20 -20
  147. data/spec/cassettes/Brightbox_Server/_find_all_/when_a_server_exists/should_print_server_list.yml +28 -28
  148. data/spec/cassettes/Brightbox_Server/_show/when_server_exists/shows_detailed_attributes_of_a_server.yml +32 -32
  149. data/spec/cassettes/Brightbox_Server/_shutdown/should_work.yml +32 -32
  150. data/spec/cassettes/Brightbox_Server/_start/should_work.yml +44 -44
  151. data/spec/cassettes/Brightbox_Server/_stop/should_work.yml +32 -32
  152. data/spec/cassettes/Brightbox_Server/_update/when_passing_new_group_membership/should_update_with_group.yml +40 -40
  153. data/spec/cassettes/Brightbox_ServerGroup/_find_all_/when_a_group_exists/list_server_groups.yml +24 -24
  154. data/spec/cassettes/Firewall_policies/update/when_the_policy_does_not_exist/prints_error_to_STDERR.yml +6 -6
  155. data/spec/cassettes/brightbox_accounts/list/_when_access_token_expired_/does_not_report_invalid_token_errors.yml +18 -18
  156. data/spec/cassettes/brightbox_accounts/list/_when_both_tokens_expired_/does_not_report_invalid_token_errors.yml +18 -18
  157. data/spec/cassettes/brightbox_accounts/list/_when_invalid_tokens_/does_not_report_invalid_token_errors.yml +18 -18
  158. data/spec/cassettes/brightbox_accounts/list/_when_no_tokens_/does_not_report_invalid_token_errors.yml +16 -16
  159. data/spec/cassettes/brightbox_accounts/list/_when_no_tokens_/reports_they_were_updated.yml +14 -14
  160. data/spec/cassettes/brightbox_accounts/list/_when_no_tokens_and_password_incorrect_/does_not_report_invalid_token_errors.yml +14 -14
  161. data/spec/cassettes/brightbox_accounts/list/_when_no_tokens_and_password_incorrect_/reports_unable_to_authenticate.yml +12 -12
  162. data/spec/cassettes/brightbox_accounts/list/does_not_error.yml +6 -6
  163. data/spec/cassettes/brightbox_cloudips/map/when_destination_is_a_server_ID/passes_the_interface_identifier_to_the_API.yml +542 -0
  164. data/spec/cassettes/brightbox_cloudips/map/when_destination_is_another_value/passes_the_identifier_to_the_API.yml +317 -0
  165. data/spec/cassettes/brightbox_config/client_add/when_adding_a_new_client/does_not_error.yml +154 -154
  166. data/spec/cassettes/brightbox_config/client_add/when_adding_a_new_client/sets_up_the_config.yml +154 -154
  167. data/spec/cassettes/brightbox_config/client_add/when_new_client_is_first_and_only_client/does_not_change_the_default_client.yml +154 -154
  168. data/spec/cassettes/brightbox_config/client_add/when_new_client_is_first_and_only_client/does_not_error.yml +154 -154
  169. data/spec/cassettes/brightbox_config/client_add/when_new_client_is_first_and_only_client/sets_this_as_the_default_client.yml +154 -154
  170. data/spec/cassettes/brightbox_config/client_add/when_new_client_is_first_and_only_client/sets_up_the_config.yml +154 -154
  171. data/spec/cassettes/brightbox_config/user_add/when_NO_config_file_on_disk/sets_up_the_config.yml +10 -10
  172. data/spec/cassettes/brightbox_config/user_add/when_a_default_client_is_already_set/does_not_change_the_default_client.yml +4 -4
  173. data/spec/cassettes/brightbox_config/user_add/when_application_details_in_config/does_not_error.yml +4 -4
  174. data/spec/cassettes/brightbox_config/user_add/when_application_details_in_config/sets_up_the_config.yml +4 -4
  175. data/spec/cassettes/brightbox_config/user_add/when_application_has_access_only_one_active_account/display_an_warning_about_preselected_default.yml +4 -4
  176. data/spec/cassettes/brightbox_config/user_add/when_application_has_access_only_one_active_account/does_not_error.yml +4 -4
  177. data/spec/cassettes/brightbox_config/user_add/when_application_has_access_only_one_active_account/selects_the_active_account_for_the_default.yml +4 -4
  178. data/spec/cassettes/brightbox_config/user_add/when_application_has_access_only_one_active_account/sets_up_the_config.yml +4 -4
  179. data/spec/cassettes/brightbox_config/user_add/when_application_has_access_to_multiple_accounts/display_an_warning_about_preselected_default.yml +4 -4
  180. data/spec/cassettes/brightbox_config/user_add/when_application_has_access_to_multiple_accounts/does_not_error.yml +4 -4
  181. data/spec/cassettes/brightbox_config/user_add/when_application_has_access_to_multiple_accounts/sets_up_the_config.yml +4 -4
  182. data/spec/cassettes/brightbox_config/user_add/when_new_client_is_first_and_only_client/does_not_error.yml +4 -4
  183. data/spec/cassettes/brightbox_config/user_add/when_new_client_is_first_and_only_client/does_not_prompt_to_rerun_the_command.yml +4 -4
  184. data/spec/cassettes/brightbox_config/user_add/when_new_client_is_first_and_only_client/requests_access_tokens.yml +4 -4
  185. data/spec/cassettes/brightbox_config/user_add/when_new_client_is_first_and_only_client/sets_this_as_the_default_client.yml +4 -4
  186. data/spec/cassettes/brightbox_config/user_add/when_new_client_is_first_and_only_client/sets_up_the_config.yml +10 -10
  187. data/spec/cassettes/brightbox_config/user_add/when_passing_in_required_arguments/does_not_error.yml +4 -4
  188. data/spec/cassettes/brightbox_config/user_add/when_passing_in_required_arguments/does_not_prompt_to_rerun_the_command.yml +4 -4
  189. data/spec/cassettes/brightbox_config/user_add/when_passing_in_required_arguments/requests_access_tokens.yml +4 -4
  190. data/spec/cassettes/brightbox_config/user_add/when_passing_in_required_arguments/sets_up_the_config.yml +6 -6
  191. data/spec/cassettes/brightbox_config/user_add/when_passing_in_required_arguments_and_api_url/does_not_error.yml +4 -4
  192. data/spec/cassettes/brightbox_config/user_add/when_passing_in_required_arguments_and_api_url/requests_access_tokens.yml +4 -4
  193. data/spec/cassettes/brightbox_config/user_add/when_passing_in_required_arguments_and_api_url/sets_up_the_config.yml +4 -4
  194. data/spec/cassettes/brightbox_database-servers/create/--allow-access_10_0_0_0/correctly_sends_API_parameters.yml +93 -0
  195. data/spec/cassettes/brightbox_database-servers/create/--allow-access_srv-12345_grp-12345/correctly_sends_API_parameters.yml +93 -0
  196. data/spec/cassettes/brightbox_database-servers/create/--engine_mysql/correctly_sends_API_parameters.yml +93 -0
  197. data/spec/cassettes/brightbox_database-servers/create/--engine_mysql_--engine-version_5_6/correctly_sends_API_parameters.yml +93 -0
  198. data/spec/cassettes/brightbox_database-servers/create/without_arguments/reports_the_new_admin_password.yml +93 -0
  199. data/spec/cassettes/brightbox_database-servers/create/without_arguments/reports_the_new_admin_username.yml +93 -0
  200. data/spec/cassettes/brightbox_database-servers/snapshot/when_database_server_active/correctly_sends_API_parameters.yml +181 -0
  201. data/spec/cassettes/brightbox_database-servers/snapshot/when_database_server_can_not_be_snapshotted/reports_an_error_to_the_user.yml +91 -0
  202. data/spec/cassettes/brightbox_database-snapshots/list/when_resources_are_available/does_not_output_to_stderr.yml +93 -0
  203. data/spec/cassettes/brightbox_database-snapshots/list/when_resources_are_available/outputs_table_details_to_stdout.yml +93 -0
  204. data/spec/cassettes/brightbox_database-snapshots/show/when_resource_exists/does_not_output_to_stderr.yml +93 -0
  205. data/spec/commands/accounts/list_spec.rb +1 -1
  206. data/spec/commands/cloudips/map_spec.rb +23 -4
  207. data/spec/commands/config/user_add_spec.rb +1 -1
  208. data/spec/commands/sql/instances/create_spec.rb +69 -0
  209. data/spec/commands/sql/instances/snapshot_spec.rb +36 -0
  210. data/spec/commands/sql/snapshots/list_spec.rb +29 -0
  211. data/spec/commands/sql/snapshots/show_spec.rb +29 -0
  212. data/spec/commands/sql/types/list_spec.rb +18 -0
  213. data/spec/spec_helper.rb +1 -3
  214. data/spec/support/vcr.rb +1 -1
  215. data/spec/unit/brightbox/api/conn_spec.rb +1 -1
  216. data/spec/unit/brightbox/bb_config/add_section_spec.rb +1 -1
  217. data/spec/unit/brightbox/bb_config/renew_tokens_spec.rb +1 -1
  218. data/spec/unit/brightbox/database_server_spec.rb +9 -0
  219. data/spec/unit/brightbox/database_snapshot_spec.rb +9 -0
  220. data/spec/unit/brightbox/database_type_spec.rb +9 -0
  221. data/spec/unit/brightbox/firewall_policy/create_spec.rb +1 -1
  222. data/spec/unit/brightbox/firewall_policy/destroy_spec.rb +1 -1
  223. data/spec/unit/brightbox/firewall_rule/create_spec.rb +1 -1
  224. data/spec/unit/brightbox/firewall_rule/destroy_spec.rb +1 -1
  225. data/spec/unit/brightbox/firewall_rule/find_spec.rb +1 -1
  226. data/spec/unit/brightbox/firewall_rule/from_policy_spec.rb +1 -1
  227. data/spec/unit/brightbox/server/destroy_spec.rb +1 -1
  228. data/spec/unit/brightbox/server/find_or_call_spec.rb +1 -1
  229. data/spec/unit/brightbox/server/shutdown_spec.rb +1 -1
  230. data/spec/unit/brightbox/server/start_spec.rb +1 -1
  231. data/spec/unit/brightbox/server/stop_spec.rb +1 -1
  232. data/spec/unit/brightbox/server/update_spec.rb +1 -1
  233. data/spec/unit/brightbox/server_group/find_spec.rb +1 -1
  234. data/spec/unit/brightbox/user_collaboration/get_for_account_spec.rb +3 -3
  235. metadata +160 -115
  236. data/lib/brightbox-cli/commands/groups-list.rb +0 -21
  237. data/lib/brightbox-cli/commands/users-list.rb +0 -25
@@ -3,19 +3,12 @@ module Brightbox
3
3
 
4
4
  cmd.default_command :list
5
5
 
6
- cmd.desc "List Firewall Policies"
6
+ cmd.desc I18n.t("firewall.policies.list.desc")
7
7
  cmd.arg_name "[firewall-policy-id...]"
8
8
  cmd.command [:list] do |c|
9
9
 
10
10
  c.action do |global_options, options, args|
11
-
12
- if args.empty?
13
- firewall_policies = FirewallPolicy.find(:all)
14
- else
15
- firewall_policies = FirewallPolicy.find_or_call(args) do |id|
16
- warn "Couldn't find firewall policy #{id}"
17
- end
18
- end
11
+ firewall_policies = FirewallPolicy.find_all_or_warn(args)
19
12
  render_table(firewall_policies, global_options)
20
13
  end
21
14
  end
@@ -1,7 +1,7 @@
1
1
  module Brightbox
2
2
  command [:"firewall-policies"] do |cmd|
3
3
 
4
- cmd.desc "Disassociate firewall policy from given server group"
4
+ cmd.desc I18n.t("firewall.policies.remove.desc")
5
5
  cmd.arg_name "firewall-policy-id server-group-id"
6
6
  cmd.command [:remove] do |c|
7
7
 
@@ -21,13 +21,12 @@ module Brightbox
21
21
  raise "Could not find firewall policy with #{firewall_policy_id}"
22
22
  end
23
23
 
24
-
25
24
  server_group = ServerGroup.find(server_group_id)
26
25
  unless server_group
27
26
  raise "Can't find group with #{options[:g]}"
28
27
  end
29
28
  firewall_policy.remove(server_group.id)
30
- render_table([firewall_policy],global_options)
29
+ render_table([firewall_policy], global_options)
31
30
  end
32
31
  end
33
32
  end
@@ -1,7 +1,7 @@
1
1
  module Brightbox
2
2
  command [:"firewall-policies"] do |cmd|
3
3
 
4
- cmd.desc "Show Firewall Policy"
4
+ cmd.desc I18n.t("firewall.policies.show.desc")
5
5
  cmd.arg_name "firewall-policy-id"
6
6
  cmd.command [:show] do |c|
7
7
 
@@ -12,8 +12,16 @@ module Brightbox
12
12
  raise "Couldn't find Firewall Policy #{id}"
13
13
  end
14
14
 
15
- table_opts = global_options.update(:vertical => true,
16
- :fields => [:id, :server_group, :default,:name, :description])
15
+ table_opts = global_options.update(
16
+ :vertical => true,
17
+ :fields => [
18
+ :id,
19
+ :server_group,
20
+ :default,
21
+ :name,
22
+ :description
23
+ ]
24
+ )
17
25
 
18
26
  render_table(policies, table_opts)
19
27
  end
@@ -1,14 +1,14 @@
1
1
  module Brightbox
2
2
  command [:"firewall-policies"] do |cmd|
3
3
 
4
- cmd.desc "Update a firewall policy"
4
+ cmd.desc I18n.t("firewall.policies.update.desc")
5
5
  cmd.arg_name "firewall-policy-id"
6
6
  cmd.command [:update] do |c|
7
7
 
8
- c.desc "Name of policy"
8
+ c.desc I18n.t("options.name.desc")
9
9
  c.flag [:n, :name]
10
10
 
11
- c.desc "Description of policy"
11
+ c.desc I18n.t("options.description.desc")
12
12
  c.flag [:d, :description]
13
13
 
14
14
  c.action do |global_options, options, args|
@@ -1,8 +1,8 @@
1
1
  module Brightbox
2
- desc "Manages an account's firewall rules for a policy"
2
+ desc I18n.t("firewall.rules.desc")
3
3
  command [:"firewall-rules"] do |cmd|
4
4
 
5
- cmd.desc "Create Firewall Rule"
5
+ cmd.desc I18n.t("firewall.rules.create.desc")
6
6
  cmd.arg_name "[firewall-policy-id...]"
7
7
  cmd.command [:create] do |c|
8
8
 
@@ -24,7 +24,7 @@ module Brightbox
24
24
  c.desc "Icmp Type name"
25
25
  c.flag [:i, :icmptype]
26
26
 
27
- c.desc "Description"
27
+ c.desc I18n.t("options.description.desc")
28
28
  c.flag :description
29
29
 
30
30
  c.action do |global_options, options, args|
@@ -52,7 +52,7 @@ module Brightbox
52
52
 
53
53
  create_options[:firewall_policy_id] = firewall_policy.id
54
54
  firewall_rule = FirewallRule.create(create_options)
55
- render_table([firewall_rule],global_options)
55
+ render_table([firewall_rule], global_options)
56
56
  end
57
57
  end
58
58
  end
@@ -1,12 +1,11 @@
1
1
  module Brightbox
2
2
  command [:"firewall-rules"] do |cmd|
3
3
 
4
- cmd.desc "Destroy Firewall Rule"
4
+ cmd.desc I18n.t("firewall.rules.destroy.desc")
5
5
  cmd.arg_name "[firewall-rule-id...]"
6
6
  cmd.command [:destroy] do |c|
7
7
 
8
8
  c.action do |global_options, options, args|
9
-
10
9
  raise "You must specify firewall-rule-id to destroy" if args.empty?
11
10
 
12
11
  firewall_rules = FirewallRule.find_or_call(args) do |id|
@@ -17,11 +16,10 @@ module Brightbox
17
16
  info "Destroying firewall rule #{firewall_rule}"
18
17
  begin
19
18
  firewall_rule.destroy
20
- rescue Brightbox::Api::Conflict => e
19
+ rescue Brightbox::Api::Conflict
21
20
  error "Could not destroy #{firewall_rule}"
22
21
  end
23
22
  end
24
-
25
23
  end
26
24
  end
27
25
  end
@@ -3,7 +3,7 @@ module Brightbox
3
3
 
4
4
  cmd.default_command :list
5
5
 
6
- cmd.desc "List Firewall Rules"
6
+ cmd.desc I18n.t("firewall.rules.list.desc")
7
7
  cmd.arg_name "[firewall-policy-id...]"
8
8
  cmd.command [:list] do |c|
9
9
 
@@ -15,7 +15,7 @@ module Brightbox
15
15
  firewall_policy_id = args.shift
16
16
  raise "Invalid firewall policy id" unless firewall_policy_id =~ /^fwp-/
17
17
 
18
- firewall_policy = FirewallPolicy.find_or_call([firewall_policy_id]) do |id|
18
+ firewall_policy = FirewallPolicy.find_or_call([firewall_policy_id]) do |id|
19
19
  raise "Couldn't find firewall policy #{id}"
20
20
  end
21
21
  render_table(FirewallRules.from_policy(firewall_policy.first), global_options)
@@ -1,7 +1,7 @@
1
1
  module Brightbox
2
2
  command [:"firewall-rules"] do |cmd|
3
3
 
4
- cmd.desc "Show Firewall Rule"
4
+ cmd.desc I18n.t("firewall.rules.show.desc")
5
5
  cmd.arg_name "firewall-rule-id"
6
6
  cmd.command [:show] do |c|
7
7
 
@@ -12,9 +12,15 @@ module Brightbox
12
12
  raise "Couldn't find Firewall Rule #{id}"
13
13
  end
14
14
 
15
- display_options = { :fields => [
16
- :id, :protocol,:source, :sport, :destination, :dport, :icmp_type, :firewall_policy, :description
17
- ],
15
+ display_options = {
16
+ :fields => [
17
+ :id, :protocol,
18
+ :source, :sport,
19
+ :destination, :dport,
20
+ :icmp_type,
21
+ :firewall_policy,
22
+ :description
23
+ ],
18
24
  :vertical => true
19
25
  }
20
26
  table_opts = global_options.update(display_options)
@@ -1,7 +1,7 @@
1
1
  module Brightbox
2
2
  command [:"firewall-rules"] do |cmd|
3
3
 
4
- cmd.desc "Update Firewall Rule"
4
+ cmd.desc I18n.t("firewall.rules.update.desc")
5
5
  cmd.arg_name "[firewall-rule-id...]"
6
6
  cmd.command [:update] do |c|
7
7
 
@@ -23,13 +23,13 @@ module Brightbox
23
23
  c.desc "Icmp Type name"
24
24
  c.flag [:i, :icmptype]
25
25
 
26
- c.desc "Description"
26
+ c.desc I18n.t("options.description.desc")
27
27
  c.flag :description
28
28
 
29
29
  c.action do |global_options, options, args|
30
30
  fwr_id = args.shift
31
31
  raise "You must specify a valid firewall rule id as the first argument" unless fwr_id =~ /^fwr-/
32
- firewall_rule = FirewallRule.find fwr_id
32
+ firewall_rule = FirewallRule.find fwr_id
33
33
  raise "Could not find firewall rule with #{firewall_rule_id}" unless firewall_rule
34
34
 
35
35
  params = NilableHash.new
@@ -1,8 +1,8 @@
1
1
  module Brightbox
2
- desc "Manages an account's server groups"
2
+ desc I18n.t("groups.desc")
3
3
  command [:groups] do |cmd|
4
4
 
5
- cmd.desc "Add servers to a server group"
5
+ cmd.desc I18n.t("groups.add_servers.desc")
6
6
  cmd.arg_name "grp-id [srv-id...]"
7
7
  cmd.command [:add_servers] do |c|
8
8
 
@@ -1,12 +1,12 @@
1
1
  module Brightbox
2
2
  command [:groups] do |cmd|
3
3
 
4
- cmd.desc "Create a server group"
4
+ cmd.desc I18n.t("groups.create.desc")
5
5
  cmd.command [:create] do |c|
6
- c.desc "Name of Server Group"
6
+ c.desc I18n.t("options.name.desc")
7
7
  c.flag [:n, :name]
8
8
 
9
- c.desc "Server group description"
9
+ c.desc I18n.t("options.description.desc")
10
10
  c.flag [:d, :description]
11
11
 
12
12
  c.action do |global_options, options, args|
@@ -1,9 +1,9 @@
1
1
  module Brightbox
2
2
  command [:groups] do |cmd|
3
3
 
4
- cmd.desc "Destroy server groups"
4
+ cmd.desc I18n.t("groups.destroy.desc")
5
5
  cmd.arg_name "grp-id..."
6
- # todo: add option to remove all servers from group before destroying
6
+ # TODO: add option to remove all servers from group before destroying
7
7
  cmd.command [:destroy] do |c|
8
8
 
9
9
  c.action do |global_options, options, args|
@@ -0,0 +1,14 @@
1
+ module Brightbox
2
+ command [:groups] do |cmd|
3
+
4
+ cmd.default_command :list
5
+
6
+ cmd.desc I18n.t("groups.list.desc")
7
+ cmd.command [:list] do |c|
8
+ c.action do |global_options, options, args|
9
+ server_groups = ServerGroup.find_all_or_warn(args)
10
+ render_table(server_groups, global_options)
11
+ end
12
+ end
13
+ end
14
+ end
@@ -1,7 +1,7 @@
1
1
  module Brightbox
2
2
  command [:groups] do |cmd|
3
3
 
4
- cmd.desc "Move servers from one server group to another"
4
+ cmd.desc I18n.t("groups.move_servers.desc")
5
5
  cmd.arg_name "srv-id ..."
6
6
  cmd.command [:move_servers] do |c|
7
7
  c.desc "Source Server Group"
@@ -10,7 +10,6 @@ module Brightbox
10
10
  c.desc "Target Server Group"
11
11
  c.flag [:t, :to]
12
12
 
13
-
14
13
  c.action do |global_options, options, args|
15
14
  unless args && !args.empty?
16
15
  raise "You must specify server ids to move"
@@ -1,7 +1,7 @@
1
1
  module Brightbox
2
2
  command [:groups] do |cmd|
3
3
 
4
- cmd.desc "Remove servers from a server group"
4
+ cmd.desc I18n.t("groups.remove_servers.desc")
5
5
  cmd.arg_name "grp-id [srv-id...]"
6
6
  cmd.command [:remove_servers] do |c|
7
7
 
@@ -1,7 +1,7 @@
1
1
  module Brightbox
2
2
  command [:groups] do |cmd|
3
3
 
4
- cmd.desc "Show detailed server group info"
4
+ cmd.desc I18n.t("groups.show.desc")
5
5
  cmd.arg_name "[grp-id..]"
6
6
  cmd.command [:show] do |c|
7
7
 
@@ -1,25 +1,20 @@
1
1
  module Brightbox
2
2
  command [:groups] do |cmd|
3
3
 
4
- cmd.desc "Update a server group"
4
+ cmd.desc I18n.t("groups.update.desc")
5
5
  cmd.arg_name "grp-id"
6
6
  cmd.command [:update] do |c|
7
-
8
- c.desc "Friendly name of server group"
7
+ c.desc I18n.t("options.name.desc")
9
8
  c.flag [:n, :name]
10
9
 
11
- c.desc "Server group description"
10
+ c.desc I18n.t("options.description.desc")
12
11
  c.flag [:d, :description]
13
12
 
14
13
  c.action do |global_options, options, args|
15
14
  grp_id = args.shift
16
15
  raise "You must specify the server group to update as the first argument" unless grp_id =~ /^grp-/
17
16
 
18
- params = NilableHash.new
19
-
20
- # unless args.empty?
21
- # params[:servers] = args.collect { |a| { :server => a } }
22
- # end
17
+ params = NilableHash.new
23
18
 
24
19
  if options[:n]
25
20
  params[:name] = options[:n]
@@ -35,7 +30,7 @@ module Brightbox
35
30
  info "Updating server group #{sg}"
36
31
  sg = sg.update(params)
37
32
  render_table([sg], global_options)
33
+ end
38
34
  end
39
35
  end
40
36
  end
41
- end
@@ -1,8 +1,8 @@
1
1
  module Brightbox
2
- desc "List official and public images and also manages an account's"
2
+ desc I18n.t("images.desc")
3
3
  command [:images] do |cmd|
4
4
 
5
- cmd.desc "Destroy images"
5
+ cmd.desc I18n.t("images.destroy.desc")
6
6
  cmd.arg_name "image-id..."
7
7
  cmd.command [:destroy] do |c|
8
8
 
@@ -3,7 +3,7 @@ module Brightbox
3
3
 
4
4
  cmd.default_command :list
5
5
 
6
- cmd.desc "List available images"
6
+ cmd.desc I18n.t("images.list.desc")
7
7
  cmd.arg_name "[image-id...]"
8
8
  cmd.command [:list] do |c|
9
9
 
@@ -20,15 +20,7 @@ module Brightbox
20
20
  c.flag [:l, :account]
21
21
 
22
22
  c.action do |global_options, options, args|
23
-
24
- if args.empty?
25
- images = Image.find(:all)
26
- else
27
- images = Image.find_or_call(args) do |id|
28
- warn "Couldn't find image #{id}"
29
- end
30
- end
31
-
23
+ images = Image.find_all_or_warn(args)
32
24
  images = Image.filter_images(images, options)
33
25
  render_table(images, global_options)
34
26
  end
@@ -1,11 +1,14 @@
1
1
  module Brightbox
2
2
  command [:images] do |cmd|
3
3
 
4
- cmd.desc "Register an image"
4
+ cmd.desc I18n.t("images.register.desc")
5
5
  cmd.command [:register] do |c|
6
6
 
7
- c.desc "Name to give the image"
8
- c.flag [:n, "name"]
7
+ c.desc I18n.t("options.name.desc")
8
+ c.flag [:n, :name]
9
+
10
+ c.desc I18n.t("options.description.desc")
11
+ c.flag [:d, :description]
9
12
 
10
13
  c.desc "Image Username"
11
14
  c.flag [:u, "username"]
@@ -24,9 +27,6 @@ module Brightbox
24
27
  c.default_value "false"
25
28
  c.flag [:p, "public"]
26
29
 
27
- c.desc "Image description"
28
- c.flag [:d, "description"]
29
-
30
30
  c.action do |global_options, options, args|
31
31
 
32
32
  raise "You must specify the architecture" unless options[:a]
@@ -1,20 +1,12 @@
1
1
  module Brightbox
2
2
  command [:images] do |cmd|
3
3
 
4
- cmd.desc "Show detailed image info"
4
+ cmd.desc I18n.t("images.show.desc")
5
5
  cmd.arg_name "image-id..."
6
6
  cmd.command [:show] do |c|
7
7
 
8
8
  c.action do |global_options, options, args|
9
-
10
- if args.empty?
11
- raise "You must specify the images you want to show"
12
- end
13
-
14
- images = Image.find_or_call(args) do |id|
15
- warn "Couldn't find image #{id}"
16
- end
17
-
9
+ images = Image.find_all_or_warn(args)
18
10
 
19
11
  display_options = {
20
12
  :vertical => true,
@@ -28,7 +20,6 @@ module Brightbox
28
20
  table_opts = global_options.merge(display_options)
29
21
 
30
22
  render_table(images, table_opts)
31
-
32
23
  end
33
24
  end
34
25
  end