def getall(self): session = getsession(self.accountid) dynamodb = session.client('dynamodb') table=dynamodb.scan(TableName=self.tablename) accounts=[] for item in table["Items"]: account_details={} account_details['name'] = item["accountName"]["S"] account_details['id'] = item["accountId"]["S"] account_details['env'] = item["environment"]["S"] accounts.append(account_details) return accounts
def get_event_log (accountname,resourceId,Eventname,Warning,Del): Now = datetime.datetime.now() deldays = Now - datetime.timedelta(days=Del) warningdays=Now - datetime.timedelta(days=Warning) deldays_ourzone = deldays.replace(tzinfo=pytz.timezone(config["system"]["ourzone"])) warningdays_ourzone = warningdays.replace(tzinfo=pytz.timezone(config["system"]["ourzone"])) event ={} event["time"] = "" event["deletion"]="False" event["username"]="" event["resource"]=resourceId mysession = getsession(accountname) cloudtrail = mysession.client('cloudtrail') Events = cloudtrail.lookup_events( LookupAttributes= [{ 'AttributeKey': 'ResourceName', 'AttributeValue': resourceId }] ) LogEvents=[] if not Events["Events"]: event["deletion"]="Ture" else: for EachEvent in Events["Events"]: if EachEvent["EventName"] == Eventname: Eventinfo={} Eventinfo["name"]=EachEvent["EventName"] Eventinfo["time"]=EachEvent["EventTime"] Eventinfo["user"]=EachEvent["Username"] LogEvents.append(Eventinfo) if LogEvents: LogEvents=sorted(LogEvents, key=operator.itemgetter('time'),reverse=True) LastLog=LogEvents[0] #print LastLog #ActionTime=time.strftime(fmt,time.localtime(LastLog['time'])) if LastLog['time'] < deldays_ourzone: event["deletion"]="True" event["time"] =LastLog['time'] event["username"]=LogEvents[0]["user"] elif LastLog['time'] < warningdays_ourzone: event["deletion"]="Warning" event["time"] =LastLog['time'] event["username"]=LogEvents[0]["user"] else: event["deletion"]="Ture" return event