Sha256: c395c4352023705594a1ac65852afe1f7af780f2b070c86e4b3d531965fa1739

Contents?: true

Size: 795 Bytes

Versions: 5

Compression:

Stored size: 795 Bytes

Contents

require_relative 'common'

module Kontena::Cli::Etcd
  class ListCommand < Kontena::Command
    include Kontena::Cli::Common
    include Kontena::Cli::GridOptions
    include Common

    parameter "KEY", "Etcd key"

    option "--recursive", :flag, "List keys recursively", default: false

    def execute
      require_api_url
      token = require_token
      validate_key

      opts = []
      opts << 'recursive=true' if recursive?
      response = client(token).get("etcd/#{current_grid}/#{key}?#{opts.join('&')}")
      if response['children']
        children = response['children'].map{|c| c['key'] }
        puts children.join("\n")
      elsif response['value']
        abort "Not a directory"
      elsif response['error']
        abort response['error']
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
kontena-cli-0.16.0.pre5 lib/kontena/cli/etcd/list_command.rb
kontena-cli-0.16.0.pre4 lib/kontena/cli/etcd/list_command.rb
kontena-cli-0.16.0.pre3 lib/kontena/cli/etcd/list_command.rb
kontena-cli-0.16.0.pre2 lib/kontena/cli/etcd/list_command.rb
kontena-cli-0.16.0.pre1 lib/kontena/cli/etcd/list_command.rb