oc_adm_router.py 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. # pylint: skip-file
  2. # flake8: noqa
  3. def main():
  4. '''
  5. ansible oc module for router
  6. '''
  7. module = AnsibleModule(
  8. argument_spec=dict(
  9. state=dict(default='present', type='str',
  10. choices=['present', 'absent']),
  11. debug=dict(default=False, type='bool'),
  12. namespace=dict(default='default', type='str'),
  13. name=dict(default='router', type='str'),
  14. kubeconfig=dict(default='/etc/origin/master/admin.kubeconfig', type='str'),
  15. default_cert=dict(default=None, type='str'),
  16. cert_file=dict(default=None, type='str'),
  17. key_file=dict(default=None, type='str'),
  18. images=dict(default=None, type='str'), #'registry.access.redhat.com/openshift3/ose-${component}:${version}'
  19. latest_images=dict(default=False, type='bool'),
  20. labels=dict(default=None, type='dict'),
  21. ports=dict(default=['80:80', '443:443'], type='list'),
  22. replicas=dict(default=1, type='int'),
  23. selector=dict(default=None, type='str'),
  24. service_account=dict(default='router', type='str'),
  25. router_type=dict(default='haproxy-router', type='str'),
  26. host_network=dict(default=True, type='bool'),
  27. extended_validation=dict(default=True, type='bool'),
  28. # external host options
  29. external_host=dict(default=None, type='str'),
  30. external_host_vserver=dict(default=None, type='str'),
  31. external_host_insecure=dict(default=False, type='bool'),
  32. external_host_partition_path=dict(default=None, type='str'),
  33. external_host_username=dict(default=None, type='str'),
  34. external_host_password=dict(default=None, type='str', no_log=True),
  35. external_host_private_key=dict(default=None, type='str', no_log=True),
  36. # Stats
  37. stats_user=dict(default=None, type='str'),
  38. stats_password=dict(default=None, type='str', no_log=True),
  39. stats_port=dict(default=1936, type='int'),
  40. # extra
  41. cacert_file=dict(default=None, type='str'),
  42. # edits
  43. edits=dict(default=[], type='list'),
  44. ),
  45. mutually_exclusive=[["router_type", "images"],
  46. ["key_file", "default_cert"],
  47. ["cert_file", "default_cert"],
  48. ["cacert_file", "default_cert"],
  49. ],
  50. required_together=[['cacert_file', 'cert_file', 'key_file']],
  51. supports_check_mode=True,
  52. )
  53. results = Router.run_ansible(module.params, module.check_mode)
  54. if 'failed' in results:
  55. module.fail_json(**results)
  56. module.exit_json(**results)
  57. if __name__ == '__main__':
  58. main()