Class: Ucert::EquinixTracker

Inherits:
Object
  • Object
show all
Includes:
Utils
Defined in:
lib/ucert/equinix_tracker.rb

Overview

Class to handle Equinix user entitlement report

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Utils

#file_2_list, #is_fqdn?, #is_ip?, #is_url?, #list_2_file, #load_known_user_map_from_file, #nslookup, #search_ad, #update_dn

Constructor Details

#initialize(params = {}) ⇒ EquinixTracker

Instance default variables



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/ucert/equinix_tracker.rb', line 20

def initialize (params ={})
   @verbose=params.fetch(:verbose, false)
   # Equinix user entitlement report generation:
	# Contact IT/GO for the Secured Access List report
   @equinix_user_entitlement_report = File.dirname(__FILE__)+"/../../data/equinix/Secured Access List_CHINA MERCHANTS BANK.xlsx"
   # Equinix to AD user map file
   @file_equinix_user_map =  File.dirname(__FILE__)+"/../../data/equinix/equinix_user_map.txt"
	@equinix_user_entitlement = Hash.new
	# Load user map from the local cacsh file
	@equinix_2_ad_user=load_known_user_map_from_file(@file_equinix_user_map)
	# Load the user entitlement instance variable from the user report
	parse_equinix_user_entitlement_report(@equinix_user_entitlement_report)
	# Procedure to add DN foreign key to the @equinix_user_entitlement, by performing the AD search
	insert_dn
	# Save the user map to local cache file
	save!
end

Instance Attribute Details

#equinix_2_ad_userObject (readonly)

Returns the value of attribute equinix_2_ad_user.



17
18
19
# File 'lib/ucert/equinix_tracker.rb', line 17

def equinix_2_ad_user
  @equinix_2_ad_user
end

#equinix_user_entitlementObject (readonly)

Returns the value of attribute equinix_user_entitlement.



17
18
19
# File 'lib/ucert/equinix_tracker.rb', line 17

def equinix_user_entitlement
  @equinix_user_entitlement
end

#equinix_user_status_reportObject

Class constant variables



16
17
18
# File 'lib/ucert/equinix_tracker.rb', line 16

def equinix_user_status_report
  @equinix_user_status_report
end

#file_equinix_user_mapObject

Class constant variables



16
17
18
# File 'lib/ucert/equinix_tracker.rb', line 16

def file_equinix_user_map
  @file_equinix_user_map
end

#verboseObject

Class constant variables



16
17
18
# File 'lib/ucert/equinix_tracker.rb', line 16

def verbose
  @verbose
end

Instance Method Details

#be_search_by_dn(dn) ⇒ Object Also known as: search_by_dn

Search user entitlement record by AD DN



187
188
189
190
191
192
193
194
195
196
197
# File 'lib/ucert/equinix_tracker.rb', line 187

def be_search_by_dn (dn)
	begin
     puts "Perform search on the user entitlement records by AD DN: #{dn}" if @verbose
     @equinix_user_entitlement.each do |key, val|
         return val if @equinix_user_entitlement[key]['DN'].eql? dn
     end
		return nil
   rescue => ee
     puts "Exception on method #{__method__}: #{ee}"
   end
end

#dn_2_index(dn) ⇒ Object

Retrieve the user index from the @equinix_user_entitlement data structure



100
101
102
103
104
105
106
107
108
# File 'lib/ucert/equinix_tracker.rb', line 100

def dn_2_index (dn)
		begin
       (1..@equinix_user_entitlement.count).map do |index|
         return index if @equinix_user_entitlement[index]["DN"]==dn
       end
		rescue => ee
			puts "Exception on method #{__method__}: #{ee}"
		end
end