Sha256: 8151947f4ffafde9ef5572d4e77cd4af6d26ceb4d89d1f25fbdbf13215f4dafe

Contents?: true

Size: 1.91 KB

Versions: 4

Compression:

Stored size: 1.91 KB

Contents

require 'aptible/auth'
require 'thor'
require 'json'

require_relative 'helpers/token'
require_relative 'helpers/operation'
require_relative 'helpers/environment'
require_relative 'helpers/app'
require_relative 'helpers/database'
require_relative 'helpers/env'

require_relative 'subcommands/apps'
require_relative 'subcommands/config'
require_relative 'subcommands/db'
require_relative 'subcommands/domains'
require_relative 'subcommands/logs'
require_relative 'subcommands/ps'
require_relative 'subcommands/rebuild'
require_relative 'subcommands/restart'
require_relative 'subcommands/ssh'

module Aptible
  module CLI
    class Agent < Thor
      include Thor::Actions

      include Helpers::Token
      include Subcommands::Apps
      include Subcommands::Config
      include Subcommands::DB
      include Subcommands::Domains
      include Subcommands::Logs
      include Subcommands::Ps
      include Subcommands::Rebuild
      include Subcommands::Restart
      include Subcommands::SSH

      # Forward return codes on failures.
      def self.exit_on_failure?
        true
      end

      desc 'version', 'Print Aptible CLI version'
      def version
        puts "aptible-cli v#{Aptible::CLI::VERSION}"
      end

      desc 'login', 'Log in to Aptible'
      option :email
      option :password
      def login
        email = options[:email] || ask('Email: ')
        password = options[:password] || ask('Password: ', echo: false)
        puts ''

        begin
          token = Aptible::Auth::Token.create(email: email, password: password)
        rescue OAuth2::Error
          raise Thor::Error, 'Could not authenticate with given credentials'
        end

        save_token(token.access_token)
        puts "Token written to #{token_file}"
      end

      private

      def deprecated(msg)
        say "DEPRECATION NOTICE: #{msg}"
        say 'Please contact support@aptible.com with any questions.'
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
aptible-cli-0.6.7 lib/aptible/cli/agent.rb
aptible-cli-0.6.6 lib/aptible/cli/agent.rb
aptible-cli-0.6.4 lib/aptible/cli/agent.rb
aptible-cli-0.6.3 lib/aptible/cli/agent.rb