dtk-client 0.11.3 → 0.11.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3953dc0df5e344c64f43464dd5e730198c4a484f
4
- data.tar.gz: adbd2402ddbacff57acde0e95ec69cb9f33f76da
3
+ metadata.gz: a4fe37c7f760ab997a0789958481c16a3924f8fc
4
+ data.tar.gz: 4329e1f91b5b7542cccbe0d27105e831d7b7f498
5
5
  SHA512:
6
- metadata.gz: 0759ad3202f4b49e699ba368d0a6378e15499498e50b3b2aeafd85f8e79ced559dcd0e366b3dd480729caad364e9d552e3da3c97ac411aa3eff5a7f949349fab
7
- data.tar.gz: 6b6955127a3e4413ba4e50b2dbf64ee66aa333669d3ea7d6a34de1314533131be399f63f6cf507135f2a07c00a08b6c8ef327eb07ba574137b630758ccf4213a
6
+ metadata.gz: e7ee7ed59d2b153fa7e4815f006f6a7fc42a1ffcf67b67818a9278a4a44c44c9d08a65f9859f0d56f14e7066285f0a49f96677ea916d2f9c12907faae5208372
7
+ data.tar.gz: e09ab967d418e7445f6d584682f2059d8a07f06b5e1fde7a09a4541d4bb353c5e5b7b2410cb4efc9066238695b0c81c6528aedb5709673b526f08d5c553084bc
data/.gitignore CHANGED
@@ -6,3 +6,6 @@ sftp-config*.json
6
6
  .tags1
7
7
  Gemfile.lock
8
8
  .vscode
9
+ doc
10
+ .yardoc
11
+ .solargraph.yml
@@ -30,40 +30,100 @@ module DTK::Client
30
30
  sc.switch Token.update_deps
31
31
 
32
32
  sc.action do |_global_options, options, args|
33
- directory_path = args[1] || options[:directory_path]
34
- version = options[:version]
35
- update_deps = options[:update_deps]
33
+ directory_path = args[1] || options[:directory_path]
34
+ version = options[:version]
35
+ update_deps = options[:update_deps]
36
36
  has_remote_repo = false
37
-
37
+ is_clone = false
38
+
38
39
  if module_name = args[0]
39
40
  # reached if installing from dtkn
40
41
  # installs content from dtkn (later probably from other remote catalogs) onto client machine
41
42
  # in so doing installes depedent modules onto teh dtk server; this step though does not install main module onto
42
43
  # server (the later step Operation::Module.install does this)
43
- has_remote_repo = true
44
- module_ref = module_ref_object_from_options_or_context?(:module_ref => module_name, :version => version)
45
- target_repo_dir = Operation::Module.install_from_catalog(:module_ref => module_ref, :version => options[:version], :directory_path => directory_path)
46
- end
44
+ has_remote_repo = true
45
+ module_ref = module_ref_object_from_options_or_context?(:module_ref => module_name, :version => version)
46
+ remote_module_info = nil
47
47
 
48
- raise Error::Usage, "You can use version only with 'namespace/name' provided" if version && module_name.nil?
48
+ unless version
49
+ remote_module_info = get_remote_module_info(module_ref)
50
+ version = remote_module_info.required(:version)
51
+ module_ref.version = version
52
+ end
49
53
 
50
- if target_repo_dir
51
- directory_path ||= target_repo_dir.data[:target_repo_dir]
54
+ if Operation::Module.module_version_exists?(module_ref, :type => :common_module)
55
+ clone_module(module_ref, directory_path, version)
56
+ is_clone = true
57
+ else
58
+ target_repo_dir = Operation::Module.install_from_catalog(:module_ref => module_ref, :version => version, :directory_path => directory_path, :remote_module_info => remote_module_info)
59
+ end
52
60
  end
53
61
 
54
- install_opts = directory_path ? { :directory_path => directory_path, :version => (version || 'master') } : options
55
- module_ref = module_ref_object_from_options_or_context?(install_opts)
56
- operation_args = {
57
- :module_ref => module_ref,
58
- :base_dsl_file_obj => @base_dsl_file_obj,
59
- :has_directory_param => !options["d"].nil?,
60
- :has_remote_repo => has_remote_repo,
61
- :update_deps => update_deps
62
- }
63
- Operation::Module.install(operation_args)
62
+ unless is_clone
63
+ raise Error::Usage, "You can use version only with 'namespace/name' provided" if version && module_name.nil?
64
+
65
+ if target_repo_dir
66
+ directory_path ||= target_repo_dir.data[:target_repo_dir]
67
+ end
68
+
69
+ install_opts = directory_path ? { :directory_path => directory_path, :version => (version || 'master') } : options
70
+ module_ref = module_ref_object_from_options_or_context?(install_opts)
71
+ operation_args = {
72
+ :module_ref => module_ref,
73
+ :base_dsl_file_obj => @base_dsl_file_obj,
74
+ :has_directory_param => !options["d"].nil?,
75
+ :has_remote_repo => has_remote_repo,
76
+ :update_deps => update_deps
77
+ }
78
+ Operation::Module.install(operation_args)
79
+ end
64
80
  end
65
81
  end
66
82
  end
83
+
84
+ def clone_module(module_ref, directory_path, version)
85
+ arg = {
86
+ :module_ref => module_ref,
87
+ :target_directory => Operation::ClientModuleDir.create_module_dir_from_path(directory_path || OsUtil.current_dir)
88
+ }
89
+ repo_dir_info = Operation::Module.clone_module(arg).data
90
+ repo_dir = repo_dir_info[:target_repo_dir]
91
+
92
+ # DTK-3088 - need this to pull service info for dependency module on clone
93
+ if repo_dir_info[:pull_service_info]# && (version.nil? || version.eql?('master'))
94
+ repo_dir = repo_dir_info[:target_repo_dir]
95
+ module_ref = module_ref_object_from_options_or_context(:directory_path => repo_dir)
96
+
97
+ operation_args = {
98
+ :module_ref => module_ref,
99
+ :base_dsl_file_obj => @base_dsl_file_obj,
100
+ :has_directory_param => true,
101
+ :directory_path => repo_dir,
102
+ :update_deps => false,
103
+ :do_not_print => true,
104
+ :force => true,
105
+ :allow_version => true
106
+ }
107
+
108
+ Operation::Module.pull_dtkn(operation_args)
109
+ Operation::Module.push(operation_args.merge(:method => "pulled"))
110
+ end
111
+
112
+ OsUtil.print_info("DTK module '#{module_ref.pretty_print}' has been successfully cloned from server into '#{repo_dir}'")
113
+ end
114
+
115
+ private
116
+
117
+ def get_remote_module_info(module_ref)
118
+ query_string_hash = QueryStringHash.new(
119
+ :module_name => module_ref.module_name,
120
+ :namespace => module_ref.namespace,
121
+ :rsa_pub_key => SSHUtil.rsa_pub_key_content,
122
+ :version? => nil
123
+ )
124
+
125
+ Operation::Module.rest_get("#{Operation::Module::BaseRoute}/remote_module_info", query_string_hash)
126
+ end
67
127
  end
68
128
  end
69
129
  end
@@ -27,7 +27,7 @@ module DTK::Client
27
27
  'list-assemblies',
28
28
  'push',
29
29
  'uninstall',
30
- 'clone',
30
+ # 'clone',
31
31
  'list-remotes',
32
32
  'push-dtkn',
33
33
  'stage',
@@ -23,18 +23,20 @@ module DTK::Client
23
23
  c.arg Token::Arg.action_params, :optional => true
24
24
  command_body c, :exec, 'Execute action asynchronously' do |sc|
25
25
  sc.flag Token.directory_path, :desc => 'Absolute or relative path to service instance directory containing updates to pull; not need if in the service instance directory'
26
+ sc.switch Token.breakpoint
26
27
  sc.action do |_global_options, options, args|
27
28
 
28
29
  service_instance = service_instance_in_options_or_context(options)
29
-
30
+
30
31
  action = args[0]
31
32
  action_params = args[1]
32
33
  directory_path = options[:d] || @base_dsl_file_obj.parent_dir
33
-
34
+
34
35
  args = {
35
36
  :service_instance => service_instance,
36
37
  :action => action,
37
38
  :action_params => action_params,
39
+ :breakpoint => options['breakpoint'],
38
40
  :directory_path => directory_path,
39
41
  :command => 'exec'
40
42
  }
@@ -23,6 +23,7 @@ module DTK::Client
23
23
  c.arg Token::Arg.action_params, :optional => true
24
24
  command_body c, 'exec-sync', 'Execute action synchronously' do |sc|
25
25
  sc.flag Token.directory_path, :desc => 'Absolute or relative path to service instance directory containing updates to pull; not need if in the service instance directory'
26
+ sc.switch Token.breakpoint
26
27
  sc.action do |_global_options, options, args|
27
28
  service_instance = service_instance_in_options_or_context(options)
28
29
 
@@ -34,6 +35,7 @@ module DTK::Client
34
35
  :service_instance => service_instance,
35
36
  :action => action,
36
37
  :action_params => action_params,
38
+ :breakpoint => options['breakpoint'],
37
39
  :directory_path => directory_path,
38
40
  :command => 'exec-sync'
39
41
  }
@@ -21,10 +21,10 @@ module DTK::Client; module CLI
21
21
  subcommand_def 'list-attributes' do |c|
22
22
  command_body c, 'attributes', 'List attributes associated with service instance.' do |sc|
23
23
  sc.flag Token.directory_path, :desc => 'Absolute or relative path to service instance directory containing updates to pull; not need if in the service instance directory'
24
- sc.flag Token.node, :desc => 'Filter attributes by node'
24
+ # sc.flag Token.node, :desc => 'Filter attributes by node'
25
25
  sc.flag Token.format
26
- sc.flag Token.component, :desc => 'Filter attributes by component'
27
- #sc.switch Token.all, :desc => 'Get all attributes'
26
+ # sc.flag Token.component, :desc => 'Filter attributes by component'
27
+ sc.switch Token.all, :desc => 'List component and node level attributes with top level ones'
28
28
  sc.switch Token.links, :desc => 'Display attribute links'
29
29
 
30
30
  sc.action do |_global_options, options, _args|
@@ -32,10 +32,10 @@ module DTK::Client; module CLI
32
32
 
33
33
  args = {
34
34
  :service_instance => service_instance,
35
- :links => options[:links]||nil,
36
- :node => options[:node],
37
- :component => options[:component],
38
- #:all => options[:all],
35
+ :links => options[:links],
36
+ # :node => options[:node],
37
+ # :component => options[:component],
38
+ :all => options[:all],
39
39
  :format => options[:format]
40
40
  }
41
41
  Operation::Service.list_attributes(args)
@@ -44,4 +44,4 @@ module DTK::Client; module CLI
44
44
  end
45
45
  end
46
46
  end
47
- end; end
47
+ end; end
@@ -24,13 +24,11 @@ module DTK::Client; module CLI
24
24
  sc.flag Token.uninstall_name
25
25
  sc.switch Token.skip_prompt, :desc => 'Skip prompt that checks if user wants to delete the service instance'
26
26
  sc.switch Token.purge, :desc => 'Delete the service instance directory on the client'
27
- sc.switch Token.delete, :desc => 'Removes service instance with all nodes and modules'
28
27
  sc.switch Token.recursive, :desc => 'Delete dependent service instances'
29
28
  sc.switch Token.force, :desc => 'Ignore errors and delete service instance. This will not terminate aws instances, you will have to do that manually'
30
29
  sc.action do |_global_options, options, args|
31
30
  directory_path = options[:directory_path]
32
31
  purge = options[:purge]
33
- delete = options[:delete]
34
32
  force = options[:f]
35
33
  recursive = options[:recursive]
36
34
  name = options[:uninstall_name]
@@ -39,18 +37,17 @@ module DTK::Client; module CLI
39
37
  raise Error::Usage, "If use option '#{option_ref(:purge)}' then need to call from outside directory and use option '#{option_ref(:directory_path)}'"
40
38
  end
41
39
 
42
- if name.nil?
43
- service_instance = service_instance_in_options_or_context(options, :ignore_parsing_errors => true)
44
- else
40
+ if name.nil?
41
+ service_instance = service_instance_in_options_or_context(options, :ignore_parsing_errors => true)
42
+ else
45
43
  service_instance = name
46
44
  end
47
45
 
48
- args = {
46
+ args = {
49
47
  :service_instance => service_instance,
50
48
  :skip_prompt => options[:skip_prompt],
51
49
  :directory_path => directory_path,
52
50
  :purge => purge,
53
- :delete => delete,
54
51
  :recursive => recursive,
55
52
  :force => force
56
53
  }
@@ -56,6 +56,7 @@ module DTK::Client
56
56
  # Switch constructor args order: key, desc, opts={}
57
57
  :all => Switch.new(:all, 'All'),
58
58
  :base => Switch.new(:base, 'Create base service instance'),
59
+ :breakpoint => Switch.new([:b, :breakpoint], 'Add breakpoint'),
59
60
  :delete => Switch.new(:delete, 'Delete'),
60
61
  :force => Switch.new([:f, :force], 'Force'),
61
62
  :purge => Switch.new(:purge, 'Purge'),
data/lib/cli/version.rb CHANGED
@@ -18,7 +18,7 @@
18
18
  module DTK
19
19
  module Client
20
20
  module CLI
21
- VERSION="0.11.3"
21
+ VERSION="0.11.4"
22
22
  end
23
23
  end
24
24
  end
@@ -34,7 +34,7 @@ module DTK::Client
34
34
  end
35
35
 
36
36
  def clone_module
37
- unless module_info = module_version_exists?(@module_ref, :type => :common_module, :remote_info => true, :rsa_pub_key => SSHUtil.rsa_pub_key_content)
37
+ unless module_info = module_version_exists?(@module_ref, :type => :common_module, :remote_info => false, :rsa_pub_key => SSHUtil.rsa_pub_key_content)
38
38
  raise Error::Usage, "DTK module '#{@module_ref.pretty_print}' does not exist on the DTK Server."
39
39
  end
40
40
 
@@ -92,8 +92,14 @@ module DTK::Client
92
92
  :rsa_pub_key => SSHUtil.rsa_pub_key_content,
93
93
  :version => version||'master'
94
94
  )
95
- remote_module_info = rest_get "#{BaseRoute}/remote_module_info", query_string_hash
96
- if remote_module_info.data(:service_info)
95
+
96
+ begin
97
+ remote_module_info = rest_get "#{BaseRoute}/remote_module_info", query_string_hash
98
+ rescue DTK::Client::Error::ServerNotOkResponse => e
99
+ # ignore if remote does not exist
100
+ end
101
+
102
+ if remote_module_info && remote_module_info.data(:service_info)
97
103
  !module_version_exists?(@module_ref, :type => :service_module)
98
104
  end
99
105
  end
@@ -130,7 +130,7 @@ module DTK::Client; class Operation::Module
130
130
  are_there_warnings = RemoteDependency.check_permission_warnings(module_dependencies_response)
131
131
  are_there_warnings ||= RemoteDependency.print_dependency_warnings(module_dependencies_response, nil, :ignore_permission_warnings => true)
132
132
  if are_there_warnings
133
- raise TerminateInstall unless Console.prompt_yes_no("Do you still want to proceed with install?", :add_options => true)
133
+ raise Install::TerminateInstall unless Console.prompt_yes_no("Do you still want to proceed with install?", :add_options => true)
134
134
  end
135
135
  end
136
136
 
@@ -19,38 +19,42 @@ module DTK::Client
19
19
  class Operation::Module
20
20
  class InstallFromCatalog < self
21
21
  attr_reader :version, :module_ref, :target_repo_dir
22
- def initialize(catalog, module_ref, directory_path, version)
23
- @catalog = catalog
24
- @module_ref = module_ref
25
- @directory_path = directory_path
26
- @target_repo_dir = ClientModuleDir.create_module_dir_from_path(directory_path || OsUtil.current_dir)
27
- @version = version # if nil wil be dynamically updated along with version attribute of @module_ref
22
+ def initialize(catalog, module_ref, directory_path, version, remote_module_info)
23
+ @catalog = catalog
24
+ @module_ref = module_ref
25
+ @directory_path = directory_path
26
+ @target_repo_dir = ClientModuleDir.create_module_dir_from_path(directory_path || OsUtil.current_dir)
27
+ @version = version # if nil wil be dynamically updated along with version attribute of @module_ref
28
+ @remote_module_info = remote_module_info
28
29
  end
29
30
  private :initialize
30
31
 
31
32
  def self.execute(args = Args.new)
32
33
  wrap_operation(args) do |args|
33
- module_ref = args.required(:module_ref)
34
- version = args[:version]
35
- directory_path = args[:directory_path]
34
+ module_ref = args.required(:module_ref)
35
+ version = args[:version]
36
+ directory_path = args[:directory_path]
37
+ remote_module_info = args[:remote_module_info]
36
38
 
37
39
  # will create different classes for different catalog types when we add support for them
38
- new('dtkn', module_ref, directory_path, version).install_from_catalog
40
+ new('dtkn', module_ref, directory_path, version, remote_module_info).install_from_catalog
39
41
  end
40
42
  end
41
43
 
42
44
  def install_from_catalog
43
- query_string_hash = QueryStringHash.new(
44
- :module_name => @module_ref.module_name,
45
- :namespace => @module_ref.namespace,
46
- :rsa_pub_key => SSHUtil.rsa_pub_key_content,
47
- :version? => @version
48
- )
45
+ unless @remote_module_info
46
+ query_string_hash = QueryStringHash.new(
47
+ :module_name => @module_ref.module_name,
48
+ :namespace => @module_ref.namespace,
49
+ :rsa_pub_key => SSHUtil.rsa_pub_key_content,
50
+ :version? => @version
51
+ )
49
52
 
50
- remote_module_info = rest_get "#{BaseRoute}/remote_module_info", query_string_hash
53
+ @remote_module_info = rest_get "#{BaseRoute}/remote_module_info", query_string_hash
54
+ end
51
55
 
52
56
  unless @version
53
- @version = remote_module_info.required(:version)
57
+ @version = @remote_module_info.required(:version)
54
58
  @module_ref.version = @version
55
59
  end
56
60
 
@@ -60,7 +64,7 @@ module DTK::Client
60
64
 
61
65
  create_repo_opts = { :repo_dir => @target_repo_dir, :commit_msg => "DTK client initialize" }
62
66
  Operation::ClientModuleDir::GitRepo.create_repo_with_empty_commit(create_repo_opts)
63
- LoadSource.fetch_transform_and_merge(remote_module_info, self)
67
+ LoadSource.fetch_transform_and_merge(@remote_module_info, self)
64
68
 
65
69
  {:target_repo_dir => @target_repo_dir}
66
70
  end
@@ -45,6 +45,7 @@ module DTK::Client
45
45
  force = args[:force]
46
46
  update_deps = args[:update_deps]
47
47
  do_not_print = args[:do_not_print]
48
+ allow_version = args[:allow_version]
48
49
 
49
50
  case update_deps
50
51
  when "prompt"
@@ -59,7 +60,8 @@ module DTK::Client
59
60
  file_obj = base_dsl_file_obj.raise_error_if_no_content
60
61
  end
61
62
 
62
- new('dtkn', module_ref, directory_path, version, file_obj).pull_dtkn(:update_deps => update_deps, :no_update_deps => no_update_deps, :force => force, :do_not_print => do_not_print)
63
+ new('dtkn', module_ref, directory_path, version, file_obj).pull_dtkn(:update_deps => update_deps,
64
+ :no_update_deps => no_update_deps, :force => force, :do_not_print => do_not_print, :allow_version => allow_version)
63
65
  end
64
66
  end
65
67
 
@@ -70,7 +72,8 @@ module DTK::Client
70
72
  end
71
73
 
72
74
  if ref_version = @version || module_ref.version
73
- raise Error::Usage, "You are not allowed to pull module version '#{ref_version}'!" unless ref_version.eql?('master')
75
+ do_not_raise = opts[:allow_version] || ref_version.eql?('master')
76
+ raise Error::Usage, "You are not allowed to pull module version '#{ref_version}'!" unless do_not_raise
74
77
  end
75
78
 
76
79
  error_msg = "To allow pull-dtkn to go through, invoke 'dtk push' to push the changes to server before invoking pull-dtkn again"
@@ -20,8 +20,9 @@ module DTK::Client
20
20
  class Push < self
21
21
  def self.execute(args = Args.new)
22
22
  wrap_operation(args) do |args|
23
- module_ref = args.required(:module_ref)
24
- method = args[:method] || "pushed"
23
+ module_ref = args.required(:module_ref)
24
+ method = args[:method] || "pushed"
25
+ allow_version = args[:allow_version]
25
26
 
26
27
  unless client_dir_path = module_ref.client_dir_path
27
28
  raise Error, "Not implemented yet; need to make sure module_ref.client_dir_path is set when client_dir_path given"
@@ -31,6 +32,11 @@ module DTK::Client
31
32
  raise Error::Usage, "DTK module '#{module_ref.print_form}' does not exist."
32
33
  end
33
34
 
35
+ if ref_version = module_ref.version
36
+ do_not_raise = allow_version || ref_version.eql?('master')
37
+ raise Error::Usage, "You are not allowed to push module version '#{ref_version}'!" unless do_not_raise
38
+ end
39
+
34
40
  branch = module_info.required(:branch, :name)
35
41
  repo_url = module_info.required(:repo, :url)
36
42
  repo_name = module_info.required(:repo, :name)
@@ -26,7 +26,7 @@ module DTK::Client
26
26
  @module_ref = module_ref
27
27
  @directory_path = directory_path
28
28
  @target_repo_dir = directory_path || base_dsl_file_obj.parent_dir
29
- @version = version || 'master'
29
+ @version = version || module_ref.version || 'master'
30
30
  @base_dsl_file_obj = base_dsl_file_obj
31
31
 
32
32
  @module_ref.version ||= @version
@@ -24,6 +24,7 @@ module DTK::Client
24
24
  action = args.required(:action)
25
25
  action_params = args[:action_params]
26
26
  directory_path = args[:directory_path]
27
+ breakpoint = args[:breakpoint]
27
28
 
28
29
  # parse params and return format { 'p_name1' => 'p_value1' , 'p_name2' => 'p_value2' }
29
30
  task_params = parse_params?(action_params)||{}
@@ -32,7 +33,7 @@ module DTK::Client
32
33
  # will transform ec2::node[node_name]/action to node_name/action
33
34
  action_node, action_name = (action||"").split('/')
34
35
  if action_node && action_name
35
- if action_node_match = action_node.match(/^ec2::node\[(.*)\]/)
36
+ if action_node_match = action_node.match(/^ec2::node\[(.*)\]/) || action_node.match(/^ec2::node_group\[(.*)\]/)
36
37
  matched_node = $1
37
38
  action = "#{matched_node}/#{action_name}"
38
39
  end
@@ -50,6 +51,7 @@ module DTK::Client
50
51
  post_body = PostBody.new(
51
52
  :task_params? => task_params
52
53
  )
54
+ post_body.merge!(:breakpoint => breakpoint) if breakpoint
53
55
  encoded_action = URI.encode_www_form_component("#{action}")
54
56
  response = rest_post("#{BaseRoute}/#{service_instance}/#{encoded_action}", post_body)
55
57
 
@@ -22,17 +22,17 @@ module DTK::Client
22
22
  wrap_operation(args) do |args|
23
23
  service_instance = args.required(:service_instance)
24
24
  links = args[:links]
25
- node = args[:node]
26
- component = args[:component]
25
+ # node = args[:node]
26
+ # component = args[:component]
27
27
  all = args[:all]
28
28
  format = args[:format] || 'table'
29
29
  format.downcase!
30
30
 
31
31
  query_string_hash = QueryStringHash.new(
32
32
  :links? => links,
33
- :node_id? => node,
33
+ # :node_id? => node,
34
34
  :all => all,
35
- :filter_component? => component,
35
+ # :filter_component? => component,
36
36
  :format => format
37
37
  )
38
38
 
@@ -22,7 +22,6 @@ module DTK::Client
22
22
  wrap_operation(args) do |args|
23
23
  service_instance = args.required(:service_instance)
24
24
  recursive = args.required(:recursive)
25
- delete = args.required(:delete)
26
25
  force = args.required(:force)
27
26
  path = args[:directory_path]
28
27
  node = []
@@ -39,20 +38,15 @@ module DTK::Client
39
38
  post_body = PostBody.new(
40
39
  :service_instance => service_instance,
41
40
  :recursive? => recursive,
42
- :delete => delete,
41
+ :delete => true,
43
42
  :force => force
44
43
  )
45
44
  response = rest_post("#{BaseRoute}/uninstall", post_body)
46
45
 
47
46
  ClientModuleDir.rm_f(path) if args[:purge]
48
47
 
49
- if delete
50
- if message = response.data(:message)
51
- OsUtil.print_info(message)
52
- end
53
- else
54
- msg = "DTK service '#{service_instance}' has been uninstalled successfully."
55
- OsUtil.print_info(msg)
48
+ if message = response.data(:message) || "DTK service '#{service_instance}' has been uninstalled successfully."
49
+ OsUtil.print_info(message)
56
50
  end
57
51
  end
58
52
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dtk-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.3
4
+ version: 0.11.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Reactor8
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-09-12 00:00:00.000000000 Z
11
+ date: 2017-10-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dtk-common-core