title: What is the difference between `ansible_architecture` and `ansible_machine` on Ansible?
body: <p>I'm trying to find the architecture of the machine by using <a href="https://docs.ansible.com/ansible/latest/user_guide/playbooks_vars_facts.html#ansible-facts" rel="nofollow noreferrer">Ansible facts</a>.</p>
  <p>We can gather information about the machine by running <code>ansible -m setup &lt;host-name&gt;</code> command, as described in the documentation: <a href="https://docs.ansible.com/ansible/latest/user_guide/playbooks_vars_facts.html" rel="nofollow noreferrer">Discovering variables: facts and magic variables — Ansible Documentation</a>.</p>
  <p>But it seems that the <code>ansible_architecture</code> and <code>ansible_machine</code> are the same values. I'm not sure the difference between them. The example on the above documentation shows the following two values which have the same values:</p>
  <pre class="lang-bash prettyprint-override"><code>    &quot;ansible_architecture&quot;: &quot;x86_64&quot;,
      &quot;ansible_machine&quot;: &quot;x86_64&quot;,
  </code></pre>
  <p>On my M1 MacBook, the result is the same like this:</p>
  <pre class="lang-bash prettyprint-override"><code>shuuji3@momo mac-dev-playbook
  &gt; ansible -m setup localhost | egrep '_architecture|_machine'
          &quot;ansible_architecture&quot;: &quot;arm64&quot;,
          &quot;ansible_machine&quot;: &quot;arm64&quot;,
  </code></pre>
  <p>Can we use these values interchangeably? Or can they have other values in another case?</p>