system.py 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. __all__ = ["File", "Directory", "Link", "Execute", "Script", "Mount"]
  2. from resource_management.base import Resource, ForcedListArgument, ResourceArgument, BooleanArgument
  3. class File(Resource):
  4. action = ForcedListArgument(default="create")
  5. path = ResourceArgument(default=lambda obj: obj.name)
  6. backup = ResourceArgument()
  7. mode = ResourceArgument()
  8. owner = ResourceArgument()
  9. group = ResourceArgument()
  10. content = ResourceArgument()
  11. actions = Resource.actions + ["create", "delete", "touch"]
  12. class Directory(Resource):
  13. action = ForcedListArgument(default="create")
  14. path = ResourceArgument(default=lambda obj: obj.name)
  15. mode = ResourceArgument()
  16. owner = ResourceArgument()
  17. group = ResourceArgument()
  18. recursive = BooleanArgument(default=False)
  19. actions = Resource.actions + ["create", "delete"]
  20. class Link(Resource):
  21. action = ForcedListArgument(default="create")
  22. path = ResourceArgument(default=lambda obj: obj.name)
  23. to = ResourceArgument(required=True)
  24. hard = BooleanArgument(default=False)
  25. actions = Resource.actions + ["create", "delete"]
  26. class Execute(Resource):
  27. action = ForcedListArgument(default="run")
  28. command = ResourceArgument(default=lambda obj: obj.name)
  29. creates = ResourceArgument()
  30. cwd = ResourceArgument()
  31. environment = ResourceArgument()
  32. user = ResourceArgument()
  33. group = ResourceArgument()
  34. returns = ForcedListArgument(default=0)
  35. timeout = ResourceArgument()
  36. actions = Resource.actions + ["run"]
  37. class Script(Resource):
  38. action = ForcedListArgument(default="run")
  39. code = ResourceArgument(required=True)
  40. cwd = ResourceArgument()
  41. environment = ResourceArgument()
  42. interpreter = ResourceArgument(default="/bin/bash")
  43. user = ResourceArgument()
  44. group = ResourceArgument()
  45. actions = Resource.actions + ["run"]
  46. class Mount(Resource):
  47. action = ForcedListArgument(default="mount")
  48. mount_point = ResourceArgument(default=lambda obj: obj.name)
  49. device = ResourceArgument()
  50. fstype = ResourceArgument()
  51. options = ResourceArgument(default=["defaults"])
  52. dump = ResourceArgument(default=0)
  53. passno = ResourceArgument(default=2)
  54. actions = Resource.actions + ["mount", "umount", "remount", "enable",
  55. "disable"]