Module: VMC::Cli::ServicesHelper
- Included in:
- Command::Apps, Command::Services, ManifestHelper
- Defined in:
- lib/cli/services_helper.rb
Instance Method Summary collapse
- #bind_service_banner(service, appname, check_restart = true) ⇒ Object
- #check_app_for_restart(appname) ⇒ Object
- #create_service_banner(service, name, display_name = false, plan = nil) ⇒ Object
- #delete_service_banner(service) ⇒ Object
- #display_cloudn_services(services = nil) ⇒ Object
- #display_provisioned_services(services = nil) ⇒ Object
- #display_provisioned_services_table(services) ⇒ Object
- #display_services_table(services) ⇒ Object
- #display_system_services(services = nil) ⇒ Object
- #random_service_name(service) ⇒ Object
- #register_service_banner(service, instance, name, options) ⇒ Object
- #service_plans(service, services_info = nil) ⇒ Object
- #unbind_service_banner(service, appname, check_restart = true) ⇒ Object
Instance Method Details
#bind_service_banner(service, appname, check_restart = true) ⇒ Object
64 65 66 67 68 69 |
# File 'lib/cli/services_helper.rb', line 64 def (service, appname, check_restart=true) display "Binding Service [#{service}]: ", false client.bind_service(service, appname) display 'OK'.green check_app_for_restart(appname) if check_restart end |
#check_app_for_restart(appname) ⇒ Object
96 97 98 99 100 |
# File 'lib/cli/services_helper.rb', line 96 def check_app_for_restart(appname) app = client.app_info(appname) cmd = VMC::Cli::Command::Apps.new(@options) cmd.restart(appname) if app[:state] == 'STARTED' end |
#create_service_banner(service, name, display_name = false, plan = nil) ⇒ Object
57 58 59 60 61 62 |
# File 'lib/cli/services_helper.rb', line 57 def (service, name, display_name=false, plan=nil) sn = " [#{name}]" if display_name display "Creating Service#{sn}: ", false client.create_service(service, name, plan) display 'OK'.green end |
#delete_service_banner(service) ⇒ Object
78 79 80 81 82 |
# File 'lib/cli/services_helper.rb', line 78 def (service) display "Deleting service [#{service}]: ", false client.delete_service(service) display 'OK'.green end |
#display_cloudn_services(services = nil) ⇒ Object
11 12 13 14 15 16 |
# File 'lib/cli/services_helper.rb', line 11 def display_cloudn_services(services=nil) services ||= client.cloudn_services_info display "\n============== Cloudn Services ==============\n\n" return display "No cloudn services available" if services.empty? display_services_table(services) end |
#display_provisioned_services(services = nil) ⇒ Object
40 41 42 43 44 |
# File 'lib/cli/services_helper.rb', line 40 def display_provisioned_services(services=nil) services ||= client.services display "\n=========== Provisioned Services ============\n\n" display_provisioned_services_table(services) end |
#display_provisioned_services_table(services) ⇒ Object
46 47 48 49 50 51 52 53 54 55 |
# File 'lib/cli/services_helper.rb', line 46 def display_provisioned_services_table(services) return unless services && !services.empty? services_table = table do |t| t.headings = 'Name', 'Service', 'Plan' services.each do |service| t << [ service[:name], service[:vendor], service[:tier] ] end end display services_table end |
#display_services_table(services) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/cli/services_helper.rb', line 18 def display_services_table(services) displayed_services = [] services.each do |service_type, value| value.each do |vendor, version| version.each do |version_str, service| plans_str = "" plans_str = service[:tiers].keys.join(', ') if service[:tiers] default_plan = service[:default_plan] ? service[:default_plan] : "" plans_str.sub!(/#{default_plan}/, "#{default_plan}(default)") unless default_plan.empty? displayed_services << [ vendor, version_str, plans_str, service[:description] ] end end end displayed_services.sort! { |a, b| a.first.to_s <=> b.first.to_s} services_table = table do |t| t.headings = 'Service', 'Version', 'Plans', 'Description' displayed_services.each { |s| t << s } end display services_table end |
#display_system_services(services = nil) ⇒ Object
4 5 6 7 8 9 |
# File 'lib/cli/services_helper.rb', line 4 def display_system_services(services=nil) services ||= client.services_info display "\n============== System Services ==============\n\n" return display "No system services available" if services.empty? display_services_table(services) end |
#random_service_name(service) ⇒ Object
91 92 93 94 |
# File 'lib/cli/services_helper.rb', line 91 def random_service_name(service) r = "%04x" % [rand(0x0100000)] "#{service.to_s}-#{r}" end |
#register_service_banner(service, instance, name, options) ⇒ Object
84 85 86 87 88 89 |
# File 'lib/cli/services_helper.rb', line 84 def (service, instance, name, ) sn = " [#{name}]" display "Register Service#{sn}: ", false client.register_service(service, instance, name, ) display 'OK'.green end |
#service_plans(service, services_info = nil) ⇒ Object
102 103 104 105 106 107 108 109 |
# File 'lib/cli/services_helper.rb', line 102 def service_plans(service, services_info=nil) services_info ||= client.services_info services_info.values.map { |subset1| if subset1[service.to_sym] subset1[service.to_sym].values.map { |details| details[:tiers].keys.map(&:to_s) } end }.flatten.compact end |
#unbind_service_banner(service, appname, check_restart = true) ⇒ Object
71 72 73 74 75 76 |
# File 'lib/cli/services_helper.rb', line 71 def (service, appname, check_restart=true) display "Unbinding Service [#{service}]: ", false client.unbind_service(service, appname) display 'OK'.green check_app_for_restart(appname) if check_restart end |