class Params

Attributes

also_log_to_console[R]
application[R]
automation_results_dir[R]
brpm_api_token[R]
brpm_url[R]
component[R]
component_version[R]
config_dir[R]
home_dir[R]
log_file[R]
output_dir[R]
output_file[R]
private_params[R]
request_environment[R]
request_id[R]
request_name[R]
request_number[R]
request_plan[R]
request_plan_id[R]
request_plan_member_id[R]
request_plan_stage[R]
request_run_id[R]
request_run_name[R]
request_scheduled_at[R]
request_started_at[R]
request_status[R]
run_from_brpm[R]
run_key[R]
servers[R]
step_description[R]
step_estimate[R]
step_id[R]
step_name[R]
step_number[R]
step_version[R]
step_version_artifact_url[R]
ticket_ids[R]
tickets_foreign_ids[R]
unit_test[R]

Public Class Methods

new(params) click to toggle source
# File lib/params/params.rb, line 57
def initialize(params)
  self.merge!(params)

  @application = params["application"]
  @component = params["component"]
  @component_version = params["component_version"]

  @request_id = params["request_id"]
  @request_name = params["request_name"]
  @request_number = params["request_number"]
  @request_environment = params["request_environment"]
  @request_scheduled_at = params["request_scheduled_at"]
  @request_started_at = params["request_started_at"]
  @request_status = params["request_status"]

  @request_plan = params["request_plan"]
  @request_plan_id = params["request_plan_id"]
  @request_plan_member_id = params["request_plan_member_id"]
  @request_plan_stage = params["request_plan_stage"]

  @request_run_id = params["request_run_id"]
  @request_run_name = params["request_run_name"]

  @step_id = params["step_id"]
  @step_number = params["step_number"]
  @step_name = params["step_name"]
  @step_description = params["step_description"]
  @step_estimate = params["step_estimate"]

  @step_version = params["step_version"]
  @step_version_artifact_url = params["step_version_artifact_url"]

  @servers = get_server_list

  @ticket_ids = params["ticket_ids"]
  @tickets_foreign_ids = params["tickets_foreign_ids"]

  @run_key = params["SS_run_key"] || params["run_key"]

  if params["SS_automation_results_dir"]
    @home_dir = params["SS_automation_results_dir"].sub("/automation_results", "")
  else
    @home_dir = params["home_dir"] || ENV["BRPM_HOME"] || Dir.pwd
  end
  @automation_results_dir = params["SS_automation_results_dir"]
  @output_dir = params["SS_output_dir"] || params["output_dir"] || Dir.pwd
  @output_file = params["SS_output_file"]
  @config_dir = "#{@home_dir}/config"

  @log_file = params["log_file"] || "#{@output_dir}/brpm_auto.log"

  @brpm_url = params["SS_base_url"] || params["brpm_url"]
  @brpm_api_token = params["SS_api_token"] || params["brpm_api_token"]

  @run_from_brpm = (@run_key != nil)
  @unit_test = (params["unit_test"] == "true" || params["unit_test"] == 'true')
  @also_log_to_console = (params["also_log_to_console"] == "true" || params["also_log_to_console"] == 'true')

  @private_params = {}
  if self.run_from_brpm
    params.each do |k,v|
      if k.end_with?("_encrypt") || k.end_with?("_enc")
        if k.end_with?("_encrypt")
          key_decrypted = k.gsub("_encrypt","")
        elsif k.end_with?("_enc")
          key_decrypted = k.gsub("_enc","")
        end
        value_decrypted = decrypt_string_with_prefix(v)
        @private_params[key_decrypted] = value_decrypted
      end
    end
  end
  self.merge!(@private_params)
end

Public Instance Methods

get_server_property(server, property) click to toggle source

Fetches the property value for a server

Returns

  • property value

# File lib/params/params.rb, line 143
def get_server_property(server, property)
  ans = ""
  ans = @servers[server][property] if @servers.has_key?(server) && @servers[server].has_key?(property)
  ans
end
get_servers_by_os_platform(os_platform, alt_servers = nil) click to toggle source

Servers in params need to be filtered by OS

# File lib/params/params.rb, line 133
def get_servers_by_os_platform(os_platform, alt_servers = nil)
  servers = alt_servers || @servers
  result = servers.select{|k,v| v["os_platform"].downcase =~ /#{os_platform}/ }
end
rest_request_id() click to toggle source

Returns the request id for use in rest calls

# File lib/params/params.rb, line 151
def rest_request_id
  (self["request_id"].to_i - 1000).to_s
end

Private Instance Methods

get_server_list() click to toggle source
# File lib/params/params.rb, line 157
def get_server_list()
  rxp = /server\d+_/
  slist = {}
  lastcur = -1
  curname = ""

  self.sort.reject{ |k| k[0].scan(rxp).empty? }.each_with_index do |server, idx|
    cur = (server[0].scan(rxp)[0].gsub("server","").to_i * 0.001).round * 1000
    if cur == lastcur
      prop = server[0].gsub(rxp, "")
      slist[curname][prop] = server[1]
    else # new server
      lastcur = cur
      curname = server[1].chomp("0")
      slist[curname] = {}
    end
  end
  return slist
end