mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
0a3da471f5
* Begin rewrite of win_iis_webbinding Add integration testing, check mode and idempotency Add support for SNI Fix replacing SSL cert on existing bindings * finished up initial rewrite of win_iis_webbinding * updated test to remove tests as filters * updated win_iis_webbinding docs * fix more doc/formatting issues win_iis_webbinding * Removed string empty defaults for certs. Added a few new helpful comments. * Revert "Removed string empty defaults for certs. Added a few new helpful" This reverts commit 48f35faea8d5294b34e1aa842a95c9352b90257f.
372 lines
12 KiB
YAML
372 lines
12 KiB
YAML
#cm add
|
|
#changed true, check nothing present
|
|
- name: CM add http binding no header
|
|
win_iis_webbinding:
|
|
name: "{{ test_iis_site_name }}"
|
|
state: present
|
|
protocol: "{{ http_vars.protocol }}"
|
|
ip: "{{ http_vars.ip }}"
|
|
port: "{{ http_vars.port }}"
|
|
register: http_no_header
|
|
check_mode: yes
|
|
|
|
- name: CM get binding info no header
|
|
test_get_webbindings:
|
|
name: "{{ test_iis_site_name }}"
|
|
protocol: "{{ http_vars.protocol }}"
|
|
ip: "{{ http_vars.ip }}"
|
|
port: "{{ http_vars.port }}"
|
|
register: get_http_no_header
|
|
changed_when: false
|
|
|
|
- name: CM add http binding with header
|
|
win_iis_webbinding:
|
|
name: "{{ test_iis_site_name }}"
|
|
state: present
|
|
host_header: "{{ http_header_vars.header }}"
|
|
protocol: "{{ http_header_vars.protocol }}"
|
|
ip: "{{ http_header_vars.ip }}"
|
|
port: "{{ http_header_vars.port }}"
|
|
register: http_header
|
|
check_mode: yes
|
|
|
|
- name: CM get binding info header
|
|
test_get_webbindings:
|
|
name: "{{ test_iis_site_name }}"
|
|
host_header: "{{ http_header_vars.header }}"
|
|
protocol: "{{ http_header_vars.protocol }}"
|
|
ip: "{{ http_header_vars.ip }}"
|
|
port: "{{ http_header_vars.port }}"
|
|
register: get_http_header
|
|
changed_when: false
|
|
|
|
- name: CM assert changed, but not added
|
|
assert:
|
|
that:
|
|
- http_no_header is changed
|
|
- http_no_header.binding_info is none
|
|
- get_http_no_header.binding is not defined
|
|
- http_header is changed
|
|
- http_header.binding_info is none
|
|
- get_http_header.binding is not defined
|
|
|
|
#add
|
|
#changed true, new bindings present
|
|
- name: add http binding no header
|
|
win_iis_webbinding:
|
|
name: "{{ test_iis_site_name }}"
|
|
state: present
|
|
protocol: "{{ http_vars.protocol }}"
|
|
ip: "{{ http_vars.ip }}"
|
|
port: "{{ http_vars.port }}"
|
|
register: http_no_header
|
|
|
|
- name: get binding info no header
|
|
test_get_webbindings:
|
|
name: "{{ test_iis_site_name }}"
|
|
protocol: "{{ http_vars.protocol }}"
|
|
ip: "{{ http_vars.ip }}"
|
|
port: "{{ http_vars.port }}"
|
|
register: get_http_no_header
|
|
changed_when: false
|
|
|
|
- name: add http binding with header
|
|
win_iis_webbinding:
|
|
name: "{{ test_iis_site_name }}"
|
|
state: present
|
|
host_header: "{{ http_header_vars.header }}"
|
|
protocol: "{{ http_header_vars.protocol }}"
|
|
ip: "{{ http_header_vars.ip }}"
|
|
port: "{{ http_header_vars.port }}"
|
|
register: http_header
|
|
|
|
- name: get binding info header
|
|
test_get_webbindings:
|
|
name: "{{ test_iis_site_name }}"
|
|
host_header: "{{ http_header_vars.header }}"
|
|
protocol: "{{ http_header_vars.protocol }}"
|
|
ip: "{{ http_header_vars.ip }}"
|
|
port: "{{ http_header_vars.port }}"
|
|
register: get_http_header
|
|
changed_when: false
|
|
|
|
- name: assert changed and added
|
|
assert:
|
|
that:
|
|
- http_no_header is changed
|
|
- http_no_header.binding_info is defined
|
|
- http_no_header.operation_type == 'added'
|
|
- http_no_header.binding_info.ip == "{{ http_vars.ip }}"
|
|
- http_no_header.binding_info.port == {{ http_vars.port }}
|
|
- http_no_header.binding_info.protocol == "{{ http_vars.protocol }}"
|
|
- http_header is changed
|
|
- http_header.binding_info is defined
|
|
- http_header.operation_type == 'added'
|
|
- http_header.binding_info.ip == "{{ http_header_vars.ip }}"
|
|
- http_header.binding_info.port == {{ http_header_vars.port }}
|
|
- http_header.binding_info.protocol == "{{ http_header_vars.protocol }}"
|
|
- http_header.binding_info.hostheader == "{{ http_header_vars.header }}"
|
|
|
|
#add idem
|
|
#changed false
|
|
- name: idem add http binding no header
|
|
win_iis_webbinding:
|
|
name: "{{ test_iis_site_name }}"
|
|
state: present
|
|
protocol: "{{ http_vars.protocol }}"
|
|
ip: "{{ http_vars.ip }}"
|
|
port: "{{ http_vars.port }}"
|
|
register: http_no_header
|
|
|
|
- name: idem add http binding with header
|
|
win_iis_webbinding:
|
|
name: "{{ test_iis_site_name }}"
|
|
state: present
|
|
host_header: "{{ http_header_vars.header }}"
|
|
protocol: "{{ http_header_vars.protocol }}"
|
|
ip: "{{ http_header_vars.ip }}"
|
|
port: "{{ http_header_vars.port }}"
|
|
register: http_header
|
|
|
|
- name: idem assert not changed
|
|
assert:
|
|
that:
|
|
- http_no_header is not changed
|
|
- http_header is not changed
|
|
|
|
#modify
|
|
#can't test modify for http, it will add a new binding instead since
|
|
#there's no way to match existing bindings against the new parameters
|
|
|
|
#cm remove
|
|
#changed true, bindings still present
|
|
- name: cm remove http binding no header
|
|
win_iis_webbinding:
|
|
name: "{{ test_iis_site_name }}"
|
|
state: absent
|
|
protocol: "{{ http_vars.protocol }}"
|
|
ip: "{{ http_vars.ip }}"
|
|
port: "{{ http_vars.port }}"
|
|
register: http_no_header
|
|
check_mode: yes
|
|
|
|
- name: get binding info no header
|
|
test_get_webbindings:
|
|
name: "{{ test_iis_site_name }}"
|
|
protocol: "{{ http_vars.protocol }}"
|
|
ip: "{{ http_vars.ip }}"
|
|
port: "{{ http_vars.port }}"
|
|
register: get_http_no_header
|
|
changed_when: false
|
|
|
|
- name: cm remove http binding with header
|
|
win_iis_webbinding:
|
|
name: "{{ test_iis_site_name }}"
|
|
state: absent
|
|
host_header: "{{ http_header_vars.header }}"
|
|
protocol: "{{ http_header_vars.protocol }}"
|
|
ip: "{{ http_header_vars.ip }}"
|
|
port: "{{ http_header_vars.port }}"
|
|
register: http_header
|
|
check_mode: yes
|
|
|
|
- name: get binding info header
|
|
test_get_webbindings:
|
|
name: "{{ test_iis_site_name }}"
|
|
host_header: "{{ http_header_vars.header }}"
|
|
protocol: "{{ http_header_vars.protocol }}"
|
|
ip: "{{ http_header_vars.ip }}"
|
|
port: "{{ http_header_vars.port }}"
|
|
register: get_http_header
|
|
changed_when: false
|
|
|
|
- name: cm remove assert changed, but still present
|
|
assert:
|
|
that:
|
|
- http_no_header is changed
|
|
- http_no_header.binding_info is defined
|
|
- http_no_header.operation_type == 'removed'
|
|
- http_no_header.binding_info.ip == "{{ http_vars.ip }}"
|
|
- http_no_header.binding_info.port == {{ http_vars.port }}
|
|
- http_no_header.binding_info.protocol == "{{ http_vars.protocol }}"
|
|
- get_http_no_header.binding is defined
|
|
- get_http_no_header.binding.ip == "{{ http_vars.ip }}"
|
|
- get_http_no_header.binding.port == {{ http_vars.port }}
|
|
- get_http_no_header.binding.protocol == "{{ http_vars.protocol }}"
|
|
- http_header is changed
|
|
- http_header.binding_info is defined
|
|
- http_header.operation_type == 'removed'
|
|
- http_header.binding_info.ip == "{{ http_header_vars.ip }}"
|
|
- http_header.binding_info.port == {{ http_header_vars.port }}
|
|
- http_header.binding_info.protocol == "{{ http_header_vars.protocol }}"
|
|
- http_header.binding_info.hostheader == "{{ http_header_vars.header }}"
|
|
- get_http_header.binding is defined
|
|
- get_http_header.binding.ip == "{{ http_header_vars.ip }}"
|
|
- get_http_header.binding.port == {{ http_header_vars.port }}
|
|
- get_http_header.binding.protocol == "{{ http_header_vars.protocol }}"
|
|
- get_http_header.binding.hostheader == "{{ http_header_vars.header }}"
|
|
|
|
|
|
#remove
|
|
#changed true, bindings gone
|
|
- name: remove http binding no header
|
|
win_iis_webbinding:
|
|
name: "{{ test_iis_site_name }}"
|
|
state: absent
|
|
protocol: "{{ http_vars.protocol }}"
|
|
ip: "{{ http_vars.ip }}"
|
|
port: "{{ http_vars.port }}"
|
|
register: http_no_header
|
|
|
|
- name: get binding info no header
|
|
test_get_webbindings:
|
|
name: "{{ test_iis_site_name }}"
|
|
protocol: "{{ http_vars.protocol }}"
|
|
ip: "{{ http_vars.ip }}"
|
|
port: "{{ http_vars.port }}"
|
|
register: get_http_no_header
|
|
changed_when: false
|
|
|
|
- name: remove http binding with header
|
|
win_iis_webbinding:
|
|
name: "{{ test_iis_site_name }}"
|
|
state: absent
|
|
host_header: "{{ http_header_vars.header }}"
|
|
protocol: "{{ http_header_vars.protocol }}"
|
|
ip: "{{ http_header_vars.ip }}"
|
|
port: "{{ http_header_vars.port }}"
|
|
register: http_header
|
|
|
|
- name: get binding info header
|
|
test_get_webbindings:
|
|
name: "{{ test_iis_site_name }}"
|
|
host_header: "{{ http_header_vars.header }}"
|
|
protocol: "{{ http_header_vars.protocol }}"
|
|
ip: "{{ http_header_vars.ip }}"
|
|
port: "{{ http_header_vars.port }}"
|
|
register: get_http_header
|
|
changed_when: false
|
|
|
|
- name: remove assert changed and gone
|
|
assert:
|
|
that:
|
|
- http_no_header is changed
|
|
- http_no_header.operation_type == 'removed'
|
|
- http_no_header.binding_info is defined
|
|
- http_no_header.binding_info.ip == "{{ http_vars.ip }}"
|
|
- http_no_header.binding_info.port == {{ http_vars.port }}
|
|
- http_no_header.binding_info.protocol == "{{ http_vars.protocol }}"
|
|
- get_http_no_header.binding is not defined
|
|
- http_header is changed
|
|
- http_header.binding_info is defined
|
|
- http_header.operation_type == 'removed'
|
|
- http_header.binding_info.ip == "{{ http_header_vars.ip }}"
|
|
- http_header.binding_info.port == {{ http_header_vars.port }}
|
|
- http_header.binding_info.protocol == "{{ http_header_vars.protocol }}"
|
|
- http_header.binding_info.hostheader == "{{ http_header_vars.header }}"
|
|
- get_http_header.binding is not defined
|
|
|
|
#remove idem
|
|
#change false, bindings gone
|
|
- name: idem remove http binding no header
|
|
win_iis_webbinding:
|
|
name: "{{ test_iis_site_name }}"
|
|
state: absent
|
|
protocol: "{{ http_vars.protocol }}"
|
|
ip: "{{ http_vars.ip }}"
|
|
port: "{{ http_vars.port }}"
|
|
register: http_no_header
|
|
|
|
- name: get binding info no header
|
|
test_get_webbindings:
|
|
name: "{{ test_iis_site_name }}"
|
|
protocol: "{{ http_vars.protocol }}"
|
|
ip: "{{ http_vars.ip }}"
|
|
port: "{{ http_vars.port }}"
|
|
register: get_http_no_header
|
|
changed_when: false
|
|
|
|
- name: idem remove http binding with header
|
|
win_iis_webbinding:
|
|
name: "{{ test_iis_site_name }}"
|
|
state: absent
|
|
host_header: "{{ http_header_vars.header }}"
|
|
protocol: "{{ http_header_vars.protocol }}"
|
|
ip: "{{ http_header_vars.ip }}"
|
|
port: "{{ http_header_vars.port }}"
|
|
register: http_header
|
|
|
|
- name: get binding info header
|
|
test_get_webbindings:
|
|
name: "{{ test_iis_site_name }}"
|
|
host_header: "{{ http_header_vars.header }}"
|
|
protocol: "{{ http_header_vars.protocol }}"
|
|
ip: "{{ http_header_vars.ip }}"
|
|
port: "{{ http_header_vars.port }}"
|
|
register: get_http_header
|
|
changed_when: false
|
|
|
|
- name: idem remove assert changed and gone
|
|
assert:
|
|
that:
|
|
- http_no_header is not changed
|
|
- http_no_header.binding_info is not defined
|
|
- get_http_no_header.binding is not defined
|
|
- http_header is not changed
|
|
- http_header.binding_info is not defined
|
|
- get_http_header.binding is not defined
|
|
|
|
#bulk remove cm
|
|
#add multiple bindings - verify they're present
|
|
- name: bulk add http binding with header
|
|
win_iis_webbinding:
|
|
name: "{{ test_iis_site_name }}"
|
|
state: present
|
|
host_header: "{{ item }}"
|
|
protocol: http
|
|
ip: '*'
|
|
port: 80
|
|
register: http_header
|
|
with_items:
|
|
- test1.com
|
|
- test2.com
|
|
- test3.com
|
|
|
|
- name: assert that 3 bindings were added
|
|
assert:
|
|
that:
|
|
- http_header is changed
|
|
- http_header | json_query('results[*].binding_info') | length == 3
|
|
|
|
#cm remove with host_header: '*' - verify changed true and that bulk remove tries to get them all
|
|
#remove with host_header: '*'
|
|
|
|
- name: bulk remove http binding with header
|
|
win_iis_webbinding:
|
|
name: "{{ test_iis_site_name }}"
|
|
state: absent
|
|
host_header: '*'
|
|
protocol: http
|
|
ip: '*'
|
|
port: 80
|
|
register: http_header
|
|
|
|
- name: get binding info header
|
|
test_get_webbindings:
|
|
name: "{{ test_iis_site_name }}"
|
|
host_header: "{{ item }}"
|
|
protocol: http
|
|
ip: '*'
|
|
port: 80
|
|
register: get_http_header
|
|
changed_when: false
|
|
with_items:
|
|
- test1.com
|
|
- test2.com
|
|
- test3.com
|
|
|
|
- name: bulk remove assert that bindings are gone
|
|
assert:
|
|
that:
|
|
- http_header is changed
|
|
- http_header.binding_info | length == 3
|