opssh.py 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #!/usr/bin/env python
  2. # vim: expandtab:tabstop=4:shiftwidth=4
  3. import argparse
  4. import os
  5. import ansibleutil
  6. import sys
  7. class Program(object):
  8. def __init__(self):
  9. self.file_path = os.path.join(os.path.dirname(os.path.realpath(__file__)))
  10. self.parse_cli_args()
  11. self.ansible = ansibleutil.AnsibleUtil()
  12. inv = self.ansible.get_inventory()
  13. #print inv.keys()
  14. #sys.exit()
  15. if self.args.list_environments:
  16. self.list_environments()
  17. sys.exit()
  18. if self.args.list_groups:
  19. self.list_security_groups()
  20. sys.exit()
  21. def parse_cli_args(self):
  22. parser = argparse.ArgumentParser(
  23. description='OpenShift Online Operations Parallel SSH'
  24. )
  25. parser.add_argument("-v", '--verbosity', action="count",
  26. help="increase output verbosity")
  27. group = parser.add_mutually_exclusive_group()
  28. group.add_argument('--list-environments', action="store_true",
  29. help='List all environments')
  30. group.add_argument('--list-groups', action="store_true",
  31. help='List all security groups')
  32. group.add_argument('-e', '--environment',
  33. help='Set the environment')
  34. self.args = parser.parse_args()
  35. def list_environments(self):
  36. envs = self.ansible.get_environments()
  37. print
  38. print "Environments"
  39. print "------------"
  40. for env in envs:
  41. print env
  42. print
  43. def list_security_groups(self):
  44. envs = self.ansible.get_security_groups()
  45. print
  46. print "Groups"
  47. print "------"
  48. for env in envs:
  49. print env
  50. print
  51. if __name__ == '__main__':
  52. p = Program()