utils.roles.validation package¶
Submodules¶
utils.roles.validation.deploy_id module¶
Utility for validating deployment application IDs against defined roles and inventory.
- class utils.roles.validation.deploy_id.ValidDeployId¶
Bases:
object- validate(inventory_path: str, ids: list[str]) dict[str, dict[str, bool]]¶
Validate a list of application IDs against both role definitions and inventory.
- Returns:
- {
“app1”: {“in_roles”: False, “in_inventory”: True}, “app2”: {“in_roles”: True, “in_inventory”: False},
}
utils.roles.validation.invokable module¶
- class utils.roles.validation.invokable.DeploymentTypeRule(name: 'str', include_re: 're.Pattern[str]', exclude_re: 're.Pattern[str] | None')¶
Bases:
object- exclude_re: Pattern[str] | None¶
- include_re: Pattern[str]¶
- name: str¶
- utils.roles.validation.invokable.list_invokable_app_ids() list[str]¶
- utils.roles.validation.invokable.list_invokables_by_type(*, rules: Iterable[DeploymentTypeRule] = (DeploymentTypeRule(name='server', include_re=re.compile('^(web-app-|web-svc-|web-opt-)'), exclude_re=None), DeploymentTypeRule(name='workstation', include_re=re.compile('^(desk-|util-desk-)'), exclude_re=None), DeploymentTypeRule(name='universal', include_re=re.compile('.*'), exclude_re=None)), lifecycles: set[str] | None = None, skip_mode: str | None = None) dict[str, list[str]]¶
- Returns:
- {
“server”: […], “workstation”: […], “universal”: […],
}
“universal” = invokable roles that are NOT matched by any other non-universal rule.
If lifecycles is provided, only roles whose galaxy_info.lifecycle is in the set are included. Missing lifecycle is treated as “not matching”.
- utils.roles.validation.invokable.types_from_group_names(group_names: Iterable[str], *, rules: Iterable[DeploymentTypeRule] = (DeploymentTypeRule(name='server', include_re=re.compile('^(web-app-|web-svc-|web-opt-)'), exclude_re=None), DeploymentTypeRule(name='workstation', include_re=re.compile('^(desk-|util-desk-)'), exclude_re=None), DeploymentTypeRule(name='universal', include_re=re.compile('.*'), exclude_re=None))) list[str]¶
- SPOT:
invokable is defined by categories.yml via _get_invokable_paths()/_is_role_invokable()
server/workstation/universal classification is defined by DEFAULT_RULES
- Semantics:
universal = invokable AND NOT matched by any non-universal rule.
utils.roles.validation.resources module¶
- utils.roles.validation.resources.filter_roles_by_min_storage(*, role_names: Iterable[str], required_storage: str | float, emit_warnings: bool = False) list[str]¶