Files
computer-playbook/plugins/lookup/roles_with_placement.py
kevinveenbirkenbachandClaude Opus 4.8 09a131d007 refactor(placement): rename meta key default_placement to placement
Rename the meta/services.yml key across all roles, the roles_with_default_placement lookup (now roles_with_placement), the get_role_default_placement / iter_roles_with_default_placement helpers, and every consumer (swarm closure, compose_volumes filter, nfs_prep, container deploy template, constructor stage, extend_inventory) plus their tests and docs.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-09 02:19:08 +02:00

31 lines
822 B
Python

"""Ansible lookup wrapper around
``utils.roles.meta_lookup.iter_roles_with_placement``.
lookup('roles_with_placement', 'manager')
"""
from __future__ import annotations
from typing import Any
from ansible.errors import AnsibleError
from ansible.plugins.lookup import LookupBase
from utils.roles.meta_lookup import iter_roles_with_placement
class LookupModule(LookupBase):
def run(
self,
terms: list[Any] | None,
variables: dict[str, Any] | None = None,
**kwargs: Any,
) -> list[list[str]]:
terms = terms or []
if len(terms) != 1:
raise AnsibleError(
"roles_with_placement: expected exactly 1 term, "
"the placement value (e.g. 'manager')"
)
return [iter_roles_with_placement(str(terms[0]))]