class Speculate::Console

Define console URL class

Public Class Methods

new(params = {}) click to toggle source
# File lib/speculate/console.rb, line 9
def initialize(params = {})
  @options = params
end

Public Instance Methods

logout_url() click to toggle source
# File lib/speculate/console.rb, line 25
def logout_url
  @logout_url ||= 'https://console.aws.amazon.com/ec2/logout!doLogout'.freeze
end
url() click to toggle source
# File lib/speculate/console.rb, line 13
def url
  @url ||= [
    'https://signin.aws.amazon.com/federation',
    '?Action=login',
    '&Issuer=',
    '&Destination=',
    CGI.escape('https://console.aws.amazon.com/'),
    '&SigninToken=',
    signin_token
  ].join
end

Private Instance Methods

signin_token() click to toggle source
# File lib/speculate/console.rb, line 31
def signin_token
  @signin_token ||= JSON.parse(open(signin_token_url).read)['SigninToken']
end
signin_token_creds() click to toggle source
# File lib/speculate/console.rb, line 44
def signin_token_creds
  @signin_token_creds ||= {
    'sessionId' => @options[:creds].access_key_id,
    'sessionKey' => @options[:creds].secret_access_key,
    'sessionToken' => @options[:creds].session_token
  }
end
signin_token_url() click to toggle source
# File lib/speculate/console.rb, line 35
def signin_token_url
  @signin_token_url ||= [
    'https://signin.aws.amazon.com/federation',
    '?Action=getSigninToken',
    '&Session=',
    CGI.escape(signin_token_creds.to_json)
  ].join
end