Class: App42::Command::Wordpress

Inherits:
Base
  • Object
show all
Defined in:
lib/app42/command/wordpress.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

#deleteObject

Delete wordpress setup, return true or error code/message



20
21
22
23
24
# File 'lib/app42/command/wordpress.rb', line 20

def delete
  @options[:wordpress] = get_wordpress_name if @options[:wordpress].nil?
  response = delete_wordpress @options[:wordpress] if is_setup_name_exist? @options[:wordpress]
  exit! if response
end

#downgradeObject

collect Wordpress setup name from user and proceed Wordpress downgrade request



56
57
58
59
60
61
# File 'lib/app42/command/wordpress.rb', line 56

def downgrade
  @options[:wordpress] = get_wordpress_name if @options[:wordpress].nil?
  flavour = get_flavour_for_upgrade_or_downgrade @options[:wordpress], __method__.to_s if is_setup_name_exist? @options[:wordpress]
  response = upgrade_or_downgrade_wordpress __method__, @options[:wordpress], flavour
  exit! if response
end

#get_flavourObject

return flavour



64
65
66
67
68
69
70
71
72
73
# File 'lib/app42/command/wordpress.rb', line 64

def get_flavour
  flavour_hash = {}
 flavour_type = App42::Command::Config.new.get_flavour_type_fm_server
  flavour_type['flavours'].select {|each_flavour| flavour_hash["#{each_flavour['id']}"] = each_flavour['name']}
 flavour = input "Select Flavour", flavour_hash.values, true

 flavour_id = nil
 flavour_hash.each_pair{|fl| flavour_id = fl[0] if fl[1] == flavour}
 return flavour_id
end

#infoObject

get details information of App42 Wordpress setup



76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# File 'lib/app42/command/wordpress.rb', line 76

def info
  @options[:wordpress] = get_wordpress_name if @options[:wordpress].nil?
  query_params = params
  query_params.store('setupName', @options[:wordpress])
  setup_info = build_get_request query_params, 'setup', "#{@options[:wordpress]}"
  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[:wordpress]} Details ===", :green], :headings => rows_header_final, :rows => rows
    puts table
  end
end

#restartObject

collect wordpress setup name from user and proceed wordpress restart request



41
42
43
44
45
# File 'lib/app42/command/wordpress.rb', line 41

def restart
  @options[:wordpress] = get_wordpress_name if @options[:wordpress].nil?
  response = wordpress_operation __method__, @options[:wordpress] if is_setup_name_exist? @options[:wordpress]
  exit! if response
end

#setupObject

Collect all required attributes for new wordpress setup spawn required inputs are wordpress_name, vm_type, iaas, setup_type and flavour



10
11
12
13
14
15
16
17
# File 'lib/app42/command/wordpress.rb', line 10

def setup
  wordpress_name = get_wordpress_name_and_check_wordpress_url_availability
  vm_type = get_vm_types nil
  iaas = get_iaas_providers vm_type
  flavour = get_flavour
  setup_cloud_api_res = App42::Command::Base.new.create_wordpress_setup wordpress_name, iaas, vm_type, flavour
  exit! if setup_cloud_api_res
end

#startObject

collect wordpress setup name from user and proceed wordpress start request



27
28
29
30
31
# File 'lib/app42/command/wordpress.rb', line 27

def start
  @options[:wordpress] = get_wordpress_name if @options[:wordpress].nil?
  response = wordpress_operation __method__, @options[:wordpress] if is_setup_name_exist? @options[:wordpress]
  exit! if response
end

#stopObject

collect wordpress setup name from user and proceed wordpress stop request



34
35
36
37
38
# File 'lib/app42/command/wordpress.rb', line 34

def stop
  @options[:wordpress] = get_wordpress_name if @options[:wordpress].nil?
  response = wordpress_operation __method__, @options[:wordpress] if is_setup_name_exist? @options[:wordpress]
  exit! if response
end

#upgradeObject

collect Wordpress setup name from user and proceed Wordpress upgrade request



48
49
50
51
52
53
# File 'lib/app42/command/wordpress.rb', line 48

def upgrade
  @options[:wordpress] = get_wordpress_name if @options[:wordpress].nil?
  flavour = get_flavour_for_upgrade_or_downgrade @options[:wordpress], __method__.to_s if is_setup_name_exist? @options[:wordpress]
  response = upgrade_or_downgrade_wordpress __method__, @options[:wordpress], flavour
  exit! if response
end

#wordpresssetupsObject

List all Wordpress setups



94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
# File 'lib/app42/command/wordpress.rb', line 94

def wordpresssetups
  query_params = params
  setups = build_get_request query_params, 'wordpress', 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["=== Wordpress Setups List ===", :green], :headings => rows_header_final, :rows => rows
    puts table
  end
end