summaryrefslogtreecommitdiffstats
path: root/filters/needlexml2pcscmd.py
blob: 88c59145987a39e176d46df77caf4a0038f539ca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# -*- coding: UTF-8 -*-
# Copyright 2015 Red Hat, Inc.
# Part of clufter project
# Licensed under GPLv2+ (a copy included | http://gnu.org/licenses/gpl-2.0.txt)
"""needlexml2pcscmd filter"""
__author__ = "Jan Pokorný <jpokorny @at@ Red Hat .dot. com>"

from ..filter import XMLFilter
from ..utils_xslt import xslt_params


@XMLFilter.deco('coroxml-needle', 'string-list', defs=dict(
    pcscmd_force=False,
    pcscmd_noauth=False,
    pcscmd_verbose=True,
    pcscmd_dryrun=False,
    pcscmd_enable=False,
    pcscmd_start_wait=60,
    pcscmd_noguidance=0,
))
def needlexml2pcscmd(flt_ctxt, in_obj):
    """Outputs set of pcs commands to reinstate the cluster per corosync.conf"""
    return (
        'bytestring',
        flt_ctxt.ctxt_proceed_xslt(
            in_obj,
            textmode=True,
            def_first=xslt_params(
                pcscmd_force=flt_ctxt['pcscmd_force'],
                pcscmd_noauth=flt_ctxt['pcscmd_noauth'],
                pcscmd_verbose=flt_ctxt['pcscmd_verbose'],
                pcscmd_dryrun=flt_ctxt['pcscmd_dryrun'],
                pcscmd_enable=flt_ctxt['pcscmd_enable'],
                pcscmd_start_wait=flt_ctxt['pcscmd_start_wait'],
                pcscmd_noguidance=flt_ctxt['pcscmd_noguidance'],
            ),
        ),
    )