Sha256: 20abd21d0fa028c653fd9ac2a1633568f66cdf28cd82934b77606dffa63803a4

Contents?: true

Size: 1.11 KB

Versions: 52

Compression:

Stored size: 1.11 KB

Contents

require_relative 'services_helper'

module Kontena::Cli::Services
  class LinkCommand < 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
      target_service = target

      target_service = "null/#{target_service}" unless target_service.include?('/')

      service = client(token).get("services/#{parse_service_id(name)}")
      existing_targets = service['links'].map{ |l| l['id'].split('/', 2)[1] }
      if existing_targets.include?(target_service.to_s)
        exit_with_error("Service is already linked to #{target.to_s}")
      end
      links = service['links'].map{ |l|
        { name: l['id'].split('/', 2)[1], alias: l['alias'] }
      }
      links << {name: target_service.to_s, alias: target.to_s}
      links.compact!
      data = {links: links}
      spinner "Linking #{name.colorize(:cyan)} to #{target.colorize(:cyan)} " do
        update_service(token, name, data)
      end
    end
  end
end

Version data entries

52 entries across 52 versions & 1 rubygems

Version Path
kontena-cli-1.4.3 lib/kontena/cli/services/link_command.rb
kontena-cli-1.4.3.rc1 lib/kontena/cli/services/link_command.rb
kontena-cli-1.4.2 lib/kontena/cli/services/link_command.rb
kontena-cli-1.4.2.rc1 lib/kontena/cli/services/link_command.rb
kontena-cli-1.4.2.pre1 lib/kontena/cli/services/link_command.rb
kontena-cli-1.4.1 lib/kontena/cli/services/link_command.rb
kontena-cli-1.4.1.rc1 lib/kontena/cli/services/link_command.rb
kontena-cli-1.4.1.pre1 lib/kontena/cli/services/link_command.rb
kontena-cli-1.3.5 lib/kontena/cli/services/link_command.rb
kontena-cli-1.3.5.rc1 lib/kontena/cli/services/link_command.rb
kontena-cli-1.4.0 lib/kontena/cli/services/link_command.rb
kontena-cli-1.4.0.rc2 lib/kontena/cli/services/link_command.rb
kontena-cli-1.4.0.rc1 lib/kontena/cli/services/link_command.rb
kontena-cli-1.4.0.pre14 lib/kontena/cli/services/link_command.rb
kontena-cli-1.4.0.pre13 lib/kontena/cli/services/link_command.rb
kontena-cli-1.4.0.pre12 lib/kontena/cli/services/link_command.rb
kontena-cli-1.4.0.pre11 lib/kontena/cli/services/link_command.rb
kontena-cli-1.4.0.pre10 lib/kontena/cli/services/link_command.rb
kontena-cli-1.4.0.pre9 lib/kontena/cli/services/link_command.rb
kontena-cli-1.4.0.pre8 lib/kontena/cli/services/link_command.rb