Class: App42::Command::Gpaas
Instance Method Summary collapse
-
#delete ⇒ Object
Delete App42 GPaaS setup, return true or error code/message.
-
#downgrade ⇒ Object
collect GPaaS setup name from user and proceed GPaaS downgrade request.
-
#get_iaas_and_vm_type(setup_name) ⇒ Object
return setup details.
-
#get_instance_config(iaas, vm_type) ⇒ Object
return instance configuration.
-
#get_setup_type ⇒ Object
return setup type.
-
#info ⇒ Object
get details information of App42 GPaaS setup.
-
#restart ⇒ Object
collect GPaaS setup name from user and proceed GPaaS restart request.
-
#setup ⇒ Object
Collect all required attributes for new GPaaS spawn required inputs are setup_name, vm_type, iaas, setup_type and flavour.
-
#setups ⇒ Object
List all setups.
-
#start ⇒ Object
collect GPaaS setup name from user and proceed GPaaS start request.
- #stop ⇒ Object
-
#update ⇒ Object
Update GPaaS Dashboard.
-
#upgrade ⇒ Object
collect GPaaS setup name from user and proceed GPaaS upgrade request.
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
#delete ⇒ Object
Delete App42 GPaaS setup, return true or error code/message
22 23 24 25 26 |
# File 'lib/app42/command/gpaas.rb', line 22 def delete @options[:setup] = get_setup_name if @options[:setup].nil? response = delete_gpaas @options[:setup] if is_setup_name_exist? @options[:setup] exit! if response end |
#downgrade ⇒ Object
collect GPaaS setup name from user and proceed GPaaS downgrade request
65 66 67 68 69 70 71 72 |
# File 'lib/app42/command/gpaas.rb', line 65 def downgrade @options[:setup] = get_setup_name if @options[:setup].nil? print_new_line iaas, vm_type = get_iaas_and_vm_type @options[:setup] flavour = get_instance_config_for_upgrade_or_downgrade iaas, vm_type, @options[:setup], __method__.to_s if is_setup_name_exist? @options[:setup] response = upgrade_or_downgrade_gpaas __method__, @options[:setup], flavour exit! if response end |
#get_iaas_and_vm_type(setup_name) ⇒ Object
return setup details
103 104 105 106 |
# File 'lib/app42/command/gpaas.rb', line 103 def get_iaas_and_vm_type setup_name setup_details = App42::Command::Config.new.get_setup_details setup_name return setup_details['iaas'], setup_details['containerType'] if setup_details['success'] end |
#get_instance_config(iaas, vm_type) ⇒ Object
return instance configuration
91 92 93 94 95 96 97 98 99 100 |
# File 'lib/app42/command/gpaas.rb', line 91 def get_instance_config iaas, vm_type instance_config_hash = {} instance_config_type = App42::Command::Config.new.get_instance_config_type iaas, vm_type instance_config_type['IMList'].select {|each_instance_config| instance_config_hash["#{each_instance_config['id']}"] = each_instance_config['name']} instance_config = input "Select Instance Configuration", instance_config_hash.values, true instance_config_id = nil instance_config_hash.each_pair{|ic| instance_config_id = ic[0] if ic[1] == instance_config} return instance_config_id end |
#get_setup_type ⇒ Object
return setup type
82 83 84 85 86 87 88 |
# File 'lib/app42/command/gpaas.rb', line 82 def get_setup_type setup_type_hash = {} setup_type = App42::Command::Config.new.get_setup_type_fm_server setup_type['setupTypes'].select {|each_setup_type| setup_type_hash["#{each_setup_type['id']}"] = each_setup_type['name']} return setup_type_hash.keys.first end |
#info ⇒ Object
get details information of App42 GPaaS setup
109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 |
# File 'lib/app42/command/gpaas.rb', line 109 def info @options[:setup] = get_setup_name if @options[:setup].nil? query_params = params query_params.store('setupName', @options[:setup]) setup_info = build_get_request query_params, 'gpaas', "#{@options[:setup]}" rows, rows_header_final, rows_header = [], [], nil if setup_info && setup_info['setupInfo'] rows_header = setup_info['setupInfo'].keys rows << setup_info['setupInfo'].values rows_header.map { |e| rows_header_final << camel_case_to_whitespace(e) } table = Terminal::Table.new :title => Paint["=== #{@options[:setup]} Details ===", :green], :headings => rows_header_final, :rows => rows puts table end end |
#restart ⇒ Object
collect GPaaS setup name from user and proceed GPaaS restart request
46 47 48 49 50 51 52 |
# File 'lib/app42/command/gpaas.rb', line 46 def restart # ans = ask Paint["#{Message::URL_WILL_CHANGE}", :red], :default => true ; print_new_line # ans == true ? (@options[:setup] = get_setup_name if @options[:setup].nil?) : (exit!) @options[:setup] = get_setup_name if @options[:setup].nil? response = gpaas_operation __method__, @options[:setup] if is_setup_name_exist? @options[:setup] exit! if response end |
#setup ⇒ Object
Collect all required attributes for new GPaaS spawn required inputs are setup_name, vm_type, iaas, setup_type and flavour
10 11 12 13 14 15 16 17 18 19 |
# File 'lib/app42/command/gpaas.rb', line 10 def setup setup_name = get_setup_name_and_check_setup_url_availability if App42::Command::Auth. vm_type = 'dedicated' # GPaaS need only dedicated server iaas = get_iaas_providers vm_type setup_type = get_setup_type flavour = get_instance_config iaas, vm_type ans = ask Paint["#{Message::ADD_STATIC_IP}", :red], :default => true ; print_new_line setup_cloud_api_res = App42::Command::Base.new.create_gpaas_setup setup_name, iaas, vm_type, setup_type, flavour, ans exit! if setup_cloud_api_res end |
#setups ⇒ Object
List all setups
127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 |
# File 'lib/app42/command/gpaas.rb', line 127 def setups query_params = params setups = build_get_request query_params, 'gpaas', nil rows, rows_header_final, rows_header = [], [], nil if setups && setups['setups'] setups['setups'].each do |e| rows_header = e.keys rows << e.values end rows_header.map { |e| rows_header_final << camel_case_to_whitespace(e) } table = Terminal::Table.new :title => Paint["=== Setups List ===", :green], :headings => rows_header_final, :rows => rows puts table end end |
#start ⇒ Object
collect GPaaS setup name from user and proceed GPaaS start request
29 30 31 32 33 |
# File 'lib/app42/command/gpaas.rb', line 29 def start @options[:setup] = get_setup_name if @options[:setup].nil? response = gpaas_operation __method__, @options[:setup] if is_setup_name_exist? @options[:setup] exit! if response end |
#stop ⇒ Object
35 36 37 38 39 40 41 42 43 |
# File 'lib/app42/command/gpaas.rb', line 35 def stop @options[:setup] = get_setup_name if @options[:setup].nil? unless is_static_ip_assigned? @options[:setup] ans = ask Paint["#{Message::URL_WILL_CHANGE}", :red], :default => true ; print_new_line ans == true ? (@options[:setup] = get_setup_name if @options[:setup].nil?) : (exit!) end response = gpaas_operation __method__, @options[:setup] if is_setup_name_exist? @options[:setup] exit! if response end |
#update ⇒ Object
Update GPaaS Dashboard
75 76 77 78 79 |
# File 'lib/app42/command/gpaas.rb', line 75 def update @options[:setup] = get_setup_name if @options[:setup].nil? print_new_line response = update_gpaas_dashboard @options[:setup] if is_setup_name_exist? @options[:setup] end |
#upgrade ⇒ Object
collect GPaaS setup name from user and proceed GPaaS upgrade request
55 56 57 58 59 60 61 62 |
# File 'lib/app42/command/gpaas.rb', line 55 def upgrade @options[:setup] = get_setup_name if @options[:setup].nil? print_new_line iaas, vm_type = get_iaas_and_vm_type @options[:setup] flavour = get_instance_config_for_upgrade_or_downgrade iaas, vm_type, @options[:setup], __method__.to_s if is_setup_name_exist? @options[:setup] response = upgrade_or_downgrade_gpaas __method__, @options[:setup], flavour exit! if response end |