class Ruboty::Niftycloud::Actions::Base

Constants

NAMESPACE

Attributes

message[R]

Public Class Methods

new(message) click to toggle source
# File lib/ruboty/niftycloud/actions/base.rb, line 12
def initialize(message)
  @message = message
end

Public Instance Methods

accounts() click to toggle source
# File lib/ruboty/niftycloud/actions/base.rb, line 16
def accounts
  ENV["NIFTYCLOUD_ACCOUNTS"].split(",").map do |account|
    {
      name: account,
      description: ENV["NIFTYCLOUD_ACCOUNT_#{account}_DESCRIPTION"],
      access_key_id: ENV["NIFTYCLOUD_ACCOUNT_#{account}_ACCESS_KEY_ID"],
      secret_access_key: ENV["NIFTYCLOUD_ACCOUNT_#{account}_SECRET_ACCESS_KEY"],
    }
  end
end
computing() click to toggle source
# File lib/ruboty/niftycloud/actions/base.rb, line 46
def computing
  AceClient::Niftycloud::Computing.build_client(
    current_account.merge(endpoint: "#{current_region}.cp.cloud.nifty.com", path: '/api')
  )
end
current_account(account=nil) click to toggle source
# File lib/ruboty/niftycloud/actions/base.rb, line 27
def current_account(account=nil)
  message.robot.brain.data[NAMESPACE] ||= {}
  if account
    message.robot.brain.data[NAMESPACE]["current_account"] = account
  else
    name = message.robot.brain.data[NAMESPACE]["current_account"] || ENV["NIFTYCLOUD_DEFAULT_ACCOUNT"]
    accounts.find {|account| account[:name] == name }
  end
end
current_region(region=nil) click to toggle source
# File lib/ruboty/niftycloud/actions/base.rb, line 37
def current_region(region=nil)
  message.robot.brain.data[NAMESPACE] ||= {}
  if region
    message.robot.brain.data[NAMESPACE]["current_region"] = region
  else
    message.robot.brain.data[NAMESPACE]["current_region"] || 'east-1'
  end 
end
rdb() click to toggle source
# File lib/ruboty/niftycloud/actions/base.rb, line 52
def rdb
  AceClient::Niftycloud::Rdb.build_client(
    current_account.merge(endpoint: "rdb.jp-#{current_region}.api.cloud.nifty.com")
  )
end