
{"id":147,"date":"2021-04-16T14:50:19","date_gmt":"2021-04-16T14:50:19","guid":{"rendered":"https:\/\/miscstuff.org.uk\/?p=147"},"modified":"2024-08-19T10:14:43","modified_gmt":"2024-08-19T10:14:43","slug":"some-example-ansible-loops","status":"publish","type":"post","link":"https:\/\/miscstuff.org.uk\/?p=147","title":{"rendered":"Some Example Ansible Loops"},"content":{"rendered":"<p>Having been using Ansible for a bit now I\u2019ve found these loops quite useful.<\/p>\n<p>Installing multiple packages:<\/p>\n<blockquote>\n<pre>- name: Install packages\r\n  apt:\r\n    state: present\r\n    install_recommends: no\r\n    name:\r\n    - asterisk\r\n    - asterisk-mysql<\/pre>\n<\/blockquote>\n<p>Copying files:<\/p>\n<blockquote>\n<pre>- name: Copy files\r\n   synchronize: src={{item.src}} dest={{item.dest}}\r\n   with_items:\r\n    - { src: '\/srv\/deploy\/fail2ban\/asterisk.conf', dest: '\/etc\/fail2ban\/filter.d' }\r\n    - { src: '\/srv\/deploy\/fail2ban\/asterisk18.conf', dest: '\/etc\/fail2ban\/filter.d' }\r\n    - { src: '\/srv\/deploy\/etc\/odbc.ini', dest: '\/etc\/' }<\/pre>\n<\/blockquote>\n<p>Removing files:<\/p>\n<blockquote>\n<pre>- name: Remove files\r\n  file:\r\n    path: \"{{item}}\"\r\n    state: absent\r\n  with_items:\r\n    - \/usr\/share\/asterisk\/moh\/macroform-robot_dity.gsm\r\n    - \/usr\/share\/asterisk\/moh\/manolo_camp-morning_coffee.gsm\r\n    - \/usr\/share\/asterisk\/moh\/reno_project-system.gsm<\/pre>\n<\/blockquote>\n<p>Adding lines:<\/p>\n<blockquote>\n<pre>- name: Adding Lines\r\n  lineinfile:\r\n    path: '{{item.path}}'\r\n    line: \"{{item.line}}\"\r\n  with_items:\r\n    - { path: '\/etc\/file1',line: \"This line goes n File 1\" }\r\n    - { path: '\/etc\/file2',line: \"This line goes n File 2\" }<\/pre>\n<\/blockquote>\n<p>Replacing contents of lines:<\/p>\n<blockquote>\n<pre>- name: Filetweaks\r\n  replace:\r\n    path: '{{item.path}}'\r\n    regexp: '{{item.regexp}}'\r\n    replace: \"{{item.replace}}\"\r\n  with_items:\r\n    - { path: '\/etc\/init.d\/asterisk', regexp: '#MAXFILES=1024', replace: 'MAXFILES=8192' }<\/pre>\n<\/blockquote>\n<p>A sequence of shell commands that ignores non-zero exits:<\/p>\n<blockquote>\n<pre>- name: Test shell loop\r\n  shell: \"{{item}}\"\r\n  ignore_errors: true\r\n  args:\r\n    warn: no\r\n    executable: \/bin\/bash\r\n  with_items:\r\n    - \"echo 1\"\r\n    - \"echo 2\"\r\n    - \"echo 3\"\r\n    - \"echo 4\"\r\n    - \"echo 5\"<\/pre>\n<\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>Having been using Ansible for a bit now I\u2019ve found these loops quite useful. Installing multiple packages: &#8211; name: Install<\/p>\n<div class=\"read-button read_more_btn_text\"><a class=\"read_more\" href=\"https:\/\/miscstuff.org.uk\/?p=147\">Read Now<span class=\"arrow_readm\"> &#x25BA;<\/span><\/a><\/div>\n","protected":false},"author":2,"featured_media":157,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[12,16],"class_list":["post-147","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux","tag-ansible","tag-linux"],"_links":{"self":[{"href":"https:\/\/miscstuff.org.uk\/index.php?rest_route=\/wp\/v2\/posts\/147"}],"collection":[{"href":"https:\/\/miscstuff.org.uk\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/miscstuff.org.uk\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/miscstuff.org.uk\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/miscstuff.org.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=147"}],"version-history":[{"count":7,"href":"https:\/\/miscstuff.org.uk\/index.php?rest_route=\/wp\/v2\/posts\/147\/revisions"}],"predecessor-version":[{"id":155,"href":"https:\/\/miscstuff.org.uk\/index.php?rest_route=\/wp\/v2\/posts\/147\/revisions\/155"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/miscstuff.org.uk\/index.php?rest_route=\/wp\/v2\/media\/157"}],"wp:attachment":[{"href":"https:\/\/miscstuff.org.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=147"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/miscstuff.org.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=147"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/miscstuff.org.uk\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=147"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}