lib/awskeyring_command.rb in awskeyring-0.6.0 vs lib/awskeyring_command.rb in awskeyring-0.7.0
- old
+ new
@@ -1,6 +1,5 @@
-require 'highline'
require 'i18n'
require 'thor'
require 'awskeyring'
require 'awskeyring/awsapi'
@@ -66,11 +65,11 @@
desc 'env ACCOUNT', I18n.t('env.desc')
method_option 'no-token', type: :boolean, aliases: '-n', desc: I18n.t('method_option.notoken'), default: false
# Print Env vars
def env(account = nil)
account = ask_check(
- existing: account, message: I18n.t('message.account'), validator: Awskeyring::Validate.method(:account_name)
+ existing: account, message: I18n.t('message.account'), validator: Awskeyring.method(:account_exists)
)
cred = age_check_and_get(account: account, no_token: options['no-token'])
put_env_string(
account: cred[:account],
key: cred[:key],
@@ -82,11 +81,11 @@
desc 'json ACCOUNT', I18n.t('json.desc')
method_option 'no-token', type: :boolean, aliases: '-n', desc: I18n.t('method_option.notoken'), default: false
# Print JSON for use with credential_process
def json(account = nil)
account = ask_check(
- existing: account, message: I18n.t('message.account'), validator: Awskeyring::Validate.method(:account_name)
+ existing: account, message: I18n.t('message.account'), validator: Awskeyring.method(:account_exists)
)
cred = age_check_and_get(account: account, no_token: options['no-token'])
expiry = Time.at(cred[:expiry]) unless cred[:expiry].nil?
puts Awskeyring::Awsapi.get_cred_json(
key: cred[:key],
@@ -147,11 +146,11 @@
method_option :secret, type: :string, aliases: '-s', desc: I18n.t('method_option.secret')
method_option 'no-remote', type: :boolean, aliases: '-r', desc: I18n.t('method_option.noremote'), default: false
# Update an Account
def update(account = nil) # rubocop:disable Metrics/MethodLength
account = ask_check(
- existing: account, message: I18n.t('message.account'), validator: Awskeyring::Validate.method(:account_name)
+ existing: account, message: I18n.t('message.account'), validator: Awskeyring.method(:account_exists)
)
key = ask_check(
existing: options[:key], message: I18n.t('message.key'), validator: Awskeyring::Validate.method(:access_key)
)
secret = ask_check(
@@ -169,46 +168,41 @@
map 'add-role' => :add_role
desc 'add-role ROLE', I18n.t('add_role.desc')
method_option :arn, type: :string, aliases: '-a', desc: I18n.t('method_option.arn')
# Add a role
- def add_role(role = nil) # rubocop:disable Metrics/MethodLength
+ def add_role(role = nil)
role = ask_check(
existing: role, message: I18n.t('message.role'),
validator: Awskeyring::Validate.method(:role_name)
)
arn = ask_check(
existing: options[:arn], message: I18n.t('message.arn'),
validator: Awskeyring::Validate.method(:role_arn)
)
- account = ask_check(
- existing: account, message: I18n.t('message.account'),
- optional: true, validator: Awskeyring::Validate.method(:account_name)
- )
Awskeyring.add_role(
role: role,
- arn: arn,
- account: account
+ arn: arn
)
puts I18n.t('message.addrole', role: role)
end
desc 'remove ACCOUNT', I18n.t('remove.desc')
# Remove an account
def remove(account = nil)
account = ask_check(
- existing: account, message: I18n.t('message.account'), validator: Awskeyring::Validate.method(:account_name)
+ existing: account, message: I18n.t('message.account'), validator: Awskeyring.method(:account_exists)
)
Awskeyring.delete_account(account: account, message: I18n.t('message.delaccount', account: account))
end
desc 'remove-token ACCOUNT', I18n.t('remove_token.desc')
# remove a session token
def remove_token(account = nil)
account = ask_check(
- existing: account, message: I18n.t('message.account'), validator: Awskeyring::Validate.method(:account_name)
+ existing: account, message: I18n.t('message.account'), validator: Awskeyring.method(:account_exists)
)
Awskeyring.delete_token(account: account, message: I18n.t('message.deltoken', account: account))
end
map 'remove-role' => :remove_role
@@ -223,11 +217,11 @@
desc 'rotate ACCOUNT', I18n.t('rotate.desc')
# rotate Account keys
def rotate(account = nil) # rubocop:disable Metrics/MethodLength
account = ask_check(
- existing: account, message: I18n.t('message.account'), validator: Awskeyring::Validate.method(:account_name)
+ existing: account, message: I18n.t('message.account'), validator: Awskeyring.method(:account_exists)
)
cred = Awskeyring.get_valid_creds(account: account, no_token: true)
begin
new_key = Awskeyring::Awsapi.rotate(
@@ -255,11 +249,11 @@
method_option :code, type: :string, aliases: '-c', desc: I18n.t('method_option.code')
method_option :duration, type: :string, aliases: '-d', desc: I18n.t('method_option.duration')
# generate a sessiopn token
def token(account = nil, role = nil, code = nil) # rubocop:disable all
account = ask_check(
- existing: account, message: I18n.t('message.account'), validator: Awskeyring::Validate.method(:account_name)
+ existing: account, message: I18n.t('message.account'), validator: Awskeyring.method(:account_exists)
)
role ||= options[:role]
if role
role = ask_check(
existing: role, message: I18n.t('message.role'), validator: Awskeyring::Validate.method(:role_name)
@@ -312,11 +306,11 @@
method_option 'no-token', type: :boolean, aliases: '-n', desc: I18n.t('method_option.notoken'), default: false
method_option 'no-open', type: :boolean, aliases: '-o', desc: I18n.t('method_option.noopen'), default: false
# Open the AWS Console
def console(account = nil) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
account = ask_check(
- existing: account, message: I18n.t('message.account'), validator: Awskeyring::Validate.method(:account_name)
+ existing: account, message: I18n.t('message.account'), validator: Awskeyring.method(:account_exists)
)
cred = age_check_and_get(account: account, no_token: options['no-token'])
path = options[:path] || 'console'
@@ -465,13 +459,13 @@
existing || ask(message: message, secure: secure, optional: optional)
end
def ask(message:, secure: false, optional: false)
if secure
- HighLine.new.ask(message.rjust(20) + ': ') { |q| q.echo = '*' }
+ Thor::LineEditor.readline(message.rjust(20) + ': ', echo: false)
elsif optional
- HighLine.new.ask((message + ' (optional)').rjust(20) + ': ')
+ Thor::LineEditor.readline((message + ' (optional)').rjust(20) + ': ')
else
- HighLine.new.ask(message.rjust(20) + ': ')
+ Thor::LineEditor.readline(message.rjust(20) + ': ')
end
end
end