Module: Brightbox
- Extended by:
- GLI::App
- Includes:
- Logging
- Defined in:
- lib/brightbox_cli.rb,
lib/brightbox-cli/api.rb,
lib/brightbox-cli/token.rb,
lib/brightbox-cli/types.rb,
lib/brightbox-cli/users.rb,
lib/brightbox-cli/zones.rb,
lib/brightbox-cli/config.rb,
lib/brightbox-cli/images.rb,
lib/brightbox-cli/tables.rb,
lib/brightbox-cli/volume.rb,
lib/brightbox/cli/config.rb,
lib/brightbox-cli/logging.rb,
lib/brightbox-cli/servers.rb,
lib/brightbox-cli/version.rb,
lib/brightbox-cli/accounts.rb,
lib/brightbox-cli/cloud_ips.rb,
lib/brightbox-cli/config_map.rb,
lib/brightbox-cli/config/cache.rb,
lib/brightbox-cli/config/dirty.rb,
lib/brightbox-cli/error_parser.rb,
lib/brightbox-cli/collaboration.rb,
lib/brightbox-cli/config/to_fog.rb,
lib/brightbox-cli/database_type.rb,
lib/brightbox-cli/firewall_rule.rb,
lib/brightbox-cli/server_groups.rb,
lib/brightbox-cli/commands/login.rb,
lib/brightbox-cli/commands/token.rb,
lib/brightbox-cli/commands/types.rb,
lib/brightbox-cli/commands/zones.rb,
lib/brightbox-cli/config/clients.rb,
lib/brightbox-cli/firewall_rules.rb,
lib/brightbox-cli/load_balancers.rb,
lib/brightbox-cli/config/accounts.rb,
lib/brightbox-cli/config/sections.rb,
lib/brightbox-cli/database_server.rb,
lib/brightbox-cli/detailed_server.rb,
lib/brightbox-cli/firewall_policy.rb,
lib/brightbox-cli/gli_global_hooks.rb,
lib/brightbox-cli/commands/lbs/list.rb,
lib/brightbox-cli/commands/lbs/show.rb,
lib/brightbox-cli/config/api_client.rb,
lib/brightbox-cli/database_snapshot.rb,
lib/brightbox-cli/commands/sql/types.rb,
lib/brightbox-cli/connection_manager.rb,
lib/brightbox-cli/user_collaboration.rb,
lib/brightbox-cli/commands/configmaps.rb,
lib/brightbox-cli/commands/lbs/create.rb,
lib/brightbox-cli/commands/lbs/update.rb,
lib/brightbox-cli/commands/users/list.rb,
lib/brightbox-cli/commands/users/show.rb,
lib/brightbox-cli/commands/groups/list.rb,
lib/brightbox-cli/commands/groups/show.rb,
lib/brightbox-cli/commands/images/list.rb,
lib/brightbox-cli/commands/images/show.rb,
lib/brightbox-cli/commands/lbs/destroy.rb,
lib/brightbox-cli/commands/lbs/locking.rb,
lib/brightbox-cli/legacy/args_adjuster.rb,
lib/brightbox-cli/collaborating_account.rb,
lib/brightbox-cli/commands/cloudips/map.rb,
lib/brightbox-cli/commands/servers/list.rb,
lib/brightbox-cli/commands/servers/show.rb,
lib/brightbox-cli/commands/servers/stop.rb,
lib/brightbox-cli/commands/users/update.rb,
lib/brightbox-cli/commands/volumes/copy.rb,
lib/brightbox-cli/commands/volumes/list.rb,
lib/brightbox-cli/commands/volumes/show.rb,
lib/brightbox-cli/detailed_server_group.rb,
lib/brightbox-cli/commands/accounts/list.rb,
lib/brightbox-cli/commands/accounts/show.rb,
lib/brightbox-cli/commands/cloudips/list.rb,
lib/brightbox-cli/commands/cloudips/show.rb,
lib/brightbox-cli/commands/groups/create.rb,
lib/brightbox-cli/commands/groups/update.rb,
lib/brightbox-cli/commands/images/update.rb,
lib/brightbox-cli/commands/lbs/add_nodes.rb,
lib/brightbox-cli/commands/servers/reset.rb,
lib/brightbox-cli/commands/servers/start.rb,
lib/brightbox-cli/config/password_helper.rb,
lib/brightbox-cli/config/two_factor_auth.rb,
lib/brightbox-cli/commands/cloudips/unmap.rb,
lib/brightbox-cli/commands/collaborations.rb,
lib/brightbox-cli/commands/groups/destroy.rb,
lib/brightbox-cli/commands/images/destroy.rb,
lib/brightbox-cli/commands/images/locking.rb,
lib/brightbox-cli/commands/servers/create.rb,
lib/brightbox-cli/commands/servers/reboot.rb,
lib/brightbox-cli/commands/servers/update.rb,
lib/brightbox-cli/commands/volumes/attach.rb,
lib/brightbox-cli/commands/volumes/create.rb,
lib/brightbox-cli/commands/volumes/detach.rb,
lib/brightbox-cli/commands/volumes/resize.rb,
lib/brightbox-cli/commands/volumes/update.rb,
lib/brightbox-cli/config/user_application.rb,
lib/brightbox-cli/commands/accounts/remove.rb,
lib/brightbox-cli/commands/cloudips/create.rb,
lib/brightbox-cli/commands/cloudips/update.rb,
lib/brightbox-cli/commands/config/user_add.rb,
lib/brightbox-cli/commands/images/register.rb,
lib/brightbox-cli/commands/servers/destroy.rb,
lib/brightbox-cli/commands/servers/locking.rb,
lib/brightbox-cli/commands/volumes/destroy.rb,
lib/brightbox-cli/commands/volumes/locking.rb,
lib/brightbox-cli/config/two_factor_helper.rb,
lib/brightbox-cli/commands/accounts/default.rb,
lib/brightbox-cli/commands/cloudips/destroy.rb,
lib/brightbox-cli/commands/lbs/remove_nodes.rb,
lib/brightbox-cli/commands/servers/shutdown.rb,
lib/brightbox-cli/commands/servers/snapshot.rb,
lib/brightbox-cli/commands/config/client_add.rb,
lib/brightbox-cli/commands/groups/add_server.rb,
lib/brightbox-cli/commands/config/client_list.rb,
lib/brightbox-cli/commands/sql/instances_list.rb,
lib/brightbox-cli/commands/sql/instances_show.rb,
lib/brightbox-cli/commands/sql/snapshots_list.rb,
lib/brightbox-cli/commands/sql/snapshots_show.rb,
lib/brightbox-cli/commands/firewall/rules_list.rb,
lib/brightbox-cli/commands/firewall/rules_show.rb,
lib/brightbox-cli/commands/groups/move_servers.rb,
lib/brightbox-cli/commands/sql/instances_reset.rb,
lib/brightbox-cli/commands/user_collaborations.rb,
lib/brightbox-cli/config/authentication_tokens.rb,
lib/brightbox-cli/commands/config/client_remove.rb,
lib/brightbox-cli/commands/sql/instances_create.rb,
lib/brightbox-cli/commands/sql/instances_resize.rb,
lib/brightbox-cli/commands/sql/instances_update.rb,
lib/brightbox-cli/commands/sql/snapshots_update.rb,
lib/brightbox-cli/commands/config/client_default.rb,
lib/brightbox-cli/commands/firewall/rules_create.rb,
lib/brightbox-cli/commands/firewall/rules_update.rb,
lib/brightbox-cli/commands/groups/remove_servers.rb,
lib/brightbox-cli/commands/sql/instances_destroy.rb,
lib/brightbox-cli/commands/sql/instances_locking.rb,
lib/brightbox-cli/commands/sql/snapshots_destroy.rb,
lib/brightbox-cli/commands/sql/snapshots_locking.rb,
lib/brightbox-cli/config/gpg_encrypted_passwords.rb,
lib/brightbox-cli/commands/accounts/accept_invite.rb,
lib/brightbox-cli/commands/firewall/policies_list.rb,
lib/brightbox-cli/commands/firewall/policies_show.rb,
lib/brightbox-cli/commands/firewall/rules_destroy.rb,
lib/brightbox-cli/commands/sql/instances_snapshot.rb,
lib/brightbox-cli/commands/firewall/policies_apply.rb,
lib/brightbox-cli/config/section_name_deduplicator.rb,
lib/brightbox-cli/commands/firewall/policies_create.rb,
lib/brightbox-cli/commands/firewall/policies_remove.rb,
lib/brightbox-cli/commands/firewall/policies_update.rb,
lib/brightbox-cli/commands/servers/activate_console.rb,
lib/brightbox-cli/commands/firewall/policies_destroy.rb,
lib/brightbox-cli/commands/sql/instances_reset_password.rb
Defined Under Namespace
Modules: CLI, Config, Legacy, Logging Classes: Account, AmbiguousClientError, Api, BBConfig, BBConfigError, CloudIP, CollaboratingAccount, Collaboration, ConfigMap, ConnectionManager, DatabaseServer, DatabaseSnapshot, DatabaseType, DetailedServer, DetailedServerGroup, ErrorParser, FirewallPolicy, FirewallRule, FirewallRules, Image, LoadBalancer, NoSelectedClientError, Server, ServerGroup, ShowTable, SimpleTable, Token, Type, User, UserCollaboration, Volume, Zone
Constant Summary collapse
- DEFAULT_API_ENDPOINT =
ENV.fetch("BRIGHTBOX_API_URL", "https://api.gb1.brightbox.com")
- EMBEDDED_APP_ID =
"app-12345".freeze
- EMBEDDED_APP_SECRET =
"mocbuipbiaa6k6c".freeze
- IDENTIFIER_SIZE =
The length of the identifier string.
9- NO_CLIENT_MESSAGE =
"You must specify client to use with --client or set default client".freeze
- AMBIGUOUS_CLIENT_ERROR =
"You must specify a default client using brightbox config client_default".freeze
- VERSION =
"5.1.0".freeze
Class Method Summary collapse
- .config ⇒ Object
- .config=(replacement) ⇒ Object
- .parse_configmap_data_options(options) ⇒ Object
-
.render_table(rows, options = {}) ⇒ Object
Print nice ascii tables (or tab separated lists, depending on mode) Has lots of magic.
Methods included from Logging
Class Method Details
.config ⇒ Object
12 13 14 |
# File 'lib/brightbox/cli/config.rb', line 12 def self.config CLI::Config.instance.config end |
.config=(replacement) ⇒ Object
16 17 18 |
# File 'lib/brightbox/cli/config.rb', line 16 def self.config=(replacement) CLI::Config.instance.config = replacement end |
.parse_configmap_data_options(options) ⇒ Object
158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 |
# File 'lib/brightbox-cli/commands/configmaps.rb', line 158 def () if [:data] && [:"data-file"] raise I18n.t("configmaps.options.multiple_data") end map_data = [:data] data_filename = [:"data-file"] if data_filename file_handler = lambda do |file| map_data = file.read end if data_filename == "-" file_handler[$stdin] else File.open(data_filename, "r", &file_handler) end raise map_data.inspect if map_data.nil? || map_data == "" end map_data end |
.render_table(rows, options = {}) ⇒ Object
Print nice ascii tables (or tab separated lists, depending on mode) Has lots of magic.
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 |
# File 'lib/brightbox-cli/tables.rb', line 72 def render_table(rows, = {}) = { :description => false }.merge # Figure out the fields from the :model option if [:model] && [:fields].nil? [:fields] = [:model].default_field_order end # Figure out the fields from the first row if [:fields].nil? && rows.first.class.respond_to?(:default_field_order) [:fields] = rows.first.class.default_field_order end # Call to_row on all the rows rows = rows.map do |row| row.respond_to?(:to_row) ? row.to_row : row end # Call render_cell on all the cells rows.each do |row| # FIXME: default Api subclasses do not respond to #keys so specialising # #to_row is required to not break the following row.each_key do |k| row[k] = row[k].render_cell if row[k].respond_to? :render_cell end end if [:s] # Simple output rows.each do |row| if [:vertical] data [:fields].map { |k| [k, row[k]].join("\t") }.join("\n") else data [:fields].map { |k| row[k].is_a?(Array) ? row[k].join(",") : row[k] }.join("\t") end end elsif [:vertical] # "graphical" table data ShowTable.render(rows, ) else data SimpleTable.render(rows, ) end end |