<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Import_tasks on C2 Platform</title><link>https://c2platform.org/tags/import_tasks/</link><description>Recent content in Import_tasks on C2 Platform</description><generator>Hugo</generator><language>en</language><atom:link href="https://c2platform.org/tags/import_tasks/index.xml" rel="self" type="application/rss+xml"/><item><title>Import Unless: Prefer Static Reuse in Ansible</title><link>https://c2platform.org/docs/guidelines/coding/import-unless/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://c2platform.org/docs/guidelines/coding/import-unless/</guid><description>&lt;div class="alert alert-primary" role="alert">


 Prefer static reuse in Ansible. Use &lt;code>import_tasks&lt;/code>, &lt;code>import_role&lt;/code>, or the
play-level &lt;code>roles&lt;/code> section by default. Use &lt;code>include_tasks&lt;/code> or &lt;code>include_role&lt;/code>
only when you need dynamic runtime behavior such as looping, runtime file
selection, or conditional inclusion based on facts or earlier task results.

&lt;/div>

&lt;h2 id="problem">Problem&lt;/h2>
&lt;p>Ansible offers both &lt;code>import_*&lt;/code> and &lt;code>include_*&lt;/code> forms for reusing tasks and
roles.&lt;/p>
&lt;p>Without a clear rule, codebases drift into a mixture of static and dynamic
reuse. That makes playbooks harder to read, reason about, and troubleshoot.
Tasks may no longer appear clearly in &lt;code>--list-tasks&lt;/code>, tags may behave
unexpectedly, and execution can depend on runtime state in ways that are harder
for reviewers and operators to see up front.&lt;/p></description></item></channel></rss>