cl-test.py 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. import subprocess
  2. import json
  3. import sys
  4. import io
  5. def proc_l(l):
  6. return l.replace('\n','').strip()
  7. arealist=['ap-southeast-1a','us-east-1']
  8. for area in arealist:
  9. #area='us-east-1'
  10. cmd='aws cloudtrail lookup-events --lookup-attributes AttributeKey=EventName,AttributeValue=RunInstances --max-results 20 --region '+area
  11. cmds=cmd.split(' ')
  12. cl=subprocess.Popen(cmds, stdout=subprocess.PIPE)
  13. lst=[]
  14. js="{"
  15. for l in io.TextIOWrapper(cl.stdout, encoding="utf-8"):
  16. if '"EventId":' in l:
  17. js+=proc_l(l)
  18. lst.append(proc_l(l))
  19. if '"EventTime":' in l:
  20. l2=proc_l(l)
  21. list1 = list(l2)
  22. list1[12]='"'
  23. l2 = ''.join(list1)
  24. l2+='"'
  25. js+=l2
  26. js+="}"
  27. print(js)
  28. js2=json.loads(js)
  29. js2['area']=area
  30. print(js2)
  31. js="{"
  32. if '"AccessKeyId":' in l:
  33. js+=proc_l(l)
  34. lst.append(proc_l(l))
  35. if '"EventName":' in l:
  36. js+=proc_l(l)
  37. lst.append(proc_l(l))
  38. #lines = cl.stdout.readlines()
  39. #clstr=str(cl)
  40. #lines=clstr.split('\n')
  41. #print(lst)
  42. # print(l)
  43. # sys.exit()
  44. #js=json.loads(str(cl))
  45. #print(js)