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