---

- name: Add vector for device-config - detect-only - Network Security TCP SYN Flood
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    state: detect-only
  register: result

- name: Assert Add vector for device-config - detect-only - Network Security TCP SYN Flood
  assert:
    that:
      - result is success
      - result is changed

- name: Add vector for device-config - detect-only - Network Security TCP SYN Flood - Idempotent check
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    state: detect-only
  register: result

- name: Assert Add vector for device-config - detect-only - Network Security TCP SYN Flood - Idempotent check
  assert:
    that:
      - result is success
      - result is not changed

- name: Add vector for device-config - mitigate - Network Security TCP SYN Flood
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    state: mitigate
  register: result

- name: Assert Add vector for device-config - mitigate - Network Security TCP SYN Flood
  assert:
    that:
      - result is success
      - result is changed

- name: Add vector for device-config - mitigate - Network Security TCP SYN Flood - Idempotent check
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    state: mitigate
  register: result

- name: Assert Add vector for device-config - mitigate - Network Security TCP SYN Flood - Idempotent check
  assert:
    that:
      - result is success
      - result is not changed

- name: Add vector for device-config - learn-only - Network Security TCP SYN Flood
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    state: learn-only
  register: result

- name: Assert Add vector for device-config - learn-only - Network Security TCP SYN Flood
  assert:
    that:
      - result is success
      - result is changed

- name: Add vector for device-config - learn-only - Network Security TCP SYN Flood - Idempotent check
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    state: learn-only
  register: result

- name: Assert Add vector for device-config - learn-only - Network Security TCP SYN Flood - Idempotent check
  assert:
    that:
      - result is success
      - result is not changed

- name: Add vector for device-config - disabled - Network Security TCP SYN Flood
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    state: disabled
  register: result

- name: Assert Add vector for device-config - disabled - Network Security TCP SYN Flood
  assert:
    that:
      - result is success
      - result is changed

- name: Add vector for device-config - disabled - Network Security TCP SYN Flood - Idempotent check
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    state: disabled
  register: result

- name: Assert Add vector for device-config - disabled - Network Security TCP SYN Flood - Idempotent check
  assert:
    that:
      - result is success
      - result is not changed

- name: Change state to mitigate - Network Security TCP SYN Flood
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    state: mitigate
  register: result

- name: Change allow_advertisement - yes - Network Security TCP SYN Flood
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    allow_advertisement: yes
  register: result

- name: Assert Change allow_advertisement - yes - Network Security TCP SYN Flood
  assert:
    that:
      - result is changed
      - result is success

- name: Change allow_advertisement - yes - Network Security TCP SYN Flood - Idempotent check
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    allow_advertisement: yes
  register: result

- name: Assert Change allow_advertisement - yes - Network Security TCP SYN Flood - Idempotent check
  assert:
    that:
      - result is not changed
      - result is success

- name: Change allow_advertisement - no - Network Security TCP SYN Flood
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    allow_advertisement: no
  register: result

- name: Assert Change allow_advertisement - no - Network Security TCP SYN Flood
  assert:
    that:
      - result is changed
      - result is success

- name: Change allow_advertisement - no - Network Security TCP SYN Flood - Idempotent check
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    allow_advertisement: no
  register: result

- name: Assert Change allow_advertisement - no - Network Security TCP SYN Flood - Idempotent check
  assert:
    that:
      - result is not changed
      - result is success

- name: Change bad_actor_detection - yes - Network Security TCP SYN Flood
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    bad_actor_detection: yes
  register: result

- name: Assert Change bad_actor_detection - yes - Network Security TCP SYN Flood
  assert:
    that:
      - result is changed
      - result is success

- name: Change bad_actor_detection - yes - Network Security TCP SYN Flood - Idempotent check
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    bad_actor_detection: yes
  register: result

- name: Assert Change bad_actor_detection - yes - Network Security TCP SYN Flood - Idempotent check
  assert:
    that:
      - result is not changed
      - result is success

- name: Change auto_blacklist - yes - Network Security TCP SYN Flood
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    auto_blacklist: yes
  register: result

- name: Assert Change auto_blacklist - yes - Network Security TCP SYN Flood
  assert:
    that:
      - result is changed
      - result is success

- name: Change auto_blacklist - yes - Network Security TCP SYN Flood - Idempotent check
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    auto_blacklist: yes
  register: result

- name: Assert Change auto_blacklist - yes - Network Security TCP SYN Flood - Idempotent check
  assert:
    that:
      - result is not changed
      - result is success

- name: Change auto_blacklist - no - Network Security TCP SYN Flood
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    auto_blacklist: no
  register: result

- name: Assert Change auto_blacklist - no - Network Security TCP SYN Flood
  assert:
    that:
      - result is changed
      - result is success

- name: Change auto_blacklist - no - Network Security TCP SYN Flood - Idempotent check
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    auto_blacklist: no
  register: result

- name: Assert Change auto_blacklist - no - Network Security TCP SYN Flood - Idempotent check
  assert:
    that:
      - result is not changed
      - result is success

- name: Change bad_actor_detection - no - Network Security TCP SYN Flood
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    bad_actor_detection: no
  register: result

- name: Assert Change bad_actor_detection - no - Network Security TCP SYN Flood
  assert:
    that:
      - result is changed
      - result is success

- name: Change bad_actor_detection - no - Network Security TCP SYN Flood - Idempotent check
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    bad_actor_detection: no
  register: result

- name: Assert Change bad_actor_detection - no - Network Security TCP SYN Flood - Idempotent check
  assert:
    that:
      - result is not changed
      - result is success

- name: Change simulate_auto_threshold - yes - Network Security TCP SYN Flood
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    simulate_auto_threshold: yes
  register: result

- name: Assert Change simulate_auto_threshold - yes - Network Security TCP SYN Flood
  assert:
    that:
      - result is changed
      - result is success

- name: Change simulate_auto_threshold - yes - Network Security TCP SYN Flood - Idempotent check
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    simulate_auto_threshold: yes
  register: result

- name: Assert Change simulate_auto_threshold - yes - Network Security TCP SYN Flood - Idempotent check
  assert:
    that:
      - result is not changed
      - result is success

- name: Change simulate_auto_threshold - no - Network Security TCP SYN Flood
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    simulate_auto_threshold: no
  register: result

- name: Assert Change simulate_auto_threshold - no - Network Security TCP SYN Flood
  assert:
    that:
      - result is changed
      - result is success

- name: Change simulate_auto_threshold - no - Network Security TCP SYN Flood - Idempotent check
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    simulate_auto_threshold: no
  register: result

- name: Assert Change simulate_auto_threshold - no - Network Security TCP SYN Flood - Idempotent check
  assert:
    that:
      - result is not changed
      - result is success

- name: Change blacklist_detection_seconds - Network Security TCP SYN Flood
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    blacklist_detection_seconds: 90
  register: result

- name: Assert Change blacklist_detection_seconds - Network Security TCP SYN Flood
  assert:
    that:
      - result is changed
      - result is success

- name: Change blacklist_detection_seconds - Network Security TCP SYN Flood - Idempotent check
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    blacklist_detection_seconds: 90
  register: result

- name: Assert Change blacklist_detection_seconds - Network Security TCP SYN Flood - Idempotent check
  assert:
    that:
      - result is not changed
      - result is success

- name: Change blacklist_duration - Network Security TCP SYN Flood
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    blacklist_duration: 10000
  register: result

- name: Assert Change blacklist_duration - Network Security TCP SYN Flood
  assert:
    that:
      - result is changed
      - result is success

- name: Change blacklist_duration - Network Security TCP SYN Flood - Idempotent check
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    blacklist_duration: 10000
  register: result

- name: Assert Change blacklist_duration - Network Security TCP SYN Flood - Idempotent check
  assert:
    that:
      - result is not changed
      - result is success

- name: Change attack_floor - number - Network Security TCP SYN Flood
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    attack_floor: 20
  register: result

- name: Assert Change attack_floor - number - Network Security TCP SYN Flood
  assert:
    that:
      - result is changed
      - result is success

- name: Change attack_floor - number - Network Security TCP SYN Flood - Idempotent check
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    attack_floor: 20
  register: result

- name: Assert Change attack_floor - number - Network Security TCP SYN Flood - Idempotent check
  assert:
    that:
      - result is not changed
      - result is success

- name: Change attack_ceiling - number - Network Security TCP SYN Flood
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    attack_ceiling: 50
  register: result

- name: Assert Change attack_ceiling - number - Network Security TCP SYN Flood
  assert:
    that:
      - result is changed
      - result is success

- name: Change attack_ceiling - number - Network Security TCP SYN Flood - Idempotent check
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    attack_ceiling: 50
  register: result

- name: Assert Change attack_ceiling - number - Network Security TCP SYN Flood - Idempotent check
  assert:
    that:
      - result is not changed
      - result is success

- name: Change attack_ceiling - infinite - Network Security TCP SYN Flood
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    attack_ceiling: infinite
  register: result

- name: Assert Change attack_ceiling - infinite - Network Security TCP SYN Flood
  assert:
    that:
      - result is changed
      - result is success

- name: Change attack_ceiling - infinite - Network Security TCP SYN Flood - Idempotent check
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    attack_ceiling: infinite
  register: result

- name: Assert Change attack_ceiling - infinite - Network Security TCP SYN Flood - Idempotent check
  assert:
    that:
      - result is not changed
      - result is success

- name: Change per_source_ip_detection_threshold - number - Network Security TCP SYN Flood
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    per_source_ip_detection_threshold: 50
  register: result

- name: Assert Change per_source_ip_detection_threshold - number - Network Security TCP SYN Flood
  assert:
    that:
      - result is changed
      - result is success

- name: Change per_source_ip_detection_threshold - number - Network Security TCP SYN Flood - Idempotent check
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    per_source_ip_detection_threshold: 50
  register: result

- name: Assert Change per_source_ip_detection_threshold - number - Network Security TCP SYN Flood - Idempotent check
  assert:
    that:
      - result is not changed
      - result is success

- name: Change per_source_ip_detection_threshold - infinite - Network Security TCP SYN Flood
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    per_source_ip_detection_threshold: infinite
  register: result

- name: Assert Change per_source_ip_detection_threshold - infinite - Network Security TCP SYN Flood
  assert:
    that:
      - result is changed
      - result is success

- name: Change per_source_ip_detection_threshold - infinite - Network Security TCP SYN Flood - Idempotent check
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    per_source_ip_detection_threshold: infinite
  register: result

- name: Assert Change per_source_ip_detection_threshold - infinite - Network Security TCP SYN Flood - Idempotent check
  assert:
    that:
      - result is not changed
      - result is success

- name: Change per_source_ip_mitigation_threshold - number - Network Security TCP SYN Flood
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    per_source_ip_mitigation_threshold: 20
  register: result

- name: Assert Change per_source_ip_mitigation_threshold - number - Network Security TCP SYN Flood
  assert:
    that:
      - result is changed
      - result is success

- name: Change per_source_ip_mitigation_threshold - number - Network Security TCP SYN Flood - Idempotent check
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    per_source_ip_mitigation_threshold: 20
  register: result

- name: Assert Change per_source_ip_mitigation_threshold - number - Network Security TCP SYN Flood - Idempotent check
  assert:
    that:
      - result is not changed
      - result is success

- name: Change per_source_ip_mitigation_threshold - infinite - Network Security TCP SYN Flood
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    per_source_ip_mitigation_threshold: infinite
  register: result

- name: Assert Change per_source_ip_mitigation_threshold - infinite - Network Security TCP SYN Flood
  assert:
    that:
      - result is changed
      - result is success

- name: Change per_source_ip_mitigation_threshold - infinite - Network Security TCP SYN Flood - Idempotent check
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    per_source_ip_mitigation_threshold: infinite
  register: result

- name: Assert Change per_source_ip_mitigation_threshold - infinite - Network Security TCP SYN Flood - Idempotent check
  assert:
    that:
      - result is not changed
      - result is success

- name: Change detection_threshold_percent - Network Security TCP SYN Flood
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    detection_threshold_percent: 200
  register: result

- name: Assert Change detection_threshold_percent - Network Security TCP SYN Flood
  assert:
    that:
      - result is changed
      - result is success

- name: Change detection_threshold_percent - Network Security TCP SYN Flood - Idempotent check
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    detection_threshold_percent: 200
  register: result

- name: Assert Change detection_threshold_percent - Network Security TCP SYN Flood - Idempotent check
  assert:
    that:
      - result is not changed
      - result is success

- name: Change detection_threshold_eps - number - Network Security TCP SYN Flood
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    detection_threshold_eps: 80
  register: result

- name: Assert Change detection_threshold_eps - number - Network Security TCP SYN Flood
  assert:
    that:
      - result is changed
      - result is success

- name: Change detection_threshold_eps - number - Network Security TCP SYN Flood - Idempotent check
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    detection_threshold_eps: 80
  register: result

- name: Assert Change detection_threshold_eps - number - Network Security TCP SYN Flood - Idempotent check
  assert:
    that:
      - result is not changed
      - result is success

- name: Change detection_threshold_eps - infinite - Network Security TCP SYN Flood
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    detection_threshold_eps: infinite
  register: result

- name: Assert Change detection_threshold_eps - infinite - Network Security TCP SYN Flood
  assert:
    that:
      - result is changed
      - result is success

- name: Change detection_threshold_eps - infinite - Network Security TCP SYN Flood - Idempotent check
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    detection_threshold_eps: infinite
  register: result

- name: Assert Change detection_threshold_eps - infinite - Network Security TCP SYN Flood - Idempotent check
  assert:
    that:
      - result is not changed
      - result is success

- name: Change mitigation_threshold_eps - number - Network Security TCP SYN Flood
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    mitigation_threshold_eps: 90
  register: result

- name: Assert Change mitigation_threshold_eps - number - Network Security TCP SYN Flood
  assert:
    that:
      - result is changed
      - result is success

- name: Change mitigation_threshold_eps - number - Network Security TCP SYN Flood - Idempotent check
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    mitigation_threshold_eps: 90
  register: result

- name: Assert Change mitigation_threshold_eps - number - Network Security TCP SYN Flood - Idempotent check
  assert:
    that:
      - result is not changed
      - result is success

- name: Change mitigation_threshold_eps - infinite - Network Security TCP SYN Flood
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    mitigation_threshold_eps: infinite
  register: result

- name: Assert Change mitigation_threshold_eps - infinite - Network Security TCP SYN Flood
  assert:
    that:
      - result is changed
      - result is success

- name: Change mitigation_threshold_eps - infinite - Network Security TCP SYN Flood - Idempotent check
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    mitigation_threshold_eps: infinite
  register: result

- name: Assert Change mitigation_threshold_eps - infinite - Network Security TCP SYN Flood - Idempotent check
  assert:
    that:
      - result is not changed
      - result is success

- name: Change threshold_mode - stress-based-mitigation - Network Security TCP SYN Flood
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    threshold_mode: stress-based-mitigation
  register: result

- name: Assert Change threshold_mode - stress-based-mitigation - Network Security TCP SYN Flood
  assert:
    that:
      - result is changed
      - result is success

- name: Change threshold_mode - stress-based-mitigation - Network Security TCP SYN Flood - Idempotent check
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    threshold_mode: stress-based-mitigation
  register: result

- name: Assert Change threshold_mode - stress-based-mitigation - Network Security TCP SYN Flood - Idempotent check
  assert:
    that:
      - result is not changed
      - result is success

- name: Change threshold_mode - fully-automatic - Network Security TCP SYN Flood
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    threshold_mode: fully-automatic
  register: result

- name: Assert Change threshold_mode - fully-automatic - Network Security TCP SYN Flood
  assert:
    that:
      - result is changed
      - result is success

- name: Change threshold_mode - fully-automatic - Network Security TCP SYN Flood - Idempotent check
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    threshold_mode: fully-automatic
  register: result

- name: Assert Change threshold_mode - fully-automatic - Network Security TCP SYN Flood - Idempotent check
  assert:
    that:
      - result is not changed
      - result is success

- name: Change threshold_mode - manual - Network Security TCP SYN Flood
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    threshold_mode: manual
  register: result

- name: Assert Change threshold_mode - manual - Network Security TCP SYN Flood
  assert:
    that:
      - result is changed
      - result is success

- name: Change threshold_mode - manual - Network Security TCP SYN Flood - Idempotent check
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    threshold_mode: manual
  register: result

- name: Assert Change threshold_mode - manual - Network Security TCP SYN Flood - Idempotent check
  assert:
    that:
      - result is not changed
      - result is success

- name: Remove vector from device-config - Network Security TCP SYN Flood
  bigip_firewall_dos_vector:
    name: tcp-syn-flood
    profile: device-config
    state: disabled
