ssg.playbook_builder module
- class ssg.playbook_builder.PlaybookBuilder(product_yaml_path, input_dir, output_dir, rules_dir, profiles_dir, build_config_yaml)[source]
Bases:
object
- build(profile_id=None, rule_id=None)[source]
Creates Playbooks for a specified profile. If profile is not given, creates playbooks for all profiles in the product. If the rule_id is not given, Playbooks are created for every rule.
- choose_variable_value(var_id, variables, refinements)[source]
Determine value of variable based on profile refinements.
- create_playbook(snippet_path, rule_id, variables, refinements, output_dir)[source]
Creates a Playbook from Ansible snippet for the given rule specified by rule ID, fills in the profile values and saves it into output_dir.
- create_playbook_for_single_rule(profile, rule_id, variables)[source]
Creates a Playbook for given rule specified by a rule_id. Created Playbooks are parametrized by variables according to profile selection. Playbooks are written into a new subdirectory in output_dir.
- create_playbooks_for_all_rules_in_profile(profile, variables)[source]
Creates a Playbook for each rule selected in a profile from tasks extracted from snippets. Created Playbooks are parametrized by variables according to profile selection. Playbooks are written into a new subdirectory in output_dir.
- get_benchmark_variables()[source]
Get all variables, their selectors and values used in a given benchmark. Returns a dictionary where keys are variable IDs and values are dictionaries where keys are selectors and values are variable values.