Sha256: 8748ab546d28bc756e7877f2d0ad0d8e966d50c0ca316e32a6bba6d297ef4ebe

Contents?: true

Size: 1.29 KB

Versions: 2

Compression:

Stored size: 1.29 KB

Contents

# frozen_string_literal: true

require 'fileutils'
require 'thor'

module ContainerShip
  class CLI < Thor
    desc 'init CLUSTER_NAME', 'create container_ship directory with ECS cluster name'
    def init(cluster_name)
      Command::InitCommand.new.run(cluster_name)
    end

    desc 'ship CLUSTER_NAME SERVICE_NAME ENVIRONMENT BUILD_NUMBER', 'deploy specified service'
    def ship(cluster_name, service_name, environment, build_number)
      Command::ShipCommand.new.run(cluster_name, service_name, environment, build_number)
    end

    desc 'exec CLUSTER_NAME SERVICE_NAME ENVIRONMENT BUILD_NUMBER', 'exec specified task'
    method_option 'timeout', default: 300, type: :numeric, desc: 'Timeout seconds for executing the task.'
    method_option 'no_wait', default: false, type: :boolean,
                             desc: 'Exit without waiting for the task execution results. Default false.'
    def exec(cluster_name, service_name, environment, build_number)
      timeout = options['timeout']
      no_wait = options['no_wait']
      Command::ExecCommand.new.run(
        cluster_name, service_name, environment, build_number,
        timeout: timeout,
        no_wait: no_wait
      )
    end

    desc 'version', 'display gem version'
    def version
      say ContainerShip::VERSION
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
container_ship-0.1.6 lib/container_ship/cli.rb
container_ship-0.1.5 lib/container_ship/cli.rb