вот такой простенький таск по добавлению правила брандмауэра на windows хосты.
                  
                  
                  Так вот, если такого правила с таким именем в винде ещё не было, то таск отрабатывает нормально, но если правило с таким именем уже было, то таск затирает адреса которые были прописаны ранее, и заносит адреса из переменных {ip1_win1} и {ip1_win2}. А желательно чтоб добавлял, а не затирал. Помню сразу решение не нашёл и забил, стал просто давать разные имена правилам. 
                  
                  
                  А как в этом случае сделать, чтобы он оставлял старые адреса и добавлял к ним новые? Ткните если не трудно.
                  
                  
                  
                  
                  
                  ---
                  
                  
                  - name: Add firewall rules on server1 for group "staging_win1" and "staging_win2" 
                  
                  
                    gather_facts: no 
                  
                  
                    hosts: server1 
                  
                  
                    vars: 
                  
                  
                      ip1_win1: "{{ groups['staging_win1'] | map('extract', hostvars, ['ansible_host']) | join(',') }}" 
                  
                  
                      ip2_win2: "{{ groups['staging_win2'] | map('extract', hostvars, ['ansible_host']) | join(',') }}" 
                  
                  
                    tasks: 
                  
                  
                     - name: Allow input on TCP port 5555 
                  
                  
                       win_firewall_rule: 
                  
                  
                        name: ReportsRules 
                  
                  
                        localport: 5555 
                  
                  
                        remoteip: "{{ ip1_win1 }},{{ ip1_win2 }}" 
                  
                  
                        action: allow 
                  
                  
                        direction: in 
                  
                  
                        protocol: tcp 
                  
                  
                        state: present 
                  
                  
                        enabled: yes
                  
                  
                
Подскажите кто-нибудь пожалуйста, что подправить в этом таске, чтобы не затирались уже имеющиеся айпишники в правиле файервола, а только новые добавлялись? Может кто дела что-то подобное именно с модулем win_firewall_rule?
в общем, может кому пригодиться, модуль "win_firewall_rule" не идемпотентен (судя по ответам на форуме ansible и на других ресурсах)
Обсуждают сегодня