Class: Kontena::Cli::Services::UpdateCommand

Inherits:
Kontena::Command show all
Includes:
Common, GridOptions, ServicesHelper
Defined in:
lib/kontena/cli/services/update_command.rb

Instance Attribute Summary

Attributes inherited from Kontena::Command

#arguments, #exit_code, #result

Instance Method Summary collapse

Methods included from ServicesHelper

#create_service, #delete_service, #deploy_service, #get_service, #health_status, #health_status_icon, #int_to_filesize, #parse_build_args, #parse_container_name, #parse_deploy_opts, #parse_health_check, #parse_image, #parse_links, #parse_log_opts, #parse_memory, #parse_ports, #parse_relative_time, #parse_secrets, #parse_service_id, #render_service_deploy_instances, #restart_service, #scale_service, #show_service, #show_service_containers, #show_service_instances, #start_service, #stop_service, #update_service, #wait_for_deploy_to_finish

Methods included from Common

#access_token=, #add_master, #any_key_to_continue, #any_key_to_continue_with_timeout, #api_url, #api_url=, #caret, #clear_current_grid, #client, #cloud_auth?, #cloud_client, #config, #confirm, #confirm_command, #current_grid, #current_master_index, #debug?, #display_account_login_info, #display_login_info, display_logo, #display_master_login_info, #error, exit_with_error, #kontena_account, #logger, #pastel, #print, #prompt, #puts, #require_api_url, #require_token, #reset_client, #reset_cloud_client, #running_quiet?, #running_silent?, #running_verbose?, #spin_if, #spinner, #sprint, #sputs, #stdin_input, #use_refresh_token, #vfakespinner, #vputs, #vspinner, #warning

Methods included from GridOptions

included

Methods inherited from Kontena::Command

banner, callback_matcher, #help_requested?, inherited, #instance, load_subcommand, requires_current_account_token, requires_current_account_token?, requires_current_grid, requires_current_grid?, requires_current_master, requires_current_master?, requires_current_master_token, requires_current_master_token?, #run, #run_callbacks, #verify_current_account_token, #verify_current_grid, #verify_current_master, #verify_current_master_token

Instance Method Details

#executeObject



48
49
50
51
52
53
54
55
56
# File 'lib/kontena/cli/services/update_command.rb', line 48

def execute
  require_api_url
  token = require_token

  data = parse_service_data_from_options
  spinner "Updating #{pastel.cyan(name)} service " do
    update_service(token, name, data)
  end
end

#parse_service_data_from_optionsHash

parse given options to hash



61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# File 'lib/kontena/cli/services/update_command.rb', line 61

def parse_service_data_from_options
  data = {}
  data[:strategy] = deploy_strategy if deploy_strategy
  data[:ports] = parse_ports(ports_list) unless ports_list.empty?
  data[:links] = parse_links(link_list) unless link_list.empty?
  data[:memory] = parse_memory(memory) if memory
  data[:memory_swap] = parse_memory(memory_swap) if memory_swap
  data[:shm_size] = parse_memory(shm_size) if shm_size
  data[:cpus] = cpus if cpus
  data[:cpu_shares] = cpu_shares if cpu_shares
  data[:affinity] = affinity_list unless affinity_list.empty?
  data[:env] = env_list unless env_list.empty?
  data[:secrets] = parse_secrets(secret_list) unless secret_list.empty?
  data[:container_count] = instances if instances
  data[:cmd] = Shellwords.split(cmd) if cmd
  data[:user] = user if user
  data[:image] = parse_image(image) if image
  data[:privileged] = privileged?
  data[:cap_add] = cap_add_list if cap_add_list
  data[:cap_drop] = cap_drop_list if cap_drop_list
  data[:net] = net if net
  data[:log_driver] = log_driver if log_driver
  data[:log_opts] = parse_log_opts(log_opt_list) if log_opt_list
  deploy_opts = parse_deploy_opts
  data[:deploy_opts] = deploy_opts unless deploy_opts.empty?
  health_check = parse_health_check
  data[:health_check] = health_check unless health_check.empty?
  data[:pid] = pid if pid
  data[:stop_signal] = stop_signal if stop_signal
  data[:stop_grace_period] = stop_timeout if stop_timeout
  data
end