示例#1
0
class Link(Resource):
    action = ForcedListArgument(default="create")
    path = ResourceArgument(default=lambda obj: obj.name)
    to = ResourceArgument(required=True)
    hard = BooleanArgument(default=False)

    actions = Resource.actions + ["create", "delete"]
示例#2
0
class Package(Resource):
    action = ForcedListArgument(default="install")
    package_name = ResourceArgument(default=lambda obj: obj.name)
    location = ResourceArgument(default=lambda obj: obj.package_name)
    version = ResourceArgument()
    actions = ["install", "upgrade", "remove", "purge"]
    build_vars = ForcedListArgument(default=[])
示例#3
0
class Directory(Resource):
    action = ForcedListArgument(default="create")
    path = ResourceArgument(default=lambda obj: obj.name)
    mode = ResourceArgument()
    owner = ResourceArgument()
    group = ResourceArgument()
    recursive = BooleanArgument(default=False)

    actions = Resource.actions + ["create", "delete"]
示例#4
0
class Group(Resource):
    action = ForcedListArgument(default="create")
    group_name = ResourceArgument(default=lambda obj: obj.name)
    gid = ResourceArgument()
    members = ForcedListArgument()
    password = ResourceArgument()
    # append = BooleanArgument(default=False) # NOT SUPPORTED

    actions = Resource.actions + [
        "create", "remove", "modify", "manage", "lock", "unlock"
    ]
示例#5
0
class Service(Resource):
    service_name = ResourceArgument(default=lambda obj:obj.name)
    enabled = ResourceArgument()
    running = ResourceArgument()
    pattern = ResourceArgument()
    start_command = ResourceArgument()
    stop_command = ResourceArgument()
    restart_command = ResourceArgument()
    reload_command = ResourceArgument()
    status_command = ResourceArgument()
    supports_restart = BooleanArgument(default=lambda obj:bool(obj.restart_command))
    supports_reload = BooleanArgument(default=lambda obj:bool(obj.reload_command))
    supports_status = BooleanArgument(default=lambda obj:bool(obj.status_command))

    actions = ["nothing", "start", "stop", "restart", "reload"]
示例#6
0
class Execute(Resource):
    action = ForcedListArgument(default="run")
    command = ResourceArgument(default=lambda obj: obj.name)
    creates = ResourceArgument()
    cwd = ResourceArgument()
    environment = ResourceArgument()
    user = ResourceArgument()
    group = ResourceArgument()
    returns = ForcedListArgument(default=0)
    timeout = ResourceArgument()

    actions = Resource.actions + ["run"]
示例#7
0
class Script(Resource):
    action = ForcedListArgument(default="run")
    code = ResourceArgument(required=True)
    cwd = ResourceArgument()
    environment = ResourceArgument()
    interpreter = ResourceArgument(default="/bin/bash")
    user = ResourceArgument()
    group = ResourceArgument()

    action = Resource.actions + ["run"]
示例#8
0
class File(Resource):
    action = ForcedListArgument(default="create")
    path = ResourceArgument(default=lambda obj: obj.name)
    backup = ResourceArgument()
    mode = ResourceArgument()
    owner = ResourceArgument()
    group = ResourceArgument()
    content = ResourceArgument()

    actions = Resource.actions + ["create", "delete", "touch"]
示例#9
0
class Mount(Resource):
    action = ForcedListArgument(default="mount")
    mount_point = ResourceArgument(default=lambda obj:obj.name) 
    device = ResourceArgument()
    fstype = ResourceArgument()
    options = ResourceArgument(default=["defaults"])
    dump = ResourceArgument(default=0)
    passno = ResourceArgument(default=2)

    actions = Resource.actions + ["mount", "umount", "remount", "enable", "disable"]
示例#10
0
class User(Resource):
    action = ForcedListArgument(default="create")
    username = ResourceArgument(default=lambda obj: obj.name)
    comment = ResourceArgument()
    uid = ResourceArgument()
    gid = ResourceArgument()
    groups = ForcedListArgument()  # supplementary groups
    home = ResourceArgument()
    shell = ResourceArgument(default="/bin/bash")
    password = ResourceArgument()
    system = BooleanArgument(default=False)

    actions = Resource.actions + [
        "create", "remove", "modify", "manage", "lock", "unlock"
    ]