{"id":5941,"date":"2025-12-18T11:00:10","date_gmt":"2025-12-18T07:30:10","guid":{"rendered":"https:\/\/parmin.cloud\/blog\/?p=5941"},"modified":"2025-12-18T11:00:10","modified_gmt":"2025-12-18T07:30:10","slug":"%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d8%af%d8%b3%d8%aa%d8%b1%d8%b3%db%8c-%d8%a8%d9%87-%d8%a7%d8%b7%d9%84%d8%a7%d8%b9%d8%a7%d8%aa-%d8%b3%db%8c%d8%b3%d8%aa%d9%85-facts-%d8%af%d8%b1-ansible-playbook%d9%87","status":"publish","type":"post","link":"https:\/\/parmin.cloud\/blog\/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d8%af%d8%b3%d8%aa%d8%b1%d8%b3%db%8c-%d8%a8%d9%87-%d8%a7%d8%b7%d9%84%d8%a7%d8%b9%d8%a7%d8%aa-%d8%b3%db%8c%d8%b3%d8%aa%d9%85-facts-%d8%af%d8%b1-ansible-playbook%d9%87\/","title":{"rendered":"\u0622\u0645\u0648\u0632\u0634 \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0633\u06cc\u0633\u062a\u0645 (Facts) \u062f\u0631 Ansible Playbook\u0647\u0627"},"content":{"rendered":"<p>\u0628\u0647\u200c\u0637\u0648\u0631 \u067e\u06cc\u0634\u200c\u0641\u0631\u0636\u060c \u0642\u0628\u0644 \u0627\u0632 \u0627\u062c\u0631\u0627\u06cc \u0645\u062c\u0645\u0648\u0639\u0647\u200c\u0627\u06cc \u0627\u0632 \u062a\u0633\u06a9\u200c\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u062f\u0631 \u06cc\u06a9 playbook \u062a\u0639\u0631\u06cc\u0641 \u0634\u062f\u0647\u200c\u0627\u0646\u062f\u060c Ansible \u0686\u0646\u062f \u0644\u062d\u0638\u0647\u200c\u0627\u06cc \u0635\u0631\u0641 \u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u062f\u0631\u0628\u0627\u0631\u0647 \u0633\u06cc\u0633\u062a\u0645\u200c\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u062f\u0631 \u062d\u0627\u0644 \u067e\u0631\u0648\u0648\u06cc\u0698\u0646 \u0647\u0633\u062a\u0646\u062f \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0627\u06cc\u0646 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u06a9\u0647 \u0628\u0647 \u0622\u0646\u200c\u0647\u0627 facts \u06af\u0641\u062a\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f\u060c \u0634\u0627\u0645\u0644 \u062c\u0632\u0626\u06cc\u0627\u062a\u06cc \u0645\u0627\u0646\u0646\u062f \u0627\u06cc\u0646\u062a\u0631\u0641\u06cc\u0633\u200c\u0647\u0627 \u0648 \u0622\u062f\u0631\u0633\u200c\u0647\u0627\u06cc \u0634\u0628\u06a9\u0647\u060c \u0633\u06cc\u0633\u062a\u0645 \u0639\u0627\u0645\u0644 \u062f\u0631 \u062d\u0627\u0644 \u0627\u062c\u0631\u0627 \u0631\u0648\u06cc \u0646\u0648\u062f\u0647\u0627\u06cc \u0631\u06cc\u0645\u0648\u062a \u0648 \u062d\u0627\u0641\u0638\u0647\u200c\u06cc \u0645\u0648\u062c\u0648\u062f\u060c \u0648 \u0645\u0648\u0627\u0631\u062f \u062f\u06cc\u06af\u0631 \u0627\u0633\u062a.<\/p>\n<p>Ansible facts \u0631\u0627 \u062f\u0631 \u0641\u0631\u0645\u062a JSON \u0630\u062e\u06cc\u0631\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f \u06a9\u0647 \u0622\u06cc\u062a\u0645\u200c\u0647\u0627 \u062f\u0631 \u0642\u0627\u0644\u0628 nodes \u06af\u0631\u0648\u0647\u200c\u0628\u0646\u062f\u06cc \u0634\u062f\u0647\u200c\u0627\u0646\u062f. \u0628\u0631\u0627\u06cc \u0628\u0631\u0631\u0633\u06cc \u0627\u06cc\u0646\u06a9\u0647 \u0686\u0647 \u0646\u0648\u0639 \u0627\u0637\u0644\u0627\u0639\u0627\u062a\u06cc \u0628\u0631\u0627\u06cc \u0633\u06cc\u0633\u062a\u0645\u200c\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u067e\u0631\u0648\u0648\u06cc\u0698\u0646 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0627\u0633\u062a\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0645\u0627\u0698\u0648\u0644 setup \u0631\u0627 \u0628\u0627 \u06cc\u06a9 \u0641\u0631\u0645\u0627\u0646 ad hoc \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<br \/>\n<code>ansible all -i inventory -m setup -u sammy<\/code><\/p>\n<p>\u0627\u06cc\u0646 \u0641\u0631\u0645\u0627\u0646 \u062e\u0631\u0648\u062c\u06cc \u0645\u0641\u0635\u0644 JSON \u062d\u0627\u0648\u06cc \u0627\u0637\u0644\u0627\u0639\u0627\u062a\u06cc \u062f\u0631\u0628\u0627\u0631\u0647 \u0633\u0631\u0648\u0631 \u0634\u0645\u0627 \u062a\u0648\u0644\u06cc\u062f \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0628\u0631\u0627\u06cc \u0628\u0647\u200c\u062f\u0633\u062a \u0622\u0648\u0631\u062f\u0646 \u0632\u06cc\u0631\u0645\u062c\u0645\u0648\u0639\u0647\u200c\u0627\u06cc \u0627\u0632 \u0627\u06cc\u0646 \u062f\u0627\u062f\u0647\u200c\u0647\u0627\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u067e\u0627\u0631\u0627\u0645\u062a\u0631 filter \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0631\u062f\u0647 \u0648 \u0627\u0644\u06af\u0648\u06cc \u062f\u0644\u062e\u0648\u0627\u0647 \u0631\u0627 \u0627\u0631\u0627\u0626\u0647 \u062f\u0647\u06cc\u062f. \u0645\u062b\u0644\u0627\u064b \u0627\u06af\u0631 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u062f \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u0647\u0645\u0647 \u0622\u062f\u0631\u0633\u200c\u0647\u0627\u06cc IPv4 \u062f\u0631 \u0646\u0648\u062f\u0647\u0627\u06cc \u0631\u06cc\u0645\u0648\u062a \u0631\u0627 \u0628\u062f\u0633\u062a \u0622\u0648\u0631\u06cc\u062f\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u0641\u0631\u0645\u0627\u0646 \u0632\u06cc\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f:<br \/>\n<code>ansible all -i inventory -m setup -a \"filter=*ipv4*\" -u sammy<\/code><\/p>\n<p>\u062e\u0631\u0648\u062c\u06cc \u0645\u0634\u0627\u0628\u0647 \u0632\u06cc\u0631 \u062e\u0648\u0627\u0647\u06cc\u062f \u062f\u06cc\u062f:<\/p>\n<pre><code>Output\r\n203.0.113.10 | SUCCESS =&gt; {\r\n    \"ansible_facts\": {\r\n        \"ansible_all_ipv4_addresses\": [\r\n            \"203.0.113.10\", \r\n            \"198.51.100.23\"\r\n        ], \r\n        \"ansible_default_ipv4\": {\r\n            \"address\": \"203.0.113.10\", \r\n            \"alias\": \"eth0\", \r\n            \"broadcast\": \"203.0.113.255\", \r\n            \"gateway\": \"203.0.113.1\", \r\n            \"interface\": \"eth0\", \r\n            \"macaddress\": \"06:c7:91:16:2e:b7\", \r\n            \"mtu\": 1500, \r\n            \"netmask\": \"203.0.113.0\", \r\n            \"network\": \"203.0.113.0\", \r\n            \"type\": \"ether\"\r\n        }\r\n    }, \r\n    \"changed\": false\r\n}<\/code><\/pre>\n<p>\u0648\u0642\u062a\u06cc \u06a9\u0647 facts \u0645\u0641\u06cc\u062f\u06cc \u0628\u0631\u0627\u06cc playbook \u062e\u0648\u062f \u067e\u06cc\u062f\u0627 \u06a9\u0631\u062f\u06cc\u062f\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0622\u0646 \u0631\u0627 \u062f\u0631 playbook \u062e\u0648\u062f \u0628\u0647\u200c\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc \u06a9\u0646\u06cc\u062f. \u0628\u0647\u200c\u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644\u060c playbook \u0632\u06cc\u0631 \u0622\u062f\u0631\u0633 IPv4 \u0627\u06cc\u0646\u062a\u0631\u0641\u06cc\u0633 \u0634\u0628\u06a9\u0647\u200c\u06cc \u067e\u06cc\u0634\u200c\u0641\u0631\u0636 \u0631\u0627 \u0686\u0627\u067e \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0627\u0632 \u062e\u0631\u0648\u062c\u06cc \u0642\u0628\u0644\u06cc \u0641\u0631\u0645\u0627\u0646\u060c \u0645\u06cc\u200c\u062f\u0627\u0646\u06cc\u0645 \u06a9\u0647 \u0627\u06cc\u0646 \u0645\u0642\u062f\u0627\u0631 \u0627\u0632 \u0637\u0631\u06cc\u0642 <code>ansible_default_ipv4.address<\/code> \u062f\u0631 JSON \u062e\u0631\u0648\u062c\u06cc Ansible \u0642\u0627\u0628\u0644 \u062f\u0633\u062a\u0631\u0633\u06cc \u0627\u0633\u062a.<\/p>\n<p>\u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u062c\u062f\u06cc\u062f \u0628\u0627 \u0646\u0627\u0645 <code>playbook-03.yml<\/code> \u062f\u0631 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc <code>ansible-practice<\/code> \u062e\u0648\u062f \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f:<br \/>\n<code>nano ~\/ansible-practice\/playbook-03.yml<\/code><\/p>\n<p>\u0633\u067e\u0633 \u062e\u0637\u0648\u0637 \u0632\u06cc\u0631 \u0631\u0627 \u0628\u0647 \u0641\u0627\u06cc\u0644 playbook \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre><code>---\r\n- hosts: all\r\n  tasks:\r\n    - name: print facts\r\n      debug:\r\n        msg: \"IPv4 address: {{ ansible_default_ipv4.address }}\"\r\n<\/code><\/pre>\n<p>\u0628\u0639\u062f \u0627\u0632 \u0627\u06cc\u0646\u06a9\u0647 \u0641\u0627\u06cc\u0644 \u0631\u0627 \u0630\u062e\u06cc\u0631\u0647 \u0648 \u0628\u0633\u062a\u06cc\u062f\u060c \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc \u0627\u06cc\u0646 playbook \u0631\u0648\u06cc \u0633\u0631\u0648\u0631\u0647\u0627\u06cc \u0645\u0648\u062c\u0648\u062f \u062f\u0631 \u0641\u0627\u06cc\u0644 inventory \u062e\u0648\u062f\u060c \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0647\u0645\u0627\u0646 \u067e\u0627\u0631\u0627\u0645\u062a\u0631\u0647\u0627\u06cc \u0627\u062a\u0635\u0627\u0644 \u06a9\u0647 \u0642\u0628\u0644\u0627\u064b \u062f\u0631 \u0645\u062b\u0627\u0644\u200c\u0647\u0627\u06cc \u0642\u0628\u0644\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u062f\u060c \u062f\u0633\u062a\u0648\u0631 <code>ansible-playbook<\/code> \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f. \u0645\u0627 \u0627\u0632 \u0641\u0627\u06cc\u0644 inventory \u0628\u0627 \u0646\u0627\u0645 <code>inventory<\/code> \u0648 \u06a9\u0627\u0631\u0628\u0631 <code>sammy<\/code> \u0628\u0631\u0627\u06cc \u0627\u062a\u0635\u0627\u0644 \u0628\u0647 \u0633\u0631\u0648\u0631\u0647\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645:<br \/>\n<code>ansible-playbook -i inventory playbook-03.yml -u sammy<\/code><\/p>\n<p>\u0648\u0642\u062a\u06cc playbook \u0631\u0627 \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f\u060c \u0622\u062f\u0631\u0633 IPv4 \u0633\u0631\u0648\u0631 \u0631\u06cc\u0645\u0648\u062a \u0634\u0645\u0627 \u062f\u0631 \u062e\u0631\u0648\u062c\u06cc \u0628\u0647\u200c\u0635\u0648\u0631\u062a \u0645\u0648\u0631\u062f \u0627\u0646\u062a\u0638\u0627\u0631 \u0646\u0645\u0627\u06cc\u0634 \u062f\u0627\u062f\u0647 \u062e\u0648\u0627\u0647\u062f \u0634\u062f:<\/p>\n<pre><code>Output\r\n...\r\n\r\nTASK [print facts] ***************************************************************************************************************************************************************************\r\nok: [server1] =&gt; {\r\n    \"msg\": \"IPv4 address: 203.0.113.10\"\r\n}\r\n\r\n...<\/code><\/pre>\n<p>Facts \u062f\u0627\u062f\u0647\u200c\u0647\u0627\u06cc \u0645\u0647\u0645\u06cc \u0631\u0627 \u062f\u0631 \u0628\u0631 \u062f\u0627\u0631\u0646\u062f \u06a9\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0631\u0627\u06cc \u0633\u0641\u0627\u0631\u0634\u06cc\u200c\u0633\u0627\u0632\u06cc \u0628\u0647\u062a\u0631 playbook\u0647\u0627\u06cc \u062e\u0648\u062f \u0627\u0632 \u0622\u0646\u200c\u0647\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f. \u0628\u0631\u0627\u06cc \u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc \u0628\u06cc\u0634\u062a\u0631 \u062f\u0631 \u0645\u0648\u0631\u062f \u062a\u0645\u0627\u0645 \u0627\u0637\u0644\u0627\u0639\u0627\u062a\u06cc \u06a9\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u0637\u0631\u06cc\u0642 facts \u0628\u0647 \u062f\u0633\u062a \u0622\u0648\u0631\u06cc\u062f\u060c \u0644\u0637\u0641\u0627\u064b \u0628\u0647 <a href=\"https:\/\/docs.ansible.com\/ansible\/latest\/user_guide\/playbooks_vars_facts.html\">\u0645\u0633\u062a\u0646\u062f\u0627\u062a \u0631\u0633\u0645\u06cc<\/a> Ansible \u0645\u0631\u0627\u062c\u0639\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u0627\u0632 \u0647\u0645\u0631\u0627\u0647\u06cc \u0634\u0645\u0627 \u0628\u0627 <strong><a href=\"https:\/\/parmin.cloud\/\">ParminCloud<\/a><\/strong> \u0633\u067e\u0627\u0633\u06af\u0632\u0627\u0631\u06cc\u0645.<\/p>\n<div style='text-align:center' class='yasr-auto-insert-visitor'><\/div>","protected":false},"excerpt":{"rendered":"<p>\u0628\u0647\u200c\u0637\u0648\u0631 \u067e\u06cc\u0634\u200c\u0641\u0631\u0636\u060c \u0642\u0628\u0644 \u0627\u0632 \u0627\u062c\u0631\u0627\u06cc \u0645\u062c\u0645\u0648\u0639\u0647\u200c\u0627\u06cc \u0627\u0632 \u062a\u0633\u06a9\u200c\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u062f\u0631 \u06cc\u06a9 playbook \u062a\u0639\u0631\u06cc\u0641 \u0634\u062f\u0647\u200c\u0627\u0646\u062f\u060c Ansible \u0686\u0646\u062f \u0644\u062d\u0638\u0647\u200c\u0627\u06cc \u0635\u0631\u0641 \u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u062f\u0631\u0628\u0627\u0631\u0647 \u0633\u06cc\u0633\u062a\u0645\u200c\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u062f\u0631 \u062d\u0627\u0644 \u067e\u0631\u0648\u0648\u06cc\u0698\u0646 \u0647\u0633\u062a\u0646\u062f \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0627\u06cc\u0646 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u06a9\u0647 \u0628\u0647 \u0622\u0646\u200c\u0647\u0627 facts \u06af\u0641\u062a\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f\u060c \u0634\u0627\u0645\u0644 \u062c\u0632\u0626\u06cc\u0627\u062a\u06cc \u0645\u0627\u0646\u0646\u062f \u0627\u06cc\u0646\u062a\u0631\u0641\u06cc\u0633\u200c\u0647\u0627 \u0648 \u0622\u062f\u0631\u0633\u200c\u0647\u0627\u06cc \u0634\u0628\u06a9\u0647\u060c \u0633\u06cc\u0633\u062a\u0645 \u0639\u0627\u0645\u0644 \u062f\u0631 \u062d\u0627\u0644 \u0627\u062c\u0631\u0627 \u0631\u0648\u06cc \u0646\u0648\u062f\u0647\u0627\u06cc \u0631\u06cc\u0645\u0648\u062a \u0648 \u062d\u0627\u0641\u0638\u0647\u200c\u06cc \u0645\u0648\u062c\u0648\u062f\u060c \u0648 [&hellip;]<\/p>\n","protected":false},"author":9,"featured_media":5947,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"yasr_overall_rating":0,"yasr_post_is_review":"","yasr_auto_insert_disabled":"","yasr_review_type":"","footnotes":""},"categories":[131,150],"tags":[742,744,740,743,741],"class_list":["post-5941","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-131","category-linux","tag-ansible-setup-module","tag-facts--","tag--ansible-","tag-----ansible","tag----ansible"],"aioseo_notices":[],"yasr_visitor_votes":{"stars_attributes":{"read_only":false,"span_bottom":false},"number_of_votes":0,"sum_votes":0},"_links":{"self":[{"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/posts\/5941","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/comments?post=5941"}],"version-history":[{"count":1,"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/posts\/5941\/revisions"}],"predecessor-version":[{"id":5946,"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/posts\/5941\/revisions\/5946"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/media\/5947"}],"wp:attachment":[{"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/media?parent=5941"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/categories?post=5941"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/tags?post=5941"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}