class Brightbox::DatabaseServer
Public Class Methods
Source
# File lib/brightbox-cli/database_server.rb, line 13 def self.all conn.database_servers.all end
Source
# File lib/brightbox-cli/database_server.rb, line 130 def self.clean_arguments(args) params = NilableHash.new params[:name] = args[:n] if args[:n] params[:description] = args[:d] if args[:d] if args["allow-access"] params[:allow_access] = args["allow-access"].split(",") end if args["maintenance-weekday"] params[:maintenance_weekday] = weekday_index(args["maintenance-weekday"]) end params[:maintenance_hour] = args["maintenance-hour"] if args["maintenance-hour"] params[:snapshots_schedule] = args["snapshots-schedule"] if args["snapshots-schedule"] if args["remove-snapshots-schedule"] params[:snapshots_schedule] = nil end params[:database_engine] = args[:engine] if args[:engine] params[:database_version] = args["engine-version"] if args["engine-version"] params[:snapshot_id] = args[:snapshot] if args[:snapshot] params[:flavor_id] = args[:type] if args[:type] params[:zone_id] = args[:zone] if args[:zone] params.nilify_blanks params end
Converts GLI’s arguments to fog based parameters
Source
# File lib/brightbox-cli/database_server.rb, line 9 def self.create(options) new(conn.database_servers.create(options)) end
Source
# File lib/brightbox-cli/database_server.rb, line 43 def self.default_field_order %i[ id status type db_engine zone created_on cloud_ip_ids name ] end
Source
# File lib/brightbox-cli/database_server.rb, line 57 def self.detailed_fields %i[ id name description status locked type engine version zone created_on admin_username admin_password maintenance_window snapshots_schedule snapshots_schedule_next_at allow_access cloud_ip_ids cloud_ips ] end
These are all the fields show in the longer table form
Source
# File lib/brightbox-cli/database_server.rb, line 17 def self.get(id) conn.database_servers.get(id) end
Source
# File lib/brightbox-cli/database_server.rb, line 5 def self.require_account? true end
Source
# File lib/brightbox-cli/database_server.rb, line 163 def self.weekday_index(user_input) DateTime.parse(user_input).wday.to_s rescue ArgumentError user_input.to_s end
@param [String] user_input either a day or it’s index (‘sunday’ or ‘0’) @returns [String] The index
Public Instance Methods
Source
# File lib/brightbox-cli/database_server.rb, line 125 def cloud_ip_addresses cloud_ips.map { |cip| cip["public_ip"] } end
Lists the CIP IP addresses
Source
# File lib/brightbox-cli/database_server.rb, line 120 def cloud_ip_ids cloud_ips.map { |cip| cip["id"] } end
Lists the CIP identifiers (cip-12345)
Source
# File lib/brightbox-cli/database_server.rb, line 115 def cloud_ips super.nil? ? [] : super end
Calls superclass method
Source
# File lib/brightbox-cli/database_server.rb, line 39 def destroy fog_model.destroy end
Source
# File lib/brightbox-cli/database_server.rb, line 103 def engine_version [database_engine, database_version].join("-") end
Source
# File lib/brightbox-cli/database_server.rb, line 108 def maintenance_window return nil if maintenance_weekday.nil? weekday = Date::DAYNAMES[maintenance_weekday] format("%s %02d:00 UTC", weekday, maintenance_hour) end
A more humanised version of the maintenance window
Source
# File lib/brightbox-cli/database_server.rb, line 31 def reset_password fog_model.reset_password end
Source
# File lib/brightbox-cli/database_server.rb, line 35 def resize(options) fog_model.resize(options[:new_type]) end
Source
# File lib/brightbox-cli/database_server.rb, line 84 def to_row attributes.merge( status: fog_model.state, locked: locked?, type: type_identifier, db_engine: engine_version, engine: database_engine, version: database_version, maintenance_weekday: maintenance_weekday, maintenance_hour: maintenance_hour, maintenance_window: maintenance_window, zone: zone_handle, created_on: created_on, allow_access: allow_access, cloud_ip_ids: cloud_ip_ids, cloud_ips: cloud_ip_addresses ) end
Source
# File lib/brightbox-cli/database_server.rb, line 72 def type_identifier return unless fog_attributes.key?("database_server_type") fog_attributes["database_server_type"]["id"] end
Source
# File lib/brightbox-cli/database_server.rb, line 21 def update(options) self.class.conn.update_database_server(id, options) reload self end
Source
# File lib/brightbox-cli/database_server.rb, line 78 def zone_handle return unless fog_attributes.key?("zone") fog_attributes["zone"]["handle"] end