Class: App42::Command::Info

Inherits:
Base
  • Object
show all
Defined in:
lib/app42/command/info.rb

Instance Method Summary collapse

Methods inherited from Base

#app_information, #app_operation, #app_url_availability, #assign_release_static_ip, #cloudapi_operation, #collect_app_source, #create_cloud_setup, #create_gpaas_setup, #create_infrastructure, #create_service, #create_service_tunnel, #create_wordpress_setup, #custom_url_information, #custom_url_operation, #delete_cloudapi, #delete_gpaas, #delete_service, #delete_service_tunnel, #delete_wordpress, #get_app_name, #get_app_name_and_check_app_url_availability, #get_app_source, #get_custom_url, #get_framework, #get_iaas_providers, #get_instance, #get_kontena, #get_os_for_app, #get_os_for_service, #get_runtime, #get_setup_name, #get_setup_name_and_check_setup_url_availability, #get_subscription, #get_vm_types, #get_vmconfig, #get_webserver, #get_wordpress_name, #get_wordpress_name_and_check_wordpress_url_availability, #gpaas_operation, #initialize, #interactive_get, #reset_password, #scale_or_descale_app, #service_name_availability, #service_operation, #setup_url_availability, #update_binary, #update_gpaas_dashboard, #upgrade_or_downgrade_cloudapi, #upgrade_or_downgrade_gpaas, #upgrade_or_downgrade_wordpress, #upload_binary, #upload_service_backup, #vscale_or_vdescale_app, #vscale_or_vdescale_service, #wordpress_operation, #wordpress_url_availability

Methods included from Base::HttpHelper

#build_delete_request, #build_get_request, #build_post_request, #build_put_request, #delete_request, #get_request, #post_request, #put_request

Methods included from Base::Util

#app42_client_info, #ask_app_name, #camel_case_to_whitespace, #check_transaction_status, #check_transaction_status_of_setup, #escape_path, #get_flavour_for_upgrade_or_downgrade, #get_instance_config_for_upgrade_or_downgrade, #input, #ip_address_valid?, #is_app_exist?, #is_service_exist?, #is_setup_name_exist?, #is_static_ip_assigned?, #json_parse, #message, #number_valid?, #numeric?, #numeric_including_zero?, #params, #parse_error_message, #print_new_line, #request_failed?, #resource_url, #show_wait_spinner, #signature, #status_call, #time_valid?, #util_base, #validate_app_and_service_name, #validate_database_name, #validate_git_url, #validate_setup_name, #validate_upload_backup_path, #validate_url, #validate_vm_config

Methods included from UserToken

#check_key_file?, #config_path, #ensure_config_dir, #ensure_key_file, #get_keys, #key_path, #local_app42_key, #remove_key_file

Constructor Details

This class inherits a constructor from App42::Command::Base

Instance Method Details

#activitiesObject

will return details of user activities like operation, status, date etc.



80
81
82
83
84
85
86
87
88
89
90
91
92
93
# File 'lib/app42/command/info.rb', line 80

def activities
  rows, rows_header_final, rows_header = [], [], nil
  user_activities = get_activities
  if user_activities['success'] && user_activities['activities']
    user_activities['activities'].each do |each_activity|
      rows_header = each_activity.keys
      rows << each_activity.values
    end
    rows_header.map { |e| rows_header_final << camel_case_to_whitespace(e) } 

    table = Terminal::Table.new  :title => Paint["=== User Activities ===", :green], :headings => rows_header_final, :rows => rows
    puts table
  end
end

#get_activitiesObject

return user activities



11
12
13
# File 'lib/app42/command/info.rb', line 11

def get_activities
  build_get_request params, 'info', 'activities'
end

#infoObject

show detailed app information

Examples:

$ app42 info --app APP

Demo info

Memory 512 Framework rails Runtime ruby20 Domain demo.app42paas.com User jon Status running



30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/app42/command/info.rb', line 30

def info
  @options[:name] = get_app_name if @options[:name].nil?

  rows, rows_header_final, rows_header = [], [], nil
  app_info = app_information 'app', @options[:name]
  if app_info && app_info['appInfo']
    rows_header = app_info['appInfo'].keys
    rows << app_info['appInfo'].values
    rows_header.map { |e| rows_header_final << camel_case_to_whitespace(e) } 

    table = Terminal::Table.new  :title => Paint["=== #{@options[:name]} Info ===", :green], :headings => rows_header_final, :rows => rows
    puts table
  end
end

#logsObject

Returns the log URLs for the application



66
67
68
69
70
71
72
73
74
75
76
77
# File 'lib/app42/command/info.rb', line 66

def logs
  @options[:name] = get_app_name if @options[:name].nil?
  app_logs = app_information 'app/logs', @options[:name] if is_app_exist? @options[:name] 
  rows, rows_header = [], nil
  rows_header = 'Log URL(s)'
  app_logs['logUrls'].each do |log|
    rows << Array(log)
  end
  message "#{Message::LOG_MESSAGE}", true, 'green'
  table = Terminal::Table.new  :title => rows_header, :rows => rows
  puts table
end

#releasesObject

list releases

Examples:

$ app42 releases --app APP

Demo releases

Version v1

Email [email protected]

Date 20/02/2010

TODO , NEED TO SYNC WITH SERVICE



109
110
111
112
113
114
115
116
117
118
119
120
# File 'lib/app42/command/info.rb', line 109

def releases
  @options[:name] = get_app_name if @options[:name].nil?
  app_releases = app_information 'releases', @options[:name]
  puts Paint["=== #{@options[:name]} releases ===", :green]
  app_releases['releaseInfo'].each do |release|
    release.each_pair do |key, value|
      print Paint["#{key.capitalize}", :bright]
      print Paint[" #{value}\n", :bright]
    end  
  end if app_releases['releaseInfo']
  print_new_line
end

#stateObject

show app status information

Examples:

$ app42 status --app APP

Demo status

running



53
54
55
56
57
58
59
60
61
62
63
# File 'lib/app42/command/info.rb', line 53

def state
  @options[:name] = get_app_name if @options[:name].nil?
  rows = []
  rows_header = nil
  app_status = app_information 'app', @options[:name]
  rows_header = Array('State')
  rows << Array(app_status['appInfo']['appStatus'])

  table = Terminal::Table.new  :title => Paint["=== #{@options[:name]} State ===", :green], :rows => rows
  puts table
end