Sha256: c928aa5ada8ed97c34a59b7bdf1c19bec4ca82ac6163521d7b282be09101bcbe

Contents?: true

Size: 932 Bytes

Versions: 3

Compression:

Stored size: 932 Bytes

Contents

require 'thor'

module CredStash
  class CLI < Thor
    desc "get [key name]", "Show a value for key name"
    def get(name)
      puts CredStash.get(name)
    end

    desc "put [key name]", "Put a value for key name"
    option :kms_key_id , :desc => "the KMS key-id of the master key to use. Defaults to alias/credstash"
    def put(name)
      value = Readline.readline("secret value> ")
      kms_key_id = options[:kms_key_id] if options[:kms_key_id]
      CredStash.put(name, value, kms_key_id: kms_key_id)
      puts "#{name} has stored."
    end

    desc "list", "Show all stored keys"
    def list
      puts CredStash.list.keys
    end

    desc "delete [key name]", "Delete a key"
    def delete(name)
      CredStash.delete(name)
      puts "#{name} has deleted."
    end

    desc "setup", "Setup credstash repository on DynamoDB"
    def setup
      CredStash.setup
      puts "Set up successfully"
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rcredstash-1.0.1 lib/cred_stash/cli.rb
rcredstash-1.0.0 lib/cred_stash/cli.rb
rcredstash-0.11.0 lib/cred_stash/cli.rb