Sha256: 030a136ed12250ebfe0d66191be1c225c2d578be95c30491827b13083de05df1

Contents?: true

Size: 811 Bytes

Versions: 5

Compression:

Stored size: 811 Bytes

Contents

require_relative '../grid_options'
require_relative 'services_helper'

module Kontena::Cli::Services
  class UnlinkCommand < Kontena::Command
    include Kontena::Cli::Common
    include Kontena::Cli::GridOptions
    include ServicesHelper

    parameter "NAME", "Service name"
    parameter "TARGET", "Link target service name"

    def execute
      require_api_url
      token = require_token

      service = client(token).get("services/#{parse_service_id(name)}")
      links = service['links'].map{|l| {name: l['grid_service_id'].split('/')[1], alias: l['alias']} }
      abort("Service is not linked to #{target.to_s}") unless links.find{|l| l[:name] == target.to_s}
      links.delete_if{|l| l[:name] == target.to_s}
      data = {links: links}
      update_service(token, name, data)
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
kontena-cli-0.16.0.pre5 lib/kontena/cli/services/unlink_command.rb
kontena-cli-0.16.0.pre4 lib/kontena/cli/services/unlink_command.rb
kontena-cli-0.16.0.pre3 lib/kontena/cli/services/unlink_command.rb
kontena-cli-0.16.0.pre2 lib/kontena/cli/services/unlink_command.rb
kontena-cli-0.16.0.pre1 lib/kontena/cli/services/unlink_command.rb