{# ansible/inventory/group_detail.html — one group (#5333): its members and the schedules aimed at it, its form (operators), and at the foot Delete behind the confirm dialog. #} {% extends "base.html" %} {% from "_macros.html" import crumbs, page_header %} {% from "ansible/_tabs.html" import ansible_tabs %} {% block title %}{{ group.name }} — Inventory — Steward{% endblock %} {% block breadcrumb %}{{ crumbs([("Ansible", "/ansible/"), ("Inventory", "/ansible/inventory/"), (group.name, "")]) }}{% endblock %} {% block section_tabs %}{{ ansible_tabs("inventory") }}{% endblock %} {% block content %} {% set can_edit = session.user_role in ('operator', 'admin') %} {{ page_header(group.name) }} {#- The name a play uses for it (#5334): Ansible takes only letters, digits and _. #}

{%- set members = group.targets|sort(attribute='name') %} {%- if members %}{{ members|length }} member{{ 's' if members|length != 1 }}: {% for t in members %}{{ t.name }}{{ ", " if not loop.last }}{% endfor %} {%- else %}no members{% endif %} · plays call it {{ ansible_name }} {%- if used %} · scheduled by {% for s in used %}{{ s.name }}{{ ", " if not loop.last }}{% endfor %}{% endif %}

{% if can_edit %}
{{ csrf_field() }}

Group

YAML, applied to every member. A target's own variables override these.

Members

{% if not all_targets %}

No targets yet. Add a target first.

{% else %}
{% for tgt in all_targets %} {% endfor %}
{% endif %}

Delete this group

{% if used %}{{ used|length }} schedule{{ 's' if used|length != 1 }} run{{ 's' if used|length == 1 }} on it and would find nothing to run on.{% else %}Its targets stay; only the grouping goes.{% endif %}

{{ csrf_field() }}
{% endif %} {% endblock %}