accounts.py 862 B

123456789101112131415161718192021222324252627
  1. __all__ = ["Group", "User"]
  2. from resource_management.base import Resource, ForcedListArgument, ResourceArgument, BooleanArgument
  3. class Group(Resource):
  4. action = ForcedListArgument(default="create")
  5. group_name = ResourceArgument(default=lambda obj: obj.name)
  6. gid = ResourceArgument()
  7. password = ResourceArgument()
  8. actions = Resource.actions + ["create", "remove"]
  9. class User(Resource):
  10. action = ForcedListArgument(default="create")
  11. username = ResourceArgument(default=lambda obj: obj.name)
  12. comment = ResourceArgument()
  13. uid = ResourceArgument()
  14. gid = ResourceArgument()
  15. groups = ForcedListArgument(default=[]) # supplementary groups
  16. home = ResourceArgument()
  17. shell = ResourceArgument(default="/bin/bash")
  18. password = ResourceArgument()
  19. system = BooleanArgument(default=False)
  20. actions = Resource.actions + ["create", "remove"]