diff --git a/examples/aaacertparams.yaml b/examples/aaacertparams.yaml new file mode 100644 index 000000000..382d8745d --- /dev/null +++ b/examples/aaacertparams.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample aaacertparams playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaacertparams + delegate_to: localhost + netscaler.adc.aaacertparams: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + usernamefield: Subject:CN + groupnamefield: Subject:OU + defaultauthenticationgroup: abc diff --git a/examples/aaagroup.yaml b/examples/aaagroup.yaml new file mode 100644 index 000000000..bf2fda648 --- /dev/null +++ b/examples/aaagroup.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample aaagroup playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaagroup + delegate_to: localhost + netscaler.adc.aaagroup: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + groupname: External diff --git a/examples/aaagroup_aaauser_binding.yaml b/examples/aaagroup_aaauser_binding.yaml new file mode 100644 index 000000000..f62551c03 --- /dev/null +++ b/examples/aaagroup_aaauser_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample aaagroup_aaauser_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaagroup_aaauser_binding + delegate_to: localhost + netscaler.adc.aaagroup_aaauser_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + groupname: group1 + username: user1 diff --git a/examples/aaagroup_auditnslogpolicy_binding.yaml b/examples/aaagroup_auditnslogpolicy_binding.yaml new file mode 100644 index 000000000..6309927a9 --- /dev/null +++ b/examples/aaagroup_auditnslogpolicy_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample aaagroup_auditnslogpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaagroup_auditnslogpolicy_binding + delegate_to: localhost + netscaler.adc.aaagroup_auditnslogpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + groupname: aaagrp + policy: ia_nspol1 diff --git a/examples/aaagroup_auditsyslogpolicy_binding.yaml b/examples/aaagroup_auditsyslogpolicy_binding.yaml new file mode 100644 index 000000000..ac32e6bef --- /dev/null +++ b/examples/aaagroup_auditsyslogpolicy_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample aaagroup_auditsyslogpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaagroup_auditsyslogpolicy_binding + delegate_to: localhost + netscaler.adc.aaagroup_auditsyslogpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + groupname: aaagrp + policy: ia_syspol1 diff --git a/examples/aaagroup_authorizationpolicy_binding.yaml b/examples/aaagroup_authorizationpolicy_binding.yaml new file mode 100644 index 000000000..b48994bd7 --- /dev/null +++ b/examples/aaagroup_authorizationpolicy_binding.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample aaagroup_authorizationpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaagroup_authorizationpolicy_binding + delegate_to: localhost + netscaler.adc.aaagroup_authorizationpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + groupname: aaagrp1 + policy: ia_authorpol1 + priority: '11' diff --git a/examples/aaagroup_intranetip_binding.yaml b/examples/aaagroup_intranetip_binding.yaml new file mode 100644 index 000000000..82b0b5c5b --- /dev/null +++ b/examples/aaagroup_intranetip_binding.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample aaagroup_intranetip_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaagroup_intranetip_binding + delegate_to: localhost + netscaler.adc.aaagroup_intranetip_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + groupname: group1 + intranetip: 192.168.1.80 + netmask: 255.255.255.240 diff --git a/examples/aaagroup_tmsessionpolicy_binding.yaml b/examples/aaagroup_tmsessionpolicy_binding.yaml new file mode 100644 index 000000000..7e356c158 --- /dev/null +++ b/examples/aaagroup_tmsessionpolicy_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample aaagroup_tmsessionpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaagroup_tmsessionpolicy_binding + delegate_to: localhost + netscaler.adc.aaagroup_tmsessionpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + groupname: aaagrp1 + policy: ia_tmsespol1 diff --git a/examples/aaagroup_vpnintranetapplication_binding.yaml b/examples/aaagroup_vpnintranetapplication_binding.yaml new file mode 100644 index 000000000..493a15c4c --- /dev/null +++ b/examples/aaagroup_vpnintranetapplication_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample aaagroup_vpnintranetapplication_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaagroup_vpnintranetapplication_binding + delegate_to: localhost + netscaler.adc.aaagroup_vpnintranetapplication_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + groupname: group1 + intranetapplication: intra_app2 diff --git a/examples/aaagroup_vpnsessionpolicy_binding.yaml b/examples/aaagroup_vpnsessionpolicy_binding.yaml new file mode 100644 index 000000000..2e8398907 --- /dev/null +++ b/examples/aaagroup_vpnsessionpolicy_binding.yaml @@ -0,0 +1,17 @@ +--- +- name: Sample aaagroup_vpnsessionpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaagroup_vpnsessionpolicy_binding + delegate_to: localhost + netscaler.adc.aaagroup_vpnsessionpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + groupname: External + policy: External_receiver_session_pol + priority: '110' + gotopriorityexpression: NEXT diff --git a/examples/aaagroup_vpnurl_binding.yaml b/examples/aaagroup_vpnurl_binding.yaml new file mode 100644 index 000000000..e89747145 --- /dev/null +++ b/examples/aaagroup_vpnurl_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample aaagroup_vpnurl_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaagroup_vpnurl_binding + delegate_to: localhost + netscaler.adc.aaagroup_vpnurl_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + groupname: baluGrp2 + urlname: sp2k7FqdnHttps diff --git a/examples/aaakcdaccount.yaml b/examples/aaakcdaccount.yaml new file mode 100644 index 000000000..2631c8b84 --- /dev/null +++ b/examples/aaakcdaccount.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample aaakcdaccount playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaakcdaccount + delegate_to: localhost + netscaler.adc.aaakcdaccount: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + kcdaccount: kcdaccount1 + realmstr: dnpg diff --git a/examples/aaaldapparams.yaml b/examples/aaaldapparams.yaml new file mode 100644 index 000000000..7e62b0063 --- /dev/null +++ b/examples/aaaldapparams.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample aaaldapparams playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaaldapparams + delegate_to: localhost + netscaler.adc.aaaldapparams: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + sectype: PLAINTEXT diff --git a/examples/aaaparameter.yaml b/examples/aaaparameter.yaml index c3d78293c..758f53ba4 100644 --- a/examples/aaaparameter.yaml +++ b/examples/aaaparameter.yaml @@ -1,10 +1,16 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample aaaparameter playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | aaaparameter + - name: Configure aaaparameter delegate_to: localhost netscaler.adc.aaaparameter: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present maxaaausers: '4294967295' + aaasessionloglevel: DEBUG + aaadloglevel: ALERT diff --git a/examples/aaapreauthenticationaction.yaml b/examples/aaapreauthenticationaction.yaml new file mode 100644 index 000000000..e14d54edd --- /dev/null +++ b/examples/aaapreauthenticationaction.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample aaapreauthenticationaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaapreauthenticationaction + delegate_to: localhost + netscaler.adc.aaapreauthenticationaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: preact + preauthenticationaction: ALLOW diff --git a/examples/aaapreauthenticationpolicy.yaml b/examples/aaapreauthenticationpolicy.yaml new file mode 100644 index 000000000..dda42dfe1 --- /dev/null +++ b/examples/aaapreauthenticationpolicy.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample aaapreauthenticationpolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaapreauthenticationpolicy + delegate_to: localhost + netscaler.adc.aaapreauthenticationpolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: preact + rule: client.os(win8.1) exists || client.os(win8) exists + reqaction: preact diff --git a/examples/aaaradiusparams.yaml b/examples/aaaradiusparams.yaml new file mode 100644 index 000000000..53a3f3380 --- /dev/null +++ b/examples/aaaradiusparams.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample aaaradiusparams playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaaradiusparams + delegate_to: localhost + netscaler.adc.aaaradiusparams: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + serverip: 10.102.25.64 + radkey: test123 diff --git a/examples/aaatacacsparams.yaml b/examples/aaatacacsparams.yaml new file mode 100644 index 000000000..f152cf0f0 --- /dev/null +++ b/examples/aaatacacsparams.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample aaatacacsparams playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaatacacsparams + delegate_to: localhost + netscaler.adc.aaatacacsparams: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + serverip: 10.102.25.65 + tacacssecret: REQ_PASSWORD diff --git a/examples/aaauser.yaml b/examples/aaauser.yaml new file mode 100644 index 000000000..acfd899f5 --- /dev/null +++ b/examples/aaauser.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample aaauser playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaauser + delegate_to: localhost + netscaler.adc.aaauser: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + username: msiuser1 diff --git a/examples/aaauser_auditnslogpolicy_binding.yaml b/examples/aaauser_auditnslogpolicy_binding.yaml new file mode 100644 index 000000000..395527dcd --- /dev/null +++ b/examples/aaauser_auditnslogpolicy_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample aaauser_auditnslogpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaauser_auditnslogpolicy_binding + delegate_to: localhost + netscaler.adc.aaauser_auditnslogpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + username: aaauser + policy: ia_nspol1 diff --git a/examples/aaauser_auditsyslogpolicy_binding.yaml b/examples/aaauser_auditsyslogpolicy_binding.yaml new file mode 100644 index 000000000..0f8979151 --- /dev/null +++ b/examples/aaauser_auditsyslogpolicy_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample aaauser_auditsyslogpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaauser_auditsyslogpolicy_binding + delegate_to: localhost + netscaler.adc.aaauser_auditsyslogpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + username: aaauser + policy: ia_syspol1 diff --git a/examples/aaauser_authorizationpolicy_binding.yaml b/examples/aaauser_authorizationpolicy_binding.yaml new file mode 100644 index 000000000..0c232805a --- /dev/null +++ b/examples/aaauser_authorizationpolicy_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample aaauser_authorizationpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaauser_authorizationpolicy_binding + delegate_to: localhost + netscaler.adc.aaauser_authorizationpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + username: ns + policy: deny_raaga diff --git a/examples/aaauser_intranetip_binding.yaml b/examples/aaauser_intranetip_binding.yaml new file mode 100644 index 000000000..201241447 --- /dev/null +++ b/examples/aaauser_intranetip_binding.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample aaauser_intranetip_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaauser_intranetip_binding + delegate_to: localhost + netscaler.adc.aaauser_intranetip_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + username: test + intranetip: 10.102.111.13 + netmask: 255.255.255.255 diff --git a/examples/aaauser_tmsessionpolicy_binding.yaml b/examples/aaauser_tmsessionpolicy_binding.yaml new file mode 100644 index 000000000..04b7caf5d --- /dev/null +++ b/examples/aaauser_tmsessionpolicy_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample aaauser_tmsessionpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaauser_tmsessionpolicy_binding + delegate_to: localhost + netscaler.adc.aaauser_tmsessionpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + username: aaauser1 + policy: ia_tmsespol1 diff --git a/examples/aaauser_vpnintranetapplication_binding.yaml b/examples/aaauser_vpnintranetapplication_binding.yaml new file mode 100644 index 000000000..8af31e906 --- /dev/null +++ b/examples/aaauser_vpnintranetapplication_binding.yaml @@ -0,0 +1,19 @@ +--- +- name: Sample aaauser_vpnintranetapplication_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaauser_vpnintranetapplication_binding + delegate_to: localhost + netscaler.adc.aaauser_vpnintranetapplication_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + username: user1 + policy: vpn_sespol1 + intranetapplication: intra_app11 + urlname: vpn_url + intranetip: 192.168.1.80 + netmask: 255.255.255.240 diff --git a/examples/aaauser_vpnsessionpolicy_binding.yaml b/examples/aaauser_vpnsessionpolicy_binding.yaml new file mode 100644 index 000000000..c629d55f9 --- /dev/null +++ b/examples/aaauser_vpnsessionpolicy_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample aaauser_vpnsessionpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaauser_vpnsessionpolicy_binding + delegate_to: localhost + netscaler.adc.aaauser_vpnsessionpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + username: q11 + policy: csec diff --git a/examples/aaauser_vpnurl_binding.yaml b/examples/aaauser_vpnurl_binding.yaml new file mode 100644 index 000000000..ea8130f51 --- /dev/null +++ b/examples/aaauser_vpnurl_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample aaauser_vpnurl_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaauser_vpnurl_binding + delegate_to: localhost + netscaler.adc.aaauser_vpnurl_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + username: phani2222 + urlname: owa2k7FqdnHttp diff --git a/examples/analyticsprofile.yaml b/examples/analyticsprofile.yaml new file mode 100644 index 000000000..1405ab790 --- /dev/null +++ b/examples/analyticsprofile.yaml @@ -0,0 +1,20 @@ +--- +- name: Sample analyticsprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure analyticsprofile + delegate_to: localhost + netscaler.adc.analyticsprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: telemetry_metrics_profile + type: timeseries + outputmode: prometheus + metrics: ENABLED + servemode: Pull + schemafile: ./telemetry_collect_ns_metrics_schema.json + metricsexportfrequency: '300' diff --git a/examples/appflowaction.yaml b/examples/appflowaction.yaml new file mode 100644 index 000000000..7fbb82b2a --- /dev/null +++ b/examples/appflowaction.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample appflowaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appflowaction + delegate_to: localhost + netscaler.adc.appflowaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: af_action_log_10.189.64.10_nop + collectors: + - af_collector_logstream_10.189.64.10 diff --git a/examples/appflowcollector.yaml b/examples/appflowcollector.yaml new file mode 100644 index 000000000..38eb5547e --- /dev/null +++ b/examples/appflowcollector.yaml @@ -0,0 +1,17 @@ +--- +- name: Sample appflowcollector playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appflowcollector + delegate_to: localhost + netscaler.adc.appflowcollector: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: af_collector_logstream_10.189.64.10 + ipaddress: 10.189.64.10 + port: 5557 + transport: logstream diff --git a/examples/appflowglobal_appflowpolicy_binding.yaml b/examples/appflowglobal_appflowpolicy_binding.yaml new file mode 100644 index 000000000..fd8ffff75 --- /dev/null +++ b/examples/appflowglobal_appflowpolicy_binding.yaml @@ -0,0 +1,20 @@ +--- +- name: Sample appflowglobal_appflowpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appflowglobal_appflowpolicy_binding + delegate_to: localhost + netscaler.adc.appflowglobal_appflowpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + policyname: ia_appflowpol12 + priority: '42' + gotopriorityexpression: end + type: REQ_OVERRIDE + invoke: true + labeltype: vserver + labelname: cs_invoke1 diff --git a/examples/appflowparam.yaml b/examples/appflowparam.yaml index 7d1600cce..59208037a 100644 --- a/examples/appflowparam.yaml +++ b/examples/appflowparam.yaml @@ -1,10 +1,24 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample appflowparam playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | appflowparam + - name: Configure appflowparam delegate_to: localhost netscaler.adc.appflowparam: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - observationpointid: '2370493962' + templaterefresh: 3600 + httpurl: ENABLED + httpmethod: ENABLED + httphost: ENABLED + httpuseragent: ENABLED + httpcontenttype: ENABLED + cacheinsight: ENABLED + httpquerywithurl: ENABLED + metrics: ENABLED + events: ENABLED + observationpointid: '843103498' diff --git a/examples/appflowpolicy.yaml b/examples/appflowpolicy.yaml new file mode 100644 index 000000000..a7c896921 --- /dev/null +++ b/examples/appflowpolicy.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample appflowpolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appflowpolicy + delegate_to: localhost + netscaler.adc.appflowpolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: af_policy_act_log_10.189.64.10 + rule: 'true' + action: af_action_log_10.189.64.10_nop diff --git a/examples/appflowpolicylabel.yaml b/examples/appflowpolicylabel.yaml new file mode 100644 index 000000000..f839a0ad4 --- /dev/null +++ b/examples/appflowpolicylabel.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample appflowpolicylabel playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appflowpolicylabel + delegate_to: localhost + netscaler.adc.appflowpolicylabel: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + labelname: ia_appflow_polabl3 diff --git a/examples/appfwconfidfield.yaml b/examples/appfwconfidfield.yaml new file mode 100644 index 000000000..2f7637eb1 --- /dev/null +++ b/examples/appfwconfidfield.yaml @@ -0,0 +1,17 @@ +--- +- name: Sample appfwconfidfield playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appfwconfidfield + delegate_to: localhost + netscaler.adc.appfwconfidfield: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + fieldname: ia_appfwfield1 + url: http://url + isregex: NOTREGEX + comment: sample diff --git a/examples/appfwfieldtype.yaml b/examples/appfwfieldtype.yaml new file mode 100644 index 000000000..008ecc442 --- /dev/null +++ b/examples/appfwfieldtype.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample appfwfieldtype playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appfwfieldtype + delegate_to: localhost + netscaler.adc.appfwfieldtype: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: CM1454107840652651 + regex: ^[A-Z\\a-z]+$ + priority: '10' diff --git a/examples/appfwglobal_appfwpolicy_binding.yaml b/examples/appfwglobal_appfwpolicy_binding.yaml new file mode 100644 index 000000000..33de57fd6 --- /dev/null +++ b/examples/appfwglobal_appfwpolicy_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample appfwglobal_appfwpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appfwglobal_appfwpolicy_binding + delegate_to: localhost + netscaler.adc.appfwglobal_appfwpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + policyname: pr_appfw_pol + priority: '1' diff --git a/examples/appfwgrpccontenttype.yaml b/examples/appfwgrpccontenttype.yaml new file mode 100644 index 000000000..a99ca6224 --- /dev/null +++ b/examples/appfwgrpccontenttype.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample appfwgrpccontenttype playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appfwgrpccontenttype + delegate_to: localhost + netscaler.adc.appfwgrpccontenttype: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + grpccontenttypevalue: application/grpc-web+proto diff --git a/examples/appfwgrpcwebjsoncontenttype.yaml b/examples/appfwgrpcwebjsoncontenttype.yaml new file mode 100644 index 000000000..6cdc615ba --- /dev/null +++ b/examples/appfwgrpcwebjsoncontenttype.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample appfwgrpcwebjsoncontenttype playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appfwgrpcwebjsoncontenttype + delegate_to: localhost + netscaler.adc.appfwgrpcwebjsoncontenttype: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + grpcwebjsoncontenttypevalue: application/grpc-web+json diff --git a/examples/appfwgrpcwebtextcontenttype.yaml b/examples/appfwgrpcwebtextcontenttype.yaml new file mode 100644 index 000000000..d038aaec2 --- /dev/null +++ b/examples/appfwgrpcwebtextcontenttype.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample appfwgrpcwebtextcontenttype playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appfwgrpcwebtextcontenttype + delegate_to: localhost + netscaler.adc.appfwgrpcwebtextcontenttype: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + grpcwebtextcontenttypevalue: application/grpc-web-text diff --git a/examples/appfwhtmlerrorpage.yaml b/examples/appfwhtmlerrorpage.yaml new file mode 100644 index 000000000..fd344e859 --- /dev/null +++ b/examples/appfwhtmlerrorpage.yaml @@ -0,0 +1,17 @@ +--- +- name: Sample appfwhtmlerrorpage playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appfwhtmlerrorpage + delegate_to: localhost + netscaler.adc.appfwhtmlerrorpage: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + src: http://10.217.30.16/testsite/Signatures/44_38_1_36/credit_card.html + name: Html_ Error_2 + nitro_operation: import + '#nitro_operation': import diff --git a/examples/appfwjsoncontenttype.yaml b/examples/appfwjsoncontenttype.yaml index 4374d335e..e3d9b631e 100644 --- a/examples/appfwjsoncontenttype.yaml +++ b/examples/appfwjsoncontenttype.yaml @@ -1,11 +1,15 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample appfwjsoncontenttype playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | appfwJSONContentType + - name: Configure appfwjsoncontenttype delegate_to: localhost netscaler.adc.appfwjsoncontenttype: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - jsoncontenttypevalue: "^application/json$" + jsoncontenttypevalue: ^application/json$ isregex: REGEX diff --git a/examples/appfwmultipartformcontenttype.yaml b/examples/appfwmultipartformcontenttype.yaml index 15f361375..faf526b19 100644 --- a/examples/appfwmultipartformcontenttype.yaml +++ b/examples/appfwmultipartformcontenttype.yaml @@ -1,16 +1,15 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample appfwmultipartformcontenttype playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | appfwmultipartFormContentType - delegate_to: localhost - netscaler.adc.appfwmultipartformcontenttype: - state: present - multipartformcontenttypevalue: multipart/form-data - - name: Sample Task | appfwmultipartFormContentType | 2 + - name: Configure appfwmultipartformcontenttype delegate_to: localhost netscaler.adc.appfwmultipartformcontenttype: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present multipartformcontenttypevalue: multipart/form-data.* isregex: REGEX diff --git a/examples/appfwpolicy.yaml b/examples/appfwpolicy.yaml new file mode 100644 index 000000000..6d74c6d96 --- /dev/null +++ b/examples/appfwpolicy.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample appfwpolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appfwpolicy + delegate_to: localhost + netscaler.adc.appfwpolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: pr_appfw_pol + rule: HTTP.REQ.HEADER("Host").EXISTS + profilename: pr_appfw diff --git a/examples/appfwpolicylabel.yaml b/examples/appfwpolicylabel.yaml new file mode 100644 index 000000000..36266d591 --- /dev/null +++ b/examples/appfwpolicylabel.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample appfwpolicylabel playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appfwpolicylabel + delegate_to: localhost + netscaler.adc.appfwpolicylabel: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + labelname: appfw_label_02 + policylabeltype: http_req diff --git a/examples/appfwpolicylabel_appfwpolicy_binding.yaml b/examples/appfwpolicylabel_appfwpolicy_binding.yaml new file mode 100644 index 000000000..076107681 --- /dev/null +++ b/examples/appfwpolicylabel_appfwpolicy_binding.yaml @@ -0,0 +1,19 @@ +--- +- name: Sample appfwpolicylabel_appfwpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appfwpolicylabel_appfwpolicy_binding + delegate_to: localhost + netscaler.adc.appfwpolicylabel_appfwpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + labelname: appfw_label_01 + policyname: ia_appfwpol1 + priority: '1' + invoke: true + labeltype: policylabel + invoke_labelname: appfw_label_02 diff --git a/examples/appfwprofile.yaml b/examples/appfwprofile.yaml new file mode 100644 index 000000000..0618600d0 --- /dev/null +++ b/examples/appfwprofile.yaml @@ -0,0 +1,18 @@ +--- +- name: Sample appfwprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appfwprofile + delegate_to: localhost + netscaler.adc.appfwprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: pr_appfw + starturlaction: + - learn + - log + - stats diff --git a/examples/appfwprofile_creditcardnumber_binding.yaml b/examples/appfwprofile_creditcardnumber_binding.yaml new file mode 100644 index 000000000..4839f243f --- /dev/null +++ b/examples/appfwprofile_creditcardnumber_binding.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample appfwprofile_creditcardnumber_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appfwprofile_creditcardnumber_binding + delegate_to: localhost + netscaler.adc.appfwprofile_creditcardnumber_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: Test_profile + creditcardnumber: '348238190706900' + creditcardnumberurl: ^http://test.net/credit.html$ diff --git a/examples/appfwprofile_crosssitescripting_binding.yaml b/examples/appfwprofile_crosssitescripting_binding.yaml new file mode 100644 index 000000000..41f2bbf42 --- /dev/null +++ b/examples/appfwprofile_crosssitescripting_binding.yaml @@ -0,0 +1,20 @@ +--- +- name: Sample appfwprofile_crosssitescripting_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appfwprofile_crosssitescripting_binding + delegate_to: localhost + netscaler.adc.appfwprofile_crosssitescripting_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: Test_profile + crosssitescripting: text_area + formactionurl_xss: ^http://test.net/forms/login.php$ + as_scan_location_xss: FORMFIELD + as_value_type_xss: Pattern + as_value_expr_xss: onblur + isvalueregex_xss: NOTREGEX diff --git a/examples/appfwprofile_fieldformat_binding.yaml b/examples/appfwprofile_fieldformat_binding.yaml new file mode 100644 index 000000000..7b062312c --- /dev/null +++ b/examples/appfwprofile_fieldformat_binding.yaml @@ -0,0 +1,20 @@ +--- +- name: Sample appfwprofile_fieldformat_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appfwprofile_fieldformat_binding + delegate_to: localhost + netscaler.adc.appfwprofile_fieldformat_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: Test_profile + fieldformat: text_area + formactionurl_ff: ^http://test.net/credit.html$ + fieldtype: CM1454107840652651 + fieldformatminlength: '1' + fieldformatmaxlength: '78' + isregex_ff: NOTREGEX diff --git a/examples/appfwprofile_logexpression_binding.yaml b/examples/appfwprofile_logexpression_binding.yaml new file mode 100644 index 000000000..b1ddda9f5 --- /dev/null +++ b/examples/appfwprofile_logexpression_binding.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample appfwprofile_logexpression_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appfwprofile_logexpression_binding + delegate_to: localhost + netscaler.adc.appfwprofile_logexpression_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: profile2 + logexpression: xyz + as_logexpression: http.req.url diff --git a/examples/appfwprofile_sqlinjection_binding.yaml b/examples/appfwprofile_sqlinjection_binding.yaml new file mode 100644 index 000000000..b11e981e8 --- /dev/null +++ b/examples/appfwprofile_sqlinjection_binding.yaml @@ -0,0 +1,20 @@ +--- +- name: Sample appfwprofile_sqlinjection_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appfwprofile_sqlinjection_binding + delegate_to: localhost + netscaler.adc.appfwprofile_sqlinjection_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: Test_profile + sqlinjection: text_area + formactionurl_sql: ^http://test.net/forms/login.php$ + as_scan_location_sql: FORMFIELD + as_value_type_sql: SpecialString + as_value_expr_sql: ; + isvalueregex_sql: NOTREGEX diff --git a/examples/appfwprofile_xmlvalidationurl_binding.yaml b/examples/appfwprofile_xmlvalidationurl_binding.yaml new file mode 100644 index 000000000..bf950ffaa --- /dev/null +++ b/examples/appfwprofile_xmlvalidationurl_binding.yaml @@ -0,0 +1,17 @@ +--- +- name: Sample appfwprofile_xmlvalidationurl_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appfwprofile_xmlvalidationurl_binding + delegate_to: localhost + netscaler.adc.appfwprofile_xmlvalidationurl_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: XMLSchema_2 + xmlvalidationurl: .* + xmlrequestschema: Xml_Schema_2 + xmlresponseschema: Xml_Schema_2 diff --git a/examples/appfwsettings.yaml b/examples/appfwsettings.yaml new file mode 100644 index 000000000..2151b8998 --- /dev/null +++ b/examples/appfwsettings.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample appfwsettings playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appfwsettings + delegate_to: localhost + netscaler.adc.appfwsettings: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + sessiontimeout: '180' diff --git a/examples/appfwsignatures.yaml b/examples/appfwsignatures.yaml new file mode 100644 index 000000000..1de0ca58a --- /dev/null +++ b/examples/appfwsignatures.yaml @@ -0,0 +1,17 @@ +--- +- name: Sample appfwsignatures playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appfwsignatures + delegate_to: localhost + netscaler.adc.appfwsignatures: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + src: http://10.217.30.16/test_sigs/v13/sigs/sig-r11.1b0v13s6_enabled.xml + name: Space caps + nitro_operation: import + '#nitro_operation': import diff --git a/examples/appfwurlencodedformcontenttype.yaml b/examples/appfwurlencodedformcontenttype.yaml index c71210939..0f3f786bb 100644 --- a/examples/appfwurlencodedformcontenttype.yaml +++ b/examples/appfwurlencodedformcontenttype.yaml @@ -1,16 +1,15 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample appfwurlencodedformcontenttype playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | appfwurlEncodedFormContentType - delegate_to: localhost - netscaler.adc.appfwurlencodedformcontenttype: - state: present - urlencodedformcontenttypevalue: application/x-www-form-urlencoded - - name: Sample Task | appfwurlEncodedFormContentType | 2 + - name: Configure appfwurlencodedformcontenttype delegate_to: localhost netscaler.adc.appfwurlencodedformcontenttype: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present urlencodedformcontenttypevalue: application/x-www-form-urlencoded.* isregex: REGEX diff --git a/examples/appfwwsdl.yaml b/examples/appfwwsdl.yaml new file mode 100644 index 000000000..f20210473 --- /dev/null +++ b/examples/appfwwsdl.yaml @@ -0,0 +1,17 @@ +--- +- name: Sample appfwwsdl playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appfwwsdl + delegate_to: localhost + netscaler.adc.appfwwsdl: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + src: http://10.217.30.16/testsite/Signatures/44_38_1_36/YellowPages.xml + name: Https_Wsd l 2 + nitro_operation: import + '#nitro_operation': import diff --git a/examples/appfwxmlcontenttype.yaml b/examples/appfwxmlcontenttype.yaml index bee38dc86..6c22d732a 100644 --- a/examples/appfwxmlcontenttype.yaml +++ b/examples/appfwxmlcontenttype.yaml @@ -1,11 +1,15 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample appfwxmlcontenttype playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | appfwXMLContentType + - name: Configure appfwxmlcontenttype delegate_to: localhost netscaler.adc.appfwxmlcontenttype: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - xmlcontenttypevalue: .*/xml - isregex: REGEX + xmlcontenttypevalue: END + isregex: NOTREGEX diff --git a/examples/appfwxmlerrorpage.yaml b/examples/appfwxmlerrorpage.yaml new file mode 100644 index 000000000..9bd093375 --- /dev/null +++ b/examples/appfwxmlerrorpage.yaml @@ -0,0 +1,17 @@ +--- +- name: Sample appfwxmlerrorpage playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appfwxmlerrorpage + delegate_to: localhost + netscaler.adc.appfwxmlerrorpage: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + src: http://10.217.30.16/testsite/Signatures/44_38_1_36/credit_card.html + name: Xml_Error_1 + nitro_operation: import + '#nitro_operation': import diff --git a/examples/appfwxmlschema.yaml b/examples/appfwxmlschema.yaml new file mode 100644 index 000000000..7e1ffc432 --- /dev/null +++ b/examples/appfwxmlschema.yaml @@ -0,0 +1,17 @@ +--- +- name: Sample appfwxmlschema playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appfwxmlschema + delegate_to: localhost + netscaler.adc.appfwxmlschema: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + src: http://10.217.30.16/testsite/Signatures/44_38_1_36/schema.xml + name: lower_schema + nitro_operation: import + '#nitro_operation': import diff --git a/examples/appqoeaction.yaml b/examples/appqoeaction.yaml new file mode 100644 index 000000000..21db57efe --- /dev/null +++ b/examples/appqoeaction.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample appqoeaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appqoeaction + delegate_to: localhost + netscaler.adc.appqoeaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: appact22_ns + priority: MEDIUM diff --git a/examples/appqoepolicy.yaml b/examples/appqoepolicy.yaml new file mode 100644 index 000000000..ee50a5aaa --- /dev/null +++ b/examples/appqoepolicy.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample appqoepolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appqoepolicy + delegate_to: localhost + netscaler.adc.appqoepolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: apppol3_ns + rule: SUBSCRIBER.AVP(250).VALUE.CONTAINS("name") + action: appact22_ns diff --git a/examples/arp.yaml b/examples/arp.yaml new file mode 100644 index 000000000..78a5298b1 --- /dev/null +++ b/examples/arp.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample arp playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure arp + delegate_to: localhost + netscaler.adc.arp: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + ipaddress: 177.0.0.31 + mac: 96:f1:a0:2b:98:1f + ifnum: 1/2 diff --git a/examples/arpparam.yaml b/examples/arpparam.yaml new file mode 100644 index 000000000..8b12a5810 --- /dev/null +++ b/examples/arpparam.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample arpparam playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure arpparam + delegate_to: localhost + netscaler.adc.arpparam: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + spoofvalidation: ENABLED diff --git a/examples/auditmessageaction.yaml b/examples/auditmessageaction.yaml new file mode 100644 index 000000000..e43bdced8 --- /dev/null +++ b/examples/auditmessageaction.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample auditmessageaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure auditmessageaction + delegate_to: localhost + netscaler.adc.auditmessageaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: sample + loglevel: INFORMATIONAL + stringbuilderexpr: client.ip.src diff --git a/examples/auditnslogaction.yaml b/examples/auditnslogaction.yaml new file mode 100644 index 000000000..735336b07 --- /dev/null +++ b/examples/auditnslogaction.yaml @@ -0,0 +1,18 @@ +--- +- name: Sample auditnslogaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure auditnslogaction + delegate_to: localhost + netscaler.adc.auditnslogaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: nslog_act1 + serverip: 10.102.8.183 + serverport: 80 + loglevel: + - ALL diff --git a/examples/auditnslogglobal.yaml b/examples/auditnslogglobal.yaml new file mode 100644 index 000000000..c88585e12 --- /dev/null +++ b/examples/auditnslogglobal.yaml @@ -0,0 +1,17 @@ +--- +- name: Sample auditnslogglobal playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure auditnslogglobal + delegate_to: localhost + netscaler.adc.auditnslogglobal: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + policyname: np1 + globalbindtype: SYSTEM_GLOBAL + nitro_operation: unbind + '#nitro_operation': unbind diff --git a/examples/auditnslogparams.yaml b/examples/auditnslogparams.yaml new file mode 100644 index 000000000..b9b2ea705 --- /dev/null +++ b/examples/auditnslogparams.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample auditnslogparams playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure auditnslogparams + delegate_to: localhost + netscaler.adc.auditnslogparams: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + loglevel: + - ALL diff --git a/examples/auditnslogpolicy.yaml b/examples/auditnslogpolicy.yaml new file mode 100644 index 000000000..639ccfe40 --- /dev/null +++ b/examples/auditnslogpolicy.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample auditnslogpolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure auditnslogpolicy + delegate_to: localhost + netscaler.adc.auditnslogpolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: nslog_pol + rule: 'true' + action: nslog_act1 diff --git a/examples/auditsyslogaction.yaml b/examples/auditsyslogaction.yaml new file mode 100644 index 000000000..db6e7c3d1 --- /dev/null +++ b/examples/auditsyslogaction.yaml @@ -0,0 +1,20 @@ +--- +- name: Sample auditsyslogaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure auditsyslogaction + delegate_to: localhost + netscaler.adc.auditsyslogaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: act1121 + lbvservername: lb511 + loglevel: + - ALL + lsn: ENABLED + transport: TCP + maxlogdatasizetohold: '1000' diff --git a/examples/auditsyslogglobal.yaml b/examples/auditsyslogglobal.yaml new file mode 100644 index 000000000..8a6acff18 --- /dev/null +++ b/examples/auditsyslogglobal.yaml @@ -0,0 +1,17 @@ +--- +- name: Sample auditsyslogglobal playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure auditsyslogglobal + delegate_to: localhost + netscaler.adc.auditsyslogglobal: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + policyname: sp1 + globalbindtype: SYSTEM_GLOBAL + nitro_operation: unbind + '#nitro_operation': unbind diff --git a/examples/auditsyslogglobal_auditsyslogpolicy_binding.yaml b/examples/auditsyslogglobal_auditsyslogpolicy_binding.yaml new file mode 100644 index 000000000..75b3f7ec2 --- /dev/null +++ b/examples/auditsyslogglobal_auditsyslogpolicy_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample auditsyslogglobal_auditsyslogpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure auditsyslogglobal_auditsyslogpolicy_binding + delegate_to: localhost + netscaler.adc.auditsyslogglobal_auditsyslogpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + policyname: sys_pol_name + priority: '11' diff --git a/examples/auditsyslogparams.yaml b/examples/auditsyslogparams.yaml new file mode 100644 index 000000000..725b19dff --- /dev/null +++ b/examples/auditsyslogparams.yaml @@ -0,0 +1,19 @@ +--- +- name: Sample auditsyslogparams playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure auditsyslogparams + delegate_to: localhost + netscaler.adc.auditsyslogparams: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + loglevel: + - EMERGENCY + - ALERT + - CRITICAL + - ERROR + - WARNING diff --git a/examples/auditsyslogpolicy.yaml b/examples/auditsyslogpolicy.yaml new file mode 100644 index 000000000..33fecf251 --- /dev/null +++ b/examples/auditsyslogpolicy.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample auditsyslogpolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure auditsyslogpolicy + delegate_to: localhost + netscaler.adc.auditsyslogpolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: syslog_pol1 + rule: REQ.IP.DESTIP == 10.102.58.0 -netmask 255.255.255.0 + action: sys_act1 diff --git a/examples/authenticationauthnprofile.yaml b/examples/authenticationauthnprofile.yaml new file mode 100644 index 000000000..a0edaf15d --- /dev/null +++ b/examples/authenticationauthnprofile.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample authenticationauthnprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationauthnprofile + delegate_to: localhost + netscaler.adc.authenticationauthnprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: citrixgw_auth_profile + authnvsname: Citrix_AAA_vServer diff --git a/examples/authenticationcertaction.yaml b/examples/authenticationcertaction.yaml new file mode 100644 index 000000000..88a5301ed --- /dev/null +++ b/examples/authenticationcertaction.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample authenticationcertaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationcertaction + delegate_to: localhost + netscaler.adc.authenticationcertaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ca5 + twofactor: 'ON' + groupnamefield: Subject:OU diff --git a/examples/authenticationcertpolicy.yaml b/examples/authenticationcertpolicy.yaml new file mode 100644 index 000000000..5e2733cb8 --- /dev/null +++ b/examples/authenticationcertpolicy.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample authenticationcertpolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationcertpolicy + delegate_to: localhost + netscaler.adc.authenticationcertpolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: sslrg + rule: ns_true + reqaction: sslrg diff --git a/examples/authenticationepaaction.yaml b/examples/authenticationepaaction.yaml new file mode 100644 index 000000000..22163697e --- /dev/null +++ b/examples/authenticationepaaction.yaml @@ -0,0 +1,19 @@ +--- +- name: Sample authenticationepaaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationepaaction + delegate_to: localhost + netscaler.adc.authenticationepaaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: EPA_ACT2 + csecexpr: sys.client_expr("proc_0_perl") + killprocess: process2 + deletefiles: file2 + defaultepagroup: DG2 + quarantinegroup: QG2 diff --git a/examples/authenticationldapaction.yaml b/examples/authenticationldapaction.yaml new file mode 100644 index 000000000..3363cd6cf --- /dev/null +++ b/examples/authenticationldapaction.yaml @@ -0,0 +1,30 @@ +--- +- name: Sample authenticationldapaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationldapaction + delegate_to: localhost + netscaler.adc.authenticationldapaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ldap_userextraction_External_noauth + servername: awsdcs-amer.blackstone.com + serverport: 636 + ldapbase: OU=New AD Structure,DC=Blackstone,DC=com + ldapbinddn: CN=GD-CITRIXADC-P-APP,OU=Service Accounts,OU=Elevated,OU=New AD + Structure,DC=Blackstone,DC=com + ldapbinddnpassword: REQ_PASSWORD + ldaploginname: sAMAccountName + groupattrname: memberOf + subattributename: cn + sectype: SSL + authentication: DISABLED + passwdchange: ENABLED + nestedgroupextraction: 'ON' + groupnameidentifier: sAMAccountName + groupsearchattribute: sAMAccountName + defaultauthenticationgroup: External diff --git a/examples/authenticationldappolicy.yaml b/examples/authenticationldappolicy.yaml new file mode 100644 index 000000000..ffa4b07d3 --- /dev/null +++ b/examples/authenticationldappolicy.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample authenticationldappolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationldappolicy + delegate_to: localhost + netscaler.adc.authenticationldappolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: LDAP_Basic_Policy + rule: ns_true + reqaction: ldap_mgmt_act diff --git a/examples/authenticationlocalpolicy.yaml b/examples/authenticationlocalpolicy.yaml new file mode 100644 index 000000000..5670fee32 --- /dev/null +++ b/examples/authenticationlocalpolicy.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample authenticationlocalpolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationlocalpolicy + delegate_to: localhost + netscaler.adc.authenticationlocalpolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: NS_GATEWAY_DEFAULT_LOCAL_POL1 + rule: NS_TRUE diff --git a/examples/authenticationloginschema.yaml b/examples/authenticationloginschema.yaml new file mode 100644 index 000000000..a822825dc --- /dev/null +++ b/examples/authenticationloginschema.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample authenticationloginschema playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationloginschema + delegate_to: localhost + netscaler.adc.authenticationloginschema: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: single_auth + authenticationschema: /nsconfig/loginschema/LoginSchema/SingleAuth.xml diff --git a/examples/authenticationloginschemapolicy.yaml b/examples/authenticationloginschemapolicy.yaml new file mode 100644 index 000000000..3a8cbc853 --- /dev/null +++ b/examples/authenticationloginschemapolicy.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample authenticationloginschemapolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationloginschemapolicy + delegate_to: localhost + netscaler.adc.authenticationloginschemapolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: second_factor_schema + rule: 'true' + action: second_factor_schema_action diff --git a/examples/authenticationnegotiateaction.yaml b/examples/authenticationnegotiateaction.yaml new file mode 100644 index 000000000..939308d27 --- /dev/null +++ b/examples/authenticationnegotiateaction.yaml @@ -0,0 +1,17 @@ +--- +- name: Sample authenticationnegotiateaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationnegotiateaction + delegate_to: localhost + netscaler.adc.authenticationnegotiateaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: neg1 + domain: nsi-test.com + defaultauthenticationgroup: g1 + keytab: /nsconfig/krb/kcd-nsi-test.keytab diff --git a/examples/authenticationnegotiatepolicy.yaml b/examples/authenticationnegotiatepolicy.yaml new file mode 100644 index 000000000..0f8e66b33 --- /dev/null +++ b/examples/authenticationnegotiatepolicy.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample authenticationnegotiatepolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationnegotiatepolicy + delegate_to: localhost + netscaler.adc.authenticationnegotiatepolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: negpol + rule: ns_true + reqaction: neg1 diff --git a/examples/authenticationoauthaction.yaml b/examples/authenticationoauthaction.yaml new file mode 100644 index 000000000..7b60a3a41 --- /dev/null +++ b/examples/authenticationoauthaction.yaml @@ -0,0 +1,20 @@ +--- +- name: Sample authenticationoauthaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationoauthaction + delegate_to: localhost + netscaler.adc.authenticationoauthaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: cvpn_nac + oauthtype: INTUNE + tokenendpoint: http://inac.dnpg-blr.com/e6cf700d-68dc-4f92-b7ec-186e6dea36eb/oauth2/token + clientid: e6602bad-8007-44b7-b2ec-819035b71ba6 + clientsecret: 8sOJH51L+uPBVAeCxgPyFDh0Ut+9Y9M6X9jGBJrWwZk= + tenantid: e6cf700d-68dc-4f92-b7ec-186e6dea36eb + graphendpoint: http://inac.dnpg-blr.com diff --git a/examples/authenticationoauthidpprofile.yaml b/examples/authenticationoauthidpprofile.yaml new file mode 100644 index 000000000..538a5b32a --- /dev/null +++ b/examples/authenticationoauthidpprofile.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample authenticationoauthidpprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationoauthidpprofile + delegate_to: localhost + netscaler.adc.authenticationoauthidpprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: OAuthIDPProfileIDP + relyingpartymetadataurl: https://10.221.136.42/oauth/idp/.well-known/openid-configuration diff --git a/examples/authenticationpolicy.yaml b/examples/authenticationpolicy.yaml new file mode 100644 index 000000000..7d55f08b4 --- /dev/null +++ b/examples/authenticationpolicy.yaml @@ -0,0 +1,18 @@ +--- +- name: Sample authenticationpolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationpolicy + delegate_to: localhost + netscaler.adc.authenticationpolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: OKta_SAML_Internal_ZS_SubnetsMisc + rule: Sub_58220950_24 || Sub_941881310_25 || Sub_1242481410_24 || Sub_1281771250_24 + || Sub_137831540_24 || Sub_154113230_24 || Sub_197982010_24 || Sub_211144190_24 + || Sub_213521020_24 + action: prod_okta diff --git a/examples/authenticationpolicylabel.yaml b/examples/authenticationpolicylabel.yaml new file mode 100644 index 000000000..79ea493f9 --- /dev/null +++ b/examples/authenticationpolicylabel.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample authenticationpolicylabel playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationpolicylabel + delegate_to: localhost + netscaler.adc.authenticationpolicylabel: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + labelname: LDAP_Userextraction_External + loginschema: LSCHEMA_INT diff --git a/examples/authenticationpolicylabel_authenticationpolicy_binding.yaml b/examples/authenticationpolicylabel_authenticationpolicy_binding.yaml new file mode 100644 index 000000000..98fd92258 --- /dev/null +++ b/examples/authenticationpolicylabel_authenticationpolicy_binding.yaml @@ -0,0 +1,17 @@ +--- +- name: Sample authenticationpolicylabel_authenticationpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationpolicylabel_authenticationpolicy_binding + delegate_to: localhost + netscaler.adc.authenticationpolicylabel_authenticationpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + labelname: LDAP_Userextraction_External + policyname: LDAP_userextraction_External_pol + priority: '100' + gotopriorityexpression: END diff --git a/examples/authenticationradiusaction.yaml b/examples/authenticationradiusaction.yaml new file mode 100644 index 000000000..9d01597bc --- /dev/null +++ b/examples/authenticationradiusaction.yaml @@ -0,0 +1,23 @@ +--- +- name: Sample authenticationradiusaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationradiusaction + delegate_to: localhost + netscaler.adc.authenticationradiusaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: RADIUS_10.102.222.187 + serverip: 10.102.222.187 + serverport: 1812 + authtimeout: '3' + radkey: freebsd + radnasip: DISABLED + passencoding: pap + ipvendorid: '0' + accounting: 'ON' + callingstationid: DISABLED diff --git a/examples/authenticationradiuspolicy.yaml b/examples/authenticationradiuspolicy.yaml new file mode 100644 index 000000000..677dbaeb0 --- /dev/null +++ b/examples/authenticationradiuspolicy.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample authenticationradiuspolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationradiuspolicy + delegate_to: localhost + netscaler.adc.authenticationradiuspolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: test_radius + rule: ns_true + reqaction: test_radius_act diff --git a/examples/authenticationsamlaction.yaml b/examples/authenticationsamlaction.yaml new file mode 100644 index 000000000..795787687 --- /dev/null +++ b/examples/authenticationsamlaction.yaml @@ -0,0 +1,21 @@ +--- +- name: Sample authenticationsamlaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationsamlaction + delegate_to: localhost + netscaler.adc.authenticationsamlaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: prod_okta + samlidpcertname: okta_cert + samlsigningcertname: portal.bx.com + samlredirecturl: https://login.bx.com/app/citrixnetscalergateway_saml/exk5wlx791ZWQVGXR4x7/sso/saml + samluserfield: NameID + samlissuername: http://www.okta.com/exk5wlx791ZWQVGXR4x7 + relaystaterule: AAA.LOGIN.RELAYSTATE.CONTAINS_ANY("prod_patset") + logouturl: https://login.bx.com/login/signout diff --git a/examples/authenticationsamlidpprofile.yaml b/examples/authenticationsamlidpprofile.yaml new file mode 100644 index 000000000..5f015a9f0 --- /dev/null +++ b/examples/authenticationsamlidpprofile.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample authenticationsamlidpprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationsamlidpprofile + delegate_to: localhost + netscaler.adc.authenticationsamlidpprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: samlidp_red1 + samlbinding: REDIRECT diff --git a/examples/authenticationsamlpolicy.yaml b/examples/authenticationsamlpolicy.yaml new file mode 100644 index 000000000..7a743ba78 --- /dev/null +++ b/examples/authenticationsamlpolicy.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample authenticationsamlpolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationsamlpolicy + delegate_to: localhost + netscaler.adc.authenticationsamlpolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: samlsecureauthidppol + rule: ns_true + reqaction: secureauth_idp diff --git a/examples/authenticationtacacsaction.yaml b/examples/authenticationtacacsaction.yaml new file mode 100644 index 000000000..4a41ab88f --- /dev/null +++ b/examples/authenticationtacacsaction.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample authenticationtacacsaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationtacacsaction + delegate_to: localhost + netscaler.adc.authenticationtacacsaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: t1 + serverip: 77.77.77.77 diff --git a/examples/authenticationtacacspolicy.yaml b/examples/authenticationtacacspolicy.yaml new file mode 100644 index 000000000..6216e6b6b --- /dev/null +++ b/examples/authenticationtacacspolicy.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample authenticationtacacspolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationtacacspolicy + delegate_to: localhost + netscaler.adc.authenticationtacacspolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: primaryIPv4TACACSpolicy + rule: ns_true + reqaction: primaryIPv4TACACSaction diff --git a/examples/authenticationvserver.yaml b/examples/authenticationvserver.yaml new file mode 100644 index 000000000..7464729ef --- /dev/null +++ b/examples/authenticationvserver.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample authenticationvserver playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationvserver + delegate_to: localhost + netscaler.adc.authenticationvserver: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: Citrix_AAA_vServer + servicetype: SSL + ipv46: 0.0.0.0 diff --git a/examples/authenticationvserver_auditnslogpolicy_binding.yaml b/examples/authenticationvserver_auditnslogpolicy_binding.yaml new file mode 100644 index 000000000..3ae905793 --- /dev/null +++ b/examples/authenticationvserver_auditnslogpolicy_binding.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample authenticationvserver_auditnslogpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationvserver_auditnslogpolicy_binding + delegate_to: localhost + netscaler.adc.authenticationvserver_auditnslogpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia_authnvs7 + policy: ia_nspol1 + priority: '111' diff --git a/examples/authenticationvserver_auditsyslogpolicy_binding.yaml b/examples/authenticationvserver_auditsyslogpolicy_binding.yaml new file mode 100644 index 000000000..ef117cdad --- /dev/null +++ b/examples/authenticationvserver_auditsyslogpolicy_binding.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample authenticationvserver_auditsyslogpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationvserver_auditsyslogpolicy_binding + delegate_to: localhost + netscaler.adc.authenticationvserver_auditsyslogpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia_authnvs7 + policy: ia_syspol1 + priority: '112' diff --git a/examples/authenticationvserver_authenticationcertpolicy_binding.yaml b/examples/authenticationvserver_authenticationcertpolicy_binding.yaml new file mode 100644 index 000000000..d9f08ffdc --- /dev/null +++ b/examples/authenticationvserver_authenticationcertpolicy_binding.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample authenticationvserver_authenticationcertpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationvserver_authenticationcertpolicy_binding + delegate_to: localhost + netscaler.adc.authenticationvserver_authenticationcertpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia_authnvs71 + policy: ia_authncertpol2 + priority: '23' diff --git a/examples/authenticationvserver_authenticationldappolicy_binding.yaml b/examples/authenticationvserver_authenticationldappolicy_binding.yaml new file mode 100644 index 000000000..6e2173cf5 --- /dev/null +++ b/examples/authenticationvserver_authenticationldappolicy_binding.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample authenticationvserver_authenticationldappolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationvserver_authenticationldappolicy_binding + delegate_to: localhost + netscaler.adc.authenticationvserver_authenticationldappolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia_authnvs71 + policy: ia_authnldappol2 + secondary: true diff --git a/examples/authenticationvserver_authenticationlocalpolicy_binding.yaml b/examples/authenticationvserver_authenticationlocalpolicy_binding.yaml new file mode 100644 index 000000000..7a204213a --- /dev/null +++ b/examples/authenticationvserver_authenticationlocalpolicy_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample authenticationvserver_authenticationlocalpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationvserver_authenticationlocalpolicy_binding + delegate_to: localhost + netscaler.adc.authenticationvserver_authenticationlocalpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia_authnvs71 + policy: ia_authnlocalpol1 diff --git a/examples/authenticationvserver_authenticationloginschemapolicy_binding.yaml b/examples/authenticationvserver_authenticationloginschemapolicy_binding.yaml new file mode 100644 index 000000000..b8128c47a --- /dev/null +++ b/examples/authenticationvserver_authenticationloginschemapolicy_binding.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample authenticationvserver_authenticationloginschemapolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationvserver_authenticationloginschemapolicy_binding + delegate_to: localhost + netscaler.adc.authenticationvserver_authenticationloginschemapolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: auth + policy: first_factor_schema + priority: '1' diff --git a/examples/authenticationvserver_authenticationpolicy_binding.yaml b/examples/authenticationvserver_authenticationpolicy_binding.yaml new file mode 100644 index 000000000..15721d44b --- /dev/null +++ b/examples/authenticationvserver_authenticationpolicy_binding.yaml @@ -0,0 +1,18 @@ +--- +- name: Sample authenticationvserver_authenticationpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationvserver_authenticationpolicy_binding + delegate_to: localhost + netscaler.adc.authenticationvserver_authenticationpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: Citrix_AAA_vServer + policy: OKta_SAML_External + priority: '500' + nextfactor: LDAP_Userextraction_External + gotopriorityexpression: NEXT diff --git a/examples/authenticationvserver_authenticationradiuspolicy_binding.yaml b/examples/authenticationvserver_authenticationradiuspolicy_binding.yaml new file mode 100644 index 000000000..c72219f83 --- /dev/null +++ b/examples/authenticationvserver_authenticationradiuspolicy_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample authenticationvserver_authenticationradiuspolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationvserver_authenticationradiuspolicy_binding + delegate_to: localhost + netscaler.adc.authenticationvserver_authenticationradiuspolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia_authnvs71 + policy: ia_authnradpol2 diff --git a/examples/authenticationvserver_authenticationsamlpolicy_binding.yaml b/examples/authenticationvserver_authenticationsamlpolicy_binding.yaml new file mode 100644 index 000000000..4a7b716d4 --- /dev/null +++ b/examples/authenticationvserver_authenticationsamlpolicy_binding.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample authenticationvserver_authenticationsamlpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationvserver_authenticationsamlpolicy_binding + delegate_to: localhost + netscaler.adc.authenticationvserver_authenticationsamlpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia_authnvs71 + policy: samlsecureauthidppol + priority: '99' diff --git a/examples/authenticationvserver_authenticationtacacspolicy_binding.yaml b/examples/authenticationvserver_authenticationtacacspolicy_binding.yaml new file mode 100644 index 000000000..cf19272fe --- /dev/null +++ b/examples/authenticationvserver_authenticationtacacspolicy_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample authenticationvserver_authenticationtacacspolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationvserver_authenticationtacacspolicy_binding + delegate_to: localhost + netscaler.adc.authenticationvserver_authenticationtacacspolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia_authnvs71 + policy: ia_authntacacspol2 diff --git a/examples/authenticationvserver_authenticationwebauthpolicy_binding.yaml b/examples/authenticationvserver_authenticationwebauthpolicy_binding.yaml new file mode 100644 index 000000000..90654ec6f --- /dev/null +++ b/examples/authenticationvserver_authenticationwebauthpolicy_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample authenticationvserver_authenticationwebauthpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationvserver_authenticationwebauthpolicy_binding + delegate_to: localhost + netscaler.adc.authenticationvserver_authenticationwebauthpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia_authnvs71 + policy: webauthpol diff --git a/examples/authenticationvserver_cachepolicy_binding.yaml b/examples/authenticationvserver_cachepolicy_binding.yaml new file mode 100644 index 000000000..4697903e5 --- /dev/null +++ b/examples/authenticationvserver_cachepolicy_binding.yaml @@ -0,0 +1,18 @@ +--- +- name: Sample authenticationvserver_cachepolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationvserver_cachepolicy_binding + delegate_to: localhost + netscaler.adc.authenticationvserver_cachepolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: Citrix_AAA_vServer + policy: _noCacheRest + priority: '20' + gotopriorityexpression: END + bindpoint: RESPONSE diff --git a/examples/authenticationvserver_vpnportaltheme_binding.yaml b/examples/authenticationvserver_vpnportaltheme_binding.yaml new file mode 100644 index 000000000..b92943760 --- /dev/null +++ b/examples/authenticationvserver_vpnportaltheme_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample authenticationvserver_vpnportaltheme_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationvserver_vpnportaltheme_binding + delegate_to: localhost + netscaler.adc.authenticationvserver_vpnportaltheme_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: Citrix_AAA_vServer + portaltheme: BX_Brand diff --git a/examples/authenticationwebauthaction.yaml b/examples/authenticationwebauthaction.yaml new file mode 100644 index 000000000..dd2a4ef00 --- /dev/null +++ b/examples/authenticationwebauthaction.yaml @@ -0,0 +1,19 @@ +--- +- name: Sample authenticationwebauthaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationwebauthaction + delegate_to: localhost + netscaler.adc.authenticationwebauthaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: webauthact + serverip: 2.2.2.2 + serverport: 20 + fullreqexpr: '"GET /basic.html/"' + scheme: https + successrule: http.res.status.eq(200) diff --git a/examples/authenticationwebauthpolicy.yaml b/examples/authenticationwebauthpolicy.yaml new file mode 100644 index 000000000..0149129e6 --- /dev/null +++ b/examples/authenticationwebauthpolicy.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample authenticationwebauthpolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationwebauthpolicy + delegate_to: localhost + netscaler.adc.authenticationwebauthpolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: webauthpol + rule: ns_true + action: webauthact diff --git a/examples/authorizationpolicy.yaml b/examples/authorizationpolicy.yaml new file mode 100644 index 000000000..54a7d6928 --- /dev/null +++ b/examples/authorizationpolicy.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample authorizationpolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authorizationpolicy + delegate_to: localhost + netscaler.adc.authorizationpolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: EPAautho1 + rule: client.app.proc(notepad) exists + action: ALLOW diff --git a/examples/botsettings.yaml b/examples/botsettings.yaml new file mode 100644 index 000000000..935d449c4 --- /dev/null +++ b/examples/botsettings.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample botsettings playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure botsettings + delegate_to: localhost + netscaler.adc.botsettings: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + proxyport: 0 diff --git a/examples/bridgegroup.yaml b/examples/bridgegroup.yaml new file mode 100644 index 000000000..3880edb3d --- /dev/null +++ b/examples/bridgegroup.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample bridgegroup playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure bridgegroup + delegate_to: localhost + netscaler.adc.bridgegroup: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + id: '23' + ipv6dynamicrouting: ENABLED diff --git a/examples/bridgegroup_nsip_binding.yaml b/examples/bridgegroup_nsip_binding.yaml new file mode 100644 index 000000000..93b057369 --- /dev/null +++ b/examples/bridgegroup_nsip_binding.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample bridgegroup_nsip_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure bridgegroup_nsip_binding + delegate_to: localhost + netscaler.adc.bridgegroup_nsip_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + id: '2' + ipaddress: 2.2.2.1 + netmask: 255.255.255.0 diff --git a/examples/cachecontentgroup.yaml b/examples/cachecontentgroup.yaml index 960a473dc..73f98f579 100644 --- a/examples/cachecontentgroup.yaml +++ b/examples/cachecontentgroup.yaml @@ -1,36 +1,15 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample cachecontentgroup playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | cachecontentgroup - delegate_to: localhost - netscaler.adc.cachecontentgroup: - state: present - name: DEFAULT - - name: Sample Task | cachecontentgroup | 2 - delegate_to: localhost - netscaler.adc.cachecontentgroup: - state: present - name: BASEFILE - relexpiry: 86000 - weaknegrelexpiry: 600 - maxressize: 256 - memlimit: 2 - - name: Sample Task | cachecontentgroup | 3 - delegate_to: localhost - netscaler.adc.cachecontentgroup: - state: present - name: DELTAJS - relexpiry: 86000 - weaknegrelexpiry: 600 - insertage: 'NO' - maxressize: 256 - memlimit: 1 - pinned: 'YES' - - name: Sample Task | cachecontentgroup | 4 + - name: Configure cachecontentgroup delegate_to: localhost netscaler.adc.cachecontentgroup: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present name: NSFEO maxressize: 1994752 diff --git a/examples/cacheglobal_cachepolicy_binding.yaml b/examples/cacheglobal_cachepolicy_binding.yaml new file mode 100644 index 000000000..b82792faa --- /dev/null +++ b/examples/cacheglobal_cachepolicy_binding.yaml @@ -0,0 +1,20 @@ +--- +- name: Sample cacheglobal_cachepolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure cacheglobal_cachepolicy_binding + delegate_to: localhost + netscaler.adc.cacheglobal_cachepolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + policy: NOPOLICY + priority: '185883' + gotopriorityexpression: USE_INVOCATION_RESULT + type: HTTPQUIC_RES_DEFAULT + invoke: true + labeltype: policylabel + labelname: _httpquicResBuiltinDefaults diff --git a/examples/cacheparameter.yaml b/examples/cacheparameter.yaml index dd94952ec..ff77567bb 100644 --- a/examples/cacheparameter.yaml +++ b/examples/cacheparameter.yaml @@ -1,10 +1,14 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample cacheparameter playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | cacheparameter + - name: Configure cacheparameter delegate_to: localhost netscaler.adc.cacheparameter: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - via: 'NS-CACHE-10.0: 141' + via: 'NS-CACHE-10.0: 50' diff --git a/examples/cachepolicy.yaml b/examples/cachepolicy.yaml index 85dc2a5b5..c0b866541 100644 --- a/examples/cachepolicy.yaml +++ b/examples/cachepolicy.yaml @@ -1,22 +1,18 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample cachepolicy playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | cachepolicy + - name: Configure cachepolicy delegate_to: localhost netscaler.adc.cachepolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - policyname: _nonGetReq - rule: '!HTTP.REQ.METHOD.eq(GET)' - action: NOCACHE - - name: Sample Task | cachepolicy | 2 - delegate_to: localhost - netscaler.adc.cachepolicy: - state: present - policyname: _cacheableCacheControlRes - rule: ((HTTP.RES.CACHE_CONTROL.IS_PUBLIC) || (HTTP.RES.CACHE_CONTROL.IS_MAX_AGE) - || (HTTP.RES.CACHE_CONTROL.IS_MUST_REVALIDATE) || (HTTP.RES.CACHE_CONTROL.IS_PROXY_REVALIDATE) - || (HTTP.RES.CACHE_CONTROL.IS_S_MAXAGE)) + policyname: n_XM_CACHE_WO_DEVICEID_10.100.39.132 + rule: HTTP.REQ.HEADER("Host").CONTAINS("callout") && HTTP.REQ.URL.QUERY.CONTAINS("DeviceId").NOT + && HTTP.REQ.URL.QUERY.CONTAINS("url") action: CACHE - storeingroup: DEFAULT + storeingroup: n_XM_WO_DEVICEID_10.100.39.132 diff --git a/examples/cachepolicylabel.yaml b/examples/cachepolicylabel.yaml index cac4bd1db..670002a01 100644 --- a/examples/cachepolicylabel.yaml +++ b/examples/cachepolicylabel.yaml @@ -1,11 +1,15 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample cachepolicylabel playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | cachepolicylabel + - name: Configure cachepolicylabel delegate_to: localhost netscaler.adc.cachepolicylabel: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - labelname: _reqBuiltinDefaults - evaluates: REQ + labelname: _httpquicResBuiltinDefaults + evaluates: HTTPQUIC_RES diff --git a/examples/cachepolicylabel_cachepolicy_binding.yaml b/examples/cachepolicylabel_cachepolicy_binding.yaml new file mode 100644 index 000000000..b5ba95166 --- /dev/null +++ b/examples/cachepolicylabel_cachepolicy_binding.yaml @@ -0,0 +1,17 @@ +--- +- name: Sample cachepolicylabel_cachepolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure cachepolicylabel_cachepolicy_binding + delegate_to: localhost + netscaler.adc.cachepolicylabel_cachepolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + labelname: _httpquicResBuiltinDefaults + policyname: _personalizedRes + priority: '800' + gotopriorityexpression: END diff --git a/examples/cacheselector.yaml b/examples/cacheselector.yaml new file mode 100644 index 000000000..739ef762e --- /dev/null +++ b/examples/cacheselector.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample cacheselector playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure cacheselector + delegate_to: localhost + netscaler.adc.cacheselector: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + selectorname: n_XM_URL_10.100.39.132 + rule: + - HTTP.REQ.URL.QUERY.VALUE("url") diff --git a/examples/callhome.yaml b/examples/callhome.yaml index c44a8bd8e..a0b67929a 100644 --- a/examples/callhome.yaml +++ b/examples/callhome.yaml @@ -1,10 +1,14 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample callhome playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | callhome + - name: Configure callhome delegate_to: localhost netscaler.adc.callhome: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - hbcustominterval: '30' + hbcustominterval: '20' diff --git a/examples/channel.yaml b/examples/channel.yaml index b08d94e6a..96612283e 100644 --- a/examples/channel.yaml +++ b/examples/channel.yaml @@ -1,14 +1,24 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample channel playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | channel + - name: Configure channel delegate_to: localhost netscaler.adc.channel: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - id: LA/1 - throughput: '0' - lrminthroughput: '0' - bandwidthhigh: '0' - bandwidthnormal: '0' + id: LA/4 + ifnum: + - 1/3 + speed: AUTO + flowctl: 'OFF' + hamonitor: 'OFF' + tagall: 'OFF' + ifalias: alias1 + throughput: '23' + bandwidthhigh: '23' + bandwidthnormal: '23' diff --git a/examples/cmpaction.yaml b/examples/cmpaction.yaml new file mode 100644 index 000000000..ea8f6810e --- /dev/null +++ b/examples/cmpaction.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample cmpaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure cmpaction + delegate_to: localhost + netscaler.adc.cmpaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: Base_cmp_act1 + cmptype: compress diff --git a/examples/cmpglobal_cmppolicy_binding.yaml b/examples/cmpglobal_cmppolicy_binding.yaml new file mode 100644 index 000000000..072b3d686 --- /dev/null +++ b/examples/cmpglobal_cmppolicy_binding.yaml @@ -0,0 +1,17 @@ +--- +- name: Sample cmpglobal_cmppolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure cmpglobal_cmppolicy_binding + delegate_to: localhost + netscaler.adc.cmpglobal_cmppolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + policyname: ns_adv_cmp_content_type + priority: '10000' + gotopriorityexpression: END + type: RES_DEFAULT diff --git a/examples/cmpparameter.yaml b/examples/cmpparameter.yaml new file mode 100644 index 000000000..e67f2ea6b --- /dev/null +++ b/examples/cmpparameter.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample cmpparameter playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure cmpparameter + delegate_to: localhost + netscaler.adc.cmpparameter: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + externalcache: 'YES' diff --git a/examples/cmppolicy.yaml b/examples/cmppolicy.yaml new file mode 100644 index 000000000..f066af4b6 --- /dev/null +++ b/examples/cmppolicy.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample cmppolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure cmppolicy + delegate_to: localhost + netscaler.adc.cmppolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: Base_cmp_mypolicy3 + rule: HTTP.RES.HEADER("Content-Type").CONTAINS("text") + resaction: Base_cmp_act1 diff --git a/examples/cmppolicylabel.yaml b/examples/cmppolicylabel.yaml new file mode 100644 index 000000000..26780f3ab --- /dev/null +++ b/examples/cmppolicylabel.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample cmppolicylabel playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure cmppolicylabel + delegate_to: localhost + netscaler.adc.cmppolicylabel: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + labelname: Base_cmp_pol_label + type: RES diff --git a/examples/cmppolicylabel_cmppolicy_binding.yaml b/examples/cmppolicylabel_cmppolicy_binding.yaml new file mode 100644 index 000000000..687496910 --- /dev/null +++ b/examples/cmppolicylabel_cmppolicy_binding.yaml @@ -0,0 +1,17 @@ +--- +- name: Sample cmppolicylabel_cmppolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure cmppolicylabel_cmppolicy_binding + delegate_to: localhost + netscaler.adc.cmppolicylabel_cmppolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + labelname: Base_cmp_pol_label + policyname: Base_cmp_mypolicy3 + priority: '5' + gotopriorityexpression: end diff --git a/examples/contentinspectionaction.yaml b/examples/contentinspectionaction.yaml new file mode 100644 index 000000000..9c0a97b0e --- /dev/null +++ b/examples/contentinspectionaction.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample contentinspectionaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure contentinspectionaction + delegate_to: localhost + netscaler.adc.contentinspectionaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ci_act_test + type: NOINSPECTION diff --git a/examples/crpolicy.yaml b/examples/crpolicy.yaml new file mode 100644 index 000000000..aa8c51b5b --- /dev/null +++ b/examples/crpolicy.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample crpolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure crpolicy + delegate_to: localhost + netscaler.adc.crpolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + policyname: crp1 + rule: 'true' + action: origin diff --git a/examples/crvserver.yaml b/examples/crvserver.yaml new file mode 100644 index 000000000..ad78cdae5 --- /dev/null +++ b/examples/crvserver.yaml @@ -0,0 +1,18 @@ +--- +- name: Sample crvserver playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure crvserver + delegate_to: localhost + netscaler.adc.crvserver: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: cr_fwd + servicetype: HTTP + ipv46: 1.1.1.2 + port: 80 + cachetype: FORWARD diff --git a/examples/crvserver_crpolicy_binding.yaml b/examples/crvserver_crpolicy_binding.yaml new file mode 100644 index 000000000..a3c590295 --- /dev/null +++ b/examples/crvserver_crpolicy_binding.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample crvserver_crpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure crvserver_crpolicy_binding + delegate_to: localhost + netscaler.adc.crvserver_crpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: CR_v1 + policyname: CR_cspol1 + priority: '10' diff --git a/examples/crvserver_lbvserver_binding.yaml b/examples/crvserver_lbvserver_binding.yaml new file mode 100644 index 000000000..4785bea9a --- /dev/null +++ b/examples/crvserver_lbvserver_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample crvserver_lbvserver_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure crvserver_lbvserver_binding + delegate_to: localhost + netscaler.adc.crvserver_lbvserver_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: CR_v2 + lbvserver: CR_cachev2 diff --git a/examples/csaction.yaml b/examples/csaction.yaml index 0e562d3dc..43e95fd96 100644 --- a/examples/csaction.yaml +++ b/examples/csaction.yaml @@ -1,31 +1,15 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample csaction playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | lbvserver - delegate_to: localhost - netscaler.adc.lbvserver: - # nsip: 10.0.0.1 # This can also be given via NETSCALER_NSIP environment variable - # nitro_user: nitrouser # This can also be given via NETSCALER_NITRO_USER environment variable - # nitro_pass: verysecretpassword # This can also be given via NETSCALER_NITRO_PASS environment variable - # nitro_protocol: https # This can also be given via NETSCALER_NITRO_PROTOCOL environment variable - # validate_certs: false # This can also be given via NETSCALER_VALIDATE_CERTS environment variable - # save_config: false # This can also be given via NETSCALER_SAVE_CONFIG environment variable - state: present - name: lb-vserver-1 - servicetype: HTTP - ipv46: 6.92.2.2 - port: 80 - - name: Sample Task | csaction + - name: Configure csaction delegate_to: localhost netscaler.adc.csaction: - # nsip: 10.0.0.1 # This can also be given via NETSCALER_NSIP environment variable - # nitro_user: nitrouser # This can also be given via NETSCALER_NITRO_USER environment variable - # nitro_pass: verysecretpassword # This can also be given via NETSCALER_NITRO_PASS environment variable - # nitro_protocol: https # This can also be given via NETSCALER_NITRO_PROTOCOL environment variable - # validate_certs: false # This can also be given via NETSCALER_VALIDATE_CERTS environment variable - # save_config: false # This can also be given via NETSCALER_SAVE_CONFIG environment variable + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - name: action1 - targetlbvserver: lb-vserver-1 + name: cs_act + targetvserver: vpn1 diff --git a/examples/csparameter.yaml b/examples/csparameter.yaml new file mode 100644 index 000000000..2ccf206b7 --- /dev/null +++ b/examples/csparameter.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample csparameter playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure csparameter + delegate_to: localhost + netscaler.adc.csparameter: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + stateupdate: ENABLED diff --git a/examples/cspolicy.yaml b/examples/cspolicy.yaml new file mode 100644 index 000000000..f1d6a5872 --- /dev/null +++ b/examples/cspolicy.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample cspolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure cspolicy + delegate_to: localhost + netscaler.adc.cspolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + policyname: cs_pol + rule: is_vpn_url + action: cs_act diff --git a/examples/cspolicylabel.yaml b/examples/cspolicylabel.yaml new file mode 100644 index 000000000..dfa1acb9b --- /dev/null +++ b/examples/cspolicylabel.yaml @@ -0,0 +1,17 @@ +--- +- name: Sample cspolicylabel playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure cspolicylabel + delegate_to: localhost + netscaler.adc.cspolicylabel: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + labelname: plab1 + newname: plab1_new + nitro_operation: rename + '#nitro_operation': rename diff --git a/examples/cspolicylabel_cspolicy_binding.yaml b/examples/cspolicylabel_cspolicy_binding.yaml new file mode 100644 index 000000000..01afe50a7 --- /dev/null +++ b/examples/cspolicylabel_cspolicy_binding.yaml @@ -0,0 +1,20 @@ +--- +- name: Sample cspolicylabel_cspolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure cspolicylabel_cspolicy_binding + delegate_to: localhost + netscaler.adc.cspolicylabel_cspolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + labelname: CSW_polabl5 + policyname: CSW_pol4 + priority: '2300' + gotopriorityexpression: END + invoke: true + labeltype: policylabel + invoke_labelname: CSW_invoke_labelname diff --git a/examples/csvserver.yaml b/examples/csvserver.yaml index e00789712..cbf5c6d2b 100644 --- a/examples/csvserver.yaml +++ b/examples/csvserver.yaml @@ -1,52 +1,20 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample csvserver playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Set lb vserver 1 - delegate_to: localhost - netscaler.adc.lbvserver: - # nsip: 10.0.0.1 # This can also be given via NETSCALER_NSIP environment variable - # nitro_user: nitrouser # This can also be given via NETSCALER_NITRO_USER environment variable - # nitro_pass: verysecretpassword # This can also be given via NETSCALER_NITRO_PASS environment variable - # nitro_protocol: https # This can also be given via NETSCALER_NITRO_PROTOCOL environment variable - # validate_certs: false # This can also be given via NETSCALER_VALIDATE_CERTS environment variable - # save_config: false # This can also be given via NETSCALER_SAVE_CONFIG environment variable - state: present - name: lbvserver_1 - servicetype: HTTP - ipv46: 10.78.1.1 - port: 80 - - name: Set cs policy - delegate_to: localhost - netscaler.adc.cspolicy: - # nsip: 10.0.0.1 # This can also be given via NETSCALER_NSIP environment variable - # nitro_user: nitrouser # This can also be given via NETSCALER_NITRO_USER environment variable - # nitro_pass: verysecretpassword # This can also be given via NETSCALER_NITRO_PASS environment variable - # nitro_protocol: https # This can also be given via NETSCALER_NITRO_PROTOCOL environment variable - # validate_certs: false # This can also be given via NETSCALER_VALIDATE_CERTS environment variable - # save_config: false # This can also be given via NETSCALER_SAVE_CONFIG environment variable - state: present - policyname: policy_1 - rule: "HTTP.REQ.URL.CONTAINS(\"/test\")" - - name: Set cs vserver + - name: Configure csvserver delegate_to: localhost netscaler.adc.csvserver: - # nsip: 10.0.0.1 # This can also be given via NETSCALER_NSIP environment variable - # nitro_user: nitrouser # This can also be given via NETSCALER_NITRO_USER environment variable - # nitro_pass: verysecretpassword # This can also be given via NETSCALER_NITRO_PASS environment variable - # nitro_protocol: https # This can also be given via NETSCALER_NITRO_PROTOCOL environment variable - # validate_certs: false # This can also be given via NETSCALER_VALIDATE_CERTS environment variable - # save_config: false # This can also be given via NETSCALER_SAVE_CONFIG environment variable + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - name: cs-vserver-1 - ipv46: 192.168.1.1 - port: 90 - servicetype: HTTP - csvserver_cspolicy_binding: - mode: desired - binding_members: - - name: cs-vserver-1 - policyname: policy_1 - targetlbvserver: lbvserver_1 - priority: 1 + name: ADNS_TCP_EXT + servicetype: DNS_TCP + ipv46: 10.189.1.7 + port: 53 + ipset: ipset_adns + clttimeout: 180 + persistencetype: NONE diff --git a/examples/csvserver_cspolicy_binding.yaml b/examples/csvserver_cspolicy_binding.yaml new file mode 100644 index 000000000..e10fa8b6d --- /dev/null +++ b/examples/csvserver_cspolicy_binding.yaml @@ -0,0 +1,17 @@ +--- +- name: Sample csvserver_cspolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure csvserver_cspolicy_binding + delegate_to: localhost + netscaler.adc.csvserver_cspolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: LB_cs_diameter + policyname: LB_pcrf_policy + targetlbvserver: LB_vs_pcrf + priority: '100' diff --git a/examples/csvserver_lbvserver_binding.yaml b/examples/csvserver_lbvserver_binding.yaml new file mode 100644 index 000000000..90cef08ff --- /dev/null +++ b/examples/csvserver_lbvserver_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample csvserver_lbvserver_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure csvserver_lbvserver_binding + delegate_to: localhost + netscaler.adc.csvserver_lbvserver_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: vip_cs + lbvserver: vip_lb diff --git a/examples/csvserver_responderpolicy_binding.yaml b/examples/csvserver_responderpolicy_binding.yaml new file mode 100644 index 000000000..354b8fcf0 --- /dev/null +++ b/examples/csvserver_responderpolicy_binding.yaml @@ -0,0 +1,21 @@ +--- +- name: Sample csvserver_responderpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure csvserver_responderpolicy_binding + delegate_to: localhost + netscaler.adc.csvserver_responderpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: CSW_v1 + policyname: CSW_resppol1 + priority: '23' + gotopriorityexpression: END + bindpoint: REQUEST + invoke: true + labeltype: reqvserver + labelname: CSW_invoke_labelname diff --git a/examples/csvserver_rewritepolicy_binding.yaml b/examples/csvserver_rewritepolicy_binding.yaml new file mode 100644 index 000000000..a5fa84dc4 --- /dev/null +++ b/examples/csvserver_rewritepolicy_binding.yaml @@ -0,0 +1,21 @@ +--- +- name: Sample csvserver_rewritepolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure csvserver_rewritepolicy_binding + delegate_to: localhost + netscaler.adc.csvserver_rewritepolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: CSW_v1 + policyname: CSW_rwrtpol1 + priority: '23' + gotopriorityexpression: END + bindpoint: RESPONSE + invoke: true + labeltype: policylabel + labelname: CSW_invoke_labelname diff --git a/examples/csvserver_vpnvserver_binding.yaml b/examples/csvserver_vpnvserver_binding.yaml new file mode 100644 index 000000000..325dd439f --- /dev/null +++ b/examples/csvserver_vpnvserver_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample csvserver_vpnvserver_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure csvserver_vpnvserver_binding + delegate_to: localhost + netscaler.adc.csvserver_vpnvserver_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: CS123 + vserver: vpn51 diff --git a/examples/dbuser.yaml b/examples/dbuser.yaml new file mode 100644 index 000000000..41d453aee --- /dev/null +++ b/examples/dbuser.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample dbuser playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure dbuser + delegate_to: localhost + netscaler.adc.dbuser: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + username: us1 diff --git a/examples/dnsaaaarec.yaml b/examples/dnsaaaarec.yaml new file mode 100644 index 000000000..94565d83b --- /dev/null +++ b/examples/dnsaaaarec.yaml @@ -0,0 +1,17 @@ +--- +- name: Sample dnsaaaarec playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure dnsaaaarec + delegate_to: localhost + netscaler.adc.dnsaaaarec: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + hostname: n2.com + ipv6address: + - 2001::45 + ttl: 3601 diff --git a/examples/dnsaction.yaml b/examples/dnsaction.yaml new file mode 100644 index 000000000..18936f1af --- /dev/null +++ b/examples/dnsaction.yaml @@ -0,0 +1,18 @@ +--- +- name: Sample dnsaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure dnsaction + delegate_to: localhost + netscaler.adc.dnsaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + actionname: ia_dnsact8 + actiontype: Rewrite_Response + ipaddress: + - 1.1.1.102 + ttl: 3601 diff --git a/examples/dnsaction64.yaml b/examples/dnsaction64.yaml new file mode 100644 index 000000000..bbcb4ced8 --- /dev/null +++ b/examples/dnsaction64.yaml @@ -0,0 +1,18 @@ +--- +- name: Sample dnsaction64 playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure dnsaction64 + delegate_to: localhost + netscaler.adc.dnsaction64: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + actionname: dns64_act2 + prefix: 64:ff9b::/96 + mappedrule: DNS.RR.TYPE.EQ(A) && !(DNS.RR.RDATA.IP.IN_SUBNET(0.0.0.0/8) || + DNS.RR.RDATA.IP.IN_SUBNET(10.0.0.0/8)) + excluderule: DNS.RR.TYPE.EQ(AAAA) && DNS.RR.RDATA.IPV6.IN_SUBNET(::ffff:0:0/96) diff --git a/examples/dnsaddrec.yaml b/examples/dnsaddrec.yaml index a596241ba..7b3d30fe8 100644 --- a/examples/dnsaddrec.yaml +++ b/examples/dnsaddrec.yaml @@ -1,12 +1,17 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample dnsaddrec playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | dnsaddRec + - name: Configure dnsaddrec delegate_to: localhost netscaler.adc.dnsaddrec: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - hostname: k.root-servers.net - ipaddress: 193.0.14.129 + hostname: e.root-servers.net + ipaddress: + - 192.203.230.10 ttl: 3600000 diff --git a/examples/dnscnamerec.yaml b/examples/dnscnamerec.yaml new file mode 100644 index 000000000..90b2e571b --- /dev/null +++ b/examples/dnscnamerec.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample dnscnamerec playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure dnscnamerec + delegate_to: localhost + netscaler.adc.dnscnamerec: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + aliasname: www2.n1.com + canonicalname: n1.com + ttl: 3601 diff --git a/examples/dnsglobal_dnspolicy_binding.yaml b/examples/dnsglobal_dnspolicy_binding.yaml new file mode 100644 index 000000000..4878f90bd --- /dev/null +++ b/examples/dnsglobal_dnspolicy_binding.yaml @@ -0,0 +1,17 @@ +--- +- name: Sample dnsglobal_dnspolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure dnsglobal_dnspolicy_binding + delegate_to: localhost + netscaler.adc.dnsglobal_dnspolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + policyname: LB_ia_dnspol2 + priority: '23' + gotopriorityexpression: END + type: REQ_OVERRIDE diff --git a/examples/dnskey.yaml b/examples/dnskey.yaml new file mode 100644 index 000000000..ab2bb4f9c --- /dev/null +++ b/examples/dnskey.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample dnskey playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure dnskey + delegate_to: localhost + netscaler.adc.dnskey: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + keyname: com.ksk.4096 + publickey: /nsconfig/dns/com.ksK.key + privatekey: /nsconfig/dns/com.ksK.private diff --git a/examples/dnsmxrec.yaml b/examples/dnsmxrec.yaml new file mode 100644 index 000000000..50a9542ec --- /dev/null +++ b/examples/dnsmxrec.yaml @@ -0,0 +1,17 @@ +--- +- name: Sample dnsmxrec playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure dnsmxrec + delegate_to: localhost + netscaler.adc.dnsmxrec: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + domain: n2.com + mx: mail.n1.com + pref: '23' + ttl: 3601 diff --git a/examples/dnsnameserver.yaml b/examples/dnsnameserver.yaml new file mode 100644 index 000000000..184c99bbc --- /dev/null +++ b/examples/dnsnameserver.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample dnsnameserver playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure dnsnameserver + delegate_to: localhost + netscaler.adc.dnsnameserver: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + dnsvservername: lb_dns_01 diff --git a/examples/dnsnaptrrec.yaml b/examples/dnsnaptrrec.yaml new file mode 100644 index 000000000..9ed862127 --- /dev/null +++ b/examples/dnsnaptrrec.yaml @@ -0,0 +1,20 @@ +--- +- name: Sample dnsnaptrrec playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure dnsnaptrrec + delegate_to: localhost + netscaler.adc.dnsnaptrrec: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + domain: citrix.com1 + order: '10' + preference: '10' + flags: U + services: E2U+sip + regexp: '!^.*$!sip:customer-service@example.com!' + ttl: 3600 diff --git a/examples/dnsnsrec.yaml b/examples/dnsnsrec.yaml index 53beff588..ef349c4f7 100644 --- a/examples/dnsnsrec.yaml +++ b/examples/dnsnsrec.yaml @@ -1,12 +1,16 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample dnsnsrec playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | dnsnsRec + - name: Configure dnsnsrec delegate_to: localhost netscaler.adc.dnsnsrec: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present domain: . - nameserver: a.root-servers.net + nameserver: m.root-servers.net ttl: 3600000 diff --git a/examples/dnspolicy.yaml b/examples/dnspolicy.yaml new file mode 100644 index 000000000..b9a390f98 --- /dev/null +++ b/examples/dnspolicy.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample dnspolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure dnspolicy + delegate_to: localhost + netscaler.adc.dnspolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: test5 + rule: dns.length.GT(1) + actionname: dns_default_act_Drop diff --git a/examples/dnspolicy64.yaml b/examples/dnspolicy64.yaml new file mode 100644 index 000000000..2651702df --- /dev/null +++ b/examples/dnspolicy64.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample dnspolicy64 playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure dnspolicy64 + delegate_to: localhost + netscaler.adc.dnspolicy64: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: dns64_pol2 + rule: client.IP.SRC.IN_SUBNET(10.102.0.0/16) + action: dns64_act2 diff --git a/examples/dnspolicylabel.yaml b/examples/dnspolicylabel.yaml new file mode 100644 index 000000000..4156a15bd --- /dev/null +++ b/examples/dnspolicylabel.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample dnspolicylabel playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure dnspolicylabel + delegate_to: localhost + netscaler.adc.dnspolicylabel: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + labelname: invoke_labelname2 + transform: dns_res diff --git a/examples/dnsprofile.yaml b/examples/dnsprofile.yaml new file mode 100644 index 000000000..8422e774b --- /dev/null +++ b/examples/dnsprofile.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample dnsprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure dnsprofile + delegate_to: localhost + netscaler.adc.dnsprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + dnsprofilename: p1 + cacherecords: ENABLED + cachenegativeresponses: ENABLED diff --git a/examples/dnssoarec.yaml b/examples/dnssoarec.yaml new file mode 100644 index 000000000..054978e10 --- /dev/null +++ b/examples/dnssoarec.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample dnssoarec playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure dnssoarec + delegate_to: localhost + netscaler.adc.dnssoarec: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + domain: gslb.blackstone.com + originserver: portal-adnsuse1.bx.com + contact: stephen.tozzi.blackstone.com diff --git a/examples/dnssrvrec.yaml b/examples/dnssrvrec.yaml new file mode 100644 index 000000000..969d3207d --- /dev/null +++ b/examples/dnssrvrec.yaml @@ -0,0 +1,19 @@ +--- +- name: Sample dnssrvrec playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure dnssrvrec + delegate_to: localhost + netscaler.adc.dnssrvrec: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + domain: http2.abc.com + target: target + priority: '23' + weight: '23' + port: '23' + ttl: 3601 diff --git a/examples/dnssuffix.yaml b/examples/dnssuffix.yaml new file mode 100644 index 000000000..553962d91 --- /dev/null +++ b/examples/dnssuffix.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample dnssuffix playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure dnssuffix + delegate_to: localhost + netscaler.adc.dnssuffix: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + Dnssuffix: sssss.ssss diff --git a/examples/dnstxtrec.yaml b/examples/dnstxtrec.yaml new file mode 100644 index 000000000..0d2729970 --- /dev/null +++ b/examples/dnstxtrec.yaml @@ -0,0 +1,17 @@ +--- +- name: Sample dnstxtrec playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure dnstxtrec + delegate_to: localhost + netscaler.adc.dnstxtrec: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + domain: sample2 + String: + - sample + ttl: 36000 diff --git a/examples/dnsview.yaml b/examples/dnsview.yaml new file mode 100644 index 000000000..9ced6bc2f --- /dev/null +++ b/examples/dnsview.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample dnsview playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure dnsview + delegate_to: localhost + netscaler.adc.dnsview: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + viewname: view1 diff --git a/examples/dnszone.yaml b/examples/dnszone.yaml new file mode 100644 index 000000000..40d910834 --- /dev/null +++ b/examples/dnszone.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample dnszone playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure dnszone + delegate_to: localhost + netscaler.adc.dnszone: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + zonename: gslb.blackstone.com + proxymode: 'NO' diff --git a/examples/extendedmemoryparam.yaml b/examples/extendedmemoryparam.yaml new file mode 100644 index 000000000..b2f7e054b --- /dev/null +++ b/examples/extendedmemoryparam.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample extendedmemoryparam playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure extendedmemoryparam + delegate_to: localhost + netscaler.adc.extendedmemoryparam: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + memlimit: 4380 diff --git a/examples/feoaction.yaml b/examples/feoaction.yaml new file mode 100644 index 000000000..82ce4a52b --- /dev/null +++ b/examples/feoaction.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample feoaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure feoaction + delegate_to: localhost + netscaler.adc.feoaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: allact_ns + clientsidemeasurements: true diff --git a/examples/feoglobal_feopolicy_binding.yaml b/examples/feoglobal_feopolicy_binding.yaml new file mode 100644 index 000000000..29fd837bb --- /dev/null +++ b/examples/feoglobal_feopolicy_binding.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample feoglobal_feopolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure feoglobal_feopolicy_binding + delegate_to: localhost + netscaler.adc.feoglobal_feopolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + policyname: pol1_ns + priority: '3' + gotopriorityexpression: END diff --git a/examples/feoparameter.yaml b/examples/feoparameter.yaml new file mode 100644 index 000000000..3ac87993d --- /dev/null +++ b/examples/feoparameter.yaml @@ -0,0 +1,17 @@ +--- +- name: Sample feoparameter playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure feoparameter + delegate_to: localhost + netscaler.adc.feoparameter: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + jpegqualitypercent: '60' + cssinlinethressize: '1024' + jsinlinethressize: '1024' + imginlinethressize: '1024' diff --git a/examples/feopolicy.yaml b/examples/feopolicy.yaml new file mode 100644 index 000000000..f09effcb2 --- /dev/null +++ b/examples/feopolicy.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample feopolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure feopolicy + delegate_to: localhost + netscaler.adc.feopolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: pol1_ns + rule: HTTP.REQ.HEADER("Accept").CONTAINS("html") + action: allact_ns diff --git a/examples/fis.yaml b/examples/fis.yaml new file mode 100644 index 000000000..a01c2ee68 --- /dev/null +++ b/examples/fis.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample fis playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure fis + delegate_to: localhost + netscaler.adc.fis: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia_fis11 diff --git a/examples/forwardingsession.yaml b/examples/forwardingsession.yaml new file mode 100644 index 000000000..d001a2337 --- /dev/null +++ b/examples/forwardingsession.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample forwardingsession playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure forwardingsession + delegate_to: localhost + netscaler.adc.forwardingsession: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia_forsess5 + nitro_operation: rm + '#nitro_operation': rm diff --git a/examples/gslbparameter.yaml b/examples/gslbparameter.yaml new file mode 100644 index 000000000..1c1c94646 --- /dev/null +++ b/examples/gslbparameter.yaml @@ -0,0 +1,13 @@ +--- +- name: Sample gslbparameter playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure gslbparameter + delegate_to: localhost + netscaler.adc.gslbparameter: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present diff --git a/examples/gslbservice.yaml b/examples/gslbservice.yaml new file mode 100644 index 000000000..da4658481 --- /dev/null +++ b/examples/gslbservice.yaml @@ -0,0 +1,24 @@ +--- +- name: Sample gslbservice playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure gslbservice + delegate_to: localhost + netscaler.adc.gslbservice: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + servicename: GSLB_SVC_USE2_storefront.blackstone.com + ip: 10.76.126.10 + servicetype: SSL + port: 443 + publicip: 10.76.126.10 + publicport: 443 + maxclient: '0' + sitename: GSLB_Site_USE2 + clttimeout: 180 + svrtimeout: 360 + downstateflush: ENABLED diff --git a/examples/gslbservice_dnsview_binding.yaml b/examples/gslbservice_dnsview_binding.yaml new file mode 100644 index 000000000..bc8db9307 --- /dev/null +++ b/examples/gslbservice_dnsview_binding.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample gslbservice_dnsview_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure gslbservice_dnsview_binding + delegate_to: localhost + netscaler.adc.gslbservice_dnsview_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + servicename: gslbService1 + viewname: view1 + viewip: 2.2.2.1 diff --git a/examples/gslbservice_lbmonitor_binding.yaml b/examples/gslbservice_lbmonitor_binding.yaml new file mode 100644 index 000000000..f04b4dcfb --- /dev/null +++ b/examples/gslbservice_lbmonitor_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample gslbservice_lbmonitor_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure gslbservice_lbmonitor_binding + delegate_to: localhost + netscaler.adc.gslbservice_lbmonitor_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + servicename: GSLB_SVC_USE1_storefront.blackstone.com + monitor_name: tcp diff --git a/examples/gslbsite.yaml b/examples/gslbsite.yaml new file mode 100644 index 000000000..8c4a07538 --- /dev/null +++ b/examples/gslbsite.yaml @@ -0,0 +1,17 @@ +--- +- name: Sample gslbsite playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure gslbsite + delegate_to: localhost + netscaler.adc.gslbsite: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + sitename: GSLB_Site_USE2 + siteipaddress: 10.76.126.5 + publicip: 10.76.126.5 + triggermonitor: MEPDOWN_SVCDOWN diff --git a/examples/gslbvserver.yaml b/examples/gslbvserver.yaml new file mode 100644 index 000000000..58135f13c --- /dev/null +++ b/examples/gslbvserver.yaml @@ -0,0 +1,18 @@ +--- +- name: Sample gslbvserver playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure gslbvserver + delegate_to: localhost + netscaler.adc.gslbvserver: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: backup_gslb_portal.bx.com + servicetype: SSL + backuplbmethod: ROUNDROBIN + tolerance: '0' + appflowlog: DISABLED diff --git a/examples/gslbvserver_domain_binding.yaml b/examples/gslbvserver_domain_binding.yaml new file mode 100644 index 000000000..bb9ad43da --- /dev/null +++ b/examples/gslbvserver_domain_binding.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample gslbvserver_domain_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure gslbvserver_domain_binding + delegate_to: localhost + netscaler.adc.gslbvserver_domain_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: GSLB_VSRV_storefront.blackstone.com + domainname: storefront.gslb.blackstone.com + ttl: 5 diff --git a/examples/gslbvserver_gslbservice_binding.yaml b/examples/gslbvserver_gslbservice_binding.yaml new file mode 100644 index 000000000..cdd797385 --- /dev/null +++ b/examples/gslbvserver_gslbservice_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample gslbvserver_gslbservice_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure gslbvserver_gslbservice_binding + delegate_to: localhost + netscaler.adc.gslbvserver_gslbservice_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: backup_gslb_portal.bx.com + servicename: GSLB_SVC_USE2_portal.bx.com diff --git a/examples/hanode.yaml b/examples/hanode.yaml index 8528699f2..c1ed2d2e1 100644 --- a/examples/hanode.yaml +++ b/examples/hanode.yaml @@ -1,11 +1,16 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample hanode playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | HAnode + - name: Configure hanode delegate_to: localhost netscaler.adc.hanode: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - id: 1 - ipaddress: 10.10.10.141 + ipaddress: 10.189.96.60 + inc: ENABLED + hanode_id: '1' diff --git a/examples/icaaccessprofile.yaml b/examples/icaaccessprofile.yaml new file mode 100644 index 000000000..9f6182dcb --- /dev/null +++ b/examples/icaaccessprofile.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample icaaccessprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure icaaccessprofile + delegate_to: localhost + netscaler.adc.icaaccessprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ipr + clientclipboardredirection: DEFAULT diff --git a/examples/icaaction.yaml b/examples/icaaction.yaml new file mode 100644 index 000000000..88e6d55b5 --- /dev/null +++ b/examples/icaaction.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample icaaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure icaaction + delegate_to: localhost + netscaler.adc.icaaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia + accessprofilename: ipr diff --git a/examples/icaglobal_icapolicy_binding.yaml b/examples/icaglobal_icapolicy_binding.yaml new file mode 100644 index 000000000..b219b133e --- /dev/null +++ b/examples/icaglobal_icapolicy_binding.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample icaglobal_icapolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure icaglobal_icapolicy_binding + delegate_to: localhost + netscaler.adc.icaglobal_icapolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + policyname: icapol2 + priority: '2' + type: ICA_REQ_DEFAULT diff --git a/examples/icalatencyprofile.yaml b/examples/icalatencyprofile.yaml new file mode 100644 index 000000000..7451c3e90 --- /dev/null +++ b/examples/icalatencyprofile.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample icalatencyprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure icalatencyprofile + delegate_to: localhost + netscaler.adc.icalatencyprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: l6 + l7latencywaittime: '5' diff --git a/examples/icapolicy.yaml b/examples/icapolicy.yaml new file mode 100644 index 000000000..58a94d99b --- /dev/null +++ b/examples/icapolicy.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample icapolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure icapolicy + delegate_to: localhost + netscaler.adc.icapolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ipo + rule: HTTP.REQ.USER.IS_MEMBER_OF("g1") + action: ia diff --git a/examples/inatparam.yaml b/examples/inatparam.yaml new file mode 100644 index 000000000..3afcb1245 --- /dev/null +++ b/examples/inatparam.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample inatparam playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure inatparam + delegate_to: localhost + netscaler.adc.inatparam: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + nat46fragheader: DISABLED diff --git a/examples/interface.yaml b/examples/interface.yaml new file mode 100644 index 000000000..5c871769c --- /dev/null +++ b/examples/interface.yaml @@ -0,0 +1,22 @@ +--- +- name: Sample interface playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure interface + delegate_to: localhost + netscaler.adc.interface: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + hamonitor: 'OFF' + haheartbeat: 'OFF' + throughput: '0' + bandwidthhigh: '0' + bandwidthnormal: '0' + intftype: Loopback + ifnum: + - LO/1 + interface_id: LO/1 diff --git a/examples/ip6tunnelparam.yaml b/examples/ip6tunnelparam.yaml index f60231ab9..9935475a1 100644 --- a/examples/ip6tunnelparam.yaml +++ b/examples/ip6tunnelparam.yaml @@ -1,10 +1,14 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample ip6tunnelparam playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | ip6TunnelParam + - name: Configure ip6tunnelparam delegate_to: localhost netscaler.adc.ip6tunnelparam: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present srcip: '::' diff --git a/examples/ipsecprofile.yaml b/examples/ipsecprofile.yaml new file mode 100644 index 000000000..e9348e7c3 --- /dev/null +++ b/examples/ipsecprofile.yaml @@ -0,0 +1,21 @@ +--- +- name: Sample ipsecprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure ipsecprofile + delegate_to: localhost + netscaler.adc.ipsecprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia_ipsecpro10 + publickey: sample + privatekey: sample + peerpublickey: sample + livenesscheckinterval: '23' + replaywindowsize: '23' + ikeretryinterval: '60' + retransmissiontime: '23' diff --git a/examples/ipset.yaml b/examples/ipset.yaml index ed3c6cb89..8f420c259 100644 --- a/examples/ipset.yaml +++ b/examples/ipset.yaml @@ -1,20 +1,14 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample ipset playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: IPSET | ADD + - name: Configure ipset delegate_to: localhost - register: result - tags: test netscaler.adc.ipset: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - name: ipset-001 - - name: IPSET | DELETE - delegate_to: localhost - register: result - check_mode: false - tags: test - netscaler.adc.ipset: - state: absent - name: ipset-001 + name: ipset_adns diff --git a/examples/ipset_nsip_binding.yaml b/examples/ipset_nsip_binding.yaml new file mode 100644 index 000000000..c9c2e04e8 --- /dev/null +++ b/examples/ipset_nsip_binding.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample ipset_nsip_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure ipset_nsip_binding + delegate_to: localhost + netscaler.adc.ipset_nsip_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ipset_adns + ipaddress: + - 10.189.33.7 diff --git a/examples/iptunnel.yaml b/examples/iptunnel.yaml new file mode 100644 index 000000000..b6370afa6 --- /dev/null +++ b/examples/iptunnel.yaml @@ -0,0 +1,18 @@ +--- +- name: Sample iptunnel playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure iptunnel + delegate_to: localhost + netscaler.adc.iptunnel: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: t11 + remote: 1.1.1.14 + remotesubnetmask: 255.255.255.255 + local: 1.1.1.22 + protocol: VXLAN diff --git a/examples/iptunnelparam.yaml b/examples/iptunnelparam.yaml new file mode 100644 index 000000000..0a51f7c54 --- /dev/null +++ b/examples/iptunnelparam.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample iptunnelparam playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure iptunnelparam + delegate_to: localhost + netscaler.adc.iptunnelparam: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + srciproundrobin: 'YES' diff --git a/examples/ipv6.yaml b/examples/ipv6.yaml new file mode 100644 index 000000000..d648782da --- /dev/null +++ b/examples/ipv6.yaml @@ -0,0 +1,18 @@ +--- +- name: Sample ipv6 playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure ipv6 + delegate_to: localhost + netscaler.adc.ipv6: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + routerredirection: ENABLED + ndbasereachtime: '20000' + ndretransmissiontime: '2000' + natprefix: 2001::/96 + dodad: ENABLED diff --git a/examples/l2param.yaml b/examples/l2param.yaml new file mode 100644 index 000000000..b8ec5599a --- /dev/null +++ b/examples/l2param.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample l2param playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure l2param + delegate_to: localhost + netscaler.adc.l2param: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + returntoethernetsender: ENABLED diff --git a/examples/l3param.yaml b/examples/l3param.yaml index ea5501b3f..afb6f1394 100644 --- a/examples/l3param.yaml +++ b/examples/l3param.yaml @@ -1,15 +1,14 @@ --- -- name: Sample Task - hosts: localhost +- name: Sample l3param playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample task | set l3param + - name: Configure l3param delegate_to: localhost netscaler.adc.l3param: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - acllogtime: 3000 - - name: Sample task | unset l3param - delegate_to: localhost - netscaler.adc.l3param: - state: unset - acllogtime: "true" + icmperrgenerate: DISABLED diff --git a/examples/lacp.yaml b/examples/lacp.yaml index c3b00719b..bd14ccc0c 100644 --- a/examples/lacp.yaml +++ b/examples/lacp.yaml @@ -1,10 +1,15 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample lacp playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | lacp + - name: Configure lacp delegate_to: localhost netscaler.adc.lacp: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present syspriority: '32768' + mac: 12:31:4d:59:3f:9f diff --git a/examples/lbgroup.yaml b/examples/lbgroup.yaml new file mode 100644 index 000000000..6b8d4172a --- /dev/null +++ b/examples/lbgroup.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample lbgroup playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lbgroup + delegate_to: localhost + netscaler.adc.lbgroup: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: webgrp + persistencetype: COOKIEINSERT + persistencebackup: SOURCEIP diff --git a/examples/lbgroup_lbvserver_binding.yaml b/examples/lbgroup_lbvserver_binding.yaml new file mode 100644 index 000000000..f4d20a48e --- /dev/null +++ b/examples/lbgroup_lbvserver_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample lbgroup_lbvserver_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lbgroup_lbvserver_binding + delegate_to: localhost + netscaler.adc.lbgroup_lbvserver_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: webgrp + vservername: http_vip diff --git a/examples/lbmetrictable.yaml b/examples/lbmetrictable.yaml new file mode 100644 index 000000000..36440fa74 --- /dev/null +++ b/examples/lbmetrictable.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample lbmetrictable playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lbmetrictable + delegate_to: localhost + netscaler.adc.lbmetrictable: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + metrictable: LB_ia_metrictable3 diff --git a/examples/lbmetrictable_metric_binding.yaml b/examples/lbmetrictable_metric_binding.yaml new file mode 100644 index 000000000..bf3e090d7 --- /dev/null +++ b/examples/lbmetrictable_metric_binding.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample lbmetrictable_metric_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lbmetrictable_metric_binding + delegate_to: localhost + netscaler.adc.lbmetrictable_metric_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + metrictable: LB_ia_metrictable3 + metric: ia_metric + snmpoid: 1.1.1.115.4.1.5951.4.1.1.46.3.9 diff --git a/examples/lbmonitor.yaml b/examples/lbmonitor.yaml index df448bc73..271ad7167 100644 --- a/examples/lbmonitor.yaml +++ b/examples/lbmonitor.yaml @@ -1,37 +1,22 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample lbmonitor playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | lbmonitor + - name: Configure lbmonitor delegate_to: localhost netscaler.adc.lbmonitor: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - monitorname: ldns-dns - type: LDNS-DNS - query: . - querytype: Address - deviation: '0' - interval: 6 - resptimeout: 3 - downtime: 20 - - name: Sample Task | lbmonitor | 2 - delegate_to: localhost - netscaler.adc.lbmonitor: - state: present - monitorname: stasecure - type: CITRIX-STA-SERVICE - deviation: '0' - interval: 2 - units3: MIN - resptimeout: 4 - downtime: 5 - - name: Sample Task | lbmonitor | 3 - delegate_to: localhost - tags: test - netscaler.adc.lbmonitor: - state: present - monitorname: test-monitor1 - type: TCP - interval: 15 - retries: 20 + monitorname: Storefront + type: STOREFRONT + scriptname: nssf.pl + dispatcherip: 127.0.0.1 + dispatcherport: 3013 + lrtm: DISABLED + secure: 'YES' + storename: Store + storefrontcheckbackendservices: 'YES' diff --git a/examples/lbmonitor_metric_binding.yaml b/examples/lbmonitor_metric_binding.yaml new file mode 100644 index 000000000..0a51d8946 --- /dev/null +++ b/examples/lbmonitor_metric_binding.yaml @@ -0,0 +1,17 @@ +--- +- name: Sample lbmonitor_metric_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lbmonitor_metric_binding + delegate_to: localhost + netscaler.adc.lbmonitor_metric_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + monitorname: LB_ia_mon6 + metric: local.CONNECTIONS + metricthreshold: '23' + metricweight: '10' diff --git a/examples/lbmonitor_sslcertkey_binding.yaml b/examples/lbmonitor_sslcertkey_binding.yaml new file mode 100644 index 000000000..c7caa47c4 --- /dev/null +++ b/examples/lbmonitor_sslcertkey_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample lbmonitor_sslcertkey_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lbmonitor_sslcertkey_binding + delegate_to: localhost + netscaler.adc.lbmonitor_sslcertkey_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + monitorname: https + certkeyname: myclient diff --git a/examples/lbparameter.yaml b/examples/lbparameter.yaml index 8047c6ff4..d64634849 100644 --- a/examples/lbparameter.yaml +++ b/examples/lbparameter.yaml @@ -1,16 +1,13 @@ --- -- name: Sample Task - hosts: localhost +- name: Sample lbparameter playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample playbook + - name: Configure lbparameter delegate_to: localhost netscaler.adc.lbparameter: - # nsip: 10.0.0.1 # This can also be given via NETSCALER_NSIP environment variable - # nitro_user: nitrouser # This can also be given via NETSCALER_NITRO_USER environment variable - # nitro_pass: verysecretpassword # This can also be given via NETSCALER_NITRO_PASS environment variable - # nitro_protocol: https # This can also be given via NETSCALER_NITRO_PROTOCOL environment variable - # validate_certs: false # This can also be given via NETSCALER_VALIDATE_CERTS environment variable - # save_config: false # This can also be given via NETSCALER_SAVE_CONFIG environment variable + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - allowboundsvcremoval: DISABLED diff --git a/examples/lbprofile.yaml b/examples/lbprofile.yaml new file mode 100644 index 000000000..37e797e17 --- /dev/null +++ b/examples/lbprofile.yaml @@ -0,0 +1,13 @@ +--- +- name: Sample lbprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lbprofile + delegate_to: localhost + netscaler.adc.lbprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present diff --git a/examples/lbsipparameters.yaml b/examples/lbsipparameters.yaml new file mode 100644 index 000000000..20dccf4e6 --- /dev/null +++ b/examples/lbsipparameters.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample lbsipparameters playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lbsipparameters + delegate_to: localhost + netscaler.adc.lbsipparameters: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + rnatsecuresrcport: 5061 diff --git a/examples/lbvserver.yaml b/examples/lbvserver.yaml index c711098fb..efd1cec65 100644 --- a/examples/lbvserver.yaml +++ b/examples/lbvserver.yaml @@ -1,74 +1,19 @@ --- -- name: Simple LBVserver playbook - hosts: localhost +- name: Sample lbvserver playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | service - delegate_to: localhost - netscaler.adc.service: - # nsip: 10.0.0.1 # This can also be given via NETSCALER_NSIP environment variable - # nitro_user: nitrouser # This can also be given via NETSCALER_NITRO_USER environment variable - # nitro_pass: verysecretpassword # This can also be given via NETSCALER_NITRO_PASS environment variable - # nitro_protocol: https # This can also be given via NETSCALER_NITRO_PROTOCOL environment variable - # validate_certs: false # This can also be given via NETSCALER_VALIDATE_CERTS environment variable - # save_config: false # This can also be given via NETSCALER_SAVE_CONFIG environment variable - state: present - name: s1 - ipaddress: 10.10.10.181 - servicetype: HTTP - port: 80 - - name: Sample Task | service - delegate_to: localhost - netscaler.adc.service: - # nsip: 10.0.0.1 # This can also be given via NETSCALER_NSIP environment variable - # nitro_user: nitrouser # This can also be given via NETSCALER_NITRO_USER environment variable - # nitro_pass: verysecretpassword # This can also be given via NETSCALER_NITRO_PASS environment variable - # nitro_protocol: https # This can also be given via NETSCALER_NITRO_PROTOCOL environment variable - # validate_certs: false # This can also be given via NETSCALER_VALIDATE_CERTS environment variable - # save_config: false # This can also be given via NETSCALER_SAVE_CONFIG environment variable - state: present - name: s2 - ipaddress: 10.10.10.10 - servicetype: HTTP - port: 80 - - name: Sample Task | servicegroup - delegate_to: localhost - netscaler.adc.servicegroup: - # nsip: 10.0.0.1 # This can also be given via NETSCALER_NSIP environment variable - # nitro_user: nitrouser # This can also be given via NETSCALER_NITRO_USER environment variable - # nitro_pass: verysecretpassword # This can also be given via NETSCALER_NITRO_PASS environment variable - # nitro_protocol: https # This can also be given via NETSCALER_NITRO_PROTOCOL environment variable - # validate_certs: false # This can also be given via NETSCALER_VALIDATE_CERTS environment variable - # save_config: false # This can also be given via NETSCALER_SAVE_CONFIG environment variable - state: present - servicegroupname: sg1 - servicetype: HTTP - - name: Sample Task | lbvserver with bindings + - name: Configure lbvserver delegate_to: localhost netscaler.adc.lbvserver: - # nsip: 10.0.0.1 # This can also be given via NETSCALER_NSIP environment variable - # nitro_user: nitrouser # This can also be given via NETSCALER_NITRO_USER environment variable - # nitro_pass: verysecretpassword # This can also be given via NETSCALER_NITRO_PASS environment variable - # nitro_protocol: https # This can also be given via NETSCALER_NITRO_PROTOCOL environment variable - # validate_certs: false # This can also be given via NETSCALER_VALIDATE_CERTS environment variable - # save_config: false # This can also be given via NETSCALER_SAVE_CONFIG environment variable + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - name: test_lbvser - servicetype: HTTP - ipv46: 10.10.10.11 - port: 80 - lbmethod: LEASTCONNECTION - lbvserver_servicegroup_binding: - # mode: desired # bind | unbind | desired - binding_members: - - name: test_lbvser - servicename: sg1 - lbvserver_service_binding: - # mode: desired # bind | unbind | desired - binding_members: - - name: test_lbvser - servicename: s1 - weight: 16 - - name: test_lbvser - servicename: s2 - weight: 20 + name: lb_dns_01 + servicetype: DNS + ipv46: 169.254.100.2 + port: 53 + persistencetype: NONE + clttimeout: 120 diff --git a/examples/lbvserver_appqoepolicy_binding.yaml b/examples/lbvserver_appqoepolicy_binding.yaml new file mode 100644 index 000000000..8a9201749 --- /dev/null +++ b/examples/lbvserver_appqoepolicy_binding.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample lbvserver_appqoepolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lbvserver_appqoepolicy_binding + delegate_to: localhost + netscaler.adc.lbvserver_appqoepolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: Base_appqoe_v1 + policyname: Base_appqoe_pol7 + priority: '700' diff --git a/examples/lbvserver_cachepolicy_binding.yaml b/examples/lbvserver_cachepolicy_binding.yaml new file mode 100644 index 000000000..8b57cab83 --- /dev/null +++ b/examples/lbvserver_cachepolicy_binding.yaml @@ -0,0 +1,18 @@ +--- +- name: Sample lbvserver_cachepolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lbvserver_cachepolicy_binding + delegate_to: localhost + netscaler.adc.lbvserver_cachepolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: _XM_LB_CACHE_10.100.39.1321 + policyname: n_XM_CACHE_WO_DEVICEID_10.100.39.132 + priority: '90' + gotopriorityexpression: END + bindpoint: REQUEST diff --git a/examples/lbvserver_cmppolicy_binding.yaml b/examples/lbvserver_cmppolicy_binding.yaml new file mode 100644 index 000000000..c20c5f5de --- /dev/null +++ b/examples/lbvserver_cmppolicy_binding.yaml @@ -0,0 +1,21 @@ +--- +- name: Sample lbvserver_cmppolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lbvserver_cmppolicy_binding + delegate_to: localhost + netscaler.adc.lbvserver_cmppolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: Base_v-cmp + policyname: Base_cmp_mypolicy + priority: '1' + gotopriorityexpression: next + bindpoint: RESPONSE + invoke: true + labeltype: policylabel + labelname: Base_cmp_pol_label diff --git a/examples/lbvserver_dnspolicy64_binding.yaml b/examples/lbvserver_dnspolicy64_binding.yaml new file mode 100644 index 000000000..33cdb24c6 --- /dev/null +++ b/examples/lbvserver_dnspolicy64_binding.yaml @@ -0,0 +1,18 @@ +--- +- name: Sample lbvserver_dnspolicy64_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lbvserver_dnspolicy64_binding + delegate_to: localhost + netscaler.adc.lbvserver_dnspolicy64_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: lb_tcp1 + policyname: dns64_pol2 + priority: '2' + gotopriorityexpression: END + bindpoint: REQUEST diff --git a/examples/lbvserver_responderpolicy_binding.yaml b/examples/lbvserver_responderpolicy_binding.yaml new file mode 100644 index 000000000..a5c44012b --- /dev/null +++ b/examples/lbvserver_responderpolicy_binding.yaml @@ -0,0 +1,17 @@ +--- +- name: Sample lbvserver_responderpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lbvserver_responderpolicy_binding + delegate_to: localhost + netscaler.adc.lbvserver_responderpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: v666 + policyname: P1 + priority: '5' + bindpoint: REQUEST diff --git a/examples/lbvserver_rewritepolicy_binding.yaml b/examples/lbvserver_rewritepolicy_binding.yaml new file mode 100644 index 000000000..ed023a6ed --- /dev/null +++ b/examples/lbvserver_rewritepolicy_binding.yaml @@ -0,0 +1,18 @@ +--- +- name: Sample lbvserver_rewritepolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lbvserver_rewritepolicy_binding + delegate_to: localhost + netscaler.adc.lbvserver_rewritepolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: LB_DIA_vs2 + policyname: rw_diam_pol + priority: '10' + gotopriorityexpression: END + bindpoint: REQUEST diff --git a/examples/lbvserver_service_binding.yaml b/examples/lbvserver_service_binding.yaml index 4faa8eb59..1c9b8a22a 100644 --- a/examples/lbvserver_service_binding.yaml +++ b/examples/lbvserver_service_binding.yaml @@ -1,18 +1,15 @@ --- -- name: Simple lbvserver_service_binding playbook - hosts: localhost +- name: Sample lbvserver_service_binding playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | lbvserver_service_binding + - name: Configure lbvserver_service_binding delegate_to: localhost netscaler.adc.lbvserver_service_binding: - # nsip: 10.0.0.1 # This can also be given via NETSCALER_NSIP environment variable - # nitro_user: nitrouser # This can also be given via NETSCALER_NITRO_USER environment variable - # nitro_pass: verysecretpassword # This can also be given via NETSCALER_NITRO_PASS environment variable - # nitro_protocol: https # This can also be given via NETSCALER_NITRO_PROTOCOL environment variable - # validate_certs: false # This can also be given via NETSCALER_VALIDATE_CERTS environment variable - # save_config: false # This can also be given via NETSCALER_SAVE_CONFIG environment variable - state: absent - name: test_lbvser - servicename: s1 - weight: 16 + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: lb_dns_01 + servicename: dns_svc_03 diff --git a/examples/lbvserver_servicegroup_binding.yaml b/examples/lbvserver_servicegroup_binding.yaml new file mode 100644 index 000000000..4852ca943 --- /dev/null +++ b/examples/lbvserver_servicegroup_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample lbvserver_servicegroup_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lbvserver_servicegroup_binding + delegate_to: localhost + netscaler.adc.lbvserver_servicegroup_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: CR_cachev21 + servicename: CR_SVG diff --git a/examples/lbvserver_tmtrafficpolicy_binding.yaml b/examples/lbvserver_tmtrafficpolicy_binding.yaml new file mode 100644 index 000000000..4b6c8de0a --- /dev/null +++ b/examples/lbvserver_tmtrafficpolicy_binding.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample lbvserver_tmtrafficpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lbvserver_tmtrafficpolicy_binding + delegate_to: localhost + netscaler.adc.lbvserver_tmtrafficpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: lbvs + policyname: ia_tmtrafpol1 + priority: '1' diff --git a/examples/location.yaml b/examples/location.yaml new file mode 100644 index 000000000..23c560a95 --- /dev/null +++ b/examples/location.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample location playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure location + delegate_to: localhost + netscaler.adc.location: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + ipfrom: 1.1.1.1 + ipto: 2.2.2.2 + preferredlocation: '*.US.*' diff --git a/examples/locationfile.yaml b/examples/locationfile.yaml index 9a5e483a5..b834261b8 100644 --- a/examples/locationfile.yaml +++ b/examples/locationfile.yaml @@ -1,11 +1,14 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample locationfile playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | sslcert + - name: Configure locationfile delegate_to: localhost netscaler.adc.locationfile: - state: imported - locationfile: my_file - src: local:my_location_file + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + locationfile: /var/netscaler/locdb/Citrix_Netscaler_InBuilt_GeoIP_DB_IPv4 diff --git a/examples/locationparameter.yaml b/examples/locationparameter.yaml new file mode 100644 index 000000000..8c1681a83 --- /dev/null +++ b/examples/locationparameter.yaml @@ -0,0 +1,17 @@ +--- +- name: Sample locationparameter playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure locationparameter + delegate_to: localhost + netscaler.adc.locationparameter: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + q2label: Country_Code + q3label: Subdivision_1_Name + q4label: Subdivision_2_Name + q5label: City diff --git a/examples/lsnappsprofile.yaml b/examples/lsnappsprofile.yaml new file mode 100644 index 000000000..2b6e80a17 --- /dev/null +++ b/examples/lsnappsprofile.yaml @@ -0,0 +1,18 @@ +--- +- name: Sample lsnappsprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsnappsprofile + delegate_to: localhost + netscaler.adc.lsnappsprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + appsprofilename: icmp + transportprotocol: ICMP + mapping: ENDPOINT-INDEPENDENT + filtering: ENDPOINT-INDEPENDENT + l2info: ENABLED diff --git a/examples/lsnappsprofile_port_binding.yaml b/examples/lsnappsprofile_port_binding.yaml new file mode 100644 index 000000000..2572bbd3e --- /dev/null +++ b/examples/lsnappsprofile_port_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample lsnappsprofile_port_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsnappsprofile_port_binding + delegate_to: localhost + netscaler.adc.lsnappsprofile_port_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + appsprofilename: app21 + lsnport: 1-65535 diff --git a/examples/lsnclient.yaml b/examples/lsnclient.yaml new file mode 100644 index 000000000..c7711366b --- /dev/null +++ b/examples/lsnclient.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample lsnclient playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsnclient + delegate_to: localhost + netscaler.adc.lsnclient: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + clientname: dsl_http diff --git a/examples/lsnclient_network6_binding.yaml b/examples/lsnclient_network6_binding.yaml new file mode 100644 index 000000000..0566da8ae --- /dev/null +++ b/examples/lsnclient_network6_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample lsnclient_network6_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsnclient_network6_binding + delegate_to: localhost + netscaler.adc.lsnclient_network6_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + clientname: client12 + network6: 3ffe:100::6/128 diff --git a/examples/lsnclient_network_binding.yaml b/examples/lsnclient_network_binding.yaml new file mode 100644 index 000000000..aa7bb3a16 --- /dev/null +++ b/examples/lsnclient_network_binding.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample lsnclient_network_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsnclient_network_binding + delegate_to: localhost + netscaler.adc.lsnclient_network_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + clientname: dsl_http + network: 94.94.94.94 + netmask: 255.255.255.255 diff --git a/examples/lsndeterministicnat.yaml b/examples/lsndeterministicnat.yaml new file mode 100644 index 000000000..d483111e4 --- /dev/null +++ b/examples/lsndeterministicnat.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample lsndeterministicnat playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsndeterministicnat + delegate_to: localhost + netscaler.adc.lsndeterministicnat: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + clientname: c1 diff --git a/examples/lsngroup.yaml b/examples/lsngroup.yaml new file mode 100644 index 000000000..7dfe07d83 --- /dev/null +++ b/examples/lsngroup.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample lsngroup playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsngroup + delegate_to: localhost + netscaler.adc.lsngroup: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + groupname: dsl_http + clientname: dsl_http diff --git a/examples/lsngroup_lsnappsprofile_binding.yaml b/examples/lsngroup_lsnappsprofile_binding.yaml new file mode 100644 index 000000000..ebb9df493 --- /dev/null +++ b/examples/lsngroup_lsnappsprofile_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample lsngroup_lsnappsprofile_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsngroup_lsnappsprofile_binding + delegate_to: localhost + netscaler.adc.lsngroup_lsnappsprofile_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + groupname: g15 + appsprofilename: app_udp diff --git a/examples/lsngroup_lsnhttphdrlogprofile_binding.yaml b/examples/lsngroup_lsnhttphdrlogprofile_binding.yaml new file mode 100644 index 000000000..5f76a649c --- /dev/null +++ b/examples/lsngroup_lsnhttphdrlogprofile_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample lsngroup_lsnhttphdrlogprofile_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsngroup_lsnhttphdrlogprofile_binding + delegate_to: localhost + netscaler.adc.lsngroup_lsnhttphdrlogprofile_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + groupname: g1 + httphdrlogprofilename: httplog diff --git a/examples/lsngroup_lsnlogprofile_binding.yaml b/examples/lsngroup_lsnlogprofile_binding.yaml new file mode 100644 index 000000000..25023ab47 --- /dev/null +++ b/examples/lsngroup_lsnlogprofile_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample lsngroup_lsnlogprofile_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsngroup_lsnlogprofile_binding + delegate_to: localhost + netscaler.adc.lsngroup_lsnlogprofile_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + groupname: lsn_group_1 + logprofilename: msd diff --git a/examples/lsngroup_lsnpool_binding.yaml b/examples/lsngroup_lsnpool_binding.yaml new file mode 100644 index 000000000..ba1239654 --- /dev/null +++ b/examples/lsngroup_lsnpool_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample lsngroup_lsnpool_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsngroup_lsnpool_binding + delegate_to: localhost + netscaler.adc.lsngroup_lsnpool_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + groupname: group4 + poolname: pool4 diff --git a/examples/lsngroup_lsnrtspalgprofile_binding.yaml b/examples/lsngroup_lsnrtspalgprofile_binding.yaml new file mode 100644 index 000000000..9494aa347 --- /dev/null +++ b/examples/lsngroup_lsnrtspalgprofile_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample lsngroup_lsnrtspalgprofile_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsngroup_lsnrtspalgprofile_binding + delegate_to: localhost + netscaler.adc.lsngroup_lsnrtspalgprofile_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + groupname: group12 + rtspalgprofilename: rtspprofile1 diff --git a/examples/lsngroup_lsnsipalgprofile_binding.yaml b/examples/lsngroup_lsnsipalgprofile_binding.yaml new file mode 100644 index 000000000..a9298f523 --- /dev/null +++ b/examples/lsngroup_lsnsipalgprofile_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample lsngroup_lsnsipalgprofile_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsngroup_lsnsipalgprofile_binding + delegate_to: localhost + netscaler.adc.lsngroup_lsnsipalgprofile_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + groupname: g15 + sipalgprofilename: sipalgprofile_udp diff --git a/examples/lsngroup_lsntransportprofile_binding.yaml b/examples/lsngroup_lsntransportprofile_binding.yaml new file mode 100644 index 000000000..7739311dd --- /dev/null +++ b/examples/lsngroup_lsntransportprofile_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample lsngroup_lsntransportprofile_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsngroup_lsntransportprofile_binding + delegate_to: localhost + netscaler.adc.lsngroup_lsntransportprofile_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + groupname: group1 + transportprofilename: icmp diff --git a/examples/lsngroup_pcpserver_binding.yaml b/examples/lsngroup_pcpserver_binding.yaml new file mode 100644 index 000000000..64c2704d7 --- /dev/null +++ b/examples/lsngroup_pcpserver_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample lsngroup_pcpserver_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsngroup_pcpserver_binding + delegate_to: localhost + netscaler.adc.lsngroup_pcpserver_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + groupname: lsn_group_1 + pcpserver: pcp_server_1 diff --git a/examples/lsnhttphdrlogprofile.yaml b/examples/lsnhttphdrlogprofile.yaml new file mode 100644 index 000000000..5a99e3cd4 --- /dev/null +++ b/examples/lsnhttphdrlogprofile.yaml @@ -0,0 +1,18 @@ +--- +- name: Sample lsnhttphdrlogprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsnhttphdrlogprofile + delegate_to: localhost + netscaler.adc.lsnhttphdrlogprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + httphdrlogprofilename: httplog + logurl: ENABLED + logmethod: ENABLED + logversion: ENABLED + loghost: ENABLED diff --git a/examples/lsnip6profile.yaml b/examples/lsnip6profile.yaml new file mode 100644 index 000000000..0660d5fd4 --- /dev/null +++ b/examples/lsnip6profile.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample lsnip6profile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsnip6profile + delegate_to: localhost + netscaler.adc.lsnip6profile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ds1 + type: DS-Lite + network6: 3ffe:100::1 diff --git a/examples/lsnlogprofile.yaml b/examples/lsnlogprofile.yaml new file mode 100644 index 000000000..4abf02ea2 --- /dev/null +++ b/examples/lsnlogprofile.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample lsnlogprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsnlogprofile + delegate_to: localhost + netscaler.adc.lsnlogprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + logprofilename: msd + logsubscrinfo: ENABLED diff --git a/examples/lsnparameter.yaml b/examples/lsnparameter.yaml new file mode 100644 index 000000000..df91ea45f --- /dev/null +++ b/examples/lsnparameter.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample lsnparameter playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsnparameter + delegate_to: localhost + netscaler.adc.lsnparameter: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + subscrsessionremoval: ENABLED diff --git a/examples/lsnpool.yaml b/examples/lsnpool.yaml new file mode 100644 index 000000000..1d76db625 --- /dev/null +++ b/examples/lsnpool.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample lsnpool playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsnpool + delegate_to: localhost + netscaler.adc.lsnpool: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + poolname: pool4 diff --git a/examples/lsnpool_lsnip_binding.yaml b/examples/lsnpool_lsnip_binding.yaml new file mode 100644 index 000000000..6ddc2e2b0 --- /dev/null +++ b/examples/lsnpool_lsnip_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample lsnpool_lsnip_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsnpool_lsnip_binding + delegate_to: localhost + netscaler.adc.lsnpool_lsnip_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + poolname: pool4 + lsnip: 45.1.1.1-45.1.1.10 diff --git a/examples/lsnrtspalgprofile.yaml b/examples/lsnrtspalgprofile.yaml new file mode 100644 index 000000000..af4f9567a --- /dev/null +++ b/examples/lsnrtspalgprofile.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample lsnrtspalgprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsnrtspalgprofile + delegate_to: localhost + netscaler.adc.lsnrtspalgprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + rtspalgprofilename: rtspprofile1 + rtspidletimeout: '100' + rtspportrange: '554' diff --git a/examples/lsnsipalgprofile.yaml b/examples/lsnsipalgprofile.yaml new file mode 100644 index 000000000..808bb0a15 --- /dev/null +++ b/examples/lsnsipalgprofile.yaml @@ -0,0 +1,17 @@ +--- +- name: Sample lsnsipalgprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsnsipalgprofile + delegate_to: localhost + netscaler.adc.lsnsipalgprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + sipalgprofilename: sipalgprofile_udp + registrationtimeout: '3600' + sipdstportrange: '5060' + siptransportprotocol: UDP diff --git a/examples/lsnstatic.yaml b/examples/lsnstatic.yaml new file mode 100644 index 000000000..3c48e8dbb --- /dev/null +++ b/examples/lsnstatic.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample lsnstatic playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsnstatic + delegate_to: localhost + netscaler.adc.lsnstatic: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + nattype: DS-Lite diff --git a/examples/lsntransportprofile.yaml b/examples/lsntransportprofile.yaml new file mode 100644 index 000000000..0ba0b3fc4 --- /dev/null +++ b/examples/lsntransportprofile.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample lsntransportprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsntransportprofile + delegate_to: localhost + netscaler.adc.lsntransportprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + transportprofilename: icmp + transportprotocol: ICMP + groupsessionlimit: '10000' diff --git a/examples/mapbmr.yaml b/examples/mapbmr.yaml new file mode 100644 index 000000000..02622f532 --- /dev/null +++ b/examples/mapbmr.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample mapbmr playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure mapbmr + delegate_to: localhost + netscaler.adc.mapbmr: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: bmr1 + ruleipv6prefix: 2001:db8:89ab::/48 diff --git a/examples/mapbmr_bmrv4network_binding.yaml b/examples/mapbmr_bmrv4network_binding.yaml new file mode 100644 index 000000000..749358ec4 --- /dev/null +++ b/examples/mapbmr_bmrv4network_binding.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample mapbmr_bmrv4network_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure mapbmr_bmrv4network_binding + delegate_to: localhost + netscaler.adc.mapbmr_bmrv4network_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: bmr1 + network: 192.0.2.0 + netmask: 255.255.255.0 diff --git a/examples/mapdmr.yaml b/examples/mapdmr.yaml new file mode 100644 index 000000000..58a8f0c28 --- /dev/null +++ b/examples/mapdmr.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample mapdmr playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure mapdmr + delegate_to: localhost + netscaler.adc.mapdmr: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: dmr1 + bripv6prefix: 2001:db8::/64 diff --git a/examples/mapdomain.yaml b/examples/mapdomain.yaml new file mode 100644 index 000000000..e726bc3b3 --- /dev/null +++ b/examples/mapdomain.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample mapdomain playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure mapdomain + delegate_to: localhost + netscaler.adc.mapdomain: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: map1 + mapdmrname: dmr1 diff --git a/examples/mapdomain_mapbmr_binding.yaml b/examples/mapdomain_mapbmr_binding.yaml new file mode 100644 index 000000000..21f0e1e5b --- /dev/null +++ b/examples/mapdomain_mapbmr_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample mapdomain_mapbmr_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure mapdomain_mapbmr_binding + delegate_to: localhost + netscaler.adc.mapdomain_mapbmr_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: map1 + mapbmrname: bmr1 diff --git a/examples/mediaclassification.yaml b/examples/mediaclassification.yaml new file mode 100644 index 000000000..9d19f5ccd --- /dev/null +++ b/examples/mediaclassification.yaml @@ -0,0 +1,13 @@ +--- +- name: Sample mediaclassification playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure mediaclassification + delegate_to: localhost + netscaler.adc.mediaclassification: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present diff --git a/examples/nat64.yaml b/examples/nat64.yaml new file mode 100644 index 000000000..f2942b018 --- /dev/null +++ b/examples/nat64.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample nat64 playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure nat64 + delegate_to: localhost + netscaler.adc.nat64: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia_nat2 + acl6name: net_acl6 + netprofile: netpprof diff --git a/examples/nd6.yaml b/examples/nd6.yaml new file mode 100644 index 000000000..ccaea7568 --- /dev/null +++ b/examples/nd6.yaml @@ -0,0 +1,17 @@ +--- +- name: Sample nd6 playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure nd6 + delegate_to: localhost + netscaler.adc.nd6: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + neighbor: fe80::20 + mac: 00:aa:10:12:13:ef + ifnum: 1/2 + vlan: 1 diff --git a/examples/nd6ravariables.yaml b/examples/nd6ravariables.yaml index 05657b4db..230a6f53e 100644 --- a/examples/nd6ravariables.yaml +++ b/examples/nd6ravariables.yaml @@ -1,10 +1,14 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample nd6ravariables playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | nd6RAvariables + - name: Configure nd6ravariables delegate_to: localhost netscaler.adc.nd6ravariables: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - vlan: 1 + vlan: '1' diff --git a/examples/netbridge.yaml b/examples/netbridge.yaml new file mode 100644 index 000000000..3abc8fbb6 --- /dev/null +++ b/examples/netbridge.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample netbridge playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure netbridge + delegate_to: localhost + netscaler.adc.netbridge: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia_netbridge2 diff --git a/examples/netprofile.yaml b/examples/netprofile.yaml index 9487f3c46..00d1ff495 100644 --- a/examples/netprofile.yaml +++ b/examples/netprofile.yaml @@ -1,17 +1,16 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample netprofile playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Add IPSet - delegate_to: localhost - netscaler.adc.ipset: - state: present - name: ipset-001 - - name: Sample Task | netProfile + - name: Configure netprofile delegate_to: localhost netscaler.adc.netprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - name: netprofile-001 - srcip: ipset-001 - mbf: DISABLED + name: tets_netprofile_dns + srcip: 10.189.130.20 + mbf: ENABLED diff --git a/examples/netprofile_natrule_binding.yaml b/examples/netprofile_natrule_binding.yaml new file mode 100644 index 000000000..12e6efa64 --- /dev/null +++ b/examples/netprofile_natrule_binding.yaml @@ -0,0 +1,17 @@ +--- +- name: Sample netprofile_natrule_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure netprofile_natrule_binding + delegate_to: localhost + netscaler.adc.netprofile_natrule_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: np101 + natrule: 11.0.0.0 + netmask: 255.255.255.0 + rewriteip: 12.0.0.0 diff --git a/examples/netprofile_srcportset_binding.yaml b/examples/netprofile_srcportset_binding.yaml new file mode 100644 index 000000000..2560efe66 --- /dev/null +++ b/examples/netprofile_srcportset_binding.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample netprofile_srcportset_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure netprofile_srcportset_binding + delegate_to: localhost + netscaler.adc.netprofile_srcportset_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: np221 + srcportrange: + - 1024-1026 diff --git a/examples/ns.yaml b/examples/ns.yaml new file mode 100644 index 000000000..e77e564ab --- /dev/null +++ b/examples/ns.yaml @@ -0,0 +1,13 @@ +--- +- name: Sample ns playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure ns + delegate_to: localhost + netscaler.adc.ns: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present diff --git a/examples/nsacl.yaml b/examples/nsacl.yaml new file mode 100644 index 000000000..9128d7348 --- /dev/null +++ b/examples/nsacl.yaml @@ -0,0 +1,23 @@ +--- +- name: Sample nsacl playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure nsacl + delegate_to: localhost + netscaler.adc.nsacl: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + aclname: ACL_SF_Allow_USE1-B + aclaction: ALLOW + srcip: true + srcipop: '=' + srcipval: 10.189.96.60 + destip: true + destipop: '=' + destipdataset: SF_LBVIP + priority: '15' + kernelstate: SFAPPLIED61 diff --git a/examples/nsacl6.yaml b/examples/nsacl6.yaml new file mode 100644 index 000000000..74aaf3a9d --- /dev/null +++ b/examples/nsacl6.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample nsacl6 playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure nsacl6 + delegate_to: localhost + netscaler.adc.nsacl6: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + acl6name: net_acl6 + acl6action: ALLOW diff --git a/examples/nsacls.yaml b/examples/nsacls.yaml new file mode 100644 index 000000000..eaa3de375 --- /dev/null +++ b/examples/nsacls.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample nsacls playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure nsacls + delegate_to: localhost + netscaler.adc.nsacls: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + nitro_operation: apply + '#nitro_operation': apply diff --git a/examples/nsconfig.yaml b/examples/nsconfig.yaml index 7c48fbb0a..71154d02e 100644 --- a/examples/nsconfig.yaml +++ b/examples/nsconfig.yaml @@ -1,11 +1,17 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample nsconfig playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | nsconfig + - name: Configure nsconfig delegate_to: localhost netscaler.adc.nsconfig: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - ipaddress: 10.10.10.10 - netmask: 255.255.255.0 + nsvlan: '10' + ifnum: + - 1/1 + tagged: 'NO' diff --git a/examples/nsconnectiontable.yaml b/examples/nsconnectiontable.yaml new file mode 100644 index 000000000..269570b3b --- /dev/null +++ b/examples/nsconnectiontable.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample nsconnectiontable playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure nsconnectiontable + delegate_to: localhost + netscaler.adc.nsconnectiontable: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + filterexpression: CONNECTION.SRCIP.EQ(10.102.233.126) + listen: true diff --git a/examples/nscqaparam.yaml b/examples/nscqaparam.yaml new file mode 100644 index 000000000..6ed8f371e --- /dev/null +++ b/examples/nscqaparam.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample nscqaparam playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure nscqaparam + delegate_to: localhost + netscaler.adc.nscqaparam: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + lr1probthresh: 0.0 + lr2probthresh: 0.0 diff --git a/examples/nsdhcpparams.yaml b/examples/nsdhcpparams.yaml new file mode 100644 index 000000000..cf2abe43e --- /dev/null +++ b/examples/nsdhcpparams.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample nsdhcpparams playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure nsdhcpparams + delegate_to: localhost + netscaler.adc.nsdhcpparams: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + saveroute: 'ON' diff --git a/examples/nsdiameter.yaml b/examples/nsdiameter.yaml index b53b7694a..70ea1c053 100644 --- a/examples/nsdiameter.yaml +++ b/examples/nsdiameter.yaml @@ -1,11 +1,15 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample nsdiameter playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | nsdiameter + - name: Configure nsdiameter delegate_to: localhost netscaler.adc.nsdiameter: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present identity: netscaler.com realm: com diff --git a/examples/nsencryptionparams.yaml b/examples/nsencryptionparams.yaml new file mode 100644 index 000000000..852670f75 --- /dev/null +++ b/examples/nsencryptionparams.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample nsencryptionparams playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure nsencryptionparams + delegate_to: localhost + netscaler.adc.nsencryptionparams: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + method: AES256 + keyvalue: REQ_PASSWORD diff --git a/examples/nshostname.yaml b/examples/nshostname.yaml index 4732dd2e7..6d7a4725f 100644 --- a/examples/nshostname.yaml +++ b/examples/nshostname.yaml @@ -1,10 +1,14 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample nshostname playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | nshostName + - name: Configure nshostname delegate_to: localhost netscaler.adc.nshostname: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - hostname: ansible-test + hostname: ns diff --git a/examples/nshttpparam.yaml b/examples/nshttpparam.yaml new file mode 100644 index 000000000..75813ebe8 --- /dev/null +++ b/examples/nshttpparam.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample nshttpparam playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure nshttpparam + delegate_to: localhost + netscaler.adc.nshttpparam: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + dropinvalreqs: 'ON' diff --git a/examples/nshttpprofile.yaml b/examples/nshttpprofile.yaml index 58584f662..ecf56a3e3 100644 --- a/examples/nshttpprofile.yaml +++ b/examples/nshttpprofile.yaml @@ -1,11 +1,15 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample nshttpprofile playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | nshttpProfile + - name: Configure nshttpprofile delegate_to: localhost netscaler.adc.nshttpprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - name: httpprofile-HTTP2-0 - http2: ENABLED + name: nshttp_default_profile + dropinvalreqs: ENABLED diff --git a/examples/nsidletimeout.yaml b/examples/nsidletimeout.yaml new file mode 100644 index 000000000..64c07b0be --- /dev/null +++ b/examples/nsidletimeout.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample nsidletimeout playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure nsidletimeout + delegate_to: localhost + netscaler.adc.nsidletimeout: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + nontcpsvrclt: 1200 diff --git a/examples/nsip.yaml b/examples/nsip.yaml index c68f6d0d7..08fa7e7b2 100644 --- a/examples/nsip.yaml +++ b/examples/nsip.yaml @@ -1,38 +1,22 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample nsip playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | nsip + - name: Configure nsip delegate_to: localhost netscaler.adc.nsip: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - ipaddress: 1.1.1.1 - netmask: 255.255.255.192 - type: VIP - - name: Sample Task | nsip | 2 - delegate_to: localhost - netscaler.adc.nsip: - state: present - ipaddress: 192.188.1.1 - netmask: 255.255.255.0 - vserver: DISABLED - dynamicrouting: ENABLED - - name: Sample Task | nsip | 3 - delegate_to: localhost - netscaler.adc.nsip: - state: present - ipaddress: 192.179.1.1 + ipaddress: 10.189.130.5 netmask: 255.255.255.255 - type: VIP - arp: DISABLED - snmp: DISABLED - hostroute: ENABLED - hostrtgw: 0.0.0.0 - - name: Sample Task | nsip | 4 - delegate_to: localhost - netscaler.adc.nsip: - state: present - ipaddress: 192.188.1.2 - netmask: 255.255.0.0 + type: GSLBsiteIP vserver: DISABLED + telnet: DISABLED + ftp: DISABLED + gui: DISABLED + snmp: DISABLED + mgmtaccess: ENABLED diff --git a/examples/nsip6.yaml b/examples/nsip6.yaml index 6ce50b3f6..ea420f7dc 100644 --- a/examples/nsip6.yaml +++ b/examples/nsip6.yaml @@ -1,16 +1,20 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample nsip6 playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | nsip6 + - name: Configure nsip6 delegate_to: localhost netscaler.adc.nsip6: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - ipv6address: ae80::1024:45aa:fe3b:9843/64 + ipv6address: fe80::1031:4dff:fe59:3f9f/64 scope: link-local - type: SNIP + type: NSIP vlan: '1' vserver: DISABLED - mgmtaccess: DISABLED + mgmtaccess: ENABLED dynamicrouting: ENABLED diff --git a/examples/nslicenseproxyserver.yaml b/examples/nslicenseproxyserver.yaml new file mode 100644 index 000000000..7f9736033 --- /dev/null +++ b/examples/nslicenseproxyserver.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample nslicenseproxyserver playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure nslicenseproxyserver + delegate_to: localhost + netscaler.adc.nslicenseproxyserver: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + serverip: 10.102.201.245 + port: '28000' diff --git a/examples/nslimitidentifier.yaml b/examples/nslimitidentifier.yaml new file mode 100644 index 000000000..af0094390 --- /dev/null +++ b/examples/nslimitidentifier.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample nslimitidentifier playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure nslimitidentifier + delegate_to: localhost + netscaler.adc.nslimitidentifier: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + limitidentifier: LB_rslm1 + threshold: '100' diff --git a/examples/nsparam.yaml b/examples/nsparam.yaml index bff1e7c71..1e73ba687 100644 --- a/examples/nsparam.yaml +++ b/examples/nsparam.yaml @@ -1,10 +1,14 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample nsparam playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | nsparam + - name: Configure nsparam delegate_to: localhost netscaler.adc.nsparam: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - timezone: GMT+09:00-KST-Asia/Seoul + cookieversion: '1' diff --git a/examples/nspartition.yaml b/examples/nspartition.yaml new file mode 100644 index 000000000..befe08b36 --- /dev/null +++ b/examples/nspartition.yaml @@ -0,0 +1,17 @@ +--- +- name: Sample nspartition playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure nspartition + delegate_to: localhost + netscaler.adc.nspartition: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + partitionname: p1 + vxlan: '1' + nitro_operation: unbind + '#nitro_operation': unbind diff --git a/examples/nspartition_vlan_binding.yaml b/examples/nspartition_vlan_binding.yaml new file mode 100644 index 000000000..eb158288a --- /dev/null +++ b/examples/nspartition_vlan_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample nspartition_vlan_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure nspartition_vlan_binding + delegate_to: localhost + netscaler.adc.nspartition_vlan_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + partitionname: p11 + vlan: '11' diff --git a/examples/nspartition_vxlan_binding.yaml b/examples/nspartition_vxlan_binding.yaml new file mode 100644 index 000000000..fe67f456d --- /dev/null +++ b/examples/nspartition_vxlan_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample nspartition_vxlan_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure nspartition_vxlan_binding + delegate_to: localhost + netscaler.adc.nspartition_vxlan_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + partitionname: p1 + vxlan: '1' diff --git a/examples/nspbr.yaml b/examples/nspbr.yaml new file mode 100644 index 000000000..ac69492ec --- /dev/null +++ b/examples/nspbr.yaml @@ -0,0 +1,25 @@ +--- +- name: Sample nspbr playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure nspbr + delegate_to: localhost + netscaler.adc.nspbr: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: mgmt_pbr + action: ALLOW + srcip: true + srcipop: '=' + srcipval: 10.189.64.50 + destip: true + destipop: '!=' + destipval: 10.189.64.1-10.189.64.254 + nexthop: true + nexthopval: 10.189.64.1 + priority: '10' + kernelstate: SFAPPLIED61 diff --git a/examples/nspbr6.yaml b/examples/nspbr6.yaml new file mode 100644 index 000000000..a911312b0 --- /dev/null +++ b/examples/nspbr6.yaml @@ -0,0 +1,17 @@ +--- +- name: Sample nspbr6 playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure nspbr6 + delegate_to: localhost + netscaler.adc.nspbr6: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: test3 + action: DENY + srcmac: 4a:69:a2:33:00:03 + srcmacmask: '000000001111' diff --git a/examples/nspbrs.yaml b/examples/nspbrs.yaml new file mode 100644 index 000000000..8f075dc28 --- /dev/null +++ b/examples/nspbrs.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample nspbrs playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure nspbrs + delegate_to: localhost + netscaler.adc.nspbrs: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + action: apply diff --git a/examples/nsrpcnode.yaml b/examples/nsrpcnode.yaml new file mode 100644 index 000000000..c49470036 --- /dev/null +++ b/examples/nsrpcnode.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample nsrpcnode playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure nsrpcnode + delegate_to: localhost + netscaler.adc.nsrpcnode: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + ipaddress: 10.76.126.5 + password: REQ_PASSWORD + srcip: '*' diff --git a/examples/nssourceroutecachetable.yaml b/examples/nssourceroutecachetable.yaml new file mode 100644 index 000000000..118072c27 --- /dev/null +++ b/examples/nssourceroutecachetable.yaml @@ -0,0 +1,13 @@ +--- +- name: Sample nssourceroutecachetable playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure nssourceroutecachetable + delegate_to: localhost + netscaler.adc.nssourceroutecachetable: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present diff --git a/examples/nstcpparam.yaml b/examples/nstcpparam.yaml new file mode 100644 index 000000000..7b5c2ee10 --- /dev/null +++ b/examples/nstcpparam.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample nstcpparam playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure nstcpparam + delegate_to: localhost + netscaler.adc.nstcpparam: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + autosyncookietimeout: '100' diff --git a/examples/nstcpprofile.yaml b/examples/nstcpprofile.yaml index cde096a0c..8387575a3 100644 --- a/examples/nstcpprofile.yaml +++ b/examples/nstcpprofile.yaml @@ -1,11 +1,15 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample nstcpprofile playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | nstcpProfile + - name: Configure nstcpprofile delegate_to: localhost netscaler.adc.nstcpprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - name: tcpprofile-mptcp - mptcp: ENABLED + name: nstcp_default_profile + flavor: Westwood diff --git a/examples/nsweblogparam.yaml b/examples/nsweblogparam.yaml index 3962059f9..8f049fb9e 100644 --- a/examples/nsweblogparam.yaml +++ b/examples/nsweblogparam.yaml @@ -1,10 +1,14 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample nsweblogparam playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | nsweblogparam + - name: Configure nsweblogparam delegate_to: localhost netscaler.adc.nsweblogparam: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present buffersizemb: '3' diff --git a/examples/onlinkipv6prefix.yaml b/examples/onlinkipv6prefix.yaml new file mode 100644 index 000000000..9b203c75c --- /dev/null +++ b/examples/onlinkipv6prefix.yaml @@ -0,0 +1,20 @@ +--- +- name: Sample onlinkipv6prefix playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure onlinkipv6prefix + delegate_to: localhost + netscaler.adc.onlinkipv6prefix: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + ipv6prefix: 2001::/64 + onlinkprefix: 'NO' + autonomusprefix: 'NO' + depricateprefix: 'YES' + decrementprefixlifetimes: 'YES' + prefixvalidelifetime: '30' + prefixpreferredlifetime: '20' diff --git a/examples/pcpprofile.yaml b/examples/pcpprofile.yaml new file mode 100644 index 000000000..ed31c48eb --- /dev/null +++ b/examples/pcpprofile.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample pcpprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure pcpprofile + delegate_to: localhost + netscaler.adc.pcpprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: pcp_profile_1 + mapping: ENABLED diff --git a/examples/pcpserver.yaml b/examples/pcpserver.yaml new file mode 100644 index 000000000..cbe220926 --- /dev/null +++ b/examples/pcpserver.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample pcpserver playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure pcpserver + delegate_to: localhost + netscaler.adc.pcpserver: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: pcp_server_1 + port: 34 diff --git a/examples/policydataset.yaml b/examples/policydataset.yaml new file mode 100644 index 000000000..8e217afd2 --- /dev/null +++ b/examples/policydataset.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample policydataset playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure policydataset + delegate_to: localhost + netscaler.adc.policydataset: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: SF_LBVIP + type: ipv4 diff --git a/examples/policydataset_value_binding.yaml b/examples/policydataset_value_binding.yaml new file mode 100644 index 000000000..0f1f192ff --- /dev/null +++ b/examples/policydataset_value_binding.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample policydataset_value_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure policydataset_value_binding + delegate_to: localhost + netscaler.adc.policydataset_value_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: SF_LBVIP + value: 10.76.126.10 + index: '2' diff --git a/examples/policyexpression.yaml b/examples/policyexpression.yaml new file mode 100644 index 000000000..1a52acc4e --- /dev/null +++ b/examples/policyexpression.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample policyexpression playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure policyexpression + delegate_to: localhost + netscaler.adc.policyexpression: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: Sub_1471612160_23 + value: CLIENT.IP.SRC.IN_SUBNET(147.161.216.0/23) diff --git a/examples/policyhttpcallout.yaml b/examples/policyhttpcallout.yaml new file mode 100644 index 000000000..1f823cd5f --- /dev/null +++ b/examples/policyhttpcallout.yaml @@ -0,0 +1,28 @@ +--- +- name: Sample policyhttpcallout playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure policyhttpcallout + delegate_to: localhost + netscaler.adc.policyhttpcallout: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: _XM_W_DEVICEID_10_102_39_132_2 + vserver: _XM_LB_CACHE_10.100.39.132 + returntype: TEXT + httpmethod: GET + hostexpr: '"callout.asfilter.internal"' + urlstemexpr: '"/services/ActiveSync/Authorize"' + parameters: + - user(HTTP.REQ.HEADER("authorization").AFTER_STR("Basic ").B64DECODE.BEFORE_STR(":").HTTP_URL_SAFE) + - agent(HTTP.REQ.HEADER("user-agent").HTTP_URL_SAFE) + - ip(CLIENT.IP.SRC) + - url(("https://"+HTTP.REQ.HOSTNAME+HTTP.REQ.URL).B64ENCODE) + - resultType("json") + - DeviceId(HTTP.REQ.URL.QUERY.VALUE("DeviceId")) + scheme: http + resultexpr: HTTP.RES.BODY(20) diff --git a/examples/policyparam.yaml b/examples/policyparam.yaml new file mode 100644 index 000000000..94155c3d9 --- /dev/null +++ b/examples/policyparam.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample policyparam playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure policyparam + delegate_to: localhost + netscaler.adc.policyparam: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + timeout: 5000 diff --git a/examples/policypatset.yaml b/examples/policypatset.yaml new file mode 100644 index 000000000..fb9689c56 --- /dev/null +++ b/examples/policypatset.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample policypatset playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure policypatset + delegate_to: localhost + netscaler.adc.policypatset: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: prod_patset diff --git a/examples/policypatset_pattern_binding.yaml b/examples/policypatset_pattern_binding.yaml new file mode 100644 index 000000000..31cba9485 --- /dev/null +++ b/examples/policypatset_pattern_binding.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample policypatset_pattern_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure policypatset_pattern_binding + delegate_to: localhost + netscaler.adc.policypatset_pattern_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: prod_patset + string: https://portal2.bx.com + index: '4' diff --git a/examples/policystringmap.yaml b/examples/policystringmap.yaml new file mode 100644 index 000000000..8a3c89dee --- /dev/null +++ b/examples/policystringmap.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample policystringmap playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure policystringmap + delegate_to: localhost + netscaler.adc.policystringmap: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia_polstrmap1 diff --git a/examples/policyurlset.yaml b/examples/policyurlset.yaml new file mode 100644 index 000000000..34b130357 --- /dev/null +++ b/examples/policyurlset.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample policyurlset playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure policyurlset + delegate_to: localhost + netscaler.adc.policyurlset: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: top10k + imported: false diff --git a/examples/protocolmptcp.yaml b/examples/protocolmptcp.yaml new file mode 100644 index 000000000..0c72443e7 --- /dev/null +++ b/examples/protocolmptcp.yaml @@ -0,0 +1,13 @@ +--- +- name: Sample protocolmptcp playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure protocolmptcp + delegate_to: localhost + netscaler.adc.protocolmptcp: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present diff --git a/examples/ptp.yaml b/examples/ptp.yaml new file mode 100644 index 000000000..492ee5e92 --- /dev/null +++ b/examples/ptp.yaml @@ -0,0 +1,13 @@ +--- +- name: Sample ptp playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure ptp + delegate_to: localhost + netscaler.adc.ptp: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present diff --git a/examples/rdpclientprofile.yaml b/examples/rdpclientprofile.yaml new file mode 100644 index 000000000..16a5aacf9 --- /dev/null +++ b/examples/rdpclientprofile.yaml @@ -0,0 +1,19 @@ +--- +- name: Sample rdpclientprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure rdpclientprofile + delegate_to: localhost + netscaler.adc.rdpclientprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: rdpc2 + rdpurloverride: DISABLE + audiocapturemode: ENABLE + rdpfilename: mstsc.rdp + rdpcustomparams: span monitors:i:1 + psk: test!@3 diff --git a/examples/rdpserverprofile.yaml b/examples/rdpserverprofile.yaml new file mode 100644 index 000000000..6e3693bc9 --- /dev/null +++ b/examples/rdpserverprofile.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample rdpserverprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure rdpserverprofile + delegate_to: localhost + netscaler.adc.rdpserverprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: rdp_s3 + rdpip: 12.12.12.12 + psk: test12 diff --git a/examples/responderaction.yaml b/examples/responderaction.yaml new file mode 100644 index 000000000..6ed070717 --- /dev/null +++ b/examples/responderaction.yaml @@ -0,0 +1,17 @@ +--- +- name: Sample responderaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure responderaction + delegate_to: localhost + netscaler.adc.responderaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: LB_rsact1 + type: respondwith + target: DIAMETER.NEW_ERROR_ANSWER + DIAMETER.NEW_AVP(263, DIAMETER.REQ.SESSION_ID.VALUE) + + DIAMETER.NEW_AVP_UNSIGNED32(268, 3002) diff --git a/examples/responderglobal_responderpolicy_binding.yaml b/examples/responderglobal_responderpolicy_binding.yaml new file mode 100644 index 000000000..9ed9c6275 --- /dev/null +++ b/examples/responderglobal_responderpolicy_binding.yaml @@ -0,0 +1,17 @@ +--- +- name: Sample responderglobal_responderpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure responderglobal_responderpolicy_binding + delegate_to: localhost + netscaler.adc.responderglobal_responderpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + policyname: policy_1 + priority: '10' + gotopriorityexpression: END + type: DNS_REQ_DEFAULT diff --git a/examples/responderparam.yaml b/examples/responderparam.yaml new file mode 100644 index 000000000..8379ef478 --- /dev/null +++ b/examples/responderparam.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample responderparam playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure responderparam + delegate_to: localhost + netscaler.adc.responderparam: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + undefaction: NOOP diff --git a/examples/responderpolicy.yaml b/examples/responderpolicy.yaml new file mode 100644 index 000000000..3dd11ef0d --- /dev/null +++ b/examples/responderpolicy.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample responderpolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure responderpolicy + delegate_to: localhost + netscaler.adc.responderpolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: P1 + rule: SIP.REQ.METHOD.EQ("INVITE")||SIP.REQ.METHOD.EQ("ACK")||SIP.REQ.METHOD.EQ("BYE") + action: noop diff --git a/examples/responderpolicylabel.yaml b/examples/responderpolicylabel.yaml new file mode 100644 index 000000000..8d17b43a2 --- /dev/null +++ b/examples/responderpolicylabel.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample responderpolicylabel playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure responderpolicylabel + delegate_to: localhost + netscaler.adc.responderpolicylabel: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + labelname: ia_respolabl5 diff --git a/examples/rewriteaction.yaml b/examples/rewriteaction.yaml new file mode 100644 index 000000000..a9236ef30 --- /dev/null +++ b/examples/rewriteaction.yaml @@ -0,0 +1,17 @@ +--- +- name: Sample rewriteaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure rewriteaction + delegate_to: localhost + netscaler.adc.rewriteaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: rw_act_insert_after_diameter_avp + type: insert_after + target: diameter.req.avp(345678) + stringbuilderexpr: diameter.new_avp(3110, "Sayan Inserted AVP") diff --git a/examples/rewriteglobal_rewritepolicy_binding.yaml b/examples/rewriteglobal_rewritepolicy_binding.yaml new file mode 100644 index 000000000..8a683b2d5 --- /dev/null +++ b/examples/rewriteglobal_rewritepolicy_binding.yaml @@ -0,0 +1,17 @@ +--- +- name: Sample rewriteglobal_rewritepolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure rewriteglobal_rewritepolicy_binding + delegate_to: localhost + netscaler.adc.rewriteglobal_rewritepolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + policyname: new_policy_2 + priority: '11' + gotopriorityexpression: END + type: DNS_RES_DEFAULT diff --git a/examples/rewriteparam.yaml b/examples/rewriteparam.yaml new file mode 100644 index 000000000..41af489dd --- /dev/null +++ b/examples/rewriteparam.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample rewriteparam playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure rewriteparam + delegate_to: localhost + netscaler.adc.rewriteparam: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + undefaction: RESET + timeout: 5000 diff --git a/examples/rewritepolicy.yaml b/examples/rewritepolicy.yaml new file mode 100644 index 000000000..3895b8a4a --- /dev/null +++ b/examples/rewritepolicy.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample rewritepolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure rewritepolicy + delegate_to: localhost + netscaler.adc.rewritepolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: rw_diam_pol + rule: diameter.req.avp(264).value.eq("host1.sayan1.net") + action: rw_act_insert_after_diameter_avp diff --git a/examples/rewritepolicylabel.yaml b/examples/rewritepolicylabel.yaml new file mode 100644 index 000000000..964569e4a --- /dev/null +++ b/examples/rewritepolicylabel.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample rewritepolicylabel playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure rewritepolicylabel + delegate_to: localhost + netscaler.adc.rewritepolicylabel: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + labelname: ia_rwrtpolabl6 + transform: http_req diff --git a/examples/rewritepolicylabel_rewritepolicy_binding.yaml b/examples/rewritepolicylabel_rewritepolicy_binding.yaml new file mode 100644 index 000000000..c67a9619f --- /dev/null +++ b/examples/rewritepolicylabel_rewritepolicy_binding.yaml @@ -0,0 +1,17 @@ +--- +- name: Sample rewritepolicylabel_rewritepolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure rewritepolicylabel_rewritepolicy_binding + delegate_to: localhost + netscaler.adc.rewritepolicylabel_rewritepolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + labelname: ns_cvpn_v2_url_label + policyname: ns_cvpn_v2_bypass_url_pol + priority: '20000' + gotopriorityexpression: NEXT diff --git a/examples/rnat.yaml b/examples/rnat.yaml new file mode 100644 index 000000000..81722aeec --- /dev/null +++ b/examples/rnat.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample rnat playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure rnat + delegate_to: localhost + netscaler.adc.rnat: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: RNAT_SF_Allow_USE1-A + aclname: ACL_SF_Allow_USE1-A diff --git a/examples/rnatparam.yaml b/examples/rnatparam.yaml new file mode 100644 index 000000000..6ab47b9d2 --- /dev/null +++ b/examples/rnatparam.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample rnatparam playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure rnatparam + delegate_to: localhost + netscaler.adc.rnatparam: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + tcpproxy: DISABLED diff --git a/examples/route.yaml b/examples/route.yaml index 6fe3fbc82..ec790dcd4 100644 --- a/examples/route.yaml +++ b/examples/route.yaml @@ -1,12 +1,16 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample route playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | route + - name: Configure route delegate_to: localhost netscaler.adc.route: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - network: 172.31.0.0 - netmask: 255.255.0.0 - gateway: 172.31.0.1 + network: 169.254.169.254 + netmask: 255.255.255.255 + gateway: 10.189.64.1 diff --git a/examples/route6.yaml b/examples/route6.yaml new file mode 100644 index 000000000..92ee1cb17 --- /dev/null +++ b/examples/route6.yaml @@ -0,0 +1,22 @@ +--- +- name: Sample route6 playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure route6 + delegate_to: localhost + netscaler.adc.route6: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + network: 202::/64 + gateway: fe80::1234 + vlan: '23' + weight: '10' + distance: '10' + cost: '10' + advertise: ENABLED + msr: ENABLED + monitor: ia_mon1 diff --git a/examples/rsskeytype.yaml b/examples/rsskeytype.yaml index 5d429e934..037d6de8b 100644 --- a/examples/rsskeytype.yaml +++ b/examples/rsskeytype.yaml @@ -1,10 +1,14 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample rsskeytype playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | rsskeytype + - name: Configure rsskeytype delegate_to: localhost netscaler.adc.rsskeytype: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present rsstype: ASYMMETRIC diff --git a/examples/server.yaml b/examples/server.yaml index 34cc4c2a3..48c194321 100644 --- a/examples/server.yaml +++ b/examples/server.yaml @@ -1,18 +1,15 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample server playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | server + - name: Configure server delegate_to: localhost netscaler.adc.server: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - name: 10.10.10.10 - ipaddress: 10.10.10.10 - - name: Sample Task | server 2 - delegate_to: localhost - tags: test - netscaler.adc.server: - state: present - domain: test.ap-southeast-1.example.com - name: test.ap-southeast-1.example.com + name: 10.79.42.253 + ipaddress: 10.79.42.253 diff --git a/examples/service.yaml b/examples/service.yaml index 78f06b39d..356d6367f 100644 --- a/examples/service.yaml +++ b/examples/service.yaml @@ -1,49 +1,15 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample service playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | service + - name: Configure service delegate_to: localhost netscaler.adc.service: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - name: service-http - servicetype: HTTP - ipaddress: 172.18.0.4 - port: 5000 - - name: Sample Task | ipset-001 - delegate_to: localhost - netscaler.adc.ipset: - state: present - name: ipset-001 - - name: Sample Task | netProfile - delegate_to: localhost - netscaler.adc.netprofile: - state: present - name: test-netprofile - srcip: ipset-001 - mbf: DISABLED - - name: Sample Task | lbmonitor | 3 - delegate_to: localhost - tags: test - netscaler.adc.lbmonitor: - state: present - monitorname: test-monitor - type: TCP - interval: 15 - retries: 20 - - name: Setup services - delegate_to: localhost - tags: test - netscaler.adc.service: - state: present - name: 10.123.123.123-tcp-12345 - servicetype: TCP - ipaddress: 10.123.123.123 - port: 12345 - healthmonitor: "NO" - netprofile: test-netprofile - service_lbmonitor_binding: - binding_members: - - monitor_name: test-monitor - name: 10.123.123.123-tcp-12345 + name: nshttpd-vpn-127.0.0.1-81 + cip: ENABLED diff --git a/examples/service_lbmonitor_binding.yaml b/examples/service_lbmonitor_binding.yaml new file mode 100644 index 000000000..6849a8b81 --- /dev/null +++ b/examples/service_lbmonitor_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample service_lbmonitor_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure service_lbmonitor_binding + delegate_to: localhost + netscaler.adc.service_lbmonitor_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: use1_sf1_ssl_svc + monitor_name: Storefront diff --git a/examples/servicegroup.yaml b/examples/servicegroup.yaml index e1157f506..5171e593c 100644 --- a/examples/servicegroup.yaml +++ b/examples/servicegroup.yaml @@ -1,25 +1,15 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample servicegroup playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Setup servers + - name: Configure servicegroup delegate_to: localhost - netscaler.adc.server: - state: present - name: foo.example.com - domain: foo.example.com - - name: Setup servicegroups - delegate_to: localhost - tags: test netscaler.adc.servicegroup: - state: absent - servicegroupname: test1-1 - servicetype: TCP - autoscale: DNS - healthmonitor: "YES" - servicegroup_servicegroupmember_binding: - binding_members: - - servername: foo.example.com - port: 443 - servicegroupname: test1-1 + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + servicegroupname: LB_ia_svcgrp13916 + servicetype: SSL diff --git a/examples/servicegroup_lbmonitor_binding.yaml b/examples/servicegroup_lbmonitor_binding.yaml new file mode 100644 index 000000000..87f001707 --- /dev/null +++ b/examples/servicegroup_lbmonitor_binding.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample servicegroup_lbmonitor_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure servicegroup_lbmonitor_binding + delegate_to: localhost + netscaler.adc.servicegroup_lbmonitor_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + servicegroupname: LB_sergrp + monitor_name: LB_ia_mon8 + weight: '23' diff --git a/examples/servicegroup_servicegroupmember_binding.yaml b/examples/servicegroup_servicegroupmember_binding.yaml new file mode 100644 index 000000000..005cd3789 --- /dev/null +++ b/examples/servicegroup_servicegroupmember_binding.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample servicegroup_servicegroupmember_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure servicegroup_servicegroupmember_binding + delegate_to: localhost + netscaler.adc.servicegroup_servicegroupmember_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + servicegroupname: CR_SVG + ip: 172.168.1.20 + port: 80 diff --git a/examples/snmpalarm.yaml b/examples/snmpalarm.yaml new file mode 100644 index 000000000..255639b62 --- /dev/null +++ b/examples/snmpalarm.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample snmpalarm playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure snmpalarm + delegate_to: localhost + netscaler.adc.snmpalarm: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + trapname: SYSLOG-CONNECTION-DROPPED + time: 0 diff --git a/examples/snmpcommunity.yaml b/examples/snmpcommunity.yaml new file mode 100644 index 000000000..5e417f1d6 --- /dev/null +++ b/examples/snmpcommunity.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample snmpcommunity playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure snmpcommunity + delegate_to: localhost + netscaler.adc.snmpcommunity: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + communityname: HP5U7#mmTW2&Yi48 + permissions: ALL diff --git a/examples/snmpgroup.yaml b/examples/snmpgroup.yaml index 192d58526..42a52f5b3 100644 --- a/examples/snmpgroup.yaml +++ b/examples/snmpgroup.yaml @@ -1,12 +1,16 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample snmpgroup playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | snmpgroup + - name: Configure snmpgroup delegate_to: localhost netscaler.adc.snmpgroup: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - name: v3_grp + name: ia_snmpgrp1 securitylevel: noAuthNoPriv - readviewname: v3_grp_view + readviewname: sample diff --git a/examples/snmpmanager.yaml b/examples/snmpmanager.yaml new file mode 100644 index 000000000..9ccf1890c --- /dev/null +++ b/examples/snmpmanager.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample snmpmanager playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure snmpmanager + delegate_to: localhost + netscaler.adc.snmpmanager: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + ipaddress: + - citrix.com + domainresolveretry: 6 diff --git a/examples/snmptrap.yaml b/examples/snmptrap.yaml index 15638a1d2..6dda5c213 100644 --- a/examples/snmptrap.yaml +++ b/examples/snmptrap.yaml @@ -1,13 +1,18 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample snmptrap playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | snmptrap + - name: Configure snmptrap delegate_to: localhost netscaler.adc.snmptrap: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - trapclass: generic - trapdestination: 10.10.10.10 - version: V3 + trapclass: specific + trapdestination: + - 10.189.64.10 + communityname: snmp allpartitions: ENABLED diff --git a/examples/snmpuser.yaml b/examples/snmpuser.yaml index 86927fca8..aea94121a 100644 --- a/examples/snmpuser.yaml +++ b/examples/snmpuser.yaml @@ -1,11 +1,19 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample snmpuser playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | snmpuser + - name: Configure snmpuser delegate_to: localhost netscaler.adc.snmpuser: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - name: v3 - group: v3_grp + name: ia_snmpuser3 + group: ia_group1 + authtype: MD5 + authpasswd: freebsd_1 + privtype: DES + privpasswd: freebsd_1 diff --git a/examples/snmpview.yaml b/examples/snmpview.yaml index b6acd82d5..08fc15526 100644 --- a/examples/snmpview.yaml +++ b/examples/snmpview.yaml @@ -1,12 +1,16 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample snmpview playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | snmpview + - name: Configure snmpview delegate_to: localhost netscaler.adc.snmpview: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - name: v3_grp_view - subtree: '1' + name: ia_snmpview1 + subtree: 1.3.6.1.4.1.5951.4.1.1.20 type: included diff --git a/examples/sslaction.yaml b/examples/sslaction.yaml new file mode 100644 index 000000000..e4c3372fe --- /dev/null +++ b/examples/sslaction.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample sslaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslaction + delegate_to: localhost + netscaler.adc.sslaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: _XM_MDM_titan.dnpg-blr.com_ACTION + clientcert: ENABLED + certheader: NSClientCert diff --git a/examples/sslcert.yaml b/examples/sslcert.yaml index a0826f618..f27a46b61 100644 --- a/examples/sslcert.yaml +++ b/examples/sslcert.yaml @@ -1,20 +1,24 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample sslcert playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | sslcert + - name: Configure sslcert delegate_to: localhost netscaler.adc.sslcert: - state: created - certfile: test1-sni.crt - reqfile: test1-sni.csr - certtype: SRVR_CERT - keyform: PEM - days: 1480 - certform: PEM - cacert: ns-root.cert + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + certfile: ssl_rsa_der_cert + reqfile: ssl_rsa_der_csr + certtype: ROOT_CERT + keyfile: ssl_rsa_der_key + keyform: DER + days: '3650' + certform: DER cacertform: PEM - cakey: ns-root.key cakeyform: PEM - caserial: ns-root.srl + nitro_operation: create + '#nitro_operation': create diff --git a/examples/sslcertkey.yaml b/examples/sslcertkey.yaml index 1ce5ecec2..adce42624 100644 --- a/examples/sslcertkey.yaml +++ b/examples/sslcertkey.yaml @@ -1,13 +1,17 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample sslcertkey playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | sslcertKey + - name: Configure sslcertkey delegate_to: localhost netscaler.adc.sslcertkey: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - certkey: ns-server-certificate - cert: ns-server.cert - key: ns-server.key - password: false + certkey: callback.blackstone.com + linkcertkeyname: blackstone_sub + nitro_operation: link + '#nitro_operation': link diff --git a/examples/sslcertkey_sslocspresponder_binding.yaml b/examples/sslcertkey_sslocspresponder_binding.yaml new file mode 100644 index 000000000..0d58a7b52 --- /dev/null +++ b/examples/sslcertkey_sslocspresponder_binding.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample sslcertkey_sslocspresponder_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslcertkey_sslocspresponder_binding + delegate_to: localhost + netscaler.adc.sslcertkey_sslocspresponder_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + certkey: baluVpn2 diff --git a/examples/sslcertkeybundle.yaml b/examples/sslcertkeybundle.yaml new file mode 100644 index 000000000..b00fbb1ca --- /dev/null +++ b/examples/sslcertkeybundle.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample sslcertkeybundle playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslcertkeybundle + delegate_to: localhost + netscaler.adc.sslcertkeybundle: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + certkeybundlename: tc11 + bundlefile: bundle_files/enc_cert.pem + passplain: '123456' diff --git a/examples/sslcertreq.yaml b/examples/sslcertreq.yaml new file mode 100644 index 000000000..fd32f56a8 --- /dev/null +++ b/examples/sslcertreq.yaml @@ -0,0 +1,25 @@ +--- +- name: Sample sslcertreq playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslcertreq + delegate_to: localhost + netscaler.adc.sslcertreq: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + reqfile: ssl_rsa_der_csr + keyfile: ssl_rsa_der_key + keyform: DER + countryname: US + statename: asda + organizationname: asdad + organizationunitname: adsada + localityname: adsad + commonname: asdsad + emailaddress: adsad + nitro_operation: create + '#nitro_operation': create diff --git a/examples/sslcipher.yaml b/examples/sslcipher.yaml new file mode 100644 index 000000000..e1ffcf6a8 --- /dev/null +++ b/examples/sslcipher.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample sslcipher playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslcipher + delegate_to: localhost + netscaler.adc.sslcipher: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + ciphergroupname: ssllabs-blackstone diff --git a/examples/sslcipher_sslciphersuite_binding.yaml b/examples/sslcipher_sslciphersuite_binding.yaml new file mode 100644 index 000000000..83e228276 --- /dev/null +++ b/examples/sslcipher_sslciphersuite_binding.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample sslcipher_sslciphersuite_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslcipher_sslciphersuite_binding + delegate_to: localhost + netscaler.adc.sslcipher_sslciphersuite_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + ciphergroupname: ssllabs-blackstone + ciphername: TLS1.2-DHE-RSA-AES256-GCM-SHA384 + cipherpriority: '14' diff --git a/examples/sslcrl.yaml b/examples/sslcrl.yaml new file mode 100644 index 000000000..a977159a3 --- /dev/null +++ b/examples/sslcrl.yaml @@ -0,0 +1,26 @@ +--- +- name: Sample sslcrl playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslcrl + delegate_to: localhost + netscaler.adc.sslcrl: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + crlname: crl_test_ldap1 + refresh: ENABLED + cacert: ssl_cacert + server: 2.2.2.10 + method: LDAP + port: 389 + basedn: cn=ldap_new_crl_pem,ou=dsd,o=ns,c=in + scope: Base + day: '23' + time: 00:01 + binddn: cn=Manager,dc=netscaler,dc=com + password: free + binary: 'YES' diff --git a/examples/ssldhparam.yaml b/examples/ssldhparam.yaml new file mode 100644 index 000000000..1d8c43a13 --- /dev/null +++ b/examples/ssldhparam.yaml @@ -0,0 +1,18 @@ +--- +- name: Sample ssldhparam playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure ssldhparam + delegate_to: localhost + netscaler.adc.ssldhparam: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + dhfile: dfile + bits: '512' + gen: '2' + nitro_operation: create + '#nitro_operation': create diff --git a/examples/ssllogprofile.yaml b/examples/ssllogprofile.yaml new file mode 100644 index 000000000..0c4440bef --- /dev/null +++ b/examples/ssllogprofile.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample ssllogprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure ssllogprofile + delegate_to: localhost + netscaler.adc.ssllogprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ssllogp1 diff --git a/examples/sslocspresponder.yaml b/examples/sslocspresponder.yaml new file mode 100644 index 000000000..013b402f7 --- /dev/null +++ b/examples/sslocspresponder.yaml @@ -0,0 +1,24 @@ +--- +- name: Sample sslocspresponder playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslocspresponder + delegate_to: localhost + netscaler.adc.sslocspresponder: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ocspresp5 + url: http://2.2.2.7:80/ + cache: ENABLED + cachetimeout: '100' + batchingdepth: '7' + batchingdelay: '500' + resptimeout: '4000' + respondercert: ssl_cert_ca5 + producedattimeskew: '1000' + signingcert: ssl_cert_ca5 + usenonce: 'NO' diff --git a/examples/sslparameter.yaml b/examples/sslparameter.yaml new file mode 100644 index 000000000..2f9755f0d --- /dev/null +++ b/examples/sslparameter.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample sslparameter playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslparameter + delegate_to: localhost + netscaler.adc.sslparameter: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + defaultprofile: ENABLED diff --git a/examples/sslpolicy.yaml b/examples/sslpolicy.yaml new file mode 100644 index 000000000..0a13c951c --- /dev/null +++ b/examples/sslpolicy.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample sslpolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslpolicy + delegate_to: localhost + netscaler.adc.sslpolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: new_XM_MDM_titan.dnpg-blr.com_POLICY1 + rule: CLIENT.SSL.CLIENT_CERT.EXISTS + action: _XM_MDM_titan.dnpg-blr.com_ACTION diff --git a/examples/sslpolicylabel.yaml b/examples/sslpolicylabel.yaml new file mode 100644 index 000000000..227b5d815 --- /dev/null +++ b/examples/sslpolicylabel.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample sslpolicylabel playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslpolicylabel + delegate_to: localhost + netscaler.adc.sslpolicylabel: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + labelname: invoke_labelname + type: CONTROL diff --git a/examples/sslprofile.yaml b/examples/sslprofile.yaml new file mode 100644 index 000000000..c8d839806 --- /dev/null +++ b/examples/sslprofile.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample sslprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslprofile + delegate_to: localhost + netscaler.adc.sslprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ns_default_ssl_profile_internal_frontend_service diff --git a/examples/sslprofile_ecccurve_binding.yaml b/examples/sslprofile_ecccurve_binding.yaml new file mode 100644 index 000000000..cdcca88e7 --- /dev/null +++ b/examples/sslprofile_ecccurve_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample sslprofile_ecccurve_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslprofile_ecccurve_binding + delegate_to: localhost + netscaler.adc.sslprofile_ecccurve_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: blackstone_ssl_profile + ecccurvename: P_521 diff --git a/examples/sslprofile_sslcipher_binding.yaml b/examples/sslprofile_sslcipher_binding.yaml new file mode 100644 index 000000000..14c7e0b4d --- /dev/null +++ b/examples/sslprofile_sslcipher_binding.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample sslprofile_sslcipher_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslprofile_sslcipher_binding + delegate_to: localhost + netscaler.adc.sslprofile_sslcipher_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: blackstone_ssl_profile + ciphername: DEFAULT + cipherpriority: '2' diff --git a/examples/sslrsakey.yaml b/examples/sslrsakey.yaml new file mode 100644 index 000000000..18aa3acfe --- /dev/null +++ b/examples/sslrsakey.yaml @@ -0,0 +1,19 @@ +--- +- name: Sample sslrsakey playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslrsakey + delegate_to: localhost + netscaler.adc.sslrsakey: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + keyfile: ssl_rsa_der_key + bits: '2048' + exponent: '3' + keyform: DER + nitro_operation: create + '#nitro_operation': create diff --git a/examples/sslservice.yaml b/examples/sslservice.yaml index 34a8a3558..50b9ba800 100644 --- a/examples/sslservice.yaml +++ b/examples/sslservice.yaml @@ -1,16 +1,15 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample sslservice playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | sslservice + - name: Configure sslservice delegate_to: localhost netscaler.adc.sslservice: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - servicename: nsrnatsip-127.0.0.1-5061 - ersa: ENABLED - sessreuse: DISABLED - ssl3: DISABLED - tls1: DISABLED - tls11: DISABLED - dtls1: DISABLED + servicename: nsrpcs-127.0.0.1-3008 + sslprofile: ns_default_ssl_profile_frontend diff --git a/examples/sslservice_ecccurve_binding.yaml b/examples/sslservice_ecccurve_binding.yaml new file mode 100644 index 000000000..7d8f24659 --- /dev/null +++ b/examples/sslservice_ecccurve_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample sslservice_ecccurve_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslservice_ecccurve_binding + delegate_to: localhost + netscaler.adc.sslservice_ecccurve_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + servicename: s1345 + ecccurvename: ALL diff --git a/examples/sslservice_sslcertkey_binding.yaml b/examples/sslservice_sslcertkey_binding.yaml new file mode 100644 index 000000000..bbeae5912 --- /dev/null +++ b/examples/sslservice_sslcertkey_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample sslservice_sslcertkey_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslservice_sslcertkey_binding + delegate_to: localhost + netscaler.adc.sslservice_sslcertkey_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + servicename: nsrpcs-127.0.0.1-3008 + certkeyname: ns-server-certificate diff --git a/examples/sslservice_sslcipher_binding.yaml b/examples/sslservice_sslcipher_binding.yaml new file mode 100644 index 000000000..011b04383 --- /dev/null +++ b/examples/sslservice_sslcipher_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample sslservice_sslcipher_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslservice_sslcipher_binding + delegate_to: localhost + netscaler.adc.sslservice_sslcipher_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + servicename: ssl + ciphername: AES-GCM diff --git a/examples/sslservicegroup.yaml b/examples/sslservicegroup.yaml new file mode 100644 index 000000000..0555221db --- /dev/null +++ b/examples/sslservicegroup.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample sslservicegroup playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslservicegroup + delegate_to: localhost + netscaler.adc.sslservicegroup: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + servicegroupname: LB_ia_svcgrp13916 + sessreuse: ENABLED + sesstimeout: '120' diff --git a/examples/sslservicegroup_ecccurve_binding.yaml b/examples/sslservicegroup_ecccurve_binding.yaml new file mode 100644 index 000000000..8b1044844 --- /dev/null +++ b/examples/sslservicegroup_ecccurve_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample sslservicegroup_ecccurve_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslservicegroup_ecccurve_binding + delegate_to: localhost + netscaler.adc.sslservicegroup_ecccurve_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + servicegroupname: sg2 + ecccurvename: P_521 diff --git a/examples/sslservicegroup_sslcertkey_binding.yaml b/examples/sslservicegroup_sslcertkey_binding.yaml new file mode 100644 index 000000000..f6ce5ba4e --- /dev/null +++ b/examples/sslservicegroup_sslcertkey_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample sslservicegroup_sslcertkey_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslservicegroup_sslcertkey_binding + delegate_to: localhost + netscaler.adc.sslservicegroup_sslcertkey_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + servicegroupname: ssl_sg4 + certkeyname: ssl_cert_ca20 diff --git a/examples/sslvserver.yaml b/examples/sslvserver.yaml new file mode 100644 index 000000000..20ea70105 --- /dev/null +++ b/examples/sslvserver.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample sslvserver playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslvserver + delegate_to: localhost + netscaler.adc.sslvserver: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + vservername: backup_gslb_portal.bx.com + sslprofile: ns_default_ssl_profile_frontend diff --git a/examples/sslvserver_ecccurve_binding.yaml b/examples/sslvserver_ecccurve_binding.yaml new file mode 100644 index 000000000..81f89d175 --- /dev/null +++ b/examples/sslvserver_ecccurve_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample sslvserver_ecccurve_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslvserver_ecccurve_binding + delegate_to: localhost + netscaler.adc.sslvserver_ecccurve_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + vservername: dh + ecccurvename: P_521 diff --git a/examples/sslvserver_sslcertkey_binding.yaml b/examples/sslvserver_sslcertkey_binding.yaml new file mode 100644 index 000000000..dca182d27 --- /dev/null +++ b/examples/sslvserver_sslcertkey_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample sslvserver_sslcertkey_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslvserver_sslcertkey_binding + delegate_to: localhost + netscaler.adc.sslvserver_sslcertkey_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + vservername: CitrixAccessCallback + certkeyname: callback.blackstone.com diff --git a/examples/sslvserver_sslcertkeybundle_binding.yaml b/examples/sslvserver_sslcertkeybundle_binding.yaml new file mode 100644 index 000000000..beea14456 --- /dev/null +++ b/examples/sslvserver_sslcertkeybundle_binding.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample sslvserver_sslcertkeybundle_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslvserver_sslcertkeybundle_binding + delegate_to: localhost + netscaler.adc.sslvserver_sslcertkeybundle_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + vservername: v1_1 + certkeybundlename: tc11 + snicertkeybundle: true diff --git a/examples/sslvserver_sslcipher_binding.yaml b/examples/sslvserver_sslcipher_binding.yaml new file mode 100644 index 000000000..f16caa480 --- /dev/null +++ b/examples/sslvserver_sslcipher_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample sslvserver_sslcipher_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslvserver_sslcipher_binding + delegate_to: localhost + netscaler.adc.sslvserver_sslcipher_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + vservername: lb2 + ciphername: TLS1.2-DHE-RSA-AES-128-SHA256 diff --git a/examples/sslvserver_sslpolicy_binding.yaml b/examples/sslvserver_sslpolicy_binding.yaml new file mode 100644 index 000000000..77b6668c1 --- /dev/null +++ b/examples/sslvserver_sslpolicy_binding.yaml @@ -0,0 +1,17 @@ +--- +- name: Sample sslvserver_sslpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslvserver_sslpolicy_binding + delegate_to: localhost + netscaler.adc.sslvserver_sslpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + vservername: new_XM_LB_MDM_titan.dnpg-blr.com_10.100.48.233_443 + policyname: new_XM_MDM_titan.dnpg-blr.com_POLICY1 + priority: '100' + gotopriorityexpression: END diff --git a/examples/streamidentifier.yaml b/examples/streamidentifier.yaml new file mode 100644 index 000000000..da0db1628 --- /dev/null +++ b/examples/streamidentifier.yaml @@ -0,0 +1,20 @@ +--- +- name: Sample streamidentifier playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure streamidentifier + delegate_to: localhost + netscaler.adc.streamidentifier: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: xyz + selectorname: insight_sel + appflowlog: ENABLED + tracktransactions: RESPTIME + maxtransactionthreshold: '2' + mintransactionthreshold: '1' + acceptancethreshold: '100.000000' diff --git a/examples/streamselector.yaml b/examples/streamselector.yaml new file mode 100644 index 000000000..6dd1f6a4c --- /dev/null +++ b/examples/streamselector.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample streamselector playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure streamselector + delegate_to: localhost + netscaler.adc.streamselector: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: insight_sel + rule: + - http.req.url diff --git a/examples/subscribergxinterface.yaml b/examples/subscribergxinterface.yaml index 043202e87..6db7eb442 100644 --- a/examples/subscribergxinterface.yaml +++ b/examples/subscribergxinterface.yaml @@ -1,13 +1,17 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample subscribergxinterface playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | subscribergxInterface + - name: Configure subscribergxinterface delegate_to: localhost netscaler.adc.subscribergxinterface: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present pcrfrealm: pcrf.com servicepathavp: - - 262099 - servicepathvendorid: 3845 + - '262099' + servicepathvendorid: '3845' diff --git a/examples/subscriberparam.yaml b/examples/subscriberparam.yaml new file mode 100644 index 000000000..aec24813c --- /dev/null +++ b/examples/subscriberparam.yaml @@ -0,0 +1,17 @@ +--- +- name: Sample subscriberparam playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure subscriberparam + delegate_to: localhost + netscaler.adc.subscriberparam: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + ipv6prefixlookuplist: + - '120' + - '104' + - '64' diff --git a/examples/system.yaml b/examples/system.yaml new file mode 100644 index 000000000..cd7598cf8 --- /dev/null +++ b/examples/system.yaml @@ -0,0 +1,13 @@ +--- +- name: Sample system playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure system + delegate_to: localhost + netscaler.adc.system: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present diff --git a/examples/systemcmdpolicy.yaml b/examples/systemcmdpolicy.yaml new file mode 100644 index 000000000..731989535 --- /dev/null +++ b/examples/systemcmdpolicy.yaml @@ -0,0 +1,17 @@ +--- +- name: Sample systemcmdpolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure systemcmdpolicy + delegate_to: localhost + netscaler.adc.systemcmdpolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + policyname: read-only + action: ALLOW + cmdspec: (^man.*)|(^show\s+(\?!system)(\?!configstatus)(\?!ns ns\.conf)(\?!ns + savedconfig)(\?!ns runningConfig)(\?!gslb runningConfig)(\?!audit messages)(\?!techsupport).*)|(^stat.*) diff --git a/examples/systemcpu.yaml b/examples/systemcpu.yaml new file mode 100644 index 000000000..21ce7c5d0 --- /dev/null +++ b/examples/systemcpu.yaml @@ -0,0 +1,13 @@ +--- +- name: Sample systemcpu playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure systemcpu + delegate_to: localhost + netscaler.adc.systemcpu: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present diff --git a/examples/systemextramgmtcpu.yaml b/examples/systemextramgmtcpu.yaml new file mode 100644 index 000000000..10a83bb0c --- /dev/null +++ b/examples/systemextramgmtcpu.yaml @@ -0,0 +1,13 @@ +--- +- name: Sample systemextramgmtcpu playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure systemextramgmtcpu + delegate_to: localhost + netscaler.adc.systemextramgmtcpu: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present diff --git a/examples/systemglobal.yaml b/examples/systemglobal.yaml new file mode 100644 index 000000000..22b0b3d31 --- /dev/null +++ b/examples/systemglobal.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample systemglobal playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure systemglobal + delegate_to: localhost + netscaler.adc.systemglobal: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + policyname: acsPolicy + nitro_operation: unbind + '#nitro_operation': unbind diff --git a/examples/systemglobal_authenticationpolicy_binding.yaml b/examples/systemglobal_authenticationpolicy_binding.yaml new file mode 100644 index 000000000..f5e1478cc --- /dev/null +++ b/examples/systemglobal_authenticationpolicy_binding.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample systemglobal_authenticationpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure systemglobal_authenticationpolicy_binding + delegate_to: localhost + netscaler.adc.systemglobal_authenticationpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + policyname: ldap_mgmt_pol + priority: '100' + gotopriorityexpression: NEXT diff --git a/examples/systemglobal_authenticationtacacspolicy_binding.yaml b/examples/systemglobal_authenticationtacacspolicy_binding.yaml new file mode 100644 index 000000000..62b8aab66 --- /dev/null +++ b/examples/systemglobal_authenticationtacacspolicy_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample systemglobal_authenticationtacacspolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure systemglobal_authenticationtacacspolicy_binding + delegate_to: localhost + netscaler.adc.systemglobal_authenticationtacacspolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + policyname: acsPolicy1 + priority: '1' diff --git a/examples/systemgroup.yaml b/examples/systemgroup.yaml index 9426c7a19..5d1b3fa45 100644 --- a/examples/systemgroup.yaml +++ b/examples/systemgroup.yaml @@ -1,11 +1,16 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample systemgroup playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | systemgroup + - name: Configure systemgroup delegate_to: localhost netscaler.adc.systemgroup: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - groupname: sys-group1 - promptstring: '[%T] %u@%h/%s' + groupname: Network - CitrixADC - P - ReadOnly + allowedmanagementinterface: + - API diff --git a/examples/systemgroup_systemcmdpolicy_binding.yaml b/examples/systemgroup_systemcmdpolicy_binding.yaml new file mode 100644 index 000000000..ba3f616da --- /dev/null +++ b/examples/systemgroup_systemcmdpolicy_binding.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample systemgroup_systemcmdpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure systemgroup_systemcmdpolicy_binding + delegate_to: localhost + netscaler.adc.systemgroup_systemcmdpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + groupname: Network - CitrixADC - P - ReadOnly + policyname: read-only + priority: '100' diff --git a/examples/systemgroup_systemuser_binding.yaml b/examples/systemgroup_systemuser_binding.yaml new file mode 100644 index 000000000..7c1013804 --- /dev/null +++ b/examples/systemgroup_systemuser_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample systemgroup_systemuser_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure systemgroup_systemuser_binding + delegate_to: localhost + netscaler.adc.systemgroup_systemuser_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + groupname: network + username: net_ron diff --git a/examples/systemparameter.yaml b/examples/systemparameter.yaml index a4ae9be9e..e101a2d48 100644 --- a/examples/systemparameter.yaml +++ b/examples/systemparameter.yaml @@ -1,10 +1,15 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample systemparameter playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | systemparameter + - name: Configure systemparameter delegate_to: localhost netscaler.adc.systemparameter: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - promptstring: '%u@%s' + maxclient: '40' + forcepasswordchange: ENABLED diff --git a/examples/systemuser.yaml b/examples/systemuser.yaml index 698b68bd2..160554ddc 100644 --- a/examples/systemuser.yaml +++ b/examples/systemuser.yaml @@ -1,17 +1,17 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample systemuser playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | systemuser + - name: Configure systemuser delegate_to: localhost netscaler.adc.systemuser: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - username: nsroot + username: GD-CTRLUPADC-P-APP + password: REQ_PASSWORD + externalauth: DISABLED timeout: 900 - - name: Sample Task | systemuser | 2 - delegate_to: localhost - netscaler.adc.systemuser: - state: present - username: user_adm1 - password: pwd_adm1 diff --git a/examples/systemuser_systemcmdpolicy_binding.yaml b/examples/systemuser_systemcmdpolicy_binding.yaml new file mode 100644 index 000000000..b793f03b0 --- /dev/null +++ b/examples/systemuser_systemcmdpolicy_binding.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample systemuser_systemcmdpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure systemuser_systemcmdpolicy_binding + delegate_to: localhost + netscaler.adc.systemuser_systemcmdpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + username: GD-CTRLUPADC-P-APP + policyname: read-only + priority: '100' diff --git a/examples/tmformssoaction.yaml b/examples/tmformssoaction.yaml new file mode 100644 index 000000000..0950351e2 --- /dev/null +++ b/examples/tmformssoaction.yaml @@ -0,0 +1,22 @@ +--- +- name: Sample tmformssoaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure tmformssoaction + delegate_to: localhost + netscaler.adc.tmformssoaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia_formssoact5 + actionurl: /owa/auth/owaauth.dll + userfield: sample + passwdfield: sample + ssosuccessrule: HTTP.RES.IS_VALID + namevaluepair: sample + responsesize: '8096' + nvtype: DYNAMIC + submitmethod: GET diff --git a/examples/tmglobal_tmsessionpolicy_binding.yaml b/examples/tmglobal_tmsessionpolicy_binding.yaml new file mode 100644 index 000000000..a72b63a51 --- /dev/null +++ b/examples/tmglobal_tmsessionpolicy_binding.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample tmglobal_tmsessionpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure tmglobal_tmsessionpolicy_binding + delegate_to: localhost + netscaler.adc.tmglobal_tmsessionpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + policyname: SETTMSESSPARAMS_ADV_POL + priority: '65534' + gotopriorityexpression: NEXT diff --git a/examples/tmglobal_tmtrafficpolicy_binding.yaml b/examples/tmglobal_tmtrafficpolicy_binding.yaml new file mode 100644 index 000000000..eba699141 --- /dev/null +++ b/examples/tmglobal_tmtrafficpolicy_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample tmglobal_tmtrafficpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure tmglobal_tmtrafficpolicy_binding + delegate_to: localhost + netscaler.adc.tmglobal_tmtrafficpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + policyname: ia_tmtrafpol1 + priority: '1' diff --git a/examples/tmsamlssoprofile.yaml b/examples/tmsamlssoprofile.yaml new file mode 100644 index 000000000..f70032927 --- /dev/null +++ b/examples/tmsamlssoprofile.yaml @@ -0,0 +1,49 @@ +--- +- name: Sample tmsamlssoprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure tmsamlssoprofile + delegate_to: localhost + netscaler.adc.tmsamlssoprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: tm1 + assertionconsumerserviceurl: https://url + relaystaterule: '"relaystate"' + attribute1: sam + attribute1expr: http.REQ.USER.ATTRIBUTE(1) + attribute2: upn + attribute2expr: http.REQ.USER.ATTRIBUTE(2) + attribute3: userpass + attribute3expr: http.REQ.USER.ATTRIBUTE(3) + attribute3format: Basic + attribute4: street + attribute4expr: http.REQ.USER.ATTRIBUTE(4) + attribute5: sa + attribute5expr: http.REQ.USER.ATTRIBUTE(5) + attribute6: stype + attribute6expr: http.REQ.USER.ATTRIBUTE(6) + attribute7: servicepn + attribute7expr: http.REQ.USER.ATTRIBUTE(7) + attribute8: sam + attribute8expr: http.REQ.USER.ATTRIBUTE(8) + attribute9: sam + attribute9expr: http.REQ.USER.ATTRIBUTE(9) + attribute10: sam + attribute10expr: http.REQ.USER.ATTRIBUTE(10) + attribute11: sam + attribute11expr: http.REQ.USER.ATTRIBUTE(11) + attribute12: sam + attribute12expr: http.REQ.USER.ATTRIBUTE(12) + attribute13: sam + attribute13expr: http.REQ.USER.ATTRIBUTE(13) + attribute14: sam + attribute14expr: http.REQ.USER.ATTRIBUTE(14) + attribute15: sam + attribute15expr: http.REQ.USER.ATTRIBUTE(15) + attribute16: sam + attribute16expr: http.REQ.USER.ATTRIBUTE(16) diff --git a/examples/tmsessionaction.yaml b/examples/tmsessionaction.yaml new file mode 100644 index 000000000..501254a5c --- /dev/null +++ b/examples/tmsessionaction.yaml @@ -0,0 +1,24 @@ +--- +- name: Sample tmsessionaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure tmsessionaction + delegate_to: localhost + netscaler.adc.tmsessionaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia_tmsesact1 + sesstimeout: 2 + defaultauthorizationaction: ALLOW + sso: 'OFF' + ssocredential: PRIMARY + ssodomain: citrite.net + httponlycookie: 'YES' + kcdaccount: kcd212 + persistentcookie: 'ON' + persistentcookievalidity: 2 + homepage: http://dc1.test.com diff --git a/examples/tmsessionpolicy.yaml b/examples/tmsessionpolicy.yaml new file mode 100644 index 000000000..973c7c087 --- /dev/null +++ b/examples/tmsessionpolicy.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample tmsessionpolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure tmsessionpolicy + delegate_to: localhost + netscaler.adc.tmsessionpolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia_tmsespol1 + rule: REQ.HTTP.METHOD == GET + action: ia_tmsesact1 diff --git a/examples/tmtrafficaction.yaml b/examples/tmtrafficaction.yaml new file mode 100644 index 000000000..1b6567488 --- /dev/null +++ b/examples/tmtrafficaction.yaml @@ -0,0 +1,17 @@ +--- +- name: Sample tmtrafficaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure tmtrafficaction + delegate_to: localhost + netscaler.adc.tmtrafficaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: kcd_sso1 + sso: 'ON' + userexpression: AAA.USER.NAME + passwdexpression: AAA.USER.PASSWD diff --git a/examples/tmtrafficpolicy.yaml b/examples/tmtrafficpolicy.yaml new file mode 100644 index 000000000..d9c8217ad --- /dev/null +++ b/examples/tmtrafficpolicy.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample tmtrafficpolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure tmtrafficpolicy + delegate_to: localhost + netscaler.adc.tmtrafficpolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia_tmtrafpol1 + rule: HTTP.REQ.METHOD.EQ(GET) + action: ia_tmtrafact1 diff --git a/examples/tunnelglobal_tunneltrafficpolicy_binding.yaml b/examples/tunnelglobal_tunneltrafficpolicy_binding.yaml new file mode 100644 index 000000000..439c8207e --- /dev/null +++ b/examples/tunnelglobal_tunneltrafficpolicy_binding.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample tunnelglobal_tunneltrafficpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure tunnelglobal_tunneltrafficpolicy_binding + delegate_to: localhost + netscaler.adc.tunnelglobal_tunneltrafficpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + policyname: ns_tunnel_nocmp diff --git a/examples/tunneltrafficpolicy.yaml b/examples/tunneltrafficpolicy.yaml new file mode 100644 index 000000000..1b0cf42d0 --- /dev/null +++ b/examples/tunneltrafficpolicy.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample tunneltrafficpolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure tunneltrafficpolicy + delegate_to: localhost + netscaler.adc.tunneltrafficpolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: compress + rule: url == /*.asp diff --git a/examples/videooptimizationparameter.yaml b/examples/videooptimizationparameter.yaml index d9f51b981..bd9a6bd8a 100644 --- a/examples/videooptimizationparameter.yaml +++ b/examples/videooptimizationparameter.yaml @@ -1,10 +1,14 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample videooptimizationparameter playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | videooptimizationparameter + - name: Configure videooptimizationparameter delegate_to: localhost netscaler.adc.videooptimizationparameter: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present randomsamplingpercentage: 0.0 diff --git a/examples/vlan.yaml b/examples/vlan.yaml index f279e28ae..637b183d6 100644 --- a/examples/vlan.yaml +++ b/examples/vlan.yaml @@ -1,11 +1,14 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample vlan playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | vlan + - name: Configure vlan delegate_to: localhost netscaler.adc.vlan: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - id: '301' - aliasname: client_side_network + vlanid: '10' diff --git a/examples/vpnalwaysonprofile.yaml b/examples/vpnalwaysonprofile.yaml new file mode 100644 index 000000000..c31bfed2f --- /dev/null +++ b/examples/vpnalwaysonprofile.yaml @@ -0,0 +1,17 @@ +--- +- name: Sample vpnalwaysonprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnalwaysonprofile + delegate_to: localhost + netscaler.adc.vpnalwaysonprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: aop1 + networkaccessonvpnfailure: fullAccess + clientcontrol: DENY + locationbasedvpn: Remote diff --git a/examples/vpnclientlessaccesspolicy.yaml b/examples/vpnclientlessaccesspolicy.yaml new file mode 100644 index 000000000..f45ddaf09 --- /dev/null +++ b/examples/vpnclientlessaccesspolicy.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample vpnclientlessaccesspolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnclientlessaccesspolicy + delegate_to: localhost + netscaler.adc.vpnclientlessaccesspolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia_cltlsacspol1 + rule: 'true' + profilename: ia_cltlsacsprof1 diff --git a/examples/vpnclientlessaccessprofile.yaml b/examples/vpnclientlessaccessprofile.yaml new file mode 100644 index 000000000..eb75408af --- /dev/null +++ b/examples/vpnclientlessaccessprofile.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample vpnclientlessaccessprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnclientlessaccessprofile + delegate_to: localhost + netscaler.adc.vpnclientlessaccessprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + profilename: ia_cltlsacsprof1 diff --git a/examples/vpneula.yaml b/examples/vpneula.yaml new file mode 100644 index 000000000..4acaa850e --- /dev/null +++ b/examples/vpneula.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample vpneula playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpneula + delegate_to: localhost + netscaler.adc.vpneula: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: e2 diff --git a/examples/vpnformssoaction.yaml b/examples/vpnformssoaction.yaml new file mode 100644 index 000000000..c20f04d1f --- /dev/null +++ b/examples/vpnformssoaction.yaml @@ -0,0 +1,18 @@ +--- +- name: Sample vpnformssoaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnformssoaction + delegate_to: localhost + netscaler.adc.vpnformssoaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia_ssoact1 + actionurl: /owa/auth/owaauth.dll + userfield: user + passwdfield: freebsd + ssosuccessrule: HTTP.RES.IS_VALID diff --git a/examples/vpnglobal_staserver_binding.yaml b/examples/vpnglobal_staserver_binding.yaml new file mode 100644 index 000000000..566fd57ee --- /dev/null +++ b/examples/vpnglobal_staserver_binding.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample vpnglobal_staserver_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnglobal_staserver_binding + delegate_to: localhost + netscaler.adc.vpnglobal_staserver_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + staserver: https://use1bxctxcca03.blackstone.com diff --git a/examples/vpnglobal_vpneula_binding.yaml b/examples/vpnglobal_vpneula_binding.yaml new file mode 100644 index 000000000..f8642110c --- /dev/null +++ b/examples/vpnglobal_vpneula_binding.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample vpnglobal_vpneula_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnglobal_vpneula_binding + delegate_to: localhost + netscaler.adc.vpnglobal_vpneula_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + eula: e1 diff --git a/examples/vpnglobal_vpnintranetapplication_binding.yaml b/examples/vpnglobal_vpnintranetapplication_binding.yaml new file mode 100644 index 000000000..2385b6a84 --- /dev/null +++ b/examples/vpnglobal_vpnintranetapplication_binding.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample vpnglobal_vpnintranetapplication_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnglobal_vpnintranetapplication_binding + delegate_to: localhost + netscaler.adc.vpnglobal_vpnintranetapplication_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + intranetapplication: javaclt diff --git a/examples/vpnglobal_vpnportaltheme_binding.yaml b/examples/vpnglobal_vpnportaltheme_binding.yaml new file mode 100644 index 000000000..806926e56 --- /dev/null +++ b/examples/vpnglobal_vpnportaltheme_binding.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample vpnglobal_vpnportaltheme_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnglobal_vpnportaltheme_binding + delegate_to: localhost + netscaler.adc.vpnglobal_vpnportaltheme_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + portaltheme: p2 diff --git a/examples/vpnglobal_vpnsessionpolicy_binding.yaml b/examples/vpnglobal_vpnsessionpolicy_binding.yaml new file mode 100644 index 000000000..b25e9d151 --- /dev/null +++ b/examples/vpnglobal_vpnsessionpolicy_binding.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample vpnglobal_vpnsessionpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnglobal_vpnsessionpolicy_binding + delegate_to: localhost + netscaler.adc.vpnglobal_vpnsessionpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + policyname: SETVPNPARAMS_ADV_POL + priority: '65534' + gotopriorityexpression: NEXT diff --git a/examples/vpnglobal_vpnurl_binding.yaml b/examples/vpnglobal_vpnurl_binding.yaml new file mode 100644 index 000000000..0d9633842 --- /dev/null +++ b/examples/vpnglobal_vpnurl_binding.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample vpnglobal_vpnurl_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnglobal_vpnurl_binding + delegate_to: localhost + netscaler.adc.vpnglobal_vpnurl_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + urlname: SPnew diff --git a/examples/vpnintranetapplication.yaml b/examples/vpnintranetapplication.yaml new file mode 100644 index 000000000..f3c4b47f5 --- /dev/null +++ b/examples/vpnintranetapplication.yaml @@ -0,0 +1,17 @@ +--- +- name: Sample vpnintranetapplication playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnintranetapplication + delegate_to: localhost + netscaler.adc.vpnintranetapplication: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + intranetapplication: intra_app21 + protocol: TCP + destip: 10.100.0.57 + interception: PROXY diff --git a/examples/vpnnexthopserver.yaml b/examples/vpnnexthopserver.yaml new file mode 100644 index 000000000..94d5e0365 --- /dev/null +++ b/examples/vpnnexthopserver.yaml @@ -0,0 +1,17 @@ +--- +- name: Sample vpnnexthopserver playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnnexthopserver + delegate_to: localhost + netscaler.adc.vpnnexthopserver: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: nh3 + nexthopip: 10.102.80.57 + nexthopport: 83 + secure: 'OFF' diff --git a/examples/vpnparameter.yaml b/examples/vpnparameter.yaml index 074c09cc4..ab4bfe0d8 100644 --- a/examples/vpnparameter.yaml +++ b/examples/vpnparameter.yaml @@ -1,13 +1,17 @@ --- -- name: Sample Playbook - hosts: localhost +- name: Sample vpnparameter playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | vpnparameter + - name: Configure vpnparameter delegate_to: localhost netscaler.adc.vpnparameter: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present forcecleanup: - none clientconfiguration: - - trace + - all diff --git a/examples/vpnpcoipconnection.yaml b/examples/vpnpcoipconnection.yaml new file mode 100644 index 000000000..dec16810f --- /dev/null +++ b/examples/vpnpcoipconnection.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample vpnpcoipconnection playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnpcoipconnection + delegate_to: localhost + netscaler.adc.vpnpcoipconnection: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + username: u1 + nitro_operation: kill + '#nitro_operation': kill diff --git a/examples/vpnpcoipprofile.yaml b/examples/vpnpcoipprofile.yaml new file mode 100644 index 000000000..24aeda739 --- /dev/null +++ b/examples/vpnpcoipprofile.yaml @@ -0,0 +1,13 @@ +--- +- name: Sample vpnpcoipprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnpcoipprofile + delegate_to: localhost + netscaler.adc.vpnpcoipprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present diff --git a/examples/vpnpcoipvserverprofile.yaml b/examples/vpnpcoipvserverprofile.yaml new file mode 100644 index 000000000..ce5ccfe14 --- /dev/null +++ b/examples/vpnpcoipvserverprofile.yaml @@ -0,0 +1,13 @@ +--- +- name: Sample vpnpcoipvserverprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnpcoipvserverprofile + delegate_to: localhost + netscaler.adc.vpnpcoipvserverprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present diff --git a/examples/vpnportaltheme.yaml b/examples/vpnportaltheme.yaml new file mode 100644 index 000000000..2e4447105 --- /dev/null +++ b/examples/vpnportaltheme.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample vpnportaltheme playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnportaltheme + delegate_to: localhost + netscaler.adc.vpnportaltheme: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: BX_Brand + basetheme: RfWebUI diff --git a/examples/vpnsamlssoprofile.yaml b/examples/vpnsamlssoprofile.yaml new file mode 100644 index 000000000..3832c551f --- /dev/null +++ b/examples/vpnsamlssoprofile.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample vpnsamlssoprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnsamlssoprofile + delegate_to: localhost + netscaler.adc.vpnsamlssoprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: new + assertionconsumerserviceurl: http://a.com + relaystaterule: http.req.url diff --git a/examples/vpnsessionaction.yaml b/examples/vpnsessionaction.yaml new file mode 100644 index 000000000..b87e910f3 --- /dev/null +++ b/examples/vpnsessionaction.yaml @@ -0,0 +1,23 @@ +--- +- name: Sample vpnsessionaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnsessionaction + delegate_to: localhost + netscaler.adc.vpnsessionaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: External_receiver_session_prof + sesstimeout: 20 + transparentinterception: 'OFF' + defaultauthorizationaction: ALLOW + clientidletimeout: 20 + sso: 'ON' + ssocredential: SECONDARY + icaproxy: 'ON' + wihome: https://10.189.130.10/Citrix/ProdExternal + clientlessvpnmode: 'ON' diff --git a/examples/vpnsessionpolicy.yaml b/examples/vpnsessionpolicy.yaml new file mode 100644 index 000000000..8155a49cb --- /dev/null +++ b/examples/vpnsessionpolicy.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample vpnsessionpolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnsessionpolicy + delegate_to: localhost + netscaler.adc.vpnsessionpolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: External_receiver_session_pol + rule: HTTP.REQ.HEADER("User-Agent").CONTAINS("CitrixReceiver") + action: External_receiver_session_prof diff --git a/examples/vpntrafficaction.yaml b/examples/vpntrafficaction.yaml new file mode 100644 index 000000000..d967b795b --- /dev/null +++ b/examples/vpntrafficaction.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample vpntrafficaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpntrafficaction + delegate_to: localhost + netscaler.adc.vpntrafficaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia_trafact1 + qual: http diff --git a/examples/vpntrafficpolicy.yaml b/examples/vpntrafficpolicy.yaml new file mode 100644 index 000000000..7c5b1289f --- /dev/null +++ b/examples/vpntrafficpolicy.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample vpntrafficpolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpntrafficpolicy + delegate_to: localhost + netscaler.adc.vpntrafficpolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia_trafpol1 + rule: ns_true + action: ia_trafact1 diff --git a/examples/vpnurl.yaml b/examples/vpnurl.yaml new file mode 100644 index 000000000..cf7a00170 --- /dev/null +++ b/examples/vpnurl.yaml @@ -0,0 +1,18 @@ +--- +- name: Sample vpnurl playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnurl + delegate_to: localhost + netscaler.adc.vpnurl: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + urlname: url3 + linkname: url3 + actualurl: https://a.c.com/ + ssotype: samlauth + samlssoprofile: new diff --git a/examples/vpnvserver.yaml b/examples/vpnvserver.yaml new file mode 100644 index 000000000..543c98297 --- /dev/null +++ b/examples/vpnvserver.yaml @@ -0,0 +1,19 @@ +--- +- name: Sample vpnvserver playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnvserver + delegate_to: localhost + netscaler.adc.vpnvserver: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: CitrixAccessCallback + servicetype: SSL + ipv46: 10.189.130.19 + port: 443 + downstateflush: DISABLED + listenpolicy: NONE diff --git a/examples/vpnvserver_aaapreauthenticationpolicy_binding.yaml b/examples/vpnvserver_aaapreauthenticationpolicy_binding.yaml new file mode 100644 index 000000000..3af80aef3 --- /dev/null +++ b/examples/vpnvserver_aaapreauthenticationpolicy_binding.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample vpnvserver_aaapreauthenticationpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnvserver_aaapreauthenticationpolicy_binding + delegate_to: localhost + netscaler.adc.vpnvserver_aaapreauthenticationpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: vpn_ssl + policy: preact + priority: '20' diff --git a/examples/vpnvserver_appflowpolicy_binding.yaml b/examples/vpnvserver_appflowpolicy_binding.yaml new file mode 100644 index 000000000..e0c2c784c --- /dev/null +++ b/examples/vpnvserver_appflowpolicy_binding.yaml @@ -0,0 +1,18 @@ +--- +- name: Sample vpnvserver_appflowpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnvserver_appflowpolicy_binding + delegate_to: localhost + netscaler.adc.vpnvserver_appflowpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: portal.bx.com + policy: af_policy_act_log_10.189.64.10 + priority: '255' + gotopriorityexpression: END + bindpoint: ICA_REQUEST diff --git a/examples/vpnvserver_authenticationldappolicy_binding.yaml b/examples/vpnvserver_authenticationldappolicy_binding.yaml new file mode 100644 index 000000000..1954bd8a1 --- /dev/null +++ b/examples/vpnvserver_authenticationldappolicy_binding.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample vpnvserver_authenticationldappolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnvserver_authenticationldappolicy_binding + delegate_to: localhost + netscaler.adc.vpnvserver_authenticationldappolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ns.pcoip.net + policy: ldap24 + priority: '100' diff --git a/examples/vpnvserver_authenticationlocalpolicy_binding.yaml b/examples/vpnvserver_authenticationlocalpolicy_binding.yaml new file mode 100644 index 000000000..0006869bc --- /dev/null +++ b/examples/vpnvserver_authenticationlocalpolicy_binding.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample vpnvserver_authenticationlocalpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnvserver_authenticationlocalpolicy_binding + delegate_to: localhost + netscaler.adc.vpnvserver_authenticationlocalpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: callbackvs + policy: NS_GATEWAY_DEFAULT_LOCAL_POL1 + priority: '64000' diff --git a/examples/vpnvserver_cachepolicy_binding.yaml b/examples/vpnvserver_cachepolicy_binding.yaml new file mode 100644 index 000000000..4dea3dce7 --- /dev/null +++ b/examples/vpnvserver_cachepolicy_binding.yaml @@ -0,0 +1,18 @@ +--- +- name: Sample vpnvserver_cachepolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnvserver_cachepolicy_binding + delegate_to: localhost + netscaler.adc.vpnvserver_cachepolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: CitrixAccessCallback + policy: _noCacheRest + priority: '20' + gotopriorityexpression: END + bindpoint: RESPONSE diff --git a/examples/vpnvserver_icapolicy_binding.yaml b/examples/vpnvserver_icapolicy_binding.yaml new file mode 100644 index 000000000..28a2ac65a --- /dev/null +++ b/examples/vpnvserver_icapolicy_binding.yaml @@ -0,0 +1,16 @@ +--- +- name: Sample vpnvserver_icapolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnvserver_icapolicy_binding + delegate_to: localhost + netscaler.adc.vpnvserver_icapolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: wionnsvs + policy: icapol1 + priority: '3' diff --git a/examples/vpnvserver_staserver_binding.yaml b/examples/vpnvserver_staserver_binding.yaml new file mode 100644 index 000000000..044badc9b --- /dev/null +++ b/examples/vpnvserver_staserver_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample vpnvserver_staserver_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnvserver_staserver_binding + delegate_to: localhost + netscaler.adc.vpnvserver_staserver_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: portal.bx.com + staserver: https://use1bxctxccp01.blackstone.com diff --git a/examples/vpnvserver_vpnclientlessaccesspolicy_binding.yaml b/examples/vpnvserver_vpnclientlessaccesspolicy_binding.yaml new file mode 100644 index 000000000..a8f031e7e --- /dev/null +++ b/examples/vpnvserver_vpnclientlessaccesspolicy_binding.yaml @@ -0,0 +1,17 @@ +--- +- name: Sample vpnvserver_vpnclientlessaccesspolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnvserver_vpnclientlessaccesspolicy_binding + delegate_to: localhost + netscaler.adc.vpnvserver_vpnclientlessaccesspolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: _XM_anilxmvip.dnpg-blr.com + policy: CLT_LESS_10.100.48.231 + priority: '80' + gotopriorityexpression: END diff --git a/examples/vpnvserver_vpneula_binding.yaml b/examples/vpnvserver_vpneula_binding.yaml new file mode 100644 index 000000000..885bb5d01 --- /dev/null +++ b/examples/vpnvserver_vpneula_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample vpnvserver_vpneula_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnvserver_vpneula_binding + delegate_to: localhost + netscaler.adc.vpnvserver_vpneula_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: vpnlb + eula: e1 diff --git a/examples/vpnvserver_vpnnexthopserver_binding.yaml b/examples/vpnvserver_vpnnexthopserver_binding.yaml new file mode 100644 index 000000000..a7e539636 --- /dev/null +++ b/examples/vpnvserver_vpnnexthopserver_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample vpnvserver_vpnnexthopserver_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnvserver_vpnnexthopserver_binding + delegate_to: localhost + netscaler.adc.vpnvserver_vpnnexthopserver_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: dh + nexthopserver: fqdn diff --git a/examples/vpnvserver_vpnportaltheme_binding.yaml b/examples/vpnvserver_vpnportaltheme_binding.yaml new file mode 100644 index 000000000..d010b8ad3 --- /dev/null +++ b/examples/vpnvserver_vpnportaltheme_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample vpnvserver_vpnportaltheme_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnvserver_vpnportaltheme_binding + delegate_to: localhost + netscaler.adc.vpnvserver_vpnportaltheme_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: portal.bx.com + portaltheme: BX_Brand diff --git a/examples/vpnvserver_vpnsessionpolicy_binding.yaml b/examples/vpnvserver_vpnsessionpolicy_binding.yaml new file mode 100644 index 000000000..5162ae977 --- /dev/null +++ b/examples/vpnvserver_vpnsessionpolicy_binding.yaml @@ -0,0 +1,18 @@ +--- +- name: Sample vpnvserver_vpnsessionpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnvserver_vpnsessionpolicy_binding + delegate_to: localhost + netscaler.adc.vpnvserver_vpnsessionpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: portal.bx.com + policy: External_receiver_session_pol + priority: '130' + gotopriorityexpression: NEXT + bindpoint: REQUEST diff --git a/examples/vpnvserver_vpnurl_binding.yaml b/examples/vpnvserver_vpnurl_binding.yaml new file mode 100644 index 000000000..db2358e6c --- /dev/null +++ b/examples/vpnvserver_vpnurl_binding.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample vpnvserver_vpnurl_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnvserver_vpnurl_binding + delegate_to: localhost + netscaler.adc.vpnvserver_vpnurl_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: baluVpn2 + urlname: sp2k7FqdnHttp diff --git a/examples/vrid.yaml b/examples/vrid.yaml new file mode 100644 index 000000000..7e9e4e88c --- /dev/null +++ b/examples/vrid.yaml @@ -0,0 +1,15 @@ +--- +- name: Sample vrid playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vrid + delegate_to: localhost + netscaler.adc.vrid: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + id: '100' + preemptiondelaytimer: 100 diff --git a/examples/vrid6.yaml b/examples/vrid6.yaml new file mode 100644 index 000000000..50d189877 --- /dev/null +++ b/examples/vrid6.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample vrid6 playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vrid6 + delegate_to: localhost + netscaler.adc.vrid6: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + id: '13' diff --git a/examples/vridparam.yaml b/examples/vridparam.yaml new file mode 100644 index 000000000..15075d399 --- /dev/null +++ b/examples/vridparam.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample vridparam playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vridparam + delegate_to: localhost + netscaler.adc.vridparam: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + sendtomaster: ENABLED diff --git a/examples/vxlan.yaml b/examples/vxlan.yaml new file mode 100644 index 000000000..ce9abdb93 --- /dev/null +++ b/examples/vxlan.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample vxlan playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vxlan + delegate_to: localhost + netscaler.adc.vxlan: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + id: '1' diff --git a/examples/vxlanvlanmap.yaml b/examples/vxlanvlanmap.yaml new file mode 100644 index 000000000..fb87903b0 --- /dev/null +++ b/examples/vxlanvlanmap.yaml @@ -0,0 +1,14 @@ +--- +- name: Sample vxlanvlanmap playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vxlanvlanmap + delegate_to: localhost + netscaler.adc.vxlanvlanmap: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: v2 diff --git a/examples/vxlanvlanmap_vxlan_binding.yaml b/examples/vxlanvlanmap_vxlan_binding.yaml new file mode 100644 index 000000000..6e9951d99 --- /dev/null +++ b/examples/vxlanvlanmap_vxlan_binding.yaml @@ -0,0 +1,17 @@ +--- +- name: Sample vxlanvlanmap_vxlan_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vxlanvlanmap_vxlan_binding + delegate_to: localhost + netscaler.adc.vxlanvlanmap_vxlan_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: v1 + vxlan: '20' + vlan: + - '2' diff --git a/plugins/module_utils/nitro_resource_map.py b/plugins/module_utils/nitro_resource_map.py index fcee5301c..bdc36862e 100644 --- a/plugins/module_utils/nitro_resource_map.py +++ b/plugins/module_utils/nitro_resource_map.py @@ -8,118 +8,6 @@ __metaclass__ = type NITRO_RESOURCE_MAP = { - "login": { - "_supported_operations": ["add"], - "add_payload_keys": [ - "username", - "password", - ], - "bindings": [], - "bindprimary_key": "", - "delete_arg_keys": [], - "disable_payload_keys": [], - "enable_payload_keys": [], - "get_arg_keys": [], - "immutable_keys": ["username", "password"], - "primary_key": "", - "primary_key_composite": [], - "readwrite_arguments": { - "username": { - "type": "str", - "required": True, - "no_log": True, - }, - "password": { - "type": "str", - "required": True, - "no_log": True, - }, - }, - "singleton": False, - "update_payload_keys": [], - }, - "logout": { - "add_payload_keys": [], - "_supported_operations": ["add"], - "bindings": [], - "bindprimary_key": "", - "delete_arg_keys": [], - "disable_payload_keys": [], - "enable_payload_keys": [], - "get_arg_keys": [], - "immutable_keys": [], - "primary_key": "", - "primary_key_composite": [], - "readwrite_arguments": {}, - "singleton": False, - "update_payload_keys": [], - }, - "save_config": { - "_supported_operations": ["add"], - "add_payload_keys": [ - "all", - ], - "bindings": [], - "bindprimary_key": "", - "delete_arg_keys": [], - "disable_payload_keys": [], - "enable_payload_keys": [], - "get_arg_keys": [], - "immutable_keys": [], - "primary_key": "", - "primary_key_composite": [], - "readwrite_arguments": { - "all": { - "type": "bool", - "required": False, - "no_log": False, - }, - }, - "singleton": False, - "update_payload_keys": [], - }, - "change_password": { - "_supported_operations": ["add", "update"], - "add_payload_keys": [ - "username", - "password", - "new_password", - "first_boot", - ], - "bindings": [], - "bindprimary_key": "", - "delete_arg_keys": [], - "disable_payload_keys": [], - "enable_payload_keys": [], - "get_arg_keys": [], - "immutable_keys": ["username", "password", "new_password"], - "primary_key": "", - "primary_key_composite": [], - "readwrite_arguments": { - "username": { - "type": "str", - "required": True, - "no_log": True, - }, - "password": { - "type": "str", - "required": True, - "no_log": True, - }, - "new_password": { - "type": "str", - "required": True, - "no_log": True, - }, - "first_boot": { - "type": "bool", - "required": True, - "no_log": False, - }, - }, - "singleton": False, - "update_payload_keys": [], - }, "aaacertparams": { "_supported_operations": ["get", "unset", "update"], "action_payload_keys": { @@ -155,7 +43,7 @@ ], }, "aaaglobal_aaapreauthenticationpolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -189,7 +77,7 @@ "update_payload_keys": [], }, "aaaglobal_authenticationnegotiateaction_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -972,8 +860,10 @@ "unlink": [], "unset": [ "cacert", + "delegateduser", "enterpriserealm", "kcdaccount", + "kcdpassword", "keytab", "servicespn", "usercert", @@ -1004,10 +894,10 @@ "primary_key_composite": [], "readwrite_arguments": { "cacert": {"no_log": False, "type": "raw"}, - "delegateduser": {"no_log": False, "type": "str"}, + "delegateduser": {"no_log": False, "type": "raw"}, "enterpriserealm": {"no_log": False, "type": "raw"}, "kcdaccount": {"no_log": False, "type": "raw"}, - "kcdpassword": {"no_log": True, "type": "str"}, + "kcdpassword": {"no_log": True, "type": "raw"}, "keytab": {"no_log": False, "type": "raw"}, "realmstr": {"no_log": False, "type": "str"}, "servicespn": {"no_log": False, "type": "raw"}, @@ -1181,6 +1071,7 @@ "enableenhancedauthfeedback", "enablesessionstickiness", "enablestaticpagecaching", + "enhancedepa", "ftmode", "httponlycookie", "loginencryption", @@ -1191,7 +1082,9 @@ "persistentloginattempts", "pwdexpirynotificationdays", "samesite", + "securityinsights", "tokenintrospectioninterval", + "wafprotection", ], }, "add_payload_keys": [], @@ -1266,6 +1159,11 @@ "no_log": False, "type": "raw", }, + "enhancedepa": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, "failedlogintimeout": {"no_log": False, "type": "float"}, "ftmode": {"choices": ["HA", "OFF", "ON"], "no_log": False, "type": "raw"}, "httponlycookie": { @@ -1293,7 +1191,17 @@ "no_log": False, "type": "raw", }, + "securityinsights": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, "tokenintrospectioninterval": {"no_log": False, "type": "raw"}, + "wafprotection": { + "choices": ["AUTH", "DISABLED", "VPN"], + "no_log": False, + "type": "raw", + }, }, "singleton": True, "update_payload_keys": [ @@ -1307,6 +1215,7 @@ "enableenhancedauthfeedback", "enablesessionstickiness", "enablestaticpagecaching", + "enhancedepa", "failedlogintimeout", "ftmode", "httponlycookie", @@ -1318,7 +1227,9 @@ "persistentloginattempts", "pwdexpirynotificationdays", "samesite", + "securityinsights", "tokenintrospectioninterval", + "wafprotection", ], }, "aaapreauthenticationaction": { @@ -2426,7 +2337,7 @@ "update_payload_keys": ["admserviceconnect"], }, "analyticsglobal_analyticsprofile_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -2453,6 +2364,7 @@ "analyticsprofile": { "_supported_operations": [ "add", + "change", "count", "delete", "get", @@ -2476,6 +2388,7 @@ "auditlogs", "collectors", "cqareporting", + "dataformatfile", "events", "grpcstatus", "httpauthentication", @@ -2496,6 +2409,7 @@ "httpvia", "httpxforwardedforheader", "integratedcache", + "managementlog", "metrics", "metricsexportfrequency", "name", @@ -2503,6 +2417,7 @@ "schemafile", "servemode", "tcpburstreporting", + "topn", "type", "urlcategory", ], @@ -2516,6 +2431,7 @@ "auditlogs", "collectors", "cqareporting", + "dataformatfile", "events", "grpcstatus", "httpauthentication", @@ -2536,6 +2452,7 @@ "httpvia", "httpxforwardedforheader", "integratedcache", + "managementlog", "metrics", "metricsexportfrequency", "name", @@ -2543,6 +2460,7 @@ "schemafile", "servemode", "tcpburstreporting", + "topn", "type", "urlcategory", ], @@ -2577,6 +2495,7 @@ "no_log": False, "type": "raw", }, + "dataformatfile": {"no_log": False, "type": "raw"}, "events": { "choices": ["DISABLED", "ENABLED"], "no_log": False, @@ -2677,6 +2596,11 @@ "no_log": False, "type": "raw", }, + "managementlog": { + "choices": ["ACCESS", "ALL", "NONE", "NSMGMT", "SHELL"], + "no_log": False, + "type": "raw", + }, "metrics": { "choices": ["DISABLED", "ENABLED"], "no_log": False, @@ -2685,7 +2609,7 @@ "metricsexportfrequency": {"no_log": False, "type": "raw"}, "name": {"no_log": False, "type": "raw"}, "outputmode": { - "choices": ["avro", "influx", "prometheus"], + "choices": ["avro", "influx", "json", "prometheus"], "no_log": False, "type": "raw", }, @@ -2696,6 +2620,11 @@ "no_log": False, "type": "raw", }, + "topn": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, "type": { "choices": [ "CIinsight", @@ -2704,7 +2633,9 @@ "global", "hdxinsight", "lsninsight", + "ngsinsight", "securityinsight", + "streaminsight", "tcpinsight", "timeseries", "udpinsight", @@ -2730,6 +2661,7 @@ "auditlogs", "collectors", "cqareporting", + "dataformatfile", "events", "grpcstatus", "httpauthentication", @@ -2750,6 +2682,7 @@ "httpvia", "httpxforwardedforheader", "integratedcache", + "managementlog", "metrics", "metricsexportfrequency", "name", @@ -2757,10 +2690,96 @@ "schemafile", "servemode", "tcpburstreporting", + "topn", "type", "urlcategory", ], }, + "apiprofile": { + "_supported_operations": [ + "add", + "count", + "delete", + "get", + "get-byname", + "unset", + "update", + ], + "action_payload_keys": { + "create": [], + "force": [], + "import": [], + "link": [], + "switch": [], + "unlink": [], + "unset": ["apivisibility", "name"], + }, + "add_payload_keys": ["apivisibility", "name"], + "bindings": ["apiprofile_apispec_binding"], + "bindprimary_key": "", + "delete_arg_keys": [], + "disable_payload_keys": [], + "enable_payload_keys": [], + "get_arg_keys": [], + "immutable_keys": [], + "password_keys": [], + "primary_key": "name", + "primary_key_composite": [], + "readwrite_arguments": { + "apiprofile_apispec_binding": { + "no_log": False, + "options": { + "binding_members": { + "default": [], + "elements": "dict", + "type": "list", + }, + "mode": { + "choices": ["bind", "desired", "unbind"], + "default": "desired", + "type": "str", + }, + }, + "type": "dict", + }, + "apivisibility": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, + "name": {"no_log": False, "type": "raw"}, + }, + "singleton": False, + "update_payload_keys": ["apivisibility", "name"], + }, + "apiprofile_apispec_binding": { + "_supported_operations": ["add", "count", "delete", "get-all", "get-byname"], + "action_payload_keys": { + "create": [], + "force": [], + "import": [], + "link": [], + "switch": [], + "unlink": [], + "unset": [], + }, + "add_payload_keys": ["apispec", "name"], + "bindprimary_key": "apispec", + "delete_arg_keys": ["apispec"], + "disable_payload_keys": [], + "enable_payload_keys": [], + "get_arg_keys": ["apispec"], + "immutable_keys": ["apispec", "name"], + "password_keys": [], + "primary_key": "name", + "primary_key_composite": [], + "readwrite_arguments": { + "apispec": {"no_log": False, "type": "str"}, + "name": {"no_log": False, "type": "str"}, + }, + "singleton": False, + "update_payload_keys": [], + }, "apispec": { "_supported_operations": [ "add", @@ -2779,20 +2798,26 @@ "unlink": [], "unset": [], }, - "add_payload_keys": ["file", "name", "type"], + "add_payload_keys": ["encrypted", "file", "name", "skipvalidation", "type"], "bindings": [], "bindprimary_key": "", "delete_arg_keys": [], "disable_payload_keys": [], "enable_payload_keys": [], "get_arg_keys": [], - "immutable_keys": ["file", "name", "type"], + "immutable_keys": ["encrypted", "file", "name", "skipvalidation", "type"], "password_keys": [], "primary_key": "name", "primary_key_composite": [], "readwrite_arguments": { + "encrypted": {"no_log": False, "type": "bool"}, "file": {"no_log": False, "type": "str"}, "name": {"no_log": False, "type": "str"}, + "skipvalidation": { + "choices": ["NO", "YES"], + "no_log": False, + "type": "str", + }, "type": { "choices": ["GRAPHQL", "OAS", "PROTO"], "no_log": False, @@ -2803,11 +2828,11 @@ "update_payload_keys": [], }, "apispecfile": { - "_supported_operations": ["Import", "count", "delete", "get"], + "_supported_operations": ["Import", "count", "delete", "get", "get-byname"], "action_payload_keys": { "create": [], "force": [], - "import": ["name", "password", "src"], + "import": ["name", "overwrite", "src"], "link": [], "switch": [], "unlink": [], @@ -2826,7 +2851,7 @@ "primary_key_composite": [], "readwrite_arguments": { "name": {"no_log": False, "type": "str"}, - "password": {"no_log": False, "type": "str"}, + "overwrite": {"no_log": False, "type": "bool"}, "src": {"no_log": False, "type": "str"}, }, "singleton": False, @@ -2880,6 +2905,7 @@ "botinsight", "ciinsight", "clientsidemeasurements", + "collectors", "comment", "distributionalgorithm", "name", @@ -2946,7 +2972,7 @@ "no_log": False, "type": "raw", }, - "collectors": {"elements": "str", "no_log": False, "type": "list"}, + "collectors": {"no_log": False, "type": "raw"}, "comment": {"no_log": False, "type": "raw"}, "distributionalgorithm": { "choices": ["DISABLED", "ENABLED"], @@ -3072,7 +3098,7 @@ "update_payload_keys": ["ipaddress", "name", "netprofile", "port"], }, "appflowglobal_appflowpolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -3796,7 +3822,7 @@ "update_payload_keys": ["comment", "name", "priority", "regex"], }, "appfwglobal_appfwpolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -3869,7 +3895,7 @@ "update_payload_keys": [], }, "appfwglobal_auditnslogpolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -3932,7 +3958,7 @@ "update_payload_keys": [], }, "appfwglobal_auditsyslogpolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -4682,6 +4708,7 @@ "csrftagaction", "defaultcharset", "defaultfieldformatmaxlength", + "defaultfieldformatmaxoccurrences", "defaultfieldformatminlength", "defaultfieldformattype", "denyurlaction", @@ -4694,6 +4721,8 @@ "fakeaccountdetection", "fieldconsistencyaction", "fieldformataction", + "fieldscan", + "fieldscanlimit", "fileuploadmaxnum", "fileuploadtypesaction", "geolocationlogging", @@ -4714,11 +4743,18 @@ "jsonerrorobject", "jsonerrorstatuscode", "jsonerrorstatusmessage", + "jsonfieldscan", + "jsonfieldscanlimit", + "jsonmessagescan", + "jsonmessagescanlimit", "jsonsqlinjectionaction", "jsonsqlinjectiongrammar", "jsonsqlinjectiontype", "jsonxssaction", "logeverypolicyhit", + "messagescan", + "messagescanlimit", + "messagescanlimitcontenttypes", "multipleheaderaction", "name", "optimizepartialreqs", @@ -4809,6 +4845,7 @@ "csrftagaction", "defaultcharset", "defaultfieldformatmaxlength", + "defaultfieldformatmaxoccurrences", "defaultfieldformatminlength", "defaultfieldformattype", "defaults", @@ -4822,6 +4859,8 @@ "fakeaccountdetection", "fieldconsistencyaction", "fieldformataction", + "fieldscan", + "fieldscanlimit", "fileuploadmaxnum", "fileuploadtypesaction", "geolocationlogging", @@ -4842,11 +4881,18 @@ "jsonerrorobject", "jsonerrorstatuscode", "jsonerrorstatusmessage", + "jsonfieldscan", + "jsonfieldscanlimit", + "jsonmessagescan", + "jsonmessagescanlimit", "jsonsqlinjectionaction", "jsonsqlinjectiongrammar", "jsonsqlinjectiontype", "jsonxssaction", "logeverypolicyhit", + "messagescan", + "messagescanlimit", + "messagescanlimitcontenttypes", "multipleheaderaction", "name", "optimizepartialreqs", @@ -4916,12 +4962,14 @@ "appfwprofile_fieldconsistency_binding", "appfwprofile_fieldformat_binding", "appfwprofile_fileuploadtype_binding", + "appfwprofile_grpcvalidation_binding", "appfwprofile_jsonblockkeyword_binding", "appfwprofile_jsoncmdurl_binding", "appfwprofile_jsondosurl_binding", "appfwprofile_jsonsqlurl_binding", "appfwprofile_jsonxssurl_binding", "appfwprofile_logexpression_binding", + "appfwprofile_restvalidation_binding", "appfwprofile_safeobject_binding", "appfwprofile_sqlinjection_binding", "appfwprofile_starturl_binding", @@ -5205,6 +5253,22 @@ }, "type": "dict", }, + "appfwprofile_grpcvalidation_binding": { + "no_log": False, + "options": { + "binding_members": { + "default": [], + "elements": "dict", + "type": "list", + }, + "mode": { + "choices": ["bind", "desired", "unbind"], + "default": "desired", + "type": "str", + }, + }, + "type": "dict", + }, "appfwprofile_jsonblockkeyword_binding": { "no_log": False, "options": { @@ -5301,6 +5365,22 @@ }, "type": "dict", }, + "appfwprofile_restvalidation_binding": { + "no_log": False, + "options": { + "binding_members": { + "default": [], + "elements": "dict", + "type": "list", + }, + "mode": { + "choices": ["bind", "desired", "unbind"], + "default": "desired", + "type": "str", + }, + }, + "type": "dict", + }, "appfwprofile_safeobject_binding": { "no_log": False, "options": { @@ -5604,6 +5684,7 @@ "customsettings": {"no_log": False, "type": "str"}, "defaultcharset": {"no_log": False, "type": "raw"}, "defaultfieldformatmaxlength": {"no_log": False, "type": "raw"}, + "defaultfieldformatmaxoccurrences": {"no_log": False, "type": "raw"}, "defaultfieldformatminlength": {"no_log": False, "type": "raw"}, "defaultfieldformattype": {"no_log": False, "type": "raw"}, "defaults": { @@ -5667,6 +5748,8 @@ "no_log": False, "type": "raw", }, + "fieldscan": {"choices": ["OFF", "ON"], "no_log": False, "type": "raw"}, + "fieldscanlimit": {"no_log": False, "type": "raw"}, "fileuploadmaxnum": {"no_log": False, "type": "raw"}, "fileuploadtypesaction": { "choices": ["block", "log", "none", "stats"], @@ -5754,6 +5837,14 @@ "jsonerrorobject": {"no_log": False, "type": "raw"}, "jsonerrorstatuscode": {"no_log": False, "type": "raw"}, "jsonerrorstatusmessage": {"no_log": False, "type": "raw"}, + "jsonfieldscan": {"choices": ["OFF", "ON"], "no_log": False, "type": "raw"}, + "jsonfieldscanlimit": {"no_log": False, "type": "raw"}, + "jsonmessagescan": { + "choices": ["OFF", "ON"], + "no_log": False, + "type": "raw", + }, + "jsonmessagescanlimit": {"no_log": False, "type": "raw"}, "jsonsqlinjectionaction": { "choices": ["block", "log", "none", "stats"], "no_log": False, @@ -5786,6 +5877,13 @@ "type": "raw", }, "matchurlstring": {"no_log": False, "type": "str"}, + "messagescan": {"choices": ["OFF", "ON"], "no_log": False, "type": "raw"}, + "messagescanlimit": {"no_log": False, "type": "raw"}, + "messagescanlimitcontenttypes": { + "choices": ["FORM-DATA", "JSON", "NONE"], + "no_log": False, + "type": "raw", + }, "multipleheaderaction": { "choices": ["block", "keepLast", "log", "none"], "no_log": False, @@ -6045,6 +6143,7 @@ "csrftagaction", "defaultcharset", "defaultfieldformatmaxlength", + "defaultfieldformatmaxoccurrences", "defaultfieldformatminlength", "defaultfieldformattype", "denyurlaction", @@ -6057,6 +6156,8 @@ "fakeaccountdetection", "fieldconsistencyaction", "fieldformataction", + "fieldscan", + "fieldscanlimit", "fileuploadmaxnum", "fileuploadtypesaction", "geolocationlogging", @@ -6077,11 +6178,18 @@ "jsonerrorobject", "jsonerrorstatuscode", "jsonerrorstatusmessage", + "jsonfieldscan", + "jsonfieldscanlimit", + "jsonmessagescan", + "jsonmessagescanlimit", "jsonsqlinjectionaction", "jsonsqlinjectiongrammar", "jsonsqlinjectiontype", "jsonxssaction", "logeverypolicyhit", + "messagescan", + "messagescanlimit", + "messagescanlimitcontenttypes", "multipleheaderaction", "name", "optimizepartialreqs", @@ -6300,10 +6408,20 @@ "ruletype", ], "bindprimary_key": "as_bypass_list", - "delete_arg_keys": ["as_bypass_list", "as_bypass_list_value_type", "ruletype"], + "delete_arg_keys": [ + "as_bypass_list", + "as_bypass_list_location", + "as_bypass_list_value_type", + "ruletype", + ], "disable_payload_keys": [], "enable_payload_keys": [], - "get_arg_keys": ["as_bypass_list", "as_bypass_list_value_type", "ruletype"], + "get_arg_keys": [ + "as_bypass_list", + "as_bypass_list_location", + "as_bypass_list_value_type", + "ruletype", + ], "immutable_keys": [ "as_bypass_list", "as_bypass_list_action", @@ -6319,6 +6437,7 @@ "primary_key": "name", "primary_key_composite": [], "readwrite_arguments": { + "alertonly": {"choices": ["OFF", "ON"], "no_log": False, "type": "str"}, "as_bypass_list": {"no_log": False, "type": "str"}, "as_bypass_list_action": { "choices": ["log", "none"], @@ -6326,7 +6445,7 @@ "type": "str", }, "as_bypass_list_location": { - "choices": ["IPv4", "IPv6", "URL"], + "choices": ["HeaderName", "HeaderValue", "IPv4", "IPv6", "URL"], "no_log": False, "type": "str", }, @@ -6786,10 +6905,20 @@ "ruletype", ], "bindprimary_key": "as_deny_list", - "delete_arg_keys": ["as_deny_list", "as_deny_list_value_type", "ruletype"], + "delete_arg_keys": [ + "as_deny_list", + "as_deny_list_location", + "as_deny_list_value_type", + "ruletype", + ], "disable_payload_keys": [], "enable_payload_keys": [], - "get_arg_keys": ["as_deny_list", "as_deny_list_value_type", "ruletype"], + "get_arg_keys": [ + "as_deny_list", + "as_deny_list_location", + "as_deny_list_value_type", + "ruletype", + ], "immutable_keys": [ "as_deny_list", "as_deny_list_action", @@ -6805,6 +6934,7 @@ "primary_key": "name", "primary_key_composite": [], "readwrite_arguments": { + "alertonly": {"choices": ["OFF", "ON"], "no_log": False, "type": "str"}, "as_deny_list": {"no_log": False, "type": "str"}, "as_deny_list_action": { "choices": ["REDIRECT", "RESET", "log", "none"], @@ -6813,7 +6943,7 @@ "type": "list", }, "as_deny_list_location": { - "choices": ["IPv4", "IPv6", "URL"], + "choices": ["HeaderName", "HeaderValue", "IPv4", "IPv6", "URL"], "no_log": False, "type": "str", }, @@ -7233,6 +7363,68 @@ "singleton": False, "update_payload_keys": [], }, + "appfwprofile_grpcvalidation_binding": { + "_supported_operations": ["add", "count", "delete", "get-all", "get-byname"], + "action_payload_keys": { + "create": [], + "force": [], + "import": [], + "link": [], + "switch": [], + "unlink": [], + "unset": [], + }, + "add_payload_keys": [ + "comment", + "grpc_relax_validation_action", + "grpcvalidation", + "isautodeployed", + "name", + "resourceid", + "ruletype", + ], + "bindprimary_key": "grpcvalidation", + "delete_arg_keys": [ + "grpc_relax_validation_action", + "grpcvalidation", + "ruletype", + ], + "disable_payload_keys": [], + "enable_payload_keys": [], + "get_arg_keys": ["grpc_relax_validation_action", "grpcvalidation", "ruletype"], + "immutable_keys": [ + "comment", + "grpc_relax_validation_action", + "grpcvalidation", + "isautodeployed", + "name", + "resourceid", + "ruletype", + ], + "password_keys": [], + "primary_key": "name", + "primary_key_composite": [], + "readwrite_arguments": { + "alertonly": {"choices": ["OFF", "ON"], "no_log": False, "type": "str"}, + "comment": {"no_log": False, "type": "str"}, + "grpc_relax_validation_action": { + "choices": ["log", "none"], + "no_log": False, + "type": "str", + }, + "grpcvalidation": {"no_log": False, "type": "str"}, + "isautodeployed": { + "choices": ["AUTODEPLOYED", "NOTAUTODEPLOYED"], + "no_log": False, + "type": "str", + }, + "name": {"no_log": False, "type": "str"}, + "resourceid": {"no_log": False, "type": "str"}, + "ruletype": {"choices": ["ALLOW", "DENY"], "no_log": False, "type": "str"}, + }, + "singleton": False, + "update_payload_keys": [], + }, "appfwprofile_jsonblockkeyword_binding": { "_supported_operations": ["add", "count", "delete", "get-all", "get-byname"], "action_payload_keys": { @@ -7749,6 +7941,64 @@ "singleton": False, "update_payload_keys": [], }, + "appfwprofile_restvalidation_binding": { + "_supported_operations": ["add", "count", "delete", "get-all", "get-byname"], + "action_payload_keys": { + "create": [], + "force": [], + "import": [], + "link": [], + "switch": [], + "unlink": [], + "unset": [], + }, + "add_payload_keys": [ + "comment", + "isautodeployed", + "name", + "resourceid", + "rest_validation_action", + "restvalidation", + "ruletype", + ], + "bindprimary_key": "restvalidation", + "delete_arg_keys": ["rest_validation_action", "restvalidation", "ruletype"], + "disable_payload_keys": [], + "enable_payload_keys": [], + "get_arg_keys": ["rest_validation_action", "restvalidation", "ruletype"], + "immutable_keys": [ + "comment", + "isautodeployed", + "name", + "resourceid", + "rest_validation_action", + "restvalidation", + "ruletype", + ], + "password_keys": [], + "primary_key": "name", + "primary_key_composite": [], + "readwrite_arguments": { + "alertonly": {"choices": ["OFF", "ON"], "no_log": False, "type": "str"}, + "comment": {"no_log": False, "type": "str"}, + "isautodeployed": { + "choices": ["AUTODEPLOYED", "NOTAUTODEPLOYED"], + "no_log": False, + "type": "str", + }, + "name": {"no_log": False, "type": "str"}, + "resourceid": {"no_log": False, "type": "str"}, + "rest_validation_action": { + "choices": ["log", "none"], + "no_log": False, + "type": "str", + }, + "restvalidation": {"no_log": False, "type": "str"}, + "ruletype": {"choices": ["ALLOW", "DENY"], "no_log": False, "type": "str"}, + }, + "singleton": False, + "update_payload_keys": [], + }, "appfwprofile_safeobject_binding": { "_supported_operations": ["add", "count", "delete", "get-all", "get-byname"], "action_payload_keys": { @@ -8629,6 +8879,7 @@ "ceflogging", "centralizedlearning", "clientiploggingheader", + "cookieflags", "cookiepostencryptprefix", "defaultprofile", "entitydecoding", @@ -8669,6 +8920,11 @@ "type": "raw", }, "clientiploggingheader": {"no_log": False, "type": "raw"}, + "cookieflags": { + "choices": ["all", "httpOnly", "none", "secure"], + "no_log": False, + "type": "raw", + }, "cookiepostencryptprefix": {"no_log": False, "type": "raw"}, "defaultprofile": {"no_log": False, "type": "raw"}, "entitydecoding": { @@ -8719,6 +8975,7 @@ "ceflogging", "centralizedlearning", "clientiploggingheader", + "cookieflags", "cookiepostencryptprefix", "defaultprofile", "entitydecoding", @@ -9538,7 +9795,7 @@ ], }, "auditnslogglobal_auditnslogpolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -9782,11 +10039,14 @@ "logfacility", "loglevel", "lsn", + "managementlog", "maxlogdatasizetohold", + "mgmtloglevel", "name", "netprofile", "serverport", "sslinterception", + "streamanalytics", "subscriberlog", "tcp", "tcpprofilename", @@ -9807,13 +10067,16 @@ "logfacility", "loglevel", "lsn", + "managementlog", "maxlogdatasizetohold", + "mgmtloglevel", "name", "netprofile", "serverdomainname", "serverip", "serverport", "sslinterception", + "streamanalytics", "subscriberlog", "tcp", "tcpprofilename", @@ -9885,7 +10148,28 @@ "type": "raw", }, "lsn": {"choices": ["DISABLED", "ENABLED"], "no_log": False, "type": "raw"}, + "managementlog": { + "choices": ["ACCESS", "ALL", "NONE", "NSMGMT", "SHELL"], + "no_log": False, + "type": "raw", + }, "maxlogdatasizetohold": {"no_log": False, "type": "raw"}, + "mgmtloglevel": { + "choices": [ + "ALERT", + "ALL", + "CRITICAL", + "DEBUG", + "EMERGENCY", + "ERROR", + "INFORMATIONAL", + "NONE", + "NOTICE", + "WARNING", + ], + "no_log": False, + "type": "raw", + }, "name": {"no_log": False, "type": "raw"}, "netprofile": {"no_log": False, "type": "raw"}, "serverdomainname": {"no_log": False, "type": "str"}, @@ -9896,6 +10180,11 @@ "no_log": False, "type": "raw", }, + "streamanalytics": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, "subscriberlog": { "choices": ["DISABLED", "ENABLED"], "no_log": False, @@ -9934,13 +10223,16 @@ "logfacility", "loglevel", "lsn", + "managementlog", "maxlogdatasizetohold", + "mgmtloglevel", "name", "netprofile", "serverdomainname", "serverip", "serverport", "sslinterception", + "streamanalytics", "subscriberlog", "tcp", "tcpprofilename", @@ -9950,7 +10242,7 @@ ], }, "auditsyslogglobal_auditsyslogpolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -10018,8 +10310,6 @@ "ISISRouting", "IntegratedCaching", "LB", - "LSN", - "LargeScaleNAT", "LoadBalancing", "NSPush", "NetScalerPush", @@ -10045,7 +10335,6 @@ "SYSTEM", "SureConnect", "SurgeProtection", - "URLFiltering", "VideoOptimization", "WL", "WebLogging", @@ -10092,6 +10381,7 @@ "serverip", "serverport", "sslinterception", + "streamanalytics", "subscriberlog", "tcp", "timezone", @@ -10167,6 +10457,11 @@ "no_log": False, "type": "raw", }, + "streamanalytics": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, "subscriberlog": { "choices": ["DISABLED", "ENABLED"], "no_log": False, @@ -10203,6 +10498,7 @@ "serverip", "serverport", "sslinterception", + "streamanalytics", "subscriberlog", "tcp", "timezone", @@ -11530,9 +11826,11 @@ "issuer", "metadataurl", "name", + "oauthmiscflags", "oauthtype", "pkce", "refreshinterval", + "requestattribute", "resourceuri", "skewtime", "tokenendpointauthmethod", @@ -11574,9 +11872,11 @@ "issuer", "metadataurl", "name", + "oauthmiscflags", "oauthtype", "pkce", "refreshinterval", + "requestattribute", "resourceuri", "skewtime", "tenantid", @@ -11641,8 +11941,16 @@ "issuer": {"no_log": False, "type": "raw"}, "metadataurl": {"no_log": False, "type": "raw"}, "name": {"no_log": False, "type": "raw"}, + "oauthmiscflags": { + "choices": [ + "Base64Encode_Authorization_With_Padding", + "EnableJWTRequest", + ], + "no_log": False, + "type": "raw", + }, "oauthtype": { - "choices": ["ATHENA", "GENERIC", "INTUNE"], + "choices": ["GENERIC", "INTUNE"], "no_log": False, "type": "raw", }, @@ -11652,6 +11960,7 @@ "type": "raw", }, "refreshinterval": {"no_log": False, "type": "raw"}, + "requestattribute": {"no_log": False, "type": "raw"}, "resourceuri": {"no_log": False, "type": "raw"}, "skewtime": {"no_log": False, "type": "raw"}, "tenantid": {"no_log": False, "type": "str"}, @@ -11704,9 +12013,11 @@ "issuer", "metadataurl", "name", + "oauthmiscflags", "oauthtype", "pkce", "refreshinterval", + "requestattribute", "resourceuri", "skewtime", "tenantid", @@ -11957,6 +12268,8 @@ "get", "get-byname", "rename", + "unset", + "update", ], "action_payload_keys": { "create": [], @@ -11965,7 +12278,7 @@ "link": [], "switch": [], "unlink": [], - "unset": [], + "unset": ["labelname", "loginschema"], }, "add_payload_keys": ["comment", "labelname", "loginschema", "type"], "bindings": ["authenticationpolicylabel_authenticationpolicy_binding"], @@ -11974,7 +12287,7 @@ "disable_payload_keys": [], "enable_payload_keys": [], "get_arg_keys": [], - "immutable_keys": ["comment", "labelname", "loginschema", "type"], + "immutable_keys": ["comment", "type"], "password_keys": [], "primary_key": "labelname", "primary_key_composite": [], @@ -11996,8 +12309,8 @@ "type": "dict", }, "comment": {"no_log": False, "type": "str"}, - "labelname": {"no_log": False, "type": "str"}, - "loginschema": {"no_log": False, "type": "str"}, + "labelname": {"no_log": False, "type": "raw"}, + "loginschema": {"no_log": False, "type": "raw"}, "newname": {"no_log": False, "type": "str"}, "type": { "choices": ["AAATM_REQ", "RBA_REQ"], @@ -12006,7 +12319,7 @@ }, }, "singleton": False, - "update_payload_keys": [], + "update_payload_keys": ["labelname", "loginschema"], }, "authenticationpolicylabel_authenticationpolicy_binding": { "_supported_operations": ["add", "count", "delete", "get-all", "get-byname"], @@ -12350,6 +12663,7 @@ "metadatarefreshinterval", "metadataurl", "name", + "preferredbindtype", "relaystaterule", "requestedauthncontext", "samlacsindex", @@ -12400,6 +12714,7 @@ "metadatarefreshinterval", "metadataurl", "name", + "preferredbindtype", "relaystaterule", "requestedauthncontext", "samlacsindex", @@ -12503,6 +12818,11 @@ "metadatarefreshinterval": {"no_log": False, "type": "raw"}, "metadataurl": {"no_log": False, "type": "raw"}, "name": {"no_log": False, "type": "raw"}, + "preferredbindtype": { + "choices": ["LOGOUTPOST", "SSOREDIRECT"], + "no_log": False, + "type": "raw", + }, "relaystaterule": {"no_log": False, "type": "raw"}, "requestedauthncontext": { "choices": ["better", "exact", "maximum", "minimum"], @@ -12519,7 +12839,7 @@ "samlissuername": {"no_log": False, "type": "raw"}, "samlredirecturl": {"no_log": False, "type": "raw"}, "samlrejectunsignedassertion": { - "choices": ["OFF", "ON", "STRICT"], + "choices": ["ON", "STRICT"], "no_log": False, "type": "raw", }, @@ -12578,6 +12898,7 @@ "metadatarefreshinterval", "metadataurl", "name", + "preferredbindtype", "relaystaterule", "requestedauthncontext", "samlacsindex", @@ -15801,7 +16122,7 @@ "update_payload_keys": [], }, "botglobal_botpolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -16064,6 +16385,7 @@ "switch": [], "unlink": [], "unset": [ + "addcookieflags", "bot_enable_black_list", "bot_enable_ip_reputation", "bot_enable_rate_limit", @@ -16094,6 +16416,7 @@ ], }, "add_payload_keys": [ + "addcookieflags", "bot_enable_black_list", "bot_enable_ip_reputation", "bot_enable_rate_limit", @@ -16143,6 +16466,11 @@ "primary_key": "name", "primary_key_composite": [], "readwrite_arguments": { + "addcookieflags": { + "choices": ["all", "httpOnly", "none", "secure"], + "no_log": False, + "type": "raw", + }, "bot_enable_black_list": { "choices": ["OFF", "ON"], "no_log": False, @@ -16373,6 +16701,7 @@ }, "singleton": False, "update_payload_keys": [ + "addcookieflags", "bot_enable_black_list", "bot_enable_ip_reputation", "bot_enable_rate_limit", @@ -16747,8 +17076,10 @@ "bot_rate_limit_type", "bot_rate_limit_url", "bot_ratelimit", + "condition", "cookiename", "countrycode", + "limittype", "logmessage", "name", "rate", @@ -16759,6 +17090,7 @@ "bot_rate_limit_type", "bot_rate_limit_url", "bot_ratelimit", + "condition", "cookiename", "countrycode", ], @@ -16768,6 +17100,7 @@ "bot_rate_limit_type", "bot_rate_limit_url", "bot_ratelimit", + "condition", "cookiename", "countrycode", ], @@ -16778,8 +17111,10 @@ "bot_rate_limit_type", "bot_rate_limit_url", "bot_ratelimit", + "condition", "cookiename", "countrycode", + "limittype", "logmessage", "name", "rate", @@ -16791,7 +17126,14 @@ "readwrite_arguments": { "bot_bind_comment": {"no_log": False, "type": "str"}, "bot_rate_limit_action": { - "choices": ["DROP", "LOG", "NONE", "REDIRECT", "RESET"], + "choices": [ + "DROP", + "LOG", + "NONE", + "REDIRECT", + "RESET", + "RESPOND_STATUS_TOO_MANY_REQUESTS", + ], "elements": "str", "no_log": False, "type": "list", @@ -16814,6 +17156,7 @@ }, "bot_rate_limit_url": {"no_log": False, "type": "str"}, "bot_ratelimit": {"no_log": False, "type": "bool"}, + "condition": {"no_log": False, "type": "str"}, "cookiename": {"no_log": False, "type": "str"}, "countrycode": { "choices": [ @@ -17070,6 +17413,11 @@ "no_log": False, "type": "str", }, + "limittype": { + "choices": ["BURSTY", "SMOOTH"], + "no_log": False, + "type": "str", + }, "logmessage": {"no_log": False, "type": "str"}, "name": {"no_log": False, "type": "str"}, "rate": {"no_log": False, "type": "float"}, @@ -17866,7 +18214,7 @@ "update_payload_keys": [], }, "cacheglobal_cachepolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -18350,7 +18698,11 @@ "emailaddress": {"no_log": False, "type": "raw"}, "hbcustominterval": {"no_log": False, "type": "raw"}, "ipaddress": {"no_log": False, "type": "raw"}, - "mode": {"choices": ["CSP", "Default"], "no_log": False, "type": "raw"}, + "mode": { + "choices": ["CSP", "Connector", "Default"], + "no_log": False, + "type": "raw", + }, "nodeid": {"no_log": False, "type": "float"}, "port": {"no_log": False, "type": "raw"}, "proxyauthservice": {"no_log": False, "type": "raw"}, @@ -18367,6 +18719,27 @@ "proxymode", ], }, + "change_password": { + "_supported_operations": ["add", "update"], + "add_payload_keys": ["username", "password", "new_password", "first_boot"], + "bindings": [], + "bindprimary_key": "", + "delete_arg_keys": [], + "disable_payload_keys": [], + "enable_payload_keys": [], + "get_arg_keys": [], + "immutable_keys": ["username", "password", "new_password"], + "primary_key": "", + "primary_key_composite": [], + "readwrite_arguments": { + "first_boot": {"no_log": False, "required": True, "type": "bool"}, + "new_password": {"no_log": True, "required": True, "type": "str"}, + "password": {"no_log": True, "required": True, "type": "str"}, + "username": {"no_log": True, "required": True, "type": "str"}, + }, + "singleton": False, + "update_payload_keys": [], + }, "channel": { "_supported_operations": [ "add", @@ -18816,17 +19189,20 @@ "boundservicegroupsvctype": { "choices": [ "ADNS", + "ADNS_DOT", "ADNS_TCP", "ANY", "DHCPRA", "DIAMETER", "DNS", "DNS_TCP", + "DOT", "DTLS", "FIX", "FTP", "GRE", "HTTP", + "HTTP_QUIC", "IPFIX", "LOGSTREAM", "LOGSTREAM_SSL", @@ -18880,6 +19256,7 @@ "DIAMETER", "DNS", "DNS_TCP", + "DOT", "DTLS", "FIX", "FTP", @@ -18910,6 +19287,7 @@ "SSL_BRIDGE", "SSL_DIAMETER", "SSL_FIX", + "SSL_PROXY", "SSL_PUSH", "SSL_TCP", "SYSLOGTCP", @@ -18934,6 +19312,32 @@ "singleton": False, "update_payload_keys": [], }, + "cloudservice": { + "_supported_operations": ["check"], + "action_payload_keys": { + "create": [], + "force": [], + "import": [], + "link": [], + "switch": [], + "unlink": [], + "unset": [], + }, + "add_payload_keys": [], + "bindings": [], + "bindprimary_key": "", + "delete_arg_keys": [], + "disable_payload_keys": [], + "enable_payload_keys": [], + "get_arg_keys": [], + "immutable_keys": [], + "password_keys": [], + "primary_key": "", + "primary_key_composite": [], + "readwrite_arguments": {}, + "singleton": True, + "update_payload_keys": [], + }, "cloudtunnelparameter": { "_supported_operations": ["get", "unset", "update"], "action_payload_keys": { @@ -19319,6 +19723,7 @@ "processlocal", "quorumtype", "retainconnectionsoncluster", + "secureheartbeats", "syncstatusstrictmode", ], }, @@ -19334,6 +19739,7 @@ "processlocal", "quorumtype", "retainconnectionsoncluster", + "secureheartbeats", "syncstatusstrictmode", ], "bindings": [], @@ -19387,6 +19793,11 @@ "no_log": False, "type": "raw", }, + "secureheartbeats": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, "syncstatusstrictmode": { "choices": ["DISABLED", "ENABLED"], "no_log": False, @@ -19407,6 +19818,7 @@ "processlocal", "quorumtype", "retainconnectionsoncluster", + "secureheartbeats", "syncstatusstrictmode", ], }, @@ -19453,7 +19865,7 @@ "clusternodegroup_vpnvserver_binding", ], "bindprimary_key": "", - "delete_arg_keys": ["clearnodegroupconfig"], + "delete_arg_keys": ["clearnodegroupconfig", "force"], "disable_payload_keys": [], "enable_payload_keys": [], "get_arg_keys": [], @@ -19661,6 +20073,7 @@ "type": "dict", }, "delay": {"no_log": False, "type": "raw"}, + "force": {"no_log": False, "type": "bool"}, "ipaddress": {"no_log": False, "type": "str"}, "nodegroup": {"no_log": False, "type": "str"}, "nodeid": {"no_log": False, "type": "raw"}, @@ -20325,7 +20738,7 @@ "update_payload_keys": ["addvaryheader", "cmptype", "name", "varyheadervalue"], }, "cmpglobal_cmppolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -20773,7 +21186,7 @@ ], }, "contentinspectionglobal_contentinspectionpolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -22852,6 +23265,7 @@ "switch": [], "unlink": [], "unset": [ + "apiprofile", "appflowlog", "authentication", "authenticationhost", @@ -22918,6 +23332,7 @@ ], }, "add_payload_keys": [ + "apiprofile", "appflowlog", "authentication", "authenticationhost", @@ -23033,6 +23448,7 @@ "primary_key": "name", "primary_key_composite": [], "readwrite_arguments": { + "apiprofile": {"no_log": False, "type": "raw"}, "appflowlog": { "choices": ["DISABLED", "ENABLED"], "no_log": False, @@ -23518,6 +23934,7 @@ "DIAMETER", "DNS", "DNS_TCP", + "DOT", "FTP", "HTTP", "HTTP_QUIC", @@ -23538,6 +23955,7 @@ "SMPP", "SSL", "SSL_DIAMETER", + "SSL_PROXY", "SSL_TCP", "TCP", "UDP", @@ -23585,6 +24003,7 @@ }, "singleton": False, "update_payload_keys": [ + "apiprofile", "appflowlog", "authentication", "authenticationhost", @@ -25365,7 +25784,7 @@ "update_payload_keys": [], }, "dnsglobal_dnspolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -25459,21 +25878,26 @@ "switch": [], "unlink": [], "unset": [ + "autorollover", "expires", "keyname", "notificationperiod", + "rollovermethod", "ttl", "units1", "units2", ], }, "add_payload_keys": [ + "autorollover", "expires", "keyname", "notificationperiod", "password", "privatekey", "publickey", + "revoke", + "rollovermethod", "ttl", "units1", "units2", @@ -25494,6 +25918,11 @@ "no_log": False, "type": "str", }, + "autorollover": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, "expires": {"no_log": False, "type": "raw"}, "filenameprefix": {"no_log": False, "type": "str"}, "keyname": {"no_log": False, "type": "raw"}, @@ -25507,6 +25936,12 @@ "password": {"no_log": True, "type": "str"}, "privatekey": {"no_log": False, "type": "str"}, "publickey": {"no_log": False, "type": "str"}, + "revoke": {"no_log": False, "type": "bool"}, + "rollovermethod": { + "choices": ["DoubleRRSet", "DoubleSignature", "PrePublication"], + "no_log": False, + "type": "raw", + }, "src": {"no_log": False, "type": "str"}, "ttl": {"no_log": False, "type": "raw"}, "units1": { @@ -25523,9 +25958,12 @@ }, "singleton": False, "update_payload_keys": [ + "autorollover", "expires", "keyname", "notificationperiod", + "revoke", + "rollovermethod", "ttl", "units1", "units2", @@ -25746,6 +26184,7 @@ "switch": [], "unlink": [], "unset": [ + "autosavekeyops", "cacheecszeroprefix", "cachehitbypass", "cachenoexpire", @@ -25767,6 +26206,7 @@ "resolutionorder", "retries", "splitpktqueryprocessing", + "zonetransfer", ], }, "add_payload_keys": [], @@ -25781,6 +26221,11 @@ "primary_key": "", "primary_key_composite": [], "readwrite_arguments": { + "autosavekeyops": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, "cacheecszeroprefix": { "choices": ["DISABLED", "ENABLED"], "no_log": False, @@ -25843,9 +26288,15 @@ "no_log": False, "type": "raw", }, + "zonetransfer": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, }, "singleton": True, "update_payload_keys": [ + "autosavekeyops", "cacheecszeroprefix", "cachehitbypass", "cachenoexpire", @@ -25867,6 +26318,7 @@ "resolutionorder", "retries", "splitpktqueryprocessing", + "zonetransfer", ], }, "dnspolicy": { @@ -26099,6 +26551,10 @@ "dnsprofilename", "dnsquerylogging", "dropmultiqueryrequest", + "insertecs", + "maxcacheableecsprefixlength", + "maxcacheableecsprefixlength6", + "replaceecs", ], }, "add_payload_keys": [ @@ -26111,6 +26567,10 @@ "dnsprofilename", "dnsquerylogging", "dropmultiqueryrequest", + "insertecs", + "maxcacheableecsprefixlength", + "maxcacheableecsprefixlength6", + "replaceecs", ], "bindings": [], "bindprimary_key": "", @@ -26164,6 +26624,18 @@ "no_log": False, "type": "raw", }, + "insertecs": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, + "maxcacheableecsprefixlength": {"no_log": False, "type": "raw"}, + "maxcacheableecsprefixlength6": {"no_log": False, "type": "raw"}, + "replaceecs": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, }, "singleton": False, "update_payload_keys": [ @@ -26176,6 +26648,10 @@ "dnsprofilename", "dnsquerylogging", "dropmultiqueryrequest", + "insertecs", + "maxcacheableecsprefixlength", + "maxcacheableecsprefixlength6", + "replaceecs", ], }, "dnsproxyrecords": { @@ -26777,7 +27253,7 @@ ], }, "feoglobal_feopolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -27388,7 +27864,6 @@ "port", "servername", "servicetype", - "sitename", "svrtimeout", ], "password_keys": [], @@ -27554,6 +28029,7 @@ "publicip", "publicport", "servicename", + "sitename", "sitepersistence", "siteprefix", "viewip", @@ -27710,7 +28186,6 @@ "autoscale", "nodefaultbindings", "servicetype", - "sitename", ], "password_keys": [], "primary_key": "servicegroupname", @@ -27844,6 +28319,7 @@ "publicport", "servername", "servicegroupname", + "sitename", "sitepersistence", "siteprefix", "svrtimeout", @@ -27980,6 +28456,7 @@ "delete", "get", "get-byname", + "rename", "unset", "update", ], @@ -28012,6 +28489,7 @@ "sessionexchange", "siteipaddress", "sitename", + "sitepassword", "sitetype", "triggermonitor", ], @@ -28021,15 +28499,8 @@ "disable_payload_keys": [], "enable_payload_keys": [], "get_arg_keys": [], - "immutable_keys": [ - "clip", - "parentsite", - "publicclip", - "publicip", - "siteipaddress", - "sitetype", - ], - "password_keys": [], + "immutable_keys": ["clip", "publicclip", "sitepassword", "sitetype"], + "password_keys": ["sitepassword"], "primary_key": "sitename", "primary_key_composite": [], "readwrite_arguments": { @@ -28041,6 +28512,7 @@ "type": "raw", }, "naptrreplacementsuffix": {"no_log": False, "type": "raw"}, + "newname": {"no_log": False, "type": "str"}, "nwmetricexchange": { "choices": ["DISABLED", "ENABLED"], "no_log": False, @@ -28056,6 +28528,7 @@ }, "siteipaddress": {"no_log": False, "type": "str"}, "sitename": {"no_log": False, "type": "raw"}, + "sitepassword": {"no_log": True, "type": "str"}, "sitetype": { "choices": ["LOCAL", "REMOTE"], "no_log": False, @@ -28073,7 +28546,10 @@ "metricexchange", "naptrreplacementsuffix", "nwmetricexchange", + "parentsite", + "publicip", "sessionexchange", + "siteipaddress", "sitename", "triggermonitor", ], @@ -28773,15 +29249,15 @@ "syncvlan", ], }, - "add_payload_keys": ["id", "inc", "ipaddress"], + "add_payload_keys": ["id", "inc", "ipaddress", "rpcnodepassword"], "bindings": ["hanode_routemonitor6_binding", "hanode_routemonitor_binding"], "bindprimary_key": "", "delete_arg_keys": [], "disable_payload_keys": [], "enable_payload_keys": [], "get_arg_keys": [], - "immutable_keys": ["inc", "ipaddress"], - "password_keys": [], + "immutable_keys": ["inc", "ipaddress", "rpcnodepassword"], + "password_keys": ["rpcnodepassword"], "primary_key": "id", "primary_key_composite": [], "readwrite_arguments": { @@ -28840,6 +29316,7 @@ "ipaddress": {"no_log": False, "type": "str"}, "maxflips": {"no_log": False, "type": "raw"}, "maxfliptime": {"no_log": False, "type": "raw"}, + "rpcnodepassword": {"no_log": True, "type": "str"}, "syncstatusstrictmode": { "choices": ["DISABLED", "ENABLED"], "no_log": False, @@ -28972,11 +29449,16 @@ "clientcomportredirection", "clientdriveredirection", "clientprinterredirection", + "clienttwaindeviceredirection", "clientusbdriveredirection", "connectclientlptports", + "draganddrop", + "fido2redirection", "localremotedatasharing", "multistream", "name", + "smartcardredirection", + "wiaredirection", ], }, "add_payload_keys": [ @@ -28985,11 +29467,16 @@ "clientcomportredirection", "clientdriveredirection", "clientprinterredirection", + "clienttwaindeviceredirection", "clientusbdriveredirection", "connectclientlptports", + "draganddrop", + "fido2redirection", "localremotedatasharing", "multistream", "name", + "smartcardredirection", + "wiaredirection", ], "bindings": [], "bindprimary_key": "", @@ -29027,6 +29514,11 @@ "no_log": False, "type": "raw", }, + "clienttwaindeviceredirection": { + "choices": ["DEFAULT", "DISABLED"], + "no_log": False, + "type": "raw", + }, "clientusbdriveredirection": { "choices": ["DEFAULT", "DISABLED"], "no_log": False, @@ -29037,6 +29529,16 @@ "no_log": False, "type": "raw", }, + "draganddrop": { + "choices": ["DEFAULT", "DISABLED"], + "no_log": False, + "type": "raw", + }, + "fido2redirection": { + "choices": ["DEFAULT", "DISABLED"], + "no_log": False, + "type": "raw", + }, "localremotedatasharing": { "choices": ["DEFAULT", "DISABLED"], "no_log": False, @@ -29048,6 +29550,16 @@ "type": "raw", }, "name": {"no_log": False, "type": "raw"}, + "smartcardredirection": { + "choices": ["DEFAULT", "DISABLED"], + "no_log": False, + "type": "raw", + }, + "wiaredirection": { + "choices": ["DEFAULT", "DISABLED"], + "no_log": False, + "type": "raw", + }, }, "singleton": False, "update_payload_keys": [ @@ -29056,11 +29568,16 @@ "clientcomportredirection", "clientdriveredirection", "clientprinterredirection", + "clienttwaindeviceredirection", "clientusbdriveredirection", "connectclientlptports", + "draganddrop", + "fido2redirection", "localremotedatasharing", "multistream", "name", + "smartcardredirection", + "wiaredirection", ], }, "icaaction": { @@ -29104,7 +29621,7 @@ "update_payload_keys": ["accessprofilename", "latencyprofilename", "name"], }, "icaglobal_icapolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -29228,8 +29745,10 @@ "switch": [], "unlink": [], "unset": [ + "edtlossy", "edtpmtuddf", "edtpmtuddftimeout", + "edtpmtudrediscovery", "enablesronhafailover", "hdxinsightnonnsap", "l7latencyfrequency", @@ -29247,12 +29766,22 @@ "primary_key": "", "primary_key_composite": [], "readwrite_arguments": { + "edtlossy": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, "edtpmtuddf": { "choices": ["DISABLED", "ENABLED"], "no_log": False, "type": "raw", }, "edtpmtuddftimeout": {"no_log": False, "type": "raw"}, + "edtpmtudrediscovery": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, "enablesronhafailover": { "choices": ["NO", "YES"], "no_log": False, @@ -29267,8 +29796,10 @@ }, "singleton": True, "update_payload_keys": [ + "edtlossy", "edtpmtuddf", "edtpmtuddftimeout", + "edtpmtudrediscovery", "enablesronhafailover", "hdxinsightnonnsap", "l7latencyfrequency", @@ -29503,6 +30034,155 @@ "singleton": True, "update_payload_keys": [], }, + "interface": { + "_supported_operations": [ + "clear", + "count", + "disable", + "enable", + "get", + "get-byname", + "reset", + "unset", + "update", + ], + "action_payload_keys": { + "create": [], + "force": [], + "import": [], + "link": [], + "switch": [], + "unlink": [], + "unset": [ + "autoneg", + "bandwidthhigh", + "bandwidthnormal", + "duplex", + "flowctl", + "haheartbeat", + "hamonitor", + "id", + "ifalias", + "lacpmode", + "lacppriority", + "lacptimeout", + "linkredundancy", + "lldpmode", + "lrsetpriority", + "mtu", + "ringsize", + "ringtype", + "speed", + "tagall", + "throughput", + "trunkallowedvlan", + "trunkmode", + ], + }, + "add_payload_keys": [], + "bindings": [], + "bindprimary_key": "", + "delete_arg_keys": [], + "disable_payload_keys": ["id"], + "enable_payload_keys": ["id"], + "get_arg_keys": [], + "immutable_keys": [], + "password_keys": [], + "primary_key": "id", + "primary_key_composite": [], + "readwrite_arguments": { + "autoneg": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, + "bandwidthhigh": {"no_log": False, "type": "raw"}, + "bandwidthnormal": {"no_log": False, "type": "raw"}, + "duplex": { + "choices": ["AUTO", "FULL", "HALF"], + "no_log": False, + "type": "raw", + }, + "flowctl": { + "choices": ["OFF", "ON", "RX", "RXTX", "TX"], + "no_log": False, + "type": "raw", + }, + "haheartbeat": {"choices": ["OFF", "ON"], "no_log": False, "type": "raw"}, + "hamonitor": {"choices": ["OFF", "ON"], "no_log": False, "type": "raw"}, + "id": {"no_log": False, "type": "raw"}, + "ifalias": {"no_log": False, "type": "raw"}, + "lacpkey": {"no_log": False, "type": "float"}, + "lacpmode": { + "choices": ["ACTIVE", "DISABLED", "PASSIVE"], + "no_log": False, + "type": "raw", + }, + "lacppriority": {"no_log": False, "type": "raw"}, + "lacptimeout": { + "choices": ["LONG", "SHORT"], + "no_log": False, + "type": "raw", + }, + "lagtype": {"choices": ["CLUSTER", "NODE"], "no_log": False, "type": "str"}, + "linkredundancy": { + "choices": ["OFF", "ON"], + "no_log": False, + "type": "raw", + }, + "lldpmode": { + "choices": ["NONE", "RECEIVER", "TRANSCEIVER", "TRANSMITTER"], + "no_log": False, + "type": "raw", + }, + "lrsetpriority": {"no_log": False, "type": "raw"}, + "mtu": {"no_log": False, "type": "raw"}, + "ringsize": {"no_log": False, "type": "raw"}, + "ringtype": { + "choices": ["Elastic", "Fixed"], + "no_log": False, + "type": "raw", + }, + "speed": { + "choices": ["AUTO", 10, 100, 1000, 10000, 25000, 40000, 50000, 100000], + "no_log": False, + "type": "raw", + }, + "tagall": {"choices": ["OFF", "ON"], "no_log": False, "type": "raw"}, + "throughput": {"no_log": False, "type": "raw"}, + "trunk": {"choices": ["OFF", "ON"], "no_log": False, "type": "str"}, + "trunkallowedvlan": {"no_log": False, "type": "raw"}, + "trunkmode": {"choices": ["OFF", "ON"], "no_log": False, "type": "raw"}, + }, + "singleton": False, + "update_payload_keys": [ + "autoneg", + "bandwidthhigh", + "bandwidthnormal", + "duplex", + "flowctl", + "haheartbeat", + "hamonitor", + "id", + "ifalias", + "lacpkey", + "lacpmode", + "lacppriority", + "lacptimeout", + "lagtype", + "linkredundancy", + "lldpmode", + "lrsetpriority", + "mtu", + "ringsize", + "ringtype", + "speed", + "tagall", + "throughput", + "trunkallowedvlan", + "trunkmode", + ], + }, "interfacepair": { "_supported_operations": ["add", "count", "delete", "get", "get-byname"], "action_payload_keys": { @@ -30362,6 +31042,7 @@ "forwardicmpfragments", "icmpgenratethreshold", "implicitaclallow", + "implicitpbr", "ipv6dynamicrouting", "miproundrobin", "overridernat", @@ -30419,6 +31100,11 @@ "no_log": False, "type": "raw", }, + "implicitpbr": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, "ipv6dynamicrouting": { "choices": ["DISABLED", "ENABLED"], "no_log": False, @@ -30461,6 +31147,7 @@ "forwardicmpfragments", "icmpgenratethreshold", "implicitaclallow", + "implicitpbr", "ipv6dynamicrouting", "miproundrobin", "overridernat", @@ -30589,7 +31276,7 @@ "update_payload_keys": ["comment", "name", "value"], }, "lbglobal_lbpolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -31330,6 +32017,7 @@ "DIAMETER", "DNS", "DNS-TCP", + "DTLS", "FTP", "FTP-EXTENDED", "HTTP", @@ -31350,6 +32038,7 @@ "ORACLE-ECV", "PING", "POP3", + "QUIC", "RADIUS", "RADIUS_ACCOUNTING", "RTSP", @@ -31608,6 +32297,7 @@ "monitorconnectionclose", "monitorskipmaxclient", "preferdirectroute", + "proximityfromself", "retainservicestate", "startuprrfactor", "storemqttclientidandusername", @@ -31676,6 +32366,11 @@ "no_log": False, "type": "raw", }, + "proximityfromself": { + "choices": ["NO", "YES"], + "no_log": False, + "type": "raw", + }, "retainservicestate": { "choices": ["OFF", "ON"], "no_log": False, @@ -31725,6 +32420,7 @@ "monitorconnectionclose", "monitorskipmaxclient", "preferdirectroute", + "proximityfromself", "retainservicestate", "startuprrfactor", "storemqttclientidandusername", @@ -31991,6 +32687,7 @@ "lbprofilename", "literaladccookieattribute", "processlocal", + "proximityfromself", "storemqttclientidandusername", "useencryptedpersistencecookie", "usesecuredpersistencecookie", @@ -32006,6 +32703,7 @@ "lbprofilename", "literaladccookieattribute", "processlocal", + "proximityfromself", "storemqttclientidandusername", "useencryptedpersistencecookie", "usesecuredpersistencecookie", @@ -32046,6 +32744,11 @@ "no_log": False, "type": "raw", }, + "proximityfromself": { + "choices": ["NO", "YES"], + "no_log": False, + "type": "raw", + }, "storemqttclientidandusername": { "choices": ["NO", "YES"], "no_log": False, @@ -32073,6 +32776,7 @@ "lbprofilename", "literaladccookieattribute", "processlocal", + "proximityfromself", "storemqttclientidandusername", "useencryptedpersistencecookie", "usesecuredpersistencecookie", @@ -32215,6 +32919,7 @@ "unlink": [], "unset": [ "adfsproxyprofile", + "apiprofile", "appflowlog", "authentication", "authenticationhost", @@ -32308,6 +33013,7 @@ }, "add_payload_keys": [ "adfsproxyprofile", + "apiprofile", "appflowlog", "authentication", "authenticationhost", @@ -32444,6 +33150,7 @@ "primary_key_composite": [], "readwrite_arguments": { "adfsproxyprofile": {"no_log": False, "type": "raw"}, + "apiprofile": {"no_log": False, "type": "raw"}, "appflowlog": { "choices": ["DISABLED", "ENABLED"], "no_log": False, @@ -33050,6 +33757,7 @@ "DIAMETER", "DNS", "DNS_TCP", + "DOT", "DTLS", "FIX", "FTP", @@ -33080,6 +33788,7 @@ "SSL_BRIDGE", "SSL_DIAMETER", "SSL_FIX", + "SSL_PROXY", "SSL_PUSH", "SSL_TCP", "SYSLOGTCP", @@ -33149,6 +33858,7 @@ "singleton": False, "update_payload_keys": [ "adfsproxyprofile", + "apiprofile", "appflowlog", "authentication", "authenticationhost", @@ -35059,6 +35769,41 @@ "q6label", ], }, + "login": { + "_supported_operations": ["add"], + "add_payload_keys": ["username", "password"], + "bindings": [], + "bindprimary_key": "", + "delete_arg_keys": [], + "disable_payload_keys": [], + "enable_payload_keys": [], + "get_arg_keys": [], + "immutable_keys": ["username", "password"], + "primary_key": "", + "primary_key_composite": [], + "readwrite_arguments": { + "password": {"no_log": True, "required": True, "type": "str"}, + "username": {"no_log": True, "required": True, "type": "str"}, + }, + "singleton": False, + "update_payload_keys": [], + }, + "logout": { + "_supported_operations": ["add"], + "add_payload_keys": [], + "bindings": [], + "bindprimary_key": "", + "delete_arg_keys": [], + "disable_payload_keys": [], + "enable_payload_keys": [], + "get_arg_keys": [], + "immutable_keys": [], + "primary_key": "", + "primary_key_composite": [], + "readwrite_arguments": {}, + "singleton": False, + "update_payload_keys": [], + }, "lsnappsattributes": { "_supported_operations": [ "add", @@ -37002,6 +37747,88 @@ "singleton": False, "update_payload_keys": [], }, + "metricsprofile": { + "_supported_operations": [ + "add", + "count", + "delete", + "get", + "get-byname", + "unset", + "update", + ], + "action_payload_keys": { + "create": [], + "force": [], + "import": [], + "link": [], + "switch": [], + "unlink": [], + "unset": [ + "collector", + "metrics", + "metricsauthtoken", + "metricsendpointurl", + "metricsexportfrequency", + "name", + "outputmode", + "schemafile", + "servemode", + ], + }, + "add_payload_keys": [ + "collector", + "metrics", + "metricsauthtoken", + "metricsendpointurl", + "metricsexportfrequency", + "name", + "outputmode", + "schemafile", + "servemode", + ], + "bindings": [], + "bindprimary_key": "", + "delete_arg_keys": [], + "disable_payload_keys": [], + "enable_payload_keys": [], + "get_arg_keys": [], + "immutable_keys": [], + "password_keys": ["metricsauthtoken"], + "primary_key": "name", + "primary_key_composite": [], + "readwrite_arguments": { + "collector": {"no_log": False, "type": "raw"}, + "metrics": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, + "metricsauthtoken": {"no_log": True, "type": "raw"}, + "metricsendpointurl": {"no_log": False, "type": "raw"}, + "metricsexportfrequency": {"no_log": False, "type": "raw"}, + "name": {"no_log": False, "type": "raw"}, + "outputmode": { + "choices": ["avro", "influx", "json", "prometheus"], + "no_log": False, + "type": "raw", + }, + "schemafile": {"no_log": False, "type": "raw"}, + "servemode": {"choices": ["Pull", "Push"], "no_log": False, "type": "raw"}, + }, + "singleton": False, + "update_payload_keys": [ + "collector", + "metrics", + "metricsauthtoken", + "metricsendpointurl", + "metricsexportfrequency", + "name", + "outputmode", + "schemafile", + "servemode", + ], + }, "nat64": { "_supported_operations": [ "add", @@ -37684,6 +38511,689 @@ "singleton": False, "update_payload_keys": [], }, + "nsacl": { + "_supported_operations": [ + "add", + "count", + "delete", + "disable", + "enable", + "get", + "get-byname", + "rename", + "unset", + "update", + ], + "action_payload_keys": { + "create": [], + "force": [], + "import": [], + "link": [], + "switch": [], + "unlink": [], + "unset": [ + "aclname", + "destip", + "destport", + "dfdhash", + "established", + "icmpcode", + "icmptype", + "interface", + "logstate", + "protocol", + "ratelimit", + "srcip", + "srcmac", + "srcmacmask", + "srcport", + "stateful", + "vlan", + "vxlan", + ], + }, + "add_payload_keys": [ + "aclaction", + "aclname", + "destip", + "destipdataset", + "destipop", + "destipval", + "destport", + "destportdataset", + "destportop", + "destportval", + "dfdhash", + "established", + "icmpcode", + "icmptype", + "interface", + "logstate", + "priority", + "protocol", + "protocolnumber", + "ratelimit", + "srcip", + "srcipdataset", + "srcipop", + "srcipval", + "srcmac", + "srcmacmask", + "srcport", + "srcportdataset", + "srcportop", + "srcportval", + "stateful", + "td", + "ttl", + "type", + "vlan", + "vxlan", + ], + "bindings": [], + "bindprimary_key": "", + "delete_arg_keys": [], + "disable_payload_keys": ["aclname"], + "enable_payload_keys": ["aclname"], + "get_arg_keys": ["type"], + "immutable_keys": [ + "destipdataset", + "destportdataset", + "srcipdataset", + "srcportdataset", + "td", + "ttl", + "type", + ], + "password_keys": [], + "primary_key": "aclname", + "primary_key_composite": [], + "readwrite_arguments": { + "aclaction": { + "choices": ["ALLOW", "BRIDGE", "DENY"], + "no_log": False, + "type": "str", + }, + "aclname": {"no_log": False, "type": "raw"}, + "destip": {"no_log": False, "type": "raw"}, + "destipdataset": {"no_log": False, "type": "str"}, + "destipop": { + "choices": ["!=", "=", "EQ", "NEQ"], + "no_log": False, + "type": "str", + }, + "destipval": {"no_log": False, "type": "str"}, + "destport": {"no_log": False, "type": "raw"}, + "destportdataset": {"no_log": False, "type": "str"}, + "destportop": { + "choices": ["!=", "=", "EQ", "NEQ"], + "no_log": False, + "type": "str", + }, + "destportval": {"no_log": False, "type": "str"}, + "dfdhash": { + "choices": [ + "DIP", + "DIP-DPORT", + "SIP", + "SIP-DIP", + "SIP-SPORT", + "SIP-SPORT-DIP-DPORT", + ], + "no_log": False, + "type": "raw", + }, + "established": {"no_log": False, "type": "raw"}, + "icmpcode": {"no_log": False, "type": "raw"}, + "icmptype": {"no_log": False, "type": "raw"}, + "interface": {"no_log": False, "type": "raw"}, + "logstate": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, + "newname": {"no_log": False, "type": "str"}, + "priority": {"no_log": False, "type": "float"}, + "protocol": { + "choices": [ + "3PC", + "A/N", + "AH", + "ARGUS", + "ARIS", + "AX.25", + "Any-0-Hop-Protocol", + "Any-Distributed-File-System", + "Any-Host-Internal-Protocol", + "Any-Local-Network", + "Any-Private-Encryption-Scheme", + "BBN-RCC-M", + "BNA", + "BR-SAT-MO", + "CBT", + "CFTP", + "CHAOS", + "CPHB", + "CPNX", + "CRTP", + "CRUDP", + "Compaq-Pe", + "DCN-MEAS", + "DDP", + "DDX", + "DGP", + "EGP", + "EIGRP", + "EMCON", + "ENCAP", + "ESP", + "ETHERIP", + "FC", + "FIRE", + "GGP", + "GMTP", + "GRE", + "HMP", + "I-NLSP", + "IATP", + "ICMP", + "ICMPV6", + "IDPR", + "IDPR-CMTP", + "IDRP", + "IFMP", + "IGMP", + "IGP", + "IL", + "IPCV", + "IPComp", + "IPIP", + "IPLT", + "IPPC", + "IPX-in-IP", + "IPoverIP", + "IPv6", + "IPv6-Frag", + "IPv6-NoNx", + "IPv6-Opts", + "IPv6-Route", + "IRTP", + "ISIS", + "ISO-IP", + "ISO-TP4", + "KRYPTOLAN", + "L2TP", + "LARP", + "LEAF-1", + "LEAF-2", + "MERIT-INP", + "MFE-NSP", + "MHRP", + "MICP", + "MOBILE", + "MTP", + "MUX", + "Mobility-Header", + "NARP", + "NETBLT", + "NSFNET-IG", + "NVP-II", + "OSPFIGP", + "PGM", + "PIM", + "PIPE", + "PNNI", + "PRM", + "PTP", + "PUP", + "PVP", + "QNX", + "RDP", + "RSVP", + "RSVP-E2E-IGNORE", + "RVD", + "SAT-EXPAK", + "SCC-SP", + "SCPS", + "SCTP", + "SDRP", + "SECURE-VM", + "SEP", + "SKIP", + "SM", + "SMP", + "SNP", + "SPS", + "SRP", + "SSCOPMCE", + "ST", + "STP", + "SUN-ND", + "SWIPE", + "Sprite-RP", + "TCF", + "TCP", + "TFTP", + "TLSP", + "TP++", + "TRUNK-1", + "TRUNK-2", + "TTP", + "UDP", + "UDPLite", + "UTI", + "VINES", + "VISA", + "VMTP", + "VRRP", + "WB-EXPAK", + "WB-MON", + "WSN", + "XNET", + "XNS-IDP", + "XTP", + ], + "no_log": False, + "type": "raw", + }, + "protocolnumber": {"no_log": False, "type": "float"}, + "ratelimit": {"no_log": False, "type": "raw"}, + "srcip": {"no_log": False, "type": "raw"}, + "srcipdataset": {"no_log": False, "type": "str"}, + "srcipop": { + "choices": ["!=", "=", "EQ", "NEQ"], + "no_log": False, + "type": "str", + }, + "srcipval": {"no_log": False, "type": "str"}, + "srcmac": {"no_log": False, "type": "raw"}, + "srcmacmask": {"no_log": False, "type": "raw"}, + "srcport": {"no_log": False, "type": "raw"}, + "srcportdataset": {"no_log": False, "type": "str"}, + "srcportop": { + "choices": ["!=", "=", "EQ", "NEQ"], + "no_log": False, + "type": "str", + }, + "srcportval": {"no_log": False, "type": "str"}, + "stateful": {"choices": ["NO", "YES"], "no_log": False, "type": "raw"}, + "td": {"no_log": False, "type": "float"}, + "ttl": {"no_log": False, "type": "float"}, + "type": {"choices": ["CLASSIC", "DFD"], "no_log": False, "type": "str"}, + "vlan": {"no_log": False, "type": "raw"}, + "vxlan": {"no_log": False, "type": "raw"}, + }, + "singleton": False, + "update_payload_keys": [ + "aclaction", + "aclname", + "destip", + "destipop", + "destipval", + "destport", + "destportop", + "destportval", + "dfdhash", + "established", + "icmpcode", + "icmptype", + "interface", + "logstate", + "priority", + "protocol", + "protocolnumber", + "ratelimit", + "srcip", + "srcipop", + "srcipval", + "srcmac", + "srcmacmask", + "srcport", + "srcportop", + "srcportval", + "stateful", + "vlan", + "vxlan", + ], + }, + "nsacl6": { + "_supported_operations": [ + "add", + "count", + "delete", + "disable", + "enable", + "get", + "get-byname", + "rename", + "unset", + "update", + ], + "action_payload_keys": { + "create": [], + "force": [], + "import": [], + "link": [], + "switch": [], + "unlink": [], + "unset": [ + "acl6name", + "destipv6", + "destport", + "dfdhash", + "dfdprefix", + "established", + "icmpcode", + "icmptype", + "interface", + "logstate", + "protocol", + "ratelimit", + "srcipv6", + "srcmac", + "srcmacmask", + "srcport", + "stateful", + "vlan", + "vxlan", + ], + }, + "add_payload_keys": [ + "acl6action", + "acl6name", + "destipop", + "destipv6", + "destipv6val", + "destport", + "destportop", + "destportval", + "dfdhash", + "dfdprefix", + "established", + "icmpcode", + "icmptype", + "interface", + "logstate", + "priority", + "protocol", + "protocolnumber", + "ratelimit", + "srcipop", + "srcipv6", + "srcipv6val", + "srcmac", + "srcmacmask", + "srcport", + "srcportop", + "srcportval", + "stateful", + "td", + "ttl", + "type", + "vlan", + "vxlan", + ], + "bindings": [], + "bindprimary_key": "", + "delete_arg_keys": [], + "disable_payload_keys": ["acl6name"], + "enable_payload_keys": ["acl6name"], + "get_arg_keys": ["type"], + "immutable_keys": ["acl6action", "td", "ttl", "type"], + "password_keys": [], + "primary_key": "acl6name", + "primary_key_composite": [], + "readwrite_arguments": { + "acl6action": { + "choices": ["ALLOW", "BRIDGE", "DENY"], + "no_log": False, + "type": "str", + }, + "acl6name": {"no_log": False, "type": "raw"}, + "aclaction": { + "choices": ["ALLOW", "BRIDGE", "DENY"], + "no_log": False, + "type": "str", + }, + "destipop": { + "choices": ["!=", "=", "EQ", "NEQ"], + "no_log": False, + "type": "str", + }, + "destipv6": {"no_log": False, "type": "raw"}, + "destipv6val": {"no_log": False, "type": "str"}, + "destport": {"no_log": False, "type": "raw"}, + "destportop": { + "choices": ["!=", "=", "EQ", "NEQ"], + "no_log": False, + "type": "str", + }, + "destportval": {"no_log": False, "type": "str"}, + "dfdhash": { + "choices": [ + "DIP", + "DIP-DPORT", + "SIP", + "SIP-DIP", + "SIP-SPORT", + "SIP-SPORT-DIP-DPORT", + ], + "no_log": False, + "type": "raw", + }, + "dfdprefix": {"no_log": False, "type": "raw"}, + "established": {"no_log": False, "type": "raw"}, + "icmpcode": {"no_log": False, "type": "raw"}, + "icmptype": {"no_log": False, "type": "raw"}, + "interface": {"no_log": False, "type": "raw"}, + "logstate": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, + "newname": {"no_log": False, "type": "str"}, + "priority": {"no_log": False, "type": "float"}, + "protocol": { + "choices": [ + "3PC", + "A/N", + "AH", + "ARGUS", + "ARIS", + "AX.25", + "Any-0-Hop-Protocol", + "Any-Distributed-File-System", + "Any-Host-Internal-Protocol", + "Any-Local-Network", + "Any-Private-Encryption-Scheme", + "BBN-RCC-M", + "BNA", + "BR-SAT-MO", + "CBT", + "CFTP", + "CHAOS", + "CPHB", + "CPNX", + "CRTP", + "CRUDP", + "Compaq-Pe", + "DCN-MEAS", + "DDP", + "DDX", + "DGP", + "EGP", + "EIGRP", + "EMCON", + "ENCAP", + "ESP", + "ETHERIP", + "FC", + "FIRE", + "GGP", + "GMTP", + "GRE", + "HMP", + "I-NLSP", + "IATP", + "ICMP", + "ICMPV6", + "IDPR", + "IDPR-CMTP", + "IDRP", + "IFMP", + "IGMP", + "IGP", + "IL", + "IPCV", + "IPComp", + "IPIP", + "IPLT", + "IPPC", + "IPX-in-IP", + "IPoverIP", + "IPv6", + "IPv6-Frag", + "IPv6-NoNx", + "IPv6-Opts", + "IPv6-Route", + "IRTP", + "ISIS", + "ISO-IP", + "ISO-TP4", + "KRYPTOLAN", + "L2TP", + "LARP", + "LEAF-1", + "LEAF-2", + "MERIT-INP", + "MFE-NSP", + "MHRP", + "MICP", + "MOBILE", + "MTP", + "MUX", + "Mobility-Header", + "NARP", + "NETBLT", + "NSFNET-IG", + "NVP-II", + "OSPFIGP", + "PGM", + "PIM", + "PIPE", + "PNNI", + "PRM", + "PTP", + "PUP", + "PVP", + "QNX", + "RDP", + "RSVP", + "RSVP-E2E-IGNORE", + "RVD", + "SAT-EXPAK", + "SCC-SP", + "SCPS", + "SCTP", + "SDRP", + "SECURE-VM", + "SEP", + "SKIP", + "SM", + "SMP", + "SNP", + "SPS", + "SRP", + "SSCOPMCE", + "ST", + "STP", + "SUN-ND", + "SWIPE", + "Sprite-RP", + "TCF", + "TCP", + "TFTP", + "TLSP", + "TP++", + "TRUNK-1", + "TRUNK-2", + "TTP", + "UDP", + "UDPLite", + "UTI", + "VINES", + "VISA", + "VMTP", + "VRRP", + "WB-EXPAK", + "WB-MON", + "WSN", + "XNET", + "XNS-IDP", + "XTP", + ], + "no_log": False, + "type": "raw", + }, + "protocolnumber": {"no_log": False, "type": "float"}, + "ratelimit": {"no_log": False, "type": "raw"}, + "srcipop": { + "choices": ["!=", "=", "EQ", "NEQ"], + "no_log": False, + "type": "str", + }, + "srcipv6": {"no_log": False, "type": "raw"}, + "srcipv6val": {"no_log": False, "type": "str"}, + "srcmac": {"no_log": False, "type": "raw"}, + "srcmacmask": {"no_log": False, "type": "raw"}, + "srcport": {"no_log": False, "type": "raw"}, + "srcportop": { + "choices": ["!=", "=", "EQ", "NEQ"], + "no_log": False, + "type": "str", + }, + "srcportval": {"no_log": False, "type": "str"}, + "stateful": {"choices": ["NO", "YES"], "no_log": False, "type": "raw"}, + "td": {"no_log": False, "type": "float"}, + "ttl": {"no_log": False, "type": "float"}, + "type": {"choices": ["CLASSIC", "DFD"], "no_log": False, "type": "str"}, + "vlan": {"no_log": False, "type": "raw"}, + "vxlan": {"no_log": False, "type": "raw"}, + }, + "singleton": False, + "update_payload_keys": [ + "acl6name", + "aclaction", + "destipop", + "destipv6", + "destipv6val", + "destport", + "destportop", + "destportval", + "dfdhash", + "dfdprefix", + "established", + "icmpcode", + "icmptype", + "interface", + "logstate", + "priority", + "protocol", + "protocolnumber", + "ratelimit", + "srcipop", + "srcipv6", + "srcipv6val", + "srcmac", + "srcmacmask", + "srcport", + "srcportop", + "srcportval", + "stateful", + "vlan", + "vxlan", + ], + }, "nsacls": { "_supported_operations": ["apply", "clear", "renumber"], "action_payload_keys": { @@ -38092,8 +39602,48 @@ "singleton": False, "update_payload_keys": [], }, + "nschannelparam": { + "_supported_operations": ["get", "update"], + "action_payload_keys": { + "create": [], + "force": [], + "import": [], + "link": [], + "switch": [], + "unlink": [], + "unset": [], + }, + "add_payload_keys": [], + "bindings": [], + "bindprimary_key": "", + "delete_arg_keys": [], + "disable_payload_keys": [], + "enable_payload_keys": [], + "get_arg_keys": [], + "immutable_keys": [], + "password_keys": [], + "primary_key": "", + "primary_key_composite": [], + "readwrite_arguments": { + "vfautorecover": { + "choices": ["DISABLE", "ENABLE"], + "no_log": False, + "type": "str", + } + }, + "singleton": True, + "update_payload_keys": ["vfautorecover"], + }, "nsconfig": { - "_supported_operations": ["clear", "diff", "get", "save", "unset", "update"], + "_supported_operations": [ + "clear", + "convert", + "diff", + "get", + "save", + "unset", + "update", + ], "action_payload_keys": { "create": [], "force": [], @@ -38116,12 +39666,14 @@ "primary_key_composite": [], "readwrite_arguments": { "all": {"no_log": False, "type": "bool"}, + "async": {"no_log": False, "type": "bool"}, "changedpassword": {"no_log": False, "type": "bool"}, "cip": {"choices": ["DISABLED", "ENABLED"], "no_log": False, "type": "str"}, "cipheader": {"no_log": False, "type": "str"}, "config": {"no_log": False, "type": "str"}, "config1": {"no_log": False, "type": "str"}, "config2": {"no_log": False, "type": "str"}, + "configfile": {"no_log": False, "type": "str"}, "cookieversion": {"choices": ["0", "1"], "no_log": False, "type": "str"}, "crportrange": {"no_log": False, "type": "str"}, "exclusivequotamaxclient": {"no_log": False, "type": "float"}, @@ -38147,6 +39699,7 @@ "pmtumin": {"no_log": False, "type": "float"}, "pmtutimeout": {"no_log": False, "type": "float"}, "rbaconfig": {"choices": ["NO", "YES"], "no_log": False, "type": "str"}, + "responsefile": {"no_log": False, "type": "str"}, "securecookie": { "choices": ["DISABLED", "ENABLED"], "no_log": False, @@ -38160,6 +39713,32 @@ "singleton": True, "update_payload_keys": ["ifnum", "ipaddress", "netmask", "nsvlan", "tagged"], }, + "nsconfigview": { + "_supported_operations": ["Switch", "get"], + "action_payload_keys": { + "create": [], + "force": [], + "import": [], + "link": [], + "switch": [], + "unlink": [], + "unset": [], + }, + "add_payload_keys": [], + "bindings": [], + "bindprimary_key": "", + "delete_arg_keys": [], + "disable_payload_keys": [], + "enable_payload_keys": [], + "get_arg_keys": [], + "immutable_keys": [], + "password_keys": [], + "primary_key": "", + "primary_key_composite": [], + "readwrite_arguments": {}, + "singleton": True, + "update_payload_keys": [], + }, "nsconsoleloginprompt": { "_supported_operations": ["get", "unset", "update"], "action_payload_keys": { @@ -38602,8 +40181,6 @@ "ISISRouting", "IntegratedCaching", "LB", - "LSN", - "LargeScaleNAT", "LoadBalancing", "NSPush", "NetScalerPush", @@ -38629,7 +40206,6 @@ "SYSTEM", "SureConnect", "SurgeProtection", - "URLFiltering", "VideoOptimization", "WL", "WebLogging", @@ -38835,6 +40411,7 @@ "grpcholdlimit", "grpcholdtimeout", "grpclengthdelimitation", + "hostheadervalidation", "http2", "http2altsvcframe", "http2direct", @@ -38847,6 +40424,7 @@ "http2maxheaderlistsize", "http2maxpingframespermin", "http2maxresetframespermin", + "http2maxrxresetframespermin", "http2maxsettingsframespermin", "http2minseverconn", "http2strictcipher", @@ -38854,6 +40432,8 @@ "http3maxheaderblockedstreams", "http3maxheaderfieldsectionsize", "http3maxheadertablesize", + "http3minseverconn", + "http3webtransport", "httppipelinebuffsize", "incomphdrdelay", "markconnreqinval", @@ -38861,6 +40441,7 @@ "markhttpheaderextrawserror", "markrfc7230noncompliantinval", "marktracereqinval", + "maxduplicateheaderfields", "maxheaderfieldlen", "maxheaderlen", "maxreq", @@ -38892,6 +40473,7 @@ "grpcholdlimit", "grpcholdtimeout", "grpclengthdelimitation", + "hostheadervalidation", "http2", "http2altsvcframe", "http2direct", @@ -38904,6 +40486,7 @@ "http2maxheaderlistsize", "http2maxpingframespermin", "http2maxresetframespermin", + "http2maxrxresetframespermin", "http2maxsettingsframespermin", "http2minseverconn", "http2strictcipher", @@ -38911,6 +40494,8 @@ "http3maxheaderblockedstreams", "http3maxheaderfieldsectionsize", "http3maxheadertablesize", + "http3minseverconn", + "http3webtransport", "httppipelinebuffsize", "incomphdrdelay", "markconnreqinval", @@ -38918,6 +40503,7 @@ "markhttpheaderextrawserror", "markrfc7230noncompliantinval", "marktracereqinval", + "maxduplicateheaderfields", "maxheaderfieldlen", "maxheaderlen", "maxreq", @@ -38994,6 +40580,11 @@ "no_log": False, "type": "raw", }, + "hostheadervalidation": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, "http2": { "choices": ["DISABLED", "ENABLED"], "no_log": False, @@ -39018,6 +40609,7 @@ "http2maxheaderlistsize": {"no_log": False, "type": "raw"}, "http2maxpingframespermin": {"no_log": False, "type": "raw"}, "http2maxresetframespermin": {"no_log": False, "type": "raw"}, + "http2maxrxresetframespermin": {"no_log": False, "type": "raw"}, "http2maxsettingsframespermin": {"no_log": False, "type": "raw"}, "http2minseverconn": {"no_log": False, "type": "raw"}, "http2strictcipher": { @@ -39033,6 +40625,12 @@ "http3maxheaderblockedstreams": {"no_log": False, "type": "raw"}, "http3maxheaderfieldsectionsize": {"no_log": False, "type": "raw"}, "http3maxheadertablesize": {"no_log": False, "type": "raw"}, + "http3minseverconn": {"no_log": False, "type": "raw"}, + "http3webtransport": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, "httppipelinebuffsize": {"no_log": False, "type": "raw"}, "incomphdrdelay": {"no_log": False, "type": "raw"}, "markconnreqinval": { @@ -39060,6 +40658,7 @@ "no_log": False, "type": "raw", }, + "maxduplicateheaderfields": {"no_log": False, "type": "raw"}, "maxheaderfieldlen": {"no_log": False, "type": "raw"}, "maxheaderlen": {"no_log": False, "type": "raw"}, "maxreq": {"no_log": False, "type": "raw"}, @@ -39111,6 +40710,7 @@ "grpcholdlimit", "grpcholdtimeout", "grpclengthdelimitation", + "hostheadervalidation", "http2", "http2altsvcframe", "http2direct", @@ -39123,6 +40723,7 @@ "http2maxheaderlistsize", "http2maxpingframespermin", "http2maxresetframespermin", + "http2maxrxresetframespermin", "http2maxsettingsframespermin", "http2minseverconn", "http2strictcipher", @@ -39130,6 +40731,8 @@ "http3maxheaderblockedstreams", "http3maxheaderfieldsectionsize", "http3maxheadertablesize", + "http3minseverconn", + "http3webtransport", "httppipelinebuffsize", "incomphdrdelay", "markconnreqinval", @@ -39137,6 +40740,7 @@ "markhttpheaderextrawserror", "markrfc7230noncompliantinval", "marktracereqinval", + "maxduplicateheaderfields", "maxheaderfieldlen", "maxheaderlen", "maxreq", @@ -40008,6 +41612,35 @@ "singleton": False, "update_payload_keys": [], }, + "nsmgmtparam": { + "_supported_operations": ["get", "unset", "update"], + "action_payload_keys": { + "create": [], + "force": [], + "import": [], + "link": [], + "switch": [], + "unlink": [], + "unset": ["mgmthttpport", "mgmthttpsport"], + }, + "add_payload_keys": [], + "bindings": [], + "bindprimary_key": "", + "delete_arg_keys": [], + "disable_payload_keys": [], + "enable_payload_keys": [], + "get_arg_keys": [], + "immutable_keys": [], + "password_keys": [], + "primary_key": "", + "primary_key_composite": [], + "readwrite_arguments": { + "mgmthttpport": {"no_log": False, "type": "raw"}, + "mgmthttpsport": {"no_log": False, "type": "raw"}, + }, + "singleton": True, + "update_payload_keys": ["mgmthttpport", "mgmthttpsport"], + }, "nsmigration": { "_supported_operations": ["count", "get"], "action_payload_keys": { @@ -40079,6 +41712,7 @@ "PMTUD", "RISE_APBR", "RISE_RHI", + "SINGLE_IP", "SRADV", "SRADV6", "TCPB", @@ -40096,6 +41730,32 @@ "singleton": True, "update_payload_keys": [], }, + "nsnextgenapi": { + "_supported_operations": ["clear", "disable", "enable", "get"], + "action_payload_keys": { + "create": [], + "force": [], + "import": [], + "link": [], + "switch": [], + "unlink": [], + "unset": [], + }, + "add_payload_keys": [], + "bindings": [], + "bindprimary_key": "", + "delete_arg_keys": [], + "disable_payload_keys": [], + "enable_payload_keys": [], + "get_arg_keys": [], + "immutable_keys": [], + "password_keys": [], + "primary_key": "", + "primary_key_composite": [], + "readwrite_arguments": {}, + "singleton": True, + "update_payload_keys": [], + }, "nsparam": { "_supported_operations": ["get", "unset", "update"], "action_payload_keys": { @@ -40438,6 +42098,620 @@ "singleton": False, "update_payload_keys": [], }, + "nspbr": { + "_supported_operations": [ + "add", + "count", + "delete", + "disable", + "enable", + "get", + "get-byname", + "unset", + "update", + ], + "action_payload_keys": { + "create": [], + "force": [], + "import": [], + "link": [], + "switch": [], + "unlink": [], + "unset": [ + "destip", + "destport", + "interface", + "iptunnel", + "monitor", + "msr", + "name", + "nexthop", + "protocol", + "srcip", + "srcmac", + "srcmacmask", + "srcport", + "vlan", + "vxlan", + "vxlanvlanmap", + ], + }, + "add_payload_keys": [ + "action", + "destip", + "destipop", + "destipval", + "destport", + "destportop", + "destportval", + "interface", + "iptunnel", + "iptunnelname", + "monitor", + "msr", + "name", + "nexthop", + "nexthopval", + "ownergroup", + "priority", + "protocol", + "protocolnumber", + "srcip", + "srcipop", + "srcipval", + "srcmac", + "srcmacmask", + "srcport", + "srcportop", + "srcportval", + "td", + "vlan", + "vxlan", + "vxlanvlanmap", + ], + "bindings": [], + "bindprimary_key": "", + "delete_arg_keys": [], + "disable_payload_keys": ["name"], + "enable_payload_keys": ["name"], + "get_arg_keys": ["detail"], + "immutable_keys": ["ownergroup", "td"], + "password_keys": [], + "primary_key": "name", + "primary_key_composite": [], + "readwrite_arguments": { + "action": {"choices": ["ALLOW", "DENY"], "no_log": False, "type": "str"}, + "destip": {"no_log": False, "type": "raw"}, + "destipop": { + "choices": ["!=", "=", "EQ", "NEQ"], + "no_log": False, + "type": "str", + }, + "destipval": {"no_log": False, "type": "str"}, + "destport": {"no_log": False, "type": "raw"}, + "destportop": { + "choices": ["!=", "=", "EQ", "NEQ"], + "no_log": False, + "type": "str", + }, + "destportval": {"no_log": False, "type": "str"}, + "detail": {"no_log": False, "type": "bool"}, + "interface": {"no_log": False, "type": "raw"}, + "iptunnel": {"no_log": False, "type": "raw"}, + "iptunnelname": {"no_log": False, "type": "str"}, + "monitor": {"no_log": False, "type": "raw"}, + "msr": {"choices": ["DISABLED", "ENABLED"], "no_log": False, "type": "raw"}, + "name": {"no_log": False, "type": "raw"}, + "nexthop": {"no_log": False, "type": "raw"}, + "nexthopval": {"no_log": False, "type": "str"}, + "ownergroup": {"no_log": False, "type": "str"}, + "priority": {"no_log": False, "type": "float"}, + "protocol": { + "choices": [ + "3PC", + "A/N", + "AH", + "ARGUS", + "ARIS", + "AX.25", + "Any-0-Hop-Protocol", + "Any-Distributed-File-System", + "Any-Host-Internal-Protocol", + "Any-Local-Network", + "Any-Private-Encryption-Scheme", + "BBN-RCC-M", + "BNA", + "BR-SAT-MO", + "CBT", + "CFTP", + "CHAOS", + "CPHB", + "CPNX", + "CRTP", + "CRUDP", + "Compaq-Pe", + "DCN-MEAS", + "DDP", + "DDX", + "DGP", + "EGP", + "EIGRP", + "EMCON", + "ENCAP", + "ESP", + "ETHERIP", + "FC", + "FIRE", + "GGP", + "GMTP", + "GRE", + "HMP", + "I-NLSP", + "IATP", + "ICMP", + "ICMPV6", + "IDPR", + "IDPR-CMTP", + "IDRP", + "IFMP", + "IGMP", + "IGP", + "IL", + "IPCV", + "IPComp", + "IPIP", + "IPLT", + "IPPC", + "IPX-in-IP", + "IPoverIP", + "IPv6", + "IPv6-Frag", + "IPv6-NoNx", + "IPv6-Opts", + "IPv6-Route", + "IRTP", + "ISIS", + "ISO-IP", + "ISO-TP4", + "KRYPTOLAN", + "L2TP", + "LARP", + "LEAF-1", + "LEAF-2", + "MERIT-INP", + "MFE-NSP", + "MHRP", + "MICP", + "MOBILE", + "MTP", + "MUX", + "Mobility-Header", + "NARP", + "NETBLT", + "NSFNET-IG", + "NVP-II", + "OSPFIGP", + "PGM", + "PIM", + "PIPE", + "PNNI", + "PRM", + "PTP", + "PUP", + "PVP", + "QNX", + "RDP", + "RSVP", + "RSVP-E2E-IGNORE", + "RVD", + "SAT-EXPAK", + "SCC-SP", + "SCPS", + "SCTP", + "SDRP", + "SECURE-VM", + "SEP", + "SKIP", + "SM", + "SMP", + "SNP", + "SPS", + "SRP", + "SSCOPMCE", + "ST", + "STP", + "SUN-ND", + "SWIPE", + "Sprite-RP", + "TCF", + "TCP", + "TFTP", + "TLSP", + "TP++", + "TRUNK-1", + "TRUNK-2", + "TTP", + "UDP", + "UDPLite", + "UTI", + "VINES", + "VISA", + "VMTP", + "VRRP", + "WB-EXPAK", + "WB-MON", + "WSN", + "XNET", + "XNS-IDP", + "XTP", + ], + "no_log": False, + "type": "raw", + }, + "protocolnumber": {"no_log": False, "type": "float"}, + "srcip": {"no_log": False, "type": "raw"}, + "srcipop": { + "choices": ["!=", "=", "EQ", "NEQ"], + "no_log": False, + "type": "str", + }, + "srcipval": {"no_log": False, "type": "str"}, + "srcmac": {"no_log": False, "type": "raw"}, + "srcmacmask": {"no_log": False, "type": "raw"}, + "srcport": {"no_log": False, "type": "raw"}, + "srcportop": { + "choices": ["!=", "=", "EQ", "NEQ"], + "no_log": False, + "type": "str", + }, + "srcportval": {"no_log": False, "type": "str"}, + "td": {"no_log": False, "type": "float"}, + "vlan": {"no_log": False, "type": "raw"}, + "vxlan": {"no_log": False, "type": "raw"}, + "vxlanvlanmap": {"no_log": False, "type": "raw"}, + }, + "singleton": False, + "update_payload_keys": [ + "action", + "destip", + "destipop", + "destipval", + "destport", + "destportop", + "destportval", + "interface", + "iptunnel", + "iptunnelname", + "monitor", + "msr", + "name", + "nexthop", + "nexthopval", + "priority", + "protocol", + "protocolnumber", + "srcip", + "srcipop", + "srcipval", + "srcmac", + "srcmacmask", + "srcport", + "srcportop", + "srcportval", + "vlan", + "vxlan", + "vxlanvlanmap", + ], + }, + "nspbr6": { + "_supported_operations": [ + "add", + "apply", + "clear", + "count", + "delete", + "disable", + "enable", + "get", + "get-byname", + "renumber", + "unset", + "update", + ], + "action_payload_keys": { + "create": [], + "force": [], + "import": [], + "link": [], + "switch": [], + "unlink": [], + "unset": [ + "destipv6", + "destport", + "interface", + "iptunnel", + "monitor", + "msr", + "name", + "nexthop", + "nexthopvlan", + "protocol", + "srcipv6", + "srcmac", + "srcmacmask", + "srcport", + "vlan", + "vxlan", + "vxlanvlanmap", + ], + }, + "add_payload_keys": [ + "action", + "destipop", + "destipv6", + "destipv6val", + "destport", + "destportop", + "destportval", + "interface", + "iptunnel", + "monitor", + "msr", + "name", + "nexthop", + "nexthopval", + "nexthopvlan", + "ownergroup", + "priority", + "protocol", + "protocolnumber", + "srcipop", + "srcipv6", + "srcipv6val", + "srcmac", + "srcmacmask", + "srcport", + "srcportop", + "srcportval", + "td", + "vlan", + "vxlan", + "vxlanvlanmap", + ], + "bindings": [], + "bindprimary_key": "", + "delete_arg_keys": [], + "disable_payload_keys": ["name"], + "enable_payload_keys": ["name"], + "get_arg_keys": ["detail"], + "immutable_keys": ["ownergroup", "td"], + "password_keys": [], + "primary_key": "name", + "primary_key_composite": [], + "readwrite_arguments": { + "action": {"choices": ["ALLOW", "DENY"], "no_log": False, "type": "str"}, + "destipop": { + "choices": ["!=", "=", "EQ", "NEQ"], + "no_log": False, + "type": "str", + }, + "destipv6": {"no_log": False, "type": "raw"}, + "destipv6val": {"no_log": False, "type": "str"}, + "destport": {"no_log": False, "type": "raw"}, + "destportop": { + "choices": ["!=", "=", "EQ", "NEQ"], + "no_log": False, + "type": "str", + }, + "destportval": {"no_log": False, "type": "str"}, + "detail": {"no_log": False, "type": "bool"}, + "interface": {"no_log": False, "type": "raw"}, + "iptunnel": {"no_log": False, "type": "raw"}, + "monitor": {"no_log": False, "type": "raw"}, + "msr": {"choices": ["DISABLED", "ENABLED"], "no_log": False, "type": "raw"}, + "name": {"no_log": False, "type": "raw"}, + "nexthop": {"no_log": False, "type": "raw"}, + "nexthopval": {"no_log": False, "type": "str"}, + "nexthopvlan": {"no_log": False, "type": "raw"}, + "ownergroup": {"no_log": False, "type": "str"}, + "priority": {"no_log": False, "type": "float"}, + "protocol": { + "choices": [ + "3PC", + "A/N", + "AH", + "ARGUS", + "ARIS", + "AX.25", + "Any-0-Hop-Protocol", + "Any-Distributed-File-System", + "Any-Host-Internal-Protocol", + "Any-Local-Network", + "Any-Private-Encryption-Scheme", + "BBN-RCC-M", + "BNA", + "BR-SAT-MO", + "CBT", + "CFTP", + "CHAOS", + "CPHB", + "CPNX", + "CRTP", + "CRUDP", + "Compaq-Pe", + "DCN-MEAS", + "DDP", + "DDX", + "DGP", + "EGP", + "EIGRP", + "EMCON", + "ENCAP", + "ESP", + "ETHERIP", + "FC", + "FIRE", + "GGP", + "GMTP", + "GRE", + "HMP", + "I-NLSP", + "IATP", + "ICMP", + "ICMPV6", + "IDPR", + "IDPR-CMTP", + "IDRP", + "IFMP", + "IGMP", + "IGP", + "IL", + "IPCV", + "IPComp", + "IPIP", + "IPLT", + "IPPC", + "IPX-in-IP", + "IPoverIP", + "IPv6", + "IPv6-Frag", + "IPv6-NoNx", + "IPv6-Opts", + "IPv6-Route", + "IRTP", + "ISIS", + "ISO-IP", + "ISO-TP4", + "KRYPTOLAN", + "L2TP", + "LARP", + "LEAF-1", + "LEAF-2", + "MERIT-INP", + "MFE-NSP", + "MHRP", + "MICP", + "MOBILE", + "MTP", + "MUX", + "Mobility-Header", + "NARP", + "NETBLT", + "NSFNET-IG", + "NVP-II", + "OSPFIGP", + "PGM", + "PIM", + "PIPE", + "PNNI", + "PRM", + "PTP", + "PUP", + "PVP", + "QNX", + "RDP", + "RSVP", + "RSVP-E2E-IGNORE", + "RVD", + "SAT-EXPAK", + "SCC-SP", + "SCPS", + "SCTP", + "SDRP", + "SECURE-VM", + "SEP", + "SKIP", + "SM", + "SMP", + "SNP", + "SPS", + "SRP", + "SSCOPMCE", + "ST", + "STP", + "SUN-ND", + "SWIPE", + "Sprite-RP", + "TCF", + "TCP", + "TFTP", + "TLSP", + "TP++", + "TRUNK-1", + "TRUNK-2", + "TTP", + "UDP", + "UDPLite", + "UTI", + "VINES", + "VISA", + "VMTP", + "VRRP", + "WB-EXPAK", + "WB-MON", + "WSN", + "XNET", + "XNS-IDP", + "XTP", + ], + "no_log": False, + "type": "raw", + }, + "protocolnumber": {"no_log": False, "type": "float"}, + "srcipop": { + "choices": ["!=", "=", "EQ", "NEQ"], + "no_log": False, + "type": "str", + }, + "srcipv6": {"no_log": False, "type": "raw"}, + "srcipv6val": {"no_log": False, "type": "str"}, + "srcmac": {"no_log": False, "type": "raw"}, + "srcmacmask": {"no_log": False, "type": "raw"}, + "srcport": {"no_log": False, "type": "raw"}, + "srcportop": { + "choices": ["!=", "=", "EQ", "NEQ"], + "no_log": False, + "type": "str", + }, + "srcportval": {"no_log": False, "type": "str"}, + "td": {"no_log": False, "type": "float"}, + "vlan": {"no_log": False, "type": "raw"}, + "vxlan": {"no_log": False, "type": "raw"}, + "vxlanvlanmap": {"no_log": False, "type": "raw"}, + }, + "singleton": False, + "update_payload_keys": [ + "action", + "destipop", + "destipv6", + "destipv6val", + "destport", + "destportop", + "destportval", + "interface", + "iptunnel", + "monitor", + "msr", + "name", + "nexthop", + "nexthopval", + "nexthopvlan", + "priority", + "protocol", + "protocolnumber", + "srcipop", + "srcipv6", + "srcipv6val", + "srcmac", + "srcmacmask", + "srcport", + "srcportop", + "srcportval", + "vlan", + "vxlan", + "vxlanvlanmap", + ], + }, "nsratecontrol": { "_supported_operations": ["get", "unset", "update"], "action_payload_keys": { @@ -40744,6 +43018,32 @@ "singleton": False, "update_payload_keys": [], }, + "nssourceroutecachetable": { + "_supported_operations": ["count", "flush", "get"], + "action_payload_keys": { + "create": [], + "force": [], + "import": [], + "link": [], + "switch": [], + "unlink": [], + "unset": [], + }, + "add_payload_keys": [], + "bindings": [], + "bindprimary_key": "", + "delete_arg_keys": [], + "disable_payload_keys": [], + "enable_payload_keys": [], + "get_arg_keys": [], + "immutable_keys": [], + "password_keys": [], + "primary_key": "", + "primary_key_composite": [], + "readwrite_arguments": {}, + "singleton": False, + "update_payload_keys": [], + }, "nsspparams": { "_supported_operations": ["get", "unset", "update"], "action_payload_keys": { @@ -40886,6 +43186,7 @@ "delayedack", "delinkclientserveronrst", "downstaterst", + "enhancedisngeneration", "initialcwnd", "learnvsvrmss", "limitedpersist", @@ -40916,6 +43217,7 @@ "nagle", "oooqsize", "pktperretx", + "rfc5961chlgacklimit", "sack", "slowstartincr", "synattackdetection", @@ -40967,6 +43269,11 @@ "no_log": False, "type": "raw", }, + "enhancedisngeneration": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, "initialcwnd": {"no_log": False, "type": "raw"}, "kaprobeupdatelastactivity": { "choices": ["DISABLED", "ENABLED"], @@ -41047,6 +43354,7 @@ "oooqsize": {"no_log": False, "type": "raw"}, "pktperretx": {"no_log": False, "type": "raw"}, "recvbuffsize": {"no_log": False, "type": "float"}, + "rfc5961chlgacklimit": {"no_log": False, "type": "raw"}, "sack": { "choices": ["DISABLED", "ENABLED"], "no_log": False, @@ -41075,6 +43383,7 @@ "delayedack", "delinkclientserveronrst", "downstaterst", + "enhancedisngeneration", "initialcwnd", "learnvsvrmss", "limitedpersist", @@ -41105,6 +43414,7 @@ "nagle", "oooqsize", "pktperretx", + "rfc5961chlgacklimit", "sack", "slowstartincr", "synattackdetection", @@ -41174,6 +43484,7 @@ "oooqsize", "pktperretx", "rateqmax", + "rfc5961compliance", "rstmaxack", "rstwindowattenuate", "sack", @@ -41235,6 +43546,268 @@ "oooqsize", "pktperretx", "rateqmax", + "rfc5961compliance", + "rstmaxack", + "rstwindowattenuate", + "sack", + "sendbuffsize", + "sendclientportintcpoption", + "slowstartincr", + "slowstartthreshold", + "spoofsyndrop", + "syncookie", + "taillossprobe", + "tcpfastopen", + "tcpfastopencookiesize", + "tcpmode", + "tcprate", + "tcpsegoffload", + "timestamp", + "ws", + "wsval", + ], + "bindings": [], + "bindprimary_key": "", + "delete_arg_keys": [], + "disable_payload_keys": [], + "enable_payload_keys": [], + "get_arg_keys": [], + "immutable_keys": [], + "password_keys": [], + "primary_key": "name", + "primary_key_composite": [], + "readwrite_arguments": { + "ackaggregation": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, + "ackonpush": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, + "applyadaptivetcp": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, + "buffersize": {"no_log": False, "type": "raw"}, + "burstratecontrol": { + "choices": ["DISABLED", "DYNAMIC", "FIXED"], + "no_log": False, + "type": "raw", + }, + "clientiptcpoption": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, + "clientiptcpoptionnumber": {"no_log": False, "type": "raw"}, + "delayedack": {"no_log": False, "type": "raw"}, + "dropestconnontimeout": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, + "drophalfclosedconnontimeout": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, + "dsack": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, + "dupackthresh": {"no_log": False, "type": "raw"}, + "dynamicreceivebuffering": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, + "ecn": {"choices": ["DISABLED", "ENABLED"], "no_log": False, "type": "raw"}, + "establishclientconn": { + "choices": ["AUTOMATIC", "CONN_ESTABLISHED", "ON_FIRST_DATA"], + "no_log": False, + "type": "raw", + }, + "fack": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, + "flavor": { + "choices": ["BBR", "BIC", "CUBIC", "Default", "Nile", "Westwood"], + "no_log": False, + "type": "raw", + }, + "frto": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, + "hystart": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, + "initialcwnd": {"no_log": False, "type": "raw"}, + "ka": {"choices": ["DISABLED", "ENABLED"], "no_log": False, "type": "raw"}, + "kaconnidletime": {"no_log": False, "type": "raw"}, + "kamaxprobes": {"no_log": False, "type": "raw"}, + "kaprobeinterval": {"no_log": False, "type": "raw"}, + "kaprobeupdatelastactivity": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, + "maxburst": {"no_log": False, "type": "raw"}, + "maxcwnd": {"no_log": False, "type": "raw"}, + "maxpktpermss": {"no_log": False, "type": "raw"}, + "minrto": {"no_log": False, "type": "raw"}, + "mpcapablecbit": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, + "mptcp": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, + "mptcpdropdataonpreestsf": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, + "mptcpfastopen": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, + "mptcpsessiontimeout": {"no_log": False, "type": "raw"}, + "mss": {"no_log": False, "type": "raw"}, + "nagle": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, + "name": {"no_log": False, "type": "raw"}, + "oooqsize": {"no_log": False, "type": "raw"}, + "pktperretx": {"no_log": False, "type": "raw"}, + "rateqmax": {"no_log": False, "type": "raw"}, + "rfc5961compliance": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, + "rstmaxack": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, + "rstwindowattenuate": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, + "sack": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, + "sendbuffsize": {"no_log": False, "type": "raw"}, + "sendclientportintcpoption": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, + "slowstartincr": {"no_log": False, "type": "raw"}, + "slowstartthreshold": {"no_log": False, "type": "raw"}, + "spoofsyndrop": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, + "syncookie": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, + "taillossprobe": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, + "tcpfastopen": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, + "tcpfastopencookiesize": {"no_log": False, "type": "raw"}, + "tcpmode": { + "choices": ["ENDPOINT", "TRANSPARENT"], + "no_log": False, + "type": "raw", + }, + "tcprate": {"no_log": False, "type": "raw"}, + "tcpsegoffload": { + "choices": ["AUTOMATIC", "DISABLED"], + "no_log": False, + "type": "raw", + }, + "timestamp": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, + "ws": {"choices": ["DISABLED", "ENABLED"], "no_log": False, "type": "raw"}, + "wsval": {"no_log": False, "type": "raw"}, + }, + "singleton": False, + "update_payload_keys": [ + "ackaggregation", + "ackonpush", + "applyadaptivetcp", + "buffersize", + "burstratecontrol", + "clientiptcpoption", + "clientiptcpoptionnumber", + "delayedack", + "dropestconnontimeout", + "drophalfclosedconnontimeout", + "dsack", + "dupackthresh", + "dynamicreceivebuffering", + "ecn", + "establishclientconn", + "fack", + "flavor", + "frto", + "hystart", + "initialcwnd", + "ka", + "kaconnidletime", + "kamaxprobes", + "kaprobeinterval", + "kaprobeupdatelastactivity", + "maxburst", + "maxcwnd", + "maxpktpermss", + "minrto", + "mpcapablecbit", + "mptcp", + "mptcpdropdataonpreestsf", + "mptcpfastopen", + "mptcpsessiontimeout", + "mss", + "nagle", + "name", + "oooqsize", + "pktperretx", + "rateqmax", + "rfc5961compliance", "rstmaxack", "rstwindowattenuate", "sack", @@ -41254,6 +43827,19 @@ "ws", "wsval", ], + }, + "nstestlicense": { + "_supported_operations": ["apply", "get"], + "action_payload_keys": { + "create": [], + "force": [], + "import": [], + "link": [], + "switch": [], + "unlink": [], + "unset": [], + }, + "add_payload_keys": [], "bindings": [], "bindprimary_key": "", "delete_arg_keys": [], @@ -41262,253 +43848,11 @@ "get_arg_keys": [], "immutable_keys": [], "password_keys": [], - "primary_key": "name", + "primary_key": "", "primary_key_composite": [], - "readwrite_arguments": { - "ackaggregation": { - "choices": ["DISABLED", "ENABLED"], - "no_log": False, - "type": "raw", - }, - "ackonpush": { - "choices": ["DISABLED", "ENABLED"], - "no_log": False, - "type": "raw", - }, - "applyadaptivetcp": { - "choices": ["DISABLED", "ENABLED"], - "no_log": False, - "type": "raw", - }, - "buffersize": {"no_log": False, "type": "raw"}, - "burstratecontrol": { - "choices": ["DISABLED", "DYNAMIC", "FIXED"], - "no_log": False, - "type": "raw", - }, - "clientiptcpoption": { - "choices": ["DISABLED", "ENABLED"], - "no_log": False, - "type": "raw", - }, - "clientiptcpoptionnumber": {"no_log": False, "type": "raw"}, - "delayedack": {"no_log": False, "type": "raw"}, - "dropestconnontimeout": { - "choices": ["DISABLED", "ENABLED"], - "no_log": False, - "type": "raw", - }, - "drophalfclosedconnontimeout": { - "choices": ["DISABLED", "ENABLED"], - "no_log": False, - "type": "raw", - }, - "dsack": { - "choices": ["DISABLED", "ENABLED"], - "no_log": False, - "type": "raw", - }, - "dupackthresh": {"no_log": False, "type": "raw"}, - "dynamicreceivebuffering": { - "choices": ["DISABLED", "ENABLED"], - "no_log": False, - "type": "raw", - }, - "ecn": {"choices": ["DISABLED", "ENABLED"], "no_log": False, "type": "raw"}, - "establishclientconn": { - "choices": ["AUTOMATIC", "CONN_ESTABLISHED", "ON_FIRST_DATA"], - "no_log": False, - "type": "raw", - }, - "fack": { - "choices": ["DISABLED", "ENABLED"], - "no_log": False, - "type": "raw", - }, - "flavor": { - "choices": ["BIC", "CUBIC", "Default", "Nile", "Westwood"], - "no_log": False, - "type": "raw", - }, - "frto": { - "choices": ["DISABLED", "ENABLED"], - "no_log": False, - "type": "raw", - }, - "hystart": { - "choices": ["DISABLED", "ENABLED"], - "no_log": False, - "type": "raw", - }, - "initialcwnd": {"no_log": False, "type": "raw"}, - "ka": {"choices": ["DISABLED", "ENABLED"], "no_log": False, "type": "raw"}, - "kaconnidletime": {"no_log": False, "type": "raw"}, - "kamaxprobes": {"no_log": False, "type": "raw"}, - "kaprobeinterval": {"no_log": False, "type": "raw"}, - "kaprobeupdatelastactivity": { - "choices": ["DISABLED", "ENABLED"], - "no_log": False, - "type": "raw", - }, - "maxburst": {"no_log": False, "type": "raw"}, - "maxcwnd": {"no_log": False, "type": "raw"}, - "maxpktpermss": {"no_log": False, "type": "raw"}, - "minrto": {"no_log": False, "type": "raw"}, - "mpcapablecbit": { - "choices": ["DISABLED", "ENABLED"], - "no_log": False, - "type": "raw", - }, - "mptcp": { - "choices": ["DISABLED", "ENABLED"], - "no_log": False, - "type": "raw", - }, - "mptcpdropdataonpreestsf": { - "choices": ["DISABLED", "ENABLED"], - "no_log": False, - "type": "raw", - }, - "mptcpfastopen": { - "choices": ["DISABLED", "ENABLED"], - "no_log": False, - "type": "raw", - }, - "mptcpsessiontimeout": {"no_log": False, "type": "raw"}, - "mss": {"no_log": False, "type": "raw"}, - "nagle": { - "choices": ["DISABLED", "ENABLED"], - "no_log": False, - "type": "raw", - }, - "name": {"no_log": False, "type": "raw"}, - "oooqsize": {"no_log": False, "type": "raw"}, - "pktperretx": {"no_log": False, "type": "raw"}, - "rateqmax": {"no_log": False, "type": "raw"}, - "rstmaxack": { - "choices": ["DISABLED", "ENABLED"], - "no_log": False, - "type": "raw", - }, - "rstwindowattenuate": { - "choices": ["DISABLED", "ENABLED"], - "no_log": False, - "type": "raw", - }, - "sack": { - "choices": ["DISABLED", "ENABLED"], - "no_log": False, - "type": "raw", - }, - "sendbuffsize": {"no_log": False, "type": "raw"}, - "sendclientportintcpoption": { - "choices": ["DISABLED", "ENABLED"], - "no_log": False, - "type": "raw", - }, - "slowstartincr": {"no_log": False, "type": "raw"}, - "slowstartthreshold": {"no_log": False, "type": "raw"}, - "spoofsyndrop": { - "choices": ["DISABLED", "ENABLED"], - "no_log": False, - "type": "raw", - }, - "syncookie": { - "choices": ["DISABLED", "ENABLED"], - "no_log": False, - "type": "raw", - }, - "taillossprobe": { - "choices": ["DISABLED", "ENABLED"], - "no_log": False, - "type": "raw", - }, - "tcpfastopen": { - "choices": ["DISABLED", "ENABLED"], - "no_log": False, - "type": "raw", - }, - "tcpfastopencookiesize": {"no_log": False, "type": "raw"}, - "tcpmode": { - "choices": ["ENDPOINT", "TRANSPARENT"], - "no_log": False, - "type": "raw", - }, - "tcprate": {"no_log": False, "type": "raw"}, - "tcpsegoffload": { - "choices": ["AUTOMATIC", "DISABLED"], - "no_log": False, - "type": "raw", - }, - "timestamp": { - "choices": ["DISABLED", "ENABLED"], - "no_log": False, - "type": "raw", - }, - "ws": {"choices": ["DISABLED", "ENABLED"], "no_log": False, "type": "raw"}, - "wsval": {"no_log": False, "type": "raw"}, - }, - "singleton": False, - "update_payload_keys": [ - "ackaggregation", - "ackonpush", - "applyadaptivetcp", - "buffersize", - "burstratecontrol", - "clientiptcpoption", - "clientiptcpoptionnumber", - "delayedack", - "dropestconnontimeout", - "drophalfclosedconnontimeout", - "dsack", - "dupackthresh", - "dynamicreceivebuffering", - "ecn", - "establishclientconn", - "fack", - "flavor", - "frto", - "hystart", - "initialcwnd", - "ka", - "kaconnidletime", - "kamaxprobes", - "kaprobeinterval", - "kaprobeupdatelastactivity", - "maxburst", - "maxcwnd", - "maxpktpermss", - "minrto", - "mpcapablecbit", - "mptcp", - "mptcpdropdataonpreestsf", - "mptcpfastopen", - "mptcpsessiontimeout", - "mss", - "nagle", - "name", - "oooqsize", - "pktperretx", - "rateqmax", - "rstmaxack", - "rstwindowattenuate", - "sack", - "sendbuffsize", - "sendclientportintcpoption", - "slowstartincr", - "slowstartthreshold", - "spoofsyndrop", - "syncookie", - "taillossprobe", - "tcpfastopen", - "tcpfastopencookiesize", - "tcpmode", - "tcprate", - "tcpsegoffload", - "timestamp", - "ws", - "wsval", - ], + "readwrite_arguments": {}, + "singleton": True, + "update_payload_keys": [], }, "nstimeout": { "_supported_operations": ["get", "unset", "update"], @@ -42061,7 +44405,7 @@ "link": [], "switch": [], "unlink": [], - "unset": ["cpuyield", "ownernode"], + "unset": ["cpuyield", "kvmvirtiomultiqueue", "ownernode"], }, "add_payload_keys": [], "bindings": [], @@ -42080,6 +44424,11 @@ "no_log": False, "type": "raw", }, + "kvmvirtiomultiqueue": { + "choices": ["NO", "YES"], + "no_log": False, + "type": "raw", + }, "masterclockcpu1": { "choices": ["NO", "YES"], "no_log": False, @@ -42088,7 +44437,7 @@ "ownernode": {"no_log": False, "type": "raw"}, }, "singleton": False, - "update_payload_keys": ["cpuyield", "ownernode"], + "update_payload_keys": ["cpuyield", "kvmvirtiomultiqueue", "ownernode"], }, "nsweblogparam": { "_supported_operations": ["get", "unset", "update"], @@ -42259,6 +44608,32 @@ "servername", ], }, + "ntpsync": { + "_supported_operations": ["disable", "enable", "get"], + "action_payload_keys": { + "create": [], + "force": [], + "import": [], + "link": [], + "switch": [], + "unlink": [], + "unset": [], + }, + "add_payload_keys": [], + "bindings": [], + "bindprimary_key": "", + "delete_arg_keys": [], + "disable_payload_keys": [], + "enable_payload_keys": [], + "get_arg_keys": [], + "immutable_keys": [], + "password_keys": [], + "primary_key": "", + "primary_key_composite": [], + "readwrite_arguments": {}, + "singleton": True, + "update_payload_keys": [], + }, "onlinkipv6prefix": { "_supported_operations": [ "add", @@ -42534,7 +44909,15 @@ "update_payload_keys": [], }, "policydataset": { - "_supported_operations": ["add", "count", "delete", "get", "get-byname"], + "_supported_operations": [ + "add", + "count", + "delete", + "get", + "get-byname", + "unset", + "update", + ], "action_payload_keys": { "create": [], "force": [], @@ -42542,22 +44925,24 @@ "link": [], "switch": [], "unlink": [], - "unset": [], + "unset": ["dynamic", "name"], }, - "add_payload_keys": ["comment", "name", "patsetfile", "type"], + "add_payload_keys": ["comment", "dynamic", "name", "patsetfile", "type"], "bindings": ["policydataset_value_binding"], "bindprimary_key": "", "delete_arg_keys": [], "disable_payload_keys": [], "enable_payload_keys": [], - "get_arg_keys": [], - "immutable_keys": ["comment", "name", "patsetfile", "type"], + "get_arg_keys": ["dynamiconly"], + "immutable_keys": ["comment", "patsetfile", "type"], "password_keys": [], "primary_key": "name", "primary_key_composite": [], "readwrite_arguments": { "comment": {"no_log": False, "type": "str"}, - "name": {"no_log": False, "type": "str"}, + "dynamic": {"choices": ["NO", "YES"], "no_log": False, "type": "raw"}, + "dynamiconly": {"no_log": False, "type": "bool"}, + "name": {"no_log": False, "type": "raw"}, "patsetfile": {"no_log": False, "type": "str"}, "policydataset_value_binding": { "no_log": False, @@ -42582,7 +44967,7 @@ }, }, "singleton": False, - "update_payload_keys": [], + "update_payload_keys": ["dynamic", "name"], }, "policydataset_value_binding": { "_supported_operations": ["add", "count", "delete", "get-all", "get-byname"], @@ -42822,7 +45207,15 @@ "update_payload_keys": ["timeout"], }, "policypatset": { - "_supported_operations": ["add", "count", "delete", "get", "get-byname"], + "_supported_operations": [ + "add", + "count", + "delete", + "get", + "get-byname", + "unset", + "update", + ], "action_payload_keys": { "create": [], "force": [], @@ -42830,22 +45223,24 @@ "link": [], "switch": [], "unlink": [], - "unset": [], + "unset": ["dynamic", "name"], }, - "add_payload_keys": ["comment", "name", "patsetfile"], + "add_payload_keys": ["comment", "dynamic", "name", "patsetfile"], "bindings": ["policypatset_pattern_binding"], "bindprimary_key": "", "delete_arg_keys": [], "disable_payload_keys": [], "enable_payload_keys": [], - "get_arg_keys": [], - "immutable_keys": ["comment", "name", "patsetfile"], + "get_arg_keys": ["dynamiconly"], + "immutable_keys": ["comment", "patsetfile"], "password_keys": [], "primary_key": "name", "primary_key_composite": [], "readwrite_arguments": { "comment": {"no_log": False, "type": "str"}, - "name": {"no_log": False, "type": "str"}, + "dynamic": {"choices": ["NO", "YES"], "no_log": False, "type": "raw"}, + "dynamiconly": {"no_log": False, "type": "bool"}, + "name": {"no_log": False, "type": "raw"}, "patsetfile": {"no_log": False, "type": "str"}, "policypatset_pattern_binding": { "no_log": False, @@ -42865,7 +45260,7 @@ }, }, "singleton": False, - "update_payload_keys": [], + "update_payload_keys": ["dynamic", "name"], }, "policypatset_pattern_binding": { "_supported_operations": ["add", "count", "delete", "get-all", "get-byname"], @@ -42938,8 +45333,6 @@ "ISISRouting", "IntegratedCaching", "LB", - "LSN", - "LargeScaleNAT", "LoadBalancing", "NSPush", "NetScalerPush", @@ -42965,7 +45358,6 @@ "SYSTEM", "SureConnect", "SurgeProtection", - "URLFiltering", "VideoOptimization", "WL", "WebLogging", @@ -43106,6 +45498,47 @@ "singleton": False, "update_payload_keys": [], }, + "policytracing": { + "_supported_operations": ["clear", "count", "get"], + "action_payload_keys": { + "create": [], + "force": [], + "import": [], + "link": [], + "switch": [], + "unlink": [], + "unset": [], + }, + "add_payload_keys": [], + "bindings": [], + "bindprimary_key": "", + "delete_arg_keys": [], + "disable_payload_keys": [], + "enable_payload_keys": [], + "get_arg_keys": ["detail", "transactionid"], + "immutable_keys": [], + "password_keys": [], + "primary_key": "", + "primary_key_composite": [], + "readwrite_arguments": { + "capturesslhandshakepolicies": { + "choices": ["NO", "YES"], + "no_log": False, + "type": "str", + }, + "detail": {"choices": ["all", "brief"], "no_log": False, "type": "str"}, + "filterexpr": {"no_log": False, "type": "str"}, + "nodeid": {"no_log": False, "type": "float"}, + "protocoltype": { + "choices": ["ANY", "DNS", "DNS_TCP", "HTTP", "SSL", "SSL_TCP", "TCP"], + "no_log": False, + "type": "str", + }, + "transactionid": {"no_log": False, "type": "str"}, + }, + "singleton": False, + "update_payload_keys": [], + }, "policyurlset": { "_supported_operations": [ "Import", @@ -43725,6 +46158,32 @@ "singleton": True, "update_payload_keys": [], }, + "reporting": { + "_supported_operations": ["disable", "enable", "get"], + "action_payload_keys": { + "create": [], + "force": [], + "import": [], + "link": [], + "switch": [], + "unlink": [], + "unset": [], + }, + "add_payload_keys": [], + "bindings": [], + "bindprimary_key": "", + "delete_arg_keys": [], + "disable_payload_keys": [], + "enable_payload_keys": [], + "get_arg_keys": [], + "immutable_keys": [], + "password_keys": [], + "primary_key": "", + "primary_key_composite": [], + "readwrite_arguments": {}, + "singleton": True, + "update_payload_keys": [], + }, "reportingconfig": { "_supported_operations": ["add", "count", "delete", "get", "get-byname"], "action_payload_keys": { @@ -43946,7 +46405,7 @@ ], }, "responderglobal_responderpolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -44400,7 +46859,7 @@ ], }, "rewriteglobal_rewritepolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -45063,7 +47522,7 @@ "update_payload_keys": [], }, "rnatglobal_auditsyslogpolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -45441,6 +47900,24 @@ "singleton": True, "update_payload_keys": ["rsstype"], }, + "save_config": { + "_supported_operations": ["add"], + "add_payload_keys": ["all"], + "bindings": [], + "bindprimary_key": "", + "delete_arg_keys": [], + "disable_payload_keys": [], + "enable_payload_keys": [], + "get_arg_keys": [], + "immutable_keys": [], + "primary_key": "", + "primary_key_composite": [], + "readwrite_arguments": { + "all": {"no_log": False, "required": False, "type": "bool"} + }, + "singleton": False, + "update_payload_keys": [], + }, "server": { "_supported_operations": [ "add", @@ -45480,7 +47957,7 @@ "delete_arg_keys": [], "disable_payload_keys": ["delay", "graceful", "name"], "enable_payload_keys": ["name"], - "get_arg_keys": ["internal"], + "get_arg_keys": ["domain", "internal", "ipaddress"], "immutable_keys": ["domain", "ipv6address", "querytype", "td"], "password_keys": [], "primary_key": "name", @@ -45564,6 +48041,7 @@ "pathmonitor", "pathmonitorindv", "processlocal", + "quicprofilename", "rtspsessionidremap", "sp", "svrtimeout", @@ -45605,6 +48083,7 @@ "pathmonitorindv", "port", "processlocal", + "quicprofilename", "rtspsessionidremap", "servername", "servicetype", @@ -45700,6 +48179,7 @@ "no_log": False, "type": "raw", }, + "quicprofilename": {"no_log": False, "type": "raw"}, "rtspsessionidremap": { "choices": ["OFF", "ON"], "no_log": False, @@ -45758,17 +48238,20 @@ "servicetype": { "choices": [ "ADNS", + "ADNS_DOT", "ADNS_TCP", "ANY", "DHCPRA", "DIAMETER", "DNS", "DNS_TCP", + "DOT", "DTLS", "FIX", "FTP", "GRE", "HTTP", + "HTTP_QUIC", "IPFIX", "LOGSTREAM", "LOGSTREAM_SSL", @@ -45848,6 +48331,7 @@ "pathmonitor", "pathmonitorindv", "processlocal", + "quicprofilename", "rtspsessionidremap", "sp", "svrtimeout", @@ -45944,6 +48428,7 @@ "pathmonitor", "pathmonitorindv", "port", + "quicprofilename", "rtspsessionidremap", "servername", "servicegroupname", @@ -45983,6 +48468,7 @@ "nodefaultbindings", "pathmonitor", "pathmonitorindv", + "quicprofilename", "rtspsessionidremap", "servicegroupname", "servicetype", @@ -46089,6 +48575,7 @@ "type": "raw", }, "port": {"no_log": False, "type": "raw"}, + "quicprofilename": {"no_log": False, "type": "raw"}, "rtspsessionidremap": { "choices": ["OFF", "ON"], "no_log": False, @@ -46132,17 +48619,20 @@ "servicetype": { "choices": [ "ADNS", + "ADNS_DOT", "ADNS_TCP", "ANY", "DHCPRA", "DIAMETER", "DNS", "DNS_TCP", + "DOT", "DTLS", "FIX", "FTP", "GRE", "HTTP", + "HTTP_QUIC", "IPFIX", "LOGSTREAM", "LOGSTREAM_SSL", @@ -46225,6 +48715,7 @@ "pathmonitor", "pathmonitorindv", "port", + "quicprofilename", "rtspsessionidremap", "servername", "servicegroupname", @@ -46538,6 +49029,14 @@ "APPFW-REFERER-HEADER", "APPFW-SAFE-COMMERCE", "APPFW-SAFE-OBJECT", + "APPFW-SCHEMA-CONTENTTYPE-UNSUPPORTED", + "APPFW-SCHEMA-ENDPOINT-NOTFOUND", + "APPFW-SCHEMA-METHOD-UNSUPPORTED", + "APPFW-SCHEMA-OTHER", + "APPFW-SCHEMA-PARAMETER-INVALID", + "APPFW-SCHEMA-PARAMETER-MISSING", + "APPFW-SCHEMA-RELAXATION-RULE", + "APPFW-SCHEMA-VALUE-INCORRECT", "APPFW-SESSION-LIMIT", "APPFW-SIGNATURE-MATCH", "APPFW-SQL", @@ -46557,6 +49056,7 @@ "AVERAGE-CPU", "BOT-SIGNATURE-UPDATE", "CALLHOME-UPLOAD-EVENT", + "CLOUD-REST-API-FAILURE", "CLUSTER-BACKPLANE-HB-MISSING", "CLUSTER-CCO-CHANGE", "CLUSTER-NODE-HEALTH", @@ -46576,6 +49076,8 @@ "DNS-MAXCACHE-USAGE", "DNS-MAXNEGCACHE-USAGE", "DNSKEY-EXPIRY", + "DNSSEC-KEY-AUTOMGMT-STATUS-FAILURE", + "DNSSEC-KEY-AUTOMGMT-STATUS-SUCCESS", "DUPLICATE-IPV6", "ECDHE-EXCHANGE-RATE", "ENTITY-NAME-CHANGE", @@ -46597,6 +49099,7 @@ "HARD-DISK-DRIVE-ERRORS", "INBAND-PROTOCOL-VERSION-MISMATCH", "INCONSISTENT-CONFIGURATION-IN-PPES", + "INTERFACE-AUTO-RECOVERY", "INTERFACE-BW-USAGE", "INTERFACE-THROUGHPUT-LOW", "IP-CONFLICT", @@ -46615,6 +49118,7 @@ "MONITOR-RTO-THRESHOLD", "MON_PROBE_FAILED", "NS-LICENSE-EXPIRY", + "NSROOT_PASSWORD_EXPIRY_WARNING", "PARTITION-CONFIG-EVENT", "PARTITION-RATE-LIMIT", "PARTITION-SWITCHED", @@ -46634,11 +49138,13 @@ "SERVICE-REQRATE", "SERVICEGROUP-MEMBER-MAXCLIENTS", "SERVICEGROUP-MEMBER-REQRATE", + "SSL-ASYM-CRYPTO-UTILIZATION", "SSL-CARD-FAILED", "SSL-CARD-NORMAL", "SSL-CERT-EXPIRY", "SSL-CHIP-REINIT", "SSL-CUR-SESSION-INUSE", + "SSL-SYM-CRYPTO-UTILIZATION", "SYNFLOOD", "SYSLOG-CONNECTION-DROPPED", "TCP-SYNFLOOD", @@ -47084,11 +49590,19 @@ "primary_key_composite": [], "readwrite_arguments": { "authpasswd": {"no_log": True, "type": "raw"}, - "authtype": {"choices": ["MD5", "SHA"], "no_log": False, "type": "raw"}, + "authtype": { + "choices": ["MD5", "SHA", "SHA256", "SHA512"], + "no_log": False, + "type": "raw", + }, "group": {"no_log": False, "type": "str"}, "name": {"no_log": False, "type": "raw"}, "privpasswd": {"no_log": True, "type": "raw"}, - "privtype": {"choices": ["AES", "DES"], "no_log": False, "type": "raw"}, + "privtype": { + "choices": ["AES", "AES192", "AES256", "DES"], + "no_log": False, + "type": "raw", + }, }, "singleton": False, "update_payload_keys": [ @@ -47381,6 +49895,35 @@ "singleton": False, "update_payload_keys": [], }, + "sslcacertbundle": { + "_supported_operations": ["add", "count", "delete", "get", "get-byname"], + "action_payload_keys": { + "create": [], + "force": [], + "import": [], + "link": [], + "switch": [], + "unlink": [], + "unset": [], + }, + "add_payload_keys": ["bundlefile", "cacertbundlename"], + "bindings": [], + "bindprimary_key": "", + "delete_arg_keys": [], + "disable_payload_keys": [], + "enable_payload_keys": [], + "get_arg_keys": [], + "immutable_keys": ["bundlefile", "cacertbundlename"], + "password_keys": [], + "primary_key": "cacertbundlename", + "primary_key_composite": [], + "readwrite_arguments": { + "bundlefile": {"no_log": False, "type": "str"}, + "cacertbundlename": {"no_log": False, "type": "str"}, + }, + "singleton": False, + "update_payload_keys": [], + }, "sslcacertgroup": { "_supported_operations": ["add", "count", "delete", "get", "get-byname"], "action_payload_keys": { @@ -47760,7 +50303,14 @@ "update_payload_keys": [], }, "sslcertkeybundle": { - "_supported_operations": ["add", "count", "delete", "get", "get-byname"], + "_supported_operations": [ + "add", + "change", + "count", + "delete", + "get", + "get-byname", + ], "action_payload_keys": { "create": [], "force": [], @@ -47910,7 +50460,7 @@ "update_payload_keys": ["ciphergroupname", "ciphername", "cipherpriority"], }, "sslcipher_sslciphersuite_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get-all", "get-byname"], "action_payload_keys": { "create": [], "force": [], @@ -48181,6 +50731,7 @@ "unlink": [], "unset": [ "helloverifyrequest", + "initialretrytimeout", "maxbadmacignorecount", "maxholdqlen", "maxpacketsize", @@ -48193,6 +50744,7 @@ }, "add_payload_keys": [ "helloverifyrequest", + "initialretrytimeout", "maxbadmacignorecount", "maxholdqlen", "maxpacketsize", @@ -48218,6 +50770,7 @@ "no_log": False, "type": "raw", }, + "initialretrytimeout": {"no_log": False, "type": "raw"}, "maxbadmacignorecount": {"no_log": False, "type": "raw"}, "maxholdqlen": {"no_log": False, "type": "raw"}, "maxpacketsize": {"no_log": False, "type": "raw"}, @@ -48238,6 +50791,7 @@ "singleton": False, "update_payload_keys": [ "helloverifyrequest", + "initialretrytimeout", "maxbadmacignorecount", "maxholdqlen", "maxpacketsize", @@ -48441,7 +50995,7 @@ "update_payload_keys": [], }, "sslglobal_sslpolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -49235,6 +51789,7 @@ "includesubdomains", "insertionencoding", "maxage", + "maxrenegrate", "name", "ocspstapling", "preload", @@ -49299,6 +51854,7 @@ "includesubdomains", "insertionencoding", "maxage", + "maxrenegrate", "name", "nodefaultbindings", "ocspstapling", @@ -49446,6 +52002,7 @@ "type": "raw", }, "maxage": {"no_log": False, "type": "raw"}, + "maxrenegrate": {"no_log": False, "type": "raw"}, "name": {"no_log": False, "type": "raw"}, "ocspstapling": { "choices": ["DISABLED", "ENABLED"], @@ -49602,7 +52159,7 @@ "type": "dict", }, "sslprofiletype": { - "choices": ["BackEnd", "FrontEnd", "QUIC-FrontEnd"], + "choices": ["BackEnd", "FrontEnd", "QUIC-BackEnd", "QUIC-FrontEnd"], "no_log": False, "type": "str", }, @@ -49677,6 +52234,7 @@ "includesubdomains", "insertionencoding", "maxage", + "maxrenegrate", "name", "ocspstapling", "preload", @@ -49740,7 +52298,7 @@ "readwrite_arguments": { "cipherpriority": {"no_log": False, "type": "float"}, "ecccurvename": { - "choices": ["ALL", "P_224", "P_256", "P_384", "P_521"], + "choices": ["ALL", "P_224", "P_256", "P_384", "P_521", "X_25519"], "no_log": False, "type": "str", }, @@ -49933,11 +52491,13 @@ "add_payload_keys": [], "bindings": [ "sslservice_ecccurve_binding", + "sslservice_sslcacertbundle_binding", "sslservice_sslcertkey_binding", "sslservice_sslcipher_binding", "sslservice_sslciphersuite_binding", "sslservice_sslpolicy_binding", "sslservicegroup_ecccurve_binding", + "sslservicegroup_sslcacertbundle_binding", "sslservicegroup_sslcertkey_binding", "sslservicegroup_sslcipher_binding", "sslservicegroup_sslciphersuite_binding", @@ -50063,6 +52623,22 @@ }, "type": "dict", }, + "sslservice_sslcacertbundle_binding": { + "no_log": False, + "options": { + "binding_members": { + "default": [], + "elements": "dict", + "type": "list", + }, + "mode": { + "choices": ["bind", "desired", "unbind"], + "default": "desired", + "type": "str", + }, + }, + "type": "dict", + }, "sslservice_sslcertkey_binding": { "no_log": False, "options": { @@ -50143,6 +52719,22 @@ }, "type": "dict", }, + "sslservicegroup_sslcacertbundle_binding": { + "no_log": False, + "options": { + "binding_members": { + "default": [], + "elements": "dict", + "type": "list", + }, + "mode": { + "choices": ["bind", "desired", "unbind"], + "default": "desired", + "type": "str", + }, + }, + "type": "dict", + }, "sslservicegroup_sslcertkey_binding": { "no_log": False, "options": { @@ -50284,7 +52876,7 @@ "primary_key_composite": [], "readwrite_arguments": { "ecccurvename": { - "choices": ["ALL", "P_224", "P_256", "P_384", "P_521"], + "choices": ["ALL", "P_224", "P_256", "P_384", "P_521", "X_25519"], "no_log": False, "type": "str", }, @@ -50293,6 +52885,35 @@ "singleton": False, "update_payload_keys": [], }, + "sslservice_sslcacertbundle_binding": { + "_supported_operations": ["add", "count", "delete", "get-all", "get-byname"], + "action_payload_keys": { + "create": [], + "force": [], + "import": [], + "link": [], + "switch": [], + "unlink": [], + "unset": [], + }, + "add_payload_keys": ["cacertbundlename", "servicename", "skipcacertbundle"], + "bindprimary_key": "cacertbundlename", + "delete_arg_keys": ["cacertbundlename"], + "disable_payload_keys": [], + "enable_payload_keys": [], + "get_arg_keys": ["cacertbundlename"], + "immutable_keys": ["cacertbundlename", "servicename", "skipcacertbundle"], + "password_keys": [], + "primary_key": "servicename", + "primary_key_composite": [], + "readwrite_arguments": { + "cacertbundlename": {"no_log": False, "type": "str"}, + "servicename": {"no_log": False, "type": "str"}, + "skipcacertbundle": {"no_log": False, "type": "bool"}, + }, + "singleton": False, + "update_payload_keys": [], + }, "sslservice_sslcertkey_binding": { "_supported_operations": ["add", "count", "delete", "get-all", "get-byname"], "action_payload_keys": { @@ -50373,6 +52994,7 @@ "primary_key_composite": [], "readwrite_arguments": { "cipheraliasname": {"no_log": False, "type": "str"}, + "cipherdefaulton": {"no_log": False, "type": "float"}, "ciphername": {"no_log": False, "type": "str"}, "description": {"no_log": False, "type": "str"}, "servicename": {"no_log": False, "type": "str"}, @@ -50402,6 +53024,7 @@ "primary_key": "servicename", "primary_key_composite": [], "readwrite_arguments": { + "cipherdefaulton": {"no_log": False, "type": "float"}, "ciphername": {"no_log": False, "type": "str"}, "description": {"no_log": False, "type": "str"}, "servicename": {"no_log": False, "type": "str"}, @@ -50492,6 +53115,7 @@ "add_payload_keys": [], "bindings": [ "sslservicegroup_ecccurve_binding", + "sslservicegroup_sslcacertbundle_binding", "sslservicegroup_sslcertkey_binding", "sslservicegroup_sslcipher_binding", "sslservicegroup_sslciphersuite_binding", @@ -50556,6 +53180,22 @@ }, "type": "dict", }, + "sslservicegroup_sslcacertbundle_binding": { + "no_log": False, + "options": { + "binding_members": { + "default": [], + "elements": "dict", + "type": "list", + }, + "mode": { + "choices": ["bind", "desired", "unbind"], + "default": "desired", + "type": "str", + }, + }, + "type": "dict", + }, "sslservicegroup_sslcertkey_binding": { "no_log": False, "options": { @@ -50672,7 +53312,7 @@ "primary_key_composite": [], "readwrite_arguments": { "ecccurvename": { - "choices": ["ALL", "P_224", "P_256", "P_384", "P_521"], + "choices": ["ALL", "P_224", "P_256", "P_384", "P_521", "X_25519"], "no_log": False, "type": "str", }, @@ -50681,6 +53321,34 @@ "singleton": False, "update_payload_keys": [], }, + "sslservicegroup_sslcacertbundle_binding": { + "_supported_operations": ["add", "count", "delete", "get-all", "get-byname"], + "action_payload_keys": { + "create": [], + "force": [], + "import": [], + "link": [], + "switch": [], + "unlink": [], + "unset": [], + }, + "add_payload_keys": ["cacertbundlename", "servicegroupname"], + "bindprimary_key": "cacertbundlename", + "delete_arg_keys": ["cacertbundlename"], + "disable_payload_keys": [], + "enable_payload_keys": [], + "get_arg_keys": ["cacertbundlename"], + "immutable_keys": ["cacertbundlename", "servicegroupname"], + "password_keys": [], + "primary_key": "servicegroupname", + "primary_key_composite": [], + "readwrite_arguments": { + "cacertbundlename": {"no_log": False, "type": "str"}, + "servicegroupname": {"no_log": False, "type": "str"}, + }, + "singleton": False, + "update_payload_keys": [], + }, "sslservicegroup_sslcertkey_binding": { "_supported_operations": ["add", "count", "delete", "get-all", "get-byname"], "action_payload_keys": { @@ -50809,6 +53477,7 @@ "cleartextport", "clientauth", "clientcert", + "defaultsni", "dh", "dhcount", "dhekeyexchangewithpsk", @@ -50856,6 +53525,7 @@ "sslvserver_ecccurve_binding", "sslvserver_responderpolicy_binding", "sslvserver_rewritepolicy_binding", + "sslvserver_sslcacertbundle_binding", "sslvserver_sslcertkey_binding", "sslvserver_sslcertkeybundle_binding", "sslvserver_sslcipher_binding", @@ -50889,6 +53559,7 @@ "no_log": False, "type": "raw", }, + "defaultsni": {"no_log": False, "type": "raw"}, "dh": {"choices": ["DISABLED", "ENABLED"], "no_log": False, "type": "raw"}, "dhcount": {"no_log": False, "type": "raw"}, "dhekeyexchangewithpsk": { @@ -51128,6 +53799,22 @@ }, "type": "dict", }, + "sslvserver_sslcacertbundle_binding": { + "no_log": False, + "options": { + "binding_members": { + "default": [], + "elements": "dict", + "type": "list", + }, + "mode": { + "choices": ["bind", "desired", "unbind"], + "default": "desired", + "type": "str", + }, + }, + "type": "dict", + }, "sslvserver_sslcertkey_binding": { "no_log": False, "options": { @@ -51248,6 +53935,7 @@ "cleartextport", "clientauth", "clientcert", + "defaultsni", "dh", "dhcount", "dhekeyexchangewithpsk", @@ -51308,7 +53996,7 @@ "primary_key_composite": [], "readwrite_arguments": { "ecccurvename": { - "choices": ["ALL", "P_224", "P_256", "P_384", "P_521"], + "choices": ["ALL", "P_224", "P_256", "P_384", "P_521", "X_25519"], "no_log": False, "type": "str", }, @@ -51317,6 +54005,35 @@ "singleton": False, "update_payload_keys": [], }, + "sslvserver_sslcacertbundle_binding": { + "_supported_operations": ["add", "count", "delete", "get-all", "get-byname"], + "action_payload_keys": { + "create": [], + "force": [], + "import": [], + "link": [], + "switch": [], + "unlink": [], + "unset": [], + }, + "add_payload_keys": ["cacertbundlename", "skipcacertbundle", "vservername"], + "bindprimary_key": "cacertbundlename", + "delete_arg_keys": ["cacertbundlename"], + "disable_payload_keys": [], + "enable_payload_keys": [], + "get_arg_keys": ["cacertbundlename"], + "immutable_keys": ["cacertbundlename", "skipcacertbundle", "vservername"], + "password_keys": [], + "primary_key": "vservername", + "primary_key_composite": [], + "readwrite_arguments": { + "cacertbundlename": {"no_log": False, "type": "str"}, + "skipcacertbundle": {"no_log": False, "type": "bool"}, + "vservername": {"no_log": False, "type": "str"}, + }, + "singleton": False, + "update_payload_keys": [], + }, "sslvserver_sslcertkey_binding": { "_supported_operations": ["add", "count", "delete", "get-all", "get-byname"], "action_payload_keys": { @@ -51574,6 +54291,9 @@ "appflowlog", "breachthreshold", "interval", + "log", + "loginterval", + "loglimit", "maxtransactionthreshold", "mintransactionthreshold", "name", @@ -51590,6 +54310,9 @@ "appflowlog", "breachthreshold", "interval", + "log", + "loginterval", + "loglimit", "maxtransactionthreshold", "mintransactionthreshold", "name", @@ -51600,7 +54323,7 @@ "trackackonlypackets", "tracktransactions", ], - "bindings": [], + "bindings": ["streamidentifier_analyticsprofile_binding"], "bindprimary_key": "", "delete_arg_keys": [], "disable_payload_keys": [], @@ -51619,6 +54342,9 @@ }, "breachthreshold": {"no_log": False, "type": "raw"}, "interval": {"no_log": False, "type": "raw"}, + "log": {"choices": ["NONE", "SYSLOG"], "no_log": False, "type": "raw"}, + "loginterval": {"no_log": False, "type": "raw"}, + "loglimit": {"no_log": False, "type": "raw"}, "maxtransactionthreshold": {"no_log": False, "type": "raw"}, "mintransactionthreshold": {"no_log": False, "type": "raw"}, "name": {"no_log": False, "type": "raw"}, @@ -51641,6 +54367,22 @@ "no_log": False, "type": "raw", }, + "streamidentifier_analyticsprofile_binding": { + "no_log": False, + "options": { + "binding_members": { + "default": [], + "elements": "dict", + "type": "list", + }, + "mode": { + "choices": ["bind", "desired", "unbind"], + "default": "desired", + "type": "str", + }, + }, + "type": "dict", + }, "trackackonlypackets": { "choices": ["DISABLED", "ENABLED"], "no_log": False, @@ -51658,6 +54400,9 @@ "appflowlog", "breachthreshold", "interval", + "log", + "loginterval", + "loglimit", "maxtransactionthreshold", "mintransactionthreshold", "name", @@ -51669,6 +54414,34 @@ "tracktransactions", ], }, + "streamidentifier_analyticsprofile_binding": { + "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "action_payload_keys": { + "create": [], + "force": [], + "import": [], + "link": [], + "switch": [], + "unlink": [], + "unset": [], + }, + "add_payload_keys": ["analyticsprofile", "name"], + "bindprimary_key": "analyticsprofile", + "delete_arg_keys": ["analyticsprofile"], + "disable_payload_keys": [], + "enable_payload_keys": [], + "get_arg_keys": ["analyticsprofile"], + "immutable_keys": ["analyticsprofile", "name"], + "password_keys": [], + "primary_key": "name", + "primary_key_composite": [], + "readwrite_arguments": { + "analyticsprofile": {"no_log": False, "type": "str"}, + "name": {"no_log": False, "type": "str"}, + }, + "singleton": False, + "update_payload_keys": [], + }, "streamselector": { "_supported_operations": [ "add", @@ -52271,7 +55044,7 @@ "update_payload_keys": [], }, "systemglobal_auditnslogpolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -52349,8 +55122,6 @@ "ISISRouting", "IntegratedCaching", "LB", - "LSN", - "LargeScaleNAT", "LoadBalancing", "NSPush", "NetScalerPush", @@ -52376,7 +55147,6 @@ "SYSTEM", "SureConnect", "SurgeProtection", - "URLFiltering", "VideoOptimization", "WL", "WebLogging", @@ -52404,7 +55174,7 @@ "update_payload_keys": [], }, "systemglobal_auditsyslogpolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -52482,8 +55252,6 @@ "ISISRouting", "IntegratedCaching", "LB", - "LSN", - "LargeScaleNAT", "LoadBalancing", "NSPush", "NetScalerPush", @@ -52509,7 +55277,6 @@ "SYSTEM", "SureConnect", "SurgeProtection", - "URLFiltering", "VideoOptimization", "WL", "WebLogging", @@ -52537,7 +55304,7 @@ "update_payload_keys": [], }, "systemglobal_authenticationldappolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -52615,8 +55382,6 @@ "ISISRouting", "IntegratedCaching", "LB", - "LSN", - "LargeScaleNAT", "LoadBalancing", "NSPush", "NetScalerPush", @@ -52642,7 +55407,6 @@ "SYSTEM", "SureConnect", "SurgeProtection", - "URLFiltering", "VideoOptimization", "WL", "WebLogging", @@ -52670,7 +55434,7 @@ "update_payload_keys": [], }, "systemglobal_authenticationlocalpolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -52748,8 +55512,6 @@ "ISISRouting", "IntegratedCaching", "LB", - "LSN", - "LargeScaleNAT", "LoadBalancing", "NSPush", "NetScalerPush", @@ -52775,7 +55537,6 @@ "SYSTEM", "SureConnect", "SurgeProtection", - "URLFiltering", "VideoOptimization", "WL", "WebLogging", @@ -52803,7 +55564,7 @@ "update_payload_keys": [], }, "systemglobal_authenticationpolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -52881,8 +55642,6 @@ "ISISRouting", "IntegratedCaching", "LB", - "LSN", - "LargeScaleNAT", "LoadBalancing", "NSPush", "NetScalerPush", @@ -52908,7 +55667,6 @@ "SYSTEM", "SureConnect", "SurgeProtection", - "URLFiltering", "VideoOptimization", "WL", "WebLogging", @@ -52936,7 +55694,7 @@ "update_payload_keys": [], }, "systemglobal_authenticationradiuspolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -53014,8 +55772,6 @@ "ISISRouting", "IntegratedCaching", "LB", - "LSN", - "LargeScaleNAT", "LoadBalancing", "NSPush", "NetScalerPush", @@ -53041,7 +55797,6 @@ "SYSTEM", "SureConnect", "SurgeProtection", - "URLFiltering", "VideoOptimization", "WL", "WebLogging", @@ -53069,7 +55824,7 @@ "update_payload_keys": [], }, "systemglobal_authenticationtacacspolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -53147,8 +55902,6 @@ "ISISRouting", "IntegratedCaching", "LB", - "LSN", - "LargeScaleNAT", "LoadBalancing", "NSPush", "NetScalerPush", @@ -53174,7 +55927,6 @@ "SYSTEM", "SureConnect", "SurgeProtection", - "URLFiltering", "VideoOptimization", "WL", "WebLogging", @@ -53450,6 +56202,32 @@ "singleton": True, "update_payload_keys": [], }, + "systemlevelreporting": { + "_supported_operations": ["disable", "enable", "get"], + "action_payload_keys": { + "create": [], + "force": [], + "import": [], + "link": [], + "switch": [], + "unlink": [], + "unset": [], + }, + "add_payload_keys": [], + "bindings": [], + "bindprimary_key": "", + "delete_arg_keys": [], + "disable_payload_keys": [], + "enable_payload_keys": [], + "get_arg_keys": [], + "immutable_keys": [], + "password_keys": [], + "primary_key": "", + "primary_key_composite": [], + "readwrite_arguments": {}, + "singleton": True, + "update_payload_keys": [], + }, "systemparameter": { "_supported_operations": ["get", "unset", "update"], "action_payload_keys": { @@ -53462,6 +56240,7 @@ "unset": [ "basicauth", "cliloglevel", + "daystoexpire", "doppler", "fipsusermode", "forcepasswordchange", @@ -53479,6 +56258,7 @@ "strongpassword", "timeout", "totalauthtimeout", + "warnpriorndays", ], }, "add_payload_keys": [], @@ -53512,6 +56292,7 @@ "no_log": False, "type": "raw", }, + "daystoexpire": {"no_log": False, "type": "raw"}, "doppler": { "choices": ["DISABLED", "ENABLED"], "no_log": False, @@ -53573,11 +56354,13 @@ }, "timeout": {"no_log": False, "type": "raw"}, "totalauthtimeout": {"no_log": False, "type": "raw"}, + "warnpriorndays": {"no_log": False, "type": "raw"}, }, "singleton": True, "update_payload_keys": [ "basicauth", "cliloglevel", + "daystoexpire", "doppler", "fipsusermode", "forcepasswordchange", @@ -53595,6 +56378,7 @@ "strongpassword", "timeout", "totalauthtimeout", + "warnpriorndays", ], }, "systemrestorepoint": { @@ -53938,7 +56722,7 @@ ], }, "tmglobal_auditnslogpolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -53967,7 +56751,7 @@ "update_payload_keys": [], }, "tmglobal_auditsyslogpolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -53996,7 +56780,7 @@ "update_payload_keys": [], }, "tmglobal_tmsessionpolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -54064,8 +56848,6 @@ "ISISRouting", "IntegratedCaching", "LB", - "LSN", - "LargeScaleNAT", "LoadBalancing", "NSPush", "NetScalerPush", @@ -54091,7 +56873,6 @@ "SYSTEM", "SureConnect", "SurgeProtection", - "URLFiltering", "VideoOptimization", "WL", "WebLogging", @@ -54108,7 +56889,7 @@ "update_payload_keys": [], }, "tmglobal_tmtrafficpolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -55081,7 +57862,7 @@ ], }, "transformglobal_transformpolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -55364,7 +58145,7 @@ "update_payload_keys": ["comment", "name", "onlytransformabsurlinbody", "type"], }, "tunnelglobal_tunneltrafficpolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -55437,8 +58218,6 @@ "ISISRouting", "IntegratedCaching", "LB", - "LSN", - "LargeScaleNAT", "LoadBalancing", "NSPush", "NetScalerPush", @@ -55464,7 +58243,6 @@ "SYSTEM", "SureConnect", "SurgeProtection", - "URLFiltering", "VideoOptimization", "WL", "WebLogging", @@ -55969,7 +58747,7 @@ "update_payload_keys": [], }, "videooptimizationglobaldetection_videooptimizationdetectionpolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -56041,7 +58819,7 @@ "update_payload_keys": [], }, "videooptimizationglobalpacing_videooptimizationpacingpolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -56996,7 +59774,7 @@ ], }, "vpnglobal_appcontroller_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -57023,8 +59801,51 @@ "singleton": False, "update_payload_keys": [], }, + "vpnglobal_appfwpolicy_binding": { + "_supported_operations": ["add", "count", "delete", "get"], + "action_payload_keys": { + "create": [], + "force": [], + "import": [], + "link": [], + "switch": [], + "unlink": [], + "unset": [], + }, + "add_payload_keys": [ + "gotopriorityexpression", + "groupextraction", + "policyname", + "priority", + "secondary", + ], + "bindprimary_key": "policyname", + "delete_arg_keys": ["groupextraction", "policyname", "secondary"], + "disable_payload_keys": [], + "enable_payload_keys": [], + "get_arg_keys": ["groupextraction", "policyname", "secondary"], + "immutable_keys": [ + "gotopriorityexpression", + "groupextraction", + "policyname", + "priority", + "secondary", + ], + "password_keys": [], + "primary_key": "", + "primary_key_composite": [], + "readwrite_arguments": { + "gotopriorityexpression": {"no_log": False, "type": "str"}, + "groupextraction": {"no_log": False, "type": "bool"}, + "policyname": {"no_log": False, "type": "str"}, + "priority": {"no_log": False, "type": "float"}, + "secondary": {"no_log": False, "type": "bool"}, + }, + "singleton": False, + "update_payload_keys": [], + }, "vpnglobal_auditnslogpolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -57067,7 +59888,7 @@ "update_payload_keys": [], }, "vpnglobal_auditsyslogpolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -57110,7 +59931,7 @@ "update_payload_keys": [], }, "vpnglobal_authenticationcertpolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -57153,7 +59974,7 @@ "update_payload_keys": [], }, "vpnglobal_authenticationldappolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -57196,7 +60017,7 @@ "update_payload_keys": [], }, "vpnglobal_authenticationlocalpolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -57239,7 +60060,7 @@ "update_payload_keys": [], }, "vpnglobal_authenticationnegotiatepolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -57282,7 +60103,7 @@ "update_payload_keys": [], }, "vpnglobal_authenticationpolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -57325,7 +60146,7 @@ "update_payload_keys": [], }, "vpnglobal_authenticationradiuspolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -57368,7 +60189,7 @@ "update_payload_keys": [], }, "vpnglobal_authenticationsamlpolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -57411,7 +60232,7 @@ "update_payload_keys": [], }, "vpnglobal_authenticationtacacspolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -57454,7 +60275,7 @@ "update_payload_keys": [], }, "vpnglobal_domain_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -57482,7 +60303,7 @@ "update_payload_keys": [], }, "vpnglobal_intranetip6_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -57511,7 +60332,7 @@ "update_payload_keys": [], }, "vpnglobal_intranetip_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -57539,8 +60360,36 @@ "singleton": False, "update_payload_keys": [], }, + "vpnglobal_secureprivateaccessurl_binding": { + "_supported_operations": ["add", "count", "delete", "get"], + "action_payload_keys": { + "create": [], + "force": [], + "import": [], + "link": [], + "switch": [], + "unlink": [], + "unset": [], + }, + "add_payload_keys": ["gotopriorityexpression", "secureprivateaccessurl"], + "bindprimary_key": "secureprivateaccessurl", + "delete_arg_keys": ["secureprivateaccessurl"], + "disable_payload_keys": [], + "enable_payload_keys": [], + "get_arg_keys": ["secureprivateaccessurl"], + "immutable_keys": ["gotopriorityexpression", "secureprivateaccessurl"], + "password_keys": [], + "primary_key": "", + "primary_key_composite": [], + "readwrite_arguments": { + "gotopriorityexpression": {"no_log": False, "type": "str"}, + "secureprivateaccessurl": {"no_log": False, "type": "str"}, + }, + "singleton": False, + "update_payload_keys": [], + }, "vpnglobal_sharefileserver_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -57568,7 +60417,7 @@ "update_payload_keys": [], }, "vpnglobal_sslcertkey_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -57622,7 +60471,7 @@ "update_payload_keys": [], }, "vpnglobal_staserver_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -57655,7 +60504,7 @@ "update_payload_keys": [], }, "vpnglobal_vpnclientlessaccesspolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -57735,8 +60584,6 @@ "ISISRouting", "IntegratedCaching", "LB", - "LSN", - "LargeScaleNAT", "LoadBalancing", "NSPush", "NetScalerPush", @@ -57762,7 +60609,6 @@ "SYSTEM", "SureConnect", "SurgeProtection", - "URLFiltering", "VideoOptimization", "WL", "WebLogging", @@ -57801,7 +60647,7 @@ "update_payload_keys": [], }, "vpnglobal_vpneula_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -57829,7 +60675,7 @@ "update_payload_keys": [], }, "vpnglobal_vpnintranetapplication_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -57857,7 +60703,7 @@ "update_payload_keys": [], }, "vpnglobal_vpnnexthopserver_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -57885,7 +60731,7 @@ "update_payload_keys": [], }, "vpnglobal_vpnportaltheme_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -57913,7 +60759,7 @@ "update_payload_keys": [], }, "vpnglobal_vpnsessionpolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -57993,8 +60839,6 @@ "ISISRouting", "IntegratedCaching", "LB", - "LSN", - "LargeScaleNAT", "LoadBalancing", "NSPush", "NetScalerPush", @@ -58020,7 +60864,6 @@ "SYSTEM", "SureConnect", "SurgeProtection", - "URLFiltering", "VideoOptimization", "WL", "WebLogging", @@ -58039,7 +60882,7 @@ "update_payload_keys": [], }, "vpnglobal_vpntrafficpolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -58082,7 +60925,7 @@ "update_payload_keys": [], }, "vpnglobal_vpnurl_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -58110,7 +60953,7 @@ "update_payload_keys": [], }, "vpnglobal_vpnurlpolicy_binding": { - "_supported_operations": ["add", "count", "delete", "get", "get-all"], + "_supported_operations": ["add", "count", "delete", "get"], "action_payload_keys": { "create": [], "force": [], @@ -58323,6 +61166,7 @@ "switch": [], "unlink": [], "unset": [ + "accessrestrictedpageredirect", "advancedclientlessvpnmode", "allowedlogingroups", "allprotocolproxy", @@ -58360,6 +61204,7 @@ "homepage", "httpport", "httpproxy", + "httptrackconnproxy", "icaproxy", "icasessiontimeout", "icauseraccounting", @@ -58372,6 +61217,7 @@ "loginscript", "logoutscript", "macpluginupgrade", + "maxiipperuser", "mdxtokentimeout", "netmask", "ntdomain", @@ -58383,6 +61229,7 @@ "rfc1918", "samesite", "securebrowse", + "secureprivateaccess", "sesstimeout", "smartgroup", "socksproxy", @@ -58417,6 +61264,11 @@ "primary_key": "", "primary_key_composite": [], "readwrite_arguments": { + "accessrestrictedpageredirect": { + "choices": ["CDN", "NS", "OFF"], + "no_log": False, + "type": "raw", + }, "advancedclientlessvpnmode": { "choices": ["DISABLED", "ENABLED", "STRICT"], "no_log": False, @@ -58527,6 +61379,11 @@ "homepage": {"no_log": False, "type": "raw"}, "httpport": {"no_log": False, "type": "raw"}, "httpproxy": {"no_log": False, "type": "raw"}, + "httptrackconnproxy": { + "choices": ["OFF", "ON"], + "no_log": False, + "type": "raw", + }, "icaproxy": {"choices": ["OFF", "ON"], "no_log": False, "type": "raw"}, "icasessiontimeout": { "choices": ["OFF", "ON"], @@ -58563,6 +61420,7 @@ "no_log": False, "type": "raw", }, + "maxiipperuser": {"no_log": False, "type": "raw"}, "mdxtokentimeout": {"no_log": False, "type": "raw"}, "netmask": {"no_log": False, "type": "raw"}, "ntdomain": {"no_log": False, "type": "raw"}, @@ -58590,6 +61448,11 @@ "no_log": False, "type": "raw", }, + "secureprivateaccess": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, "sesstimeout": {"no_log": False, "type": "raw"}, "smartgroup": {"no_log": False, "type": "raw"}, "socksproxy": {"no_log": False, "type": "raw"}, @@ -58659,6 +61522,7 @@ }, "singleton": True, "update_payload_keys": [ + "accessrestrictedpageredirect", "advancedclientlessvpnmode", "allowedlogingroups", "allprotocolproxy", @@ -58696,6 +61560,7 @@ "homepage", "httpport", "httpproxy", + "httptrackconnproxy", "icaproxy", "icasessiontimeout", "icauseraccounting", @@ -58708,6 +61573,7 @@ "loginscript", "logoutscript", "macpluginupgrade", + "maxiipperuser", "mdxtokentimeout", "netmask", "ntdomain", @@ -58719,6 +61585,7 @@ "rfc1918", "samesite", "securebrowse", + "secureprivateaccess", "sesstimeout", "smartgroup", "socksproxy", @@ -60217,6 +63084,7 @@ "switch": [], "unlink": [], "unset": [ + "accessrestrictedpageredirect", "advancedepa", "appflowlog", "authentication", @@ -60245,9 +63113,11 @@ "name", "netprofile", "pcoipvserverprofilename", + "quicprofilename", "rdpserverprofilename", "rhistate", "samesite", + "secureprivateaccess", "tcpprofilename", "userdomains", "vserverfqdn", @@ -60255,6 +63125,7 @@ ], }, "add_payload_keys": [ + "accessrestrictedpageredirect", "advancedepa", "appflowlog", "authentication", @@ -60288,10 +63159,12 @@ "nodefaultbindings", "pcoipvserverprofilename", "port", + "quicprofilename", "range", "rdpserverprofilename", "rhistate", "samesite", + "secureprivateaccess", "servicetype", "tcpprofilename", "userdomains", @@ -60303,6 +63176,7 @@ "vpnvserver_analyticsprofile_binding", "vpnvserver_appcontroller_binding", "vpnvserver_appflowpolicy_binding", + "vpnvserver_appfwpolicy_binding", "vpnvserver_auditnslogpolicy_binding", "vpnvserver_auditsyslogpolicy_binding", "vpnvserver_authenticationcertpolicy_binding", @@ -60326,6 +63200,7 @@ "vpnvserver_intranetip_binding", "vpnvserver_responderpolicy_binding", "vpnvserver_rewritepolicy_binding", + "vpnvserver_secureprivateaccessurl_binding", "vpnvserver_sharefileserver_binding", "vpnvserver_staserver_binding", "vpnvserver_vpnclientlessaccesspolicy_binding", @@ -60355,6 +63230,11 @@ "primary_key": "name", "primary_key_composite": [], "readwrite_arguments": { + "accessrestrictedpageredirect": { + "choices": ["CDN", "NS", "OFF"], + "no_log": False, + "type": "raw", + }, "advancedepa": {"choices": ["OFF", "ON"], "no_log": False, "type": "raw"}, "appflowlog": { "choices": ["DISABLED", "ENABLED"], @@ -60432,6 +63312,7 @@ "newname": {"no_log": False, "type": "str"}, "pcoipvserverprofilename": {"no_log": False, "type": "raw"}, "port": {"no_log": False, "type": "int"}, + "quicprofilename": {"no_log": False, "type": "raw"}, "range": {"no_log": False, "type": "float"}, "rdpserverprofilename": {"no_log": False, "type": "raw"}, "rhistate": { @@ -60444,7 +63325,16 @@ "no_log": False, "type": "raw", }, - "servicetype": {"choices": ["DTLS", "SSL"], "no_log": False, "type": "str"}, + "secureprivateaccess": { + "choices": ["DISABLED", "ENABLED"], + "no_log": False, + "type": "raw", + }, + "servicetype": { + "choices": ["DTLS", "HTTP_QUIC", "SSL"], + "no_log": False, + "type": "str", + }, "tcpprofilename": {"no_log": False, "type": "raw"}, "userdomains": {"no_log": False, "type": "raw"}, "vpnvserver_aaapreauthenticationpolicy_binding": { @@ -60511,6 +63401,22 @@ }, "type": "dict", }, + "vpnvserver_appfwpolicy_binding": { + "no_log": False, + "options": { + "binding_members": { + "default": [], + "elements": "dict", + "type": "list", + }, + "mode": { + "choices": ["bind", "desired", "unbind"], + "default": "desired", + "type": "str", + }, + }, + "type": "dict", + }, "vpnvserver_auditnslogpolicy_binding": { "no_log": False, "options": { @@ -60879,6 +63785,22 @@ }, "type": "dict", }, + "vpnvserver_secureprivateaccessurl_binding": { + "no_log": False, + "options": { + "binding_members": { + "default": [], + "elements": "dict", + "type": "list", + }, + "mode": { + "choices": ["bind", "desired", "unbind"], + "default": "desired", + "type": "str", + }, + }, + "type": "dict", + }, "vpnvserver_sharefileserver_binding": { "no_log": False, "options": { @@ -61080,6 +64002,7 @@ }, "singleton": False, "update_payload_keys": [ + "accessrestrictedpageredirect", "advancedepa", "appflowlog", "authentication", @@ -61110,9 +64033,11 @@ "name", "netprofile", "pcoipvserverprofilename", + "quicprofilename", "rdpserverprofilename", "rhistate", "samesite", + "secureprivateaccess", "tcpprofilename", "userdomains", "vserverfqdn", @@ -61295,6 +64220,66 @@ "singleton": False, "update_payload_keys": [], }, + "vpnvserver_appfwpolicy_binding": { + "_supported_operations": ["add", "count", "delete", "get-all", "get-byname"], + "action_payload_keys": { + "create": [], + "force": [], + "import": [], + "link": [], + "switch": [], + "unlink": [], + "unset": [], + }, + "add_payload_keys": [ + "bindpoint", + "gotopriorityexpression", + "groupextraction", + "name", + "policy", + "priority", + "secondary", + ], + "bindprimary_key": "policy", + "delete_arg_keys": ["bindpoint", "groupextraction", "policy", "secondary"], + "disable_payload_keys": [], + "enable_payload_keys": [], + "get_arg_keys": ["bindpoint", "groupextraction", "policy", "secondary"], + "immutable_keys": [ + "bindpoint", + "gotopriorityexpression", + "groupextraction", + "name", + "policy", + "priority", + "secondary", + ], + "password_keys": [], + "primary_key": "name", + "primary_key_composite": [], + "readwrite_arguments": { + "bindpoint": { + "choices": [ + "AAA_REQUEST", + "AAA_RESPONSE", + "ICA_REQUEST", + "OTHERTCP_REQUEST", + "REQUEST", + "RESPONSE", + ], + "no_log": False, + "type": "str", + }, + "gotopriorityexpression": {"no_log": False, "type": "str"}, + "groupextraction": {"no_log": False, "type": "bool"}, + "name": {"no_log": False, "type": "str"}, + "policy": {"no_log": False, "type": "str"}, + "priority": {"no_log": False, "type": "float"}, + "secondary": {"no_log": False, "type": "bool"}, + }, + "singleton": False, + "update_payload_keys": [], + }, "vpnvserver_auditnslogpolicy_binding": { "_supported_operations": ["add", "count", "delete", "get-all", "get-byname"], "action_payload_keys": { @@ -62613,6 +65598,34 @@ "singleton": False, "update_payload_keys": [], }, + "vpnvserver_secureprivateaccessurl_binding": { + "_supported_operations": ["add", "count", "delete", "get-all", "get-byname"], + "action_payload_keys": { + "create": [], + "force": [], + "import": [], + "link": [], + "switch": [], + "unlink": [], + "unset": [], + }, + "add_payload_keys": ["name", "secureprivateaccessurl"], + "bindprimary_key": "secureprivateaccessurl", + "delete_arg_keys": ["secureprivateaccessurl"], + "disable_payload_keys": [], + "enable_payload_keys": [], + "get_arg_keys": ["secureprivateaccessurl"], + "immutable_keys": ["name", "secureprivateaccessurl"], + "password_keys": [], + "primary_key": "name", + "primary_key_composite": [], + "readwrite_arguments": { + "name": {"no_log": False, "type": "str"}, + "secureprivateaccessurl": {"no_log": False, "type": "str"}, + }, + "singleton": False, + "update_payload_keys": [], + }, "vpnvserver_sharefileserver_binding": { "_supported_operations": ["add", "count", "delete", "get-all", "get-byname"], "action_payload_keys": { diff --git a/plugins/modules/aaacertparams.py b/plugins/modules/aaacertparams.py index edabbb480..c0a1442ea 100644 --- a/plugins/modules/aaacertparams.py +++ b/plugins/modules/aaacertparams.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: aaacertparams short_description: Configuration for certificate parameter resource. description: Configuration for certificate parameter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,16 +39,16 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str defaultauthenticationgroup: - type: raw + type: str description: - This is the default group that is chosen when the authentication succeeds in addition to extracted groups. groupnamefield: - type: raw + type: str description: - Client certificate field that specifies the group, in the format :. usernamefield: - type: raw + type: str description: - Client certificate field that contains the username, in the format :. extends_documentation_fragment: netscaler.adc.netscaler_adc @@ -54,6 +56,22 @@ """ EXAMPLES = r""" +--- +- name: Sample aaacertparams playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaacertparams + delegate_to: localhost + netscaler.adc.aaacertparams: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + usernamefield: Subject:CN + groupnamefield: Subject:OU + defaultauthenticationgroup: abc """ RETURN = r""" diff --git a/plugins/modules/aaaglobal_aaapreauthenticationpolicy_binding.py b/plugins/modules/aaaglobal_aaapreauthenticationpolicy_binding.py index 27b07a5e2..f692b54d1 100644 --- a/plugins/modules/aaaglobal_aaapreauthenticationpolicy_binding.py +++ b/plugins/modules/aaaglobal_aaapreauthenticationpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: aaaglobal_aaapreauthenticationpolicy_binding short_description: Binding Resource definition for describing association between aaaglobal and aaapreauthenticationpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/aaaglobal_authenticationnegotiateaction_binding.py b/plugins/modules/aaaglobal_authenticationnegotiateaction_binding.py index f161ce826..a62c98404 100644 --- a/plugins/modules/aaaglobal_authenticationnegotiateaction_binding.py +++ b/plugins/modules/aaaglobal_authenticationnegotiateaction_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: aaaglobal_authenticationnegotiateaction_binding short_description: Binding Resource definition for describing association between aaaglobal and authenticationnegotiateaction resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/aaagroup.py b/plugins/modules/aaagroup.py index 9ae0b855a..b4b3a43ff 100644 --- a/plugins/modules/aaagroup.py +++ b/plugins/modules/aaagroup.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: aaagroup short_description: Configuration for AAA group resource. description: Configuration for AAA group resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -362,6 +364,20 @@ """ EXAMPLES = r""" +--- +- name: Sample aaagroup playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaagroup + delegate_to: localhost + netscaler.adc.aaagroup: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + groupname: External """ RETURN = r""" diff --git a/plugins/modules/aaagroup_aaauser_binding.py b/plugins/modules/aaagroup_aaauser_binding.py index 22ed325b0..102f3469b 100644 --- a/plugins/modules/aaagroup_aaauser_binding.py +++ b/plugins/modules/aaagroup_aaauser_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: aaagroup_aaauser_binding short_description: Binding Resource definition for describing association between aaagroup and aaauser resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -81,6 +83,21 @@ """ EXAMPLES = r""" +--- +- name: Sample aaagroup_aaauser_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaagroup_aaauser_binding + delegate_to: localhost + netscaler.adc.aaagroup_aaauser_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + groupname: group1 + username: user1 """ RETURN = r""" diff --git a/plugins/modules/aaagroup_auditnslogpolicy_binding.py b/plugins/modules/aaagroup_auditnslogpolicy_binding.py index b04864f0e..350fdaf5f 100644 --- a/plugins/modules/aaagroup_auditnslogpolicy_binding.py +++ b/plugins/modules/aaagroup_auditnslogpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: aaagroup_auditnslogpolicy_binding short_description: Binding Resource definition for describing association between aaagroup and auditnslogpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -97,6 +99,21 @@ """ EXAMPLES = r""" +--- +- name: Sample aaagroup_auditnslogpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaagroup_auditnslogpolicy_binding + delegate_to: localhost + netscaler.adc.aaagroup_auditnslogpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + groupname: aaagrp + policy: ia_nspol1 """ RETURN = r""" diff --git a/plugins/modules/aaagroup_auditsyslogpolicy_binding.py b/plugins/modules/aaagroup_auditsyslogpolicy_binding.py index 6bb5be52f..cde22476d 100644 --- a/plugins/modules/aaagroup_auditsyslogpolicy_binding.py +++ b/plugins/modules/aaagroup_auditsyslogpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: aaagroup_auditsyslogpolicy_binding short_description: Binding Resource definition for describing association between aaagroup and auditsyslogpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -97,6 +99,21 @@ """ EXAMPLES = r""" +--- +- name: Sample aaagroup_auditsyslogpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaagroup_auditsyslogpolicy_binding + delegate_to: localhost + netscaler.adc.aaagroup_auditsyslogpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + groupname: aaagrp + policy: ia_syspol1 """ RETURN = r""" diff --git a/plugins/modules/aaagroup_authorizationpolicy_binding.py b/plugins/modules/aaagroup_authorizationpolicy_binding.py index ad3c88542..b863cafc3 100644 --- a/plugins/modules/aaagroup_authorizationpolicy_binding.py +++ b/plugins/modules/aaagroup_authorizationpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: aaagroup_authorizationpolicy_binding short_description: Binding Resource definition for describing association between aaagroup and authorizationpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -72,6 +74,22 @@ """ EXAMPLES = r""" +--- +- name: Sample aaagroup_authorizationpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaagroup_authorizationpolicy_binding + delegate_to: localhost + netscaler.adc.aaagroup_authorizationpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + groupname: aaagrp1 + policy: ia_authorpol1 + priority: '11' """ RETURN = r""" diff --git a/plugins/modules/aaagroup_intranetip6_binding.py b/plugins/modules/aaagroup_intranetip6_binding.py index ff330e531..95cfaa091 100644 --- a/plugins/modules/aaagroup_intranetip6_binding.py +++ b/plugins/modules/aaagroup_intranetip6_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: aaagroup_intranetip6_binding short_description: Binding Resource definition for describing association between aaagroup and intranetip6 resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/aaagroup_intranetip_binding.py b/plugins/modules/aaagroup_intranetip_binding.py index df7c4620b..f818d2c38 100644 --- a/plugins/modules/aaagroup_intranetip_binding.py +++ b/plugins/modules/aaagroup_intranetip_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: aaagroup_intranetip_binding short_description: Binding Resource definition for describing association between aaagroup and intranetip resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -85,6 +87,22 @@ """ EXAMPLES = r""" +--- +- name: Sample aaagroup_intranetip_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaagroup_intranetip_binding + delegate_to: localhost + netscaler.adc.aaagroup_intranetip_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + groupname: group1 + intranetip: 192.168.1.80 + netmask: 255.255.255.240 """ RETURN = r""" diff --git a/plugins/modules/aaagroup_tmsessionpolicy_binding.py b/plugins/modules/aaagroup_tmsessionpolicy_binding.py index 0a7147951..a3b3349b1 100644 --- a/plugins/modules/aaagroup_tmsessionpolicy_binding.py +++ b/plugins/modules/aaagroup_tmsessionpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: aaagroup_tmsessionpolicy_binding short_description: Binding Resource definition for describing association between aaagroup and tmsessionpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -72,6 +74,21 @@ """ EXAMPLES = r""" +--- +- name: Sample aaagroup_tmsessionpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaagroup_tmsessionpolicy_binding + delegate_to: localhost + netscaler.adc.aaagroup_tmsessionpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + groupname: aaagrp1 + policy: ia_tmsespol1 """ RETURN = r""" diff --git a/plugins/modules/aaagroup_vpnintranetapplication_binding.py b/plugins/modules/aaagroup_vpnintranetapplication_binding.py index d8602f322..642089aab 100644 --- a/plugins/modules/aaagroup_vpnintranetapplication_binding.py +++ b/plugins/modules/aaagroup_vpnintranetapplication_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: aaagroup_vpnintranetapplication_binding short_description: Binding Resource definition for describing association between aaagroup and vpnintranetapplication resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -81,6 +83,21 @@ """ EXAMPLES = r""" +--- +- name: Sample aaagroup_vpnintranetapplication_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaagroup_vpnintranetapplication_binding + delegate_to: localhost + netscaler.adc.aaagroup_vpnintranetapplication_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + groupname: group1 + intranetapplication: intra_app2 """ RETURN = r""" diff --git a/plugins/modules/aaagroup_vpnsessionpolicy_binding.py b/plugins/modules/aaagroup_vpnsessionpolicy_binding.py index 21e726c21..ce792f5ac 100644 --- a/plugins/modules/aaagroup_vpnsessionpolicy_binding.py +++ b/plugins/modules/aaagroup_vpnsessionpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: aaagroup_vpnsessionpolicy_binding short_description: Binding Resource definition for describing association between aaagroup and vpnsessionpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -72,6 +74,23 @@ """ EXAMPLES = r""" +--- +- name: Sample aaagroup_vpnsessionpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaagroup_vpnsessionpolicy_binding + delegate_to: localhost + netscaler.adc.aaagroup_vpnsessionpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + groupname: External + policy: External_receiver_session_pol + priority: '110' + gotopriorityexpression: NEXT """ RETURN = r""" diff --git a/plugins/modules/aaagroup_vpntrafficpolicy_binding.py b/plugins/modules/aaagroup_vpntrafficpolicy_binding.py index 4121cbeee..6a3147c19 100644 --- a/plugins/modules/aaagroup_vpntrafficpolicy_binding.py +++ b/plugins/modules/aaagroup_vpntrafficpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: aaagroup_vpntrafficpolicy_binding short_description: Binding Resource definition for describing association between aaagroup and vpntrafficpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/aaagroup_vpnurl_binding.py b/plugins/modules/aaagroup_vpnurl_binding.py index d07b52525..269264ea6 100644 --- a/plugins/modules/aaagroup_vpnurl_binding.py +++ b/plugins/modules/aaagroup_vpnurl_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: aaagroup_vpnurl_binding short_description: Binding Resource definition for describing association between aaagroup and vpnurl resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -81,6 +83,21 @@ """ EXAMPLES = r""" +--- +- name: Sample aaagroup_vpnurl_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaagroup_vpnurl_binding + delegate_to: localhost + netscaler.adc.aaagroup_vpnurl_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + groupname: baluGrp2 + urlname: sp2k7FqdnHttps """ RETURN = r""" diff --git a/plugins/modules/aaagroup_vpnurlpolicy_binding.py b/plugins/modules/aaagroup_vpnurlpolicy_binding.py index 8d65d02d7..3f50a8238 100644 --- a/plugins/modules/aaagroup_vpnurlpolicy_binding.py +++ b/plugins/modules/aaagroup_vpnurlpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: aaagroup_vpnurlpolicy_binding short_description: Binding Resource definition for describing association between aaagroup and vpnurlpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/aaakcdaccount.py b/plugins/modules/aaakcdaccount.py index ad57d53bd..ed5a630c8 100644 --- a/plugins/modules/aaakcdaccount.py +++ b/plugins/modules/aaakcdaccount.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: aaakcdaccount short_description: Configuration for Kerberos constrained delegation account resource. description: Configuration for Kerberos constrained delegation account resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str cacert: - type: raw + type: str description: - CA Cert for UserCert or when doing PKINIT backchannel. delegateduser: @@ -47,12 +49,12 @@ description: - Username that can perform kerberos constrained delegation. enterpriserealm: - type: raw + type: str description: - Enterprise Realm of the user. This should be given only in certain KDC deployments where KDC expects Enterprise username instead of Principal Name kcdaccount: - type: raw + type: str description: - The name of the KCD account. kcdpassword: @@ -60,7 +62,7 @@ description: - Password for Delegated User. keytab: - type: raw + type: str description: - The path to the keytab file. If specified other parameters in this command need not be given @@ -69,16 +71,16 @@ description: - Kerberos Realm. servicespn: - type: raw + type: str description: - Service SPN. When specified, this will be used to fetch kerberos tickets. If not specified, Citrix ADC will construct SPN using service fqdn usercert: - type: raw + type: str description: - SSL Cert (including private key) for Delegated User. userrealm: - type: raw + type: str description: - Realm of the user extends_documentation_fragment: netscaler.adc.netscaler_adc @@ -86,6 +88,21 @@ """ EXAMPLES = r""" +--- +- name: Sample aaakcdaccount playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaakcdaccount + delegate_to: localhost + netscaler.adc.aaakcdaccount: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + kcdaccount: kcdaccount1 + realmstr: dnpg """ RETURN = r""" diff --git a/plugins/modules/aaaldapparams.py b/plugins/modules/aaaldapparams.py index febbd2bff..6ffa2225a 100644 --- a/plugins/modules/aaaldapparams.py +++ b/plugins/modules/aaaldapparams.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: aaaldapparams short_description: Configuration for LDAP parameter resource. description: Configuration for LDAP parameter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,64 +39,64 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str authtimeout: - type: raw + type: float description: - Maximum number of seconds that the Citrix ADC waits for a response from the LDAP server. defaultauthenticationgroup: - type: raw + type: str description: - This is the default group that is chosen when the authentication succeeds in addition to extracted groups. groupattrname: - type: raw + type: str description: - Attribute name used for group extraction from the LDAP server. groupnameidentifier: - type: raw + type: str description: - LDAP-group attribute that uniquely identifies the group. No two groups on one LDAP server can have the same group name identifier. groupsearchattribute: - type: raw + type: str description: - LDAP-group attribute that designates the parent group of the specified group. Use this attribute to search for a group's parent group. groupsearchfilter: - type: raw + type: str description: - Search-expression that can be specified for sending group-search requests to the LDAP server. groupsearchsubattribute: - type: raw + type: str description: - LDAP-group subattribute that designates the parent group of the specified group. Use this attribute to search for a group's parent group. ldapbase: - type: raw + type: str description: - Base (the server and location) from which LDAP search commands should start. - If the LDAP server is running locally, the default value of base is dc=netscaler, dc=com. ldapbinddn: - type: raw + type: str description: - Complete distinguished name (DN) string used for binding to the LDAP server. ldapbinddnpassword: - type: raw + type: str description: - Password for binding to the LDAP server. ldaploginname: - type: raw + type: str description: - Name attribute that the Citrix ADC uses to query the external LDAP server or an Active Directory. maxnestinglevel: - type: raw + type: float description: - Number of levels up to which the system can query nested LDAP groups. nestedgroupextraction: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -102,14 +104,14 @@ - Queries the external LDAP server to determine whether the specified group belongs to another group. passwdchange: - type: raw + type: str choices: - ENABLED - DISABLED description: - Accept password change requests. searchfilter: - type: raw + type: str description: - String to be combined with the default LDAP user search string to form the value to use when executing an LDAP search. @@ -120,7 +122,7 @@ LDAP search string:' - '""(&(vpnallowed=true)(samaccount=bob)""' sectype: - type: raw + type: str choices: - PLAINTEXT - TLS @@ -129,25 +131,25 @@ - Type of security used for communications between the Citrix ADC and the LDAP server. For the C(PLAINTEXT) setting, no encryption is required. serverip: - type: raw + type: str description: - IP address of your LDAP server. serverport: - type: raw + type: int description: - Port number on which the LDAP server listens for connections. ssonameattribute: - type: raw + type: str description: - Attribute used by the Citrix ADC to query an external LDAP server or Active Directory for an alternative username. - This alternative username is then used for single sign-on (SSO). subattributename: - type: raw + type: str description: - Subattribute name used for group extraction from the LDAP server. svrtype: - type: raw + type: str choices: - AD - NDS @@ -158,6 +160,20 @@ """ EXAMPLES = r""" +--- +- name: Sample aaaldapparams playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaaldapparams + delegate_to: localhost + netscaler.adc.aaaldapparams: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + sectype: PLAINTEXT """ RETURN = r""" diff --git a/plugins/modules/aaaotpparameter.py b/plugins/modules/aaaotpparameter.py index 428ba4373..eb81daae1 100644 --- a/plugins/modules/aaaotpparameter.py +++ b/plugins/modules/aaaotpparameter.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: aaaotpparameter short_description: Configuration for AAA otpparameter resource. description: Configuration for AAA otpparameter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,14 +39,14 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str encryption: - type: raw + type: str choices: - 'ON' - 'OFF' description: - To encrypt otp secret in AD or not. Default value is C(OFF) maxotpdevices: - type: raw + type: float description: - Maximum number of otp devices user can register. Default value is 4. Max value is 255 diff --git a/plugins/modules/aaaparameter.py b/plugins/modules/aaaparameter.py index acb9fa5d2..e40ed0047 100644 --- a/plugins/modules/aaaparameter.py +++ b/plugins/modules/aaaparameter.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: aaaparameter short_description: Configuration for AAA parameter resource. description: Configuration for AAA parameter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,7 +39,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str aaadloglevel: - type: raw + type: str choices: - EMERGENCY - ALERT @@ -59,11 +61,11 @@ - '* C(INFORMATIONAL) - All but low-level events.' - '* C(DEBUG) - All events, in extreme detail.' aaadnatip: - type: raw + type: str description: - Source IP address to use for traffic that is sent to the authentication server. aaasessionloglevel: - type: raw + type: str choices: - EMERGENCY - ALERT @@ -86,14 +88,14 @@ - '* C(INFORMATIONAL) - All but low-level events.' - '* C(DEBUG) - All events, in extreme detail.' apitokencache: - type: raw + type: str choices: - ENABLED - DISABLED description: - Option to enable/disable API cache feature. defaultauthtype: - type: raw + type: str choices: - LOCAL - LDAP @@ -103,21 +105,21 @@ description: - The default authentication server type. defaultcspheader: - type: raw + type: str choices: - ENABLED - DISABLED description: - Parameter to enable/disable default CSP header dynaddr: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Set by the DHCP client when the IP address was fetched dynamically. enableenhancedauthfeedback: - type: raw + type: str choices: - 'YES' - 'NO' @@ -125,27 +127,34 @@ - Enhanced auth feedback provides more information to the end user about the reason for an authentication failure. The default value is set to C(NO). enablesessionstickiness: - type: raw + type: str choices: - 'YES' - 'NO' description: - Enables/Disables stickiness to authentication servers enablestaticpagecaching: - type: raw + type: str choices: - 'YES' - 'NO' description: - The default state of VPN Static Page caching. Static Page caching is enabled by default. + enhancedepa: + type: str + choices: + - ENABLED + - DISABLED + description: + - Parameter to enable/disable EPA v2 functionality failedlogintimeout: type: float description: - Number of minutes an account will be locked if user exceeds maximum permissible attempts ftmode: - type: raw + type: str choices: - 'ON' - HA @@ -154,50 +163,50 @@ - First time user mode determines which configuration options are shown by default when logging in to the GUI. This setting is controlled by the GUI. httponlycookie: - type: raw + type: str choices: - ENABLED - DISABLED description: - Parameter to set/reset HttpOnly Flag for NSC_AAAC/NSC_TMAS cookies in nfactor loginencryption: - type: raw + type: str choices: - ENABLED - DISABLED description: - Parameter to encrypt login information for nFactor flow maxaaausers: - type: raw + type: float description: - Maximum number of concurrent users allowed to log on to VPN simultaneously. maxkbquestions: - type: raw + type: float description: - This will set maximum number of Questions to be asked for KB Validation. Default value is 2, Max Value is 6 maxloginattempts: - type: raw + type: float description: - Maximum Number of login Attempts maxsamldeflatesize: - type: raw + type: float description: - This will set the maximum deflate size in case of SAML Redirect binding. persistentloginattempts: - type: raw + type: str choices: - ENABLED - DISABLED description: - Persistent storage of unsuccessful user login attempts pwdexpirynotificationdays: - type: raw + type: float description: - This will set the threshold time in days for password expiry notification. Default value is 0, which means no notification is sent samesite: - type: raw + type: str choices: - None - LAX @@ -206,26 +215,61 @@ - SameSite attribute value for Cookies generated in AAATM context. This attribute value will be appended only for the cookies which are specified in the builtin patset ns_cookies_samesite + securityinsights: + type: str + choices: + - ENABLED + - DISABLED + description: + - On enabling this option, the Citrix ADC will send the security insight records + to the configured collectors when request comes to Authentication endpoint. + - '* If cs vserver is frontend with Authentication vserver as target for cs + action, then record is sent using Authentication vserver name.' + - '* If vpn/lb/cs vserver are configured with Authentication ON, then then record + is sent using vpn/lb/cs vserver name accordingly.' + - '* If authentication vserver is frontend, then record is sent using Authentication + vserver name.' tokenintrospectioninterval: - type: raw + type: float description: - Frequency at which a token must be verified at the Authorization Server (AS) despite being found in cache. + wafprotection: + type: list + choices: + - DISABLED + - AUTH + - VPN + description: + - Entities for which WAF Protection need to be applied. + - 'Available settings function as follows:' + - '* C(AUTH) - Endpoints used for Authentication applicable for both AAATM, + IDP, GATEWAY use cases.' + - '* C(VPN) - Endpoints used for Gateway use cases.' + - '* C(DISABLED) - No Endpoint WAF protection.' + - Currently supported only in default partition + elements: str extends_documentation_fragment: netscaler.adc.netscaler_adc """ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample aaaparameter playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | aaaparameter + - name: Configure aaaparameter delegate_to: localhost netscaler.adc.aaaparameter: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present maxaaausers: '4294967295' + aaasessionloglevel: DEBUG + aaadloglevel: ALERT """ RETURN = r""" diff --git a/plugins/modules/aaapreauthenticationaction.py b/plugins/modules/aaapreauthenticationaction.py index e8ef3a7c0..ddf8ec891 100644 --- a/plugins/modules/aaapreauthenticationaction.py +++ b/plugins/modules/aaapreauthenticationaction.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: aaapreauthenticationaction short_description: Configuration for pre authentication action resource. description: Configuration for pre authentication action resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,21 +41,21 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str defaultepagroup: - type: raw + type: str description: - This is the default group that is chosen when the EPA check succeeds. deletefiles: - type: raw + type: str description: - String specifying the path(s) and name(s) of the files to be deleted by the endpoint analysis (EPA) tool. killprocess: - type: raw + type: str description: - String specifying the name of a process to be terminated by the endpoint analysis (EPA) tool. name: - type: raw + type: str description: - Name for the preauthentication action. Must begin with a letter, number, or the underscore character (_), and must consist only of letters, numbers, and @@ -76,6 +78,21 @@ """ EXAMPLES = r""" +--- +- name: Sample aaapreauthenticationaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaapreauthenticationaction + delegate_to: localhost + netscaler.adc.aaapreauthenticationaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: preact + preauthenticationaction: ALLOW """ RETURN = r""" diff --git a/plugins/modules/aaapreauthenticationparameter.py b/plugins/modules/aaapreauthenticationparameter.py index 53a2e9ee9..67d92a07b 100644 --- a/plugins/modules/aaapreauthenticationparameter.py +++ b/plugins/modules/aaapreauthenticationparameter.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: aaapreauthenticationparameter short_description: Configuration for pre authentication parameter resource. description: Configuration for pre authentication parameter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,23 +39,23 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str deletefiles: - type: raw + type: str description: - String specifying the path(s) to and name(s) of the files to be deleted by the EPA tool, as a string of between 1 and 1023 characters. killprocess: - type: raw + type: str description: - String specifying the name of a process to be terminated by the EPA tool. preauthenticationaction: - type: raw + type: str choices: - ALLOW - DENY description: - Deny or allow login on the basis of end point analysis results. rule: - type: raw + type: str description: - Name of the Citrix ADC named rule, or an expression, to be evaluated by the EPA tool. diff --git a/plugins/modules/aaapreauthenticationpolicy.py b/plugins/modules/aaapreauthenticationpolicy.py index 98d3b4c88..85d58b567 100644 --- a/plugins/modules/aaapreauthenticationpolicy.py +++ b/plugins/modules/aaapreauthenticationpolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: aaapreauthenticationpolicy short_description: Configuration for pre authentication policy resource. description: Configuration for pre authentication policy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -63,6 +65,22 @@ """ EXAMPLES = r""" +--- +- name: Sample aaapreauthenticationpolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaapreauthenticationpolicy + delegate_to: localhost + netscaler.adc.aaapreauthenticationpolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: preact + rule: client.os(win8.1) exists || client.os(win8) exists + reqaction: preact """ RETURN = r""" diff --git a/plugins/modules/aaaradiusparams.py b/plugins/modules/aaaradiusparams.py index 982beff40..b0e135cdb 100644 --- a/plugins/modules/aaaradiusparams.py +++ b/plugins/modules/aaaradiusparams.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: aaaradiusparams short_description: Configuration for RADIUS parameter resource. description: Configuration for RADIUS parameter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,31 +39,31 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str accounting: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Configure the RADIUS server state to accept or refuse accounting messages. authentication: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Configure the RADIUS server state to accept or refuse authentication messages. authservretry: - type: raw + type: float description: - Number of retry by the Citrix ADC before getting response from the RADIUS server. authtimeout: - type: raw + type: float description: - Maximum number of seconds that the Citrix ADC waits for a response from the RADIUS server. callingstationid: - type: raw + type: str choices: - ENABLED - DISABLED @@ -69,21 +71,21 @@ - Send Calling-Station-ID of the client to the RADIUS server. IP Address of the client is sent as its Calling-Station-ID. defaultauthenticationgroup: - type: raw + type: str description: - This is the default group that is chosen when the authentication succeeds in addition to extracted groups. ipattributetype: - type: raw + type: float description: - IP attribute type in the RADIUS response. ipvendorid: - type: raw + type: float description: - Vendor ID attribute in the RADIUS response. - If the attribute is not vendor-encoded, it is set to 0. passencoding: - type: raw + type: str choices: - pap - chap @@ -93,25 +95,25 @@ - Enable password encoding in RADIUS packets that the Citrix ADC sends to the RADIUS server. pwdattributetype: - type: raw + type: float description: - Attribute type of the Vendor ID in the RADIUS response. pwdvendorid: - type: raw + type: float description: - Vendor ID of the password in the RADIUS response. Used to extract the user password. radattributetype: - type: raw + type: float description: - Attribute type for RADIUS group extraction. radgroupseparator: - type: raw + type: str description: - Group separator string that delimits group names within a RADIUS attribute for RADIUS group extraction. radgroupsprefix: - type: raw + type: str description: - Prefix string that precedes group names within a RADIUS attribute for RADIUS group extraction. @@ -121,12 +123,12 @@ - The key shared between the RADIUS server and clients. - Required for allowing the Citrix ADC to communicate with the RADIUS server. radnasid: - type: raw + type: str description: - Send the Network Access Server ID (NASID) for your Citrix ADC to the RADIUS server as the nasid part of the Radius protocol. radnasip: - type: raw + type: str choices: - ENABLED - DISABLED @@ -134,19 +136,19 @@ - Send the Citrix ADC IP (NSIP) address to the RADIUS server as the Network Access Server IP (NASIP) part of the Radius protocol. radvendorid: - type: raw + type: float description: - Vendor ID for RADIUS group extraction. serverip: - type: raw + type: str description: - IP address of your RADIUS server. serverport: - type: raw + type: int description: - Port number on which the RADIUS server listens for connections. tunnelendpointclientip: - type: raw + type: str choices: - ENABLED - DISABLED @@ -157,6 +159,21 @@ """ EXAMPLES = r""" +--- +- name: Sample aaaradiusparams playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaaradiusparams + delegate_to: localhost + netscaler.adc.aaaradiusparams: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + serverip: 10.102.25.64 + radkey: test123 """ RETURN = r""" diff --git a/plugins/modules/aaasession.py b/plugins/modules/aaasession.py index 35cba531b..bb83c1655 100644 --- a/plugins/modules/aaasession.py +++ b/plugins/modules/aaasession.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: aaasession short_description: Configuration for active connection resource. description: Configuration for active connection resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: [] diff --git a/plugins/modules/aaassoprofile.py b/plugins/modules/aaassoprofile.py index 9b754b3d3..bfe224457 100644 --- a/plugins/modules/aaassoprofile.py +++ b/plugins/modules/aaassoprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: aaassoprofile short_description: Configuration for aaa sso profile resource. description: Configuration for aaa sso profile resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/aaatacacsparams.py b/plugins/modules/aaatacacsparams.py index b21623748..bde0b0e49 100644 --- a/plugins/modules/aaatacacsparams.py +++ b/plugins/modules/aaatacacsparams.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: aaatacacsparams short_description: Configuration for tacacs parameters resource. description: Configuration for tacacs parameters resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,50 +39,50 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str accounting: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Send accounting messages to the TACACS+ server. auditfailedcmds: - type: raw + type: str choices: - 'ON' - 'OFF' description: - The option for sending accounting messages to the TACACS+ server. authorization: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Use streaming authorization on the TACACS+ server. authtimeout: - type: raw + type: float description: - Maximum number of seconds that the Citrix ADC waits for a response from the TACACS+ server. defaultauthenticationgroup: - type: raw + type: str description: - This is the default group that is chosen when the authentication succeeds in addition to extracted groups. groupattrname: - type: raw + type: str description: - TACACS+ group attribute name.Used for group extraction on the TACACS+ server. serverip: - type: raw + type: str description: - IP address of your TACACS+ server. serverport: - type: raw + type: int description: - Port number on which the TACACS+ server listens for connections. tacacssecret: - type: raw + type: str description: - Key shared between the TACACS+ server and clients. Required for allowing the Citrix ADC to communicate with the TACACS+ server. @@ -89,6 +91,21 @@ """ EXAMPLES = r""" +--- +- name: Sample aaatacacsparams playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaatacacsparams + delegate_to: localhost + netscaler.adc.aaatacacsparams: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + serverip: 10.102.25.65 + tacacssecret: REQ_PASSWORD """ RETURN = r""" diff --git a/plugins/modules/aaauser.py b/plugins/modules/aaauser.py index a7a4834f2..e5eef20cf 100644 --- a/plugins/modules/aaauser.py +++ b/plugins/modules/aaauser.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: aaauser short_description: Configuration for AAA user resource. description: Configuration for AAA user resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -340,6 +342,20 @@ """ EXAMPLES = r""" +--- +- name: Sample aaauser playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaauser + delegate_to: localhost + netscaler.adc.aaauser: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + username: msiuser1 """ RETURN = r""" diff --git a/plugins/modules/aaauser_auditnslogpolicy_binding.py b/plugins/modules/aaauser_auditnslogpolicy_binding.py index 85134d70b..23371eb71 100644 --- a/plugins/modules/aaauser_auditnslogpolicy_binding.py +++ b/plugins/modules/aaauser_auditnslogpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: aaauser_auditnslogpolicy_binding short_description: Binding Resource definition for describing association between aaauser and auditnslogpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -97,6 +99,21 @@ """ EXAMPLES = r""" +--- +- name: Sample aaauser_auditnslogpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaauser_auditnslogpolicy_binding + delegate_to: localhost + netscaler.adc.aaauser_auditnslogpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + username: aaauser + policy: ia_nspol1 """ RETURN = r""" diff --git a/plugins/modules/aaauser_auditsyslogpolicy_binding.py b/plugins/modules/aaauser_auditsyslogpolicy_binding.py index 34743966d..95266e438 100644 --- a/plugins/modules/aaauser_auditsyslogpolicy_binding.py +++ b/plugins/modules/aaauser_auditsyslogpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: aaauser_auditsyslogpolicy_binding short_description: Binding Resource definition for describing association between aaauser and auditsyslogpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -97,6 +99,21 @@ """ EXAMPLES = r""" +--- +- name: Sample aaauser_auditsyslogpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaauser_auditsyslogpolicy_binding + delegate_to: localhost + netscaler.adc.aaauser_auditsyslogpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + username: aaauser + policy: ia_syspol1 """ RETURN = r""" diff --git a/plugins/modules/aaauser_authorizationpolicy_binding.py b/plugins/modules/aaauser_authorizationpolicy_binding.py index c6d7259df..c3aac78ca 100644 --- a/plugins/modules/aaauser_authorizationpolicy_binding.py +++ b/plugins/modules/aaauser_authorizationpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: aaauser_authorizationpolicy_binding short_description: Binding Resource definition for describing association between aaauser and authorizationpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -72,6 +74,21 @@ """ EXAMPLES = r""" +--- +- name: Sample aaauser_authorizationpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaauser_authorizationpolicy_binding + delegate_to: localhost + netscaler.adc.aaauser_authorizationpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + username: ns + policy: deny_raaga """ RETURN = r""" diff --git a/plugins/modules/aaauser_intranetip6_binding.py b/plugins/modules/aaauser_intranetip6_binding.py index e081ce0b7..f437c0fe5 100644 --- a/plugins/modules/aaauser_intranetip6_binding.py +++ b/plugins/modules/aaauser_intranetip6_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: aaauser_intranetip6_binding short_description: Binding Resource definition for describing association between aaauser and intranetip6 resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/aaauser_intranetip_binding.py b/plugins/modules/aaauser_intranetip_binding.py index 1efc73cb6..aadd784fc 100644 --- a/plugins/modules/aaauser_intranetip_binding.py +++ b/plugins/modules/aaauser_intranetip_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: aaauser_intranetip_binding short_description: Binding Resource definition for describing association between aaauser and intranetip resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -85,6 +87,22 @@ """ EXAMPLES = r""" +--- +- name: Sample aaauser_intranetip_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaauser_intranetip_binding + delegate_to: localhost + netscaler.adc.aaauser_intranetip_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + username: test + intranetip: 10.102.111.13 + netmask: 255.255.255.255 """ RETURN = r""" diff --git a/plugins/modules/aaauser_tmsessionpolicy_binding.py b/plugins/modules/aaauser_tmsessionpolicy_binding.py index e8e2ddeff..ee67b3b3a 100644 --- a/plugins/modules/aaauser_tmsessionpolicy_binding.py +++ b/plugins/modules/aaauser_tmsessionpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: aaauser_tmsessionpolicy_binding short_description: Binding Resource definition for describing association between aaauser and tmsessionpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -72,6 +74,21 @@ """ EXAMPLES = r""" +--- +- name: Sample aaauser_tmsessionpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaauser_tmsessionpolicy_binding + delegate_to: localhost + netscaler.adc.aaauser_tmsessionpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + username: aaauser1 + policy: ia_tmsespol1 """ RETURN = r""" diff --git a/plugins/modules/aaauser_vpnintranetapplication_binding.py b/plugins/modules/aaauser_vpnintranetapplication_binding.py index ebfdde714..04148d721 100644 --- a/plugins/modules/aaauser_vpnintranetapplication_binding.py +++ b/plugins/modules/aaauser_vpnintranetapplication_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: aaauser_vpnintranetapplication_binding short_description: Binding Resource definition for describing association between aaauser and vpnintranetapplication resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -81,6 +83,25 @@ """ EXAMPLES = r""" +--- +- name: Sample aaauser_vpnintranetapplication_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaauser_vpnintranetapplication_binding + delegate_to: localhost + netscaler.adc.aaauser_vpnintranetapplication_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + username: user1 + policy: vpn_sespol1 + intranetapplication: intra_app11 + urlname: vpn_url + intranetip: 192.168.1.80 + netmask: 255.255.255.240 """ RETURN = r""" diff --git a/plugins/modules/aaauser_vpnsessionpolicy_binding.py b/plugins/modules/aaauser_vpnsessionpolicy_binding.py index abedf773c..e7ec0f224 100644 --- a/plugins/modules/aaauser_vpnsessionpolicy_binding.py +++ b/plugins/modules/aaauser_vpnsessionpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: aaauser_vpnsessionpolicy_binding short_description: Binding Resource definition for describing association between aaauser and vpnsessionpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -72,6 +74,21 @@ """ EXAMPLES = r""" +--- +- name: Sample aaauser_vpnsessionpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaauser_vpnsessionpolicy_binding + delegate_to: localhost + netscaler.adc.aaauser_vpnsessionpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + username: q11 + policy: csec """ RETURN = r""" diff --git a/plugins/modules/aaauser_vpntrafficpolicy_binding.py b/plugins/modules/aaauser_vpntrafficpolicy_binding.py index 40d658947..8a27ea53f 100644 --- a/plugins/modules/aaauser_vpntrafficpolicy_binding.py +++ b/plugins/modules/aaauser_vpntrafficpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: aaauser_vpntrafficpolicy_binding short_description: Binding Resource definition for describing association between aaauser and vpntrafficpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/aaauser_vpnurl_binding.py b/plugins/modules/aaauser_vpnurl_binding.py index d58734c50..a171d9bfc 100644 --- a/plugins/modules/aaauser_vpnurl_binding.py +++ b/plugins/modules/aaauser_vpnurl_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: aaauser_vpnurl_binding short_description: Binding Resource definition for describing association between aaauser and vpnurl resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -81,6 +83,21 @@ """ EXAMPLES = r""" +--- +- name: Sample aaauser_vpnurl_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure aaauser_vpnurl_binding + delegate_to: localhost + netscaler.adc.aaauser_vpnurl_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + username: phani2222 + urlname: owa2k7FqdnHttp """ RETURN = r""" diff --git a/plugins/modules/aaauser_vpnurlpolicy_binding.py b/plugins/modules/aaauser_vpnurlpolicy_binding.py index 9aad75af6..612e9de2a 100644 --- a/plugins/modules/aaauser_vpnurlpolicy_binding.py +++ b/plugins/modules/aaauser_vpnurlpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: aaauser_vpnurlpolicy_binding short_description: Binding Resource definition for describing association between aaauser and vpnurlpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/admparameter.py b/plugins/modules/admparameter.py index 4ea486a99..54cc20d3e 100644 --- a/plugins/modules/admparameter.py +++ b/plugins/modules/admparameter.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: admparameter short_description: Configuration for ADM parameter resource. description: Configuration for ADM parameter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,7 +39,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str admserviceconnect: - type: raw + type: str choices: - ENABLED - DISABLED diff --git a/plugins/modules/analyticsglobal_analyticsprofile_binding.py b/plugins/modules/analyticsglobal_analyticsprofile_binding.py index 2681cdc96..e49b7996f 100644 --- a/plugins/modules/analyticsglobal_analyticsprofile_binding.py +++ b/plugins/modules/analyticsglobal_analyticsprofile_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: analyticsglobal_analyticsprofile_binding short_description: Binding Resource definition for describing association between analyticsglobal and analyticsprofile resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/analyticsprofile.py b/plugins/modules/analyticsprofile.py index 389ffe3bb..9d082a156 100644 --- a/plugins/modules/analyticsprofile.py +++ b/plugins/modules/analyticsprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: analyticsprofile short_description: Configuration for Analytics profile resource. description: Configuration for Analytics profile resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str allhttpheaders: - type: raw + type: str choices: - ENABLED - DISABLED @@ -47,35 +49,35 @@ - On enabling this option, the Citrix ADC will log all the request and response headers. analyticsauthtoken: - type: raw + type: str description: - Token for authenticating with the endpoint. If the endpoint requires the Authorization header in a particular format, specify the complete format as the value to this parameter. For eg., in case of splunk, the Authorizaiton header is required to be of the form - Splunk . analyticsendpointcontenttype: - type: raw + type: str description: - By default, application/json content-type is used. If this needs to be overridden, specify the value. analyticsendpointmetadata: - type: raw + type: str description: - If the endpoint requires some metadata to be present before the actual json data, specify the same. analyticsendpointurl: - type: raw + type: str description: - The URL at which to upload the analytics data on the endpoint auditlogs: - type: raw + type: str choices: - ENABLED - DISABLED description: - This option indicates the whether auditlog should be sent to the REST collector. collectors: - type: raw + type: str description: - The collector can be an IP, an appflow collector name, a service or a vserver. If IP is specified, the transport is considered as logstream and default port @@ -84,35 +86,40 @@ service is assumed as the collector. If vserver is specified, the services bound to it are considered as collectors and the records are load balanced. cqareporting: - type: raw + type: str choices: - ENABLED - DISABLED description: - On enabling this option, the Citrix ADC will log TCP CQA parameters. + dataformatfile: + type: str + description: + - This option is for configuring the file containing the data format and metadata + required by the analytics endpoint. events: - type: raw + type: str choices: - ENABLED - DISABLED description: - This option indicates the whether events should be sent to the REST collector. grpcstatus: - type: raw + type: str choices: - ENABLED - DISABLED description: - On enabling this option, the Citrix ADC will log the gRPC status headers httpauthentication: - type: raw + type: str choices: - ENABLED - DISABLED description: - On enabling this option, the Citrix ADC will log Authentication header. httpclientsidemeasurements: - type: raw + type: str choices: - ENABLED - DISABLED @@ -121,28 +128,28 @@ HTTP response to collect the client side page-timings and will send the same to the configured collectors. httpcontenttype: - type: raw + type: str choices: - ENABLED - DISABLED description: - On enabling this option, the Citrix ADC will log content-length header. httpcookie: - type: raw + type: str choices: - ENABLED - DISABLED description: - On enabling this option, the Citrix ADC will log cookie header. httpdomainname: - type: raw + type: str choices: - ENABLED - DISABLED description: - On enabling this option, the Citrix ADC will log domain name. httphost: - type: raw + type: str choices: - ENABLED - DISABLED @@ -150,14 +157,14 @@ - On enabling this option, the Citrix ADC will log the Host header in appflow records httplocation: - type: raw + type: str choices: - ENABLED - DISABLED description: - On enabling this option, the Citrix ADC will log location header. httpmethod: - type: raw + type: str choices: - ENABLED - DISABLED @@ -165,7 +172,7 @@ - On enabling this option, the Citrix ADC will log the method header in appflow records httppagetracking: - type: raw + type: str choices: - ENABLED - DISABLED @@ -173,7 +180,7 @@ - On enabling this option, the Citrix ADC will link the embedded objects of a page together. httpreferer: - type: raw + type: str choices: - ENABLED - DISABLED @@ -181,76 +188,88 @@ - On enabling this option, the Citrix ADC will log the referer header in appflow records httpsetcookie: - type: raw + type: str choices: - ENABLED - DISABLED description: - On enabling this option, the Citrix ADC will log set-cookie header. httpsetcookie2: - type: raw + type: str choices: - ENABLED - DISABLED description: - On enabling this option, the Citrix ADC will log set-cookie2 header. httpurl: - type: raw + type: str choices: - ENABLED - DISABLED description: - On enabling this option, the Citrix ADC will log the URL in appflow records httpurlquery: - type: raw + type: str choices: - ENABLED - DISABLED description: - On enabling this option, the Citrix ADC will log URL Query. httpuseragent: - type: raw + type: str choices: - ENABLED - DISABLED description: - On enabling this option, the Citrix ADC will log User-Agent header. httpvia: - type: raw + type: str choices: - ENABLED - DISABLED description: - On enabling this option, the Citrix ADC will Via header. httpxforwardedforheader: - type: raw + type: str choices: - ENABLED - DISABLED description: - On enabling this option, the Citrix ADC will log X-Forwarded-For header. integratedcache: - type: raw + type: str choices: - ENABLED - DISABLED description: - On enabling this option, the Citrix ADC will log the Integrated Caching appflow records + managementlog: + type: list + choices: + - ALL + - SHELL + - ACCESS + - NSMGMT + - NONE + description: + - This option indicates the whether managementlog should be sent to the REST + collector. + elements: str metrics: - type: raw + type: str choices: - ENABLED - DISABLED description: - This option indicates the whether metrics should be sent to the REST collector. metricsexportfrequency: - type: raw + type: float description: - This option is for configuring the metrics export frequency in seconds, frequency value must be in [30,300] seconds range name: - type: raw + type: str description: - Name for the analytics profile. Must begin with an ASCII alphabetic or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash @@ -261,35 +280,44 @@ - If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my appflow profile" or 'my appflow profile'). outputmode: - type: raw + type: str choices: - avro - prometheus - influx + - json description: - This option indicates the format of REST API POST body. It depends on the consumer of the analytics data. schemafile: - type: raw + type: str description: - This option is for configuring json schema file containing a list of counters to be exported by metricscollector servemode: - type: raw + type: str choices: - Push - Pull description: - This option is for setting the mode of how data is provided tcpburstreporting: - type: raw + type: str choices: - ENABLED - DISABLED description: - On enabling this option, the Citrix ADC will log TCP burst parameters. + topn: + type: str + choices: + - ENABLED + - DISABLED + description: + - On enabling this topn support, the topn information of the stream identifier + this profile is bound to will be exported to the analytics endpoint. type: - type: raw + type: str choices: - global - webinsight @@ -303,10 +331,12 @@ - botinsight - CIinsight - udpinsight + - ngsinsight + - streaminsight description: - This option indicates what information needs to be collected and exported. urlcategory: - type: raw + type: str choices: - ENABLED - DISABLED @@ -317,6 +347,26 @@ """ EXAMPLES = r""" +--- +- name: Sample analyticsprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure analyticsprofile + delegate_to: localhost + netscaler.adc.analyticsprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: telemetry_metrics_profile + type: timeseries + outputmode: prometheus + metrics: ENABLED + servemode: Pull + schemafile: ./telemetry_collect_ns_metrics_schema.json + metricsexportfrequency: '300' """ RETURN = r""" diff --git a/plugins/modules/apiprofile.py b/plugins/modules/apiprofile.py new file mode 100644 index 000000000..b0638a2d8 --- /dev/null +++ b/plugins/modules/apiprofile.py @@ -0,0 +1,134 @@ +#!/usr/bin/python + +# -*- coding: utf-8 -*- + +# Copyright (c) 2023 Cloud Software Group, Inc. +# MIT License (see LICENSE or https://opensource.org/licenses/MIT) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + + +ANSIBLE_METADATA = { + "metadata_version": "1.1", + "status": ["preview"], + "supported_by": "community", +} + +DOCUMENTATION = r""" +--- +module: apiprofile +short_description: Configuration for API profile resource. +description: Configuration for API profile resource. +version_added: 2.0.0 +author: + - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) +options: + state: + choices: + - present + - absent + - unset + default: present + description: + - The state of the resource being configured by the module on the NetScaler + ADC node. + - When C(present), the resource will be added/updated configured according to + the module's parameters. + - When C(absent), the resource will be deleted from the NetScaler ADC node. + - When C(unset), the resource will be unset on the NetScaler ADC node. + type: str + apivisibility: + type: str + choices: + - ENABLED + - DISABLED + description: + - Enable/Disable the schema lookup for the requests/apispecs that are bounded + to the API profile. The default value of this parameter is C(DISABLED). + name: + type: str + description: + - Name of the API profile to add + apiprofile_apispec_binding: + type: dict + description: Bindings for apiprofile_apispec_binding resource + suboptions: + mode: + type: str + default: desired + description: + - The mode in which to configure the bindings. + - If mode is set to C(desired), the bindings will be added or removed from + the target NetScaler ADCs as necessary to match the bindings specified + in the state. + - If mode is set to C(bind), the specified bindings will be added to the + resource. The existing bindings in the target ADCs will not be modified. + - If mode is set to C(unbind), the specified bindings will be removed from + the resource. The existing bindings in the target ADCs will not be modified. + choices: + - desired + - bind + - unbind + binding_members: + type: list + elements: dict + description: List of binding members + default: [] +extends_documentation_fragment: netscaler.adc.netscaler_adc + +""" + +EXAMPLES = r""" +""" + +RETURN = r""" +--- +changed: + description: Indicates if any change is made by the module + returned: always + type: bool + sample: true +diff: + description: Dictionary of before and after changes + returned: always + type: dict + sample: {'before': {'key1': 'xyz'}, 'after': {'key2': 'pqr'}, 'prepared': 'changes + done'} +diff_list: + description: List of differences between the actual configured object and the configuration + specified in the module + returned: when changed + type: list + sample: ["Attribute `key1` differs. Desired: () XYZ. Existing: () PQR"] +failed: + description: Indicates if the module failed or not + returned: always + type: bool + sample: false +loglines: + description: list of logged messages by the module + returned: always + type: list + sample: ['message 1', 'message 2'] + +""" + + +import os + +from ..module_utils.module_executor import ModuleExecutor + +RESOURCE_NAME = os.path.basename(__file__).replace(".py", "") + + +def main(): + executor = ModuleExecutor(RESOURCE_NAME) + executor.main() + + +if __name__ == "__main__": + main() diff --git a/plugins/modules/apiprofile_apispec_binding.py b/plugins/modules/apiprofile_apispec_binding.py new file mode 100644 index 000000000..a675bb3da --- /dev/null +++ b/plugins/modules/apiprofile_apispec_binding.py @@ -0,0 +1,105 @@ +#!/usr/bin/python + +# -*- coding: utf-8 -*- + +# Copyright (c) 2023 Cloud Software Group, Inc. +# MIT License (see LICENSE or https://opensource.org/licenses/MIT) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + + +ANSIBLE_METADATA = { + "metadata_version": "1.1", + "status": ["preview"], + "supported_by": "community", +} + +DOCUMENTATION = r""" +--- +module: apiprofile_apispec_binding +short_description: Binding Resource definition for describing association between + apiprofile and apispec resources +description: Binding Resource definition for describing association between apiprofile + and apispec resources +version_added: 2.0.0 +author: + - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) +options: + state: + choices: + - present + - absent + default: present + description: + - The state of the resource being configured by the module on the NetScaler + ADC node. + - When C(present), the resource will be added/updated configured according to + the module's parameters. + - When C(absent), the resource will be deleted from the NetScaler ADC node. + type: str + apispec: + type: str + description: + - Name for the API spec which will be binded to the profile. + name: + type: str + description: + - Name of the API profile in which to bind the API apispec(s). +extends_documentation_fragment: netscaler.adc.netscaler_adc + +""" + +EXAMPLES = r""" +""" + +RETURN = r""" +--- +changed: + description: Indicates if any change is made by the module + returned: always + type: bool + sample: true +diff: + description: Dictionary of before and after changes + returned: always + type: dict + sample: {'before': {'key1': 'xyz'}, 'after': {'key2': 'pqr'}, 'prepared': 'changes + done'} +diff_list: + description: List of differences between the actual configured object and the configuration + specified in the module + returned: when changed + type: list + sample: ["Attribute `key1` differs. Desired: () XYZ. Existing: () PQR"] +failed: + description: Indicates if the module failed or not + returned: always + type: bool + sample: false +loglines: + description: list of logged messages by the module + returned: always + type: list + sample: ['message 1', 'message 2'] + +""" + + +import os + +from ..module_utils.module_executor import ModuleExecutor + +RESOURCE_NAME = os.path.basename(__file__).replace(".py", "") + + +def main(): + executor = ModuleExecutor(RESOURCE_NAME) + executor.main() + + +if __name__ == "__main__": + main() diff --git a/plugins/modules/apispec.py b/plugins/modules/apispec.py index f15ba1a66..dd63eecff 100644 --- a/plugins/modules/apispec.py +++ b/plugins/modules/apispec.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: apispec short_description: Configuration for API specification resource. description: Configuration for API specification resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -36,6 +38,10 @@ the module's parameters. - When C(absent), the resource will be deleted from the NetScaler ADC node. type: str + encrypted: + type: bool + description: + - Specify the encrypted API spec. Must be in NetScaler format file: type: str description: @@ -54,6 +60,13 @@ - 'The following requirement applies only to the Citrix ADC CLI:' - If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my spec" or 'my spec'). + skipvalidation: + type: str + choices: + - 'YES' + - 'NO' + description: + - Disabling openapi spec validation while adding it type: type: str choices: diff --git a/plugins/modules/apispecfile.py b/plugins/modules/apispecfile.py index 2aa3501e5..e25eb0df9 100644 --- a/plugins/modules/apispecfile.py +++ b/plugins/modules/apispecfile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: apispecfile -short_description: Configuration for API specificationfile resource. -description: Configuration for API specificationfile resource. +short_description: Configuration for API specification file resource. +description: Configuration for API specification file resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -44,10 +46,10 @@ characters. The following requirement applies only to the Citrix ADC CLI: If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my file" or ''my file'').' - password: - type: str + overwrite: + type: bool description: - - '0' + - Overwrite any existing schema file of the same name. src: type: str description: diff --git a/plugins/modules/appalgparam.py b/plugins/modules/appalgparam.py index c1474e65c..9f2b89359 100644 --- a/plugins/modules/appalgparam.py +++ b/plugins/modules/appalgparam.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: appalgparam short_description: Configuration for AppAlg Param resource. description: Configuration for AppAlg Param resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,7 +39,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str pptpgreidletimeout: - type: raw + type: float description: - Interval in sec, after which data sessions of PPTP GRE is cleared. extends_documentation_fragment: netscaler.adc.netscaler_adc diff --git a/plugins/modules/appflowaction.py b/plugins/modules/appflowaction.py index 5c6ad6ce1..18a81d5ea 100644 --- a/plugins/modules/appflowaction.py +++ b/plugins/modules/appflowaction.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: appflowaction short_description: Configuration for AppFlow action resource. description: Configuration for AppFlow action resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str botinsight: - type: raw + type: str choices: - ENABLED - DISABLED @@ -47,7 +49,7 @@ - On enabling this option, the Citrix ADC will send the bot insight records to the configured collectors. ciinsight: - type: raw + type: str choices: - ENABLED - DISABLED @@ -55,7 +57,7 @@ - On enabling this option, the Citrix ADC will send the ContentInspection Insight records to the configured collectors. clientsidemeasurements: - type: raw + type: str choices: - ENABLED - DISABLED @@ -68,13 +70,13 @@ - Name(s) of collector(s) to be associated with the AppFlow action. elements: str comment: - type: raw + type: str description: - Any comments about this action. In the CLI, if including spaces between words, enclose the comment in quotation marks. (The quotation marks are not required in the configuration utility.) distributionalgorithm: - type: raw + type: str choices: - ENABLED - DISABLED @@ -86,7 +88,7 @@ description: - If only the stats records are to be exported, turn on this option. name: - type: raw + type: str description: - Name for the action. Must begin with an ASCII alphabetic or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash (#), @@ -107,7 +109,7 @@ - If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my appflow action" or 'my appflow action'). pagetracking: - type: raw + type: str choices: - ENABLED - DISABLED @@ -115,7 +117,7 @@ - On enabling this option, the Citrix ADC will start tracking the page for waterfall chart by inserting a NS_ESNS cookie in the response. securityinsight: - type: raw + type: str choices: - ENABLED - DISABLED @@ -130,7 +132,7 @@ description: - Log C(ANOMALOUS) or C(ALL) transactions videoanalytics: - type: raw + type: str choices: - ENABLED - DISABLED @@ -138,7 +140,7 @@ - On enabling this option, the Citrix ADC will send the videoinsight records to the configured collectors. webinsight: - type: raw + type: str choices: - ENABLED - DISABLED @@ -175,6 +177,22 @@ """ EXAMPLES = r""" +--- +- name: Sample appflowaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appflowaction + delegate_to: localhost + netscaler.adc.appflowaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: af_action_log_10.189.64.10_nop + collectors: + - af_collector_logstream_10.189.64.10 """ RETURN = r""" diff --git a/plugins/modules/appflowaction_analyticsprofile_binding.py b/plugins/modules/appflowaction_analyticsprofile_binding.py index 209b10bdd..d2e9f3097 100644 --- a/plugins/modules/appflowaction_analyticsprofile_binding.py +++ b/plugins/modules/appflowaction_analyticsprofile_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: appflowaction_analyticsprofile_binding short_description: Binding Resource definition for describing association between appflowaction and analyticsprofile resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/appflowcollector.py b/plugins/modules/appflowcollector.py index fff12981a..c4ccaff32 100644 --- a/plugins/modules/appflowcollector.py +++ b/plugins/modules/appflowcollector.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: appflowcollector short_description: Configuration for AppFlow collector resource. description: Configuration for AppFlow collector resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,11 +41,11 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str ipaddress: - type: raw + type: str description: - IPv4 address of the collector. name: - type: raw + type: str description: - Name for the collector. Must begin with an ASCII alphabetic or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash @@ -55,7 +57,7 @@ - If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my appflow collector" or 'my appflow collector'). netprofile: - type: raw + type: str description: - Netprofile to associate with the collector. The IP address defined in the profile is used as the source IP address for AppFlow traffic for this collector. If @@ -73,7 +75,7 @@ - If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my appflow coll" or 'my appflow coll'). port: - type: raw + type: int description: - Port on which the collector listens. transport: @@ -89,6 +91,23 @@ """ EXAMPLES = r""" +--- +- name: Sample appflowcollector playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appflowcollector + delegate_to: localhost + netscaler.adc.appflowcollector: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: af_collector_logstream_10.189.64.10 + ipaddress: 10.189.64.10 + port: 5557 + transport: logstream """ RETURN = r""" diff --git a/plugins/modules/appflowglobal_appflowpolicy_binding.py b/plugins/modules/appflowglobal_appflowpolicy_binding.py index 3c76440e2..015394501 100644 --- a/plugins/modules/appflowglobal_appflowpolicy_binding.py +++ b/plugins/modules/appflowglobal_appflowpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: appflowglobal_appflowpolicy_binding short_description: Binding Resource definition for describing association between appflowglobal and appflowpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -105,6 +107,26 @@ """ EXAMPLES = r""" +--- +- name: Sample appflowglobal_appflowpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appflowglobal_appflowpolicy_binding + delegate_to: localhost + netscaler.adc.appflowglobal_appflowpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + policyname: ia_appflowpol12 + priority: '42' + gotopriorityexpression: end + type: REQ_OVERRIDE + invoke: true + labeltype: vserver + labelname: cs_invoke1 """ RETURN = r""" diff --git a/plugins/modules/appflowparam.py b/plugins/modules/appflowparam.py index 367bad36b..15ee64457 100644 --- a/plugins/modules/appflowparam.py +++ b/plugins/modules/appflowparam.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: appflowparam short_description: Configuration for AppFlow parameter resource. description: Configuration for AppFlow parameter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,31 +39,31 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str aaausername: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable AppFlow AAA Username logging. analyticsauthtoken: - type: raw + type: str description: - Authentication token to be set by the agent. appnamerefresh: - type: raw + type: float description: - Interval, in seconds, at which to send Appnames to the configured collectors. Appname refers to the name of an entity (virtual server, service, or service group) in the Citrix ADC. auditlogs: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable Auditlogs to be sent to the Telemetry Agent cacheinsight: - type: raw + type: str choices: - ENABLED - DISABLED @@ -70,14 +72,14 @@ flag is true and IC is enabled, cache records are exported instead of L7 HTTP records clienttrafficonly: - type: raw + type: str choices: - 'YES' - 'NO' description: - Generate AppFlow records for only the traffic from the client. connectionchaining: - type: raw + type: str choices: - ENABLED - DISABLED @@ -87,57 +89,57 @@ so that in a multi-hop environment the flows belonging to the same logical connection are linked. This id is also logged as part of appflow record cqareporting: - type: raw + type: str choices: - ENABLED - DISABLED description: - TCP CQA reporting enable/disable knob. distributedtracing: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable generation of the distributed tracing templates in the Appflow records disttracingsamplingrate: - type: raw + type: float description: - Sampling rate for Distributed Tracing emailaddress: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable AppFlow user email-id logging. events: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable Events to be sent to the Telemetry Agent flowrecordinterval: - type: raw + type: float description: - Interval, in seconds, at which to send flow records to the configured collectors. gxsessionreporting: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable this option for Gx session reporting httpauthorization: - type: raw + type: str choices: - ENABLED - DISABLED description: - Include the HTTP Authorization header information. httpcontenttype: - type: raw + type: str choices: - ENABLED - DISABLED @@ -145,7 +147,7 @@ - Include the HTTP Content-Type header sent from the server to the client to determine the type of the content sent. httpcookie: - type: raw + type: str choices: - ENABLED - DISABLED @@ -153,14 +155,14 @@ - Include the cookie that was in the HTTP request the appliance received from the client. httpdomain: - type: raw + type: str choices: - ENABLED - DISABLED description: - Include the http domain request to be exported. httphost: - type: raw + type: str choices: - ENABLED - DISABLED @@ -168,14 +170,14 @@ - Include the host identified in the HTTP request that the appliance received from the client. httplocation: - type: raw + type: str choices: - ENABLED - DISABLED description: - Include the HTTP location headers returned from the HTTP responses. httpmethod: - type: raw + type: str choices: - ENABLED - DISABLED @@ -183,7 +185,7 @@ - Include the method that was specified in the HTTP request that the appliance received from the client. httpquerywithurl: - type: raw + type: str choices: - ENABLED - DISABLED @@ -191,14 +193,14 @@ - Include the HTTP query segment along with the URL that the Citrix ADC received from the client. httpreferer: - type: raw + type: str choices: - ENABLED - DISABLED description: - Include the web page that was last visited by the client. httpsetcookie: - type: raw + type: str choices: - ENABLED - DISABLED @@ -206,7 +208,7 @@ - Include the Set-cookie header sent from the server to the client in response to a HTTP request. httpsetcookie2: - type: raw + type: str choices: - ENABLED - DISABLED @@ -214,14 +216,14 @@ - Include the Set-cookie header sent from the server to the client in response to a HTTP request. httpurl: - type: raw + type: str choices: - ENABLED - DISABLED description: - Include the http URL that the Citrix ADC received from the client. httpuseragent: - type: raw + type: str choices: - ENABLED - DISABLED @@ -229,7 +231,7 @@ - Include the client application through which the HTTP request was received by the Citrix ADC. httpvia: - type: raw + type: str choices: - ENABLED - DISABLED @@ -237,7 +239,7 @@ - Include the httpVia header which contains the IP address of proxy server through which the client accessed the server. httpxforwardedfor: - type: raw + type: str choices: - ENABLED - DISABLED @@ -245,28 +247,28 @@ - Include the httpXForwardedFor header, which contains the original IP Address of the client using a proxy server to access the server. identifiername: - type: raw + type: str choices: - ENABLED - DISABLED description: - Include the stream identifier name to be exported. identifiersessionname: - type: raw + type: str choices: - ENABLED - DISABLED description: - Include the stream identifier session name to be exported. logstreamovernsip: - type: raw + type: str choices: - ENABLED - DISABLED description: - To use the Citrix ADC IP to send Logstream records instead of the SNIP lsnlogging: - type: raw + type: str choices: - ENABLED - DISABLED @@ -274,42 +276,42 @@ - On enabling this option, the Citrix ADC will send the Large Scale Nat(LSN) records to the configured collectors. metrics: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable Citrix ADC Stats to be sent to the Telemetry Agent observationdomainid: - type: raw + type: float description: - 'An observation domain groups a set of Citrix ADCs based on deployment: cluster, HA etc. A unique Observation Domain ID is required to be assigned to each such group.' observationdomainname: - type: raw + type: str description: - Name of the Observation Domain defined by the observation domain ID. observationpointid: - type: raw + type: float description: - An observation point ID is identifier for the NetScaler from which appflow records are being exported. By default, the NetScaler IP is the observation point ID. securityinsightrecordinterval: - type: raw + type: float description: - Interval, in seconds, at which to send security insight flow records to the configured collectors. securityinsighttraffic: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable/disable the feature individually on appflow action. skipcacheredirectionhttptransaction: - type: raw + type: str choices: - ENABLED - DISABLED @@ -318,38 +320,38 @@ module. In Case of Cache Miss there will be another HTTP transaction initiated by the cache server. subscriberawareness: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable this option for logging end user MSISDN in L4/L7 appflow records subscriberidobfuscation: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable this option for obfuscating MSISDN in L4/L7 appflow records subscriberidobfuscationalgo: - type: raw + type: str choices: - MD5 - SHA256 description: - Algorithm(C(MD5) or C(SHA256)) to be used for obfuscating MSISDN tcpattackcounterinterval: - type: raw + type: float description: - Interval, in seconds, at which to send tcp attack counters to the configured collectors. If 0 is configured, the record is not sent. templaterefresh: - type: raw + type: float description: - Refresh interval, in seconds, at which to export the template data. Because data transmission is in UDP, the templates must be resent at regular intervals. timeseriesovernsip: - type: raw + type: str choices: - ENABLED - DISABLED @@ -357,30 +359,30 @@ - To use the Citrix ADC IP to send Time series data such as metrics and events, instead of the SNIP udppmtu: - type: raw + type: float description: - MTU, in bytes, for IPFIX UDP packets. urlcategory: - type: raw + type: str choices: - ENABLED - DISABLED description: - Include the URL category record. usagerecordinterval: - type: raw + type: float description: - On enabling this option, the NGS will send bandwidth usage record to configured collectors. videoinsight: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable/disable the feature individually on appflow action. websaasappusagereporting: - type: raw + type: str choices: - ENABLED - DISABLED @@ -393,15 +395,29 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample appflowparam playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | appflowparam + - name: Configure appflowparam delegate_to: localhost netscaler.adc.appflowparam: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - observationpointid: '2370493962' + templaterefresh: 3600 + httpurl: ENABLED + httpmethod: ENABLED + httphost: ENABLED + httpuseragent: ENABLED + httpcontenttype: ENABLED + cacheinsight: ENABLED + httpquerywithurl: ENABLED + metrics: ENABLED + events: ENABLED + observationpointid: '843103498' """ RETURN = r""" diff --git a/plugins/modules/appflowpolicy.py b/plugins/modules/appflowpolicy.py index 7b1239cff..cac44dd63 100644 --- a/plugins/modules/appflowpolicy.py +++ b/plugins/modules/appflowpolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: appflowpolicy short_description: Configuration for AppFlow policy resource. description: Configuration for AppFlow policy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -43,11 +45,11 @@ description: - Name of the action to be associated with this policy. comment: - type: raw + type: str description: - Any comments about this policy. name: - type: raw + type: str description: - Name for the policy. Must begin with an ASCII alphabetic or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash (#), @@ -81,7 +83,7 @@ - '* Alternatively, you can use single quotation marks to enclose the rule, in which case you do not have to escape the double quotation marks.' undefaction: - type: raw + type: str description: - Name of the appflow action to be associated with this policy when an undef event occurs. @@ -115,6 +117,22 @@ """ EXAMPLES = r""" +--- +- name: Sample appflowpolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appflowpolicy + delegate_to: localhost + netscaler.adc.appflowpolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: af_policy_act_log_10.189.64.10 + rule: 'true' + action: af_action_log_10.189.64.10_nop """ RETURN = r""" diff --git a/plugins/modules/appflowpolicylabel.py b/plugins/modules/appflowpolicylabel.py index ba21af696..e59cb83a2 100644 --- a/plugins/modules/appflowpolicylabel.py +++ b/plugins/modules/appflowpolicylabel.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: appflowpolicylabel short_description: Configuration for AppFlow policy label resource. description: Configuration for AppFlow policy label resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -96,6 +98,20 @@ """ EXAMPLES = r""" +--- +- name: Sample appflowpolicylabel playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appflowpolicylabel + delegate_to: localhost + netscaler.adc.appflowpolicylabel: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + labelname: ia_appflow_polabl3 """ RETURN = r""" diff --git a/plugins/modules/appflowpolicylabel_appflowpolicy_binding.py b/plugins/modules/appflowpolicylabel_appflowpolicy_binding.py index 36dc30ce8..cdd606323 100644 --- a/plugins/modules/appflowpolicylabel_appflowpolicy_binding.py +++ b/plugins/modules/appflowpolicylabel_appflowpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: appflowpolicylabel_appflowpolicy_binding short_description: Binding Resource definition for describing association between appflowpolicylabel and appflowpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/appfwarchive.py b/plugins/modules/appfwarchive.py index 066f17c59..abfe874a6 100644 --- a/plugins/modules/appfwarchive.py +++ b/plugins/modules/appfwarchive.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: appfwarchive short_description: Configuration for archive resource. description: Configuration for archive resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/appfwconfidfield.py b/plugins/modules/appfwconfidfield.py index 38c409cb0..2aaabac80 100644 --- a/plugins/modules/appfwconfidfield.py +++ b/plugins/modules/appfwconfidfield.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: appfwconfidfield short_description: Configuration for configured confidential form fields resource. description: Configuration for configured confidential form fields resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,15 +41,15 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str comment: - type: raw + type: str description: - Any comments to preserve information about the form field designation. fieldname: - type: raw + type: str description: - Name of the form field to designate as confidential. isregex: - type: raw + type: str choices: - REGEX - NOTREGEX @@ -57,7 +59,7 @@ - '* C(REGEX). Form field is a regular expression.' - '* C(NOTREGEX). Form field is a literal string.' url: - type: raw + type: str description: - URL of the web page that contains the web form. extends_documentation_fragment: netscaler.adc.netscaler_adc @@ -65,6 +67,23 @@ """ EXAMPLES = r""" +--- +- name: Sample appfwconfidfield playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appfwconfidfield + delegate_to: localhost + netscaler.adc.appfwconfidfield: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + fieldname: ia_appfwfield1 + url: http://url + isregex: NOTREGEX + comment: sample """ RETURN = r""" diff --git a/plugins/modules/appfwcustomsettings.py b/plugins/modules/appfwcustomsettings.py index fc5da8823..8a7066f2c 100644 --- a/plugins/modules/appfwcustomsettings.py +++ b/plugins/modules/appfwcustomsettings.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: appfwcustomsettings short_description: Configuration for application firewall custom settings XML configuration resource. @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: [] diff --git a/plugins/modules/appfwfieldtype.py b/plugins/modules/appfwfieldtype.py index 21c03ef4d..d32798ae6 100644 --- a/plugins/modules/appfwfieldtype.py +++ b/plugins/modules/appfwfieldtype.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: appfwfieldtype short_description: Configuration for application firewall form field type resource. description: Configuration for application firewall form field type resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -73,6 +75,22 @@ """ EXAMPLES = r""" +--- +- name: Sample appfwfieldtype playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appfwfieldtype + delegate_to: localhost + netscaler.adc.appfwfieldtype: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: CM1454107840652651 + regex: ^[A-Z\\a-z]+$ + priority: '10' """ RETURN = r""" diff --git a/plugins/modules/appfwglobal_appfwpolicy_binding.py b/plugins/modules/appfwglobal_appfwpolicy_binding.py index a52d989f3..1fdda14f5 100644 --- a/plugins/modules/appfwglobal_appfwpolicy_binding.py +++ b/plugins/modules/appfwglobal_appfwpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: appfwglobal_appfwpolicy_binding short_description: Binding Resource definition for describing association between appfwglobal and appfwpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -93,6 +95,21 @@ """ EXAMPLES = r""" +--- +- name: Sample appfwglobal_appfwpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appfwglobal_appfwpolicy_binding + delegate_to: localhost + netscaler.adc.appfwglobal_appfwpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + policyname: pr_appfw_pol + priority: '1' """ RETURN = r""" diff --git a/plugins/modules/appfwglobal_auditnslogpolicy_binding.py b/plugins/modules/appfwglobal_auditnslogpolicy_binding.py index d45a64a3b..3a53c18ca 100644 --- a/plugins/modules/appfwglobal_auditnslogpolicy_binding.py +++ b/plugins/modules/appfwglobal_auditnslogpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: appfwglobal_auditnslogpolicy_binding short_description: Binding Resource definition for describing association between appfwglobal and auditnslogpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/appfwglobal_auditsyslogpolicy_binding.py b/plugins/modules/appfwglobal_auditsyslogpolicy_binding.py index 5451c0f76..2c95c248a 100644 --- a/plugins/modules/appfwglobal_auditsyslogpolicy_binding.py +++ b/plugins/modules/appfwglobal_auditsyslogpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: appfwglobal_auditsyslogpolicy_binding short_description: Binding Resource definition for describing association between appfwglobal and auditsyslogpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/appfwgrpccontenttype.py b/plugins/modules/appfwgrpccontenttype.py index 1c9347281..8fb6da813 100644 --- a/plugins/modules/appfwgrpccontenttype.py +++ b/plugins/modules/appfwgrpccontenttype.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: appfwgrpccontenttype short_description: Configuration for gRRPC content type resource. description: Configuration for gRRPC content type resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -52,6 +54,20 @@ """ EXAMPLES = r""" +--- +- name: Sample appfwgrpccontenttype playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appfwgrpccontenttype + delegate_to: localhost + netscaler.adc.appfwgrpccontenttype: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + grpccontenttypevalue: application/grpc-web+proto """ RETURN = r""" diff --git a/plugins/modules/appfwgrpcwebjsoncontenttype.py b/plugins/modules/appfwgrpcwebjsoncontenttype.py index c83047a87..8872b30ae 100644 --- a/plugins/modules/appfwgrpcwebjsoncontenttype.py +++ b/plugins/modules/appfwgrpcwebjsoncontenttype.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: appfwgrpcwebjsoncontenttype short_description: Configuration for gRRPC-Web-json content type resource. description: Configuration for gRRPC-Web-json content type resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -52,6 +54,20 @@ """ EXAMPLES = r""" +--- +- name: Sample appfwgrpcwebjsoncontenttype playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appfwgrpcwebjsoncontenttype + delegate_to: localhost + netscaler.adc.appfwgrpcwebjsoncontenttype: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + grpcwebjsoncontenttypevalue: application/grpc-web+json """ RETURN = r""" diff --git a/plugins/modules/appfwgrpcwebtextcontenttype.py b/plugins/modules/appfwgrpcwebtextcontenttype.py index 49aa53f9c..626ae6acf 100644 --- a/plugins/modules/appfwgrpcwebtextcontenttype.py +++ b/plugins/modules/appfwgrpcwebtextcontenttype.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: appfwgrpcwebtextcontenttype short_description: Configuration for gRRPC-Web-text content type resource. description: Configuration for gRRPC-Web-text content type resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -52,6 +54,20 @@ """ EXAMPLES = r""" +--- +- name: Sample appfwgrpcwebtextcontenttype playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appfwgrpcwebtextcontenttype + delegate_to: localhost + netscaler.adc.appfwgrpcwebtextcontenttype: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + grpcwebtextcontenttypevalue: application/grpc-web-text """ RETURN = r""" diff --git a/plugins/modules/appfwhtmlerrorpage.py b/plugins/modules/appfwhtmlerrorpage.py index 6081963fe..4938442e8 100644 --- a/plugins/modules/appfwhtmlerrorpage.py +++ b/plugins/modules/appfwhtmlerrorpage.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: appfwhtmlerrorpage short_description: Configuration for HTML error page resource. description: Configuration for HTML error page resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -59,6 +61,23 @@ """ EXAMPLES = r""" +--- +- name: Sample appfwhtmlerrorpage playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appfwhtmlerrorpage + delegate_to: localhost + netscaler.adc.appfwhtmlerrorpage: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + src: http://10.217.30.16/testsite/Signatures/44_38_1_36/credit_card.html + name: Html_ Error_2 + nitro_operation: import + '#nitro_operation': import """ RETURN = r""" diff --git a/plugins/modules/appfwjsoncontenttype.py b/plugins/modules/appfwjsoncontenttype.py index 12f2a8dbe..3cae7d6c9 100644 --- a/plugins/modules/appfwjsoncontenttype.py +++ b/plugins/modules/appfwjsoncontenttype.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: appfwjsoncontenttype short_description: Configuration for JSON content type resource. description: Configuration for JSON content type resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -53,15 +55,19 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample appfwjsoncontenttype playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | appfwJSONContentType + - name: Configure appfwjsoncontenttype delegate_to: localhost netscaler.adc.appfwjsoncontenttype: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - jsoncontenttypevalue: "^application/json$" + jsoncontenttypevalue: ^application/json$ isregex: REGEX """ diff --git a/plugins/modules/appfwjsonerrorpage.py b/plugins/modules/appfwjsonerrorpage.py index f529afdc1..575f93cf3 100644 --- a/plugins/modules/appfwjsonerrorpage.py +++ b/plugins/modules/appfwjsonerrorpage.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: appfwjsonerrorpage short_description: Configuration for JSON error page resource. description: Configuration for JSON error page resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/appfwlearningdata.py b/plugins/modules/appfwlearningdata.py index 0154329c7..3089af4e2 100644 --- a/plugins/modules/appfwlearningdata.py +++ b/plugins/modules/appfwlearningdata.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: appfwlearningdata short_description: Configuration for learning data resource. description: Configuration for learning data resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/appfwlearningsettings.py b/plugins/modules/appfwlearningsettings.py index 10b9fbcd2..c067775f9 100644 --- a/plugins/modules/appfwlearningsettings.py +++ b/plugins/modules/appfwlearningsettings.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: appfwlearningsettings short_description: Configuration for learning settings resource. description: Configuration for learning settings resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,157 +39,157 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str contenttypeautodeploygraceperiod: - type: raw + type: float description: - The number of minutes after the threshold hit alert the learned rule will be deployed contenttypeminthreshold: - type: raw + type: float description: - Minimum threshold to learn Content Type information. contenttypepercentthreshold: - type: raw + type: float description: - Minimum threshold in percent to learn Content Type information. cookieconsistencyautodeploygraceperiod: - type: raw + type: float description: - The number of minutes after the threshold hit alert the learned rule will be deployed cookieconsistencyminthreshold: - type: raw + type: float description: - Minimum number of application firewall sessions that the learning engine must observe to learn cookies. cookieconsistencypercentthreshold: - type: raw + type: float description: - Minimum percentage of application firewall sessions that must contain a particular cookie pattern for the learning engine to learn that cookie. creditcardnumberminthreshold: - type: raw + type: float description: - Minimum threshold to learn Credit Card information. creditcardnumberpercentthreshold: - type: raw + type: float description: - Minimum threshold in percent to learn Credit Card information. crosssitescriptingautodeploygraceperiod: - type: raw + type: float description: - The number of minutes after the threshold hit alert the learned rule will be deployed crosssitescriptingminthreshold: - type: raw + type: float description: - Minimum number of application firewall sessions that the learning engine must observe to learn HTML cross-site scripting patterns. crosssitescriptingpercentthreshold: - type: raw + type: float description: - Minimum percentage of application firewall sessions that must contain a particular cross-site scripting pattern for the learning engine to learn that cross-site scripting pattern. csrftagautodeploygraceperiod: - type: raw + type: float description: - The number of minutes after the threshold hit alert the learned rule will be deployed csrftagminthreshold: - type: raw + type: float description: - Minimum number of application firewall sessions that the learning engine must observe to learn cross-site request forgery (CSRF) tags. csrftagpercentthreshold: - type: raw + type: float description: - Minimum percentage of application firewall sessions that must contain a particular CSRF tag for the learning engine to learn that CSRF tag. fieldconsistencyautodeploygraceperiod: - type: raw + type: float description: - The number of minutes after the threshold hit alert the learned rule will be deployed fieldconsistencyminthreshold: - type: raw + type: float description: - Minimum number of application firewall sessions that the learning engine must observe to learn field consistency information. fieldconsistencypercentthreshold: - type: raw + type: float description: - Minimum percentage of application firewall sessions that must contain a particular field consistency pattern for the learning engine to learn that field consistency pattern. fieldformatautodeploygraceperiod: - type: raw + type: float description: - The number of minutes after the threshold hit alert the learned rule will be deployed fieldformatminthreshold: - type: raw + type: float description: - Minimum number of application firewall sessions that the learning engine must observe to learn field formats. fieldformatpercentthreshold: - type: raw + type: float description: - Minimum percentage of application firewall sessions that must contain a particular web form field pattern for the learning engine to recommend a field format for that form field. profilename: - type: raw + type: str description: - Name of the profile. sqlinjectionautodeploygraceperiod: - type: raw + type: float description: - The number of minutes after the threshold hit alert the learned rule will be deployed sqlinjectionminthreshold: - type: raw + type: float description: - Minimum number of application firewall sessions that the learning engine must observe to learn HTML SQL injection patterns. sqlinjectionpercentthreshold: - type: raw + type: float description: - Minimum percentage of application firewall sessions that must contain a particular HTML SQL injection pattern for the learning engine to learn that HTML SQL injection pattern. starturlautodeploygraceperiod: - type: raw + type: float description: - The number of minutes after the threshold hit alert the learned rule will be deployed starturlminthreshold: - type: raw + type: float description: - Minimum number of application firewall sessions that the learning engine must observe to learn start URLs. starturlpercentthreshold: - type: raw + type: float description: - Minimum percentage of application firewall sessions that must contain a particular start URL pattern for the learning engine to learn that start URL. xmlattachmentminthreshold: - type: raw + type: float description: - Minimum number of application firewall sessions that the learning engine must observe to learn XML attachment patterns. xmlattachmentpercentthreshold: - type: raw + type: float description: - Minimum percentage of application firewall sessions that must contain a particular XML attachment pattern for the learning engine to learn that XML attachment pattern. xmlwsiminthreshold: - type: raw + type: float description: - Minimum number of application firewall sessions that the learning engine must observe to learn web services interoperability (WSI) information. xmlwsipercentthreshold: - type: raw + type: float description: - Minimum percentage of application firewall sessions that must contain a particular pattern for the learning engine to learn a web services interoperability (WSI) diff --git a/plugins/modules/appfwmultipartformcontenttype.py b/plugins/modules/appfwmultipartformcontenttype.py index 0d4e1cfbc..0bb4d24dc 100644 --- a/plugins/modules/appfwmultipartformcontenttype.py +++ b/plugins/modules/appfwmultipartformcontenttype.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: appfwmultipartformcontenttype short_description: Configuration for Multipart form content type resource. description: Configuration for Multipart form content type resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -53,18 +55,17 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample appfwmultipartformcontenttype playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | appfwmultipartFormContentType - delegate_to: localhost - netscaler.adc.appfwmultipartformcontenttype: - state: present - multipartformcontenttypevalue: multipart/form-data - - name: Sample Task | appfwmultipartFormContentType | 2 + - name: Configure appfwmultipartformcontenttype delegate_to: localhost netscaler.adc.appfwmultipartformcontenttype: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present multipartformcontenttypevalue: multipart/form-data.* isregex: REGEX diff --git a/plugins/modules/appfwpolicy.py b/plugins/modules/appfwpolicy.py index a1cd66067..45c4cfef0 100644 --- a/plugins/modules/appfwpolicy.py +++ b/plugins/modules/appfwpolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: appfwpolicy short_description: Configuration for application firewall policy resource. description: Configuration for application firewall policy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,15 +41,15 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str comment: - type: raw + type: str description: - Any comments to preserve information about the policy for later reference. logaction: - type: raw + type: str description: - Where to log information for connections that match this policy. name: - type: raw + type: str description: - Name for the policy. - Must begin with a letter, number, or the underscore character \(_\), and must @@ -109,6 +111,22 @@ """ EXAMPLES = r""" +--- +- name: Sample appfwpolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appfwpolicy + delegate_to: localhost + netscaler.adc.appfwpolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: pr_appfw_pol + rule: HTTP.REQ.HEADER("Host").EXISTS + profilename: pr_appfw """ RETURN = r""" diff --git a/plugins/modules/appfwpolicylabel.py b/plugins/modules/appfwpolicylabel.py index 39eaec7a6..5cffcbddc 100644 --- a/plugins/modules/appfwpolicylabel.py +++ b/plugins/modules/appfwpolicylabel.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: appfwpolicylabel short_description: Configuration for application firewall policy label resource. description: Configuration for application firewall policy label resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -89,6 +91,21 @@ """ EXAMPLES = r""" +--- +- name: Sample appfwpolicylabel playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appfwpolicylabel + delegate_to: localhost + netscaler.adc.appfwpolicylabel: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + labelname: appfw_label_02 + policylabeltype: http_req """ RETURN = r""" diff --git a/plugins/modules/appfwpolicylabel_appfwpolicy_binding.py b/plugins/modules/appfwpolicylabel_appfwpolicy_binding.py index a472e768a..5d36e34de 100644 --- a/plugins/modules/appfwpolicylabel_appfwpolicy_binding.py +++ b/plugins/modules/appfwpolicylabel_appfwpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: appfwpolicylabel_appfwpolicy_binding short_description: Binding Resource definition for describing association between appfwpolicylabel and appfwpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -85,6 +87,25 @@ """ EXAMPLES = r""" +--- +- name: Sample appfwpolicylabel_appfwpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appfwpolicylabel_appfwpolicy_binding + delegate_to: localhost + netscaler.adc.appfwpolicylabel_appfwpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + labelname: appfw_label_01 + policyname: ia_appfwpol1 + priority: '1' + invoke: true + labeltype: policylabel + invoke_labelname: appfw_label_02 """ RETURN = r""" diff --git a/plugins/modules/appfwprofile.py b/plugins/modules/appfwprofile.py index 8e8f19721..da4dd03f7 100644 --- a/plugins/modules/appfwprofile.py +++ b/plugins/modules/appfwprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: appfwprofile short_description: Configuration for application firewall profile resource. description: Configuration for application firewall profile resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str addcookieflags: - type: raw + type: str choices: - none - httpOnly @@ -53,7 +55,7 @@ - '* Secure - Add Secure flag to cookies.' - '* All - Add both HTTPOnly and Secure flags to cookies.' apispec: - type: raw + type: str description: - Name of the API Specification. archivename: @@ -61,14 +63,14 @@ description: - Source for tar archive. as_prof_bypass_list_enable: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Enable bypass list for the profile. as_prof_deny_list_enable: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -79,7 +81,7 @@ description: - Augment Relaxation Rules during import blockkeywordaction: - type: raw + type: list choices: - none - block @@ -95,8 +97,9 @@ - 'CLI users: To enable one or more actions, type "set appfw profile -blockKeywordAction" followed by the actions to be enabled. To turn off all actions, type "set appfw profile -blockKeywordAction C(none)".' + elements: str bufferoverflowaction: - type: raw + type: list choices: - none - block @@ -112,34 +115,35 @@ - 'CLI users: To enable one or more actions, type "set appfw profile -bufferOverflowAction" followed by the actions to be enabled. To turn off all actions, type "set appfw profile -bufferOverflowAction C(none)".' + elements: str bufferoverflowmaxcookielength: - type: raw + type: float description: - Maximum length, in characters, for cookies sent to your protected web sites. Requests with longer cookies are blocked. bufferoverflowmaxheaderlength: - type: raw + type: float description: - Maximum length, in characters, for HTTP headers in requests sent to your protected web sites. Requests with longer headers are blocked. bufferoverflowmaxquerylength: - type: raw + type: float description: - Maximum length, in bytes, for query string sent to your protected web sites. Requests with longer query strings are blocked. bufferoverflowmaxtotalheaderlength: - type: raw + type: float description: - Maximum length, in bytes, for the total HTTP header length in requests sent to your protected web sites. The minimum value of this and maxHeaderLen in httpProfile will be used. Requests with longer length are blocked. bufferoverflowmaxurllength: - type: raw + type: float description: - Maximum length, in characters, for URLs on your protected web sites. Requests with longer URLs are blocked. canonicalizehtmlresponse: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -147,14 +151,14 @@ - Perform HTML entity encoding for any special characters in responses sent by your protected web sites. ceflogging: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Enable CEF format logs for the profile. checkrequestheaders: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -162,11 +166,11 @@ - Check request headers as well as web forms for injected SQL and cross-site scripts. clientipexpression: - type: raw + type: str description: - Expression to get the client IP. cmdinjectionaction: - type: raw + type: list choices: - none - block @@ -182,15 +186,16 @@ - 'CLI users: To enable one or more actions, type "set appfw profile -cmdInjectionAction" followed by the actions to be enabled. To turn off all actions, type "set appfw profile -cmdInjectionAction C(none)".' + elements: str cmdinjectiongrammar: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Check for CMD injection using CMD grammar cmdinjectiontype: - type: raw + type: str choices: - CMDSplChar - CMDKeyword @@ -206,12 +211,12 @@ - '-C(None) : Disables checking using both CMD Special Char and Keyword' comment: - type: raw + type: str description: - Any comments about the purpose of profile, or other useful information about the profile. contenttypeaction: - type: raw + type: list choices: - none - block @@ -230,8 +235,9 @@ - 'CLI users: To enable one or more actions, type "set appfw profile -contentTypeaction" followed by the actions to be enabled. To turn off all actions, type "set appfw profile -contentTypeaction C(none)".' + elements: str cookieconsistencyaction: - type: raw + type: list choices: - none - block @@ -250,8 +256,9 @@ - 'CLI users: To enable one or more actions, type "set appfw profile -cookieConsistencyAction" followed by the actions to be enabled. To turn off all actions, type "set appfw profile -cookieConsistencyAction C(none)".' + elements: str cookieencryption: - type: raw + type: str choices: - none - decryptOnly @@ -264,7 +271,7 @@ - '* Encrypt Session Only - Encrypt session cookies, but not permanent cookies.' - '* Encrypt All - Encrypt all cookies.' cookiehijackingaction: - type: raw + type: list choices: - none - block @@ -282,8 +289,9 @@ - 'CLI users: To enable one or more actions, type "set appfw profile -cookieHijackingAction" followed by the actions to be enabled. To turn off all actions, type "set appfw profile -cookieHijackingAction C(none)".' + elements: str cookieproxying: - type: raw + type: str choices: - none - sessionOnly @@ -293,7 +301,7 @@ - '* Session Only - Proxy session cookies by using the Citrix ADC session ID, but do not proxy permanent cookies.' cookiesamesiteattribute: - type: raw + type: str choices: - None - LAX @@ -303,7 +311,7 @@ for all set-cookies including appfw session cookies. Default value will be "SameSite=Lax". cookietransforms: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -318,7 +326,7 @@ any cookie transformations. If it is set to C(OFF), no cookie transformations are performed regardless of any other settings.' creditcard: - type: raw + type: list choices: - none - visa @@ -329,8 +337,9 @@ - dinersclub description: - Credit card types that the application firewall should protect. + elements: str creditcardaction: - type: raw + type: list choices: - none - block @@ -347,14 +356,15 @@ - 'CLI users: To enable one or more actions, type "set appfw profile -creditCardAction" followed by the actions to be enabled. To turn off all actions, type "set appfw profile -creditCardAction C(none)".' + elements: str creditcardmaxallowed: - type: raw + type: float description: - This parameter value is used by the block action. It represents the maximum number of credit card numbers that can appear on a web page served by your protected web sites. Pages that contain more credit card numbers are blocked. creditcardxout: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -362,7 +372,7 @@ - Mask any credit card number detected in a response by replacing each digit, except the digits in the final group, with the letter "X." crosssitescriptingaction: - type: raw + type: list choices: - none - block @@ -382,8 +392,9 @@ - 'CLI users: To enable one or more actions, type "set appfw profile -crossSiteScriptingAction" followed by the actions to be enabled. To turn off all actions, type "set appfw profile -crossSiteScriptingAction C(none)".' + elements: str crosssitescriptingcheckcompleteurls: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -391,7 +402,7 @@ - Check complete URLs for cross-site scripts, instead of just the query portions of URLs. crosssitescriptingtransformunsafehtml: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -402,7 +413,7 @@ any cross-site scripting transformations. If it is set to C(OFF), no cross-site scripting transformations are performed regardless of any other settings.' csrftagaction: - type: raw + type: list choices: - none - block @@ -422,13 +433,14 @@ - 'CLI users: To enable one or more actions, type "set appfw profile -CSRFTagAction" followed by the actions to be enabled. To turn off all actions, type "set appfw profile -CSRFTagAction C(none)".' + elements: str customsettings: type: str description: - Object name for custom settings. - 'This check is applicable to Profile Type: HTML, XML.' defaultcharset: - type: raw + type: str description: - 'Default character set for protected web pages. Web pages sent by your protected web sites in response to user requests are assigned this character set if @@ -443,19 +455,23 @@ - '* utf-8 (Unicode)' - '* euc-kr (Korean)' defaultfieldformatmaxlength: - type: raw + type: float description: - Maximum length, in characters, for data entered into a field that is assigned the default field type. + defaultfieldformatmaxoccurrences: + type: float + description: + - Maxiumum allowed occurrences of the form field name in a request. defaultfieldformatminlength: - type: raw + type: float description: - Minimum length, in characters, for data entered into a field that is assigned the default field type. - To disable the minimum and maximum length settings and allow data of any length to be entered into the field, set this parameter to zero (0). defaultfieldformattype: - type: raw + type: str description: - Designate a default field type to be applied to web form fields that do not have a field type explicitly assigned to them. @@ -478,7 +494,7 @@ by using the add appfw profile command, and then use the set appfw profile command to configure the other option.' denyurlaction: - type: raw + type: list choices: - none - block @@ -499,8 +515,9 @@ - 'CLI users: To enable one or more actions, type "set appfw profile -denyURLaction" followed by the actions to be enabled. To turn off all actions, type "set appfw profile -denyURLaction C(none)".' + elements: str dosecurecreditcardlogging: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -508,7 +525,7 @@ - Setting this option logs credit card numbers in the response when the match is found. dynamiclearning: - type: raw + type: list choices: - none - SQLInjection @@ -532,8 +549,9 @@ "set appfw profile -dynamicLearning" followed by the security checks to be enabled. To turn off dynamic learning on all security checks, type "set appfw profile -dynamicLearning C(none)".' + elements: str enableformtagging: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -541,18 +559,18 @@ - Enable tagging of web form fields for use by the Form Field Consistency and CSRF Form Tagging checks. errorurl: - type: raw + type: str description: - URL that application firewall uses as the Error URL. excludefileuploadfromchecks: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Exclude uploaded files from Form checks. exemptclosureurlsfromsecuritychecks: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -561,7 +579,7 @@ script, field format and field consistency security checks at locations other than headers. fakeaccountdetection: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -569,7 +587,7 @@ - 'Fake account detection flag : C(ON)/C(OFF). If set to C(ON) fake account detection in enabled on ADC, if set to C(OFF) fake account detection is disabled.' fieldconsistencyaction: - type: raw + type: list choices: - none - block @@ -589,8 +607,9 @@ - 'CLI users: To enable one or more actions, type "set appfw profile -fieldConsistencyaction" followed by the actions to be enabled. To turn off all actions, type "set appfw profile -fieldConsistencyAction C(none)".' + elements: str fieldformataction: - type: raw + type: list choices: - none - block @@ -609,13 +628,25 @@ - 'CLI users: To enable one or more actions, type "set appfw profile -fieldFormatAction" followed by the actions to be enabled. To turn off all actions, type "set appfw profile -fieldFormatAction C(none)".' + elements: str + fieldscan: + type: str + choices: + - 'ON' + - 'OFF' + description: + - Check if formfield limit scan is C(ON) or C(OFF). + fieldscanlimit: + type: float + description: + - Field scan limit value for HTML fileuploadmaxnum: - type: raw + type: float description: - Maximum allowed number of file uploads per form-submission request. The maximum setting (65535) allows an unlimited number of uploads. fileuploadtypesaction: - type: raw + type: list choices: - none - block @@ -631,15 +662,16 @@ - 'CLI users: To enable one or more actions, type "set appfw profile -fileUploadTypeAction" followed by the actions to be enabled. To turn off all actions, type "set appfw profile -fileUploadTypeAction C(none)".' + elements: str geolocationlogging: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Enable Geo-Location Logging in CEF format logs for the profile. grpcaction: - type: raw + type: list choices: - none - block @@ -647,8 +679,9 @@ - stats description: - gRPC validation + elements: str htmlerrorobject: - type: raw + type: str description: - Name to assign to the HTML Error Object. - Must begin with a letter, number, or the underscore character \(_\), and must @@ -660,13 +693,13 @@ - If the name includes one or more spaces, enclose the name in double or single quotation marks \(for example, "my HTML error object" or 'my HTML error object'\). htmlerrorstatuscode: - type: raw + type: float description: - Response status code associated with HTML error page. Non-empty HTML error object must be imported to the application firewall profile for the status code. htmlerrorstatusmessage: - type: raw + type: str description: - Response status message associated with HTML error page importprofilename: @@ -675,7 +708,7 @@ - Name of the profile which will be created/updated to associate the relaxation rules infercontenttypexmlpayloadaction: - type: raw + type: list choices: - block - log @@ -697,15 +730,16 @@ followed by the actions to be enabled. To turn off all actions, type "set appfw profile -inferContentTypeXMLPayloadAction C(none)". Please note "C(none)" action cannot be used with any other action type.' + elements: str insertcookiesamesiteattribute: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Configure whether application firewall should add samesite attribute for set-cookies inspectcontenttypes: - type: raw + type: list choices: - none - application/x-www-form-urlencoded @@ -722,8 +756,9 @@ - '' - 'CLI users: To enable, type "set appfw profile -InspectContentTypes" followed by the content types to be inspected.' + elements: str inspectquerycontenttypes: - type: raw + type: list choices: - HTML - XML @@ -732,8 +767,9 @@ description: - Inspect request query as well as web forms for injected SQL and cross-site scripts for following content types. + elements: str invalidpercenthandling: - type: raw + type: str choices: - asp_mode - secure_mode @@ -743,7 +779,7 @@ - '* C(asp_mode) - Microsoft ASP format.' - '* C(secure_mode) - Secure format.' jsonblockkeywordaction: - type: raw + type: list choices: - none - block @@ -759,8 +795,9 @@ - 'CLI users: To enable one or more actions, type "set appfw profile -JSONBlockKeywordAction" followed by the actions to be enabled. To turn off all actions, type "set appfw profile -JSONBlockKeywordAction C(none)".' + elements: str jsoncmdinjectionaction: - type: raw + type: list choices: - none - block @@ -776,15 +813,16 @@ - 'CLI users: To enable one or more actions, type "set appfw profile -JSONCMDInjectionAction" followed by the actions to be enabled. To turn off all actions, type "set appfw profile -JSONCMDInjectionAction C(none)".' + elements: str jsoncmdinjectiongrammar: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Check for CMD injection using CMD grammar in JSON jsoncmdinjectiontype: - type: raw + type: str choices: - CMDSplChar - CMDKeyword @@ -800,7 +838,7 @@ - '-C(None) : Disables checking using both SQL Special Char and Keyword' jsondosaction: - type: raw + type: list choices: - none - block @@ -817,8 +855,9 @@ - 'CLI users: To enable one or more actions, type "set appfw profile -JSONDoSAction" followed by the actions to be enabled. To turn off all actions, type "set appfw profile -JSONDoSAction C(none)".' + elements: str jsonerrorobject: - type: raw + type: str description: - Name to the imported JSON Error Object to be set on application firewall profile. - '' @@ -826,17 +865,39 @@ - If the name includes one or more spaces, enclose the name in double or single quotation marks \(for example, "my JSON error object" or 'my JSON error object'\). jsonerrorstatuscode: - type: raw + type: float description: - Response status code associated with JSON error page. Non-empty JSON error object must be imported to the application firewall profile for the status code. jsonerrorstatusmessage: - type: raw + type: str description: - Response status message associated with JSON error page + jsonfieldscan: + type: str + choices: + - 'ON' + - 'OFF' + description: + - Check if JSON field limit scan is C(ON) or C(OFF). + jsonfieldscanlimit: + type: float + description: + - Field scan limit value for JSON + jsonmessagescan: + type: str + choices: + - 'ON' + - 'OFF' + description: + - Check if JSON message limit scan is C(ON) or C(OFF) + jsonmessagescanlimit: + type: float + description: + - Message scan limit value for JSON jsonsqlinjectionaction: - type: raw + type: list choices: - none - block @@ -852,15 +913,16 @@ - 'CLI users: To enable one or more actions, type "set appfw profile -JSONSQLInjectionAction" followed by the actions to be enabled. To turn off all actions, type "set appfw profile -JSONSQLInjectionAction C(none)".' + elements: str jsonsqlinjectiongrammar: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Check for SQL injection using SQL grammar in JSON jsonsqlinjectiontype: - type: raw + type: str choices: - SQLSplChar - SQLKeyword @@ -876,7 +938,7 @@ - '-C(None) : Disables checking using both SQL Special Char and Keyword' jsonxssaction: - type: raw + type: list choices: - none - block @@ -893,8 +955,9 @@ - 'CLI users: To enable one or more actions, type "set appfw profile -JSONXssAction" followed by the actions to be enabled. To turn off all actions, type "set appfw profile -JSONXssAction C(none)".' + elements: str logeverypolicyhit: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -904,8 +967,28 @@ type: str description: - Match this action url in archived Relaxation Rules to replace. + messagescan: + type: str + choices: + - 'ON' + - 'OFF' + description: + - Check if HTML message limit scan is C(ON) or C(OFF) + messagescanlimit: + type: float + description: + - Message scan limit value for HTML + messagescanlimitcontenttypes: + type: list + choices: + - FORM-DATA + - JSON + - NONE + description: + - Enable Message Scan Limit for following content types. + elements: str multipleheaderaction: - type: raw + type: list choices: - block - keepLast @@ -928,8 +1011,9 @@ - '' - 'CLI users: To enable one or more actions, type "set appfw profile -multipleHeaderAction" followed by the actions to be enabled.' + elements: str name: - type: raw + type: str description: - Name for the profile. Must begin with a letter, number, or the underscore character (_), and must contain only letters, numbers, and the hyphen (-), @@ -940,7 +1024,7 @@ - If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my profile" or 'my profile'). optimizepartialreqs: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -956,7 +1040,7 @@ description: - Purge existing Relaxation Rules and replace during import percentdecoderecursively: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -964,13 +1048,13 @@ - Configure whether the application firewall should use percentage recursive decoding postbodylimit: - type: raw + type: float description: - Maximum allowed HTTP post body size, in bytes. Maximum supported value is 10GB. Citrix recommends enabling streaming option for large values of post body limit (>20MB). postbodylimitaction: - type: raw + type: list choices: - block - log @@ -984,18 +1068,19 @@ - '' - 'CLI users: To enable one or more actions, type "set appfw profile -PostBodyLimitAction C(block)" followed by the other actions to be enabled.' + elements: str postbodylimitsignature: - type: raw + type: float description: - Maximum allowed HTTP post body size for signature inspection for location HTTP_POST_BODY in the signatures, in bytes. Note that the changes in value could impact CPU and latency profile. protofileobject: - type: raw + type: str description: - Name of the imported proto file. refererheadercheck: - type: raw + type: str choices: - 'OFF' - if_present @@ -1018,19 +1103,19 @@ - Replace matched url string with this action url string while restoring Relaxation Rules requestcontenttype: - type: raw + type: str description: - Default Content-Type header for requests. - A Content-Type header can contain 0-255 letters, numbers, and the hyphen (-) and underscore (_) characters. responsecontenttype: - type: raw + type: str description: - Default Content-Type header for responses. - A Content-Type header can contain 0-255 letters, numbers, and the hyphen (-) and underscore (_) characters. restaction: - type: raw + type: list choices: - none - block @@ -1038,19 +1123,20 @@ - stats description: - rest validation + elements: str rfcprofile: - type: raw + type: str description: - Object name of the rfc profile. semicolonfieldseparator: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Allow ';' as a form field separator in URL queries and POST form bodies. sessioncookiename: - type: raw + type: str description: - Name of the session cookie that the application firewall uses to track user sessions. @@ -1061,7 +1147,7 @@ - If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my cookie name" or 'my cookie name'). sessionlessfieldconsistency: - type: raw + type: str choices: - 'OFF' - 'ON' @@ -1069,7 +1155,7 @@ description: - Perform sessionless Field Consistency Checks. sessionlessurlclosure: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -1077,12 +1163,12 @@ - Enable session less URL Closure Checks. - 'This check is applicable to Profile Type: HTML.' signatures: - type: raw + type: str description: - Object name for signatures. - 'This check is applicable to Profile Type: HTML, XML.' sqlinjectionaction: - type: raw + type: list choices: - none - block @@ -1101,22 +1187,23 @@ - 'CLI users: To enable one or more actions, type "set appfw profile -SQLInjectionAction" followed by the actions to be enabled. To turn off all actions, type "set appfw profile -SQLInjectionAction C(none)".' + elements: str sqlinjectionchecksqlwildchars: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Check for form fields that contain SQL wild chars . sqlinjectiongrammar: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Check for SQL injection using SQL grammar sqlinjectiononlycheckfieldswithsqlchars: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -1126,7 +1213,7 @@ - Most SQL servers require a special string to activate an SQL request, so SQL code without a special string is harmless to most SQL servers. sqlinjectionparsecomments: - type: raw + type: str choices: - checkall - ansi @@ -1141,7 +1228,7 @@ - '* Nested - Exempt content that is part of a C(nested) (Microsoft-style) comment.' - '* ANSI Nested - Exempt content that is part of any type of comment.' sqlinjectionruletype: - type: raw + type: str choices: - ALLOW - DENY @@ -1150,7 +1237,7 @@ is configured then allow list rules are used, if C(DENY) rule type is configured then deny rules are used.' sqlinjectiontransformspecialchars: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -1163,7 +1250,7 @@ any SQL injection transformations. If it is set to C(OFF), no SQL injection transformations are performed regardless of any other settings.' sqlinjectiontype: - type: raw + type: str choices: - SQLSplChar - SQLKeyword @@ -1179,7 +1266,7 @@ - '-C(None) : Disables checking using both SQL Special Char and Keyword' starturlaction: - type: raw + type: list choices: - none - block @@ -1198,15 +1285,16 @@ - 'CLI users: To enable one or more actions, type "set appfw profile -startURLaction" followed by the actions to be enabled. To turn off all actions, type "set appfw profile -startURLaction C(none)".' + elements: str starturlclosure: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Toggle the state of Start URL Closure. streaming: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -1227,7 +1315,7 @@ - Strip HTML comments. - 'This check is applicable to Profile Type: HTML.' striphtmlcomments: - type: raw + type: str choices: - none - all @@ -1236,7 +1324,7 @@ - Strip HTML comments before forwarding a web page sent by a protected web site in response to a user request. stripxmlcomments: - type: raw + type: str choices: - none - all @@ -1244,14 +1332,14 @@ - Strip XML comments before forwarding a web page sent by a protected web site in response to a user request. trace: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Toggle the state of trace type: - type: raw + type: list choices: - HTML - XML @@ -1269,8 +1357,9 @@ - '* C(XML) C(JSON) - Sites that contain both C(XML) and C(JSON) content.' - '* C(HTML) C(XML) C(JSON) - Sites that contain C(HTML), C(XML) and C(JSON) content.' + elements: str urldecoderequestcookies: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -1278,7 +1367,7 @@ - URL Decode request cookies before subjecting them to SQL and cross-site scripting checks. usehtmlerrorobject: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -1286,7 +1375,7 @@ - Send an imported HTML Error object to a user when a request is blocked, instead of redirecting the user to the designated Error URL. verboseloglevel: - type: raw + type: str choices: - pattern - patternPayload @@ -1294,7 +1383,7 @@ description: - Detailed Logging Verbose Log Level. xmlattachmentaction: - type: raw + type: list choices: - none - block @@ -1313,8 +1402,9 @@ - 'CLI users: To enable one or more actions, type "set appfw profile -XMLAttachmentAction" followed by the actions to be enabled. To turn off all actions, type "set appfw profile -XMLAttachmentAction C(none)".' + elements: str xmldosaction: - type: raw + type: list choices: - none - block @@ -1334,8 +1424,9 @@ - 'CLI users: To enable one or more actions, type "set appfw profile -XMLDoSAction" followed by the actions to be enabled. To turn off all actions, type "set appfw profile -XMLDoSAction C(none)".' + elements: str xmlerrorobject: - type: raw + type: str description: - Name to assign to the XML Error Object, which the application firewall displays when a user request is blocked. @@ -1348,16 +1439,16 @@ - If the name includes one or more spaces, enclose the name in double or single quotation marks \(for example, "my XML error object" or 'my XML error object'\). xmlerrorstatuscode: - type: raw + type: float description: - Response status code associated with XML error page. Non-empty XML error object must be imported to the application firewall profile for the status code. xmlerrorstatusmessage: - type: raw + type: str description: - Response status message associated with XML error page xmlformataction: - type: raw + type: list choices: - none - block @@ -1373,8 +1464,9 @@ - 'CLI users: To enable one or more actions, type "set appfw profile -XMLFormatAction" followed by the actions to be enabled. To turn off all actions, type "set appfw profile -XMLFormatAction C(none)".' + elements: str xmlsoapfaultaction: - type: raw + type: list choices: - none - block @@ -1393,8 +1485,9 @@ - 'CLI users: To enable one or more actions, type "set appfw profile -XMLSOAPFaultAction" followed by the actions to be enabled. To turn off all actions, type "set appfw profile -XMLSOAPFaultAction C(none)".' + elements: str xmlsqlinjectionaction: - type: raw + type: list choices: - none - block @@ -1410,15 +1503,16 @@ - 'CLI users: To enable one or more actions, type "set appfw profile -XMLSQLInjectionAction" followed by the actions to be enabled. To turn off all actions, type "set appfw profile -XMLSQLInjectionAction C(none)".' + elements: str xmlsqlinjectionchecksqlwildchars: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Check for form fields that contain SQL wild chars . xmlsqlinjectiononlycheckfieldswithsqlchars: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -1426,7 +1520,7 @@ - Check only form fields that contain SQL special characters, which most SQL servers require before accepting an SQL command, for injected SQL. xmlsqlinjectionparsecomments: - type: raw + type: str choices: - checkall - ansi @@ -1442,7 +1536,7 @@ - '* Nested - Exempt content that is part of a C(nested) (Microsoft-style) comment.' - '* ANSI Nested - Exempt content that is part of any type of comment.' xmlsqlinjectiontype: - type: raw + type: str choices: - SQLSplChar - SQLKeyword @@ -1456,7 +1550,7 @@ - '-C(SQLSplCharANDKeyword) : Checks for both and blocks if both are found' - '-C(SQLSplCharORKeyword) : Checks for both and blocks if anyone is found' xmlvalidationaction: - type: raw + type: list choices: - none - block @@ -1472,8 +1566,9 @@ - 'CLI users: To enable one or more actions, type "set appfw profile -XMLValidationAction" followed by the actions to be enabled. To turn off all actions, type "set appfw profile -XMLValidationAction C(none)".' + elements: str xmlwsiaction: - type: raw + type: list choices: - none - block @@ -1493,8 +1588,9 @@ - 'CLI users: To enable one or more actions, type "set appfw profile -XMLWSIAction" followed by the actions to be enabled. To turn off all actions, type "set appfw profile -XMLWSIAction C(none)".' + elements: str xmlxssaction: - type: raw + type: list choices: - none - block @@ -1512,6 +1608,7 @@ - 'CLI users: To enable one or more actions, type "set appfw profile -XMLXSSAction" followed by the actions to be enabled. To turn off all actions, type "set appfw profile -XMLXSSAction C(none)".' + elements: str appfwprofile_appfwconfidfield_binding: type: dict description: Bindings for appfwprofile_appfwconfidfield_binding resource @@ -1912,6 +2009,31 @@ elements: dict description: List of binding members default: [] + appfwprofile_grpcvalidation_binding: + type: dict + description: Bindings for appfwprofile_grpcvalidation_binding resource + suboptions: + mode: + type: str + default: desired + description: + - The mode in which to configure the bindings. + - If mode is set to C(desired), the bindings will be added or removed from + the target NetScaler ADCs as necessary to match the bindings specified + in the state. + - If mode is set to C(bind), the specified bindings will be added to the + resource. The existing bindings in the target ADCs will not be modified. + - If mode is set to C(unbind), the specified bindings will be removed from + the resource. The existing bindings in the target ADCs will not be modified. + choices: + - desired + - bind + - unbind + binding_members: + type: list + elements: dict + description: List of binding members + default: [] appfwprofile_jsonblockkeyword_binding: type: dict description: Bindings for appfwprofile_jsonblockkeyword_binding resource @@ -2062,6 +2184,31 @@ elements: dict description: List of binding members default: [] + appfwprofile_restvalidation_binding: + type: dict + description: Bindings for appfwprofile_restvalidation_binding resource + suboptions: + mode: + type: str + default: desired + description: + - The mode in which to configure the bindings. + - If mode is set to C(desired), the bindings will be added or removed from + the target NetScaler ADCs as necessary to match the bindings specified + in the state. + - If mode is set to C(bind), the specified bindings will be added to the + resource. The existing bindings in the target ADCs will not be modified. + - If mode is set to C(unbind), the specified bindings will be removed from + the resource. The existing bindings in the target ADCs will not be modified. + choices: + - desired + - bind + - unbind + binding_members: + type: list + elements: dict + description: List of binding members + default: [] appfwprofile_safeobject_binding: type: dict description: Bindings for appfwprofile_safeobject_binding resource @@ -2317,6 +2464,24 @@ """ EXAMPLES = r""" +--- +- name: Sample appfwprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appfwprofile + delegate_to: localhost + netscaler.adc.appfwprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: pr_appfw + starturlaction: + - learn + - log + - stats """ RETURN = r""" diff --git a/plugins/modules/appfwprofile_appfwconfidfield_binding.py b/plugins/modules/appfwprofile_appfwconfidfield_binding.py index 61c41ae54..50c0dcfc1 100644 --- a/plugins/modules/appfwprofile_appfwconfidfield_binding.py +++ b/plugins/modules/appfwprofile_appfwconfidfield_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: appfwprofile_appfwconfidfield_binding short_description: Binding Resource definition for describing association between appfwprofile and appfwconfidfield resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/appfwprofile_blockkeyword_binding.py b/plugins/modules/appfwprofile_blockkeyword_binding.py index 29f76ff86..9c5bfc634 100644 --- a/plugins/modules/appfwprofile_blockkeyword_binding.py +++ b/plugins/modules/appfwprofile_blockkeyword_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: appfwprofile_blockkeyword_binding short_description: Binding Resource definition for describing association between appfwprofile and blockkeyword resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/appfwprofile_bypasslist_binding.py b/plugins/modules/appfwprofile_bypasslist_binding.py index d71501cdd..4fa6d38cd 100644 --- a/plugins/modules/appfwprofile_bypasslist_binding.py +++ b/plugins/modules/appfwprofile_bypasslist_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: appfwprofile_bypasslist_binding short_description: Binding Resource definition for describing association between appfwprofile and bypasslist resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -38,6 +40,13 @@ the module's parameters. - When C(absent), the resource will be deleted from the NetScaler ADC node. type: str + alertonly: + type: str + choices: + - 'ON' + - 'OFF' + description: + - Send SNMP alert? as_bypass_list: type: str description: @@ -55,6 +64,8 @@ - IPv4 - IPv6 - URL + - HeaderName + - HeaderValue description: - Bypass List scan location as_bypass_list_value_type: diff --git a/plugins/modules/appfwprofile_cmdinjection_binding.py b/plugins/modules/appfwprofile_cmdinjection_binding.py index 902a5658a..b68a381f5 100644 --- a/plugins/modules/appfwprofile_cmdinjection_binding.py +++ b/plugins/modules/appfwprofile_cmdinjection_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: appfwprofile_cmdinjection_binding short_description: Binding Resource definition for describing association between appfwprofile and cmdinjection resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/appfwprofile_contenttype_binding.py b/plugins/modules/appfwprofile_contenttype_binding.py index 56a6f2469..cfad2b645 100644 --- a/plugins/modules/appfwprofile_contenttype_binding.py +++ b/plugins/modules/appfwprofile_contenttype_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: appfwprofile_contenttype_binding short_description: Binding Resource definition for describing association between appfwprofile and contenttype resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/appfwprofile_cookieconsistency_binding.py b/plugins/modules/appfwprofile_cookieconsistency_binding.py index 5b9ebbfee..11b7ae181 100644 --- a/plugins/modules/appfwprofile_cookieconsistency_binding.py +++ b/plugins/modules/appfwprofile_cookieconsistency_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: appfwprofile_cookieconsistency_binding short_description: Binding Resource definition for describing association between appfwprofile and cookieconsistency resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/appfwprofile_creditcardnumber_binding.py b/plugins/modules/appfwprofile_creditcardnumber_binding.py index 629981c48..78e335bd6 100644 --- a/plugins/modules/appfwprofile_creditcardnumber_binding.py +++ b/plugins/modules/appfwprofile_creditcardnumber_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: appfwprofile_creditcardnumber_binding short_description: Binding Resource definition for describing association between appfwprofile and creditcardnumber resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -86,6 +88,22 @@ """ EXAMPLES = r""" +--- +- name: Sample appfwprofile_creditcardnumber_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appfwprofile_creditcardnumber_binding + delegate_to: localhost + netscaler.adc.appfwprofile_creditcardnumber_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: Test_profile + creditcardnumber: '348238190706900' + creditcardnumberurl: ^http://test.net/credit.html$ """ RETURN = r""" diff --git a/plugins/modules/appfwprofile_crosssitescripting_binding.py b/plugins/modules/appfwprofile_crosssitescripting_binding.py index 03e7d1a0c..1be612f6f 100644 --- a/plugins/modules/appfwprofile_crosssitescripting_binding.py +++ b/plugins/modules/appfwprofile_crosssitescripting_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: appfwprofile_crosssitescripting_binding short_description: Binding Resource definition for describing association between appfwprofile and crosssitescripting resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -121,6 +123,26 @@ """ EXAMPLES = r""" +--- +- name: Sample appfwprofile_crosssitescripting_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appfwprofile_crosssitescripting_binding + delegate_to: localhost + netscaler.adc.appfwprofile_crosssitescripting_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: Test_profile + crosssitescripting: text_area + formactionurl_xss: ^http://test.net/forms/login.php$ + as_scan_location_xss: FORMFIELD + as_value_type_xss: Pattern + as_value_expr_xss: onblur + isvalueregex_xss: NOTREGEX """ RETURN = r""" diff --git a/plugins/modules/appfwprofile_csrftag_binding.py b/plugins/modules/appfwprofile_csrftag_binding.py index 88b930772..51ebf3288 100644 --- a/plugins/modules/appfwprofile_csrftag_binding.py +++ b/plugins/modules/appfwprofile_csrftag_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: appfwprofile_csrftag_binding short_description: Binding Resource definition for describing association between appfwprofile and csrftag resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/appfwprofile_denylist_binding.py b/plugins/modules/appfwprofile_denylist_binding.py index 4abc1bc75..c64992db2 100644 --- a/plugins/modules/appfwprofile_denylist_binding.py +++ b/plugins/modules/appfwprofile_denylist_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: appfwprofile_denylist_binding short_description: Binding Resource definition for describing association between appfwprofile and denylist resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -38,6 +40,13 @@ the module's parameters. - When C(absent), the resource will be deleted from the NetScaler ADC node. type: str + alertonly: + type: str + choices: + - 'ON' + - 'OFF' + description: + - Send SNMP alert? as_deny_list: type: str description: @@ -58,6 +67,8 @@ - IPv4 - IPv6 - URL + - HeaderName + - HeaderValue description: - Deny List scan location as_deny_list_value_type: diff --git a/plugins/modules/appfwprofile_denyurl_binding.py b/plugins/modules/appfwprofile_denyurl_binding.py index 91b6243de..27519a573 100644 --- a/plugins/modules/appfwprofile_denyurl_binding.py +++ b/plugins/modules/appfwprofile_denyurl_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: appfwprofile_denyurl_binding short_description: Binding Resource definition for describing association between appfwprofile and denyurl resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/appfwprofile_excluderescontenttype_binding.py b/plugins/modules/appfwprofile_excluderescontenttype_binding.py index e61e43949..fd4b239bb 100644 --- a/plugins/modules/appfwprofile_excluderescontenttype_binding.py +++ b/plugins/modules/appfwprofile_excluderescontenttype_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: appfwprofile_excluderescontenttype_binding short_description: Binding Resource definition for describing association between appfwprofile and excluderescontenttype resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/appfwprofile_fakeaccount_binding.py b/plugins/modules/appfwprofile_fakeaccount_binding.py index f09783bf2..b3f6bba57 100644 --- a/plugins/modules/appfwprofile_fakeaccount_binding.py +++ b/plugins/modules/appfwprofile_fakeaccount_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: appfwprofile_fakeaccount_binding short_description: Binding Resource definition for describing association between appfwprofile and fakeaccount resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/appfwprofile_fieldconsistency_binding.py b/plugins/modules/appfwprofile_fieldconsistency_binding.py index 1099ea6f1..37279833c 100644 --- a/plugins/modules/appfwprofile_fieldconsistency_binding.py +++ b/plugins/modules/appfwprofile_fieldconsistency_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: appfwprofile_fieldconsistency_binding short_description: Binding Resource definition for describing association between appfwprofile and fieldconsistency resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/appfwprofile_fieldformat_binding.py b/plugins/modules/appfwprofile_fieldformat_binding.py index 5722a0fd2..30cad4303 100644 --- a/plugins/modules/appfwprofile_fieldformat_binding.py +++ b/plugins/modules/appfwprofile_fieldformat_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: appfwprofile_fieldformat_binding short_description: Binding Resource definition for describing association between appfwprofile and fieldformat resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -104,6 +106,26 @@ """ EXAMPLES = r""" +--- +- name: Sample appfwprofile_fieldformat_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appfwprofile_fieldformat_binding + delegate_to: localhost + netscaler.adc.appfwprofile_fieldformat_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: Test_profile + fieldformat: text_area + formactionurl_ff: ^http://test.net/credit.html$ + fieldtype: CM1454107840652651 + fieldformatminlength: '1' + fieldformatmaxlength: '78' + isregex_ff: NOTREGEX """ RETURN = r""" diff --git a/plugins/modules/appfwprofile_fileuploadtype_binding.py b/plugins/modules/appfwprofile_fileuploadtype_binding.py index 09aee08c7..56d19f533 100644 --- a/plugins/modules/appfwprofile_fileuploadtype_binding.py +++ b/plugins/modules/appfwprofile_fileuploadtype_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: appfwprofile_fileuploadtype_binding short_description: Binding Resource definition for describing association between appfwprofile and fileuploadtype resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/appfwprofile_grpcvalidation_binding.py b/plugins/modules/appfwprofile_grpcvalidation_binding.py new file mode 100644 index 000000000..5ff1d4616 --- /dev/null +++ b/plugins/modules/appfwprofile_grpcvalidation_binding.py @@ -0,0 +1,143 @@ +#!/usr/bin/python + +# -*- coding: utf-8 -*- + +# Copyright (c) 2023 Cloud Software Group, Inc. +# MIT License (see LICENSE or https://opensource.org/licenses/MIT) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + + +ANSIBLE_METADATA = { + "metadata_version": "1.1", + "status": ["preview"], + "supported_by": "community", +} + +DOCUMENTATION = r""" +--- +module: appfwprofile_grpcvalidation_binding +short_description: Binding Resource definition for describing association between + appfwprofile and grpcvalidation resources +description: Binding Resource definition for describing association between appfwprofile + and grpcvalidation resources +version_added: 2.0.0 +author: + - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) +options: + state: + choices: + - present + - absent + default: present + description: + - The state of the resource being configured by the module on the NetScaler + ADC node. + - When C(present), the resource will be added/updated configured according to + the module's parameters. + - When C(absent), the resource will be deleted from the NetScaler ADC node. + type: str + alertonly: + type: str + choices: + - 'ON' + - 'OFF' + description: + - Send SNMP alert? + comment: + type: str + description: + - Any comments about the purpose of profile, or other useful information about + the profile. + grpc_relax_validation_action: + type: str + choices: + - log + - none + description: + - Action to be taken for traffic matching the configured relaxation rule. + grpcvalidation: + type: str + description: + - 'Exempt any gRPC method matching the given pattern from the API schema validation + check. Example: bookstore.api.doc.AddBook' + isautodeployed: + type: str + choices: + - AUTODEPLOYED + - NOTAUTODEPLOYED + description: + - Is the rule auto deployed by dynamic profile ? + name: + type: str + description: + - Name of the profile to which to bind an exemption or rule. + resourceid: + type: str + description: + - A "id" that identifies the rule. + ruletype: + type: str + choices: + - ALLOW + - DENY + description: + - Specifies rule type of binding +extends_documentation_fragment: netscaler.adc.netscaler_adc + +""" + +EXAMPLES = r""" +""" + +RETURN = r""" +--- +changed: + description: Indicates if any change is made by the module + returned: always + type: bool + sample: true +diff: + description: Dictionary of before and after changes + returned: always + type: dict + sample: {'before': {'key1': 'xyz'}, 'after': {'key2': 'pqr'}, 'prepared': 'changes + done'} +diff_list: + description: List of differences between the actual configured object and the configuration + specified in the module + returned: when changed + type: list + sample: ["Attribute `key1` differs. Desired: () XYZ. Existing: () PQR"] +failed: + description: Indicates if the module failed or not + returned: always + type: bool + sample: false +loglines: + description: list of logged messages by the module + returned: always + type: list + sample: ['message 1', 'message 2'] + +""" + + +import os + +from ..module_utils.module_executor import ModuleExecutor + +RESOURCE_NAME = os.path.basename(__file__).replace(".py", "") + + +def main(): + executor = ModuleExecutor(RESOURCE_NAME) + executor.main() + + +if __name__ == "__main__": + main() diff --git a/plugins/modules/appfwprofile_jsonblockkeyword_binding.py b/plugins/modules/appfwprofile_jsonblockkeyword_binding.py index 3567f1e46..4437dcc0e 100644 --- a/plugins/modules/appfwprofile_jsonblockkeyword_binding.py +++ b/plugins/modules/appfwprofile_jsonblockkeyword_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: appfwprofile_jsonblockkeyword_binding short_description: Binding Resource definition for describing association between appfwprofile and jsonblockkeyword resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/appfwprofile_jsoncmdurl_binding.py b/plugins/modules/appfwprofile_jsoncmdurl_binding.py index ce4422e90..06196e144 100644 --- a/plugins/modules/appfwprofile_jsoncmdurl_binding.py +++ b/plugins/modules/appfwprofile_jsoncmdurl_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: appfwprofile_jsoncmdurl_binding short_description: Binding Resource definition for describing association between appfwprofile and jsoncmdurl resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/appfwprofile_jsondosurl_binding.py b/plugins/modules/appfwprofile_jsondosurl_binding.py index a10b22833..8dc56f7a3 100644 --- a/plugins/modules/appfwprofile_jsondosurl_binding.py +++ b/plugins/modules/appfwprofile_jsondosurl_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: appfwprofile_jsondosurl_binding short_description: Binding Resource definition for describing association between appfwprofile and jsondosurl resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/appfwprofile_jsonsqlurl_binding.py b/plugins/modules/appfwprofile_jsonsqlurl_binding.py index ba074e0b6..98f39caad 100644 --- a/plugins/modules/appfwprofile_jsonsqlurl_binding.py +++ b/plugins/modules/appfwprofile_jsonsqlurl_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: appfwprofile_jsonsqlurl_binding short_description: Binding Resource definition for describing association between appfwprofile and jsonsqlurl resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/appfwprofile_jsonxssurl_binding.py b/plugins/modules/appfwprofile_jsonxssurl_binding.py index 52b6eb381..244fdc414 100644 --- a/plugins/modules/appfwprofile_jsonxssurl_binding.py +++ b/plugins/modules/appfwprofile_jsonxssurl_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: appfwprofile_jsonxssurl_binding short_description: Binding Resource definition for describing association between appfwprofile and jsonxssurl resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -48,8 +50,7 @@ as_value_expr_json_xss: type: str description: - - JSON_XSS key value expressions consistituting expressions for Keyword and - SpecialString + - The JSON XSS key value expression. as_value_type_json_xss: type: str choices: @@ -57,7 +58,7 @@ - Attribute - Pattern description: - - JSON Command key value type. (Keyword | SpecialString) + - Type of the relaxed JSON XSS key value comment: type: str description: @@ -76,14 +77,14 @@ - REGEX - NOTREGEX description: - - Is a regular expression? + - Is the key name a regular expression? isvalueregex_json_xss: type: str choices: - REGEX - NOTREGEX description: - - Is a regular expression? + - Is the JSON XSS key value a regular expression? jsonxssurl: type: str description: @@ -94,7 +95,8 @@ keyname_json_xss: type: str description: - - JSON XSS Key name + - An expression that designates a keyname on the JSON XSS URL for which XSS + injection violations are relaxed. name: type: str description: diff --git a/plugins/modules/appfwprofile_logexpression_binding.py b/plugins/modules/appfwprofile_logexpression_binding.py index 2a3720abe..42268d0fc 100644 --- a/plugins/modules/appfwprofile_logexpression_binding.py +++ b/plugins/modules/appfwprofile_logexpression_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: appfwprofile_logexpression_binding short_description: Binding Resource definition for describing association between appfwprofile and logexpression resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -85,6 +87,22 @@ """ EXAMPLES = r""" +--- +- name: Sample appfwprofile_logexpression_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appfwprofile_logexpression_binding + delegate_to: localhost + netscaler.adc.appfwprofile_logexpression_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: profile2 + logexpression: xyz + as_logexpression: http.req.url """ RETURN = r""" diff --git a/plugins/modules/appfwprofile_restvalidation_binding.py b/plugins/modules/appfwprofile_restvalidation_binding.py new file mode 100644 index 000000000..0523a1f28 --- /dev/null +++ b/plugins/modules/appfwprofile_restvalidation_binding.py @@ -0,0 +1,143 @@ +#!/usr/bin/python + +# -*- coding: utf-8 -*- + +# Copyright (c) 2023 Cloud Software Group, Inc. +# MIT License (see LICENSE or https://opensource.org/licenses/MIT) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + + +ANSIBLE_METADATA = { + "metadata_version": "1.1", + "status": ["preview"], + "supported_by": "community", +} + +DOCUMENTATION = r""" +--- +module: appfwprofile_restvalidation_binding +short_description: Binding Resource definition for describing association between + appfwprofile and restvalidation resources +description: Binding Resource definition for describing association between appfwprofile + and restvalidation resources +version_added: 2.0.0 +author: + - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) +options: + state: + choices: + - present + - absent + default: present + description: + - The state of the resource being configured by the module on the NetScaler + ADC node. + - When C(present), the resource will be added/updated configured according to + the module's parameters. + - When C(absent), the resource will be deleted from the NetScaler ADC node. + type: str + alertonly: + type: str + choices: + - 'ON' + - 'OFF' + description: + - Send SNMP alert? + comment: + type: str + description: + - Any comments about the purpose of profile, or other useful information about + the profile. + isautodeployed: + type: str + choices: + - AUTODEPLOYED + - NOTAUTODEPLOYED + description: + - Is the rule auto deployed by dynamic profile ? + name: + type: str + description: + - Name of the profile to which to bind an exemption or rule. + resourceid: + type: str + description: + - A "id" that identifies the rule. + rest_validation_action: + type: str + choices: + - log + - none + description: + - Action to be taken for traffic matching the configured relaxation rule. + restvalidation: + type: str + description: + - 'Exempt REST endpoints or any other URLs matching the given pattern from the + API schema validation check. Example: GET:/v1/bookstore/viewbooks' + ruletype: + type: str + choices: + - ALLOW + - DENY + description: + - Specifies rule type of binding +extends_documentation_fragment: netscaler.adc.netscaler_adc + +""" + +EXAMPLES = r""" +""" + +RETURN = r""" +--- +changed: + description: Indicates if any change is made by the module + returned: always + type: bool + sample: true +diff: + description: Dictionary of before and after changes + returned: always + type: dict + sample: {'before': {'key1': 'xyz'}, 'after': {'key2': 'pqr'}, 'prepared': 'changes + done'} +diff_list: + description: List of differences between the actual configured object and the configuration + specified in the module + returned: when changed + type: list + sample: ["Attribute `key1` differs. Desired: () XYZ. Existing: () PQR"] +failed: + description: Indicates if the module failed or not + returned: always + type: bool + sample: false +loglines: + description: list of logged messages by the module + returned: always + type: list + sample: ['message 1', 'message 2'] + +""" + + +import os + +from ..module_utils.module_executor import ModuleExecutor + +RESOURCE_NAME = os.path.basename(__file__).replace(".py", "") + + +def main(): + executor = ModuleExecutor(RESOURCE_NAME) + executor.main() + + +if __name__ == "__main__": + main() diff --git a/plugins/modules/appfwprofile_safeobject_binding.py b/plugins/modules/appfwprofile_safeobject_binding.py index a76b712db..d6fbf5403 100644 --- a/plugins/modules/appfwprofile_safeobject_binding.py +++ b/plugins/modules/appfwprofile_safeobject_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: appfwprofile_safeobject_binding short_description: Binding Resource definition for describing association between appfwprofile and safeobject resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/appfwprofile_sqlinjection_binding.py b/plugins/modules/appfwprofile_sqlinjection_binding.py index 7d899c413..1642f170c 100644 --- a/plugins/modules/appfwprofile_sqlinjection_binding.py +++ b/plugins/modules/appfwprofile_sqlinjection_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: appfwprofile_sqlinjection_binding short_description: Binding Resource definition for describing association between appfwprofile and sqlinjection resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -119,6 +121,26 @@ """ EXAMPLES = r""" +--- +- name: Sample appfwprofile_sqlinjection_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appfwprofile_sqlinjection_binding + delegate_to: localhost + netscaler.adc.appfwprofile_sqlinjection_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: Test_profile + sqlinjection: text_area + formactionurl_sql: ^http://test.net/forms/login.php$ + as_scan_location_sql: FORMFIELD + as_value_type_sql: SpecialString + as_value_expr_sql: ; + isvalueregex_sql: NOTREGEX """ RETURN = r""" diff --git a/plugins/modules/appfwprofile_starturl_binding.py b/plugins/modules/appfwprofile_starturl_binding.py index 2d147700d..006341107 100644 --- a/plugins/modules/appfwprofile_starturl_binding.py +++ b/plugins/modules/appfwprofile_starturl_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: appfwprofile_starturl_binding short_description: Binding Resource definition for describing association between appfwprofile and starturl resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/appfwprofile_trustedlearningclients_binding.py b/plugins/modules/appfwprofile_trustedlearningclients_binding.py index acbf156ad..99c1f9c74 100644 --- a/plugins/modules/appfwprofile_trustedlearningclients_binding.py +++ b/plugins/modules/appfwprofile_trustedlearningclients_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: appfwprofile_trustedlearningclients_binding short_description: Binding Resource definition for describing association between appfwprofile and trustedlearningclients resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/appfwprofile_xmlattachmenturl_binding.py b/plugins/modules/appfwprofile_xmlattachmenturl_binding.py index aac7d9a6b..05fc3623d 100644 --- a/plugins/modules/appfwprofile_xmlattachmenturl_binding.py +++ b/plugins/modules/appfwprofile_xmlattachmenturl_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: appfwprofile_xmlattachmenturl_binding short_description: Binding Resource definition for describing association between appfwprofile and xmlattachmenturl resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/appfwprofile_xmldosurl_binding.py b/plugins/modules/appfwprofile_xmldosurl_binding.py index b9f7424be..6800b20bb 100644 --- a/plugins/modules/appfwprofile_xmldosurl_binding.py +++ b/plugins/modules/appfwprofile_xmldosurl_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: appfwprofile_xmldosurl_binding short_description: Binding Resource definition for describing association between appfwprofile and xmldosurl resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/appfwprofile_xmlsqlinjection_binding.py b/plugins/modules/appfwprofile_xmlsqlinjection_binding.py index ae710323c..13de7fa2d 100644 --- a/plugins/modules/appfwprofile_xmlsqlinjection_binding.py +++ b/plugins/modules/appfwprofile_xmlsqlinjection_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: appfwprofile_xmlsqlinjection_binding short_description: Binding Resource definition for describing association between appfwprofile and xmlsqlinjection resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/appfwprofile_xmlvalidationurl_binding.py b/plugins/modules/appfwprofile_xmlvalidationurl_binding.py index 2d180d6a9..ba2e2965d 100644 --- a/plugins/modules/appfwprofile_xmlvalidationurl_binding.py +++ b/plugins/modules/appfwprofile_xmlvalidationurl_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: appfwprofile_xmlvalidationurl_binding short_description: Binding Resource definition for describing association between appfwprofile and xmlvalidationurl resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -129,6 +131,23 @@ """ EXAMPLES = r""" +--- +- name: Sample appfwprofile_xmlvalidationurl_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appfwprofile_xmlvalidationurl_binding + delegate_to: localhost + netscaler.adc.appfwprofile_xmlvalidationurl_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: XMLSchema_2 + xmlvalidationurl: .* + xmlrequestschema: Xml_Schema_2 + xmlresponseschema: Xml_Schema_2 """ RETURN = r""" diff --git a/plugins/modules/appfwprofile_xmlwsiurl_binding.py b/plugins/modules/appfwprofile_xmlwsiurl_binding.py index 850f23461..afaa1c2bf 100644 --- a/plugins/modules/appfwprofile_xmlwsiurl_binding.py +++ b/plugins/modules/appfwprofile_xmlwsiurl_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: appfwprofile_xmlwsiurl_binding short_description: Binding Resource definition for describing association between appfwprofile and xmlwsiurl resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/appfwprofile_xmlxss_binding.py b/plugins/modules/appfwprofile_xmlxss_binding.py index 2872710f0..d18032d45 100644 --- a/plugins/modules/appfwprofile_xmlxss_binding.py +++ b/plugins/modules/appfwprofile_xmlxss_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: appfwprofile_xmlxss_binding short_description: Binding Resource definition for describing association between appfwprofile and xmlxss resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/appfwprotofile.py b/plugins/modules/appfwprotofile.py index f30bf0fa3..56eb81873 100644 --- a/plugins/modules/appfwprotofile.py +++ b/plugins/modules/appfwprotofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: appfwprotofile short_description: Configuration for gRPC protofile resource. description: Configuration for gRPC protofile resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/appfwsettings.py b/plugins/modules/appfwsettings.py index 8fe855b24..96342b654 100644 --- a/plugins/modules/appfwsettings.py +++ b/plugins/modules/appfwsettings.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: appfwsettings short_description: Configuration for AS settings resource. description: Configuration for AS settings resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,56 +39,71 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str ceflogging: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Enable CEF format logs. centralizedlearning: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Flag used to enable/disable ADM centralized learning clientiploggingheader: - type: raw + type: str description: - Name of an HTTP header that contains the IP address that the client used to connect to the protected web site or service. + cookieflags: + type: str + choices: + - none + - httpOnly + - secure + - all + description: + - 'Add the specified flags to AppFW cookies. Available setttings function as + follows:' + - '* None - Do not add flags to AppFW cookies.' + - '* HTTP Only - Add the HTTP Only flag to AppFW cookies, which prevent scripts + from accessing them.' + - '* Secure - Add Secure flag to AppFW cookies.' + - '* All - Add both HTTPOnly and Secure flag to AppFW cookies.' cookiepostencryptprefix: - type: raw + type: str description: - String that is prepended to all encrypted cookie values. defaultprofile: - type: raw + type: str description: - Profile to use when a connection does not match any policy. Default setting is APPFW_BYPASS, which sends unmatched connections back to the Citrix ADC without attempting to filter them further. entitydecoding: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Transform multibyte (double- or half-width) characters to single width characters. geolocationlogging: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Enable Geo-Location Logging in CEF format logs. importsizelimit: - type: raw + type: float description: - - Cumulative total maximum number of bytes in web forms imported to a protected - web site. If a user attempts to upload files with a total byte count higher - than the specified limit, the application firewall blocks the request. + - Maximum cumulative size in bytes of all objects imported to Netscaler. The + user is not allowed to import an object if the operation exceeds the currently + configured limit. learnratelimit: - type: raw + type: float description: - Maximum number of connections per second that the application firewall learning engine examines to generate new relaxations for learning-enabled security @@ -101,7 +118,7 @@ - Log requests that are so malformed that application firewall parsing doesn't occur. malformedreqaction: - type: raw + type: list choices: - none - block @@ -110,24 +127,25 @@ description: - flag to define action on malformed requests that application firewall cannot parse + elements: str proxypassword: - type: raw + type: str description: - Password with which proxy user logs on. proxyport: - type: raw + type: int description: - Proxy Server Port to get updated signatures from AWS. proxyserver: - type: raw + type: str description: - Proxy Server IP to get updated signatures from AWS. proxyusername: - type: raw + type: str description: - Proxy Username sessioncookiename: - type: raw + type: str description: - Name of the session cookie that the application firewall uses to track user sessions. @@ -138,38 +156,38 @@ - If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my cookie name" or 'my cookie name'). sessionlifetime: - type: raw + type: float description: - Maximum amount of time (in seconds) that the application firewall allows a user session to remain active, regardless of user activity. After this time, the user session is terminated. Before continuing to use the protected web site, the user must establish a new session by opening a designated start - URL. + URL. A value of 0 represents infinite time. sessionlimit: - type: raw + type: float description: - Maximum number of sessions that the application firewall allows to be active, regardless of user activity. After the max_limit reaches, No more user session will be created . sessiontimeout: - type: raw + type: float description: - Timeout, in seconds, after which a user session is terminated. Before continuing to use the protected web site, the user must establish a new session by opening a designated start URL. signatureautoupdate: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Flag used to enable/disable auto update signatures signatureurl: - type: raw + type: str description: - URL to download the mapping file from server undefaction: - type: raw + type: str description: - Profile to use when an application firewall policy evaluates to undefined (UNDEF). @@ -177,7 +195,7 @@ profile is the default setting. You can specify a different built-in or user-created profile as the UNDEF profile. useconfigurablesecretkey: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -188,6 +206,20 @@ """ EXAMPLES = r""" +--- +- name: Sample appfwsettings playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appfwsettings + delegate_to: localhost + netscaler.adc.appfwsettings: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + sessiontimeout: '180' """ RETURN = r""" diff --git a/plugins/modules/appfwsignatures.py b/plugins/modules/appfwsignatures.py index e7e0401d4..4072a9ce3 100644 --- a/plugins/modules/appfwsignatures.py +++ b/plugins/modules/appfwsignatures.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: appfwsignatures short_description: Configuration for application firewall signatures XML configuration resource. @@ -24,6 +25,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -119,6 +121,23 @@ """ EXAMPLES = r""" +--- +- name: Sample appfwsignatures playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appfwsignatures + delegate_to: localhost + netscaler.adc.appfwsignatures: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + src: http://10.217.30.16/test_sigs/v13/sigs/sig-r11.1b0v13s6_enabled.xml + name: Space caps + nitro_operation: import + '#nitro_operation': import """ RETURN = r""" diff --git a/plugins/modules/appfwurlencodedformcontenttype.py b/plugins/modules/appfwurlencodedformcontenttype.py index 3756aa7b8..4d03a7fea 100644 --- a/plugins/modules/appfwurlencodedformcontenttype.py +++ b/plugins/modules/appfwurlencodedformcontenttype.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: appfwurlencodedformcontenttype short_description: Configuration for Urlencoded form content type resource. description: Configuration for Urlencoded form content type resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -53,18 +55,17 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample appfwurlencodedformcontenttype playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | appfwurlEncodedFormContentType - delegate_to: localhost - netscaler.adc.appfwurlencodedformcontenttype: - state: present - urlencodedformcontenttypevalue: application/x-www-form-urlencoded - - name: Sample Task | appfwurlEncodedFormContentType | 2 + - name: Configure appfwurlencodedformcontenttype delegate_to: localhost netscaler.adc.appfwurlencodedformcontenttype: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present urlencodedformcontenttypevalue: application/x-www-form-urlencoded.* isregex: REGEX diff --git a/plugins/modules/appfwwsdl.py b/plugins/modules/appfwwsdl.py index e39b2b61b..33bb0f613 100644 --- a/plugins/modules/appfwwsdl.py +++ b/plugins/modules/appfwwsdl.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: appfwwsdl short_description: Configuration for WSDL file resource. description: Configuration for WSDL file resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -58,6 +60,23 @@ """ EXAMPLES = r""" +--- +- name: Sample appfwwsdl playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appfwwsdl + delegate_to: localhost + netscaler.adc.appfwwsdl: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + src: http://10.217.30.16/testsite/Signatures/44_38_1_36/YellowPages.xml + name: Https_Wsd l 2 + nitro_operation: import + '#nitro_operation': import """ RETURN = r""" diff --git a/plugins/modules/appfwxmlcontenttype.py b/plugins/modules/appfwxmlcontenttype.py index fa113baa9..633d3d569 100644 --- a/plugins/modules/appfwxmlcontenttype.py +++ b/plugins/modules/appfwxmlcontenttype.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: appfwxmlcontenttype short_description: Configuration for XML Content type resource. description: Configuration for XML Content type resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -53,16 +55,20 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample appfwxmlcontenttype playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | appfwXMLContentType + - name: Configure appfwxmlcontenttype delegate_to: localhost netscaler.adc.appfwxmlcontenttype: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - xmlcontenttypevalue: .*/xml - isregex: REGEX + xmlcontenttypevalue: END + isregex: NOTREGEX """ RETURN = r""" diff --git a/plugins/modules/appfwxmlerrorpage.py b/plugins/modules/appfwxmlerrorpage.py index c25e9b386..c76fa35d6 100644 --- a/plugins/modules/appfwxmlerrorpage.py +++ b/plugins/modules/appfwxmlerrorpage.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: appfwxmlerrorpage short_description: Configuration for xml error page resource. description: Configuration for xml error page resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -59,6 +61,23 @@ """ EXAMPLES = r""" +--- +- name: Sample appfwxmlerrorpage playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appfwxmlerrorpage + delegate_to: localhost + netscaler.adc.appfwxmlerrorpage: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + src: http://10.217.30.16/testsite/Signatures/44_38_1_36/credit_card.html + name: Xml_Error_1 + nitro_operation: import + '#nitro_operation': import """ RETURN = r""" diff --git a/plugins/modules/appfwxmlschema.py b/plugins/modules/appfwxmlschema.py index 48c0d07c5..9138d1f72 100644 --- a/plugins/modules/appfwxmlschema.py +++ b/plugins/modules/appfwxmlschema.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: appfwxmlschema short_description: Configuration for XML schema resource. description: Configuration for XML schema resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -59,6 +61,23 @@ """ EXAMPLES = r""" +--- +- name: Sample appfwxmlschema playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appfwxmlschema + delegate_to: localhost + netscaler.adc.appfwxmlschema: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + src: http://10.217.30.16/testsite/Signatures/44_38_1_36/schema.xml + name: lower_schema + nitro_operation: import + '#nitro_operation': import """ RETURN = r""" diff --git a/plugins/modules/application.py b/plugins/modules/application.py index 1762851b0..9fcf2985e 100644 --- a/plugins/modules/application.py +++ b/plugins/modules/application.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: application short_description: Configuration for application resource. description: Configuration for application resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/appqoeaction.py b/plugins/modules/appqoeaction.py index bf3ba36da..f8ce9d738 100644 --- a/plugins/modules/appqoeaction.py +++ b/plugins/modules/appqoeaction.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: appqoeaction short_description: Configuration for AppQoS action resource. description: Configuration for AppQoS action resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,11 +41,11 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str altcontentpath: - type: raw + type: str description: - Path to the alternative content service to be used in the ACS altcontentsvcname: - type: raw + type: str description: - Name of the alternative content service to be used in the ACS customfile: @@ -51,14 +53,14 @@ description: - name of the HTML page object to use as the response delay: - type: raw + type: float description: - Delay threshold, in microseconds, for requests that match the policy's rule. If the delay statistics gathered for the matching request exceed the specified delay, configured action triggered for that request, if there is no action then requests are dropped to the lowest priority level dosaction: - type: raw + type: str choices: - SimpleResponse - HICResponse @@ -71,30 +73,30 @@ - Optional expression to add second level check to trigger DoS actions. Specifically used for Analytics based DoS response generation maxconn: - type: raw + type: float description: - Maximum number of concurrent connections that can be open for requests that matches with rule. name: - type: raw + type: str description: - Name for the AppQoE action. Must begin with a letter, number, or the underscore symbol (_). Other characters allowed, after the first character, are the hyphen (-), period (.) hash (#), space ( ), at (@), equals (=), and colon (:) characters. This is a mandatory argument numretries: - type: raw + type: float description: - Retry count polqdepth: - type: raw + type: float description: - Policy queue depth threshold value. When the policy queue size (number of requests queued for the policy binding this action is attached to) increases to the specified polqDepth value, subsequent requests are dropped to the lowest priority level. priority: - type: raw + type: str choices: - HIGH - MEDIUM @@ -107,7 +109,7 @@ priority is not configured then Lowest priority will be used to queue the request. priqdepth: - type: raw + type: float description: - Queue depth threshold value per priorirty level. If the queue size (number of requests in the queue of that particular priorirty) on the virtual server @@ -126,18 +128,18 @@ - ' C(NS) - Serve from the Citrix ADC (built-in response)' - ' Threshold : maxConn or delay' retryonreset: - type: raw + type: str choices: - 'YES' - 'NO' description: - Retry on TCP Reset retryontimeout: - type: raw + type: float description: - Retry on request Timeout(in millisec) upon sending request to backend servers tcpprofile: - type: raw + type: str description: - Bind TCP Profile based on L2/L3/L7 parameters. extends_documentation_fragment: netscaler.adc.netscaler_adc @@ -145,6 +147,21 @@ """ EXAMPLES = r""" +--- +- name: Sample appqoeaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appqoeaction + delegate_to: localhost + netscaler.adc.appqoeaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: appact22_ns + priority: MEDIUM """ RETURN = r""" diff --git a/plugins/modules/appqoecustomresp.py b/plugins/modules/appqoecustomresp.py index dae2627cc..e8585a37d 100644 --- a/plugins/modules/appqoecustomresp.py +++ b/plugins/modules/appqoecustomresp.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: appqoecustomresp short_description: Configuration for AppQoE custom response page resource. description: Configuration for AppQoE custom response page resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/appqoeparameter.py b/plugins/modules/appqoeparameter.py index e62b0e4fb..ad03f1f8e 100644 --- a/plugins/modules/appqoeparameter.py +++ b/plugins/modules/appqoeparameter.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: appqoeparameter short_description: Configuration for QOS parameter resource. description: Configuration for QOS parameter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,20 +39,20 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str avgwaitingclient: - type: raw + type: float description: - average number of client connections, that can sit in service waiting queue dosattackthresh: - type: raw + type: float description: - average number of client connection that can queue up on vserver level without triggering DoS mitigation module maxaltrespbandwidth: - type: raw + type: float description: - maximum bandwidth which will determine whether to send alternate content response sessionlife: - type: raw + type: float description: - Time, in seconds, between the first time and the next time the AppQoE alternative content window is displayed. The alternative content window is displayed only diff --git a/plugins/modules/appqoepolicy.py b/plugins/modules/appqoepolicy.py index a10772d0c..73881e677 100644 --- a/plugins/modules/appqoepolicy.py +++ b/plugins/modules/appqoepolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: appqoepolicy short_description: Configuration for AppQoS policy resource. description: Configuration for AppQoS policy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -54,6 +56,22 @@ """ EXAMPLES = r""" +--- +- name: Sample appqoepolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure appqoepolicy + delegate_to: localhost + netscaler.adc.appqoepolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: apppol3_ns + rule: SUBSCRIBER.AVP(250).VALUE.CONTAINS("name") + action: appact22_ns """ RETURN = r""" diff --git a/plugins/modules/arp.py b/plugins/modules/arp.py index f69eef27a..98431a0b0 100644 --- a/plugins/modules/arp.py +++ b/plugins/modules/arp.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: arp short_description: Configuration for arp resource. description: Configuration for arp resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -86,6 +88,22 @@ """ EXAMPLES = r""" +--- +- name: Sample arp playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure arp + delegate_to: localhost + netscaler.adc.arp: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + ipaddress: 177.0.0.31 + mac: 96:f1:a0:2b:98:1f + ifnum: 1/2 """ RETURN = r""" diff --git a/plugins/modules/arpparam.py b/plugins/modules/arpparam.py index 53dcc0af4..5c85bbd12 100644 --- a/plugins/modules/arpparam.py +++ b/plugins/modules/arpparam.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: arpparam short_description: Configuration for Global arp parameters resource. description: Configuration for Global arp parameters resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,14 +39,14 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str spoofvalidation: - type: raw + type: str choices: - ENABLED - DISABLED description: - enable/disable arp spoofing validation timeout: - type: raw + type: float description: - Time-out value (aging time) for the dynamically learned ARP entries, in seconds. The new value applies only to ARP entries that are dynamically learned after @@ -55,6 +57,20 @@ """ EXAMPLES = r""" +--- +- name: Sample arpparam playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure arpparam + delegate_to: localhost + netscaler.adc.arpparam: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + spoofvalidation: ENABLED """ RETURN = r""" diff --git a/plugins/modules/auditmessageaction.py b/plugins/modules/auditmessageaction.py index f56db32eb..dc29e43a4 100644 --- a/plugins/modules/auditmessageaction.py +++ b/plugins/modules/auditmessageaction.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: auditmessageaction short_description: Configuration for message action resource. description: Configuration for message action resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str bypasssafetycheck: - type: raw + type: str choices: - 'YES' - 'NO' @@ -69,14 +71,14 @@ - '* C(INFORMATIONAL) - All but low-level events.' - '* C(DEBUG) - All events, in extreme detail.' logtonewnslog: - type: raw + type: str choices: - 'YES' - 'NO' description: - Send the message to the new nslog. name: - type: raw + type: str description: - Name of the audit message action. Must begin with a letter, number, or the underscore character (_), and must contain only letters, numbers, and the @@ -95,6 +97,22 @@ """ EXAMPLES = r""" +--- +- name: Sample auditmessageaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure auditmessageaction + delegate_to: localhost + netscaler.adc.auditmessageaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: sample + loglevel: INFORMATIONAL + stringbuilderexpr: client.ip.src """ RETURN = r""" diff --git a/plugins/modules/auditnslogaction.py b/plugins/modules/auditnslogaction.py index 321f94f61..5468a10d6 100644 --- a/plugins/modules/auditnslogaction.py +++ b/plugins/modules/auditnslogaction.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: auditnslogaction short_description: Configuration for ns log action resource. description: Configuration for ns log action resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,21 +41,21 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str acl: - type: raw + type: str choices: - ENABLED - DISABLED description: - Log access control list (ACL) messages. alg: - type: raw + type: str choices: - ENABLED - DISABLED description: - Log the ALG messages appflowexport: - type: raw + type: str choices: - ENABLED - DISABLED @@ -62,14 +64,14 @@ - Appflow collectors are entities to which log messages can be sent so that some action can be performed on them. contentinspectionlog: - type: raw + type: str choices: - ENABLED - DISABLED description: - Log Content Inspection event information dateformat: - type: raw + type: str choices: - MMDDYYYY - DDMMYYYY @@ -90,7 +92,7 @@ - Time, in seconds, for which the Citrix ADC waits before sending another DNS query to resolve the host name of the audit server if the last query failed. logfacility: - type: raw + type: str choices: - LOCAL0 - LOCAL1 @@ -106,7 +108,7 @@ number indicates where a specific message originated from, such as the Citrix ADC itself, the VPN, or external. loglevel: - type: raw + type: list choices: - ALL - EMERGENCY @@ -131,15 +133,16 @@ - '* C(INFORMATIONAL) - All but low-level events.' - '* C(DEBUG) - All events, in extreme detail.' - '* C(NONE) - No events.' + elements: str lsn: - type: raw + type: str choices: - ENABLED - DISABLED description: - Log the LSN messages name: - type: raw + type: str description: - Name of the nslog action. Must begin with a letter, number, or the underscore character (_), and must contain only letters, numbers, and the hyphen (-), @@ -158,32 +161,32 @@ description: - IP address of the nslog server. serverport: - type: raw + type: int description: - Port on which the nslog server accepts connections. sslinterception: - type: raw + type: str choices: - ENABLED - DISABLED description: - Log SSL Interception event information subscriberlog: - type: raw + type: str choices: - ENABLED - DISABLED description: - Log subscriber session event information tcp: - type: raw + type: str choices: - NONE - ALL description: - Log TCP messages. timezone: - type: raw + type: str choices: - GMT_TIME - LOCAL_TIME @@ -193,14 +196,14 @@ - '* C(GMT_TIME). Coordinated Universal Time.' - '* C(LOCAL_TIME). The server''s timezone setting.' urlfiltering: - type: raw + type: str choices: - ENABLED - DISABLED description: - Log URL filtering event information userdefinedauditlog: - type: raw + type: str choices: - 'YES' - 'NO' @@ -214,6 +217,24 @@ """ EXAMPLES = r""" +--- +- name: Sample auditnslogaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure auditnslogaction + delegate_to: localhost + netscaler.adc.auditnslogaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: nslog_act1 + serverip: 10.102.8.183 + serverport: 80 + loglevel: + - ALL """ RETURN = r""" diff --git a/plugins/modules/auditnslogglobal_auditnslogpolicy_binding.py b/plugins/modules/auditnslogglobal_auditnslogpolicy_binding.py index 5f8d75729..9314ba3bb 100644 --- a/plugins/modules/auditnslogglobal_auditnslogpolicy_binding.py +++ b/plugins/modules/auditnslogglobal_auditnslogpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: auditnslogglobal_auditnslogpolicy_binding short_description: Binding Resource definition for describing association between auditnslogglobal and auditnslogpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/auditnslogparams.py b/plugins/modules/auditnslogparams.py index 33423b0f7..391745a36 100644 --- a/plugins/modules/auditnslogparams.py +++ b/plugins/modules/auditnslogparams.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: auditnslogparams short_description: Configuration for ns log parameters resource. description: Configuration for ns log parameters resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,21 +39,21 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str acl: - type: raw + type: str choices: - ENABLED - DISABLED description: - Configure auditing to log access control list (ACL) messages. alg: - type: raw + type: str choices: - ENABLED - DISABLED description: - Log the ALG messages appflowexport: - type: raw + type: str choices: - ENABLED - DISABLED @@ -60,14 +62,14 @@ - Appflow collectors are entities to which log messages can be sent so that some action can be performed on them. contentinspectionlog: - type: raw + type: str choices: - ENABLED - DISABLED description: - Log Content Inspection event information dateformat: - type: raw + type: str choices: - MMDDYYYY - DDMMYYYY @@ -79,7 +81,7 @@ - '* C(DDMMYYYY) - European style date/month/year format.' - '* C(YYYYMMDD) - ISO style year/month/date format.' logfacility: - type: raw + type: str choices: - LOCAL0 - LOCAL1 @@ -95,7 +97,7 @@ number indicates where a specific message originated from, such as the Citrix ADC itself, the VPN, or external. loglevel: - type: raw + type: list choices: - ALL - EMERGENCY @@ -120,44 +122,45 @@ - '* C(INFORMATIONAL) - All but low-level events.' - '* C(DEBUG) - All events, in extreme detail.' - '* C(NONE) - No events.' + elements: str lsn: - type: raw + type: str choices: - ENABLED - DISABLED description: - Log the LSN messages serverip: - type: raw + type: str description: - IP address of the nslog server. serverport: - type: raw + type: int description: - Port on which the nslog server accepts connections. sslinterception: - type: raw + type: str choices: - ENABLED - DISABLED description: - Log SSL Interception event information subscriberlog: - type: raw + type: str choices: - ENABLED - DISABLED description: - Log subscriber session event information tcp: - type: raw + type: str choices: - NONE - ALL description: - Configure auditing to log TCP messages. timezone: - type: raw + type: str choices: - GMT_TIME - LOCAL_TIME @@ -167,14 +170,14 @@ - '* C(GMT_TIME) - Coordinated Universal Time.' - '* C(LOCAL_TIME) - Use the server''s timezone setting.' urlfiltering: - type: raw + type: str choices: - ENABLED - DISABLED description: - Log URL filtering event information userdefinedauditlog: - type: raw + type: str choices: - 'YES' - 'NO' @@ -188,6 +191,21 @@ """ EXAMPLES = r""" +--- +- name: Sample auditnslogparams playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure auditnslogparams + delegate_to: localhost + netscaler.adc.auditnslogparams: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + loglevel: + - ALL """ RETURN = r""" diff --git a/plugins/modules/auditnslogpolicy.py b/plugins/modules/auditnslogpolicy.py index 818866c25..f700ec9f2 100644 --- a/plugins/modules/auditnslogpolicy.py +++ b/plugins/modules/auditnslogpolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: auditnslogpolicy short_description: Configuration for ns log policy resource. description: Configuration for ns log policy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -63,6 +65,22 @@ """ EXAMPLES = r""" +--- +- name: Sample auditnslogpolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure auditnslogpolicy + delegate_to: localhost + netscaler.adc.auditnslogpolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: nslog_pol + rule: 'true' + action: nslog_act1 """ RETURN = r""" diff --git a/plugins/modules/auditsyslogaction.py b/plugins/modules/auditsyslogaction.py index 9a61b811e..1799e2c6c 100644 --- a/plugins/modules/auditsyslogaction.py +++ b/plugins/modules/auditsyslogaction.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: auditsyslogaction short_description: Configuration for system log action resource. description: Configuration for system log action resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,21 +41,21 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str acl: - type: raw + type: str choices: - ENABLED - DISABLED description: - Log access control list (ACL) messages. alg: - type: raw + type: str choices: - ENABLED - DISABLED description: - Log alg info appflowexport: - type: raw + type: str choices: - ENABLED - DISABLED @@ -62,14 +64,14 @@ - Appflow collectors are entities to which log messages can be sent so that some action can be performed on them. contentinspectionlog: - type: raw + type: str choices: - ENABLED - DISABLED description: - Log Content Inspection event information dateformat: - type: raw + type: str choices: - MMDDYYYY - DDMMYYYY @@ -81,7 +83,7 @@ - '* C(DDMMYYYY) - European style date/month/year format.' - '* C(YYYYMMDD) - ISO style year/month/date format.' dns: - type: raw + type: str choices: - ENABLED - DISABLED @@ -101,7 +103,7 @@ description: - Name of the LB vserver. Mutually exclusive with syslog serverIP/serverName logfacility: - type: raw + type: str choices: - LOCAL0 - LOCAL1 @@ -117,7 +119,7 @@ number indicates where a specific message originated from, such as the Citrix ADC itself, the VPN, or external. loglevel: - type: raw + type: list choices: - ALL - EMERGENCY @@ -142,19 +144,66 @@ - '* C(INFORMATIONAL) - All but low-level events.' - '* C(DEBUG) - All events, in extreme detail.' - '* C(NONE) - No events.' + elements: str lsn: - type: raw + type: str choices: - ENABLED - DISABLED description: - Log lsn info + managementlog: + type: list + choices: + - ALL + - SHELL + - ACCESS + - NSMGMT + - NONE + description: + - Management log specifies the categories of log files to be exported. + - It use destination and transport from PE params. + - 'Available values function as follows:' + - '* C(ALL) - All categories (C(SHELL), C(NSMGMT) and C(ACCESS)).' + - '* C(SHELL) - bash.log, and sh.log.' + - '* C(ACCESS) - auth.log, nsvpn.log, vpndebug.log, httpaccess.log, httperror.log, + httpaccess-vpn.log and httperror-vpn.log.' + - '* C(NSMGMT) - notice.log and ns.log.' + - '* C(NONE) - No logs.' + elements: str maxlogdatasizetohold: - type: raw + type: float description: - Max size of log data that can be held in NSB chain of server info. + mgmtloglevel: + type: list + choices: + - ALL + - EMERGENCY + - ALERT + - CRITICAL + - ERROR + - WARNING + - NOTICE + - INFORMATIONAL + - DEBUG + - NONE + description: + - Management log level, which specifies the types of events to log. + - 'Available values function as follows:' + - '* C(ALL) - All events.' + - '* C(EMERGENCY) - Events that indicate an immediate crisis on the server.' + - '* C(ALERT) - Events that might require action.' + - '* C(CRITICAL) - Events that indicate an imminent server crisis.' + - '* C(ERROR) - Events that indicate some type of error.' + - '* C(WARNING) - Events that require action in the near future.' + - '* C(NOTICE) - Events that the administrator should know about.' + - '* C(INFORMATIONAL) - All but low-level events.' + - '* C(DEBUG) - All events, in extreme detail.' + - '* C(NONE) - No events.' + elements: str name: - type: raw + type: str description: - Name of the syslog action. Must begin with a letter, number, or the underscore character (_), and must contain only letters, numbers, and the hyphen (-), @@ -165,7 +214,7 @@ - If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my syslog action" or 'my syslog action'). netprofile: - type: raw + type: str description: - Name of the network profile. - The SNIP configured in the network profile will be used as source IP while @@ -179,37 +228,44 @@ description: - IP address of the syslog server. serverport: - type: raw + type: int description: - Port on which the syslog server accepts connections. sslinterception: - type: raw + type: str choices: - ENABLED - DISABLED description: - Log SSL Interception event information + streamanalytics: + type: str + choices: + - ENABLED + - DISABLED + description: + - Export log stream analytics statistics to syslog server. subscriberlog: - type: raw + type: str choices: - ENABLED - DISABLED description: - Log subscriber session event information tcp: - type: raw + type: str choices: - NONE - ALL description: - Log TCP messages. tcpprofilename: - type: raw + type: str description: - Name of the TCP profile whose settings are to be applied to the audit server info to tune the TCP connection parameters. timezone: - type: raw + type: str choices: - GMT_TIME - LOCAL_TIME @@ -226,14 +282,14 @@ description: - Transport type used to send auditlogs to syslog server. Default type is C(UDP). urlfiltering: - type: raw + type: str choices: - ENABLED - DISABLED description: - Log URL filtering event information userdefinedauditlog: - type: raw + type: str choices: - 'YES' - 'NO' @@ -247,6 +303,26 @@ """ EXAMPLES = r""" +--- +- name: Sample auditsyslogaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure auditsyslogaction + delegate_to: localhost + netscaler.adc.auditsyslogaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: act1121 + lbvservername: lb511 + loglevel: + - ALL + lsn: ENABLED + transport: TCP + maxlogdatasizetohold: '1000' """ RETURN = r""" diff --git a/plugins/modules/auditsyslogglobal_auditsyslogpolicy_binding.py b/plugins/modules/auditsyslogglobal_auditsyslogpolicy_binding.py index db6d36a7b..6b6540749 100644 --- a/plugins/modules/auditsyslogglobal_auditsyslogpolicy_binding.py +++ b/plugins/modules/auditsyslogglobal_auditsyslogpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: auditsyslogglobal_auditsyslogpolicy_binding short_description: Binding Resource definition for describing association between auditsyslogglobal and auditsyslogpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -107,12 +109,9 @@ - SYSTEM - RISE - FEO - - LSN - - LargeScaleNAT - RDPProxy - Rep - Reputation - - URLFiltering - VideoOptimization - ForwardProxy - SSLInterception @@ -146,6 +145,21 @@ """ EXAMPLES = r""" +--- +- name: Sample auditsyslogglobal_auditsyslogpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure auditsyslogglobal_auditsyslogpolicy_binding + delegate_to: localhost + netscaler.adc.auditsyslogglobal_auditsyslogpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + policyname: sys_pol_name + priority: '11' """ RETURN = r""" diff --git a/plugins/modules/auditsyslogparams.py b/plugins/modules/auditsyslogparams.py index 86e419ee3..4eff1521c 100644 --- a/plugins/modules/auditsyslogparams.py +++ b/plugins/modules/auditsyslogparams.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: auditsyslogparams short_description: Configuration for system log parameters resource. description: Configuration for system log parameters resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,21 +39,21 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str acl: - type: raw + type: str choices: - ENABLED - DISABLED description: - Log access control list (ACL) messages. alg: - type: raw + type: str choices: - ENABLED - DISABLED description: - Log the ALG messages appflowexport: - type: raw + type: str choices: - ENABLED - DISABLED @@ -60,14 +62,14 @@ - Appflow collectors are entities to which log messages can be sent so that some action can be performed on them. contentinspectionlog: - type: raw + type: str choices: - ENABLED - DISABLED description: - Log Content Inspection event ifnormation dateformat: - type: raw + type: str choices: - MMDDYYYY - DDMMYYYY @@ -79,14 +81,14 @@ - '* C(DDMMYYYY). European style -date/month/year format.' - '* C(YYYYMMDD) - ISO style year/month/date format.' dns: - type: raw + type: str choices: - ENABLED - DISABLED description: - Log DNS related syslog messages logfacility: - type: raw + type: str choices: - LOCAL0 - LOCAL1 @@ -102,7 +104,7 @@ number indicates where a specific message originated from, such as the Citrix ADC itself, the VPN, or external. loglevel: - type: raw + type: list choices: - ALL - EMERGENCY @@ -127,44 +129,52 @@ - '* C(INFORMATIONAL) - All but low-level events.' - '* C(DEBUG) - All events, in extreme detail.' - '* C(NONE) - No events.' + elements: str lsn: - type: raw + type: str choices: - ENABLED - DISABLED description: - Log the LSN messages serverip: - type: raw + type: str description: - IP address of the syslog server. serverport: - type: raw + type: int description: - Port on which the syslog server accepts connections. sslinterception: - type: raw + type: str choices: - ENABLED - DISABLED description: - Log SSL Interceptionn event information + streamanalytics: + type: str + choices: + - ENABLED + - DISABLED + description: + - Export log stream analytics statistics to syslog server subscriberlog: - type: raw + type: str choices: - ENABLED - DISABLED description: - Log subscriber session event information tcp: - type: raw + type: str choices: - NONE - ALL description: - Log TCP messages. timezone: - type: raw + type: str choices: - GMT_TIME - LOCAL_TIME @@ -174,14 +184,14 @@ - '* C(GMT_TIME) - Coordinated Universal Time.' - '* C(LOCAL_TIME) Use the server''s timezone setting.' urlfiltering: - type: raw + type: str choices: - ENABLED - DISABLED description: - Log URL filtering event information userdefinedauditlog: - type: raw + type: str choices: - 'YES' - 'NO' @@ -195,6 +205,25 @@ """ EXAMPLES = r""" +--- +- name: Sample auditsyslogparams playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure auditsyslogparams + delegate_to: localhost + netscaler.adc.auditsyslogparams: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + loglevel: + - EMERGENCY + - ALERT + - CRITICAL + - ERROR + - WARNING """ RETURN = r""" diff --git a/plugins/modules/auditsyslogpolicy.py b/plugins/modules/auditsyslogpolicy.py index ba30acbd6..d742d6a5b 100644 --- a/plugins/modules/auditsyslogpolicy.py +++ b/plugins/modules/auditsyslogpolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: auditsyslogpolicy short_description: Configuration for system log policy resource. description: Configuration for system log policy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -63,6 +65,22 @@ """ EXAMPLES = r""" +--- +- name: Sample auditsyslogpolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure auditsyslogpolicy + delegate_to: localhost + netscaler.adc.auditsyslogpolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: syslog_pol1 + rule: REQ.IP.DESTIP == 10.102.58.0 -netmask 255.255.255.0 + action: sys_act1 """ RETURN = r""" diff --git a/plugins/modules/authenticationadfsproxyprofile.py b/plugins/modules/authenticationadfsproxyprofile.py index 435b5f068..5ea71e1fd 100644 --- a/plugins/modules/authenticationadfsproxyprofile.py +++ b/plugins/modules/authenticationadfsproxyprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: authenticationadfsproxyprofile short_description: Configuration for ADFSProxy Profile resource. description: Configuration for ADFSProxy Profile resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/authenticationauthnprofile.py b/plugins/modules/authenticationauthnprofile.py index 07f58bd51..f200e16d8 100644 --- a/plugins/modules/authenticationauthnprofile.py +++ b/plugins/modules/authenticationauthnprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: authenticationauthnprofile short_description: Configuration for Authentication profile resource. description: Configuration for Authentication profile resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str authenticationdomain: - type: raw + type: str description: - Domain for which TM cookie must to be set. If unspecified, cookie will be set for FQDN. @@ -49,7 +51,7 @@ - Hostname of the authentication vserver to which user must be redirected for authentication. authenticationlevel: - type: raw + type: float description: - Authentication weight or level of the vserver to which this will bound. This is used to order TM vservers based on the protection required. A session that @@ -60,7 +62,7 @@ description: - Name of the authentication vserver at which authentication should be done. name: - type: raw + type: str description: - Name for the authentication profile. - Must begin with a letter, number, or the underscore character (_), and must @@ -72,6 +74,21 @@ """ EXAMPLES = r""" +--- +- name: Sample authenticationauthnprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationauthnprofile + delegate_to: localhost + netscaler.adc.authenticationauthnprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: citrixgw_auth_profile + authnvsname: Citrix_AAA_vServer """ RETURN = r""" diff --git a/plugins/modules/authenticationazurekeyvault.py b/plugins/modules/authenticationazurekeyvault.py index 0582acca9..6d9bd2a4b 100644 --- a/plugins/modules/authenticationazurekeyvault.py +++ b/plugins/modules/authenticationazurekeyvault.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: authenticationazurekeyvault short_description: Configuration for Azure Key Vault entity resource. description: Configuration for Azure Key Vault entity resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str authentication: - type: raw + type: str choices: - ENABLED - DISABLED @@ -56,12 +58,12 @@ description: - Unique secret string to authorize relying party at authorization server. defaultauthenticationgroup: - type: raw + type: str description: - This is the group that is added to user sessions that match current IdP policy. It can be used in policies to identify relying party trust. name: - type: raw + type: str description: - Name for the new Azure Key Vault profile. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, @@ -72,11 +74,11 @@ - If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my action" or 'my action'). pushservice: - type: raw + type: str description: - Name of the service used to send push notifications refreshinterval: - type: raw + type: float description: - Interval at which access token in obtained. servicekeyname: @@ -84,7 +86,7 @@ description: - Friendly name of the Key to be used to compute signature. signaturealg: - type: raw + type: str choices: - RS256 description: diff --git a/plugins/modules/authenticationcaptchaaction.py b/plugins/modules/authenticationcaptchaaction.py index 61237607d..b6997a89d 100644 --- a/plugins/modules/authenticationcaptchaaction.py +++ b/plugins/modules/authenticationcaptchaaction.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: authenticationcaptchaaction short_description: Configuration for Captcha Action resource. description: Configuration for Captcha Action resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,11 +41,11 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str defaultauthenticationgroup: - type: raw + type: str description: - This is the group that is added to user sessions that match current policy. name: - type: raw + type: str description: - Name for the new captcha action. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, @@ -58,7 +60,7 @@ description: - Secret of gateway as established at the captcha source. serverurl: - type: raw + type: str description: - This is the endpoint at which captcha response is validated. sitekey: diff --git a/plugins/modules/authenticationcertaction.py b/plugins/modules/authenticationcertaction.py index 1c3ba19fb..1940a6a61 100644 --- a/plugins/modules/authenticationcertaction.py +++ b/plugins/modules/authenticationcertaction.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: authenticationcertaction short_description: Configuration for CERT action resource. description: Configuration for CERT action resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,18 +41,18 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str defaultauthenticationgroup: - type: raw + type: str description: - This is the default group that is chosen when the authentication succeeds in addition to extracted groups. groupnamefield: - type: raw + type: str description: - Client-cert field from which the group is extracted. Must be set to either ""Subject"" and ""Issuer"" (include both sets of double quotation marks). - 'Format: :' name: - type: raw + type: str description: - Name for the client cert authentication server profile (action). - Must begin with a letter, number, or the underscore character (_), and must @@ -63,7 +65,7 @@ quotation marks (for example, "my authentication action" or 'my authentication action'). twofactor: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -72,7 +74,7 @@ - Two factor authentication is client cert authentication followed by password authentication. usernamefield: - type: raw + type: str description: - Client-cert field from which the username is extracted. Must be set to either ""Subject"" and ""Issuer"" (include both sets of double quotation marks). @@ -82,6 +84,22 @@ """ EXAMPLES = r""" +--- +- name: Sample authenticationcertaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationcertaction + delegate_to: localhost + netscaler.adc.authenticationcertaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ca5 + twofactor: 'ON' + groupnamefield: Subject:OU """ RETURN = r""" diff --git a/plugins/modules/authenticationcertpolicy.py b/plugins/modules/authenticationcertpolicy.py index 7782526ce..680c3f294 100644 --- a/plugins/modules/authenticationcertpolicy.py +++ b/plugins/modules/authenticationcertpolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: authenticationcertpolicy short_description: Configuration for CERT policy resource. description: Configuration for CERT policy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str name: - type: raw + type: str description: - Name for the client certificate authentication policy. - Must begin with a letter, number, or the underscore character (_), and must @@ -52,12 +54,12 @@ quotation marks (for example, "my authentication policy" or 'my authentication policy'). reqaction: - type: raw + type: str description: - Name of the client cert authentication action to be performed if the policy matches. rule: - type: raw + type: str description: - Name of the Citrix ADC named rule, or an expression, that the policy uses to determine whether to attempt to authenticate the user with the authentication @@ -67,6 +69,22 @@ """ EXAMPLES = r""" +--- +- name: Sample authenticationcertpolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationcertpolicy + delegate_to: localhost + netscaler.adc.authenticationcertpolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: sslrg + rule: ns_true + reqaction: sslrg """ RETURN = r""" diff --git a/plugins/modules/authenticationcitrixauthaction.py b/plugins/modules/authenticationcitrixauthaction.py index 4cfbd70bd..2b25780cb 100644 --- a/plugins/modules/authenticationcitrixauthaction.py +++ b/plugins/modules/authenticationcitrixauthaction.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: authenticationcitrixauthaction short_description: Configuration for Citrix Authentication action resource. description: Configuration for Citrix Authentication action resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str authentication: - type: raw + type: str choices: - ENABLED - DISABLED @@ -47,7 +49,7 @@ - Authentication needs to be disabled for searching user object without performing authentication. authenticationtype: - type: raw + type: str choices: - CITRIXCONNECTOR - ATHENA @@ -55,7 +57,7 @@ - Type of the Citrix Authentication implementation. Default implementation uses Citrix Cloud Connector. name: - type: raw + type: str description: - Name for the new Citrix Authentication action. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, diff --git a/plugins/modules/authenticationdfaaction.py b/plugins/modules/authenticationdfaaction.py index 9f3b252d3..9371f3e2d 100644 --- a/plugins/modules/authenticationdfaaction.py +++ b/plugins/modules/authenticationdfaaction.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: authenticationdfaaction short_description: Configuration for Dfa authentication action resource. description: Configuration for Dfa authentication action resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,17 +41,17 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str clientid: - type: raw + type: str description: - If configured, this string is sent to the DFA server as the X-Citrix-Exchange header value. defaultauthenticationgroup: - type: raw + type: str description: - This is the default group that is chosen when the authentication succeeds in addition to extracted groups. name: - type: raw + type: str description: - Name for the DFA action. - Must begin with a letter, number, or the underscore character (_), and must @@ -62,7 +64,7 @@ - Key shared between the DFA server and the Citrix ADC. - Required to allow the Citrix ADC to communicate with the DFA server. serverurl: - type: raw + type: str description: - DFA Server URL extends_documentation_fragment: netscaler.adc.netscaler_adc diff --git a/plugins/modules/authenticationdfapolicy.py b/plugins/modules/authenticationdfapolicy.py index 95f90d153..bc956913a 100644 --- a/plugins/modules/authenticationdfapolicy.py +++ b/plugins/modules/authenticationdfapolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: authenticationdfapolicy short_description: Configuration for Dfa authentication policy resource. description: Configuration for Dfa authentication policy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/authenticationemailaction.py b/plugins/modules/authenticationemailaction.py index 30d15ddc8..2bdcd551a 100644 --- a/plugins/modules/authenticationemailaction.py +++ b/plugins/modules/authenticationemailaction.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: authenticationemailaction short_description: Configuration for Email entity resource. description: Configuration for Email entity resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,23 +41,23 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str content: - type: raw + type: str description: - Content to be delivered to the user. "$code" string within the content will be replaced with the actual one-time-code to be sent. defaultauthenticationgroup: - type: raw + type: str description: - This is the group that is added to user sessions that match current IdP policy. It can be used in policies to identify relying party trust. emailaddress: - type: raw + type: str description: - An optional expression that yields user's email. When not configured, user's default mail address would be used. When configured, result of this expression is used as destination email address. name: - type: raw + type: str description: - Name for the new email action. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash @@ -76,11 +78,11 @@ such as http(s):// or smtp(s):// for http and smtp protocols respectively. For SMTP, the port number is mandatory like smtps://smtp.example.com:25. timeout: - type: raw + type: float description: - Time after which the code expires. type: - type: raw + type: str choices: - SMTP - ATHENA diff --git a/plugins/modules/authenticationepaaction.py b/plugins/modules/authenticationepaaction.py index 2d96f4a71..a12541d9b 100644 --- a/plugins/modules/authenticationepaaction.py +++ b/plugins/modules/authenticationepaaction.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: authenticationepaaction short_description: Configuration for epa action resource. description: Configuration for epa action resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -43,21 +45,21 @@ description: - it holds the ClientSecurityExpression to be sent to the client defaultepagroup: - type: raw + type: str description: - This is the default group that is chosen when the EPA check succeeds. deletefiles: - type: raw + type: str description: - String specifying the path(s) and name(s) of the files to be deleted by the endpoint analysis (EPA) tool. Multiple files to be delimited by comma killprocess: - type: raw + type: str description: - String specifying the name of a process to be terminated by the endpoint analysis (EPA) tool. Multiple processes to be delimited by comma name: - type: raw + type: str description: - Name for the epa action. Must begin with a - "\t letter, number, or the underscore character (_), and must consist" @@ -68,7 +70,7 @@ \ or more spaces, enclose the name in double or single quotation marks (for\ \ example, \"my aaa action\" or 'my aaa action')." quarantinegroup: - type: raw + type: str description: - This is the quarantine group that is chosen when the EPA check fails - if configured. @@ -77,6 +79,25 @@ """ EXAMPLES = r""" +--- +- name: Sample authenticationepaaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationepaaction + delegate_to: localhost + netscaler.adc.authenticationepaaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: EPA_ACT2 + csecexpr: sys.client_expr("proc_0_perl") + killprocess: process2 + deletefiles: file2 + defaultepagroup: DG2 + quarantinegroup: QG2 """ RETURN = r""" diff --git a/plugins/modules/authenticationldapaction.py b/plugins/modules/authenticationldapaction.py index b2cadbf30..d178bf118 100644 --- a/plugins/modules/authenticationldapaction.py +++ b/plugins/modules/authenticationldapaction.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: authenticationldapaction short_description: Configuration for LDAP action resource. description: Configuration for LDAP action resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,76 +41,76 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str alternateemailattr: - type: raw + type: str description: - The NetScaler appliance uses the alternateive email attribute to query the Active Directory for the alternative email id of a user attribute1: - type: raw + type: str description: - Expression that would be evaluated to extract attribute1 from the ldap response attribute10: - type: raw + type: str description: - Expression that would be evaluated to extract attribute10 from the ldap response attribute11: - type: raw + type: str description: - Expression that would be evaluated to extract attribute11 from the ldap response attribute12: - type: raw + type: str description: - Expression that would be evaluated to extract attribute12 from the ldap response attribute13: - type: raw + type: str description: - Expression that would be evaluated to extract attribute13 from the ldap response attribute14: - type: raw + type: str description: - Expression that would be evaluated to extract attribute14 from the ldap response attribute15: - type: raw + type: str description: - Expression that would be evaluated to extract attribute15 from the ldap response attribute16: - type: raw + type: str description: - Expression that would be evaluated to extract attribute16 from the ldap response attribute2: - type: raw + type: str description: - Expression that would be evaluated to extract attribute2 from the ldap response attribute3: - type: raw + type: str description: - Expression that would be evaluated to extract attribute3 from the ldap response attribute4: - type: raw + type: str description: - Expression that would be evaluated to extract attribute4 from the ldap response attribute5: - type: raw + type: str description: - Expression that would be evaluated to extract attribute5 from the ldap response attribute6: - type: raw + type: str description: - Expression that would be evaluated to extract attribute6 from the ldap response attribute7: - type: raw + type: str description: - Expression that would be evaluated to extract attribute7 from the ldap response attribute8: - type: raw + type: str description: - Expression that would be evaluated to extract attribute8 from the ldap response attribute9: - type: raw + type: str description: - Expression that would be evaluated to extract attribute9 from the ldap response attributes: - type: raw + type: str description: - List of attribute names separated by ',' which needs to be fetched from ldap server. @@ -118,7 +120,7 @@ - These attributes have multi-value support separated by ',' and stored as key-value pair in AAA session authentication: - type: raw + type: str choices: - ENABLED - DISABLED @@ -130,11 +132,11 @@ or where other (non-LDAP) authentication methods are in use and either bound to a primary list or flagged as secondary. authtimeout: - type: raw + type: float description: - Number of seconds the Citrix ADC waits for a response from the RADIUS server. cloudattributes: - type: raw + type: str choices: - ENABLED - DISABLED @@ -142,17 +144,17 @@ - The Citrix ADC uses the cloud attributes to extract additional attributes from LDAP servers required for Citrix Cloud operations defaultauthenticationgroup: - type: raw + type: str description: - This is the default group that is chosen when the authentication succeeds in addition to extracted groups. email: - type: raw + type: str description: - The Citrix ADC uses the email attribute to query the Active Directory for the email id of a user followreferrals: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -160,21 +162,21 @@ - Setting this option to C(ON) enables following LDAP referrals received from the LDAP server. groupattrname: - type: raw + type: str description: - LDAP group attribute name. - Used for group extraction on the LDAP server. groupnameidentifier: - type: raw + type: str description: - Name that uniquely identifies a group in LDAP or Active Directory. groupsearchattribute: - type: raw + type: str description: - LDAP group search attribute. - Used to determine to which groups a group belongs. groupsearchfilter: - type: raw + type: str description: - String to be combined with the default LDAP group search string to form the search value. For example, the group search filter ""vpnallowed=true"" when @@ -185,61 +187,61 @@ fetched without applying this filter. (Be sure to enclose the search string in two sets of double quotation marks; both sets are needed.) groupsearchsubattribute: - type: raw + type: str description: - LDAP group search subattribute. - Used to determine to which groups a group belongs. kbattribute: - type: raw + type: str description: - KnowledgeBasedAuthentication(KBA) attribute on AD. This attribute is used to store and retrieve preconfigured Question and Answer knowledge base used for KBA authentication. ldapbase: - type: raw + type: str description: - Base (node) from which to start LDAP searches. - If the LDAP server is running locally, the default value of base is dc=netscaler, dc=com. ldapbinddn: - type: raw + type: str description: - Full distinguished name (DN) that is used to bind to the LDAP server. - 'Default: cn=Manager,dc=netscaler,dc=com' ldapbinddnpassword: - type: raw + type: str description: - Password used to bind to the LDAP server. ldaphostname: - type: raw + type: str description: - Hostname for the LDAP server. If -validateServerCert is ON then this must be the host name on the certificate from the LDAP server. - A hostname mismatch will cause a connection failure. ldaploginname: - type: raw + type: str description: - LDAP login name attribute. - The Citrix ADC uses the LDAP login name to query external LDAP servers or Active Directories. maxldapreferrals: - type: raw + type: float description: - Specifies the maximum number of nested referrals to follow. maxnestinglevel: - type: raw + type: float description: - If nested group extraction is ON, specifies the number of levels up to which group extraction is performed. mssrvrecordlocation: - type: raw + type: str description: - MSSRV Specific parameter. Used to locate the DNS node to which the SRV record pertains in the domainname. The domainname is appended to it to form the srv record. - 'Example : For "dc._msdcs", the srv record formed is _ldap._tcp.dc._msdcs..' name: - type: raw + type: str description: - Name for the new LDAP action. - Must begin with a letter, number, or the underscore character (_), and must @@ -252,7 +254,7 @@ quotation marks (for example, "my authentication action" or 'my authentication action'). nestedgroupextraction: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -260,23 +262,23 @@ - Allow nested group extraction, in which the Citrix ADC queries external LDAP servers to determine whether a group is part of another group. otpsecret: - type: raw + type: str description: - OneTimePassword(OTP) Secret key attribute on AD. This attribute is used to store and retrieve secret key used for OTP check passwdchange: - type: raw + type: str choices: - ENABLED - DISABLED description: - Allow password change requests. pushservice: - type: raw + type: str description: - Name of the service used to send push notifications referraldnslookup: - type: raw + type: str choices: - A-REC - SRV-REC @@ -284,7 +286,7 @@ description: - Specifies the DNS Record lookup Type for the referrals requireuser: - type: raw + type: str choices: - 'YES' - 'NO' @@ -295,7 +297,7 @@ authentication methods are in use and either bound to a primary list or flagged as secondary. searchfilter: - type: raw + type: str description: - String to be combined with the default LDAP user search string to form the search value. For example, if the search filter "vpnallowed=true" is combined @@ -304,7 +306,7 @@ (Be sure to enclose the search string in two sets of double quotation marks; both sets are needed.). sectype: - type: raw + type: str choices: - PLAINTEXT - TLS @@ -321,7 +323,7 @@ description: - LDAP server name as a FQDN. Mutually exclusive with LDAP IP address. serverport: - type: raw + type: int description: - Port on which the LDAP server accepts connections. sshpublickey: @@ -330,25 +332,25 @@ - SSH PublicKey is attribute on AD. This attribute is used to retrieve ssh PublicKey for RBA authentication ssonameattribute: - type: raw + type: str description: - LDAP single signon (SSO) attribute. - The Citrix ADC uses the SSO name attribute to query external LDAP servers or Active Directories for an alternate username. subattributename: - type: raw + type: str description: - LDAP group sub-attribute name. - Used for group extraction from the LDAP server. svrtype: - type: raw + type: str choices: - AD - NDS description: - The type of LDAP server. validateservercert: - type: raw + type: str choices: - 'YES' - 'NO' @@ -359,6 +361,36 @@ """ EXAMPLES = r""" +--- +- name: Sample authenticationldapaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationldapaction + delegate_to: localhost + netscaler.adc.authenticationldapaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ldap_userextraction_External_noauth + servername: awsdcs-amer.blackstone.com + serverport: 636 + ldapbase: OU=New AD Structure,DC=Blackstone,DC=com + ldapbinddn: CN=GD-CITRIXADC-P-APP,OU=Service Accounts,OU=Elevated,OU=New AD + Structure,DC=Blackstone,DC=com + ldapbinddnpassword: REQ_PASSWORD + ldaploginname: sAMAccountName + groupattrname: memberOf + subattributename: cn + sectype: SSL + authentication: DISABLED + passwdchange: ENABLED + nestedgroupextraction: 'ON' + groupnameidentifier: sAMAccountName + groupsearchattribute: sAMAccountName + defaultauthenticationgroup: External """ RETURN = r""" diff --git a/plugins/modules/authenticationldappolicy.py b/plugins/modules/authenticationldappolicy.py index c69d641fd..6c22e0aa6 100644 --- a/plugins/modules/authenticationldappolicy.py +++ b/plugins/modules/authenticationldappolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: authenticationldappolicy short_description: Configuration for LDAP policy resource. description: Configuration for LDAP policy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str name: - type: raw + type: str description: - Name for the LDAP policy. - Must begin with a letter, number, or the underscore character (_), and must @@ -52,11 +54,11 @@ quotation marks (for example, "my authentication policy" or 'my authentication policy'). reqaction: - type: raw + type: str description: - Name of the LDAP action to perform if the policy matches. rule: - type: raw + type: str description: - Name of the Citrix ADC named rule, or an expression, that the policy uses to determine whether to attempt to authenticate the user with the LDAP server. @@ -65,6 +67,22 @@ """ EXAMPLES = r""" +--- +- name: Sample authenticationldappolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationldappolicy + delegate_to: localhost + netscaler.adc.authenticationldappolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: LDAP_Basic_Policy + rule: ns_true + reqaction: ldap_mgmt_act """ RETURN = r""" diff --git a/plugins/modules/authenticationlocalpolicy.py b/plugins/modules/authenticationlocalpolicy.py index abf4054ea..fb930a1e3 100644 --- a/plugins/modules/authenticationlocalpolicy.py +++ b/plugins/modules/authenticationlocalpolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: authenticationlocalpolicy short_description: Configuration for LOCAL policy resource. description: Configuration for LOCAL policy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -59,6 +61,21 @@ """ EXAMPLES = r""" +--- +- name: Sample authenticationlocalpolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationlocalpolicy + delegate_to: localhost + netscaler.adc.authenticationlocalpolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: NS_GATEWAY_DEFAULT_LOCAL_POL1 + rule: NS_TRUE """ RETURN = r""" diff --git a/plugins/modules/authenticationloginschema.py b/plugins/modules/authenticationloginschema.py index efa24a17b..bc97ecb4f 100644 --- a/plugins/modules/authenticationloginschema.py +++ b/plugins/modules/authenticationloginschema.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: authenticationloginschema short_description: Configuration for 0 resource. description: Configuration for 0 resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -49,11 +51,11 @@ Please note that this applies only to loginSchemas that are used with user-defined factors, and not the vserver factor. authenticationstrength: - type: raw + type: float description: - Weight of the current authentication name: - type: raw + type: str description: - Name for the new login schema. Login schema defines the way login form is rendered. It provides a way to customize the fields that are shown to the @@ -66,16 +68,16 @@ - If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my action" or 'my action'). passwdexpression: - type: raw + type: str description: - Expression for password extraction during login. This can be any relevant advanced policy expression. passwordcredentialindex: - type: raw + type: float description: - The index at which user entered password should be stored in session. ssocredentials: - type: raw + type: str choices: - 'YES' - 'NO' @@ -83,11 +85,11 @@ - This option indicates whether current factor credentials are the default SSO (SingleSignOn) credentials. usercredentialindex: - type: raw + type: float description: - The index at which user entered username should be stored in session. userexpression: - type: raw + type: str description: - Expression for username extraction during login. This can be any relevant advanced policy expression. @@ -96,6 +98,21 @@ """ EXAMPLES = r""" +--- +- name: Sample authenticationloginschema playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationloginschema + delegate_to: localhost + netscaler.adc.authenticationloginschema: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: single_auth + authenticationschema: /nsconfig/loginschema/LoginSchema/SingleAuth.xml """ RETURN = r""" diff --git a/plugins/modules/authenticationloginschemapolicy.py b/plugins/modules/authenticationloginschemapolicy.py index 13234f199..f3b0d1c6c 100644 --- a/plugins/modules/authenticationloginschemapolicy.py +++ b/plugins/modules/authenticationloginschemapolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: authenticationloginschemapolicy short_description: Configuration for 0 resource. description: Configuration for 0 resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -49,15 +51,15 @@ then resend the request if desired.' - '* DROP - Drop the request without sending a response to the user.' comment: - type: raw + type: str description: - Any comments to preserve information about this policy. logaction: - type: raw + type: str description: - Name of messagelog action to use when a request matches this policy. name: - type: raw + type: str description: - Name for the LoginSchema policy. This is used for selecting parameters for user logon. Must begin with an ASCII alphanumeric or underscore (_) character, @@ -93,7 +95,7 @@ - '* Alternatively, you can use single quotation marks to enclose the rule, in which case you do not have to escape the double quotation marks.' undefaction: - type: raw + type: str description: - Action to perform if the result of policy evaluation is undefined (UNDEF). An UNDEF event indicates an internal error condition. Only the above built-in @@ -103,6 +105,22 @@ """ EXAMPLES = r""" +--- +- name: Sample authenticationloginschemapolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationloginschemapolicy + delegate_to: localhost + netscaler.adc.authenticationloginschemapolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: second_factor_schema + rule: 'true' + action: second_factor_schema_action """ RETURN = r""" diff --git a/plugins/modules/authenticationnegotiateaction.py b/plugins/modules/authenticationnegotiateaction.py index 02c48d990..04bc921db 100644 --- a/plugins/modules/authenticationnegotiateaction.py +++ b/plugins/modules/authenticationnegotiateaction.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: authenticationnegotiateaction short_description: Configuration for Negotiate action resource. description: Configuration for Negotiate action resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,23 +41,23 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str defaultauthenticationgroup: - type: raw + type: str description: - This is the default group that is chosen when the authentication succeeds in addition to extracted groups. domain: - type: raw + type: str description: - Domain name of the service principal that represnts Citrix ADC. domainuser: - type: raw + type: str description: - User name of the account that is mapped with Citrix ADC principal. This can be given along with domain and password when keytab file is not available. If username is given along with keytab file, then that keytab file will be searched for this user's credentials. domainuserpasswd: - type: raw + type: str description: - Password of the account that is mapped to the Citrix ADC principal. keytab: @@ -65,7 +67,7 @@ to Citrix ADC. If keytab is not available, domain/username/password can be specified in the negotiate action configuration name: - type: raw + type: str description: - Name for the AD KDC server profile (negotiate action). - Must begin with a letter, number, or the underscore character (_), and must @@ -78,12 +80,12 @@ quotation marks (for example, "my authentication action" or 'my authentication action'). ntlmpath: - type: raw + type: str description: - The path to the site that is enabled for NTLM authentication, including FQDN of the server. This is used when clients fallback to NTLM. ou: - type: raw + type: str description: - Active Directory organizational units (OU) attribute. extends_documentation_fragment: netscaler.adc.netscaler_adc @@ -91,6 +93,23 @@ """ EXAMPLES = r""" +--- +- name: Sample authenticationnegotiateaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationnegotiateaction + delegate_to: localhost + netscaler.adc.authenticationnegotiateaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: neg1 + domain: nsi-test.com + defaultauthenticationgroup: g1 + keytab: /nsconfig/krb/kcd-nsi-test.keytab """ RETURN = r""" diff --git a/plugins/modules/authenticationnegotiatepolicy.py b/plugins/modules/authenticationnegotiatepolicy.py index e7265ed5d..ac52f022e 100644 --- a/plugins/modules/authenticationnegotiatepolicy.py +++ b/plugins/modules/authenticationnegotiatepolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: authenticationnegotiatepolicy short_description: Configuration for Negotiate Policy resource. description: Configuration for Negotiate Policy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -63,6 +65,22 @@ """ EXAMPLES = r""" +--- +- name: Sample authenticationnegotiatepolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationnegotiatepolicy + delegate_to: localhost + netscaler.adc.authenticationnegotiatepolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: negpol + rule: ns_true + reqaction: neg1 """ RETURN = r""" diff --git a/plugins/modules/authenticationnoauthaction.py b/plugins/modules/authenticationnoauthaction.py index 552fcf188..da7150439 100644 --- a/plugins/modules/authenticationnoauthaction.py +++ b/plugins/modules/authenticationnoauthaction.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: authenticationnoauthaction short_description: Configuration for no authentication action resource. description: Configuration for no authentication action resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,11 +41,11 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str defaultauthenticationgroup: - type: raw + type: str description: - This is the group that is added to user sessions that match current policy. name: - type: raw + type: str description: - Name for the new no-authentication action. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, diff --git a/plugins/modules/authenticationoauthaction.py b/plugins/modules/authenticationoauthaction.py index 658a5aba9..10b36bb56 100644 --- a/plugins/modules/authenticationoauthaction.py +++ b/plugins/modules/authenticationoauthaction.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: authenticationoauthaction short_description: Configuration for OAuth authentication action resource. description: Configuration for OAuth authentication action resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,95 +41,96 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str allowedalgorithms: - type: raw + type: list choices: - HS256 - RS256 - RS512 description: - Multivalued option to specify allowed token verification algorithms. + elements: str attribute1: - type: raw + type: str description: - Name of the attribute to be extracted from OAuth Token and to be stored in the attribute1 attribute10: - type: raw + type: str description: - Name of the attribute to be extracted from OAuth Token and to be stored in the attribute10 attribute11: - type: raw + type: str description: - Name of the attribute to be extracted from OAuth Token and to be stored in the attribute11 attribute12: - type: raw + type: str description: - Name of the attribute to be extracted from OAuth Token and to be stored in the attribute12 attribute13: - type: raw + type: str description: - Name of the attribute to be extracted from OAuth Token and to be stored in the attribute13 attribute14: - type: raw + type: str description: - Name of the attribute to be extracted from OAuth Token and to be stored in the attribute14 attribute15: - type: raw + type: str description: - Name of the attribute to be extracted from OAuth Token and to be stored in the attribute15 attribute16: - type: raw + type: str description: - Name of the attribute to be extracted from OAuth Token and to be stored in the attribute16 attribute2: - type: raw + type: str description: - Name of the attribute to be extracted from OAuth Token and to be stored in the attribute2 attribute3: - type: raw + type: str description: - Name of the attribute to be extracted from OAuth Token and to be stored in the attribute3 attribute4: - type: raw + type: str description: - Name of the attribute to be extracted from OAuth Token and to be stored in the attribute4 attribute5: - type: raw + type: str description: - Name of the attribute to be extracted from OAuth Token and to be stored in the attribute5 attribute6: - type: raw + type: str description: - Name of the attribute to be extracted from OAuth Token and to be stored in the attribute6 attribute7: - type: raw + type: str description: - Name of the attribute to be extracted from OAuth Token and to be stored in the attribute7 attribute8: - type: raw + type: str description: - Name of the attribute to be extracted from OAuth Token and to be stored in the attribute8 attribute9: - type: raw + type: str description: - Name of the attribute to be extracted from OAuth Token and to be stored in the attribute9 attributes: - type: raw + type: str description: - List of attribute names separated by ',' which needs to be extracted. - Note that preceding and trailing spaces will be removed. @@ -136,12 +139,12 @@ - These attributes have multi-value support separated by ',' and stored as key-value pair in AAA session audience: - type: raw + type: str description: - Audience for which token sent by Authorization server is applicable. This is typically entity name or url that represents the recipient authentication: - type: raw + type: str choices: - ENABLED - DISABLED @@ -156,12 +159,12 @@ Endpoint/URL value. Please note that Authorization Endpoint or Token Endpoint is mandatory for oauthAction certendpoint: - type: raw + type: str description: - URL of the endpoint that contains JWKs (Json Web Key) for JWT (Json Web Token) verification. certfilepath: - type: raw + type: str description: - Path to the file that contains JWKs (Json Web Key) for JWT (Json Web Token) verification. @@ -175,7 +178,7 @@ description: - Secret string established by user and authorization server defaultauthenticationgroup: - type: raw + type: str description: - This is the default group that is chosen when the authentication succeeds in addition to extracted groups. @@ -187,30 +190,30 @@ description: - Grant type support. value can be code or password graphendpoint: - type: raw + type: str description: - URL of the Graph API service to learn Enterprise Mobility Services (EMS) endpoints. idtokendecryptendpoint: - type: raw + type: str description: - URL to which obtained idtoken will be posted to get a decrypted user identity. Encrypted idtoken will be obtained by posting OAuth token to token endpoint. In order to decrypt idtoken, Citrix ADC posts request to the URL configured introspecturl: - type: raw + type: str description: - URL to which access token would be posted for validation issuer: - type: raw + type: str description: - Identity of the server whose tokens are to be accepted. metadataurl: - type: raw + type: str description: - Well-known configuration endpoint of the Authorization Server. Citrix ADC fetches server details from this endpoint. name: - type: raw + type: str description: - Name for the OAuth Authentication action. - Must begin with a letter, number, or the underscore character (_), and must @@ -222,32 +225,54 @@ - If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my authentication action" or 'my authentication action'). + oauthmiscflags: + type: list + choices: + - Base64Encode_Authorization_With_Padding + - EnableJWTRequest + description: + - Option to set/unset miscellaneous feature flags. + - 'Available values function as follows:' + - '* C(Base64Encode_Authorization_With_Padding) - On setting this value, for + endpoints (token and introspect), basic authorization header will be base64 + encoded with padding.' + - '* C(EnableJWTRequest) - By enabling this field, Authorisation request to + IDP will have jwt signed ''request'' parameter' + elements: str oauthtype: - type: raw + type: str choices: - GENERIC - INTUNE - - ATHENA description: - Type of the OAuth implementation. Default value is generic implementation that is applicable for most deployments. pkce: - type: raw + type: str choices: - ENABLED - DISABLED description: - Option to enable/disable PKCE flow during authentication. refreshinterval: - type: raw + type: float description: - Interval at which services are monitored for necessary configuration. + requestattribute: + type: str + description: + - Name-Value pairs of attributes to be inserted in request parameter. Configuration + format is name=value_expr@@@name2=value2_expr@@@. + - '''@@@'' is used as delimiter between Name-Value pairs. name is a literal + string whose value is 127 characters and does not contain ''='' character.' + - Value is advanced policy expression terminated by @@@ delimiter. Last value + need not contain the delimiter. resourceuri: - type: raw + type: str description: - Resource URL for Oauth configuration. skewtime: - type: raw + type: float description: - This option specifies the allowed clock skew in number of minutes that Citrix ADC allows on an incoming token. For example, if skewTime is 10, then token @@ -265,7 +290,7 @@ this token from Authorization server upon successful authentication. Citrix ADC will validate presented token by posting it to the URL configured tokenendpointauthmethod: - type: raw + type: str choices: - client_secret_post - client_secret_jwt @@ -275,11 +300,11 @@ - Option to select the variant of token authentication method. This method is used while exchanging code with IdP. userinfourl: - type: raw + type: str description: - URL to which OAuth access token will be posted to obtain user information. usernamefield: - type: raw + type: str description: - Attribute in the token from which username should be extracted. extends_documentation_fragment: netscaler.adc.netscaler_adc @@ -287,6 +312,26 @@ """ EXAMPLES = r""" +--- +- name: Sample authenticationoauthaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationoauthaction + delegate_to: localhost + netscaler.adc.authenticationoauthaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: cvpn_nac + oauthtype: INTUNE + tokenendpoint: http://inac.dnpg-blr.com/e6cf700d-68dc-4f92-b7ec-186e6dea36eb/oauth2/token + clientid: e6602bad-8007-44b7-b2ec-819035b71ba6 + clientsecret: 8sOJH51L+uPBVAeCxgPyFDh0Ut+9Y9M6X9jGBJrWwZk= + tenantid: e6cf700d-68dc-4f92-b7ec-186e6dea36eb + graphendpoint: http://inac.dnpg-blr.com """ RETURN = r""" diff --git a/plugins/modules/authenticationoauthidppolicy.py b/plugins/modules/authenticationoauthidppolicy.py index 3b23284cd..ff728d5be 100644 --- a/plugins/modules/authenticationoauthidppolicy.py +++ b/plugins/modules/authenticationoauthidppolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: authenticationoauthidppolicy short_description: Configuration for AAA OAuth IdentityProvider (IdP) policy resource. description: Configuration for AAA OAuth IdentityProvider (IdP) policy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -43,15 +45,15 @@ description: - Name of the profile to apply to requests or connections that match this policy. comment: - type: raw + type: str description: - Any comments to preserve information about this policy. logaction: - type: raw + type: str description: - Name of messagelog action to use when a request matches this policy. name: - type: raw + type: str description: - Name for the OAuth Identity Provider (IdP) authentication policy. This is used for configuring Citrix ADC as OAuth Identity Provider. Must begin with @@ -79,7 +81,7 @@ - Expression that the policy uses to determine whether to respond to the specified request. undefaction: - type: raw + type: str description: - Action to perform if the result of policy evaluation is undefined (UNDEF). An UNDEF event indicates an internal error condition. Only DROP/RESET actions diff --git a/plugins/modules/authenticationoauthidpprofile.py b/plugins/modules/authenticationoauthidpprofile.py index 047e350d6..f9cdbe216 100644 --- a/plugins/modules/authenticationoauthidpprofile.py +++ b/plugins/modules/authenticationoauthidpprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: authenticationoauthidpprofile short_description: Configuration for OAuth Identity Provider (IdP) profile resource. description: Configuration for OAuth Identity Provider (IdP) profile resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str attributes: - type: raw + type: str description: - Name-Value pairs of attributes to be inserted in idtoken. Configuration format is name=value_expr@@@name2=value2_expr@@@. @@ -48,7 +50,7 @@ - Value is advanced policy expression terminated by @@@ delimiter. Last value need not contain the delimiter. audience: - type: raw + type: str description: - Audience for which token is being sent by Citrix ADC IdP. This is typically entity name or url that represents the recipient @@ -61,31 +63,31 @@ description: - Unique secret string to authorize relying party at authorization server. configservice: - type: raw + type: str description: - Name of the entity that is used to obtain configuration for the current authentication request. It is used only in Citrix Cloud. defaultauthenticationgroup: - type: raw + type: str description: - This group will be part of AAA session's internal group list. This will be helpful to admin in Nfactor flow to decide right AAA configuration for Relaying Party. In authentication policy AAA.USER.IS_MEMBER_OF("") is way to use this feature. encrypttoken: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Option to encrypt token when Citrix ADC IDP sends one. issuer: - type: raw + type: str description: - "The name to be used in requests sent from\tCitrix ADC to IdP to uniquely\ \ identify Citrix ADC." name: - type: raw + type: str description: - Name for the new OAuth Identity Provider (IdP) single sign-on profile. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain @@ -101,36 +103,36 @@ description: - URL endpoint on relying party to which the OAuth token is to be sent. refreshinterval: - type: raw + type: float description: - Interval at which Relying Party metadata is refreshed. relyingpartymetadataurl: - type: raw + type: str description: - This is the endpoint at which Citrix ADC IdP can get details about Relying Party (RP) being configured. Metadata response should include endpoints for jwks_uri for RP public key(s). sendpassword: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Option to send encrypted password in idtoken. signaturealg: - type: raw + type: str choices: - RS256 - RS512 description: - Algorithm to be used to sign OpenID tokens. signatureservice: - type: raw + type: str description: - Name of the service in cloud used to sign the data. This is applicable only if signature if offloaded to cloud. skewtime: - type: raw + type: float description: - This option specifies the duration for which the token sent by Citrix ADC IdP is valid. For example, if skewTime is 10, then token would be valid from @@ -140,6 +142,21 @@ """ EXAMPLES = r""" +--- +- name: Sample authenticationoauthidpprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationoauthidpprofile + delegate_to: localhost + netscaler.adc.authenticationoauthidpprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: OAuthIDPProfileIDP + relyingpartymetadataurl: https://10.221.136.42/oauth/idp/.well-known/openid-configuration """ RETURN = r""" diff --git a/plugins/modules/authenticationpolicy.py b/plugins/modules/authenticationpolicy.py index 174160543..4820a189e 100644 --- a/plugins/modules/authenticationpolicy.py +++ b/plugins/modules/authenticationpolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: authenticationpolicy short_description: Configuration for Authentication Policy resource. description: Configuration for Authentication Policy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -43,15 +45,15 @@ description: - Name of the authentication action to be performed if the policy matches. comment: - type: raw + type: str description: - Any comments to preserve information about this policy. logaction: - type: raw + type: str description: - Name of messagelog action to use when a request matches this policy. name: - type: raw + type: str description: - Name for the advance AUTHENTICATION policy. - Must begin with a letter, number, or the underscore character (_), and must @@ -82,7 +84,7 @@ to determine whether to attempt to authenticate the user with the AUTHENTICATION server. undefaction: - type: raw + type: str description: - Action to perform if the result of policy evaluation is undefined (UNDEF). An UNDEF event indicates an internal error condition. Only the above built-in @@ -118,6 +120,24 @@ """ EXAMPLES = r""" +--- +- name: Sample authenticationpolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationpolicy + delegate_to: localhost + netscaler.adc.authenticationpolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: OKta_SAML_Internal_ZS_SubnetsMisc + rule: Sub_58220950_24 || Sub_941881310_25 || Sub_1242481410_24 || Sub_1281771250_24 + || Sub_137831540_24 || Sub_154113230_24 || Sub_197982010_24 || Sub_211144190_24 + || Sub_213521020_24 + action: prod_okta """ RETURN = r""" diff --git a/plugins/modules/authenticationpolicylabel.py b/plugins/modules/authenticationpolicylabel.py index b0234bef7..b500a1dac 100644 --- a/plugins/modules/authenticationpolicylabel.py +++ b/plugins/modules/authenticationpolicylabel.py @@ -17,17 +17,20 @@ } DOCUMENTATION = r""" +--- module: authenticationpolicylabel short_description: Configuration for authentication policy label resource. description: Configuration for authentication policy label resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: - present - absent + - unset default: present description: - The state of the resource being configured by the module on the NetScaler @@ -35,6 +38,7 @@ - When C(present), the resource will be added/updated configured according to the module's parameters. - When C(absent), the resource will be deleted from the NetScaler ADC node. + - When C(unset), the resource will be unset on the NetScaler ADC node. type: str comment: type: str @@ -102,6 +106,21 @@ """ EXAMPLES = r""" +--- +- name: Sample authenticationpolicylabel playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationpolicylabel + delegate_to: localhost + netscaler.adc.authenticationpolicylabel: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + labelname: LDAP_Userextraction_External + loginschema: LSCHEMA_INT """ RETURN = r""" diff --git a/plugins/modules/authenticationpolicylabel_authenticationpolicy_binding.py b/plugins/modules/authenticationpolicylabel_authenticationpolicy_binding.py index 3269d49e5..612c9cef9 100644 --- a/plugins/modules/authenticationpolicylabel_authenticationpolicy_binding.py +++ b/plugins/modules/authenticationpolicylabel_authenticationpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: authenticationpolicylabel_authenticationpolicy_binding short_description: Binding Resource definition for describing association between authenticationpolicylabel and authenticationpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -64,6 +66,23 @@ """ EXAMPLES = r""" +--- +- name: Sample authenticationpolicylabel_authenticationpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationpolicylabel_authenticationpolicy_binding + delegate_to: localhost + netscaler.adc.authenticationpolicylabel_authenticationpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + labelname: LDAP_Userextraction_External + policyname: LDAP_userextraction_External_pol + priority: '100' + gotopriorityexpression: END """ RETURN = r""" diff --git a/plugins/modules/authenticationpushservice.py b/plugins/modules/authenticationpushservice.py index 545014b3d..7f032ff7f 100644 --- a/plugins/modules/authenticationpushservice.py +++ b/plugins/modules/authenticationpushservice.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: authenticationpushservice short_description: Configuration for Service details for sending push notifications resource. @@ -24,6 +25,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -53,7 +55,7 @@ - Customer id/name of the account in cloud that is used to create clientid/secret pair. name: - type: raw + type: str description: - Name for the push service. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash @@ -63,7 +65,7 @@ \ in double or single quotation marks (for example, \"my push service\" or\ \ 'my push service')." refreshinterval: - type: raw + type: float description: - Interval at which certificates or idtoken is refreshed. extends_documentation_fragment: netscaler.adc.netscaler_adc diff --git a/plugins/modules/authenticationradiusaction.py b/plugins/modules/authenticationradiusaction.py index 14b09c7cf..f07da0a4b 100644 --- a/plugins/modules/authenticationradiusaction.py +++ b/plugins/modules/authenticationradiusaction.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: authenticationradiusaction short_description: Configuration for RADIUS action resource. description: Configuration for RADIUS action resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,30 +41,30 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str accounting: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Whether the RADIUS server is currently accepting accounting messages. authentication: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Configure the RADIUS server state to accept or refuse authentication messages. authservretry: - type: raw + type: float description: - Number of retry by the Citrix ADC before getting response from the RADIUS server. authtimeout: - type: raw + type: float description: - Number of seconds the Citrix ADC waits for a response from the RADIUS server. callingstationid: - type: raw + type: str choices: - ENABLED - DISABLED @@ -70,21 +72,21 @@ - Send Calling-Station-ID of the client to the RADIUS server. IP Address of the client is sent as its Calling-Station-ID. defaultauthenticationgroup: - type: raw + type: str description: - This is the default group that is chosen when the authentication succeeds in addition to extracted groups. ipattributetype: - type: raw + type: float description: - Remote IP address attribute type in a RADIUS response. ipvendorid: - type: raw + type: float description: - Vendor ID of the intranet IP attribute in the RADIUS response. - 'NOTE: A value of 0 indicates that the attribute is not vendor encoded.' name: - type: raw + type: str description: - Name for the RADIUS action. - Must begin with a letter, number, or the underscore character (_), and must @@ -92,7 +94,7 @@ ( ), at (@), equals (=), colon (:), and underscore characters. Cannot be changed after the RADIUS action is added. passencoding: - type: raw + type: str choices: - pap - chap @@ -102,26 +104,26 @@ - Encoding type for passwords in RADIUS packets that the Citrix ADC sends to the RADIUS server. pwdattributetype: - type: raw + type: float description: - Vendor-specific password attribute type in a RADIUS response. pwdvendorid: - type: raw + type: float description: - Vendor ID of the attribute, in the RADIUS response, used to extract the user password. radattributetype: - type: raw + type: float description: - RADIUS attribute type, used for RADIUS group extraction. radgroupseparator: - type: raw + type: str description: - RADIUS group separator string - The group separator delimits group names within a RADIUS attribute for RADIUS group extraction. radgroupsprefix: - type: raw + type: str description: - RADIUS groups prefix string. - This groups prefix precedes the group names within a RADIUS attribute for @@ -132,12 +134,12 @@ - Key shared between the RADIUS server and the Citrix ADC. - Required to allow the Citrix ADC to communicate with the RADIUS server. radnasid: - type: raw + type: str description: - If configured, this string is sent to the RADIUS server as the Network Access Server ID (NASID). radnasip: - type: raw + type: str choices: - ENABLED - DISABLED @@ -146,7 +148,7 @@ as the Network Access Server IP (NASIP) address. - The RADIUS protocol defines the meaning and use of the NASIP address. radvendorid: - type: raw + type: float description: - RADIUS vendor ID attribute, used for RADIUS group extraction. serverip: @@ -158,16 +160,16 @@ description: - RADIUS server name as a FQDN. Mutually exclusive with RADIUS IP address. serverport: - type: raw + type: int description: - Port number on which the RADIUS server listens for connections. targetlbvserver: - type: raw + type: str description: - If transport mode is TLS, specify the name of LB vserver to associate. The LB vserver needs to be of type TCP and service associated needs to be SSL_TCP transport: - type: raw + type: str choices: - UDP - TCP @@ -175,7 +177,7 @@ description: - Transport mode to RADIUS server. tunnelendpointclientip: - type: raw + type: str choices: - ENABLED - DISABLED @@ -186,6 +188,29 @@ """ EXAMPLES = r""" +--- +- name: Sample authenticationradiusaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationradiusaction + delegate_to: localhost + netscaler.adc.authenticationradiusaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: RADIUS_10.102.222.187 + serverip: 10.102.222.187 + serverport: 1812 + authtimeout: '3' + radkey: freebsd + radnasip: DISABLED + passencoding: pap + ipvendorid: '0' + accounting: 'ON' + callingstationid: DISABLED """ RETURN = r""" diff --git a/plugins/modules/authenticationradiuspolicy.py b/plugins/modules/authenticationradiuspolicy.py index 5e865d736..0cb105711 100644 --- a/plugins/modules/authenticationradiuspolicy.py +++ b/plugins/modules/authenticationradiuspolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: authenticationradiuspolicy short_description: Configuration for RADIUS policy resource. description: Configuration for RADIUS policy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str name: - type: raw + type: str description: - Name for the RADIUS authentication policy. - Must begin with a letter, number, or the underscore character (_), and must @@ -52,11 +54,11 @@ quotation marks (for example, "my authentication policy" or 'my authentication policy'). reqaction: - type: raw + type: str description: - Name of the RADIUS action to perform if the policy matches. rule: - type: raw + type: str description: - Name of the Citrix ADC named rule, or an expression, that the policy uses to determine whether to attempt to authenticate the user with the RADIUS server. @@ -65,6 +67,22 @@ """ EXAMPLES = r""" +--- +- name: Sample authenticationradiuspolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationradiuspolicy + delegate_to: localhost + netscaler.adc.authenticationradiuspolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: test_radius + rule: ns_true + reqaction: test_radius_act """ RETURN = r""" diff --git a/plugins/modules/authenticationsamlaction.py b/plugins/modules/authenticationsamlaction.py index 789ac7b9a..2ea1ecdc1 100644 --- a/plugins/modules/authenticationsamlaction.py +++ b/plugins/modules/authenticationsamlaction.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: authenticationsamlaction short_description: Configuration for AAA Saml action resource. description: Configuration for AAA Saml action resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,114 +41,114 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str artifactresolutionserviceurl: - type: raw + type: str description: - URL of the Artifact Resolution Service on IdP to which Citrix ADC will post artifact to get actual SAML token. attribute1: - type: raw + type: str description: - Name of the attribute in SAML Assertion whose value needs to be extracted and stored as attribute1. Maximum length of the extracted attribute is 239 bytes. attribute10: - type: raw + type: str description: - Name of the attribute in SAML Assertion whose value needs to be extracted and stored as attribute10. Maximum length of the extracted attribute is 239 bytes. attribute11: - type: raw + type: str description: - Name of the attribute in SAML Assertion whose value needs to be extracted and stored as attribute11. Maximum length of the extracted attribute is 239 bytes. attribute12: - type: raw + type: str description: - Name of the attribute in SAML Assertion whose value needs to be extracted and stored as attribute12. Maximum length of the extracted attribute is 239 bytes. attribute13: - type: raw + type: str description: - Name of the attribute in SAML Assertion whose value needs to be extracted and stored as attribute13. Maximum length of the extracted attribute is 239 bytes. attribute14: - type: raw + type: str description: - Name of the attribute in SAML Assertion whose value needs to be extracted and stored as attribute14. Maximum length of the extracted attribute is 239 bytes. attribute15: - type: raw + type: str description: - Name of the attribute in SAML Assertion whose value needs to be extracted and stored as attribute15. Maximum length of the extracted attribute is 239 bytes. attribute16: - type: raw + type: str description: - Name of the attribute in SAML Assertion whose value needs to be extracted and stored as attribute16. Maximum length of the extracted attribute is 239 bytes. attribute2: - type: raw + type: str description: - Name of the attribute in SAML Assertion whose value needs to be extracted and stored as attribute2. Maximum length of the extracted attribute is 239 bytes. attribute3: - type: raw + type: str description: - Name of the attribute in SAML Assertion whose value needs to be extracted and stored as attribute3. Maximum length of the extracted attribute is 239 bytes. attribute4: - type: raw + type: str description: - Name of the attribute in SAML Assertion whose value needs to be extracted and stored as attribute4. Maximum length of the extracted attribute is 239 bytes. attribute5: - type: raw + type: str description: - Name of the attribute in SAML Assertion whose value needs to be extracted and stored as attribute5. Maximum length of the extracted attribute is 239 bytes. attribute6: - type: raw + type: str description: - Name of the attribute in SAML Assertion whose value needs to be extracted and stored as attribute6. Maximum length of the extracted attribute is 239 bytes. attribute7: - type: raw + type: str description: - Name of the attribute in SAML Assertion whose value needs to be extracted and stored as attribute7. Maximum length of the extracted attribute is 239 bytes. attribute8: - type: raw + type: str description: - Name of the attribute in SAML Assertion whose value needs to be extracted and stored as attribute8. Maximum length of the extracted attribute is 239 bytes. attribute9: - type: raw + type: str description: - Name of the attribute in SAML Assertion whose value needs to be extracted and stored as attribute9. Maximum length of the extracted attribute is 239 bytes. attributeconsumingserviceindex: - type: raw + type: float description: - Index/ID of the attribute specification at Identity Provider (IdP). IdP will locate attributes requested by SP using this index and send those attributes in Assertion attributes: - type: raw + type: str description: - List of attribute names separated by ',' which needs to be extracted. - Note that preceeding and trailing spaces will be removed. @@ -155,12 +157,12 @@ - These attributes have multi-value support separated by ',' and stored as key-value pair in AAA session audience: - type: raw + type: str description: - Audience for which assertion sent by IdP is applicable. This is typically entity name or url that represents ServiceProvider authnctxclassref: - type: raw + type: list choices: - InternetProtocol - InternetProtocolPassword @@ -249,8 +251,9 @@ means.' - 'C(Windows): This indicates that C(Windows) integrated authentication is utilized for authentication.' + elements: str customauthnctxclassref: - type: raw + type: str description: - This element specifies the custom authentication class reference to be sent as a part of the Authentication Request that is sent by the SP to SAML IDP. @@ -261,19 +264,19 @@ - 'Example input: set authentication samlaction samlact1 -customAuthnCtxClassRef http://www.class1.com/LoA1,http://www.class2.com/LoA2' defaultauthenticationgroup: - type: raw + type: str description: - This is the default group that is chosen when the authentication succeeds in addition to extracted groups. digestmethod: - type: raw + type: str choices: - SHA1 - SHA256 description: - Algorithm to be used to compute/verify digest for SAML transactions enforceusername: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -281,7 +284,7 @@ - Option to choose whether the username that is extracted from SAML assertion can be edited in login page while doing second factor forceauthn: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -289,33 +292,33 @@ - Option that forces authentication at the Identity Provider (IdP) that receives Citrix ADC's request groupnamefield: - type: raw + type: str description: - Name of the tag in assertion that contains user groups. logoutbinding: - type: raw + type: str choices: - REDIRECT - POST description: - This element specifies the transport mechanism of saml logout messages. logouturl: - type: raw + type: str description: - SingleLogout URL on IdP to which logoutRequest will be sent on Citrix ADC session cleanup. metadatarefreshinterval: - type: raw + type: float description: - Interval in minutes for fetching metadata from specified metadata URL metadataurl: - type: raw + type: str description: - This URL is used for obtaining saml metadata. Note that it fills samlIdPCertName and samlredirectUrl fields so those fields should not be updated when metadataUrl present name: - type: raw + type: str description: - Name for the SAML server profile (action). - Must begin with a letter, number, or the underscore character (_), and must @@ -327,8 +330,17 @@ - If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my authentication action" or 'my authentication action'). + preferredbindtype: + type: list + choices: + - SSOREDIRECT + - LOGOUTPOST + description: + - This element specifies the preferred binding types for sso and logout for + metadata configuration. + elements: str relaystaterule: - type: raw + type: str description: - Boolean expression that will be evaluated to validate the SAML Response. - 'Examples:' @@ -337,7 +349,7 @@ - set authentication samlaction -relaystateRule 'AAA.LOGIN.RELAYSTATE.CONTAINS_ANY("patset_name")' - set authentication samlAction samlsp -relaystateRule 'AAA.LOGIN.RELAYSTATE.REGEX_MATCH(re#http://.com/#)'. requestedauthncontext: - type: raw + type: str choices: - exact - minimum @@ -347,11 +359,11 @@ - This element specifies the authentication context requirements of authentication statements returned in the response. samlacsindex: - type: raw + type: float description: - Index/ID of the metadata entry corresponding to this configuration. samlbinding: - type: raw + type: str choices: - REDIRECT - POST @@ -364,71 +376,70 @@ - Name of the SSL certificate used to verify responses from SAML Identity Provider (IdP). Note that if metadateURL is present then this filed should be empty. samlissuername: - type: raw + type: str description: - "The name to be used in requests sent from\tCitrix ADC to IdP to uniquely\ \ identify Citrix ADC." samlredirecturl: - type: raw + type: str description: - URL to which users are redirected for authentication. Note that if metadateURL is present then this filed should be empty samlrejectunsignedassertion: - type: raw + type: str choices: - 'ON' - - 'OFF' - STRICT description: - Reject unsigned SAML assertions. C(ON) option results in rejection of Assertion that is received without signature. C(STRICT) option ensures that both Response - and Assertion are signed. C(OFF) allows unsigned Assertions. + and Assertion are signed. samlsigningcertname: - type: raw + type: str description: - Name of the SSL certificate to sign requests from ServiceProvider (SP) to Identity Provider (IdP). samltwofactor: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Option to enable second factor after SAML samluserfield: - type: raw + type: str description: - SAML user ID, as given in the SAML assertion. sendthumbprint: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Option to send thumbprint instead of x509 certificate in SAML request signaturealg: - type: raw + type: str choices: - RSA-SHA1 - RSA-SHA256 description: - Algorithm to be used to sign/verify SAML transactions skewtime: - type: raw + type: float description: - This option specifies the allowed clock skew in number of minutes that Citrix ADC ServiceProvider allows on an incoming assertion. For example, if skewTime is 10, then assertion would be valid from (current time - 10) min to (current time + 10) min, ie 20min in all. statechecks: - type: raw + type: str description: - Boolean expression that will be evaluated to validate HTTP requests on SAML endpoints. - 'Examples:' - set authentication samlaction -stateChecks 'HTTP.REQ.HOSTNAME.EQ("https://fqdn.com/")' storesamlresponse: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -439,6 +450,27 @@ """ EXAMPLES = r""" +--- +- name: Sample authenticationsamlaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationsamlaction + delegate_to: localhost + netscaler.adc.authenticationsamlaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: prod_okta + samlidpcertname: okta_cert + samlsigningcertname: portal.bx.com + samlredirecturl: https://login.bx.com/app/citrixnetscalergateway_saml/exk5wlx791ZWQVGXR4x7/sso/saml + samluserfield: NameID + samlissuername: http://www.okta.com/exk5wlx791ZWQVGXR4x7 + relaystaterule: AAA.LOGIN.RELAYSTATE.CONTAINS_ANY("prod_patset") + logouturl: https://login.bx.com/login/signout """ RETURN = r""" diff --git a/plugins/modules/authenticationsamlidppolicy.py b/plugins/modules/authenticationsamlidppolicy.py index 1b494e95d..31c155f30 100644 --- a/plugins/modules/authenticationsamlidppolicy.py +++ b/plugins/modules/authenticationsamlidppolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: authenticationsamlidppolicy short_description: Configuration for AAA Saml IdentityProvider (IdP) policy resource. description: Configuration for AAA Saml IdentityProvider (IdP) policy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -43,15 +45,15 @@ description: - Name of the profile to apply to requests or connections that match this policy. comment: - type: raw + type: str description: - Any comments to preserve information about this policy. logaction: - type: raw + type: str description: - Name of messagelog action to use when a request matches this policy. name: - type: raw + type: str description: - Name for the SAML Identity Provider (IdP) authentication policy. This is used for configuring Citrix ADC as SAML Identity Provider. Must begin with an ASCII @@ -87,7 +89,7 @@ - '* Alternatively, you can use single quotation marks to enclose the rule, in which case you do not have to escape the double quotation marks.' undefaction: - type: raw + type: str description: - Action to perform if the result of policy evaluation is undefined (UNDEF). An UNDEF event indicates an internal error condition. Only the above built-in diff --git a/plugins/modules/authenticationsamlidpprofile.py b/plugins/modules/authenticationsamlidpprofile.py index d03f00058..8e4190ded 100644 --- a/plugins/modules/authenticationsamlidpprofile.py +++ b/plugins/modules/authenticationsamlidpprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: authenticationsamlidpprofile short_description: Configuration for AAA Saml IdentityProvider (IdP) profile resource. description: Configuration for AAA Saml IdentityProvider (IdP) profile resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,20 +41,20 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str acsurlrule: - type: raw + type: str description: - Expression that will be evaluated to allow Assertion Consumer Service URI coming in the SAML Request assertionconsumerserviceurl: - type: raw + type: str description: - URL to which the assertion is to be sent. attribute1: - type: raw + type: str description: - Name of attribute1 that needs to be sent in SAML Assertion attribute10: - type: raw + type: str description: - Name of attribute10 that needs to be sent in SAML Assertion attribute10expr: @@ -61,18 +63,18 @@ - Expression that will be evaluated to obtain attribute10's value to be sent in Assertion attribute10format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute10 to be sent in Assertion. attribute10friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute10 that needs to be sent in SAML Assertion attribute11: - type: raw + type: str description: - Name of attribute11 that needs to be sent in SAML Assertion attribute11expr: @@ -81,18 +83,18 @@ - Expression that will be evaluated to obtain attribute11's value to be sent in Assertion attribute11format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute11 to be sent in Assertion. attribute11friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute11 that needs to be sent in SAML Assertion attribute12: - type: raw + type: str description: - Name of attribute12 that needs to be sent in SAML Assertion attribute12expr: @@ -101,18 +103,18 @@ - Expression that will be evaluated to obtain attribute12's value to be sent in Assertion attribute12format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute12 to be sent in Assertion. attribute12friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute12 that needs to be sent in SAML Assertion attribute13: - type: raw + type: str description: - Name of attribute13 that needs to be sent in SAML Assertion attribute13expr: @@ -121,18 +123,18 @@ - Expression that will be evaluated to obtain attribute13's value to be sent in Assertion attribute13format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute13 to be sent in Assertion. attribute13friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute13 that needs to be sent in SAML Assertion attribute14: - type: raw + type: str description: - Name of attribute14 that needs to be sent in SAML Assertion attribute14expr: @@ -141,18 +143,18 @@ - Expression that will be evaluated to obtain attribute14's value to be sent in Assertion attribute14format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute14 to be sent in Assertion. attribute14friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute14 that needs to be sent in SAML Assertion attribute15: - type: raw + type: str description: - Name of attribute15 that needs to be sent in SAML Assertion attribute15expr: @@ -161,18 +163,18 @@ - Expression that will be evaluated to obtain attribute15's value to be sent in Assertion attribute15format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute15 to be sent in Assertion. attribute15friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute15 that needs to be sent in SAML Assertion attribute16: - type: raw + type: str description: - Name of attribute16 that needs to be sent in SAML Assertion attribute16expr: @@ -181,14 +183,14 @@ - Expression that will be evaluated to obtain attribute16's value to be sent in Assertion attribute16format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute16 to be sent in Assertion. attribute16friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute16 that needs to be sent in SAML Assertion attribute1expr: @@ -197,18 +199,18 @@ - Expression that will be evaluated to obtain attribute1's value to be sent in Assertion attribute1format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute1 to be sent in Assertion. attribute1friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute1 that needs to be sent in SAML Assertion attribute2: - type: raw + type: str description: - Name of attribute2 that needs to be sent in SAML Assertion attribute2expr: @@ -217,18 +219,18 @@ - Expression that will be evaluated to obtain attribute2's value to be sent in Assertion attribute2format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute2 to be sent in Assertion. attribute2friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute2 that needs to be sent in SAML Assertion attribute3: - type: raw + type: str description: - Name of attribute3 that needs to be sent in SAML Assertion attribute3expr: @@ -237,18 +239,18 @@ - Expression that will be evaluated to obtain attribute3's value to be sent in Assertion attribute3format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute3 to be sent in Assertion. attribute3friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute3 that needs to be sent in SAML Assertion attribute4: - type: raw + type: str description: - Name of attribute4 that needs to be sent in SAML Assertion attribute4expr: @@ -257,18 +259,18 @@ - Expression that will be evaluated to obtain attribute4's value to be sent in Assertion attribute4format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute4 to be sent in Assertion. attribute4friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute4 that needs to be sent in SAML Assertion attribute5: - type: raw + type: str description: - Name of attribute5 that needs to be sent in SAML Assertion attribute5expr: @@ -277,18 +279,18 @@ - Expression that will be evaluated to obtain attribute5's value to be sent in Assertion attribute5format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute5 to be sent in Assertion. attribute5friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute5 that needs to be sent in SAML Assertion attribute6: - type: raw + type: str description: - Name of attribute6 that needs to be sent in SAML Assertion attribute6expr: @@ -297,18 +299,18 @@ - Expression that will be evaluated to obtain attribute6's value to be sent in Assertion attribute6format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute6 to be sent in Assertion. attribute6friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute6 that needs to be sent in SAML Assertion attribute7: - type: raw + type: str description: - Name of attribute7 that needs to be sent in SAML Assertion attribute7expr: @@ -317,18 +319,18 @@ - Expression that will be evaluated to obtain attribute7's value to be sent in Assertion attribute7format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute7 to be sent in Assertion. attribute7friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute7 that needs to be sent in SAML Assertion attribute8: - type: raw + type: str description: - Name of attribute8 that needs to be sent in SAML Assertion attribute8expr: @@ -337,18 +339,18 @@ - Expression that will be evaluated to obtain attribute8's value to be sent in Assertion attribute8format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute8 to be sent in Assertion. attribute8friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute8 that needs to be sent in SAML Assertion attribute9: - type: raw + type: str description: - Name of attribute9 that needs to be sent in SAML Assertion attribute9expr: @@ -357,44 +359,44 @@ - Expression that will be evaluated to obtain attribute9's value to be sent in Assertion attribute9format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute9 to be sent in Assertion. attribute9friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute9 that needs to be sent in SAML Assertion audience: - type: raw + type: str description: - Audience for which assertion sent by IdP is applicable. This is typically entity name or url that represents ServiceProvider defaultauthenticationgroup: - type: raw + type: str description: - This group will be part of AAA session's internal group list. This will be helpful to admin in Nfactor flow to decide right AAA configuration for Relaying Party. In authentication policy AAA.USER.IS_MEMBER_OF("") is way to use this feature. digestmethod: - type: raw + type: str choices: - SHA1 - SHA256 description: - Algorithm to be used to compute/verify digest for SAML transactions encryptassertion: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Option to encrypt assertion when Citrix ADC IDP sends one. encryptionalgorithm: - type: raw + type: str choices: - DES3 - AES128 @@ -403,29 +405,29 @@ description: - Algorithm to be used to encrypt SAML assertion keytransportalg: - type: raw + type: str choices: - RSA-V1_5 - RSA_OAEP description: - Key transport algorithm to be used in encryption of SAML assertion logoutbinding: - type: raw + type: str choices: - REDIRECT - POST description: - This element specifies the transport mechanism of saml logout messages. metadatarefreshinterval: - type: raw + type: float description: - Interval in minute for fetching metadata from specified metadata URL metadataurl: - type: raw + type: str description: - This URL is used for obtaining samlidp metadata name: - type: raw + type: str description: - Name for the new saml single sign-on profile. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, @@ -436,11 +438,11 @@ - If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my action" or 'my action'). nameidexpr: - type: raw + type: str description: - Expression that will be evaluated to obtain NameIdentifier to be sent in assertion nameidformat: - type: raw + type: str choices: - Unspecified - emailAddress @@ -453,7 +455,7 @@ description: - Format of Name Identifier sent in Assertion. rejectunsignedrequests: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -461,7 +463,7 @@ - Option to Reject unsigned SAML Requests. C(ON) option denies any authentication requests that arrive without signature. samlbinding: - type: raw + type: str choices: - REDIRECT - POST @@ -469,47 +471,47 @@ description: - This element specifies the transport mechanism of saml messages. samlidpcertname: - type: raw + type: str description: - Name of the certificate used to sign the SAMLResposne that is sent to Relying Party or Service Provider after successful authentication samlissuername: - type: raw + type: str description: - "The name to be used in requests sent from\tCitrix ADC to IdP to uniquely\ \ identify Citrix ADC." samlsigningcertversion: - type: raw + type: str description: - version of the certificate in signature service used to sign the SAMLResposne that is sent to Relying Party or Service Provider after successful authentication samlspcertname: - type: raw + type: str description: - Name of the SSL certificate of SAML Relying Party. This certificate is used to verify signature of the incoming AuthnRequest from a Relying Party or Service Provider samlspcertversion: - type: raw + type: str description: - version of the certificate in signature service used to verify the signature of the incoming AuthnRequest from a Relying Party or Service Provider sendpassword: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Option to send password in assertion. serviceproviderid: - type: raw + type: str description: - Unique identifier of the Service Provider that sends SAML Request. Citrix ADC will ensure that the Issuer of the SAML Request matches this URI. In case of SP initiated sign-in scenarios, this value must be same as samlIssuerName configured in samlAction. signassertion: - type: raw + type: str choices: - NONE - ASSERTION @@ -520,25 +522,25 @@ on the user selection, either Assertion or Response or Both or none can be signed signaturealg: - type: raw + type: str choices: - RSA-SHA1 - RSA-SHA256 description: - Algorithm to be used to sign/verify SAML transactions signatureservice: - type: raw + type: str description: - Name of the service in cloud used to sign the data skewtime: - type: raw + type: float description: - This option specifies the number of minutes on either side of current time that the assertion would be valid. For example, if skewTime is 10, then assertion would be valid from (current time - 10) min to (current time + 10) min, ie 20min in all. splogouturl: - type: raw + type: str description: - Endpoint on the ServiceProvider (SP) to which logout messages are to be sent extends_documentation_fragment: netscaler.adc.netscaler_adc @@ -546,6 +548,21 @@ """ EXAMPLES = r""" +--- +- name: Sample authenticationsamlidpprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationsamlidpprofile + delegate_to: localhost + netscaler.adc.authenticationsamlidpprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: samlidp_red1 + samlbinding: REDIRECT """ RETURN = r""" diff --git a/plugins/modules/authenticationsamlpolicy.py b/plugins/modules/authenticationsamlpolicy.py index cb6e88d73..c1eaff963 100644 --- a/plugins/modules/authenticationsamlpolicy.py +++ b/plugins/modules/authenticationsamlpolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: authenticationsamlpolicy short_description: Configuration for AAA Saml policy resource. description: Configuration for AAA Saml policy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str name: - type: raw + type: str description: - Name for the SAML policy. - Must begin with a letter, number, or the underscore character (_), and must @@ -52,11 +54,11 @@ quotation marks (for example, "my authentication policy" or 'my authentication policy'). reqaction: - type: raw + type: str description: - Name of the SAML authentication action to be performed if the policy matches. rule: - type: raw + type: str description: - Name of the Citrix ADC named rule, or an expression, that the policy uses to determine whether to attempt to authenticate the user with the SAML server. @@ -65,6 +67,22 @@ """ EXAMPLES = r""" +--- +- name: Sample authenticationsamlpolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationsamlpolicy + delegate_to: localhost + netscaler.adc.authenticationsamlpolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: samlsecureauthidppol + rule: ns_true + reqaction: secureauth_idp """ RETURN = r""" diff --git a/plugins/modules/authenticationsmartaccesspolicy.py b/plugins/modules/authenticationsmartaccesspolicy.py index 8b5bb4b37..a0e550a86 100644 --- a/plugins/modules/authenticationsmartaccesspolicy.py +++ b/plugins/modules/authenticationsmartaccesspolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: authenticationsmartaccesspolicy short_description: Configuration for SmartAccess policy resource. description: Configuration for SmartAccess policy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -43,11 +45,11 @@ description: - Name of the Smartaccess profile to use if the policy matches. comment: - type: raw + type: str description: - Any comments to preserve information about this policy. name: - type: raw + type: str description: - Name for the Smartaccess policy. - Must begin with a letter, number, or the underscore character (_), and must diff --git a/plugins/modules/authenticationsmartaccessprofile.py b/plugins/modules/authenticationsmartaccessprofile.py index a0057f699..d7c35fef3 100644 --- a/plugins/modules/authenticationsmartaccessprofile.py +++ b/plugins/modules/authenticationsmartaccessprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: authenticationsmartaccessprofile short_description: Configuration for SmartAccess profile resource. description: Configuration for SmartAccess profile resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,11 +41,11 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str comment: - type: raw + type: str description: - Optional comment for the profile. name: - type: raw + type: str description: - Name of the Smartaccess profile tags: diff --git a/plugins/modules/authenticationstorefrontauthaction.py b/plugins/modules/authenticationstorefrontauthaction.py index c79db97f9..b5d99c5d0 100644 --- a/plugins/modules/authenticationstorefrontauthaction.py +++ b/plugins/modules/authenticationstorefrontauthaction.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: authenticationstorefrontauthaction short_description: Configuration for Storefront authentication action resource. description: Configuration for Storefront authentication action resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,18 +41,18 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str defaultauthenticationgroup: - type: raw + type: str description: - This is the default group that is chosen when the authentication succeeds in addition to extracted groups. domain: - type: raw + type: str description: - Domain of the server that is used for authentication. If users enter name without domain, this parameter is added to username in the authentication request to server. name: - type: raw + type: str description: - Name for the Storefront Authentication action. - Must begin with a letter, number, or the underscore character (_), and must diff --git a/plugins/modules/authenticationtacacsaction.py b/plugins/modules/authenticationtacacsaction.py index c426a544a..62f1e0354 100644 --- a/plugins/modules/authenticationtacacsaction.py +++ b/plugins/modules/authenticationtacacsaction.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: authenticationtacacsaction short_description: Configuration for TACACS action resource. description: Configuration for TACACS action resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,94 +41,94 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str accounting: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Whether the TACACS+ server is currently accepting accounting messages. attribute1: - type: raw + type: str description: - Name of the custom attribute to be extracted from server and stored at index '1' (where '1' changes for each attribute) attribute10: - type: raw + type: str description: - Name of the custom attribute to be extracted from server and stored at index '10' (where '10' changes for each attribute) attribute11: - type: raw + type: str description: - Name of the custom attribute to be extracted from server and stored at index '11' (where '11' changes for each attribute) attribute12: - type: raw + type: str description: - Name of the custom attribute to be extracted from server and stored at index '12' (where '12' changes for each attribute) attribute13: - type: raw + type: str description: - Name of the custom attribute to be extracted from server and stored at index '13' (where '13' changes for each attribute) attribute14: - type: raw + type: str description: - Name of the custom attribute to be extracted from server and stored at index '14' (where '14' changes for each attribute) attribute15: - type: raw + type: str description: - Name of the custom attribute to be extracted from server and stored at index '15' (where '15' changes for each attribute) attribute16: - type: raw + type: str description: - Name of the custom attribute to be extracted from server and stored at index '16' (where '16' changes for each attribute) attribute2: - type: raw + type: str description: - Name of the custom attribute to be extracted from server and stored at index '2' (where '2' changes for each attribute) attribute3: - type: raw + type: str description: - Name of the custom attribute to be extracted from server and stored at index '3' (where '3' changes for each attribute) attribute4: - type: raw + type: str description: - Name of the custom attribute to be extracted from server and stored at index '4' (where '4' changes for each attribute) attribute5: - type: raw + type: str description: - Name of the custom attribute to be extracted from server and stored at index '5' (where '5' changes for each attribute) attribute6: - type: raw + type: str description: - Name of the custom attribute to be extracted from server and stored at index '6' (where '6' changes for each attribute) attribute7: - type: raw + type: str description: - Name of the custom attribute to be extracted from server and stored at index '7' (where '7' changes for each attribute) attribute8: - type: raw + type: str description: - Name of the custom attribute to be extracted from server and stored at index '8' (where '8' changes for each attribute) attribute9: - type: raw + type: str description: - Name of the custom attribute to be extracted from server and stored at index '9' (where '9' changes for each attribute) attributes: - type: raw + type: str description: - List of attribute names separated by ',' which needs to be fetched from tacacs server. @@ -136,35 +138,35 @@ - These attributes have multi-value support separated by ',' and stored as key-value pair in AAA session auditfailedcmds: - type: raw + type: str choices: - 'ON' - 'OFF' description: - The state of the TACACS+ server that will receive accounting messages. authorization: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Use streaming authorization on the TACACS+ server. authtimeout: - type: raw + type: float description: - Number of seconds the Citrix ADC waits for a response from the TACACS+ server. defaultauthenticationgroup: - type: raw + type: str description: - This is the default group that is chosen when the authentication succeeds in addition to extracted groups. groupattrname: - type: raw + type: str description: - TACACS+ group attribute name. - Used for group extraction on the TACACS+ server. name: - type: raw + type: str description: - Name for the TACACS+ profile (action). - Must begin with a letter, number, or the underscore character (_), and must @@ -177,15 +179,15 @@ quotation marks (for example, "my authentication action" or 'y authentication action'). serverip: - type: raw + type: str description: - IP address assigned to the TACACS+ server. serverport: - type: raw + type: int description: - Port number on which the TACACS+ server listens for connections. tacacssecret: - type: raw + type: str description: - Key shared between the TACACS+ server and the Citrix ADC. - Required for allowing the Citrix ADC to communicate with the TACACS+ server. @@ -194,6 +196,21 @@ """ EXAMPLES = r""" +--- +- name: Sample authenticationtacacsaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationtacacsaction + delegate_to: localhost + netscaler.adc.authenticationtacacsaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: t1 + serverip: 77.77.77.77 """ RETURN = r""" diff --git a/plugins/modules/authenticationtacacspolicy.py b/plugins/modules/authenticationtacacspolicy.py index a40a585f0..694f853c7 100644 --- a/plugins/modules/authenticationtacacspolicy.py +++ b/plugins/modules/authenticationtacacspolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: authenticationtacacspolicy short_description: Configuration for TACACS policy resource. description: Configuration for TACACS policy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str name: - type: raw + type: str description: - Name for the TACACS+ policy. - Must begin with a letter, number, or the underscore character (_), and must @@ -52,11 +54,11 @@ quotation marks (for example, "my authentication policy" or 'my authentication policy'). reqaction: - type: raw + type: str description: - Name of the TACACS+ action to perform if the policy matches. rule: - type: raw + type: str description: - Name of the Citrix ADC named rule, or an expression, that the policy uses to determine whether to attempt to authenticate the user with the TACACS+ @@ -66,6 +68,22 @@ """ EXAMPLES = r""" +--- +- name: Sample authenticationtacacspolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationtacacspolicy + delegate_to: localhost + netscaler.adc.authenticationtacacspolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: primaryIPv4TACACSpolicy + rule: ns_true + reqaction: primaryIPv4TACACSaction """ RETURN = r""" diff --git a/plugins/modules/authenticationvserver.py b/plugins/modules/authenticationvserver.py index 7e76cf510..e81e5ca99 100644 --- a/plugins/modules/authenticationvserver.py +++ b/plugins/modules/authenticationvserver.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: authenticationvserver short_description: Configuration for authentication virtual server resource. description: Configuration for authentication virtual server resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -43,14 +45,14 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str appflowlog: - type: raw + type: str choices: - ENABLED - DISABLED description: - Log AppFlow flow information. authentication: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -58,20 +60,20 @@ - Require users to be authenticated before sending traffic through this virtual server. authenticationdomain: - type: raw + type: str description: - The domain of the authentication cookie set by Authentication vserver certkeynames: - type: raw + type: str description: - Name of the certificate key that was bound to the corresponding SSL virtual server as the Certificate Authority for the device certificate comment: - type: raw + type: str description: - Any comments associated with this virtual server. failedlogintimeout: - type: raw + type: float description: - Number of minutes an account will be locked if user exceeds maximum permissible attempts @@ -81,11 +83,11 @@ - IP address of the authentication virtual server, if a single IP address is assigned to the virtual server. maxloginattempts: - type: raw + type: float description: - Maximum Number of login Attempts name: - type: raw + type: str description: - Name for the new authentication virtual server. - Must begin with a letter, number, or the underscore character (_), and must @@ -123,7 +125,7 @@ numbered, starting with the primary address specified with the IP Address parameter. samesite: - type: raw + type: str choices: - None - LAX @@ -686,6 +688,22 @@ """ EXAMPLES = r""" +--- +- name: Sample authenticationvserver playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationvserver + delegate_to: localhost + netscaler.adc.authenticationvserver: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: Citrix_AAA_vServer + servicetype: SSL + ipv46: 0.0.0.0 """ RETURN = r""" diff --git a/plugins/modules/authenticationvserver_auditnslogpolicy_binding.py b/plugins/modules/authenticationvserver_auditnslogpolicy_binding.py index 60564ee6d..b6686c23d 100644 --- a/plugins/modules/authenticationvserver_auditnslogpolicy_binding.py +++ b/plugins/modules/authenticationvserver_auditnslogpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: authenticationvserver_auditnslogpolicy_binding short_description: Binding Resource definition for describing association between authenticationvserver and auditnslogpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -115,6 +117,22 @@ """ EXAMPLES = r""" +--- +- name: Sample authenticationvserver_auditnslogpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationvserver_auditnslogpolicy_binding + delegate_to: localhost + netscaler.adc.authenticationvserver_auditnslogpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia_authnvs7 + policy: ia_nspol1 + priority: '111' """ RETURN = r""" diff --git a/plugins/modules/authenticationvserver_auditsyslogpolicy_binding.py b/plugins/modules/authenticationvserver_auditsyslogpolicy_binding.py index 6e02b5bea..f47f64902 100644 --- a/plugins/modules/authenticationvserver_auditsyslogpolicy_binding.py +++ b/plugins/modules/authenticationvserver_auditsyslogpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: authenticationvserver_auditsyslogpolicy_binding short_description: Binding Resource definition for describing association between authenticationvserver and auditsyslogpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -115,6 +117,22 @@ """ EXAMPLES = r""" +--- +- name: Sample authenticationvserver_auditsyslogpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationvserver_auditsyslogpolicy_binding + delegate_to: localhost + netscaler.adc.authenticationvserver_auditsyslogpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia_authnvs7 + policy: ia_syspol1 + priority: '112' """ RETURN = r""" diff --git a/plugins/modules/authenticationvserver_authenticationcertpolicy_binding.py b/plugins/modules/authenticationvserver_authenticationcertpolicy_binding.py index 558d7efed..9b5960394 100644 --- a/plugins/modules/authenticationvserver_authenticationcertpolicy_binding.py +++ b/plugins/modules/authenticationvserver_authenticationcertpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: authenticationvserver_authenticationcertpolicy_binding short_description: Binding Resource definition for describing association between authenticationvserver and authenticationcertpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -119,6 +121,22 @@ """ EXAMPLES = r""" +--- +- name: Sample authenticationvserver_authenticationcertpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationvserver_authenticationcertpolicy_binding + delegate_to: localhost + netscaler.adc.authenticationvserver_authenticationcertpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia_authnvs71 + policy: ia_authncertpol2 + priority: '23' """ RETURN = r""" diff --git a/plugins/modules/authenticationvserver_authenticationldappolicy_binding.py b/plugins/modules/authenticationvserver_authenticationldappolicy_binding.py index db9a590a4..1e33424f3 100644 --- a/plugins/modules/authenticationvserver_authenticationldappolicy_binding.py +++ b/plugins/modules/authenticationvserver_authenticationldappolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: authenticationvserver_authenticationldappolicy_binding short_description: Binding Resource definition for describing association between authenticationvserver and authenticationldappolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -121,6 +123,22 @@ """ EXAMPLES = r""" +--- +- name: Sample authenticationvserver_authenticationldappolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationvserver_authenticationldappolicy_binding + delegate_to: localhost + netscaler.adc.authenticationvserver_authenticationldappolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia_authnvs71 + policy: ia_authnldappol2 + secondary: true """ RETURN = r""" diff --git a/plugins/modules/authenticationvserver_authenticationlocalpolicy_binding.py b/plugins/modules/authenticationvserver_authenticationlocalpolicy_binding.py index 78e6664f6..345581ceb 100644 --- a/plugins/modules/authenticationvserver_authenticationlocalpolicy_binding.py +++ b/plugins/modules/authenticationvserver_authenticationlocalpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: authenticationvserver_authenticationlocalpolicy_binding short_description: Binding Resource definition for describing association between authenticationvserver and authenticationlocalpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -119,6 +121,21 @@ """ EXAMPLES = r""" +--- +- name: Sample authenticationvserver_authenticationlocalpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationvserver_authenticationlocalpolicy_binding + delegate_to: localhost + netscaler.adc.authenticationvserver_authenticationlocalpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia_authnvs71 + policy: ia_authnlocalpol1 """ RETURN = r""" diff --git a/plugins/modules/authenticationvserver_authenticationloginschemapolicy_binding.py b/plugins/modules/authenticationvserver_authenticationloginschemapolicy_binding.py index f264bd5f9..1578c50e9 100644 --- a/plugins/modules/authenticationvserver_authenticationloginschemapolicy_binding.py +++ b/plugins/modules/authenticationvserver_authenticationloginschemapolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: authenticationvserver_authenticationloginschemapolicy_binding short_description: Binding Resource definition for describing association between authenticationvserver and authenticationloginschemapolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -89,6 +91,22 @@ """ EXAMPLES = r""" +--- +- name: Sample authenticationvserver_authenticationloginschemapolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationvserver_authenticationloginschemapolicy_binding + delegate_to: localhost + netscaler.adc.authenticationvserver_authenticationloginschemapolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: auth + policy: first_factor_schema + priority: '1' """ RETURN = r""" diff --git a/plugins/modules/authenticationvserver_authenticationnegotiatepolicy_binding.py b/plugins/modules/authenticationvserver_authenticationnegotiatepolicy_binding.py index 2a20291d8..276a21cb8 100644 --- a/plugins/modules/authenticationvserver_authenticationnegotiatepolicy_binding.py +++ b/plugins/modules/authenticationvserver_authenticationnegotiatepolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: authenticationvserver_authenticationnegotiatepolicy_binding short_description: Binding Resource definition for describing association between authenticationvserver and authenticationnegotiatepolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/authenticationvserver_authenticationoauthidppolicy_binding.py b/plugins/modules/authenticationvserver_authenticationoauthidppolicy_binding.py index f4e3b67ba..801f13667 100644 --- a/plugins/modules/authenticationvserver_authenticationoauthidppolicy_binding.py +++ b/plugins/modules/authenticationvserver_authenticationoauthidppolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: authenticationvserver_authenticationoauthidppolicy_binding short_description: Binding Resource definition for describing association between authenticationvserver and authenticationoauthidppolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/authenticationvserver_authenticationpolicy_binding.py b/plugins/modules/authenticationvserver_authenticationpolicy_binding.py index ab6e0c0fe..6e120c312 100644 --- a/plugins/modules/authenticationvserver_authenticationpolicy_binding.py +++ b/plugins/modules/authenticationvserver_authenticationpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: authenticationvserver_authenticationpolicy_binding short_description: Binding Resource definition for describing association between authenticationvserver and authenticationpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -88,6 +90,24 @@ """ EXAMPLES = r""" +--- +- name: Sample authenticationvserver_authenticationpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationvserver_authenticationpolicy_binding + delegate_to: localhost + netscaler.adc.authenticationvserver_authenticationpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: Citrix_AAA_vServer + policy: OKta_SAML_External + priority: '500' + nextfactor: LDAP_Userextraction_External + gotopriorityexpression: NEXT """ RETURN = r""" diff --git a/plugins/modules/authenticationvserver_authenticationradiuspolicy_binding.py b/plugins/modules/authenticationvserver_authenticationradiuspolicy_binding.py index 7af5822e1..2190e93d4 100644 --- a/plugins/modules/authenticationvserver_authenticationradiuspolicy_binding.py +++ b/plugins/modules/authenticationvserver_authenticationradiuspolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: authenticationvserver_authenticationradiuspolicy_binding short_description: Binding Resource definition for describing association between authenticationvserver and authenticationradiuspolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -119,6 +121,21 @@ """ EXAMPLES = r""" +--- +- name: Sample authenticationvserver_authenticationradiuspolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationvserver_authenticationradiuspolicy_binding + delegate_to: localhost + netscaler.adc.authenticationvserver_authenticationradiuspolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia_authnvs71 + policy: ia_authnradpol2 """ RETURN = r""" diff --git a/plugins/modules/authenticationvserver_authenticationsamlidppolicy_binding.py b/plugins/modules/authenticationvserver_authenticationsamlidppolicy_binding.py index 377a372b3..f58eaae98 100644 --- a/plugins/modules/authenticationvserver_authenticationsamlidppolicy_binding.py +++ b/plugins/modules/authenticationvserver_authenticationsamlidppolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: authenticationvserver_authenticationsamlidppolicy_binding short_description: Binding Resource definition for describing association between authenticationvserver and authenticationsamlidppolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/authenticationvserver_authenticationsamlpolicy_binding.py b/plugins/modules/authenticationvserver_authenticationsamlpolicy_binding.py index be751a0f5..721d1069c 100644 --- a/plugins/modules/authenticationvserver_authenticationsamlpolicy_binding.py +++ b/plugins/modules/authenticationvserver_authenticationsamlpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: authenticationvserver_authenticationsamlpolicy_binding short_description: Binding Resource definition for describing association between authenticationvserver and authenticationsamlpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -119,6 +121,22 @@ """ EXAMPLES = r""" +--- +- name: Sample authenticationvserver_authenticationsamlpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationvserver_authenticationsamlpolicy_binding + delegate_to: localhost + netscaler.adc.authenticationvserver_authenticationsamlpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia_authnvs71 + policy: samlsecureauthidppol + priority: '99' """ RETURN = r""" diff --git a/plugins/modules/authenticationvserver_authenticationsmartaccesspolicy_binding.py b/plugins/modules/authenticationvserver_authenticationsmartaccesspolicy_binding.py index 953fe07b9..91a1c213e 100644 --- a/plugins/modules/authenticationvserver_authenticationsmartaccesspolicy_binding.py +++ b/plugins/modules/authenticationvserver_authenticationsmartaccesspolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: authenticationvserver_authenticationsmartaccesspolicy_binding short_description: Binding Resource definition for describing association between authenticationvserver and authenticationsmartaccesspolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/authenticationvserver_authenticationtacacspolicy_binding.py b/plugins/modules/authenticationvserver_authenticationtacacspolicy_binding.py index bed081c89..3aa856ae9 100644 --- a/plugins/modules/authenticationvserver_authenticationtacacspolicy_binding.py +++ b/plugins/modules/authenticationvserver_authenticationtacacspolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: authenticationvserver_authenticationtacacspolicy_binding short_description: Binding Resource definition for describing association between authenticationvserver and authenticationtacacspolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -119,6 +121,21 @@ """ EXAMPLES = r""" +--- +- name: Sample authenticationvserver_authenticationtacacspolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationvserver_authenticationtacacspolicy_binding + delegate_to: localhost + netscaler.adc.authenticationvserver_authenticationtacacspolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia_authnvs71 + policy: ia_authntacacspol2 """ RETURN = r""" diff --git a/plugins/modules/authenticationvserver_authenticationwebauthpolicy_binding.py b/plugins/modules/authenticationvserver_authenticationwebauthpolicy_binding.py index cb1c79e7c..a2d2eea7b 100644 --- a/plugins/modules/authenticationvserver_authenticationwebauthpolicy_binding.py +++ b/plugins/modules/authenticationvserver_authenticationwebauthpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: authenticationvserver_authenticationwebauthpolicy_binding short_description: Binding Resource definition for describing association between authenticationvserver and authenticationwebauthpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -119,6 +121,21 @@ """ EXAMPLES = r""" +--- +- name: Sample authenticationvserver_authenticationwebauthpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationvserver_authenticationwebauthpolicy_binding + delegate_to: localhost + netscaler.adc.authenticationvserver_authenticationwebauthpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia_authnvs71 + policy: webauthpol """ RETURN = r""" diff --git a/plugins/modules/authenticationvserver_cachepolicy_binding.py b/plugins/modules/authenticationvserver_cachepolicy_binding.py index 696d378f8..91ac97ac5 100644 --- a/plugins/modules/authenticationvserver_cachepolicy_binding.py +++ b/plugins/modules/authenticationvserver_cachepolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: authenticationvserver_cachepolicy_binding short_description: Binding Resource definition for describing association between authenticationvserver and cachepolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -86,6 +88,24 @@ """ EXAMPLES = r""" +--- +- name: Sample authenticationvserver_cachepolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationvserver_cachepolicy_binding + delegate_to: localhost + netscaler.adc.authenticationvserver_cachepolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: Citrix_AAA_vServer + policy: _noCacheRest + priority: '20' + gotopriorityexpression: END + bindpoint: RESPONSE """ RETURN = r""" diff --git a/plugins/modules/authenticationvserver_cspolicy_binding.py b/plugins/modules/authenticationvserver_cspolicy_binding.py index 25bd22203..338f3bb11 100644 --- a/plugins/modules/authenticationvserver_cspolicy_binding.py +++ b/plugins/modules/authenticationvserver_cspolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: authenticationvserver_cspolicy_binding short_description: Binding Resource definition for describing association between authenticationvserver and cspolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/authenticationvserver_responderpolicy_binding.py b/plugins/modules/authenticationvserver_responderpolicy_binding.py index b6731184f..9e353a0f8 100644 --- a/plugins/modules/authenticationvserver_responderpolicy_binding.py +++ b/plugins/modules/authenticationvserver_responderpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: authenticationvserver_responderpolicy_binding short_description: Binding Resource definition for describing association between authenticationvserver and responderpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/authenticationvserver_rewritepolicy_binding.py b/plugins/modules/authenticationvserver_rewritepolicy_binding.py index 6b0018128..a382c0c27 100644 --- a/plugins/modules/authenticationvserver_rewritepolicy_binding.py +++ b/plugins/modules/authenticationvserver_rewritepolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: authenticationvserver_rewritepolicy_binding short_description: Binding Resource definition for describing association between authenticationvserver and rewritepolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/authenticationvserver_tmsessionpolicy_binding.py b/plugins/modules/authenticationvserver_tmsessionpolicy_binding.py index 03b215142..77724a3fb 100644 --- a/plugins/modules/authenticationvserver_tmsessionpolicy_binding.py +++ b/plugins/modules/authenticationvserver_tmsessionpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: authenticationvserver_tmsessionpolicy_binding short_description: Binding Resource definition for describing association between authenticationvserver and tmsessionpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/authenticationvserver_vpnportaltheme_binding.py b/plugins/modules/authenticationvserver_vpnportaltheme_binding.py index b4325419a..e2d92b26e 100644 --- a/plugins/modules/authenticationvserver_vpnportaltheme_binding.py +++ b/plugins/modules/authenticationvserver_vpnportaltheme_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: authenticationvserver_vpnportaltheme_binding short_description: Binding Resource definition for describing association between authenticationvserver and vpnportaltheme resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -51,6 +53,21 @@ """ EXAMPLES = r""" +--- +- name: Sample authenticationvserver_vpnportaltheme_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationvserver_vpnportaltheme_binding + delegate_to: localhost + netscaler.adc.authenticationvserver_vpnportaltheme_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: Citrix_AAA_vServer + portaltheme: BX_Brand """ RETURN = r""" diff --git a/plugins/modules/authenticationwebauthaction.py b/plugins/modules/authenticationwebauthaction.py index 0447ceda1..c757ad58f 100644 --- a/plugins/modules/authenticationwebauthaction.py +++ b/plugins/modules/authenticationwebauthaction.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: authenticationwebauthaction short_description: Configuration for Web authentication action resource. description: Configuration for Web authentication action resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,99 +41,99 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str attribute1: - type: raw + type: str description: - Expression that would be evaluated to extract attribute1 from the webauth response attribute10: - type: raw + type: str description: - Expression that would be evaluated to extract attribute10 from the webauth response attribute11: - type: raw + type: str description: - Expression that would be evaluated to extract attribute11 from the webauth response attribute12: - type: raw + type: str description: - Expression that would be evaluated to extract attribute12 from the webauth response attribute13: - type: raw + type: str description: - Expression that would be evaluated to extract attribute13 from the webauth response attribute14: - type: raw + type: str description: - Expression that would be evaluated to extract attribute14 from the webauth response attribute15: - type: raw + type: str description: - Expression that would be evaluated to extract attribute15 from the webauth response attribute16: - type: raw + type: str description: - Expression that would be evaluated to extract attribute16 from the webauth response attribute2: - type: raw + type: str description: - Expression that would be evaluated to extract attribute2 from the webauth response attribute3: - type: raw + type: str description: - Expression that would be evaluated to extract attribute3 from the webauth response attribute4: - type: raw + type: str description: - Expression that would be evaluated to extract attribute4 from the webauth response attribute5: - type: raw + type: str description: - Expression that would be evaluated to extract attribute5 from the webauth response attribute6: - type: raw + type: str description: - Expression that would be evaluated to extract attribute6 from the webauth response attribute7: - type: raw + type: str description: - Expression that would be evaluated to extract attribute7 from the webauth response attribute8: - type: raw + type: str description: - Expression that would be evaluated to extract attribute8 from the webauth response attribute9: - type: raw + type: str description: - Expression that would be evaluated to extract attribute9 from the webauth response defaultauthenticationgroup: - type: raw + type: str description: - This is the default group that is chosen when the authentication succeeds in addition to extracted groups. fullreqexpr: - type: raw + type: str description: - Exact HTTP request, in the form of an expression, which the Citrix ADC sends to the authentication server. - The Citrix ADC does not check the validity of this request. One must manually validate the request. name: - type: raw + type: str description: - Name for the Web Authentication action. - Must begin with a letter, number, or the underscore character (_), and must @@ -151,11 +153,11 @@ description: - Type of scheme for the web server. serverip: - type: raw + type: str description: - IP address of the web server to be used for authentication. serverport: - type: raw + type: int description: - Port on which the web server accepts connections. successrule: @@ -167,6 +169,25 @@ """ EXAMPLES = r""" +--- +- name: Sample authenticationwebauthaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationwebauthaction + delegate_to: localhost + netscaler.adc.authenticationwebauthaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: webauthact + serverip: 2.2.2.2 + serverport: 20 + fullreqexpr: '"GET /basic.html/"' + scheme: https + successrule: http.res.status.eq(200) """ RETURN = r""" diff --git a/plugins/modules/authenticationwebauthpolicy.py b/plugins/modules/authenticationwebauthpolicy.py index 7d1cbf92e..defcb0c0d 100644 --- a/plugins/modules/authenticationwebauthpolicy.py +++ b/plugins/modules/authenticationwebauthpolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: authenticationwebauthpolicy short_description: Configuration for Web authentication policy resource. description: Configuration for Web authentication policy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -63,6 +65,22 @@ """ EXAMPLES = r""" +--- +- name: Sample authenticationwebauthpolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authenticationwebauthpolicy + delegate_to: localhost + netscaler.adc.authenticationwebauthpolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: webauthpol + rule: ns_true + action: webauthact """ RETURN = r""" diff --git a/plugins/modules/authorizationpolicy.py b/plugins/modules/authorizationpolicy.py index 6bed5cbc1..13a22d926 100644 --- a/plugins/modules/authorizationpolicy.py +++ b/plugins/modules/authorizationpolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: authorizationpolicy short_description: Configuration for authorization policy resource. description: Configuration for authorization policy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -93,6 +95,22 @@ """ EXAMPLES = r""" +--- +- name: Sample authorizationpolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure authorizationpolicy + delegate_to: localhost + netscaler.adc.authorizationpolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: EPAautho1 + rule: client.app.proc(notepad) exists + action: ALLOW """ RETURN = r""" diff --git a/plugins/modules/authorizationpolicylabel.py b/plugins/modules/authorizationpolicylabel.py index e500de53f..5bdc04499 100644 --- a/plugins/modules/authorizationpolicylabel.py +++ b/plugins/modules/authorizationpolicylabel.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: authorizationpolicylabel short_description: Configuration for authorization policy label resource. description: Configuration for authorization policy label resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/authorizationpolicylabel_authorizationpolicy_binding.py b/plugins/modules/authorizationpolicylabel_authorizationpolicy_binding.py index 7f4fa8418..1fd7482e9 100644 --- a/plugins/modules/authorizationpolicylabel_authorizationpolicy_binding.py +++ b/plugins/modules/authorizationpolicylabel_authorizationpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: authorizationpolicylabel_authorizationpolicy_binding short_description: Binding Resource definition for describing association between authorizationpolicylabel and authorizationpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/autoscaleaction.py b/plugins/modules/autoscaleaction.py index 6fc0c77b9..5c437e6e9 100644 --- a/plugins/modules/autoscaleaction.py +++ b/plugins/modules/autoscaleaction.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: autoscaleaction short_description: Configuration for autoscale action resource. description: Configuration for autoscale action resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str name: - type: raw + type: str description: - ActionScale action name. parameters: @@ -51,7 +53,7 @@ description: - AutoScale profile name. quiettime: - type: raw + type: float description: - Time in seconds no other policy is evaluated or action is taken type: @@ -62,7 +64,7 @@ description: - The type of action. vmdestroygraceperiod: - type: raw + type: float description: - Time in minutes a VM is kept in inactive state before destroying vserver: diff --git a/plugins/modules/autoscalepolicy.py b/plugins/modules/autoscalepolicy.py index 7bf20993d..578743d01 100644 --- a/plugins/modules/autoscalepolicy.py +++ b/plugins/modules/autoscalepolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: autoscalepolicy short_description: Configuration for Autoscale policy resource. description: Configuration for Autoscale policy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,19 +41,19 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str action: - type: raw + type: str description: - The autoscale profile associated with the policy. comment: - type: raw + type: str description: - Comments associated with this autoscale policy. logaction: - type: raw + type: str description: - The log action associated with the autoscale policy name: - type: raw + type: str description: - The name of the autoscale policy. newname: @@ -59,7 +61,7 @@ description: - The new name of the autoscale policy. rule: - type: raw + type: str description: - The rule associated with the policy. extends_documentation_fragment: netscaler.adc.netscaler_adc diff --git a/plugins/modules/autoscaleprofile.py b/plugins/modules/autoscaleprofile.py index c812966e1..2596d6a7d 100644 --- a/plugins/modules/autoscaleprofile.py +++ b/plugins/modules/autoscaleprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: autoscaleprofile short_description: Configuration for autoscale profile resource. description: Configuration for autoscale profile resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/azureapplication.py b/plugins/modules/azureapplication.py index b16136503..348e65c38 100644 --- a/plugins/modules/azureapplication.py +++ b/plugins/modules/azureapplication.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: azureapplication short_description: Configuration for Azure Application resource. description: Configuration for Azure Application resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/azurekeyvault.py b/plugins/modules/azurekeyvault.py index d0cb70f99..818fb3093 100644 --- a/plugins/modules/azurekeyvault.py +++ b/plugins/modules/azurekeyvault.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: azurekeyvault short_description: Configuration for Azure Key Vault entity resource. description: Configuration for Azure Key Vault entity resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/botglobal_botpolicy_binding.py b/plugins/modules/botglobal_botpolicy_binding.py index ffc6fe083..41806aef3 100644 --- a/plugins/modules/botglobal_botpolicy_binding.py +++ b/plugins/modules/botglobal_botpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: botglobal_botpolicy_binding short_description: Binding Resource definition for describing association between botglobal and botpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/botpolicy.py b/plugins/modules/botpolicy.py index cdd4b9254..54468b346 100644 --- a/plugins/modules/botpolicy.py +++ b/plugins/modules/botpolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: botpolicy short_description: Configuration for Bot policy resource. description: Configuration for Bot policy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,15 +41,15 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str comment: - type: raw + type: str description: - Any type of information about this bot policy. logaction: - type: raw + type: str description: - Name of the messagelog action to use for requests that match this policy. name: - type: raw + type: str description: - Name for the bot policy. - Must begin with a letter, number, or the underscore character (_), and must @@ -79,7 +81,7 @@ - Expression that the policy uses to determine whether to apply bot profile on the specified request. undefaction: - type: raw + type: str description: - Action to perform if the result of policy evaluation is undefined (UNDEF). An UNDEF event indicates an internal error condition. diff --git a/plugins/modules/botpolicylabel.py b/plugins/modules/botpolicylabel.py index abd7f1bd6..480ddb124 100644 --- a/plugins/modules/botpolicylabel.py +++ b/plugins/modules/botpolicylabel.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: botpolicylabel short_description: Configuration for Bot policy label resource. description: Configuration for Bot policy label resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/botpolicylabel_botpolicy_binding.py b/plugins/modules/botpolicylabel_botpolicy_binding.py index 36b4110ab..adc676b31 100644 --- a/plugins/modules/botpolicylabel_botpolicy_binding.py +++ b/plugins/modules/botpolicylabel_botpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: botpolicylabel_botpolicy_binding short_description: Binding Resource definition for describing association between botpolicylabel and botpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/botprofile.py b/plugins/modules/botprofile.py index b8aa5d8a9..849fa800e 100644 --- a/plugins/modules/botprofile.py +++ b/plugins/modules/botprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: botprofile short_description: Configuration for Bot profile resource. description: Configuration for Bot profile resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -38,59 +40,74 @@ - When C(absent), the resource will be deleted from the NetScaler ADC node. - When C(unset), the resource will be unset on the NetScaler ADC node. type: str + addcookieflags: + type: str + choices: + - none + - httpOnly + - secure + - all + description: + - 'Add the specified flags to bot session cookies. Available settings function + as follows:' + - '* None - Do not add flags to cookies.' + - '* HTTP Only - Add the HTTP Only flag to cookies, which prevents scripts from + accessing cookies.' + - '* Secure - Add Secure flag to cookies.' + - '* All - Add both HTTPOnly and Secure flags to cookies.' bot_enable_black_list: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Enable black-list bot detection. bot_enable_ip_reputation: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Enable IP-reputation bot detection. bot_enable_rate_limit: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Enable rate-limit bot detection. bot_enable_tps: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Enable TPS. bot_enable_white_list: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Enable white-list bot detection. clientipexpression: - type: raw + type: str description: - Expression to get the client IP. comment: - type: raw + type: str description: - Any comments about the purpose of profile, or other useful information about the profile. devicefingerprint: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Enable device-fingerprint bot detection devicefingerprintaction: - type: raw + type: list choices: - NONE - LOG @@ -100,43 +117,45 @@ - MITIGATION description: - Action to be taken for device-fingerprint based bot detection. + elements: str devicefingerprintmobile: - type: raw + type: list choices: - NONE - Android - iOS description: - Enabling bot device fingerprint protection for mobile clients + elements: str dfprequestlimit: - type: raw + type: float description: - Number of requests to allow without bot session cookie if device fingerprint is enabled errorurl: - type: raw + type: str description: - URL that Bot protection uses as the Error URL. headlessbrowserdetection: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Enable Headless Browser detection. kmdetection: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Enable keyboard-mouse based bot detection. kmeventspostbodylimit: - type: raw + type: float description: - Size of the KM data send by the browser, needs to be processed on ADC kmjavascriptname: - type: raw + type: str description: - Name of the JavaScript file that the Bot Management feature will insert in the response for keyboard-mouse based detection. @@ -149,7 +168,7 @@ quotation marks (for example, "my javascript file name" or 'my javascript file name'). name: - type: raw + type: str description: - Name for the profile. Must begin with a letter, number, or the underscore character (_), and must contain only letters, numbers, and the hyphen (-), @@ -160,7 +179,7 @@ - If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my profile" or 'my profile'). sessioncookiename: - type: raw + type: str description: - Name of the SessionCookie that the Bot Management feature uses for tracking. - Must begin with a letter or number, and can consist of from 1 to 31 letters, @@ -170,15 +189,15 @@ - If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my cookie name" or 'my cookie name'). sessiontimeout: - type: raw + type: float description: - Timeout, in seconds, after which a user session is terminated. signature: - type: raw + type: str description: - Name of object containing bot static signature details. signaturemultipleuseragentheaderaction: - type: raw + type: list choices: - CHECKLAST - LOG @@ -188,8 +207,9 @@ description: - Actions to be taken if multiple User-Agent headers are seen in a request (Applicable if Signature check is enabled). Log action should be combined with other actions + elements: str signaturenouseragentheaderaction: - type: raw + type: list choices: - NONE - LOG @@ -199,8 +219,9 @@ description: - Actions to be taken if no User-Agent header in the request (Applicable if Signature check is enabled). + elements: str spoofedreqaction: - type: raw + type: list choices: - NONE - LOG @@ -210,15 +231,16 @@ description: - Actions to be taken on a spoofed request (A request spoofing good bot user agent string). + elements: str trap: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Enable trap bot detection. trapaction: - type: raw + type: list choices: - NONE - LOG @@ -227,12 +249,13 @@ - RESET description: - Action to be taken for bot trap based bot detection. + elements: str trapurl: - type: raw + type: str description: - URL that Bot protection uses as the Trap URL. verboseloglevel: - type: raw + type: str choices: - NONE - HTTP_FULL_HEADER diff --git a/plugins/modules/botprofile_blacklist_binding.py b/plugins/modules/botprofile_blacklist_binding.py index c63a7c8a8..e3bdef6bc 100644 --- a/plugins/modules/botprofile_blacklist_binding.py +++ b/plugins/modules/botprofile_blacklist_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: botprofile_blacklist_binding short_description: Binding Resource definition for describing association between botprofile and blacklist resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/botprofile_captcha_binding.py b/plugins/modules/botprofile_captcha_binding.py index 7821729f0..16ed5419b 100644 --- a/plugins/modules/botprofile_captcha_binding.py +++ b/plugins/modules/botprofile_captcha_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: botprofile_captcha_binding short_description: Binding Resource definition for describing association between botprofile and captcha resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/botprofile_ipreputation_binding.py b/plugins/modules/botprofile_ipreputation_binding.py index 060a12dbd..8b81343f3 100644 --- a/plugins/modules/botprofile_ipreputation_binding.py +++ b/plugins/modules/botprofile_ipreputation_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: botprofile_ipreputation_binding short_description: Binding Resource definition for describing association between botprofile and ipreputation resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/botprofile_kmdetectionexpr_binding.py b/plugins/modules/botprofile_kmdetectionexpr_binding.py index 96f14e10e..83a2a0b00 100644 --- a/plugins/modules/botprofile_kmdetectionexpr_binding.py +++ b/plugins/modules/botprofile_kmdetectionexpr_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: botprofile_kmdetectionexpr_binding short_description: Binding Resource definition for describing association between botprofile and kmdetectionexpr resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/botprofile_logexpression_binding.py b/plugins/modules/botprofile_logexpression_binding.py index 40fdf3d1c..55d062351 100644 --- a/plugins/modules/botprofile_logexpression_binding.py +++ b/plugins/modules/botprofile_logexpression_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: botprofile_logexpression_binding short_description: Binding Resource definition for describing association between botprofile and logexpression resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/botprofile_ratelimit_binding.py b/plugins/modules/botprofile_ratelimit_binding.py index d27c79206..58a1b9c60 100644 --- a/plugins/modules/botprofile_ratelimit_binding.py +++ b/plugins/modules/botprofile_ratelimit_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: botprofile_ratelimit_binding short_description: Binding Resource definition for describing association between botprofile and ratelimit resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -50,10 +52,11 @@ - DROP - REDIRECT - RESET + - RESPOND_STATUS_TOO_MANY_REQUESTS description: - One or more actions to be taken when the current rate becomes more than the - configured rate. Only C(LOG) action can be combined with C(DROP), C(REDIRECT) - or C(RESET) action. + configured rate. Only C(LOG) action can be combined with C(DROP), C(REDIRECT), + C(RESPOND_STATUS_TOO_MANY_REQUESTS) or C(RESET) action. elements: str bot_rate_limit_enabled: type: str @@ -89,6 +92,11 @@ only one binding is allowed for a cookie name. To update the values of an existing binding, user has to first unbind that binding, and then needs to bind again with new values. + condition: + type: str + description: + - Expression to be used in a rate-limiting condition. This expression result + must be a boolean value. cookiename: type: str description: @@ -347,6 +355,13 @@ - ZW description: - Country name which is used for geolocation rate-limiting. + limittype: + type: str + choices: + - BURSTY + - SMOOTH + description: + - Rate-Limiting traffic Type logmessage: type: str description: diff --git a/plugins/modules/botprofile_tps_binding.py b/plugins/modules/botprofile_tps_binding.py index d0e4d2574..7fc02c336 100644 --- a/plugins/modules/botprofile_tps_binding.py +++ b/plugins/modules/botprofile_tps_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: botprofile_tps_binding short_description: Binding Resource definition for describing association between botprofile and tps resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/botprofile_trapinsertionurl_binding.py b/plugins/modules/botprofile_trapinsertionurl_binding.py index f42b9dbd6..8b3c6b2e6 100644 --- a/plugins/modules/botprofile_trapinsertionurl_binding.py +++ b/plugins/modules/botprofile_trapinsertionurl_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: botprofile_trapinsertionurl_binding short_description: Binding Resource definition for describing association between botprofile and trapinsertionurl resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/botprofile_whitelist_binding.py b/plugins/modules/botprofile_whitelist_binding.py index ba00c734f..c1871317d 100644 --- a/plugins/modules/botprofile_whitelist_binding.py +++ b/plugins/modules/botprofile_whitelist_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: botprofile_whitelist_binding short_description: Binding Resource definition for describing association between botprofile and whitelist resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/botsettings.py b/plugins/modules/botsettings.py index 9844fcd94..f58ec3d58 100644 --- a/plugins/modules/botsettings.py +++ b/plugins/modules/botsettings.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: botsettings short_description: Configuration for Bot engine settings resource. description: Configuration for Bot engine settings resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,7 +39,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str defaultnonintrusiveprofile: - type: raw + type: str choices: - BOT_BYPASS - BOT_STATS @@ -47,18 +49,18 @@ checks will be disabled and IPRep cronjob(24 Hours) will be removed if this is set to C(BOT_BYPASS). defaultprofile: - type: raw + type: str description: - Profile to use when a connection does not match any policy. Default setting is " ", which sends unmatched connections back to the Citrix ADC without attempting to filter them further. dfprequestlimit: - type: raw + type: float description: - Number of requests to allow without bot session cookie if device fingerprint is enabled javascriptname: - type: raw + type: str description: - Name of the JavaScript that the Bot Management feature uses in response. - Must begin with a letter or number, and can consist of from 1 to 31 letters, @@ -68,23 +70,23 @@ - If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my cookie name" or 'my cookie name'). proxypassword: - type: raw + type: str description: - Password with which user logs on. proxyport: - type: raw + type: int description: - Proxy Server Port to get updated signatures from AWS. proxyserver: - type: raw + type: str description: - Proxy Server IP to get updated signatures from AWS. proxyusername: - type: raw + type: str description: - Proxy Username sessioncookiename: - type: raw + type: str description: - Name of the SessionCookie that the Bot Management feature uses for tracking. - Must begin with a letter or number, and can consist of from 1 to 31 letters, @@ -94,22 +96,22 @@ - If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my cookie name" or 'my cookie name'). sessiontimeout: - type: raw + type: float description: - Timeout, in seconds, after which a user session is terminated. signatureautoupdate: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Flag used to enable/disable bot auto update signatures signatureurl: - type: raw + type: str description: - URL to download the bot signature mapping file from server trapurlautogenerate: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -117,11 +119,11 @@ - Enable/disable trap URL auto generation. When enabled, trap URL is updated within the configured interval. trapurlinterval: - type: raw + type: float description: - Time in seconds after which trap URL is updated. trapurllength: - type: raw + type: float description: - Length of the auto-generated trap URL. extends_documentation_fragment: netscaler.adc.netscaler_adc @@ -129,6 +131,20 @@ """ EXAMPLES = r""" +--- +- name: Sample botsettings playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure botsettings + delegate_to: localhost + netscaler.adc.botsettings: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + proxyport: 0 """ RETURN = r""" diff --git a/plugins/modules/botsignature.py b/plugins/modules/botsignature.py index 71b06d8d8..69df5d3d0 100644 --- a/plugins/modules/botsignature.py +++ b/plugins/modules/botsignature.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: botsignature short_description: Configuration for bot signatures resource. description: Configuration for bot signatures resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/bridgegroup.py b/plugins/modules/bridgegroup.py index d64e99f38..49422c007 100644 --- a/plugins/modules/bridgegroup.py +++ b/plugins/modules/bridgegroup.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: bridgegroup short_description: Configuration for bridge group resource. description: Configuration for bridge group resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,18 +41,18 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str dynamicrouting: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable dynamic routing for this bridgegroup. id: - type: raw + type: float description: - An integer that uniquely identifies the bridge group. ipv6dynamicrouting: - type: raw + type: str choices: - ENABLED - DISABLED @@ -138,6 +140,21 @@ """ EXAMPLES = r""" +--- +- name: Sample bridgegroup playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure bridgegroup + delegate_to: localhost + netscaler.adc.bridgegroup: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + id: '23' + ipv6dynamicrouting: ENABLED """ RETURN = r""" diff --git a/plugins/modules/bridgegroup_nsip6_binding.py b/plugins/modules/bridgegroup_nsip6_binding.py index 3fcfc2612..d9456d7da 100644 --- a/plugins/modules/bridgegroup_nsip6_binding.py +++ b/plugins/modules/bridgegroup_nsip6_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: bridgegroup_nsip6_binding short_description: Binding Resource definition for describing association between bridgegroup and nsip6 resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/bridgegroup_nsip_binding.py b/plugins/modules/bridgegroup_nsip_binding.py index e0599291a..d14126155 100644 --- a/plugins/modules/bridgegroup_nsip_binding.py +++ b/plugins/modules/bridgegroup_nsip_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: bridgegroup_nsip_binding short_description: Binding Resource definition for describing association between bridgegroup and nsip resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -65,6 +67,22 @@ """ EXAMPLES = r""" +--- +- name: Sample bridgegroup_nsip_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure bridgegroup_nsip_binding + delegate_to: localhost + netscaler.adc.bridgegroup_nsip_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + id: '2' + ipaddress: 2.2.2.1 + netmask: 255.255.255.0 """ RETURN = r""" diff --git a/plugins/modules/bridgegroup_vlan_binding.py b/plugins/modules/bridgegroup_vlan_binding.py index 5a7c7f826..4981c0010 100644 --- a/plugins/modules/bridgegroup_vlan_binding.py +++ b/plugins/modules/bridgegroup_vlan_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: bridgegroup_vlan_binding short_description: Binding Resource definition for describing association between bridgegroup and vlan resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/bridgetable.py b/plugins/modules/bridgetable.py index 03d105e53..1c54aa749 100644 --- a/plugins/modules/bridgetable.py +++ b/plugins/modules/bridgetable.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: bridgetable short_description: Configuration for bridge table entry resource. description: Configuration for bridge table entry resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str bridgeage: - type: raw + type: float description: - Time-out value for the bridge table entries, in seconds. The new value applies only to the entries that are dynamically learned after the new value is set. diff --git a/plugins/modules/cachecontentgroup.py b/plugins/modules/cachecontentgroup.py index 58fb812b4..f6b15c7de 100644 --- a/plugins/modules/cachecontentgroup.py +++ b/plugins/modules/cachecontentgroup.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: cachecontentgroup short_description: Configuration for Integrated Cache content group resource. description: Configuration for Integrated Cache content group resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -41,7 +43,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str absexpiry: - type: raw + type: list description: - Local time, up to 4 times a day, at which all objects in the content group must expire. @@ -53,13 +55,15 @@ - 'To specify that the objects in the content group should expire at 10:00 AM, 3 PM, 6 PM, and 11:00 PM, type: add cache contentgroup -absexpiry 10:00 15:00 18:00 23:00' + elements: str absexpirygmt: - type: raw + type: list description: - Coordinated Universal Time (GMT), up to 4 times a day, when all objects in the content group must expire. + elements: str alwaysevalpolicies: - type: raw + type: str choices: - 'YES' - 'NO' @@ -67,11 +71,11 @@ - Force policy evaluation for each response arriving from the origin server. Cannot be set to C(YES) if the Prefetch parameter is also set to C(YES). cachecontrol: - type: raw + type: str description: - Insert a Cache-Control header into the response. expireatlastbyte: - type: raw + type: str choices: - 'YES' - 'NO' @@ -80,7 +84,7 @@ (upon receipt of the last byte of the response body). Applicable only to positive responses. flashcache: - type: raw + type: str choices: - 'YES' - 'NO' @@ -88,17 +92,18 @@ - Perform flash cache. Mutually exclusive with Poll Every Time (PET) on the same content group. heurexpiryparam: - type: raw + type: float description: - Heuristic expiry time, in percent of the duration, since the object was last modified. hitparams: - type: raw + type: list description: - Parameters to use for parameterized hit evaluation of an object. Up to 128 parameters can be specified. Mutually exclusive with the Hit Selector parameter. + elements: str hitselector: - type: raw + type: str description: - Selector for evaluating whether an object gets stored in a particular content group. A selector is an abstraction for a collection of PIXL expressions. @@ -109,7 +114,7 @@ parameterized invalidation. Also, the Invalidation Restricted to Host parameter for the group must be set to YES. ignoreparamvaluecase: - type: raw + type: str choices: - 'YES' - 'NO' @@ -117,7 +122,7 @@ - Ignore case when comparing parameter values during parameterized hit evaluation. (Parameter value case is ignored by default during parameterized invalidation.) ignorereloadreq: - type: raw + type: str choices: - 'YES' - 'NO' @@ -126,14 +131,14 @@ - To guard against Denial of Service attacks, set this parameter to C(YES). For RFC-compliant behavior, set it to C(NO). ignorereqcachinghdrs: - type: raw + type: str choices: - 'YES' - 'NO' description: - Ignore Cache-Control and Pragma headers in the incoming request. insertage: - type: raw + type: str choices: - 'YES' - 'NO' @@ -141,7 +146,7 @@ - Insert an Age header into the response. An Age header contains information about the age of the object, in seconds, as calculated by the integrated cache. insertetag: - type: raw + type: str choices: - 'YES' - 'NO' @@ -149,31 +154,32 @@ - Insert an ETag header in the response. With ETag header insertion, the integrated cache does not serve full responses on repeat requests. insertvia: - type: raw + type: str choices: - 'YES' - 'NO' description: - Insert a Via header into the response. invalparams: - type: raw + type: list description: - Parameters for parameterized invalidation of an object. You can specify up to 8 parameters. Mutually exclusive with invalSelector. + elements: str invalrestrictedtohost: - type: raw + type: str choices: - 'YES' - 'NO' description: - Take the host header into account during parameterized invalidation. invalselector: - type: raw + type: str description: - Selector for invalidating objects in the content group. A selector is an abstraction for a collection of PIXL expressions. lazydnsresolve: - type: raw + type: str choices: - 'YES' - 'NO' @@ -181,39 +187,39 @@ - Perform DNS resolution for responses only if the destination IP address in the request does not match the destination IP address of the cached response. matchcookies: - type: raw + type: str choices: - 'YES' - 'NO' description: - Evaluate for parameters in the cookie header also. maxressize: - type: raw + type: float description: - Maximum size of a response that can be cached in this content group. memlimit: - type: raw + type: float description: - Maximum amount of memory that the cache can use. The effective limit is based on the available memory of the Citrix ADC. minhits: - type: raw + type: int description: - Number of hits that qualifies a response for storage in this content group. minressize: - type: raw + type: float description: - Minimum size of a response that can be cached in this content group. - ' Default minimum response size is 0.' name: - type: raw + type: str description: - Name for the content group. Must begin with an ASCII alphabetic or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash (#), period (.), space, colon (:), at (@), equals (=), and hyphen (-) characters. Cannot be changed after the content group is created. persistha: - type: raw + type: str choices: - 'YES' - 'NO' @@ -221,14 +227,14 @@ - Setting persistHA to C(YES) causes IC to save objects in contentgroup to Secondary node in HA deployment. pinned: - type: raw + type: str choices: - 'YES' - 'NO' description: - Do not flush objects from this content group under memory pressure. polleverytime: - type: raw + type: str choices: - 'YES' - 'NO' @@ -236,24 +242,24 @@ - Always poll for the objects in this content group. That is, retrieve the objects from the origin server whenever they are requested. prefetch: - type: raw + type: str choices: - 'YES' - 'NO' description: - Attempt to refresh objects that are about to go stale. prefetchmaxpending: - type: raw + type: float description: - Maximum number of outstanding prefetches that can be queued for the content group. prefetchperiod: - type: raw + type: float description: - Time period, in seconds before an object's calculated expiry time, during which to attempt prefetch. prefetchperiodmillisec: - type: raw + type: float description: - Time period, in milliseconds before an object's calculated expiry time, during which to attempt prefetch. @@ -264,24 +270,24 @@ parameterized invalidation. If this parameter is not set, all objects are flushed from the group. quickabortsize: - type: raw + type: float description: - If the size of an object that is being downloaded is less than or equal to the quick abort value, and a client aborts during the download, the cache stops downloading the response. If the object is larger than the quick abort size, the cache continues to download the response. relexpiry: - type: raw + type: float description: - Relative expiry time, in seconds, after which to expire an object cached in this content group. relexpirymillisec: - type: raw + type: float description: - Relative expiry time, in milliseconds, after which to expire an object cached in this content group. removecookies: - type: raw + type: str choices: - 'YES' - 'NO' @@ -308,13 +314,13 @@ description: - The type of the content group. weaknegrelexpiry: - type: raw + type: float description: - 'Relative expiry time, in seconds, for expiring negative responses. This value is used only if the expiry time cannot be determined from any other source. It is applicable only to the following status codes: 307, 403, 404, and 410.' weakposrelexpiry: - type: raw + type: float description: - Relative expiry time, in seconds, for expiring positive responses with response codes between 200 and 399. Cannot be used in combination with other Expiry @@ -325,38 +331,17 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample cachecontentgroup playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | cachecontentgroup - delegate_to: localhost - netscaler.adc.cachecontentgroup: - state: present - name: DEFAULT - - name: Sample Task | cachecontentgroup | 2 - delegate_to: localhost - netscaler.adc.cachecontentgroup: - state: present - name: BASEFILE - relexpiry: 86000 - weaknegrelexpiry: 600 - maxressize: 256 - memlimit: 2 - - name: Sample Task | cachecontentgroup | 3 - delegate_to: localhost - netscaler.adc.cachecontentgroup: - state: present - name: DELTAJS - relexpiry: 86000 - weaknegrelexpiry: 600 - insertage: 'NO' - maxressize: 256 - memlimit: 1 - pinned: 'YES' - - name: Sample Task | cachecontentgroup | 4 + - name: Configure cachecontentgroup delegate_to: localhost netscaler.adc.cachecontentgroup: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present name: NSFEO maxressize: 1994752 diff --git a/plugins/modules/cacheforwardproxy.py b/plugins/modules/cacheforwardproxy.py index 3ee15e452..a3491536a 100644 --- a/plugins/modules/cacheforwardproxy.py +++ b/plugins/modules/cacheforwardproxy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: cacheforwardproxy short_description: Configuration for forward proxy resource. description: Configuration for forward proxy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/cacheglobal_cachepolicy_binding.py b/plugins/modules/cacheglobal_cachepolicy_binding.py index c52c71d61..6b13f12ae 100644 --- a/plugins/modules/cacheglobal_cachepolicy_binding.py +++ b/plugins/modules/cacheglobal_cachepolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: cacheglobal_cachepolicy_binding short_description: Binding Resource definition for describing association between cacheglobal and cachepolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -106,6 +108,26 @@ """ EXAMPLES = r""" +--- +- name: Sample cacheglobal_cachepolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure cacheglobal_cachepolicy_binding + delegate_to: localhost + netscaler.adc.cacheglobal_cachepolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + policy: NOPOLICY + priority: '185883' + gotopriorityexpression: USE_INVOCATION_RESULT + type: HTTPQUIC_RES_DEFAULT + invoke: true + labeltype: policylabel + labelname: _httpquicResBuiltinDefaults """ RETURN = r""" diff --git a/plugins/modules/cacheobject.py b/plugins/modules/cacheobject.py index 7228d3b5d..cd35f79f3 100644 --- a/plugins/modules/cacheobject.py +++ b/plugins/modules/cacheobject.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: cacheobject short_description: Configuration for cache object resource. description: Configuration for cache object resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/cacheparameter.py b/plugins/modules/cacheparameter.py index cc10bd976..aab3adadf 100644 --- a/plugins/modules/cacheparameter.py +++ b/plugins/modules/cacheparameter.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: cacheparameter short_description: Configuration for cache parameter resource. description: Configuration for cache parameter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,7 +39,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str enablebypass: - type: raw + type: str choices: - 'YES' - 'NO' @@ -50,7 +52,7 @@ - This parameter does not affect processing of requests that match any invalidation policy. enablehaobjpersist: - type: raw + type: str choices: - 'YES' - 'NO' @@ -59,30 +61,30 @@ objects can be synced to Secondary in a HA deployment. If set to C(NO), objects will never be synced to Secondary node. maxpostlen: - type: raw + type: float description: - Maximum number of POST body bytes to consider when evaluating parameters for a content group for which you have configured hit parameters and invalidation parameters. memlimit: - type: raw + type: float description: - Amount of memory available for storing the cache objects. In practice, the amount of memory available for caching can be less than half the total memory of the Citrix ADC. prefetchmaxpending: - type: raw + type: float description: - Maximum number of outstanding prefetches in the Integrated Cache. undefaction: - type: raw + type: str choices: - NOCACHE - RESET description: - Action to take when a policy cannot be evaluated. verifyusing: - type: raw + type: str choices: - HOSTNAME - HOSTNAME_AND_IP @@ -103,7 +105,7 @@ lookup of the destination server's IP address, and is compared with the set of addresses returned by the C(DNS) lookup. via: - type: raw + type: str description: - String to include in the Via header. A Via header is inserted into all responses served from a content group if its Insert Via flag is set. @@ -113,15 +115,19 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample cacheparameter playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | cacheparameter + - name: Configure cacheparameter delegate_to: localhost netscaler.adc.cacheparameter: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - via: 'NS-CACHE-10.0: 141' + via: 'NS-CACHE-10.0: 50' """ RETURN = r""" diff --git a/plugins/modules/cachepolicy.py b/plugins/modules/cachepolicy.py index 93122ccf0..07477b904 100644 --- a/plugins/modules/cachepolicy.py +++ b/plugins/modules/cachepolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: cachepolicy short_description: Configuration for Integrated Cache policy resource. description: Configuration for Integrated Cache policy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -52,15 +54,17 @@ - '* C(NOCACHE) or C(MAY_NOCACHE) action - negative cachability policy' - '* C(INVAL) action - Dynamic Invalidation Policy' invalgroups: - type: raw + type: list description: - Content group(s) to be invalidated when the INVAL action is applied. Maximum number of content groups that can be specified is 16. + elements: str invalobjects: - type: raw + type: list description: - Content groups(s) in which the objects will be invalidated if the action is INVAL. + elements: str newname: type: str description: @@ -68,7 +72,7 @@ (_) character, and must contain only ASCII alphanumeric, underscore, hash (#), period (.), space, colon (:), at (@), equals (=), and hyphen (-) characters. policyname: - type: raw + type: str description: - Name for the policy. Must begin with an ASCII alphabetic or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash (#), @@ -86,14 +90,14 @@ - '* Alternatively, you can use single quotation marks to enclose the rule, in which case you do not have to escape the double quotation marks.' storeingroup: - type: raw + type: str description: - Name of the content group in which to store the object when the final result of policy evaluation is CACHE. The content group must exist before being mentioned here. Use the "show cache contentgroup" command to view the list of existing content groups. undefaction: - type: raw + type: str choices: - NOCACHE - RESET @@ -130,27 +134,23 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample cachepolicy playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | cachepolicy - delegate_to: localhost - netscaler.adc.cachepolicy: - state: present - policyname: _nonGetReq - rule: '!HTTP.REQ.METHOD.eq(GET)' - action: NOCACHE - - name: Sample Task | cachepolicy | 2 + - name: Configure cachepolicy delegate_to: localhost netscaler.adc.cachepolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - policyname: _cacheableCacheControlRes - rule: ((HTTP.RES.CACHE_CONTROL.IS_PUBLIC) || (HTTP.RES.CACHE_CONTROL.IS_MAX_AGE) - || (HTTP.RES.CACHE_CONTROL.IS_MUST_REVALIDATE) || (HTTP.RES.CACHE_CONTROL.IS_PROXY_REVALIDATE) - || (HTTP.RES.CACHE_CONTROL.IS_S_MAXAGE)) + policyname: n_XM_CACHE_WO_DEVICEID_10.100.39.132 + rule: HTTP.REQ.HEADER("Host").CONTAINS("callout") && HTTP.REQ.URL.QUERY.CONTAINS("DeviceId").NOT + && HTTP.REQ.URL.QUERY.CONTAINS("url") action: CACHE - storeingroup: DEFAULT + storeingroup: n_XM_WO_DEVICEID_10.100.39.132 """ RETURN = r""" diff --git a/plugins/modules/cachepolicylabel.py b/plugins/modules/cachepolicylabel.py index d926ac7e3..4a6ca8bee 100644 --- a/plugins/modules/cachepolicylabel.py +++ b/plugins/modules/cachepolicylabel.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: cachepolicylabel short_description: Configuration for cache policy label resource. description: Configuration for cache policy label resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -94,16 +96,20 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample cachepolicylabel playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | cachepolicylabel + - name: Configure cachepolicylabel delegate_to: localhost netscaler.adc.cachepolicylabel: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - labelname: _reqBuiltinDefaults - evaluates: REQ + labelname: _httpquicResBuiltinDefaults + evaluates: HTTPQUIC_RES """ RETURN = r""" diff --git a/plugins/modules/cachepolicylabel_cachepolicy_binding.py b/plugins/modules/cachepolicylabel_cachepolicy_binding.py index 691df975e..3bdd270ef 100644 --- a/plugins/modules/cachepolicylabel_cachepolicy_binding.py +++ b/plugins/modules/cachepolicylabel_cachepolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: cachepolicylabel_cachepolicy_binding short_description: Binding Resource definition for describing association between cachepolicylabel and cachepolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -80,6 +82,23 @@ """ EXAMPLES = r""" +--- +- name: Sample cachepolicylabel_cachepolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure cachepolicylabel_cachepolicy_binding + delegate_to: localhost + netscaler.adc.cachepolicylabel_cachepolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + labelname: _httpquicResBuiltinDefaults + policyname: _personalizedRes + priority: '800' + gotopriorityexpression: END """ RETURN = r""" diff --git a/plugins/modules/cacheselector.py b/plugins/modules/cacheselector.py index 09f5331fa..cd58cfbe0 100644 --- a/plugins/modules/cacheselector.py +++ b/plugins/modules/cacheselector.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: cacheselector short_description: Configuration for cache selector resource. description: Configuration for cache selector resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -52,6 +54,22 @@ """ EXAMPLES = r""" +--- +- name: Sample cacheselector playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure cacheselector + delegate_to: localhost + netscaler.adc.cacheselector: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + selectorname: n_XM_URL_10.100.39.132 + rule: + - HTTP.REQ.URL.QUERY.VALUE("url") """ RETURN = r""" diff --git a/plugins/modules/callhome.py b/plugins/modules/callhome.py index 1df82301e..40472bfac 100644 --- a/plugins/modules/callhome.py +++ b/plugins/modules/callhome.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: callhome short_description: Configuration for callhome resource. description: Configuration for callhome resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,22 +39,23 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str emailaddress: - type: raw + type: str description: - Email address of the contact administrator. hbcustominterval: - type: raw + type: float description: - Interval (in days) between CallHome heartbeats ipaddress: - type: raw + type: str description: - IP address of the proxy server. mode: - type: raw + type: str choices: - Default - CSP + - Connector description: - CallHome mode of operation nodeid: @@ -60,16 +63,16 @@ description: - Unique number that identifies the cluster node. port: - type: raw + type: int description: - HTTP port on the Proxy server. This is a mandatory parameter for both IP address and service name based configuration. proxyauthservice: - type: raw + type: str description: - Name of the service that represents the proxy server. proxymode: - type: raw + type: str choices: - 'YES' - 'NO' @@ -83,15 +86,19 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample callhome playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | callhome + - name: Configure callhome delegate_to: localhost netscaler.adc.callhome: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - hbcustominterval: '30' + hbcustominterval: '20' """ RETURN = r""" diff --git a/plugins/modules/channel.py b/plugins/modules/channel.py index 241a77ff2..413d85e61 100644 --- a/plugins/modules/channel.py +++ b/plugins/modules/channel.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: channel short_description: Configuration for channel resource. description: Configuration for channel resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,13 +41,13 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str bandwidthhigh: - type: raw + type: float description: - High threshold value for the bandwidth usage of the LA channel, in Mbps. The Citrix ADC generates an SNMP trap message when the bandwidth usage of the LA channel is greater than or equal to the specified high threshold value. bandwidthnormal: - type: raw + type: float description: - Normal threshold value for the bandwidth usage of the LA channel, in Mbps. When the bandwidth usage of the LA channel returns to less than or equal to @@ -60,7 +62,7 @@ description: - The 'connection' distribution mode for the LA channel. flowctl: - type: raw + type: str choices: - 'OFF' - RX @@ -73,7 +75,7 @@ standard. Flow control allows congested ports to pause traffic from the peer device. Flow control is achieved by sending PAUSE frames. haheartbeat: - type: raw + type: str choices: - 'OFF' - 'ON' @@ -82,7 +84,7 @@ heartbeats. LA channel that has HA Heartbeat disabled should not send the heartbeats. hamonitor: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -90,14 +92,14 @@ - In a High Availability (HA) configuration, monitor the LA channel for failure events. Failure of any LA channel that has HA MON enabled triggers HA failover. id: - type: raw + type: str description: - ID for the LA channel or cluster LA channel or LR channel to be created. Specify an LA channel in LA/x notation, where x can range from 1 to 8 or cluster LA channel in CLA/x notation or Link redundant channel in LR/x notation, where x can range from 1 to 4. Cannot be changed after the LA channel is created. ifalias: - type: raw + type: str description: - Alias name for the LA channel. Used only to enhance readability. To perform any operations, you have to specify the LA channel ID. @@ -126,14 +128,14 @@ - If you don't specify this parameter, a MAC address is generated randomly for each LA channel. These MAC addresses change after each reboot. linkredundancy: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Link Redundancy for Cluster LAG. lrminthroughput: - type: raw + type: float description: - Specifies the minimum throughput threshold (in Mbps) to be met by the active subchannel. Setting this parameter automatically divides an LACP channel into @@ -157,7 +159,7 @@ description: - The initital mode for the LA channel. mtu: - type: raw + type: float description: - The Maximum Transmission Unit (MTU) is the largest packet size, measured in bytes excluding 14 bytes ethernet header and 4 bytes CRC, that can be transmitted @@ -181,24 +183,24 @@ to a lesser value, Similar calculation can be applied, Maximum Data Plane MTU in Cluster = (Maximum possible MTU - 78). speed: - type: raw + type: str choices: - AUTO - - 10 - - 100 - - 1000 - - 10000 - - 25000 - - 40000 - - 50000 - - 100000 + - '10' + - '100' + - '1000' + - '10000' + - '25000' + - '40000' + - '50000' + - '100000' description: - Ethernet speed of the channel, in Mbps. If the speed of any bound interface is greater than or equal to the value set for this parameter, the state of the interface is UP. Otherwise, the state is INACTIVE. Bound Interfaces whose state is INACTIVE do not process any traffic. tagall: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -207,7 +209,7 @@ setting applies tags for all VLANs that are bound to this channel. C(OFF) applies the tag for all VLANs other than the native VLAN. throughput: - type: raw + type: float description: - Low threshold value for the throughput of the LA channel, in Mbps. In an high availability (HA) configuration, failover is triggered when the LA channel @@ -250,19 +252,29 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample channel playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | channel + - name: Configure channel delegate_to: localhost netscaler.adc.channel: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - id: LA/1 - throughput: '0' - lrminthroughput: '0' - bandwidthhigh: '0' - bandwidthnormal: '0' + id: LA/4 + ifnum: + - 1/3 + speed: AUTO + flowctl: 'OFF' + hamonitor: 'OFF' + tagall: 'OFF' + ifalias: alias1 + throughput: '23' + bandwidthhigh: '23' + bandwidthnormal: '23' """ RETURN = r""" diff --git a/plugins/modules/channel_interface_binding.py b/plugins/modules/channel_interface_binding.py index c225b71d1..89a700922 100644 --- a/plugins/modules/channel_interface_binding.py +++ b/plugins/modules/channel_interface_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: channel_interface_binding short_description: Binding Resource definition for describing association between channel and interface resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/cloudallowedngsticketprofile.py b/plugins/modules/cloudallowedngsticketprofile.py index 438fbe76b..c2adf3881 100644 --- a/plugins/modules/cloudallowedngsticketprofile.py +++ b/plugins/modules/cloudallowedngsticketprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: cloudallowedngsticketprofile short_description: Configuration for Allowed ticket profile for NGS resource. description: Configuration for Allowed ticket profile for NGS resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/cloudawsparam.py b/plugins/modules/cloudawsparam.py index 93d4b81d7..6371cd593 100644 --- a/plugins/modules/cloudawsparam.py +++ b/plugins/modules/cloudawsparam.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: cloudawsparam short_description: Configuration for cloud awsParam resource. description: Configuration for cloud awsParam resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,7 +39,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str rolearn: - type: raw + type: str description: - IAM Role ARN extends_documentation_fragment: netscaler.adc.netscaler_adc diff --git a/plugins/modules/cloudcredential.py b/plugins/modules/cloudcredential.py index b11ef1276..7b3341307 100644 --- a/plugins/modules/cloudcredential.py +++ b/plugins/modules/cloudcredential.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: cloudcredential short_description: Configuration for cloud credentials resource. description: Configuration for cloud credentials resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/cloudngsparameter.py b/plugins/modules/cloudngsparameter.py index 2f2a36ef4..168793942 100644 --- a/plugins/modules/cloudngsparameter.py +++ b/plugins/modules/cloudngsparameter.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: cloudngsparameter short_description: Configuration for cloud ngsparameter resource. description: Configuration for cloud ngsparameter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,14 +39,14 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str allowdtls12: - type: raw + type: str choices: - 'YES' - 'NO' description: - Enables DTLS1.2 for client connections on CGS allowedudtversion: - type: raw + type: str choices: - V4 - V5 @@ -53,7 +55,7 @@ description: - Enables the required UDT version to EDT connections in the CGS deployment blockonallowedngstktprof: - type: raw + type: str choices: - 'YES' - 'NO' @@ -61,7 +63,7 @@ - Enables blocking connections authenticated with a ticket createdby by an entity not whitelisted in allowedngstktprofile csvserverticketingdecouple: - type: raw + type: str choices: - 'YES' - 'NO' diff --git a/plugins/modules/cloudparameter.py b/plugins/modules/cloudparameter.py index 7bb78cc70..a0210188b 100644 --- a/plugins/modules/cloudparameter.py +++ b/plugins/modules/cloudparameter.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: cloudparameter short_description: Configuration for cloud parameter resource. description: Configuration for cloud parameter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -59,7 +61,7 @@ description: - Port number of the controller to which the Citrix ADC SDProxy connects customerid: - type: raw + type: str description: - Customer ID of the citrix cloud customer deployment: @@ -72,11 +74,11 @@ - Describes if the customer is a C(Staging)/C(Production) or C(Dev) Citrix Cloud customer instanceid: - type: raw + type: str description: - Instance ID of the customer provided by Trust resourcelocation: - type: raw + type: str description: - Resource Location of the customer provided by Trust extends_documentation_fragment: netscaler.adc.netscaler_adc diff --git a/plugins/modules/cloudparaminternal.py b/plugins/modules/cloudparaminternal.py index 097025156..725d644d5 100644 --- a/plugins/modules/cloudparaminternal.py +++ b/plugins/modules/cloudparaminternal.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: cloudparaminternal short_description: Configuration for cloud paramInternal resource. description: Configuration for cloud paramInternal resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/cloudprofile.py b/plugins/modules/cloudprofile.py index d6d4b13c5..2c2351fe0 100644 --- a/plugins/modules/cloudprofile.py +++ b/plugins/modules/cloudprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: cloudprofile short_description: Configuration for cloud profile resource. description: Configuration for cloud profile resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -99,6 +101,9 @@ - MQTT - MQTT_TLS - QUIC_BRIDGE + - DOT + - ADNS_DOT + - HTTP_QUIC description: - The type of bound service delay: @@ -180,6 +185,8 @@ - MQTT_TLS - QUIC_BRIDGE - HTTP_QUIC + - DOT + - SSL_PROXY description: - Protocol used by the service (also called the service type). type: diff --git a/plugins/modules/cloudservice.py b/plugins/modules/cloudservice.py new file mode 100644 index 000000000..f0c2b3c6b --- /dev/null +++ b/plugins/modules/cloudservice.py @@ -0,0 +1,90 @@ +#!/usr/bin/python + +# -*- coding: utf-8 -*- + +# Copyright (c) 2023 Cloud Software Group, Inc. +# MIT License (see LICENSE or https://opensource.org/licenses/MIT) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + + +ANSIBLE_METADATA = { + "metadata_version": "1.1", + "status": ["preview"], + "supported_by": "community", +} + +DOCUMENTATION = r""" +--- +module: cloudservice +short_description: Configuration for cloud service resource. +description: Configuration for cloud service resource. +version_added: 2.0.0 +author: + - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) +options: + state: + choices: [] + default: present + description: + - The state of the resource being configured by the module on the NetScaler + ADC node. + type: str +extends_documentation_fragment: netscaler.adc.netscaler_adc + +""" + +EXAMPLES = r""" +""" + +RETURN = r""" +--- +changed: + description: Indicates if any change is made by the module + returned: always + type: bool + sample: true +diff: + description: Dictionary of before and after changes + returned: always + type: dict + sample: {'before': {'key1': 'xyz'}, 'after': {'key2': 'pqr'}, 'prepared': 'changes + done'} +diff_list: + description: List of differences between the actual configured object and the configuration + specified in the module + returned: when changed + type: list + sample: ["Attribute `key1` differs. Desired: () XYZ. Existing: () PQR"] +failed: + description: Indicates if the module failed or not + returned: always + type: bool + sample: false +loglines: + description: list of logged messages by the module + returned: always + type: list + sample: ['message 1', 'message 2'] + +""" + + +import os + +from ..module_utils.module_executor import ModuleExecutor + +RESOURCE_NAME = os.path.basename(__file__).replace(".py", "") + + +def main(): + executor = ModuleExecutor(RESOURCE_NAME) + executor.main() + + +if __name__ == "__main__": + main() diff --git a/plugins/modules/cloudtunnelparameter.py b/plugins/modules/cloudtunnelparameter.py index 4831c4d42..65c085e36 100644 --- a/plugins/modules/cloudtunnelparameter.py +++ b/plugins/modules/cloudtunnelparameter.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: cloudtunnelparameter short_description: Configuration for Cloudtunnel parameter resource. description: Configuration for Cloudtunnel parameter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -49,7 +51,7 @@ description: - '0' subnetresourcelocationmappings: - type: raw + type: str description: - '0' extends_documentation_fragment: netscaler.adc.netscaler_adc diff --git a/plugins/modules/cloudtunnelvserver.py b/plugins/modules/cloudtunnelvserver.py index c11f6c4cf..ff19fc464 100644 --- a/plugins/modules/cloudtunnelvserver.py +++ b/plugins/modules/cloudtunnelvserver.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: cloudtunnelvserver short_description: Configuration for Cloud Tunnel virtual server resource. description: Configuration for Cloud Tunnel virtual server resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/cluster.py b/plugins/modules/cluster.py index 0f033f786..a68590198 100644 --- a/plugins/modules/cluster.py +++ b/plugins/modules/cluster.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: cluster short_description: Configuration for 0 resource. description: Configuration for 0 resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: [] diff --git a/plugins/modules/clusterfiles.py b/plugins/modules/clusterfiles.py index 1a9d7a890..143bfce38 100644 --- a/plugins/modules/clusterfiles.py +++ b/plugins/modules/clusterfiles.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: clusterfiles short_description: Configuration for files resource. description: Configuration for files resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: [] diff --git a/plugins/modules/clusterinstance.py b/plugins/modules/clusterinstance.py index dc53c835a..b232c8ee4 100644 --- a/plugins/modules/clusterinstance.py +++ b/plugins/modules/clusterinstance.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: clusterinstance short_description: Configuration for cluster instance resource. description: Configuration for cluster instance resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -43,18 +45,18 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str backplanebasedview: - type: raw + type: str choices: - ENABLED - DISABLED description: - View based on heartbeat only on bkplane interface clid: - type: raw + type: float description: - Unique number that identifies the cluster. clusterproxyarp: - type: raw + type: str choices: - ENABLED - DISABLED @@ -62,37 +64,37 @@ - This field controls the proxy arp feature in cluster. By default the flag is enabled. deadinterval: - type: raw + type: float description: - Amount of time, in seconds, after which nodes that do not respond to the heartbeats are assumed to be down.If the value is less than 3 sec, set the helloInterval parameter to 200 msec dfdretainl2params: - type: raw + type: str choices: - ENABLED - DISABLED description: - flag to add ext l2 header during steering. By default the flag is disabled. hellointerval: - type: raw + type: float description: - Interval, in milliseconds, at which heartbeats are sent to each cluster node to check the health status.Set the value to 200 msec, if the deadInterval parameter is less than 3 sec inc: - type: raw + type: str choices: - ENABLED - DISABLED description: - This option is required if the cluster nodes reside on different networks. nodegroup: - type: raw + type: str description: - The node group in a Cluster system used for transition from L2 to L3. preemption: - type: raw + type: str choices: - ENABLED - DISABLED @@ -100,7 +102,7 @@ - Preempt a cluster node that is configured as a SPARE if an ACTIVE node becomes available. processlocal: - type: raw + type: str choices: - ENABLED - DISABLED @@ -108,7 +110,7 @@ - By turning on this option packets destined to a service in a cluster will not under go any steering. quorumtype: - type: raw + type: str choices: - MAJORITY - NONE @@ -116,7 +118,7 @@ - Quorum Configuration Choices - "Majority" (recommended) requires majority of nodes to be online for the cluster to be UP. "None" relaxes this requirement. retainconnectionsoncluster: - type: raw + type: str choices: - 'YES' - 'NO' @@ -124,8 +126,15 @@ - This option enables you to retain existing connections on a node joining a Cluster system or when a node is being configured for passive timeout. By default, this option is disabled. + secureheartbeats: + type: str + choices: + - ENABLED + - DISABLED + description: + - By turning on this option cluster heartbeats will have security enabled. syncstatusstrictmode: - type: raw + type: str choices: - ENABLED - DISABLED diff --git a/plugins/modules/clusternode.py b/plugins/modules/clusternode.py index 2a5c5e549..ccfead77e 100644 --- a/plugins/modules/clusternode.py +++ b/plugins/modules/clusternode.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: clusternode short_description: Configuration for cluster node resource. description: Configuration for cluster node resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str backplane: - type: raw + type: str description: - Interface through which the node communicates with the other nodes in the cluster. Must be specified in the three-tuple form n/c/u, where n represents @@ -52,10 +54,14 @@ description: - Option to remove nodegroup config delay: - type: raw + type: float description: - Applicable for Passive node and node becomes passive after this timeout (in minutes) + force: + type: bool + description: + - Node will be removed from cluster without prompting for user confirmation. ipaddress: type: str description: @@ -66,11 +72,11 @@ description: - The default node group in a Cluster system. nodeid: - type: raw + type: float description: - Unique number that identifies the cluster node. priority: - type: raw + type: float description: - Preference for selecting a node as the configuration coordinator. The node with the lowest priority value is selected as the configuration coordinator. @@ -82,7 +88,7 @@ nodes have the same priority, the cluster elects one of the nodes as the configuration coordinator.' tunnelmode: - type: raw + type: str choices: - NONE - GRE diff --git a/plugins/modules/clusternode_routemonitor_binding.py b/plugins/modules/clusternode_routemonitor_binding.py index c7fe6d10b..ff3d85360 100644 --- a/plugins/modules/clusternode_routemonitor_binding.py +++ b/plugins/modules/clusternode_routemonitor_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: clusternode_routemonitor_binding short_description: Binding Resource definition for describing association between clusternode and routemonitor resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/clusternodegroup.py b/plugins/modules/clusternodegroup.py index 8e33470c7..44b5915de 100644 --- a/plugins/modules/clusternodegroup.py +++ b/plugins/modules/clusternodegroup.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: clusternodegroup short_description: Configuration for Node group object type resource. description: Configuration for Node group object type resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str name: - type: raw + type: str description: - Name of the nodegroup. The name uniquely identifies the nodegroup on the cluster. priority: @@ -65,7 +67,7 @@ is picked up and acts as part of the nodegroup. When the original node of the nodegroup comes up, the backup node will be replaced.' strict: - type: raw + type: str choices: - 'YES' - 'NO' diff --git a/plugins/modules/clusternodegroup_authenticationvserver_binding.py b/plugins/modules/clusternodegroup_authenticationvserver_binding.py index 679c1ee17..cd956ce4a 100644 --- a/plugins/modules/clusternodegroup_authenticationvserver_binding.py +++ b/plugins/modules/clusternodegroup_authenticationvserver_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: clusternodegroup_authenticationvserver_binding short_description: Binding Resource definition for describing association between clusternodegroup and authenticationvserver resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/clusternodegroup_clusternode_binding.py b/plugins/modules/clusternodegroup_clusternode_binding.py index 2adb9f81d..002efc1ab 100644 --- a/plugins/modules/clusternodegroup_clusternode_binding.py +++ b/plugins/modules/clusternodegroup_clusternode_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: clusternodegroup_clusternode_binding short_description: Binding Resource definition for describing association between clusternodegroup and clusternode resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/clusternodegroup_crvserver_binding.py b/plugins/modules/clusternodegroup_crvserver_binding.py index db1761a10..d68988a38 100644 --- a/plugins/modules/clusternodegroup_crvserver_binding.py +++ b/plugins/modules/clusternodegroup_crvserver_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: clusternodegroup_crvserver_binding short_description: Binding Resource definition for describing association between clusternodegroup and crvserver resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/clusternodegroup_csvserver_binding.py b/plugins/modules/clusternodegroup_csvserver_binding.py index 9fe30ca7d..7b4b86baa 100644 --- a/plugins/modules/clusternodegroup_csvserver_binding.py +++ b/plugins/modules/clusternodegroup_csvserver_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: clusternodegroup_csvserver_binding short_description: Binding Resource definition for describing association between clusternodegroup and csvserver resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/clusternodegroup_gslbsite_binding.py b/plugins/modules/clusternodegroup_gslbsite_binding.py index 6406942fe..05c76b6ba 100644 --- a/plugins/modules/clusternodegroup_gslbsite_binding.py +++ b/plugins/modules/clusternodegroup_gslbsite_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: clusternodegroup_gslbsite_binding short_description: Binding Resource definition for describing association between clusternodegroup and gslbsite resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/clusternodegroup_gslbvserver_binding.py b/plugins/modules/clusternodegroup_gslbvserver_binding.py index e890066e7..084026f93 100644 --- a/plugins/modules/clusternodegroup_gslbvserver_binding.py +++ b/plugins/modules/clusternodegroup_gslbvserver_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: clusternodegroup_gslbvserver_binding short_description: Binding Resource definition for describing association between clusternodegroup and gslbvserver resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/clusternodegroup_lbvserver_binding.py b/plugins/modules/clusternodegroup_lbvserver_binding.py index 90e403f00..69c0ab2cd 100644 --- a/plugins/modules/clusternodegroup_lbvserver_binding.py +++ b/plugins/modules/clusternodegroup_lbvserver_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: clusternodegroup_lbvserver_binding short_description: Binding Resource definition for describing association between clusternodegroup and lbvserver resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/clusternodegroup_nslimitidentifier_binding.py b/plugins/modules/clusternodegroup_nslimitidentifier_binding.py index 10dec16bb..aa8d92cce 100644 --- a/plugins/modules/clusternodegroup_nslimitidentifier_binding.py +++ b/plugins/modules/clusternodegroup_nslimitidentifier_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: clusternodegroup_nslimitidentifier_binding short_description: Binding Resource definition for describing association between clusternodegroup and nslimitidentifier resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/clusternodegroup_service_binding.py b/plugins/modules/clusternodegroup_service_binding.py index e08d87c11..f73c12774 100644 --- a/plugins/modules/clusternodegroup_service_binding.py +++ b/plugins/modules/clusternodegroup_service_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: clusternodegroup_service_binding short_description: Binding Resource definition for describing association between clusternodegroup and service resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/clusternodegroup_streamidentifier_binding.py b/plugins/modules/clusternodegroup_streamidentifier_binding.py index 727bbf1a9..95d82cca0 100644 --- a/plugins/modules/clusternodegroup_streamidentifier_binding.py +++ b/plugins/modules/clusternodegroup_streamidentifier_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: clusternodegroup_streamidentifier_binding short_description: Binding Resource definition for describing association between clusternodegroup and streamidentifier resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/clusternodegroup_vpnvserver_binding.py b/plugins/modules/clusternodegroup_vpnvserver_binding.py index cf801ceb4..d689edaa9 100644 --- a/plugins/modules/clusternodegroup_vpnvserver_binding.py +++ b/plugins/modules/clusternodegroup_vpnvserver_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: clusternodegroup_vpnvserver_binding short_description: Binding Resource definition for describing association between clusternodegroup and vpnvserver resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/clusterpropstatus.py b/plugins/modules/clusterpropstatus.py index e4cb9a194..1de0330d4 100644 --- a/plugins/modules/clusterpropstatus.py +++ b/plugins/modules/clusterpropstatus.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: clusterpropstatus short_description: Configuration for 0 resource. description: Configuration for 0 resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: [] diff --git a/plugins/modules/clustersync.py b/plugins/modules/clustersync.py new file mode 100644 index 000000000..4d463b521 --- /dev/null +++ b/plugins/modules/clustersync.py @@ -0,0 +1,93 @@ +#!/usr/bin/python + +# -*- coding: utf-8 -*- + +# Copyright (c) 2023 Cloud Software Group, Inc. +# MIT License (see LICENSE or https://opensource.org/licenses/MIT) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + + +ANSIBLE_METADATA = { + "metadata_version": "1.1", + "status": ["preview"], + "supported_by": "community", +} + +DOCUMENTATION = r""" +--- +module: clustersync +short_description: Configuration for sync resource. +description: Configuration for sync resource. +version_added: 2.0.0 +author: + - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) +options: + state: + choices: + - present + default: present + description: + - The state of the resource being configured by the module on the NetScaler + ADC node. + - When C(present), the resource will be added/updated configured according to + the module's parameters. + type: str +extends_documentation_fragment: netscaler.adc.netscaler_adc + +""" + +EXAMPLES = r""" +""" + +RETURN = r""" +--- +changed: + description: Indicates if any change is made by the module + returned: always + type: bool + sample: true +diff: + description: Dictionary of before and after changes + returned: always + type: dict + sample: {'before': {'key1': 'xyz'}, 'after': {'key2': 'pqr'}, 'prepared': 'changes + done'} +diff_list: + description: List of differences between the actual configured object and the configuration + specified in the module + returned: when changed + type: list + sample: ["Attribute `key1` differs. Desired: () XYZ. Existing: () PQR"] +failed: + description: Indicates if the module failed or not + returned: always + type: bool + sample: false +loglines: + description: list of logged messages by the module + returned: always + type: list + sample: ['message 1', 'message 2'] + +""" + + +import os + +from ..module_utils.module_executor import ModuleExecutor + +RESOURCE_NAME = os.path.basename(__file__).replace(".py", "") + + +def main(): + executor = ModuleExecutor(RESOURCE_NAME) + executor.main() + + +if __name__ == "__main__": + main() diff --git a/plugins/modules/cmpaction.py b/plugins/modules/cmpaction.py index 4f912309f..12dd29574 100644 --- a/plugins/modules/cmpaction.py +++ b/plugins/modules/cmpaction.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: cmpaction short_description: Configuration for compression action resource. description: Configuration for compression action resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str addvaryheader: - type: raw + type: str choices: - GLOBAL - DISABLED @@ -72,7 +74,7 @@ description: - The type of delta action (if delta type compression action is defined). name: - type: raw + type: str description: - Name of the compression action. Must begin with an ASCII alphabetic or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash @@ -103,6 +105,21 @@ """ EXAMPLES = r""" +--- +- name: Sample cmpaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure cmpaction + delegate_to: localhost + netscaler.adc.cmpaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: Base_cmp_act1 + cmptype: compress """ RETURN = r""" diff --git a/plugins/modules/cmpglobal_cmppolicy_binding.py b/plugins/modules/cmpglobal_cmppolicy_binding.py index 1c4ff46c7..4c41f5b86 100644 --- a/plugins/modules/cmpglobal_cmppolicy_binding.py +++ b/plugins/modules/cmpglobal_cmppolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: cmpglobal_cmppolicy_binding short_description: Binding Resource definition for describing association between cmpglobal and cmppolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -127,6 +129,23 @@ """ EXAMPLES = r""" +--- +- name: Sample cmpglobal_cmppolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure cmpglobal_cmppolicy_binding + delegate_to: localhost + netscaler.adc.cmpglobal_cmppolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + policyname: ns_adv_cmp_content_type + priority: '10000' + gotopriorityexpression: END + type: RES_DEFAULT """ RETURN = r""" diff --git a/plugins/modules/cmpparameter.py b/plugins/modules/cmpparameter.py index 044b5f03d..0682a3c3c 100644 --- a/plugins/modules/cmpparameter.py +++ b/plugins/modules/cmpparameter.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: cmpparameter short_description: Configuration for CMP parameter resource. description: Configuration for CMP parameter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,7 +39,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str addvaryheader: - type: raw + type: str choices: - ENABLED - DISABLED @@ -46,12 +48,12 @@ ADC. Intermediate caches store different versions of the response for different values of the headers present in the Vary response header. cmpbypasspct: - type: raw + type: float description: - 'Citrix ADC CPU threshold after which compression is not performed. Range: 0 - 100' cmplevel: - type: raw + type: str choices: - optimal - bestspeed @@ -62,7 +64,7 @@ - ' * Best speed - Corresponds to a gzip level of 1.' - ' * Best compression - Corresponds to a gzip level of 9.' cmponpush: - type: raw + type: str choices: - ENABLED - DISABLED @@ -71,7 +73,7 @@ data. Upon receipt of a packet with a PUSH flag, the appliance immediately begins compression of the accumulated packets. externalcache: - type: raw + type: str choices: - 'YES' - 'NO' @@ -99,21 +101,21 @@ - Threshold compression ratio for heuristic basefile expiry, multiplied by 100. For example, to set the threshold ratio to 1.25, specify 125. minressize: - type: raw + type: float description: - Smallest response size, in bytes, to be compressed. policytype: - type: raw + type: str choices: - ADVANCED description: - Type of the policy. The only possible value is C(ADVANCED) quantumsize: - type: raw + type: float description: - Minimum quantum of data to be filled before compression begins. servercmp: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -121,7 +123,7 @@ - Allow the server to send compressed data to the Citrix ADC. With the default setting, the Citrix ADC appliance handles all compression. varyheadervalue: - type: raw + type: str description: - The value of the HTTP Vary header for compressed responses. If this argument is not specified, a default value of "Accept-Encoding" will be used. @@ -130,6 +132,20 @@ """ EXAMPLES = r""" +--- +- name: Sample cmpparameter playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure cmpparameter + delegate_to: localhost + netscaler.adc.cmpparameter: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + externalcache: 'YES' """ RETURN = r""" diff --git a/plugins/modules/cmppolicy.py b/plugins/modules/cmppolicy.py index cb6b0a525..e51078e0a 100644 --- a/plugins/modules/cmppolicy.py +++ b/plugins/modules/cmppolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: cmppolicy short_description: Configuration for compression policy resource. description: Configuration for compression policy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -108,6 +110,22 @@ """ EXAMPLES = r""" +--- +- name: Sample cmppolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure cmppolicy + delegate_to: localhost + netscaler.adc.cmppolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: Base_cmp_mypolicy3 + rule: HTTP.RES.HEADER("Content-Type").CONTAINS("text") + resaction: Base_cmp_act1 """ RETURN = r""" diff --git a/plugins/modules/cmppolicylabel.py b/plugins/modules/cmppolicylabel.py index 153325146..c596f3df6 100644 --- a/plugins/modules/cmppolicylabel.py +++ b/plugins/modules/cmppolicylabel.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: cmppolicylabel short_description: Configuration for compression policy label resource. description: Configuration for compression policy label resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -101,6 +103,21 @@ """ EXAMPLES = r""" +--- +- name: Sample cmppolicylabel playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure cmppolicylabel + delegate_to: localhost + netscaler.adc.cmppolicylabel: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + labelname: Base_cmp_pol_label + type: RES """ RETURN = r""" diff --git a/plugins/modules/cmppolicylabel_cmppolicy_binding.py b/plugins/modules/cmppolicylabel_cmppolicy_binding.py index 6f9a5d1ed..b5ae467de 100644 --- a/plugins/modules/cmppolicylabel_cmppolicy_binding.py +++ b/plugins/modules/cmppolicylabel_cmppolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: cmppolicylabel_cmppolicy_binding short_description: Binding Resource definition for describing association between cmppolicylabel and cmppolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -78,6 +80,23 @@ """ EXAMPLES = r""" +--- +- name: Sample cmppolicylabel_cmppolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure cmppolicylabel_cmppolicy_binding + delegate_to: localhost + netscaler.adc.cmppolicylabel_cmppolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + labelname: Base_cmp_pol_label + policyname: Base_cmp_mypolicy3 + priority: '5' + gotopriorityexpression: end """ RETURN = r""" diff --git a/plugins/modules/contentinspectionaction.py b/plugins/modules/contentinspectionaction.py index 408f8e7a4..83c903672 100644 --- a/plugins/modules/contentinspectionaction.py +++ b/plugins/modules/contentinspectionaction.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: contentinspectionaction short_description: Configuration for Content Inspection action resource. description: Configuration for Content Inspection action resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -43,7 +45,7 @@ description: - Name of the ICAP profile to be attached to the contentInspection action. ifserverdown: - type: raw + type: str choices: - CONTINUE - DROP @@ -59,7 +61,7 @@ - '* C(CONTINUE) - It bypasses the ContentIsnpection and Continues/resumes the Traffic-Flow to Client/Server.' name: - type: raw + type: str description: - Name of the remote service action. Must begin with an ASCII alphabetic or underscore (_) character, and must contain only ASCII alphanumeric, underscore, @@ -74,7 +76,7 @@ description: - Name of the LB vserver or service serverport: - type: raw + type: float description: - Port of remoteService type: @@ -100,6 +102,21 @@ """ EXAMPLES = r""" +--- +- name: Sample contentinspectionaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure contentinspectionaction + delegate_to: localhost + netscaler.adc.contentinspectionaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ci_act_test + type: NOINSPECTION """ RETURN = r""" diff --git a/plugins/modules/contentinspectioncallout.py b/plugins/modules/contentinspectioncallout.py index 432cd34b6..20eecff5f 100644 --- a/plugins/modules/contentinspectioncallout.py +++ b/plugins/modules/contentinspectioncallout.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: contentinspectioncallout short_description: Configuration for Content Inspection callout resource. description: Configuration for Content Inspection callout resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,11 +41,11 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str comment: - type: raw + type: str description: - Any comments to preserve information about this Content Inspection callout. name: - type: raw + type: str description: - Name for the Content Inspection callout. Not case sensitive. Must begin with an ASCII letter or underscore (_) character, and must consist only of ASCII @@ -90,7 +92,7 @@ server IP address and port parameters. The service type must be TCP or SSL_TCP. If there are vservers and services with the same name, then vserver is selected. serverport: - type: raw + type: float description: - Port of the Content Inspection server. type: diff --git a/plugins/modules/contentinspectionglobal_contentinspectionpolicy_binding.py b/plugins/modules/contentinspectionglobal_contentinspectionpolicy_binding.py index 0f0dc4ef5..8beb399e6 100644 --- a/plugins/modules/contentinspectionglobal_contentinspectionpolicy_binding.py +++ b/plugins/modules/contentinspectionglobal_contentinspectionpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: contentinspectionglobal_contentinspectionpolicy_binding short_description: Binding Resource definition for describing association between contentinspectionglobal and contentinspectionpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/contentinspectionparameter.py b/plugins/modules/contentinspectionparameter.py index 4a0008241..35c1b4dba 100644 --- a/plugins/modules/contentinspectionparameter.py +++ b/plugins/modules/contentinspectionparameter.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: contentinspectionparameter short_description: Configuration for Contentinspection parameter resource. description: Configuration for Contentinspection parameter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,7 +39,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str undefaction: - type: raw + type: str description: - Action to perform if the result of policy evaluation is undefined (UNDEF). An UNDEF event indicates an error condition in evaluating the expression. diff --git a/plugins/modules/contentinspectionpolicy.py b/plugins/modules/contentinspectionpolicy.py index b0ee45a3f..69312d648 100644 --- a/plugins/modules/contentinspectionpolicy.py +++ b/plugins/modules/contentinspectionpolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: contentinspectionpolicy short_description: Configuration for ContentInspection policy resource. description: Configuration for ContentInspection policy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -52,15 +54,15 @@ then resend the request if desired.' - ' * DROP - Drop the request without sending a response to the user.' comment: - type: raw + type: str description: - Any type of information about this contentInspection policy. logaction: - type: raw + type: str description: - Name of the messagelog action to use for requests that match this policy. name: - type: raw + type: str description: - Name for the contentInspection policy. - Must begin with a letter, number, or the underscore character (_), and must @@ -90,7 +92,7 @@ - Expression that the policy uses to determine whether to execute the specified action. undefaction: - type: raw + type: str description: - Action to perform if the result of policy evaluation is undefined (UNDEF). An UNDEF event indicates an internal error condition. Only the above built-in diff --git a/plugins/modules/contentinspectionpolicylabel.py b/plugins/modules/contentinspectionpolicylabel.py index 9f89fff7f..d75fe6133 100644 --- a/plugins/modules/contentinspectionpolicylabel.py +++ b/plugins/modules/contentinspectionpolicylabel.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: contentinspectionpolicylabel short_description: Configuration for ContentInspection policy label resource. description: Configuration for ContentInspection policy label resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/contentinspectionpolicylabel_contentinspectionpolicy_binding.py b/plugins/modules/contentinspectionpolicylabel_contentinspectionpolicy_binding.py index dcc5fcece..3be2c6df9 100644 --- a/plugins/modules/contentinspectionpolicylabel_contentinspectionpolicy_binding.py +++ b/plugins/modules/contentinspectionpolicylabel_contentinspectionpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: contentinspectionpolicylabel_contentinspectionpolicy_binding short_description: Binding Resource definition for describing association between contentinspectionpolicylabel and contentinspectionpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/contentinspectionprofile.py b/plugins/modules/contentinspectionprofile.py index 41128d45a..66ab2db56 100644 --- a/plugins/modules/contentinspectionprofile.py +++ b/plugins/modules/contentinspectionprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: contentinspectionprofile short_description: Configuration for ContentInspection profile resource. description: Configuration for ContentInspection profile resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -44,7 +46,7 @@ - Egress interface for CI profile.It is a mandatory argument while creating an ContentInspection profile of type INLINEINSPECTION or MIRROR. egressvlan: - type: raw + type: float description: - Egress Vlan for CI ingressinterface: @@ -53,7 +55,7 @@ - Ingress interface for CI profile.It is a mandatory argument while creating an ContentInspection profile of IPS type. ingressvlan: - type: raw + type: float description: - Ingress Vlan for CI iptunnel: @@ -62,7 +64,7 @@ - IP Tunnel for CI profile. It is used while creating a ContentInspection profile of type MIRROR when the IDS device is in a different network name: - type: raw + type: str description: - Name of a ContentInspection profile. Must begin with a letter, number, or the underscore \(_\) character. Other characters allowed, after the first diff --git a/plugins/modules/crpolicy.py b/plugins/modules/crpolicy.py index 87d9a26ac..e2fdcc3fa 100644 --- a/plugins/modules/crpolicy.py +++ b/plugins/modules/crpolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: crpolicy short_description: Configuration for cache redirection policy resource. description: Configuration for cache redirection policy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -43,7 +45,7 @@ description: - 'Name of the built-in cache redirection action: CACHE/ORIGIN.' logaction: - type: raw + type: str description: - The log action associated with the cache redirection policy newname: @@ -51,7 +53,7 @@ description: - The new name of the content switching policy. policyname: - type: raw + type: str description: - Name for the cache redirection policy. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, @@ -76,6 +78,22 @@ """ EXAMPLES = r""" +--- +- name: Sample crpolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure crpolicy + delegate_to: localhost + netscaler.adc.crpolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + policyname: crp1 + rule: 'true' + action: origin """ RETURN = r""" diff --git a/plugins/modules/crvserver.py b/plugins/modules/crvserver.py index 228437747..61254da5c 100644 --- a/plugins/modules/crvserver.py +++ b/plugins/modules/crvserver.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: crvserver short_description: Configuration for CR virtual server resource. description: Configuration for CR virtual server resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -43,21 +45,21 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str appflowlog: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable logging of AppFlow information. arp: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Use ARP to determine the destination MAC address. backendssl: - type: raw + type: str choices: - ENABLED - DISABLED @@ -65,7 +67,7 @@ - Decides whether the backend connection made by Citrix ADC to the origin server will be HTTP or SSL. Applicable only for SSL type CR Forward proxy vserver. backupvserver: - type: raw + type: str description: - Name of the backup virtual server to which traffic is forwarded if the active server becomes unavailable. @@ -96,20 +98,20 @@ - Name of the default cache virtual server to which to redirect requests (the default target of the cache redirection virtual server). clttimeout: - type: raw + type: float description: - Time-out value, in seconds, after which to terminate an idle client connection. comment: - type: raw + type: str description: - Comments associated with this virtual server. destinationvserver: - type: raw + type: str description: - Destination virtual server for a transparent or forward proxy cache redirection virtual server. disableprimaryondown: - type: raw + type: str choices: - ENABLED - DISABLED @@ -117,7 +119,7 @@ - Continue sending traffic to a backup virtual server even after the primary virtual server comes UP from the DOWN state. disallowserviceaccess: - type: raw + type: str choices: - ENABLED - DISABLED @@ -126,14 +128,14 @@ parameter is C(DISABLED). When it is C(ENABLED), backend services cannot be accessed through a FORWARD type cr vserver. dnsvservername: - type: raw + type: str description: - Name of the DNS virtual server that resolves domain names arriving at the forward proxy virtual server. - 'Note: This parameter applies only to forward proxy virtual servers, not reverse or transparent.' domain: - type: raw + type: str description: - Default domain for reverse proxies. Domains are configured to direct an incoming request from a specified source domain to a specified target domain. There @@ -142,7 +144,7 @@ does not include a source domain, this option sends the request to the specified target domain. downstateflush: - type: raw + type: str choices: - ENABLED - DISABLED @@ -163,12 +165,12 @@ description: - '0' httpprofilename: - type: raw + type: str description: - Name of the profile containing HTTP configuration information for cache redirection virtual server. icmpvsrresponse: - type: raw + type: str choices: - PASSIVE - ACTIVE @@ -177,7 +179,7 @@ C(ACTIVE), respond only if the virtual server is available. If C(PASSIVE), respond even if the virtual server is not available. ipset: - type: raw + type: str description: - The list of IPv4/IPv6 addresses bound to ipset would form a part of listening service on the current cr vserver @@ -189,19 +191,19 @@ - 'Note: For a transparent cache redirection virtual server, use an asterisk (*) to specify a wildcard virtual server address.' l2conn: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Use L2 parameters, such as MAC, VLAN, and channel to identify a connection. listenpolicy: - type: raw + type: str description: - String specifying the listen policy for the cache redirection virtual server. Can be either an in-line expression or the name of a named expression. listenpriority: - type: raw + type: float description: - Priority of the listen policy specified by the Listen Policy parameter. The lower the number, higher the priority. @@ -213,7 +215,7 @@ description: - Obsolete. name: - type: raw + type: str description: - Name for the cache redirection virtual server. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, @@ -224,7 +226,7 @@ - If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my server" or 'my server'). netprofile: - type: raw + type: str description: - Name of the network profile containing network configurations for the cache redirection virtual server. @@ -238,7 +240,7 @@ the name in double or single quotation marks (for example, "my name" or 'my name'). onpolicymatch: - type: raw + type: str choices: - CACHE - ORIGIN @@ -248,7 +250,7 @@ - 'Note: For this option to work, you must set the cache redirection type to POLICY.' originusip: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -261,7 +263,7 @@ description: - Port number of the virtual server. precedence: - type: raw + type: str choices: - RULE - URL @@ -288,7 +290,7 @@ - Citrix ADC provides support for external health check of the vserver status. Select port for HTTP/TCP monitring probeprotocol: - type: raw + type: str choices: - TCP - HTTP @@ -296,7 +298,7 @@ - Citrix ADC provides support for external health check of the vserver status. Select C(HTTP) or C(TCP) probes for healthcheck probesuccessresponsecode: - type: raw + type: str description: - HTTP code to return in SUCCESS case. range: @@ -306,7 +308,7 @@ the IPAddress parameter, to include in a range of addresses assigned to this virtual server. redirect: - type: raw + type: str choices: - CACHE - POLICY @@ -319,12 +321,12 @@ request should be directed to the cache or to the origin.' - '* C(ORIGIN) - Direct all requests to the origin server.' redirecturl: - type: raw + type: str description: - URL of the server to which to redirect traffic if the cache redirection virtual server configured on the Citrix ADC becomes unavailable. reuse: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -339,7 +341,7 @@ - If you set the Reuse parameter to C(ON), connections to origin servers and connections to cache servers are reused. rhistate: - type: raw + type: str choices: - PASSIVE - ACTIVE @@ -374,19 +376,19 @@ HEALTH spillover, the percentage of active services (by weight) below which spillover occurs. srcipexpr: - type: raw + type: str description: - Expression used to extract the source IP addresses from the requests originating from the cache. Can be either an in-line expression or the name of a named expression. tcpprobeport: - type: raw + type: int description: - Port number for external TCP probe. NetScaler provides support for external TCP health check of the vserver status over the selected port. This option is only supported for vservers assigned with an IPAddress or ipset. tcpprofilename: - type: raw + type: str description: - Name of the profile containing TCP configuration information for the cache redirection virtual server. @@ -397,7 +399,7 @@ to configure the entity. If you do not specify an ID, the entity becomes part of the default traffic domain, which has an ID of 0. useoriginipportforcache: - type: raw + type: str choices: - 'YES' - 'NO' @@ -406,7 +408,7 @@ IP, destination port of the request came to CR vserver to Origin IP and Origin Port and forward it to Cache useportrange: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -415,7 +417,7 @@ or in the Create Virtual Server (Cache Redirection) dialog box) as the source port in the requests sent to the origin server. via: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -803,6 +805,24 @@ """ EXAMPLES = r""" +--- +- name: Sample crvserver playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure crvserver + delegate_to: localhost + netscaler.adc.crvserver: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: cr_fwd + servicetype: HTTP + ipv46: 1.1.1.2 + port: 80 + cachetype: FORWARD """ RETURN = r""" diff --git a/plugins/modules/crvserver_analyticsprofile_binding.py b/plugins/modules/crvserver_analyticsprofile_binding.py index 9302227f1..761654ccd 100644 --- a/plugins/modules/crvserver_analyticsprofile_binding.py +++ b/plugins/modules/crvserver_analyticsprofile_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: crvserver_analyticsprofile_binding short_description: Binding Resource definition for describing association between crvserver and analyticsprofile resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/crvserver_appflowpolicy_binding.py b/plugins/modules/crvserver_appflowpolicy_binding.py index a770a0bb6..0561318a2 100644 --- a/plugins/modules/crvserver_appflowpolicy_binding.py +++ b/plugins/modules/crvserver_appflowpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: crvserver_appflowpolicy_binding short_description: Binding Resource definition for describing association between crvserver and appflowpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/crvserver_appfwpolicy_binding.py b/plugins/modules/crvserver_appfwpolicy_binding.py index 895310204..34caee1d5 100644 --- a/plugins/modules/crvserver_appfwpolicy_binding.py +++ b/plugins/modules/crvserver_appfwpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: crvserver_appfwpolicy_binding short_description: Binding Resource definition for describing association between crvserver and appfwpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/crvserver_appqoepolicy_binding.py b/plugins/modules/crvserver_appqoepolicy_binding.py index 1919711f1..a7ca3d3c7 100644 --- a/plugins/modules/crvserver_appqoepolicy_binding.py +++ b/plugins/modules/crvserver_appqoepolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: crvserver_appqoepolicy_binding short_description: Binding Resource definition for describing association between crvserver and appqoepolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/crvserver_cachepolicy_binding.py b/plugins/modules/crvserver_cachepolicy_binding.py index 23cf8c84f..7d7bf4908 100644 --- a/plugins/modules/crvserver_cachepolicy_binding.py +++ b/plugins/modules/crvserver_cachepolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: crvserver_cachepolicy_binding short_description: Binding Resource definition for describing association between crvserver and cachepolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/crvserver_cmppolicy_binding.py b/plugins/modules/crvserver_cmppolicy_binding.py index c6d435009..9d6de56f3 100644 --- a/plugins/modules/crvserver_cmppolicy_binding.py +++ b/plugins/modules/crvserver_cmppolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: crvserver_cmppolicy_binding short_description: Binding Resource definition for describing association between crvserver and cmppolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/crvserver_crpolicy_binding.py b/plugins/modules/crvserver_crpolicy_binding.py index b62836abe..8a2bc9995 100644 --- a/plugins/modules/crvserver_crpolicy_binding.py +++ b/plugins/modules/crvserver_crpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: crvserver_crpolicy_binding short_description: Binding Resource definition for describing association between crvserver and crpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -91,6 +93,22 @@ """ EXAMPLES = r""" +--- +- name: Sample crvserver_crpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure crvserver_crpolicy_binding + delegate_to: localhost + netscaler.adc.crvserver_crpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: CR_v1 + policyname: CR_cspol1 + priority: '10' """ RETURN = r""" diff --git a/plugins/modules/crvserver_cspolicy_binding.py b/plugins/modules/crvserver_cspolicy_binding.py index 4e9dcfbc6..3141e96f5 100644 --- a/plugins/modules/crvserver_cspolicy_binding.py +++ b/plugins/modules/crvserver_cspolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: crvserver_cspolicy_binding short_description: Binding Resource definition for describing association between crvserver and cspolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/crvserver_feopolicy_binding.py b/plugins/modules/crvserver_feopolicy_binding.py index 9a28d6283..5c8dc6750 100644 --- a/plugins/modules/crvserver_feopolicy_binding.py +++ b/plugins/modules/crvserver_feopolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: crvserver_feopolicy_binding short_description: Binding Resource definition for describing association between crvserver and feopolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/crvserver_icapolicy_binding.py b/plugins/modules/crvserver_icapolicy_binding.py index dfb2561e6..d4c082745 100644 --- a/plugins/modules/crvserver_icapolicy_binding.py +++ b/plugins/modules/crvserver_icapolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: crvserver_icapolicy_binding short_description: Binding Resource definition for describing association between crvserver and icapolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/crvserver_lbvserver_binding.py b/plugins/modules/crvserver_lbvserver_binding.py index 9df612ffb..51f41ffd4 100644 --- a/plugins/modules/crvserver_lbvserver_binding.py +++ b/plugins/modules/crvserver_lbvserver_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: crvserver_lbvserver_binding short_description: Binding Resource definition for describing association between crvserver and lbvserver resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -52,6 +54,21 @@ """ EXAMPLES = r""" +--- +- name: Sample crvserver_lbvserver_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure crvserver_lbvserver_binding + delegate_to: localhost + netscaler.adc.crvserver_lbvserver_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: CR_v2 + lbvserver: CR_cachev2 """ RETURN = r""" diff --git a/plugins/modules/crvserver_policymap_binding.py b/plugins/modules/crvserver_policymap_binding.py index 5e273f14a..4a29cd60a 100644 --- a/plugins/modules/crvserver_policymap_binding.py +++ b/plugins/modules/crvserver_policymap_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: crvserver_policymap_binding short_description: Binding Resource definition for describing association between crvserver and policymap resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/crvserver_responderpolicy_binding.py b/plugins/modules/crvserver_responderpolicy_binding.py index 2ebfdc0aa..2791a0b71 100644 --- a/plugins/modules/crvserver_responderpolicy_binding.py +++ b/plugins/modules/crvserver_responderpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: crvserver_responderpolicy_binding short_description: Binding Resource definition for describing association between crvserver and responderpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/crvserver_rewritepolicy_binding.py b/plugins/modules/crvserver_rewritepolicy_binding.py index 4b536611f..86ddbef2f 100644 --- a/plugins/modules/crvserver_rewritepolicy_binding.py +++ b/plugins/modules/crvserver_rewritepolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: crvserver_rewritepolicy_binding short_description: Binding Resource definition for describing association between crvserver and rewritepolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/crvserver_spilloverpolicy_binding.py b/plugins/modules/crvserver_spilloverpolicy_binding.py index cf553e6d9..1f9372caf 100644 --- a/plugins/modules/crvserver_spilloverpolicy_binding.py +++ b/plugins/modules/crvserver_spilloverpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: crvserver_spilloverpolicy_binding short_description: Binding Resource definition for describing association between crvserver and spilloverpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/csaction.py b/plugins/modules/csaction.py index 6d60c7b5e..a9f687249 100644 --- a/plugins/modules/csaction.py +++ b/plugins/modules/csaction.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: csaction short_description: Configuration for Content Switching action resource. description: Configuration for Content Switching action resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,11 +41,11 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str comment: - type: raw + type: str description: - Comments associated with this cs action. name: - type: raw + type: str description: - Name for the content switching action. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, @@ -81,36 +83,20 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample csaction playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | lbvserver - delegate_to: localhost - netscaler.adc.lbvserver: - # nsip: 10.0.0.1 # This can also be given via NETSCALER_NSIP environment variable - # nitro_user: nitrouser # This can also be given via NETSCALER_NITRO_USER environment variable - # nitro_pass: verysecretpassword # This can also be given via NETSCALER_NITRO_PASS environment variable - # nitro_protocol: https # This can also be given via NETSCALER_NITRO_PROTOCOL environment variable - # validate_certs: false # This can also be given via NETSCALER_VALIDATE_CERTS environment variable - # save_config: false # This can also be given via NETSCALER_SAVE_CONFIG environment variable - state: present - name: lb-vserver-1 - servicetype: HTTP - ipv46: 6.92.2.2 - port: 80 - - name: Sample Task | csaction + - name: Configure csaction delegate_to: localhost netscaler.adc.csaction: - # nsip: 10.0.0.1 # This can also be given via NETSCALER_NSIP environment variable - # nitro_user: nitrouser # This can also be given via NETSCALER_NITRO_USER environment variable - # nitro_pass: verysecretpassword # This can also be given via NETSCALER_NITRO_PASS environment variable - # nitro_protocol: https # This can also be given via NETSCALER_NITRO_PROTOCOL environment variable - # validate_certs: false # This can also be given via NETSCALER_VALIDATE_CERTS environment variable - # save_config: false # This can also be given via NETSCALER_SAVE_CONFIG environment variable + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - name: action1 - targetlbvserver: lb-vserver-1 + name: cs_act + targetvserver: vpn1 """ RETURN = r""" diff --git a/plugins/modules/csparameter.py b/plugins/modules/csparameter.py index 0d49e2a13..8545fcee3 100644 --- a/plugins/modules/csparameter.py +++ b/plugins/modules/csparameter.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: csparameter short_description: Configuration for CS parameter resource. description: Configuration for CS parameter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,7 +39,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str stateupdate: - type: raw + type: str choices: - ENABLED - DISABLED @@ -49,6 +51,20 @@ """ EXAMPLES = r""" +--- +- name: Sample csparameter playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure csparameter + delegate_to: localhost + netscaler.adc.csparameter: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + stateupdate: ENABLED """ RETURN = r""" diff --git a/plugins/modules/cspolicy.py b/plugins/modules/cspolicy.py index aae5d4f96..462871f7c 100644 --- a/plugins/modules/cspolicy.py +++ b/plugins/modules/cspolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: cspolicy short_description: Configuration for content-switching policy resource. description: Configuration for content-switching policy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -44,7 +46,7 @@ - Content switching action that names the target load balancing virtual server to which the traffic is switched. logaction: - type: raw + type: str description: - The log action associated with the content switching policy newname: @@ -52,7 +54,7 @@ description: - The new name of the content switching policy. policyname: - type: raw + type: str description: - Name for the content switching policy. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, @@ -102,6 +104,22 @@ """ EXAMPLES = r""" +--- +- name: Sample cspolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure cspolicy + delegate_to: localhost + netscaler.adc.cspolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + policyname: cs_pol + rule: is_vpn_url + action: cs_act """ RETURN = r""" diff --git a/plugins/modules/cspolicylabel.py b/plugins/modules/cspolicylabel.py index a8ccef2b9..a2dd4485d 100644 --- a/plugins/modules/cspolicylabel.py +++ b/plugins/modules/cspolicylabel.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: cspolicylabel short_description: Configuration for CS policy label resource. description: Configuration for CS policy label resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -136,6 +138,23 @@ """ EXAMPLES = r""" +--- +- name: Sample cspolicylabel playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure cspolicylabel + delegate_to: localhost + netscaler.adc.cspolicylabel: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + labelname: plab1 + newname: plab1_new + nitro_operation: rename + '#nitro_operation': rename """ RETURN = r""" diff --git a/plugins/modules/cspolicylabel_cspolicy_binding.py b/plugins/modules/cspolicylabel_cspolicy_binding.py index 1211c1d6d..96681009f 100644 --- a/plugins/modules/cspolicylabel_cspolicy_binding.py +++ b/plugins/modules/cspolicylabel_cspolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: cspolicylabel_cspolicy_binding short_description: Binding Resource definition for describing association between cspolicylabel and cspolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -78,6 +80,26 @@ """ EXAMPLES = r""" +--- +- name: Sample cspolicylabel_cspolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure cspolicylabel_cspolicy_binding + delegate_to: localhost + netscaler.adc.cspolicylabel_cspolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + labelname: CSW_polabl5 + policyname: CSW_pol4 + priority: '2300' + gotopriorityexpression: END + invoke: true + labeltype: policylabel + invoke_labelname: CSW_invoke_labelname """ RETURN = r""" diff --git a/plugins/modules/csvserver.py b/plugins/modules/csvserver.py index 7cd4c953e..5455f00c6 100644 --- a/plugins/modules/csvserver.py +++ b/plugins/modules/csvserver.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: csvserver short_description: Configuration for CS virtual server resource. description: Configuration for CS virtual server resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -42,15 +44,19 @@ - When C(disabled), the resource will be disabled on the NetScaler ADC node. - When C(unset), the resource will be unset on the NetScaler ADC node. type: str + apiprofile: + type: str + description: + - The API profile where one or more API specs are bounded to. appflowlog: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable logging appflow flow information authentication: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -58,24 +64,24 @@ - Authenticate users who request a connection to the content switching virtual server. authenticationhost: - type: raw + type: str description: - FQDN of the authentication virtual server. The service type of the virtual server should be either HTTP or SSL. authn401: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Enable HTTP 401-response based authentication. authnprofile: - type: raw + type: str description: - Name of the authentication profile to be used when authentication is turned on. authnvsname: - type: raw + type: str description: - Name of authentication virtual server that authenticates the incoming user requests to this content switching virtual server. @@ -84,11 +90,11 @@ description: - '0' backuppersistencetimeout: - type: raw + type: float description: - Time period for which backup persistence is in effect. backupvserver: - type: raw + type: str description: - Name of the backup virtual server that you are configuring. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII @@ -100,7 +106,7 @@ - If the name includes one or more spaces, enclose the name in double or single quotation marks. cacheable: - type: raw + type: str choices: - 'YES' - 'NO' @@ -109,7 +115,7 @@ or content switching, routes requests to the cache redirection virtual server before sending it to the configured servers. casesensitive: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -119,7 +125,7 @@ and can have different targets (set by content switching policies). With the C(OFF) setting, /a/1.html and /A/1.HTML are switched to the same target. clttimeout: - type: raw + type: float description: - 'Idle time, in seconds, after which the client connection is terminated. The default values are:' @@ -128,7 +134,7 @@ - 120 seconds for DNS-based services. - 120 seconds for other UDP-based services. comment: - type: raw + type: str description: - Information about this virtual server. cookiedomain: @@ -136,7 +142,7 @@ description: - '0' cookiename: - type: raw + type: str description: - Use this parameter to specify the cookie name for COOKIE peristence type. It specifies the name of cookie with a maximum of 32 characters. If not specified, @@ -146,11 +152,11 @@ description: - '0' dbprofilename: - type: raw + type: str description: - Name of the DB profile. disableprimaryondown: - type: raw + type: str choices: - ENABLED - DISABLED @@ -158,13 +164,13 @@ - Continue forwarding the traffic to backup virtual server even after the primary server comes UP from the DOWN state. dnsprofilename: - type: raw + type: str description: - Name of the DNS profile to be associated with the VServer. DNS profile properties will applied to the transactions processed by a VServer. This parameter is valid only for DNS and DNS-TCP VServers. dnsrecordtype: - type: raw + type: str choices: - A - AAAA @@ -178,7 +184,7 @@ - Domain name for which to change the time to live (TTL) and/or backup service IP address. downstateflush: - type: raw + type: str choices: - ENABLED - DISABLED @@ -187,31 +193,31 @@ transitions from UP to DOWN. Do not enable this option for applications that must complete their transactions. dtls: - type: raw + type: str choices: - 'ON' - 'OFF' description: - This option starts/stops the dtls service on the vserver httpprofilename: - type: raw + type: str description: - Name of the HTTP profile containing HTTP configuration settings for the virtual server. The service type of the virtual server should be either HTTP or SSL. httpsredirecturl: - type: raw + type: str description: - URL to which all HTTP traffic received on the port specified in the -redirectFromPort parameter is redirected. icmpvsrresponse: - type: raw + type: str choices: - PASSIVE - ACTIVE description: - Can be active or passive insertvserveripport: - type: raw + type: str choices: - 'OFF' - VIPADDR @@ -256,7 +262,7 @@ servers to the same extent, the request is processed by the virtual server whose port number matches the port number in the request. ipset: - type: raw + type: str description: - The list of IPv4/IPv6 addresses bound to ipset would form a part of listening service on the current cs vserver @@ -265,55 +271,55 @@ description: - IP address of the content switching virtual server. l2conn: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Use L2 Parameters to identify a connection listenpolicy: - type: raw + type: str description: - String specifying the listen policy for the content switching virtual server. Can be either the name of an existing expression or an in-line expression. listenpriority: - type: raw + type: float description: - Integer specifying the priority of the listen policy. A higher number specifies a lower priority. If a request matches the listen policies of more than one virtual server the virtual server whose listen policy has the highest priority (the lowest priority number) accepts the request. mssqlserverversion: - type: raw + type: str choices: - - 70 - - 2000 + - '70' + - '2000' - 2000SP1 - - 2005 - - 2008 + - '2005' + - '2008' - 2008R2 - - 2012 - - 2014 + - '2012' + - '2014' description: - The version of the MSSQL server mysqlcharacterset: - type: raw + type: float description: - The character set returned by the mysql vserver. mysqlprotocolversion: - type: raw + type: float description: - The protocol version returned by the mysql vserver. mysqlservercapabilities: - type: raw + type: float description: - The server capabilities returned by the mysql vserver. mysqlserverversion: - type: raw + type: str description: - The server version string returned by the mysql vserver. name: - type: raw + type: str description: - Name for the content switching virtual server. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, @@ -324,7 +330,7 @@ - If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, my server or my server). netprofile: - type: raw + type: str description: - The name of the network profile. newname: @@ -338,14 +344,14 @@ - If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my name" or 'my name'). oracleserverversion: - type: raw + type: str choices: - 10G - 11G description: - Oracle server version persistencebackup: - type: raw + type: str choices: - SOURCEIP - NONE @@ -353,11 +359,11 @@ - Backup persistence type for the virtual server. Becomes operational if the primary persistence mechanism fails. persistenceid: - type: raw + type: float description: - '0' persistencetype: - type: raw + type: str choices: - SOURCEIP - COOKIEINSERT @@ -373,7 +379,7 @@ - '* C(SSLSESSION) - Connections that have the same SSL Session ID belong to the same persistence session.' persistmask: - type: raw + type: str description: - Persistence mask for IP based persistence types, for IPv4 virtual servers. port: @@ -381,7 +387,7 @@ description: - Port number for content switching virtual server. precedence: - type: raw + type: str choices: - RULE - URL @@ -397,7 +403,7 @@ - Citrix ADC provides support for external health check of the vserver status. Select port for HTTP/TCP monitring probeprotocol: - type: raw + type: str choices: - TCP - HTTP @@ -405,11 +411,11 @@ - Citrix ADC provides support for external health check of the vserver status. Select C(HTTP) or C(TCP) probes for healthcheck probesuccessresponsecode: - type: raw + type: str description: - HTTP code to return in SUCCESS case. push: - type: raw + type: str choices: - ENABLED - DISABLED @@ -418,13 +424,13 @@ switching virtual server (specified by the Push VServer parameter). The service type of the push virtual server should be either HTTP or SSL. pushlabel: - type: raw + type: str description: - Expression for extracting the label from the response received from server. This string can be either an existing rule name or an inline expression. The service type of the virtual server should be either HTTP or SSL. pushmulticlients: - type: raw + type: str choices: - 'YES' - 'NO' @@ -432,13 +438,13 @@ - Allow multiple Web 2.0 connections from the same client to connect to the virtual server and expect updates. pushvserver: - type: raw + type: str description: - Name of the load balancing virtual server, of type PUSH or SSL_PUSH, to which the server pushes updates received on the client-facing load balancing virtual server. quicprofilename: - type: raw + type: str description: - Name of QUIC profile which will be attached to the Content Switching VServer. range: @@ -448,19 +454,19 @@ the IP Address parameter, to include in a range of addresses assigned to this virtual server. redirectfromport: - type: raw + type: int description: - Port number for the virtual server, from which we absorb the traffic for http redirect redirectportrewrite: - type: raw + type: str choices: - ENABLED - DISABLED description: - State of port rewrite while performing HTTP redirect. redirecturl: - type: raw + type: str description: - URL to which traffic is redirected if the virtual server becomes unavailable. The service type of the virtual server should be either HTTP or SSL. @@ -468,7 +474,7 @@ for a content switching policy. If it does, requests are continuously redirected to the unavailable virtual server.' rhistate: - type: raw + type: str choices: - PASSIVE - ACTIVE @@ -482,7 +488,7 @@ on the others, the appliance, injects even if one virtual server set to C(ACTIVE) is UP.' rtspnat: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -519,6 +525,8 @@ - MQTT - MQTT_TLS - HTTP_QUIC + - DOT + - SSL_PROXY description: - Protocol used by the virtual server. sitedomainttl: @@ -526,7 +534,7 @@ description: - '0' sobackupaction: - type: raw + type: str choices: - DROP - ACCEPT @@ -535,7 +543,7 @@ - Action to be performed if spillover is to take effect, but no backup chain to spillover is usable or exists somethod: - type: raw + type: str choices: - CONNECTION - DYNAMICCONNECTION @@ -548,24 +556,24 @@ is based on the number of connections. Bandwidth spillover is based on the total Kbps of incoming and outgoing traffic. sopersistence: - type: raw + type: str choices: - ENABLED - DISABLED description: - Maintain source-IP based persistence on primary and backup virtual servers. sopersistencetimeout: - type: raw + type: float description: - Time-out value, in minutes, for spillover persistence. sothreshold: - type: raw + type: float description: - Depending on the spillover method, the maximum number of connections or the maximum total bandwidth (Kbps) that a virtual server can handle before spillover occurs. stateupdate: - type: raw + type: str choices: - ENABLED - DISABLED @@ -589,13 +597,13 @@ description: - Virtual server target type. tcpprobeport: - type: raw + type: int description: - Port number for external TCP probe. NetScaler provides support for external TCP health check of the vserver status over the selected port. This option is only supported for vservers assigned with an IPAddress or ipset. tcpprofilename: - type: raw + type: str description: - Name of the TCP profile containing TCP configuration settings for the virtual server. @@ -606,7 +614,7 @@ to configure the entity. If you do not specify an ID, the entity becomes part of the default traffic domain, which has an ID of 0. timeout: - type: raw + type: float description: - Time period for which a persistence session is in effect. ttl: @@ -614,11 +622,11 @@ description: - '0' v6persistmasklen: - type: raw + type: float description: - Persistence mask for IP based persistence types, for IPv6 virtual servers. vipheader: - type: raw + type: str description: - Name of virtual server IP and port header, for use with the VServer IP Port Insertion parameter. @@ -1178,57 +1186,25 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample csvserver playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Set lb vserver 1 - delegate_to: localhost - netscaler.adc.lbvserver: - # nsip: 10.0.0.1 # This can also be given via NETSCALER_NSIP environment variable - # nitro_user: nitrouser # This can also be given via NETSCALER_NITRO_USER environment variable - # nitro_pass: verysecretpassword # This can also be given via NETSCALER_NITRO_PASS environment variable - # nitro_protocol: https # This can also be given via NETSCALER_NITRO_PROTOCOL environment variable - # validate_certs: false # This can also be given via NETSCALER_VALIDATE_CERTS environment variable - # save_config: false # This can also be given via NETSCALER_SAVE_CONFIG environment variable - state: present - name: lbvserver_1 - servicetype: HTTP - ipv46: 10.78.1.1 - port: 80 - - name: Set cs policy - delegate_to: localhost - netscaler.adc.cspolicy: - # nsip: 10.0.0.1 # This can also be given via NETSCALER_NSIP environment variable - # nitro_user: nitrouser # This can also be given via NETSCALER_NITRO_USER environment variable - # nitro_pass: verysecretpassword # This can also be given via NETSCALER_NITRO_PASS environment variable - # nitro_protocol: https # This can also be given via NETSCALER_NITRO_PROTOCOL environment variable - # validate_certs: false # This can also be given via NETSCALER_VALIDATE_CERTS environment variable - # save_config: false # This can also be given via NETSCALER_SAVE_CONFIG environment variable - state: present - policyname: policy_1 - rule: "HTTP.REQ.URL.CONTAINS(\"/test\")" - - name: Set cs vserver + - name: Configure csvserver delegate_to: localhost netscaler.adc.csvserver: - # nsip: 10.0.0.1 # This can also be given via NETSCALER_NSIP environment variable - # nitro_user: nitrouser # This can also be given via NETSCALER_NITRO_USER environment variable - # nitro_pass: verysecretpassword # This can also be given via NETSCALER_NITRO_PASS environment variable - # nitro_protocol: https # This can also be given via NETSCALER_NITRO_PROTOCOL environment variable - # validate_certs: false # This can also be given via NETSCALER_VALIDATE_CERTS environment variable - # save_config: false # This can also be given via NETSCALER_SAVE_CONFIG environment variable + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - name: cs-vserver-1 - ipv46: 192.168.1.1 - port: 90 - servicetype: HTTP - csvserver_cspolicy_binding: - mode: desired - binding_members: - - name: cs-vserver-1 - policyname: policy_1 - targetlbvserver: lbvserver_1 - priority: 1 + name: ADNS_TCP_EXT + servicetype: DNS_TCP + ipv46: 10.189.1.7 + port: 53 + ipset: ipset_adns + clttimeout: 180 + persistencetype: NONE """ RETURN = r""" diff --git a/plugins/modules/csvserver_analyticsprofile_binding.py b/plugins/modules/csvserver_analyticsprofile_binding.py index 3fba621a0..6cfab0966 100644 --- a/plugins/modules/csvserver_analyticsprofile_binding.py +++ b/plugins/modules/csvserver_analyticsprofile_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: csvserver_analyticsprofile_binding short_description: Binding Resource definition for describing association between csvserver and analyticsprofile resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/csvserver_appflowpolicy_binding.py b/plugins/modules/csvserver_appflowpolicy_binding.py index a6e176d23..d4a36715c 100644 --- a/plugins/modules/csvserver_appflowpolicy_binding.py +++ b/plugins/modules/csvserver_appflowpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: csvserver_appflowpolicy_binding short_description: Binding Resource definition for describing association between csvserver and appflowpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/csvserver_appfwpolicy_binding.py b/plugins/modules/csvserver_appfwpolicy_binding.py index 97ac56a7d..ad2e2f133 100644 --- a/plugins/modules/csvserver_appfwpolicy_binding.py +++ b/plugins/modules/csvserver_appfwpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: csvserver_appfwpolicy_binding short_description: Binding Resource definition for describing association between csvserver and appfwpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/csvserver_appqoepolicy_binding.py b/plugins/modules/csvserver_appqoepolicy_binding.py index 162c61111..dde205359 100644 --- a/plugins/modules/csvserver_appqoepolicy_binding.py +++ b/plugins/modules/csvserver_appqoepolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: csvserver_appqoepolicy_binding short_description: Binding Resource definition for describing association between csvserver and appqoepolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/csvserver_auditnslogpolicy_binding.py b/plugins/modules/csvserver_auditnslogpolicy_binding.py index dac982d80..607b750b0 100644 --- a/plugins/modules/csvserver_auditnslogpolicy_binding.py +++ b/plugins/modules/csvserver_auditnslogpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: csvserver_auditnslogpolicy_binding short_description: Binding Resource definition for describing association between csvserver and auditnslogpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/csvserver_auditsyslogpolicy_binding.py b/plugins/modules/csvserver_auditsyslogpolicy_binding.py index 95ffb0143..866ba4980 100644 --- a/plugins/modules/csvserver_auditsyslogpolicy_binding.py +++ b/plugins/modules/csvserver_auditsyslogpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: csvserver_auditsyslogpolicy_binding short_description: Binding Resource definition for describing association between csvserver and auditsyslogpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/csvserver_authorizationpolicy_binding.py b/plugins/modules/csvserver_authorizationpolicy_binding.py index d0e886315..0cb2ad299 100644 --- a/plugins/modules/csvserver_authorizationpolicy_binding.py +++ b/plugins/modules/csvserver_authorizationpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: csvserver_authorizationpolicy_binding short_description: Binding Resource definition for describing association between csvserver and authorizationpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/csvserver_botpolicy_binding.py b/plugins/modules/csvserver_botpolicy_binding.py index 6040189a2..20e89b6ab 100644 --- a/plugins/modules/csvserver_botpolicy_binding.py +++ b/plugins/modules/csvserver_botpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: csvserver_botpolicy_binding short_description: Binding Resource definition for describing association between csvserver and botpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/csvserver_cachepolicy_binding.py b/plugins/modules/csvserver_cachepolicy_binding.py index 9c0b0bee1..7ac4007e0 100644 --- a/plugins/modules/csvserver_cachepolicy_binding.py +++ b/plugins/modules/csvserver_cachepolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: csvserver_cachepolicy_binding short_description: Binding Resource definition for describing association between csvserver and cachepolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/csvserver_cmppolicy_binding.py b/plugins/modules/csvserver_cmppolicy_binding.py index 2c7f6bb0f..dcaff8e82 100644 --- a/plugins/modules/csvserver_cmppolicy_binding.py +++ b/plugins/modules/csvserver_cmppolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: csvserver_cmppolicy_binding short_description: Binding Resource definition for describing association between csvserver and cmppolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/csvserver_contentinspectionpolicy_binding.py b/plugins/modules/csvserver_contentinspectionpolicy_binding.py index b231a1063..7820dbb64 100644 --- a/plugins/modules/csvserver_contentinspectionpolicy_binding.py +++ b/plugins/modules/csvserver_contentinspectionpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: csvserver_contentinspectionpolicy_binding short_description: Binding Resource definition for describing association between csvserver and contentinspectionpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/csvserver_cspolicy_binding.py b/plugins/modules/csvserver_cspolicy_binding.py index 66d6434fd..7bc73cbc6 100644 --- a/plugins/modules/csvserver_cspolicy_binding.py +++ b/plugins/modules/csvserver_cspolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: csvserver_cspolicy_binding short_description: Binding Resource definition for describing association between csvserver and cspolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -91,6 +93,23 @@ """ EXAMPLES = r""" +--- +- name: Sample csvserver_cspolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure csvserver_cspolicy_binding + delegate_to: localhost + netscaler.adc.csvserver_cspolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: LB_cs_diameter + policyname: LB_pcrf_policy + targetlbvserver: LB_vs_pcrf + priority: '100' """ RETURN = r""" diff --git a/plugins/modules/csvserver_domain_binding.py b/plugins/modules/csvserver_domain_binding.py index 43989a8ba..462b97575 100644 --- a/plugins/modules/csvserver_domain_binding.py +++ b/plugins/modules/csvserver_domain_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: csvserver_domain_binding short_description: Binding Resource definition for describing association between csvserver and domain resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/csvserver_feopolicy_binding.py b/plugins/modules/csvserver_feopolicy_binding.py index 53d7af8e0..9e3fe4354 100644 --- a/plugins/modules/csvserver_feopolicy_binding.py +++ b/plugins/modules/csvserver_feopolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: csvserver_feopolicy_binding short_description: Binding Resource definition for describing association between csvserver and feopolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/csvserver_gslbvserver_binding.py b/plugins/modules/csvserver_gslbvserver_binding.py index 3e62adf3c..af1aa16e7 100644 --- a/plugins/modules/csvserver_gslbvserver_binding.py +++ b/plugins/modules/csvserver_gslbvserver_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: csvserver_gslbvserver_binding short_description: Binding Resource definition for describing association between csvserver and gslbvserver resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/csvserver_lbvserver_binding.py b/plugins/modules/csvserver_lbvserver_binding.py index 587801426..761ef6305 100644 --- a/plugins/modules/csvserver_lbvserver_binding.py +++ b/plugins/modules/csvserver_lbvserver_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: csvserver_lbvserver_binding short_description: Binding Resource definition for describing association between csvserver and lbvserver resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -58,6 +60,21 @@ """ EXAMPLES = r""" +--- +- name: Sample csvserver_lbvserver_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure csvserver_lbvserver_binding + delegate_to: localhost + netscaler.adc.csvserver_lbvserver_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: vip_cs + lbvserver: vip_lb """ RETURN = r""" diff --git a/plugins/modules/csvserver_responderpolicy_binding.py b/plugins/modules/csvserver_responderpolicy_binding.py index 8fa36413d..d5e70b1e0 100644 --- a/plugins/modules/csvserver_responderpolicy_binding.py +++ b/plugins/modules/csvserver_responderpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: csvserver_responderpolicy_binding short_description: Binding Resource definition for describing association between csvserver and responderpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -95,6 +97,27 @@ """ EXAMPLES = r""" +--- +- name: Sample csvserver_responderpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure csvserver_responderpolicy_binding + delegate_to: localhost + netscaler.adc.csvserver_responderpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: CSW_v1 + policyname: CSW_resppol1 + priority: '23' + gotopriorityexpression: END + bindpoint: REQUEST + invoke: true + labeltype: reqvserver + labelname: CSW_invoke_labelname """ RETURN = r""" diff --git a/plugins/modules/csvserver_rewritepolicy_binding.py b/plugins/modules/csvserver_rewritepolicy_binding.py index 3765200cb..df8093c0a 100644 --- a/plugins/modules/csvserver_rewritepolicy_binding.py +++ b/plugins/modules/csvserver_rewritepolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: csvserver_rewritepolicy_binding short_description: Binding Resource definition for describing association between csvserver and rewritepolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -95,6 +97,27 @@ """ EXAMPLES = r""" +--- +- name: Sample csvserver_rewritepolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure csvserver_rewritepolicy_binding + delegate_to: localhost + netscaler.adc.csvserver_rewritepolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: CSW_v1 + policyname: CSW_rwrtpol1 + priority: '23' + gotopriorityexpression: END + bindpoint: RESPONSE + invoke: true + labeltype: policylabel + labelname: CSW_invoke_labelname """ RETURN = r""" diff --git a/plugins/modules/csvserver_spilloverpolicy_binding.py b/plugins/modules/csvserver_spilloverpolicy_binding.py index fd13ba6b5..0d707f5b8 100644 --- a/plugins/modules/csvserver_spilloverpolicy_binding.py +++ b/plugins/modules/csvserver_spilloverpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: csvserver_spilloverpolicy_binding short_description: Binding Resource definition for describing association between csvserver and spilloverpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/csvserver_tmtrafficpolicy_binding.py b/plugins/modules/csvserver_tmtrafficpolicy_binding.py index c59da8074..2dc878018 100644 --- a/plugins/modules/csvserver_tmtrafficpolicy_binding.py +++ b/plugins/modules/csvserver_tmtrafficpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: csvserver_tmtrafficpolicy_binding short_description: Binding Resource definition for describing association between csvserver and tmtrafficpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/csvserver_transformpolicy_binding.py b/plugins/modules/csvserver_transformpolicy_binding.py index 355ee31b5..d012e3e3a 100644 --- a/plugins/modules/csvserver_transformpolicy_binding.py +++ b/plugins/modules/csvserver_transformpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: csvserver_transformpolicy_binding short_description: Binding Resource definition for describing association between csvserver and transformpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/csvserver_vpnvserver_binding.py b/plugins/modules/csvserver_vpnvserver_binding.py index 6019cd9c9..a89936ed6 100644 --- a/plugins/modules/csvserver_vpnvserver_binding.py +++ b/plugins/modules/csvserver_vpnvserver_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: csvserver_vpnvserver_binding short_description: Binding Resource definition for describing association between csvserver and vpnvserver resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -54,6 +56,21 @@ """ EXAMPLES = r""" +--- +- name: Sample csvserver_vpnvserver_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure csvserver_vpnvserver_binding + delegate_to: localhost + netscaler.adc.csvserver_vpnvserver_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: CS123 + vserver: vpn51 """ RETURN = r""" diff --git a/plugins/modules/dbdbprofile.py b/plugins/modules/dbdbprofile.py index 7fc1327a8..3bad5b3db 100644 --- a/plugins/modules/dbdbprofile.py +++ b/plugins/modules/dbdbprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: dbdbprofile short_description: Configuration for DB profile resource. description: Configuration for DB profile resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str conmultiplex: - type: raw + type: str choices: - ENABLED - DISABLED @@ -47,14 +49,14 @@ - Use the same server-side connection for multiple client-side requests. Default is enabled. enablecachingconmuxoff: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable caching when connection multiplexing is OFF. interpretquery: - type: raw + type: str choices: - 'YES' - 'NO' @@ -62,11 +64,11 @@ - If ENABLED, inspect the query and update the connection information, if required. If DISABLED, forward the query to the server. kcdaccount: - type: raw + type: str description: - Name of the KCD account that is used for Windows authentication. name: - type: raw + type: str description: - Name for the database profile. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash @@ -76,7 +78,7 @@ \ in double or single quotation marks (for example, \"my profile\" or 'my\ \ profile')." stickiness: - type: raw + type: str choices: - 'YES' - 'NO' diff --git a/plugins/modules/dbsmonitors.py b/plugins/modules/dbsmonitors.py new file mode 100644 index 000000000..ba5dcc2a1 --- /dev/null +++ b/plugins/modules/dbsmonitors.py @@ -0,0 +1,90 @@ +#!/usr/bin/python + +# -*- coding: utf-8 -*- + +# Copyright (c) 2023 Cloud Software Group, Inc. +# MIT License (see LICENSE or https://opensource.org/licenses/MIT) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + + +ANSIBLE_METADATA = { + "metadata_version": "1.1", + "status": ["preview"], + "supported_by": "community", +} + +DOCUMENTATION = r""" +--- +module: dbsmonitors +short_description: Configuration for DB monitors resource. +description: Configuration for DB monitors resource. +version_added: 2.0.0 +author: + - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) +options: + state: + choices: [] + default: present + description: + - The state of the resource being configured by the module on the NetScaler + ADC node. + type: str +extends_documentation_fragment: netscaler.adc.netscaler_adc + +""" + +EXAMPLES = r""" +""" + +RETURN = r""" +--- +changed: + description: Indicates if any change is made by the module + returned: always + type: bool + sample: true +diff: + description: Dictionary of before and after changes + returned: always + type: dict + sample: {'before': {'key1': 'xyz'}, 'after': {'key2': 'pqr'}, 'prepared': 'changes + done'} +diff_list: + description: List of differences between the actual configured object and the configuration + specified in the module + returned: when changed + type: list + sample: ["Attribute `key1` differs. Desired: () XYZ. Existing: () PQR"] +failed: + description: Indicates if the module failed or not + returned: always + type: bool + sample: false +loglines: + description: list of logged messages by the module + returned: always + type: list + sample: ['message 1', 'message 2'] + +""" + + +import os + +from ..module_utils.module_executor import ModuleExecutor + +RESOURCE_NAME = os.path.basename(__file__).replace(".py", "") + + +def main(): + executor = ModuleExecutor(RESOURCE_NAME) + executor.main() + + +if __name__ == "__main__": + main() diff --git a/plugins/modules/dbuser.py b/plugins/modules/dbuser.py index 525f27113..efa5d4940 100644 --- a/plugins/modules/dbuser.py +++ b/plugins/modules/dbuser.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: dbuser short_description: Configuration for DB user resource. description: Configuration for DB user resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -56,6 +58,20 @@ """ EXAMPLES = r""" +--- +- name: Sample dbuser playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure dbuser + delegate_to: localhost + netscaler.adc.dbuser: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + username: us1 """ RETURN = r""" diff --git a/plugins/modules/dnsaaaarec.py b/plugins/modules/dnsaaaarec.py index 302ee7ec8..b1edfd785 100644 --- a/plugins/modules/dnsaaaarec.py +++ b/plugins/modules/dnsaaaarec.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: dnsaaaarec short_description: Configuration for IPv6 address type record resource. description: Configuration for IPv6 address type record resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -79,6 +81,23 @@ """ EXAMPLES = r""" +--- +- name: Sample dnsaaaarec playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure dnsaaaarec + delegate_to: localhost + netscaler.adc.dnsaaaarec: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + hostname: n2.com + ipv6address: + - 2001::45 + ttl: 3601 """ RETURN = r""" diff --git a/plugins/modules/dnsaction.py b/plugins/modules/dnsaction.py index 2246c60b7..f002de849 100644 --- a/plugins/modules/dnsaction.py +++ b/plugins/modules/dnsaction.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: dnsaction short_description: Configuration for DNS action resource. description: Configuration for DNS action resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str actionname: - type: raw + type: str description: - Name of the dns action. actiontype: @@ -54,7 +56,7 @@ description: - The type of DNS action that is being configured. dnsprofilename: - type: raw + type: str description: - Name of the DNS profile to be associated with the transaction for which the action is chosen @@ -63,8 +65,8 @@ description: - List of IP address to be returned in case of rewrite_response actiontype. They can be of IPV4 or IPV6 type. - - "\t In case of set command We will remove all the IP address previously\ - \ present in the action and will add new once given in set dns action command." + - ' In case of set command We will remove all the IP address previously + present in the action and will add new once given in set dns action command.' elements: str preferredloclist: type: list @@ -72,7 +74,7 @@ - The location list in priority order used for the given action. elements: str ttl: - type: raw + type: float description: - Time to live, in seconds. viewname: @@ -84,6 +86,24 @@ """ EXAMPLES = r""" +--- +- name: Sample dnsaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure dnsaction + delegate_to: localhost + netscaler.adc.dnsaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + actionname: ia_dnsact8 + actiontype: Rewrite_Response + ipaddress: + - 1.1.1.102 + ttl: 3601 """ RETURN = r""" diff --git a/plugins/modules/dnsaction64.py b/plugins/modules/dnsaction64.py index 133a30ffb..51724cd89 100644 --- a/plugins/modules/dnsaction64.py +++ b/plugins/modules/dnsaction64.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: dnsaction64 short_description: Configuration for dns64 action resource. description: Configuration for dns64 action resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,23 +41,23 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str actionname: - type: raw + type: str description: - Name of the dns64 action. excluderule: - type: raw + type: str description: - The expression to select the criteria for eliminating the corresponding ipv6 addresses from the response. mappedrule: - type: raw + type: str description: - The expression to select the criteria for ipv4 addresses to be used for synthesis. - ' Only if the mappedrule is evaluated to true the corresponding ipv4 address is used for synthesis using respective prefix,' - ' otherwise the A RR is discarded' prefix: - type: raw + type: str description: - The dns64 prefix to be used if the after evaluating the rules extends_documentation_fragment: netscaler.adc.netscaler_adc @@ -63,6 +65,24 @@ """ EXAMPLES = r""" +--- +- name: Sample dnsaction64 playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure dnsaction64 + delegate_to: localhost + netscaler.adc.dnsaction64: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + actionname: dns64_act2 + prefix: 64:ff9b::/96 + mappedrule: DNS.RR.TYPE.EQ(A) && !(DNS.RR.RDATA.IP.IN_SUBNET(0.0.0.0/8) || + DNS.RR.RDATA.IP.IN_SUBNET(10.0.0.0/8)) + excluderule: DNS.RR.TYPE.EQ(AAAA) && DNS.RR.RDATA.IPV6.IN_SUBNET(::ffff:0:0/96) """ RETURN = r""" diff --git a/plugins/modules/dnsaddrec.py b/plugins/modules/dnsaddrec.py index bd850902a..be9d68bd8 100644 --- a/plugins/modules/dnsaddrec.py +++ b/plugins/modules/dnsaddrec.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: dnsaddrec short_description: Configuration for address type record resource. description: Configuration for address type record resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -82,16 +84,21 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample dnsaddrec playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | dnsaddRec + - name: Configure dnsaddrec delegate_to: localhost netscaler.adc.dnsaddrec: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - hostname: k.root-servers.net - ipaddress: 193.0.14.129 + hostname: e.root-servers.net + ipaddress: + - 192.203.230.10 ttl: 3600000 """ diff --git a/plugins/modules/dnscaarec.py b/plugins/modules/dnscaarec.py index e0d0af85a..5423469f6 100644 --- a/plugins/modules/dnscaarec.py +++ b/plugins/modules/dnscaarec.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: dnscaarec short_description: Configuration for CAA record resource. description: Configuration for CAA record resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/dnscnamerec.py b/plugins/modules/dnscnamerec.py index a0583b7e9..80655bf8d 100644 --- a/plugins/modules/dnscnamerec.py +++ b/plugins/modules/dnscnamerec.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: dnscnamerec short_description: Configuration for CNAME record resource. description: Configuration for CNAME record resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -79,6 +81,22 @@ """ EXAMPLES = r""" +--- +- name: Sample dnscnamerec playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure dnscnamerec + delegate_to: localhost + netscaler.adc.dnscnamerec: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + aliasname: www2.n1.com + canonicalname: n1.com + ttl: 3601 """ RETURN = r""" diff --git a/plugins/modules/dnsglobal_dnspolicy_binding.py b/plugins/modules/dnsglobal_dnspolicy_binding.py index e8f16e8ae..de6a3182c 100644 --- a/plugins/modules/dnsglobal_dnspolicy_binding.py +++ b/plugins/modules/dnsglobal_dnspolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: dnsglobal_dnspolicy_binding short_description: Binding Resource definition for describing association between dnsglobal and dnspolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -114,6 +116,23 @@ """ EXAMPLES = r""" +--- +- name: Sample dnsglobal_dnspolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure dnsglobal_dnspolicy_binding + delegate_to: localhost + netscaler.adc.dnsglobal_dnspolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + policyname: LB_ia_dnspol2 + priority: '23' + gotopriorityexpression: END + type: REQ_OVERRIDE """ RETURN = r""" diff --git a/plugins/modules/dnskey.py b/plugins/modules/dnskey.py index 507700912..2456e86d0 100644 --- a/plugins/modules/dnskey.py +++ b/plugins/modules/dnskey.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: dnskey short_description: Configuration for dns key resource. description: Configuration for dns key resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -49,9 +51,21 @@ - RSASHA256 - RSASHA512 description: - - Algorithm to generate for zone signing. + - Algorithm to generate the key. + autorollover: + type: str + choices: + - ENABLED + - DISABLED + description: + - Flag to enable/disable key rollover automatically. + - 'Note:' + - '* Key name will be appended with _AR1 for successor key. For e.g. current + key=k1, successor key=k1_AR1.' + - '* Key name can be truncated if current name length is more than 58 bytes + to accomodate the suffix.' expires: - type: raw + type: float description: - Time period for which to consider the key valid, after the key is used to sign a zone. @@ -64,7 +78,7 @@ prefix to produce the names of the public key, the private key, and the DS record, respectively. keyname: - type: raw + type: str description: - Name of the public-private key pair to publish in the zone. keysize: @@ -81,12 +95,14 @@ description: - Type of key to create. notificationperiod: - type: raw + type: float description: - - Time at which to generate notification of key expiration, specified as number + - 'Time at which to generate notification of key expiration, specified as number of days, hours, or minutes before expiry. Must be less than the expiry period. The notification is an SNMP trap sent to an SNMP manager. To enable the appliance - to send the trap, enable the DNSKEY-EXPIRY SNMP alarm. + to send the trap, enable the DNSKEY-EXPIRY SNMP alarm. ' + - In case autorollover option is enabled, rollover for successor key will be + intiated at this time. No notification trap will be sent. password: type: str description: @@ -99,6 +115,20 @@ type: str description: - File name of the public key. + revoke: + type: bool + description: + - 'Revoke the key. Note: This operation is non-reversible.' + rollovermethod: + type: str + choices: + - PrePublication + - DoubleSignature + - DoubleRRSet + description: + - Method used for automatic rollover. + - '* Key type: ZSK, Method: C(PrePublication) or C(DoubleSignature).' + - '* Key type: KSK, Method: C(DoubleRRSet).' src: type: str description: @@ -107,14 +137,14 @@ HTTPS server that requires client certificate authentication for access. This is a mandatory argument' ttl: - type: raw + type: float description: - Time to Live (TTL), in seconds, for the DNSKEY resource record created in the zone. TTL is the time for which the record must be cached by the DNS proxies. If the TTL is not specified, either the DNS zone's minimum TTL or the default value of 3600 is used. units1: - type: raw + type: str choices: - MINUTES - HOURS @@ -122,7 +152,7 @@ description: - Units for the expiry period. units2: - type: raw + type: str choices: - MINUTES - HOURS @@ -138,6 +168,22 @@ """ EXAMPLES = r""" +--- +- name: Sample dnskey playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure dnskey + delegate_to: localhost + netscaler.adc.dnskey: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + keyname: com.ksk.4096 + publickey: /nsconfig/dns/com.ksK.key + privatekey: /nsconfig/dns/com.ksK.private """ RETURN = r""" diff --git a/plugins/modules/dnsmxrec.py b/plugins/modules/dnsmxrec.py index 127adcb0f..9702f6140 100644 --- a/plugins/modules/dnsmxrec.py +++ b/plugins/modules/dnsmxrec.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: dnsmxrec short_description: Configuration for MX record resource. description: Configuration for MX record resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str domain: - type: raw + type: str description: - Domain name for which to add the MX record. ecssubnet: @@ -47,7 +49,7 @@ description: - Subnet for which the cached MX record need to be removed. mx: - type: raw + type: str description: - Host name of the mail exchange server. nodeid: @@ -64,7 +66,7 @@ the mail server with the lowest priority number, and use other configured mail servers, in priority order, as backups. ttl: - type: raw + type: float description: - Time to Live (TTL), in seconds, for the record. TTL is the time for which the record must be cached by DNS proxies. The specified TTL is applied to @@ -90,6 +92,23 @@ """ EXAMPLES = r""" +--- +- name: Sample dnsmxrec playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure dnsmxrec + delegate_to: localhost + netscaler.adc.dnsmxrec: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + domain: n2.com + mx: mail.n1.com + pref: '23' + ttl: 3601 """ RETURN = r""" diff --git a/plugins/modules/dnsnameserver.py b/plugins/modules/dnsnameserver.py index 48bb3fdc7..fe65b2076 100644 --- a/plugins/modules/dnsnameserver.py +++ b/plugins/modules/dnsnameserver.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: dnsnameserver short_description: Configuration for name server resource. description: Configuration for name server resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -43,7 +45,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str dnsprofilename: - type: raw + type: str description: - Name of the DNS profile to be associated with the name server dnsvservername: @@ -52,7 +54,7 @@ - Name of a DNS virtual server. Overrides any IP address-based name servers configured on the Citrix ADC. ip: - type: raw + type: str description: - IP address of an external name server or, if the Local parameter is set, IP address of a local DNS server (LDNS). @@ -67,7 +69,7 @@ - If no name server is marked as being local, the appliance functions as a stub resolver and load balances the name servers. type: - type: raw + type: str choices: - UDP - TCP @@ -80,6 +82,20 @@ """ EXAMPLES = r""" +--- +- name: Sample dnsnameserver playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure dnsnameserver + delegate_to: localhost + netscaler.adc.dnsnameserver: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + dnsvservername: lb_dns_01 """ RETURN = r""" diff --git a/plugins/modules/dnsnaptrrec.py b/plugins/modules/dnsnaptrrec.py index 56afbf189..6231fa2f0 100644 --- a/plugins/modules/dnsnaptrrec.py +++ b/plugins/modules/dnsnaptrrec.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: dnsnaptrrec short_description: Configuration for NAPTR record resource. description: Configuration for NAPTR record resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -111,6 +113,26 @@ """ EXAMPLES = r""" +--- +- name: Sample dnsnaptrrec playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure dnsnaptrrec + delegate_to: localhost + netscaler.adc.dnsnaptrrec: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + domain: citrix.com1 + order: '10' + preference: '10' + flags: U + services: E2U+sip + regexp: '!^.*$!sip:customer-service@example.com!' + ttl: 3600 """ RETURN = r""" diff --git a/plugins/modules/dnsnsrec.py b/plugins/modules/dnsnsrec.py index de86acf28..56494768f 100644 --- a/plugins/modules/dnsnsrec.py +++ b/plugins/modules/dnsnsrec.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: dnsnsrec short_description: Configuration for name server record resource. description: Configuration for name server record resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -80,16 +82,20 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample dnsnsrec playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | dnsnsRec + - name: Configure dnsnsrec delegate_to: localhost netscaler.adc.dnsnsrec: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present domain: . - nameserver: a.root-servers.net + nameserver: m.root-servers.net ttl: 3600000 """ diff --git a/plugins/modules/dnsparameter.py b/plugins/modules/dnsparameter.py index e5ad89e47..7fe0ae04f 100644 --- a/plugins/modules/dnsparameter.py +++ b/plugins/modules/dnsparameter.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: dnsparameter short_description: Configuration for DNS parameter resource. description: Configuration for DNS parameter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -36,8 +38,18 @@ the module's parameters. - When C(unset), the resource will be unset on the NetScaler ADC node. type: str + autosavekeyops: + type: str + choices: + - ENABLED + - DISABLED + description: + - Flag to enable/disable saving of rollover operations executed automatically + to avoid config loss. + - 'Applicable only when autorollover option is enabled on a key. Note: when + you enable this, full configuration will be saved' cacheecszeroprefix: - type: raw + type: str choices: - ENABLED - DISABLED @@ -48,7 +60,7 @@ to any subnet. This option has no effect if caching of ECS responses is disabled in the corresponding DNS profile. cachehitbypass: - type: raw + type: str choices: - ENABLED - DISABLED @@ -57,7 +69,7 @@ will forward all the client requests to the backend DNS server and the response served will be cached on Citrix ADC cachenoexpire: - type: raw + type: str choices: - ENABLED - DISABLED @@ -65,7 +77,7 @@ - If this flag is set to YES, the existing entries in cache do not age out. On reaching the max limit the cache records are frozen cacherecords: - type: raw + type: str choices: - 'YES' - 'NO' @@ -77,13 +89,13 @@ However, cached records are not flushed. The appliance does not serve requests from the cache until record caching is enabled again. dns64timeout: - type: raw + type: float description: - While doing DNS64 resolution, this parameter specifies the time to wait before sending an A query if no response is received from backend DNS server for AAAA query. dnsrootreferral: - type: raw + type: str choices: - ENABLED - DISABLED @@ -95,7 +107,7 @@ when the appliance is under attack from a client that is sending a flood of queries for unrelated domains. dnssec: - type: raw + type: str choices: - ENABLED - DISABLED @@ -106,7 +118,7 @@ Redirection for name resolution) do not support the DNSSEC OK (DO) bit in the EDNS0 OPT header.' ecsmaxsubnets: - type: raw + type: float description: - Maximum number of subnets that can be cached corresponding to a single domain. Subnet caching will occur for responses with EDNS Client Subnet (ECS) option. @@ -114,17 +126,17 @@ of zero indicates that the number of subnets cached is limited only by existing memory constraints. The default value is zero. maxcachesize: - type: raw + type: float description: - Maximum memory, in megabytes, that can be used for dns caching per Packet Engine. maxnegativecachesize: - type: raw + type: float description: - Maximum memory, in megabytes, that can be used for caching of negative DNS responses per packet engine. maxnegcachettl: - type: raw + type: float description: - Maximum time to live (TTL) for all negative records ( NXDONAIN and NODATA ) cached in the DNS cache by DNS proxy, end resolver, and forwarder configurations. @@ -134,14 +146,14 @@ to those records that are cached after the modification. The TTL values of existing records are not changed. maxpipeline: - type: raw + type: float description: - Maximum number of concurrent DNS requests to allow on a single client connection, which is identified by the - tuple. A value of 0 (zero) applies no limit to the number of concurrent DNS requests allowed on a single client connection. maxttl: - type: raw + type: float description: - Maximum time to live (TTL) for all records cached in the DNS cache by DNS proxy, end resolver, and forwarder configurations. If the TTL of a record @@ -150,7 +162,7 @@ this setting, the new value is applied only to those records that are cached after the modification. The TTL values of existing records are not changed. maxudppacketsize: - type: raw + type: float description: - Maximum UDP packet size that can be handled by Citrix ADC. This is the value advertised by Citrix ADC when responding as an authoritative server and it @@ -159,7 +171,7 @@ a request contains a size greater than this value in the OPT record, it will be replaced. minttl: - type: raw + type: float description: - Minimum permissible time to live (TTL) for all records cached in the DNS cache by DNS proxy, end resolver, and forwarder configurations. If the TTL of a @@ -169,7 +181,7 @@ cached after the modification. The TTL values of existing records are not changed. namelookuppriority: - type: raw + type: str choices: - WINS - DNS @@ -178,7 +190,7 @@ lookup fails, the second-priority lookup is attempted. Used only by the SSL VPN feature. nxdomainratelimitthreshold: - type: raw + type: float description: - Rate limit threshold for Non-Existant domain (NXDOMAIN) responses generated from Citrix ADC. Once the threshold is breached , DNS queries leading to NXDOMAIN @@ -186,7 +198,7 @@ responses got from the backend. The threshold will be applied per packet engine and per second. recursion: - type: raw + type: str choices: - ENABLED - DISABLED @@ -198,7 +210,7 @@ queries a root server and resolves the request recursively, as it does for an end resolver configuration. resolutionorder: - type: raw + type: str choices: - OnlyAQuery - OnlyAAAAQuery @@ -220,17 +232,25 @@ for an A record if the query for the AAAA record results in a NODATA response from the name server.' retries: - type: raw + type: float description: - Maximum number of retry attempts when no response is received for a query sent to a name server. Applies to end resolver and forwarder configurations. splitpktqueryprocessing: - type: raw + type: str choices: - ALLOW - DROP description: - Processing requests split across multiple packets + zonetransfer: + type: str + choices: + - ENABLED + - DISABLED + description: + - Flag to enable/disable DNS zones configuration transfer to remote GSLB site + nodes extends_documentation_fragment: netscaler.adc.netscaler_adc """ diff --git a/plugins/modules/dnspolicy.py b/plugins/modules/dnspolicy.py index e3e8b5bfa..2d6a456cd 100644 --- a/plugins/modules/dnspolicy.py +++ b/plugins/modules/dnspolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: dnspolicy short_description: Configuration for DNS policy resource. description: Configuration for DNS policy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -64,11 +66,11 @@ description: - The dns packet must be dropped. logaction: - type: raw + type: str description: - Name of the messagelog action to use for requests that match this policy. name: - type: raw + type: str description: - Name for the DNS policy. preferredlocation: @@ -127,6 +129,22 @@ """ EXAMPLES = r""" +--- +- name: Sample dnspolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure dnspolicy + delegate_to: localhost + netscaler.adc.dnspolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: test5 + rule: dns.length.GT(1) + actionname: dns_default_act_Drop """ RETURN = r""" diff --git a/plugins/modules/dnspolicy64.py b/plugins/modules/dnspolicy64.py index daa490c0e..1c8ef44ea 100644 --- a/plugins/modules/dnspolicy64.py +++ b/plugins/modules/dnspolicy64.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: dnspolicy64 short_description: Configuration for dns64 policy resource. description: Configuration for dns64 policy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -67,6 +69,22 @@ """ EXAMPLES = r""" +--- +- name: Sample dnspolicy64 playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure dnspolicy64 + delegate_to: localhost + netscaler.adc.dnspolicy64: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: dns64_pol2 + rule: client.IP.SRC.IN_SUBNET(10.102.0.0/16) + action: dns64_act2 """ RETURN = r""" diff --git a/plugins/modules/dnspolicylabel.py b/plugins/modules/dnspolicylabel.py index 8adafd414..111f2389b 100644 --- a/plugins/modules/dnspolicylabel.py +++ b/plugins/modules/dnspolicylabel.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: dnspolicylabel short_description: Configuration for dns policy label resource. description: Configuration for dns policy label resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -81,6 +83,21 @@ """ EXAMPLES = r""" +--- +- name: Sample dnspolicylabel playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure dnspolicylabel + delegate_to: localhost + netscaler.adc.dnspolicylabel: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + labelname: invoke_labelname2 + transform: dns_res """ RETURN = r""" diff --git a/plugins/modules/dnspolicylabel_dnspolicy_binding.py b/plugins/modules/dnspolicylabel_dnspolicy_binding.py index 4f16a796f..09592ee31 100644 --- a/plugins/modules/dnspolicylabel_dnspolicy_binding.py +++ b/plugins/modules/dnspolicylabel_dnspolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: dnspolicylabel_dnspolicy_binding short_description: Binding Resource definition for describing association between dnspolicylabel and dnspolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/dnsprofile.py b/plugins/modules/dnsprofile.py index b3a007a33..6d20252b9 100644 --- a/plugins/modules/dnsprofile.py +++ b/plugins/modules/dnsprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: dnsprofile short_description: Configuration for DNS profile resource. description: Configuration for DNS profile resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str cacheecsresponses: - type: raw + type: str choices: - ENABLED - DISABLED @@ -50,7 +52,7 @@ when Citrix ADC is authoritative for a GSLB domain is supported using a knob in GSLB vserver. In all other modes, ECS option is ignored. cachenegativeresponses: - type: raw + type: str choices: - ENABLED - DISABLED @@ -61,7 +63,7 @@ The appliance does not serve negative responses from the cache until this parameter is enabled again. cacherecords: - type: raw + type: str choices: - ENABLED - DISABLED @@ -73,14 +75,14 @@ However, cached records are not flushed. The appliance does not serve requests from the cache until record caching is enabled again. dnsanswerseclogging: - type: raw + type: str choices: - ENABLED - DISABLED description: - DNS answer section; if enabled, answer section in the response will be logged. dnserrorlogging: - type: raw + type: str choices: - ENABLED - DISABLED @@ -88,7 +90,7 @@ - DNS error logging; if enabled, whenever error is encountered in DNS module reason for the error will be logged. dnsextendedlogging: - type: raw + type: str choices: - ENABLED - DISABLED @@ -96,11 +98,11 @@ - DNS extended logging; if enabled, authority and additional section in the response will be logged. dnsprofilename: - type: raw + type: str description: - Name of the DNS profile dnsquerylogging: - type: raw + type: str choices: - ENABLED - DISABLED @@ -108,7 +110,7 @@ - DNS query logging; if enabled, DNS query information such as DNS query id, DNS query flags , DNS domain name and DNS query type will be logged dropmultiqueryrequest: - type: raw + type: str choices: - ENABLED - DISABLED @@ -118,11 +120,49 @@ by default the DNS request containing multiple queries is forwarded to the backend and in case of ADNS and Resolver configuration NOCODE error response will be sent to the client. + insertecs: + type: str + choices: + - ENABLED + - DISABLED + description: + - Insert ECS Option on DNS query + maxcacheableecsprefixlength: + type: float + description: + - The maximum ecs prefix length that will be cached + maxcacheableecsprefixlength6: + type: float + description: + - The maximum ecs prefix length that will be cached for IPv6 subnets + replaceecs: + type: str + choices: + - ENABLED + - DISABLED + description: + - Replace ECS Option on DNS query extends_documentation_fragment: netscaler.adc.netscaler_adc """ EXAMPLES = r""" +--- +- name: Sample dnsprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure dnsprofile + delegate_to: localhost + netscaler.adc.dnsprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + dnsprofilename: p1 + cacherecords: ENABLED + cachenegativeresponses: ENABLED """ RETURN = r""" diff --git a/plugins/modules/dnsproxyrecords.py b/plugins/modules/dnsproxyrecords.py index 79c5b4efa..5c0ded08a 100644 --- a/plugins/modules/dnsproxyrecords.py +++ b/plugins/modules/dnsproxyrecords.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: dnsproxyrecords short_description: Configuration for proxy record resource. description: Configuration for proxy record resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -67,15 +69,6 @@ """ EXAMPLES = r""" ---- -- name: Sample Playbook for netscaler.adc.dnsproxyrecords - hosts: localhost - gather_facts: false - tasks: - - name: Flush DNS Proxy records - delegate_to: localhost - netscaler.adc.dnsproxyrecords: - state: flushed """ RETURN = r""" diff --git a/plugins/modules/dnsptrrec.py b/plugins/modules/dnsptrrec.py index e8e180d6d..208596db8 100644 --- a/plugins/modules/dnsptrrec.py +++ b/plugins/modules/dnsptrrec.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: dnsptrrec short_description: Configuration for PTR record resource. description: Configuration for PTR record resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/dnssoarec.py b/plugins/modules/dnssoarec.py index c9b54e8f4..45efc33cb 100644 --- a/plugins/modules/dnssoarec.py +++ b/plugins/modules/dnssoarec.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: dnssoarec short_description: Configuration for SOA record resource. description: Configuration for SOA record resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -45,7 +47,7 @@ email address, replace the @ sign with a period (.). For example, enter domainadmin.example.com instead of domainadmin@example.com. domain: - type: raw + type: str description: - Domain name for which to add the SOA record. ecssubnet: @@ -53,7 +55,7 @@ description: - Subnet for which the cached SOA record need to be removed. expire: - type: raw + type: float description: - Time, in seconds, after which the zone data on a secondary name server can no longer be considered authoritative because all refresh and retry attempts @@ -61,7 +63,7 @@ server stops serving the zone. Typically one week. Not used by the primary server. minimum: - type: raw + type: float description: - Default time to live (TTL) for all records in the zone. Can be overridden for individual records. @@ -74,22 +76,22 @@ description: - Domain name of the name server that responds authoritatively for the domain. refresh: - type: raw + type: float description: - Time, in seconds, for which a secondary server must wait between successive checks on the value of the serial number. retry: - type: raw + type: float description: - Time, in seconds, between retries if a secondary server's attempt to contact the primary server for a zone refresh fails. serial: - type: raw + type: float description: - The secondary server uses this parameter to determine whether it requires a zone transfer from the primary server. ttl: - type: raw + type: float description: - Time to Live (TTL), in seconds, for the record. TTL is the time for which the record must be cached by DNS proxies. The specified TTL is applied to @@ -115,6 +117,22 @@ """ EXAMPLES = r""" +--- +- name: Sample dnssoarec playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure dnssoarec + delegate_to: localhost + netscaler.adc.dnssoarec: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + domain: gslb.blackstone.com + originserver: portal-adnsuse1.bx.com + contact: stephen.tozzi.blackstone.com """ RETURN = r""" diff --git a/plugins/modules/dnssrvrec.py b/plugins/modules/dnssrvrec.py index 3c16f996a..80c0a2d3a 100644 --- a/plugins/modules/dnssrvrec.py +++ b/plugins/modules/dnssrvrec.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: dnssrvrec short_description: Configuration for server record resource. description: Configuration for server record resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str domain: - type: raw + type: str description: - Domain name, which, by convention, is prefixed by the symbolic name of the desired service and the symbolic name of the desired protocol, each with an @@ -65,11 +67,11 @@ the higher the priority. If multiple target hosts have the same priority, selection is based on the Weight parameter. target: - type: raw + type: str description: - Target host for the specified service. ttl: - type: raw + type: float description: - Time to Live (TTL), in seconds, for the record. TTL is the time for which the record must be cached by DNS proxies. The specified TTL is applied to @@ -100,6 +102,25 @@ """ EXAMPLES = r""" +--- +- name: Sample dnssrvrec playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure dnssrvrec + delegate_to: localhost + netscaler.adc.dnssrvrec: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + domain: http2.abc.com + target: target + priority: '23' + weight: '23' + port: '23' + ttl: 3601 """ RETURN = r""" diff --git a/plugins/modules/dnssubnetcache.py b/plugins/modules/dnssubnetcache.py index 508b8c4bf..fbcca8f11 100644 --- a/plugins/modules/dnssubnetcache.py +++ b/plugins/modules/dnssubnetcache.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: dnssubnetcache short_description: Configuration for subnet cache resource. description: Configuration for subnet cache resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/dnssuffix.py b/plugins/modules/dnssuffix.py index 087f54781..438f4efd7 100644 --- a/plugins/modules/dnssuffix.py +++ b/plugins/modules/dnssuffix.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: dnssuffix short_description: Configuration for DNS suffix resource. description: Configuration for DNS suffix resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -45,6 +47,20 @@ """ EXAMPLES = r""" +--- +- name: Sample dnssuffix playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure dnssuffix + delegate_to: localhost + netscaler.adc.dnssuffix: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + Dnssuffix: sssss.ssss """ RETURN = r""" diff --git a/plugins/modules/dnstxtrec.py b/plugins/modules/dnstxtrec.py index 80b5c2d4b..6eeea661c 100644 --- a/plugins/modules/dnstxtrec.py +++ b/plugins/modules/dnstxtrec.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: dnstxtrec short_description: Configuration for TXT record resource. description: Configuration for TXT record resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -89,6 +91,23 @@ """ EXAMPLES = r""" +--- +- name: Sample dnstxtrec playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure dnstxtrec + delegate_to: localhost + netscaler.adc.dnstxtrec: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + domain: sample2 + String: + - sample + ttl: 36000 """ RETURN = r""" diff --git a/plugins/modules/dnsview.py b/plugins/modules/dnsview.py index 0a61d4051..e2e0e656a 100644 --- a/plugins/modules/dnsview.py +++ b/plugins/modules/dnsview.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: dnsview short_description: Configuration for DNS view resource. description: Configuration for DNS view resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -45,6 +47,20 @@ """ EXAMPLES = r""" +--- +- name: Sample dnsview playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure dnsview + delegate_to: localhost + netscaler.adc.dnsview: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + viewname: view1 """ RETURN = r""" diff --git a/plugins/modules/dnszone.py b/plugins/modules/dnszone.py index 8188cc0a1..2ba55ee36 100644 --- a/plugins/modules/dnszone.py +++ b/plugins/modules/dnszone.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: dnszone short_description: Configuration for DNS zone resource. description: Configuration for DNS zone resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str dnssecoffload: - type: raw + type: str choices: - ENABLED - DISABLED @@ -52,14 +54,14 @@ sign a zone with up to four keys. elements: str nsec: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable nsec generation for dnssec offload. proxymode: - type: raw + type: str choices: - 'YES' - 'NO' @@ -92,7 +94,7 @@ as a proxy server.' - '* C(ALL) - Display all the zones configured on the appliance.' zonename: - type: raw + type: str description: - Name of the zone to create. extends_documentation_fragment: netscaler.adc.netscaler_adc @@ -100,6 +102,21 @@ """ EXAMPLES = r""" +--- +- name: Sample dnszone playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure dnszone + delegate_to: localhost + netscaler.adc.dnszone: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + zonename: gslb.blackstone.com + proxymode: 'NO' """ RETURN = r""" diff --git a/plugins/modules/endpointinfo.py b/plugins/modules/endpointinfo.py index 59d4558ca..573168ff6 100644 --- a/plugins/modules/endpointinfo.py +++ b/plugins/modules/endpointinfo.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: endpointinfo short_description: Configuration for Information resource. description: Configuration for Information resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,17 +41,17 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str endpointkind: - type: raw + type: str choices: - IP description: - Endpoint kind. Currently, C(IP) endpoints are supported endpointlabelsjson: - type: raw + type: str description: - String representing labels in json form. Maximum length 16K endpointmetadata: - type: raw + type: str description: - 'String of qualifiers, in dotted notation, structured metadata for an endpoint. Each qualifier is more specific than the one that precedes it, as in cluster.namespace.service. @@ -57,7 +59,7 @@ - 'Note: A qualifier that includes a dot (.) or space ( ) must be enclosed in double quotation marks.' endpointname: - type: raw + type: str description: - Name of endpoint, depends on kind. For IP Endpoint - IP address. extends_documentation_fragment: netscaler.adc.netscaler_adc diff --git a/plugins/modules/extendedmemoryparam.py b/plugins/modules/extendedmemoryparam.py index 29e541e10..b2c8c59a5 100644 --- a/plugins/modules/extendedmemoryparam.py +++ b/plugins/modules/extendedmemoryparam.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: extendedmemoryparam short_description: Configuration for Parameter for extended memory used by LSN and Subscriber Store resource. @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str memlimit: - type: raw + type: float description: - Amount of Citrix ADC memory to reserve for the memory used by LSN and Subscriber Session Store feature, in multiples of 2MB. @@ -52,6 +54,20 @@ """ EXAMPLES = r""" +--- +- name: Sample extendedmemoryparam playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure extendedmemoryparam + delegate_to: localhost + netscaler.adc.extendedmemoryparam: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + memlimit: 4380 """ RETURN = r""" diff --git a/plugins/modules/feoaction.py b/plugins/modules/feoaction.py index 13b222b0c..07d323bf2 100644 --- a/plugins/modules/feoaction.py +++ b/plugins/modules/feoaction.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: feoaction short_description: Configuration for Front end optimization action resource. description: Configuration for Front end optimization action resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -43,34 +45,34 @@ description: - Maxage for cache extension. clientsidemeasurements: - type: raw + type: bool description: - Send AppFlow records about the web pages optimized by this action. The records provide FEO statistics, such as the number of HTTP requests that have been reduced for this page. You must enable the Appflow feature before enabling this parameter. convertimporttolink: - type: raw + type: bool description: - Convert CSS import statements to HTML link tags. csscombine: - type: raw + type: bool description: - Combine one or more CSS files into one file. cssimginline: - type: raw + type: bool description: - Inline small images (less than 2KB) referred within CSS files as background-URLs cssinline: - type: raw + type: bool description: - Inline CSS files, whose size is less than 2KB, within the main page. cssminify: - type: raw + type: bool description: - Remove comments and whitespaces from CSSs. cssmovetohead: - type: raw + type: bool description: - Move any CSS file present within the body tag of an HTML page to the head tag. @@ -80,60 +82,60 @@ - Set of domain names that replaces the parent domain. elements: str domainsharding: - type: raw + type: str description: - Domain name of the server htmlminify: - type: raw + type: bool description: - Remove comments and whitespaces from an HTML page. imggiftopng: - type: raw + type: bool description: - Convert GIF image formats to PNG formats. imginline: - type: raw + type: bool description: - Inline images whose size is less than 2KB. imglazyload: - type: raw + type: bool description: - Download images, only when the user scrolls the page to view them. imgshrinktoattrib: - type: raw + type: bool description: - Shrink image dimensions as per the height and width attributes specified in the tag. imgtojpegxr: - type: raw + type: bool description: - Convert JPEG, GIF, PNG image formats to JXR format. imgtowebp: - type: raw + type: bool description: - Convert JPEG, GIF, PNG image formats to WEBP format. jpgoptimize: - type: raw + type: bool description: - Remove non-image data such as comments from JPEG images. jsinline: - type: raw + type: bool description: - Convert linked JavaScript files (less than 2KB) to inline JavaScript files. jsminify: - type: raw + type: bool description: - Remove comments and whitespaces from JavaScript. jsmovetoend: - type: raw + type: bool description: - Move any JavaScript present in the body tag to the end of the body tag. name: - type: raw + type: str description: - The name of the front end optimization action. pageextendcache: - type: raw + type: bool description: - Extend the time period during which the browser can use the cached resource. extends_documentation_fragment: netscaler.adc.netscaler_adc @@ -141,6 +143,21 @@ """ EXAMPLES = r""" +--- +- name: Sample feoaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure feoaction + delegate_to: localhost + netscaler.adc.feoaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: allact_ns + clientsidemeasurements: true """ RETURN = r""" diff --git a/plugins/modules/feoglobal_feopolicy_binding.py b/plugins/modules/feoglobal_feopolicy_binding.py index 86c8d70f6..faa36f2c2 100644 --- a/plugins/modules/feoglobal_feopolicy_binding.py +++ b/plugins/modules/feoglobal_feopolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: feoglobal_feopolicy_binding short_description: Binding Resource definition for describing association between feoglobal and feopolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -77,6 +79,22 @@ """ EXAMPLES = r""" +--- +- name: Sample feoglobal_feopolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure feoglobal_feopolicy_binding + delegate_to: localhost + netscaler.adc.feoglobal_feopolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + policyname: pol1_ns + priority: '3' + gotopriorityexpression: END """ RETURN = r""" diff --git a/plugins/modules/feoparameter.py b/plugins/modules/feoparameter.py index 3dbe597a1..c628fa47c 100644 --- a/plugins/modules/feoparameter.py +++ b/plugins/modules/feoparameter.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: feoparameter short_description: Configuration for FEO parameter resource. description: Configuration for FEO parameter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,21 +39,21 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str cssinlinethressize: - type: raw + type: float description: - Threshold value of the file size (in bytes) for converting external CSS files to inline CSS files. imginlinethressize: - type: raw + type: float description: - Maximum file size of an image (in bytes), for coverting linked images to inline images. jpegqualitypercent: - type: raw + type: float description: - 'The percentage value of a JPEG image quality to be reduced. Range: 0 - 100' jsinlinethressize: - type: raw + type: float description: - Threshold value of the file size (in bytes), for converting external JavaScript files to inline JavaScript files. @@ -60,6 +62,23 @@ """ EXAMPLES = r""" +--- +- name: Sample feoparameter playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure feoparameter + delegate_to: localhost + netscaler.adc.feoparameter: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + jpegqualitypercent: '60' + cssinlinethressize: '1024' + jsinlinethressize: '1024' + imginlinethressize: '1024' """ RETURN = r""" diff --git a/plugins/modules/feopolicy.py b/plugins/modules/feopolicy.py index ccc1c1dad..115869261 100644 --- a/plugins/modules/feopolicy.py +++ b/plugins/modules/feopolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: feopolicy short_description: Configuration for Front end optimization policy resource. description: Configuration for Front end optimization policy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,15 +41,15 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str action: - type: raw + type: str description: - The front end optimization action that has to be performed when the rule matches. name: - type: raw + type: str description: - The name of the front end optimization policy. rule: - type: raw + type: str description: - The rule associated with the front end optimization policy. extends_documentation_fragment: netscaler.adc.netscaler_adc @@ -55,6 +57,22 @@ """ EXAMPLES = r""" +--- +- name: Sample feopolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure feopolicy + delegate_to: localhost + netscaler.adc.feopolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: pol1_ns + rule: HTTP.REQ.HEADER("Accept").CONTAINS("html") + action: allact_ns """ RETURN = r""" diff --git a/plugins/modules/fis.py b/plugins/modules/fis.py index 24ae38032..ff9b83609 100644 --- a/plugins/modules/fis.py +++ b/plugins/modules/fis.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: fis short_description: Configuration for "FIS" resource. description: Configuration for "FIS" resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -103,6 +105,20 @@ """ EXAMPLES = r""" +--- +- name: Sample fis playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure fis + delegate_to: localhost + netscaler.adc.fis: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia_fis11 """ RETURN = r""" diff --git a/plugins/modules/fis_channel_binding.py b/plugins/modules/fis_channel_binding.py index 5ec6754cd..edd76c012 100644 --- a/plugins/modules/fis_channel_binding.py +++ b/plugins/modules/fis_channel_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: fis_channel_binding short_description: Binding Resource definition for describing association between fis and channel resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/fis_interface_binding.py b/plugins/modules/fis_interface_binding.py index e4660ca7d..336c93307 100644 --- a/plugins/modules/fis_interface_binding.py +++ b/plugins/modules/fis_interface_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: fis_interface_binding short_description: Binding Resource definition for describing association between fis and interface resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/forwardingsession.py b/plugins/modules/forwardingsession.py index b68e98de5..a30d1df9b 100644 --- a/plugins/modules/forwardingsession.py +++ b/plugins/modules/forwardingsession.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: forwardingsession short_description: Configuration for session forward resource. description: Configuration for session forward resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -100,6 +102,22 @@ """ EXAMPLES = r""" +--- +- name: Sample forwardingsession playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure forwardingsession + delegate_to: localhost + netscaler.adc.forwardingsession: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia_forsess5 + nitro_operation: rm + '#nitro_operation': rm """ RETURN = r""" diff --git a/plugins/modules/gslbconfig.py b/plugins/modules/gslbconfig.py index b29edaaad..54c4331bc 100644 --- a/plugins/modules/gslbconfig.py +++ b/plugins/modules/gslbconfig.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: gslbconfig short_description: Configuration for gslb config resource. description: Configuration for gslb config resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: [] diff --git a/plugins/modules/gslbldnsentries.py b/plugins/modules/gslbldnsentries.py index d323de3a7..ec03feda8 100644 --- a/plugins/modules/gslbldnsentries.py +++ b/plugins/modules/gslbldnsentries.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: gslbldnsentries short_description: Configuration for LDNS entry resource. description: Configuration for LDNS entry resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: [] diff --git a/plugins/modules/gslbldnsentry.py b/plugins/modules/gslbldnsentry.py index 6fdeb22d0..5b1bce22f 100644 --- a/plugins/modules/gslbldnsentry.py +++ b/plugins/modules/gslbldnsentry.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: gslbldnsentry short_description: Configuration for LDNS entry resource. description: Configuration for LDNS entry resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/gslbparameter.py b/plugins/modules/gslbparameter.py index ef7f9bf13..c1539b325 100644 --- a/plugins/modules/gslbparameter.py +++ b/plugins/modules/gslbparameter.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: gslbparameter short_description: Configuration for GSLB parameter resource. description: Configuration for GSLB parameter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,21 +39,21 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str automaticconfigsync: - type: raw + type: str choices: - ENABLED - DISABLED description: - GSLB configuration will be synced automatically to remote gslb sites if enabled. dropldnsreq: - type: raw + type: str choices: - ENABLED - DISABLED description: - Drop LDNS requests if round-trip time (RTT) information is not available. gslbconfigsyncmonitor: - type: raw + type: str choices: - ENABLED - DISABLED @@ -59,34 +61,34 @@ - If enabled, remote gslb site's rsync port will be monitored and site is considered for configuration sync only when the monitor is successful. gslbsvcstatedelaytime: - type: raw + type: float description: - Amount of delay in updating the state of GSLB service to DOWN when MEP goes down. - "\t\t\tThis parameter is applicable only if monitors are not bound to GSLB\ \ services" gslbsyncinterval: - type: raw + type: float description: - Time duartion (in seconds) for which the gslb sync process will wait before checking for config changes. gslbsynclocfiles: - type: raw + type: str choices: - ENABLED - DISABLED description: - If disabled, Location files will not be synced to the remote sites as part - of automatic sync. + of manual sync and automatic sync. gslbsyncmode: - type: raw + type: str choices: - IncrementalSync - FullSync description: - Mode in which configuration will be synced from master site to remote sites. gslbsyncsaveconfigcommand: - type: raw + type: str choices: - ENABLED - DISABLED @@ -94,28 +96,29 @@ - If enabled, 'save ns config' command will be treated as other GSLB commands and synced to GSLB nodes when auto gslb sync option is enabled. ldnsentrytimeout: - type: raw + type: float description: - Time, in seconds, after which an inactive LDNS entry is removed. ldnsmask: - type: raw + type: str description: - The IPv4 network mask with which to create LDNS entries. ldnsprobeorder: - type: raw + type: list choices: - PING - DNS - TCP description: - Order in which monitors should be initiated to calculate RTT. + elements: str mepkeepalivetimeout: - type: raw + type: float description: - Time duartion (in seconds) during which if no new packets received by Local gslb site from Remote gslb site then mark the MEP connection DOWN rtttolerance: - type: raw + type: float description: - Tolerance, in milliseconds, for newly learned round-trip time (RTT) values. If the difference between the old RTT value and the newly computed RTT value @@ -123,7 +126,7 @@ the network metric table is not updated with the new RTT value. Prevents the exchange of metrics when variations in RTT values are negligible. svcstatelearningtime: - type: raw + type: float description: - Time (in seconds) within which local or child site services remain in learning phase. GSLB site will enter the learning phase after reboot, HA failover, @@ -133,7 +136,7 @@ period, remote site will not honour the state and stats got through MEP for that service. State can be learnt from health monitor if bound explicitly. undefaction: - type: raw + type: str description: - 'Action to perform when policy evaluation creates an UNDEF condition. Available settings function as follows:' @@ -142,7 +145,7 @@ the request.' - '* DROP - Drop the request without sending a response to the user.' v6ldnsmasklen: - type: raw + type: float description: - Mask for creating LDNS entries for IPv6 source addresses. The mask is defined as the number of leading bits to consider, in the source IP address, when @@ -152,6 +155,19 @@ """ EXAMPLES = r""" +--- +- name: Sample gslbparameter playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure gslbparameter + delegate_to: localhost + netscaler.adc.gslbparameter: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present """ RETURN = r""" diff --git a/plugins/modules/gslbservice.py b/plugins/modules/gslbservice.py index 5156e990f..60f74ea90 100644 --- a/plugins/modules/gslbservice.py +++ b/plugins/modules/gslbservice.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: gslbservice short_description: Configuration for GSLB service resource. description: Configuration for GSLB service resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,14 +41,14 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str appflowlog: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable logging appflow flow information cip: - type: raw + type: str choices: - ENABLED - DISABLED @@ -55,7 +57,7 @@ stores the client's IP address. Client IP header insertion is used in connection-proxy based site persistence. cipheader: - type: raw + type: str description: - Name for the HTTP header that stores the client's IP address. Used with the Client IP option. If client IP header insertion is enabled on the service @@ -72,7 +74,7 @@ description: - Canonical name of the GSLB service. Used in CNAME-based GSLB. comment: - type: raw + type: str description: - Any comments that you might want to associate with the GSLB service. cookietimeout: @@ -81,7 +83,7 @@ - Timeout value, in minutes, for the cookie, when cookie based site persistence is enabled. downstateflush: - type: raw + type: str choices: - ENABLED - DISABLED @@ -91,12 +93,12 @@ complete their transactions. Applicable if connection proxy based site persistence is used. hashid: - type: raw + type: float description: - Unique hash identifier for the GSLB service, used by hash based load balancing methods. healthmonitor: - type: raw + type: str choices: - 'YES' - 'NO' @@ -113,20 +115,20 @@ description: - The new IP address of the service. maxaaausers: - type: raw + type: float description: - Maximum number of SSL VPN users that can be logged on concurrently to the VPN virtual server that is represented by this GSLB service. A GSLB service whose user count reaches the maximum is not considered when a GSLB decision is made, until the count drops below the maximum. maxbandwidth: - type: raw + type: float description: - Integer specifying the maximum bandwidth allowed for the service. A GSLB service whose bandwidth reaches the maximum is not considered when a GSLB decision is made, until its bandwidth consumption drops below the maximum. maxclient: - type: raw + type: float description: - The maximum number of open connections that the service can support at any given time. A GSLB service whose connection count reaches the maximum is not @@ -137,33 +139,33 @@ description: - Name of the monitor to bind to the service. monthreshold: - type: raw + type: float description: - Monitoring threshold value for the GSLB service. If the sum of the weights of the monitors that are bound to this GSLB service and are in the UP state is not equal to or greater than this threshold value, the service is marked as DOWN. naptrdomainttl: - type: raw + type: float description: - Modify the TTL of the internally created naptr domain naptrorder: - type: raw + type: float description: - An integer specifying the order in which the NAPTR records MUST be processed in order to accurately represent the ordered list of Rules. The ordering is from lowest to highest naptrpreference: - type: raw + type: float description: - An integer specifying the preference of this NAPTR among NAPTR records having same order. lower the number, higher the preference. naptrreplacement: - type: raw + type: str description: - The replacement domain name for this NAPTR. naptrservices: - type: raw + type: str description: - Service Parameters applicable to this delegation path. newname: @@ -175,12 +177,12 @@ description: - Port on which the load balancing entity represented by this GSLB service listens. publicip: - type: raw + type: str description: - The public IP address that a NAT device translates to the GSLB service's private IP address. Optional. publicport: - type: raw + type: int description: - The public port associated with the GSLB service's public IP address. The port is mapped to the service's private port number. Applicable to the local @@ -190,7 +192,7 @@ description: - Name of the server hosting the GSLB service. servicename: - type: raw + type: str description: - Name for the GSLB service. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash @@ -227,7 +229,7 @@ description: - Name of the GSLB site to which the service belongs. sitepersistence: - type: raw + type: str choices: - ConnectionProxy - HTTPRedirect @@ -235,7 +237,7 @@ description: - Use cookie-based site persistence. Applicable only to HTTP and SSL GSLB services. siteprefix: - type: raw + type: str description: - The site's prefix string. When the service is bound to a GSLB virtual server, a GSLB site domain is generated internally for each bound service-domain pair @@ -369,6 +371,30 @@ """ EXAMPLES = r""" +--- +- name: Sample gslbservice playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure gslbservice + delegate_to: localhost + netscaler.adc.gslbservice: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + servicename: GSLB_SVC_USE2_storefront.blackstone.com + ip: 10.76.126.10 + servicetype: SSL + port: 443 + publicip: 10.76.126.10 + publicport: 443 + maxclient: '0' + sitename: GSLB_Site_USE2 + clttimeout: 180 + svrtimeout: 360 + downstateflush: ENABLED """ RETURN = r""" diff --git a/plugins/modules/gslbservice_dnsview_binding.py b/plugins/modules/gslbservice_dnsview_binding.py index 326bbb49a..d013e893e 100644 --- a/plugins/modules/gslbservice_dnsview_binding.py +++ b/plugins/modules/gslbservice_dnsview_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: gslbservice_dnsview_binding short_description: Binding Resource definition for describing association between gslbservice and dnsview resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -57,6 +59,22 @@ """ EXAMPLES = r""" +--- +- name: Sample gslbservice_dnsview_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure gslbservice_dnsview_binding + delegate_to: localhost + netscaler.adc.gslbservice_dnsview_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + servicename: gslbService1 + viewname: view1 + viewip: 2.2.2.1 """ RETURN = r""" diff --git a/plugins/modules/gslbservice_lbmonitor_binding.py b/plugins/modules/gslbservice_lbmonitor_binding.py index 7a9770290..19408129c 100644 --- a/plugins/modules/gslbservice_lbmonitor_binding.py +++ b/plugins/modules/gslbservice_lbmonitor_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: gslbservice_lbmonitor_binding short_description: Binding Resource definition for describing association between gslbservice and lbmonitor resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -64,6 +66,21 @@ """ EXAMPLES = r""" +--- +- name: Sample gslbservice_lbmonitor_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure gslbservice_lbmonitor_binding + delegate_to: localhost + netscaler.adc.gslbservice_lbmonitor_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + servicename: GSLB_SVC_USE1_storefront.blackstone.com + monitor_name: tcp """ RETURN = r""" diff --git a/plugins/modules/gslbservicegroup.py b/plugins/modules/gslbservicegroup.py index 06a491562..77408b8d4 100644 --- a/plugins/modules/gslbservicegroup.py +++ b/plugins/modules/gslbservicegroup.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: gslbservicegroup short_description: Configuration for GSLB service group resource. description: Configuration for GSLB service group resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -43,7 +45,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str appflowlog: - type: raw + type: str choices: - ENABLED - DISABLED @@ -65,14 +67,14 @@ description: - Auto scale option for a GSLB servicegroup cip: - type: raw + type: str choices: - ENABLED - DISABLED description: - Insert the Client IP header in requests forwarded to the GSLB service. cipheader: - type: raw + type: str description: - Name of the HTTP header whose value must be set to the IP address of the client. Used with the Client IP parameter. If client IP insertion is enabled, and @@ -80,11 +82,11 @@ or the value set by the set ns config command is used as client's IP header name. clttimeout: - type: raw + type: float description: - Time, in seconds, after which to terminate an idle client connection. comment: - type: raw + type: str description: - Any information about the GSLB service group. delay: @@ -98,7 +100,7 @@ among other available services. After the delay time expires, no new requests or connections will be sent to the service. downstateflush: - type: raw + type: str choices: - ENABLED - DISABLED @@ -107,7 +109,7 @@ service group whose state transitions from UP to DOWN. Do not enable this option for applications that must complete their transactions. dup_weight: - type: raw + type: float description: - weight of the monitor that is bound to GSLB servicegroup. graceful: @@ -119,12 +121,12 @@ - Wait for all existing connections to the service to terminate before shutting down the service. hashid: - type: raw + type: float description: - The hash identifier for the service. This must be unique for each service. This parameter is used by hash based load balancing methods. healthmonitor: - type: raw + type: str choices: - 'YES' - 'NO' @@ -143,21 +145,21 @@ the details displayed when a service group name is provided, except that bound monitors are not displayed. maxbandwidth: - type: raw + type: float description: - Maximum bandwidth, in Kbps, allocated for all the services in the GSLB service group. maxclient: - type: raw + type: float description: - Maximum number of simultaneous open connections for the GSLB service group. monitor_name_svc: - type: raw + type: str description: - Name of the monitor bound to the GSLB service group. Used to assign a weight to the monitor. monthreshold: - type: raw + type: float description: - Minimum sum of weights of the monitors that are bound to this GSLB service. Used to determine whether to mark a GSLB service as UP or DOWN. @@ -166,30 +168,30 @@ description: - New name for the GSLB service group. order: - type: raw + type: float description: - Order number to be assigned to the gslb servicegroup member port: - type: raw + type: int description: - Server port number. publicip: - type: raw + type: str description: - The public IP address that a NAT device translates to the GSLB service's private IP address. Optional. publicport: - type: raw + type: int description: - The public port associated with the GSLB service's public IP address. The port is mapped to the service's private port number. Applicable to the local GSLB service. Optional. servername: - type: raw + type: str description: - Name of the server to which to bind the service group. servicegroupname: - type: raw + type: str description: - Name of the GSLB service group. Must begin with an ASCII alphabetic or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash @@ -223,7 +225,7 @@ description: - Name of the GSLB site to which the service group belongs. sitepersistence: - type: raw + type: str choices: - ConnectionProxy - HTTPRedirect @@ -232,7 +234,7 @@ - Use cookie-based site persistence. Applicable only to HTTP and SSL non-autoscale enabled GSLB servicegroups. siteprefix: - type: raw + type: str description: - The site's prefix string. When the GSLB service group is bound to a GSLB virtual server, a GSLB site domain is generated internally for each bound serviceitem-domain @@ -241,11 +243,11 @@ is unset. When implementing HTTP redirect site persistence, the Citrix ADC redirects GSLB requests to GSLB services by using their site domains. svrtimeout: - type: raw + type: float description: - Time, in seconds, after which to terminate an idle server connection. weight: - type: raw + type: float description: - Weight to assign to the servers in the service group. Specifies the capacity of the servers relative to the other servers in the load balancing configuration. diff --git a/plugins/modules/gslbservicegroup_gslbservicegroupmember_binding.py b/plugins/modules/gslbservicegroup_gslbservicegroupmember_binding.py index 09edbef3d..92818c628 100644 --- a/plugins/modules/gslbservicegroup_gslbservicegroupmember_binding.py +++ b/plugins/modules/gslbservicegroup_gslbservicegroupmember_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: gslbservicegroup_gslbservicegroupmember_binding short_description: Binding Resource definition for describing association between gslbservicegroup and gslbservicegroupmember resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/gslbservicegroup_lbmonitor_binding.py b/plugins/modules/gslbservicegroup_lbmonitor_binding.py index 0729536cc..7d1fcd743 100644 --- a/plugins/modules/gslbservicegroup_lbmonitor_binding.py +++ b/plugins/modules/gslbservicegroup_lbmonitor_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: gslbservicegroup_lbmonitor_binding short_description: Binding Resource definition for describing association between gslbservicegroup and lbmonitor resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/gslbsite.py b/plugins/modules/gslbsite.py index 55f63d20a..f2f9e9d09 100644 --- a/plugins/modules/gslbsite.py +++ b/plugins/modules/gslbsite.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: gslbsite short_description: Configuration for GSLB site resource. description: Configuration for GSLB site resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,10 +41,11 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str backupparentlist: - type: raw + type: list description: - The list of backup gslb sites configured in preferred order. Need to be parent gsb sites. + elements: str clip: type: str description: @@ -50,7 +53,7 @@ site for GSLB auto-sync. Note: The cluster IP address is defined when creating the cluster.' metricexchange: - type: raw + type: str choices: - ENABLED - DISABLED @@ -66,12 +69,16 @@ Also, if you disable metrics exchange, you must use a monitor to determine the state of GSLB services. Otherwise, the service is marked as DOWN. naptrreplacementsuffix: - type: raw + type: str description: - The naptr replacement suffix configured here will be used to construct the naptr replacement field in NAPTR record. + newname: + type: str + description: + - New name for the GSLB site. nwmetricexchange: - type: raw + type: str choices: - ENABLED - DISABLED @@ -96,7 +103,7 @@ in a private address space and the site has a public IP address hosted on an external firewall or a NAT device. sessionexchange: - type: raw + type: str choices: - ENABLED - DISABLED @@ -110,7 +117,7 @@ by the appliance (for example, a SNIP or MIP address, or the IP address of the ADNS service). sitename: - type: raw + type: str description: - Name for the GSLB site. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash @@ -119,6 +126,10 @@ - '' - 'CLI Users: If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my gslbsite" or ''my gslbsite'').' + sitepassword: + type: str + description: + - Password to be used for mep communication between gslb site nodes. sitetype: type: str choices: @@ -131,7 +142,7 @@ example, a MIP address or SNIP address), the site is a local site. Otherwise, it is a remote site. triggermonitor: - type: raw + type: str choices: - ALWAYS - MEPDOWN @@ -151,6 +162,23 @@ """ EXAMPLES = r""" +--- +- name: Sample gslbsite playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure gslbsite + delegate_to: localhost + netscaler.adc.gslbsite: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + sitename: GSLB_Site_USE2 + siteipaddress: 10.76.126.5 + publicip: 10.76.126.5 + triggermonitor: MEPDOWN_SVCDOWN """ RETURN = r""" diff --git a/plugins/modules/gslbvserver.py b/plugins/modules/gslbvserver.py index c700f5511..1365ba782 100644 --- a/plugins/modules/gslbvserver.py +++ b/plugins/modules/gslbvserver.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: gslbvserver short_description: Configuration for Global Server Load Balancing Virtual Server resource. description: Configuration for Global Server Load Balancing Virtual Server resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -43,7 +45,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str appflowlog: - type: raw + type: str choices: - ENABLED - DISABLED @@ -56,7 +58,7 @@ all the services bound to the domain are down, or when the backup chain of virtual servers is down. backuplbmethod: - type: raw + type: str choices: - ROUNDROBIN - LEASTCONNECTION @@ -79,17 +81,17 @@ feature can be disabled by setting the value to zero. The created session is in effect for a specific client per domain. backupvserver: - type: raw + type: str description: - Name of the backup GSLB virtual server to which the appliance should to forward requests if the status of the primary GSLB virtual server is down or exceeds its spillover threshold. comment: - type: raw + type: str description: - Any comments that you might want to associate with the GSLB virtual server. considereffectivestate: - type: raw + type: str choices: - NONE - STATE_ONLY @@ -114,7 +116,7 @@ description: - Timeout, in minutes, for the GSLB site cookie. disableprimaryondown: - type: raw + type: str choices: - ENABLED - DISABLED @@ -123,7 +125,7 @@ virtual server returns to the UP state. Used when spillover is configured for the virtual server. dnsrecordtype: - type: raw + type: str choices: - A - AAAA @@ -137,7 +139,7 @@ - Domain name for which to change the time to live (TTL) and/or backup service IP address. dynamicweight: - type: raw + type: str choices: - SERVICECOUNT - SERVICEWEIGHT @@ -148,7 +150,7 @@ the number of services bound to the virtual server help the appliance to select the service. ecs: - type: raw + type: str choices: - ENABLED - DISABLED @@ -158,7 +160,7 @@ persistence (if enabled) instead of the LDNS address. Persistence mask is ignored if ECS is enabled. ecsaddrvalidation: - type: raw + type: str choices: - ENABLED - DISABLED @@ -166,7 +168,7 @@ - Validate if ECS address is a private or unroutable address and in such cases, use the LDNS IP. edr: - type: raw + type: str choices: - ENABLED - DISABLED @@ -180,7 +182,7 @@ description: - The IP type for this GSLB vserver. lbmethod: - type: raw + type: str choices: - ROUNDROBIN - LEASTCONNECTION @@ -195,14 +197,14 @@ description: - Load balancing method for the GSLB virtual server. mir: - type: raw + type: str choices: - ENABLED - DISABLED description: - Include multiple IP addresses in the DNS responses sent to clients. name: - type: raw + type: str description: - Name for the GSLB virtual server. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, @@ -213,7 +215,7 @@ - If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my vserver" or 'my vserver'). netmask: - type: raw + type: str description: - IPv4 network mask for use in the SOURCEIPHASH load balancing method. newname: @@ -221,23 +223,23 @@ description: - New name for the GSLB virtual server. order: - type: raw + type: float description: - Order number to be assigned to the service when it is bound to the lb vserver. orderthreshold: - type: raw + type: float description: - This option is used to to specify the threshold of minimum number of services to be UP in an order, for it to be considered in Lb decision. persistenceid: - type: raw + type: float description: - The persistence ID for the GSLB virtual server. The ID is a positive integer that enables GSLB sites to identify the GSLB virtual server, and is required if source IP address based or spill over based persistence is enabled on the virtual server. persistencetype: - type: raw + type: str choices: - SOURCEIP - NONE @@ -247,12 +249,12 @@ IP address received in response to the DNS query is used for subsequent requests from the same client. persistmask: - type: raw + type: str description: - The optional IPv4 network mask applied to IPv4 addresses to establish source IP address based persistence. rule: - type: raw + type: str description: - Expression, or name of a named expression, against which traffic is evaluated. - This field is applicable only if gslb method or gslb backup method are set @@ -265,11 +267,11 @@ - '* Alternatively, you can use single quotation marks to enclose the rule, in which case you do not have to escape the double quotation marks.' servicegroupname: - type: raw + type: str description: - The GSLB service group name bound to the selected GSLB virtual server. servicename: - type: raw + type: str description: - Name of the GSLB service for which to change the weight. servicetype: @@ -302,7 +304,7 @@ prefix is configured on a GSLB service) that are associated with this virtual server. sobackupaction: - type: raw + type: str choices: - DROP - ACCEPT @@ -311,7 +313,7 @@ - Action to be performed if spillover is to take effect, but no backup chain to spillover is usable or exists somethod: - type: raw + type: str choices: - CONNECTION - DYNAMICCONNECTION @@ -337,7 +339,7 @@ or gslbSvc2 and gslbSvc3 transition to DOWN.' - '* C(NONE) - Spillover does not occur.' sopersistence: - type: raw + type: str choices: - ENABLED - DISABLED @@ -345,53 +347,55 @@ - If spillover occurs, maintain source IP address based persistence for both primary and backup GSLB virtual servers. sopersistencetimeout: - type: raw + type: float description: - Timeout for spillover persistence, in minutes. sothreshold: - type: raw + type: float description: - Threshold at which spillover occurs. Specify an integer for the CONNECTION spillover method, a bandwidth value in kilobits per second for the BANDWIDTH method (do not enter the units), or a percentage for the HEALTH method (do not enter the percentage symbol). timeout: - type: raw + type: float description: - Idle time, in minutes, after which a persistence entry is cleared. toggleorder: - type: raw + type: str choices: - ASCENDING - DESCENDING description: - Configure this option to toggle order preference tolerance: - type: raw - description: - - Site selection tolerance, in milliseconds, for implementing the RTT load balancing - method. If a site's RTT deviates from the lowest RTT by more than the specified - tolerance, the site is not considered when the Citrix ADC makes a GSLB decision. - The appliance implements the round robin method of global server load balancing - between sites whose RTT values are within the specified tolerance. If the - tolerance is 0 (zero), the appliance always sends clients the IP address of - the site with the lowest RTT. + type: float + description: + - Tolerance in milliseconds. Tolerance value is used in deciding which sites + in a GSLB configuration must be considered for implementing the RTT load balancing + method. The sites having the RTT value less than or equal to the sum of the + lowest RTT and tolerance value are considered. NetScaler implements the round + robin method of global server load balancing among these considered sites. + The sites that have RTT value greater than this value are not considered. + The logic is applied for each LDNS and based on the LDNS, the sites that are + considered might change. For example, a site that is considered for requests + coming from LDNS1 might not be considered for requests coming from LDNS2. ttl: type: float description: - Time to live (TTL) for the domain. v6netmasklen: - type: raw + type: float description: - Number of bits to consider, in an IPv6 source IP address, for creating the hash that is required by the SOURCEIPHASH load balancing method. v6persistmasklen: - type: raw + type: float description: - Number of bits to consider in an IPv6 source IP address when creating source IP address based persistence sessions. weight: - type: raw + type: float description: - Weight for the service. gslbvserver_domain_binding: @@ -524,6 +528,24 @@ """ EXAMPLES = r""" +--- +- name: Sample gslbvserver playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure gslbvserver + delegate_to: localhost + netscaler.adc.gslbvserver: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: backup_gslb_portal.bx.com + servicetype: SSL + backuplbmethod: ROUNDROBIN + tolerance: '0' + appflowlog: DISABLED """ RETURN = r""" diff --git a/plugins/modules/gslbvserver_domain_binding.py b/plugins/modules/gslbvserver_domain_binding.py index a10a5bc57..b8eddd683 100644 --- a/plugins/modules/gslbvserver_domain_binding.py +++ b/plugins/modules/gslbvserver_domain_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: gslbvserver_domain_binding short_description: Binding Resource definition for describing association between gslbvserver and domain resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -92,6 +94,22 @@ """ EXAMPLES = r""" +--- +- name: Sample gslbvserver_domain_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure gslbvserver_domain_binding + delegate_to: localhost + netscaler.adc.gslbvserver_domain_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: GSLB_VSRV_storefront.blackstone.com + domainname: storefront.gslb.blackstone.com + ttl: 5 """ RETURN = r""" diff --git a/plugins/modules/gslbvserver_gslbservice_binding.py b/plugins/modules/gslbvserver_gslbservice_binding.py index f8d114b80..698854a24 100644 --- a/plugins/modules/gslbvserver_gslbservice_binding.py +++ b/plugins/modules/gslbvserver_gslbservice_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: gslbvserver_gslbservice_binding short_description: Binding Resource definition for describing association between gslbvserver and gslbservice resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -64,6 +66,21 @@ """ EXAMPLES = r""" +--- +- name: Sample gslbvserver_gslbservice_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure gslbvserver_gslbservice_binding + delegate_to: localhost + netscaler.adc.gslbvserver_gslbservice_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: backup_gslb_portal.bx.com + servicename: GSLB_SVC_USE2_portal.bx.com """ RETURN = r""" diff --git a/plugins/modules/gslbvserver_gslbservicegroup_binding.py b/plugins/modules/gslbvserver_gslbservicegroup_binding.py index e21763124..69aa6732a 100644 --- a/plugins/modules/gslbvserver_gslbservicegroup_binding.py +++ b/plugins/modules/gslbvserver_gslbservicegroup_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: gslbvserver_gslbservicegroup_binding short_description: Binding Resource definition for describing association between gslbvserver and gslbservicegroup resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/gslbvserver_lbpolicy_binding.py b/plugins/modules/gslbvserver_lbpolicy_binding.py index 97f51702a..5b124e566 100644 --- a/plugins/modules/gslbvserver_lbpolicy_binding.py +++ b/plugins/modules/gslbvserver_lbpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: gslbvserver_lbpolicy_binding short_description: Binding Resource definition for describing association between gslbvserver and lbpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/gslbvserver_spilloverpolicy_binding.py b/plugins/modules/gslbvserver_spilloverpolicy_binding.py index a234af5d9..4d6823dca 100644 --- a/plugins/modules/gslbvserver_spilloverpolicy_binding.py +++ b/plugins/modules/gslbvserver_spilloverpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: gslbvserver_spilloverpolicy_binding short_description: Binding Resource definition for describing association between gslbvserver and spilloverpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/hafailover.py b/plugins/modules/hafailover.py index db5ce74a6..d9849f5e7 100644 --- a/plugins/modules/hafailover.py +++ b/plugins/modules/hafailover.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: hafailover short_description: Configuration for failover resource. description: Configuration for failover resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -43,9 +45,6 @@ """ EXAMPLES = r""" -- name: HA failover - netscaler.adc.hafailover: - force: true """ RETURN = r""" diff --git a/plugins/modules/hafiles.py b/plugins/modules/hafiles.py index 8ab822c1f..7759fa13a 100644 --- a/plugins/modules/hafiles.py +++ b/plugins/modules/hafiles.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: hafiles short_description: Configuration for files resource. description: Configuration for files resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: [] diff --git a/plugins/modules/hanode.py b/plugins/modules/hanode.py index 14c74a172..404a47e9a 100644 --- a/plugins/modules/hanode.py +++ b/plugins/modules/hanode.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: hanode short_description: Configuration for node resource. description: Configuration for node resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,12 +41,12 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str deadinterval: - type: raw + type: float description: - Number of seconds after which a peer node is marked DOWN if heartbeat messages are not received from the peer node. failsafe: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -53,7 +55,7 @@ available node can back up data and handle traffic. This mode is set independently on each node. haprop: - type: raw + type: str choices: - ENABLED - DISABLED @@ -71,7 +73,7 @@ propagation uses port 3010. - 'Note: After enabling propagation, run force synchronization on either node.' hastatus: - type: raw + type: str choices: - ENABLED - STAYSECONDARY @@ -94,7 +96,7 @@ \ normal HA operation without any constraints/preferences. C(DISABLED) state\ \ disables the normal HA operation of the node." hasync: - type: raw + type: str choices: - ENABLED - DISABLED @@ -104,12 +106,12 @@ synchronization requires that this setting be enabled (the default) on the current secondary node. Synchronization uses TCP port 3010. hellointerval: - type: raw + type: float description: - Interval, in milliseconds, between heartbeat messages sent to the peer node. The heartbeat messages are UDP packets sent to port 3003 of the peer node. id: - type: raw + type: float description: - Number that uniquely identifies the node. For self node, it will always be 0. Peer node values can range from 1-64. @@ -131,22 +133,26 @@ - The NSIP or NSIP6 address of the node to be added for an HA configuration. This setting is neither propagated nor synchronized. maxflips: - type: raw + type: float description: - Max number of flips allowed before becoming sticky primary maxfliptime: - type: raw + type: float description: - Interval after which flipping of node states can again start + rpcnodepassword: + type: str + description: + - Password to be used in authentication with the peer rpc node. syncstatusstrictmode: - type: raw + type: str choices: - ENABLED - DISABLED description: - strict mode flag for sync status syncvlan: - type: raw + type: float description: - Vlan on which HA related communication is sent. This include sync, propagation , connection mirroring , LB persistency config sync, persistent session sync @@ -207,16 +213,21 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample hanode playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | HAnode + - name: Configure hanode delegate_to: localhost netscaler.adc.hanode: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - id: 1 - ipaddress: 10.10.10.141 + ipaddress: 10.189.96.60 + inc: ENABLED + hanode_id: '1' """ RETURN = r""" diff --git a/plugins/modules/hanode_routemonitor6_binding.py b/plugins/modules/hanode_routemonitor6_binding.py index 38ce83f00..dfbf50e1d 100644 --- a/plugins/modules/hanode_routemonitor6_binding.py +++ b/plugins/modules/hanode_routemonitor6_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: hanode_routemonitor6_binding short_description: Binding Resource definition for describing association between hanode and routemonitor6 resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/hanode_routemonitor_binding.py b/plugins/modules/hanode_routemonitor_binding.py index eb4cd0e52..ae65eae66 100644 --- a/plugins/modules/hanode_routemonitor_binding.py +++ b/plugins/modules/hanode_routemonitor_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: hanode_routemonitor_binding short_description: Binding Resource definition for describing association between hanode and routemonitor resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/hasync.py b/plugins/modules/hasync.py index e893c85d7..7ec53a115 100644 --- a/plugins/modules/hasync.py +++ b/plugins/modules/hasync.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: hasync short_description: Configuration for sync resource. description: Configuration for sync resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -52,10 +54,6 @@ """ EXAMPLES = r""" -- name: Sync HA Config - netscaler.adc.hasync: - save: "YES" - force: true """ RETURN = r""" diff --git a/plugins/modules/icaaccessprofile.py b/plugins/modules/icaaccessprofile.py index 1dd431003..fa211190b 100644 --- a/plugins/modules/icaaccessprofile.py +++ b/plugins/modules/icaaccessprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: icaaccessprofile short_description: Configuration for ica accessprofile resource. description: Configuration for ica accessprofile resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str clientaudioredirection: - type: raw + type: str choices: - DEFAULT - DISABLED @@ -48,7 +50,7 @@ through a sound device installed on the client computer, also allows or prevents users to record audio input clientclipboardredirection: - type: raw + type: str choices: - DEFAULT - DISABLED @@ -56,29 +58,37 @@ - Allow Default access/Disable the clipboard on the client device to be mapped to the clipboard on the server clientcomportredirection: - type: raw + type: str choices: - DEFAULT - DISABLED description: - Allow Default access/Disable COM port redirection to and from the client clientdriveredirection: - type: raw + type: str choices: - DEFAULT - DISABLED description: - Allow Default access/Disables drive redirection to and from the client clientprinterredirection: - type: raw + type: str choices: - DEFAULT - DISABLED description: - Allow Default access/Disable client printers to be mapped to a server when a user logs on to a session + clienttwaindeviceredirection: + type: str + choices: + - DEFAULT + - DISABLED + description: + - Allow default access or disable TWAIN devices, such as digital cameras or + scanners, on the client device from published image processing applications clientusbdriveredirection: - type: raw + type: str choices: - DEFAULT - DISABLED @@ -86,29 +96,44 @@ - Allow Default access/Disable the redirection of USB devices to and from the client connectclientlptports: - type: raw + type: str choices: - DEFAULT - DISABLED description: - Allow Default access/Disable automatic connection of LPT ports from the client when the user logs on + draganddrop: + type: str + choices: + - DEFAULT + - DISABLED + description: + - Allow default access or disable drag and drop between client and remote applications + and desktops + fido2redirection: + type: str + choices: + - DEFAULT + - DISABLED + description: + - Allow default access or disable FIDO2 redirection localremotedatasharing: - type: raw + type: str choices: - DEFAULT - DISABLED description: - Allow Default access/Disable file/data sharing via the Receiver for HTML5 multistream: - type: raw + type: str choices: - DEFAULT - DISABLED description: - Allow Default access/Disable the multistream feature for the specified users name: - type: raw + type: str description: - Name for the ICA accessprofile. Must begin with a letter, number, or the underscore character (_), and must contain only letters, numbers, and @@ -132,11 +157,41 @@ as DEFAULT, then the Citrix ADC forwards the requests to the backend XenApp/XenDesktop server.It then makes the decision to allow/deny access based on the policy configured on it. + smartcardredirection: + type: str + choices: + - DEFAULT + - DISABLED + description: + - Allow default access or disable smart card redirection. Smart card virtual + channel is always allowed in CVAD + wiaredirection: + type: str + choices: + - DEFAULT + - DISABLED + description: + - Allow default access or disable WIA scanner redirection extends_documentation_fragment: netscaler.adc.netscaler_adc """ EXAMPLES = r""" +--- +- name: Sample icaaccessprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure icaaccessprofile + delegate_to: localhost + netscaler.adc.icaaccessprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ipr + clientclipboardredirection: DEFAULT """ RETURN = r""" diff --git a/plugins/modules/icaaction.py b/plugins/modules/icaaction.py index e00256883..d3f0b27ca 100644 --- a/plugins/modules/icaaction.py +++ b/plugins/modules/icaaction.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: icaaction short_description: Configuration for ica action resource. description: Configuration for ica action resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,15 +41,15 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str accessprofilename: - type: raw + type: str description: - Name of the ica accessprofile to be associated with this action. latencyprofilename: - type: raw + type: str description: - Name of the ica latencyprofile to be associated with this action. name: - type: raw + type: str description: - Name for the ICA action. Must begin with a letter, number, or the underscore character (_), and must contain only letters, numbers, and the hyphen (-), @@ -71,6 +73,21 @@ """ EXAMPLES = r""" +--- +- name: Sample icaaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure icaaction + delegate_to: localhost + netscaler.adc.icaaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia + accessprofilename: ipr """ RETURN = r""" diff --git a/plugins/modules/icaglobal_icapolicy_binding.py b/plugins/modules/icaglobal_icapolicy_binding.py index 4bb5d77fe..69c2d5618 100644 --- a/plugins/modules/icaglobal_icapolicy_binding.py +++ b/plugins/modules/icaglobal_icapolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: icaglobal_icapolicy_binding short_description: Binding Resource definition for describing association between icaglobal and icapolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -73,6 +75,22 @@ """ EXAMPLES = r""" +--- +- name: Sample icaglobal_icapolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure icaglobal_icapolicy_binding + delegate_to: localhost + netscaler.adc.icaglobal_icapolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + policyname: icapol2 + priority: '2' + type: ICA_REQ_DEFAULT """ RETURN = r""" diff --git a/plugins/modules/icalatencyprofile.py b/plugins/modules/icalatencyprofile.py index aece3f88a..54fa6e4ab 100644 --- a/plugins/modules/icalatencyprofile.py +++ b/plugins/modules/icalatencyprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: icalatencyprofile short_description: Configuration for Profile for Latency monitoring resource. description: Configuration for Profile for Latency monitoring resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,37 +41,37 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str l7latencymaxnotifycount: - type: raw + type: float description: - L7 Latency Max notify Count. This is the upper limit on the number of notifications sent to the Insight Center within an interval where the Latency is above the threshold. l7latencymonitoring: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable/Disable L7 Latency monitoring for L7 latency notifications l7latencynotifyinterval: - type: raw + type: float description: - L7 Latency Notify Interval. This is the interval at which the Citrix ADC sends out notifications to the Insight Center after the wait time has passed. l7latencythresholdfactor: - type: raw + type: float description: - L7 Latency threshold factor. This is the factor by which the active latency should be greater than the minimum observed value to determine that the latency is high and may need to be reported l7latencywaittime: - type: raw + type: float description: - L7 Latency Wait time. This is the time for which the Citrix ADC waits after the threshold is exceeded before it sends out a Notification to the Insight Center. name: - type: raw + type: str description: - Name for the ICA latencyprofile. Must begin with a letter, number, or the underscore character (_), and must contain only letters, numbers, and @@ -85,6 +87,21 @@ """ EXAMPLES = r""" +--- +- name: Sample icalatencyprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure icalatencyprofile + delegate_to: localhost + netscaler.adc.icalatencyprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: l6 + l7latencywaittime: '5' """ RETURN = r""" diff --git a/plugins/modules/icaparameter.py b/plugins/modules/icaparameter.py index edac4cfd9..9be74f1a9 100644 --- a/plugins/modules/icaparameter.py +++ b/plugins/modules/icaparameter.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: icaparameter short_description: Configuration for Config Parameters for NS ICA resource. description: Configuration for Config Parameters for NS ICA resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -36,26 +38,40 @@ the module's parameters. - When C(unset), the resource will be unset on the NetScaler ADC node. type: str + edtlossy: + type: str + choices: + - ENABLED + - DISABLED + description: + - Enable/Disable EDT Lossy feature edtpmtuddf: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable/Disable DF enforcement for EDT PMTUD Control Blocks edtpmtuddftimeout: - type: raw + type: float description: - DF enforcement timeout for EDTPMTUDDF + edtpmtudrediscovery: + type: str + choices: + - ENABLED + - DISABLED + description: + - Enable/Disable EDT PMTUD Rediscovery enablesronhafailover: - type: raw + type: str choices: - 'YES' - 'NO' description: - Enable/Disable Session Reliability on HA failover. The default value is No hdxinsightnonnsap: - type: raw + type: str choices: - 'YES' - 'NO' @@ -63,7 +79,7 @@ - Enable/Disable HDXInsight for Non NSAP ICA Sessions. The default value is Yes l7latencyfrequency: - type: raw + type: float description: - Specify the time interval/period for which L7 Client Latency value is to be calculated. By default, L7 Client Latency is calculated for every packet. diff --git a/plugins/modules/icapolicy.py b/plugins/modules/icapolicy.py index 64c7ebdfd..d1a35dae8 100644 --- a/plugins/modules/icapolicy.py +++ b/plugins/modules/icapolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: icapolicy short_description: Configuration for ICA policy resource. description: Configuration for ICA policy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -43,15 +45,15 @@ description: - Name of the ica action to be associated with this policy. comment: - type: raw + type: str description: - Any type of information about this ICA policy. logaction: - type: raw + type: str description: - Name of the messagelog action to use for requests that match this policy. name: - type: raw + type: str description: - Name for the policy. Must begin with an ASCII alphabetic or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash (#), @@ -90,6 +92,22 @@ """ EXAMPLES = r""" +--- +- name: Sample icapolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure icapolicy + delegate_to: localhost + netscaler.adc.icapolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ipo + rule: HTTP.REQ.USER.IS_MEMBER_OF("g1") + action: ia """ RETURN = r""" diff --git a/plugins/modules/inat.py b/plugins/modules/inat.py index 643c98a93..698f33fc7 100644 --- a/plugins/modules/inat.py +++ b/plugins/modules/inat.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: inat short_description: Configuration for inbound nat resource. description: Configuration for inbound nat resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str connfailover: - type: raw + type: str choices: - ENABLED - DISABLED @@ -48,7 +50,7 @@ availability (HA) pair. That is, synchronize all connection-related information for the INAT session ftp: - type: raw + type: str choices: - ENABLED - DISABLED @@ -56,13 +58,13 @@ - Enable the FTP protocol on the server for transferring files between the client and the server. mode: - type: raw + type: str choices: - STATELESS description: - Stateless translation. name: - type: raw + type: str description: - 'Name for the Inbound NAT (INAT) entry. Leading character must be a number or letter. Other characters allowed, after the first character, are @ _ - @@ -73,7 +75,7 @@ - IP address of the server to which the packet is sent by the Citrix ADC. Can be an IPv4 or IPv6 address. proxyip: - type: raw + type: str description: - Unique IP address used as the source IP address in packets sent to the server. Must be a MIP or SNIP address. @@ -83,7 +85,7 @@ - Public IP address of packets received on the Citrix ADC. Can be aNetScaler-owned VIP or VIP6 address. tcpproxy: - type: raw + type: str choices: - ENABLED - DISABLED @@ -97,14 +99,14 @@ to configure the entity. If you do not specify an ID, the entity becomes part of the default traffic domain, which has an ID of 0. tftp: - type: raw + type: str choices: - ENABLED - DISABLED description: - To enable/disable TFTP (Default C(DISABLED)). useproxyport: - type: raw + type: str choices: - ENABLED - DISABLED @@ -112,7 +114,7 @@ - Enable the Citrix ADC to proxy the source port of packets before sending the packets to the server. usip: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -120,7 +122,7 @@ - Enable the Citrix ADC to retain the source IP address of packets before sending the packets to the server. usnip: - type: raw + type: str choices: - 'ON' - 'OFF' diff --git a/plugins/modules/inatparam.py b/plugins/modules/inatparam.py index ac149e7b0..123d32c9f 100644 --- a/plugins/modules/inatparam.py +++ b/plugins/modules/inatparam.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: inatparam short_description: Configuration for INAT parameter resource. description: Configuration for INAT parameter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -57,7 +59,7 @@ - MTU setting for the IPv6 side. If the incoming IPv4 packet greater than this, either fragment or send icmp need fragmentation error. nat46v6prefix: - type: raw + type: str description: - The prefix used for translating packets received from private IPv6 servers into IPv4 packets. This prefix has a length of 96 bits (128-32 = 96). The @@ -74,7 +76,7 @@ description: - Calculate checksum for UDP packets with zero checksum td: - type: raw + type: float description: - Integer value that uniquely identifies the traffic domain in which you want to configure the entity. If you do not specify an ID, the entity becomes part @@ -84,6 +86,20 @@ """ EXAMPLES = r""" +--- +- name: Sample inatparam playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure inatparam + delegate_to: localhost + netscaler.adc.inatparam: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + nat46fragheader: DISABLED """ RETURN = r""" diff --git a/plugins/modules/install.py b/plugins/modules/install.py index 3f1b7d042..055215ee3 100644 --- a/plugins/modules/install.py +++ b/plugins/modules/install.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: install short_description: Configuration for 0 resource. description: Configuration for 0 resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: [] @@ -31,6 +33,14 @@ - The state of the resource being configured by the module on the NetScaler ADC node. type: str + async: + type: bool + description: + - Use this flag to return the install id when the nitro api request is sent. + - The id can be used later to track the installation progress via show ns job + command. + - For the cli request of install the flag is by default set as false as the + installation progress details can be tracked via cli a: type: bool description: @@ -41,14 +51,6 @@ send system, usage and telemetry data to Citrix ADM service. View here [https://docs.citrix.com/en-us/citrix-adc/13/data-governance.html] to learn more about this feature. Use of this feature is subject to the Citrix End User ServiceAgreement. View here [https://www.citrix.com/buy/licensing/agreements.html]. - async: - type: bool - description: - - Use this flag to return the install id when the nitro api request is sent. - - The id can be used later to track the installation progress via show ns job - command. - - For the cli request of install the flag is by default set as false as the - installation progress details can be tracked via cli enhancedupgrade: type: bool description: diff --git a/plugins/modules/interface.py b/plugins/modules/interface.py new file mode 100644 index 000000000..54ba89580 --- /dev/null +++ b/plugins/modules/interface.py @@ -0,0 +1,387 @@ +#!/usr/bin/python + +# -*- coding: utf-8 -*- + +# Copyright (c) 2023 Cloud Software Group, Inc. +# MIT License (see LICENSE or https://opensource.org/licenses/MIT) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + + +ANSIBLE_METADATA = { + "metadata_version": "1.1", + "status": ["preview"], + "supported_by": "community", +} + +DOCUMENTATION = r""" +--- +module: interface +short_description: Configuration for interface resource. +description: Configuration for interface resource. +version_added: 2.0.0 +author: + - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) +options: + state: + choices: + - present + - enabled + - disabled + - unset + default: present + description: + - The state of the resource being configured by the module on the NetScaler + ADC node. + - When C(present), the resource will be added/updated configured according to + the module's parameters. + - When C(enabled), the resource will be enabled on the NetScaler ADC node. + - When C(disabled), the resource will be disabled on the NetScaler ADC node. + - When C(unset), the resource will be unset on the NetScaler ADC node. + type: str + autoneg: + type: str + choices: + - DISABLED + - ENABLED + description: + - Auto-negotiation state of the interface. With the C(ENABLED) setting, the + Citrix ADC auto-negotiates the speed and duplex settings with the peer network + device on the link. The Citrix ADC appliance auto-negotiates the settings + of only those parameters (speed or duplex mode) for which the value is set + as AUTO. + bandwidthhigh: + type: float + description: + - High threshold value for the bandwidth usage of the interface, in Mbps. The + Citrix ADC generates an SNMP trap message when the bandwidth usage of the + interface is greater than or equal to the specified high threshold value. + bandwidthnormal: + type: float + description: + - Normal threshold value for the bandwidth usage of the interface, in Mbps. + When the bandwidth usage of the interface becomes less than or equal to the + specified normal threshold after exceeding the high threshold, the Citrix + ADC generates an SNMP trap message to indicate that the bandwidth usage has + returned to normal. + duplex: + type: str + choices: + - AUTO + - HALF + - FULL + description: + - The duplex mode for the interface. Notes:* If you set the duplex mode to C(AUTO), + the Citrix ADC attempts to auto-negotiate the duplex mode of the interface + when it is UP. You must enable auto negotiation on the interface. If you set + a duplex mode other than C(AUTO), you must specify the same duplex mode for + the peer network device. Mismatched speed and duplex settings between the + peer devices of a link lead to link errors, packet loss, and other errors. + flowctl: + type: str + choices: + - 'OFF' + - RX + - TX + - RXTX + - 'ON' + description: + - 802.3x flow control setting for the interface. The 802.3x specification does + not define flow control for 10 Mbps and 100 Mbps speeds, but if a Gigabit + Ethernet interface operates at those speeds, the flow control settings can + be applied. The flow control setting that is finally applied to an interface + depends on auto-negotiation. With the C(ON) option, the peer negotiates the + flow control, but the appliance then forces two-way flow control for the interface. + haheartbeat: + type: str + choices: + - 'OFF' + - 'ON' + description: + - In a High Availability (HA) or Cluster configuration, configure the interface + for sending heartbeats. In an HA or Cluster configuration, an interface that + has HA Heartbeat disabled should not send the heartbeats. + hamonitor: + type: str + choices: + - 'ON' + - 'OFF' + description: + - In a High Availability (HA) configuration, monitor the interface for failure + events. In an HA configuration, an interface that has HA MON enabled and is + not bound to any Failover Interface Set (FIS), is a critical interface. Failure + or disabling of any critical interface triggers HA failover. + id: + type: str + description: + - 'Interface number, in C/U format, where C can take one of the following values:' + - '* 0 - Indicates a management interface.' + - '* 1 - Indicates a 1 Gbps port.' + - '* 10 - Indicates a 10 Gbps port.' + - '* LA - Indicates a link aggregation port.' + - '* LO - Indicates a loop back port.' + - U is a unique integer for representing an interface in a particular port group. + ifalias: + type: str + description: + - Alias name for the interface. Used only to enhance readability. To perform + any operations, you have to specify the interface ID. + lacpkey: + type: float + description: + - Integer identifying the LACP LA channel to which the interface is to be bound. + - For an LA channel of the Citrix ADC, this digit specifies the variable x of + an LA channel in LA/x notation, where x can range from 1 to 8. For example, + if you specify 3 as the LACP key for an LA channel, the interface is bound + to the LA channel LA/3. + - For an LA channel of a cluster configuration, this digit specifies the variable + y of a cluster LA channel in CLA/(y-4) notation, where y can range from 5 + to 8. For example, if you specify 6 as the LACP key for a cluster LA channel, + the interface is bound to the cluster LA channel CLA/2. + lacpmode: + type: str + choices: + - DISABLED + - ACTIVE + - PASSIVE + description: + - Bind the interface to a LA channel created by the Link Aggregation control + protocol (LACP). + - 'Available settings function as follows:' + - '* Active - The LA channel port of the Citrix ADC generates LACPDU messages + on a regular basis, regardless of any need expressed by its peer device to + receive them.' + - '* Passive - The LA channel port of the Citrix ADC does not transmit LACPDU + messages unless the peer device port is in the active mode. That is, the port + does not speak unless spoken to.' + - '* Disabled - Unbinds the interface from the LA channel. If this is the only + interface in the LA channel, the LA channel is removed.' + lacppriority: + type: float + description: + - LACP port priority, expressed as an integer. The lower the number, the higher + the priority. The Citrix ADC limits the number of interfaces in an LA channel + to sixteen. + lacptimeout: + type: str + choices: + - LONG + - SHORT + description: + - Interval at which the Citrix ADC sends LACPDU messages to the peer device + on the LA channel. + - 'Available settings function as follows:' + - C(LONG) - 30 seconds. + - C(SHORT) - 1 second. + lagtype: + type: str + choices: + - NODE + - CLUSTER + description: + - Type of entity (Citrix ADC or cluster configuration) for which to create the + channel. + linkredundancy: + type: str + choices: + - 'ON' + - 'OFF' + description: + - Link Redundancy for Cluster LAG. + lldpmode: + type: str + choices: + - NONE + - TRANSMITTER + - RECEIVER + - TRANSCEIVER + description: + - Link Layer Discovery Protocol (LLDP) mode for an interface. The resultant + LLDP mode of an interface depends on the LLDP mode configured at the global + and the interface levels. + lrsetpriority: + type: float + description: + - LRSET port priority, expressed as an integer ranging from 1 to 1024. The highest + priority is 1. The Citrix ADC limits the number of interfaces in an LRSET + to 8. Within a LRSET the highest LR Priority Interface is considered as the + first candidate for the Active interface, if the interface is UP. + mtu: + type: float + description: + - The Maximum Transmission Unit (MTU) is the largest packet size, measured in + bytes excluding 14 bytes ethernet header and 4 bytes CRC, that can be transmitted + and received by an interface. The default value of MTU is 1500 on all the + interface of Citrix ADC, some Cloud Platforms will restrict Citrix ADC to + use the lesser default value. Any MTU value more than 1500 is called Jumbo + MTU and will make the interface as jumbo enabled. The Maximum Jumbo MTU in + Citrix ADC is 9216, however, some Virtualized / Cloud Platforms will have + lesser Maximum Jumbo MTU Value (9000). In the case of Cluster, the Backplane + interface requires an MTU value of 78 bytes more than the Max MTU configured + on any other Data-Plane Interface. When the Data plane interfaces are all + at default 1500 MTU, Cluster Back Plane will be automatically set to 1578 + (1500 + 78) MTU. If a Backplane interface is reset to Data Plane Interface, + then the 1578 MTU will be automatically reset to the default MTU of 1500(or + whatever lesser default value). If any data plane interface of a Cluster is + configured with a Jumbo MTU ( > 1500), then all backplane interfaces require + to be configured with a minimum MTU of 'Highest Data Plane MTU in the Cluster + + 78'. That makes the maximum Jumbo MTU for any Data-Plane Interface in a + Cluster System to be '9138 (9216 - 78)., where 9216 is the maximum Jumbo MTU. + On certain Virtualized / Cloud Platforms, the maximum possible MTU is restricted + to a lesser value, Similar calculation can be applied, Maximum Data Plane + MTU in Cluster = (Maximum possible MTU - 78). + ringsize: + type: float + description: + - The receive ringsize of the interface. A higher number provides more number + of buffers in handling incoming traffic. + ringtype: + type: str + choices: + - Elastic + - Fixed + description: + - The receive ringtype of the interface (C(Fixed) or C(Elastic)). A fixed ring + type pre-allocates configured number of buffers irrespective of traffic rate. + In contrast, an elastic ring, expands and shrinks based on incoming traffic + rate. + speed: + type: str + choices: + - AUTO + - '10' + - '100' + - '1000' + - '10000' + - '25000' + - '40000' + - '50000' + - '100000' + description: + - Ethernet speed of the interface, in Mbps. + - 'Notes:' + - '* If you set the speed as AUTO, the Citrix ADC attempts to auto-negotiate + or auto-sense the link speed of the interface when it is UP. You must enable + auto negotiation on the interface.' + - '* If you set a speed other than AUTO, you must specify the same speed for + the peer network device. Mismatched speed and duplex settings between the + peer devices of a link lead to link errors, packet loss, and other errors.' + - Some interfaces do not support certain speeds. If you specify an unsupported + speed, an error message appears. + tagall: + type: str + choices: + - 'ON' + - 'OFF' + description: + - Add a four-byte 802.1q tag to every packet sent on this interface. The C(ON) + setting applies the tag for this interface's native VLAN. C(OFF) applies the + tag for all VLANs other than the native VLAN. + throughput: + type: float + description: + - Low threshold value for the throughput of the interface, in Mbps. In an HA + configuration, failover is triggered if the interface has HA MON enabled and + the throughput is below the specified the threshold. + trunk: + type: str + choices: + - 'ON' + - 'OFF' + description: + - This argument is deprecated by tagall. + trunkallowedvlan: + type: list + description: + - 'VLAN ID or range of VLAN IDs will be allowed on this trunk interface. In + the command line interface, separate the range with a hyphen. For example: + 40-90.' + elements: str + trunkmode: + type: str + choices: + - 'ON' + - 'OFF' + description: + - Accept and send 802.1q VLAN tagged packets, based on Allowed Vlan List of + this interface. +extends_documentation_fragment: netscaler.adc.netscaler_adc + +""" + +EXAMPLES = r""" +--- +- name: Sample interface playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure interface + delegate_to: localhost + netscaler.adc.interface: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + hamonitor: 'OFF' + haheartbeat: 'OFF' + throughput: '0' + bandwidthhigh: '0' + bandwidthnormal: '0' + intftype: Loopback + ifnum: + - LO/1 + interface_id: LO/1 +""" + +RETURN = r""" +--- +changed: + description: Indicates if any change is made by the module + returned: always + type: bool + sample: true +diff: + description: Dictionary of before and after changes + returned: always + type: dict + sample: {'before': {'key1': 'xyz'}, 'after': {'key2': 'pqr'}, 'prepared': 'changes + done'} +diff_list: + description: List of differences between the actual configured object and the configuration + specified in the module + returned: when changed + type: list + sample: ["Attribute `key1` differs. Desired: () XYZ. Existing: () PQR"] +failed: + description: Indicates if the module failed or not + returned: always + type: bool + sample: false +loglines: + description: list of logged messages by the module + returned: always + type: list + sample: ['message 1', 'message 2'] + +""" + + +import os + +from ..module_utils.module_executor import ModuleExecutor + +RESOURCE_NAME = os.path.basename(__file__).replace(".py", "") + + +def main(): + executor = ModuleExecutor(RESOURCE_NAME) + executor.main() + + +if __name__ == "__main__": + main() diff --git a/plugins/modules/interfacepair.py b/plugins/modules/interfacepair.py index 0cbf8a83b..815ea8f37 100644 --- a/plugins/modules/interfacepair.py +++ b/plugins/modules/interfacepair.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: interfacepair short_description: Configuration for "Interface Pair" resource. description: Configuration for "Interface Pair" resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/ip6tunnel.py b/plugins/modules/ip6tunnel.py index a80df8157..57515bdf3 100644 --- a/plugins/modules/ip6tunnel.py +++ b/plugins/modules/ip6tunnel.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: ip6tunnel short_description: Configuration for ip6 Tunnel resource. description: Configuration for ip6 Tunnel resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/ip6tunnelparam.py b/plugins/modules/ip6tunnelparam.py index 8a62dffa8..74bcdfcaa 100644 --- a/plugins/modules/ip6tunnelparam.py +++ b/plugins/modules/ip6tunnelparam.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: ip6tunnelparam short_description: Configuration for ip6 tunnel parameter resource. description: Configuration for ip6 tunnel parameter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,23 +39,23 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str dropfrag: - type: raw + type: str choices: - 'YES' - 'NO' description: - Drop any packet that requires fragmentation. dropfragcputhreshold: - type: raw + type: float description: - Threshold value, as a percentage of CPU usage, at which to drop packets that require fragmentation. Applies only if dropFragparameter is set to NO. srcip: - type: raw + type: str description: - Common source IPv6 address for all IPv6 tunnels. Must be a SNIP6 or VIP6 address. srciproundrobin: - type: raw + type: str choices: - 'YES' - 'NO' @@ -64,7 +66,7 @@ for all the IPv6 tunnels. This setting does not apply to a tunnel for which a source IPv6 address has been specified. useclientsourceipv6: - type: raw + type: str choices: - 'YES' - 'NO' @@ -77,13 +79,17 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample ip6tunnelparam playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | ip6TunnelParam + - name: Configure ip6tunnelparam delegate_to: localhost netscaler.adc.ip6tunnelparam: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present srcip: '::' """ diff --git a/plugins/modules/ipsecalgprofile.py b/plugins/modules/ipsecalgprofile.py index fa7277c7d..adf71cf49 100644 --- a/plugins/modules/ipsecalgprofile.py +++ b/plugins/modules/ipsecalgprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: ipsecalgprofile short_description: Configuration for IPSEC ALG profile resource. description: Configuration for IPSEC ALG profile resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str connfailover: - type: raw + type: str choices: - ENABLED - DISABLED @@ -48,19 +50,19 @@ After a failover, established UDP connections and ESP packet flows are kept active and resumed on the secondary appliance. Recomended setting is C(ENABLED). espgatetimeout: - type: raw + type: float description: - Timeout ESP in seconds as no ESP packets are seen after IKE negotiation espsessiontimeout: - type: raw + type: float description: - ESP session timeout in minutes. ikesessiontimeout: - type: raw + type: float description: - IKE session timeout in minutes name: - type: raw + type: str description: - The name of the ipsec alg profile extends_documentation_fragment: netscaler.adc.netscaler_adc diff --git a/plugins/modules/ipsecalgsession.py b/plugins/modules/ipsecalgsession.py index 0fd3eb778..1a3c0b5fa 100644 --- a/plugins/modules/ipsecalgsession.py +++ b/plugins/modules/ipsecalgsession.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: ipsecalgsession short_description: Configuration for IPSEC ALG session resource. description: Configuration for IPSEC ALG session resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/ipsecparameter.py b/plugins/modules/ipsecparameter.py index 67e6ea0fd..701fdf4f7 100644 --- a/plugins/modules/ipsecparameter.py +++ b/plugins/modules/ipsecparameter.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: ipsecparameter short_description: Configuration for IPSEC paramter resource. description: Configuration for IPSEC paramter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,15 +39,16 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str encalgo: - type: raw + type: list choices: - AES - AES192 - AES256 description: - 'Type of encryption algorithm (Note: Selection of C(AES) enables AES128)' + elements: str hashalgo: - type: raw + type: list choices: - HMAC_SHA1 - HMAC_SHA256 @@ -54,41 +57,42 @@ - HMAC_MD5 description: - Type of hashing algorithm + elements: str ikeretryinterval: - type: raw + type: float description: - IKE retry interval for bringing up the connection ikeversion: - type: raw + type: str choices: - V1 - V2 description: - IKE Protocol Version lifetime: - type: raw + type: float description: - Lifetime of IKE SA in seconds. Lifetime of IPSec SA will be (lifetime of IKE SA/8) livenesscheckinterval: - type: raw + type: float description: - Number of seconds after which a notify payload is sent to check the liveliness of the peer. Additional retries are done as per retransmit interval setting. Zero value disables liveliness checks. perfectforwardsecrecy: - type: raw + type: str choices: - ENABLE - DISABLE description: - Enable/Disable PFS. replaywindowsize: - type: raw + type: float description: - IPSec Replay window size for the data traffic retransmissiontime: - type: raw + type: float description: - The interval in seconds to retry sending the IKE messages to peer, three consecutive attempts are done with doubled interval after every failure, diff --git a/plugins/modules/ipsecprofile.py b/plugins/modules/ipsecprofile.py index 02a83466d..cb46a9dfc 100644 --- a/plugins/modules/ipsecprofile.py +++ b/plugins/modules/ipsecprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: ipsecprofile short_description: Configuration for IPSEC profile resource. description: Configuration for IPSEC profile resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -119,6 +121,27 @@ """ EXAMPLES = r""" +--- +- name: Sample ipsecprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure ipsecprofile + delegate_to: localhost + netscaler.adc.ipsecprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia_ipsecpro10 + publickey: sample + privatekey: sample + peerpublickey: sample + livenesscheckinterval: '23' + replaywindowsize: '23' + ikeretryinterval: '60' + retransmissiontime: '23' """ RETURN = r""" diff --git a/plugins/modules/ipset.py b/plugins/modules/ipset.py index 5a739567a..7682beedb 100644 --- a/plugins/modules/ipset.py +++ b/plugins/modules/ipset.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: ipset short_description: Configuration for network ipset resource. description: Configuration for network ipset resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -106,25 +108,19 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample ipset playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: IPSET | ADD + - name: Configure ipset delegate_to: localhost - register: result - tags: test netscaler.adc.ipset: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - name: ipset-001 - - name: IPSET | DELETE - delegate_to: localhost - register: result - check_mode: false - tags: test - netscaler.adc.ipset: - state: absent - name: ipset-001 + name: ipset_adns """ RETURN = r""" diff --git a/plugins/modules/ipset_nsip6_binding.py b/plugins/modules/ipset_nsip6_binding.py index 3524d22eb..9ea4f3a39 100644 --- a/plugins/modules/ipset_nsip6_binding.py +++ b/plugins/modules/ipset_nsip6_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: ipset_nsip6_binding short_description: Binding Resource definition for describing association between ipset and nsip6 resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/ipset_nsip_binding.py b/plugins/modules/ipset_nsip_binding.py index 0c733c954..bb3c83a6e 100644 --- a/plugins/modules/ipset_nsip_binding.py +++ b/plugins/modules/ipset_nsip_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: ipset_nsip_binding short_description: Binding Resource definition for describing association between ipset and nsip resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -51,6 +53,22 @@ """ EXAMPLES = r""" +--- +- name: Sample ipset_nsip_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure ipset_nsip_binding + delegate_to: localhost + netscaler.adc.ipset_nsip_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ipset_adns + ipaddress: + - 10.189.33.7 """ RETURN = r""" diff --git a/plugins/modules/iptunnel.py b/plugins/modules/iptunnel.py index 6dc32a889..f5fd09cef 100644 --- a/plugins/modules/iptunnel.py +++ b/plugins/modules/iptunnel.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: iptunnel short_description: Configuration for ip Tunnel resource. description: Configuration for ip Tunnel resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str destport: - type: raw + type: int description: - Specifies UDP destination port for Geneve packets. Default port is 6081. grepayload: @@ -60,7 +62,7 @@ - Type of Citrix ADC owned public IPv4 address, configured on the local Citrix ADC and used to set up the tunnel. name: - type: raw + type: str description: - 'Name for the IP tunnel. Leading character must be a number or letter. Other characters allowed, after the first character, are @ _ - . (period) : (colon) @@ -89,7 +91,7 @@ description: - Subnet mask of the remote IP address of the tunnel. tosinherit: - type: raw + type: str choices: - ENABLED - DISABLED @@ -102,7 +104,7 @@ description: - The vlan for mulicast packets vlantagging: - type: raw + type: str choices: - ENABLED - DISABLED @@ -118,6 +120,24 @@ """ EXAMPLES = r""" +--- +- name: Sample iptunnel playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure iptunnel + delegate_to: localhost + netscaler.adc.iptunnel: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: t11 + remote: 1.1.1.14 + remotesubnetmask: 255.255.255.255 + local: 1.1.1.22 + protocol: VXLAN """ RETURN = r""" diff --git a/plugins/modules/iptunnelparam.py b/plugins/modules/iptunnelparam.py index 57652e9d0..d1ea637d5 100644 --- a/plugins/modules/iptunnelparam.py +++ b/plugins/modules/iptunnelparam.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: iptunnelparam short_description: Configuration for ip tunnel parameter resource. description: Configuration for ip tunnel parameter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,7 +39,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str dropfrag: - type: raw + type: str choices: - 'YES' - 'NO' @@ -45,37 +47,37 @@ - Drop any IP packet that requires fragmentation before it is sent through the tunnel. dropfragcputhreshold: - type: raw + type: float description: - Threshold value, as a percentage of CPU usage, at which to drop packets that require fragmentation to use the IP tunnel. Applies only if dropFragparameter is set to NO. The default value, 0, specifies that this parameter is not set. enablestrictrx: - type: raw + type: str choices: - 'YES' - 'NO' description: - Strict PBR check for IPSec packets received through tunnel enablestricttx: - type: raw + type: str choices: - 'YES' - 'NO' description: - Strict PBR check for packets to be sent IPSec protected mac: - type: raw + type: str description: - The shared MAC used for shared IP between cluster nodes/HA peers srcip: - type: raw + type: str description: - Common source-IP address for all tunnels. For a specific tunnel, this global setting is overridden if you have specified another source IP address. Must be a MIP or SNIP address. srciproundrobin: - type: raw + type: str choices: - 'YES' - 'NO' @@ -86,7 +88,7 @@ for all the IP tunnels. This setting does not apply to a tunnel for which a source IP address has been specified. useclientsourceip: - type: raw + type: str choices: - 'YES' - 'NO' @@ -97,6 +99,20 @@ """ EXAMPLES = r""" +--- +- name: Sample iptunnelparam playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure iptunnelparam + delegate_to: localhost + netscaler.adc.iptunnelparam: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + srciproundrobin: 'YES' """ RETURN = r""" diff --git a/plugins/modules/ipv6.py b/plugins/modules/ipv6.py index 063e74945..40bf8a1fe 100644 --- a/plugins/modules/ipv6.py +++ b/plugins/modules/ipv6.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: ipv6 short_description: Configuration for ip v6 resource. description: Configuration for ip v6 resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,7 +39,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str dodad: - type: raw + type: str choices: - ENABLED - DISABLED @@ -47,7 +49,7 @@ whether they are obtained through stateless auto configuration, DHCPv6, or manual configuration. natprefix: - type: raw + type: str description: - Prefix used for translating packets from private IPv6 servers to IPv4 packets. This prefix has a length of 96 bits (128-32 = 96). The IPv6 servers embed @@ -57,19 +59,19 @@ addressed to this prefix have to be routed to the Citrix ADC to ensure that the IPv6-IPv4 translation is done by the appliance. ndbasereachtime: - type: raw + type: float description: - Base reachable time of the Neighbor Discovery (ND6) protocol. The time, in milliseconds, that the Citrix ADC assumes an adjacent device is reachable after receiving a reachability confirmation. ndretransmissiontime: - type: raw + type: float description: - Retransmission time of the Neighbor Discovery (ND6) protocol. The time, in milliseconds, between retransmitted Neighbor Solicitation (NS) messages, to an adjacent device. ralearning: - type: raw + type: str choices: - ENABLED - DISABLED @@ -77,20 +79,20 @@ - Enable the Citrix ADC to learn about various routes from Router Advertisement (RA) and Router Solicitation (RS) messages sent by the routers. routerredirection: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable the Citrix ADC to do Router Redirection. td: - type: raw + type: float description: - Integer value that uniquely identifies the traffic domain in which you want to configure the entity. If you do not specify an ID, the entity becomes part of the default traffic domain, which has an ID of 0. usipnatprefix: - type: raw + type: str description: - IPV6 NATPREFIX used in NAT46 scenario when USIP is turned on extends_documentation_fragment: netscaler.adc.netscaler_adc @@ -98,6 +100,24 @@ """ EXAMPLES = r""" +--- +- name: Sample ipv6 playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure ipv6 + delegate_to: localhost + netscaler.adc.ipv6: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + routerredirection: ENABLED + ndbasereachtime: '20000' + ndretransmissiontime: '2000' + natprefix: 2001::/96 + dodad: ENABLED """ RETURN = r""" diff --git a/plugins/modules/l2param.py b/plugins/modules/l2param.py index dce5206b6..3e6acc7b5 100644 --- a/plugins/modules/l2param.py +++ b/plugins/modules/l2param.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: l2param short_description: Configuration for Layer 2 related parameter resource. description: Configuration for Layer 2 related parameter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,14 +39,14 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str bdggrpproxyarp: - type: raw + type: str choices: - ENABLED - DISABLED description: - Set/reset proxy ARP in bridge group deployment bdgsetting: - type: raw + type: str choices: - ENABLED - DISABLED @@ -53,28 +55,28 @@ independently. Otherwise, when L2 mode is ON, learned MAC entries on a PE will be broadcasted to all other PEs. bridgeagetimeout: - type: raw + type: float description: - Time-out value for the bridge table entries, in seconds. The new value applies only to the entries that are dynamically learned after the new value is set. Previously existing bridge table entries expire after the previously configured time-out value. garponvridintf: - type: raw + type: str choices: - ENABLED - DISABLED description: - Send GARP messagess on VRID-configured interfaces upon failover garpreply: - type: raw + type: str choices: - ENABLED - DISABLED description: - Set/reset REPLY form of GARP macmodefwdmypkt: - type: raw + type: str choices: - ENABLED - DISABLED @@ -82,44 +84,44 @@ - Allows MAC mode vserver to pick and forward the packets even if it is destined to Citrix ADC owned VIP. maxbridgecollision: - type: raw + type: float description: - Maximum bridge collision for loop detection mbfinstlearning: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable instant learning of MAC changes in MBF mode. mbfpeermacupdate: - type: raw + type: float description: - When mbf_instant_learning is enabled, learn any changes in peer's MAC after this time interval, which is in 10ms ticks. proxyarp: - type: raw + type: str choices: - ENABLED - DISABLED description: - Proxies the ARP as Citrix ADC MAC for FreeBSD. returntoethernetsender: - type: raw + type: str choices: - ENABLED - DISABLED description: - Return to ethernet sender. rstintfonhafo: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable the reset interface upon HA failover. skipproxyingbsdtraffic: - type: raw + type: str choices: - ENABLED - DISABLED @@ -128,21 +130,21 @@ Enabled, source parameters are retained. Else proxy the source parameters based on next hop. stopmacmoveupdate: - type: raw + type: str choices: - ENABLED - DISABLED description: - Stop Update of server mac change to NAT sessions. usemymac: - type: raw + type: str choices: - ENABLED - DISABLED description: - Use Citrix ADC MAC for all outgoing packets. usenetprofilebsdtraffic: - type: raw + type: str choices: - ENABLED - DISABLED @@ -155,6 +157,20 @@ """ EXAMPLES = r""" +--- +- name: Sample l2param playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure l2param + delegate_to: localhost + netscaler.adc.l2param: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + returntoethernetsender: ENABLED """ RETURN = r""" diff --git a/plugins/modules/l3param.py b/plugins/modules/l3param.py index a61951553..7c6b000ee 100644 --- a/plugins/modules/l3param.py +++ b/plugins/modules/l3param.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: l3param short_description: Configuration for Layer 3 related parameter resource. description: Configuration for Layer 3 related parameter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,32 +39,32 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str acllogtime: - type: raw + type: str description: - Parameter to tune acl logging time allowclasseipv4: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable/Disable IPv4 Class E address clients dropdfflag: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable dropping the IP DF flag. dropipfragments: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable dropping of IP fragments. dynamicrouting: - type: raw + type: str choices: - ENABLED - DISABLED @@ -70,46 +72,53 @@ - Enable/Disable Dynamic routing on partition. This configuration is not applicable to default partition externalloopback: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable external loopback. forwardicmpfragments: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable forwarding of ICMP fragments. icmpgenratethreshold: - type: raw + type: float description: - NS generated ICMP pkts per 10ms rate threshold implicitaclallow: - type: raw + type: str choices: - ENABLED - DISABLED description: - Do not apply ACLs for internal ports + implicitpbr: + type: str + choices: + - ENABLED + - DISABLED + description: + - Enable/Disable Policy Based Routing for control packets ipv6dynamicrouting: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable/Disable IPv6 Dynamic routing miproundrobin: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable round robin usage of mapped IPs. overridernat: - type: raw + type: str choices: - ENABLED - DISABLED @@ -117,14 +126,14 @@ - USNIP/USIP settings override RNAT settings for configured - ' service/virtual server traffic..' srcnat: - type: raw + type: str choices: - ENABLED - DISABLED description: - Perform NAT if only the source is in the private network tnlpmtuwoconn: - type: raw + type: str choices: - ENABLED - DISABLED @@ -132,7 +141,7 @@ - Enable/Disable learning PMTU of IP tunnel when ICMP error does not contain connection information. usipserverstraypkt: - type: raw + type: str choices: - ENABLED - DISABLED @@ -144,20 +153,19 @@ EXAMPLES = r""" --- -- name: Sample Task - hosts: localhost +- name: Sample l3param playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample task | set l3param + - name: Configure l3param delegate_to: localhost netscaler.adc.l3param: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - acllogtime: 3000 - - name: Sample task | unset l3param - delegate_to: localhost - netscaler.adc.l3param: - state: unset - acllogtime: "true" + icmperrgenerate: DISABLED """ RETURN = r""" diff --git a/plugins/modules/l4param.py b/plugins/modules/l4param.py index 4669ba41c..aaf56ebeb 100644 --- a/plugins/modules/l4param.py +++ b/plugins/modules/l4param.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: l4param short_description: Configuration for Layer 4 related parameter resource. description: Configuration for Layer 4 related parameter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,7 +39,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str l2connmethod: - type: raw + type: str choices: - Channel - Vlan @@ -53,7 +55,7 @@ in addition to the 4-tuple (::::). l4switch: - type: raw + type: str choices: - ENABLED - DISABLED diff --git a/plugins/modules/lacp.py b/plugins/modules/lacp.py index d313e7a1b..1dc458d80 100644 --- a/plugins/modules/lacp.py +++ b/plugins/modules/lacp.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: lacp short_description: Configuration for Link aggregation control protocol resource. description: Configuration for Link aggregation control protocol resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -51,15 +53,20 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample lacp playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | lacp + - name: Configure lacp delegate_to: localhost netscaler.adc.lacp: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present syspriority: '32768' + mac: 12:31:4d:59:3f:9f """ RETURN = r""" diff --git a/plugins/modules/lbaction.py b/plugins/modules/lbaction.py index bd63af689..ae9929376 100644 --- a/plugins/modules/lbaction.py +++ b/plugins/modules/lbaction.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: lbaction short_description: Configuration for lb action resource. description: Configuration for lb action resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,11 +41,11 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str comment: - type: raw + type: str description: - Comment. Any type of information about this LB action. name: - type: raw + type: str description: - Name for the LB action. Must begin with a letter, number, or the underscore character (_), and must contain only letters, numbers, and the hyphen (-), diff --git a/plugins/modules/lbglobal_lbpolicy_binding.py b/plugins/modules/lbglobal_lbpolicy_binding.py index c3f86f55d..4e619affc 100644 --- a/plugins/modules/lbglobal_lbpolicy_binding.py +++ b/plugins/modules/lbglobal_lbpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: lbglobal_lbpolicy_binding short_description: Binding Resource definition for describing association between lbglobal and lbpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/lbgroup.py b/plugins/modules/lbgroup.py index 7c084d67c..8a17c712b 100644 --- a/plugins/modules/lbgroup.py +++ b/plugins/modules/lbgroup.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: lbgroup short_description: Configuration for LB group resource. description: Configuration for LB group resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,27 +41,27 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str backuppersistencetimeout: - type: raw + type: float description: - Time period, in minutes, for which backup persistence is in effect. cookiedomain: - type: raw + type: str description: - Domain attribute for the HTTP cookie. cookiename: - type: raw + type: str description: - Use this parameter to specify the cookie name for COOKIE peristence type. It specifies the name of cookie with a maximum of 32 characters. If not specified, cookie name is internally generated. mastervserver: - type: raw + type: str description: - When USE_VSERVER_PERSISTENCE is enabled, one can use this setting to designate a member vserver as master which is responsible to create the persistence sessions name: - type: raw + type: str description: - Name of the load balancing virtual server group. newname: @@ -67,14 +69,14 @@ description: - New name for the load balancing virtual server group. persistencebackup: - type: raw + type: str choices: - SOURCEIP - NONE description: - Type of backup persistence for the group. persistencetype: - type: raw + type: str choices: - SOURCEIP - COOKIEINSERT @@ -89,12 +91,12 @@ - '* C(RULE) - Create persistence sessions based on a user defined rule.' - '* C(NONE) - Disable persistence for the group.' persistmask: - type: raw + type: str description: - Persistence mask to apply to source IPv4 addresses when creating source IP based persistence sessions. rule: - type: raw + type: str description: - Expression, or name of a named expression, against which traffic is evaluated. - '' @@ -106,11 +108,11 @@ - '* Alternatively, you can use single quotation marks to enclose the rule, in which case you do not have to escape the double quotation marks.' timeout: - type: raw + type: float description: - Time period for which a persistence session is in effect. usevserverpersistency: - type: raw + type: str choices: - ENABLED - DISABLED @@ -120,7 +122,7 @@ with other members persistence rules. When this setting is enabled persistence sessions created by any of the members can be shared by other member vservers. v6persistmasklen: - type: raw + type: float description: - Persistence mask to apply to source IPv6 addresses when creating source IP based persistence sessions. @@ -154,6 +156,22 @@ """ EXAMPLES = r""" +--- +- name: Sample lbgroup playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lbgroup + delegate_to: localhost + netscaler.adc.lbgroup: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: webgrp + persistencetype: COOKIEINSERT + persistencebackup: SOURCEIP """ RETURN = r""" diff --git a/plugins/modules/lbgroup_lbvserver_binding.py b/plugins/modules/lbgroup_lbvserver_binding.py index 71424327c..b53f2b589 100644 --- a/plugins/modules/lbgroup_lbvserver_binding.py +++ b/plugins/modules/lbgroup_lbvserver_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: lbgroup_lbvserver_binding short_description: Binding Resource definition for describing association between lbgroup and lbvserver resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -57,6 +59,21 @@ """ EXAMPLES = r""" +--- +- name: Sample lbgroup_lbvserver_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lbgroup_lbvserver_binding + delegate_to: localhost + netscaler.adc.lbgroup_lbvserver_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: webgrp + vservername: http_vip """ RETURN = r""" diff --git a/plugins/modules/lbmetrictable.py b/plugins/modules/lbmetrictable.py index e3b6a3a25..813dc2eba 100644 --- a/plugins/modules/lbmetrictable.py +++ b/plugins/modules/lbmetrictable.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: lbmetrictable short_description: Configuration for metric table resource. description: Configuration for metric table resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -83,6 +85,20 @@ """ EXAMPLES = r""" +--- +- name: Sample lbmetrictable playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lbmetrictable + delegate_to: localhost + netscaler.adc.lbmetrictable: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + metrictable: LB_ia_metrictable3 """ RETURN = r""" diff --git a/plugins/modules/lbmetrictable_metric_binding.py b/plugins/modules/lbmetrictable_metric_binding.py index 010493c09..cbd0112fe 100644 --- a/plugins/modules/lbmetrictable_metric_binding.py +++ b/plugins/modules/lbmetrictable_metric_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: lbmetrictable_metric_binding short_description: Binding Resource definition for describing association between lbmetrictable and metric resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -55,6 +57,22 @@ """ EXAMPLES = r""" +--- +- name: Sample lbmetrictable_metric_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lbmetrictable_metric_binding + delegate_to: localhost + netscaler.adc.lbmetrictable_metric_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + metrictable: LB_ia_metrictable3 + metric: ia_metric + snmpoid: 1.1.1.115.4.1.5951.4.1.1.46.3.9 """ RETURN = r""" diff --git a/plugins/modules/lbmonitor.py b/plugins/modules/lbmonitor.py index 90baabb22..bad9888a6 100644 --- a/plugins/modules/lbmonitor.py +++ b/plugins/modules/lbmonitor.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: lbmonitor short_description: Configuration for monitor resource. description: Configuration for monitor resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -43,17 +45,18 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str snmpoid: - type: raw + type: str description: - SNMP OID for SNMP monitors. acctapplicationid: - type: raw + type: list description: - List of Acct-Application-Id attribute value pairs (AVPs) for the Capabilities-Exchange-Request (CER) message to use for monitoring Diameter servers. A maximum of eight of these AVPs are supported in a monitoring message. + elements: int action: - type: raw + type: str choices: - NONE - LOG @@ -74,7 +77,7 @@ to the service are terminated as soon as the service is marked as C(DOWN). Also, log the event in NSLOG or SYSLOG.' alertretries: - type: raw + type: int description: - Number of consecutive probe failures after which the appliance generates an SNMP trap called monProbeFailed. @@ -84,44 +87,45 @@ - Name of the application used to determine the state of the service. Applicable to monitors of type CITRIX-XML-SERVICE. attribute: - type: raw + type: str description: - Attribute to evaluate when the LDAP server responds to the query. Success or failure of the monitoring probe depends on whether the attribute exists in the response. Optional. authapplicationid: - type: raw + type: list description: - List of Auth-Application-Id attribute value pairs (AVPs) for the Capabilities-Exchange-Request (CER) message to use for monitoring Diameter servers. A maximum of eight of these AVPs are supported in a monitoring CER message. + elements: int basedn: - type: raw + type: str description: - The base distinguished name of the LDAP service, from where the LDAP server can begin the search for the attributes in the monitoring query. Required for LDAP service monitoring. binddn: - type: raw + type: str description: - The distinguished name with which an LDAP monitor can perform the Bind operation on the LDAP server. Optional. Applicable to LDAP monitors. customheaders: - type: raw + type: str description: - Custom header string to include in the monitoring probes. database: - type: raw + type: str description: - Name of the database to connect to during authentication. destip: - type: raw + type: str description: - IP address of the service to which to send probes. If the parameter is set to 0, the IP address of the server to which the monitor is bound is considered the destination IP address. destport: - type: raw + type: int description: - TCP or UDP port to which to send the probe. If the parameter is set to 0, the port number of the service to which the monitor is bound is considered @@ -129,7 +133,7 @@ port is the port number that is included in the HTTP request sent to the dispatcher. Does not apply to monitors of type PING. deviation: - type: raw + type: float description: - Time value added to the learned average response time in dynamic response time monitoring (DRTM). When a deviation is specified, the appliance learns @@ -137,21 +141,21 @@ average. The final value is then continually adjusted to accommodate response time variations over time. Specified in milliseconds, seconds, or minutes. dispatcherip: - type: raw + type: str description: - IP address of the dispatcher to which to send the probe. dispatcherport: - type: raw + type: int description: - Port number on which the dispatcher listens for the monitoring probe. domain: - type: raw + type: str description: - Domain in which the XenDesktop Desktop Delivery Controller (DDC) servers or Web Interface servers are present. Required by CITRIX-XD-DDC and CITRIX-WI-EXTENDED monitors for logging on to the DDC servers and Web Interface servers, respectively. downtime: - type: raw + type: int description: - Time duration for which to wait before probing a service that has been marked as DOWN. Expressed in milliseconds, seconds, or minutes. @@ -164,7 +168,7 @@ - For example, if you want the appliance to evaluate the error message to determine the state of the server, use the rule MYSQL.RES.ROW(10) .TEXT_ELEM(2).EQ("MySQL"). failureretries: - type: raw + type: int description: - Number of retries that must fail, out of the number specified for the Retries parameter, for a service to be marked as DOWN. For example, if the Retries @@ -173,22 +177,22 @@ be marked as DOWN. The default value of 0 means that all the retries must fail if the service is to be marked as DOWN. filename: - type: raw + type: str description: - Name of a file on the FTP server. The appliance monitors the FTP service by periodically checking the existence of the file on the server. Applicable to FTP-EXTENDED monitors. filter: - type: raw + type: str description: - Filter criteria for the LDAP query. Optional. firmwarerevision: - type: raw + type: float description: - Firmware-Revision value for the Capabilities-Exchange-Request (CER) message to use for monitoring Diameter servers. group: - type: raw + type: str description: - Name of a newsgroup available on the NNTP service that is to be monitored. The appliance periodically generates an NNTP query for the name of the newsgroup @@ -196,25 +200,26 @@ is marked as UP. If the newsgroup does not exist or if the search fails, the service is marked as DOWN. Applicable to NNTP monitors. grpchealthcheck: - type: raw + type: str choices: - 'YES' - 'NO' description: - Option to enable or disable gRPC health check service. grpcservicename: - type: raw + type: str description: - Option to specify gRPC service name on which gRPC health check need to be performed grpcstatuscode: - type: raw + type: list description: - gRPC status codes for which to mark the service as UP. The default value is 12(health check unimplemented). If the gRPC status code 0 is received from the backend this configuration is ignored. + elements: int hostipaddress: - type: raw + type: str description: - Host-IP-Address value for the Capabilities-Exchange-Request (CER) message to use for monitoring Diameter servers. If Host-IP-Address is not specified, @@ -226,11 +231,11 @@ - 'Hostname in the FQDN format (Example: porche.cars.org). Applicable to STOREFRONT monitors.' httprequest: - type: raw + type: str description: - HTTP request to send to the server (for example, "HEAD /file.html"). inbandsecurityid: - type: raw + type: str choices: - NO_INBAND_SECURITY - TLS @@ -238,17 +243,18 @@ - Inband-Security-Id for the Capabilities-Exchange-Request (CER) message to use for monitoring Diameter servers. interval: - type: raw + type: int description: - Time interval between two successive probes. Must be greater than the value of Response Time-out. ipaddress: - type: raw + type: list description: - Set of IP addresses expected in the monitoring response from the DNS server, if the record type is A or AAAA. Applicable to DNS monitors. + elements: str iptunnel: - type: raw + type: str choices: - 'YES' - 'NO' @@ -256,23 +262,23 @@ - Send the monitoring probe to the service through an IP tunnel. A destination IP address must be specified. kcdaccount: - type: raw + type: str description: - KCD Account used by MSSQL monitor lasversion: - type: raw + type: str description: - Version number of the Citrix Advanced Access Control Logon Agent. Required by the CITRIX-AAC-LAS monitor. logonpointname: - type: raw + type: str description: - Name of the logon point that is configured for the Citrix Access Gateway Advanced Access Control software. Required if you want to monitor the associated login page or Logon Agent. Applicable to CITRIX-AAC-LAS and CITRIX-AAC-LOGINPAGE monitors. lrtm: - type: raw + type: str choices: - ENABLED - DISABLED @@ -281,7 +287,7 @@ not enabled, the appliance does not learn the response times of the bound services. Also used for LRTM load balancing. maxforwards: - type: raw + type: float description: - Maximum number of hops that the SIP request used for monitoring can traverse to reach the server. Applicable only to monitors of type SIP-UDP. @@ -291,7 +297,7 @@ - Metric name in the metric table, whose setting is changed. A value zero disables the metric and it will not be used for load calculation metrictable: - type: raw + type: str description: - Metric table to which to bind metrics. metricthreshold: @@ -303,7 +309,7 @@ description: - The weight for the specified service metric with respect to others. monitorname: - type: raw + type: str description: - Name for the monitor. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash @@ -312,65 +318,65 @@ - 'CLI Users: If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my monitor" or ''my monitor'').' mqttclientidentifier: - type: raw + type: str description: - Client id to be used in Connect command mqttversion: - type: raw + type: float description: - Version of MQTT protocol used in connect message, default is version 3.1.1 [4] mssqlprotocolversion: - type: raw + type: str choices: - - 70 - - 2000 + - '70' + - '2000' - 2000SP1 - - 2005 - - 2008 + - '2005' + - '2008' - 2008R2 - - 2012 - - 2014 + - '2012' + - '2014' description: - Version of MSSQL server that is to be monitored. netprofile: - type: raw + type: str description: - Name of the network profile. oraclesid: - type: raw + type: str description: - Name of the service identifier that is used to connect to the Oracle database during authentication. originhost: - type: raw + type: str description: - Origin-Host value for the Capabilities-Exchange-Request (CER) message to use for monitoring Diameter servers. originrealm: - type: raw + type: str description: - Origin-Realm value for the Capabilities-Exchange-Request (CER) message to use for monitoring Diameter servers. password: - type: raw + type: str description: - Password that is required for logging on to the RADIUS, NNTP, FTP, FTP-EXTENDED, MYSQL, MSSQL, POP3, CITRIX-AG, CITRIX-XD-DDC, CITRIX-WI-EXTENDED, CITRIX-XNC-ECV or CITRIX-XDM server. Used in conjunction with the user name specified for the User Name parameter. productname: - type: raw + type: str description: - Product-Name value for the Capabilities-Exchange-Request (CER) message to use for monitoring Diameter servers. query: - type: raw + type: str description: - Domain name to resolve as part of monitoring the DNS service (for example, example.com). querytype: - type: raw + type: str choices: - Address - Zone @@ -380,59 +386,60 @@ for querying A records, C(AAAA) for querying C(AAAA) records, and C(Zone) for querying the SOA record. radaccountsession: - type: raw + type: str description: - Account Session ID to be used in Account Request Packet. Applicable to monitors of type RADIUS_ACCOUNTING. radaccounttype: - type: raw + type: float description: - Account Type to be used in Account Request Packet. Applicable to monitors of type RADIUS_ACCOUNTING. radapn: - type: raw + type: str description: - Called Station Id to be used in Account Request Packet. Applicable to monitors of type RADIUS_ACCOUNTING. radframedip: - type: raw + type: str description: - Source ip with which the packet will go out . Applicable to monitors of type RADIUS_ACCOUNTING. radkey: - type: raw + type: str description: - Authentication key (shared secret text string) for RADIUS clients and servers to exchange. Applicable to monitors of type RADIUS and RADIUS_ACCOUNTING. radmsisdn: - type: raw + type: str description: - Calling Stations Id to be used in Account Request Packet. Applicable to monitors of type RADIUS_ACCOUNTING. radnasid: - type: raw + type: str description: - NAS-Identifier to send in the Access-Request packet. Applicable to monitors of type RADIUS. radnasip: - type: raw + type: str description: - Network Access Server (NAS) IP address to use as the source IP address when monitoring a RADIUS server. Applicable to monitors of type RADIUS and RADIUS_ACCOUNTING. recv: - type: raw + type: str description: - String expected from the server for the service to be marked as UP. Applicable to TCP-ECV, HTTP-ECV, and UDP-ECV monitors. respcode: - type: raw + type: list description: - Response codes for which to mark the service as UP. For any other response code, the action performed depends on the monitor type. HTTP monitors and RADIUS monitors mark the service as DOWN, while HTTP-INLINE monitors perform the action indicated by the Action parameter. + elements: str resptimeout: - type: raw + type: int description: - Amount of time for which the appliance must wait before it marks a probe as FAILED. Must be less than the value specified for the Interval parameter. @@ -442,7 +449,7 @@ probe failure is indicated by an ICMP port unreachable error received from the service.' resptimeoutthresh: - type: raw + type: float description: - Response time threshold, specified as a percentage of the Response Time-out parameter. If the response to a monitor probe has not arrived when the threshold @@ -451,12 +458,12 @@ generates a monRespTimeoutBelowThresh SNMP trap. For the traps to be generated, the "MONITOR-RTO-THRESHOLD" alarm must also be enabled. retries: - type: raw + type: int description: - Maximum number of probes to send to establish the state of a service for which a monitoring probe failed. reverse: - type: raw + type: str choices: - 'YES' - 'NO' @@ -464,26 +471,26 @@ - Mark a service as DOWN, instead of UP, when probe criteria are satisfied, and as UP instead of DOWN when probe criteria are not satisfied. rtsprequest: - type: raw + type: str description: - RTSP request to send to the server (for example, "OPTIONS *"). scriptargs: - type: raw + type: str description: - String of arguments for the script. The string is copied verbatim into the request. scriptname: - type: raw + type: str description: - Path and name of the script to execute. The script must be available on the Citrix ADC, in the /nsconfig/monitors/ directory. secondarypassword: - type: raw + type: str description: - Secondary password that users might have to provide to log on to the Access Gateway server. Applicable to CITRIX-AG monitors. secure: - type: raw + type: str choices: - 'YES' - 'NO' @@ -492,11 +499,11 @@ TCP based monitors. The secure option cannot be used with a CITRIX-AG monitor, because a CITRIX-AG monitor uses a secure connection by default. secureargs: - type: raw + type: str description: - List of arguments for the script which should be secure send: - type: raw + type: str description: - String to send to the service. Applicable to TCP-ECV, HTTP-ECV, and UDP-ECV monitors. @@ -509,7 +516,7 @@ description: - The name of the service to which the monitor is bound. sipmethod: - type: raw + type: str choices: - OPTIONS - INVITE @@ -517,7 +524,7 @@ description: - SIP method to use for the query. Applicable only to monitors of type SIP-UDP. sipreguri: - type: raw + type: str description: - SIP user to be registered. Applicable only if the monitor is of type SIP-UDP and the SIP Method parameter is set to REGISTER. @@ -533,31 +540,31 @@ a dynamic page under the site path, terminate the site path with a slash (/). Applicable to CITRIX-WEB-INTERFACE, CITRIX-WI-EXTENDED and CITRIX-XDM monitors. snmpcommunity: - type: raw + type: str description: - Community name for SNMP monitors. snmpthreshold: - type: raw + type: str description: - Threshold for SNMP monitors. snmpversion: - type: raw + type: str choices: - V1 - V2 description: - SNMP version to be used for SNMP monitors. sqlquery: - type: raw + type: str description: - SQL query for a MYSQL-ECV or MSSQL-ECV monitor. Sent to the database server after the server authenticates the connection. sslprofile: - type: raw + type: str description: - SSL Profile associated with the monitor storedb: - type: raw + type: str choices: - ENABLED - DISABLED @@ -588,18 +595,19 @@ - Store Name. For monitors of type STOREFRONT, STORENAME is an optional argument defining storefront service store name. Applicable to STOREFRONT monitors. successretries: - type: raw + type: int description: - Number of consecutive successful probes required to transition a service's state from DOWN to UP. supportedvendorids: - type: raw + type: list description: - List of Supported-Vendor-Id attribute value pairs (AVPs) for the Capabilities-Exchange-Request (CER) message to use for monitoring Diameter servers. A maximum eight of these AVPs are supported in a monitoring message. + elements: int tos: - type: raw + type: str choices: - 'YES' - 'NO' @@ -607,12 +615,12 @@ - Probe the service by encoding the destination IP address in the IP TOS (6) bits. tosid: - type: raw + type: float description: - The TOS ID of the specified destination IP. Applicable only when the TOS parameter is set. transparent: - type: raw + type: str choices: - 'YES' - 'NO' @@ -623,16 +631,16 @@ must be specified. The probe is sent to the specified IP address by using the MAC address of the transparent device. trofscode: - type: raw + type: float description: - Code expected when the server is under maintenance trofsstring: - type: raw + type: str description: - String expected from the server for the service to be marked as trofs. Applicable to HTTP-ECV/TCP-ECV monitors. type: - type: raw + type: str choices: - PING - TCP @@ -683,6 +691,8 @@ - CITRIX-STA-SERVICE-NHOP - MQTT - HTTP2 + - DTLS + - QUIC description: - Type of monitor that you want to create. units1: @@ -720,13 +730,13 @@ description: - monitor response timeout units username: - type: raw + type: str description: - User name with which to probe the RADIUS, NNTP, FTP, FTP-EXTENDED, MYSQL, MSSQL, POP3, CITRIX-AG, CITRIX-XD-DDC, CITRIX-WI-EXTENDED, CITRIX-XNC or CITRIX-XDM server. validatecred: - type: raw + type: str choices: - 'YES' - 'NO' @@ -734,28 +744,30 @@ - Validate the credentials of the Xen Desktop DDC server user. Applicable to monitors of type CITRIX-XD-DDC. vendorid: - type: raw + type: float description: - Vendor-Id value for the Capabilities-Exchange-Request (CER) message to use for monitoring Diameter servers. vendorspecificacctapplicationids: - type: raw + type: list description: - List of Vendor-Specific-Acct-Application-Id attribute value pairs (AVPs) to use for monitoring Diameter servers. A maximum of eight of these AVPs are supported in a monitoring message. The specified value is combined with the value of vendorSpecificVendorId to obtain the Vendor-Specific-Application-Id AVP in the CER monitoring message. + elements: int vendorspecificauthapplicationids: - type: raw + type: list description: - List of Vendor-Specific-Auth-Application-Id attribute value pairs (AVPs) for the Capabilities-Exchange-Request (CER) message to use for monitoring Diameter servers. A maximum of eight of these AVPs are supported in a monitoring message. The specified value is combined with the value of vendorSpecificVendorId to obtain the Vendor-Specific-Application-Id AVP in the CER monitoring message. + elements: int vendorspecificvendorid: - type: raw + type: float description: - Vendor-Id to use in the Vendor-Specific-Application-Id grouped attribute-value pair (AVP) in the monitoring CER message. To specify Auth-Application-Id or @@ -818,42 +830,27 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample lbmonitor playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | lbmonitor - delegate_to: localhost - netscaler.adc.lbmonitor: - state: present - monitorname: ldns-dns - type: LDNS-DNS - query: . - querytype: Address - deviation: '0' - interval: 6 - resptimeout: 3 - downtime: 20 - - name: Sample Task | lbmonitor | 2 - delegate_to: localhost - netscaler.adc.lbmonitor: - state: present - monitorname: stasecure - type: CITRIX-STA-SERVICE - deviation: '0' - interval: 2 - units3: MIN - resptimeout: 4 - downtime: 5 - - name: Sample Task | lbmonitor | 3 + - name: Configure lbmonitor delegate_to: localhost - tags: test netscaler.adc.lbmonitor: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - monitorname: test-monitor1 - type: TCP - interval: 15 - retries: 20 + monitorname: Storefront + type: STOREFRONT + scriptname: nssf.pl + dispatcherip: 127.0.0.1 + dispatcherport: 3013 + lrtm: DISABLED + secure: 'YES' + storename: Store + storefrontcheckbackendservices: 'YES' """ RETURN = r""" diff --git a/plugins/modules/lbmonitor_metric_binding.py b/plugins/modules/lbmonitor_metric_binding.py index 9ef41e6c6..649394249 100644 --- a/plugins/modules/lbmonitor_metric_binding.py +++ b/plugins/modules/lbmonitor_metric_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: lbmonitor_metric_binding short_description: Binding Resource definition for describing association between lbmonitor and metric resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -60,6 +62,23 @@ """ EXAMPLES = r""" +--- +- name: Sample lbmonitor_metric_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lbmonitor_metric_binding + delegate_to: localhost + netscaler.adc.lbmonitor_metric_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + monitorname: LB_ia_mon6 + metric: local.CONNECTIONS + metricthreshold: '23' + metricweight: '10' """ RETURN = r""" diff --git a/plugins/modules/lbmonitor_sslcertkey_binding.py b/plugins/modules/lbmonitor_sslcertkey_binding.py index 11128bb5a..88f88d20b 100644 --- a/plugins/modules/lbmonitor_sslcertkey_binding.py +++ b/plugins/modules/lbmonitor_sslcertkey_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: lbmonitor_sslcertkey_binding short_description: Binding Resource definition for describing association between lbmonitor and sslcertkey resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -75,6 +77,21 @@ """ EXAMPLES = r""" +--- +- name: Sample lbmonitor_sslcertkey_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lbmonitor_sslcertkey_binding + delegate_to: localhost + netscaler.adc.lbmonitor_sslcertkey_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + monitorname: https + certkeyname: myclient """ RETURN = r""" diff --git a/plugins/modules/lbparameter.py b/plugins/modules/lbparameter.py index f833bb539..05f466bf3 100644 --- a/plugins/modules/lbparameter.py +++ b/plugins/modules/lbparameter.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: lbparameter short_description: Configuration for LB parameter resource. description: Configuration for LB parameter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,7 +39,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str allowboundsvcremoval: - type: raw + type: str choices: - ENABLED - DISABLED @@ -47,7 +49,7 @@ removed, even if it bound to vservers. If disabled, an error will be thrown, when the user tries to remove a svc/svcgroup without unbinding from its vservers. computedadccookieattribute: - type: raw + type: str description: - 'ComputedADCCookieAttribute accepts ns variable as input in form of string starting with $ (to understand how to configure ns variable, please check @@ -67,7 +69,7 @@ - ' For incoming client request, if above policy evaluates TRUE, then SameSite=Strict will be appended to ADC generated cookie' consolidatedlconn: - type: raw + type: str choices: - 'YES' - 'NO' @@ -77,17 +79,17 @@ setting allows consideration of only the number of connections on the packet engine that received the new connection. cookiepassphrase: - type: raw + type: str description: - Use this parameter to specify the passphrase used to generate secured persistence cookie value. It specifies the passphrase with a maximum of 31 characters. dbsttl: - type: raw + type: float description: - Specify the TTL for DNS record for domain based service. The default value of ttl is 0 which indicates to use the TTL received in DNS response for monitors dropmqttjumbomessage: - type: raw + type: str choices: - 'YES' - 'NO' @@ -95,7 +97,7 @@ - When this option is enabled, MQTT messages of length greater than 64k will be dropped and the client/server connections will be reset. httponlycookieflag: - type: raw + type: str choices: - ENABLED - DISABLED @@ -104,7 +106,7 @@ limits the scope of a cookie to HTTP requests and helps mitigate the risk of cross-site scripting attacks. lbhashalgorithm: - type: raw + type: str choices: - DEFAULT - PRAC @@ -114,13 +116,13 @@ (URLHASH, DOMAINHASH, SOURCEIPHASH, DESTINATIONIPHASH, SRCIPDESTIPHASH, SRCIPSRCPORTHASH, TOKEN, USER_TOKEN, CALLIDHASH). lbhashfingers: - type: raw + type: float description: - This option is used to specify the number of fingers to be used in PRAC and JARH algorithms for hash based LB methods. Increasing the number of fingers might give better distribution of traffic at the expense of additional memory literaladccookieattribute: - type: raw + type: str description: - 'String configured as LiteralADCCookieAttribute will be appended as attribute for Citrix ADC cookie (for example: LB cookie persistence , GSLB site persistence, @@ -129,7 +131,7 @@ - Sample usage - - ' set lb parameter -LiteralADCCookieAttribute ";SameSite=None"' maxpipelinenat: - type: raw + type: float description: - Maximum number of concurrent requests to allow on a single client connection, which is identified by the - tuple. This parameter @@ -137,7 +139,7 @@ only when "svrTimeout" is set to zero. A value of 0 (zero) applies no limit to the number of concurrent requests allowed on a single client connection monitorconnectionclose: - type: raw + type: str choices: - RESET - FIN @@ -145,7 +147,7 @@ - Close monitoring connections by sending the service a connection termination message with the specified bit set. monitorskipmaxclient: - type: raw + type: str choices: - ENABLED - DISABLED @@ -155,7 +157,7 @@ by the service's Max Clients setting. Enables monitoring to continue even if the service has reached its connection limit. preferdirectroute: - type: raw + type: str choices: - 'YES' - 'NO' @@ -166,8 +168,16 @@ intermediary device, such as a firewall, even if their destination is directly connected to the appliance. Route lookup is performed after the packets have been processed and returned by the intermediary device. + proximityfromself: + type: str + choices: + - 'YES' + - 'NO' + description: + - Use the ADC location instead of client IP for static proximity LB or GSLB + decision. retainservicestate: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -175,7 +185,7 @@ - This option is used to retain the original state of service or servicegroup member when an enable server command is issued. startuprrfactor: - type: raw + type: float description: - 'Number of requests, per service, for which to apply the round robin load balancing method before switching to the configured load balancing method, @@ -206,7 +216,7 @@ - Not applicable to a virtual server for which a hash based load balancing method is configured. storemqttclientidandusername: - type: raw + type: str choices: - 'YES' - 'NO' @@ -214,7 +224,7 @@ - This option allows to store the MQTT clientid and username in transactional logs undefaction: - type: raw + type: str description: - 'Action to perform when policy evaluation creates an UNDEF condition. Available settings function as follows:' @@ -223,14 +233,14 @@ the request.' - '* DROP - Drop the request without sending a response to the user.' useencryptedpersistencecookie: - type: raw + type: str choices: - ENABLED - DISABLED description: - Encode persistence cookie values using SHA2 hash. useportforhashlb: - type: raw + type: str choices: - 'YES' - 'NO' @@ -239,14 +249,14 @@ load balancing methods. With the C(NO) setting, only the IP address of the service is considered when creating a hash. usesecuredpersistencecookie: - type: raw + type: str choices: - ENABLED - DISABLED description: - Encode persistence cookie values using SHA2 hash. vserverspecificmac: - type: raw + type: str choices: - ENABLED - DISABLED @@ -266,21 +276,18 @@ EXAMPLES = r""" --- -- name: Sample Task - hosts: localhost +- name: Sample lbparameter playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample playbook + - name: Configure lbparameter delegate_to: localhost netscaler.adc.lbparameter: - # nsip: 10.0.0.1 # This can also be given via NETSCALER_NSIP environment variable - # nitro_user: nitrouser # This can also be given via NETSCALER_NITRO_USER environment variable - # nitro_pass: verysecretpassword # This can also be given via NETSCALER_NITRO_PASS environment variable - # nitro_protocol: https # This can also be given via NETSCALER_NITRO_PROTOCOL environment variable - # validate_certs: false # This can also be given via NETSCALER_VALIDATE_CERTS environment variable - # save_config: false # This can also be given via NETSCALER_SAVE_CONFIG environment variable + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - allowboundsvcremoval: DISABLED """ RETURN = r""" diff --git a/plugins/modules/lbpersistentsessions.py b/plugins/modules/lbpersistentsessions.py index 2ab22997a..4b1fd6234 100644 --- a/plugins/modules/lbpersistentsessions.py +++ b/plugins/modules/lbpersistentsessions.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: lbpersistentsessions short_description: Configuration for persistence session resource. description: Configuration for persistence session resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: [] diff --git a/plugins/modules/lbpolicy.py b/plugins/modules/lbpolicy.py index 95e373d54..ac4b80f5e 100644 --- a/plugins/modules/lbpolicy.py +++ b/plugins/modules/lbpolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: lbpolicy short_description: Configuration for lb policy resource. description: Configuration for lb policy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -43,15 +45,15 @@ description: - Name of action to use if the request matches this LB policy. comment: - type: raw + type: str description: - Any type of information about this LB policy. logaction: - type: raw + type: str description: - Name of the messagelog action to use for requests that match this policy. name: - type: raw + type: str description: - Name of the LB policy. - Must begin with a letter, number, or the underscore character (_), and must @@ -76,7 +78,7 @@ description: - Expression against which traffic is evaluated. undefaction: - type: raw + type: str description: - 'Action to perform if the result of policy evaluation is undefined (UNDEF). An UNDEF event indicates an internal error condition. Available settings function diff --git a/plugins/modules/lbpolicylabel.py b/plugins/modules/lbpolicylabel.py index 5d2d99e54..30cf13ae6 100644 --- a/plugins/modules/lbpolicylabel.py +++ b/plugins/modules/lbpolicylabel.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: lbpolicylabel short_description: Configuration for lb policy label resource. description: Configuration for lb policy label resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/lbpolicylabel_lbpolicy_binding.py b/plugins/modules/lbpolicylabel_lbpolicy_binding.py index 0f1149eae..4f91c22e2 100644 --- a/plugins/modules/lbpolicylabel_lbpolicy_binding.py +++ b/plugins/modules/lbpolicylabel_lbpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: lbpolicylabel_lbpolicy_binding short_description: Binding Resource definition for describing association between lbpolicylabel and lbpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/lbprofile.py b/plugins/modules/lbprofile.py index 90ab10c75..df8e8c942 100644 --- a/plugins/modules/lbprofile.py +++ b/plugins/modules/lbprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: lbprofile short_description: Configuration for LB profile resource. description: Configuration for LB profile resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str computedadccookieattribute: - type: raw + type: str description: - 'ComputedADCCookieAttribute accepts ns variable as input in form of string starting with $ (to understand how to configure ns variable, please check @@ -59,19 +61,19 @@ - ' For incoming client request, if above policy evaluates TRUE, then SameSite=Strict will be appended to ADC generated cookie' cookiepassphrase: - type: raw + type: str description: - Use this parameter to specify the passphrase used to generate secured persistence cookie value. It specifies the passphrase with a maximum of 31 characters. dbslb: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable database specific load balancing for MySQL and MSSQL service types. httponlycookieflag: - type: raw + type: str choices: - ENABLED - DISABLED @@ -80,7 +82,7 @@ limits the scope of a cookie to HTTP requests and helps mitigate the risk of cross-site scripting attacks. lbhashalgorithm: - type: raw + type: str choices: - DEFAULT - PRAC @@ -90,17 +92,17 @@ (URLHASH, DOMAINHASH, SOURCEIPHASH, DESTINATIONIPHASH, SRCIPDESTIPHASH, SRCIPSRCPORTHASH, TOKEN, USER_TOKEN, CALLIDHASH). lbhashfingers: - type: raw + type: float description: - This option is used to specify the number of fingers to be used in PRAC and JARH algorithms for hash based LB methods. Increasing the number of fingers might give better distribution of traffic at the expense of additional memory. lbprofilename: - type: raw + type: str description: - Name of the LB profile. literaladccookieattribute: - type: raw + type: str description: - 'String configured as LiteralADCCookieAttribute will be appended as attribute for Citrix ADC cookie (for example: LB cookie persistence , GSLB site persistence, @@ -109,7 +111,7 @@ - Sample usage - - ' add lb profile lbprof -LiteralADCCookieAttribute ";SameSite=None"' processlocal: - type: raw + type: str choices: - ENABLED - DISABLED @@ -118,8 +120,16 @@ not under go any steering. Turn this option for single pa - cket request response mode or when the upstream device is performing a proper RSS for connection based distribution. + proximityfromself: + type: str + choices: + - 'YES' + - 'NO' + description: + - Use the ADC location instead of client IP for static proximity LB or GSLB + decision. storemqttclientidandusername: - type: raw + type: str choices: - 'YES' - 'NO' @@ -127,14 +137,14 @@ - This option allows to store the MQTT clientid and username in transactional logs useencryptedpersistencecookie: - type: raw + type: str choices: - ENABLED - DISABLED description: - Encode persistence cookie values using SHA2 hash. usesecuredpersistencecookie: - type: raw + type: str choices: - ENABLED - DISABLED @@ -145,6 +155,19 @@ """ EXAMPLES = r""" +--- +- name: Sample lbprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lbprofile + delegate_to: localhost + netscaler.adc.lbprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present """ RETURN = r""" diff --git a/plugins/modules/lbroute.py b/plugins/modules/lbroute.py index 582d6a9db..e8d30cd01 100644 --- a/plugins/modules/lbroute.py +++ b/plugins/modules/lbroute.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: lbroute short_description: Configuration for LB route resource. description: Configuration for LB route resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/lbroute6.py b/plugins/modules/lbroute6.py index 2ccd692b6..23576bccf 100644 --- a/plugins/modules/lbroute6.py +++ b/plugins/modules/lbroute6.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: lbroute6 short_description: Configuration for LB route6 resource. description: Configuration for LB route6 resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/lbsipparameters.py b/plugins/modules/lbsipparameters.py index db5946d28..43c8f0637 100644 --- a/plugins/modules/lbsipparameters.py +++ b/plugins/modules/lbsipparameters.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: lbsipparameters short_description: Configuration for SIP parameters resource. description: Configuration for SIP parameters resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,7 +39,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str addrportvip: - type: raw + type: str choices: - ENABLED - DISABLED @@ -45,41 +47,41 @@ - Add the rport parameter to the VIA headers of SIP requests that virtual servers receive from clients or servers. retrydur: - type: raw + type: int description: - Time, in seconds, for which a client must wait before initiating a connection after receiving a 503 Service Unavailable response from the SIP server. The time value is sent in the "Retry-After" header in the 503 response. rnatdstport: - type: raw + type: int description: - Port number with which to match the destination port in server-initiated SIP traffic. The rport parameter is added, without a value, to SIP packets that have a matching destination port number, and CALL-ID based persistence is implemented for the responses received by the virtual server. rnatsecuredstport: - type: raw + type: int description: - Port number with which to match the destination port in server-initiated SIP over SSL traffic. The rport parameter is added, without a value, to SIP packets that have a matching destination port number, and CALL-ID based persistence is implemented for the responses received by the virtual server. rnatsecuresrcport: - type: raw + type: int description: - Port number with which to match the source port in server-initiated SIP over SSL traffic. The rport parameter is added, without a value, to SIP packets that have a matching source port number, and CALL-ID based persistence is implemented for the responses received by the virtual server. rnatsrcport: - type: raw + type: int description: - Port number with which to match the source port in server-initiated SIP traffic. The rport parameter is added, without a value, to SIP packets that have a matching source port number, and CALL-ID based persistence is implemented for the responses received by the virtual server. sip503ratethreshold: - type: raw + type: float description: - Maximum number of 503 Service Unavailable responses to generate, once every 10 milliseconds, when a SIP virtual server becomes unavailable. @@ -88,6 +90,20 @@ """ EXAMPLES = r""" +--- +- name: Sample lbsipparameters playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lbsipparameters + delegate_to: localhost + netscaler.adc.lbsipparameters: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + rnatsecuresrcport: 5061 """ RETURN = r""" diff --git a/plugins/modules/lbvserver.py b/plugins/modules/lbvserver.py index 63bd8b0c4..b36fc6ea2 100644 --- a/plugins/modules/lbvserver.py +++ b/plugins/modules/lbvserver.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: lbvserver short_description: Configuration for Load Balancing Virtual Server resource. description: Configuration for Load Balancing Virtual Server resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -43,48 +45,52 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str adfsproxyprofile: - type: raw + type: str description: - Name of the adfsProxy profile to be used to support ADFSPIP protocol for ADFS servers. + apiprofile: + type: str + description: + - The API profile where one or more API specs are bounded to. appflowlog: - type: raw + type: str choices: - ENABLED - DISABLED description: - Apply AppFlow logging to the virtual server. authentication: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Enable or disable user authentication. authenticationhost: - type: raw + type: str description: - Fully qualified domain name (FQDN) of the authentication virtual server to which the user must be redirected for authentication. Make sure that the Authentication parameter is set to ENABLED. authn401: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Enable or disable user authentication with HTTP 401 responses. authnprofile: - type: raw + type: str description: - Name of the authentication profile to be used when authentication is turned on. authnvsname: - type: raw + type: str description: - Name of an authentication virtual server with which to authenticate users. backuplbmethod: - type: raw + type: str choices: - ROUNDROBIN - LEASTCONNECTION @@ -100,11 +106,11 @@ - ' Valid only if the primary method is based on static proximity.' backuppersistencetimeout: - type: raw + type: float description: - Time period for which backup persistence is in effect. backupvserver: - type: raw + type: str description: - Name of the backup virtual server to which to forward requests if the primary virtual server goes DOWN or reaches its spillover threshold. @@ -117,7 +123,7 @@ - If this option is enabled while resolving DNS64 query AAAA queries are not sent to back end dns server cacheable: - type: raw + type: str choices: - 'YES' - 'NO' @@ -127,15 +133,15 @@ virtual server that has an IP address and port combination of *:80, so such a cache redirection virtual server must be configured on the appliance. clttimeout: - type: raw + type: float description: - Idle time, in seconds, after which a client connection is terminated. comment: - type: raw + type: str description: - Any comments that you might want to associate with the virtual server. connfailover: - type: raw + type: str choices: - DISABLED - STATEFUL @@ -152,37 +158,37 @@ in the packets it receives.' - '* C(DISABLED) - Connection failover does not occur.' cookiename: - type: raw + type: str description: - Use this parameter to specify the cookie name for COOKIE peristence type. It specifies the name of cookie with a maximum of 32 characters. If not specified, cookie name is internally generated. datalength: - type: raw + type: float description: - Length of the token to be extracted from the data segment of an incoming packet, for use in the token method of load balancing. The length of the token, specified in bytes, must not be greater than 24 KB. Applicable to virtual servers of type TCP. dataoffset: - type: raw + type: float description: - Offset to be considered when extracting a token from the TCP payload. Applicable to virtual servers, of type TCP, using the token method of load balancing. Must be within the first 24 KB of the TCP payload. dbprofilename: - type: raw + type: str description: - Name of the DB profile whose settings are to be applied to the virtual server. dbslb: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable database specific load balancing for MySQL and MSSQL service types. disableprimaryondown: - type: raw + type: str choices: - ENABLED - DISABLED @@ -197,13 +203,13 @@ description: - This argument is for enabling/disabling the dns64 on lbvserver dnsprofilename: - type: raw + type: str description: - Name of the DNS profile to be associated with the VServer. DNS profile properties will be applied to the transactions processed by a VServer. This parameter is valid only for DNS and DNS-TCP VServers. downstateflush: - type: raw + type: str choices: - ENABLED - DISABLED @@ -212,27 +218,27 @@ transitions from UP to DOWN. Do not enable this option for applications that must complete their transactions. hashlength: - type: raw + type: float description: - Number of bytes to consider for the hash value used in the URLHASH and DOMAINHASH load balancing methods. healththreshold: - type: raw + type: float description: - Threshold in percent of active services below which vserver state is made down. If this threshold is 0, vserver state will be up even if one bound service is up. httpprofilename: - type: raw + type: str description: - Name of the HTTP profile whose settings are to be applied to the virtual server. httpsredirecturl: - type: raw + type: str description: - URL to which all HTTP traffic received on the port specified in the -redirectFromPort parameter is redirected. icmpvsrresponse: - type: raw + type: str choices: - PASSIVE - ACTIVE @@ -252,7 +258,7 @@ of type VIP. To set that parameter, use the add ip command in the CLI or the Create IP dialog box in the GUI.' insertvserveripport: - type: raw + type: str choices: - 'OFF' - VIPADDR @@ -304,7 +310,7 @@ servers to the same extent, the request is processed by the virtual server whose port number matches the port number in the request. ipset: - type: raw + type: str description: - The list of IPv4/IPv6 addresses bound to ipset would form a part of listening service on the current lb vserver @@ -313,7 +319,7 @@ description: - IPv4 or IPv6 address to assign to the virtual server. l2conn: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -323,7 +329,7 @@ that is used to identify a connection. Allows multiple TCP and non-TCP connections with the same 4-tuple to co-exist on the Citrix ADC. lbmethod: - type: raw + type: str choices: - ROUNDROBIN - LEASTCONNECTION @@ -384,25 +390,25 @@ - '* C(USER_TOKEN) - Same as C(TOKEN) LB method but token needs to be provided from an extension.' lbprofilename: - type: raw + type: str description: - Name of the LB profile which is associated to the vserver listenpolicy: - type: raw + type: str description: - Expression identifying traffic accepted by the virtual server. Can be either an expression (for example, CLIENT.IP.DST.IN_SUBNET(192.0.2.0/24) or the name of a named expression. In the above example, the virtual server accepts all requests whose destination IP address is in the 192.0.2.0/24 subnet. listenpriority: - type: raw + type: float description: - Integer specifying the priority of the listen policy. A higher number specifies a lower priority. If a request matches the listen policies of more than one virtual server the virtual server whose listen policy has the highest priority (the lowest priority number) accepts the request. m: - type: raw + type: str choices: - IP - MAC @@ -426,7 +432,7 @@ - You can use either the C(IPTUNNEL) or the C(TOS) option to implement Direct Server Return (DSR). macmoderetainvlan: - type: raw + type: str choices: - ENABLED - DISABLED @@ -434,24 +440,24 @@ - This option is used to retain vlan information of incoming packet when macmode is enabled maxautoscalemembers: - type: raw + type: float description: - Maximum number of members expected to be present when vserver is used in Autoscale. minautoscalemembers: - type: raw + type: float description: - Minimum number of members expected to be present when vserver is used in Autoscale. mssqlserverversion: - type: raw + type: str choices: - - 70 - - 2000 + - '70' + - '2000' - 2000SP1 - - 2005 - - 2008 + - '2005' + - '2008' - 2008R2 - - 2012 - - 2014 + - '2012' + - '2014' description: - For a load balancing virtual server of type MSSQL, the Microsoft SQL Server version. Set this parameter if you expect some clients to run a version different @@ -459,23 +465,23 @@ the client-side and server-side connections by ensuring that all communication conforms to the server's version. mysqlcharacterset: - type: raw + type: float description: - Character set that the virtual server advertises to clients. mysqlprotocolversion: - type: raw + type: float description: - MySQL protocol version that the virtual server advertises to clients. mysqlservercapabilities: - type: raw + type: float description: - Server capabilities that the virtual server advertises to clients. mysqlserverversion: - type: raw + type: str description: - MySQL server version string that the virtual server advertises to clients. name: - type: raw + type: str description: - Name for the virtual server. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash @@ -485,12 +491,12 @@ - 'CLI Users: If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my vserver" or ''my vserver'').' netmask: - type: raw + type: str description: - IPv4 subnet mask to apply to the destination IP address or source IP address when the load balancing method is DESTINATIONIPHASH or SOURCEIPHASH. netprofile: - type: raw + type: str description: - Name of the network profile to associate with the virtual server. If you set this parameter, the virtual server uses only the IP addresses in the network @@ -500,7 +506,7 @@ description: - New name for the virtual server. newservicerequest: - type: raw + type: float description: - Number of requests, or percentage of the load on existing services, by which to increase the load on a new service at each interval in slow-start mode. @@ -510,36 +516,36 @@ by the LB method. Subsequently, any new services added will use the global RR factor. newservicerequestincrementinterval: - type: raw + type: float description: - Interval, in seconds, between successive increments in the load on a new service or a service whose state has just changed from DOWN to UP. A value of 0 (zero) specifies manual slow start. newservicerequestunit: - type: raw + type: str choices: - PER_SECOND - PERCENT description: - Units in which to increment load at each interval in slow-start mode. oracleserverversion: - type: raw + type: str choices: - 10G - 11G description: - Oracle server version order: - type: raw + type: float description: - Order number to be assigned to the service when it is bound to the lb vserver. orderthreshold: - type: raw + type: float description: - This option is used to to specify the threshold of minimum number of services to be UP in an order, for it to be considered in Lb decision. persistavpno: - type: raw + type: list description: - Persist AVP number for Diameter Persistency. - ' In case this AVP is not defined in Base RFC 3588 and it is nested @@ -548,8 +554,9 @@ child. So say persist AVP number X' - ' is nested inside AVP Y which is nested in Z, then define the list as Z Y X' + elements: int persistencebackup: - type: raw + type: str choices: - SOURCEIP - NONE @@ -557,7 +564,7 @@ - Backup persistence type for the virtual server. Becomes operational if the primary persistence mechanism fails. persistencetype: - type: raw + type: str choices: - SOURCEIP - COOKIEINSERT @@ -605,7 +612,7 @@ - '* C(USERSESSION) - Persistence session is created based on the persistence parameter value provided from an extension.' persistmask: - type: raw + type: str description: - Persistence mask for IP based persistence types, for IPv4 virtual servers. port: @@ -618,7 +625,7 @@ - Citrix ADC provides support for external health check of the vserver status. Select port for HTTP/TCP monitring probeprotocol: - type: raw + type: str choices: - TCP - HTTP @@ -626,7 +633,7 @@ - Citrix ADC provides support for external health check of the vserver status. Select C(HTTP) or C(TCP) probes for healthcheck probesuccessresponsecode: - type: raw + type: str description: - HTTP code to return in SUCCESS case. processlocal: @@ -640,7 +647,7 @@ mode or when the upstream device is performing a proper RSS for connection based distribution. push: - type: raw + type: str choices: - ENABLED - DISABLED @@ -648,12 +655,12 @@ - Process traffic with the push virtual server that is bound to this load balancing virtual server. pushlabel: - type: raw + type: str description: - Expression for extracting a label from the server's response. Can be either an expression or the name of a named expression. pushmulticlients: - type: raw + type: str choices: - 'YES' - 'NO' @@ -661,18 +668,18 @@ - Allow multiple Web 2.0 connections from the same client to connect to the virtual server and expect updates. pushvserver: - type: raw + type: str description: - Name of the load balancing virtual server, of type PUSH or SSL_PUSH, to which the server pushes updates received on the load balancing virtual server that you are configuring. quicbridgeprofilename: - type: raw + type: str description: - Name of the QUIC Bridge profile whose settings are to be applied to the virtual server. quicprofilename: - type: raw + type: str description: - Name of QUIC profile which will be attached to the VServer. range: @@ -692,7 +699,7 @@ example:' - add lb vserver my_vserver[1-3] HTTP 192.0.2.[1-3] 80 recursionavailable: - type: raw + type: str choices: - 'YES' - 'NO' @@ -702,12 +709,12 @@ when the vserver is load balancing a set of DNS servers thatsupport recursive queries. redirectfromport: - type: raw + type: int description: - Port number for the virtual server, from which we absorb the traffic for http redirect redirectportrewrite: - type: raw + type: str choices: - ENABLED - DISABLED @@ -715,7 +722,7 @@ - Rewrite the port and change the protocol to ensure successful HTTP redirects from services. redirurl: - type: raw + type: str description: - URL to which to redirect traffic if the virtual server becomes unavailable. - WARNING! Make sure that the domain in the URL does not match the domain specified @@ -726,7 +733,7 @@ description: - The redirect URL to be unset. resrule: - type: raw + type: str description: - Expression specifying which part of a server's response to use for creating rule based persistence sessions (persistence type RULE). Can be either an @@ -734,7 +741,7 @@ - 'Example:' - HTTP.RES.HEADER("setcookie").VALUE(0).TYPECAST_NVLIST_T('=',';').VALUE("server1"). retainconnectionsoncluster: - type: raw + type: str choices: - 'YES' - 'NO' @@ -743,7 +750,7 @@ Cluster system or when a node is being configured for passive timeout. By default, this option is disabled. rhistate: - type: raw + type: str choices: - PASSIVE - ACTIVE @@ -762,14 +769,14 @@ Citrix ADC advertises the route for the VIP address if at least one of the associated virtual servers, whose RHI STATE set to C(ACTIVE), is in UP state.' rtspnat: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Use network address translation (NAT) for RTSP data connections. rule: - type: raw + type: str description: - Expression, or name of a named expression, against which traffic is evaluated. - 'The following requirements apply only to the Citrix ADC CLI:' @@ -780,7 +787,7 @@ - '* Alternatively, you can use single quotation marks to enclose the rule, in which case you do not have to escape the double quotation marks.' servicename: - type: raw + type: str description: - Service to bind to the virtual server. servicetype: @@ -830,10 +837,12 @@ - MQTT_TLS - QUIC_BRIDGE - HTTP_QUIC + - DOT + - SSL_PROXY description: - Protocol used by the service (also called the service type). sessionless: - type: raw + type: str choices: - ENABLED - DISABLED @@ -843,7 +852,7 @@ and scenarios involving direct server return (DSR), where session information is unnecessary. skippersistency: - type: raw + type: str choices: - Bypass - ReLb @@ -852,7 +861,7 @@ - This argument decides the behavior incase the service which is selected from an existing persistence session has reached threshold. sobackupaction: - type: raw + type: str choices: - DROP - ACCEPT @@ -861,7 +870,7 @@ - Action to be performed if spillover is to take effect, but no backup chain to spillover is usable or exists somethod: - type: raw + type: str choices: - CONNECTION - DYNAMICCONNECTION @@ -887,7 +896,7 @@ svc3 transition to DOWN.' - '* C(NONE) - Spillover does not occur.' sopersistence: - type: raw + type: str choices: - ENABLED - DISABLED @@ -895,24 +904,24 @@ - If spillover occurs, maintain source IP address based persistence for both primary and backup virtual servers. sopersistencetimeout: - type: raw + type: float description: - Timeout for spillover persistence, in minutes. sothreshold: - type: raw + type: float description: - Threshold at which spillover occurs. Specify an integer for the CONNECTION spillover method, a bandwidth value in kilobits per second for the BANDWIDTH method (do not enter the units), or a percentage for the HEALTH method (do not enter the percentage symbol). tcpprobeport: - type: raw + type: int description: - Port number for external TCP probe. NetScaler provides support for external TCP health check of the vserver status over the selected port. This option is only supported for vservers assigned with an IPAddress or ipset. tcpprofilename: - type: raw + type: str description: - Name of the TCP profile whose settings are to be applied to the virtual server. td: @@ -922,23 +931,23 @@ to configure the entity. If you do not specify an ID, the entity becomes part of the default traffic domain, which has an ID of 0. timeout: - type: raw + type: float description: - Time period for which a persistence session is in effect. toggleorder: - type: raw + type: str choices: - ASCENDING - DESCENDING description: - Configure this option to toggle order preference tosid: - type: raw + type: float description: - TOS ID of the virtual server. Applicable only when the load balancing redirection mode is set to TOS. trofspersistence: - type: raw + type: str choices: - ENABLED - DISABLED @@ -946,17 +955,17 @@ - When value is C(ENABLED), Trofs persistence is honored. When value is C(DISABLED), Trofs persistence is not honored. v6netmasklen: - type: raw + type: float description: - Number of bits to consider in an IPv6 destination or source IP address, for creating the hash that is required by the DESTINATIONIPHASH and SOURCEIPHASH load balancing methods. v6persistmasklen: - type: raw + type: float description: - Persistence mask for IP based persistence types, for IPv6 virtual servers. vipheader: - type: raw + type: str description: - Name for the inserted header. The default name is vip-header. weight: @@ -1544,79 +1553,24 @@ EXAMPLES = r""" --- -- name: Simple LBVserver playbook - hosts: localhost +- name: Sample lbvserver playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | service - delegate_to: localhost - netscaler.adc.service: - # nsip: 10.0.0.1 # This can also be given via NETSCALER_NSIP environment variable - # nitro_user: nitrouser # This can also be given via NETSCALER_NITRO_USER environment variable - # nitro_pass: verysecretpassword # This can also be given via NETSCALER_NITRO_PASS environment variable - # nitro_protocol: https # This can also be given via NETSCALER_NITRO_PROTOCOL environment variable - # validate_certs: false # This can also be given via NETSCALER_VALIDATE_CERTS environment variable - # save_config: false # This can also be given via NETSCALER_SAVE_CONFIG environment variable - state: present - name: s1 - ipaddress: 10.10.10.181 - servicetype: HTTP - port: 80 - - name: Sample Task | service - delegate_to: localhost - netscaler.adc.service: - # nsip: 10.0.0.1 # This can also be given via NETSCALER_NSIP environment variable - # nitro_user: nitrouser # This can also be given via NETSCALER_NITRO_USER environment variable - # nitro_pass: verysecretpassword # This can also be given via NETSCALER_NITRO_PASS environment variable - # nitro_protocol: https # This can also be given via NETSCALER_NITRO_PROTOCOL environment variable - # validate_certs: false # This can also be given via NETSCALER_VALIDATE_CERTS environment variable - # save_config: false # This can also be given via NETSCALER_SAVE_CONFIG environment variable - state: present - name: s2 - ipaddress: 10.10.10.10 - servicetype: HTTP - port: 80 - - name: Sample Task | servicegroup - delegate_to: localhost - netscaler.adc.servicegroup: - # nsip: 10.0.0.1 # This can also be given via NETSCALER_NSIP environment variable - # nitro_user: nitrouser # This can also be given via NETSCALER_NITRO_USER environment variable - # nitro_pass: verysecretpassword # This can also be given via NETSCALER_NITRO_PASS environment variable - # nitro_protocol: https # This can also be given via NETSCALER_NITRO_PROTOCOL environment variable - # validate_certs: false # This can also be given via NETSCALER_VALIDATE_CERTS environment variable - # save_config: false # This can also be given via NETSCALER_SAVE_CONFIG environment variable - state: present - servicegroupname: sg1 - servicetype: HTTP - - name: Sample Task | lbvserver with bindings + - name: Configure lbvserver delegate_to: localhost netscaler.adc.lbvserver: - # nsip: 10.0.0.1 # This can also be given via NETSCALER_NSIP environment variable - # nitro_user: nitrouser # This can also be given via NETSCALER_NITRO_USER environment variable - # nitro_pass: verysecretpassword # This can also be given via NETSCALER_NITRO_PASS environment variable - # nitro_protocol: https # This can also be given via NETSCALER_NITRO_PROTOCOL environment variable - # validate_certs: false # This can also be given via NETSCALER_VALIDATE_CERTS environment variable - # save_config: false # This can also be given via NETSCALER_SAVE_CONFIG environment variable + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - name: test_lbvser - servicetype: HTTP - ipv46: 10.10.10.11 - port: 80 - lbmethod: LEASTCONNECTION - lbvserver_servicegroup_binding: - # mode: desired # bind | unbind | desired - binding_members: - - name: test_lbvser - servicename: sg1 - lbvserver_service_binding: - # mode: desired # bind | unbind | desired - binding_members: - - name: test_lbvser - servicename: s1 - weight: 16 - - name: test_lbvser - servicename: s2 - weight: 20 + name: lb_dns_01 + servicetype: DNS + ipv46: 169.254.100.2 + port: 53 + persistencetype: NONE + clttimeout: 120 """ RETURN = r""" diff --git a/plugins/modules/lbvserver_analyticsprofile_binding.py b/plugins/modules/lbvserver_analyticsprofile_binding.py index ffb2501cf..97e96abf4 100644 --- a/plugins/modules/lbvserver_analyticsprofile_binding.py +++ b/plugins/modules/lbvserver_analyticsprofile_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: lbvserver_analyticsprofile_binding short_description: Binding Resource definition for describing association between lbvserver and analyticsprofile resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/lbvserver_appflowpolicy_binding.py b/plugins/modules/lbvserver_appflowpolicy_binding.py index c64508ff5..07b82e47a 100644 --- a/plugins/modules/lbvserver_appflowpolicy_binding.py +++ b/plugins/modules/lbvserver_appflowpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: lbvserver_appflowpolicy_binding short_description: Binding Resource definition for describing association between lbvserver and appflowpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/lbvserver_appfwpolicy_binding.py b/plugins/modules/lbvserver_appfwpolicy_binding.py index 596e2b0f4..e9db5f3b9 100644 --- a/plugins/modules/lbvserver_appfwpolicy_binding.py +++ b/plugins/modules/lbvserver_appfwpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: lbvserver_appfwpolicy_binding short_description: Binding Resource definition for describing association between lbvserver and appfwpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/lbvserver_appqoepolicy_binding.py b/plugins/modules/lbvserver_appqoepolicy_binding.py index 71f234b19..f0f52f5a0 100644 --- a/plugins/modules/lbvserver_appqoepolicy_binding.py +++ b/plugins/modules/lbvserver_appqoepolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: lbvserver_appqoepolicy_binding short_description: Binding Resource definition for describing association between lbvserver and appqoepolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -105,6 +107,22 @@ """ EXAMPLES = r""" +--- +- name: Sample lbvserver_appqoepolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lbvserver_appqoepolicy_binding + delegate_to: localhost + netscaler.adc.lbvserver_appqoepolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: Base_appqoe_v1 + policyname: Base_appqoe_pol7 + priority: '700' """ RETURN = r""" diff --git a/plugins/modules/lbvserver_auditnslogpolicy_binding.py b/plugins/modules/lbvserver_auditnslogpolicy_binding.py index f64f583bd..c7150f88d 100644 --- a/plugins/modules/lbvserver_auditnslogpolicy_binding.py +++ b/plugins/modules/lbvserver_auditnslogpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: lbvserver_auditnslogpolicy_binding short_description: Binding Resource definition for describing association between lbvserver and auditnslogpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/lbvserver_auditsyslogpolicy_binding.py b/plugins/modules/lbvserver_auditsyslogpolicy_binding.py index 9152fe73d..751b87cb2 100644 --- a/plugins/modules/lbvserver_auditsyslogpolicy_binding.py +++ b/plugins/modules/lbvserver_auditsyslogpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: lbvserver_auditsyslogpolicy_binding short_description: Binding Resource definition for describing association between lbvserver and auditsyslogpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/lbvserver_authorizationpolicy_binding.py b/plugins/modules/lbvserver_authorizationpolicy_binding.py index f878065ec..4c8d25249 100644 --- a/plugins/modules/lbvserver_authorizationpolicy_binding.py +++ b/plugins/modules/lbvserver_authorizationpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: lbvserver_authorizationpolicy_binding short_description: Binding Resource definition for describing association between lbvserver and authorizationpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/lbvserver_botpolicy_binding.py b/plugins/modules/lbvserver_botpolicy_binding.py index 478d47ae8..14f57ae47 100644 --- a/plugins/modules/lbvserver_botpolicy_binding.py +++ b/plugins/modules/lbvserver_botpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: lbvserver_botpolicy_binding short_description: Binding Resource definition for describing association between lbvserver and botpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/lbvserver_cachepolicy_binding.py b/plugins/modules/lbvserver_cachepolicy_binding.py index 3a852fcf6..77b6c77a3 100644 --- a/plugins/modules/lbvserver_cachepolicy_binding.py +++ b/plugins/modules/lbvserver_cachepolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: lbvserver_cachepolicy_binding short_description: Binding Resource definition for describing association between lbvserver and cachepolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -97,6 +99,24 @@ """ EXAMPLES = r""" +--- +- name: Sample lbvserver_cachepolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lbvserver_cachepolicy_binding + delegate_to: localhost + netscaler.adc.lbvserver_cachepolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: _XM_LB_CACHE_10.100.39.1321 + policyname: n_XM_CACHE_WO_DEVICEID_10.100.39.132 + priority: '90' + gotopriorityexpression: END + bindpoint: REQUEST """ RETURN = r""" diff --git a/plugins/modules/lbvserver_cmppolicy_binding.py b/plugins/modules/lbvserver_cmppolicy_binding.py index aeb1dafd8..ccf6bc0e6 100644 --- a/plugins/modules/lbvserver_cmppolicy_binding.py +++ b/plugins/modules/lbvserver_cmppolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: lbvserver_cmppolicy_binding short_description: Binding Resource definition for describing association between lbvserver and cmppolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -97,6 +99,27 @@ """ EXAMPLES = r""" +--- +- name: Sample lbvserver_cmppolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lbvserver_cmppolicy_binding + delegate_to: localhost + netscaler.adc.lbvserver_cmppolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: Base_v-cmp + policyname: Base_cmp_mypolicy + priority: '1' + gotopriorityexpression: next + bindpoint: RESPONSE + invoke: true + labeltype: policylabel + labelname: Base_cmp_pol_label """ RETURN = r""" diff --git a/plugins/modules/lbvserver_contentinspectionpolicy_binding.py b/plugins/modules/lbvserver_contentinspectionpolicy_binding.py index 3ddada476..2737c671b 100644 --- a/plugins/modules/lbvserver_contentinspectionpolicy_binding.py +++ b/plugins/modules/lbvserver_contentinspectionpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: lbvserver_contentinspectionpolicy_binding short_description: Binding Resource definition for describing association between lbvserver and contentinspectionpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/lbvserver_dnspolicy64_binding.py b/plugins/modules/lbvserver_dnspolicy64_binding.py index 5d03387a4..35a8bcc58 100644 --- a/plugins/modules/lbvserver_dnspolicy64_binding.py +++ b/plugins/modules/lbvserver_dnspolicy64_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: lbvserver_dnspolicy64_binding short_description: Binding Resource definition for describing association between lbvserver and dnspolicy64 resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -105,6 +107,24 @@ """ EXAMPLES = r""" +--- +- name: Sample lbvserver_dnspolicy64_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lbvserver_dnspolicy64_binding + delegate_to: localhost + netscaler.adc.lbvserver_dnspolicy64_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: lb_tcp1 + policyname: dns64_pol2 + priority: '2' + gotopriorityexpression: END + bindpoint: REQUEST """ RETURN = r""" diff --git a/plugins/modules/lbvserver_feopolicy_binding.py b/plugins/modules/lbvserver_feopolicy_binding.py index 77bd2e89d..dd4edc19a 100644 --- a/plugins/modules/lbvserver_feopolicy_binding.py +++ b/plugins/modules/lbvserver_feopolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: lbvserver_feopolicy_binding short_description: Binding Resource definition for describing association between lbvserver and feopolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/lbvserver_lbpolicy_binding.py b/plugins/modules/lbvserver_lbpolicy_binding.py index a56fe1d58..5c706555b 100644 --- a/plugins/modules/lbvserver_lbpolicy_binding.py +++ b/plugins/modules/lbvserver_lbpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: lbvserver_lbpolicy_binding short_description: Binding Resource definition for describing association between lbvserver and lbpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/lbvserver_responderpolicy_binding.py b/plugins/modules/lbvserver_responderpolicy_binding.py index 01eb5badd..3036b12eb 100644 --- a/plugins/modules/lbvserver_responderpolicy_binding.py +++ b/plugins/modules/lbvserver_responderpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: lbvserver_responderpolicy_binding short_description: Binding Resource definition for describing association between lbvserver and responderpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -97,6 +99,23 @@ """ EXAMPLES = r""" +--- +- name: Sample lbvserver_responderpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lbvserver_responderpolicy_binding + delegate_to: localhost + netscaler.adc.lbvserver_responderpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: v666 + policyname: P1 + priority: '5' + bindpoint: REQUEST """ RETURN = r""" diff --git a/plugins/modules/lbvserver_rewritepolicy_binding.py b/plugins/modules/lbvserver_rewritepolicy_binding.py index 70f0a671a..7a1a80a80 100644 --- a/plugins/modules/lbvserver_rewritepolicy_binding.py +++ b/plugins/modules/lbvserver_rewritepolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: lbvserver_rewritepolicy_binding short_description: Binding Resource definition for describing association between lbvserver and rewritepolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -97,6 +99,24 @@ """ EXAMPLES = r""" +--- +- name: Sample lbvserver_rewritepolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lbvserver_rewritepolicy_binding + delegate_to: localhost + netscaler.adc.lbvserver_rewritepolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: LB_DIA_vs2 + policyname: rw_diam_pol + priority: '10' + gotopriorityexpression: END + bindpoint: REQUEST """ RETURN = r""" diff --git a/plugins/modules/lbvserver_service_binding.py b/plugins/modules/lbvserver_service_binding.py index fd2a9b23e..245f5241b 100644 --- a/plugins/modules/lbvserver_service_binding.py +++ b/plugins/modules/lbvserver_service_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: lbvserver_service_binding short_description: Binding Resource definition for describing association between lbvserver and service resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -70,23 +72,20 @@ EXAMPLES = r""" --- -- name: Simple lbvserver_service_binding playbook - hosts: localhost +- name: Sample lbvserver_service_binding playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | lbvserver_service_binding + - name: Configure lbvserver_service_binding delegate_to: localhost netscaler.adc.lbvserver_service_binding: - # nsip: 10.0.0.1 # This can also be given via NETSCALER_NSIP environment variable - # nitro_user: nitrouser # This can also be given via NETSCALER_NITRO_USER environment variable - # nitro_pass: verysecretpassword # This can also be given via NETSCALER_NITRO_PASS environment variable - # nitro_protocol: https # This can also be given via NETSCALER_NITRO_PROTOCOL environment variable - # validate_certs: false # This can also be given via NETSCALER_VALIDATE_CERTS environment variable - # save_config: false # This can also be given via NETSCALER_SAVE_CONFIG environment variable - state: absent - name: test_lbvser - servicename: s1 - weight: 16 + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: lb_dns_01 + servicename: dns_svc_03 """ RETURN = r""" diff --git a/plugins/modules/lbvserver_servicegroup_binding.py b/plugins/modules/lbvserver_servicegroup_binding.py index a253768dd..567e1abf6 100644 --- a/plugins/modules/lbvserver_servicegroup_binding.py +++ b/plugins/modules/lbvserver_servicegroup_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: lbvserver_servicegroup_binding short_description: Binding Resource definition for describing association between lbvserver and servicegroup resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -72,22 +74,21 @@ """ EXAMPLES = r""" -- name: Create a lb - delegate_to: localhost - netscaler.adc.lbvserver: - name: test_lb - servicetype: SSL -- name: Create a servicegroup - delegate_to: localhost - netscaler.adc.servicegroup: - servicegroupname: test_sg - servicetype: SSL -- name: Create a servicegroup - delegate_to: localhost - netscaler.adc.lbvserver_servicegroup_binding: - weight: 1 - name: test_lb - servicename: test_sg +--- +- name: Sample lbvserver_servicegroup_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lbvserver_servicegroup_binding + delegate_to: localhost + netscaler.adc.lbvserver_servicegroup_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: CR_cachev21 + servicename: CR_SVG """ RETURN = r""" diff --git a/plugins/modules/lbvserver_spilloverpolicy_binding.py b/plugins/modules/lbvserver_spilloverpolicy_binding.py index bc0421355..c4f72101c 100644 --- a/plugins/modules/lbvserver_spilloverpolicy_binding.py +++ b/plugins/modules/lbvserver_spilloverpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: lbvserver_spilloverpolicy_binding short_description: Binding Resource definition for describing association between lbvserver and spilloverpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/lbvserver_tmtrafficpolicy_binding.py b/plugins/modules/lbvserver_tmtrafficpolicy_binding.py index 778e7e662..42ffb55ea 100644 --- a/plugins/modules/lbvserver_tmtrafficpolicy_binding.py +++ b/plugins/modules/lbvserver_tmtrafficpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: lbvserver_tmtrafficpolicy_binding short_description: Binding Resource definition for describing association between lbvserver and tmtrafficpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -130,6 +132,22 @@ """ EXAMPLES = r""" +--- +- name: Sample lbvserver_tmtrafficpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lbvserver_tmtrafficpolicy_binding + delegate_to: localhost + netscaler.adc.lbvserver_tmtrafficpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: lbvs + policyname: ia_tmtrafpol1 + priority: '1' """ RETURN = r""" diff --git a/plugins/modules/lbvserver_transformpolicy_binding.py b/plugins/modules/lbvserver_transformpolicy_binding.py index 98afc9a6c..0d7cac7fe 100644 --- a/plugins/modules/lbvserver_transformpolicy_binding.py +++ b/plugins/modules/lbvserver_transformpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: lbvserver_transformpolicy_binding short_description: Binding Resource definition for describing association between lbvserver and transformpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/lbvserver_videooptimizationdetectionpolicy_binding.py b/plugins/modules/lbvserver_videooptimizationdetectionpolicy_binding.py index 1509b97f1..46956ad18 100644 --- a/plugins/modules/lbvserver_videooptimizationdetectionpolicy_binding.py +++ b/plugins/modules/lbvserver_videooptimizationdetectionpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: lbvserver_videooptimizationdetectionpolicy_binding short_description: Binding Resource definition for describing association between lbvserver and videooptimizationdetectionpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/lbvserver_videooptimizationpacingpolicy_binding.py b/plugins/modules/lbvserver_videooptimizationpacingpolicy_binding.py index cdb72213f..0cb2bb147 100644 --- a/plugins/modules/lbvserver_videooptimizationpacingpolicy_binding.py +++ b/plugins/modules/lbvserver_videooptimizationpacingpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: lbvserver_videooptimizationpacingpolicy_binding short_description: Binding Resource definition for describing association between lbvserver and videooptimizationpacingpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/lbwlm.py b/plugins/modules/lbwlm.py index 2ae70f649..caf462490 100644 --- a/plugins/modules/lbwlm.py +++ b/plugins/modules/lbwlm.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: lbwlm short_description: Configuration for web log manager resource. description: Configuration for web log manager resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -43,7 +45,7 @@ description: - The IP address of the WLM. katimeout: - type: raw + type: float description: - The idle time period after which Citrix ADC would probe the WLM. The value ranges from 1 to 1440 minutes. @@ -56,7 +58,7 @@ description: - The port of the WLM. wlmname: - type: raw + type: str description: - The name of the Work Load Manager. lbwlm_lbvserver_binding: diff --git a/plugins/modules/lbwlm_lbvserver_binding.py b/plugins/modules/lbwlm_lbvserver_binding.py index a48fcc207..5405abf19 100644 --- a/plugins/modules/lbwlm_lbvserver_binding.py +++ b/plugins/modules/lbwlm_lbvserver_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: lbwlm_lbvserver_binding short_description: Binding Resource definition for describing association between lbwlm and lbvserver resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/linkset.py b/plugins/modules/linkset.py index 630c73f5b..2457cd48f 100644 --- a/plugins/modules/linkset.py +++ b/plugins/modules/linkset.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: linkset short_description: Configuration for link set resource. description: Configuration for link set resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/linkset_channel_binding.py b/plugins/modules/linkset_channel_binding.py index 06d723170..1f0267bbb 100644 --- a/plugins/modules/linkset_channel_binding.py +++ b/plugins/modules/linkset_channel_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: linkset_channel_binding short_description: Binding Resource definition for describing association between linkset and channel resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/linkset_interface_binding.py b/plugins/modules/linkset_interface_binding.py index f6d0a07df..4a5b4ae83 100644 --- a/plugins/modules/linkset_interface_binding.py +++ b/plugins/modules/linkset_interface_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: linkset_interface_binding short_description: Binding Resource definition for describing association between linkset and interface resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/lldpneighbors.py b/plugins/modules/lldpneighbors.py index 2be824b4f..2af8b3e18 100644 --- a/plugins/modules/lldpneighbors.py +++ b/plugins/modules/lldpneighbors.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: lldpneighbors short_description: Configuration for lldp neighbors resource. description: Configuration for lldp neighbors resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: [] diff --git a/plugins/modules/lldpparam.py b/plugins/modules/lldpparam.py index c5fd298ec..377c70555 100644 --- a/plugins/modules/lldpparam.py +++ b/plugins/modules/lldpparam.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: lldpparam short_description: Configuration for lldp params resource. description: Configuration for lldp params resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,14 +39,14 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str holdtimetxmult: - type: raw + type: float description: - A multiplier for calculating the duration for which the receiving device stores the LLDP information in its database before discarding or removing it. The duration is calculated as the holdtimeTxMult (Holdtime Multiplier) parameter value multiplied by the timer (Timer) parameter value. mode: - type: raw + type: str choices: - NONE - TRANSMITTER @@ -55,7 +57,7 @@ resultant LLDP mode of an interface depends on the LLDP mode configured at the global and the interface levels. timer: - type: raw + type: float description: - Interval, in seconds, between LLDP packet data units (LLDPDUs). that the Citrix ADC sends to a directly connected device. diff --git a/plugins/modules/location.py b/plugins/modules/location.py index 7efe4d21f..f45f78308 100644 --- a/plugins/modules/location.py +++ b/plugins/modules/location.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: location short_description: Configuration for location resource. description: Configuration for location resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -74,6 +76,22 @@ """ EXAMPLES = r""" +--- +- name: Sample location playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure location + delegate_to: localhost + netscaler.adc.location: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + ipfrom: 1.1.1.1 + ipto: 2.2.2.2 + preferredlocation: '*.US.*' """ RETURN = r""" diff --git a/plugins/modules/locationdata.py b/plugins/modules/locationdata.py new file mode 100644 index 000000000..89682ced5 --- /dev/null +++ b/plugins/modules/locationdata.py @@ -0,0 +1,90 @@ +#!/usr/bin/python + +# -*- coding: utf-8 -*- + +# Copyright (c) 2023 Cloud Software Group, Inc. +# MIT License (see LICENSE or https://opensource.org/licenses/MIT) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + + +ANSIBLE_METADATA = { + "metadata_version": "1.1", + "status": ["preview"], + "supported_by": "community", +} + +DOCUMENTATION = r""" +--- +module: locationdata +short_description: Configuration for location data resource. +description: Configuration for location data resource. +version_added: 2.0.0 +author: + - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) +options: + state: + choices: [] + default: present + description: + - The state of the resource being configured by the module on the NetScaler + ADC node. + type: str +extends_documentation_fragment: netscaler.adc.netscaler_adc + +""" + +EXAMPLES = r""" +""" + +RETURN = r""" +--- +changed: + description: Indicates if any change is made by the module + returned: always + type: bool + sample: true +diff: + description: Dictionary of before and after changes + returned: always + type: dict + sample: {'before': {'key1': 'xyz'}, 'after': {'key2': 'pqr'}, 'prepared': 'changes + done'} +diff_list: + description: List of differences between the actual configured object and the configuration + specified in the module + returned: when changed + type: list + sample: ["Attribute `key1` differs. Desired: () XYZ. Existing: () PQR"] +failed: + description: Indicates if the module failed or not + returned: always + type: bool + sample: false +loglines: + description: list of logged messages by the module + returned: always + type: list + sample: ['message 1', 'message 2'] + +""" + + +import os + +from ..module_utils.module_executor import ModuleExecutor + +RESOURCE_NAME = os.path.basename(__file__).replace(".py", "") + + +def main(): + executor = ModuleExecutor(RESOURCE_NAME) + executor.main() + + +if __name__ == "__main__": + main() diff --git a/plugins/modules/locationfile.py b/plugins/modules/locationfile.py index 6c1c73950..bb8a723ac 100644 --- a/plugins/modules/locationfile.py +++ b/plugins/modules/locationfile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: locationfile short_description: Configuration for location file resource. description: Configuration for location file resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -75,16 +77,19 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample locationfile playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | sslcert + - name: Configure locationfile delegate_to: localhost netscaler.adc.locationfile: - state: imported - locationfile: my_file - src: local:my_location_file + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + locationfile: /var/netscaler/locdb/Citrix_Netscaler_InBuilt_GeoIP_DB_IPv4 """ RETURN = r""" diff --git a/plugins/modules/locationfile6.py b/plugins/modules/locationfile6.py index 9cd6aa5b0..ad2362b0e 100644 --- a/plugins/modules/locationfile6.py +++ b/plugins/modules/locationfile6.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: locationfile6 short_description: Configuration for location file6 resource. description: Configuration for location file6 resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/locationparameter.py b/plugins/modules/locationparameter.py index 2b7e2a69b..1e1effdce 100644 --- a/plugins/modules/locationparameter.py +++ b/plugins/modules/locationparameter.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: locationparameter short_description: Configuration for location parameter resource. description: Configuration for location parameter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,7 +39,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str context: - type: raw + type: str choices: - geographic - custom @@ -47,7 +49,7 @@ In C(custom) context, the qualifiers labels can have any meaning that you designate.' matchwildcardtoany: - type: raw + type: str choices: - 'YES' - 'NO' @@ -65,32 +67,32 @@ - ' wildcard qualifiers in the LDNS location do not match' - ' non-wildcard qualifiers in an expression' q1label: - type: raw + type: str description: - Label specifying the meaning of the first qualifier. Can be specified for custom context only. q2label: - type: raw + type: str description: - Label specifying the meaning of the second qualifier. Can be specified for custom context only. q3label: - type: raw + type: str description: - Label specifying the meaning of the third qualifier. Can be specified for custom context only. q4label: - type: raw + type: str description: - Label specifying the meaning of the fourth qualifier. Can be specified for custom context only. q5label: - type: raw + type: str description: - Label specifying the meaning of the fifth qualifier. Can be specified for custom context only. q6label: - type: raw + type: str description: - Label specifying the meaning of the sixth qualifier. Can be specified for custom context only. @@ -99,6 +101,23 @@ """ EXAMPLES = r""" +--- +- name: Sample locationparameter playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure locationparameter + delegate_to: localhost + netscaler.adc.locationparameter: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + q2label: Country_Code + q3label: Subdivision_1_Name + q4label: Subdivision_2_Name + q5label: City """ RETURN = r""" diff --git a/plugins/modules/lsnappsattributes.py b/plugins/modules/lsnappsattributes.py index 313cdd93e..03135314c 100644 --- a/plugins/modules/lsnappsattributes.py +++ b/plugins/modules/lsnappsattributes.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: lsnappsattributes short_description: Configuration for LSN Application Attributes resource. description: Configuration for LSN Application Attributes resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str name: - type: raw + type: str description: - 'Name for the LSN Application Port ATTRIBUTES. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, @@ -58,7 +60,7 @@ is applied for the LSN session. Separate a range of ports with a hyphen. For example, 40-90. sessiontimeout: - type: raw + type: float description: - Timeout, in seconds, for an idle LSN session. If an LSN session is idle for a time that exceeds this value, the Citrix ADC removes the session.This timeout diff --git a/plugins/modules/lsnappsprofile.py b/plugins/modules/lsnappsprofile.py index 55e4439f3..aa11232dd 100644 --- a/plugins/modules/lsnappsprofile.py +++ b/plugins/modules/lsnappsprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: lsnappsprofile short_description: Configuration for LSN Application Profile resource. description: Configuration for LSN Application Profile resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str appsprofilename: - type: raw + type: str description: - 'Name for the LSN application profile. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, @@ -49,7 +51,7 @@ includes one or more spaces, enclose the name in double or single quotation marks (for example, "lsn application profile1" or ''lsn application profile1'').' filtering: - type: raw + type: str choices: - ENDPOINT-INDEPENDENT - ADDRESS-DEPENDENT @@ -81,7 +83,7 @@ a specific external host requires that the subscriber first send packets first to that external IP address and port.' ippooling: - type: raw + type: str choices: - PAIRED - RANDOM @@ -98,7 +100,7 @@ - '' - This parameter is applicable to dynamic NAT allocation only. l2info: - type: raw + type: str choices: - ENABLED - DISABLED @@ -106,7 +108,7 @@ - Enable l2info by creating natpcbs for LSN, which enables the Citrix ADC to use L2CONN/MBF with LSN. mapping: - type: raw + type: str choices: - ENDPOINT-INDEPENDENT - ADDRESS-DEPENDENT @@ -132,7 +134,7 @@ sent from the same internal IP address and port (X:x) to the same external IP address and port (Y:y) while the mapping is still active.' tcpproxy: - type: raw + type: str choices: - ENABLED - DISABLED @@ -140,7 +142,7 @@ - Enable TCP proxy, which enables the Citrix ADC to optimize the TCP traffic by using Layer 4 features. td: - type: raw + type: float description: - 'ID of the traffic domain through which the Citrix ADC sends the outbound traffic after performing LSN. ' @@ -211,6 +213,24 @@ """ EXAMPLES = r""" +--- +- name: Sample lsnappsprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsnappsprofile + delegate_to: localhost + netscaler.adc.lsnappsprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + appsprofilename: icmp + transportprotocol: ICMP + mapping: ENDPOINT-INDEPENDENT + filtering: ENDPOINT-INDEPENDENT + l2info: ENABLED """ RETURN = r""" diff --git a/plugins/modules/lsnappsprofile_lsnappsattributes_binding.py b/plugins/modules/lsnappsprofile_lsnappsattributes_binding.py index 528ff6ff9..78f65d7a4 100644 --- a/plugins/modules/lsnappsprofile_lsnappsattributes_binding.py +++ b/plugins/modules/lsnappsprofile_lsnappsattributes_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: lsnappsprofile_lsnappsattributes_binding short_description: Binding Resource definition for describing association between lsnappsprofile and lsnappsattributes resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/lsnappsprofile_port_binding.py b/plugins/modules/lsnappsprofile_port_binding.py index 9450a54e4..5a008eca1 100644 --- a/plugins/modules/lsnappsprofile_port_binding.py +++ b/plugins/modules/lsnappsprofile_port_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: lsnappsprofile_port_binding short_description: Binding Resource definition for describing association between lsnappsprofile and port resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -60,6 +62,21 @@ """ EXAMPLES = r""" +--- +- name: Sample lsnappsprofile_port_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsnappsprofile_port_binding + delegate_to: localhost + netscaler.adc.lsnappsprofile_port_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + appsprofilename: app21 + lsnport: 1-65535 """ RETURN = r""" diff --git a/plugins/modules/lsnclient.py b/plugins/modules/lsnclient.py index e059d4aa1..dc9181c8d 100644 --- a/plugins/modules/lsnclient.py +++ b/plugins/modules/lsnclient.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: lsnclient short_description: Configuration for lsn client resource. description: Configuration for lsn client resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -151,6 +153,20 @@ """ EXAMPLES = r""" +--- +- name: Sample lsnclient playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsnclient + delegate_to: localhost + netscaler.adc.lsnclient: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + clientname: dsl_http """ RETURN = r""" diff --git a/plugins/modules/lsnclient_network6_binding.py b/plugins/modules/lsnclient_network6_binding.py index 4d638be7e..7715a52ac 100644 --- a/plugins/modules/lsnclient_network6_binding.py +++ b/plugins/modules/lsnclient_network6_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: lsnclient_network6_binding short_description: Binding Resource definition for describing association between lsnclient and network6 resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -74,6 +76,21 @@ """ EXAMPLES = r""" +--- +- name: Sample lsnclient_network6_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsnclient_network6_binding + delegate_to: localhost + netscaler.adc.lsnclient_network6_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + clientname: client12 + network6: 3ffe:100::6/128 """ RETURN = r""" diff --git a/plugins/modules/lsnclient_network_binding.py b/plugins/modules/lsnclient_network_binding.py index 971691d9b..6071081fd 100644 --- a/plugins/modules/lsnclient_network_binding.py +++ b/plugins/modules/lsnclient_network_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: lsnclient_network_binding short_description: Binding Resource definition for describing association between lsnclient and network resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -69,6 +71,22 @@ """ EXAMPLES = r""" +--- +- name: Sample lsnclient_network_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsnclient_network_binding + delegate_to: localhost + netscaler.adc.lsnclient_network_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + clientname: dsl_http + network: 94.94.94.94 + netmask: 255.255.255.255 """ RETURN = r""" diff --git a/plugins/modules/lsnclient_nsacl6_binding.py b/plugins/modules/lsnclient_nsacl6_binding.py index ac324ce11..42bb99814 100644 --- a/plugins/modules/lsnclient_nsacl6_binding.py +++ b/plugins/modules/lsnclient_nsacl6_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: lsnclient_nsacl6_binding short_description: Binding Resource definition for describing association between lsnclient and nsacl6 resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/lsnclient_nsacl_binding.py b/plugins/modules/lsnclient_nsacl_binding.py index ae0462888..1f234bf05 100644 --- a/plugins/modules/lsnclient_nsacl_binding.py +++ b/plugins/modules/lsnclient_nsacl_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: lsnclient_nsacl_binding short_description: Binding Resource definition for describing association between lsnclient and nsacl resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/lsngroup.py b/plugins/modules/lsngroup.py index cbbbf99fa..1d02d252f 100644 --- a/plugins/modules/lsngroup.py +++ b/plugins/modules/lsngroup.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: lsngroup short_description: Configuration for LSN group resource. description: Configuration for LSN group resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -76,7 +78,7 @@ association or replace with another LSN client entity once the LSN group is created. ftp: - type: raw + type: str choices: - ENABLED - DISABLED @@ -93,7 +95,7 @@ with endpoint-independent-mapping, endpoint-independent filtering, and destination port as 69 (well-known port for TFTP), to the LSN group.' ftpcm: - type: raw + type: str choices: - ENABLED - DISABLED @@ -102,7 +104,7 @@ (CM or connection failover) refers to keeping active an established TCP or UDP connection when a failover occurs. groupname: - type: raw + type: str description: - 'Name for the LSN group. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash @@ -120,7 +122,7 @@ - By default, no LSN ip6 profile is associated with an LSN group during its creation. Only one ip6profile can be associated with a group. logging: - type: raw + type: str choices: - ENABLED - DISABLED @@ -187,7 +189,7 @@ subscriber''s connections) from the subscriber''s allocated port block, the ADC allocates a new random port block for the subscriber.' portblocksize: - type: raw + type: float description: - Size of the NAT port block to be allocated for each subscriber. - '' @@ -203,21 +205,21 @@ - The default port block size is 256 for Deterministic NAT, and 0 for Dynamic NAT. pptp: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable the PPTP Application Layer Gateway. rtspalg: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable the RTSP ALG. sessionlogging: - type: raw + type: str choices: - ENABLED - DISABLED @@ -236,7 +238,7 @@ - '* Protocol name' - '* Destination IP address, port, and traffic domain ID' sessionsync: - type: raw + type: str choices: - ENABLED - DISABLED @@ -249,14 +251,14 @@ - For this setting to work, you must enable the global session synchronization parameter. sipalg: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable the SIP ALG. snmptraplimit: - type: raw + type: float description: - Maximum number of SNMP Trap messages that can be generated for the LSN group in one minute. @@ -490,6 +492,21 @@ """ EXAMPLES = r""" +--- +- name: Sample lsngroup playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsngroup + delegate_to: localhost + netscaler.adc.lsngroup: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + groupname: dsl_http + clientname: dsl_http """ RETURN = r""" diff --git a/plugins/modules/lsngroup_ipsecalgprofile_binding.py b/plugins/modules/lsngroup_ipsecalgprofile_binding.py index b8811fb63..17dbd3af5 100644 --- a/plugins/modules/lsngroup_ipsecalgprofile_binding.py +++ b/plugins/modules/lsngroup_ipsecalgprofile_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: lsngroup_ipsecalgprofile_binding short_description: Binding Resource definition for describing association between lsngroup and ipsecalgprofile resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/lsngroup_lsnappsprofile_binding.py b/plugins/modules/lsngroup_lsnappsprofile_binding.py index 88b8b2cb8..3afd37a1f 100644 --- a/plugins/modules/lsngroup_lsnappsprofile_binding.py +++ b/plugins/modules/lsngroup_lsnappsprofile_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: lsngroup_lsnappsprofile_binding short_description: Binding Resource definition for describing association between lsngroup and lsnappsprofile resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -67,6 +69,21 @@ """ EXAMPLES = r""" +--- +- name: Sample lsngroup_lsnappsprofile_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsngroup_lsnappsprofile_binding + delegate_to: localhost + netscaler.adc.lsngroup_lsnappsprofile_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + groupname: g15 + appsprofilename: app_udp """ RETURN = r""" diff --git a/plugins/modules/lsngroup_lsnhttphdrlogprofile_binding.py b/plugins/modules/lsngroup_lsnhttphdrlogprofile_binding.py index b4cd2d2f8..40053855f 100644 --- a/plugins/modules/lsngroup_lsnhttphdrlogprofile_binding.py +++ b/plugins/modules/lsngroup_lsnhttphdrlogprofile_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: lsngroup_lsnhttphdrlogprofile_binding short_description: Binding Resource definition for describing association between lsngroup and lsnhttphdrlogprofile resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -57,6 +59,21 @@ """ EXAMPLES = r""" +--- +- name: Sample lsngroup_lsnhttphdrlogprofile_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsngroup_lsnhttphdrlogprofile_binding + delegate_to: localhost + netscaler.adc.lsngroup_lsnhttphdrlogprofile_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + groupname: g1 + httphdrlogprofilename: httplog """ RETURN = r""" diff --git a/plugins/modules/lsngroup_lsnlogprofile_binding.py b/plugins/modules/lsngroup_lsnlogprofile_binding.py index a1a7b77af..b2a37af7d 100644 --- a/plugins/modules/lsngroup_lsnlogprofile_binding.py +++ b/plugins/modules/lsngroup_lsnlogprofile_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: lsngroup_lsnlogprofile_binding short_description: Binding Resource definition for describing association between lsngroup and lsnlogprofile resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -57,6 +59,21 @@ """ EXAMPLES = r""" +--- +- name: Sample lsngroup_lsnlogprofile_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsngroup_lsnlogprofile_binding + delegate_to: localhost + netscaler.adc.lsngroup_lsnlogprofile_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + groupname: lsn_group_1 + logprofilename: msd """ RETURN = r""" diff --git a/plugins/modules/lsngroup_lsnpool_binding.py b/plugins/modules/lsngroup_lsnpool_binding.py index ae0eed4e5..455d673c4 100644 --- a/plugins/modules/lsngroup_lsnpool_binding.py +++ b/plugins/modules/lsngroup_lsnpool_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: lsngroup_lsnpool_binding short_description: Binding Resource definition for describing association between lsngroup and lsnpool resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -63,6 +65,21 @@ """ EXAMPLES = r""" +--- +- name: Sample lsngroup_lsnpool_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsngroup_lsnpool_binding + delegate_to: localhost + netscaler.adc.lsngroup_lsnpool_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + groupname: group4 + poolname: pool4 """ RETURN = r""" diff --git a/plugins/modules/lsngroup_lsnrtspalgprofile_binding.py b/plugins/modules/lsngroup_lsnrtspalgprofile_binding.py index 9036096af..dc0051a76 100644 --- a/plugins/modules/lsngroup_lsnrtspalgprofile_binding.py +++ b/plugins/modules/lsngroup_lsnrtspalgprofile_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: lsngroup_lsnrtspalgprofile_binding short_description: Binding Resource definition for describing association between lsngroup and lsnrtspalgprofile resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -57,6 +59,21 @@ """ EXAMPLES = r""" +--- +- name: Sample lsngroup_lsnrtspalgprofile_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsngroup_lsnrtspalgprofile_binding + delegate_to: localhost + netscaler.adc.lsngroup_lsnrtspalgprofile_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + groupname: group12 + rtspalgprofilename: rtspprofile1 """ RETURN = r""" diff --git a/plugins/modules/lsngroup_lsnsipalgprofile_binding.py b/plugins/modules/lsngroup_lsnsipalgprofile_binding.py index ce2b81009..6cf3ce52a 100644 --- a/plugins/modules/lsngroup_lsnsipalgprofile_binding.py +++ b/plugins/modules/lsngroup_lsnsipalgprofile_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: lsngroup_lsnsipalgprofile_binding short_description: Binding Resource definition for describing association between lsngroup and lsnsipalgprofile resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -57,6 +59,21 @@ """ EXAMPLES = r""" +--- +- name: Sample lsngroup_lsnsipalgprofile_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsngroup_lsnsipalgprofile_binding + delegate_to: localhost + netscaler.adc.lsngroup_lsnsipalgprofile_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + groupname: g15 + sipalgprofilename: sipalgprofile_udp """ RETURN = r""" diff --git a/plugins/modules/lsngroup_lsntransportprofile_binding.py b/plugins/modules/lsngroup_lsntransportprofile_binding.py index 53bfa5ee7..9e1610e4a 100644 --- a/plugins/modules/lsngroup_lsntransportprofile_binding.py +++ b/plugins/modules/lsngroup_lsntransportprofile_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: lsngroup_lsntransportprofile_binding short_description: Binding Resource definition for describing association between lsngroup and lsntransportprofile resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -65,6 +67,21 @@ """ EXAMPLES = r""" +--- +- name: Sample lsngroup_lsntransportprofile_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsngroup_lsntransportprofile_binding + delegate_to: localhost + netscaler.adc.lsngroup_lsntransportprofile_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + groupname: group1 + transportprofilename: icmp """ RETURN = r""" diff --git a/plugins/modules/lsngroup_pcpserver_binding.py b/plugins/modules/lsngroup_pcpserver_binding.py index d6d96757f..1e74c9935 100644 --- a/plugins/modules/lsngroup_pcpserver_binding.py +++ b/plugins/modules/lsngroup_pcpserver_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: lsngroup_pcpserver_binding short_description: Binding Resource definition for describing association between lsngroup and pcpserver resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -57,6 +59,21 @@ """ EXAMPLES = r""" +--- +- name: Sample lsngroup_pcpserver_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsngroup_pcpserver_binding + delegate_to: localhost + netscaler.adc.lsngroup_pcpserver_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + groupname: lsn_group_1 + pcpserver: pcp_server_1 """ RETURN = r""" diff --git a/plugins/modules/lsnhttphdrlogprofile.py b/plugins/modules/lsnhttphdrlogprofile.py index 039db352e..f0996ef89 100644 --- a/plugins/modules/lsnhttphdrlogprofile.py +++ b/plugins/modules/lsnhttphdrlogprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: lsnhttphdrlogprofile short_description: Configuration for LSN HTTP header logging Profile resource. description: Configuration for LSN HTTP header logging Profile resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,32 +41,32 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str httphdrlogprofilename: - type: raw + type: str description: - The name of the HTTP header logging Profile. loghost: - type: raw + type: str choices: - ENABLED - DISABLED description: - Host information is logged if option is enabled. logmethod: - type: raw + type: str choices: - ENABLED - DISABLED description: - HTTP method information is logged if option is enabled. logurl: - type: raw + type: str choices: - ENABLED - DISABLED description: - URL information is logged if option is enabled. logversion: - type: raw + type: str choices: - ENABLED - DISABLED @@ -75,6 +77,24 @@ """ EXAMPLES = r""" +--- +- name: Sample lsnhttphdrlogprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsnhttphdrlogprofile + delegate_to: localhost + netscaler.adc.lsnhttphdrlogprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + httphdrlogprofilename: httplog + logurl: ENABLED + logmethod: ENABLED + logversion: ENABLED + loghost: ENABLED """ RETURN = r""" diff --git a/plugins/modules/lsnip6profile.py b/plugins/modules/lsnip6profile.py index 688694818..33b2048b2 100644 --- a/plugins/modules/lsnip6profile.py +++ b/plugins/modules/lsnip6profile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: lsnip6profile short_description: Configuration for LSN ip6 Profile resource. description: Configuration for LSN ip6 Profile resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -67,6 +69,22 @@ """ EXAMPLES = r""" +--- +- name: Sample lsnip6profile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsnip6profile + delegate_to: localhost + netscaler.adc.lsnip6profile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ds1 + type: DS-Lite + network6: 3ffe:100::1 """ RETURN = r""" diff --git a/plugins/modules/lsnlogprofile.py b/plugins/modules/lsnlogprofile.py index f3e76fe31..1d91c5e0c 100644 --- a/plugins/modules/lsnlogprofile.py +++ b/plugins/modules/lsnlogprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: lsnlogprofile short_description: Configuration for LSN logging Profile resource. description: Configuration for LSN logging Profile resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,36 +41,36 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str analyticsprofile: - type: raw + type: str description: - Name of the Analytics Profile attached to this lsn profile. logcompact: - type: raw + type: str choices: - ENABLED - DISABLED description: - Logs in Compact Logging format if option is enabled. logipfix: - type: raw + type: str choices: - ENABLED - DISABLED description: - Logs in IPFIX format if option is enabled. logprofilename: - type: raw + type: str description: - The name of the logging Profile. logsessdeletion: - type: raw + type: str choices: - ENABLED - DISABLED description: - LSN Session deletion will not be logged if disabled. logsubscrinfo: - type: raw + type: str choices: - ENABLED - DISABLED @@ -79,6 +81,21 @@ """ EXAMPLES = r""" +--- +- name: Sample lsnlogprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsnlogprofile + delegate_to: localhost + netscaler.adc.lsnlogprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + logprofilename: msd + logsubscrinfo: ENABLED """ RETURN = r""" diff --git a/plugins/modules/lsnparameter.py b/plugins/modules/lsnparameter.py index 1a64d2de2..a64cf1d7b 100644 --- a/plugins/modules/lsnparameter.py +++ b/plugins/modules/lsnparameter.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: lsnparameter short_description: Configuration for LSN parameter resource. description: Configuration for LSN parameter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -47,7 +49,7 @@ the amount of active memory.' - This command is deprecated, use 'set extendedmemoryparam -memlimit' instead. sessionsync: - type: raw + type: str choices: - ENABLED - DISABLED @@ -64,7 +66,7 @@ parameters are enabled, the primary node synchronizes information of all LSN sessions related to this LSN group with the secondary node. subscrsessionremoval: - type: raw + type: str choices: - ENABLED - DISABLED @@ -79,6 +81,20 @@ """ EXAMPLES = r""" +--- +- name: Sample lsnparameter playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsnparameter + delegate_to: localhost + netscaler.adc.lsnparameter: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + subscrsessionremoval: ENABLED """ RETURN = r""" diff --git a/plugins/modules/lsnpool.py b/plugins/modules/lsnpool.py index a6eec64b4..42095378a 100644 --- a/plugins/modules/lsnpool.py +++ b/plugins/modules/lsnpool.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: lsnpool short_description: Configuration for LSN pool resource. description: Configuration for LSN pool resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str maxportrealloctmq: - type: raw + type: float description: - Maximum number of ports for which the port reallocation timeout applies for each NAT IP address. In other words, the maximum deallocated-port queue size @@ -84,7 +86,7 @@ together. Multiples LSN pools can be bound to an LSN group. A maximum of 16 LSN pools can be bound to an LSN group. poolname: - type: raw + type: str description: - 'Name for the LSN pool. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash @@ -112,7 +114,7 @@ - For Deterministic NAT, this parameter is enabled by default, and you cannot disable it. portrealloctimeout: - type: raw + type: float description: - 'The waiting time, in seconds, between deallocating LSN NAT ports (when an LSN mapping is removed) and reallocating them for a new LSN session. This @@ -154,6 +156,20 @@ """ EXAMPLES = r""" +--- +- name: Sample lsnpool playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsnpool + delegate_to: localhost + netscaler.adc.lsnpool: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + poolname: pool4 """ RETURN = r""" diff --git a/plugins/modules/lsnpool_lsnip_binding.py b/plugins/modules/lsnpool_lsnip_binding.py index b1cee8984..71f5b0cfa 100644 --- a/plugins/modules/lsnpool_lsnip_binding.py +++ b/plugins/modules/lsnpool_lsnip_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: lsnpool_lsnip_binding short_description: Binding Resource definition for describing association between lsnpool and lsnip resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -72,6 +74,21 @@ """ EXAMPLES = r""" +--- +- name: Sample lsnpool_lsnip_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsnpool_lsnip_binding + delegate_to: localhost + netscaler.adc.lsnpool_lsnip_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + poolname: pool4 + lsnip: 45.1.1.1-45.1.1.10 """ RETURN = r""" diff --git a/plugins/modules/lsnrtspalgprofile.py b/plugins/modules/lsnrtspalgprofile.py index 15e2e8d09..a60c1ff0f 100644 --- a/plugins/modules/lsnrtspalgprofile.py +++ b/plugins/modules/lsnrtspalgprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: lsnrtspalgprofile short_description: Configuration for LSN RTSPALG Profile resource. description: Configuration for LSN RTSPALG Profile resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,19 +41,19 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str rtspalgprofilename: - type: raw + type: str description: - The name of the RTSPALG Profile. rtspidletimeout: - type: raw + type: float description: - Idle timeout for the rtsp sessions in seconds. rtspportrange: - type: raw + type: str description: - port for the RTSP rtsptransportprotocol: - type: raw + type: str choices: - TCP - UDP @@ -62,6 +64,22 @@ """ EXAMPLES = r""" +--- +- name: Sample lsnrtspalgprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsnrtspalgprofile + delegate_to: localhost + netscaler.adc.lsnrtspalgprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + rtspalgprofilename: rtspprofile1 + rtspidletimeout: '100' + rtspportrange: '554' """ RETURN = r""" diff --git a/plugins/modules/lsnrtspalgsession.py b/plugins/modules/lsnrtspalgsession.py index 4d4abc099..a3c06c1bd 100644 --- a/plugins/modules/lsnrtspalgsession.py +++ b/plugins/modules/lsnrtspalgsession.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: lsnrtspalgsession short_description: Configuration for LSN RTSPALG session resource. description: Configuration for LSN RTSPALG session resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/lsnsession.py b/plugins/modules/lsnsession.py index 89da562b2..ccf46ecaf 100644 --- a/plugins/modules/lsnsession.py +++ b/plugins/modules/lsnsession.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: lsnsession short_description: Configuration for lsn session resource. description: Configuration for lsn session resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/lsnsipalgcall.py b/plugins/modules/lsnsipalgcall.py index cfdc291fb..63aa7ac9a 100644 --- a/plugins/modules/lsnsipalgcall.py +++ b/plugins/modules/lsnsipalgcall.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: lsnsipalgcall short_description: Configuration for LSN SIPALG call resource. description: Configuration for LSN SIPALG call resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/lsnsipalgprofile.py b/plugins/modules/lsnsipalgprofile.py index 918e43e98..5c336168d 100644 --- a/plugins/modules/lsnsipalgprofile.py +++ b/plugins/modules/lsnsipalgprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: lsnsipalgprofile short_description: Configuration for LSN SIPALG Profile resource. description: Configuration for LSN SIPALG Profile resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,73 +41,73 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str datasessionidletimeout: - type: raw + type: float description: - Idle timeout for the data channel sessions in seconds. opencontactpinhole: - type: raw + type: str choices: - ENABLED - DISABLED description: - ENABLE/DISABLE ContactPinhole creation. openrecordroutepinhole: - type: raw + type: str choices: - ENABLED - DISABLED description: - ENABLE/DISABLE RecordRoutePinhole creation. openregisterpinhole: - type: raw + type: str choices: - ENABLED - DISABLED description: - ENABLE/DISABLE RegisterPinhole creation. openroutepinhole: - type: raw + type: str choices: - ENABLED - DISABLED description: - ENABLE/DISABLE RoutePinhole creation. openviapinhole: - type: raw + type: str choices: - ENABLED - DISABLED description: - ENABLE/DISABLE ViaPinhole creation. registrationtimeout: - type: raw + type: float description: - SIP registration timeout in seconds. rport: - type: raw + type: str choices: - ENABLED - DISABLED description: - ENABLE/DISABLE rport. sipalgprofilename: - type: raw + type: str description: - The name of the SIPALG Profile. sipdstportrange: - type: raw + type: str description: - Destination port range for SIP_UDP and SIP_TCP. sipsessiontimeout: - type: raw + type: float description: - SIP control channel session timeout in seconds. sipsrcportrange: - type: raw + type: str description: - Source port range for SIP_UDP and SIP_TCP. siptransportprotocol: - type: raw + type: str choices: - TCP - UDP @@ -116,6 +118,23 @@ """ EXAMPLES = r""" +--- +- name: Sample lsnsipalgprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsnsipalgprofile + delegate_to: localhost + netscaler.adc.lsnsipalgprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + sipalgprofilename: sipalgprofile_udp + registrationtimeout: '3600' + sipdstportrange: '5060' + siptransportprotocol: UDP """ RETURN = r""" diff --git a/plugins/modules/lsnstatic.py b/plugins/modules/lsnstatic.py index 3668b3990..991266d04 100644 --- a/plugins/modules/lsnstatic.py +++ b/plugins/modules/lsnstatic.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: lsnstatic short_description: Configuration for static mapping resource. description: Configuration for static mapping resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -111,6 +113,20 @@ """ EXAMPLES = r""" +--- +- name: Sample lsnstatic playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsnstatic + delegate_to: localhost + netscaler.adc.lsnstatic: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + nattype: DS-Lite """ RETURN = r""" diff --git a/plugins/modules/lsntransportprofile.py b/plugins/modules/lsntransportprofile.py index 8f447dca8..b4113d9a2 100644 --- a/plugins/modules/lsntransportprofile.py +++ b/plugins/modules/lsntransportprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: lsntransportprofile short_description: Configuration for LSN Transport Profile resource. description: Configuration for LSN Transport Profile resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str finrsttimeout: - type: raw + type: float description: - Timeout, in seconds, for a TCP LSN session after a FIN or RST message is received from one of the endpoints. @@ -52,7 +54,7 @@ FIN or RST, and ACK messages from the other endpoint so that both endpoints can properly close the connection. groupsessionlimit: - type: raw + type: float description: - Maximum number of concurrent LSN sessions(for the specified protocol) allowed for all subscriber of a group to which this profile has bound. This limit @@ -61,7 +63,7 @@ the Citrix ADC does not allow the subscriber of that group to open additional sessions through that packet engine. portpreserveparity: - type: raw + type: str choices: - ENABLED - DISABLED @@ -73,7 +75,7 @@ the source port to be even or odd numbered, for example, in peer-to-peer applications that use RTP or RTCP protocol. portpreserverange: - type: raw + type: str choices: - ENABLED - DISABLED @@ -91,21 +93,21 @@ in different subscriber's connections (LSN sessions), and a subscriber initiates a connection from a well-known port, the Citrix ADC drops this connection. portquota: - type: raw + type: float description: - Maximum number of LSN NAT ports to be used at a time by each subscriber for the specified protocol. For example, each subscriber can be limited to a maximum of 500 TCP NAT ports. When the LSN NAT mappings for a subscriber reach the limit, the Citrix ADC does not allocate additional NAT ports for that subscriber. sessionquota: - type: raw + type: float description: - 'Maximum number of concurrent LSN sessions allowed for each subscriber for the specified protocol. ' - When the number of LSN sessions reaches the limit for a subscriber, the Citrix ADC does not allow the subscriber to open additional sessions. sessiontimeout: - type: raw + type: float description: - Timeout, in seconds, for an idle LSN session. If an LSN session is idle for a time that exceeds this value, the Citrix ADC removes the session. @@ -113,11 +115,11 @@ - This timeout does not apply for a TCP LSN session when a FIN or RST message is received from either of the endpoints. stuntimeout: - type: raw + type: float description: - STUN protocol timeout syncheck: - type: raw + type: str choices: - ENABLED - DISABLED @@ -135,11 +137,11 @@ timeout.' - '* Such packets can be a part of a DoS attack.' synidletimeout: - type: raw + type: float description: - SYN Idle timeout transportprofilename: - type: raw + type: str description: - 'Name for the LSN transport profile. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, @@ -161,6 +163,22 @@ """ EXAMPLES = r""" +--- +- name: Sample lsntransportprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure lsntransportprofile + delegate_to: localhost + netscaler.adc.lsntransportprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + transportprofilename: icmp + transportprotocol: ICMP + groupsessionlimit: '10000' """ RETURN = r""" diff --git a/plugins/modules/mapbmr.py b/plugins/modules/mapbmr.py index 64df4dfa6..76f8b4dd1 100644 --- a/plugins/modules/mapbmr.py +++ b/plugins/modules/mapbmr.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: mapbmr short_description: Configuration for MAP-T Basic Mapping rule resource. description: Configuration for MAP-T Basic Mapping rule resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -102,6 +104,21 @@ """ EXAMPLES = r""" +--- +- name: Sample mapbmr playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure mapbmr + delegate_to: localhost + netscaler.adc.mapbmr: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: bmr1 + ruleipv6prefix: 2001:db8:89ab::/48 """ RETURN = r""" diff --git a/plugins/modules/mapbmr_bmrv4network_binding.py b/plugins/modules/mapbmr_bmrv4network_binding.py index 03d074758..7441531a3 100644 --- a/plugins/modules/mapbmr_bmrv4network_binding.py +++ b/plugins/modules/mapbmr_bmrv4network_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: mapbmr_bmrv4network_binding short_description: Binding Resource definition for describing association between mapbmr and bmrv4network resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -66,6 +68,22 @@ """ EXAMPLES = r""" +--- +- name: Sample mapbmr_bmrv4network_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure mapbmr_bmrv4network_binding + delegate_to: localhost + netscaler.adc.mapbmr_bmrv4network_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: bmr1 + network: 192.0.2.0 + netmask: 255.255.255.0 """ RETURN = r""" diff --git a/plugins/modules/mapdmr.py b/plugins/modules/mapdmr.py index 099d7f8eb..86394bc95 100644 --- a/plugins/modules/mapdmr.py +++ b/plugins/modules/mapdmr.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: mapdmr short_description: Configuration for MAP-T Default Mapping rule resource. description: Configuration for MAP-T Default Mapping rule resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -62,6 +64,21 @@ """ EXAMPLES = r""" +--- +- name: Sample mapdmr playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure mapdmr + delegate_to: localhost + netscaler.adc.mapdmr: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: dmr1 + bripv6prefix: 2001:db8::/64 """ RETURN = r""" diff --git a/plugins/modules/mapdomain.py b/plugins/modules/mapdomain.py index df4fe3d02..0067a1fce 100644 --- a/plugins/modules/mapdomain.py +++ b/plugins/modules/mapdomain.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: mapdomain short_description: Configuration for MAP-T Map Domain resource. description: Configuration for MAP-T Map Domain resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -80,6 +82,21 @@ """ EXAMPLES = r""" +--- +- name: Sample mapdomain playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure mapdomain + delegate_to: localhost + netscaler.adc.mapdomain: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: map1 + mapdmrname: dmr1 """ RETURN = r""" diff --git a/plugins/modules/mapdomain_mapbmr_binding.py b/plugins/modules/mapdomain_mapbmr_binding.py index b87bd400a..294784426 100644 --- a/plugins/modules/mapdomain_mapbmr_binding.py +++ b/plugins/modules/mapdomain_mapbmr_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: mapdomain_mapbmr_binding short_description: Binding Resource definition for describing association between mapdomain and mapbmr resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -57,6 +59,21 @@ """ EXAMPLES = r""" +--- +- name: Sample mapdomain_mapbmr_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure mapdomain_mapbmr_binding + delegate_to: localhost + netscaler.adc.mapdomain_mapbmr_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: map1 + mapbmrname: bmr1 """ RETURN = r""" diff --git a/plugins/modules/metricsprofile.py b/plugins/modules/metricsprofile.py new file mode 100644 index 000000000..84115309a --- /dev/null +++ b/plugins/modules/metricsprofile.py @@ -0,0 +1,157 @@ +#!/usr/bin/python + +# -*- coding: utf-8 -*- + +# Copyright (c) 2023 Cloud Software Group, Inc. +# MIT License (see LICENSE or https://opensource.org/licenses/MIT) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + + +ANSIBLE_METADATA = { + "metadata_version": "1.1", + "status": ["preview"], + "supported_by": "community", +} + +DOCUMENTATION = r""" +--- +module: metricsprofile +short_description: Configuration for Metrics profile resource. +description: Configuration for Metrics profile resource. +version_added: 2.0.0 +author: + - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) +options: + state: + choices: + - present + - absent + - unset + default: present + description: + - The state of the resource being configured by the module on the NetScaler + ADC node. + - When C(present), the resource will be added/updated configured according to + the module's parameters. + - When C(absent), the resource will be deleted from the NetScaler ADC node. + - When C(unset), the resource will be unset on the NetScaler ADC node. + type: str + collector: + type: str + description: + - The collector should be a HTTP/HTTPS service. + metrics: + type: str + choices: + - ENABLED + - DISABLED + description: + - This option is used enable or disable metrics + metricsauthtoken: + type: str + description: + - Token for authenticating with the endpoint. If the endpoint requires the Authorization + header in a particular format, specify the complete format as the value to + this parameter. For eg., in case of splunk, the Authorizaiton header is required + to be of the form - Splunk . + metricsendpointurl: + type: str + description: + - The URL at which to upload the metrics data on the endpoint + metricsexportfrequency: + type: float + description: + - This option is for configuring the metrics export frequency in seconds, frequency + value must be in [30,300] seconds range + name: + type: str + description: + - Name for the metrics profile. Must begin with an ASCII alphabetic or underscore + (_) character, and must contain only ASCII alphanumeric, underscore, hash + (#), period (.), space, colon (:), at + - (@), equals (=), and hyphen (-) characters.! + outputmode: + type: str + choices: + - avro + - prometheus + - influx + - json + description: + - This option indicates the format in which metrics data is generated + schemafile: + type: str + description: + - This option is for configuring json schema file containing a list of counters + to be exported by metricscollector. Schema file should be present under /var/metrics_conf + path + servemode: + type: str + choices: + - Push + - Pull + description: + - This option is to configure metrics pull or push mode. In push mode metricscollector + exports metrics to configured collector. In pull mode, metricscollector only + generates the metrics which will be pulled by external agent. No collector + configuration is required in pull mode and it is applicable only for output + mode Prometheus +extends_documentation_fragment: netscaler.adc.netscaler_adc + +""" + +EXAMPLES = r""" +""" + +RETURN = r""" +--- +changed: + description: Indicates if any change is made by the module + returned: always + type: bool + sample: true +diff: + description: Dictionary of before and after changes + returned: always + type: dict + sample: {'before': {'key1': 'xyz'}, 'after': {'key2': 'pqr'}, 'prepared': 'changes + done'} +diff_list: + description: List of differences between the actual configured object and the configuration + specified in the module + returned: when changed + type: list + sample: ["Attribute `key1` differs. Desired: () XYZ. Existing: () PQR"] +failed: + description: Indicates if the module failed or not + returned: always + type: bool + sample: false +loglines: + description: list of logged messages by the module + returned: always + type: list + sample: ['message 1', 'message 2'] + +""" + + +import os + +from ..module_utils.module_executor import ModuleExecutor + +RESOURCE_NAME = os.path.basename(__file__).replace(".py", "") + + +def main(): + executor = ModuleExecutor(RESOURCE_NAME) + executor.main() + + +if __name__ == "__main__": + main() diff --git a/plugins/modules/nat64.py b/plugins/modules/nat64.py index 997950db2..c116fb660 100644 --- a/plugins/modules/nat64.py +++ b/plugins/modules/nat64.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nat64 short_description: Configuration for nat64 config resource. description: Configuration for nat64 config resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -45,7 +47,7 @@ the condition of this ACL6 rule and destination IP address of these packets matching the NAT64 IPv6 prefix are considered for NAT64 translation. name: - type: raw + type: str description: - Name for the NAT64 rule. Must begin with a letter, number, or the underscore character (_), and can consist of letters, numbers, and the hyphen (-), period @@ -53,7 +55,7 @@ characters. Cannot be changed after the rule is created. Choose a name that helps identify the NAT64 rule. netprofile: - type: raw + type: str description: - Name of the configured netprofile. The Citrix ADC selects one of the IP address in the netprofile as the source IP address of the translated IPv4 packet to @@ -63,6 +65,22 @@ """ EXAMPLES = r""" +--- +- name: Sample nat64 playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure nat64 + delegate_to: localhost + netscaler.adc.nat64: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia_nat2 + acl6name: net_acl6 + netprofile: netpprof """ RETURN = r""" diff --git a/plugins/modules/nat64param.py b/plugins/modules/nat64param.py index b03fa678a..8579f3e81 100644 --- a/plugins/modules/nat64param.py +++ b/plugins/modules/nat64param.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nat64param short_description: Configuration for NAT64 parameter resource. description: Configuration for NAT64 parameter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,7 +39,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str nat64fragheader: - type: raw + type: str choices: - ENABLED - DISABLED @@ -45,26 +47,26 @@ - When disabled, translator will not insert IPv6 fragmentation header for non fragmented IPv4 packets nat64ignoretos: - type: raw + type: str choices: - 'YES' - 'NO' description: - Ignore TOS. nat64v6mtu: - type: raw + type: float description: - MTU setting for the IPv6 side. If the incoming IPv4 packet greater than this, either fragment or send icmp need fragmentation error. nat64zerochecksum: - type: raw + type: str choices: - ENABLED - DISABLED description: - Calculate checksum for UDP packets with zero checksum td: - type: raw + type: float description: - Integer value that uniquely identifies the traffic domain in which you want to configure the entity. If you do not specify an ID, the entity becomes part diff --git a/plugins/modules/nd6.py b/plugins/modules/nd6.py index c246969cb..b19e64b28 100644 --- a/plugins/modules/nd6.py +++ b/plugins/modules/nd6.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nd6 short_description: Configuration for nd6 resource. description: Configuration for nd6 resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -104,6 +106,23 @@ """ EXAMPLES = r""" +--- +- name: Sample nd6 playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure nd6 + delegate_to: localhost + netscaler.adc.nd6: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + neighbor: fe80::20 + mac: 00:aa:10:12:13:ef + ifnum: 1/2 + vlan: 1 """ RETURN = r""" diff --git a/plugins/modules/nd6ravariables.py b/plugins/modules/nd6ravariables.py index 799f55fca..55c24039a 100644 --- a/plugins/modules/nd6ravariables.py +++ b/plugins/modules/nd6ravariables.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: nd6ravariables short_description: Configuration for nd6 Router Advertisment configuration variables resource. @@ -24,6 +25,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -38,77 +40,77 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str ceaserouteradv: - type: raw + type: str choices: - 'YES' - 'NO' description: - Cease router advertisements on this vlan. currhoplimit: - type: raw + type: float description: - Current Hop limit. defaultlifetime: - type: raw + type: int description: - Default life time, in seconds. linkmtu: - type: raw + type: float description: - The Link MTU. managedaddrconfig: - type: raw + type: str choices: - 'YES' - 'NO' description: - Value to be placed in the Managed address configuration flag field. maxrtadvinterval: - type: raw + type: float description: - Maximum time allowed between unsolicited multicast RAs, in seconds. minrtadvinterval: - type: raw + type: float description: - Minimum time interval between RA messages, in seconds. onlyunicastrtadvresponse: - type: raw + type: str choices: - 'YES' - 'NO' description: - Send only Unicast Router Advertisements in respond to Router Solicitations. otheraddrconfig: - type: raw + type: str choices: - 'YES' - 'NO' description: - Value to be placed in the Other configuration flag field. reachabletime: - type: raw + type: float description: - Reachable time, in milliseconds. retranstime: - type: raw + type: float description: - Retransmission time, in milliseconds. sendrouteradv: - type: raw + type: str choices: - 'YES' - 'NO' description: - whether the router sends periodic RAs and responds to Router Solicitations. srclinklayeraddroption: - type: raw + type: str choices: - 'YES' - 'NO' description: - Include source link layer address option in RA messages. vlan: - type: raw + type: float description: - The VLAN number. nd6ravariables_onlinkipv6prefix_binding: @@ -142,15 +144,19 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample nd6ravariables playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | nd6RAvariables + - name: Configure nd6ravariables delegate_to: localhost netscaler.adc.nd6ravariables: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - vlan: 1 + vlan: '1' """ RETURN = r""" diff --git a/plugins/modules/nd6ravariables_onlinkipv6prefix_binding.py b/plugins/modules/nd6ravariables_onlinkipv6prefix_binding.py index 7867cdfce..f5d945154 100644 --- a/plugins/modules/nd6ravariables_onlinkipv6prefix_binding.py +++ b/plugins/modules/nd6ravariables_onlinkipv6prefix_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: nd6ravariables_onlinkipv6prefix_binding short_description: Binding Resource definition for describing association between nd6ravariables and onlinkipv6prefix resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/netbridge.py b/plugins/modules/netbridge.py index db2b63512..36fb029e3 100644 --- a/plugins/modules/netbridge.py +++ b/plugins/modules/netbridge.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: netbridge short_description: Configuration for network bridge resource. description: Configuration for network bridge resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,11 +41,11 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str name: - type: raw + type: str description: - The name of the network bridge. vxlanvlanmap: - type: raw + type: str description: - The vlan to vxlan mapping to be applied to this netbridge. netbridge_iptunnel_binding: @@ -151,6 +153,20 @@ """ EXAMPLES = r""" +--- +- name: Sample netbridge playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure netbridge + delegate_to: localhost + netscaler.adc.netbridge: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia_netbridge2 """ RETURN = r""" diff --git a/plugins/modules/netbridge_iptunnel_binding.py b/plugins/modules/netbridge_iptunnel_binding.py index ad730bb77..52df8ca8c 100644 --- a/plugins/modules/netbridge_iptunnel_binding.py +++ b/plugins/modules/netbridge_iptunnel_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: netbridge_iptunnel_binding short_description: Binding Resource definition for describing association between netbridge and iptunnel resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/netbridge_nsip6_binding.py b/plugins/modules/netbridge_nsip6_binding.py index 0cf79b009..2cd4ae45f 100644 --- a/plugins/modules/netbridge_nsip6_binding.py +++ b/plugins/modules/netbridge_nsip6_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: netbridge_nsip6_binding short_description: Binding Resource definition for describing association between netbridge and nsip6 resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/netbridge_nsip_binding.py b/plugins/modules/netbridge_nsip_binding.py index 439239b9e..834601e9d 100644 --- a/plugins/modules/netbridge_nsip_binding.py +++ b/plugins/modules/netbridge_nsip_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: netbridge_nsip_binding short_description: Binding Resource definition for describing association between netbridge and nsip resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/netbridge_vlan_binding.py b/plugins/modules/netbridge_vlan_binding.py index cf22f55f9..fb5fdfe5b 100644 --- a/plugins/modules/netbridge_vlan_binding.py +++ b/plugins/modules/netbridge_vlan_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: netbridge_vlan_binding short_description: Binding Resource definition for describing association between netbridge and vlan resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/netprofile.py b/plugins/modules/netprofile.py index 10509ad52..20014f7b9 100644 --- a/plugins/modules/netprofile.py +++ b/plugins/modules/netprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: netprofile short_description: Configuration for Network profile resource. description: Configuration for Network profile resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str mbf: - type: raw + type: str choices: - ENABLED - DISABLED @@ -50,7 +52,7 @@ System > Settings > Configure modes > Configure Modes dialog box). However, you can override this setting after you create the netprofile name: - type: raw + type: str description: - Name for the net profile. Must begin with a letter, number, or the underscore character (_), and can consist of letters, numbers, and the hyphen (-), period @@ -58,7 +60,7 @@ characters. Cannot be changed after the profile is created. Choose a name that helps identify the net profile. overridelsn: - type: raw + type: str choices: - ENABLED - DISABLED @@ -66,14 +68,14 @@ - USNIP/USIP settings override LSN settings for configured - ' service/virtual server traffic..' proxyprotocol: - type: raw + type: str choices: - ENABLED - DISABLED description: - Proxy Protocol Action (Enabled/Disabled) proxyprotocolaftertlshandshake: - type: raw + type: str choices: - ENABLED - DISABLED @@ -81,18 +83,18 @@ - ADC doesnt look for proxy header before TLS handshake, if enabled. Proxy protocol parsed after TLS handshake proxyprotocoltxversion: - type: raw + type: str choices: - V1 - V2 description: - Proxy Protocol Version (C(V1)/C(V2)) srcip: - type: raw + type: str description: - IP address or the name of an IP set. srcippersistency: - type: raw + type: str choices: - ENABLED - DISABLED @@ -163,22 +165,21 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample netprofile playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Add IPSet - delegate_to: localhost - netscaler.adc.ipset: - state: present - name: ipset-001 - - name: Sample Task | netProfile + - name: Configure netprofile delegate_to: localhost netscaler.adc.netprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - name: netprofile-001 - srcip: ipset-001 - mbf: DISABLED + name: tets_netprofile_dns + srcip: 10.189.130.20 + mbf: ENABLED """ RETURN = r""" diff --git a/plugins/modules/netprofile_natrule_binding.py b/plugins/modules/netprofile_natrule_binding.py index aaec6050e..d6586249b 100644 --- a/plugins/modules/netprofile_natrule_binding.py +++ b/plugins/modules/netprofile_natrule_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: netprofile_natrule_binding short_description: Binding Resource definition for describing association between netprofile and natrule resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -60,6 +62,23 @@ """ EXAMPLES = r""" +--- +- name: Sample netprofile_natrule_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure netprofile_natrule_binding + delegate_to: localhost + netscaler.adc.netprofile_natrule_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: np101 + natrule: 11.0.0.0 + netmask: 255.255.255.0 + rewriteip: 12.0.0.0 """ RETURN = r""" diff --git a/plugins/modules/netprofile_srcportset_binding.py b/plugins/modules/netprofile_srcportset_binding.py index b01ef180f..6d53d7ae3 100644 --- a/plugins/modules/netprofile_srcportset_binding.py +++ b/plugins/modules/netprofile_srcportset_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: netprofile_srcportset_binding short_description: Binding Resource definition for describing association between netprofile and srcportset resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -53,6 +55,22 @@ """ EXAMPLES = r""" +--- +- name: Sample netprofile_srcportset_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure netprofile_srcportset_binding + delegate_to: localhost + netscaler.adc.netprofile_srcportset_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: np221 + srcportrange: + - 1024-1026 """ RETURN = r""" diff --git a/plugins/modules/nsacl.py b/plugins/modules/nsacl.py new file mode 100644 index 000000000..6c589df14 --- /dev/null +++ b/plugins/modules/nsacl.py @@ -0,0 +1,512 @@ +#!/usr/bin/python + +# -*- coding: utf-8 -*- + +# Copyright (c) 2023 Cloud Software Group, Inc. +# MIT License (see LICENSE or https://opensource.org/licenses/MIT) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + + +ANSIBLE_METADATA = { + "metadata_version": "1.1", + "status": ["preview"], + "supported_by": "community", +} + +DOCUMENTATION = r""" +--- +module: nsacl +short_description: Configuration for ACL entry resource. +description: Configuration for ACL entry resource. +version_added: 2.0.0 +author: + - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) +options: + state: + choices: + - present + - absent + - enabled + - disabled + - unset + default: present + description: + - The state of the resource being configured by the module on the NetScaler + ADC node. + - When C(present), the resource will be added/updated configured according to + the module's parameters. + - When C(absent), the resource will be deleted from the NetScaler ADC node. + - When C(enabled), the resource will be enabled on the NetScaler ADC node. + - When C(disabled), the resource will be disabled on the NetScaler ADC node. + - When C(unset), the resource will be unset on the NetScaler ADC node. + type: str + interface: + type: str + description: + - ID of an interface. The Citrix ADC applies the ACL rule only to the incoming + packets from the specified interface. If you do not specify any value, the + appliance applies the ACL rule to the incoming packets of all interfaces. + aclaction: + type: str + choices: + - BRIDGE + - DENY + - ALLOW + description: + - Action to perform on incoming IPv4 packets that match the extended ACL rule. + - 'Available settings function as follows:' + - '* C(ALLOW) - The Citrix ADC processes the packet.' + - '* C(BRIDGE) - The Citrix ADC bridges the packet to the destination without + processing it.' + - '* C(DENY) - The Citrix ADC drops the packet.' + aclname: + type: str + description: + - Name for the extended ACL rule. Must begin with an ASCII alphabetic or underscore + (_) character, and must contain only ASCII alphanumeric, underscore, hash + (#), period (.), space, colon (:), at (@), equals (=), and hyphen (-) characters. + destip: + type: bool + description: + - 'IP address or range of IP addresses to match against the destination IP address + of an incoming IPv4 packet. In the command line interface, separate the range + with a hyphen. For example: 10.102.29.30-10.102.29.189.' + destipdataset: + type: str + description: + - Policy dataset which can have multiple IP ranges bound to it. + destipop: + type: str + choices: + - '=' + - '!=' + - EQ + - NEQ + description: + - Either the equals (=) or does not equal (!=) logical operator. + destipval: + type: str + description: + - 'IP address or range of IP addresses to match against the destination IP address + of an incoming IPv4 packet. In the command line interface, separate the range + with a hyphen. For example: 10.102.29.30-10.102.29.189.' + destport: + type: bool + description: + - 'Port number or range of port numbers to match against the destination port + number of an incoming IPv4 packet. In the command line interface, separate + the range with a hyphen. For example: 40-90.' + - '' + - 'Note: The destination port can be specified only for TCP and UDP protocols.' + destportdataset: + type: str + description: + - Policy dataset which can have multiple port ranges bound to it. + destportop: + type: str + choices: + - '=' + - '!=' + - EQ + - NEQ + description: + - Either the equals (=) or does not equal (!=) logical operator. + destportval: + type: str + description: + - 'Port number or range of port numbers to match against the destination port + number of an incoming IPv4 packet. In the command line interface, separate + the range with a hyphen. For example: 40-90.' + - '' + - 'Note: The destination port can be specified only for TCP and UDP protocols.' + dfdhash: + type: str + choices: + - SIP-SPORT-DIP-DPORT + - SIP + - DIP + - SIP-DIP + - SIP-SPORT + - DIP-DPORT + description: + - Specifies the type hashmethod to be applied, to steer the packet to the FP + of the packet. + established: + type: bool + description: + - Allow only incoming TCP packets that have the ACK or RST bit set, if the action + set for the ACL rule is ALLOW and these packets match the other conditions + in the ACL rule. + icmpcode: + type: float + description: + - Code of a particular ICMP message type to match against the ICMP code of an + incoming ICMP packet. For example, to block DESTINATION HOST UNREACHABLE + messages, specify 3 as the ICMP type and 1 as the ICMP code. + - '' + - If you set this parameter, you must set the ICMP Type parameter. + icmptype: + type: float + description: + - ICMP Message type to match against the message type of an incoming ICMP packet. + For example, to block DESTINATION UNREACHABLE messages, you must specify 3 + as the ICMP type. + - '' + - 'Note: This parameter can be specified only for the ICMP protocol.' + logstate: + type: str + choices: + - ENABLED + - DISABLED + description: + - Enable or disable logging of events related to the extended ACL rule. The + log messages are stored in the configured syslog or auditlog server. + newname: + type: str + description: + - New name for the extended ACL rule. Must begin with an ASCII alphabetic or + underscore (_) character, and must contain only ASCII alphanumeric, underscore, + hash (#), period (.), space, colon (:), at (@), equals (=), and hyphen (-) + characters. + priority: + type: float + description: + - Priority for the extended ACL rule that determines the order in which it is + evaluated relative to the other extended ACL rules. If you do not specify + priorities while creating extended ACL rules, the ACL rules are evaluated + in the order in which they are created. + protocol: + type: str + choices: + - ICMP + - IGMP + - TCP + - EGP + - IGP + - ARGUS + - UDP + - RDP + - RSVP + - EIGRP + - L2TP + - ISIS + - GGP + - IPoverIP + - ST + - CBT + - BBN-RCC-M + - NVP-II + - PUP + - EMCON + - XNET + - CHAOS + - MUX + - DCN-MEAS + - HMP + - PRM + - XNS-IDP + - TRUNK-1 + - TRUNK-2 + - LEAF-1 + - LEAF-2 + - IRTP + - ISO-TP4 + - NETBLT + - MFE-NSP + - MERIT-INP + - SEP + - 3PC + - IDPR + - XTP + - DDP + - IDPR-CMTP + - TP++ + - IL + - IPv6 + - SDRP + - IPv6-Route + - IPv6-Frag + - IDRP + - GRE + - MHRP + - BNA + - ESP + - AH + - I-NLSP + - SWIPE + - NARP + - MOBILE + - TLSP + - SKIP + - ICMPV6 + - IPv6-NoNx + - IPv6-Opts + - Any-Host-Internal-Protocol + - CFTP + - Any-Local-Network + - SAT-EXPAK + - KRYPTOLAN + - RVD + - IPPC + - Any-Distributed-File-System + - TFTP + - VISA + - IPCV + - CPNX + - CPHB + - WSN + - PVP + - BR-SAT-MO + - SUN-ND + - WB-MON + - WB-EXPAK + - ISO-IP + - VMTP + - SECURE-VM + - VINES + - TTP + - NSFNET-IG + - DGP + - TCF + - OSPFIGP + - Sprite-RP + - LARP + - MTP + - AX.25 + - IPIP + - MICP + - SCC-SP + - ETHERIP + - Any-Private-Encryption-Scheme + - GMTP + - IFMP + - PNNI + - PIM + - ARIS + - SCPS + - QNX + - A/N + - IPComp + - SNP + - Compaq-Pe + - IPX-in-IP + - VRRP + - PGM + - Any-0-Hop-Protocol + - ENCAP + - DDX + - IATP + - STP + - SRP + - UTI + - SMP + - SM + - PTP + - FIRE + - CRTP + - CRUDP + - SSCOPMCE + - IPLT + - SPS + - PIPE + - SCTP + - FC + - RSVP-E2E-IGNORE + - Mobility-Header + - UDPLite + description: + - Protocol to match against the protocol of an incoming IPv4 packet. + protocolnumber: + type: float + description: + - Protocol to match against the protocol of an incoming IPv4 packet. + ratelimit: + type: float + description: + - Maximum number of log messages to be generated per second. If you set this + parameter, you must enable the Log State parameter. + srcip: + type: bool + description: + - 'IP address or range of IP addresses to match against the source IP address + of an incoming IPv4 packet. In the command line interface, separate the range + with a hyphen. For example: 10.102.29.30-10.102.29.189.' + srcipdataset: + type: str + description: + - Policy dataset which can have multiple IP ranges bound to it. + srcipop: + type: str + choices: + - '=' + - '!=' + - EQ + - NEQ + description: + - Either the equals (=) or does not equal (!=) logical operator. + srcipval: + type: str + description: + - IP address or range of IP addresses to match against the source IP address + of an incoming IPv4 packet. In the command line interface, separate the range + with a hyphen. For example:10.102.29.30-10.102.29.189. + srcmac: + type: str + description: + - MAC address to match against the source MAC address of an incoming IPv4 packet. + srcmacmask: + type: str + description: + - Used to define range of Source MAC address. It takes string of 0 and 1, 0s + are for exact match and 1s for wildcard. For matching first 3 bytes of MAC + address, srcMacMask value "000000111111". + srcport: + type: bool + description: + - 'Port number or range of port numbers to match against the source port number + of an incoming IPv4 packet. In the command line interface, separate the range + with a hyphen. For example: 40-90.' + srcportdataset: + type: str + description: + - Policy dataset which can have multiple port ranges bound to it. + srcportop: + type: str + choices: + - '=' + - '!=' + - EQ + - NEQ + description: + - Either the equals (=) or does not equal (!=) logical operator. + srcportval: + type: str + description: + - 'Port number or range of port numbers to match against the source port number + of an incoming IPv4 packet. In the command line interface, separate the range + with a hyphen. For example: 40-90.' + stateful: + type: str + choices: + - 'YES' + - 'NO' + description: + - If stateful option is enabled, transparent sessions are created for the traffic + hitting this ACL and not hitting any other features like LB, INAT etc. + td: + type: float + description: + - Integer value that uniquely identifies the traffic domain in which you want + to configure the entity. If you do not specify an ID, the entity becomes part + of the default traffic domain, which has an ID of 0. + ttl: + type: float + description: + - Number of seconds, in multiples of four, after which the extended ACL rule + expires. If you do not want the extended ACL rule to expire, do not specify + a TTL value. + type: + type: str + choices: + - CLASSIC + - DFD + description: + - Type of the acl ,default will be C(CLASSIC). + - 'Available options as follows:' + - '* C(CLASSIC) - specifies the regular extended acls.' + - '* C(DFD) - cluster specific acls,specifies hashmethod for steering of the + packet in cluster .' + vlan: + type: float + description: + - ID of the VLAN. The Citrix ADC applies the ACL rule only to the incoming packets + of the specified VLAN. If you do not specify a VLAN ID, the appliance applies + the ACL rule to the incoming packets on all VLANs. + vxlan: + type: float + description: + - ID of the VXLAN. The Citrix ADC applies the ACL rule only to the incoming + packets of the specified VXLAN. If you do not specify a VXLAN ID, the appliance + applies the ACL rule to the incoming packets on all VXLANs. +extends_documentation_fragment: netscaler.adc.netscaler_adc + +""" + +EXAMPLES = r""" +--- +- name: Sample nsacl playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure nsacl + delegate_to: localhost + netscaler.adc.nsacl: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + aclname: ACL_SF_Allow_USE1-B + aclaction: ALLOW + srcip: true + srcipop: '=' + srcipval: 10.189.96.60 + destip: true + destipop: '=' + destipdataset: SF_LBVIP + priority: '15' + kernelstate: SFAPPLIED61 +""" + +RETURN = r""" +--- +changed: + description: Indicates if any change is made by the module + returned: always + type: bool + sample: true +diff: + description: Dictionary of before and after changes + returned: always + type: dict + sample: {'before': {'key1': 'xyz'}, 'after': {'key2': 'pqr'}, 'prepared': 'changes + done'} +diff_list: + description: List of differences between the actual configured object and the configuration + specified in the module + returned: when changed + type: list + sample: ["Attribute `key1` differs. Desired: () XYZ. Existing: () PQR"] +failed: + description: Indicates if the module failed or not + returned: always + type: bool + sample: false +loglines: + description: list of logged messages by the module + returned: always + type: list + sample: ['message 1', 'message 2'] + +""" + + +import os + +from ..module_utils.module_executor import ModuleExecutor + +RESOURCE_NAME = os.path.basename(__file__).replace(".py", "") + + +def main(): + executor = ModuleExecutor(RESOURCE_NAME) + executor.main() + + +if __name__ == "__main__": + main() diff --git a/plugins/modules/nsacl6.py b/plugins/modules/nsacl6.py new file mode 100644 index 000000000..b13d1e368 --- /dev/null +++ b/plugins/modules/nsacl6.py @@ -0,0 +1,492 @@ +#!/usr/bin/python + +# -*- coding: utf-8 -*- + +# Copyright (c) 2023 Cloud Software Group, Inc. +# MIT License (see LICENSE or https://opensource.org/licenses/MIT) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + + +ANSIBLE_METADATA = { + "metadata_version": "1.1", + "status": ["preview"], + "supported_by": "community", +} + +DOCUMENTATION = r""" +--- +module: nsacl6 +short_description: Configuration for ACL6 entry resource. +description: Configuration for ACL6 entry resource. +version_added: 2.0.0 +author: + - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) +options: + state: + choices: + - present + - absent + - enabled + - disabled + - unset + default: present + description: + - The state of the resource being configured by the module on the NetScaler + ADC node. + - When C(present), the resource will be added/updated configured according to + the module's parameters. + - When C(absent), the resource will be deleted from the NetScaler ADC node. + - When C(enabled), the resource will be enabled on the NetScaler ADC node. + - When C(disabled), the resource will be disabled on the NetScaler ADC node. + - When C(unset), the resource will be unset on the NetScaler ADC node. + type: str + interface: + type: str + description: + - ID of an interface. The Citrix ADC applies the ACL6 rule only to the incoming + packets from the specified interface. If you do not specify any value, the + appliance applies the ACL6 rule to the incoming packets from all interfaces. + acl6action: + type: str + choices: + - BRIDGE + - DENY + - ALLOW + description: + - Action to perform on the incoming IPv6 packets that match the ACL6 rule. + - 'Available settings function as follows:' + - '* C(ALLOW) - The Citrix ADC processes the packet.' + - '* C(BRIDGE) - The Citrix ADC bridges the packet to the destination without + processing it.' + - '* C(DENY) - The Citrix ADC drops the packet.' + acl6name: + type: str + description: + - Name for the ACL6 rule. Must begin with an ASCII alphabetic or underscore + (_) character, and must contain only ASCII alphanumeric, underscore, hash + (#), period (.), space, colon (:), at (@), equals (=), and hyphen (-) characters. + aclaction: + type: str + choices: + - BRIDGE + - DENY + - ALLOW + description: + - Action associated with the ACL6. + destipop: + type: str + choices: + - '=' + - '!=' + - EQ + - NEQ + description: + - Either the equals (=) or does not equal (!=) logical operator. + destipv6: + type: bool + description: + - IP address or range of IP addresses to match against the destination IP address + of an incoming IPv6 packet. In the command line interface, separate the range + with a hyphen. + destipv6val: + type: str + description: + - Destination IPv6 address (range). + destport: + type: bool + description: + - 'Port number or range of port numbers to match against the destination port + number of an incoming IPv6 packet. In the command line interface, separate + the range with a hyphen. For example: 40-90.' + - '' + - 'Note: The destination port can be specified only for TCP and UDP protocols.' + destportop: + type: str + choices: + - '=' + - '!=' + - EQ + - NEQ + description: + - Either the equals (=) or does not equal (!=) logical operator. + destportval: + type: str + description: + - Destination port (range). + dfdhash: + type: str + choices: + - SIP-SPORT-DIP-DPORT + - SIP + - DIP + - SIP-DIP + - SIP-SPORT + - DIP-DPORT + description: + - Specifies the type of hashmethod to be applied, to steer the packet to the + FP of the packet. + dfdprefix: + type: float + description: + - hashprefix to be applied to SIP/DIP to generate rsshash FP.eg 128 => hash + calculated on the complete IP + established: + type: bool + description: + - Allow only incoming TCP packets that have the ACK or RST bit set if the action + set for the ACL6 rule is ALLOW and these packets match the other conditions + in the ACL6 rule. + icmpcode: + type: float + description: + - Code of a particular ICMP message type to match against the ICMP code of an + incoming IPv6 ICMP packet. For example, to block DESTINATION HOST UNREACHABLE + messages, specify 3 as the ICMP type and 1 as the ICMP code. + - '' + - If you set this parameter, you must set the ICMP Type parameter. + icmptype: + type: float + description: + - ICMP Message type to match against the message type of an incoming IPv6 ICMP + packet. For example, to block DESTINATION UNREACHABLE messages, you must specify + 3 as the ICMP type. + - '' + - 'Note: This parameter can be specified only for the ICMP protocol.' + logstate: + type: str + choices: + - ENABLED + - DISABLED + description: + - Enable or disable logging of events related to the ACL6 rule. The log messages + are stored in the configured syslog or auditlog server. + newname: + type: str + description: + - New name for the ACL6 rule. Must begin with an ASCII alphabetic or underscore + \(_\) character, and must contain only ASCII alphanumeric, underscore, hash + \(\#\), period \(.\), space, colon \(:\), at \(@\), equals \(=\), and hyphen + \(-\) characters. + priority: + type: float + description: + - Priority for the ACL6 rule, which determines the order in which it is evaluated + relative to the other ACL6 rules. If you do not specify priorities while creating + ACL6 rules, the ACL6 rules are evaluated in the order in which they are created. + protocol: + type: str + choices: + - ICMPV6 + - TCP + - UDP + - ICMP + - IGMP + - EGP + - IGP + - ARGUS + - RDP + - RSVP + - EIGRP + - L2TP + - ISIS + - GGP + - IPoverIP + - ST + - CBT + - BBN-RCC-M + - NVP-II + - PUP + - EMCON + - XNET + - CHAOS + - MUX + - DCN-MEAS + - HMP + - PRM + - XNS-IDP + - TRUNK-1 + - TRUNK-2 + - LEAF-1 + - LEAF-2 + - IRTP + - ISO-TP4 + - NETBLT + - MFE-NSP + - MERIT-INP + - SEP + - 3PC + - IDPR + - XTP + - DDP + - IDPR-CMTP + - TP++ + - IL + - IPv6 + - SDRP + - IPv6-Route + - IPv6-Frag + - IDRP + - GRE + - MHRP + - BNA + - ESP + - AH + - I-NLSP + - SWIPE + - NARP + - MOBILE + - TLSP + - SKIP + - IPv6-NoNx + - IPv6-Opts + - Any-Host-Internal-Protocol + - CFTP + - Any-Local-Network + - SAT-EXPAK + - KRYPTOLAN + - RVD + - IPPC + - Any-Distributed-File-System + - TFTP + - VISA + - IPCV + - CPNX + - CPHB + - WSN + - PVP + - BR-SAT-MO + - SUN-ND + - WB-MON + - WB-EXPAK + - ISO-IP + - VMTP + - SECURE-VM + - VINES + - TTP + - NSFNET-IG + - DGP + - TCF + - OSPFIGP + - Sprite-RP + - LARP + - MTP + - AX.25 + - IPIP + - MICP + - SCC-SP + - ETHERIP + - Any-Private-Encryption-Scheme + - GMTP + - IFMP + - PNNI + - PIM + - ARIS + - SCPS + - QNX + - A/N + - IPComp + - SNP + - Compaq-Pe + - IPX-in-IP + - VRRP + - PGM + - Any-0-Hop-Protocol + - ENCAP + - DDX + - IATP + - STP + - SRP + - UTI + - SMP + - SM + - PTP + - FIRE + - CRTP + - CRUDP + - SSCOPMCE + - IPLT + - SPS + - PIPE + - SCTP + - FC + - RSVP-E2E-IGNORE + - Mobility-Header + - UDPLite + description: + - Protocol, identified by protocol name, to match against the protocol of an + incoming C(IPv6) packet. + protocolnumber: + type: float + description: + - Protocol, identified by protocol number, to match against the protocol of + an incoming IPv6 packet. + ratelimit: + type: float + description: + - Maximum number of log messages to be generated per second. If you set this + parameter, you must enable the Log State parameter. + srcipop: + type: str + choices: + - '=' + - '!=' + - EQ + - NEQ + description: + - Either the equals (=) or does not equal (!=) logical operator. + srcipv6: + type: bool + description: + - IP address or range of IP addresses to match against the source IP address + of an incoming IPv6 packet. In the command line interface, separate the range + with a hyphen. + srcipv6val: + type: str + description: + - Source IPv6 address (range). + srcmac: + type: str + description: + - MAC address to match against the source MAC address of an incoming IPv6 packet. + srcmacmask: + type: str + description: + - Used to define range of Source MAC address. It takes string of 0 and 1, 0s + are for exact match and 1s for wildcard. For matching first 3 bytes of MAC + address, srcMacMask value "000000111111". + srcport: + type: bool + description: + - 'Port number or range of port numbers to match against the source port number + of an incoming IPv6 packet. In the command line interface, separate the range + with a hyphen. For example: 40-90.' + - '' + - 'Note: The destination port can be specified only for TCP and UDP protocols.' + srcportop: + type: str + choices: + - '=' + - '!=' + - EQ + - NEQ + description: + - Either the equals (=) or does not equal (!=) logical operator. + srcportval: + type: str + description: + - Source port (range). + stateful: + type: str + choices: + - 'YES' + - 'NO' + description: + - If stateful option is enabled, transparent sessions are created for the traffic + hitting this ACL6 and not hitting any other features like LB, INAT etc. + td: + type: float + description: + - Integer value that uniquely identifies the traffic domain in which you want + to configure the entity. If you do not specify an ID, the entity becomes part + of the default traffic domain, which has an ID of 0. + ttl: + type: float + description: + - Time to expire this ACL6 (in seconds). + type: + type: str + choices: + - CLASSIC + - DFD + description: + - Type of the acl6 ,default will be C(CLASSIC). + - 'Available options as follows:' + - '* C(CLASSIC) - specifies the regular extended acls.' + - '* C(DFD) - cluster specific acls,specifies hashmethod for steering of the + packet in cluster .' + vlan: + type: float + description: + - ID of the VLAN. The Citrix ADC applies the ACL6 rule only to the incoming + packets on the specified VLAN. If you do not specify a VLAN ID, the appliance + applies the ACL6 rule to the incoming packets on all VLANs. + vxlan: + type: float + description: + - ID of the VXLAN. The Citrix ADC applies the ACL6 rule only to the incoming + packets on the specified VXLAN. If you do not specify a VXLAN ID, the appliance + applies the ACL6 rule to the incoming packets on all VXLANs. +extends_documentation_fragment: netscaler.adc.netscaler_adc + +""" + +EXAMPLES = r""" +--- +- name: Sample nsacl6 playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure nsacl6 + delegate_to: localhost + netscaler.adc.nsacl6: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + acl6name: net_acl6 + acl6action: ALLOW +""" + +RETURN = r""" +--- +changed: + description: Indicates if any change is made by the module + returned: always + type: bool + sample: true +diff: + description: Dictionary of before and after changes + returned: always + type: dict + sample: {'before': {'key1': 'xyz'}, 'after': {'key2': 'pqr'}, 'prepared': 'changes + done'} +diff_list: + description: List of differences between the actual configured object and the configuration + specified in the module + returned: when changed + type: list + sample: ["Attribute `key1` differs. Desired: () XYZ. Existing: () PQR"] +failed: + description: Indicates if the module failed or not + returned: always + type: bool + sample: false +loglines: + description: list of logged messages by the module + returned: always + type: list + sample: ['message 1', 'message 2'] + +""" + + +import os + +from ..module_utils.module_executor import ModuleExecutor + +RESOURCE_NAME = os.path.basename(__file__).replace(".py", "") + + +def main(): + executor = ModuleExecutor(RESOURCE_NAME) + executor.main() + + +if __name__ == "__main__": + main() diff --git a/plugins/modules/nsacls.py b/plugins/modules/nsacls.py index c877fef19..d2574ddad 100644 --- a/plugins/modules/nsacls.py +++ b/plugins/modules/nsacls.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nsacls short_description: Configuration for ACL entry resource. description: Configuration for ACL entry resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: [] @@ -47,6 +49,21 @@ """ EXAMPLES = r""" +--- +- name: Sample nsacls playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure nsacls + delegate_to: localhost + netscaler.adc.nsacls: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + nitro_operation: apply + '#nitro_operation': apply """ RETURN = r""" diff --git a/plugins/modules/nsacls6.py b/plugins/modules/nsacls6.py index 1c31c2011..b4b2fb79d 100644 --- a/plugins/modules/nsacls6.py +++ b/plugins/modules/nsacls6.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nsacls6 short_description: Configuration for ACL6 entry resource. description: Configuration for ACL6 entry resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: [] diff --git a/plugins/modules/nsappflowcollector.py b/plugins/modules/nsappflowcollector.py index c2fa11a7e..fef1c197e 100644 --- a/plugins/modules/nsappflowcollector.py +++ b/plugins/modules/nsappflowcollector.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nsappflowcollector short_description: Configuration for appflowCollector resource. description: Configuration for appflowCollector resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/nsappflowparam.py b/plugins/modules/nsappflowparam.py index a9950025a..7fe8b7af9 100644 --- a/plugins/modules/nsappflowparam.py +++ b/plugins/modules/nsappflowparam.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nsappflowparam short_description: Configuration for appflowParam resource. description: Configuration for appflowParam resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,60 +39,60 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str clienttrafficonly: - type: raw + type: str choices: - 'YES' - 'NO' description: - Control whether AppFlow records should be generated only for client-side traffic. httpcookie: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable AppFlow HTTP cookie logging. httphost: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable AppFlow HTTP host logging. httpmethod: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable AppFlow HTTP method logging. httpreferer: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable AppFlow HTTP referer logging. httpurl: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable AppFlow HTTP URL logging. httpuseragent: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable AppFlow HTTP user-agent logging. templaterefresh: - type: raw + type: float description: - IPFIX template refresh interval (in seconds). udppmtu: - type: raw + type: float description: - MTU to be used for IPFIX UDP packets. extends_documentation_fragment: netscaler.adc.netscaler_adc diff --git a/plugins/modules/nsaptlicense.py b/plugins/modules/nsaptlicense.py index a70c28f93..c74d0bbd1 100644 --- a/plugins/modules/nsaptlicense.py +++ b/plugins/modules/nsaptlicense.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nsaptlicense short_description: Configuration for aptlicense resource. description: Configuration for aptlicense resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: [] diff --git a/plugins/modules/nsassignment.py b/plugins/modules/nsassignment.py index fc2e94179..4ac65750c 100644 --- a/plugins/modules/nsassignment.py +++ b/plugins/modules/nsassignment.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nsassignment short_description: Configuration for assignment resource. description: Configuration for assignment resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -54,11 +56,11 @@ - Clear the variable value. Deallocates a text value, and for a map, the text key. comment: - type: raw + type: str description: - Comment. Can be used to preserve information about this rewrite action. name: - type: raw + type: str description: - Name for the assignment. Must begin with a letter, number, or the underscore character (_), and must contain only letters, numbers, and the hyphen (-), diff --git a/plugins/modules/nscapacity.py b/plugins/modules/nscapacity.py index c71963739..b4309adca 100644 --- a/plugins/modules/nscapacity.py +++ b/plugins/modules/nscapacity.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nscapacity short_description: Configuration for capacity resource. description: Configuration for capacity resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,7 +39,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str bandwidth: - type: raw + type: float description: - System bandwidth limit. edition: @@ -53,7 +55,7 @@ description: - Unique number that identifies the cluster node. platform: - type: raw + type: str choices: - VS10 - VE10 @@ -105,7 +107,7 @@ description: - Bandwidth unit. vcpu: - type: raw + type: bool description: - licensed using vcpu pool. extends_documentation_fragment: netscaler.adc.netscaler_adc diff --git a/plugins/modules/nscentralmanagementserver.py b/plugins/modules/nscentralmanagementserver.py index b9968efb0..3b7450edb 100644 --- a/plugins/modules/nscentralmanagementserver.py +++ b/plugins/modules/nscentralmanagementserver.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nscentralmanagementserver short_description: Configuration for centralmanagementserver resource. description: Configuration for centralmanagementserver resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/nschannelparam.py b/plugins/modules/nschannelparam.py new file mode 100644 index 000000000..f710c82b3 --- /dev/null +++ b/plugins/modules/nschannelparam.py @@ -0,0 +1,100 @@ +#!/usr/bin/python + +# -*- coding: utf-8 -*- + +# Copyright (c) 2023 Cloud Software Group, Inc. +# MIT License (see LICENSE or https://opensource.org/licenses/MIT) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + + +ANSIBLE_METADATA = { + "metadata_version": "1.1", + "status": ["preview"], + "supported_by": "community", +} + +DOCUMENTATION = r""" +--- +module: nschannelparam +short_description: Configuration for 0 resource. +description: Configuration for 0 resource. +version_added: 2.0.0 +author: + - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) +options: + state: + choices: + - present + default: present + description: + - The state of the resource being configured by the module on the NetScaler + ADC node. + - When C(present), the resource will be added/updated configured according to + the module's parameters. + type: str + vfautorecover: + type: str + choices: + - DISABLE + - ENABLE + description: + - VF autorecover mode +extends_documentation_fragment: netscaler.adc.netscaler_adc + +""" + +EXAMPLES = r""" +""" + +RETURN = r""" +--- +changed: + description: Indicates if any change is made by the module + returned: always + type: bool + sample: true +diff: + description: Dictionary of before and after changes + returned: always + type: dict + sample: {'before': {'key1': 'xyz'}, 'after': {'key2': 'pqr'}, 'prepared': 'changes + done'} +diff_list: + description: List of differences between the actual configured object and the configuration + specified in the module + returned: when changed + type: list + sample: ["Attribute `key1` differs. Desired: () XYZ. Existing: () PQR"] +failed: + description: Indicates if the module failed or not + returned: always + type: bool + sample: false +loglines: + description: list of logged messages by the module + returned: always + type: list + sample: ['message 1', 'message 2'] + +""" + + +import os + +from ..module_utils.module_executor import ModuleExecutor + +RESOURCE_NAME = os.path.basename(__file__).replace(".py", "") + + +def main(): + executor = ModuleExecutor(RESOURCE_NAME) + executor.main() + + +if __name__ == "__main__": + main() diff --git a/plugins/modules/nsconfig.py b/plugins/modules/nsconfig.py index f6bb9b6c4..396868c33 100644 --- a/plugins/modules/nsconfig.py +++ b/plugins/modules/nsconfig.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nsconfig short_description: Configuration for system config resource. description: Configuration for system config resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -36,6 +38,13 @@ the module's parameters. - When C(unset), the resource will be unset on the NetScaler ADC node. type: str + async: + type: bool + description: + - Using this option will run the operation in async mode and return the job + id. The job ID can be used later to track the conversion progress via show + ns job Command. This option is mostly useful for API to avoid timeouts + for large input configuration all: type: bool description: @@ -78,6 +87,10 @@ type: str description: - Location of the configurations. + configfile: + type: str + description: + - Full path of config file to be converted to nitro cookieversion: type: str choices: @@ -96,7 +109,7 @@ exclusivequotaspillover: type: float description: - - The percentage of max limit to be given to PEs + - The percentage of spillover threshold to be given to PEs force: type: bool description: @@ -121,15 +134,16 @@ these configured ports. elements: int ifnum: - type: raw + type: list description: - Interfaces of the appliances that must be bound to the NSVLAN. + elements: str ignoredevicespecific: type: bool description: - Suppress device specific differences. ipaddress: - type: raw + type: str description: - IP address of the Citrix ADC. Commonly referred to as NSIP address. This parameter is mandatory to bring up the appliance. @@ -169,12 +183,12 @@ between the system and a server attached to it. Setting this value to 0 allows an unlimited number of requests to be passed. netmask: - type: raw + type: str description: - Netmask corresponding to the IP address. This parameter is mandatory to bring up the appliance. nsvlan: - type: raw + type: float description: - VLAN (NSVLAN) for the subnet on which the IP address resides. outtype: @@ -201,6 +215,11 @@ - RBA configurations and TACACS policies bound to system global will not be cleared if RBA is set to C(NO).This option is applicable only for BASIC level of clear configuration.Default is C(YES), which will clear rba configurations. + responsefile: + type: str + description: + - Full path of file to store the nitro graph. If not specified, nitro graph + is returned as part of the API response. securecookie: type: str choices: @@ -209,7 +228,7 @@ description: - enable/disable secure flag for persistence cookie tagged: - type: raw + type: str choices: - 'YES' - 'NO' @@ -240,16 +259,22 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample nsconfig playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | nsconfig + - name: Configure nsconfig delegate_to: localhost netscaler.adc.nsconfig: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - ipaddress: 10.10.10.10 - netmask: 255.255.255.0 + nsvlan: '10' + ifnum: + - 1/1 + tagged: 'NO' """ RETURN = r""" diff --git a/plugins/modules/nsconfigview.py b/plugins/modules/nsconfigview.py new file mode 100644 index 000000000..837889be8 --- /dev/null +++ b/plugins/modules/nsconfigview.py @@ -0,0 +1,92 @@ +#!/usr/bin/python + +# -*- coding: utf-8 -*- + +# Copyright (c) 2023 Cloud Software Group, Inc. +# MIT License (see LICENSE or https://opensource.org/licenses/MIT) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + + +ANSIBLE_METADATA = { + "metadata_version": "1.1", + "status": ["preview"], + "supported_by": "community", +} + +DOCUMENTATION = r""" +--- +module: nsconfigview +short_description: Configuration for 0 resource. +description: Configuration for 0 resource. +version_added: 2.0.0 +author: + - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) +options: + state: + choices: + - switched + default: present + description: + - The state of the resource being configured by the module on the NetScaler + ADC node. + - When C(switched), the partition will be switched on the NetScaler ADC node. + type: str +extends_documentation_fragment: netscaler.adc.netscaler_adc + +""" + +EXAMPLES = r""" +""" + +RETURN = r""" +--- +changed: + description: Indicates if any change is made by the module + returned: always + type: bool + sample: true +diff: + description: Dictionary of before and after changes + returned: always + type: dict + sample: {'before': {'key1': 'xyz'}, 'after': {'key2': 'pqr'}, 'prepared': 'changes + done'} +diff_list: + description: List of differences between the actual configured object and the configuration + specified in the module + returned: when changed + type: list + sample: ["Attribute `key1` differs. Desired: () XYZ. Existing: () PQR"] +failed: + description: Indicates if the module failed or not + returned: always + type: bool + sample: false +loglines: + description: list of logged messages by the module + returned: always + type: list + sample: ['message 1', 'message 2'] + +""" + + +import os + +from ..module_utils.module_executor import ModuleExecutor + +RESOURCE_NAME = os.path.basename(__file__).replace(".py", "") + + +def main(): + executor = ModuleExecutor(RESOURCE_NAME) + executor.main() + + +if __name__ == "__main__": + main() diff --git a/plugins/modules/nsconsoleloginprompt.py b/plugins/modules/nsconsoleloginprompt.py index 035dd3104..c33199fed 100644 --- a/plugins/modules/nsconsoleloginprompt.py +++ b/plugins/modules/nsconsoleloginprompt.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nsconsoleloginprompt short_description: Configuration for console prompt resource. description: Configuration for console prompt resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,7 +39,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str promptstring: - type: raw + type: str description: - Console login prompt string extends_documentation_fragment: netscaler.adc.netscaler_adc diff --git a/plugins/modules/nscqaparam.py b/plugins/modules/nscqaparam.py index 1e841a61e..3b3fe9718 100644 --- a/plugins/modules/nscqaparam.py +++ b/plugins/modules/nscqaparam.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nscqaparam short_description: Configuration for cqaparam resource. description: Configuration for cqaparam resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,15 +39,15 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str harqretxdelay: - type: raw + type: float description: - HARQ retransmission delay (in ms). lr1coeflist: - type: raw + type: str description: - coefficients values for Label1. lr1probthresh: - type: raw + type: float description: - Probability threshold values for LR model to differentiate between NET1 and reset(NET2 and NET3). @@ -59,66 +61,66 @@ - Probability threshold values for LR model to differentiate between NET2 and NET3. minrttnet1: - type: raw + type: float description: - MIN RTT (in ms) for the first network. minrttnet2: - type: raw + type: float description: - MIN RTT (in ms) for the second network. minrttnet3: - type: raw + type: float description: - MIN RTT (in ms) for the third network. net1cclscale: - type: raw + type: str description: - Three congestion level scores limits corresponding to None, Low, Medium. net1csqscale: - type: raw + type: str description: - Three signal quality level scores limits corresponding to Excellent, Good, Fair. net1label: - type: raw + type: str description: - Name of the network label. net1logcoef: - type: raw + type: str description: - Connection quality ranking Log coefficients of network 1. net2cclscale: - type: raw + type: str description: - Three congestion level scores limits corresponding to None, Low, Medium. net2csqscale: - type: raw + type: str description: - Three signal quality level scores limits corresponding to Excellent, Good, Fair. net2label: - type: raw + type: str description: - Name of the network label 2. net2logcoef: - type: raw + type: str description: - Connnection quality ranking Log coefficients of network 2. net3cclscale: - type: raw + type: str description: - Three congestion level scores limits corresponding to None, Low, Medium. net3csqscale: - type: raw + type: str description: - Three signal quality level scores limits corresponding to Excellent, Good, Fair. net3label: - type: raw + type: str description: - Name of the network label 3. net3logcoef: - type: raw + type: str description: - Connection quality ranking Log coefficients of network 3. extends_documentation_fragment: netscaler.adc.netscaler_adc @@ -126,6 +128,21 @@ """ EXAMPLES = r""" +--- +- name: Sample nscqaparam playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure nscqaparam + delegate_to: localhost + netscaler.adc.nscqaparam: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + lr1probthresh: 0.0 + lr2probthresh: 0.0 """ RETURN = r""" diff --git a/plugins/modules/nsdhcpip.py b/plugins/modules/nsdhcpip.py new file mode 100644 index 000000000..0e1b9e157 --- /dev/null +++ b/plugins/modules/nsdhcpip.py @@ -0,0 +1,90 @@ +#!/usr/bin/python + +# -*- coding: utf-8 -*- + +# Copyright (c) 2023 Cloud Software Group, Inc. +# MIT License (see LICENSE or https://opensource.org/licenses/MIT) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + + +ANSIBLE_METADATA = { + "metadata_version": "1.1", + "status": ["preview"], + "supported_by": "community", +} + +DOCUMENTATION = r""" +--- +module: nsdhcpip +short_description: Configuration for dhcp IP resource. +description: Configuration for dhcp IP resource. +version_added: 2.0.0 +author: + - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) +options: + state: + choices: [] + default: present + description: + - The state of the resource being configured by the module on the NetScaler + ADC node. + type: str +extends_documentation_fragment: netscaler.adc.netscaler_adc + +""" + +EXAMPLES = r""" +""" + +RETURN = r""" +--- +changed: + description: Indicates if any change is made by the module + returned: always + type: bool + sample: true +diff: + description: Dictionary of before and after changes + returned: always + type: dict + sample: {'before': {'key1': 'xyz'}, 'after': {'key2': 'pqr'}, 'prepared': 'changes + done'} +diff_list: + description: List of differences between the actual configured object and the configuration + specified in the module + returned: when changed + type: list + sample: ["Attribute `key1` differs. Desired: () XYZ. Existing: () PQR"] +failed: + description: Indicates if the module failed or not + returned: always + type: bool + sample: false +loglines: + description: list of logged messages by the module + returned: always + type: list + sample: ['message 1', 'message 2'] + +""" + + +import os + +from ..module_utils.module_executor import ModuleExecutor + +RESOURCE_NAME = os.path.basename(__file__).replace(".py", "") + + +def main(): + executor = ModuleExecutor(RESOURCE_NAME) + executor.main() + + +if __name__ == "__main__": + main() diff --git a/plugins/modules/nsdhcpparams.py b/plugins/modules/nsdhcpparams.py index 38f9c96e1..acd150681 100644 --- a/plugins/modules/nsdhcpparams.py +++ b/plugins/modules/nsdhcpparams.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nsdhcpparams short_description: Configuration for DHCP parameters resource. description: Configuration for DHCP parameters resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,7 +39,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str dhcpclient: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -45,7 +47,7 @@ - Enables DHCP client to acquire IP address from the DHCP server in the next boot. When set to C(OFF), disables the DHCP client in the next boot. saveroute: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -56,6 +58,20 @@ """ EXAMPLES = r""" +--- +- name: Sample nsdhcpparams playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure nsdhcpparams + delegate_to: localhost + netscaler.adc.nsdhcpparams: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + saveroute: 'ON' """ RETURN = r""" diff --git a/plugins/modules/nsdiameter.py b/plugins/modules/nsdiameter.py index 0a692bb55..2d95f8603 100644 --- a/plugins/modules/nsdiameter.py +++ b/plugins/modules/nsdiameter.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nsdiameter short_description: Configuration for Diameter Parameters resource. description: Configuration for Diameter Parameters resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -47,7 +49,7 @@ - Now whenever Citrix ADC needs to use identity in diameter messages. It will use 'netscaler.com' as Origin-Host AVP as defined in RFC3588 ownernode: - type: raw + type: float description: - ID of the cluster node for which the diameter id is set, can be configured only through CLIP @@ -60,7 +62,7 @@ - Now whenever Citrix ADC system needs to use realm in diameter messages. It will use 'com' as Origin-Realm AVP as defined in RFC3588 serverclosepropagation: - type: raw + type: str choices: - 'YES' - 'NO' @@ -73,13 +75,17 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample nsdiameter playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | nsdiameter + - name: Configure nsdiameter delegate_to: localhost netscaler.adc.nsdiameter: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present identity: netscaler.com realm: com diff --git a/plugins/modules/nsencryptionkey.py b/plugins/modules/nsencryptionkey.py index 90b6ff00c..0a0f3e0db 100644 --- a/plugins/modules/nsencryptionkey.py +++ b/plugins/modules/nsencryptionkey.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nsencryptionkey short_description: Configuration for encryption key resource. description: Configuration for encryption key resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,11 +41,11 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str comment: - type: raw + type: str description: - Comments associated with this encryption key. iv: - type: raw + type: str description: - 'The initalization voector (IV) for a block cipher, one block of data used to initialize the encryption. The best practice is to not specify an IV, in @@ -141,7 +143,7 @@ than the other modes because the same plaintext always produces the same encrypted text and should only be used if required by an existing application.' name: - type: raw + type: str description: - 'Key name. This follows the same syntax rules as other expression entity names:' @@ -152,7 +154,7 @@ - ' It cannot be used for an existing expression object (HTTP callout, patset, dataset, stringmap, or named expression).' padding: - type: raw + type: str choices: - 'OFF' - 'ON' diff --git a/plugins/modules/nsencryptionparams.py b/plugins/modules/nsencryptionparams.py index 617fb0dba..dd19f52ba 100644 --- a/plugins/modules/nsencryptionparams.py +++ b/plugins/modules/nsencryptionparams.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nsencryptionparams short_description: Configuration for default encryption parameters resource. description: Configuration for default encryption parameters resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -85,6 +87,21 @@ """ EXAMPLES = r""" +--- +- name: Sample nsencryptionparams playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure nsencryptionparams + delegate_to: localhost + netscaler.adc.nsencryptionparams: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + method: AES256 + keyvalue: REQ_PASSWORD """ RETURN = r""" diff --git a/plugins/modules/nsextension.py b/plugins/modules/nsextension.py index dcd87a865..0a46e7a45 100644 --- a/plugins/modules/nsextension.py +++ b/plugins/modules/nsextension.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nsextension short_description: Configuration for Extension resource. description: Configuration for Extension resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -41,7 +43,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str comment: - type: raw + type: str description: - Any comments to preserve information about the extension object. detail: @@ -52,7 +54,7 @@ description: - Show detail for extension function. name: - type: raw + type: str description: - Name to assign to the extension object on the Citrix ADC. overwrite: @@ -65,9 +67,11 @@ - Local path to and name of, or URL (protocol, host, path, and file name) for, the file in which to store the imported extension. - 'NOTE: The import fails if the object to be imported is on an HTTPS server - that requires client certificate authentication for access.' + that requires client certificate authentication for access, and the issuer + certificate of the HTTPS server is not present in the specific path on NetScaler + to authenticate the HTTPS server.' trace: - type: raw + type: str choices: - 'off' - calls @@ -85,12 +89,12 @@ - Note that the DEBUG log level must be enabled to see extension tracing. - This can be done by set audit syslogParams -loglevel ALL or -loglevel DEBUG. tracefunctions: - type: raw + type: str description: - Comma-separated list of extension functions to trace. By default, all extension functions are traced. tracevariables: - type: raw + type: str description: - Comma-separated list of variables (in traced extension functions) to trace. By default, all variables are traced. diff --git a/plugins/modules/nsfeature.py b/plugins/modules/nsfeature.py index 22ddc7503..0bbd7abed 100644 --- a/plugins/modules/nsfeature.py +++ b/plugins/modules/nsfeature.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nsfeature short_description: Configuration for feature resource. description: Configuration for feature resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -94,12 +96,9 @@ - SYSTEM - RISE - FEO - - LSN - - LargeScaleNAT - RDPProxy - Rep - Reputation - - URLFiltering - VideoOptimization - ForwardProxy - SSLInterception @@ -118,18 +117,6 @@ """ EXAMPLES = r""" ---- -- name: Sample Playbook - hosts: localhost - gather_facts: false - tasks: - - name: Sample Task | nsfeature - delegate_to: localhost - netscaler.adc.nsfeature: - state: enabled - feature: - - CS - - LB """ RETURN = r""" diff --git a/plugins/modules/nshmackey.py b/plugins/modules/nshmackey.py index 8e2451726..335d91caf 100644 --- a/plugins/modules/nshmackey.py +++ b/plugins/modules/nshmackey.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nshmackey short_description: Configuration for HMAC key resource. description: Configuration for HMAC key resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str comment: - type: raw + type: str description: - Comments associated with this encryption key. digest: @@ -78,7 +80,7 @@ - intended for use cases where the NetScaler both generates and verifies an HMAC on the same data. name: - type: raw + type: str description: - 'Key name. This follows the same syntax rules as other expression entity names:' diff --git a/plugins/modules/nshostname.py b/plugins/modules/nshostname.py index 37245561b..996acbeaf 100644 --- a/plugins/modules/nshostname.py +++ b/plugins/modules/nshostname.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nshostname short_description: Configuration for host name resource. description: Configuration for host name resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -49,15 +51,19 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample nshostname playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | nshostName + - name: Configure nshostname delegate_to: localhost netscaler.adc.nshostname: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - hostname: ansible-test + hostname: ns """ RETURN = r""" diff --git a/plugins/modules/nshttpparam.py b/plugins/modules/nshttpparam.py index d4f8e8b19..f8d90a5ae 100644 --- a/plugins/modules/nshttpparam.py +++ b/plugins/modules/nshttpparam.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nshttpparam short_description: Configuration for HTTP parameter resource. description: Configuration for HTTP parameter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,35 +39,35 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str conmultiplex: - type: raw + type: str choices: - ENABLED - DISABLED description: - Reuse server connections for requests from more than one client connections. dropinvalreqs: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Drop invalid HTTP requests or responses. http2serverside: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Enable/Disable HTTP/2 on server side ignoreconnectcodingscheme: - type: raw + type: str choices: - ENABLED - DISABLED description: - Ignore Coding scheme in CONNECT request. insnssrvrhdr: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -73,35 +75,35 @@ - Enable or disable Citrix ADC server header insertion for Citrix ADC generated HTTP responses. logerrresp: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Server header value to be inserted. markconnreqinval: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Mark CONNECT requests as invalid. markhttp09inval: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Mark HTTP/0.9 requests as invalid. maxreusepool: - type: raw + type: float description: - Maximum limit on the number of connections, from the Citrix ADC to a particular server that are kept in the reuse pool. This setting is helpful for optimal memory utilization and for reducing the idle connections to the server just after the peak time. nssrvrhdr: - type: raw + type: str description: - The server header value to be inserted. If no explicit header is specified then NSBUILD.RELEASE is used as default server header. @@ -110,6 +112,20 @@ """ EXAMPLES = r""" +--- +- name: Sample nshttpparam playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure nshttpparam + delegate_to: localhost + netscaler.adc.nshttpparam: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + dropinvalreqs: 'ON' """ RETURN = r""" diff --git a/plugins/modules/nshttpprofile.py b/plugins/modules/nshttpprofile.py index 5ea9cb8b8..f037ff4fd 100644 --- a/plugins/modules/nshttpprofile.py +++ b/plugins/modules/nshttpprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nshttpprofile short_description: Configuration for HTTP profile resource. description: Configuration for HTTP profile resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str adpttimeout: - type: raw + type: str choices: - ENABLED - DISABLED @@ -47,7 +49,7 @@ - Adapts the configured request timeout based on flow conditions. The timeout is increased or decreased internally and applied on the flow. allowonlywordcharactersandhyphen: - type: raw + type: str choices: - ENABLED - DISABLED @@ -57,19 +59,19 @@ other characters. When disabled allows any visible (printing) characters (%21-%7E) except delimiters (double quotes and "(),/:;<=>?@[]{}"). altsvc: - type: raw + type: str choices: - ENABLED - DISABLED description: - Choose whether to enable support for Alternative Services. altsvcvalue: - type: raw + type: str description: - Configure a custom Alternative Services header value that should be inserted in the response to advertise a HTTP/SSL/HTTP_QUIC vserver. apdexcltresptimethreshold: - type: raw + type: float description: - This option sets the satisfactory threshold (T) for client response time in milliseconds to be used for APDEX calculations. This means a transaction responding @@ -79,69 +81,77 @@ tolerable and frustrating transcations. And client response time related apdex counters are only updated on a vserver which receives clients traffic. clientiphdrexpr: - type: raw + type: str description: - Name of the header that contains the real client IP address. cmponpush: - type: raw + type: str choices: - ENABLED - DISABLED description: - Start data compression on receiving a TCP packet with PUSH flag set. conmultiplex: - type: raw + type: str choices: - ENABLED - DISABLED description: - Reuse server connections for requests from more than one client connections. dropextracrlf: - type: raw + type: str choices: - ENABLED - DISABLED description: - Drop any extra 'CR' and 'LF' characters present after the header. dropextradata: - type: raw + type: str choices: - ENABLED - DISABLED description: - Drop any extra data when server sends more data than the specified content-length. dropinvalreqs: - type: raw + type: str choices: - ENABLED - DISABLED description: - Drop invalid HTTP requests or responses. grpcholdlimit: - type: raw + type: float description: - Maximum size in bytes allowed to buffer gRPC packets till trailer is received grpcholdtimeout: - type: raw + type: float description: - Maximum time in milliseconds allowed to buffer gRPC packets till trailer is received. The value should be in multiples of 100 grpclengthdelimitation: - type: raw + type: str choices: - ENABLED - DISABLED description: - Set to C(DISABLED) for gRPC without a length delimitation. + hostheadervalidation: + type: str + choices: + - ENABLED + - DISABLED + description: + - Validates the length of the Host header and its syntax. Also includes validation + of the port number if specified http2: - type: raw + type: str choices: - ENABLED - DISABLED description: - Choose whether to enable support for HTTP/2. http2altsvcframe: - type: raw + type: str choices: - ENABLED - DISABLED @@ -150,154 +160,181 @@ the ADC sends HTTP/2 ALTSVC frames to HTTP/2 clients, instead of the Alt-Svc response header field. Not applicable to servers. http2direct: - type: raw + type: str choices: - ENABLED - DISABLED description: - Choose whether to enable support for Direct HTTP/2. http2headertablesize: - type: raw + type: float description: - Maximum size of the header compression table used to decode header blocks, in bytes. http2initialconnwindowsize: - type: raw + type: float description: - Initial window size for connection level flow control, in bytes. http2initialwindowsize: - type: raw + type: float description: - Initial window size for stream level flow control, in bytes. http2maxconcurrentstreams: - type: raw + type: float description: - Maximum number of concurrent streams that is allowed per connection. http2maxemptyframespermin: - type: raw + type: float description: - - Maximum number of empty frames allowed in HTTP2 connection per minute + - Maximum number of empty frames allowed in HTTP2 connection per minute http2maxframesize: - type: raw + type: float description: - Maximum size of the frame payload that the Citrix ADC is willing to receive, in bytes. http2maxheaderlistsize: - type: raw + type: float description: - 'Maximum size of header list that the Citrix ADC is prepared to accept, in bytes. NOTE: The actual plain text header size that the Citrix ADC accepts is limited by maxHeaderLen. Please change maxHeaderLen parameter as well when modifying http2MaxHeaderListSize.' http2maxpingframespermin: - type: raw + type: float description: - - Maximum number of ping frames allowed in HTTP2 connection per minute + - Maximum number of PING frames allowed in HTTP2 connection per minute http2maxresetframespermin: - type: raw + type: float + description: + - Maximum number of outgoing RST_STREAM frames allowed in HTTP/2 connection + per minute + http2maxrxresetframespermin: + type: float description: - - Maximum number of reset frames allowed in HTTP/2 connection per minute + - Maximum number of incoming RST_STREAM frames allowed in HTTP/2 connection + per minute http2maxsettingsframespermin: - type: raw + type: float description: - - Maximum number of settings frames allowed in HTTP2 connection per minute + - Maximum number of SETTINGS frames allowed in HTTP2 connection per minute http2minseverconn: - type: raw + type: float description: - Minimum number of HTTP2 connections established to backend server, on receiving HTTP requests from client before multiplexing the streams into the available HTTP/2 connections. http2strictcipher: - type: raw + type: str choices: - ENABLED - DISABLED description: - Choose whether to enable strict HTTP/2 cipher selection http3: - type: raw + type: str choices: - ENABLED - DISABLED description: - Choose whether to enable support for HTTP/3. http3maxheaderblockedstreams: - type: raw + type: float description: - Maximum number of HTTP/3 streams that can be blocked while HTTP/3 headers are being decoded. http3maxheaderfieldsectionsize: - type: raw + type: float description: - Maximum size of the HTTP/3 header field section, in bytes. http3maxheadertablesize: - type: raw + type: float description: - Maximum size of the HTTP/3 QPACK dynamic header table, in bytes. + http3minseverconn: + type: float + description: + - Minimum number of HTTP/3 connections established to backend server, on receiving + HTTP requests from client before multiplexing the streams into the available + HTTP/3 connections. + http3webtransport: + type: str + choices: + - ENABLED + - DISABLED + description: + - Choose whether to enable support for WebTransport over HTTP/3. httppipelinebuffsize: - type: raw + type: float description: - Application pipeline request buffering size, in bytes. incomphdrdelay: - type: raw + type: float description: - Maximum time to wait, in milliseconds, between incomplete header packets. If the header packets take longer to arrive at Citrix ADC, the connection is silently dropped. markconnreqinval: - type: raw + type: str choices: - ENABLED - DISABLED description: - Mark CONNECT requests as invalid. markhttp09inval: - type: raw + type: str choices: - ENABLED - DISABLED description: - Mark HTTP/0.9 requests as invalid. markhttpheaderextrawserror: - type: raw + type: str choices: - ENABLED - DISABLED description: - Mark Http header with extra white space as invalid markrfc7230noncompliantinval: - type: raw + type: str choices: - ENABLED - DISABLED description: - Mark RFC7230 non-compliant transaction as invalid marktracereqinval: - type: raw + type: str choices: - ENABLED - DISABLED description: - Mark TRACE requests as invalid. + maxduplicateheaderfields: + type: float + description: + - Maximum number of allowed occurrences of header fields that share the same + field name. This threshold is enforced only for well-known header field names + recognized by NetScaler. If the value is set to 0, then it will be similar + to previous behavior, Where we store only 15 duplicate headers and rest are + parsed and send to the server. maxheaderfieldlen: - type: raw + type: float description: - Number of bytes allowed for header field for HTTP header. If number of bytes exceeds beyond configured value, then request will be marked invalid maxheaderlen: - type: raw + type: float description: - Number of bytes to be queued to look for complete header before returning error. If complete header is not obtained after queuing these many bytes, request will be marked as invalid and no L7 processing will be done for that TCP connection. maxreq: - type: raw + type: float description: - Maximum number of requests allowed on a single connection. Zero implies no limit on the number of requests. maxreusepool: - type: raw + type: float description: - Maximum limit on the number of connections, from the Citrix ADC to a particular server that are kept in the reuse pool. This setting is helpful for optimal @@ -306,14 +343,14 @@ value is given, it has to be greater than or equal to the number of running Packet Engines. minreusepool: - type: raw + type: float description: - Minimum limit on the number of connections, from the Citrix ADC to a particular server that are kept in the reuse pool. This setting is helpful for optimal memory utilization and for reducing the idle connections to the server just after the peak time. Zero implies no limit on reuse pool size. name: - type: raw + type: str description: - Name for an HTTP profile. Must begin with a letter, number, or the underscore \(_\) character. Other characters allowed, after the first character, are @@ -324,14 +361,14 @@ - 'CLI Users: If the name includes one or more spaces, enclose the name in double or single quotation marks \(for example, "my http profile" or ''my http profile''\).' passprotocolupgrade: - type: raw + type: str choices: - ENABLED - DISABLED description: - Pass protocol upgrade request to the server. persistentetag: - type: raw + type: str choices: - ENABLED - DISABLED @@ -339,13 +376,13 @@ - Generate the persistent Citrix ADC specific ETag for the HTTP response with ETag header. reqtimeout: - type: raw + type: float description: - Time, in seconds, within which the HTTP request must complete. If the request does not complete within this time, the specified request timeout action is executed. Zero disables the timeout. reqtimeoutaction: - type: raw + type: str description: - 'Action to take when the HTTP request does not complete within the specified request timeout duration. You can configure the following actions:' @@ -354,12 +391,12 @@ - '* Custom responder action - Name of the responder action to trigger when timeout occurs, used to send custom message.' reusepooltimeout: - type: raw + type: float description: - Idle timeout (in seconds) for server connections in re-use pool. Connections in the re-use pool are flushed, if they remain idle for the configured timeout. rtsptunnel: - type: raw + type: str choices: - ENABLED - DISABLED @@ -368,14 +405,14 @@ or Content-Type header, Citrix ADC does not process Layer 7 traffic on this connection. weblog: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable or disable web logging. websocket: - type: raw + type: str choices: - ENABLED - DISABLED @@ -388,16 +425,20 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample nshttpprofile playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | nshttpProfile + - name: Configure nshttpprofile delegate_to: localhost netscaler.adc.nshttpprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - name: httpprofile-HTTP2-0 - http2: ENABLED + name: nshttp_default_profile + dropinvalreqs: ENABLED """ RETURN = r""" diff --git a/plugins/modules/nsicapprofile.py b/plugins/modules/nsicapprofile.py index 58bce1be3..10b6feaa8 100644 --- a/plugins/modules/nsicapprofile.py +++ b/plugins/modules/nsicapprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nsicapprofile short_description: Configuration for ICAP profile resource. description: Configuration for ICAP profile resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,14 +41,14 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str allow204: - type: raw + type: str choices: - ENABLED - DISABLED description: - 'Enable or Disable sending Allow: 204 header in ICAP request.' connectionkeepalive: - type: raw + type: str choices: - ENABLED - DISABLED @@ -54,11 +56,11 @@ - If enabled, Citrix ADC keeps the ICAP connection alive after a transaction to reuse it to send next ICAP request. hostheader: - type: raw + type: str description: - ICAP Host Header inserthttprequest: - type: raw + type: str description: - Exact HTTP request, in the form of an expression, which the Citrix ADC encapsulates and sends to the ICAP server. If you set this parameter, the ICAP request @@ -68,7 +70,7 @@ - The Citrix ADC does not check the validity of this request. You must manually validate the request. inserticapheaders: - type: raw + type: str description: - 'Insert custom ICAP headers in the ICAP request to send to ICAP server. The headers can be static or can be dynamically constructed using PI Policy Expression. @@ -77,7 +79,7 @@ - The Citrix ADC does not check the validity of the specified header name-value. You must manually validate the specified header syntax. logaction: - type: raw + type: str description: - Name of the audit message action which would be evaluated on receiving the ICAP response to emit the logs. @@ -89,7 +91,7 @@ description: - ICAP Mode of operation. It is a mandatory argument while creating an icapprofile. name: - type: raw + type: str description: - Name for an ICAP profile. Must begin with a letter, number, or the underscore \(_\) character. Other characters allowed, after the first character, are @@ -100,7 +102,7 @@ - 'CLI Users: If the name includes one or more spaces, enclose the name in double or single quotation marks \(for example, "my icap profile" or ''my icap profile''\).' preview: - type: raw + type: str choices: - ENABLED - DISABLED @@ -110,24 +112,24 @@ to opt-out of the transaction early instead of receiving the remainder of the request message. previewlength: - type: raw + type: float description: - Value of Preview Header field. Citrix ADC uses the minimum of this set value and the preview size received on OPTIONS response. queryparams: - type: raw + type: str description: - 'Query parameters to be included with ICAP request URI. Entered values should be in arg=value format. For more than one parameters, add & separated values. e.g.: arg1=val1&arg2=val2.' reqtimeout: - type: raw + type: float description: - Time, in seconds, within which the remote server should respond to the ICAP-request. If the Netscaler does not receive full response with this time, the specified request timeout action is performed. Zero value disables this timeout functionality. reqtimeoutaction: - type: raw + type: str choices: - BYPASS - DROP @@ -151,7 +153,7 @@ - URI representing icap service. It is a mandatory argument while creating an icapprofile. useragent: - type: raw + type: str description: - ICAP User Agent Header String extends_documentation_fragment: netscaler.adc.netscaler_adc diff --git a/plugins/modules/nsip.py b/plugins/modules/nsip.py index 5058c3983..65ba93f57 100644 --- a/plugins/modules/nsip.py +++ b/plugins/modules/nsip.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nsip short_description: Configuration for ip resource. description: Configuration for ip resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -43,25 +45,25 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str advertiseondefaultpartition: - type: raw + type: str choices: - ENABLED - DISABLED description: - Advertise VIPs from Shared VLAN on Default Partition. arp: - type: raw + type: str choices: - ENABLED - DISABLED description: - Respond to ARP requests for this IP address. arpowner: - type: raw + type: float description: - The arp owner in a Cluster for this IP address. It can vary from 0 to 31. arpresponse: - type: raw + type: str choices: - NONE - ONE_VSERVER @@ -85,7 +87,7 @@ description: - Use this option to enable or disable BGP on this IP address for the entity. decrementttl: - type: raw + type: str choices: - ENABLED - DISABLED @@ -93,21 +95,21 @@ - Decrement TTL by 1 when C(ENABLED).This setting is applicable only for UDP traffic. dynamicrouting: - type: raw + type: str choices: - ENABLED - DISABLED description: - Allow dynamic routing on this IP address. Specific to Subnet IP (SNIP) address. ftp: - type: raw + type: str choices: - ENABLED - DISABLED description: - Allow File Transfer Protocol (FTP) access to this IP address. gui: - type: raw + type: str choices: - ENABLED - SECUREONLY @@ -115,7 +117,7 @@ description: - Allow graphical user interface (GUI) access to this IP address. hostroute: - type: raw + type: str choices: - ENABLED - DISABLED @@ -123,18 +125,18 @@ - Option to push the VIP to ZebOS routing table for Kernel route redistribution through dynamic routing protocols hostrtgw: - type: raw + type: str description: - IP address of the gateway of the route for this VIP address. icmp: - type: raw + type: str choices: - ENABLED - DISABLED description: - Respond to ICMP requests for this IP address. icmpresponse: - type: raw + type: str choices: - NONE - ONE_VSERVER @@ -162,24 +164,24 @@ - '* When you set ICMP VSERVER RESPONSE to ACTIVE on some and PASSIVE on others, Citrix ADC responds if even one virtual server set to ACTIVE is UP.' ipaddress: - type: raw + type: str description: - IPv4 address to create on the Citrix ADC. Cannot be changed after the IP address is created. metric: - type: raw + type: int description: - Integer value to add to or subtract from the cost of the route advertised for the VIP address. mgmtaccess: - type: raw + type: str choices: - ENABLED - DISABLED description: - Allow access to management applications on this IP address. mptcpadvertise: - type: raw + type: str choices: - 'YES' - 'NO' @@ -187,11 +189,11 @@ - If enabled, this IP will be advertised by Citrix ADC to MPTCP enabled clients as part of ADD_ADDR option. netmask: - type: raw + type: str description: - Subnet mask associated with the IP address. networkroute: - type: raw + type: str choices: - ENABLED - DISABLED @@ -206,14 +208,14 @@ description: - Use this option to enable or disable OSPF on this IP address for the entity. ospfarea: - type: raw + type: float description: - ID of the area in which the type1 link-state advertisements (LSAs) are to be advertised for this virtual IP (VIP) address by the OSPF protocol running on the Citrix ADC. When this parameter is not set, the VIP is advertised on all areas. ospflsatype: - type: raw + type: str choices: - TYPE1 - TYPE5 @@ -221,7 +223,7 @@ - Type of LSAs to be used by the OSPF protocol, running on the Citrix ADC, for advertising the route for this VIP address. ownerdownresponse: - type: raw + type: str choices: - 'YES' - 'NO' @@ -234,7 +236,7 @@ - The owner node in a Cluster for this IP address. Owner node can vary from 0 to 31. If ownernode is not specified then the IP is treated as Striped IP. restrictaccess: - type: raw + type: str choices: - ENABLED - DISABLED @@ -250,32 +252,32 @@ description: - Use this option to enable or disable RIP on this IP address for the entity. snmp: - type: raw + type: str choices: - ENABLED - DISABLED description: - Allow Simple Network Management Protocol (SNMP) access to this IP address. ssh: - type: raw + type: str choices: - ENABLED - DISABLED description: - Allow secure shell (SSH) access to this IP address. tag: - type: raw + type: float description: - Tag value for the network/host route associated with this IP. td: - type: raw + type: float description: - Integer value that uniquely identifies the traffic domain in which you want to configure the entity. If you do not specify an ID, the entity becomes part of the default traffic domain, which has an ID of 0. TD id 4095 is used reserved for LSN use telnet: - type: raw + type: str choices: - ENABLED - DISABLED @@ -310,13 +312,13 @@ All cluster configurations must be performed by accessing the cluster through this IP address.' vrid: - type: raw + type: float description: - A positive integer that uniquely identifies a VMAC address for binding to this VIP address. This binding is used to set up Citrix ADCs in an active-active configuration using VRRP. vserver: - type: raw + type: str choices: - ENABLED - DISABLED @@ -324,7 +326,7 @@ - Use this option to set (enable or disable) the virtual server attribute for this IP address. vserverrhilevel: - type: raw + type: str choices: - ONE_VSERVER - ALL_VSERVERS @@ -360,43 +362,27 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample nsip playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | nsip + - name: Configure nsip delegate_to: localhost netscaler.adc.nsip: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - ipaddress: 1.1.1.1 - netmask: 255.255.255.192 - type: VIP - - name: Sample Task | nsip | 2 - delegate_to: localhost - netscaler.adc.nsip: - state: present - ipaddress: 192.188.1.1 - netmask: 255.255.255.0 - vserver: DISABLED - dynamicrouting: ENABLED - - name: Sample Task | nsip | 3 - delegate_to: localhost - netscaler.adc.nsip: - state: present - ipaddress: 192.179.1.1 + ipaddress: 10.189.130.5 netmask: 255.255.255.255 - type: VIP - arp: DISABLED - snmp: DISABLED - hostroute: ENABLED - hostrtgw: 0.0.0.0 - - name: Sample Task | nsip | 4 - delegate_to: localhost - netscaler.adc.nsip: - state: present - ipaddress: 192.188.1.2 - netmask: 255.255.0.0 + type: GSLBsiteIP vserver: DISABLED + telnet: DISABLED + ftp: DISABLED + gui: DISABLED + snmp: DISABLED + mgmtaccess: ENABLED """ RETURN = r""" diff --git a/plugins/modules/nsip6.py b/plugins/modules/nsip6.py index 305c7ee87..b73d6e932 100644 --- a/plugins/modules/nsip6.py +++ b/plugins/modules/nsip6.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nsip6 short_description: Configuration for ip6 resource. description: Configuration for ip6 resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,14 +41,14 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str advertiseondefaultpartition: - type: raw + type: str choices: - ENABLED - DISABLED description: - Advertise VIPs from Shared VLAN on Default Partition decrementhoplimit: - type: raw + type: str choices: - ENABLED - DISABLED @@ -54,7 +56,7 @@ - Decrement Hop Limit by 1 when C(ENABLED).This setting is applicable only for UDP traffic. dynamicrouting: - type: raw + type: str choices: - ENABLED - DISABLED @@ -62,14 +64,14 @@ - Allow dynamic routing on this IP address. Specific to Subnet IPv6 (SNIP6) address. ftp: - type: raw + type: str choices: - ENABLED - DISABLED description: - Allow File Transfer Protocol (FTP) access to this IP address. gui: - type: raw + type: str choices: - ENABLED - SECUREONLY @@ -77,7 +79,7 @@ description: - Allow graphical user interface (GUI) access to this IP address. hostroute: - type: raw + type: str choices: - ENABLED - DISABLED @@ -85,39 +87,39 @@ - Option to push the VIP6 to ZebOS routing table for Kernel route redistribution through dynamic routing protocols. icmp: - type: raw + type: str choices: - ENABLED - DISABLED description: - Respond to ICMP requests for this IP address. ip6hostrtgw: - type: raw + type: str description: - 'IPv6 address of the gateway for the route. If Gateway is not set, VIP uses :: as the gateway.' ipv6address: - type: raw + type: str description: - IPv6 address to create on the Citrix ADC. map: - type: raw + type: str description: - Mapped IPV4 address for the IPV6 address. metric: - type: raw + type: int description: - Integer value to add to or subtract from the cost of the route advertised for the VIP6 address. mgmtaccess: - type: raw + type: str choices: - ENABLED - DISABLED description: - Allow access to management applications on this IP address. mptcpadvertise: - type: raw + type: str choices: - 'YES' - 'NO' @@ -125,18 +127,18 @@ - If enabled, this IP will be advertised by Citrix ADC to MPTCP enabled clients as part of ADD_ADDR option. nd: - type: raw + type: str choices: - ENABLED - DISABLED description: - Respond to Neighbor Discovery (ND) requests for this IP address. ndowner: - type: raw + type: float description: - NdOwner in Cluster for VIPS and Striped SNIPS networkroute: - type: raw + type: str choices: - ENABLED - DISABLED @@ -144,7 +146,7 @@ - Option to push the SNIP6 subnet to ZebOS routing table for Kernel route redistribution through dynamic routing protocol. ospf6lsatype: - type: raw + type: str choices: - INTRA_AREA - EXTERNAL @@ -152,13 +154,13 @@ - Type of LSAs to be used by the IPv6 OSPF protocol, running on the Citrix ADC, for advertising the route for the VIP6 address. ospfarea: - type: raw + type: float description: - ID of the area in which the Intra-Area-Prefix LSAs are to be advertised for the VIP6 address by the IPv6 OSPF protocol running on the Citrix ADC. When ospfArea is not set, VIP6 is advertised on all areas. ownerdownresponse: - type: raw + type: str choices: - 'YES' - 'NO' @@ -173,7 +175,7 @@ configured only through the cluster IP address. Cannot be changed after the IP address is created. restrictaccess: - type: raw + type: str choices: - ENABLED - DISABLED @@ -190,31 +192,31 @@ - Scope of the IPv6 address to be created. Cannot be changed after the IP address is created. snmp: - type: raw + type: str choices: - ENABLED - DISABLED description: - Allow Simple Network Management Protocol (SNMP) access to this IP address. ssh: - type: raw + type: str choices: - ENABLED - DISABLED description: - Allow secure Shell (SSH) access to this IP address. tag: - type: raw + type: float description: - Tag value for the network/host route associated with this IP. td: - type: raw + type: float description: - Integer value that uniquely identifies the traffic domain in which you want to configure the entity. If you do not specify an ID, the entity becomes part of the default traffic domain, which has an ID of 0. telnet: - type: raw + type: str choices: - ENABLED - DISABLED @@ -238,13 +240,13 @@ description: - The VLAN number. vrid6: - type: raw + type: float description: - A positive integer that uniquely identifies a VMAC address for binding to this VIP address. This binding is used to set up Citrix ADCs in an active-active configuration using VRRP. vserver: - type: raw + type: str choices: - ENABLED - DISABLED @@ -252,7 +254,7 @@ - Enable or disable the state of all the virtual servers associated with this VIP6 address. vserverrhilevel: - type: raw + type: str choices: - ONE_VSERVER - ALL_VSERVERS @@ -288,20 +290,24 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample nsip6 playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | nsip6 + - name: Configure nsip6 delegate_to: localhost netscaler.adc.nsip6: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - ipv6address: ae80::1024:45aa:fe3b:9843/64 + ipv6address: fe80::1031:4dff:fe59:3f9f/64 scope: link-local - type: SNIP + type: NSIP vlan: '1' vserver: DISABLED - mgmtaccess: DISABLED + mgmtaccess: ENABLED dynamicrouting: ENABLED """ diff --git a/plugins/modules/nslicenseparameters.py b/plugins/modules/nslicenseparameters.py index e7099abc0..5e3b0cc34 100644 --- a/plugins/modules/nslicenseparameters.py +++ b/plugins/modules/nslicenseparameters.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nslicenseparameters short_description: Configuration for licenseparameters resource. description: Configuration for licenseparameters resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,27 +39,27 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str alert1gracetimeout: - type: raw + type: float description: - If ADC remains in grace for the configured hours then first grace alert will be raised alert2gracetimeout: - type: raw + type: float description: - If ADC remains in grace for the configured hours then major grace alert will be raised heartbeatinterval: - type: raw + type: float description: - Heartbeat between ADC and Licenseserver is configurable and applicable in case of pooled licensing inventoryrefreshinterval: - type: raw + type: float description: - Inventory refresh interval between ADC and Licenseserver is configurable and applicable in case of pooled licensing licenseexpiryalerttime: - type: raw + type: float description: - If ADC termed license is nearer to expiry then SNMP expiry alert will be raised extends_documentation_fragment: netscaler.adc.netscaler_adc diff --git a/plugins/modules/nslicenseproxyserver.py b/plugins/modules/nslicenseproxyserver.py index e2d2f1db0..6dcf84c8c 100644 --- a/plugins/modules/nslicenseproxyserver.py +++ b/plugins/modules/nslicenseproxyserver.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nslicenseproxyserver short_description: Configuration for licenseproxyserver resource. description: Configuration for licenseproxyserver resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -53,6 +55,21 @@ """ EXAMPLES = r""" +--- +- name: Sample nslicenseproxyserver playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure nslicenseproxyserver + delegate_to: localhost + netscaler.adc.nslicenseproxyserver: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + serverip: 10.102.201.245 + port: '28000' """ RETURN = r""" diff --git a/plugins/modules/nslicenseserver.py b/plugins/modules/nslicenseserver.py index df920a52c..8bd45dbe6 100644 --- a/plugins/modules/nslicenseserver.py +++ b/plugins/modules/nslicenseserver.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nslicenseserver short_description: Configuration for licenseserver resource. description: Configuration for licenseserver resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/nslimitidentifier.py b/plugins/modules/nslimitidentifier.py index 1c93ae3fe..34f255490 100644 --- a/plugins/modules/nslimitidentifier.py +++ b/plugins/modules/nslimitidentifier.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nslimitidentifier -short_description: Configuration for limit Indetifier resource. -description: Configuration for limit Indetifier resource. +short_description: Configuration for limit Identifier resource. +description: Configuration for limit Identifier resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,13 +41,13 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str limitidentifier: - type: raw + type: str description: - Name for a rate limit identifier. Must begin with an ASCII letter or underscore (_) character, and must consist only of ASCII alphanumeric or underscore characters. Reserved words must not be used. limittype: - type: raw + type: str choices: - BURSTY - SMOOTH @@ -57,11 +59,11 @@ quota anytime within the timeslice.' - This argument is needed only when the mode is set to REQUEST_RATE. maxbandwidth: - type: raw + type: float description: - Maximum bandwidth permitted, in kbps. mode: - type: raw + type: str choices: - CONNECTION - REQUEST_RATE @@ -93,27 +95,27 @@ - set limitidentifier limit_req -mode request_rate -timeslice 1000 -Threshold 5000 -limitType BURSTY selectorname: - type: raw + type: str description: - Name of the rate limit selector. If this argument is NULL, rate limiting will be applied on all traffic received by the virtual server or the Citrix ADC (depending on whether the limit identifier is bound to a virtual server or globally) without any filtering. threshold: - type: raw + type: float description: - Maximum number of requests that are allowed in the given timeslice when requests (mode is set as REQUEST_RATE) are tracked per timeslice. - When connections (mode is set as CONNECTION) are tracked, it is the total number of connections that would be let through. timeslice: - type: raw + type: float description: - Time interval, in milliseconds, specified in multiples of 10, during which requests are tracked to check if they cross the threshold. This argument is needed only when the mode is set to REQUEST_RATE. trapsintimeslice: - type: raw + type: float description: - Number of traps to be sent in the timeslice configured. A value of 0 indicates that traps are disabled. @@ -122,6 +124,21 @@ """ EXAMPLES = r""" +--- +- name: Sample nslimitidentifier playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure nslimitidentifier + delegate_to: localhost + netscaler.adc.nslimitidentifier: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + limitidentifier: LB_rslm1 + threshold: '100' """ RETURN = r""" diff --git a/plugins/modules/nslimitselector.py b/plugins/modules/nslimitselector.py index 3819b7db6..830d190ca 100644 --- a/plugins/modules/nslimitselector.py +++ b/plugins/modules/nslimitselector.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nslimitselector short_description: Configuration for limit selector resource. description: Configuration for limit selector resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,11 +41,12 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str rule: - type: raw + type: list description: - '0' + elements: str selectorname: - type: raw + type: str description: - '0' extends_documentation_fragment: netscaler.adc.netscaler_adc diff --git a/plugins/modules/nslimitsessions.py b/plugins/modules/nslimitsessions.py index 2382e7143..9c82c5d48 100644 --- a/plugins/modules/nslimitsessions.py +++ b/plugins/modules/nslimitsessions.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nslimitsessions short_description: Configuration for limit sessions resource. description: Configuration for limit sessions resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: [] diff --git a/plugins/modules/nsmgmtparam.py b/plugins/modules/nsmgmtparam.py new file mode 100644 index 000000000..e201667b7 --- /dev/null +++ b/plugins/modules/nsmgmtparam.py @@ -0,0 +1,103 @@ +#!/usr/bin/python + +# -*- coding: utf-8 -*- + +# Copyright (c) 2023 Cloud Software Group, Inc. +# MIT License (see LICENSE or https://opensource.org/licenses/MIT) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + + +ANSIBLE_METADATA = { + "metadata_version": "1.1", + "status": ["preview"], + "supported_by": "community", +} + +DOCUMENTATION = r""" +--- +module: nsmgmtparam +short_description: Configuration for Management related configuration resource. +description: Configuration for Management related configuration resource. +version_added: 2.0.0 +author: + - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) +options: + state: + choices: + - present + - unset + default: present + description: + - The state of the resource being configured by the module on the NetScaler + ADC node. + - When C(present), the resource will be added/updated configured according to + the module's parameters. + - When C(unset), the resource will be unset on the NetScaler ADC node. + type: str + mgmthttpport: + type: int + description: + - This allow the configuration of management HTTP port. + mgmthttpsport: + type: int + description: + - This allows the configuration of management HTTPS port. +extends_documentation_fragment: netscaler.adc.netscaler_adc + +""" + +EXAMPLES = r""" +""" + +RETURN = r""" +--- +changed: + description: Indicates if any change is made by the module + returned: always + type: bool + sample: true +diff: + description: Dictionary of before and after changes + returned: always + type: dict + sample: {'before': {'key1': 'xyz'}, 'after': {'key2': 'pqr'}, 'prepared': 'changes + done'} +diff_list: + description: List of differences between the actual configured object and the configuration + specified in the module + returned: when changed + type: list + sample: ["Attribute `key1` differs. Desired: () XYZ. Existing: () PQR"] +failed: + description: Indicates if the module failed or not + returned: always + type: bool + sample: false +loglines: + description: list of logged messages by the module + returned: always + type: list + sample: ['message 1', 'message 2'] + +""" + + +import os + +from ..module_utils.module_executor import ModuleExecutor + +RESOURCE_NAME = os.path.basename(__file__).replace(".py", "") + + +def main(): + executor = ModuleExecutor(RESOURCE_NAME) + executor.main() + + +if __name__ == "__main__": + main() diff --git a/plugins/modules/nsmigration.py b/plugins/modules/nsmigration.py index 99a80ee2c..864d8fdde 100644 --- a/plugins/modules/nsmigration.py +++ b/plugins/modules/nsmigration.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nsmigration short_description: Configuration for Migration operation resource. description: Configuration for Migration operation resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: [] diff --git a/plugins/modules/nsmode.py b/plugins/modules/nsmode.py index 109fa66e5..06a1f4d79 100644 --- a/plugins/modules/nsmode.py +++ b/plugins/modules/nsmode.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nsmode short_description: Configuration for ns mode resource. description: Configuration for ns mode resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -63,6 +65,7 @@ - RISE_APBR - RISE_RHI - BridgeBPDUs + - SINGLE_IP - ULFD description: - Mode to be enabled. Multiple modes can be specified by providing a blank space diff --git a/plugins/modules/nsnextgenapi.py b/plugins/modules/nsnextgenapi.py new file mode 100644 index 000000000..7580f116f --- /dev/null +++ b/plugins/modules/nsnextgenapi.py @@ -0,0 +1,94 @@ +#!/usr/bin/python + +# -*- coding: utf-8 -*- + +# Copyright (c) 2023 Cloud Software Group, Inc. +# MIT License (see LICENSE or https://opensource.org/licenses/MIT) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + + +ANSIBLE_METADATA = { + "metadata_version": "1.1", + "status": ["preview"], + "supported_by": "community", +} + +DOCUMENTATION = r""" +--- +module: nsnextgenapi +short_description: Configuration for 0 resource. +description: Configuration for 0 resource. +version_added: 2.0.0 +author: + - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) +options: + state: + choices: + - enabled + - disabled + default: present + description: + - The state of the resource being configured by the module on the NetScaler + ADC node. + - When C(enabled), the resource will be enabled on the NetScaler ADC node. + - When C(disabled), the resource will be disabled on the NetScaler ADC node. + type: str +extends_documentation_fragment: netscaler.adc.netscaler_adc + +""" + +EXAMPLES = r""" +""" + +RETURN = r""" +--- +changed: + description: Indicates if any change is made by the module + returned: always + type: bool + sample: true +diff: + description: Dictionary of before and after changes + returned: always + type: dict + sample: {'before': {'key1': 'xyz'}, 'after': {'key2': 'pqr'}, 'prepared': 'changes + done'} +diff_list: + description: List of differences between the actual configured object and the configuration + specified in the module + returned: when changed + type: list + sample: ["Attribute `key1` differs. Desired: () XYZ. Existing: () PQR"] +failed: + description: Indicates if the module failed or not + returned: always + type: bool + sample: false +loglines: + description: list of logged messages by the module + returned: always + type: list + sample: ['message 1', 'message 2'] + +""" + + +import os + +from ..module_utils.module_executor import ModuleExecutor + +RESOURCE_NAME = os.path.basename(__file__).replace(".py", "") + + +def main(): + executor = ModuleExecutor(RESOURCE_NAME) + executor.main() + + +if __name__ == "__main__": + main() diff --git a/plugins/modules/nsparam.py b/plugins/modules/nsparam.py index 740e33c7a..b83a1eaef 100644 --- a/plugins/modules/nsparam.py +++ b/plugins/modules/nsparam.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nsparam short_description: Configuration for Citrix ADC parameters resource. description: Configuration for Citrix ADC parameters resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,14 +39,14 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str advancedanalyticsstats: - type: raw + type: str choices: - ENABLED - DISABLED description: - Disable/Enable advanace analytics stats aftpallowrandomsourceport: - type: raw + type: str choices: - ENABLED - DISABLED @@ -52,7 +54,7 @@ - Allow the FTP server to come from a random source port for active FTP data connections cip: - type: raw + type: str choices: - ENABLED - DISABLED @@ -65,55 +67,72 @@ - '* If the CIP header is not specified, the value that has been set will be used as the client IP header.' cipheader: - type: raw + type: str description: - Text that will be used as the client IP address header. cookieversion: - type: raw + type: str choices: - - 0 - - 1 + - '0' + - '1' description: - Version of the cookie inserted by the system. crportrange: - type: raw + type: str description: - Port range for cache redirection services. exclusivequotamaxclient: - type: raw + type: float description: - - Percentage of maxClient to be given to PEs. + - Percentage of maxClient threshold to be divided equally among PEs. exclusivequotaspillover: - type: raw + type: float description: - - Percentage of maximum limit to be given to PEs. + - Percentage of spillover threshold to be divided equally among PEs. ftpportrange: - type: raw + type: str description: - Minimum and maximum port (port range) that FTP services are allowed to use. grantquotamaxclient: - type: raw + type: float description: - - Percentage of shared quota to be granted at a time for maxClient. + - Percentage of shared pool value granted to PE once PE exhausts the local exclusive + quota. Where shared pool is the remaining maxclient quota after distribution + of exclusive quota to PEs. + - '' + - 'Example: In a 2 PE NetScaler system if configured maxclient is 100 and exclusive + quota is 80 percent then each PE will get 40 as local exclusive quota and + 20 will be in shared pool. If configured grantQuota is 20 percent, then after + exhausting its local exclusive quota PE borrows from shared pool in chunks + of 4 i.e. 20 percent of 20.' grantquotaspillover: - type: raw + type: float description: - - Percentage of shared quota to be granted at a time for spillover. + - Percentage of shared pool value granted to PE once PE exhausts the local exclusive + quota. Where shared pool is the remaining spillover quota after distribution + of exclusive quota to PEs. + - '' + - 'Example: In a 2 PE NetScaler system if configured spillover is 100 and exclusive + quota is 80 percent then each PE will get 40 as local exclusive quota and + 20 will be in shared pool. If configured grantQuota is 20 percent, then after + exhausting its local exclusive quota PE borrows from shared pool in chunks + of 4 i.e. 20 percent of 20.' httpport: - type: raw + type: list description: - HTTP ports on the web server. This allows the system to perform connection off-load for any client request that has a destination port matching one of these configured ports. + elements: int icaports: - type: raw + type: list description: - The ICA ports on the Web server. This allows the system to perform connection - off-load for any - - ' client request that has a destination port matching - one of these configured ports.' + off-load for any client request that has a destination port matching one of + these configured ports. + elements: int internaluserlogin: - type: raw + type: str choices: - ENABLED - DISABLED @@ -122,68 +141,69 @@ disabling internal user login, you must have key-based authentication set up on the appliance. The file name for the key pair must be "ns_comm_key". ipttl: - type: raw + type: float description: - Set the IP Time to Live (TTL) and Hop Limit value for all outgoing packets from Citrix ADC. maxconn: - type: raw + type: float description: - Maximum number of connections that will be made from the appliance to the web server(s) attached to it. The value entered here is applied globally to all attached servers. maxreq: - type: raw + type: float description: - Maximum number of requests that the system can pass on a particular connection between the appliance and a server attached to it. Setting this value to 0 allows an unlimited number of requests to be passed. This value is overridden by the maximum number of requests configured on the individual service. mgmthttpport: - type: raw + type: int description: - This allow the configuration of management HTTP port. mgmthttpsport: - type: raw + type: int description: - This allows the configuration of management HTTPS port. pmtumin: - type: raw + type: float description: - Minimum path MTU value that Citrix ADC will process in the ICMP fragmentation needed message. If the ICMP message contains a value less than this value, then this value is used instead. pmtutimeout: - type: raw + type: float description: - Interval, in minutes, for flushing the PMTU entries. proxyprotocol: - type: raw + type: str choices: - ENABLED - DISABLED description: - Disable/Enable v1 or v2 proxy protocol header for client info insertion securecookie: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable or disable secure flag for persistence cookie. secureicaports: - type: raw + type: list description: - The Secure ICA ports on the Web server. This allows the system to perform connection off-load for any - ' client request that has a destination port matching one of these configured ports.' + elements: int servicepathingressvlan: - type: raw + type: float description: - VLAN on which the subscriber traffic arrives on the appliance. tcpcip: - type: raw + type: str choices: - ENABLED - DISABLED @@ -193,12 +213,12 @@ The passed address can then be accessed through a minor modification to the server. timezone: - type: raw + type: str description: - Time zone for the Citrix ADC. Name of the time zone should be specified as argument. useproxyport: - type: raw + type: str choices: - ENABLED - DISABLED @@ -210,15 +230,19 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample nsparam playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | nsparam + - name: Configure nsparam delegate_to: localhost netscaler.adc.nsparam: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - timezone: GMT+09:00-KST-Asia/Seoul + cookieversion: '1' """ RETURN = r""" diff --git a/plugins/modules/nspartition.py b/plugins/modules/nspartition.py index 9ca035595..dbfee9242 100644 --- a/plugins/modules/nspartition.py +++ b/plugins/modules/nspartition.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nspartition short_description: Configuration for admin partition resource. description: Configuration for admin partition resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -46,35 +48,35 @@ - Switches to new admin partition without prompt for saving configuration. Configuration will not be saved maxbandwidth: - type: raw + type: float description: - Maximum bandwidth, in Kbps, that the partition can consume. A zero value indicates the bandwidth is unrestricted on the partition and it can consume up to the system limits. maxconn: - type: raw + type: float description: - Maximum number of concurrent connections that can be open in the partition. A zero value indicates no limit on number of open connections. maxmemlimit: - type: raw + type: float description: - Maximum memory, in megabytes, allocated to the partition. A zero value indicates the memory is unlimited on the partition and it can consume up to the system limits. minbandwidth: - type: raw + type: float description: - Minimum bandwidth, in Kbps, that the partition can consume. A zero value indicates the bandwidth is unrestricted on the partition and it can consume up to the system limits partitionmac: - type: raw + type: str description: - Special MAC address for the partition which is used for communication over shared vlans in this partition. If not specified, the MAC address is auto-generated. partitionname: - type: raw + type: str description: - Name of the Partition. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash @@ -164,6 +166,23 @@ """ EXAMPLES = r""" +--- +- name: Sample nspartition playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure nspartition + delegate_to: localhost + netscaler.adc.nspartition: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + partitionname: p1 + vxlan: '1' + nitro_operation: unbind + '#nitro_operation': unbind """ RETURN = r""" diff --git a/plugins/modules/nspartition_bridgegroup_binding.py b/plugins/modules/nspartition_bridgegroup_binding.py index ba8ccdaef..39fd53ff3 100644 --- a/plugins/modules/nspartition_bridgegroup_binding.py +++ b/plugins/modules/nspartition_bridgegroup_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: nspartition_bridgegroup_binding short_description: Binding Resource definition for describing association between nspartition and bridgegroup resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/nspartition_vlan_binding.py b/plugins/modules/nspartition_vlan_binding.py index 23bb88278..bacd86f6f 100644 --- a/plugins/modules/nspartition_vlan_binding.py +++ b/plugins/modules/nspartition_vlan_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: nspartition_vlan_binding short_description: Binding Resource definition for describing association between nspartition and vlan resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -53,6 +55,21 @@ """ EXAMPLES = r""" +--- +- name: Sample nspartition_vlan_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure nspartition_vlan_binding + delegate_to: localhost + netscaler.adc.nspartition_vlan_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + partitionname: p11 + vlan: '11' """ RETURN = r""" diff --git a/plugins/modules/nspartition_vxlan_binding.py b/plugins/modules/nspartition_vxlan_binding.py index a25aeadac..1fe937f61 100644 --- a/plugins/modules/nspartition_vxlan_binding.py +++ b/plugins/modules/nspartition_vxlan_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: nspartition_vxlan_binding short_description: Binding Resource definition for describing association between nspartition and vxlan resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -53,6 +55,21 @@ """ EXAMPLES = r""" +--- +- name: Sample nspartition_vxlan_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure nspartition_vxlan_binding + delegate_to: localhost + netscaler.adc.nspartition_vxlan_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + partitionname: p1 + vxlan: '1' """ RETURN = r""" diff --git a/plugins/modules/nspbr.py b/plugins/modules/nspbr.py new file mode 100644 index 000000000..2e162ce67 --- /dev/null +++ b/plugins/modules/nspbr.py @@ -0,0 +1,473 @@ +#!/usr/bin/python + +# -*- coding: utf-8 -*- + +# Copyright (c) 2023 Cloud Software Group, Inc. +# MIT License (see LICENSE or https://opensource.org/licenses/MIT) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + + +ANSIBLE_METADATA = { + "metadata_version": "1.1", + "status": ["preview"], + "supported_by": "community", +} + +DOCUMENTATION = r""" +--- +module: nspbr +short_description: Configuration for Policy Based Routing(PBR) entry resource. +description: Configuration for Policy Based Routing(PBR) entry resource. +version_added: 2.0.0 +author: + - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) +options: + state: + choices: + - present + - absent + - enabled + - disabled + - unset + default: present + description: + - The state of the resource being configured by the module on the NetScaler + ADC node. + - When C(present), the resource will be added/updated configured according to + the module's parameters. + - When C(absent), the resource will be deleted from the NetScaler ADC node. + - When C(enabled), the resource will be enabled on the NetScaler ADC node. + - When C(disabled), the resource will be disabled on the NetScaler ADC node. + - When C(unset), the resource will be unset on the NetScaler ADC node. + type: str + interface: + type: str + description: + - ID of an interface. The Citrix ADC compares the PBR only to the outgoing packets + on the specified interface. If you do not specify any value, the appliance + compares the PBR to the outgoing packets on all interfaces. + action: + type: str + choices: + - ALLOW + - DENY + description: + - Action to perform on the outgoing IPv4 packets that match the PBR. + - '' + - 'Available settings function as follows:' + - '* C(ALLOW) - The Citrix ADC sends the packet to the designated next-hop router.' + - '* C(DENY) - The Citrix ADC applies the routing table for normal destination-based + routing.' + destip: + type: bool + description: + - 'IP address or range of IP addresses to match against the destination IP address + of an outgoing IPv4 packet. In the command line interface, separate the range + with a hyphen. For example: 10.102.29.30-10.102.29.189.' + destipop: + type: str + choices: + - '=' + - '!=' + - EQ + - NEQ + description: + - Either the equals (=) or does not equal (!=) logical operator. + destipval: + type: str + description: + - 'IP address or range of IP addresses to match against the destination IP address + of an outgoing IPv4 packet. In the command line interface, separate the range + with a hyphen. For example: 10.102.29.30-10.102.29.189.' + destport: + type: bool + description: + - 'Port number or range of port numbers to match against the destination port + number of an outgoing IPv4 packet. In the command line interface, separate + the range with a hyphen. For example: 40-90.' + - '' + - 'Note: The destination port can be specified only for TCP and UDP protocols.' + destportop: + type: str + choices: + - '=' + - '!=' + - EQ + - NEQ + description: + - Either the equals (=) or does not equal (!=) logical operator. + destportval: + type: str + description: + - 'Port number or range of port numbers to match against the destination port + number of an outgoing IPv4 packet. In the command line interface, separate + the range with a hyphen. For example: 40-90.' + - '' + - 'Note: The destination port can be specified only for TCP and UDP protocols.' + detail: + type: bool + description: + - To get a detailed view. + iptunnel: + type: bool + description: + - The Tunnel name. + iptunnelname: + type: str + description: + - The iptunnel name where packets need to be forwarded upon. + monitor: + type: str + description: + - The name of the monitor.(Can be only of type ping or ARP ) + msr: + type: str + choices: + - ENABLED + - DISABLED + description: + - Monitor the route specified byte Next Hop parameter. This parameter is not + applicable if you specify a link load balancing (LLB) virtual server name + with the Next Hop parameter. + name: + type: str + description: + - Name for the PBR. Must begin with an ASCII alphabetic or underscore \(_\) + character, and must contain only ASCII alphanumeric, underscore, hash \(\#\), + period \(.\), space, colon \(:\), at \(@\), equals \(=\), and hyphen \(-\) + characters. Cannot be changed after the PBR is created. + nexthop: + type: bool + description: + - IP address of the next hop router or the name of the link load balancing virtual + server to which to send matching packets if action is set to ALLOW. + - If you specify a link load balancing (LLB) virtual server, which can provide + a backup if a next hop link fails, first make sure that the next hops bound + to the LLB virtual server are actually next hops that are directly connected + to the Citrix ADC. Otherwise, the Citrix ADC throws an error when you attempt + to create the PBR. The next hop can be null to represent null routes + nexthopval: + type: str + description: + - The Next Hop IP address or gateway name. + ownergroup: + type: str + description: + - The owner node group in a Cluster for this pbr rule. If ownernode is not specified + then the pbr rule is treated as Striped pbr rule. + priority: + type: float + description: + - Priority of the PBR, which determines the order in which it is evaluated relative + to the other PBRs. If you do not specify priorities while creating PBRs, the + PBRs are evaluated in the order in which they are created. + protocol: + type: str + choices: + - ICMP + - IGMP + - TCP + - EGP + - IGP + - ARGUS + - UDP + - RDP + - RSVP + - EIGRP + - L2TP + - ISIS + - GGP + - IPoverIP + - ST + - CBT + - BBN-RCC-M + - NVP-II + - PUP + - EMCON + - XNET + - CHAOS + - MUX + - DCN-MEAS + - HMP + - PRM + - XNS-IDP + - TRUNK-1 + - TRUNK-2 + - LEAF-1 + - LEAF-2 + - IRTP + - ISO-TP4 + - NETBLT + - MFE-NSP + - MERIT-INP + - SEP + - 3PC + - IDPR + - XTP + - DDP + - IDPR-CMTP + - TP++ + - IL + - IPv6 + - SDRP + - IPv6-Route + - IPv6-Frag + - IDRP + - GRE + - MHRP + - BNA + - ESP + - AH + - I-NLSP + - SWIPE + - NARP + - MOBILE + - TLSP + - SKIP + - ICMPV6 + - IPv6-NoNx + - IPv6-Opts + - Any-Host-Internal-Protocol + - CFTP + - Any-Local-Network + - SAT-EXPAK + - KRYPTOLAN + - RVD + - IPPC + - Any-Distributed-File-System + - TFTP + - VISA + - IPCV + - CPNX + - CPHB + - WSN + - PVP + - BR-SAT-MO + - SUN-ND + - WB-MON + - WB-EXPAK + - ISO-IP + - VMTP + - SECURE-VM + - VINES + - TTP + - NSFNET-IG + - DGP + - TCF + - OSPFIGP + - Sprite-RP + - LARP + - MTP + - AX.25 + - IPIP + - MICP + - SCC-SP + - ETHERIP + - Any-Private-Encryption-Scheme + - GMTP + - IFMP + - PNNI + - PIM + - ARIS + - SCPS + - QNX + - A/N + - IPComp + - SNP + - Compaq-Pe + - IPX-in-IP + - VRRP + - PGM + - Any-0-Hop-Protocol + - ENCAP + - DDX + - IATP + - STP + - SRP + - UTI + - SMP + - SM + - PTP + - FIRE + - CRTP + - CRUDP + - SSCOPMCE + - IPLT + - SPS + - PIPE + - SCTP + - FC + - RSVP-E2E-IGNORE + - Mobility-Header + - UDPLite + description: + - Protocol, identified by protocol name, to match against the protocol of an + outgoing IPv4 packet. + protocolnumber: + type: float + description: + - Protocol, identified by protocol number, to match against the protocol of + an outgoing IPv4 packet. + srcip: + type: bool + description: + - 'IP address or range of IP addresses to match against the source IP address + of an outgoing IPv4 packet. In the command line interface, separate the range + with a hyphen. For example: 10.102.29.30-10.102.29.189.' + srcipop: + type: str + choices: + - '=' + - '!=' + - EQ + - NEQ + description: + - Either the equals (=) or does not equal (!=) logical operator. + srcipval: + type: str + description: + - 'IP address or range of IP addresses to match against the source IP address + of an outgoing IPv4 packet. In the command line interface, separate the range + with a hyphen. For example: 10.102.29.30-10.102.29.189.' + srcmac: + type: str + description: + - MAC address to match against the source MAC address of an outgoing IPv4 packet. + srcmacmask: + type: str + description: + - Used to define range of Source MAC address. It takes string of 0 and 1, 0s + are for exact match and 1s for wildcard. For matching first 3 bytes of MAC + address, srcMacMask value "000000111111". + srcport: + type: bool + description: + - 'Port number or range of port numbers to match against the source port number + of an outgoing IPv4 packet. In the command line interface, separate the range + with a hyphen. For example: 40-90.' + - '' + - 'Note: The destination port can be specified only for TCP and UDP protocols.' + srcportop: + type: str + choices: + - '=' + - '!=' + - EQ + - NEQ + description: + - Either the equals (=) or does not equal (!=) logical operator. + srcportval: + type: str + description: + - 'Port number or range of port numbers to match against the source port number + of an outgoing IPv4 packet. In the command line interface, separate the range + with a hyphen. For example: 40-90.' + - '' + - 'Note: The destination port can be specified only for TCP and UDP protocols.' + td: + type: float + description: + - Integer value that uniquely identifies the traffic domain in which you want + to configure the entity. If you do not specify an ID, the entity becomes part + of the default traffic domain, which has an ID of 0. + vlan: + type: float + description: + - ID of the VLAN. The Citrix ADC compares the PBR only to the outgoing packets + on the specified VLAN. If you do not specify any interface ID, the appliance + compares the PBR to the outgoing packets on all VLANs. + vxlan: + type: float + description: + - ID of the VXLAN. The Citrix ADC compares the PBR only to the outgoing packets + on the specified VXLAN. If you do not specify any interface ID, the appliance + compares the PBR to the outgoing packets on all VXLANs. + vxlanvlanmap: + type: str + description: + - The vlan to vxlan mapping to be applied for incoming packets over this pbr + tunnel +extends_documentation_fragment: netscaler.adc.netscaler_adc + +""" + +EXAMPLES = r""" +--- +- name: Sample nspbr playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure nspbr + delegate_to: localhost + netscaler.adc.nspbr: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: mgmt_pbr + action: ALLOW + srcip: true + srcipop: '=' + srcipval: 10.189.64.50 + destip: true + destipop: '!=' + destipval: 10.189.64.1-10.189.64.254 + nexthop: true + nexthopval: 10.189.64.1 + priority: '10' + kernelstate: SFAPPLIED61 +""" + +RETURN = r""" +--- +changed: + description: Indicates if any change is made by the module + returned: always + type: bool + sample: true +diff: + description: Dictionary of before and after changes + returned: always + type: dict + sample: {'before': {'key1': 'xyz'}, 'after': {'key2': 'pqr'}, 'prepared': 'changes + done'} +diff_list: + description: List of differences between the actual configured object and the configuration + specified in the module + returned: when changed + type: list + sample: ["Attribute `key1` differs. Desired: () XYZ. Existing: () PQR"] +failed: + description: Indicates if the module failed or not + returned: always + type: bool + sample: false +loglines: + description: list of logged messages by the module + returned: always + type: list + sample: ['message 1', 'message 2'] + +""" + + +import os + +from ..module_utils.module_executor import ModuleExecutor + +RESOURCE_NAME = os.path.basename(__file__).replace(".py", "") + + +def main(): + executor = ModuleExecutor(RESOURCE_NAME) + executor.main() + + +if __name__ == "__main__": + main() diff --git a/plugins/modules/nspbr6.py b/plugins/modules/nspbr6.py new file mode 100644 index 000000000..c05fb6d6b --- /dev/null +++ b/plugins/modules/nspbr6.py @@ -0,0 +1,448 @@ +#!/usr/bin/python + +# -*- coding: utf-8 -*- + +# Copyright (c) 2023 Cloud Software Group, Inc. +# MIT License (see LICENSE or https://opensource.org/licenses/MIT) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + + +ANSIBLE_METADATA = { + "metadata_version": "1.1", + "status": ["preview"], + "supported_by": "community", +} + +DOCUMENTATION = r""" +--- +module: nspbr6 +short_description: Configuration for PBR6 entry resource. +description: Configuration for PBR6 entry resource. +version_added: 2.0.0 +author: + - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) +options: + state: + choices: + - present + - absent + - enabled + - disabled + - unset + default: present + description: + - The state of the resource being configured by the module on the NetScaler + ADC node. + - When C(present), the resource will be added/updated configured according to + the module's parameters. + - When C(absent), the resource will be deleted from the NetScaler ADC node. + - When C(enabled), the resource will be enabled on the NetScaler ADC node. + - When C(disabled), the resource will be disabled on the NetScaler ADC node. + - When C(unset), the resource will be unset on the NetScaler ADC node. + type: str + interface: + type: str + description: + - ID of an interface. The Citrix ADC compares the PBR6 only to the outgoing + packets on the specified interface. If you do not specify a value, the appliance + compares the PBR6 to the outgoing packets on all interfaces. + action: + type: str + choices: + - ALLOW + - DENY + description: + - Action to perform on the outgoing IPv6 packets that match the PBR6. + - '' + - 'Available settings function as follows:' + - '* C(ALLOW) - The Citrix ADC sends the packet to the designated next-hop router.' + - '* C(DENY) - The Citrix ADC applies the routing table for normal destination-based + routing.' + destipop: + type: str + choices: + - '=' + - '!=' + - EQ + - NEQ + description: + - Either the equals (=) or does not equal (!=) logical operator. + destipv6: + type: bool + description: + - IP address or range of IP addresses to match against the destination IP address + of an outgoing IPv6 packet. In the command line interface, separate the range + with a hyphen. + destipv6val: + type: str + description: + - IP address or range of IP addresses to match against the destination IP address + of an outgoing IPv6 packet. In the command line interface, separate the range + with a hyphen. + destport: + type: bool + description: + - 'Port number or range of port numbers to match against the destination port + number of an outgoing IPv6 packet. In the command line interface, separate + the range with a hyphen. For example: 40-90.' + - '' + - 'Note: The destination port can be specified only for TCP and UDP protocols.' + destportop: + type: str + choices: + - '=' + - '!=' + - EQ + - NEQ + description: + - Either the equals (=) or does not equal (!=) logical operator. + destportval: + type: str + description: + - Destination port (range). + detail: + type: bool + description: + - To get a detailed view. + iptunnel: + type: str + description: + - The iptunnel name where packets need to be forwarded upon. + monitor: + type: str + description: + - The name of the monitor.(Can be only of type ping or ARP ) + msr: + type: str + choices: + - ENABLED + - DISABLED + description: + - Monitor the route specified by the Next Hop parameter. + name: + type: str + description: + - Name for the PBR6. Must begin with an ASCII alphabetic or underscore \(_\) + character, and must contain only ASCII alphanumeric, underscore, hash \(\#\), + period \(.\), space, colon \(:\), at \(@\), equals \(=\), and hyphen \(-\) + characters. Cannot be changed after the PBR6 is created. + nexthop: + type: bool + description: + - IP address of the next hop router to which to send matching packets if action + is set to ALLOW. This next hop should be directly reachable from the appliance. + nexthopval: + type: str + description: + - The Next Hop IPv6 address. + nexthopvlan: + type: float + description: + - VLAN number to be used for link local nexthop . + ownergroup: + type: str + description: + - The owner node group in a Cluster for this pbr rule. If owner node group is + not specified then the pbr rule is treated as Striped pbr rule. + priority: + type: float + description: + - Priority of the PBR6, which determines the order in which it is evaluated + relative to the other PBR6s. If you do not specify priorities while creating + PBR6s, the PBR6s are evaluated in the order in which they are created. + protocol: + type: str + choices: + - ICMPV6 + - TCP + - UDP + - ICMP + - IGMP + - EGP + - IGP + - ARGUS + - RDP + - RSVP + - EIGRP + - L2TP + - ISIS + - GGP + - IPoverIP + - ST + - CBT + - BBN-RCC-M + - NVP-II + - PUP + - EMCON + - XNET + - CHAOS + - MUX + - DCN-MEAS + - HMP + - PRM + - XNS-IDP + - TRUNK-1 + - TRUNK-2 + - LEAF-1 + - LEAF-2 + - IRTP + - ISO-TP4 + - NETBLT + - MFE-NSP + - MERIT-INP + - SEP + - 3PC + - IDPR + - XTP + - DDP + - IDPR-CMTP + - TP++ + - IL + - IPv6 + - SDRP + - IPv6-Route + - IPv6-Frag + - IDRP + - GRE + - MHRP + - BNA + - ESP + - AH + - I-NLSP + - SWIPE + - NARP + - MOBILE + - TLSP + - SKIP + - IPv6-NoNx + - IPv6-Opts + - Any-Host-Internal-Protocol + - CFTP + - Any-Local-Network + - SAT-EXPAK + - KRYPTOLAN + - RVD + - IPPC + - Any-Distributed-File-System + - TFTP + - VISA + - IPCV + - CPNX + - CPHB + - WSN + - PVP + - BR-SAT-MO + - SUN-ND + - WB-MON + - WB-EXPAK + - ISO-IP + - VMTP + - SECURE-VM + - VINES + - TTP + - NSFNET-IG + - DGP + - TCF + - OSPFIGP + - Sprite-RP + - LARP + - MTP + - AX.25 + - IPIP + - MICP + - SCC-SP + - ETHERIP + - Any-Private-Encryption-Scheme + - GMTP + - IFMP + - PNNI + - PIM + - ARIS + - SCPS + - QNX + - A/N + - IPComp + - SNP + - Compaq-Pe + - IPX-in-IP + - VRRP + - PGM + - Any-0-Hop-Protocol + - ENCAP + - DDX + - IATP + - STP + - SRP + - UTI + - SMP + - SM + - PTP + - FIRE + - CRTP + - CRUDP + - SSCOPMCE + - IPLT + - SPS + - PIPE + - SCTP + - FC + - RSVP-E2E-IGNORE + - Mobility-Header + - UDPLite + description: + - Protocol, identified by protocol name, to match against the protocol of an + outgoing C(IPv6) packet. + protocolnumber: + type: float + description: + - Protocol, identified by protocol number, to match against the protocol of + an outgoing IPv6 packet. + srcipop: + type: str + choices: + - '=' + - '!=' + - EQ + - NEQ + description: + - Either the equals (=) or does not equal (!=) logical operator. + srcipv6: + type: bool + description: + - IP address or range of IP addresses to match against the source IP address + of an outgoing IPv6 packet. In the command line interface, separate the range + with a hyphen. + srcipv6val: + type: str + description: + - IP address or range of IP addresses to match against the source IP address + of an outgoing IPv6 packet. In the command line interface, separate the range + with a hyphen. + srcmac: + type: str + description: + - MAC address to match against the source MAC address of an outgoing IPv6 packet. + srcmacmask: + type: str + description: + - Used to define range of Source MAC address. It takes string of 0 and 1, 0s + are for exact match and 1s for wildcard. For matching first 3 bytes of MAC + address, srcMacMask value "000000111111". + srcport: + type: bool + description: + - 'Port number or range of port numbers to match against the source port number + of an outgoing IPv6 packet. In the command line interface, separate the range + with a hyphen. For example: 40-90.' + srcportop: + type: str + choices: + - '=' + - '!=' + - EQ + - NEQ + description: + - Either the equals (=) or does not equal (!=) logical operator. + srcportval: + type: str + description: + - Source port (range). + td: + type: float + description: + - Integer value that uniquely identifies the traffic domain in which you want + to configure the entity. If you do not specify an ID, the entity becomes part + of the default traffic domain, which has an ID of 0. + vlan: + type: float + description: + - ID of the VLAN. The Citrix ADC compares the PBR6 only to the outgoing packets + on the specified VLAN. If you do not specify an interface ID, the appliance + compares the PBR6 to the outgoing packets on all VLANs. + vxlan: + type: float + description: + - ID of the VXLAN. The Citrix ADC compares the PBR6 only to the outgoing packets + on the specified VXLAN. If you do not specify an interface ID, the appliance + compares the PBR6 to the outgoing packets on all VXLANs. + vxlanvlanmap: + type: str + description: + - The vlan to vxlan mapping to be applied for incoming packets over this pbr + tunnel. +extends_documentation_fragment: netscaler.adc.netscaler_adc + +""" + +EXAMPLES = r""" +--- +- name: Sample nspbr6 playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure nspbr6 + delegate_to: localhost + netscaler.adc.nspbr6: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: test3 + action: DENY + srcmac: 4a:69:a2:33:00:03 + srcmacmask: '000000001111' +""" + +RETURN = r""" +--- +changed: + description: Indicates if any change is made by the module + returned: always + type: bool + sample: true +diff: + description: Dictionary of before and after changes + returned: always + type: dict + sample: {'before': {'key1': 'xyz'}, 'after': {'key2': 'pqr'}, 'prepared': 'changes + done'} +diff_list: + description: List of differences between the actual configured object and the configuration + specified in the module + returned: when changed + type: list + sample: ["Attribute `key1` differs. Desired: () XYZ. Existing: () PQR"] +failed: + description: Indicates if the module failed or not + returned: always + type: bool + sample: false +loglines: + description: list of logged messages by the module + returned: always + type: list + sample: ['message 1', 'message 2'] + +""" + + +import os + +from ..module_utils.module_executor import ModuleExecutor + +RESOURCE_NAME = os.path.basename(__file__).replace(".py", "") + + +def main(): + executor = ModuleExecutor(RESOURCE_NAME) + executor.main() + + +if __name__ == "__main__": + main() diff --git a/plugins/modules/nspbrs.py b/plugins/modules/nspbrs.py new file mode 100644 index 000000000..04d613de9 --- /dev/null +++ b/plugins/modules/nspbrs.py @@ -0,0 +1,104 @@ +#!/usr/bin/python + +# -*- coding: utf-8 -*- + +# Copyright (c) 2023 Cloud Software Group, Inc. +# MIT License (see LICENSE or https://opensource.org/licenses/MIT) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + + +ANSIBLE_METADATA = { + "metadata_version": "1.1", + "status": ["preview"], + "supported_by": "community", +} + +DOCUMENTATION = r""" +--- +module: nspbrs +short_description: Configuration for Policy based routing resource. +description: Configuration for Policy based routing resource. +version_added: 2.0.0 +author: + - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) +options: + state: + choices: [] + default: present + description: + - The state of the resource being configured by the module on the NetScaler + ADC node. + type: str +extends_documentation_fragment: netscaler.adc.netscaler_adc + +""" + +EXAMPLES = r""" +--- +- name: Sample nspbrs playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure nspbrs + delegate_to: localhost + netscaler.adc.nspbrs: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + action: apply +""" + +RETURN = r""" +--- +changed: + description: Indicates if any change is made by the module + returned: always + type: bool + sample: true +diff: + description: Dictionary of before and after changes + returned: always + type: dict + sample: {'before': {'key1': 'xyz'}, 'after': {'key2': 'pqr'}, 'prepared': 'changes + done'} +diff_list: + description: List of differences between the actual configured object and the configuration + specified in the module + returned: when changed + type: list + sample: ["Attribute `key1` differs. Desired: () XYZ. Existing: () PQR"] +failed: + description: Indicates if the module failed or not + returned: always + type: bool + sample: false +loglines: + description: list of logged messages by the module + returned: always + type: list + sample: ['message 1', 'message 2'] + +""" + + +import os + +from ..module_utils.module_executor import ModuleExecutor + +RESOURCE_NAME = os.path.basename(__file__).replace(".py", "") + + +def main(): + executor = ModuleExecutor(RESOURCE_NAME) + executor.main() + + +if __name__ == "__main__": + main() diff --git a/plugins/modules/nsratecontrol.py b/plugins/modules/nsratecontrol.py index fa4ec4ece..8a968036d 100644 --- a/plugins/modules/nsratecontrol.py +++ b/plugins/modules/nsratecontrol.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nsratecontrol short_description: Configuration for rate control resource. description: Configuration for rate control resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,20 +39,20 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str icmpthreshold: - type: raw + type: float description: - Number of ICMP packets permitted per 10 milliseconds. tcprstthreshold: - type: raw + type: float description: - The number of TCP RST packets permitted per 10 milli second. zero means rate control is disabled and 0xffffffff means every thing is rate controlled tcpthreshold: - type: raw + type: float description: - Number of SYNs permitted per 10 milliseconds. udpthreshold: - type: raw + type: float description: - Number of UDP packets permitted per 10 milliseconds. extends_documentation_fragment: netscaler.adc.netscaler_adc diff --git a/plugins/modules/nsrpcnode.py b/plugins/modules/nsrpcnode.py index b6e4834a2..94bf440ae 100644 --- a/plugins/modules/nsrpcnode.py +++ b/plugins/modules/nsrpcnode.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nsrpcnode short_description: Configuration for rpc node resource. description: Configuration for rpc node resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,28 +39,28 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str ipaddress: - type: raw + type: str description: - IP address of the node. This has to be in the same subnet as the NSIP address. password: - type: raw + type: str description: - Password to be used in authentication with the peer system node. secure: - type: raw + type: str choices: - 'YES' - 'NO' description: - State of the channel when talking to the node. srcip: - type: raw + type: str description: - Source IP address to be used to communicate with the peer system node. The default value is 0, which means that the appliance uses the NSIP address as the source IP address. validatecert: - type: raw + type: str choices: - 'YES' - 'NO' @@ -69,6 +71,22 @@ """ EXAMPLES = r""" +--- +- name: Sample nsrpcnode playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure nsrpcnode + delegate_to: localhost + netscaler.adc.nsrpcnode: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + ipaddress: 10.76.126.5 + password: REQ_PASSWORD + srcip: '*' """ RETURN = r""" diff --git a/plugins/modules/nsservicefunction.py b/plugins/modules/nsservicefunction.py index 11eeba352..843c695a5 100644 --- a/plugins/modules/nsservicefunction.py +++ b/plugins/modules/nsservicefunction.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nsservicefunction short_description: Configuration for service Function resource. description: Configuration for service Function resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/nsservicepath.py b/plugins/modules/nsservicepath.py index e5c9c8a9e..0282ca49a 100644 --- a/plugins/modules/nsservicepath.py +++ b/plugins/modules/nsservicepath.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nsservicepath short_description: Configuration for service Chain resource. description: Configuration for service Chain resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/nsservicepath_nsservicefunction_binding.py b/plugins/modules/nsservicepath_nsservicefunction_binding.py index d54070230..de4f1ba91 100644 --- a/plugins/modules/nsservicepath_nsservicefunction_binding.py +++ b/plugins/modules/nsservicepath_nsservicefunction_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: nsservicepath_nsservicefunction_binding short_description: Binding Resource definition for describing association between nsservicepath and nsservicefunction resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/nssimpleacl.py b/plugins/modules/nssimpleacl.py index 8e0c7672b..e012b23a2 100644 --- a/plugins/modules/nssimpleacl.py +++ b/plugins/modules/nssimpleacl.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nssimpleacl short_description: Configuration for simple ACL resource. description: Configuration for simple ACL resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/nssimpleacl6.py b/plugins/modules/nssimpleacl6.py index 788a10d0a..7f177541c 100644 --- a/plugins/modules/nssimpleacl6.py +++ b/plugins/modules/nssimpleacl6.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nssimpleacl6 short_description: Configuration for simple ACL6 resource. description: Configuration for simple ACL6 resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/nssourceroutecachetable.py b/plugins/modules/nssourceroutecachetable.py new file mode 100644 index 000000000..3a67f0cc1 --- /dev/null +++ b/plugins/modules/nssourceroutecachetable.py @@ -0,0 +1,105 @@ +#!/usr/bin/python + +# -*- coding: utf-8 -*- + +# Copyright (c) 2023 Cloud Software Group, Inc. +# MIT License (see LICENSE or https://opensource.org/licenses/MIT) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + + +ANSIBLE_METADATA = { + "metadata_version": "1.1", + "status": ["preview"], + "supported_by": "community", +} + +DOCUMENTATION = r""" +--- +module: nssourceroutecachetable +short_description: Configuration for Source IP Mac Cache Table. resource. +description: Configuration for Source IP Mac Cache Table. resource. +version_added: 2.0.0 +author: + - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) +options: + state: + choices: + - flushed + default: present + description: + - The state of the resource being configured by the module on the NetScaler + ADC node. + - When C(flushed), the resource will be flushed on the NetScaler ADC node. + type: str +extends_documentation_fragment: netscaler.adc.netscaler_adc + +""" + +EXAMPLES = r""" +--- +- name: Sample nssourceroutecachetable playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure nssourceroutecachetable + delegate_to: localhost + netscaler.adc.nssourceroutecachetable: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present +""" + +RETURN = r""" +--- +changed: + description: Indicates if any change is made by the module + returned: always + type: bool + sample: true +diff: + description: Dictionary of before and after changes + returned: always + type: dict + sample: {'before': {'key1': 'xyz'}, 'after': {'key2': 'pqr'}, 'prepared': 'changes + done'} +diff_list: + description: List of differences between the actual configured object and the configuration + specified in the module + returned: when changed + type: list + sample: ["Attribute `key1` differs. Desired: () XYZ. Existing: () PQR"] +failed: + description: Indicates if the module failed or not + returned: always + type: bool + sample: false +loglines: + description: list of logged messages by the module + returned: always + type: list + sample: ['message 1', 'message 2'] + +""" + + +import os + +from ..module_utils.module_executor import ModuleExecutor + +RESOURCE_NAME = os.path.basename(__file__).replace(".py", "") + + +def main(): + executor = ModuleExecutor(RESOURCE_NAME) + executor.main() + + +if __name__ == "__main__": + main() diff --git a/plugins/modules/nsspparams.py b/plugins/modules/nsspparams.py index a8b1079b8..237e60b36 100644 --- a/plugins/modules/nsspparams.py +++ b/plugins/modules/nsspparams.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nsspparams short_description: Configuration for Surge Protection parameter resource. description: Configuration for Surge Protection parameter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,12 +39,12 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str basethreshold: - type: raw + type: int description: - Maximum number of server connections that can be opened before surge protection is activated. throttle: - type: raw + type: str choices: - Aggressive - Normal @@ -54,23 +56,6 @@ """ EXAMPLES = r""" ---- -- name: Sample Task - hosts: localhost - gather_facts: false - tasks: - - name: Sample playbook - delegate_to: localhost - netscaler.adc.nsspparams: - # nsip: 10.0.0.1 # This can also be given via NETSCALER_NSIP environment variable - # nitro_user: nitrouser # This can also be given via NETSCALER_NITRO_USER environment variable - # nitro_pass: verysecretpassword # This can also be given via NETSCALER_NITRO_PASS environment variable - # nitro_protocol: https # This can also be given via NETSCALER_NITRO_PROTOCOL environment variable - # validate_certs: false # This can also be given via NETSCALER_VALIDATE_CERTS environment variable - # save_config: false # This can also be given via NETSCALER_SAVE_CONFIG environment variable - state: present - basethreshold: 200 - throttle: Aggressive """ RETURN = r""" diff --git a/plugins/modules/nsstats.py b/plugins/modules/nsstats.py index b97c5d2e6..935c28dfc 100644 --- a/plugins/modules/nsstats.py +++ b/plugins/modules/nsstats.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nsstats short_description: Configuration for stats resource. description: Configuration for stats resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: [] diff --git a/plugins/modules/nssurgeq.py b/plugins/modules/nssurgeq.py index 2b11e1a05..8409c4882 100644 --- a/plugins/modules/nssurgeq.py +++ b/plugins/modules/nssurgeq.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nssurgeq short_description: Configuration for surge queue resource. description: Configuration for surge queue resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/nstcpbufparam.py b/plugins/modules/nstcpbufparam.py index 2d0417f32..6a2ccdaf8 100644 --- a/plugins/modules/nstcpbufparam.py +++ b/plugins/modules/nstcpbufparam.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nstcpbufparam short_description: Configuration for tcp buffer parameter resource. description: Configuration for tcp buffer parameter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,11 +39,11 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str memlimit: - type: raw + type: float description: - Maximum memory, in megabytes, that can be used for buffering. size: - type: raw + type: float description: - TCP buffering size per connection, in kilobytes. extends_documentation_fragment: netscaler.adc.netscaler_adc diff --git a/plugins/modules/nstcpparam.py b/plugins/modules/nstcpparam.py index 8402c2147..d4084ccea 100644 --- a/plugins/modules/nstcpparam.py +++ b/plugins/modules/nstcpparam.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nstcpparam short_description: Configuration for tcp parameters resource. description: Configuration for tcp parameters resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,7 +39,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str ackonpush: - type: raw + type: str choices: - ENABLED - DISABLED @@ -45,13 +47,13 @@ - Send immediate positive acknowledgement (ACK) on receipt of TCP packets with PUSH flag. autosyncookietimeout: - type: raw + type: float description: - Timeout for the server to function in syncookie mode after the synattack. This is valid if TCP syncookie is disabled on the profile and server acts in non syncookie mode by default. compacttcpoptionnoop: - type: raw + type: str choices: - ENABLED - DISABLED @@ -61,7 +63,7 @@ by NOPs in the proxied packets. This option is not applicable for Citrix ADC generated packets. connflushifnomem: - type: raw + type: str choices: - 'NONE ' - HALFCLOSED_AND_IDLE @@ -82,18 +84,18 @@ - '' - 'See Also: connFlushThres argument below.' connflushthres: - type: raw + type: float description: - 'Flush an existing connection (as configured through -connFlushIfNoMem FIFO) if the system has more than specified number of connections, and a new connection is to be established. Note: This value may be rounded down to be a whole multiple of the number of packet engines running.' delayedack: - type: raw + type: float description: - Timeout for TCP delayed ACK, in milliseconds. delinkclientserveronrst: - type: raw + type: str choices: - ENABLED - DISABLED @@ -101,14 +103,21 @@ - If enabled, Delink client and server connection, when there is outstanding data to be sent to the other side. downstaterst: - type: raw + type: str choices: - ENABLED - DISABLED description: - Flag to switch on RST on down services. + enhancedisngeneration: + type: str + choices: + - ENABLED + - DISABLED + description: + - If enabled, increase the ISN variation in SYN-ACKs sent by the NetScaler initialcwnd: - type: raw + type: float description: - Initial maximum upper limit on the number of TCP packets that can be outstanding on the TCP link to the server. @@ -120,69 +129,69 @@ description: - Update last activity for KA probes learnvsvrmss: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable or disable maximum segment size (MSS) learning for virtual servers. limitedpersist: - type: raw + type: str choices: - ENABLED - DISABLED description: - Limit the number of persist (zero window) probes. maxburst: - type: raw + type: float description: - Maximum number of TCP segments allowed in a burst. maxdynserverprobes: - type: raw + type: float description: - Maximum number of probes that Citrix ADC can send out in 10 milliseconds, to dynamically learn a service. Citrix ADC probes for the existence of the origin in case of wildcard virtual server or services. maxpktpermss: - type: raw + type: float description: - Maximum number of TCP packets allowed per maximum segment size (MSS). maxsynackretx: - type: raw + type: float description: - When 'syncookie' is disabled in the TCP profile that is bound to the virtual server or service, and the number of TCP SYN+ACK retransmission by Citrix ADC for that virtual server or service crosses this threshold, the Citrix ADC responds by using the TCP SYN-Cookie mechanism. maxsynhold: - type: raw + type: float description: - Limit the number of client connections (SYN) waiting for status of probe system wide. Any new SYN packets will be dropped. maxsynholdperprobe: - type: raw + type: float description: - Limit the number of client connections (SYN) waiting for status of single probe. Any new SYN packets will be dropped. maxtimewaitconn: - type: raw + type: float description: - Maximum number of connections to hold in the TCP TIME_WAIT state on a packet engine. New connections entering TIME_WAIT state are proactively cleaned up. minrto: - type: raw + type: int description: - Minimum retransmission timeout, in milliseconds, specified in 10-millisecond increments (value must yield a whole number if divided by 10). mptcpchecksum: - type: raw + type: str choices: - ENABLED - DISABLED description: - Use MPTCP DSS checksum mptcpclosemptcpsessiononlastsfclose: - type: raw + type: str choices: - ENABLED - DISABLED @@ -190,14 +199,14 @@ - Allow to send DATA FIN or FAST CLOSE on mptcp connection while sending FIN or RST on the last subflow. mptcpconcloseonpassivesf: - type: raw + type: str choices: - ENABLED - DISABLED description: - Accept DATA_FIN/FAST_CLOSE on passive subflow mptcpfastcloseoption: - type: raw + type: str choices: - ACK - RESET @@ -205,7 +214,7 @@ - Allow to select option C(ACK) or C(RESET) to force the closure of an MPTCP connection abruptly. mptcpimmediatesfcloseonfin: - type: raw + type: str choices: - ENABLED - DISABLED @@ -213,21 +222,21 @@ - Allow subflows to close immediately on FIN before the DATA_FIN exchange is completed at mptcp level. mptcpmaxpendingsf: - type: raw + type: float description: - Maximum number of subflow connections supported in pending join state per mptcp connection. mptcpmaxsf: - type: raw + type: float description: - Maximum number of subflow connections supported in established state per mptcp connection. mptcppendingjointhreshold: - type: raw + type: float description: - Maximum system level pending join connections allowed. mptcpreliableaddaddr: - type: raw + type: str choices: - ENABLED - DISABLED @@ -236,12 +245,12 @@ is not received within the timeout interval. The retransmission is attempted only once. mptcprtostoswitchsf: - type: raw + type: float description: - Number of RTO's at subflow level, after which MPCTP should start using other subflow. mptcpsendsfresetoption: - type: raw + type: str choices: - ENABLED - DISABLED @@ -249,19 +258,19 @@ - Allow MPTCP subflows to send TCP RST Reason (MP_TCPRST) Option while sending TCP RST. mptcpsfreplacetimeout: - type: raw + type: float description: - The minimum idle time value in seconds for idle mptcp subflows after which the sublow is replaced by new incoming subflow if maximum subflow limit is reached. The priority for replacement is given to those subflow without any transaction mptcpsftimeout: - type: raw + type: float description: - The timeout value in seconds for idle mptcp subflows. If this timeout is not set, idle subflows are cleared after cltTimeout of vserver mptcpusebackupondss: - type: raw + type: str choices: - ENABLED - DISABLED @@ -271,31 +280,31 @@ current chosen subflow. In case there is some error on a subflow (like RTO's/RST etc.) then NS can choose a backup subflow irrespective of this tunable. msslearndelay: - type: raw + type: float description: - Frequency, in seconds, at which the virtual servers learn the Maximum segment size (MSS) from the services. The argument to enable maximum segment size (MSS) for virtual servers must be enabled. msslearninterval: - type: raw + type: float description: - Duration, in seconds, to sample the Maximum Segment Size (MSS) of the services. The Citrix ADC determines the best MSS to set for the virtual server based on this sampling. The argument to enable maximum segment size (MSS) for virtual servers must be enabled. nagle: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable or disable the Nagle algorithm on TCP connections. oooqsize: - type: raw + type: float description: - Maximum size of out-of-order packets queue. A value of 0 means no limit. pktperretx: - type: raw + type: int description: - Maximum limit on the number of packets that should be retransmitted on receiving a partial ACK. @@ -303,55 +312,60 @@ type: float description: - TCP Receive buffer size + rfc5961chlgacklimit: + type: float + description: + - Limits number of Challenge ACK sent per second, as recommended in RFC 5961(Improving + TCP's Robustness to Blind In-Window Attacks) sack: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable or disable Selective ACKnowledgement (SACK). slowstartincr: - type: raw + type: int description: - Multiplier that determines the rate at which slow start increases the size of the TCP transmission window after each acknowledgement of successful transmission. synattackdetection: - type: raw + type: str choices: - ENABLED - DISABLED description: - Detect TCP SYN packet flood and send an SNMP trap. synholdfastgiveup: - type: raw + type: float description: - Maximum threshold. After crossing this threshold number of outstanding probes for origin, the Citrix ADC reduces the number of connection retries for probe connections. tcpfastopencookietimeout: - type: raw + type: float description: - Timeout in seconds after which a new TFO Key is computed for generating TFO Cookie. If zero, the same key is used always. If timeout is less than 120seconds, NS defaults to 120seconds timeout. tcpfintimeout: - type: raw + type: float description: - The amount of time in seconds, after which a TCP connnection in the TCP TIME-WAIT state is flushed. tcpmaxretries: - type: raw + type: float description: - Number of RTO's after which a connection should be freed. ws: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable or disable window scaling. wsval: - type: raw + type: float description: - Factor used to calculate the new window size. - This argument is needed only when the window scaling is enabled. @@ -360,6 +374,20 @@ """ EXAMPLES = r""" +--- +- name: Sample nstcpparam playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure nstcpparam + delegate_to: localhost + netscaler.adc.nstcpparam: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + autosyncookietimeout: '100' """ RETURN = r""" diff --git a/plugins/modules/nstcpprofile.py b/plugins/modules/nstcpprofile.py index cc7502e26..9bcd611f6 100644 --- a/plugins/modules/nstcpprofile.py +++ b/plugins/modules/nstcpprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nstcpprofile short_description: Configuration for TCP profile resource. description: Configuration for TCP profile resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,14 +41,14 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str ackaggregation: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable or disable ACK Aggregation. ackonpush: - type: raw + type: str choices: - ENABLED - DISABLED @@ -54,18 +56,18 @@ - Send immediate positive acknowledgement (ACK) on receipt of TCP packets with PUSH flag. applyadaptivetcp: - type: raw + type: str choices: - ENABLED - DISABLED description: - Apply Adaptive TCP optimizations buffersize: - type: raw + type: float description: - TCP buffering size, in bytes. burstratecontrol: - type: raw + type: str choices: - DISABLED - FIXED @@ -74,47 +76,47 @@ - TCP Burst Rate Control C(DISABLED)/C(FIXED)/C(DYNAMIC). C(FIXED) requires a TCP rate to be set. clientiptcpoption: - type: raw + type: str choices: - ENABLED - DISABLED description: - Client IP in TCP options clientiptcpoptionnumber: - type: raw + type: float description: - ClientIP TCP Option number delayedack: - type: raw + type: float description: - Timeout for TCP delayed ACK, in milliseconds. dropestconnontimeout: - type: raw + type: str choices: - ENABLED - DISABLED description: - Silently drop tcp established connections on idle timeout drophalfclosedconnontimeout: - type: raw + type: str choices: - ENABLED - DISABLED description: - Silently drop tcp half closed connections on idle timeout dsack: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable or disable DSACK. dupackthresh: - type: raw + type: float description: - TCP dupack threshold. dynamicreceivebuffering: - type: raw + type: str choices: - ENABLED - DISABLED @@ -124,14 +126,14 @@ - 'Note: The buffer size argument must be set for dynamic adjustments to take place.' ecn: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable or disable TCP Explicit Congestion Notification. establishclientconn: - type: raw + type: str choices: - AUTOMATIC - CONN_ESTABLISHED @@ -139,103 +141,104 @@ description: - Establishing Client Client connection on First data/ Final-ACK / Automatic fack: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable or disable FACK (Forward ACK). flavor: - type: raw + type: str choices: - Default - Westwood - BIC - CUBIC - Nile + - BBR description: - Set TCP congestion control algorithm. frto: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable or disable FRTO (Forward RTO-Recovery). hystart: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable or disable CUBIC Hystart initialcwnd: - type: raw + type: float description: - Initial maximum upper limit on the number of TCP packets that can be outstanding on the TCP link to the server. ka: - type: raw + type: str choices: - ENABLED - DISABLED description: - Send periodic TCP keep-alive (KA) probes to check if peer is still up. kaconnidletime: - type: raw + type: float description: - Duration, in seconds, for the connection to be idle, before sending a keep-alive (KA) probe. kamaxprobes: - type: raw + type: float description: - Number of keep-alive (KA) probes to be sent when not acknowledged, before assuming the peer to be down. kaprobeinterval: - type: raw + type: float description: - Time interval, in seconds, before the next keep-alive (KA) probe, if the peer does not respond. kaprobeupdatelastactivity: - type: raw + type: str choices: - ENABLED - DISABLED description: - Update last activity for the connection after receiving keep-alive (KA) probes. maxburst: - type: raw + type: float description: - Maximum number of TCP segments allowed in a burst. maxcwnd: - type: raw + type: float description: - TCP Maximum Congestion Window. maxpktpermss: - type: raw + type: float description: - Maximum number of TCP packets allowed per maximum segment size (MSS). minrto: - type: raw + type: float description: - Minimum retransmission timeout, in milliseconds, specified in 10-millisecond increments (value must yield a whole number if divided by 10). mpcapablecbit: - type: raw + type: str choices: - ENABLED - DISABLED description: - Set C bit in MP-CAPABLE Syn-Ack sent by Citrix ADC mptcp: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable or disable Multipath TCP. mptcpdropdataonpreestsf: - type: raw + type: str choices: - ENABLED - DISABLED @@ -244,7 +247,7 @@ enabled, DSS data packets are dropped silently instead of dropping the connection when data is received on pre established subflow. mptcpfastopen: - type: raw + type: str choices: - ENABLED - DISABLED @@ -252,23 +255,23 @@ - Enable or disable Multipath TCP fastopen. When enabled, DSS data packets are accepted before receiving the third ack of SYN handshake. mptcpsessiontimeout: - type: raw + type: float description: - MPTCP session timeout in seconds. If this value is not set, idle MPTCP sessions are flushed after vserver's client idle timeout. mss: - type: raw + type: float description: - Maximum number of octets to allow in a TCP data segment. nagle: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable or disable the Nagle algorithm on TCP connections. name: - type: raw + type: str description: - Name for a TCP profile. Must begin with a letter, number, or the underscore \(_\) character. Other characters allowed, after the first character, are @@ -279,20 +282,28 @@ - 'CLI Users: If the name includes one or more spaces, enclose the name in double or single quotation marks \(for example, "my tcp profile" or ''my tcp profile''\).' oooqsize: - type: raw + type: float description: - Maximum size of out-of-order packets queue. A value of 0 means no limit. pktperretx: - type: raw + type: float description: - Maximum limit on the number of packets that should be retransmitted on receiving a partial ACK. rateqmax: - type: raw + type: float description: - Maximum connection queue size in bytes, when BurstRateControl is used + rfc5961compliance: + type: str + choices: + - ENABLED + - DISABLED + description: + - Enable or disable RFC 5961 compliance to protect against tcp spoofing(RST/SYN/Data). + When enabled, will be compliant with RFC 5961. rstmaxack: - type: raw + type: str choices: - ENABLED - DISABLED @@ -300,7 +311,7 @@ - Enable or disable acceptance of RST that is out of window yet echoes highest ACK sequence number. Useful only in proxy mode. rstwindowattenuate: - type: raw + type: str choices: - ENABLED - DISABLED @@ -308,18 +319,18 @@ - Enable or disable RST window attenuation to protect against spoofing. When enabled, will reply with corrective ACK when a sequence number is invalid. sack: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable or disable Selective ACKnowledgement (SACK). sendbuffsize: - type: raw + type: float description: - TCP Send Buffer Size sendclientportintcpoption: - type: raw + type: str choices: - ENABLED - DISABLED @@ -327,16 +338,16 @@ - Send Client Port number along with Client IP in TCP-Options. ClientIpTcpOption must be C(ENABLED) slowstartincr: - type: raw + type: float description: - Multiplier that determines the rate at which slow start increases the size of the TCP transmission window after each acknowledgement of successful transmission. slowstartthreshold: - type: raw + type: float description: - TCP Slow Start Threhsold Value. spoofsyndrop: - type: raw + type: str choices: - ENABLED - DISABLED @@ -345,7 +356,7 @@ When disabled, established connections will be reset when a SYN packet is received. syncookie: - type: raw + type: str choices: - ENABLED - DISABLED @@ -353,14 +364,14 @@ - Enable or disable the SYNCOOKIE mechanism for TCP handshake with clients. Disabling SYNCOOKIE prevents SYN attack protection on the Citrix ADC. taillossprobe: - type: raw + type: str choices: - ENABLED - DISABLED description: - TCP tail loss probe optimizations tcpfastopen: - type: raw + type: str choices: - ENABLED - DISABLED @@ -368,23 +379,23 @@ - Enable or disable TCP Fastopen. When enabled, NS can receive or send Data in SYN or SYN-ACK packets. tcpfastopencookiesize: - type: raw + type: float description: - TCP FastOpen Cookie size. This accepts only even numbers. Odd number is trimmed down to nearest even number. tcpmode: - type: raw + type: str choices: - TRANSPARENT - ENDPOINT description: - TCP Optimization modes C(TRANSPARENT) / C(ENDPOINT). tcprate: - type: raw + type: float description: - TCP connection payload send rate in Kb/s tcpsegoffload: - type: raw + type: str choices: - AUTOMATIC - DISABLED @@ -392,21 +403,21 @@ - Offload TCP segmentation to the NIC. If set to C(AUTOMATIC), TCP segmentation will be offloaded to the NIC, if the NIC supports it. timestamp: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable or Disable TCP Timestamp option (RFC 1323) ws: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable or disable window scaling. wsval: - type: raw + type: float description: - Factor used to calculate the new window size. - This argument is needed only when window scaling is enabled. @@ -416,16 +427,20 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample nstcpprofile playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | nstcpProfile + - name: Configure nstcpprofile delegate_to: localhost netscaler.adc.nstcpprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - name: tcpprofile-mptcp - mptcp: ENABLED + name: nstcp_default_profile + flavor: Westwood """ RETURN = r""" diff --git a/plugins/modules/nstestlicense.py b/plugins/modules/nstestlicense.py new file mode 100644 index 000000000..f9feb5bd5 --- /dev/null +++ b/plugins/modules/nstestlicense.py @@ -0,0 +1,90 @@ +#!/usr/bin/python + +# -*- coding: utf-8 -*- + +# Copyright (c) 2023 Cloud Software Group, Inc. +# MIT License (see LICENSE or https://opensource.org/licenses/MIT) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + + +ANSIBLE_METADATA = { + "metadata_version": "1.1", + "status": ["preview"], + "supported_by": "community", +} + +DOCUMENTATION = r""" +--- +module: nstestlicense +short_description: Configuration for testlicense resource. +description: Configuration for testlicense resource. +version_added: 2.0.0 +author: + - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) +options: + state: + choices: [] + default: present + description: + - The state of the resource being configured by the module on the NetScaler + ADC node. + type: str +extends_documentation_fragment: netscaler.adc.netscaler_adc + +""" + +EXAMPLES = r""" +""" + +RETURN = r""" +--- +changed: + description: Indicates if any change is made by the module + returned: always + type: bool + sample: true +diff: + description: Dictionary of before and after changes + returned: always + type: dict + sample: {'before': {'key1': 'xyz'}, 'after': {'key2': 'pqr'}, 'prepared': 'changes + done'} +diff_list: + description: List of differences between the actual configured object and the configuration + specified in the module + returned: when changed + type: list + sample: ["Attribute `key1` differs. Desired: () XYZ. Existing: () PQR"] +failed: + description: Indicates if the module failed or not + returned: always + type: bool + sample: false +loglines: + description: list of logged messages by the module + returned: always + type: list + sample: ['message 1', 'message 2'] + +""" + + +import os + +from ..module_utils.module_executor import ModuleExecutor + +RESOURCE_NAME = os.path.basename(__file__).replace(".py", "") + + +def main(): + executor = ModuleExecutor(RESOURCE_NAME) + executor.main() + + +if __name__ == "__main__": + main() diff --git a/plugins/modules/nstimeout.py b/plugins/modules/nstimeout.py index 291173160..62b99b022 100644 --- a/plugins/modules/nstimeout.py +++ b/plugins/modules/nstimeout.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nstimeout short_description: Configuration for timeout resource. description: Configuration for timeout resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,23 +39,23 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str anyclient: - type: raw + type: float description: - Global idle timeout, in seconds, for non-TCP client connections. This value is over ridden by the client timeout that is configured on individual entities. anyserver: - type: raw + type: float description: - Global idle timeout, in seconds, for non TCP server connections. This value is over ridden by the server timeout that is configured on individual entities. anytcpclient: - type: raw + type: float description: - Global idle timeout, in seconds, for TCP client connections. This value takes precedence over entity level timeout settings (vserver/service). This is applicable only to transport protocol TCP. anytcpserver: - type: raw + type: float description: - Global idle timeout, in seconds, for TCP server connections. This value takes precedence over entity level timeout settings ( vserver/service). This is @@ -64,37 +66,37 @@ - Client idle timeout (in seconds). If zero, the service-type default value is taken when service is created. halfclose: - type: raw + type: float description: - Idle timeout, in seconds, for connections that are in TCP half-closed state. httpclient: - type: raw + type: float description: - Global idle timeout, in seconds, for client connections of HTTP service type. This value is over ridden by the client timeout that is configured on individual entities. httpserver: - type: raw + type: float description: - Global idle timeout, in seconds, for server connections of HTTP service type. This value is over ridden by the server timeout that is configured on individual entities. newconnidletimeout: - type: raw + type: float description: - Timer interval, in seconds, for new TCP NATPCB connections on which no data was received. nontcpzombie: - type: raw + type: float description: - Interval at which the zombie clean-up process for non-TCP connections should run. Inactive IP NAT connections will be cleaned up. reducedfintimeout: - type: raw + type: float description: - Alternative idle timeout, in seconds, for closed TCP NATPCB connections. reducedrsttimeout: - type: raw + type: float description: - Timer interval, in seconds, for abruptly terminated TCP NATPCB connections. server: @@ -103,19 +105,19 @@ - Server idle timeout (in seconds). If zero, the service-type default value is taken when service is created. tcpclient: - type: raw + type: float description: - Global idle timeout, in seconds, for non-HTTP client connections of TCP service type. This value is over ridden by the client timeout that is configured on individual entities. tcpserver: - type: raw + type: float description: - Global idle timeout, in seconds, for non-HTTP server connections of TCP service type. This value is over ridden by the server timeout that is configured on entities. zombie: - type: raw + type: float description: - Interval, in seconds, at which the Citrix ADC zombie cleanup process must run. This process cleans up inactive TCP connections. diff --git a/plugins/modules/nstimer.py b/plugins/modules/nstimer.py index 72a6233c9..98f3f9bf4 100644 --- a/plugins/modules/nstimer.py +++ b/plugins/modules/nstimer.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nstimer short_description: Configuration for Timer resource. description: Configuration for Timer resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,16 +41,16 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str comment: - type: raw + type: str description: - Comments associated with this timer. interval: - type: raw + type: int description: - The frequency at which the policies bound to this timer are invoked. The minimum value is 20 msec. The maximum value is 20940 in seconds and 349 in minutes name: - type: raw + type: str description: - Timer name. newname: @@ -56,7 +58,7 @@ description: - The new name of the timer. unit: - type: raw + type: str choices: - SEC - MIN diff --git a/plugins/modules/nstimer_autoscalepolicy_binding.py b/plugins/modules/nstimer_autoscalepolicy_binding.py index 650148663..aa0a3b49d 100644 --- a/plugins/modules/nstimer_autoscalepolicy_binding.py +++ b/plugins/modules/nstimer_autoscalepolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: nstimer_autoscalepolicy_binding short_description: Binding Resource definition for describing association between nstimer and autoscalepolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/nstrace.py b/plugins/modules/nstrace.py index 07b0ff851..dbeb20005 100644 --- a/plugins/modules/nstrace.py +++ b/plugins/modules/nstrace.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nstrace short_description: Configuration for nstrace operations resource. description: Configuration for nstrace operations resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: [] diff --git a/plugins/modules/nstrafficdomain.py b/plugins/modules/nstrafficdomain.py index ee9cab96d..f69a5372d 100644 --- a/plugins/modules/nstrafficdomain.py +++ b/plugins/modules/nstrafficdomain.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nstrafficdomain short_description: Configuration for Traffic Domain resource. description: Configuration for Traffic Domain resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/nstrafficdomain_bridgegroup_binding.py b/plugins/modules/nstrafficdomain_bridgegroup_binding.py index a5bba3aa2..8e9c92d1f 100644 --- a/plugins/modules/nstrafficdomain_bridgegroup_binding.py +++ b/plugins/modules/nstrafficdomain_bridgegroup_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: nstrafficdomain_bridgegroup_binding short_description: Binding Resource definition for describing association between nstrafficdomain and bridgegroup resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/nstrafficdomain_vlan_binding.py b/plugins/modules/nstrafficdomain_vlan_binding.py index c466d3e8b..c4fe0077d 100644 --- a/plugins/modules/nstrafficdomain_vlan_binding.py +++ b/plugins/modules/nstrafficdomain_vlan_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: nstrafficdomain_vlan_binding short_description: Binding Resource definition for describing association between nstrafficdomain and vlan resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/nstrafficdomain_vxlan_binding.py b/plugins/modules/nstrafficdomain_vxlan_binding.py index 956d0b6ab..9bf50cb0d 100644 --- a/plugins/modules/nstrafficdomain_vxlan_binding.py +++ b/plugins/modules/nstrafficdomain_vxlan_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: nstrafficdomain_vxlan_binding short_description: Binding Resource definition for describing association between nstrafficdomain and vxlan resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/nsvariable.py b/plugins/modules/nsvariable.py index 7f8610298..89b508947 100644 --- a/plugins/modules/nsvariable.py +++ b/plugins/modules/nsvariable.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nsvariable short_description: Configuration for variable resource. description: Configuration for variable resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,16 +41,16 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str comment: - type: raw + type: str description: - Comments associated with this variable. expires: - type: raw + type: float description: - Value expiration in seconds. If the value is not referenced within the expiration period it will be deleted. 0 (the default) means no expiration. iffull: - type: raw + type: str choices: - undef - lru @@ -58,7 +60,7 @@ - ' C(undef) - force the assignment to return an undefined (Undef) result to the policy executing the assignment.' ifnovalue: - type: raw + type: str choices: - undef - init @@ -72,7 +74,7 @@ - ' C(undef) - force the expression evaluation to return an undefined (Undef) result to the policy executing the expression.' ifvaluetoobig: - type: raw + type: str choices: - undef - truncate @@ -85,7 +87,7 @@ - ' C(undef) - force the assignment or expression evaluation to return an undefined (Undef) result to the policy executing the assignment or expression.' init: - type: raw + type: str description: - 'Initialization value for this variable, to which a singleton variable or map entry will be set if it is referenced before an assignment action has @@ -93,7 +95,7 @@ assigned a value, setting this parameter will have no effect on that variable value. Default: 0 for ulong, NULL for text' name: - type: raw + type: str description: - 'Variable name. This follows the same syntax rules as other expression entity names:' diff --git a/plugins/modules/nsvpxparam.py b/plugins/modules/nsvpxparam.py index f18e24804..1d55c50bf 100644 --- a/plugins/modules/nsvpxparam.py +++ b/plugins/modules/nsvpxparam.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nsvpxparam short_description: Configuration for "VPX" resource. description: Configuration for "VPX" resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,7 +39,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str cpuyield: - type: raw + type: str choices: - DEFAULT - 'YES' @@ -58,6 +60,25 @@ - 2. In cluster setup, use '-ownerNode' to specify ID of the cluster node. - 3. This setting is a system wide implementation and not granular to vCPUs. - 4. No effect on the management PE. + kvmvirtiomultiqueue: + type: str + choices: + - 'YES' + - 'NO' + description: + - This setting applicable on KVM VPX with virtio NICs, is to configure multiple + queues for all virtio interfaces. + - '' + - '* There are 2 options for this behavior:' + - 1. C(YES) - Allows VPX to use multiple queues for each virtio interface as + configured through the KVM Hypervisor. + - 2. C(NO) - Each virtio interface within VPX will use a single queue for transmit + and receive. + - '' + - '* Its behavior in different scenarios:' + - 1. As this setting is node specific only, it will not be propagated to other + nodes, when executed on Cluster(CLIP) and HA(Primary). + - 2. In cluster setup, use '-ownerNode' to specify ID of the cluster node. masterclockcpu1: type: str choices: @@ -66,25 +87,15 @@ description: - This argument is deprecated. ownernode: - type: raw + type: float description: - - ID of the cluster node for which you are setting the cpuyield. It can be configured - only through the cluster IP address. + - ID of the cluster node for which you are setting the cpuyield and/or KVMVirtioMultiqueue. + It can be configured only through the cluster IP address. extends_documentation_fragment: netscaler.adc.netscaler_adc """ EXAMPLES = r""" ---- -- name: Sample Playbook - hosts: localhost - gather_facts: false - tasks: - - name: Sample Task | nsvpxparam - delegate_to: localhost - netscaler.adc.nsvpxparam: - state: present - cpuyield: 'YES' """ RETURN = r""" diff --git a/plugins/modules/nsweblogparam.py b/plugins/modules/nsweblogparam.py index 469543c1f..061e030e5 100644 --- a/plugins/modules/nsweblogparam.py +++ b/plugins/modules/nsweblogparam.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nsweblogparam short_description: Configuration for Web log parameters resource. description: Configuration for Web log parameters resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,33 +39,39 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str buffersizemb: - type: raw + type: float description: - Buffer size, in MB, allocated for log transaction data on the system. The maximum value is limited to the memory available on the system. customreqhdrs: - type: raw + type: list description: - Name(s) of HTTP request headers whose values should be exported by the Web Logging feature. + elements: str customrsphdrs: - type: raw + type: list description: - Name(s) of HTTP response headers whose values should be exported by the Web Logging feature. + elements: str extends_documentation_fragment: netscaler.adc.netscaler_adc """ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample nsweblogparam playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | nsweblogparam + - name: Configure nsweblogparam delegate_to: localhost netscaler.adc.nsweblogparam: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present buffersizemb: '3' """ diff --git a/plugins/modules/nsxmlnamespace.py b/plugins/modules/nsxmlnamespace.py index 601a522e6..0408a1a44 100644 --- a/plugins/modules/nsxmlnamespace.py +++ b/plugins/modules/nsxmlnamespace.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: nsxmlnamespace short_description: Configuration for XML namespace resource. description: Configuration for XML namespace resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,15 +41,15 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str namespace: - type: raw + type: str description: - Expanded namespace for which the XML prefix is provided. description: - type: raw + type: str description: - Description for the prefix. prefix: - type: raw + type: str description: - XML prefix. extends_documentation_fragment: netscaler.adc.netscaler_adc diff --git a/plugins/modules/ntpparam.py b/plugins/modules/ntpparam.py index 8f84ababa..fb05d04c8 100644 --- a/plugins/modules/ntpparam.py +++ b/plugins/modules/ntpparam.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: ntpparam short_description: Configuration for NTP parameter resource. description: Configuration for NTP parameter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,7 +39,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str authentication: - type: raw + type: str choices: - 'YES' - 'NO' @@ -45,21 +47,22 @@ - Apply NTP authentication, which enables the NTP client (Citrix ADC) to verify that the server is in fact known and trusted. autokeylogsec: - type: raw + type: float description: - Autokey protocol requires the keys to be refreshed periodically. This parameter specifies the interval between regenerations of new session keys. In seconds, expressed as a power of 2. revokelogsec: - type: raw + type: float description: - Interval between re-randomizations of the autokey seeds to prevent brute-force attacks on the autokey algorithms. trustedkey: - type: raw + type: list description: - Key identifiers that are trusted for server authentication with symmetric key cryptography in the keys file. + elements: int extends_documentation_fragment: netscaler.adc.netscaler_adc """ diff --git a/plugins/modules/ntpserver.py b/plugins/modules/ntpserver.py index 86a4973a1..5374396bb 100644 --- a/plugins/modules/ntpserver.py +++ b/plugins/modules/ntpserver.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: ntpserver short_description: Configuration for NTP server resource. description: Configuration for NTP server resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str autokey: - type: raw + type: bool description: - Use the Autokey protocol for key management for this server, with the cryptographic values (for example, symmetric key, host and public certificate files, and @@ -47,24 +49,24 @@ communication with the server, you must set either the value of this parameter or the key parameter. key: - type: raw + type: float description: - Key to use for encrypting authentication fields. All packets sent to and received from the server must include authentication fields encrypted by using this key. To require authentication for communication with the server, you must set either the value of this parameter or the autokey parameter. maxpoll: - type: raw + type: float description: - Maximum time after which the NTP server must poll the NTP messages. In seconds, expressed as a power of 2. minpoll: - type: raw + type: float description: - Minimum time after which the NTP server must poll the NTP messages. In seconds, expressed as a power of 2. preferredntpserver: - type: raw + type: str choices: - 'YES' - 'NO' @@ -72,11 +74,11 @@ - Preferred NTP server. The Citrix ADC chooses this NTP server for time synchronization among a set of correctly operating hosts. serverip: - type: raw + type: str description: - IP address of the NTP server. servername: - type: raw + type: str description: - Fully qualified domain name of the NTP server. extends_documentation_fragment: netscaler.adc.netscaler_adc diff --git a/plugins/modules/ntpsync.py b/plugins/modules/ntpsync.py new file mode 100644 index 000000000..e0e74604f --- /dev/null +++ b/plugins/modules/ntpsync.py @@ -0,0 +1,94 @@ +#!/usr/bin/python + +# -*- coding: utf-8 -*- + +# Copyright (c) 2023 Cloud Software Group, Inc. +# MIT License (see LICENSE or https://opensource.org/licenses/MIT) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + + +ANSIBLE_METADATA = { + "metadata_version": "1.1", + "status": ["preview"], + "supported_by": "community", +} + +DOCUMENTATION = r""" +--- +module: ntpsync +short_description: Configuration for NTP sync resource. +description: Configuration for NTP sync resource. +version_added: 2.0.0 +author: + - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) +options: + state: + choices: + - enabled + - disabled + default: present + description: + - The state of the resource being configured by the module on the NetScaler + ADC node. + - When C(enabled), the resource will be enabled on the NetScaler ADC node. + - When C(disabled), the resource will be disabled on the NetScaler ADC node. + type: str +extends_documentation_fragment: netscaler.adc.netscaler_adc + +""" + +EXAMPLES = r""" +""" + +RETURN = r""" +--- +changed: + description: Indicates if any change is made by the module + returned: always + type: bool + sample: true +diff: + description: Dictionary of before and after changes + returned: always + type: dict + sample: {'before': {'key1': 'xyz'}, 'after': {'key2': 'pqr'}, 'prepared': 'changes + done'} +diff_list: + description: List of differences between the actual configured object and the configuration + specified in the module + returned: when changed + type: list + sample: ["Attribute `key1` differs. Desired: () XYZ. Existing: () PQR"] +failed: + description: Indicates if the module failed or not + returned: always + type: bool + sample: false +loglines: + description: list of logged messages by the module + returned: always + type: list + sample: ['message 1', 'message 2'] + +""" + + +import os + +from ..module_utils.module_executor import ModuleExecutor + +RESOURCE_NAME = os.path.basename(__file__).replace(".py", "") + + +def main(): + executor = ModuleExecutor(RESOURCE_NAME) + executor.main() + + +if __name__ == "__main__": + main() diff --git a/plugins/modules/onlinkipv6prefix.py b/plugins/modules/onlinkipv6prefix.py index 247b8eb6a..544118698 100644 --- a/plugins/modules/onlinkipv6prefix.py +++ b/plugins/modules/onlinkipv6prefix.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: onlinkipv6prefix short_description: Configuration for on-link IPv6 global prefixes for Router Advertisment resource. @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -41,43 +43,43 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str autonomusprefix: - type: raw + type: str choices: - 'YES' - 'NO' description: - RA Prefix Autonomus flag. decrementprefixlifetimes: - type: raw + type: str choices: - 'YES' - 'NO' description: - RA Prefix Autonomus flag. depricateprefix: - type: raw + type: str choices: - 'YES' - 'NO' description: - Depricate the prefix. ipv6prefix: - type: raw + type: str description: - Onlink prefixes for RA messages. onlinkprefix: - type: raw + type: str choices: - 'YES' - 'NO' description: - RA Prefix onlink flag. prefixpreferredlifetime: - type: raw + type: float description: - Preferred life time of the prefix, in seconds. prefixvalidelifetime: - type: raw + type: float description: - Valide life time of the prefix, in seconds. extends_documentation_fragment: netscaler.adc.netscaler_adc @@ -85,6 +87,26 @@ """ EXAMPLES = r""" +--- +- name: Sample onlinkipv6prefix playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure onlinkipv6prefix + delegate_to: localhost + netscaler.adc.onlinkipv6prefix: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + ipv6prefix: 2001::/64 + onlinkprefix: 'NO' + autonomusprefix: 'NO' + depricateprefix: 'YES' + decrementprefixlifetimes: 'YES' + prefixvalidelifetime: '30' + prefixpreferredlifetime: '20' """ RETURN = r""" diff --git a/plugins/modules/pcpprofile.py b/plugins/modules/pcpprofile.py index 84d6be271..54ea3aa07 100644 --- a/plugins/modules/pcpprofile.py +++ b/plugins/modules/pcpprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: pcpprofile short_description: Configuration for PCP Profile resource. description: Configuration for PCP Profile resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,42 +41,42 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str announcemulticount: - type: raw + type: float description: - Integer value that identify the number announce message to be send. mapping: - type: raw + type: str choices: - ENABLED - DISABLED description: - This argument is for enabling/disabling the MAP opcode of current PCP Profile maxmaplife: - type: raw + type: float description: - Integer value that identify the maximum mapping lifetime (in seconds) for a pcp profile. default(86400s = 24Hours). minmaplife: - type: raw + type: float description: - Integer value that identify the minimum mapping lifetime (in seconds) for a pcp profile. default(120s) name: - type: raw + type: str description: - 'Name for the PCP Profile. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore CLI Users: If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my pcpProfile" or my pcpProfile).' peer: - type: raw + type: str choices: - ENABLED - DISABLED description: - This argument is for enabling/disabling the PEER opcode of current PCP Profile thirdparty: - type: raw + type: str choices: - ENABLED - DISABLED @@ -86,6 +88,21 @@ """ EXAMPLES = r""" +--- +- name: Sample pcpprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure pcpprofile + delegate_to: localhost + netscaler.adc.pcpprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: pcp_profile_1 + mapping: ENABLED """ RETURN = r""" diff --git a/plugins/modules/pcpserver.py b/plugins/modules/pcpserver.py index 8b9e63cd1..be73791ad 100644 --- a/plugins/modules/pcpserver.py +++ b/plugins/modules/pcpserver.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: pcpserver short_description: Configuration for server resource. description: Configuration for server resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -43,18 +45,18 @@ description: - The IP address of the PCP server. name: - type: raw + type: str description: - 'Name for the PCP server. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore CLI Users: If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my pcpServer" or my pcpServer).' pcpprofile: - type: raw + type: str description: - pcp profile name port: - type: raw + type: int description: - Port number for the PCP server. extends_documentation_fragment: netscaler.adc.netscaler_adc @@ -62,6 +64,21 @@ """ EXAMPLES = r""" +--- +- name: Sample pcpserver playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure pcpserver + delegate_to: localhost + netscaler.adc.pcpserver: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: pcp_server_1 + port: 34 """ RETURN = r""" diff --git a/plugins/modules/ping.py b/plugins/modules/ping.py index 164221378..17671e580 100644 --- a/plugins/modules/ping.py +++ b/plugins/modules/ping.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: ping short_description: Configuration for 0 resource. description: Configuration for 0 resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: [] diff --git a/plugins/modules/ping6.py b/plugins/modules/ping6.py index ae269cef6..d9777d26f 100644 --- a/plugins/modules/ping6.py +++ b/plugins/modules/ping6.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: ping6 short_description: Configuration for 0 resource. description: Configuration for 0 resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: [] diff --git a/plugins/modules/policydataset.py b/plugins/modules/policydataset.py index 1e491c90b..5756a0dd5 100644 --- a/plugins/modules/policydataset.py +++ b/plugins/modules/policydataset.py @@ -17,17 +17,20 @@ } DOCUMENTATION = r""" +--- module: policydataset short_description: Configuration for TYPE set resource. description: Configuration for TYPE set resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: - present - absent + - unset default: present description: - The state of the resource being configured by the module on the NetScaler @@ -35,12 +38,28 @@ - When C(present), the resource will be added/updated configured according to the module's parameters. - When C(absent), the resource will be deleted from the NetScaler ADC node. + - When C(unset), the resource will be unset on the NetScaler ADC node. type: str comment: type: str description: - Any comments to preserve information about this dataset or a data bound to this dataset. + dynamic: + type: str + choices: + - 'YES' + - 'NO' + description: + - This is used to populate internal dataset information so that the dataset + can also be used dynamically in an expression. Here dynamically means the + dataset name can also be derived using an expression. For example for a given + dataset name "allow_test" it can be used dynamically as client.ip.src.equals_any("allow_" + + http.req.url.path.get(1)). This cannot be used with default datasets. + dynamiconly: + type: bool + description: + - Shows only dynamic datasets when set true. name: type: str description: @@ -91,6 +110,21 @@ """ EXAMPLES = r""" +--- +- name: Sample policydataset playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure policydataset + delegate_to: localhost + netscaler.adc.policydataset: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: SF_LBVIP + type: ipv4 """ RETURN = r""" diff --git a/plugins/modules/policydataset_value_binding.py b/plugins/modules/policydataset_value_binding.py index df2521d4a..d2a037b74 100644 --- a/plugins/modules/policydataset_value_binding.py +++ b/plugins/modules/policydataset_value_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: policydataset_value_binding short_description: Binding Resource definition for describing association between policydataset and value resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -71,6 +73,22 @@ """ EXAMPLES = r""" +--- +- name: Sample policydataset_value_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure policydataset_value_binding + delegate_to: localhost + netscaler.adc.policydataset_value_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: SF_LBVIP + value: 10.76.126.10 + index: '2' """ RETURN = r""" diff --git a/plugins/modules/policyexpression.py b/plugins/modules/policyexpression.py index 27ccf11c9..e6b0ae6b6 100644 --- a/plugins/modules/policyexpression.py +++ b/plugins/modules/policyexpression.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: policyexpression short_description: Configuration for expression resource. description: Configuration for expression resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,17 +41,17 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str clientsecuritymessage: - type: raw + type: str description: - Message to display if the expression fails. Allowed for classic end-point check expressions only. comment: - type: raw + type: str description: - Any comments associated with the expression. Displayed upon viewing the policy expression. name: - type: raw + type: str description: - Unique name for the expression. Not case sensitive. Must begin with an ASCII letter or underscore (_) character, and must consist only of ASCII alphanumeric @@ -73,6 +75,21 @@ """ EXAMPLES = r""" +--- +- name: Sample policyexpression playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure policyexpression + delegate_to: localhost + netscaler.adc.policyexpression: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: Sub_1471612160_23 + value: CLIENT.IP.SRC.IN_SUBNET(147.161.216.0/23) """ RETURN = r""" diff --git a/plugins/modules/policyhttpcallout.py b/plugins/modules/policyhttpcallout.py index 117e8768f..924c6d75e 100644 --- a/plugins/modules/policyhttpcallout.py +++ b/plugins/modules/policyhttpcallout.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: policyhttpcallout short_description: Configuration for HTTP callout resource. description: Configuration for HTTP callout resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,13 +41,13 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str bodyexpr: - type: raw + type: str description: - An advanced string expression for generating the body of the request. The expression can contain a literal string or an expression that derives the value (for example, client.ip.src). Mutually exclusive with -fullReqExpr. cacheforsecs: - type: raw + type: float description: - Duration, in seconds, for which the callout response is cached. The cached responses are stored in an integrated caching content group named "calloutContentGroup". @@ -56,11 +58,11 @@ - "\t Note that the calloutContentGroup definition may not be modified or\ \ removed nor may it be used with other cache policies." comment: - type: raw + type: str description: - Any comments to preserve information about this HTTP callout. fullreqexpr: - type: raw + type: str description: - Exact HTTP request, in the form of an expression, which the Citrix ADC sends to the callout agent. If you set this parameter, you must not include HTTP @@ -71,22 +73,23 @@ - The Citrix ADC does not check the validity of this request. You must manually validate the request. headers: - type: raw + type: list description: - One or more headers to insert into the HTTP request. Each header is specified as "name(expr)", where expr is an expression that is evaluated at runtime to provide the value for the named header. You can configure a maximum of eight headers for an HTTP callout. Mutually exclusive with the full HTTP request expression. + elements: str hostexpr: - type: raw + type: str description: - String expression to configure the Host header. Can contain a literal value (for example, 10.101.10.11) or a derived value (for example, http.req.header("Host")). The literal value can be an IP address or a fully qualified domain name. Mutually exclusive with the full HTTP request expression. httpmethod: - type: raw + type: str choices: - GET - POST @@ -94,14 +97,14 @@ - Method used in the HTTP request that this callout sends. Mutually exclusive with the full HTTP request expression. ipaddress: - type: raw + type: str description: - IP Address of the server (callout agent) to which the callout is sent. Can be an IPv4 or IPv6 address. - Mutually exclusive with the Virtual Server parameter. Therefore, you cannot set the and the Virtual Server in the same HTTP callout. name: - type: raw + type: str description: - Name for the HTTP callout. Not case sensitive. Must begin with an ASCII letter or underscore (_) character, and must consist only of ASCII alphanumeric or @@ -110,21 +113,22 @@ (such as ASCII). Must not be the name of an existing named expression, pattern set, dataset, stringmap, or HTTP callout. parameters: - type: raw + type: list description: - One or more query parameters to insert into the HTTP request URL (for a GET request) or into the request body (for a POST request). Each parameter is specified as "name(expr)", where expr is an expression that is evaluated at run time to provide the value for the named parameter (name=value). The parameter values are URL encoded. Mutually exclusive with the full HTTP request expression. + elements: str port: - type: raw + type: int description: - Server port to which the HTTP callout agent is mapped. Mutually exclusive with the Virtual Server parameter. Therefore, you cannot set the and the Virtual Server in the same HTTP callout. resultexpr: - type: raw + type: str description: - 'Expression that extracts the callout results from the response sent by the HTTP callout agent. Must be a response based expression, that is, it must @@ -153,14 +157,14 @@ description: - Type of scheme for the callout server. urlstemexpr: - type: raw + type: str description: - String expression for generating the URL stem. Can contain a literal string (for example, "/mysite/index.html") or an expression that derives the value (for example, http.req.url). Mutually exclusive with the full HTTP request expression. vserver: - type: raw + type: str description: - Name of the load balancing, content switching, or cache redirection virtual server (the callout agent) to which the HTTP callout is sent. The service @@ -172,6 +176,34 @@ """ EXAMPLES = r""" +--- +- name: Sample policyhttpcallout playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure policyhttpcallout + delegate_to: localhost + netscaler.adc.policyhttpcallout: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: _XM_W_DEVICEID_10_102_39_132_2 + vserver: _XM_LB_CACHE_10.100.39.132 + returntype: TEXT + httpmethod: GET + hostexpr: '"callout.asfilter.internal"' + urlstemexpr: '"/services/ActiveSync/Authorize"' + parameters: + - user(HTTP.REQ.HEADER("authorization").AFTER_STR("Basic ").B64DECODE.BEFORE_STR(":").HTTP_URL_SAFE) + - agent(HTTP.REQ.HEADER("user-agent").HTTP_URL_SAFE) + - ip(CLIENT.IP.SRC) + - url(("https://"+HTTP.REQ.HOSTNAME+HTTP.REQ.URL).B64ENCODE) + - resultType("json") + - DeviceId(HTTP.REQ.URL.QUERY.VALUE("DeviceId")) + scheme: http + resultexpr: HTTP.RES.BODY(20) """ RETURN = r""" diff --git a/plugins/modules/policymap.py b/plugins/modules/policymap.py index ee90a5da7..d980e5162 100644 --- a/plugins/modules/policymap.py +++ b/plugins/modules/policymap.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: policymap short_description: Configuration for map policy resource. description: Configuration for map policy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/policyparam.py b/plugins/modules/policyparam.py index b00b19a8d..c6c48c9b9 100644 --- a/plugins/modules/policyparam.py +++ b/plugins/modules/policyparam.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: policyparam short_description: Configuration for policy parameter resource. description: Configuration for policy parameter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,7 +39,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str timeout: - type: raw + type: float description: - Maximum time in milliseconds to allow for processing expressions and policies without interruption. If the timeout is reached then the evaluation causes @@ -47,6 +49,20 @@ """ EXAMPLES = r""" +--- +- name: Sample policyparam playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure policyparam + delegate_to: localhost + netscaler.adc.policyparam: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + timeout: 5000 """ RETURN = r""" diff --git a/plugins/modules/policypatset.py b/plugins/modules/policypatset.py index d418e8134..4ad05c359 100644 --- a/plugins/modules/policypatset.py +++ b/plugins/modules/policypatset.py @@ -17,17 +17,20 @@ } DOCUMENTATION = r""" +--- module: policypatset short_description: Configuration for PAT set resource. description: Configuration for PAT set resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: - present - absent + - unset default: present description: - The state of the resource being configured by the module on the NetScaler @@ -35,12 +38,28 @@ - When C(present), the resource will be added/updated configured according to the module's parameters. - When C(absent), the resource will be deleted from the NetScaler ADC node. + - When C(unset), the resource will be unset on the NetScaler ADC node. type: str comment: type: str description: - Any comments to preserve information about this patset or a pattern bound to this patset. + dynamic: + type: str + choices: + - 'YES' + - 'NO' + description: + - This is used to populate internal patset information so that the patset can + also be used dynamically in an expression. Here dynamically means the patset + name can also be derived using an expression. For example for a given patset + name "allow_test" it can be used dynamically as http.req.url.contains_any("allow_" + + http.req.url.path.get(1)). This cannot be used with default patsets. + dynamiconly: + type: bool + description: + - Shows only dynamic patsets when set true. name: type: str description: @@ -83,6 +102,20 @@ """ EXAMPLES = r""" +--- +- name: Sample policypatset playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure policypatset + delegate_to: localhost + netscaler.adc.policypatset: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: prod_patset """ RETURN = r""" diff --git a/plugins/modules/policypatset_pattern_binding.py b/plugins/modules/policypatset_pattern_binding.py index 7c555d064..ad4824009 100644 --- a/plugins/modules/policypatset_pattern_binding.py +++ b/plugins/modules/policypatset_pattern_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: policypatset_pattern_binding short_description: Binding Resource definition for describing association between policypatset and pattern resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -129,12 +131,9 @@ - SYSTEM - RISE - FEO - - LSN - - LargeScaleNAT - RDPProxy - Rep - Reputation - - URLFiltering - VideoOptimization - ForwardProxy - SSLInterception @@ -159,6 +158,22 @@ """ EXAMPLES = r""" +--- +- name: Sample policypatset_pattern_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure policypatset_pattern_binding + delegate_to: localhost + netscaler.adc.policypatset_pattern_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: prod_patset + string: https://portal2.bx.com + index: '4' """ RETURN = r""" diff --git a/plugins/modules/policypatsetfile.py b/plugins/modules/policypatsetfile.py index e1ecdaf7d..d6c3ecae9 100644 --- a/plugins/modules/policypatsetfile.py +++ b/plugins/modules/policypatsetfile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: policypatsetfile short_description: Configuration for patset file resource. description: Configuration for patset file resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/policystringmap.py b/plugins/modules/policystringmap.py index ae939286c..52a8dee74 100644 --- a/plugins/modules/policystringmap.py +++ b/plugins/modules/policystringmap.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: policystringmap short_description: Configuration for string map resource. description: Configuration for string map resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,12 +41,12 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str comment: - type: raw + type: str description: - Comments associated with the string map or key-value pair bound to this string map. name: - type: raw + type: str description: - Unique name for the string map. Not case sensitive. Must begin with an ASCII letter or underscore (_) character, and must consist only of ASCII alphanumeric @@ -82,6 +84,20 @@ """ EXAMPLES = r""" +--- +- name: Sample policystringmap playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure policystringmap + delegate_to: localhost + netscaler.adc.policystringmap: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia_polstrmap1 """ RETURN = r""" diff --git a/plugins/modules/policystringmap_pattern_binding.py b/plugins/modules/policystringmap_pattern_binding.py index 29da58b98..8474b7012 100644 --- a/plugins/modules/policystringmap_pattern_binding.py +++ b/plugins/modules/policystringmap_pattern_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: policystringmap_pattern_binding short_description: Binding Resource definition for describing association between policystringmap and pattern resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/policytracing.py b/plugins/modules/policytracing.py new file mode 100644 index 000000000..e1a3b1c8f --- /dev/null +++ b/plugins/modules/policytracing.py @@ -0,0 +1,128 @@ +#!/usr/bin/python + +# -*- coding: utf-8 -*- + +# Copyright (c) 2023 Cloud Software Group, Inc. +# MIT License (see LICENSE or https://opensource.org/licenses/MIT) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + + +ANSIBLE_METADATA = { + "metadata_version": "1.1", + "status": ["preview"], + "supported_by": "community", +} + +DOCUMENTATION = r""" +--- +module: policytracing +short_description: Configuration for 0 resource. +description: Configuration for 0 resource. +version_added: 2.0.0 +author: + - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) +options: + state: + choices: [] + default: present + description: + - The state of the resource being configured by the module on the NetScaler + ADC node. + type: str + capturesslhandshakepolicies: + type: str + choices: + - 'YES' + - 'NO' + description: + - Set it to yes if need to capture the SSL handshake policies + detail: + type: str + choices: + - brief + - all + description: + - Show detailed information of the captured records + filterexpr: + type: str + description: + - 'Policy tracing filter expression. For example: http.req.url.startswith("/this").' + nodeid: + type: float + description: + - Unique number that identifies the cluster node. + protocoltype: + type: str + choices: + - HTTP + - SSL + - TCP + - SSL_TCP + - DNS + - DNS_TCP + - ANY + description: + - protocol type for which policy records needs to be collected + transactionid: + type: str + description: + - Unique ID to identify the current transaction +extends_documentation_fragment: netscaler.adc.netscaler_adc + +""" + +EXAMPLES = r""" +""" + +RETURN = r""" +--- +changed: + description: Indicates if any change is made by the module + returned: always + type: bool + sample: true +diff: + description: Dictionary of before and after changes + returned: always + type: dict + sample: {'before': {'key1': 'xyz'}, 'after': {'key2': 'pqr'}, 'prepared': 'changes + done'} +diff_list: + description: List of differences between the actual configured object and the configuration + specified in the module + returned: when changed + type: list + sample: ["Attribute `key1` differs. Desired: () XYZ. Existing: () PQR"] +failed: + description: Indicates if the module failed or not + returned: always + type: bool + sample: false +loglines: + description: list of logged messages by the module + returned: always + type: list + sample: ['message 1', 'message 2'] + +""" + + +import os + +from ..module_utils.module_executor import ModuleExecutor + +RESOURCE_NAME = os.path.basename(__file__).replace(".py", "") + + +def main(): + executor = ModuleExecutor(RESOURCE_NAME) + executor.main() + + +if __name__ == "__main__": + main() diff --git a/plugins/modules/policyurlset.py b/plugins/modules/policyurlset.py index 4ed5d05ca..cbc1322fb 100644 --- a/plugins/modules/policyurlset.py +++ b/plugins/modules/policyurlset.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: policyurlset short_description: Configuration for URL set resource. description: Configuration for URL set resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -103,6 +105,21 @@ """ EXAMPLES = r""" +--- +- name: Sample policyurlset playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure policyurlset + delegate_to: localhost + netscaler.adc.policyurlset: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: top10k + imported: false """ RETURN = r""" diff --git a/plugins/modules/protocolhttpband.py b/plugins/modules/protocolhttpband.py index 65fe235d1..275d8c66c 100644 --- a/plugins/modules/protocolhttpband.py +++ b/plugins/modules/protocolhttpband.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: protocolhttpband short_description: Configuration for HTTP request/response band resource. description: Configuration for HTTP request/response band resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -41,7 +43,7 @@ description: - Unique number that identifies the cluster node. reqbandsize: - type: raw + type: int description: - 'Band size, in bytes, for HTTP request band statistics. For example, if you specify a band size of 100 bytes, statistics will be maintained and displayed @@ -50,7 +52,7 @@ - 100 - 199 bytes - 200 - 299 bytes and so on. respbandsize: - type: raw + type: int description: - 'Band size, in bytes, for HTTP response band statistics. For example, if you specify a band size of 100 bytes, statistics will be maintained and displayed diff --git a/plugins/modules/ptp.py b/plugins/modules/ptp.py index fec69b099..5e1b9353b 100644 --- a/plugins/modules/ptp.py +++ b/plugins/modules/ptp.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: ptp short_description: Configuration for Precision Time Protocol resource. description: Configuration for Precision Time Protocol resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,6 +41,19 @@ """ EXAMPLES = r""" +--- +- name: Sample ptp playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure ptp + delegate_to: localhost + netscaler.adc.ptp: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present """ RETURN = r""" diff --git a/plugins/modules/quicbridgeprofile.py b/plugins/modules/quicbridgeprofile.py index f12f3ac3c..6842847d5 100644 --- a/plugins/modules/quicbridgeprofile.py +++ b/plugins/modules/quicbridgeprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: quicbridgeprofile short_description: Configuration for QUIC BRIDGE profile resource. description: Configuration for QUIC BRIDGE profile resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,20 +41,20 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str name: - type: raw + type: str description: - Name for the QUIC profile. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash (#), period (.), space, colon (:), at (@),equals sign (=), and hyphen (-) characters. Cannot be changed after the profile is created. routingalgorithm: - type: raw + type: str choices: - PLAINTEXT description: - Routing algorithm to generate routable connection IDs. serveridlength: - type: raw + type: float description: - Length of serverid to encode/decode server information extends_documentation_fragment: netscaler.adc.netscaler_adc diff --git a/plugins/modules/quicparam.py b/plugins/modules/quicparam.py index e36e2754a..67bb86d67 100644 --- a/plugins/modules/quicparam.py +++ b/plugins/modules/quicparam.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: quicparam short_description: Configuration for Citrix ADC QUIC parameters resource. description: Configuration for Citrix ADC QUIC parameters resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,7 +39,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str quicsecrettimeout: - type: raw + type: float description: - Rotation frequency, in seconds, for the secret used to generate address validation tokens that will be issued in QUIC Retry packets and QUIC NEW_TOKEN frames diff --git a/plugins/modules/quicprofile.py b/plugins/modules/quicprofile.py index 000ee08a4..9b791e599 100644 --- a/plugins/modules/quicprofile.py +++ b/plugins/modules/quicprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: quicprofile short_description: Configuration for QUIC profile resource. description: Configuration for QUIC profile resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,19 +41,19 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str ackdelayexponent: - type: raw + type: float description: - An integer value advertised by the Citrix ADC to the remote QUIC endpoint, indicating an exponent that the remote QUIC endpoint should use, to decode the ACK Delay field in QUIC ACK frames sent by the Citrix ADC. activeconnectionidlimit: - type: raw + type: float description: - An integer value advertised by the Citrix ADC to the remote QUIC endpoint, specifying the maximum number of QUIC connection IDs from the remote QUIC endpoint, that the Citrix ADC is willing to store. activeconnectionmigration: - type: raw + type: str choices: - ENABLED - DISABLED @@ -59,7 +61,7 @@ - Specify whether the Citrix ADC should allow the remote QUIC endpoint to perform active QUIC connection migration. congestionctrlalgorithm: - type: raw + type: str choices: - Default - NewReno @@ -69,49 +71,49 @@ - Specify the congestion control algorithm to be used for QUIC connections. The default congestion control algorithm is C(CUBIC). initialmaxdata: - type: raw + type: float description: - An integer value advertised by the Citrix ADC to the remote QUIC endpoint, specifying the initial value, in bytes, for the maximum amount of data that can be sent on a QUIC connection. initialmaxstreamdatabidilocal: - type: raw + type: float description: - An integer value advertised by the Citrix ADC to the remote QUIC endpoint, specifying the initial flow control limit, in bytes, for bidirectional QUIC streams initiated by the Citrix ADC. initialmaxstreamdatabidiremote: - type: raw + type: float description: - An integer value advertised by the Citrix ADC to the remote QUIC endpoint, specifying the initial flow control limit, in bytes, for bidirectional QUIC streams initiated by the remote QUIC endpoint. initialmaxstreamdatauni: - type: raw + type: float description: - An integer value advertised by the Citrix ADC to the remote QUIC endpoint, specifying the initial flow control limit, in bytes, for unidirectional streams initiated by the remote QUIC endpoint. initialmaxstreamsbidi: - type: raw + type: float description: - An integer value advertised by the Citrix ADC to the remote QUIC endpoint, specifying the initial maximum number of bidirectional streams the remote QUIC endpoint may initiate. initialmaxstreamsuni: - type: raw + type: float description: - An integer value advertised by the Citrix ADC to the remote QUIC endpoint, specifying the initial maximum number of unidirectional streams the remote QUIC endpoint may initiate. maxackdelay: - type: raw + type: float description: - An integer value advertised by the Citrix ADC to the remote QUIC endpoint, specifying the maximum amount of time, in milliseconds, by which the Citrix ADC will delay sending acknowledgments. maxidletimeout: - type: raw + type: float description: - An integer value advertised by the Citrix ADC to the remote QUIC endpoint, specifying the maximum idle timeout, in seconds, for a QUIC connection. A @@ -120,36 +122,36 @@ the Citrix ADC and the remote QUIC endpoint, and three times the current Probe Timeout (PTO). maxudpdatagramsperburst: - type: raw + type: float description: - An integer value, specifying the maximum number of UDP datagrams that can be transmitted by the Citrix ADC in a single transmission burst on a QUIC connection. maxudppayloadsize: - type: raw + type: float description: - An integer value advertised by the Citrix ADC to the remote QUIC endpoint, specifying the size of the largest UDP datagram payload, in bytes, that the Citrix ADC is willing to receive on a QUIC connection. name: - type: raw + type: str description: - Name for the QUIC profile. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash (#), period (.), space, colon (:), at (@),equals sign (=), and hyphen (-) characters. Cannot be changed after the profile is created. newtokenvalidityperiod: - type: raw + type: float description: - An integer value, specifying the validity period, in seconds, of address validation tokens issued through QUIC NEW_TOKEN frames sent by the Citrix ADC. retrytokenvalidityperiod: - type: raw + type: float description: - An integer value, specifying the validity period, in seconds, of address validation tokens issued through QUIC Retry packets sent by the Citrix ADC. statelessaddressvalidation: - type: raw + type: str choices: - ENABLED - DISABLED diff --git a/plugins/modules/radiusnode.py b/plugins/modules/radiusnode.py index a19dc78ca..eb4b6e9f6 100644 --- a/plugins/modules/radiusnode.py +++ b/plugins/modules/radiusnode.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: radiusnode short_description: Configuration for RADIUS Node resource. description: Configuration for RADIUS Node resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/rdpclientprofile.py b/plugins/modules/rdpclientprofile.py index 18ef73e1b..644fd329a 100644 --- a/plugins/modules/rdpclientprofile.py +++ b/plugins/modules/rdpclientprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: rdpclientprofile short_description: Configuration for RDP clientprofile resource. description: Configuration for RDP clientprofile resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,14 +41,14 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str addusernameinrdpfile: - type: raw + type: str choices: - 'YES' - 'NO' description: - Add username in rdp file. audiocapturemode: - type: raw + type: str choices: - ENABLE - DISABLE @@ -54,7 +56,7 @@ - This setting corresponds to the selections in the Remote audio area on the Local Resources tab under Options in RDC. keyboardhook: - type: raw + type: str choices: - OnLocal - OnRemote @@ -63,22 +65,22 @@ - This setting corresponds to the selection in the Keyboard drop-down list on the Local Resources tab under Options in RDC. multimonitorsupport: - type: raw + type: str choices: - ENABLE - DISABLE description: - Enable/Disable Multiple Monitor Support for Remote Desktop Connection (RDC). name: - type: raw + type: str description: - The name of the rdp profile psk: - type: raw + type: str description: - Pre shared key value randomizerdpfilename: - type: raw + type: str choices: - 'YES' - 'NO' @@ -88,26 +90,26 @@ to avoid the pop-up for replacement of existing rdp file during each rdp connection launch, hence providing better end-user experience. rdpcookievalidity: - type: raw + type: float description: - RDP cookie validity period. RDP cookie validity time is applicable for new connection and also for any re-connection that might happen, mostly due to network disruption or during fail-over. rdpcustomparams: - type: raw + type: str description: - Option for RDP custom parameters settings (if any). Custom params needs to be separated by '&' rdpfilename: - type: raw + type: str description: - RDP file name to be sent to End User rdphost: - type: raw + type: str description: - Fully-qualified domain name (FQDN) of the RDP Listener. rdplinkattribute: - type: raw + type: str description: - 'Citrix Gateway allows the configuration of rdpLinkAttribute parameter which can be used to fetch a list of RDP servers(IP/FQDN) that a user can access, @@ -116,12 +118,12 @@ - ' Note: The Attribute mentioned in the rdpLinkAttribute should be fetched through corresponding authentication method.' rdplistener: - type: raw + type: str description: - IP address (or) Fully-qualified domain name(FQDN) of the RDP Listener with the port in the format IP:Port (or) FQDN:Port rdpurloverride: - type: raw + type: str choices: - ENABLE - DISABLE @@ -129,7 +131,7 @@ - This setting determines whether the RDP parameters supplied in the vpn url override those specified in the RDP profile. rdpvalidateclientip: - type: raw + type: str choices: - ENABLE - DISABLE @@ -137,7 +139,7 @@ - This setting determines whether RDC launch is initiated by the valid client IP redirectclipboard: - type: raw + type: str choices: - ENABLE - DISABLE @@ -145,7 +147,7 @@ - This setting corresponds to the Clipboard check box on the Local Resources tab under Options in RDC. redirectcomports: - type: raw + type: str choices: - ENABLE - DISABLE @@ -153,7 +155,7 @@ - This setting corresponds to the selections for comports under More on the Local Resources tab under Options in RDC. redirectdrives: - type: raw + type: str choices: - ENABLE - DISABLE @@ -161,7 +163,7 @@ - This setting corresponds to the selections for Drives under More on the Local Resources tab under Options in RDC. redirectpnpdevices: - type: raw + type: str choices: - ENABLE - DISABLE @@ -169,7 +171,7 @@ - This setting corresponds to the selections for pnpdevices under More on the Local Resources tab under Options in RDC. redirectprinters: - type: raw + type: str choices: - ENABLE - DISABLE @@ -177,7 +179,7 @@ - This setting corresponds to the selection in the Printers check box on the Local Resources tab under Options in RDC. videoplaybackmode: - type: raw + type: str choices: - ENABLE - DISABLE @@ -189,6 +191,25 @@ """ EXAMPLES = r""" +--- +- name: Sample rdpclientprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure rdpclientprofile + delegate_to: localhost + netscaler.adc.rdpclientprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: rdpc2 + rdpurloverride: DISABLE + audiocapturemode: ENABLE + rdpfilename: mstsc.rdp + rdpcustomparams: span monitors:i:1 + psk: test!@3 """ RETURN = r""" diff --git a/plugins/modules/rdpconnections.py b/plugins/modules/rdpconnections.py index 417c593b9..8c4f3f1ec 100644 --- a/plugins/modules/rdpconnections.py +++ b/plugins/modules/rdpconnections.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: rdpconnections short_description: Configuration for active rdp connections resource. description: Configuration for active rdp connections resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: [] diff --git a/plugins/modules/rdpserverprofile.py b/plugins/modules/rdpserverprofile.py index fa8d84289..95b151a11 100644 --- a/plugins/modules/rdpserverprofile.py +++ b/plugins/modules/rdpserverprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: rdpserverprofile short_description: Configuration for RDP serverprofile resource. description: Configuration for RDP serverprofile resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,23 +41,23 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str name: - type: raw + type: str description: - The name of the rdp server profile psk: - type: raw + type: str description: - Pre shared key value rdpip: - type: raw + type: str description: - IPv4 or IPv6 address of RDP listener. This terminates client RDP connections. rdpport: - type: raw + type: float description: - TCP port on which the RDP connection is established. rdpredirection: - type: raw + type: str choices: - ENABLE - DISABLE @@ -68,6 +70,22 @@ """ EXAMPLES = r""" +--- +- name: Sample rdpserverprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure rdpserverprofile + delegate_to: localhost + netscaler.adc.rdpserverprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: rdp_s3 + rdpip: 12.12.12.12 + psk: test12 """ RETURN = r""" diff --git a/plugins/modules/reboot.py b/plugins/modules/reboot.py index 6b58e4680..01c922f51 100644 --- a/plugins/modules/reboot.py +++ b/plugins/modules/reboot.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: reboot short_description: Configuration for 0 resource. description: Configuration for 0 resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: [] diff --git a/plugins/modules/reporting.py b/plugins/modules/reporting.py new file mode 100644 index 000000000..25f980688 --- /dev/null +++ b/plugins/modules/reporting.py @@ -0,0 +1,94 @@ +#!/usr/bin/python + +# -*- coding: utf-8 -*- + +# Copyright (c) 2023 Cloud Software Group, Inc. +# MIT License (see LICENSE or https://opensource.org/licenses/MIT) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + + +ANSIBLE_METADATA = { + "metadata_version": "1.1", + "status": ["preview"], + "supported_by": "community", +} + +DOCUMENTATION = r""" +--- +module: reporting +short_description: Configuration for reporting resource. +description: Configuration for reporting resource. +version_added: 2.0.0 +author: + - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) +options: + state: + choices: + - enabled + - disabled + default: present + description: + - The state of the resource being configured by the module on the NetScaler + ADC node. + - When C(enabled), the resource will be enabled on the NetScaler ADC node. + - When C(disabled), the resource will be disabled on the NetScaler ADC node. + type: str +extends_documentation_fragment: netscaler.adc.netscaler_adc + +""" + +EXAMPLES = r""" +""" + +RETURN = r""" +--- +changed: + description: Indicates if any change is made by the module + returned: always + type: bool + sample: true +diff: + description: Dictionary of before and after changes + returned: always + type: dict + sample: {'before': {'key1': 'xyz'}, 'after': {'key2': 'pqr'}, 'prepared': 'changes + done'} +diff_list: + description: List of differences between the actual configured object and the configuration + specified in the module + returned: when changed + type: list + sample: ["Attribute `key1` differs. Desired: () XYZ. Existing: () PQR"] +failed: + description: Indicates if the module failed or not + returned: always + type: bool + sample: false +loglines: + description: list of logged messages by the module + returned: always + type: list + sample: ['message 1', 'message 2'] + +""" + + +import os + +from ..module_utils.module_executor import ModuleExecutor + +RESOURCE_NAME = os.path.basename(__file__).replace(".py", "") + + +def main(): + executor = ModuleExecutor(RESOURCE_NAME) + executor.main() + + +if __name__ == "__main__": + main() diff --git a/plugins/modules/reportingconfig.py b/plugins/modules/reportingconfig.py index 586e272eb..9f508bcd9 100644 --- a/plugins/modules/reportingconfig.py +++ b/plugins/modules/reportingconfig.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: reportingconfig short_description: Configuration for reporting config resource. description: Configuration for reporting config resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/reputationsettings.py b/plugins/modules/reputationsettings.py index 55ebbb49e..9c4cdbefb 100644 --- a/plugins/modules/reputationsettings.py +++ b/plugins/modules/reputationsettings.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: reputationsettings short_description: Configuration for Reputation service settings resource. description: Configuration for Reputation service settings resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,19 +39,19 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str proxypassword: - type: raw + type: str description: - Password with which user logs on. proxyport: - type: raw + type: float description: - Proxy server port. proxyserver: - type: raw + type: str description: - Proxy server IP to get Reputation data. proxyusername: - type: raw + type: str description: - Proxy Username extends_documentation_fragment: netscaler.adc.netscaler_adc diff --git a/plugins/modules/responderaction.py b/plugins/modules/responderaction.py index 9bb6029c8..4a5e82c9f 100644 --- a/plugins/modules/responderaction.py +++ b/plugins/modules/responderaction.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: responderaction short_description: Configuration for responder action resource. description: Configuration for responder action resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -49,23 +51,24 @@ that might not be present in all requests. If a response refers to a missing request element, an empty string is used instead. comment: - type: raw + type: str description: - Comment. Any type of information about this responder action. headers: - type: raw + type: list description: - One or more headers to insert into the HTTP response. Each header is specified as "name(expr)", where expr is an expression that is evaluated at runtime to provide the value for the named header. You can configure a maximum of eight headers for a responder action. + elements: str htmlpage: type: str description: - For respondwithhtmlpage policies, name of the HTML page object to use as the response. You must first import the page object. name: - type: raw + type: str description: - Name for the responder action. Must begin with a letter, number, or the underscore character (_), and must contain only letters, numbers, and the hyphen (-), @@ -87,13 +90,13 @@ - If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my responder action" or my responder action'). reasonphrase: - type: raw + type: str description: - 'Expression specifying the reason phrase of the HTTP response. The reason phrase may be a string literal with quotes or a PI expression. For example: "Invalid URL: " + HTTP.REQ.URL' responsestatuscode: - type: raw + type: float description: - HTTP response status code, for example 200, 302, 404, etc. The default value for the redirect action type is 302 and for respondwithhtmlpage is 200 @@ -148,6 +151,23 @@ """ EXAMPLES = r""" +--- +- name: Sample responderaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure responderaction + delegate_to: localhost + netscaler.adc.responderaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: LB_rsact1 + type: respondwith + target: DIAMETER.NEW_ERROR_ANSWER + DIAMETER.NEW_AVP(263, DIAMETER.REQ.SESSION_ID.VALUE) + + DIAMETER.NEW_AVP_UNSIGNED32(268, 3002) """ RETURN = r""" diff --git a/plugins/modules/responderglobal_responderpolicy_binding.py b/plugins/modules/responderglobal_responderpolicy_binding.py index f5be08394..c2e8671ab 100644 --- a/plugins/modules/responderglobal_responderpolicy_binding.py +++ b/plugins/modules/responderglobal_responderpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: responderglobal_responderpolicy_binding short_description: Binding Resource definition for describing association between responderglobal and responderpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -147,6 +149,23 @@ """ EXAMPLES = r""" +--- +- name: Sample responderglobal_responderpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure responderglobal_responderpolicy_binding + delegate_to: localhost + netscaler.adc.responderglobal_responderpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + policyname: policy_1 + priority: '10' + gotopriorityexpression: END + type: DNS_REQ_DEFAULT """ RETURN = r""" diff --git a/plugins/modules/responderhtmlpage.py b/plugins/modules/responderhtmlpage.py index d22f7bd87..59cb773e2 100644 --- a/plugins/modules/responderhtmlpage.py +++ b/plugins/modules/responderhtmlpage.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: responderhtmlpage short_description: Configuration for Responder HTML page resource. description: Configuration for Responder HTML page resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/responderparam.py b/plugins/modules/responderparam.py index 7ab4c9cc8..8f94041a3 100644 --- a/plugins/modules/responderparam.py +++ b/plugins/modules/responderparam.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: responderparam short_description: Configuration for responser parameter resource. description: Configuration for responser parameter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,13 +39,13 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str timeout: - type: raw + type: float description: - Maximum time in milliseconds to allow for processing all the policies and their selected actions without interruption. If the timeout is reached then the evaluation causes an UNDEF to be raised and no further processing is performed. undefaction: - type: raw + type: str description: - 'Action to perform when policy evaluation creates an UNDEF condition. Available settings function as follows:' @@ -56,6 +58,20 @@ """ EXAMPLES = r""" +--- +- name: Sample responderparam playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure responderparam + delegate_to: localhost + netscaler.adc.responderparam: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + undefaction: NOOP """ RETURN = r""" diff --git a/plugins/modules/responderpolicy.py b/plugins/modules/responderpolicy.py index 10ffb153d..b4a0232ee 100644 --- a/plugins/modules/responderpolicy.py +++ b/plugins/modules/responderpolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: responderpolicy short_description: Configuration for responder policy resource. description: Configuration for responder policy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -50,19 +52,19 @@ then resend the request if desired.' - '* DROP - Drop the request without sending a response to the user.' appflowaction: - type: raw + type: str description: - AppFlow action to invoke for requests that match this policy. comment: - type: raw + type: str description: - Any type of information about this responder policy. logaction: - type: raw + type: str description: - Name of the messagelog action to use for requests that match this policy. name: - type: raw + type: str description: - Name for the responder policy. - Must begin with a letter, number, or the underscore character (_), and must @@ -90,7 +92,7 @@ - Expression that the policy uses to determine whether to respond to the specified request. undefaction: - type: raw + type: str description: - Action to perform if the result of policy evaluation is undefined (UNDEF). An UNDEF event indicates an internal error condition. Only the above built-in @@ -125,6 +127,22 @@ """ EXAMPLES = r""" +--- +- name: Sample responderpolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure responderpolicy + delegate_to: localhost + netscaler.adc.responderpolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: P1 + rule: SIP.REQ.METHOD.EQ("INVITE")||SIP.REQ.METHOD.EQ("ACK")||SIP.REQ.METHOD.EQ("BYE") + action: noop """ RETURN = r""" diff --git a/plugins/modules/responderpolicylabel.py b/plugins/modules/responderpolicylabel.py index 7965181df..428344f6f 100644 --- a/plugins/modules/responderpolicylabel.py +++ b/plugins/modules/responderpolicylabel.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: responderpolicylabel short_description: Configuration for responder policy label resource. description: Configuration for responder policy label resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -119,6 +121,20 @@ """ EXAMPLES = r""" +--- +- name: Sample responderpolicylabel playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure responderpolicylabel + delegate_to: localhost + netscaler.adc.responderpolicylabel: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + labelname: ia_respolabl5 """ RETURN = r""" diff --git a/plugins/modules/responderpolicylabel_responderpolicy_binding.py b/plugins/modules/responderpolicylabel_responderpolicy_binding.py index fb9e87126..0415b7fa3 100644 --- a/plugins/modules/responderpolicylabel_responderpolicy_binding.py +++ b/plugins/modules/responderpolicylabel_responderpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: responderpolicylabel_responderpolicy_binding short_description: Binding Resource definition for describing association between responderpolicylabel and responderpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/rewriteaction.py b/plugins/modules/rewriteaction.py index 2531a5fe1..5fd95da6e 100644 --- a/plugins/modules/rewriteaction.py +++ b/plugins/modules/rewriteaction.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: rewriteaction short_description: Configuration for rewrite action resource. description: Configuration for rewrite action resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,11 +41,11 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str comment: - type: raw + type: str description: - Comment. Can be used to preserve information about this rewrite action. name: - type: raw + type: str description: - Name for the user-defined rewrite action. Must begin with a letter, number, or the underscore character (_), and must contain only letters, numbers, and @@ -67,7 +69,7 @@ - If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my rewrite action" or 'my rewrite action'). refinesearch: - type: raw + type: str description: - 'Specify additional criteria to refine the results of the search. ' - Always starts with the "extend(m,n)" operation, where 'm' specifies number @@ -116,7 +118,7 @@ adjusted by the -refineSearch parameter.' - 'Example: TARGET.BEFORE_STR(",")' stringbuilderexpr: - type: raw + type: str description: - Expression that specifies the content to insert into the request or response at the specified location, or that replaces the specified string. @@ -218,6 +220,23 @@ """ EXAMPLES = r""" +--- +- name: Sample rewriteaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure rewriteaction + delegate_to: localhost + netscaler.adc.rewriteaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: rw_act_insert_after_diameter_avp + type: insert_after + target: diameter.req.avp(345678) + stringbuilderexpr: diameter.new_avp(3110, "Sayan Inserted AVP") """ RETURN = r""" diff --git a/plugins/modules/rewriteglobal_rewritepolicy_binding.py b/plugins/modules/rewriteglobal_rewritepolicy_binding.py index 185df0adf..8629081ac 100644 --- a/plugins/modules/rewriteglobal_rewritepolicy_binding.py +++ b/plugins/modules/rewriteglobal_rewritepolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: rewriteglobal_rewritepolicy_binding short_description: Binding Resource definition for describing association between rewriteglobal and rewritepolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -130,6 +132,23 @@ """ EXAMPLES = r""" +--- +- name: Sample rewriteglobal_rewritepolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure rewriteglobal_rewritepolicy_binding + delegate_to: localhost + netscaler.adc.rewriteglobal_rewritepolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + policyname: new_policy_2 + priority: '11' + gotopriorityexpression: END + type: DNS_RES_DEFAULT """ RETURN = r""" diff --git a/plugins/modules/rewriteparam.py b/plugins/modules/rewriteparam.py index 6a74a98b4..ac8cf34b9 100644 --- a/plugins/modules/rewriteparam.py +++ b/plugins/modules/rewriteparam.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: rewriteparam short_description: Configuration for rewrite parameter resource. description: Configuration for rewrite parameter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,14 +39,14 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str timeout: - type: raw + type: float description: - Maximum time in milliseconds to allow for processing all the policies and their selected actions without interruption. If the timeout is reached then the evaluation causes an UNDEF to be raised and no further processing is performed. Note that some rewrites may have already been performed. undefaction: - type: raw + type: str description: - Action to perform if the result of policy evaluation is undefined (UNDEF). An UNDEF event indicates an error condition in evaluating the expression. @@ -58,6 +60,21 @@ """ EXAMPLES = r""" +--- +- name: Sample rewriteparam playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure rewriteparam + delegate_to: localhost + netscaler.adc.rewriteparam: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + undefaction: RESET + timeout: 5000 """ RETURN = r""" diff --git a/plugins/modules/rewritepolicy.py b/plugins/modules/rewritepolicy.py index 53a0d2e40..d5ce8ab54 100644 --- a/plugins/modules/rewritepolicy.py +++ b/plugins/modules/rewritepolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: rewritepolicy short_description: Configuration for rewrite policy resource. description: Configuration for rewrite policy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -51,15 +53,15 @@ then resend the request if desired.' - '* DROP - Drop the request without sending a response to the user.' comment: - type: raw + type: str description: - Any comments to preserve information about this rewrite policy. logaction: - type: raw + type: str description: - Name of messagelog action to use when a request matches this policy. name: - type: raw + type: str description: - Name for the rewrite policy. Must begin with a letter, number, or the underscore character (_), and must contain only letters, numbers, and the hyphen (-), @@ -93,7 +95,7 @@ - '* Alternatively, you can use single quotation marks to enclose the rule, in which case you do not have to escape the double quotation marks.' undefaction: - type: raw + type: str description: - Action to perform if the result of policy evaluation is undefined (UNDEF). An UNDEF event indicates an internal error condition. Only the above built-in @@ -128,6 +130,22 @@ """ EXAMPLES = r""" +--- +- name: Sample rewritepolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure rewritepolicy + delegate_to: localhost + netscaler.adc.rewritepolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: rw_diam_pol + rule: diameter.req.avp(264).value.eq("host1.sayan1.net") + action: rw_act_insert_after_diameter_avp """ RETURN = r""" diff --git a/plugins/modules/rewritepolicylabel.py b/plugins/modules/rewritepolicylabel.py index c0fc67017..e967de498 100644 --- a/plugins/modules/rewritepolicylabel.py +++ b/plugins/modules/rewritepolicylabel.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: rewritepolicylabel short_description: Configuration for rewrite policy label resource. description: Configuration for rewrite policy label resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -140,6 +142,21 @@ """ EXAMPLES = r""" +--- +- name: Sample rewritepolicylabel playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure rewritepolicylabel + delegate_to: localhost + netscaler.adc.rewritepolicylabel: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + labelname: ia_rwrtpolabl6 + transform: http_req """ RETURN = r""" diff --git a/plugins/modules/rewritepolicylabel_rewritepolicy_binding.py b/plugins/modules/rewritepolicylabel_rewritepolicy_binding.py index cf1104dcf..080c0923b 100644 --- a/plugins/modules/rewritepolicylabel_rewritepolicy_binding.py +++ b/plugins/modules/rewritepolicylabel_rewritepolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: rewritepolicylabel_rewritepolicy_binding short_description: Binding Resource definition for describing association between rewritepolicylabel and rewritepolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -84,6 +86,23 @@ """ EXAMPLES = r""" +--- +- name: Sample rewritepolicylabel_rewritepolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure rewritepolicylabel_rewritepolicy_binding + delegate_to: localhost + netscaler.adc.rewritepolicylabel_rewritepolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + labelname: ns_cvpn_v2_url_label + policyname: ns_cvpn_v2_bypass_url_pol + priority: '20000' + gotopriorityexpression: NEXT """ RETURN = r""" diff --git a/plugins/modules/rnat.py b/plugins/modules/rnat.py index 769a4bbe9..932f34ada 100644 --- a/plugins/modules/rnat.py +++ b/plugins/modules/rnat.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: rnat short_description: Configuration for RNAT configured route resource. description: Configuration for RNAT configured route resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,11 +41,11 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str aclname: - type: raw + type: str description: - An extended ACL defined for the RNAT entry. connfailover: - type: raw + type: str choices: - ENABLED - DISABLED @@ -51,7 +53,7 @@ - Synchronize all connection-related information for the RNAT sessions with the secondary ADC in a high availability (HA) pair. name: - type: raw + type: str description: - Name for the RNAT4 rule. Must begin with a letter, number, or the underscore character (_), and can consist of letters, numbers, and the hyphen (-), period @@ -69,11 +71,11 @@ can specify all NetScaler-owned IP addresses, except the NSIP, that fall within the specified range. netmask: - type: raw + type: str description: - The subnet mask for the network address. network: - type: raw + type: str description: - The network address defined for the RNAT entry. newname: @@ -84,16 +86,16 @@ hash (#), period (.), space, colon (:), at (@), equals (=), and hyphen (-) characters. ownergroup: - type: raw + type: str description: - The owner node group in a Cluster for this rnat rule. redirectport: - type: raw + type: int description: - Port number to which the IPv4 packets are redirected. Applicable to TCP and UDP protocols. srcippersistency: - type: raw + type: str choices: - ENABLED - DISABLED @@ -101,13 +103,13 @@ - Enables the Citrix ADC to use the same NAT IP address for all RNAT sessions initiated from a particular server. td: - type: raw + type: float description: - Integer value that uniquely identifies the traffic domain in which you want to configure the entity. If you do not specify an ID, the entity becomes part of the default traffic domain, which has an ID of 0. useproxyport: - type: raw + type: str choices: - ENABLED - DISABLED @@ -219,6 +221,21 @@ """ EXAMPLES = r""" +--- +- name: Sample rnat playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure rnat + delegate_to: localhost + netscaler.adc.rnat: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: RNAT_SF_Allow_USE1-A + aclname: ACL_SF_Allow_USE1-A """ RETURN = r""" diff --git a/plugins/modules/rnat6.py b/plugins/modules/rnat6.py index 9dd1f14fc..a6a0d5254 100644 --- a/plugins/modules/rnat6.py +++ b/plugins/modules/rnat6.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: rnat6 short_description: Configuration for IPv6 RNAT configured route resource. description: Configuration for IPv6 RNAT configured route resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -42,7 +44,7 @@ - Name of any configured ACL6 whose action is ALLOW. The rule of the ACL6 is used as an RNAT6 rule. name: - type: raw + type: str description: - Name for the RNAT6 rule. Must begin with a letter, number, or the underscore character (_), and can consist of letters, numbers, and the hyphen (-), period @@ -55,16 +57,16 @@ - IPv6 address of the network on whose traffic you want the Citrix ADC to do RNAT processing. ownergroup: - type: raw + type: str description: - The owner node group in a Cluster for this rnat rule. redirectport: - type: raw + type: int description: - Port number to which the IPv6 packets are redirected. Applicable to TCP and UDP protocols. srcippersistency: - type: raw + type: str choices: - ENABLED - DISABLED diff --git a/plugins/modules/rnat6_nsip6_binding.py b/plugins/modules/rnat6_nsip6_binding.py index edd90f410..76dab2eb6 100644 --- a/plugins/modules/rnat6_nsip6_binding.py +++ b/plugins/modules/rnat6_nsip6_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: rnat6_nsip6_binding short_description: Binding Resource definition for describing association between rnat6 and nsip6 resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/rnat_nsip_binding.py b/plugins/modules/rnat_nsip_binding.py index 4204209bd..385206270 100644 --- a/plugins/modules/rnat_nsip_binding.py +++ b/plugins/modules/rnat_nsip_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: rnat_nsip_binding short_description: Binding Resource definition for describing association between rnat and nsip resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/rnat_retainsourceportset_binding.py b/plugins/modules/rnat_retainsourceportset_binding.py index 3920f4ed7..527768abc 100644 --- a/plugins/modules/rnat_retainsourceportset_binding.py +++ b/plugins/modules/rnat_retainsourceportset_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: rnat_retainsourceportset_binding short_description: Binding Resource definition for describing association between rnat and retainsourceportset resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/rnatglobal_auditsyslogpolicy_binding.py b/plugins/modules/rnatglobal_auditsyslogpolicy_binding.py index 840775597..7a49f3704 100644 --- a/plugins/modules/rnatglobal_auditsyslogpolicy_binding.py +++ b/plugins/modules/rnatglobal_auditsyslogpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: rnatglobal_auditsyslogpolicy_binding short_description: Binding Resource definition for describing association between rnatglobal and auditsyslogpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/rnatparam.py b/plugins/modules/rnatparam.py index 5e0ebf927..376db5660 100644 --- a/plugins/modules/rnatparam.py +++ b/plugins/modules/rnatparam.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: rnatparam short_description: Configuration for RNAT parameter resource. description: Configuration for RNAT parameter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,7 +39,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str srcippersistency: - type: raw + type: str choices: - ENABLED - DISABLED @@ -45,7 +47,7 @@ - Enable source ip persistency, which enables the Citrix ADC to use the RNAT ips using source ip. tcpproxy: - type: raw + type: str choices: - ENABLED - DISABLED @@ -57,6 +59,20 @@ """ EXAMPLES = r""" +--- +- name: Sample rnatparam playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure rnatparam + delegate_to: localhost + netscaler.adc.rnatparam: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + tcpproxy: DISABLED """ RETURN = r""" diff --git a/plugins/modules/rnatsession.py b/plugins/modules/rnatsession.py index 938f53aac..691ac6ad4 100644 --- a/plugins/modules/rnatsession.py +++ b/plugins/modules/rnatsession.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: rnatsession short_description: Configuration for RNAT session resource. description: Configuration for RNAT session resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/route.py b/plugins/modules/route.py index 0c92d669a..7f10d6e61 100644 --- a/plugins/modules/route.py +++ b/plugins/modules/route.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: route short_description: Configuration for route resource. description: Configuration for route resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str advertise: - type: raw + type: str choices: - DISABLED - ENABLED @@ -51,7 +53,7 @@ - Positive integer used by the routing algorithms to determine preference for using this route. The lower the cost, the higher the preference. cost1: - type: raw + type: float description: - 'The cost of a route is used to compare routes of the same type. The route having the lowest cost is the most preferred route. Possible values: 0 through @@ -61,34 +63,34 @@ description: - Display a detailed view. distance: - type: raw + type: float description: - Administrative distance of this route, which determines the preference of this route over other routes, with same destination, from different routing protocols. A lower value is preferred. gateway: - type: raw + type: str description: - IP address of the gateway for this route. Can be either the IP address of the gateway, or can be null to specify a null interface route. monitor: - type: raw + type: str description: - Name of the monitor, of type ARP or PING, configured on the Citrix ADC to monitor this route. msr: - type: raw + type: str choices: - ENABLED - DISABLED description: - Monitor this route using a monitor of type ARP or PING. netmask: - type: raw + type: str description: - The subnet mask associated with the network address. network: - type: raw + type: str description: - IPv4 network address for which to add a route entry in the routing table of the Citrix ADC. @@ -98,7 +100,7 @@ - The owner node group in a Cluster for this route. If owner node group is not specified then the route is treated as Striped route. protocol: - type: raw + type: list choices: - OSPF - ISIS @@ -106,6 +108,7 @@ - BGP description: - Routing protocol used for advertising this route. + elements: str routetype: type: str choices: @@ -120,7 +123,7 @@ - Protocol used by routes that you want to remove from the routing table of the Citrix ADC. td: - type: raw + type: float description: - Integer value that uniquely identifies the traffic domain in which you want to configure the entity. If you do not specify an ID, the entity becomes part @@ -130,7 +133,7 @@ description: - VLAN as the gateway for this route. weight: - type: raw + type: float description: - Positive integer used by the routing algorithms to determine preference for this route over others of equal cost. The lower the weight, the higher the @@ -141,17 +144,21 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample route playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | route + - name: Configure route delegate_to: localhost netscaler.adc.route: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - network: 172.31.0.0 - netmask: 255.255.0.0 - gateway: 172.31.0.1 + network: 169.254.169.254 + netmask: 255.255.255.255 + gateway: 10.189.64.1 """ RETURN = r""" diff --git a/plugins/modules/route6.py b/plugins/modules/route6.py index 8af8fe9a9..7dff6727c 100644 --- a/plugins/modules/route6.py +++ b/plugins/modules/route6.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: route6 short_description: Configuration for route 6 resource. description: Configuration for route 6 resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,14 +41,14 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str advertise: - type: raw + type: str choices: - DISABLED - ENABLED description: - Advertise this route. cost: - type: raw + type: float description: - Positive integer used by the routing algorithms to determine preference for this route. The lower the cost, the higher the preference. @@ -55,28 +57,28 @@ description: - To get a detailed view. distance: - type: raw + type: float description: - Administrative distance of this route from the appliance. gateway: - type: raw + type: str description: - The gateway for this route. The value for this parameter is either an IPv6 address or null. monitor: - type: raw + type: str description: - Name of the monitor, of type ND6 or PING, configured on the Citrix ADC to monitor this route. msr: - type: raw + type: str choices: - ENABLED - DISABLED description: - Monitor this route with a monitor of type ND6 or PING. network: - type: raw + type: str description: - IPv6 network address for which to add a route entry to the routing table of the Citrix ADC. @@ -100,23 +102,23 @@ description: - Type of IPv6 routes to remove from the routing table of the Citrix ADC. td: - type: raw + type: float description: - Integer value that uniquely identifies the traffic domain in which you want to configure the entity. If you do not specify an ID, the entity becomes part of the default traffic domain, which has an ID of 0. vlan: - type: raw + type: float description: - Integer value that uniquely identifies a VLAN through which the Citrix ADC forwards the packets for this route. vxlan: - type: raw + type: float description: - Integer value that uniquely identifies a VXLAN through which the Citrix ADC forwards the packets for this route. weight: - type: raw + type: float description: - Positive integer used by the routing algorithms to determine preference for this route over others of equal cost. The lower the weight, the higher the @@ -126,6 +128,28 @@ """ EXAMPLES = r""" +--- +- name: Sample route6 playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure route6 + delegate_to: localhost + netscaler.adc.route6: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + network: 202::/64 + gateway: fe80::1234 + vlan: '23' + weight: '10' + distance: '10' + cost: '10' + advertise: ENABLED + msr: ENABLED + monitor: ia_mon1 """ RETURN = r""" diff --git a/plugins/modules/routerdynamicrouting.py b/plugins/modules/routerdynamicrouting.py index 1d18f21a1..b6fedd0b5 100644 --- a/plugins/modules/routerdynamicrouting.py +++ b/plugins/modules/routerdynamicrouting.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: routerdynamicrouting short_description: Configuration for dynamic routing config resource. description: Configuration for dynamic routing config resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str commandstring: - type: raw + type: str description: - command to be executed nodeid: diff --git a/plugins/modules/rsskeytype.py b/plugins/modules/rsskeytype.py index 8af14f65e..32a9a6231 100644 --- a/plugins/modules/rsskeytype.py +++ b/plugins/modules/rsskeytype.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: rsskeytype short_description: Configuration for RSS key type resource. description: Configuration for RSS key type resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -47,13 +49,17 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample rsskeytype playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | rsskeytype + - name: Configure rsskeytype delegate_to: localhost netscaler.adc.rsskeytype: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present rsstype: ASYMMETRIC """ diff --git a/plugins/modules/server.py b/plugins/modules/server.py index 8e6aa3e2b..2a15a0bd1 100644 --- a/plugins/modules/server.py +++ b/plugins/modules/server.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: server short_description: Configuration for server resource. description: Configuration for server resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -47,7 +49,7 @@ description: - Display names of the servers that have been created for internal use. comment: - type: raw + type: str description: - Any information about the server. delay: @@ -93,7 +95,7 @@ - Support IPv6 addressing mode. If you configure a server with the IPv6 addressing mode, you cannot use the server in the IPv4 addressing mode. name: - type: raw + type: str description: - Name for the server. - Must begin with an ASCII alphabetic or underscore (_) character, and must @@ -137,23 +139,20 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample server playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | server - delegate_to: localhost - netscaler.adc.server: - state: present - name: 10.10.10.10 - ipaddress: 10.10.10.10 - - name: Sample Task | server 2 + - name: Configure server delegate_to: localhost - tags: test netscaler.adc.server: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - domain: test.ap-southeast-1.example.com - name: test.ap-southeast-1.example.com + name: 10.79.42.253 + ipaddress: 10.79.42.253 """ RETURN = r""" diff --git a/plugins/modules/service.py b/plugins/modules/service.py index 865ea50d0..367abce56 100644 --- a/plugins/modules/service.py +++ b/plugins/modules/service.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: service short_description: Configuration for service resource. description: Configuration for service resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -47,7 +49,7 @@ description: - Display only dynamically learned services. accessdown: - type: raw + type: str choices: - 'YES' - 'NO' @@ -60,14 +62,14 @@ description: - Display both user-configured and dynamically learned services. appflowlog: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable logging of AppFlow information. cacheable: - type: raw + type: str choices: - 'YES' - 'NO' @@ -84,7 +86,7 @@ description: - Cache type supported by the cache server. cip: - type: raw + type: str choices: - ENABLED - DISABLED @@ -94,7 +96,7 @@ IP address for security, accounting, or other purposes, and setting the Use Source IP parameter is not a viable option. cipheader: - type: raw + type: str description: - Name for the HTTP header whose value must be set to the IP address of the client. Used with the Client IP parameter. If you set the Client IP parameter, @@ -105,7 +107,7 @@ If the global Client IP Header parameter is not specified, the appliance inserts a header with the name "client-ip." cka: - type: raw + type: str choices: - 'YES' - 'NO' @@ -117,27 +119,27 @@ - Port to which clear text data must be sent after the appliance decrypts incoming SSL traffic. Applicable to transparent SSL services. clttimeout: - type: raw + type: float description: - Time, in seconds, after which to terminate an idle client connection. cmp: - type: raw + type: str choices: - 'YES' - 'NO' description: - Enable compression for the service. comment: - type: raw + type: str description: - Any information about the service. contentinspectionprofilename: - type: raw + type: str description: - Name of the ContentInspection profile that contains IPS/IDS communication related setting for the service customserverid: - type: raw + type: str description: - Unique identifier for the service. Used when the persistency type for the virtual server is set to Custom Server ID. @@ -151,13 +153,13 @@ time expires, no requests are sent to the service, and the service is marked as unavailable (OUT OF SERVICE). dnsprofilename: - type: raw + type: str description: - Name of the DNS profile to be associated with the service. DNS profile properties will applied to the transactions processed by a service. This parameter is - valid only for ADNS and ADNS-TCP services. + valid only for ADNS, ADNS-TCP and ADNS-DOT services. downstateflush: - type: raw + type: str choices: - ENABLED - DISABLED @@ -174,12 +176,12 @@ - Shut down gracefully, not accepting any new connections, and disabling the service when all of its connections are closed. hashid: - type: raw + type: float description: - A numerical identifier that can be used by hash based load balancing methods. Must be unique for each service. healthmonitor: - type: raw + type: str choices: - 'YES' - 'NO' @@ -189,7 +191,7 @@ - C(NO) - Do not send probes to check the health of the service. With the C(NO) option, the appliance shows the service as UP at all times. httpprofilename: - type: raw + type: str description: - Name of the HTTP profile that contains HTTP configuration settings for the service. @@ -202,21 +204,21 @@ description: - The new IP address of the service. maxbandwidth: - type: raw + type: float description: - Maximum bandwidth, in Kbps, allocated to the service. maxclient: - type: raw + type: float description: - Maximum number of simultaneous open connections to the service. maxreq: - type: raw + type: float description: - Maximum number of requests that can be sent on a persistent connection to the service. - 'Note: Connection requests beyond this value are rejected.' monconnectionclose: - type: raw + type: str choices: - RESET - FIN @@ -228,19 +230,19 @@ description: - Name of the monitor bound to the specified service. monthreshold: - type: raw + type: float description: - Minimum sum of weights of the monitors that are bound to this service. Used to determine whether to mark a service as UP or DOWN. name: - type: raw + type: str description: - Name for the service. Must begin with an ASCII alphabetic or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash (#), period (.), space, colon (:), at (@), equals (=), and hyphen (-) characters. Cannot be changed after the service has been created. netprofile: - type: raw + type: str description: - Network profile to use for the service. newname: @@ -250,14 +252,14 @@ (_) character, and must contain only ASCII alphanumeric, underscore, hash (#), period (.), space, colon (:), at (@), equals (=), and hyphen (-) characters. pathmonitor: - type: raw + type: str choices: - 'YES' - 'NO' description: - Path monitoring for clustering pathmonitorindv: - type: raw + type: str choices: - 'YES' - 'NO' @@ -268,7 +270,7 @@ description: - Port number of the service. processlocal: - type: raw + type: str choices: - ENABLED - DISABLED @@ -277,8 +279,12 @@ not under go any steering. Turn this option for single packet request response mode or when the upstream device is performing a proper RSS for connection based distribution. + quicprofilename: + type: str + description: + - Name of QUIC profile which will be attached to the service. rtspsessionidremap: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -344,28 +350,31 @@ - MQTT - MQTT_TLS - QUIC_BRIDGE + - DOT + - ADNS_DOT + - HTTP_QUIC description: - Protocol in which data is exchanged with the service. sp: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Enable surge protection for the service. svrtimeout: - type: raw + type: float description: - Time, in seconds, after which to terminate an idle server connection. tcpb: - type: raw + type: str choices: - 'YES' - 'NO' description: - Enable TCP buffering for the service. tcpprofilename: - type: raw + type: str description: - Name of the TCP profile that contains TCP configuration settings for the service. td: @@ -375,7 +384,7 @@ to configure the entity. If you do not specify an ID, the entity becomes part of the default traffic domain, which has an ID of 0. useproxyport: - type: raw + type: str choices: - 'YES' - 'NO' @@ -386,7 +395,7 @@ - 'Note: This parameter is available only when the Use Source IP (USIP) parameter is set to C(YES).' usip: - type: raw + type: str choices: - 'YES' - 'NO' @@ -485,54 +494,20 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample service playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | service - delegate_to: localhost - netscaler.adc.service: - state: present - name: service-http - servicetype: HTTP - ipaddress: 172.18.0.4 - port: 5000 - - name: Sample Task | ipset-001 - delegate_to: localhost - netscaler.adc.ipset: - state: present - name: ipset-001 - - name: Sample Task | netProfile - delegate_to: localhost - netscaler.adc.netprofile: - state: present - name: test-netprofile - srcip: ipset-001 - mbf: DISABLED - - name: Sample Task | lbmonitor | 3 - delegate_to: localhost - tags: test - netscaler.adc.lbmonitor: - state: present - monitorname: test-monitor - type: TCP - interval: 15 - retries: 20 - - name: Setup services + - name: Configure service delegate_to: localhost - tags: test netscaler.adc.service: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - name: 10.123.123.123-tcp-12345 - servicetype: TCP - ipaddress: 10.123.123.123 - port: 12345 - healthmonitor: "NO" - netprofile: test-netprofile - service_lbmonitor_binding: - binding_members: - - monitor_name: test-monitor - name: 10.123.123.123-tcp-12345 + name: nshttpd-vpn-127.0.0.1-81 + cip: ENABLED """ RETURN = r""" diff --git a/plugins/modules/service_lbmonitor_binding.py b/plugins/modules/service_lbmonitor_binding.py index eff66f550..d5a5b5009 100644 --- a/plugins/modules/service_lbmonitor_binding.py +++ b/plugins/modules/service_lbmonitor_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: service_lbmonitor_binding short_description: Binding Resource definition for describing association between service and lbmonitor resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -70,6 +72,21 @@ """ EXAMPLES = r""" +--- +- name: Sample service_lbmonitor_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure service_lbmonitor_binding + delegate_to: localhost + netscaler.adc.service_lbmonitor_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: use1_sf1_ssl_svc + monitor_name: Storefront """ RETURN = r""" diff --git a/plugins/modules/servicegroup.py b/plugins/modules/servicegroup.py index 1f403d8a5..c5e6ed77a 100644 --- a/plugins/modules/servicegroup.py +++ b/plugins/modules/servicegroup.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: servicegroup short_description: Configuration for service group resource. description: Configuration for service group resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -43,14 +45,14 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str appflowlog: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable logging of AppFlow information for the specified service group. autodelayedtrofs: - type: raw + type: str choices: - 'YES' - 'NO' @@ -59,7 +61,7 @@ are removed from DNS response. System will wait for monitor response timeout period before moving to TROFS . autodisabledelay: - type: raw + type: float description: - The time allowed (in seconds) for a graceful shutdown. During this period, new connections or requests will continue to be sent to this service for clients @@ -69,7 +71,7 @@ among other available services. After the delay time expires, no new requests or connections will be sent to the service. autodisablegraceful: - type: raw + type: str choices: - 'YES' - 'NO' @@ -87,7 +89,7 @@ description: - Auto scale option for a servicegroup cacheable: - type: raw + type: str choices: - 'YES' - 'NO' @@ -104,14 +106,14 @@ description: - Cache type supported by the cache server. cip: - type: raw + type: str choices: - ENABLED - DISABLED description: - Insert the Client IP header in requests forwarded to the service. cipheader: - type: raw + type: str description: - Name of the HTTP header whose value must be set to the IP address of the client. Used with the Client IP parameter. If client IP insertion is enabled, and @@ -119,34 +121,34 @@ or the value set by the set ns config command is used as client's IP header name. cka: - type: raw + type: str choices: - 'YES' - 'NO' description: - Enable client keep-alive for the service group. clttimeout: - type: raw + type: float description: - Time, in seconds, after which to terminate an idle client connection. cmp: - type: raw + type: str choices: - 'YES' - 'NO' description: - Enable compression for the specified service. comment: - type: raw + type: str description: - Any information about the service group. customserverid: - type: raw + type: str description: - The identifier for this IP:Port pair. Used when the persistency type is set to Custom Server ID. dbsttl: - type: raw + type: float description: - Specify the TTL for DNS record for domain based service.The default value of ttl is 0 which indicates to use the TTL received in DNS response for monitors @@ -160,7 +162,7 @@ no requests are sent to the service, and the service is marked as unavailable (OUT OF SERVICE). downstateflush: - type: raw + type: str choices: - ENABLED - DISABLED @@ -169,7 +171,7 @@ group whose state transitions from UP to DOWN. Do not enable this option for applications that must complete their transactions. dup_weight: - type: raw + type: float description: - weight of the monitor that is bound to servicegroup. graceful: @@ -181,12 +183,12 @@ - Wait for all existing connections to the service to terminate before shutting down the service. hashid: - type: raw + type: float description: - The hash identifier for the service. This must be unique for each service. This parameter is used by hash based load balancing methods. healthmonitor: - type: raw + type: str choices: - 'YES' - 'NO' @@ -196,7 +198,7 @@ - C(NO) - Do not send probes to check the health of the service. With the C(NO) option, the appliance shows the service as UP at all times. httpprofilename: - type: raw + type: str description: - Name of the HTTP profile that contains HTTP configuration settings for the service group. @@ -209,16 +211,16 @@ details displayed when a service group name is provided, except that bound monitors are not displayed. maxbandwidth: - type: raw + type: float description: - Maximum bandwidth, in Kbps, allocated for all the services in the service group. maxclient: - type: raw + type: float description: - Maximum number of simultaneous open connections for the service group. maxreq: - type: raw + type: float description: - Maximum number of requests that can be sent on a persistent connection to the service group. @@ -228,7 +230,7 @@ description: - member port monconnectionclose: - type: raw + type: str choices: - RESET - FIN @@ -236,22 +238,22 @@ - Close monitoring connections by sending the service a connection termination message with the specified bit set. monitor_name_svc: - type: raw + type: str description: - Name of the monitor bound to the service group. Used to assign a weight to the monitor. monthreshold: - type: raw + type: float description: - Minimum sum of weights of the monitors that are bound to this service. Used to determine whether to mark a service as UP or DOWN. nameserver: - type: raw + type: str description: - Specify the nameserver to which the query for bound domain needs to be sent. If not specified, use the global nameserver netprofile: - type: raw + type: str description: - Network profile for the service group. newname: @@ -259,29 +261,33 @@ description: - New name for the service group. order: - type: raw + type: float description: - Order number to be assigned to the servicegroup member pathmonitor: - type: raw + type: str choices: - 'YES' - 'NO' description: - Path monitoring for clustering pathmonitorindv: - type: raw + type: str choices: - 'YES' - 'NO' description: - Individual Path monitoring decisions. port: - type: raw + type: int description: - Server port number. + quicprofilename: + type: str + description: + - Name of QUIC profile which will be attached to the service group. rtspsessionidremap: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -293,11 +299,11 @@ - The identifier for the service. This is used when the persistency type is set to Custom Server ID. servername: - type: raw + type: str description: - Name of the server to which to bind the service group. servicegroupname: - type: raw + type: str description: - Name of the service group. Must begin with an ASCII alphabetic or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash @@ -354,28 +360,31 @@ - MQTT - MQTT_TLS - QUIC_BRIDGE + - DOT + - ADNS_DOT + - HTTP_QUIC description: - Protocol used to exchange data with the service. sp: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Enable surge protection for the service group. svrtimeout: - type: raw + type: float description: - Time, in seconds, after which to terminate an idle server connection. tcpb: - type: raw + type: str choices: - 'YES' - 'NO' description: - Enable TCP buffering for the service group. tcpprofilename: - type: raw + type: str description: - Name of the TCP profile that contains TCP configuration settings for the service group. @@ -386,7 +395,7 @@ to configure the entity. If you do not specify an ID, the entity becomes part of the default traffic domain, which has an ID of 0. useproxyport: - type: raw + type: str choices: - 'YES' - 'NO' @@ -397,7 +406,7 @@ - 'Note: This parameter is available only when the Use Source IP (USIP) parameter is set to C(YES).' usip: - type: raw + type: str choices: - 'YES' - 'NO' @@ -407,7 +416,7 @@ address or subnet IP (SNIP) address is used as the source IP address to initiate server side connections. weight: - type: raw + type: float description: - Weight to assign to the servers in the service group. Specifies the capacity of the servers relative to the other servers in the load balancing configuration. @@ -468,30 +477,20 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample servicegroup playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Setup servers + - name: Configure servicegroup delegate_to: localhost - netscaler.adc.server: - state: present - name: foo.example.com - domain: foo.example.com - - name: Setup servicegroups - delegate_to: localhost - tags: test netscaler.adc.servicegroup: - state: absent - servicegroupname: test1-1 - servicetype: TCP - autoscale: DNS - healthmonitor: "YES" - servicegroup_servicegroupmember_binding: - binding_members: - - servername: foo.example.com - port: 443 - servicegroupname: test1-1 + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + servicegroupname: LB_ia_svcgrp13916 + servicetype: SSL """ RETURN = r""" diff --git a/plugins/modules/servicegroup_lbmonitor_binding.py b/plugins/modules/servicegroup_lbmonitor_binding.py index 8b4c2338d..f03317747 100644 --- a/plugins/modules/servicegroup_lbmonitor_binding.py +++ b/plugins/modules/servicegroup_lbmonitor_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: servicegroup_lbmonitor_binding short_description: Binding Resource definition for describing association between servicegroup and lbmonitor resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -98,6 +100,22 @@ """ EXAMPLES = r""" +--- +- name: Sample servicegroup_lbmonitor_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure servicegroup_lbmonitor_binding + delegate_to: localhost + netscaler.adc.servicegroup_lbmonitor_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + servicegroupname: LB_sergrp + monitor_name: LB_ia_mon8 + weight: '23' """ RETURN = r""" diff --git a/plugins/modules/servicegroup_servicegroupmember_binding.py b/plugins/modules/servicegroup_servicegroupmember_binding.py index 208ba68d0..8d4a92990 100644 --- a/plugins/modules/servicegroup_servicegroupmember_binding.py +++ b/plugins/modules/servicegroup_servicegroupmember_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: servicegroup_servicegroupmember_binding short_description: Binding Resource definition for describing association between servicegroup and servicegroupmember resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -94,6 +96,22 @@ """ EXAMPLES = r""" +--- +- name: Sample servicegroup_servicegroupmember_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure servicegroup_servicegroupmember_binding + delegate_to: localhost + netscaler.adc.servicegroup_servicegroupmember_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + servicegroupname: CR_SVG + ip: 172.168.1.20 + port: 80 """ RETURN = r""" diff --git a/plugins/modules/shutdown.py b/plugins/modules/shutdown.py new file mode 100644 index 000000000..b2ad2ef56 --- /dev/null +++ b/plugins/modules/shutdown.py @@ -0,0 +1,90 @@ +#!/usr/bin/python + +# -*- coding: utf-8 -*- + +# Copyright (c) 2023 Cloud Software Group, Inc. +# MIT License (see LICENSE or https://opensource.org/licenses/MIT) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + + +ANSIBLE_METADATA = { + "metadata_version": "1.1", + "status": ["preview"], + "supported_by": "community", +} + +DOCUMENTATION = r""" +--- +module: shutdown +short_description: Configuration for 0 resource. +description: Configuration for 0 resource. +version_added: 2.0.0 +author: + - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) +options: + state: + choices: [] + default: present + description: + - The state of the resource being configured by the module on the NetScaler + ADC node. + type: str +extends_documentation_fragment: netscaler.adc.netscaler_adc + +""" + +EXAMPLES = r""" +""" + +RETURN = r""" +--- +changed: + description: Indicates if any change is made by the module + returned: always + type: bool + sample: true +diff: + description: Dictionary of before and after changes + returned: always + type: dict + sample: {'before': {'key1': 'xyz'}, 'after': {'key2': 'pqr'}, 'prepared': 'changes + done'} +diff_list: + description: List of differences between the actual configured object and the configuration + specified in the module + returned: when changed + type: list + sample: ["Attribute `key1` differs. Desired: () XYZ. Existing: () PQR"] +failed: + description: Indicates if the module failed or not + returned: always + type: bool + sample: false +loglines: + description: list of logged messages by the module + returned: always + type: list + sample: ['message 1', 'message 2'] + +""" + + +import os + +from ..module_utils.module_executor import ModuleExecutor + +RESOURCE_NAME = os.path.basename(__file__).replace(".py", "") + + +def main(): + executor = ModuleExecutor(RESOURCE_NAME) + executor.main() + + +if __name__ == "__main__": + main() diff --git a/plugins/modules/smppparam.py b/plugins/modules/smppparam.py index 25c4b5b73..e017cf1fd 100644 --- a/plugins/modules/smppparam.py +++ b/plugins/modules/smppparam.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: smppparam short_description: Configuration for SMPP configuration parameters resource. description: Configuration for SMPP configuration parameters resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,21 +39,21 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str addrnpi: - type: raw + type: float description: - Numbering Plan Indicator, such as landline, data, or WAP client, used in the ESME address sent in the bind request. addrrange: - type: raw + type: str description: - Set of SME addresses, sent in the bind request, serviced by the ESME. addrton: - type: raw + type: float description: - Type of Number, such as an international number or a national number, used in the ESME address sent in the bind request. clientmode: - type: raw + type: str choices: - TRANSCEIVER - TRANSMITTERONLY @@ -64,7 +66,7 @@ - '* C(TRANSMITTERONLY) - Client can only send messages.' - '* C(RECEIVERONLY) - Client can only receive messages.' msgqueue: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -72,7 +74,7 @@ - Queue SMPP messages if a client that is capable of receiving the destination address messages is not available. msgqueuesize: - type: raw + type: float description: - Maximum number of SMPP messages that can be queued. After the limit is reached, the Citrix ADC sends a deliver_sm_resp PDU, with an appropriate error message, diff --git a/plugins/modules/smppuser.py b/plugins/modules/smppuser.py index 0bbab4582..bbf0a9a61 100644 --- a/plugins/modules/smppuser.py +++ b/plugins/modules/smppuser.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: smppuser short_description: Configuration for SMPP user resource. description: Configuration for SMPP user resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/snmpalarm.py b/plugins/modules/snmpalarm.py index 064cac1fc..7c1276c5f 100644 --- a/plugins/modules/snmpalarm.py +++ b/plugins/modules/snmpalarm.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: snmpalarm short_description: Configuration for alarm resource. description: Configuration for alarm resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -41,7 +43,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str logging: - type: raw + type: str choices: - ENABLED - DISABLED @@ -49,13 +51,13 @@ - Logging status of the alarm. When logging is enabled, the Citrix ADC logs every trap message that is generated for this alarm. normalvalue: - type: raw + type: float description: - Value for the normal threshold. A trap message is generated if the value of the respective attribute falls to or below this value after exceeding the high threshold. severity: - type: raw + type: str choices: - Critical - Major @@ -71,13 +73,13 @@ level lower than the specified level (in the trap listener entry) are not sent. thresholdvalue: - type: raw + type: float description: - Value for the high threshold. The Citrix ADC generates an SNMP trap message when the value of the attribute associated with the alarm is greater than or equal to the specified high threshold value. time: - type: raw + type: float description: - 'Interval, in seconds, at which the Citrix ADC generates SNMP trap messages when the conditions specified in the SNMP alarm are met.Can be specified for @@ -85,10 +87,10 @@ CLUSTER-NODE-HEALTH, CLUSTER-NODE-QUORUM, CLUSTER-VERSION-MISMATCH, CLUSTER-BKHB-FAILED, PORT-ALLOC-FAILED, COMPACT-FLASH-ERRORS, HARD-DISK-DRIVE-ERRORS and APPFW traps. Default trap time intervals: SYNFLOOD and APPFW traps = 1sec, PORT-ALLOC-FAILED - = 3600sec(1 hour), PORT-ALLOC-EXCEED = 3600sec(1 hour), Other Traps = 86400sec(1 - day)' + = 3600sec(1 hour), PORT-ALLOC-EXCEED = 3600sec(1 hour), SYSLOG-CONNECTION-DROPPED + = 3600sec(1 hour), Other Traps = 86400sec(1 day)' trapname: - type: raw + type: str choices: - CPU-USAGE - AVERAGE-CPU @@ -168,6 +170,14 @@ - APPFW-DEPLOY-RELAXATION-DP - APPFW-LEARNED-RULE-APPLIED-DYN-PROF - APPFW-CMD + - APPFW-SCHEMA-ENDPOINT-NOTFOUND + - APPFW-SCHEMA-METHOD-UNSUPPORTED + - APPFW-SCHEMA-PARAMETER-MISSING + - APPFW-SCHEMA-VALUE-INCORRECT + - APPFW-SCHEMA-CONTENTTYPE-UNSUPPORTED + - APPFW-SCHEMA-PARAMETER-INVALID + - APPFW-SCHEMA-OTHER + - APPFW-SCHEMA-RELAXATION-RULE - APPFW-POSTBODYLIMIT - APPFW-JSON-CMD - APPFW-SQL-GRAM @@ -237,6 +247,13 @@ - KEK_UPDATE_FAILURE - ADC-ANOMALY - SYSLOG-CONNECTION-DROPPED + - NSROOT_PASSWORD_EXPIRY_WARNING + - DNSSEC-KEY-AUTOMGMT-STATUS-FAILURE + - DNSSEC-KEY-AUTOMGMT-STATUS-SUCCESS + - CLOUD-REST-API-FAILURE + - SSL-ASYM-CRYPTO-UTILIZATION + - SSL-SYM-CRYPTO-UTILIZATION + - INTERFACE-AUTO-RECOVERY description: - Name of the SNMP alarm. This parameter is required for identifying the SNMP alarm and cannot be modified. @@ -245,6 +262,21 @@ """ EXAMPLES = r""" +--- +- name: Sample snmpalarm playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure snmpalarm + delegate_to: localhost + netscaler.adc.snmpalarm: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + trapname: SYSLOG-CONNECTION-DROPPED + time: 0 """ RETURN = r""" diff --git a/plugins/modules/snmpcommunity.py b/plugins/modules/snmpcommunity.py index 11379048c..c6ffdc8fb 100644 --- a/plugins/modules/snmpcommunity.py +++ b/plugins/modules/snmpcommunity.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: snmpcommunity short_description: Configuration for community resource. description: Configuration for community resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -61,6 +63,21 @@ """ EXAMPLES = r""" +--- +- name: Sample snmpcommunity playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure snmpcommunity + delegate_to: localhost + netscaler.adc.snmpcommunity: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + communityname: HP5U7#mmTW2&Yi48 + permissions: ALL """ RETURN = r""" diff --git a/plugins/modules/snmpengineid.py b/plugins/modules/snmpengineid.py index 14e661c91..6825571e4 100644 --- a/plugins/modules/snmpengineid.py +++ b/plugins/modules/snmpengineid.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: snmpengineid short_description: Configuration for SNMP engine id resource. description: Configuration for SNMP engine id resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -41,7 +43,7 @@ description: - A hexadecimal value of at least 10 characters, uniquely identifying the engineid ownernode: - type: raw + type: float description: - ID of the cluster node for which you are setting the engineid extends_documentation_fragment: netscaler.adc.netscaler_adc diff --git a/plugins/modules/snmpgroup.py b/plugins/modules/snmpgroup.py index ea6a8e9ff..0b1509565 100644 --- a/plugins/modules/snmpgroup.py +++ b/plugins/modules/snmpgroup.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: snmpgroup short_description: Configuration for SNMP group resource. description: Configuration for SNMP group resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -77,17 +79,21 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample snmpgroup playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | snmpgroup + - name: Configure snmpgroup delegate_to: localhost netscaler.adc.snmpgroup: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - name: v3_grp + name: ia_snmpgrp1 securitylevel: noAuthNoPriv - readviewname: v3_grp_view + readviewname: sample """ RETURN = r""" diff --git a/plugins/modules/snmpmanager.py b/plugins/modules/snmpmanager.py index b52084823..081a9cf3b 100644 --- a/plugins/modules/snmpmanager.py +++ b/plugins/modules/snmpmanager.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: snmpmanager short_description: Configuration for manager resource. description: Configuration for manager resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str domainresolveretry: - type: raw + type: int description: - Amount of time, in seconds, for which the Citrix ADC waits before sending another DNS query to resolve the host name of the SNMP manager if the last @@ -47,7 +49,7 @@ After a query succeeds, the TTL determines the wait time. The minimum and default value is 5. ipaddress: - type: raw + type: str description: - 'IP address of the SNMP manager. Can be an IPv4 or IPv6 address. You can instead specify an IPv4 network address or IPv6 network prefix if you want the Citrix @@ -58,7 +60,7 @@ - 'Note: The Citrix ADC does not support host names for SNMP managers that have IPv6 addresses.' netmask: - type: raw + type: str description: - Subnet mask associated with an IPv4 network address. If the IP address specifies the address or host name of a specific host, accept the default value of 255.255.255.255. @@ -67,6 +69,22 @@ """ EXAMPLES = r""" +--- +- name: Sample snmpmanager playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure snmpmanager + delegate_to: localhost + netscaler.adc.snmpmanager: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + ipaddress: + - citrix.com + domainresolveretry: 6 """ RETURN = r""" diff --git a/plugins/modules/snmpmib.py b/plugins/modules/snmpmib.py index ba4b4acb5..f28c3bd24 100644 --- a/plugins/modules/snmpmib.py +++ b/plugins/modules/snmpmib.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: snmpmib short_description: Configuration for SNMP mib resource. description: Configuration for SNMP mib resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,7 +39,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str contact: - type: raw + type: str description: - Name of the administrator for this Citrix ADC. Along with the name, you can include information on how to contact this person, such as a phone number @@ -49,7 +51,7 @@ - If the information includes one or more spaces, enclose it in double or single quotation marks (for example, "my contact" or 'my contact'). customid: - type: raw + type: str description: - Custom identification number for the Citrix ADC. Can consist of 1 to 127 characters that include uppercase and lowercase letters, numbers, and the hyphen (-), @@ -61,7 +63,7 @@ - If the ID includes one or more spaces, enclose it in double or single quotation marks (for example, "my ID" or 'my ID'). location: - type: raw + type: str description: - Physical location of the Citrix ADC. For example, you can specify building name, lab number, and rack number. Can consist of 1 to 127 characters that @@ -73,7 +75,7 @@ - If the location includes one or more spaces, enclose it in double or single quotation marks (for example, "my location" or 'my location'). name: - type: raw + type: str description: - Name for this Citrix ADC. Can consist of 1 to 127 characters that include uppercase and lowercase letters, numbers, and the hyphen (-), period (.) pound @@ -84,7 +86,7 @@ - If the name includes one or more spaces, enclose it in double or single quotation marks (for example, "my name" or 'my name'). ownernode: - type: raw + type: float description: - ID of the cluster node for which we are setting the mib. This is a mandatory argument to set snmp mib on CLIP. diff --git a/plugins/modules/snmpoption.py b/plugins/modules/snmpoption.py index a7d75941c..113d8a89c 100644 --- a/plugins/modules/snmpoption.py +++ b/plugins/modules/snmpoption.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: snmpoption short_description: Configuration for SNMP option resource. description: Configuration for SNMP option resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,7 +39,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str partitionnameintrap: - type: raw + type: str choices: - ENABLED - DISABLED @@ -45,7 +47,7 @@ - Send partition name as a varbind in traps. By default the partition names are not sent as a varbind. severityinfointrap: - type: raw + type: str choices: - ENABLED - DISABLED @@ -54,7 +56,7 @@ message. Enable this option to send severity level of trap as one of the varbind in the trap message. snmpset: - type: raw + type: str choices: - ENABLED - DISABLED @@ -62,7 +64,7 @@ - Accept SNMP SET requests sent to the Citrix ADC, and allow SNMP managers to write values to MIB objects that are configured for write access. snmptraplogging: - type: raw + type: str choices: - ENABLED - DISABLED @@ -71,7 +73,7 @@ if no trap listeners are configured. With the default setting, SNMP trap events are logged if at least one trap listener is configured on the appliance. snmptraplogginglevel: - type: raw + type: str choices: - EMERGENCY - ALERT diff --git a/plugins/modules/snmptrap.py b/plugins/modules/snmptrap.py index 24c156c06..c15708ede 100644 --- a/plugins/modules/snmptrap.py +++ b/plugins/modules/snmptrap.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: snmptrap short_description: Configuration for snmp trap resource. description: Configuration for snmp trap resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,14 +41,14 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str allpartitions: - type: raw + type: str choices: - ENABLED - DISABLED description: - Send traps of all partitions to this destination. communityname: - type: raw + type: str description: - 'Password (string) sent with the trap messages, so that the trap listener can authenticate them. Can include 1 to 31 uppercase or lowercase letters, @@ -59,13 +61,13 @@ - If the string includes one or more spaces, enclose the name in double or single quotation marks (for example, "my string" or 'my string'). destport: - type: raw + type: int description: - UDP port at which the trap listener listens for trap messages. This setting must match the setting on the trap listener. Otherwise, the listener drops the trap messages. severity: - type: raw + type: str choices: - Critical - Major @@ -81,7 +83,7 @@ - 'Important: Trap messages are not assigned severity levels unless you specify severity levels when configuring SNMP alarms.' srcip: - type: raw + type: str description: - IPv4 or IPv6 address that the Citrix ADC inserts as the source IP address in all SNMP trap messages that it sends to this trap listener. By default @@ -90,13 +92,13 @@ node's NSIP, but it can be set to CLIP or Striped SNIP address. In non default partition, this parameter must be set to the SNIP/SNIP6 address. td: - type: raw + type: float description: - Integer value that uniquely identifies the traffic domain in which you want to configure the entity. If you do not specify an ID, the entity becomes part of the default traffic domain, which has an ID of 0. trapclass: - type: raw + type: str choices: - generic - specific @@ -104,12 +106,12 @@ - 'Type of trap messages that the Citrix ADC sends to the trap listener: Generic or the enterprise-C(specific) messages defined in the MIB file.' trapdestination: - type: raw + type: str description: - IPv4 or the IPv6 address of the trap listener to which the Citrix ADC is to send SNMP trap messages. version: - type: raw + type: str choices: - V1 - V2 @@ -150,17 +152,22 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample snmptrap playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | snmptrap + - name: Configure snmptrap delegate_to: localhost netscaler.adc.snmptrap: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - trapclass: generic - trapdestination: 10.10.10.10 - version: V3 + trapclass: specific + trapdestination: + - 10.189.64.10 + communityname: snmp allpartitions: ENABLED """ diff --git a/plugins/modules/snmptrap_snmpuser_binding.py b/plugins/modules/snmptrap_snmpuser_binding.py index 6b8a01a40..5654600da 100644 --- a/plugins/modules/snmptrap_snmpuser_binding.py +++ b/plugins/modules/snmptrap_snmpuser_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: snmptrap_snmpuser_binding short_description: Binding Resource definition for describing association between snmptrap and snmpuser resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/snmpuser.py b/plugins/modules/snmpuser.py index 5e1b0b571..99da8bf0e 100644 --- a/plugins/modules/snmpuser.py +++ b/plugins/modules/snmpuser.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: snmpuser short_description: Configuration for SNMP user resource. description: Configuration for SNMP user resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str authpasswd: - type: raw + type: str description: - Plain-text pass phrase to be used by the authentication algorithm specified by the authType (Authentication Type) parameter. Can consist of 1 to 31 characters @@ -51,10 +53,12 @@ - If the pass phrase includes one or more spaces, enclose it in double or single quotation marks (for example, "my phrase" or 'my phrase'). authtype: - type: raw + type: str choices: - MD5 - SHA + - SHA256 + - SHA512 description: - Authentication algorithm used by the Citrix ADC and the SNMPv3 user for authenticating the communication between them. You must specify the same authentication algorithm @@ -66,7 +70,7 @@ access rights (bound SNMPv3 views) and security level set for this group are assigned to this user. name: - type: raw + type: str description: - Name for the SNMPv3 user. Can consist of 1 to 31 characters that include uppercase and lowercase letters, numbers, and the hyphen (-), period (.) pound (#), @@ -76,7 +80,7 @@ - If the name includes one or more spaces, enclose it in double or single quotation marks (for example, "my user" or 'my user'). privpasswd: - type: raw + type: str description: - Encryption key to be used by the encryption algorithm specified by the privType (Encryption Type) parameter. Can consist of 1 to 31 characters that include @@ -87,10 +91,12 @@ - If the key includes one or more spaces, enclose it in double or single quotation marks (for example, "my key" or 'my key'). privtype: - type: raw + type: str choices: - DES - AES + - AES192 + - AES256 description: - Encryption algorithm used by the Citrix ADC and the SNMPv3 user for encrypting the communication between them. You must specify the same encryption algorithm @@ -101,16 +107,24 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample snmpuser playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | snmpuser + - name: Configure snmpuser delegate_to: localhost netscaler.adc.snmpuser: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - name: v3 - group: v3_grp + name: ia_snmpuser3 + group: ia_group1 + authtype: MD5 + authpasswd: freebsd_1 + privtype: DES + privpasswd: freebsd_1 """ RETURN = r""" diff --git a/plugins/modules/snmpview.py b/plugins/modules/snmpview.py index ca894321a..97920db3d 100644 --- a/plugins/modules/snmpview.py +++ b/plugins/modules/snmpview.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: snmpview short_description: Configuration for view resource. description: Configuration for view resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -68,16 +70,20 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample snmpview playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | snmpview + - name: Configure snmpview delegate_to: localhost netscaler.adc.snmpview: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - name: v3_grp_view - subtree: '1' + name: ia_snmpview1 + subtree: 1.3.6.1.4.1.5951.4.1.1.20 type: included """ diff --git a/plugins/modules/spilloveraction.py b/plugins/modules/spilloveraction.py index d26e7d5d5..f2f87edbd 100644 --- a/plugins/modules/spilloveraction.py +++ b/plugins/modules/spilloveraction.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: spilloveraction short_description: Configuration for Spillover action resource. description: Configuration for Spillover action resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/spilloverpolicy.py b/plugins/modules/spilloverpolicy.py index f49d5865a..9da1399ba 100644 --- a/plugins/modules/spilloverpolicy.py +++ b/plugins/modules/spilloverpolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: spilloverpolicy short_description: Configuration for Spillover policy resource. description: Configuration for Spillover policy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -44,11 +46,11 @@ - Action for the spillover policy. Action is created using add spillover action command comment: - type: raw + type: str description: - Any comments that you might want to associate with the spillover policy. name: - type: raw + type: str description: - Name of the spillover policy. newname: diff --git a/plugins/modules/sslaction.py b/plugins/modules/sslaction.py index 9c66e7e9b..3ceefbad5 100644 --- a/plugins/modules/sslaction.py +++ b/plugins/modules/sslaction.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: sslaction short_description: Configuration for SSL action resource. description: Configuration for SSL action resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -231,6 +233,22 @@ """ EXAMPLES = r""" +--- +- name: Sample sslaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslaction + delegate_to: localhost + netscaler.adc.sslaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: _XM_MDM_titan.dnpg-blr.com_ACTION + clientcert: ENABLED + certheader: NSClientCert """ RETURN = r""" diff --git a/plugins/modules/sslcacertbundle.py b/plugins/modules/sslcacertbundle.py new file mode 100644 index 000000000..8faa84737 --- /dev/null +++ b/plugins/modules/sslcacertbundle.py @@ -0,0 +1,112 @@ +#!/usr/bin/python + +# -*- coding: utf-8 -*- + +# Copyright (c) 2023 Cloud Software Group, Inc. +# MIT License (see LICENSE or https://opensource.org/licenses/MIT) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + + +ANSIBLE_METADATA = { + "metadata_version": "1.1", + "status": ["preview"], + "supported_by": "community", +} + +DOCUMENTATION = r""" +--- +module: sslcacertbundle +short_description: Configuration for CA certbundle resource. +description: Configuration for CA certbundle resource. +version_added: 2.0.0 +author: + - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) +options: + state: + choices: + - present + - absent + default: present + description: + - The state of the resource being configured by the module on the NetScaler + ADC node. + - When C(present), the resource will be added/updated configured according to + the module's parameters. + - When C(absent), the resource will be deleted from the NetScaler ADC node. + type: str + bundlefile: + type: str + description: + - Name of and, optionally, path to the X509 CA certificate bundle file that + is used to form cacertbundle entity. The CA certificate bundle file should + be present on the appliance's hard-disk drive or solid-state drive. /nsconfig/ssl/ + is the default path. The CA certificate bundle file consists of list of certificates. + cacertbundlename: + type: str + description: + - 'Name given to the CA certbundle. The name will be used for bind/unbind/update + operations. Must begin with an ASCII alphanumeric or underscore (_) character, + and must contain only ASCII alphanumeric, underscore, hash (#), period (.), + space, colon (:), at (@), equals (=), and hyphen (-) characters. The following + requirement applies only to the Citrix ADC CLI: If the name includes one or + more spaces, enclose the name in double or single quotation marks (for example, + "my file" or ''my file'').' +extends_documentation_fragment: netscaler.adc.netscaler_adc + +""" + +EXAMPLES = r""" +""" + +RETURN = r""" +--- +changed: + description: Indicates if any change is made by the module + returned: always + type: bool + sample: true +diff: + description: Dictionary of before and after changes + returned: always + type: dict + sample: {'before': {'key1': 'xyz'}, 'after': {'key2': 'pqr'}, 'prepared': 'changes + done'} +diff_list: + description: List of differences between the actual configured object and the configuration + specified in the module + returned: when changed + type: list + sample: ["Attribute `key1` differs. Desired: () XYZ. Existing: () PQR"] +failed: + description: Indicates if the module failed or not + returned: always + type: bool + sample: false +loglines: + description: list of logged messages by the module + returned: always + type: list + sample: ['message 1', 'message 2'] + +""" + + +import os + +from ..module_utils.module_executor import ModuleExecutor + +RESOURCE_NAME = os.path.basename(__file__).replace(".py", "") + + +def main(): + executor = ModuleExecutor(RESOURCE_NAME) + executor.main() + + +if __name__ == "__main__": + main() diff --git a/plugins/modules/sslcacertgroup.py b/plugins/modules/sslcacertgroup.py index d29450a94..4fb95dbcd 100644 --- a/plugins/modules/sslcacertgroup.py +++ b/plugins/modules/sslcacertgroup.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: sslcacertgroup short_description: Configuration for Group of CA certificate-key pairs resource. description: Configuration for Group of CA certificate-key pairs resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/sslcacertgroup_sslcertkey_binding.py b/plugins/modules/sslcacertgroup_sslcertkey_binding.py index 8061a11d9..7cc1a45a9 100644 --- a/plugins/modules/sslcacertgroup_sslcertkey_binding.py +++ b/plugins/modules/sslcacertgroup_sslcertkey_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: sslcacertgroup_sslcertkey_binding short_description: Binding Resource definition for describing association between sslcacertgroup and sslcertkey resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/sslcert.py b/plugins/modules/sslcert.py index 948f5bc64..fdb423723 100644 --- a/plugins/modules/sslcert.py +++ b/plugins/modules/sslcert.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: sslcert short_description: Configuration for cerificate resource. description: Configuration for cerificate resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -170,21 +172,30 @@ """ EXAMPLES = r""" -- name: Create ssl cert certname.cert - delegate_to: localhost - netscaler.adc.sslcert: - state: created - certfile: certname.cert - reqfile: certname.csr - keyform: PEM - days: 1480 - certform: PEM - cacert: root_cert.cert - cacertform: PEM - cakey: root_cert.key - cakeyform: PEM - caserial: root_cert.srl - certtype: SRVR_CERT +--- +- name: Sample sslcert playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslcert + delegate_to: localhost + netscaler.adc.sslcert: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + certfile: ssl_rsa_der_cert + reqfile: ssl_rsa_der_csr + certtype: ROOT_CERT + keyfile: ssl_rsa_der_key + keyform: DER + days: '3650' + certform: DER + cacertform: PEM + cakeyform: PEM + nitro_operation: create + '#nitro_operation': create """ RETURN = r""" diff --git a/plugins/modules/sslcertbundle.py b/plugins/modules/sslcertbundle.py index d2405530f..f508eb863 100644 --- a/plugins/modules/sslcertbundle.py +++ b/plugins/modules/sslcertbundle.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: sslcertbundle short_description: Configuration for Imported Certbundle resource. description: Configuration for Imported Certbundle resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -50,7 +52,9 @@ - URL specifying the protocol, host, and path, including file name, to the certificate bundle to be imported or exported. For example, http://www.example.com/cert_bundle_file. - 'NOTE: The import fails if the object to be imported is on an HTTPS server - that requires client certificate authentication for access.' + that requires client certificate authentication for access, and the issuer + certificate of the HTTPS server is not present in the specific path on NetScaler + to authenticate the HTTPS server.' extends_documentation_fragment: netscaler.adc.netscaler_adc """ diff --git a/plugins/modules/sslcertfile.py b/plugins/modules/sslcertfile.py index 6601bf5ea..b11af4498 100644 --- a/plugins/modules/sslcertfile.py +++ b/plugins/modules/sslcertfile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: sslcertfile short_description: Configuration for Imported Certfile resource. description: Configuration for Imported Certfile resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -50,37 +52,14 @@ - URL specifying the protocol, host, and path, including file name, to the certificate file to be imported. For example, http://www.example.com/cert_file. - 'NOTE: The import fails if the object to be imported is on an HTTPS server - that requires client certificate authentication for access.' + that requires client certificate authentication for access, and the issuer + certificate of the HTTPS server is not present in the specific path on NetScaler + to authenticate the HTTPS server.' extends_documentation_fragment: netscaler.adc.netscaler_adc """ EXAMPLES = r""" ---- -- name: Sample Playbook - hosts: localhost - gather_facts: false - tasks: - - name: Sample Task | Copy certfile to netscaler - delegate_to: localhost - netscaler.adc.systemfile: - state: present - filecontent: "{{ lookup('file', '../tests/data/test-certfile.crt') | b64encode - }}" - filelocation: /var/tmp/ - filename: test-certfile.crt - - name: Sample Task | import sslcertfile - delegate_to: localhost - netscaler.adc.sslcertfile: - state: imported - name: ansible-test.crt - src: local:test-certfile.crt # `local:` means `/var/tmp/` in netscaler - # src: http://10.06.10.10:8000/test-certfile.crt - - name: Sample Task | remove sslcertfile - delegate_to: localhost - netscaler.adc.sslcertfile: - state: absent - name: ansible-test.crt """ RETURN = r""" diff --git a/plugins/modules/sslcertificatechain.py b/plugins/modules/sslcertificatechain.py index ce47f3b6f..2524043fe 100644 --- a/plugins/modules/sslcertificatechain.py +++ b/plugins/modules/sslcertificatechain.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: sslcertificatechain short_description: Configuration for linked certificate resource. description: Configuration for linked certificate resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/sslcertkey.py b/plugins/modules/sslcertkey.py index c5707c054..0b0f558fd 100644 --- a/plugins/modules/sslcertkey.py +++ b/plugins/modules/sslcertkey.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: sslcertkey short_description: Configuration for certificate key resource. description: Configuration for certificate key resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -55,7 +57,7 @@ any location other than the default might cause inconsistency in a high availability setup. /nsconfig/ssl/ is the default path. certkey: - type: raw + type: str description: - Name for the certificate and private-key pair. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, @@ -70,7 +72,7 @@ description: - Delete cert/key file from file system. expirymonitor: - type: raw + type: str choices: - ENABLED - DISABLED @@ -116,7 +118,7 @@ description: - Override the check for matching domain names during a certificate update operation. notificationperiod: - type: raw + type: float description: - Time, in number of days, before certificate expiration, at which to generate an alert that the certificate is about to expire. @@ -164,14 +166,23 @@ """ EXAMPLES = r""" -- name: Create and link server ssl certkey - delegate_to: localhost - netscaler.adc.sslcertkey: - state: present - certkey: test-certkey - cert: test-cert.cert - key: test-cert.key - linkcertkeyname: root-certkey # This will link the root certkey to the server certkey +--- +- name: Sample sslcertkey playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslcertkey + delegate_to: localhost + netscaler.adc.sslcertkey: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + certkey: callback.blackstone.com + linkcertkeyname: blackstone_sub + nitro_operation: link + '#nitro_operation': link """ RETURN = r""" diff --git a/plugins/modules/sslcertkey_sslocspresponder_binding.py b/plugins/modules/sslcertkey_sslocspresponder_binding.py index 66d63e13c..bce6dd69a 100644 --- a/plugins/modules/sslcertkey_sslocspresponder_binding.py +++ b/plugins/modules/sslcertkey_sslocspresponder_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: sslcertkey_sslocspresponder_binding short_description: Binding Resource definition for describing association between sslcertkey and sslocspresponder resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -62,6 +64,20 @@ """ EXAMPLES = r""" +--- +- name: Sample sslcertkey_sslocspresponder_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslcertkey_sslocspresponder_binding + delegate_to: localhost + netscaler.adc.sslcertkey_sslocspresponder_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + certkey: baluVpn2 """ RETURN = r""" diff --git a/plugins/modules/sslcertkeybundle.py b/plugins/modules/sslcertkeybundle.py index 0fb1a3960..368825068 100644 --- a/plugins/modules/sslcertkeybundle.py +++ b/plugins/modules/sslcertkeybundle.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: sslcertkeybundle short_description: Configuration for certkey bundle resource. description: Configuration for certkey bundle resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -64,6 +66,22 @@ """ EXAMPLES = r""" +--- +- name: Sample sslcertkeybundle playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslcertkeybundle + delegate_to: localhost + netscaler.adc.sslcertkeybundle: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + certkeybundlename: tc11 + bundlefile: bundle_files/enc_cert.pem + passplain: '123456' """ RETURN = r""" diff --git a/plugins/modules/sslcertreq.py b/plugins/modules/sslcertreq.py index 4ed25ecb0..11947b348 100644 --- a/plugins/modules/sslcertreq.py +++ b/plugins/modules/sslcertreq.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: sslcertreq short_description: Configuration for certificate request resource. description: Configuration for certificate request resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -140,23 +142,37 @@ within the Subject field of the main certificate.)' - ' 5. Directory names (alternative Distinguished Names to that given in the Subject)' + - Example:-subjectAltName "DNS:*.example.com DNS:www.example.org" extends_documentation_fragment: netscaler.adc.netscaler_adc """ EXAMPLES = r""" -- name: Create ssl certReq certname.csr - delegate_to: localhost - netscaler.adc.sslcertreq: - state: created - reqfile: certname.csr - keyfile: certname.key - keyform: PEM - countryname: IN - statename: KAR - organizationname: example - commonname: example - emailaddress: test1@example.com +--- +- name: Sample sslcertreq playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslcertreq + delegate_to: localhost + netscaler.adc.sslcertreq: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + reqfile: ssl_rsa_der_csr + keyfile: ssl_rsa_der_key + keyform: DER + countryname: US + statename: asda + organizationname: asdad + organizationunitname: adsada + localityname: adsad + commonname: asdsad + emailaddress: adsad + nitro_operation: create + '#nitro_operation': create """ RETURN = r""" diff --git a/plugins/modules/sslcipher.py b/plugins/modules/sslcipher.py index c539f769d..b85278f55 100644 --- a/plugins/modules/sslcipher.py +++ b/plugins/modules/sslcipher.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: sslcipher short_description: Configuration for cipher resource. description: Configuration for cipher resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str ciphergroupname: - type: raw + type: str description: - Name for the user-defined cipher group. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, @@ -50,11 +52,11 @@ - If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my ciphergroup" or 'my ciphergroup'). ciphername: - type: raw + type: str description: - Cipher name. cipherpriority: - type: raw + type: float description: - This indicates priority assigned to the particular cipher ciphgrpalias: @@ -99,6 +101,20 @@ """ EXAMPLES = r""" +--- +- name: Sample sslcipher playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslcipher + delegate_to: localhost + netscaler.adc.sslcipher: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + ciphergroupname: ssllabs-blackstone """ RETURN = r""" diff --git a/plugins/modules/sslcipher_sslciphersuite_binding.py b/plugins/modules/sslcipher_sslciphersuite_binding.py index 207f9c3e4..6081addff 100644 --- a/plugins/modules/sslcipher_sslciphersuite_binding.py +++ b/plugins/modules/sslcipher_sslciphersuite_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: sslcipher_sslciphersuite_binding short_description: Binding Resource definition for describing association between sslcipher and sslciphersuite resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -41,14 +43,7 @@ ciphergroupname: type: str description: - - Name for the user-defined cipher group. Must begin with an ASCII alphanumeric - or underscore (_) character, and must contain only ASCII alphanumeric, underscore, - hash (#), period (.), space, colon (:), at (@), equals (=), and hyphen (-) - characters. Cannot be changed after the cipher group is created. - - '' - - 'The following requirement applies only to the Citrix ADC CLI:' - - If the name includes one or more spaces, enclose the name in double or single - quotation marks (for example, "my ciphergroup" or 'my ciphergroup'). + - Name of the user-defined cipher group. ciphername: type: str description: @@ -87,6 +82,22 @@ """ EXAMPLES = r""" +--- +- name: Sample sslcipher_sslciphersuite_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslcipher_sslciphersuite_binding + delegate_to: localhost + netscaler.adc.sslcipher_sslciphersuite_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + ciphergroupname: ssllabs-blackstone + ciphername: TLS1.2-DHE-RSA-AES256-GCM-SHA384 + cipherpriority: '14' """ RETURN = r""" diff --git a/plugins/modules/sslcrl.py b/plugins/modules/sslcrl.py index 14969a0cf..9135e55b6 100644 --- a/plugins/modules/sslcrl.py +++ b/plugins/modules/sslcrl.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: sslcrl short_description: Configuration for Certificate Revocation List resource. description: Configuration for Certificate Revocation List resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -41,27 +43,27 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str basedn: - type: raw + type: str description: - Base distinguished name (DN), which is used in an LDAP search to search for a CRL. Citrix recommends searching for the Base DN instead of the Issuer Name from the CA certificate, because the Issuer Name field might not exactly match the LDAP directory structure's DN. binary: - type: raw + type: str choices: - 'YES' - 'NO' description: - Set the LDAP-based CRL retrieval mode to binary. binddn: - type: raw + type: str description: - Bind distinguished name (DN) to be used to access the CRL object in the LDAP repository if access to the LDAP repository is restricted or anonymous access is not allowed. cacert: - type: raw + type: str description: - CA certificate that has issued the CRL. Required if CRL Auto Refresh is selected. Install the CA certificate on the appliance before adding the CRL. @@ -76,7 +78,7 @@ - Name of and, optionally, path to the CA key file. /nsconfig/ssl/ is the default path crlname: - type: raw + type: str description: - Name for the Certificate Revocation List (CRL). Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, @@ -91,7 +93,7 @@ description: - Path to the CRL file. /var/netscaler/ssl/ is the default path. day: - type: raw + type: float description: - Day on which to refresh the CRL, or, if the Interval parameter is not set, the number of days after which to refresh the CRL. If Interval is set to MONTHLY, @@ -121,7 +123,7 @@ - C(PEM) - Privacy Enhanced Mail. - C(DER) - Distinguished Encoding Rule. interval: - type: raw + type: str choices: - MONTHLY - WEEKLY @@ -131,7 +133,7 @@ description: - CRL refresh interval. Use the C(NONE) setting to unset this parameter. method: - type: raw + type: str choices: - HTTP - LDAP @@ -140,16 +142,16 @@ base DN, port, and C(LDAP) server name. If C(HTTP) is selected, specify the CA certificate, method, URL, and port. Cannot be changed after a CRL is added. password: - type: raw + type: str description: - Password to access the CRL in the LDAP repository if access to the LDAP repository is restricted or anonymous access is not allowed. port: - type: raw + type: int description: - Port for the LDAP server. refresh: - type: raw + type: str choices: - ENABLED - DISABLED @@ -161,7 +163,7 @@ - Name of and, optionally, path to the certificate to be revoked. /nsconfig/ssl/ is the default path. scope: - type: raw + type: str choices: - Base - One @@ -171,15 +173,15 @@ - C(One) - C(One) level below C(Base) DN. - C(Base) - Exactly the same level as C(Base) DN. server: - type: raw + type: str description: - IP address of the LDAP server from which to fetch the CRLs. time: - type: raw + type: str description: - Time, in hours (1-24) and minutes (1-60), at which to refresh the CRL. url: - type: raw + type: str description: - URL of the CRL distribution point. extends_documentation_fragment: netscaler.adc.netscaler_adc @@ -187,6 +189,32 @@ """ EXAMPLES = r""" +--- +- name: Sample sslcrl playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslcrl + delegate_to: localhost + netscaler.adc.sslcrl: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + crlname: crl_test_ldap1 + refresh: ENABLED + cacert: ssl_cacert + server: 2.2.2.10 + method: LDAP + port: 389 + basedn: cn=ldap_new_crl_pem,ou=dsd,o=ns,c=in + scope: Base + day: '23' + time: 00:01 + binddn: cn=Manager,dc=netscaler,dc=com + password: free + binary: 'YES' """ RETURN = r""" diff --git a/plugins/modules/sslcrlfile.py b/plugins/modules/sslcrlfile.py index e65209a93..45d5974d1 100644 --- a/plugins/modules/sslcrlfile.py +++ b/plugins/modules/sslcrlfile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: sslcrlfile short_description: Configuration for Imported crl files resource. description: Configuration for Imported crl files resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -50,7 +52,9 @@ - URL specifying the protocol, host, and path, including file name to the CRL file to be imported. For example, http://www.example.com/crl_file. - 'NOTE: The import fails if the object to be imported is on an HTTPS server - that requires client certificate authentication for access.' + that requires client certificate authentication for access, and the issuer + certificate of the HTTPS server is not present in the specific path on NetScaler + to authenticate the HTTPS server.' extends_documentation_fragment: netscaler.adc.netscaler_adc """ diff --git a/plugins/modules/ssldefaultprofile.py b/plugins/modules/ssldefaultprofile.py new file mode 100644 index 000000000..e07f4ab90 --- /dev/null +++ b/plugins/modules/ssldefaultprofile.py @@ -0,0 +1,90 @@ +#!/usr/bin/python + +# -*- coding: utf-8 -*- + +# Copyright (c) 2023 Cloud Software Group, Inc. +# MIT License (see LICENSE or https://opensource.org/licenses/MIT) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + + +ANSIBLE_METADATA = { + "metadata_version": "1.1", + "status": ["preview"], + "supported_by": "community", +} + +DOCUMENTATION = r""" +--- +module: ssldefaultprofile +short_description: Configuration for 0 resource. +description: Configuration for 0 resource. +version_added: 2.0.0 +author: + - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) +options: + state: + choices: [] + default: present + description: + - The state of the resource being configured by the module on the NetScaler + ADC node. + type: str +extends_documentation_fragment: netscaler.adc.netscaler_adc + +""" + +EXAMPLES = r""" +""" + +RETURN = r""" +--- +changed: + description: Indicates if any change is made by the module + returned: always + type: bool + sample: true +diff: + description: Dictionary of before and after changes + returned: always + type: dict + sample: {'before': {'key1': 'xyz'}, 'after': {'key2': 'pqr'}, 'prepared': 'changes + done'} +diff_list: + description: List of differences between the actual configured object and the configuration + specified in the module + returned: when changed + type: list + sample: ["Attribute `key1` differs. Desired: () XYZ. Existing: () PQR"] +failed: + description: Indicates if the module failed or not + returned: always + type: bool + sample: false +loglines: + description: list of logged messages by the module + returned: always + type: list + sample: ['message 1', 'message 2'] + +""" + + +import os + +from ..module_utils.module_executor import ModuleExecutor + +RESOURCE_NAME = os.path.basename(__file__).replace(".py", "") + + +def main(): + executor = ModuleExecutor(RESOURCE_NAME) + executor.main() + + +if __name__ == "__main__": + main() diff --git a/plugins/modules/ssldhfile.py b/plugins/modules/ssldhfile.py index 7948b3536..2d97708f3 100644 --- a/plugins/modules/ssldhfile.py +++ b/plugins/modules/ssldhfile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: ssldhfile short_description: Configuration for dh imported file resource. description: Configuration for dh imported file resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -49,8 +51,10 @@ description: - URL specifying the protocol, host, and path, including file name, to the DH file to be imported. For example, http://www.example.com/dh_file. - - 'NOTE: The import fails if the file is on an HTTPS server that requires client - certificate authentication for access.' + - 'NOTE: The import fails if the object to be imported is on an HTTPS server + that requires client certificate authentication for access, and the issuer + certificate of the HTTPS server is not present in the specific path on NetScaler + to authenticate the HTTPS server.' extends_documentation_fragment: netscaler.adc.netscaler_adc """ diff --git a/plugins/modules/ssldhparam.py b/plugins/modules/ssldhparam.py index 874c455d9..f0ee1937e 100644 --- a/plugins/modules/ssldhparam.py +++ b/plugins/modules/ssldhparam.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: ssldhparam short_description: Configuration for dh Parameter resource. description: Configuration for dh Parameter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -55,6 +57,24 @@ """ EXAMPLES = r""" +--- +- name: Sample ssldhparam playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure ssldhparam + delegate_to: localhost + netscaler.adc.ssldhparam: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + dhfile: dfile + bits: '512' + gen: '2' + nitro_operation: create + '#nitro_operation': create """ RETURN = r""" diff --git a/plugins/modules/ssldtlsprofile.py b/plugins/modules/ssldtlsprofile.py index 7c0d093f0..b56a4b7b4 100644 --- a/plugins/modules/ssldtlsprofile.py +++ b/plugins/modules/ssldtlsprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: ssldtlsprofile short_description: Configuration for DTLS profile resource. description: Configuration for DTLS profile resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,44 +41,48 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str helloverifyrequest: - type: raw + type: str choices: - ENABLED - DISABLED description: - Send a Hello Verify request to validate the client. + initialretrytimeout: + type: float + description: + - Initial time out value to retransmit the last flight sent from the NetScaler. maxbadmacignorecount: - type: raw + type: float description: - Maximum number of bad MAC errors to ignore for a connection prior disconnect. Disabling parameter terminateSession terminates session immediately when bad MAC is detected in the connection. maxholdqlen: - type: raw + type: float description: - Maximum number of datagrams that can be queued at DTLS layer for processing maxpacketsize: - type: raw + type: float description: - Maximum number of packets to reassemble. This value helps protect against a fragmented packet attack. maxrecordsize: - type: raw + type: float description: - Maximum size of records that can be sent if PMTU is disabled. maxretrytime: - type: raw + type: float description: - Wait for the specified time, in seconds, before resending the request. name: - type: raw + type: str description: - Name for the DTLS profile. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash (#), period (.), space, colon (:), at (@),equals sign (=), and hyphen (-) characters. Cannot be changed after the profile is created. pmtudiscovery: - type: raw + type: str choices: - ENABLED - DISABLED @@ -84,7 +90,7 @@ - Source for the maximum record size value. If C(ENABLED), the value is taken from the PMTU table. If C(DISABLED), the value is taken from the profile. terminatesession: - type: raw + type: str choices: - ENABLED - DISABLED diff --git a/plugins/modules/sslecdsakey.py b/plugins/modules/sslecdsakey.py index 0a30dc942..01fc4c5c0 100644 --- a/plugins/modules/sslecdsakey.py +++ b/plugins/modules/sslecdsakey.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: sslecdsakey short_description: Configuration for ecdsa key resource. description: Configuration for ecdsa key resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/sslfips.py b/plugins/modules/sslfips.py index e054c6e1a..2066a2cb3 100644 --- a/plugins/modules/sslfips.py +++ b/plugins/modules/sslfips.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: sslfips short_description: Configuration for fips resource. description: Configuration for fips resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -41,7 +43,7 @@ description: - Path to the FIPS firmware file. hsmlabel: - type: raw + type: str description: - Label to identify the Hardware Security Module (HSM). inithsm: diff --git a/plugins/modules/sslfipskey.py b/plugins/modules/sslfipskey.py index 6ac00ffeb..8eab45966 100644 --- a/plugins/modules/sslfipskey.py +++ b/plugins/modules/sslfipskey.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: sslfipskey short_description: Configuration for FIPS key resource. description: Configuration for FIPS key resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/sslfipssimsource.py b/plugins/modules/sslfipssimsource.py index 354333169..9ddd94452 100644 --- a/plugins/modules/sslfipssimsource.py +++ b/plugins/modules/sslfipssimsource.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: sslfipssimsource short_description: Configuration for FIPsSIM source resource. description: Configuration for FIPsSIM source resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/sslfipssimtarget.py b/plugins/modules/sslfipssimtarget.py index ef9be4440..3fdfd7bdb 100644 --- a/plugins/modules/sslfipssimtarget.py +++ b/plugins/modules/sslfipssimtarget.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: sslfipssimtarget short_description: Configuration for FIPS SIM Target resource. description: Configuration for FIPS SIM Target resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/sslglobal_sslpolicy_binding.py b/plugins/modules/sslglobal_sslpolicy_binding.py index c65168d23..dc9d7c760 100644 --- a/plugins/modules/sslglobal_sslpolicy_binding.py +++ b/plugins/modules/sslglobal_sslpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: sslglobal_sslpolicy_binding short_description: Binding Resource definition for describing association between sslglobal and sslpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/sslhsmkey.py b/plugins/modules/sslhsmkey.py index d8c67d2e4..4b89ef6e6 100644 --- a/plugins/modules/sslhsmkey.py +++ b/plugins/modules/sslhsmkey.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: sslhsmkey short_description: Configuration for HSM key resource. description: Configuration for HSM key resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/sslkeyfile.py b/plugins/modules/sslkeyfile.py index b864655bf..9bdecaf65 100644 --- a/plugins/modules/sslkeyfile.py +++ b/plugins/modules/sslkeyfile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: sslkeyfile short_description: Configuration for Imported ssl key files resource. description: Configuration for Imported ssl key files resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -54,7 +56,9 @@ - URL specifying the protocol, host, and path, including file name, to the key file to be imported. For example, http://www.example.com/key_file. - 'NOTE: The import fails if the object to be imported is on an HTTPS server - that requires client certificate authentication for access.' + that requires client certificate authentication for access, and the issuer + certificate of the HTTPS server is not present in the specific path on NetScaler + to authenticate the HTTPS server.' extends_documentation_fragment: netscaler.adc.netscaler_adc """ diff --git a/plugins/modules/ssllogprofile.py b/plugins/modules/ssllogprofile.py index 6fb560580..1ee4e1908 100644 --- a/plugins/modules/ssllogprofile.py +++ b/plugins/modules/ssllogprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: ssllogprofile short_description: Configuration for SSL logging Profile resource. description: Configuration for SSL logging Profile resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,32 +41,32 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str name: - type: raw + type: str description: - The name of the ssllogprofile. ssllogclauth: - type: raw + type: str choices: - ENABLED - DISABLED description: - log all SSL ClAuth events. ssllogclauthfailures: - type: raw + type: str choices: - ENABLED - DISABLED description: - log all SSL ClAuth error events. sslloghs: - type: raw + type: str choices: - ENABLED - DISABLED description: - log all SSL HS events. sslloghsfailures: - type: raw + type: str choices: - ENABLED - DISABLED @@ -75,6 +77,20 @@ """ EXAMPLES = r""" +--- +- name: Sample ssllogprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure ssllogprofile + delegate_to: localhost + netscaler.adc.ssllogprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ssllogp1 """ RETURN = r""" diff --git a/plugins/modules/sslocspresponder.py b/plugins/modules/sslocspresponder.py index bd6ac2b3b..3eb3d1c3c 100644 --- a/plugins/modules/sslocspresponder.py +++ b/plugins/modules/sslocspresponder.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: sslocspresponder short_description: Configuration for OCSP responser resource. description: Configuration for OCSP responser resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,19 +41,19 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str batchingdelay: - type: raw + type: float description: - Maximum time, in milliseconds, to wait to accumulate OCSP requests to batch. Does not apply if the Batching Depth is 1. batchingdepth: - type: raw + type: float description: - Number of client certificates to batch together into one OCSP request. Batching avoids overloading the OCSP responder. A value of 1 signifies that each request is queried independently. For a value greater than 1, specify a timeout (batching delay) to avoid inordinately delaying the processing of a single certificate. cache: - type: raw + type: str choices: - ENABLED - DISABLED @@ -59,13 +61,13 @@ - Enable caching of responses. Caching of responses received from the OCSP responder enables faster responses to the clients and reduces the load on the OCSP responder. cachetimeout: - type: raw + type: float description: - Timeout for caching the OCSP response. After the timeout, the Citrix ADC sends a fresh request to the OCSP responder for the certificate status. If a timeout is not specified, the timeout provided in the OCSP response applies. httpmethod: - type: raw + type: str choices: - GET - POST @@ -73,14 +75,14 @@ - HTTP method used to send ocsp request. C(POST) is the default httpmethod. If request length is > 255, C(POST) wil be used even if C(GET) is set as httpMethod insertclientcert: - type: raw + type: str choices: - 'YES' - 'NO' description: - Include the complete client certificate in the OCSP request. name: - type: raw + type: str description: - Name for the OCSP responder. Cannot begin with a hash (#) or space character and must contain only ASCII alphanumeric, underscore (_), hash (#), period @@ -91,35 +93,35 @@ - If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my responder" or 'my responder'). ocspurlresolvetimeout: - type: raw + type: float description: - Time, in milliseconds, to wait for an OCSP URL Resolution. When this time elapses, an error message appears or the transaction is forwarded, depending on the settings on the virtual server. producedattimeskew: - type: raw + type: float description: - Time, in seconds, for which the Citrix ADC waits before considering the response as invalid. The response is considered invalid if the Produced At time stamp in the OCSP response exceeds or precedes the current Citrix ADC clock time by the amount of time specified. respondercert: - type: raw + type: str description: - '0' resptimeout: - type: raw + type: float description: - Time, in milliseconds, to wait for an OCSP response. When this time elapses, an error message appears or the transaction is forwarded, depending on the settings on the virtual server. Includes Batching Delay time. signingcert: - type: raw + type: str description: - Certificate-key pair that is used to sign OCSP requests. If this parameter is not set, the requests are not signed. trustresponder: - type: raw + type: bool description: - A certificate to use to validate OCSP responses. Alternatively, if -trustResponder is specified, no verification will be done on the reponse. If both are omitted, @@ -129,7 +131,7 @@ description: - URL of the OCSP responder. usenonce: - type: raw + type: str choices: - 'YES' - 'NO' @@ -140,6 +142,30 @@ """ EXAMPLES = r""" +--- +- name: Sample sslocspresponder playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslocspresponder + delegate_to: localhost + netscaler.adc.sslocspresponder: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ocspresp5 + url: http://2.2.2.7:80/ + cache: ENABLED + cachetimeout: '100' + batchingdepth: '7' + batchingdelay: '500' + resptimeout: '4000' + respondercert: ssl_cert_ca5 + producedattimeskew: '1000' + signingcert: ssl_cert_ca5 + usenonce: 'NO' """ RETURN = r""" diff --git a/plugins/modules/sslparameter.py b/plugins/modules/sslparameter.py index ba394a51a..98ee63264 100644 --- a/plugins/modules/sslparameter.py +++ b/plugins/modules/sslparameter.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: sslparameter short_description: Configuration for SSL parameter resource. description: Configuration for SSL parameter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,25 +39,25 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str crlmemorysizemb: - type: raw + type: float description: - Maximum memory size to use for certificate revocation lists (CRLs). This parameter reserves memory for a CRL but sets a limit to the maximum memory that the CRLs loaded on the appliance can consume. cryptodevdisablelimit: - type: raw + type: float description: - Limit to the number of disabled SSL chips after which the ADC restarts. A value of zero implies that the ADC does not automatically restart. defaultprofile: - type: raw + type: str choices: - ENABLED - DISABLED description: - Global parameter used to enable default profile feature. denysslreneg: - type: raw + type: str choices: - 'NO' - FRONTEND_CLIENT @@ -74,7 +76,7 @@ - '* C(NONSECURE) - Deny nonsecure SSL renegotiation. Allows only clients that support RFC 5746.' dropreqwithnohostheader: - type: raw + type: str choices: - 'YES' - 'NO' @@ -84,13 +86,13 @@ vserver or profile bound to vserver has SNI enabled and 'Client Hello' arrived with SNI extension), the request is dropped. encrypttriggerpktcount: - type: raw + type: float description: - Maximum number of queued packets after which encryption is triggered. Use this setting for SSL transactions that send small packets from server to Citrix ADC. heterogeneoussslhw: - type: raw + type: str choices: - ENABLED - DISABLED @@ -98,7 +100,7 @@ - To support both cavium and coleto based platforms in cluster environment, this mode has to be enabled. hybridfipsmode: - type: raw + type: str choices: - ENABLED - DISABLED @@ -106,14 +108,14 @@ - When this mode is enabled, system will use additional crypto hardware to accelerate symmetric crypto operations. insertcertspace: - type: raw + type: str choices: - 'YES' - 'NO' description: - To insert space between lines in the certificate header of request insertionencoding: - type: raw + type: str choices: - Unicode - UTF-8 @@ -121,7 +123,7 @@ - Encoding method used to insert the subject or issuer's name in HTTP requests to servers. ndcppcompliancecertcheck: - type: raw + type: str choices: - 'YES' - 'NO' @@ -132,25 +134,25 @@ present in the certificate. - C(NO) - Do not ignore common name. ocspcachesize: - type: raw + type: float description: - Size, per packet engine, in megabytes, of the OCSP cache. A maximum of 10% of the packet engine memory can be assigned. Because the maximum allowed packet engine memory is 4GB, the maximum value that can be assigned to the OCSP cache is approximately 410 MB. operationqueuelimit: - type: raw + type: float description: - Limit in percentage of capacity of the crypto operations queue beyond which new SSL connections are not accepted until the queue is reduced. pushenctriggertimeout: - type: raw + type: float description: - PUSH encryption trigger timeout value. The timeout value is applied only if you set the Push Encryption Trigger parameter to Timer in the SSL virtual server settings. pushflag: - type: raw + type: float description: - 'Insert PUSH flag into decrypted, encrypted, or all records. If the PUSH flag is set to a value other than 0, the buffered records are forwarded on the @@ -160,24 +162,24 @@ - 2 -Insert PUSH flag into every encrypted record. - 3 - Insert PUSH flag into every decrypted and encrypted record. quantumsize: - type: raw + type: str choices: - - 4096 - - 8192 - - 16384 + - '4096' + - '8192' + - '16384' description: - Amount of data to collect before the data is pushed to the crypto hardware for encryption. For large downloads, a larger quantum size better utilizes the crypto resources. sendclosenotify: - type: raw + type: str choices: - 'YES' - 'NO' description: - Send an SSL Close-Notify message to the client at the end of a transaction. sigdigesttype: - type: raw + type: list choices: - ALL - RSA-MD5 @@ -207,8 +209,9 @@ C(ECDSA-SHA384) C(ECDSA-SHA512)' - 'Others: C(RSA-SHA1) C(RSA-SHA224) C(RSA-SHA256) C(RSA-SHA384) C(RSA-SHA512).' - Note:C(ALL) doesnot include C(RSA-MD5) for any platform. + elements: str snihttphostmatch: - type: raw + type: str choices: - 'NO' - CERT @@ -231,13 +234,13 @@ - C(NO) - No validation is performed on the HTTP 'Host' - ' header value.' softwarecryptothreshold: - type: raw + type: float description: - Citrix ADC CPU utilization threshold (in percentage) beyond which crypto operations are not done in software. - A value of zero implies that CPU is not utilized for doing crypto in software. sslierrorcache: - type: raw + type: str choices: - ENABLED - DISABLED @@ -246,33 +249,33 @@ to make the subsequent interception or bypass decision. When enabled, NS does the lookup of this cached data to do early bypass. sslimaxerrorcachemem: - type: raw + type: float description: - Specify the maximum memory that can be used for caching the learned data. This memory is used as a LRU cache so that the old entries gets replaced with new entry once the set memory limit is fully utilised. A value of 0 decides the limit automatically. ssltriggertimeout: - type: raw + type: float description: - Time, in milliseconds, after which encryption is triggered for transactions that are not tracked on the Citrix ADC because their length is not known. There can be a delay of up to 10ms from the specified timeout value before the packet is pushed into the queue. strictcachecks: - type: raw + type: str choices: - 'YES' - 'NO' description: - Enable strict CA certificate checks on the appliance. undefactioncontrol: - type: raw + type: str description: - 'Name of the undefined built-in control action: CLIENTAUTH, NOCLIENTAUTH, NOOP, RESET, or DROP.' undefactiondata: - type: raw + type: str description: - 'Name of the undefined built-in data action: NOOP, RESET or DROP.' extends_documentation_fragment: netscaler.adc.netscaler_adc @@ -280,6 +283,20 @@ """ EXAMPLES = r""" +--- +- name: Sample sslparameter playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslparameter + delegate_to: localhost + netscaler.adc.sslparameter: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + defaultprofile: ENABLED """ RETURN = r""" diff --git a/plugins/modules/sslpkcs12.py b/plugins/modules/sslpkcs12.py index b45c0169f..aa1db750d 100644 --- a/plugins/modules/sslpkcs12.py +++ b/plugins/modules/sslpkcs12.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: sslpkcs12 short_description: Configuration for pkcs12 resource. description: Configuration for pkcs12 resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: [] diff --git a/plugins/modules/sslpkcs8.py b/plugins/modules/sslpkcs8.py index 49d9fd71d..bb83388d9 100644 --- a/plugins/modules/sslpkcs8.py +++ b/plugins/modules/sslpkcs8.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: sslpkcs8 short_description: Configuration for pkcs8 resource. description: Configuration for pkcs8 resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: [] diff --git a/plugins/modules/sslpolicy.py b/plugins/modules/sslpolicy.py index 861c9a720..b876125d4 100644 --- a/plugins/modules/sslpolicy.py +++ b/plugins/modules/sslpolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: sslpolicy short_description: Configuration for SSL policy resource. description: Configuration for SSL policy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -45,11 +47,11 @@ built-in actions are NOOP, RESET, DROP, CLIENTAUTH, NOCLIENTAUTH, INTERCEPT AND BYPASS. comment: - type: raw + type: str description: - Any comments associated with this policy. name: - type: raw + type: str description: - Name for the new SSL policy. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash @@ -78,7 +80,7 @@ - '* Alternatively, you can use single quotation marks to enclose the rule, in which case you do not have to escape the double quotation marks.' undefaction: - type: raw + type: str description: - 'Name of the action to be performed when the result of rule evaluation is undefined. Possible values for control policies: CLIENTAUTH, NOCLIENTAUTH, @@ -114,6 +116,22 @@ """ EXAMPLES = r""" +--- +- name: Sample sslpolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslpolicy + delegate_to: localhost + netscaler.adc.sslpolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: new_XM_MDM_titan.dnpg-blr.com_POLICY1 + rule: CLIENT.SSL.CLIENT_CERT.EXISTS + action: _XM_MDM_titan.dnpg-blr.com_ACTION """ RETURN = r""" diff --git a/plugins/modules/sslpolicylabel.py b/plugins/modules/sslpolicylabel.py index 3b410156f..8093f4a34 100644 --- a/plugins/modules/sslpolicylabel.py +++ b/plugins/modules/sslpolicylabel.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: sslpolicylabel short_description: Configuration for SSL policy label resource. description: Configuration for SSL policy label resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -86,6 +88,21 @@ """ EXAMPLES = r""" +--- +- name: Sample sslpolicylabel playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslpolicylabel + delegate_to: localhost + netscaler.adc.sslpolicylabel: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + labelname: invoke_labelname + type: CONTROL """ RETURN = r""" diff --git a/plugins/modules/sslpolicylabel_sslpolicy_binding.py b/plugins/modules/sslpolicylabel_sslpolicy_binding.py index ad821ded1..8dfa464e8 100644 --- a/plugins/modules/sslpolicylabel_sslpolicy_binding.py +++ b/plugins/modules/sslpolicylabel_sslpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: sslpolicylabel_sslpolicy_binding short_description: Binding Resource definition for describing association between sslpolicylabel and sslpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/sslprofile.py b/plugins/modules/sslprofile.py index 874a9e0fe..84666b9df 100644 --- a/plugins/modules/sslprofile.py +++ b/plugins/modules/sslprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: sslprofile short_description: Configuration for SSL profile resource. description: Configuration for SSL profile resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str allowextendedmastersecret: - type: raw + type: str choices: - 'YES' - 'NO' @@ -50,7 +52,7 @@ - in order to be enabled during a handshake. This setting applies to both - frontend and backend SSL profiles. allowunknownsni: - type: raw + type: str choices: - ENABLED - DISABLED @@ -64,7 +66,7 @@ a default cert is bound. - DISLABED - handshakes with an unknown SNI are not allowed to continue. alpnprotocol: - type: raw + type: str choices: - NONE - HTTP1.1 @@ -76,15 +78,15 @@ hence remain unknown to the TLS layer. This parameter is relevant only if SSL connection is handled by the virtual server of the type SSL_TCP. ciphername: - type: raw + type: str description: - The cipher group/alias/individual cipher configuration cipherpriority: - type: raw + type: float description: - cipher priority cipherredirect: - type: raw + type: str choices: - ENABLED - DISABLED @@ -95,16 +97,16 @@ server or service and the client. - This parameter is not applicable when configuring a backend profile. cipherurl: - type: raw + type: str description: - The redirect URL to be used with the Cipher Redirect feature. cleartextport: - type: raw + type: int description: - Port on which clear-text data is sent by the appliance to the server. Do not specify this parameter for SSL offloading with end-to-end encryption. clientauth: - type: raw + type: str choices: - ENABLED - DISABLED @@ -113,7 +115,7 @@ terminates the SSL handshake if the SSL client does not provide a valid certificate. - This parameter is not applicable when configuring a backend profile. clientauthuseboundcachain: - type: raw + type: str choices: - ENABLED - DISABLED @@ -121,19 +123,19 @@ - Certficates bound on the VIP are used for validating the client cert. Certficates came along with client cert are not used for validating the client cert clientcert: - type: raw + type: str choices: - Mandatory - Optional description: - The rule for client certificate requirement in client authentication. commonname: - type: raw + type: str description: - Name to be checked against the CommonName (CN) field in the server certificate bound to the SSL server. denysslreneg: - type: raw + type: str choices: - 'NO' - FRONTEND_CLIENT @@ -152,7 +154,7 @@ - '* C(NONSECURE) - Deny nonsecure SSL renegotiation. Allows only clients that support RFC 5746.' dh: - type: raw + type: str choices: - ENABLED - DISABLED @@ -160,7 +162,7 @@ - State of Diffie-Hellman (DH) key exchange. - This parameter is not applicable when configuring a backend profile. dhcount: - type: raw + type: float description: - Number of interactions, between the client and the Citrix ADC, after which the DH private-public pair is regenerated. A value of zero (0) specifies refresh @@ -168,7 +170,7 @@ - This parameter is not applicable when configuring a backend profile. Allowed DH count values are 0 and >= 500. dhekeyexchangewithpsk: - type: raw + type: str choices: - 'YES' - 'NO' @@ -184,11 +186,11 @@ regardless of whether the client supports combined PSK-DHE key exchange. This setting only has an effect when resumption is enabled. dhfile: - type: raw + type: str description: - The file name and path for the DH parameter. dhkeyexpsizelimit: - type: raw + type: str choices: - ENABLED - DISABLED @@ -198,7 +200,7 @@ 2048bit, the private-key size recommended is 224bits. This is rounded-up to 256bits. dropreqwithnohostheader: - type: raw + type: str choices: - 'YES' - 'NO' @@ -208,13 +210,13 @@ vserver or profile bound to vserver has SNI enabled and 'Client Hello' arrived with SNI extension), the request is dropped. encrypttriggerpktcount: - type: raw + type: float description: - Maximum number of queued packets after which encryption is triggered. Use this setting for SSL transactions that send small packets from server to Citrix ADC. ersa: - type: raw + type: str choices: - ENABLED - DISABLED @@ -229,12 +231,12 @@ eRSA key is deleted when the appliance restarts. - This parameter is not applicable when configuring a backend profile. ersacount: - type: raw + type: float description: - The refresh count for the re-generation of RSA public-key and private-key pair. hsts: - type: raw + type: str choices: - ENABLED - DISABLED @@ -242,7 +244,7 @@ - State of HSTS protocol support for the SSL profile. Using HSTS, a server can enforce the use of an HTTPS connection for all communication with a client includesubdomains: - type: raw + type: str choices: - 'YES' - 'NO' @@ -250,7 +252,7 @@ - Enable HSTS for subdomains. If set to Yes, a client must send only HTTPS requests for subdomains. insertionencoding: - type: raw + type: str choices: - Unicode - UTF-8 @@ -258,19 +260,26 @@ - Encoding method used to insert the subject or issuer's name in HTTP requests to servers. maxage: - type: raw + type: float description: - Set the maximum time, in seconds, in the strict transport security (STS) header during which the client must send only HTTPS requests to the server + maxrenegrate: + type: float + description: + - Maximum number of renegotiation requests allowed, in one second, to each SSL + entity to which this profile is bound. When set to 0, an unlimited number + of renegotiation requests are allowed. Applicable only when Deny SSL renegotiation + is set to a value other than ALL. name: - type: raw + type: str description: - Name for the SSL profile. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash (#), period (.), space, colon (:), at (@), equals (=), and hyphen (-) characters. Cannot be changed after the profile is created. ocspstapling: - type: raw + type: str choices: - ENABLED - DISABLED @@ -284,19 +293,19 @@ handshake.' - 'C(DISABLED): The appliance does not check the status of the server certificate.' preload: - type: raw + type: str choices: - 'YES' - 'NO' description: - Flag indicates the consent of the site owner to have their domain preloaded. prevsessionkeylifetime: - type: raw + type: float description: - This option sets the life time of symm key used to generate session tickets issued by NS in secs pushenctrigger: - type: raw + type: str choices: - Always - Merge @@ -313,13 +322,13 @@ in the set ssl parameter command or in the Change Advanced SSL Settings dialog box.' pushenctriggertimeout: - type: raw + type: float description: - PUSH encryption trigger timeout value. The timeout value is applied only if you set the Push Encryption Trigger parameter to Timer in the SSL virtual server settings. pushflag: - type: raw + type: float description: - 'Insert PUSH flag into decrypted, encrypted, or all records. If the PUSH flag is set to a value other than 0, the buffered records are forwarded on the @@ -329,17 +338,17 @@ - 2 -Insert PUSH flag into every encrypted record. - 3 - Insert PUSH flag into every decrypted and encrypted record. quantumsize: - type: raw + type: str choices: - - 4096 - - 8192 - - 16384 + - '4096' + - '8192' + - '16384' description: - Amount of data to collect before the data is pushed to the crypto hardware for encryption. For large downloads, a larger quantum size better utilizes the crypto resources. redirectportrewrite: - type: raw + type: str choices: - ENABLED - DISABLED @@ -348,48 +357,48 @@ is set to C(ENABLED), and the URL from the server does not contain the standard port, the port is rewritten to the standard. sendclosenotify: - type: raw + type: str choices: - 'YES' - 'NO' description: - Enable sending SSL Close-Notify at the end of a transaction. serverauth: - type: raw + type: str choices: - ENABLED - DISABLED description: - State of server authentication support for the SSL Backend profile. sessionkeylifetime: - type: raw + type: float description: - This option sets the life time of symm key used to generate session tickets issued by NS in secs sessionticket: - type: raw + type: str choices: - ENABLED - DISABLED description: - This option enables the use of session tickets, as per the RFC 5077 sessionticketkeydata: - type: raw + type: str description: - Session ticket enc/dec key , admin can set it sessionticketkeyrefresh: - type: raw + type: str choices: - ENABLED - DISABLED description: - This option enables the use of session tickets, as per the RFC 5077 sessionticketlifetime: - type: raw + type: float description: - This option sets the life time of session tickets issued by NS in secs sessreuse: - type: raw + type: str choices: - ENABLED - DISABLED @@ -398,11 +407,11 @@ public key encryption operations. With the C(ENABLED) setting, session key exchange is avoided for session resumption requests received from the client. sesstimeout: - type: raw + type: float description: - The Session timeout value in seconds. skipclientcertpolicycheck: - type: raw + type: str choices: - ENABLED - DISABLED @@ -412,7 +421,7 @@ This option can be used only when Client Authentication is Enabled and ClientCert is set to Mandatory snienable: - type: raw + type: str choices: - ENABLED - DISABLED @@ -423,7 +432,7 @@ same organization and share the same second-level domain name. For example, *.sports.net can be used to secure domains such as login.sports.net and help.sports.net. snihttphostmatch: - type: raw + type: str choices: - 'NO' - CERT @@ -446,7 +455,7 @@ - C(NO) - No validation is performed on the HTTP 'Host' - ' header value.' ssl3: - type: raw + type: str choices: - ENABLED - DISABLED @@ -455,27 +464,27 @@ - 'Note: On platforms with SSL acceleration chips, if the SSL chip does not support SSLv3, this parameter cannot be set to C(ENABLED).' sslimaxsessperserver: - type: raw + type: float description: - Maximum ssl session to be cached per dynamic origin server. A unique ssl session is created for each SNI received from the client on ClientHello and the matching session is used for server session reuse. sslinterception: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable or disable transparent interception of SSL sessions. ssliocspcheck: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable or disable OCSP check for origin server certificate. sslireneg: - type: raw + type: str choices: - ENABLED - DISABLED @@ -483,7 +492,7 @@ - Enable or disable triggering the client renegotiation when renegotiation request is received from the origin server. ssllogprofile: - type: raw + type: str description: - The name of the ssllogprofile. sslprofiletype: @@ -492,12 +501,13 @@ - BackEnd - FrontEnd - QUIC-FrontEnd + - QUIC-BackEnd description: - Type of profile. Front end profiles apply to the entity that receives requests from a client. Backend profiles apply to the entity that sends client requests to a server. sslredirect: - type: raw + type: str choices: - ENABLED - DISABLED @@ -512,21 +522,21 @@ from http:// to https:// and the SSL session does not break. - This parameter is not applicable when configuring a backend profile. ssltriggertimeout: - type: raw + type: float description: - Time, in milliseconds, after which encryption is triggered for transactions that are not tracked on the Citrix ADC because their length is not known. There can be a delay of up to 10ms from the specified timeout value before the packet is pushed into the queue. strictcachecks: - type: raw + type: str choices: - 'YES' - 'NO' description: - Enable strict CA certificate checks on the appliance. strictsigdigestcheck: - type: raw + type: str choices: - ENABLED - DISABLED @@ -535,35 +545,35 @@ handshake is signed with one of signature-hash combination supported by Citrix ADC. tls1: - type: raw + type: str choices: - ENABLED - DISABLED description: - State of TLSv1.0 protocol support for the SSL profile. tls11: - type: raw + type: str choices: - ENABLED - DISABLED description: - State of TLSv1.1 protocol support for the SSL profile. tls12: - type: raw + type: str choices: - ENABLED - DISABLED description: - State of TLSv1.2 protocol support for the SSL profile. tls13: - type: raw + type: str choices: - ENABLED - DISABLED description: - State of TLSv1.3 protocol support for the SSL profile. tls13sessionticketsperauthcontext: - type: raw + type: float description: - Number of tickets the SSL Virtual Server will issue anytime TLS 1.3 is negotiated, ticket-based resumption is enabled, and either (1) a handshake completes or @@ -572,7 +582,7 @@ using a fresh ticket for each connection. - No tickets are sent if resumption is disabled. zerorttearlydata: - type: raw + type: str choices: - ENABLED - DISABLED @@ -687,6 +697,20 @@ """ EXAMPLES = r""" +--- +- name: Sample sslprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslprofile + delegate_to: localhost + netscaler.adc.sslprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ns_default_ssl_profile_internal_frontend_service """ RETURN = r""" diff --git a/plugins/modules/sslprofile_ecccurve_binding.py b/plugins/modules/sslprofile_ecccurve_binding.py index b68c713ba..85348a61a 100644 --- a/plugins/modules/sslprofile_ecccurve_binding.py +++ b/plugins/modules/sslprofile_ecccurve_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: sslprofile_ecccurve_binding short_description: Binding Resource definition for describing association between sslprofile and ecccurve resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -50,6 +52,7 @@ - P_256 - P_384 - P_521 + - X_25519 description: - Named ECC curve bound to vserver/service. name: @@ -61,6 +64,21 @@ """ EXAMPLES = r""" +--- +- name: Sample sslprofile_ecccurve_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslprofile_ecccurve_binding + delegate_to: localhost + netscaler.adc.sslprofile_ecccurve_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: blackstone_ssl_profile + ecccurvename: P_521 """ RETURN = r""" diff --git a/plugins/modules/sslprofile_sslcertkey_binding.py b/plugins/modules/sslprofile_sslcertkey_binding.py index b5a1b8354..c8d011370 100644 --- a/plugins/modules/sslprofile_sslcertkey_binding.py +++ b/plugins/modules/sslprofile_sslcertkey_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: sslprofile_sslcertkey_binding short_description: Binding Resource definition for describing association between sslprofile and sslcertkey resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/sslprofile_sslcipher_binding.py b/plugins/modules/sslprofile_sslcipher_binding.py index 38fe1d090..6c6fbb57a 100644 --- a/plugins/modules/sslprofile_sslcipher_binding.py +++ b/plugins/modules/sslprofile_sslcipher_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: sslprofile_sslcipher_binding short_description: Binding Resource definition for describing association between sslprofile and sslcipher resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -63,6 +65,22 @@ """ EXAMPLES = r""" +--- +- name: Sample sslprofile_sslcipher_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslprofile_sslcipher_binding + delegate_to: localhost + netscaler.adc.sslprofile_sslcipher_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: blackstone_ssl_profile + ciphername: DEFAULT + cipherpriority: '2' """ RETURN = r""" diff --git a/plugins/modules/sslprofile_sslciphersuite_binding.py b/plugins/modules/sslprofile_sslciphersuite_binding.py index d39598169..b3eb8eee4 100644 --- a/plugins/modules/sslprofile_sslciphersuite_binding.py +++ b/plugins/modules/sslprofile_sslciphersuite_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: sslprofile_sslciphersuite_binding short_description: Binding Resource definition for describing association between sslprofile and sslciphersuite resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/sslrsakey.py b/plugins/modules/sslrsakey.py index e2104e102..c530a748c 100644 --- a/plugins/modules/sslrsakey.py +++ b/plugins/modules/sslrsakey.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: sslrsakey short_description: Configuration for RSA key resource. description: Configuration for RSA key resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -86,14 +88,25 @@ """ EXAMPLES = r""" -- name: Create ssl rsakey intermediate_cert - delegate_to: localhost - netscaler.adc.sslrsakey: - state: created - keyfile: certname.key - bits: 2048 - exponent: F4 - keyform: PEM +--- +- name: Sample sslrsakey playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslrsakey + delegate_to: localhost + netscaler.adc.sslrsakey: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + keyfile: ssl_rsa_der_key + bits: '2048' + exponent: '3' + keyform: DER + nitro_operation: create + '#nitro_operation': create """ RETURN = r""" diff --git a/plugins/modules/sslservice.py b/plugins/modules/sslservice.py index 5f22533ec..8b5d0a871 100644 --- a/plugins/modules/sslservice.py +++ b/plugins/modules/sslservice.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: sslservice short_description: Configuration for SSL service resource. description: Configuration for SSL service resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,7 +39,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str cipherredirect: - type: raw + type: str choices: - ENABLED - DISABLED @@ -48,14 +50,14 @@ server or service and the client. - This parameter is not applicable when configuring a backend service. cipherurl: - type: raw + type: str description: - URL of the page to which to redirect the client in case of a cipher mismatch. Typically, this page has a clear explanation of the error or an alternative location that the transaction can continue from. - This parameter is not applicable when configuring a backend service. clientauth: - type: raw + type: str choices: - ENABLED - DISABLED @@ -64,7 +66,7 @@ terminates the SSL handshake if the SSL client does not provide a valid certificate. - This parameter is not applicable when configuring a backend service. clientcert: - type: raw + type: str choices: - Mandatory - Optional @@ -78,12 +80,12 @@ - 'Caution: Define proper access control policies before changing this setting to C(Optional).' commonname: - type: raw + type: str description: - Name to be checked against the CommonName (CN) field in the server certificate bound to the SSL server dh: - type: raw + type: str choices: - ENABLED - DISABLED @@ -91,20 +93,20 @@ - State of Diffie-Hellman (DH) key exchange. This parameter is not applicable when configuring a backend service. dhcount: - type: raw + type: float description: - Number of interactions, between the client and the Citrix ADC, after which the DH private-public pair is regenerated. A value of zero (0) specifies refresh every time. This parameter is not applicable when configuring a backend service. Allowed DH count values are 0 and >= 500. dhfile: - type: raw + type: str description: - Name for and, optionally, path to the PEM-format DH parameter file to be installed. /nsconfig/ssl/ is the default path. This parameter is not applicable when configuring a backend service. dhkeyexpsizelimit: - type: raw + type: str choices: - ENABLED - DISABLED @@ -114,25 +116,25 @@ 2048bit, the private-key size recommended is 224bits. This is rounded-up to 256bits. dtls1: - type: raw + type: str choices: - ENABLED - DISABLED description: - State of DTLSv1.0 protocol support for the SSL service. dtls12: - type: raw + type: str choices: - ENABLED - DISABLED description: - State of DTLSv1.2 protocol support for the SSL service. dtlsprofilename: - type: raw + type: str description: - Name of the DTLS profile that contains DTLS settings for the service. ersa: - type: raw + type: str choices: - ENABLED - DISABLED @@ -147,13 +149,13 @@ eRSA key is deleted when the appliance restarts. - This parameter is not applicable when configuring a backend service. ersacount: - type: raw + type: float description: - Refresh count for regeneration of RSA public-key and private-key pair. Zero (0) specifies infinite usage (no refresh). - This parameter is not applicable when configuring a backend service. ocspstapling: - type: raw + type: str choices: - ENABLED - DISABLED @@ -184,7 +186,7 @@ in the set ssl parameter command or in the Change Advanced SSL Settings dialog box.' redirectportrewrite: - type: raw + type: str choices: - ENABLED - DISABLED @@ -193,25 +195,25 @@ is set to C(ENABLED), and the URL from the server does not contain the standard port, the port is rewritten to the standard. sendclosenotify: - type: raw + type: str choices: - 'YES' - 'NO' description: - Enable sending SSL Close-Notify at the end of a transaction serverauth: - type: raw + type: str choices: - ENABLED - DISABLED description: - State of server authentication support for the SSL service. servicename: - type: raw + type: str description: - Name of the SSL service. sessreuse: - type: raw + type: str choices: - ENABLED - DISABLED @@ -220,13 +222,13 @@ public key encryption operations. With the C(ENABLED) setting, session key exchange is avoided for session resumption requests received from the client. sesstimeout: - type: raw + type: float description: - Time, in seconds, for which to keep the session active. Any session resumption request received after the timeout period will require a fresh SSL handshake and establishment of a new SSL session. snienable: - type: raw + type: str choices: - ENABLED - DISABLED @@ -237,7 +239,7 @@ same organization and share the same second-level domain name. For example, *.sports.net can be used to secure domains such as login.sports.net and help.sports.net. ssl2: - type: raw + type: str choices: - ENABLED - DISABLED @@ -245,7 +247,7 @@ - State of SSLv2 protocol support for the SSL service. - This parameter is not applicable when configuring a backend service. ssl3: - type: raw + type: str choices: - ENABLED - DISABLED @@ -254,11 +256,11 @@ - 'Note: On platforms with SSL acceleration chips, if the SSL chip does not support SSLv3, this parameter cannot be set to C(ENABLED).' sslprofile: - type: raw + type: str description: - Name of the SSL profile that contains SSL settings for the service. sslredirect: - type: raw + type: str choices: - ENABLED - DISABLED @@ -275,7 +277,7 @@ - '' - This parameter is not applicable when configuring a backend service. sslv2redirect: - type: raw + type: str choices: - ENABLED - DISABLED @@ -286,14 +288,14 @@ server or service and the client. - This parameter is not applicable when configuring a backend service. sslv2url: - type: raw + type: str description: - URL of the page to which to redirect the client in case of a protocol version mismatch. Typically, this page has a clear explanation of the error or an alternative location that the transaction can continue from. - This parameter is not applicable when configuring a backend service. strictsigdigestcheck: - type: raw + type: str choices: - ENABLED - DISABLED @@ -301,28 +303,28 @@ - Parameter indicating to check whether peer's certificate during TLS1.2 handshake is signed with one of signature-hash combination supported by Citrix ADC tls1: - type: raw + type: str choices: - ENABLED - DISABLED description: - State of TLSv1.0 protocol support for the SSL service. tls11: - type: raw + type: str choices: - ENABLED - DISABLED description: - State of TLSv1.1 protocol support for the SSL service. tls12: - type: raw + type: str choices: - ENABLED - DISABLED description: - State of TLSv1.2 protocol support for the SSL service. tls13: - type: raw + type: str choices: - ENABLED - DISABLED @@ -353,6 +355,31 @@ elements: dict description: List of binding members default: [] + sslservice_sslcacertbundle_binding: + type: dict + description: Bindings for sslservice_sslcacertbundle_binding resource + suboptions: + mode: + type: str + default: desired + description: + - The mode in which to configure the bindings. + - If mode is set to C(desired), the bindings will be added or removed from + the target NetScaler ADCs as necessary to match the bindings specified + in the state. + - If mode is set to C(bind), the specified bindings will be added to the + resource. The existing bindings in the target ADCs will not be modified. + - If mode is set to C(unbind), the specified bindings will be removed from + the resource. The existing bindings in the target ADCs will not be modified. + choices: + - desired + - bind + - unbind + binding_members: + type: list + elements: dict + description: List of binding members + default: [] sslservice_sslcertkey_binding: type: dict description: Bindings for sslservice_sslcertkey_binding resource @@ -478,6 +505,31 @@ elements: dict description: List of binding members default: [] + sslservicegroup_sslcacertbundle_binding: + type: dict + description: Bindings for sslservicegroup_sslcacertbundle_binding resource + suboptions: + mode: + type: str + default: desired + description: + - The mode in which to configure the bindings. + - If mode is set to C(desired), the bindings will be added or removed from + the target NetScaler ADCs as necessary to match the bindings specified + in the state. + - If mode is set to C(bind), the specified bindings will be added to the + resource. The existing bindings in the target ADCs will not be modified. + - If mode is set to C(unbind), the specified bindings will be removed from + the resource. The existing bindings in the target ADCs will not be modified. + choices: + - desired + - bind + - unbind + binding_members: + type: list + elements: dict + description: List of binding members + default: [] sslservicegroup_sslcertkey_binding: type: dict description: Bindings for sslservicegroup_sslcertkey_binding resource @@ -559,21 +611,20 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample sslservice playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | sslservice + - name: Configure sslservice delegate_to: localhost netscaler.adc.sslservice: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - servicename: nsrnatsip-127.0.0.1-5061 - ersa: ENABLED - sessreuse: DISABLED - ssl3: DISABLED - tls1: DISABLED - tls11: DISABLED - dtls1: DISABLED + servicename: nsrpcs-127.0.0.1-3008 + sslprofile: ns_default_ssl_profile_frontend """ RETURN = r""" diff --git a/plugins/modules/sslservice_ecccurve_binding.py b/plugins/modules/sslservice_ecccurve_binding.py index c976bf0c4..8bfe34d6c 100644 --- a/plugins/modules/sslservice_ecccurve_binding.py +++ b/plugins/modules/sslservice_ecccurve_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: sslservice_ecccurve_binding short_description: Binding Resource definition for describing association between sslservice and ecccurve resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -46,6 +48,7 @@ - P_256 - P_384 - P_521 + - X_25519 description: - Named ECC curve bound to service/vserver. servicename: @@ -57,6 +60,21 @@ """ EXAMPLES = r""" +--- +- name: Sample sslservice_ecccurve_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslservice_ecccurve_binding + delegate_to: localhost + netscaler.adc.sslservice_ecccurve_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + servicename: s1345 + ecccurvename: ALL """ RETURN = r""" diff --git a/plugins/modules/sslservice_sslcacertbundle_binding.py b/plugins/modules/sslservice_sslcacertbundle_binding.py new file mode 100644 index 000000000..1e98adcfe --- /dev/null +++ b/plugins/modules/sslservice_sslcacertbundle_binding.py @@ -0,0 +1,111 @@ +#!/usr/bin/python + +# -*- coding: utf-8 -*- + +# Copyright (c) 2023 Cloud Software Group, Inc. +# MIT License (see LICENSE or https://opensource.org/licenses/MIT) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + + +ANSIBLE_METADATA = { + "metadata_version": "1.1", + "status": ["preview"], + "supported_by": "community", +} + +DOCUMENTATION = r""" +--- +module: sslservice_sslcacertbundle_binding +short_description: Binding Resource definition for describing association between + sslservice and sslcacertbundle resources +description: Binding Resource definition for describing association between sslservice + and sslcacertbundle resources +version_added: 2.0.0 +author: + - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) +options: + state: + choices: + - present + - absent + default: present + description: + - The state of the resource being configured by the module on the NetScaler + ADC node. + - When C(present), the resource will be added/updated configured according to + the module's parameters. + - When C(absent), the resource will be deleted from the NetScaler ADC node. + type: str + cacertbundlename: + type: str + description: + - CA certbundle name bound to the service. + servicename: + type: str + description: + - Name of the SSL service for which to set advanced configuration. + skipcacertbundle: + type: bool + description: + - The flag is used to indicate whether all CA_names in this particular CA certificate + bundle needs to be sent to the SSL client while requesting for client certificate + in a SSL handshake +extends_documentation_fragment: netscaler.adc.netscaler_adc + +""" + +EXAMPLES = r""" +""" + +RETURN = r""" +--- +changed: + description: Indicates if any change is made by the module + returned: always + type: bool + sample: true +diff: + description: Dictionary of before and after changes + returned: always + type: dict + sample: {'before': {'key1': 'xyz'}, 'after': {'key2': 'pqr'}, 'prepared': 'changes + done'} +diff_list: + description: List of differences between the actual configured object and the configuration + specified in the module + returned: when changed + type: list + sample: ["Attribute `key1` differs. Desired: () XYZ. Existing: () PQR"] +failed: + description: Indicates if the module failed or not + returned: always + type: bool + sample: false +loglines: + description: list of logged messages by the module + returned: always + type: list + sample: ['message 1', 'message 2'] + +""" + + +import os + +from ..module_utils.module_executor import ModuleExecutor + +RESOURCE_NAME = os.path.basename(__file__).replace(".py", "") + + +def main(): + executor = ModuleExecutor(RESOURCE_NAME) + executor.main() + + +if __name__ == "__main__": + main() diff --git a/plugins/modules/sslservice_sslcertkey_binding.py b/plugins/modules/sslservice_sslcertkey_binding.py index 36ebe45a0..ed09ae433 100644 --- a/plugins/modules/sslservice_sslcertkey_binding.py +++ b/plugins/modules/sslservice_sslcertkey_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: sslservice_sslcertkey_binding short_description: Binding Resource definition for describing association between sslservice and sslcertkey resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -85,6 +87,21 @@ """ EXAMPLES = r""" +--- +- name: Sample sslservice_sslcertkey_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslservice_sslcertkey_binding + delegate_to: localhost + netscaler.adc.sslservice_sslcertkey_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + servicename: nsrpcs-127.0.0.1-3008 + certkeyname: ns-server-certificate """ RETURN = r""" diff --git a/plugins/modules/sslservice_sslcipher_binding.py b/plugins/modules/sslservice_sslcipher_binding.py index ea50c6ae7..c2101f666 100644 --- a/plugins/modules/sslservice_sslcipher_binding.py +++ b/plugins/modules/sslservice_sslcipher_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: sslservice_sslcipher_binding short_description: Binding Resource definition for describing association between sslservice and sslcipher resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -42,6 +44,11 @@ type: str description: - The cipher group/alias/individual cipher configuration. + cipherdefaulton: + type: float + description: + - Flag indicating whether the bound cipher was the DEFAULT cipher, bound at + boot time, or any other cipher from the CLI ciphername: type: str description: @@ -60,6 +67,21 @@ """ EXAMPLES = r""" +--- +- name: Sample sslservice_sslcipher_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslservice_sslcipher_binding + delegate_to: localhost + netscaler.adc.sslservice_sslcipher_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + servicename: ssl + ciphername: AES-GCM """ RETURN = r""" diff --git a/plugins/modules/sslservice_sslciphersuite_binding.py b/plugins/modules/sslservice_sslciphersuite_binding.py index 9f984abf3..3b3a25a97 100644 --- a/plugins/modules/sslservice_sslciphersuite_binding.py +++ b/plugins/modules/sslservice_sslciphersuite_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: sslservice_sslciphersuite_binding short_description: Binding Resource definition for describing association between sslservice and sslciphersuite resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -38,6 +40,11 @@ the module's parameters. - When C(absent), the resource will be deleted from the NetScaler ADC node. type: str + cipherdefaulton: + type: float + description: + - Flag indicating whether the bound cipher was the DEFAULT cipher, bound at + boot time, or any other cipher from the CLI ciphername: type: str description: diff --git a/plugins/modules/sslservice_sslpolicy_binding.py b/plugins/modules/sslservice_sslpolicy_binding.py index 3c496de14..c4fab580d 100644 --- a/plugins/modules/sslservice_sslpolicy_binding.py +++ b/plugins/modules/sslservice_sslpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: sslservice_sslpolicy_binding short_description: Binding Resource definition for describing association between sslservice and sslpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/sslservicegroup.py b/plugins/modules/sslservicegroup.py index 4a1aeb181..adfed9bbb 100644 --- a/plugins/modules/sslservicegroup.py +++ b/plugins/modules/sslservicegroup.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: sslservicegroup short_description: Configuration for SSL service group resource. description: Configuration for SSL service group resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,12 +39,12 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str commonname: - type: raw + type: str description: - Name to be checked against the CommonName (CN) field in the server certificate bound to the SSL server ocspstapling: - type: raw + type: str choices: - ENABLED - DISABLED @@ -56,25 +58,25 @@ handshake.' - 'C(DISABLED): The appliance does not check the status of the server certificate.' sendclosenotify: - type: raw + type: str choices: - 'YES' - 'NO' description: - Enable sending SSL Close-Notify at the end of a transaction serverauth: - type: raw + type: str choices: - ENABLED - DISABLED description: - State of server authentication support for the SSL service group. servicegroupname: - type: raw + type: str description: - Name of the SSL service group for which to set advanced configuration. sessreuse: - type: raw + type: str choices: - ENABLED - DISABLED @@ -83,13 +85,13 @@ public key encryption operations. With the C(ENABLED) setting, session key exchange is avoided for session resumption requests received from the client. sesstimeout: - type: raw + type: float description: - Time, in seconds, for which to keep the session active. Any session resumption request received after the timeout period will require a fresh SSL handshake and establishment of a new SSL session. snienable: - type: raw + type: str choices: - ENABLED - DISABLED @@ -100,7 +102,7 @@ same second-level domain name. For example, *.sports.net can be used to secure domains such as login.sports.net and help.sports.net. ssl3: - type: raw + type: str choices: - ENABLED - DISABLED @@ -109,11 +111,11 @@ - 'Note: On platforms with SSL acceleration chips, if the SSL chip does not support SSLv3, this parameter cannot be set to C(ENABLED).' sslprofile: - type: raw + type: str description: - Name of the SSL profile that contains SSL settings for the Service Group. strictsigdigestcheck: - type: raw + type: str choices: - ENABLED - DISABLED @@ -121,28 +123,28 @@ - Parameter indicating to check whether peer's certificate is signed with one of signature-hash combination supported by Citrix ADC tls1: - type: raw + type: str choices: - ENABLED - DISABLED description: - State of TLSv1.0 protocol support for the SSL service group. tls11: - type: raw + type: str choices: - ENABLED - DISABLED description: - State of TLSv1.1 protocol support for the SSL service group. tls12: - type: raw + type: str choices: - ENABLED - DISABLED description: - State of TLSv1.2 protocol support for the SSL service group. tls13: - type: raw + type: str choices: - ENABLED - DISABLED @@ -173,6 +175,31 @@ elements: dict description: List of binding members default: [] + sslservicegroup_sslcacertbundle_binding: + type: dict + description: Bindings for sslservicegroup_sslcacertbundle_binding resource + suboptions: + mode: + type: str + default: desired + description: + - The mode in which to configure the bindings. + - If mode is set to C(desired), the bindings will be added or removed from + the target NetScaler ADCs as necessary to match the bindings specified + in the state. + - If mode is set to C(bind), the specified bindings will be added to the + resource. The existing bindings in the target ADCs will not be modified. + - If mode is set to C(unbind), the specified bindings will be removed from + the resource. The existing bindings in the target ADCs will not be modified. + choices: + - desired + - bind + - unbind + binding_members: + type: list + elements: dict + description: List of binding members + default: [] sslservicegroup_sslcertkey_binding: type: dict description: Bindings for sslservicegroup_sslcertkey_binding resource @@ -253,6 +280,22 @@ """ EXAMPLES = r""" +--- +- name: Sample sslservicegroup playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslservicegroup + delegate_to: localhost + netscaler.adc.sslservicegroup: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + servicegroupname: LB_ia_svcgrp13916 + sessreuse: ENABLED + sesstimeout: '120' """ RETURN = r""" diff --git a/plugins/modules/sslservicegroup_ecccurve_binding.py b/plugins/modules/sslservicegroup_ecccurve_binding.py index 4e1e2019d..d6c84cb23 100644 --- a/plugins/modules/sslservicegroup_ecccurve_binding.py +++ b/plugins/modules/sslservicegroup_ecccurve_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: sslservicegroup_ecccurve_binding short_description: Binding Resource definition for describing association between sslservicegroup and ecccurve resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -46,6 +48,7 @@ - P_256 - P_384 - P_521 + - X_25519 description: - Named ECC curve bound to servicegroup. servicegroupname: @@ -57,6 +60,21 @@ """ EXAMPLES = r""" +--- +- name: Sample sslservicegroup_ecccurve_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslservicegroup_ecccurve_binding + delegate_to: localhost + netscaler.adc.sslservicegroup_ecccurve_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + servicegroupname: sg2 + ecccurvename: P_521 """ RETURN = r""" diff --git a/plugins/modules/sslservicegroup_sslcacertbundle_binding.py b/plugins/modules/sslservicegroup_sslcacertbundle_binding.py new file mode 100644 index 000000000..5e80d0d10 --- /dev/null +++ b/plugins/modules/sslservicegroup_sslcacertbundle_binding.py @@ -0,0 +1,105 @@ +#!/usr/bin/python + +# -*- coding: utf-8 -*- + +# Copyright (c) 2023 Cloud Software Group, Inc. +# MIT License (see LICENSE or https://opensource.org/licenses/MIT) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + + +ANSIBLE_METADATA = { + "metadata_version": "1.1", + "status": ["preview"], + "supported_by": "community", +} + +DOCUMENTATION = r""" +--- +module: sslservicegroup_sslcacertbundle_binding +short_description: Binding Resource definition for describing association between + sslservicegroup and sslcacertbundle resources +description: Binding Resource definition for describing association between sslservicegroup + and sslcacertbundle resources +version_added: 2.0.0 +author: + - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) +options: + state: + choices: + - present + - absent + default: present + description: + - The state of the resource being configured by the module on the NetScaler + ADC node. + - When C(present), the resource will be added/updated configured according to + the module's parameters. + - When C(absent), the resource will be deleted from the NetScaler ADC node. + type: str + cacertbundlename: + type: str + description: + - CA certbundle name bound to the servicegroup. + servicegroupname: + type: str + description: + - The name of the SSL service to which the SSL policy needs to be bound. +extends_documentation_fragment: netscaler.adc.netscaler_adc + +""" + +EXAMPLES = r""" +""" + +RETURN = r""" +--- +changed: + description: Indicates if any change is made by the module + returned: always + type: bool + sample: true +diff: + description: Dictionary of before and after changes + returned: always + type: dict + sample: {'before': {'key1': 'xyz'}, 'after': {'key2': 'pqr'}, 'prepared': 'changes + done'} +diff_list: + description: List of differences between the actual configured object and the configuration + specified in the module + returned: when changed + type: list + sample: ["Attribute `key1` differs. Desired: () XYZ. Existing: () PQR"] +failed: + description: Indicates if the module failed or not + returned: always + type: bool + sample: false +loglines: + description: list of logged messages by the module + returned: always + type: list + sample: ['message 1', 'message 2'] + +""" + + +import os + +from ..module_utils.module_executor import ModuleExecutor + +RESOURCE_NAME = os.path.basename(__file__).replace(".py", "") + + +def main(): + executor = ModuleExecutor(RESOURCE_NAME) + executor.main() + + +if __name__ == "__main__": + main() diff --git a/plugins/modules/sslservicegroup_sslcertkey_binding.py b/plugins/modules/sslservicegroup_sslcertkey_binding.py index 843e85792..127d1d268 100644 --- a/plugins/modules/sslservicegroup_sslcertkey_binding.py +++ b/plugins/modules/sslservicegroup_sslcertkey_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: sslservicegroup_sslcertkey_binding short_description: Binding Resource definition for describing association between sslservicegroup and sslcertkey resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -74,6 +76,21 @@ """ EXAMPLES = r""" +--- +- name: Sample sslservicegroup_sslcertkey_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslservicegroup_sslcertkey_binding + delegate_to: localhost + netscaler.adc.sslservicegroup_sslcertkey_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + servicegroupname: ssl_sg4 + certkeyname: ssl_cert_ca20 """ RETURN = r""" diff --git a/plugins/modules/sslservicegroup_sslcipher_binding.py b/plugins/modules/sslservicegroup_sslcipher_binding.py index 5e27136bf..db1a05df2 100644 --- a/plugins/modules/sslservicegroup_sslcipher_binding.py +++ b/plugins/modules/sslservicegroup_sslcipher_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: sslservicegroup_sslcipher_binding short_description: Binding Resource definition for describing association between sslservicegroup and sslcipher resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/sslservicegroup_sslciphersuite_binding.py b/plugins/modules/sslservicegroup_sslciphersuite_binding.py index 301e0508b..802787ee7 100644 --- a/plugins/modules/sslservicegroup_sslciphersuite_binding.py +++ b/plugins/modules/sslservicegroup_sslciphersuite_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: sslservicegroup_sslciphersuite_binding short_description: Binding Resource definition for describing association between sslservicegroup and sslciphersuite resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/sslvserver.py b/plugins/modules/sslvserver.py index a99d28738..c8585da32 100644 --- a/plugins/modules/sslvserver.py +++ b/plugins/modules/sslvserver.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: sslvserver short_description: Configuration for SSL virtual server resource. description: Configuration for SSL virtual server resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,7 +39,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str cipherredirect: - type: raw + type: str choices: - ENABLED - DISABLED @@ -47,16 +49,16 @@ SSL handshake fails because of a cipher mismatch between the virtual server or service and the client. cipherurl: - type: raw + type: str description: - The redirect URL to be used with the Cipher Redirect feature. cleartextport: - type: raw + type: int description: - Port on which clear-text data is sent by the appliance to the server. Do not specify this parameter for SSL offloading with end-to-end encryption. clientauth: - type: raw + type: str choices: - ENABLED - DISABLED @@ -65,7 +67,7 @@ server terminates the SSL handshake if the SSL client does not provide a valid certificate. clientcert: - type: raw + type: str choices: - Mandatory - Optional @@ -77,21 +79,30 @@ presents an invalid certificate. - 'Caution: Define proper access control policies before changing this setting to C(Optional).' + defaultsni: + type: str + description: + - Default domain name supported by the SSL virtual server. The parameter is + effective, when zero touch certificate management is active for the SSL virtual + server i.e. no manual SNI cert or default server cert is bound to the v-server. + - For SSL transactions, when SNI is not presented by the client, server-certificate + corresponding to the default SNI, if available in the cert-store, is selected + else connection is terminated. dh: - type: raw + type: str choices: - ENABLED - DISABLED description: - State of Diffie-Hellman (DH) key exchange. dhcount: - type: raw + type: float description: - Number of interactions, between the client and the Citrix ADC, after which the DH private-public pair is regenerated. A value of zero (0) specifies refresh every time. dhekeyexchangewithpsk: - type: raw + type: str choices: - 'YES' - 'NO' @@ -107,12 +118,12 @@ regardless of whether the client supports combined PSK-DHE key exchange. This setting only has an effect when resumption is enabled. dhfile: - type: raw + type: str description: - Name of and, optionally, path to the DH parameter file, in PEM format, to be installed. /nsconfig/ssl/ is the default path. dhkeyexpsizelimit: - type: raw + type: str choices: - ENABLED - DISABLED @@ -122,25 +133,25 @@ 2048bit, the private-key size recommended is 224bits. This is rounded-up to 256bits. dtls1: - type: raw + type: str choices: - ENABLED - DISABLED description: - State of DTLSv1.0 protocol support for the SSL Virtual Server. dtls12: - type: raw + type: str choices: - ENABLED - DISABLED description: - State of DTLSv1.2 protocol support for the SSL Virtual Server. dtlsprofilename: - type: raw + type: str description: - Name of the DTLS profile whose settings are to be applied to the virtual server. ersa: - type: raw + type: str choices: - ENABLED - DISABLED @@ -154,12 +165,12 @@ cipher is bound to an SSL or TCP-based SSL virtual server or service. The eRSA key is deleted when the appliance restarts. ersacount: - type: raw + type: float description: - Refresh count for regeneration of the RSA public-key and private-key pair. Zero (0) specifies infinite usage (no refresh). hsts: - type: raw + type: str choices: - ENABLED - DISABLED @@ -167,7 +178,7 @@ - State of HSTS protocol support for the SSL Virtual Server. Using HSTS, a server can enforce the use of an HTTPS connection for all communication with a client includesubdomains: - type: raw + type: str choices: - 'YES' - 'NO' @@ -175,12 +186,12 @@ - Enable HSTS for subdomains. If set to Yes, a client must send only HTTPS requests for subdomains. maxage: - type: raw + type: float description: - Set the maximum time, in seconds, in the strict transport security (STS) header during which the client must send only HTTPS requests to the server ocspstapling: - type: raw + type: str choices: - ENABLED - DISABLED @@ -194,7 +205,7 @@ handshake.' - 'C(DISABLED): The appliance does not check the status of the server certificate.' preload: - type: raw + type: str choices: - 'YES' - 'NO' @@ -218,7 +229,7 @@ in the set ssl parameter command or in the Change Advanced SSL Settings dialog box.' redirectportrewrite: - type: raw + type: str choices: - ENABLED - DISABLED @@ -227,14 +238,14 @@ is C(ENABLED) and the URL from the server does not contain the standard port, the port is rewritten to the standard. sendclosenotify: - type: raw + type: str choices: - 'YES' - 'NO' description: - Enable sending SSL Close-Notify at the end of a transaction sessreuse: - type: raw + type: str choices: - ENABLED - DISABLED @@ -243,13 +254,13 @@ public key encryption operations. With the C(ENABLED) setting, session key exchange is avoided for session resumption requests received from the client. sesstimeout: - type: raw + type: float description: - Time, in seconds, for which to keep the session active. Any session resumption request received after the timeout period will require a fresh SSL handshake and establishment of a new SSL session. snienable: - type: raw + type: str choices: - ENABLED - DISABLED @@ -260,14 +271,14 @@ same organization and share the same second-level domain name. For example, *.sports.net can be used to secure domains such as login.sports.net and help.sports.net. ssl2: - type: raw + type: str choices: - ENABLED - DISABLED description: - State of SSLv2 protocol support for the SSL Virtual Server. ssl3: - type: raw + type: str choices: - ENABLED - DISABLED @@ -276,11 +287,11 @@ - 'Note: On platforms with SSL acceleration chips, if the SSL chip does not support SSLv3, this parameter cannot be set to C(ENABLED).' sslprofile: - type: raw + type: str description: - Name of the SSL profile that contains SSL settings for the virtual server. sslredirect: - type: raw + type: str choices: - ENABLED - DISABLED @@ -295,7 +306,7 @@ - If SSL Redirect is C(ENABLED), the redirect message is automatically converted from http:// to https:// and the SSL session does not break. sslv2redirect: - type: raw + type: str choices: - ENABLED - DISABLED @@ -305,13 +316,13 @@ SSL handshake fails because of a protocol version mismatch between the virtual server or service and the client. sslv2url: - type: raw + type: str description: - URL of the page to which to redirect the client in case of a protocol version mismatch. Typically, this page has a clear explanation of the error or an alternative location that the transaction can continue from. strictsigdigestcheck: - type: raw + type: str choices: - ENABLED - DISABLED @@ -320,35 +331,35 @@ handshake is signed with one of signature-hash combination supported by Citrix ADC. tls1: - type: raw + type: str choices: - ENABLED - DISABLED description: - State of TLSv1.0 protocol support for the SSL Virtual Server. tls11: - type: raw + type: str choices: - ENABLED - DISABLED description: - State of TLSv1.1 protocol support for the SSL Virtual Server. tls12: - type: raw + type: str choices: - ENABLED - DISABLED description: - State of TLSv1.2 protocol support for the SSL Virtual Server. tls13: - type: raw + type: str choices: - ENABLED - DISABLED description: - State of TLSv1.3 protocol support for the SSL Virtual Server. tls13sessionticketsperauthcontext: - type: raw + type: float description: - Number of tickets the SSL Virtual Server will issue anytime TLS 1.3 is negotiated, ticket-based resumption is enabled, and either (1) a handshake completes or @@ -357,11 +368,11 @@ using a fresh ticket for each connection. - No tickets are sent if resumption is disabled. vservername: - type: raw + type: str description: - Name of the SSL virtual server for which to set advanced configuration. zerorttearlydata: - type: raw + type: str choices: - ENABLED - DISABLED @@ -596,6 +607,31 @@ elements: dict description: List of binding members default: [] + sslvserver_sslcacertbundle_binding: + type: dict + description: Bindings for sslvserver_sslcacertbundle_binding resource + suboptions: + mode: + type: str + default: desired + description: + - The mode in which to configure the bindings. + - If mode is set to C(desired), the bindings will be added or removed from + the target NetScaler ADCs as necessary to match the bindings specified + in the state. + - If mode is set to C(bind), the specified bindings will be added to the + resource. The existing bindings in the target ADCs will not be modified. + - If mode is set to C(unbind), the specified bindings will be removed from + the resource. The existing bindings in the target ADCs will not be modified. + choices: + - desired + - bind + - unbind + binding_members: + type: list + elements: dict + description: List of binding members + default: [] sslvserver_sslcertkey_binding: type: dict description: Bindings for sslvserver_sslcertkey_binding resource @@ -726,6 +762,21 @@ """ EXAMPLES = r""" +--- +- name: Sample sslvserver playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslvserver + delegate_to: localhost + netscaler.adc.sslvserver: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + vservername: backup_gslb_portal.bx.com + sslprofile: ns_default_ssl_profile_frontend """ RETURN = r""" diff --git a/plugins/modules/sslvserver_ecccurve_binding.py b/plugins/modules/sslvserver_ecccurve_binding.py index ceaaaa398..b298a193b 100644 --- a/plugins/modules/sslvserver_ecccurve_binding.py +++ b/plugins/modules/sslvserver_ecccurve_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: sslvserver_ecccurve_binding short_description: Binding Resource definition for describing association between sslvserver and ecccurve resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -46,6 +48,7 @@ - P_256 - P_384 - P_521 + - X_25519 description: - Named ECC curve bound to vserver/service. vservername: @@ -57,6 +60,21 @@ """ EXAMPLES = r""" +--- +- name: Sample sslvserver_ecccurve_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslvserver_ecccurve_binding + delegate_to: localhost + netscaler.adc.sslvserver_ecccurve_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + vservername: dh + ecccurvename: P_521 """ RETURN = r""" diff --git a/plugins/modules/sslvserver_sslcacertbundle_binding.py b/plugins/modules/sslvserver_sslcacertbundle_binding.py new file mode 100644 index 000000000..e93d0c598 --- /dev/null +++ b/plugins/modules/sslvserver_sslcacertbundle_binding.py @@ -0,0 +1,111 @@ +#!/usr/bin/python + +# -*- coding: utf-8 -*- + +# Copyright (c) 2023 Cloud Software Group, Inc. +# MIT License (see LICENSE or https://opensource.org/licenses/MIT) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + + +ANSIBLE_METADATA = { + "metadata_version": "1.1", + "status": ["preview"], + "supported_by": "community", +} + +DOCUMENTATION = r""" +--- +module: sslvserver_sslcacertbundle_binding +short_description: Binding Resource definition for describing association between + sslvserver and sslcacertbundle resources +description: Binding Resource definition for describing association between sslvserver + and sslcacertbundle resources +version_added: 2.0.0 +author: + - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) +options: + state: + choices: + - present + - absent + default: present + description: + - The state of the resource being configured by the module on the NetScaler + ADC node. + - When C(present), the resource will be added/updated configured according to + the module's parameters. + - When C(absent), the resource will be deleted from the NetScaler ADC node. + type: str + cacertbundlename: + type: str + description: + - CA certbundle name bound to the vserver. + skipcacertbundle: + type: bool + description: + - The flag is used to indicate whether this particular CA certificate's CA_Name + needs to be sent to the SSL client while requesting for client certificate + in a SSL handshake + vservername: + type: str + description: + - Name of the SSL virtual server. +extends_documentation_fragment: netscaler.adc.netscaler_adc + +""" + +EXAMPLES = r""" +""" + +RETURN = r""" +--- +changed: + description: Indicates if any change is made by the module + returned: always + type: bool + sample: true +diff: + description: Dictionary of before and after changes + returned: always + type: dict + sample: {'before': {'key1': 'xyz'}, 'after': {'key2': 'pqr'}, 'prepared': 'changes + done'} +diff_list: + description: List of differences between the actual configured object and the configuration + specified in the module + returned: when changed + type: list + sample: ["Attribute `key1` differs. Desired: () XYZ. Existing: () PQR"] +failed: + description: Indicates if the module failed or not + returned: always + type: bool + sample: false +loglines: + description: list of logged messages by the module + returned: always + type: list + sample: ['message 1', 'message 2'] + +""" + + +import os + +from ..module_utils.module_executor import ModuleExecutor + +RESOURCE_NAME = os.path.basename(__file__).replace(".py", "") + + +def main(): + executor = ModuleExecutor(RESOURCE_NAME) + executor.main() + + +if __name__ == "__main__": + main() diff --git a/plugins/modules/sslvserver_sslcertkey_binding.py b/plugins/modules/sslvserver_sslcertkey_binding.py index 8968e9bbf..b9c07a49b 100644 --- a/plugins/modules/sslvserver_sslcertkey_binding.py +++ b/plugins/modules/sslvserver_sslcertkey_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: sslvserver_sslcertkey_binding short_description: Binding Resource definition for describing association between sslvserver and sslcertkey resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -80,6 +82,21 @@ """ EXAMPLES = r""" +--- +- name: Sample sslvserver_sslcertkey_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslvserver_sslcertkey_binding + delegate_to: localhost + netscaler.adc.sslvserver_sslcertkey_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + vservername: CitrixAccessCallback + certkeyname: callback.blackstone.com """ RETURN = r""" diff --git a/plugins/modules/sslvserver_sslcertkeybundle_binding.py b/plugins/modules/sslvserver_sslcertkeybundle_binding.py index 1cc506a71..56b9e0aad 100644 --- a/plugins/modules/sslvserver_sslcertkeybundle_binding.py +++ b/plugins/modules/sslvserver_sslcertkeybundle_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: sslvserver_sslcertkeybundle_binding short_description: Binding Resource definition for describing association between sslvserver and sslcertkeybundle resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -55,6 +57,22 @@ """ EXAMPLES = r""" +--- +- name: Sample sslvserver_sslcertkeybundle_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslvserver_sslcertkeybundle_binding + delegate_to: localhost + netscaler.adc.sslvserver_sslcertkeybundle_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + vservername: v1_1 + certkeybundlename: tc11 + snicertkeybundle: true """ RETURN = r""" diff --git a/plugins/modules/sslvserver_sslcipher_binding.py b/plugins/modules/sslvserver_sslcipher_binding.py index 509c90519..f0d384f90 100644 --- a/plugins/modules/sslvserver_sslcipher_binding.py +++ b/plugins/modules/sslvserver_sslcipher_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: sslvserver_sslcipher_binding short_description: Binding Resource definition for describing association between sslvserver and sslcipher resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -60,6 +62,21 @@ """ EXAMPLES = r""" +--- +- name: Sample sslvserver_sslcipher_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslvserver_sslcipher_binding + delegate_to: localhost + netscaler.adc.sslvserver_sslcipher_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + vservername: lb2 + ciphername: TLS1.2-DHE-RSA-AES-128-SHA256 """ RETURN = r""" diff --git a/plugins/modules/sslvserver_sslciphersuite_binding.py b/plugins/modules/sslvserver_sslciphersuite_binding.py index 1e4259920..c0a9f3213 100644 --- a/plugins/modules/sslvserver_sslciphersuite_binding.py +++ b/plugins/modules/sslvserver_sslciphersuite_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: sslvserver_sslciphersuite_binding short_description: Binding Resource definition for describing association between sslvserver and sslciphersuite resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/sslvserver_sslpolicy_binding.py b/plugins/modules/sslvserver_sslpolicy_binding.py index 8d8fe4e79..39929cc68 100644 --- a/plugins/modules/sslvserver_sslpolicy_binding.py +++ b/plugins/modules/sslvserver_sslpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: sslvserver_sslpolicy_binding short_description: Binding Resource definition for describing association between sslvserver and sslpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -94,6 +96,23 @@ """ EXAMPLES = r""" +--- +- name: Sample sslvserver_sslpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure sslvserver_sslpolicy_binding + delegate_to: localhost + netscaler.adc.sslvserver_sslpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + vservername: new_XM_LB_MDM_titan.dnpg-blr.com_10.100.48.233_443 + policyname: new_XM_MDM_titan.dnpg-blr.com_POLICY1 + priority: '100' + gotopriorityexpression: END """ RETURN = r""" diff --git a/plugins/modules/sslwrapkey.py b/plugins/modules/sslwrapkey.py index b60a5dce5..54108057f 100644 --- a/plugins/modules/sslwrapkey.py +++ b/plugins/modules/sslwrapkey.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: sslwrapkey short_description: Configuration for WRAP key resource. description: Configuration for WRAP key resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/streamidentifier.py b/plugins/modules/streamidentifier.py index b26f6c3c9..a85f56b90 100644 --- a/plugins/modules/streamidentifier.py +++ b/plugins/modules/streamidentifier.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: streamidentifier short_description: Configuration for identifier resource. description: Configuration for identifier resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,62 +41,79 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str acceptancethreshold: - type: raw + type: str description: - Non-Breaching transactions to Total transactions threshold expressed in percent. - Maximum of 6 decimal places is supported. appflowlog: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable/disable Appflow logging for stream identifier breachthreshold: - type: raw + type: float description: - Breaching transactions threshold calculated over interval. interval: - type: raw + type: float description: - Number of minutes of data to use when calculating session statistics (number of requests, bandwidth, and response times). The interval is a moving window that keeps the most recently collected data. Older data is discarded at regular intervals. + log: + type: str + choices: + - SYSLOG + - NONE + description: + - Location where objects collected on the identifier will be logged. + loginterval: + type: float + description: + - Time interval in minutes for logging the collected objects. + - 'Log interval should be greater than or equal to the inteval ' + - of the stream identifier. + loglimit: + type: float + description: + - Maximum number of objects to be logged in the log interval. maxtransactionthreshold: - type: raw + type: float description: - Maximum per transcation value of metric. Metric to be tracked is specified by tracktransactions attribute. mintransactionthreshold: - type: raw + type: float description: - Minimum per transcation value of metric. Metric to be tracked is specified by tracktransactions attribute. name: - type: raw + type: str description: - The name of stream identifier. samplecount: - type: raw + type: float description: - Size of the sample from which to select a request for evaluation. The smaller the sample count, the more accurate is the statistical data. To evaluate all requests, set the sample count to 1. However, such a low setting can result in excessive consumption of memory and processing resources. selectorname: - type: raw + type: str description: - Name of the selector to use with the stream identifier. snmptrap: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable/disable SNMP trap for stream identifier sort: - type: raw + type: str choices: - REQUESTS - CONNECTIONS @@ -108,7 +127,7 @@ through Citrix ADC policies (for example, compression and caching policies) that use functions such as IS_TOP(n). trackackonlypackets: - type: raw + type: str choices: - ENABLED - DISABLED @@ -116,7 +135,7 @@ - Track ack only packets as well. This setting is applicable only when packet rate limiting is being used. tracktransactions: - type: raw + type: str choices: - RESPTIME - NONE @@ -124,11 +143,56 @@ - 'Track transactions exceeding configured threshold. Transaction tracking can be enabled for following metric: ResponseTime.' - By default transaction tracking is disabled + streamidentifier_analyticsprofile_binding: + type: dict + description: Bindings for streamidentifier_analyticsprofile_binding resource + suboptions: + mode: + type: str + default: desired + description: + - The mode in which to configure the bindings. + - If mode is set to C(desired), the bindings will be added or removed from + the target NetScaler ADCs as necessary to match the bindings specified + in the state. + - If mode is set to C(bind), the specified bindings will be added to the + resource. The existing bindings in the target ADCs will not be modified. + - If mode is set to C(unbind), the specified bindings will be removed from + the resource. The existing bindings in the target ADCs will not be modified. + choices: + - desired + - bind + - unbind + binding_members: + type: list + elements: dict + description: List of binding members + default: [] extends_documentation_fragment: netscaler.adc.netscaler_adc """ EXAMPLES = r""" +--- +- name: Sample streamidentifier playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure streamidentifier + delegate_to: localhost + netscaler.adc.streamidentifier: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: xyz + selectorname: insight_sel + appflowlog: ENABLED + tracktransactions: RESPTIME + maxtransactionthreshold: '2' + mintransactionthreshold: '1' + acceptancethreshold: '100.000000' """ RETURN = r""" diff --git a/plugins/modules/streamidentifier_analyticsprofile_binding.py b/plugins/modules/streamidentifier_analyticsprofile_binding.py new file mode 100644 index 000000000..136422133 --- /dev/null +++ b/plugins/modules/streamidentifier_analyticsprofile_binding.py @@ -0,0 +1,105 @@ +#!/usr/bin/python + +# -*- coding: utf-8 -*- + +# Copyright (c) 2023 Cloud Software Group, Inc. +# MIT License (see LICENSE or https://opensource.org/licenses/MIT) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + + +ANSIBLE_METADATA = { + "metadata_version": "1.1", + "status": ["preview"], + "supported_by": "community", +} + +DOCUMENTATION = r""" +--- +module: streamidentifier_analyticsprofile_binding +short_description: Binding Resource definition for describing association between + streamidentifier and analyticsprofile resources +description: Binding Resource definition for describing association between streamidentifier + and analyticsprofile resources +version_added: 2.0.0 +author: + - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) +options: + state: + choices: + - present + - absent + default: present + description: + - The state of the resource being configured by the module on the NetScaler + ADC node. + - When C(present), the resource will be added/updated configured according to + the module's parameters. + - When C(absent), the resource will be deleted from the NetScaler ADC node. + type: str + analyticsprofile: + type: str + description: + - Name of the analytics profile. + name: + type: str + description: + - The name of stream identifier. +extends_documentation_fragment: netscaler.adc.netscaler_adc + +""" + +EXAMPLES = r""" +""" + +RETURN = r""" +--- +changed: + description: Indicates if any change is made by the module + returned: always + type: bool + sample: true +diff: + description: Dictionary of before and after changes + returned: always + type: dict + sample: {'before': {'key1': 'xyz'}, 'after': {'key2': 'pqr'}, 'prepared': 'changes + done'} +diff_list: + description: List of differences between the actual configured object and the configuration + specified in the module + returned: when changed + type: list + sample: ["Attribute `key1` differs. Desired: () XYZ. Existing: () PQR"] +failed: + description: Indicates if the module failed or not + returned: always + type: bool + sample: false +loglines: + description: list of logged messages by the module + returned: always + type: list + sample: ['message 1', 'message 2'] + +""" + + +import os + +from ..module_utils.module_executor import ModuleExecutor + +RESOURCE_NAME = os.path.basename(__file__).replace(".py", "") + + +def main(): + executor = ModuleExecutor(RESOURCE_NAME) + executor.main() + + +if __name__ == "__main__": + main() diff --git a/plugins/modules/streamselector.py b/plugins/modules/streamselector.py index 0996091d2..a7e0a33e3 100644 --- a/plugins/modules/streamselector.py +++ b/plugins/modules/streamselector.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: streamselector short_description: Configuration for selector resource. description: Configuration for selector resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -59,6 +61,22 @@ """ EXAMPLES = r""" +--- +- name: Sample streamselector playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure streamselector + delegate_to: localhost + netscaler.adc.streamselector: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: insight_sel + rule: + - http.req.url """ RETURN = r""" diff --git a/plugins/modules/streamsession.py b/plugins/modules/streamsession.py index 8c38e1e63..421dbe3f2 100644 --- a/plugins/modules/streamsession.py +++ b/plugins/modules/streamsession.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: streamsession short_description: Configuration for active connection resource. description: Configuration for active connection resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: [] diff --git a/plugins/modules/subscribergxinterface.py b/plugins/modules/subscribergxinterface.py index 73955ca00..c431fc4f6 100644 --- a/plugins/modules/subscribergxinterface.py +++ b/plugins/modules/subscribergxinterface.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: subscribergxinterface short_description: Configuration for Gx interface Parameters resource. description: Configuration for Gx interface Parameters resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,13 +39,13 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str cerrequesttimeout: - type: raw + type: float description: - q!Healthcheck request timeout, in seconds, after which the Citrix ADC considers that no CCA packet received to the initiated CCR. After this time Citrix ADC should send again CCR to PCRF server. ! healthcheck: - type: raw + type: str choices: - 'YES' - 'NO' @@ -52,13 +54,13 @@ When the session is idle, healthcheck timer expires and DWR packets are initiated in order to check that PCRF server is active. By default set to No. ! healthcheckttl: - type: raw + type: float description: - q!Healthcheck timeout, in seconds, after which the DWR will be sent in order to ensure the state of the PCRF server. Any CCR, CCA, RAR or RRA message resets the timer. ! holdonsubscriberabsence: - type: raw + type: str choices: - 'YES' - 'NO' @@ -76,7 +78,7 @@ any PCRF activity on a session. Any RAR or CCA message resets the timer. - Zero value disables the idle timeout. ! negativettl: - type: raw + type: float description: - q!Negative TTL, in seconds, after which the Gx CCR-I request will be resent for sessions that have not been resolved by PCRF due to server being down @@ -90,7 +92,7 @@ - Zero value disables the Negative Sessions. And Citrix ADC does not install Negative sessions even if subscriber session could not be fetched. ! negativettllimitedsuccess: - type: raw + type: str choices: - 'YES' - 'NO' @@ -109,7 +111,7 @@ the message is to be routed. This is the realm used in Destination-Realm AVP by Citrix ADC Gx client (as a Diameter node). purgesdbongxfailure: - type: raw + type: str choices: - 'YES' - 'NO' @@ -117,12 +119,12 @@ - Set this setting to C(YES) if needed to purge Subscriber Database in case of Gx failure. By default set to C(NO). requestretryattempts: - type: raw + type: float description: - If the request does not complete within requestTimeout time, the request is retransmitted for requestRetryAttempts time. requesttimeout: - type: raw + type: float description: - q!Time, in seconds, within which the Gx CCR request must complete. If the request does not complete within this time, the request is retransmitted for @@ -132,29 +134,30 @@ use Subscriber attributes. - Zero disables the timeout. ! revalidationtimeout: - type: raw + type: float description: - q!Revalidation Timeout, in seconds, after which the Gx CCR-U request will be sent after any PCRF activity on a session. Any RAR or CCA message resets the timer. - Zero value disables the idle timeout. ! service: - type: raw + type: str description: - Name of DIAMETER/SSL_DIAMETER service corresponding to PCRF to which the Gx connection is established. The service type of the service must be DIAMETER/SSL_DIAMETER. Mutually exclusive with vserver parameter. Therefore, you cannot set both Service and the Virtual Server in the Gx Interface. servicepathavp: - type: raw + type: list description: - The AVP code in which PCRF sends service path applicable for subscriber. + elements: int servicepathvendorid: - type: raw + type: float description: - The vendorid of the AVP in which PCRF sends service path for subscriber. vserver: - type: raw + type: str description: - Name of the load balancing, or content switching vserver to which the Gx connections are established. The service type of the virtual server must be DIAMETER/SSL_DIAMETER. @@ -166,18 +169,22 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample subscribergxinterface playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | subscribergxInterface + - name: Configure subscribergxinterface delegate_to: localhost netscaler.adc.subscribergxinterface: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present pcrfrealm: pcrf.com servicepathavp: - - 262099 - servicepathvendorid: 3845 + - '262099' + servicepathvendorid: '3845' """ RETURN = r""" diff --git a/plugins/modules/subscriberparam.py b/plugins/modules/subscriberparam.py index b69fea271..853b8e7b7 100644 --- a/plugins/modules/subscriberparam.py +++ b/plugins/modules/subscriberparam.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: subscriberparam short_description: Configuration for Subscriber Params resource. description: Configuration for Subscriber Params resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,7 +39,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str idleaction: - type: raw + type: str choices: - ccrTerminate - delete @@ -51,7 +53,7 @@ - '3. C(ccrUpdate): Do not C(delete) the session and instead send a CCR-U to PCRF requesting for an updated session. !' idlettl: - type: raw + type: float description: - 'q!Idle Timeout, in seconds, after which Citrix ADC will take an idleAction on a subscriber session (refer to ''idleAction'' arguement in ''set subscriber @@ -61,7 +63,7 @@ not delete but send a CCR-U''. ' - Zero value disables the idle timeout. ! interfacetype: - type: raw + type: str choices: - None - RadiusOnly @@ -85,7 +87,7 @@ to the UE's' elements: int keytype: - type: raw + type: str choices: - IP - IPANDVLAN @@ -99,6 +101,23 @@ """ EXAMPLES = r""" +--- +- name: Sample subscriberparam playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure subscriberparam + delegate_to: localhost + netscaler.adc.subscriberparam: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + ipv6prefixlookuplist: + - '120' + - '104' + - '64' """ RETURN = r""" diff --git a/plugins/modules/subscriberprofile.py b/plugins/modules/subscriberprofile.py index ec5353a43..c037a40a5 100644 --- a/plugins/modules/subscriberprofile.py +++ b/plugins/modules/subscriberprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: subscriberprofile short_description: Configuration for Subscriber Profile resource. description: Configuration for Subscriber Profile resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,11 +41,11 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str ip: - type: raw + type: str description: - Subscriber ip address servicepath: - type: raw + type: str description: - Name of the servicepath to be taken for this subscriber. subscriberrules: diff --git a/plugins/modules/subscriberradiusinterface.py b/plugins/modules/subscriberradiusinterface.py index fc1c96e28..f5db3b871 100644 --- a/plugins/modules/subscriberradiusinterface.py +++ b/plugins/modules/subscriberradiusinterface.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: subscriberradiusinterface short_description: Configuration for RADIUS interface Parameters resource. description: Configuration for RADIUS interface Parameters resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -41,7 +43,7 @@ description: - Name of RADIUS LISTENING service that will process RADIUS accounting requests. radiusinterimasstart: - type: raw + type: str choices: - ENABLED - DISABLED diff --git a/plugins/modules/subscribersessions.py b/plugins/modules/subscribersessions.py index 783d22003..cb7a50a62 100644 --- a/plugins/modules/subscribersessions.py +++ b/plugins/modules/subscribersessions.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: subscribersessions short_description: Configuration for subscriber sesions resource. description: Configuration for subscriber sesions resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: [] diff --git a/plugins/modules/systemadmuserinfo.py b/plugins/modules/systemadmuserinfo.py index 65a7efd1a..d77bbaba0 100644 --- a/plugins/modules/systemadmuserinfo.py +++ b/plugins/modules/systemadmuserinfo.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: systemadmuserinfo short_description: Configuration for 0 resource. description: Configuration for 0 resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/systemautorestorefeature.py b/plugins/modules/systemautorestorefeature.py new file mode 100644 index 000000000..211e86138 --- /dev/null +++ b/plugins/modules/systemautorestorefeature.py @@ -0,0 +1,96 @@ +#!/usr/bin/python + +# -*- coding: utf-8 -*- + +# Copyright (c) 2023 Cloud Software Group, Inc. +# MIT License (see LICENSE or https://opensource.org/licenses/MIT) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + + +ANSIBLE_METADATA = { + "metadata_version": "1.1", + "status": ["preview"], + "supported_by": "community", +} + +DOCUMENTATION = r""" +--- +module: systemautorestorefeature +short_description: Configuration for Enable/Disable the autorestore feature use to + create restorepoint resource. +description: Configuration for Enable/Disable the autorestore feature use to create + restorepoint resource. +version_added: 2.0.0 +author: + - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) +options: + state: + choices: + - enabled + - disabled + default: present + description: + - The state of the resource being configured by the module on the NetScaler + ADC node. + - When C(enabled), the resource will be enabled on the NetScaler ADC node. + - When C(disabled), the resource will be disabled on the NetScaler ADC node. + type: str +extends_documentation_fragment: netscaler.adc.netscaler_adc + +""" + +EXAMPLES = r""" +""" + +RETURN = r""" +--- +changed: + description: Indicates if any change is made by the module + returned: always + type: bool + sample: true +diff: + description: Dictionary of before and after changes + returned: always + type: dict + sample: {'before': {'key1': 'xyz'}, 'after': {'key2': 'pqr'}, 'prepared': 'changes + done'} +diff_list: + description: List of differences between the actual configured object and the configuration + specified in the module + returned: when changed + type: list + sample: ["Attribute `key1` differs. Desired: () XYZ. Existing: () PQR"] +failed: + description: Indicates if the module failed or not + returned: always + type: bool + sample: false +loglines: + description: list of logged messages by the module + returned: always + type: list + sample: ['message 1', 'message 2'] + +""" + + +import os + +from ..module_utils.module_executor import ModuleExecutor + +RESOURCE_NAME = os.path.basename(__file__).replace(".py", "") + + +def main(): + executor = ModuleExecutor(RESOURCE_NAME) + executor.main() + + +if __name__ == "__main__": + main() diff --git a/plugins/modules/systembackup.py b/plugins/modules/systembackup.py index 39a49c504..562aded73 100644 --- a/plugins/modules/systembackup.py +++ b/plugins/modules/systembackup.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: systembackup short_description: Configuration for Backup Data for ns backup and restore resource. description: Configuration for Backup Data for ns backup and restore resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/systemcmdpolicy.py b/plugins/modules/systemcmdpolicy.py index 04c259c65..5fd6a9cdb 100644 --- a/plugins/modules/systemcmdpolicy.py +++ b/plugins/modules/systemcmdpolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: systemcmdpolicy short_description: Configuration for command policy resource. description: Configuration for command policy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -62,6 +64,23 @@ """ EXAMPLES = r""" +--- +- name: Sample systemcmdpolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure systemcmdpolicy + delegate_to: localhost + netscaler.adc.systemcmdpolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + policyname: read-only + action: ALLOW + cmdspec: (^man.*)|(^show\s+(\?!system)(\?!configstatus)(\?!ns ns\.conf)(\?!ns + savedconfig)(\?!ns runningConfig)(\?!gslb runningConfig)(\?!audit messages)(\?!techsupport).*)|(^stat.*) """ RETURN = r""" diff --git a/plugins/modules/systemcollectionparam.py b/plugins/modules/systemcollectionparam.py index bb227b302..2aec30792 100644 --- a/plugins/modules/systemcollectionparam.py +++ b/plugins/modules/systemcollectionparam.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: systemcollectionparam short_description: Configuration for collection parameter resource. description: Configuration for collection parameter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -41,11 +43,11 @@ description: - SNMPv1 community name for authentication. datapath: - type: raw + type: str description: - specify the data path to the database. loglevel: - type: raw + type: str description: - specify the log level. Possible values CRITICAL,WARNING,INFO,DEBUG1,DEBUG2 extends_documentation_fragment: netscaler.adc.netscaler_adc diff --git a/plugins/modules/systemcpuparam.py b/plugins/modules/systemcpuparam.py index c83eba7eb..0201d7c5d 100644 --- a/plugins/modules/systemcpuparam.py +++ b/plugins/modules/systemcpuparam.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: systemcpuparam short_description: Configuration for 0 resource. description: Configuration for 0 resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,7 +39,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str pemode: - type: raw + type: str choices: - DEFAULT - CPUBOUND diff --git a/plugins/modules/systementitydata.py b/plugins/modules/systementitydata.py index 6936b1d4d..2ac0acb05 100644 --- a/plugins/modules/systementitydata.py +++ b/plugins/modules/systementitydata.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: systementitydata short_description: Configuration for entity data resource. description: Configuration for entity data resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/systemextramgmtcpu.py b/plugins/modules/systemextramgmtcpu.py index e8d2eed52..2b975b2c6 100644 --- a/plugins/modules/systemextramgmtcpu.py +++ b/plugins/modules/systemextramgmtcpu.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: systemextramgmtcpu short_description: Configuration for 0 resource. description: Configuration for 0 resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -44,6 +46,19 @@ """ EXAMPLES = r""" +--- +- name: Sample systemextramgmtcpu playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure systemextramgmtcpu + delegate_to: localhost + netscaler.adc.systemextramgmtcpu: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present """ RETURN = r""" diff --git a/plugins/modules/systemfile.py b/plugins/modules/systemfile.py index 56208ed04..6763cf40f 100644 --- a/plugins/modules/systemfile.py +++ b/plugins/modules/systemfile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: systemfile short_description: Configuration for file resource. description: Configuration for file resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/systemglobal_auditnslogpolicy_binding.py b/plugins/modules/systemglobal_auditnslogpolicy_binding.py index 4d7098169..8378768bf 100644 --- a/plugins/modules/systemglobal_auditnslogpolicy_binding.py +++ b/plugins/modules/systemglobal_auditnslogpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: systemglobal_auditnslogpolicy_binding short_description: Binding Resource definition for describing association between systemglobal and auditnslogpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -107,12 +109,9 @@ - SYSTEM - RISE - FEO - - LSN - - LargeScaleNAT - RDPProxy - Rep - Reputation - - URLFiltering - VideoOptimization - ForwardProxy - SSLInterception diff --git a/plugins/modules/systemglobal_auditsyslogpolicy_binding.py b/plugins/modules/systemglobal_auditsyslogpolicy_binding.py index 016517519..9bea77253 100644 --- a/plugins/modules/systemglobal_auditsyslogpolicy_binding.py +++ b/plugins/modules/systemglobal_auditsyslogpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: systemglobal_auditsyslogpolicy_binding short_description: Binding Resource definition for describing association between systemglobal and auditsyslogpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -107,12 +109,9 @@ - SYSTEM - RISE - FEO - - LSN - - LargeScaleNAT - RDPProxy - Rep - Reputation - - URLFiltering - VideoOptimization - ForwardProxy - SSLInterception diff --git a/plugins/modules/systemglobal_authenticationldappolicy_binding.py b/plugins/modules/systemglobal_authenticationldappolicy_binding.py index 7e9836a2c..e3c6f1fb1 100644 --- a/plugins/modules/systemglobal_authenticationldappolicy_binding.py +++ b/plugins/modules/systemglobal_authenticationldappolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: systemglobal_authenticationldappolicy_binding short_description: Binding Resource definition for describing association between systemglobal and authenticationldappolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -107,12 +109,9 @@ - SYSTEM - RISE - FEO - - LSN - - LargeScaleNAT - RDPProxy - Rep - Reputation - - URLFiltering - VideoOptimization - ForwardProxy - SSLInterception diff --git a/plugins/modules/systemglobal_authenticationlocalpolicy_binding.py b/plugins/modules/systemglobal_authenticationlocalpolicy_binding.py index 4b467da61..f54512408 100644 --- a/plugins/modules/systemglobal_authenticationlocalpolicy_binding.py +++ b/plugins/modules/systemglobal_authenticationlocalpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: systemglobal_authenticationlocalpolicy_binding short_description: Binding Resource definition for describing association between systemglobal and authenticationlocalpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -107,12 +109,9 @@ - SYSTEM - RISE - FEO - - LSN - - LargeScaleNAT - RDPProxy - Rep - Reputation - - URLFiltering - VideoOptimization - ForwardProxy - SSLInterception diff --git a/plugins/modules/systemglobal_authenticationpolicy_binding.py b/plugins/modules/systemglobal_authenticationpolicy_binding.py index 5e59b246c..8ee8e6e6e 100644 --- a/plugins/modules/systemglobal_authenticationpolicy_binding.py +++ b/plugins/modules/systemglobal_authenticationpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: systemglobal_authenticationpolicy_binding short_description: Binding Resource definition for describing association between systemglobal and authenticationpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -107,12 +109,9 @@ - SYSTEM - RISE - FEO - - LSN - - LargeScaleNAT - RDPProxy - Rep - Reputation - - URLFiltering - VideoOptimization - ForwardProxy - SSLInterception @@ -156,6 +155,22 @@ """ EXAMPLES = r""" +--- +- name: Sample systemglobal_authenticationpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure systemglobal_authenticationpolicy_binding + delegate_to: localhost + netscaler.adc.systemglobal_authenticationpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + policyname: ldap_mgmt_pol + priority: '100' + gotopriorityexpression: NEXT """ RETURN = r""" diff --git a/plugins/modules/systemglobal_authenticationradiuspolicy_binding.py b/plugins/modules/systemglobal_authenticationradiuspolicy_binding.py index e01c5b8e2..c0901dc74 100644 --- a/plugins/modules/systemglobal_authenticationradiuspolicy_binding.py +++ b/plugins/modules/systemglobal_authenticationradiuspolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: systemglobal_authenticationradiuspolicy_binding short_description: Binding Resource definition for describing association between systemglobal and authenticationradiuspolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -107,12 +109,9 @@ - SYSTEM - RISE - FEO - - LSN - - LargeScaleNAT - RDPProxy - Rep - Reputation - - URLFiltering - VideoOptimization - ForwardProxy - SSLInterception diff --git a/plugins/modules/systemglobal_authenticationtacacspolicy_binding.py b/plugins/modules/systemglobal_authenticationtacacspolicy_binding.py index 4e95af538..2837456c1 100644 --- a/plugins/modules/systemglobal_authenticationtacacspolicy_binding.py +++ b/plugins/modules/systemglobal_authenticationtacacspolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: systemglobal_authenticationtacacspolicy_binding short_description: Binding Resource definition for describing association between systemglobal and authenticationtacacspolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -107,12 +109,9 @@ - SYSTEM - RISE - FEO - - LSN - - LargeScaleNAT - RDPProxy - Rep - Reputation - - URLFiltering - VideoOptimization - ForwardProxy - SSLInterception @@ -158,6 +157,21 @@ """ EXAMPLES = r""" +--- +- name: Sample systemglobal_authenticationtacacspolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure systemglobal_authenticationtacacspolicy_binding + delegate_to: localhost + netscaler.adc.systemglobal_authenticationtacacspolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + policyname: acsPolicy1 + priority: '1' """ RETURN = r""" diff --git a/plugins/modules/systemgroup.py b/plugins/modules/systemgroup.py index df0e951e9..2b9daa060 100644 --- a/plugins/modules/systemgroup.py +++ b/plugins/modules/systemgroup.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: systemgroup short_description: Configuration for system group resource. description: Configuration for system group resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str allowedmanagementinterface: - type: raw + type: list choices: - CLI - API @@ -48,8 +50,9 @@ allowed from both C(API) and C(CLI) interfaces. If management interface for a group is set to C(API), then all users under this group will not allowed to access NS through C(CLI). GUI interface will come under C(API) interface + elements: str groupname: - type: raw + type: str description: - Name for the group. Must begin with a letter, number, hash(#) or the underscore (_) character, and must contain only alphanumeric, hyphen (-), period (.), @@ -59,7 +62,7 @@ - 'CLI Users: If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my group" or ''my group'').' promptstring: - type: raw + type: str description: - 'String to display at the command-line prompt. Can consist of letters, numbers, hyphen (-), period (.), hash (#), space ( ), at (@), equal (=), colon (:), @@ -74,7 +77,7 @@ - 'Note: The 63-character limit for the length of the string does not apply to the characters that replace the variables.' timeout: - type: raw + type: float description: - CLI session inactivity timeout, in seconds. If Restrictedtimeout argument of system parameter is enabled, Timeout can have values in the range [300-86400] @@ -162,16 +165,21 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample systemgroup playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | systemgroup + - name: Configure systemgroup delegate_to: localhost netscaler.adc.systemgroup: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - groupname: sys-group1 - promptstring: '[%T] %u@%h/%s' + groupname: Network - CitrixADC - P - ReadOnly + allowedmanagementinterface: + - API """ RETURN = r""" diff --git a/plugins/modules/systemgroup_nspartition_binding.py b/plugins/modules/systemgroup_nspartition_binding.py index 814f17464..6aadc8e55 100644 --- a/plugins/modules/systemgroup_nspartition_binding.py +++ b/plugins/modules/systemgroup_nspartition_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: systemgroup_nspartition_binding short_description: Binding Resource definition for describing association between systemgroup and nspartition resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/systemgroup_systemcmdpolicy_binding.py b/plugins/modules/systemgroup_systemcmdpolicy_binding.py index bb0176fb2..dcff3dbf1 100644 --- a/plugins/modules/systemgroup_systemcmdpolicy_binding.py +++ b/plugins/modules/systemgroup_systemcmdpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: systemgroup_systemcmdpolicy_binding short_description: Binding Resource definition for describing association between systemgroup and systemcmdpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -55,6 +57,22 @@ """ EXAMPLES = r""" +--- +- name: Sample systemgroup_systemcmdpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure systemgroup_systemcmdpolicy_binding + delegate_to: localhost + netscaler.adc.systemgroup_systemcmdpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + groupname: Network - CitrixADC - P - ReadOnly + policyname: read-only + priority: '100' """ RETURN = r""" diff --git a/plugins/modules/systemgroup_systemuser_binding.py b/plugins/modules/systemgroup_systemuser_binding.py index e3c1a5888..b3c6e11a6 100644 --- a/plugins/modules/systemgroup_systemuser_binding.py +++ b/plugins/modules/systemgroup_systemuser_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: systemgroup_systemuser_binding short_description: Binding Resource definition for describing association between systemgroup and systemuser resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -51,6 +53,21 @@ """ EXAMPLES = r""" +--- +- name: Sample systemgroup_systemuser_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure systemgroup_systemuser_binding + delegate_to: localhost + netscaler.adc.systemgroup_systemuser_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + groupname: network + username: net_ron """ RETURN = r""" diff --git a/plugins/modules/systemhwerror.py b/plugins/modules/systemhwerror.py index b8f4968a6..9d6a43ef6 100644 --- a/plugins/modules/systemhwerror.py +++ b/plugins/modules/systemhwerror.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: systemhwerror short_description: Configuration for Hardware errors resource. description: Configuration for Hardware errors resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: [] diff --git a/plugins/modules/systemkek.py b/plugins/modules/systemkek.py index fa88f055f..df69aaaf3 100644 --- a/plugins/modules/systemkek.py +++ b/plugins/modules/systemkek.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: systemkek short_description: Configuration for Key encryption Key resource. description: Configuration for Key encryption Key resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: [] diff --git a/plugins/modules/systemlevelreporting.py b/plugins/modules/systemlevelreporting.py new file mode 100644 index 000000000..f18b9eba3 --- /dev/null +++ b/plugins/modules/systemlevelreporting.py @@ -0,0 +1,96 @@ +#!/usr/bin/python + +# -*- coding: utf-8 -*- + +# Copyright (c) 2023 Cloud Software Group, Inc. +# MIT License (see LICENSE or https://opensource.org/licenses/MIT) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + + +ANSIBLE_METADATA = { + "metadata_version": "1.1", + "status": ["preview"], + "supported_by": "community", +} + +DOCUMENTATION = r""" +--- +module: systemlevelreporting +short_description: Configuration for Make entity count for reporting equal to system + threshold count cumulatively resource. +description: Configuration for Make entity count for reporting equal to system threshold + count cumulatively resource. +version_added: 2.0.0 +author: + - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) +options: + state: + choices: + - enabled + - disabled + default: present + description: + - The state of the resource being configured by the module on the NetScaler + ADC node. + - When C(enabled), the resource will be enabled on the NetScaler ADC node. + - When C(disabled), the resource will be disabled on the NetScaler ADC node. + type: str +extends_documentation_fragment: netscaler.adc.netscaler_adc + +""" + +EXAMPLES = r""" +""" + +RETURN = r""" +--- +changed: + description: Indicates if any change is made by the module + returned: always + type: bool + sample: true +diff: + description: Dictionary of before and after changes + returned: always + type: dict + sample: {'before': {'key1': 'xyz'}, 'after': {'key2': 'pqr'}, 'prepared': 'changes + done'} +diff_list: + description: List of differences between the actual configured object and the configuration + specified in the module + returned: when changed + type: list + sample: ["Attribute `key1` differs. Desired: () XYZ. Existing: () PQR"] +failed: + description: Indicates if the module failed or not + returned: always + type: bool + sample: false +loglines: + description: list of logged messages by the module + returned: always + type: list + sample: ['message 1', 'message 2'] + +""" + + +import os + +from ..module_utils.module_executor import ModuleExecutor + +RESOURCE_NAME = os.path.basename(__file__).replace(".py", "") + + +def main(): + executor = ModuleExecutor(RESOURCE_NAME) + executor.main() + + +if __name__ == "__main__": + main() diff --git a/plugins/modules/systemparameter.py b/plugins/modules/systemparameter.py index 859807f02..7bfca0329 100644 --- a/plugins/modules/systemparameter.py +++ b/plugins/modules/systemparameter.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: systemparameter short_description: Configuration for system parameter resource. description: Configuration for system parameter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,14 +39,14 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str basicauth: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable or disable basic authentication for Nitro API. cliloglevel: - type: raw + type: str choices: - EMERGENCY - ALERT @@ -66,15 +68,19 @@ - '* C(NOTICE) - Events that the administrator should know about.' - '* C(INFORMATIONAL) - All but low-level events.' - '* C(DEBUG) - All events, in extreme detail.' + daystoexpire: + type: float + description: + - nsroot password expire days doppler: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable or disable Doppler fipsusermode: - type: raw + type: str choices: - ENABLED - DISABLED @@ -86,21 +92,21 @@ - Without a FIPS license, it is disabled by default, wherein these user-land processes will not operate in FIPS mode. forcepasswordchange: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable or disable force password change for nsroot user googleanalytics: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable or disable Google analytics localauth: - type: raw + type: str choices: - ENABLED - DISABLED @@ -111,24 +117,24 @@ authentication servers are unavailable. This parameter is not applicable to SSH Key-based authentication maxsessionperuser: - type: raw + type: float description: - Maximum number of client connection allowed per user.The maxsessionperuser value ranges from 1 to 40 minpasswordlen: - type: raw + type: float description: - Minimum length of system user password. When strong password is enabled default minimum length is 8. User entered value can be greater than or equal to 8. Default mininum value is 1 when strong password is disabled. Maximum value is 127 in both cases. natpcbforceflushlimit: - type: raw + type: float description: - Flush the system if the number of Network Address Translation Protocol Control Blocks (NATPCBs) exceeds this value. natpcbrstontimeout: - type: raw + type: str choices: - ENABLED - DISABLED @@ -136,7 +142,7 @@ - Send a reset signal to client and server connections when their NATPCBs time out. Avoids the buildup of idle TCP connections on both the sides. promptstring: - type: raw + type: str description: - 'String to display at the command-line prompt. Can consist of letters, numbers, hyphen (-), period (.), hash (#), space ( ), at (@), equal (=), colon (:), @@ -151,14 +157,14 @@ - 'Note: The 63-character limit for the length of the string does not apply to the characters that replace the variables.' rbaonresponse: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable or disable Role-Based Authentication (RBA) on responses. reauthonauthparamchange: - type: raw + type: str choices: - ENABLED - DISABLED @@ -166,7 +172,7 @@ - Enable or disable External user reauthentication when authentication parameter changes removesensitivefiles: - type: raw + type: str choices: - ENABLED - DISABLED @@ -176,7 +182,7 @@ this system paramter is enabled are rm cluster instance, rm cluster node, rm ha node, clear config full, join cluster and add cluster instance. restrictedtimeout: - type: raw + type: str choices: - ENABLED - DISABLED @@ -186,7 +192,7 @@ - maximum] range check. When disabled, timeout will have the old behaviour. By default the value is disabled strongpassword: - type: raw + type: str choices: - enableall - enablelocal @@ -202,31 +208,41 @@ So no Strong Password checks will be performed on these ObjectType commands for C(enablelocal) case.' timeout: - type: raw + type: float description: - CLI session inactivity timeout, in seconds. If Restrictedtimeout argument is enabled, Timeout can have values in the range [300-86400] seconds. - If Restrictedtimeout argument is disabled, Timeout can have values in the range [0, 10-100000000] seconds. Default value is 900 seconds. totalauthtimeout: - type: raw + type: float description: - Total time a request can take for authentication/authorization + warnpriorndays: + type: float + description: + - Number of days before which password expiration warning would be thrown with + respect to datstoexpire extends_documentation_fragment: netscaler.adc.netscaler_adc """ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample systemparameter playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | systemparameter + - name: Configure systemparameter delegate_to: localhost netscaler.adc.systemparameter: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - promptstring: '%u@%s' + maxclient: '40' + forcepasswordchange: ENABLED """ RETURN = r""" diff --git a/plugins/modules/systemrestorepoint.py b/plugins/modules/systemrestorepoint.py index 1e80721fa..d1fa102a0 100644 --- a/plugins/modules/systemrestorepoint.py +++ b/plugins/modules/systemrestorepoint.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: systemrestorepoint short_description: Configuration for Setting restorepoints for auto restore resource. description: Configuration for Setting restorepoints for auto restore resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/systemsession.py b/plugins/modules/systemsession.py index 652022e72..85f4133da 100644 --- a/plugins/modules/systemsession.py +++ b/plugins/modules/systemsession.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: systemsession short_description: Configuration for system session resource. description: Configuration for system session resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: [] diff --git a/plugins/modules/systemsshkey.py b/plugins/modules/systemsshkey.py index f5be3eed4..9a372c20c 100644 --- a/plugins/modules/systemsshkey.py +++ b/plugins/modules/systemsshkey.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: systemsshkey short_description: Configuration for 0 resource. description: Configuration for 0 resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/systemuser.py b/plugins/modules/systemuser.py index f8a12907d..5d0ebefde 100644 --- a/plugins/modules/systemuser.py +++ b/plugins/modules/systemuser.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: systemuser short_description: Configuration for system user resource. description: Configuration for system user resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str allowedmanagementinterface: - type: raw + type: list choices: - CLI - API @@ -48,8 +50,9 @@ from both C(API) and C(CLI) interfaces. If management interface for a user is set to C(API), then user is not allowed to access NS through C(CLI). GUI interface will come under C(API) interface + elements: str externalauth: - type: raw + type: str choices: - ENABLED - DISABLED @@ -57,14 +60,14 @@ - Whether to use external authentication servers for the system user authentication or not logging: - type: raw + type: str choices: - ENABLED - DISABLED description: - Users logging privilege maxsession: - type: raw + type: float description: - Maximum number of client connection allowed per user password: @@ -72,7 +75,7 @@ description: - Password for the system user. Can include any ASCII character. promptstring: - type: raw + type: str description: - 'String to display at the command-line prompt. Can consist of letters, numbers, hyphen (-), period (.), hash (#), space ( ), at (@), equal (=), colon (:), @@ -87,7 +90,7 @@ - 'Note: The 63-character limit for the length of the string does not apply to the characters that replace the variables.' timeout: - type: raw + type: float description: - CLI session inactivity timeout, in seconds. If Restrictedtimeout argument of system parameter is enabled, Timeout can have values in the range [300-86400] @@ -95,7 +98,7 @@ can have values in the range [0, 10-100000000] seconds. Default value is 900 seconds. username: - type: raw + type: str description: - Name for a user. Must begin with a letter, number, or the underscore (_) character, and must contain only alphanumeric, hyphen (-), period (.), hash (#), space @@ -160,22 +163,22 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample systemuser playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | systemuser + - name: Configure systemuser delegate_to: localhost netscaler.adc.systemuser: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - username: nsroot + username: GD-CTRLUPADC-P-APP + password: REQ_PASSWORD + externalauth: DISABLED timeout: 900 - - name: Sample Task | systemuser | 2 - delegate_to: localhost - netscaler.adc.systemuser: - state: present - username: user_adm1 - password: pwd_adm1 """ RETURN = r""" diff --git a/plugins/modules/systemuser_nspartition_binding.py b/plugins/modules/systemuser_nspartition_binding.py index 9a409a3a3..9113f2011 100644 --- a/plugins/modules/systemuser_nspartition_binding.py +++ b/plugins/modules/systemuser_nspartition_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: systemuser_nspartition_binding short_description: Binding Resource definition for describing association between systemuser and nspartition resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/systemuser_systemcmdpolicy_binding.py b/plugins/modules/systemuser_systemcmdpolicy_binding.py index 82c84f568..b9edb3ea9 100644 --- a/plugins/modules/systemuser_systemcmdpolicy_binding.py +++ b/plugins/modules/systemuser_systemcmdpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: systemuser_systemcmdpolicy_binding short_description: Binding Resource definition for describing association between systemuser and systemcmdpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -55,6 +57,22 @@ """ EXAMPLES = r""" +--- +- name: Sample systemuser_systemcmdpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure systemuser_systemcmdpolicy_binding + delegate_to: localhost + netscaler.adc.systemuser_systemcmdpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + username: GD-CTRLUPADC-P-APP + policyname: read-only + priority: '100' """ RETURN = r""" diff --git a/plugins/modules/tmformssoaction.py b/plugins/modules/tmformssoaction.py index b5aefc302..6641ff1a1 100644 --- a/plugins/modules/tmformssoaction.py +++ b/plugins/modules/tmformssoaction.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: tmformssoaction short_description: Configuration for Form sso action resource. description: Configuration for Form sso action resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -43,7 +45,7 @@ description: - URL to which the completed form is submitted. name: - type: raw + type: str description: - Name for the new form-based single sign-on profile. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, @@ -54,13 +56,13 @@ - If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my action" or 'my action'). namevaluepair: - type: raw + type: str description: - Name-value pair attributes to send to the server in addition to sending the username and password. Value names are separated by an ampersand (&) (for example, name1=value1&name2=value2). nvtype: - type: raw + type: str choices: - STATIC - DYNAMIC @@ -73,7 +75,7 @@ description: - Name of the form field in which the user types in the password. responsesize: - type: raw + type: float description: - Number of bytes, in the response, to parse for extracting the forms. ssosuccessrule: @@ -81,7 +83,7 @@ description: - Expression, that checks to see if single sign-on is successful. submitmethod: - type: raw + type: str choices: - GET - POST @@ -97,6 +99,28 @@ """ EXAMPLES = r""" +--- +- name: Sample tmformssoaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure tmformssoaction + delegate_to: localhost + netscaler.adc.tmformssoaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia_formssoact5 + actionurl: /owa/auth/owaauth.dll + userfield: sample + passwdfield: sample + ssosuccessrule: HTTP.RES.IS_VALID + namevaluepair: sample + responsesize: '8096' + nvtype: DYNAMIC + submitmethod: GET """ RETURN = r""" diff --git a/plugins/modules/tmglobal_auditnslogpolicy_binding.py b/plugins/modules/tmglobal_auditnslogpolicy_binding.py index 577a817e7..3c06ba5d3 100644 --- a/plugins/modules/tmglobal_auditnslogpolicy_binding.py +++ b/plugins/modules/tmglobal_auditnslogpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: tmglobal_auditnslogpolicy_binding short_description: Binding Resource definition for describing association between tmglobal and auditnslogpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/tmglobal_auditsyslogpolicy_binding.py b/plugins/modules/tmglobal_auditsyslogpolicy_binding.py index 13f76a3bd..175c9bd9a 100644 --- a/plugins/modules/tmglobal_auditsyslogpolicy_binding.py +++ b/plugins/modules/tmglobal_auditsyslogpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: tmglobal_auditsyslogpolicy_binding short_description: Binding Resource definition for describing association between tmglobal and auditsyslogpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/tmglobal_tmsessionpolicy_binding.py b/plugins/modules/tmglobal_tmsessionpolicy_binding.py index 17a09ef29..0656fbedc 100644 --- a/plugins/modules/tmglobal_tmsessionpolicy_binding.py +++ b/plugins/modules/tmglobal_tmsessionpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: tmglobal_tmsessionpolicy_binding short_description: Binding Resource definition for describing association between tmglobal and tmsessionpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -107,12 +109,9 @@ - SYSTEM - RISE - FEO - - LSN - - LargeScaleNAT - RDPProxy - Rep - Reputation - - URLFiltering - VideoOptimization - ForwardProxy - SSLInterception @@ -142,6 +141,22 @@ """ EXAMPLES = r""" +--- +- name: Sample tmglobal_tmsessionpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure tmglobal_tmsessionpolicy_binding + delegate_to: localhost + netscaler.adc.tmglobal_tmsessionpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + policyname: SETTMSESSPARAMS_ADV_POL + priority: '65534' + gotopriorityexpression: NEXT """ RETURN = r""" diff --git a/plugins/modules/tmglobal_tmtrafficpolicy_binding.py b/plugins/modules/tmglobal_tmtrafficpolicy_binding.py index a4b703694..3d45c5fdb 100644 --- a/plugins/modules/tmglobal_tmtrafficpolicy_binding.py +++ b/plugins/modules/tmglobal_tmtrafficpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: tmglobal_tmtrafficpolicy_binding short_description: Binding Resource definition for describing association between tmglobal and tmtrafficpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -96,6 +98,21 @@ """ EXAMPLES = r""" +--- +- name: Sample tmglobal_tmtrafficpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure tmglobal_tmtrafficpolicy_binding + delegate_to: localhost + netscaler.adc.tmglobal_tmtrafficpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + policyname: ia_tmtrafpol1 + priority: '1' """ RETURN = r""" diff --git a/plugins/modules/tmsamlssoprofile.py b/plugins/modules/tmsamlssoprofile.py index 3902fb234..33bd42359 100644 --- a/plugins/modules/tmsamlssoprofile.py +++ b/plugins/modules/tmsamlssoprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: tmsamlssoprofile short_description: Configuration for SAML sso action resource. description: Configuration for SAML sso action resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -43,11 +45,11 @@ description: - URL to which the assertion is to be sent. attribute1: - type: raw + type: str description: - Name of attribute1 that needs to be sent in SAML Assertion attribute10: - type: raw + type: str description: - Name of attribute10 that needs to be sent in SAML Assertion attribute10expr: @@ -56,18 +58,18 @@ - Expression that will be evaluated to obtain attribute10's value to be sent in Assertion attribute10format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute10 to be sent in Assertion. attribute10friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute10 that needs to be sent in SAML Assertion attribute11: - type: raw + type: str description: - Name of attribute11 that needs to be sent in SAML Assertion attribute11expr: @@ -76,18 +78,18 @@ - Expression that will be evaluated to obtain attribute11's value to be sent in Assertion attribute11format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute11 to be sent in Assertion. attribute11friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute11 that needs to be sent in SAML Assertion attribute12: - type: raw + type: str description: - Name of attribute12 that needs to be sent in SAML Assertion attribute12expr: @@ -96,18 +98,18 @@ - Expression that will be evaluated to obtain attribute12's value to be sent in Assertion attribute12format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute12 to be sent in Assertion. attribute12friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute12 that needs to be sent in SAML Assertion attribute13: - type: raw + type: str description: - Name of attribute13 that needs to be sent in SAML Assertion attribute13expr: @@ -116,18 +118,18 @@ - Expression that will be evaluated to obtain attribute13's value to be sent in Assertion attribute13format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute13 to be sent in Assertion. attribute13friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute13 that needs to be sent in SAML Assertion attribute14: - type: raw + type: str description: - Name of attribute14 that needs to be sent in SAML Assertion attribute14expr: @@ -136,18 +138,18 @@ - Expression that will be evaluated to obtain attribute14's value to be sent in Assertion attribute14format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute14 to be sent in Assertion. attribute14friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute14 that needs to be sent in SAML Assertion attribute15: - type: raw + type: str description: - Name of attribute15 that needs to be sent in SAML Assertion attribute15expr: @@ -156,18 +158,18 @@ - Expression that will be evaluated to obtain attribute15's value to be sent in Assertion attribute15format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute15 to be sent in Assertion. attribute15friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute15 that needs to be sent in SAML Assertion attribute16: - type: raw + type: str description: - Name of attribute16 that needs to be sent in SAML Assertion attribute16expr: @@ -176,14 +178,14 @@ - Expression that will be evaluated to obtain attribute16's value to be sent in Assertion attribute16format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute16 to be sent in Assertion. attribute16friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute16 that needs to be sent in SAML Assertion attribute1expr: @@ -192,18 +194,18 @@ - Expression that will be evaluated to obtain attribute1's value to be sent in Assertion attribute1format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute1 to be sent in Assertion. attribute1friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute1 that needs to be sent in SAML Assertion attribute2: - type: raw + type: str description: - Name of attribute2 that needs to be sent in SAML Assertion attribute2expr: @@ -212,18 +214,18 @@ - Expression that will be evaluated to obtain attribute2's value to be sent in Assertion attribute2format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute2 to be sent in Assertion. attribute2friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute2 that needs to be sent in SAML Assertion attribute3: - type: raw + type: str description: - Name of attribute3 that needs to be sent in SAML Assertion attribute3expr: @@ -232,18 +234,18 @@ - Expression that will be evaluated to obtain attribute3's value to be sent in Assertion attribute3format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute3 to be sent in Assertion. attribute3friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute3 that needs to be sent in SAML Assertion attribute4: - type: raw + type: str description: - Name of attribute4 that needs to be sent in SAML Assertion attribute4expr: @@ -252,18 +254,18 @@ - Expression that will be evaluated to obtain attribute4's value to be sent in Assertion attribute4format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute4 to be sent in Assertion. attribute4friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute4 that needs to be sent in SAML Assertion attribute5: - type: raw + type: str description: - Name of attribute5 that needs to be sent in SAML Assertion attribute5expr: @@ -272,18 +274,18 @@ - Expression that will be evaluated to obtain attribute5's value to be sent in Assertion attribute5format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute5 to be sent in Assertion. attribute5friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute5 that needs to be sent in SAML Assertion attribute6: - type: raw + type: str description: - Name of attribute6 that needs to be sent in SAML Assertion attribute6expr: @@ -292,18 +294,18 @@ - Expression that will be evaluated to obtain attribute6's value to be sent in Assertion attribute6format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute6 to be sent in Assertion. attribute6friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute6 that needs to be sent in SAML Assertion attribute7: - type: raw + type: str description: - Name of attribute7 that needs to be sent in SAML Assertion attribute7expr: @@ -312,18 +314,18 @@ - Expression that will be evaluated to obtain attribute7's value to be sent in Assertion attribute7format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute7 to be sent in Assertion. attribute7friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute7 that needs to be sent in SAML Assertion attribute8: - type: raw + type: str description: - Name of attribute8 that needs to be sent in SAML Assertion attribute8expr: @@ -332,18 +334,18 @@ - Expression that will be evaluated to obtain attribute8's value to be sent in Assertion attribute8format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute8 to be sent in Assertion. attribute8friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute8 that needs to be sent in SAML Assertion attribute9: - type: raw + type: str description: - Name of attribute9 that needs to be sent in SAML Assertion attribute9expr: @@ -352,37 +354,37 @@ - Expression that will be evaluated to obtain attribute9's value to be sent in Assertion attribute9format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute9 to be sent in Assertion. attribute9friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute9 that needs to be sent in SAML Assertion audience: - type: raw + type: str description: - Audience for which assertion sent by IdP is applicable. This is typically entity name or url that represents ServiceProvider digestmethod: - type: raw + type: str choices: - SHA1 - SHA256 description: - Algorithm to be used to compute/verify digest for SAML transactions encryptassertion: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Option to encrypt assertion when Citrix ADC sends one. encryptionalgorithm: - type: raw + type: str choices: - DES3 - AES128 @@ -391,7 +393,7 @@ description: - Algorithm to be used to encrypt SAML assertion name: - type: raw + type: str description: - Name for the new saml single sign-on profile. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, @@ -402,11 +404,11 @@ - If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my action" or 'my action'). nameidexpr: - type: raw + type: str description: - Expression that will be evaluated to obtain NameIdentifier to be sent in assertion nameidformat: - type: raw + type: str choices: - Unspecified - emailAddress @@ -419,34 +421,34 @@ description: - Format of Name Identifier sent in Assertion. relaystaterule: - type: raw + type: str description: - Expression to extract relaystate to be sent along with assertion. Evaluation of this expression should return TEXT content. This is typically a targ - et url to which user is redirected after the recipient validates SAML token samlissuername: - type: raw + type: str description: - "The name to be used in requests sent from\tCitrix ADC to IdP to uniquely\ \ identify Citrix ADC." samlsigningcertname: - type: raw + type: str description: - Name of the SSL certificate that is used to Sign Assertion. samlspcertname: - type: raw + type: str description: - Name of the SSL certificate of peer/receving party using which Assertion is encrypted. sendpassword: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Option to send password in assertion. signassertion: - type: raw + type: str choices: - NONE - ASSERTION @@ -457,14 +459,14 @@ on the user selection, either Assertion or Response or Both or none can be signed signaturealg: - type: raw + type: str choices: - RSA-SHA1 - RSA-SHA256 description: - Algorithm to be used to sign/verify SAML transactions skewtime: - type: raw + type: float description: - This option specifies the number of minutes on either side of current time that the assertion would be valid. For example, if skewTime is 10, then assertion @@ -475,6 +477,55 @@ """ EXAMPLES = r""" +--- +- name: Sample tmsamlssoprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure tmsamlssoprofile + delegate_to: localhost + netscaler.adc.tmsamlssoprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: tm1 + assertionconsumerserviceurl: https://url + relaystaterule: '"relaystate"' + attribute1: sam + attribute1expr: http.REQ.USER.ATTRIBUTE(1) + attribute2: upn + attribute2expr: http.REQ.USER.ATTRIBUTE(2) + attribute3: userpass + attribute3expr: http.REQ.USER.ATTRIBUTE(3) + attribute3format: Basic + attribute4: street + attribute4expr: http.REQ.USER.ATTRIBUTE(4) + attribute5: sa + attribute5expr: http.REQ.USER.ATTRIBUTE(5) + attribute6: stype + attribute6expr: http.REQ.USER.ATTRIBUTE(6) + attribute7: servicepn + attribute7expr: http.REQ.USER.ATTRIBUTE(7) + attribute8: sam + attribute8expr: http.REQ.USER.ATTRIBUTE(8) + attribute9: sam + attribute9expr: http.REQ.USER.ATTRIBUTE(9) + attribute10: sam + attribute10expr: http.REQ.USER.ATTRIBUTE(10) + attribute11: sam + attribute11expr: http.REQ.USER.ATTRIBUTE(11) + attribute12: sam + attribute12expr: http.REQ.USER.ATTRIBUTE(12) + attribute13: sam + attribute13expr: http.REQ.USER.ATTRIBUTE(13) + attribute14: sam + attribute14expr: http.REQ.USER.ATTRIBUTE(14) + attribute15: sam + attribute15expr: http.REQ.USER.ATTRIBUTE(15) + attribute16: sam + attribute16expr: http.REQ.USER.ATTRIBUTE(16) """ RETURN = r""" diff --git a/plugins/modules/tmsessionaction.py b/plugins/modules/tmsessionaction.py index 7779f826d..d065a81b5 100644 --- a/plugins/modules/tmsessionaction.py +++ b/plugins/modules/tmsessionaction.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: tmsessionaction short_description: Configuration for TM session action resource. description: Configuration for TM session action resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str defaultauthorizationaction: - type: raw + type: str choices: - ALLOW - DENY @@ -47,12 +49,12 @@ - Allow or deny access to content for which there is no specific authorization policy. homepage: - type: raw + type: str description: - Web address of the home page that a user is displayed when authentication vserver is bookmarked and used to login. httponlycookie: - type: raw + type: str choices: - 'YES' - 'NO' @@ -60,11 +62,11 @@ - Allow only an HTTP session cookie, in which case the cookie cannot be accessed by scripts. kcdaccount: - type: raw + type: str description: - Kerberos constrained delegation account name name: - type: raw + type: str description: - Name for the session action. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash @@ -75,7 +77,7 @@ - If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my action" or 'my action'). persistentcookie: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -87,17 +89,17 @@ - 'Note: If persistent cookie is enabled, make sure you set the persistent cookie validity.' persistentcookievalidity: - type: raw + type: float description: - Integer specifying the number of minutes for which the persistent cookie remains valid. Can be set only if the persistent cookie setting is enabled. sesstimeout: - type: raw + type: float description: - Session timeout, in minutes. If there is no traffic during the timeout period, the user is disconnected and must reauthenticate to access intranet resources. sso: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -109,7 +111,7 @@ DIGEST, and NTLM (without Negotiate NTLM2 Key or Negotiate Sign Flag). Use TM TrafficAction to configure SSO for these authentication types. ssocredential: - type: raw + type: str choices: - PRIMARY - SECONDARY @@ -117,7 +119,7 @@ - Use the primary or secondary authentication credentials for single sign-on (SSO). ssodomain: - type: raw + type: str description: - Domain to use for single sign-on (SSO). extends_documentation_fragment: netscaler.adc.netscaler_adc @@ -125,6 +127,30 @@ """ EXAMPLES = r""" +--- +- name: Sample tmsessionaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure tmsessionaction + delegate_to: localhost + netscaler.adc.tmsessionaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia_tmsesact1 + sesstimeout: 2 + defaultauthorizationaction: ALLOW + sso: 'OFF' + ssocredential: PRIMARY + ssodomain: citrite.net + httponlycookie: 'YES' + kcdaccount: kcd212 + persistentcookie: 'ON' + persistentcookievalidity: 2 + homepage: http://dc1.test.com """ RETURN = r""" diff --git a/plugins/modules/tmsessionparameter.py b/plugins/modules/tmsessionparameter.py index 3c57ef8c8..60d792a06 100644 --- a/plugins/modules/tmsessionparameter.py +++ b/plugins/modules/tmsessionparameter.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: tmsessionparameter short_description: Configuration for session parameter resource. description: Configuration for session parameter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,7 +39,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str defaultauthorizationaction: - type: raw + type: str choices: - ALLOW - DENY @@ -45,12 +47,12 @@ - Allow or deny access to content for which there is no specific authorization policy. homepage: - type: raw + type: str description: - Web address of the home page that a user is displayed when authentication vserver is bookmarked and used to login. httponlycookie: - type: raw + type: str choices: - 'YES' - 'NO' @@ -58,11 +60,11 @@ - Allow only an HTTP session cookie, in which case the cookie cannot be accessed by scripts. kcdaccount: - type: raw + type: str description: - Kerberos constrained delegation account name persistentcookie: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -71,17 +73,17 @@ on the user device and is sent with each HTTP request. The cookie becomes stale if the session ends. persistentcookievalidity: - type: raw + type: float description: - Integer specifying the number of minutes for which the persistent cookie remains valid. Can be set only if the persistence cookie setting is enabled. sesstimeout: - type: raw + type: float description: - Session timeout, in minutes. If there is no traffic during the timeout period, the user is disconnected and must reauthenticate to access the intranet resources. sso: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -93,14 +95,14 @@ or Negotiate Sign Flag). Use TM TrafficAction to configure SSO for these authentication types. ssocredential: - type: raw + type: str choices: - PRIMARY - SECONDARY description: - Use primary or secondary authentication credentials for single sign-on. ssodomain: - type: raw + type: str description: - Domain to use for single sign-on. extends_documentation_fragment: netscaler.adc.netscaler_adc diff --git a/plugins/modules/tmsessionpolicy.py b/plugins/modules/tmsessionpolicy.py index 86409a6d8..a6e8ba93b 100644 --- a/plugins/modules/tmsessionpolicy.py +++ b/plugins/modules/tmsessionpolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: tmsessionpolicy short_description: Configuration for TM session policy resource. description: Configuration for TM session policy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,11 +41,11 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str action: - type: raw + type: str description: - Action to be applied to connections that match this policy. name: - type: raw + type: str description: - Name for the session policy. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash @@ -54,7 +56,7 @@ - If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my policy" or 'my policy'). rule: - type: raw + type: str description: - Expression, against which traffic is evaluated. Both classic and advance expressions are supported in default partition but only advance expressions in non-default @@ -72,6 +74,22 @@ """ EXAMPLES = r""" +--- +- name: Sample tmsessionpolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure tmsessionpolicy + delegate_to: localhost + netscaler.adc.tmsessionpolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia_tmsespol1 + rule: REQ.HTTP.METHOD == GET + action: ia_tmsesact1 """ RETURN = r""" diff --git a/plugins/modules/tmtrafficaction.py b/plugins/modules/tmtrafficaction.py index b0055c2d2..3ffbe39f7 100644 --- a/plugins/modules/tmtrafficaction.py +++ b/plugins/modules/tmtrafficaction.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: tmtrafficaction short_description: Configuration for TM traffic action resource. description: Configuration for TM traffic action resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -44,7 +46,7 @@ - Time interval, in minutes, of user inactivity after which the connection is closed. forcedtimeout: - type: raw + type: str choices: - START - STOP @@ -68,11 +70,11 @@ - Initiate logout for the traffic management (TM) session if the policy evaluates to true. The session is then terminated after two minutes. kcdaccount: - type: raw + type: str description: - Kerberos constrained delegation account name name: - type: raw + type: str description: - Name for the traffic action. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash @@ -83,11 +85,11 @@ - If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my action" or 'my action'). passwdexpression: - type: raw + type: str description: - expression that will be evaluated to obtain password for SingleSignOn persistentcookie: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -107,7 +109,7 @@ description: - Use single sign-on for the resource that the user is accessing now. userexpression: - type: raw + type: str description: - expression that will be evaluated to obtain username for SingleSignOn extends_documentation_fragment: netscaler.adc.netscaler_adc @@ -115,6 +117,23 @@ """ EXAMPLES = r""" +--- +- name: Sample tmtrafficaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure tmtrafficaction + delegate_to: localhost + netscaler.adc.tmtrafficaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: kcd_sso1 + sso: 'ON' + userexpression: AAA.USER.NAME + passwdexpression: AAA.USER.PASSWD """ RETURN = r""" diff --git a/plugins/modules/tmtrafficpolicy.py b/plugins/modules/tmtrafficpolicy.py index 655467cb0..06a547c55 100644 --- a/plugins/modules/tmtrafficpolicy.py +++ b/plugins/modules/tmtrafficpolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: tmtrafficpolicy short_description: Configuration for TM traffic policy resource. description: Configuration for TM traffic policy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,11 +41,11 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str action: - type: raw + type: str description: - Name of the action to apply to requests or connections that match this policy. name: - type: raw + type: str description: - Name for the traffic policy. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash @@ -54,7 +56,7 @@ - If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my policy" or 'my policy'). rule: - type: raw + type: str description: - Name of the Citrix ADC named expression, or an expression, that the policy uses to determine whether to apply certain action on the current traffic. @@ -63,6 +65,22 @@ """ EXAMPLES = r""" +--- +- name: Sample tmtrafficpolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure tmtrafficpolicy + delegate_to: localhost + netscaler.adc.tmtrafficpolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia_tmtrafpol1 + rule: HTTP.REQ.METHOD.EQ(GET) + action: ia_tmtrafact1 """ RETURN = r""" diff --git a/plugins/modules/traceroute.py b/plugins/modules/traceroute.py index 8d98a8f06..22e420605 100644 --- a/plugins/modules/traceroute.py +++ b/plugins/modules/traceroute.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: traceroute short_description: Configuration for 0 resource. description: Configuration for 0 resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: [] diff --git a/plugins/modules/traceroute6.py b/plugins/modules/traceroute6.py index 88c96202f..84cc63f4c 100644 --- a/plugins/modules/traceroute6.py +++ b/plugins/modules/traceroute6.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: traceroute6 short_description: Configuration for 0 resource. description: Configuration for 0 resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: [] diff --git a/plugins/modules/transformaction.py b/plugins/modules/transformaction.py index fbf84c352..08411dea6 100644 --- a/plugins/modules/transformaction.py +++ b/plugins/modules/transformaction.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: transformaction short_description: Configuration for transform action resource. description: Configuration for transform action resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,21 +41,21 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str comment: - type: raw + type: str description: - Any comments to preserve information about this URL Transformation action. cookiedomainfrom: - type: raw + type: str description: - Pattern that matches the domain to be transformed in Set-Cookie headers. cookiedomaininto: - type: raw + type: str description: - 'PCRE-format regular expression that describes the transformation to be performed on cookie domains that match the cookieDomainFrom pattern. ' - 'NOTE: The cookie domain to be transformed is extracted from the request.' name: - type: raw + type: str description: - Name for the URL transformation action. - Must begin with a letter, number, or the underscore character (_), and must @@ -76,22 +78,22 @@ description: - Name of the URL Transformation profile with which to associate this action. requrlfrom: - type: raw + type: str description: - PCRE-format regular expression that describes the request URL pattern to be transformed. requrlinto: - type: raw + type: str description: - PCRE-format regular expression that describes the transformation to be performed on URLs that match the reqUrlFrom pattern. resurlfrom: - type: raw + type: str description: - PCRE-format regular expression that describes the response URL pattern to be transformed. resurlinto: - type: raw + type: str description: - PCRE-format regular expression that describes the transformation to be performed on URLs that match the resUrlFrom pattern. diff --git a/plugins/modules/transformglobal_transformpolicy_binding.py b/plugins/modules/transformglobal_transformpolicy_binding.py index dbfc7867d..4c531a6c2 100644 --- a/plugins/modules/transformglobal_transformpolicy_binding.py +++ b/plugins/modules/transformglobal_transformpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: transformglobal_transformpolicy_binding short_description: Binding Resource definition for describing association between transformglobal and transformpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/transformpolicy.py b/plugins/modules/transformpolicy.py index dbaa5c7aa..071998c7d 100644 --- a/plugins/modules/transformpolicy.py +++ b/plugins/modules/transformpolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: transformpolicy short_description: Configuration for URL Transformation policy resource. description: Configuration for URL Transformation policy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,15 +41,15 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str comment: - type: raw + type: str description: - Any comments to preserve information about this URL Transformation policy. logaction: - type: raw + type: str description: - Log server to use to log connections that match this policy. name: - type: raw + type: str description: - Name for the URL Transformation policy. - Must begin with a letter, number, or the underscore character (_), and must diff --git a/plugins/modules/transformpolicylabel.py b/plugins/modules/transformpolicylabel.py index 99d17df7f..d7a4639bc 100644 --- a/plugins/modules/transformpolicylabel.py +++ b/plugins/modules/transformpolicylabel.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: transformpolicylabel short_description: Configuration for transform policy label resource. description: Configuration for transform policy label resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/transformpolicylabel_transformpolicy_binding.py b/plugins/modules/transformpolicylabel_transformpolicy_binding.py index 5c1a5fa05..f27f4222d 100644 --- a/plugins/modules/transformpolicylabel_transformpolicy_binding.py +++ b/plugins/modules/transformpolicylabel_transformpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: transformpolicylabel_transformpolicy_binding short_description: Binding Resource definition for describing association between transformpolicylabel and transformpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/transformprofile.py b/plugins/modules/transformprofile.py index 8ca71fe02..b8b53c251 100644 --- a/plugins/modules/transformprofile.py +++ b/plugins/modules/transformprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: transformprofile short_description: Configuration for URL Transformation profile resource. description: Configuration for URL Transformation profile resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,11 +41,11 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str comment: - type: raw + type: str description: - Any comments to preserve information about this URL Transformation profile. name: - type: raw + type: str description: - Name for the URL transformation profile. Must begin with a letter, number, or the underscore character (_), and must contain only letters, numbers, and @@ -55,14 +57,14 @@ - If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, my transform profile or my transform profile). onlytransformabsurlinbody: - type: raw + type: str choices: - 'ON' - 'OFF' description: - In the HTTP body, transform only absolute URLs. Relative URLs are ignored. type: - type: raw + type: str choices: - URL description: diff --git a/plugins/modules/tunnelglobal_tunneltrafficpolicy_binding.py b/plugins/modules/tunnelglobal_tunneltrafficpolicy_binding.py index 72ecaa182..0fceff292 100644 --- a/plugins/modules/tunnelglobal_tunneltrafficpolicy_binding.py +++ b/plugins/modules/tunnelglobal_tunneltrafficpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: tunnelglobal_tunneltrafficpolicy_binding short_description: Binding Resource definition for describing association between tunnelglobal and tunneltrafficpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -107,12 +109,9 @@ - SYSTEM - RISE - FEO - - LSN - - LargeScaleNAT - RDPProxy - Rep - Reputation - - URLFiltering - VideoOptimization - ForwardProxy - SSLInterception @@ -160,6 +159,20 @@ """ EXAMPLES = r""" +--- +- name: Sample tunnelglobal_tunneltrafficpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure tunnelglobal_tunneltrafficpolicy_binding + delegate_to: localhost + netscaler.adc.tunnelglobal_tunneltrafficpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + policyname: ns_tunnel_nocmp """ RETURN = r""" diff --git a/plugins/modules/tunneltrafficpolicy.py b/plugins/modules/tunneltrafficpolicy.py index 5935335f7..14c0cdc93 100644 --- a/plugins/modules/tunneltrafficpolicy.py +++ b/plugins/modules/tunneltrafficpolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: tunneltrafficpolicy short_description: Configuration for tunnel policy resource. description: Configuration for tunnel policy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -43,15 +45,15 @@ description: - Name of the built-in compression action to associate with the policy. comment: - type: raw + type: str description: - Any comments to preserve information about this policy. logaction: - type: raw + type: str description: - Name of the messagelog action to use for requests that match this policy. name: - type: raw + type: str description: - Name for the tunnel traffic policy. - Must begin with an ASCII alphanumeric or underscore (_) character, and must @@ -89,6 +91,21 @@ """ EXAMPLES = r""" +--- +- name: Sample tunneltrafficpolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure tunneltrafficpolicy + delegate_to: localhost + netscaler.adc.tunneltrafficpolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: compress + rule: url == /*.asp """ RETURN = r""" diff --git a/plugins/modules/ulfdserver.py b/plugins/modules/ulfdserver.py index a8c29c626..d53432b24 100644 --- a/plugins/modules/ulfdserver.py +++ b/plugins/modules/ulfdserver.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: ulfdserver short_description: Configuration for ulfd server resource. description: Configuration for ulfd server resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/urlfilteringcategorization.py b/plugins/modules/urlfilteringcategorization.py index f7bc3c354..38ff61ba3 100644 --- a/plugins/modules/urlfilteringcategorization.py +++ b/plugins/modules/urlfilteringcategorization.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: urlfilteringcategorization short_description: Configuration for Categorization resource. description: Configuration for Categorization resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/urlfilteringparameter.py b/plugins/modules/urlfilteringparameter.py index c2d332779..c4f2fdb6a 100644 --- a/plugins/modules/urlfilteringparameter.py +++ b/plugins/modules/urlfilteringparameter.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: urlfilteringparameter short_description: Configuration for URLFILTERING paramter resource. description: Configuration for URLFILTERING paramter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,23 +39,23 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str cloudhost: - type: raw + type: str description: - URL Filtering Cloud host. hoursbetweendbupdates: - type: raw + type: float description: - URL Filtering hours between DB updates. localdatabasethreads: - type: raw + type: float description: - URL Filtering Local DB number of threads. seeddbpath: - type: raw + type: str description: - URL Filtering Seed DB path. timeofdaytoupdatedb: - type: raw + type: str description: - URL Filtering time of day to update DB. extends_documentation_fragment: netscaler.adc.netscaler_adc diff --git a/plugins/modules/userprotocol.py b/plugins/modules/userprotocol.py index 03615f526..58b56bce0 100644 --- a/plugins/modules/userprotocol.py +++ b/plugins/modules/userprotocol.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: userprotocol short_description: Configuration for user protocol resource. description: Configuration for user protocol resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str comment: - type: raw + type: str description: - Any comments associated with the protocol. extension: @@ -48,7 +50,7 @@ - Name of the extension to add parsing and runtime handling of the protocol packets. name: - type: raw + type: str description: - Unique name for the user protocol. Not case sensitive. Must begin with an ASCII letter or underscore (_) character, and must consist only of ASCII alphanumeric diff --git a/plugins/modules/uservserver.py b/plugins/modules/uservserver.py index 501dfa703..3cb376094 100644 --- a/plugins/modules/uservserver.py +++ b/plugins/modules/uservserver.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: uservserver short_description: Configuration for virtual server resource. description: Configuration for virtual server resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -43,11 +45,11 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str params: - type: raw + type: str description: - Any comments associated with the protocol. comment: - type: raw + type: str description: - Any comments that you might want to associate with the virtual server. defaultlb: @@ -61,7 +63,7 @@ description: - IPv4 or IPv6 address to assign to the virtual server. name: - type: raw + type: str description: - Name for the virtual server. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash diff --git a/plugins/modules/videooptimizationdetectionaction.py b/plugins/modules/videooptimizationdetectionaction.py index b4aa5d29a..5f07c3398 100644 --- a/plugins/modules/videooptimizationdetectionaction.py +++ b/plugins/modules/videooptimizationdetectionaction.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: videooptimizationdetectionaction short_description: Configuration for videooptimization detectionaction resource. description: Configuration for videooptimization detectionaction resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,11 +41,11 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str comment: - type: raw + type: str description: - Comment. Any type of information about this video optimization detection action. name: - type: raw + type: str description: - Name for the video optimization detection action. Must begin with a letter, number, or the underscore character (_), and must contain only letters, numbers, diff --git a/plugins/modules/videooptimizationdetectionpolicy.py b/plugins/modules/videooptimizationdetectionpolicy.py index 96b0a9426..76d158d75 100644 --- a/plugins/modules/videooptimizationdetectionpolicy.py +++ b/plugins/modules/videooptimizationdetectionpolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: videooptimizationdetectionpolicy short_description: Configuration for videooptimization detectionpolicy resource. description: Configuration for videooptimization detectionpolicy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -56,15 +58,15 @@ - '* RESET - Reset the client connection by closing it.' - '* DROP - Drop the connection without sending a response.' comment: - type: raw + type: str description: - Any type of information about this videooptimization detection policy. logaction: - type: raw + type: str description: - Name of the messagelog action to use for requests that match this policy. name: - type: raw + type: str description: - Name for the videooptimization detection policy. Must begin with a letter, number, or the underscore character (_), and must contain only letters, numbers, @@ -91,7 +93,7 @@ - '* Alternatively, you can use single quotation marks to enclose the rule, in which case you do not have to escape the double quotation marks.' undefaction: - type: raw + type: str description: - Action to perform if the result of policy evaluation is undefined (UNDEF). An UNDEF event indicates an internal error condition. Only the above built-in diff --git a/plugins/modules/videooptimizationdetectionpolicylabel.py b/plugins/modules/videooptimizationdetectionpolicylabel.py index 859437a9b..33ab12aae 100644 --- a/plugins/modules/videooptimizationdetectionpolicylabel.py +++ b/plugins/modules/videooptimizationdetectionpolicylabel.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: videooptimizationdetectionpolicylabel short_description: Configuration for videooptimization detection policy label resource. description: Configuration for videooptimization detection policy label resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/videooptimizationdetectionpolicylabel_videooptimizationdetectionpolicy_binding.py b/plugins/modules/videooptimizationdetectionpolicylabel_videooptimizationdetectionpolicy_binding.py index 14d144b96..3e9f13dd4 100644 --- a/plugins/modules/videooptimizationdetectionpolicylabel_videooptimizationdetectionpolicy_binding.py +++ b/plugins/modules/videooptimizationdetectionpolicylabel_videooptimizationdetectionpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: videooptimizationdetectionpolicylabel_videooptimizationdetectionpolicy_binding short_description: Binding Resource definition for describing association between videooptimizationdetectionpolicylabel and videooptimizationdetectionpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/videooptimizationglobaldetection_videooptimizationdetectionpolicy_binding.py b/plugins/modules/videooptimizationglobaldetection_videooptimizationdetectionpolicy_binding.py index 64d31d7a6..238fea28d 100644 --- a/plugins/modules/videooptimizationglobaldetection_videooptimizationdetectionpolicy_binding.py +++ b/plugins/modules/videooptimizationglobaldetection_videooptimizationdetectionpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: videooptimizationglobaldetection_videooptimizationdetectionpolicy_binding short_description: Binding Resource definition for describing association between videooptimizationglobaldetection and videooptimizationdetectionpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/videooptimizationglobalpacing_videooptimizationpacingpolicy_binding.py b/plugins/modules/videooptimizationglobalpacing_videooptimizationpacingpolicy_binding.py index 0443787c7..bbcf56664 100644 --- a/plugins/modules/videooptimizationglobalpacing_videooptimizationpacingpolicy_binding.py +++ b/plugins/modules/videooptimizationglobalpacing_videooptimizationpacingpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: videooptimizationglobalpacing_videooptimizationpacingpolicy_binding short_description: Binding Resource definition for describing association between videooptimizationglobalpacing and videooptimizationpacingpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/videooptimizationpacingaction.py b/plugins/modules/videooptimizationpacingaction.py index 164628717..f38c460cf 100644 --- a/plugins/modules/videooptimizationpacingaction.py +++ b/plugins/modules/videooptimizationpacingaction.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: videooptimizationpacingaction short_description: Configuration for videooptimization pacingaction resource. description: Configuration for videooptimization pacingaction resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,11 +41,11 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str comment: - type: raw + type: str description: - Comment. Any type of information about this video optimization detection action. name: - type: raw + type: str description: - Name for the video optimization pacing action. Must begin with a letter, number, or the underscore character (_), and must contain only letters, numbers, and @@ -57,7 +59,7 @@ contain only letters, numbers, and the hyphen (-), period (.) hash (#), space ( ), at (@), equals (=), colon (:), and underscore characters. rate: - type: raw + type: int description: - ABR Video Optimization Pacing Rate (in Kbps) extends_documentation_fragment: netscaler.adc.netscaler_adc diff --git a/plugins/modules/videooptimizationpacingpolicy.py b/plugins/modules/videooptimizationpacingpolicy.py index b09871cd6..3300c4e3b 100644 --- a/plugins/modules/videooptimizationpacingpolicy.py +++ b/plugins/modules/videooptimizationpacingpolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: videooptimizationpacingpolicy short_description: Configuration for videooptimization pacingpolicy resource. description: Configuration for videooptimization pacingpolicy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -44,15 +46,15 @@ - Name of the videooptimization pacing action to perform if the request matches this videooptimization pacing policy. comment: - type: raw + type: str description: - Any type of information about this videooptimization pacing policy. logaction: - type: raw + type: str description: - Name of the messagelog action to use for requests that match this policy. name: - type: raw + type: str description: - Name for the videooptimization pacing policy. Must begin with a letter, number, or the underscore character (_), and must contain only letters, numbers, and @@ -79,7 +81,7 @@ - '* Alternatively, you can use single quotation marks to enclose the rule, in which case you do not have to escape the double quotation marks.' undefaction: - type: raw + type: str description: - Action to perform if the result of policy evaluation is undefined (UNDEF). An UNDEF event indicates an internal error condition. Only the above built-in diff --git a/plugins/modules/videooptimizationpacingpolicylabel.py b/plugins/modules/videooptimizationpacingpolicylabel.py index 0bd9edd75..ad4fbf00a 100644 --- a/plugins/modules/videooptimizationpacingpolicylabel.py +++ b/plugins/modules/videooptimizationpacingpolicylabel.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: videooptimizationpacingpolicylabel short_description: Configuration for videooptimization pacing policy label resource. description: Configuration for videooptimization pacing policy label resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/videooptimizationpacingpolicylabel_videooptimizationpacingpolicy_binding.py b/plugins/modules/videooptimizationpacingpolicylabel_videooptimizationpacingpolicy_binding.py index 1870bcdd8..89016706b 100644 --- a/plugins/modules/videooptimizationpacingpolicylabel_videooptimizationpacingpolicy_binding.py +++ b/plugins/modules/videooptimizationpacingpolicylabel_videooptimizationpacingpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: videooptimizationpacingpolicylabel_videooptimizationpacingpolicy_binding short_description: Binding Resource definition for describing association between videooptimizationpacingpolicylabel and videooptimizationpacingpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/videooptimizationparameter.py b/plugins/modules/videooptimizationparameter.py index b52583b95..065598095 100644 --- a/plugins/modules/videooptimizationparameter.py +++ b/plugins/modules/videooptimizationparameter.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: videooptimizationparameter short_description: Configuration for VideoOptimization parameter resource. description: Configuration for VideoOptimization parameter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,11 +39,11 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str quicpacingrate: - type: raw + type: float description: - QUIC Video Pacing Rate (Kbps). randomsamplingpercentage: - type: raw + type: float description: - Random Sampling Percentage. extends_documentation_fragment: netscaler.adc.netscaler_adc @@ -50,13 +52,17 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample videooptimizationparameter playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | videooptimizationparameter + - name: Configure videooptimizationparameter delegate_to: localhost netscaler.adc.videooptimizationparameter: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present randomsamplingpercentage: 0.0 """ diff --git a/plugins/modules/vlan.py b/plugins/modules/vlan.py index 25271c97d..7cad46958 100644 --- a/plugins/modules/vlan.py +++ b/plugins/modules/vlan.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: vlan short_description: Configuration for "VLAN" resource. description: Configuration for "VLAN" resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str aliasname: - type: raw + type: str description: - A name for the VLAN. Must begin with a letter, a number, or the underscore symbol, and can consist of from 1 to 31 letters, numbers, and the hyphen (-), @@ -48,18 +50,18 @@ you cannot perform any VLAN operation by specifying this name instead of the VLAN ID. dynamicrouting: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable dynamic routing on this VLAN. id: - type: raw + type: float description: - A positive integer that uniquely identifies a VLAN. ipv6dynamicrouting: - type: raw + type: str choices: - ENABLED - DISABLED @@ -68,13 +70,13 @@ setting to work, you must configure IPv6 dynamic routing protocols from the VTYSH command line.' mtu: - type: raw + type: float description: - Specifies the maximum transmission unit (MTU), in bytes. The MTU is the largest packet size, excluding 14 bytes of ethernet header and 4 bytes of crc, that can be transmitted and received over this VLAN. sharing: - type: raw + type: str choices: - ENABLED - DISABLED @@ -213,16 +215,19 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample vlan playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | vlan + - name: Configure vlan delegate_to: localhost netscaler.adc.vlan: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present - id: '301' - aliasname: client_side_network + vlanid: '10' """ RETURN = r""" diff --git a/plugins/modules/vlan_channel_binding.py b/plugins/modules/vlan_channel_binding.py index d3ca4ea24..c65306c69 100644 --- a/plugins/modules/vlan_channel_binding.py +++ b/plugins/modules/vlan_channel_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vlan_channel_binding short_description: Binding Resource definition for describing association between vlan and channel resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vlan_interface_binding.py b/plugins/modules/vlan_interface_binding.py index a58404bfd..af1267c83 100644 --- a/plugins/modules/vlan_interface_binding.py +++ b/plugins/modules/vlan_interface_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vlan_interface_binding short_description: Binding Resource definition for describing association between vlan and interface resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vlan_linkset_binding.py b/plugins/modules/vlan_linkset_binding.py index c24f4ed66..a0911b42e 100644 --- a/plugins/modules/vlan_linkset_binding.py +++ b/plugins/modules/vlan_linkset_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vlan_linkset_binding short_description: Binding Resource definition for describing association between vlan and linkset resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vlan_nsip6_binding.py b/plugins/modules/vlan_nsip6_binding.py index 890cdaec9..fd40afc1a 100644 --- a/plugins/modules/vlan_nsip6_binding.py +++ b/plugins/modules/vlan_nsip6_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vlan_nsip6_binding short_description: Binding Resource definition for describing association between vlan and nsip6 resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vlan_nsip_binding.py b/plugins/modules/vlan_nsip_binding.py index 0705fb8c7..b569090fe 100644 --- a/plugins/modules/vlan_nsip_binding.py +++ b/plugins/modules/vlan_nsip_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vlan_nsip_binding short_description: Binding Resource definition for describing association between vlan and nsip resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vpnalwaysonprofile.py b/plugins/modules/vpnalwaysonprofile.py index 35b953ffc..d81518846 100644 --- a/plugins/modules/vpnalwaysonprofile.py +++ b/plugins/modules/vpnalwaysonprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: vpnalwaysonprofile short_description: Configuration for AlwyasON profile resource. description: Configuration for AlwyasON profile resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,14 +41,14 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str clientcontrol: - type: raw + type: str choices: - ALLOW - DENY description: - Allow/Deny user to log off and connect to another Gateway locationbasedvpn: - type: raw + type: str choices: - Remote - Everywhere @@ -60,11 +62,11 @@ When set to EveryWhere, the client skips the check to detect if it is on the enterprise network and tries to establish the tunnel name: - type: raw + type: str description: - name of AlwaysON profile networkaccessonvpnfailure: - type: raw + type: str choices: - onlyToGateway - fullAccess @@ -78,6 +80,23 @@ """ EXAMPLES = r""" +--- +- name: Sample vpnalwaysonprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnalwaysonprofile + delegate_to: localhost + netscaler.adc.vpnalwaysonprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: aop1 + networkaccessonvpnfailure: fullAccess + clientcontrol: DENY + locationbasedvpn: Remote """ RETURN = r""" diff --git a/plugins/modules/vpnclientlessaccesspolicy.py b/plugins/modules/vpnclientlessaccesspolicy.py index 84db7f102..b95654e50 100644 --- a/plugins/modules/vpnclientlessaccesspolicy.py +++ b/plugins/modules/vpnclientlessaccesspolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: vpnclientlessaccesspolicy short_description: Configuration for Clientless VPN rewrite policy resource. description: Configuration for Clientless VPN rewrite policy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -62,6 +64,22 @@ """ EXAMPLES = r""" +--- +- name: Sample vpnclientlessaccesspolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnclientlessaccesspolicy + delegate_to: localhost + netscaler.adc.vpnclientlessaccesspolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia_cltlsacspol1 + rule: 'true' + profilename: ia_cltlsacsprof1 """ RETURN = r""" diff --git a/plugins/modules/vpnclientlessaccessprofile.py b/plugins/modules/vpnclientlessaccessprofile.py index a500d3488..e82a3856f 100644 --- a/plugins/modules/vpnclientlessaccessprofile.py +++ b/plugins/modules/vpnclientlessaccessprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: vpnclientlessaccessprofile short_description: Configuration for Clientless VPN rewrite profile resource. description: Configuration for Clientless VPN rewrite profile resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str clientconsumedcookies: - type: raw + type: str description: - Specify the name of the pattern set containing the names of the cookies, which are allowed between the client and the server. If a pattern set is not specified, @@ -47,12 +49,12 @@ A cookie that is not specified in the pattern set is handled by Citrix Gateway on behalf of the client. javascriptrewritepolicylabel: - type: raw + type: str description: - Name of the configured JavaScript rewrite policy label. If you do not specify a policy label name, then JAVA scripts are not rewritten. profilename: - type: raw + type: str description: - Name for the Citrix Gateway clientless access profile. Must begin with an ASCII alphabetic or underscore (_) character, and must consist only of ASCII @@ -64,38 +66,38 @@ - If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my profile" or 'my profile'). regexforfindingcustomurls: - type: raw + type: str description: - Name of the pattern set that contains the regular expressions, which match the URLs in the custom content type other than HTML, CSS, XML, XCOMP, and JavaScript. The custom content type should be included in the patset ns_cvpn_custom_content_types. regexforfindingurlincss: - type: raw + type: str description: - Name of the pattern set that contains the regular expressions, which match the URL in the CSS. regexforfindingurlinjavascript: - type: raw + type: str description: - Name of the pattern set that contains the regular expressions, which match the URL in Java script. regexforfindingurlinxcomponent: - type: raw + type: str description: - Name of the pattern set that contains the regular expressions, which match the URL in X Component. regexforfindingurlinxml: - type: raw + type: str description: - Name of the pattern set that contains the regular expressions, which match the URL in XML. reqhdrrewritepolicylabel: - type: raw + type: str description: - Name of the configured Request rewrite policy label. If you do not specify a policy label name, then requests are not rewritten. requirepersistentcookie: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -105,11 +107,11 @@ which are invoked by the browser can access the files using clientless access. Use caution because the persistent cookie is stored on the disk. reshdrrewritepolicylabel: - type: raw + type: str description: - Name of the configured Response rewrite policy label. urlrewritepolicylabel: - type: raw + type: str description: - Name of the configured URL rewrite policy label. If you do not specify a policy label name, then URLs are not rewritten. @@ -118,6 +120,20 @@ """ EXAMPLES = r""" +--- +- name: Sample vpnclientlessaccessprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnclientlessaccessprofile + delegate_to: localhost + netscaler.adc.vpnclientlessaccessprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + profilename: ia_cltlsacsprof1 """ RETURN = r""" diff --git a/plugins/modules/vpnepaprofile.py b/plugins/modules/vpnepaprofile.py index 448ea2f3b..1e437c86e 100644 --- a/plugins/modules/vpnepaprofile.py +++ b/plugins/modules/vpnepaprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: vpnepaprofile short_description: Configuration for Epa profile resource. description: Configuration for Epa profile resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vpneula.py b/plugins/modules/vpneula.py index 890788770..a547e6324 100644 --- a/plugins/modules/vpneula.py +++ b/plugins/modules/vpneula.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: vpneula short_description: Configuration for EULA for vservers resource. description: Configuration for EULA for vservers resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -45,6 +47,20 @@ """ EXAMPLES = r""" +--- +- name: Sample vpneula playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpneula + delegate_to: localhost + netscaler.adc.vpneula: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: e2 """ RETURN = r""" diff --git a/plugins/modules/vpnformssoaction.py b/plugins/modules/vpnformssoaction.py index b12b3ab59..6f222f21c 100644 --- a/plugins/modules/vpnformssoaction.py +++ b/plugins/modules/vpnformssoaction.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: vpnformssoaction short_description: Configuration for Form sso action resource. description: Configuration for Form sso action resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -43,17 +45,17 @@ description: - Root-relative URL to which the completed form is submitted. name: - type: raw + type: str description: - Name for the form based single sign-on profile. namevaluepair: - type: raw + type: str description: - Other name-value pair attributes to send to the server, in addition to sending the user name and password. Value names are separated by an ampersand (&), such as in name1=value1&name2=value2. nvtype: - type: raw + type: str choices: - STATIC - DYNAMIC @@ -66,7 +68,7 @@ description: - Name of the form field in which the user types in the password. responsesize: - type: raw + type: float description: - Maximum number of bytes to allow in the response size. Specifies the number of bytes in the response to be parsed for extracting the forms. @@ -76,7 +78,7 @@ - Expression that defines the criteria for SSO success. Expression such as checking for cookie in the response is a common example. submitmethod: - type: raw + type: str choices: - GET - POST @@ -92,6 +94,24 @@ """ EXAMPLES = r""" +--- +- name: Sample vpnformssoaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnformssoaction + delegate_to: localhost + netscaler.adc.vpnformssoaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia_ssoact1 + actionurl: /owa/auth/owaauth.dll + userfield: user + passwdfield: freebsd + ssosuccessrule: HTTP.RES.IS_VALID """ RETURN = r""" diff --git a/plugins/modules/vpnglobal_appcontroller_binding.py b/plugins/modules/vpnglobal_appcontroller_binding.py index 2bf476cbf..9d063c819 100644 --- a/plugins/modules/vpnglobal_appcontroller_binding.py +++ b/plugins/modules/vpnglobal_appcontroller_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnglobal_appcontroller_binding short_description: Binding Resource definition for describing association between vpnglobal and appcontroller resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vpnglobal_appfwpolicy_binding.py b/plugins/modules/vpnglobal_appfwpolicy_binding.py new file mode 100644 index 000000000..b095cac0c --- /dev/null +++ b/plugins/modules/vpnglobal_appfwpolicy_binding.py @@ -0,0 +1,129 @@ +#!/usr/bin/python + +# -*- coding: utf-8 -*- + +# Copyright (c) 2023 Cloud Software Group, Inc. +# MIT License (see LICENSE or https://opensource.org/licenses/MIT) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + + +ANSIBLE_METADATA = { + "metadata_version": "1.1", + "status": ["preview"], + "supported_by": "community", +} + +DOCUMENTATION = r""" +--- +module: vpnglobal_appfwpolicy_binding +short_description: Binding Resource definition for describing association between + vpnglobal and appfwpolicy resources +description: Binding Resource definition for describing association between vpnglobal + and appfwpolicy resources +version_added: 2.0.0 +author: + - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) +options: + state: + choices: + - present + - absent + default: present + description: + - The state of the resource being configured by the module on the NetScaler + ADC node. + - When C(present), the resource will be added/updated configured according to + the module's parameters. + - When C(absent), the resource will be deleted from the NetScaler ADC node. + type: str + gotopriorityexpression: + type: str + description: + - Applicable only to advance vpn session policy. An expression or other value + specifying the priority of the next policy which will get evaluated if the + current policy rule evaluates to TRUE. + groupextraction: + type: bool + description: + - Bind the Authentication policy to a tertiary chain which will be used only + for group extraction. The user will not authenticate against this server, + and this will only be called it primary and/or secondary authentication has + succeeded. + policyname: + type: str + description: + - The name of the policy. + priority: + type: float + description: + - Integer specifying the policy's priority. The lower the priority number, the + higher the policy's priority. Maximum value for default syntax policies is + 2147483647 and for classic policies is 64000. + secondary: + type: bool + description: + - Bind the authentication policy as the secondary policy to use in a two-factor + configuration. A user must then authenticate not only to a primary authentication + server but also to a secondary authentication server. User groups are aggregated + across both authentication servers. The user name must be exactly the same + on both authentication servers, but the authentication servers can require + different passwords. +extends_documentation_fragment: netscaler.adc.netscaler_adc + +""" + +EXAMPLES = r""" +""" + +RETURN = r""" +--- +changed: + description: Indicates if any change is made by the module + returned: always + type: bool + sample: true +diff: + description: Dictionary of before and after changes + returned: always + type: dict + sample: {'before': {'key1': 'xyz'}, 'after': {'key2': 'pqr'}, 'prepared': 'changes + done'} +diff_list: + description: List of differences between the actual configured object and the configuration + specified in the module + returned: when changed + type: list + sample: ["Attribute `key1` differs. Desired: () XYZ. Existing: () PQR"] +failed: + description: Indicates if the module failed or not + returned: always + type: bool + sample: false +loglines: + description: list of logged messages by the module + returned: always + type: list + sample: ['message 1', 'message 2'] + +""" + + +import os + +from ..module_utils.module_executor import ModuleExecutor + +RESOURCE_NAME = os.path.basename(__file__).replace(".py", "") + + +def main(): + executor = ModuleExecutor(RESOURCE_NAME) + executor.main() + + +if __name__ == "__main__": + main() diff --git a/plugins/modules/vpnglobal_auditnslogpolicy_binding.py b/plugins/modules/vpnglobal_auditnslogpolicy_binding.py index 7093db209..5aeb435b7 100644 --- a/plugins/modules/vpnglobal_auditnslogpolicy_binding.py +++ b/plugins/modules/vpnglobal_auditnslogpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnglobal_auditnslogpolicy_binding short_description: Binding Resource definition for describing association between vpnglobal and auditnslogpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vpnglobal_auditsyslogpolicy_binding.py b/plugins/modules/vpnglobal_auditsyslogpolicy_binding.py index d04329071..32819f919 100644 --- a/plugins/modules/vpnglobal_auditsyslogpolicy_binding.py +++ b/plugins/modules/vpnglobal_auditsyslogpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnglobal_auditsyslogpolicy_binding short_description: Binding Resource definition for describing association between vpnglobal and auditsyslogpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vpnglobal_authenticationcertpolicy_binding.py b/plugins/modules/vpnglobal_authenticationcertpolicy_binding.py index 1f4949ed0..24e373d04 100644 --- a/plugins/modules/vpnglobal_authenticationcertpolicy_binding.py +++ b/plugins/modules/vpnglobal_authenticationcertpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnglobal_authenticationcertpolicy_binding short_description: Binding Resource definition for describing association between vpnglobal and authenticationcertpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vpnglobal_authenticationldappolicy_binding.py b/plugins/modules/vpnglobal_authenticationldappolicy_binding.py index 6d6f32822..073ae8f01 100644 --- a/plugins/modules/vpnglobal_authenticationldappolicy_binding.py +++ b/plugins/modules/vpnglobal_authenticationldappolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnglobal_authenticationldappolicy_binding short_description: Binding Resource definition for describing association between vpnglobal and authenticationldappolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vpnglobal_authenticationlocalpolicy_binding.py b/plugins/modules/vpnglobal_authenticationlocalpolicy_binding.py index a5aa6f1f3..155702945 100644 --- a/plugins/modules/vpnglobal_authenticationlocalpolicy_binding.py +++ b/plugins/modules/vpnglobal_authenticationlocalpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnglobal_authenticationlocalpolicy_binding short_description: Binding Resource definition for describing association between vpnglobal and authenticationlocalpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vpnglobal_authenticationnegotiatepolicy_binding.py b/plugins/modules/vpnglobal_authenticationnegotiatepolicy_binding.py index 1f95855eb..3c924768a 100644 --- a/plugins/modules/vpnglobal_authenticationnegotiatepolicy_binding.py +++ b/plugins/modules/vpnglobal_authenticationnegotiatepolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnglobal_authenticationnegotiatepolicy_binding short_description: Binding Resource definition for describing association between vpnglobal and authenticationnegotiatepolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vpnglobal_authenticationpolicy_binding.py b/plugins/modules/vpnglobal_authenticationpolicy_binding.py index 4204e8182..138a85a37 100644 --- a/plugins/modules/vpnglobal_authenticationpolicy_binding.py +++ b/plugins/modules/vpnglobal_authenticationpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnglobal_authenticationpolicy_binding short_description: Binding Resource definition for describing association between vpnglobal and authenticationpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vpnglobal_authenticationradiuspolicy_binding.py b/plugins/modules/vpnglobal_authenticationradiuspolicy_binding.py index 39edf0c2b..6c53c99f2 100644 --- a/plugins/modules/vpnglobal_authenticationradiuspolicy_binding.py +++ b/plugins/modules/vpnglobal_authenticationradiuspolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnglobal_authenticationradiuspolicy_binding short_description: Binding Resource definition for describing association between vpnglobal and authenticationradiuspolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vpnglobal_authenticationsamlpolicy_binding.py b/plugins/modules/vpnglobal_authenticationsamlpolicy_binding.py index 11671fe34..394504f0f 100644 --- a/plugins/modules/vpnglobal_authenticationsamlpolicy_binding.py +++ b/plugins/modules/vpnglobal_authenticationsamlpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnglobal_authenticationsamlpolicy_binding short_description: Binding Resource definition for describing association between vpnglobal and authenticationsamlpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vpnglobal_authenticationtacacspolicy_binding.py b/plugins/modules/vpnglobal_authenticationtacacspolicy_binding.py index 1ef04bfa4..20fdd2616 100644 --- a/plugins/modules/vpnglobal_authenticationtacacspolicy_binding.py +++ b/plugins/modules/vpnglobal_authenticationtacacspolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnglobal_authenticationtacacspolicy_binding short_description: Binding Resource definition for describing association between vpnglobal and authenticationtacacspolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vpnglobal_domain_binding.py b/plugins/modules/vpnglobal_domain_binding.py index 1f9b82cc2..ac630ede0 100644 --- a/plugins/modules/vpnglobal_domain_binding.py +++ b/plugins/modules/vpnglobal_domain_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnglobal_domain_binding short_description: Binding Resource definition for describing association between vpnglobal and domain resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vpnglobal_intranetip6_binding.py b/plugins/modules/vpnglobal_intranetip6_binding.py index 55747c307..3995193ad 100644 --- a/plugins/modules/vpnglobal_intranetip6_binding.py +++ b/plugins/modules/vpnglobal_intranetip6_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnglobal_intranetip6_binding short_description: Binding Resource definition for describing association between vpnglobal and intranetip6 resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vpnglobal_intranetip_binding.py b/plugins/modules/vpnglobal_intranetip_binding.py index 4e11016d1..848c17658 100644 --- a/plugins/modules/vpnglobal_intranetip_binding.py +++ b/plugins/modules/vpnglobal_intranetip_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnglobal_intranetip_binding short_description: Binding Resource definition for describing association between vpnglobal and intranetip resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vpnglobal_secureprivateaccessurl_binding.py b/plugins/modules/vpnglobal_secureprivateaccessurl_binding.py new file mode 100644 index 000000000..2de3475ba --- /dev/null +++ b/plugins/modules/vpnglobal_secureprivateaccessurl_binding.py @@ -0,0 +1,107 @@ +#!/usr/bin/python + +# -*- coding: utf-8 -*- + +# Copyright (c) 2023 Cloud Software Group, Inc. +# MIT License (see LICENSE or https://opensource.org/licenses/MIT) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + + +ANSIBLE_METADATA = { + "metadata_version": "1.1", + "status": ["preview"], + "supported_by": "community", +} + +DOCUMENTATION = r""" +--- +module: vpnglobal_secureprivateaccessurl_binding +short_description: Binding Resource definition for describing association between + vpnglobal and secureprivateaccessurl resources +description: Binding Resource definition for describing association between vpnglobal + and secureprivateaccessurl resources +version_added: 2.0.0 +author: + - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) +options: + state: + choices: + - present + - absent + default: present + description: + - The state of the resource being configured by the module on the NetScaler + ADC node. + - When C(present), the resource will be added/updated configured according to + the module's parameters. + - When C(absent), the resource will be deleted from the NetScaler ADC node. + type: str + gotopriorityexpression: + type: str + description: + - Applicable only to advance vpn session policy. An expression or other value + specifying the priority of the next policy which will get evaluated if the + current policy rule evaluates to TRUE. + secureprivateaccessurl: + type: str + description: + - Configured Secure Private Access URL +extends_documentation_fragment: netscaler.adc.netscaler_adc + +""" + +EXAMPLES = r""" +""" + +RETURN = r""" +--- +changed: + description: Indicates if any change is made by the module + returned: always + type: bool + sample: true +diff: + description: Dictionary of before and after changes + returned: always + type: dict + sample: {'before': {'key1': 'xyz'}, 'after': {'key2': 'pqr'}, 'prepared': 'changes + done'} +diff_list: + description: List of differences between the actual configured object and the configuration + specified in the module + returned: when changed + type: list + sample: ["Attribute `key1` differs. Desired: () XYZ. Existing: () PQR"] +failed: + description: Indicates if the module failed or not + returned: always + type: bool + sample: false +loglines: + description: list of logged messages by the module + returned: always + type: list + sample: ['message 1', 'message 2'] + +""" + + +import os + +from ..module_utils.module_executor import ModuleExecutor + +RESOURCE_NAME = os.path.basename(__file__).replace(".py", "") + + +def main(): + executor = ModuleExecutor(RESOURCE_NAME) + executor.main() + + +if __name__ == "__main__": + main() diff --git a/plugins/modules/vpnglobal_sharefileserver_binding.py b/plugins/modules/vpnglobal_sharefileserver_binding.py index 523c4ef39..978b1bb3c 100644 --- a/plugins/modules/vpnglobal_sharefileserver_binding.py +++ b/plugins/modules/vpnglobal_sharefileserver_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnglobal_sharefileserver_binding short_description: Binding Resource definition for describing association between vpnglobal and sharefileserver resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vpnglobal_sslcertkey_binding.py b/plugins/modules/vpnglobal_sslcertkey_binding.py index 4650146e2..7ab31c737 100644 --- a/plugins/modules/vpnglobal_sslcertkey_binding.py +++ b/plugins/modules/vpnglobal_sslcertkey_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnglobal_sslcertkey_binding short_description: Binding Resource definition for describing association between vpnglobal and sslcertkey resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -45,7 +47,7 @@ certkeyname: type: str description: - - SSL certkey to use in signing tokens. + - SSL certkey to use in signing tokens. Only RSA cert key is allowed crlcheck: type: str choices: diff --git a/plugins/modules/vpnglobal_staserver_binding.py b/plugins/modules/vpnglobal_staserver_binding.py index 1c16e3f6b..e66866591 100644 --- a/plugins/modules/vpnglobal_staserver_binding.py +++ b/plugins/modules/vpnglobal_staserver_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnglobal_staserver_binding short_description: Binding Resource definition for describing association between vpnglobal and staserver resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -60,6 +62,20 @@ """ EXAMPLES = r""" +--- +- name: Sample vpnglobal_staserver_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnglobal_staserver_binding + delegate_to: localhost + netscaler.adc.vpnglobal_staserver_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + staserver: https://use1bxctxcca03.blackstone.com """ RETURN = r""" diff --git a/plugins/modules/vpnglobal_vpnclientlessaccesspolicy_binding.py b/plugins/modules/vpnglobal_vpnclientlessaccesspolicy_binding.py index f33807f56..4b1dab683 100644 --- a/plugins/modules/vpnglobal_vpnclientlessaccesspolicy_binding.py +++ b/plugins/modules/vpnglobal_vpnclientlessaccesspolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnglobal_vpnclientlessaccesspolicy_binding short_description: Binding Resource definition for describing association between vpnglobal and vpnclientlessaccesspolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -107,12 +109,9 @@ - SYSTEM - RISE - FEO - - LSN - - LargeScaleNAT - RDPProxy - Rep - Reputation - - URLFiltering - VideoOptimization - ForwardProxy - SSLInterception diff --git a/plugins/modules/vpnglobal_vpneula_binding.py b/plugins/modules/vpnglobal_vpneula_binding.py index 9b822744b..27d9d096e 100644 --- a/plugins/modules/vpnglobal_vpneula_binding.py +++ b/plugins/modules/vpnglobal_vpneula_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnglobal_vpneula_binding short_description: Binding Resource definition for describing association between vpnglobal and vpneula resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -53,6 +55,20 @@ """ EXAMPLES = r""" +--- +- name: Sample vpnglobal_vpneula_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnglobal_vpneula_binding + delegate_to: localhost + netscaler.adc.vpnglobal_vpneula_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + eula: e1 """ RETURN = r""" diff --git a/plugins/modules/vpnglobal_vpnintranetapplication_binding.py b/plugins/modules/vpnglobal_vpnintranetapplication_binding.py index def13f413..e0abc4672 100644 --- a/plugins/modules/vpnglobal_vpnintranetapplication_binding.py +++ b/plugins/modules/vpnglobal_vpnintranetapplication_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnglobal_vpnintranetapplication_binding short_description: Binding Resource definition for describing association between vpnglobal and vpnintranetapplication resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -53,6 +55,20 @@ """ EXAMPLES = r""" +--- +- name: Sample vpnglobal_vpnintranetapplication_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnglobal_vpnintranetapplication_binding + delegate_to: localhost + netscaler.adc.vpnglobal_vpnintranetapplication_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + intranetapplication: javaclt """ RETURN = r""" diff --git a/plugins/modules/vpnglobal_vpnnexthopserver_binding.py b/plugins/modules/vpnglobal_vpnnexthopserver_binding.py index 5a5faf358..9bf847632 100644 --- a/plugins/modules/vpnglobal_vpnnexthopserver_binding.py +++ b/plugins/modules/vpnglobal_vpnnexthopserver_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnglobal_vpnnexthopserver_binding short_description: Binding Resource definition for describing association between vpnglobal and vpnnexthopserver resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vpnglobal_vpnportaltheme_binding.py b/plugins/modules/vpnglobal_vpnportaltheme_binding.py index 61fa370e7..1999577e2 100644 --- a/plugins/modules/vpnglobal_vpnportaltheme_binding.py +++ b/plugins/modules/vpnglobal_vpnportaltheme_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnglobal_vpnportaltheme_binding short_description: Binding Resource definition for describing association between vpnglobal and vpnportaltheme resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -53,6 +55,20 @@ """ EXAMPLES = r""" +--- +- name: Sample vpnglobal_vpnportaltheme_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnglobal_vpnportaltheme_binding + delegate_to: localhost + netscaler.adc.vpnglobal_vpnportaltheme_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + portaltheme: p2 """ RETURN = r""" diff --git a/plugins/modules/vpnglobal_vpnsessionpolicy_binding.py b/plugins/modules/vpnglobal_vpnsessionpolicy_binding.py index 3dc2010dc..16c7a7649 100644 --- a/plugins/modules/vpnglobal_vpnsessionpolicy_binding.py +++ b/plugins/modules/vpnglobal_vpnsessionpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnglobal_vpnsessionpolicy_binding short_description: Binding Resource definition for describing association between vpnglobal and vpnsessionpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -107,12 +109,9 @@ - SYSTEM - RISE - FEO - - LSN - - LargeScaleNAT - RDPProxy - Rep - Reputation - - URLFiltering - VideoOptimization - ForwardProxy - SSLInterception @@ -161,6 +160,22 @@ """ EXAMPLES = r""" +--- +- name: Sample vpnglobal_vpnsessionpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnglobal_vpnsessionpolicy_binding + delegate_to: localhost + netscaler.adc.vpnglobal_vpnsessionpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + policyname: SETVPNPARAMS_ADV_POL + priority: '65534' + gotopriorityexpression: NEXT """ RETURN = r""" diff --git a/plugins/modules/vpnglobal_vpntrafficpolicy_binding.py b/plugins/modules/vpnglobal_vpntrafficpolicy_binding.py index 201c4134c..ce7b27e81 100644 --- a/plugins/modules/vpnglobal_vpntrafficpolicy_binding.py +++ b/plugins/modules/vpnglobal_vpntrafficpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnglobal_vpntrafficpolicy_binding short_description: Binding Resource definition for describing association between vpnglobal and vpntrafficpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vpnglobal_vpnurl_binding.py b/plugins/modules/vpnglobal_vpnurl_binding.py index 254f61822..6c7125b4a 100644 --- a/plugins/modules/vpnglobal_vpnurl_binding.py +++ b/plugins/modules/vpnglobal_vpnurl_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnglobal_vpnurl_binding short_description: Binding Resource definition for describing association between vpnglobal and vpnurl resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -53,6 +55,20 @@ """ EXAMPLES = r""" +--- +- name: Sample vpnglobal_vpnurl_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnglobal_vpnurl_binding + delegate_to: localhost + netscaler.adc.vpnglobal_vpnurl_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + urlname: SPnew """ RETURN = r""" diff --git a/plugins/modules/vpnglobal_vpnurlpolicy_binding.py b/plugins/modules/vpnglobal_vpnurlpolicy_binding.py index ee655ba87..89a99bcca 100644 --- a/plugins/modules/vpnglobal_vpnurlpolicy_binding.py +++ b/plugins/modules/vpnglobal_vpnurlpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnglobal_vpnurlpolicy_binding short_description: Binding Resource definition for describing association between vpnglobal and vpnurlpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vpnicaconnection.py b/plugins/modules/vpnicaconnection.py index d015f2871..a7f2e22f0 100644 --- a/plugins/modules/vpnicaconnection.py +++ b/plugins/modules/vpnicaconnection.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: vpnicaconnection short_description: Configuration for active ica connections resource. description: Configuration for active ica connections resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: [] diff --git a/plugins/modules/vpnintranetapplication.py b/plugins/modules/vpnintranetapplication.py index 1cf7ec1cc..b8d9b7dbf 100644 --- a/plugins/modules/vpnintranetapplication.py +++ b/plugins/modules/vpnintranetapplication.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: vpnintranetapplication short_description: Configuration for SSLVPN intranet application resource. description: Configuration for SSLVPN intranet application resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -117,6 +119,23 @@ """ EXAMPLES = r""" +--- +- name: Sample vpnintranetapplication playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnintranetapplication + delegate_to: localhost + netscaler.adc.vpnintranetapplication: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + intranetapplication: intra_app21 + protocol: TCP + destip: 10.100.0.57 + interception: PROXY """ RETURN = r""" diff --git a/plugins/modules/vpnnexthopserver.py b/plugins/modules/vpnnexthopserver.py index f7cc7cf79..decb75917 100644 --- a/plugins/modules/vpnnexthopserver.py +++ b/plugins/modules/vpnnexthopserver.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: vpnnexthopserver short_description: Configuration for Next Hop Server resource. description: Configuration for Next Hop Server resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -71,6 +73,23 @@ """ EXAMPLES = r""" +--- +- name: Sample vpnnexthopserver playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnnexthopserver + delegate_to: localhost + netscaler.adc.vpnnexthopserver: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: nh3 + nexthopip: 10.102.80.57 + nexthopport: 83 + secure: 'OFF' """ RETURN = r""" diff --git a/plugins/modules/vpnparameter.py b/plugins/modules/vpnparameter.py index 27ab07f5b..d83b05331 100644 --- a/plugins/modules/vpnparameter.py +++ b/plugins/modules/vpnparameter.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: vpnparameter short_description: Configuration for VPN parameter resource. description: Configuration for VPN parameter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -36,8 +38,19 @@ the module's parameters. - When C(unset), the resource will be unset on the NetScaler ADC node. type: str + accessrestrictedpageredirect: + type: str + choices: + - CDN + - NS + - 'OFF' + description: + - By default, an access restricted page hosted on secure private access C(CDN) + is displayed when a restricted app is accessed. The setting can be changed + to C(NS) to display the access restricted page hosted on the gateway or C(OFF) + to not display any access restricted page. advancedclientlessvpnmode: - type: raw + type: str choices: - ENABLED - DISABLED @@ -46,57 +59,57 @@ - Option to enable/disable Advanced ClientlessVpnMode. Additionaly, it can be set to C(STRICT) to block Classic ClientlessVpnMode while in AdvancedClientlessMode. allowedlogingroups: - type: raw + type: str description: - Specify groups that have permission to log on to Citrix Gateway. Users who do not belong to this group or groups are denied access even if they have valid credentials. allprotocolproxy: - type: raw + type: str description: - IP address of the proxy server to use for all protocols supported by Citrix Gateway. alwaysonprofilename: - type: raw + type: str description: - Name of the AlwaysON profile. The builtin profile named none can be used to explicitly disable AlwaysON. apptokentimeout: - type: raw + type: float description: - The timeout value in seconds for tokens to access XenMobile applications authorizationgroup: - type: raw + type: str description: - Comma-separated list of groups in which the user is placed when none of the groups that the user is a part of is configured on Citrix Gateway. The authorization policy can be bound to these groups to control access to the resources. autoproxyurl: - type: raw + type: str description: - URL to auto proxy config file backendcertvalidation: - type: raw + type: str choices: - ENABLED - DISABLED description: - enables backend server certificate validation backendserversni: - type: raw + type: str choices: - ENABLED - DISABLED description: - enables sni extension for backend server handshakes citrixreceiverhome: - type: raw + type: str description: - Web address for the Citrix Receiver home page. Configure Citrix Gateway so that when users log on to the appliance, the Citrix Gateway Plug-in opens a web browser that allows single sign-on to the Citrix Receiver home page. clientchoices: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -108,22 +121,23 @@ with up to three icons for logon choices. The most common are the Citrix Gateway Plug-in for Windows, Web Interface, and clientless access. clientcleanupprompt: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Prompt for client-side cache clean-up when a client-initiated session closes. clientconfiguration: - type: raw + type: list choices: - none - trace description: - Allow users to change client Debug logging level in Configuration tab of the Citrix Gateway Plug-in for Windows. + elements: str clientdebug: - type: raw + type: str choices: - debug - stats @@ -142,12 +156,12 @@ - '* C(OFF) - Only critical C(events) are logged into the Windows Application Log.' clientidletimeout: - type: raw + type: float description: - Time, in minutes, after which to time out the user session if Citrix Gateway does not detect mouse or keyboard activity. clientlessmodeurlencoding: - type: raw + type: str choices: - TRANSPARENT - OPAQUE @@ -167,7 +181,7 @@ bookmark in the Access Interface during their session, the bookmark works each time the user logs on.' clientlesspersistentcookie: - type: raw + type: str choices: - ALLOW - DENY @@ -189,7 +203,7 @@ session. Persistent cookies are not required for clientless access if users do not connect to SharePoint.' clientlessvpnmode: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -203,7 +217,7 @@ Plug-in.' - '* C(DISABLED) - Do not allow clientless access.' clientoptions: - type: raw + type: list choices: - none - all @@ -213,20 +227,21 @@ description: - Display only the configured menu options when you select the "Configure Citrix Gateway" option in the Citrix Gateway Plug-in's system tray icon for Windows. + elements: str clientsecurity: - type: raw + type: str description: - Specify the client security check for the user device to permit a Citrix Gateway session. The web address or IP address is not included in the expression for the client security check. clientsecuritygroup: - type: raw + type: str description: - The client security group that will be assigned on failure of the client security check. Users can in general be organized into Groups. In this case, the Client Security Group may have a more restrictive security policy. clientsecuritylog: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -234,16 +249,16 @@ - Specifies whether or not to display all failed Client Security scans to the end user clientsecuritymessage: - type: raw + type: str description: - The client security message that will be displayed on failure of the client security check. clientversions: - type: raw + type: str description: - checkversion api defaultauthorizationaction: - type: raw + type: str choices: - ALLOW - DENY @@ -255,15 +270,15 @@ can access. If you set the default authorization policy to C(DENY), you must explicitly authorize access to any network resource, which improves security. dnsvservername: - type: raw + type: str description: - Name of the DNS virtual server for the user session. emailhome: - type: raw + type: str description: - Web address for the web-based email, such as Outlook Web Access. encryptcsecexp: - type: raw + type: str choices: - ENABLED - DISABLED @@ -280,7 +295,7 @@ and also has a supporting service which runs permanently when installed - b) Activex Control - ActiveX control run by Microsoft Internet Explorer. forcecleanup: - type: raw + type: list choices: - none - all @@ -296,48 +311,58 @@ description: - Force C(cache) clean-up when the user closes a session. You can specify C(all), C(none), or any combination of the client-side items. + elements: str forcedtimeout: - type: raw + type: float description: - Force a disconnection from the Citrix Gateway Plug-in with Citrix Gateway after a specified number of minutes. If the session closes, the user must log on again. forcedtimeoutwarning: - type: raw + type: float description: - Number of minutes to warn a user before the user session is disconnected. fqdnspoofedip: - type: raw + type: str description: - Spoofed IP address range that can be used by client for FQDN based split tunneling ftpproxy: - type: raw + type: str description: - IP address of the proxy server to be used for FTP access for all subsequent connections to the internal network. gopherproxy: - type: raw + type: str description: - IP address of the proxy server to be used for GOPHER access for all subsequent connections to the internal network. homepage: - type: raw + type: str description: - Web address of the home page that appears when users log on. Otherwise, users receive the default home page for Citrix Gateway, which is the Access Interface. httpport: - type: raw + type: list description: - Destination port numbers other than port 80, added as a comma-separated list. Traffic to these ports is processed as HTTP traffic, which allows functionality, such as HTTP authorization and single sign-on to a web application to work. + elements: int httpproxy: - type: raw + type: str description: - IP address of the proxy server to be used for HTTP access for all subsequent connections to the internal network. + httptrackconnproxy: + type: str + choices: + - 'ON' + - 'OFF' + description: + - Enable or disable HTTP tracking for packets proxied via vpn vserver using + GSLB connection proxy feature. icaproxy: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -346,7 +371,7 @@ XenApp or XenDesktop by using Citrix Receiver instead of the Citrix Gateway Plug-in. icasessiontimeout: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -354,19 +379,19 @@ - Enable or disable ica session timeout. If enabled and in case AAA session gets terminated, ICA connections associated with that will also get terminated icauseraccounting: - type: raw + type: str description: - The name of the radiusPolicy to use for RADIUS user accounting info on the session. iconwithreceiver: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Option to decide whether to show plugin icon along with receiver icon iipdnssuffix: - type: raw + type: str description: - An intranet IP DNS suffix. When a user logs on to Citrix Gateway and is assigned an IP address, a DNS record for the user name and IP address combination is @@ -376,11 +401,11 @@ can be easier to remember than an IP address. When the user logs off from Citrix Gateway, the record is removed from the DNS cache. kcdaccount: - type: raw + type: str description: - The KCD account details to be used in SSO killconnections: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -391,7 +416,7 @@ Plug-in for Windows and MAC when the user is connected to Citrix Gateway and split tunneling is disabled. linuxpluginupgrade: - type: raw + type: str choices: - Always - Essential @@ -399,7 +424,7 @@ description: - Option to set plugin upgrade behaviour for Linux locallanaccess: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -411,45 +436,51 @@ is useful. The client can allow local LAN access to devices that commonly have non-routable addresses, such as local printers or local file servers. loginscript: - type: raw + type: str description: - Path to the logon script that is run when a session is established. Separate multiple scripts by using comma. A "$" in the path signifies that the word following the "$" is an environment variable. logoutscript: - type: raw + type: str description: - Path to the logout script. Separate multiple scripts by using comma. A "$" in the path signifies that the word following the "$" is an environment variable. macpluginupgrade: - type: raw + type: str choices: - Always - Essential - Never description: - Option to set plugin upgrade behaviour for Mac + maxiipperuser: + type: float + description: + - Maximum number of Intranet IP that can be assigned to a user from AAA group, + VPN vserver or VPN global pool. This setting is not applicable for AAA user + level Intranet IP configuration mdxtokentimeout: - type: raw + type: float description: - Validity of MDX Token in minutes. This token is used for mdx services to access backend and valid HEAD and GET request. netmask: - type: raw + type: str description: - The netmask for the spoofed ip address ntdomain: - type: raw + type: str description: - Single sign-on domain to use for single sign-on to applications in the internal network. This setting can be overwritten by the domain that users specify at the time of logon or by the domain that the authentication server returns. pcoipprofilename: - type: raw + type: str description: - Name of the PCOIP profile. proxy: - type: raw + type: str choices: - BROWSER - NS @@ -462,12 +493,12 @@ - '* C(NS) - Proxy settings are configured on the Citrix ADC.' - '* C(OFF) - Proxy settings are not configured.' proxyexception: - type: raw + type: str description: - Proxy exception string that will be configured in the browser for bypassing the previously configured proxies. Allowed only if proxy type is Browser. proxylocalbypass: - type: raw + type: str choices: - ENABLED - DISABLED @@ -475,11 +506,11 @@ - Bypass proxy server for local addresses option in Internet Explorer and Firefox proxy server settings. rdpclientprofilename: - type: raw + type: str description: - Name of the RDP profile associated with the vserver. rfc1918: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -491,7 +522,7 @@ - '* 172.16.*.*,' - '* 192.168.*.*' samesite: - type: raw + type: str choices: - None - LAX @@ -501,7 +532,7 @@ value will be appended only for the cookies which are specified in the builtin patset ns_cookies_samesite securebrowse: - type: raw + type: str choices: - ENABLED - DISABLED @@ -509,22 +540,29 @@ - Allow users to connect through Citrix Gateway to network resources from iOS and Android mobile devices with Citrix Receiver. Users do not need to establish a full VPN tunnel to access resources in the secure network. + secureprivateaccess: + type: str + choices: + - ENABLED + - DISABLED + description: + - Enables or disables the secure private access configuration. sesstimeout: - type: raw + type: float description: - Number of minutes after which the session times out. smartgroup: - type: raw + type: str description: - This is the default group that is chosen when the authentication succeeds in addition to extracted groups. socksproxy: - type: raw + type: str description: - IP address of the proxy server to be used for SOCKS access for all subsequent connections to the internal network. splitdns: - type: raw + type: str choices: - LOCAL - REMOTE @@ -533,7 +571,7 @@ - Route the DNS requests to the local DNS server configured on the user device, or Citrix Gateway (remote), or both. splittunnel: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -549,7 +587,7 @@ network and are logged on through the Citrix Gateway Plug-in, network traffic destined to a printer or another device within the home network is not intercepted. spoofiip: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -557,12 +595,12 @@ - Indicate whether or not the application requires IP spoofing, which routes the connection to the intranet application through the virtual adapter. sslproxy: - type: raw + type: str description: - IP address of the proxy server to be used for SSL access for all subsequent connections to the internal network. sso: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -574,7 +612,7 @@ \ Key or Negotiate Sign Flag). Use VPN TrafficAction to configure SSO for\ \ these authentication types." ssocredential: - type: raw + type: str choices: - PRIMARY - SECONDARY @@ -582,12 +620,12 @@ - Specify whether to use the primary or secondary authentication credentials for single sign-on to the server. storefronturl: - type: raw + type: str description: - Web address for StoreFront to be used in this session for enumeration of resources from XenApp or XenDesktop. transparentinterception: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -599,7 +637,7 @@ to C(ON), in which the mode is set to transparent. If you are using the Citrix Gateway Plug-in for Java, set this parameter to C(OFF). uitheme: - type: raw + type: str choices: - DEFAULT - GREENBUBBLE @@ -607,7 +645,7 @@ description: - Set VPN UI Theme to Green-Bubble, Caxton or Custom; default is Caxton. useiip: - type: raw + type: str choices: - NOSPILLOVER - SPILLOVER @@ -622,7 +660,7 @@ used all available intranet IP addresses.' - '* C(OFF) - Address pool is not configured.' usemip: - type: raw + type: str choices: - NS - 'OFF' @@ -635,11 +673,11 @@ address, the mapped IP address is used when an intranet IP address cannot be assigned. userdomains: - type: raw + type: str description: - List of user domains specified as comma seperated value wihome: - type: raw + type: str description: - Web address of the Web Interface server, such as http:///Citrix/XenApp, or Receiver for Web, which enumerates the virtualized resources, such as XenApp, @@ -658,7 +696,7 @@ description: - Type of the wihome address(C(IPV4)/V6) windowsautologon: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -677,7 +715,7 @@ and also has a supporting service which runs permanently when installed\ - b) Activex Control - ActiveX control run by Microsoft Internet Explorer. windowspluginupgrade: - type: raw + type: str choices: - Always - Essential @@ -685,11 +723,11 @@ description: - Option to set plugin upgrade behaviour for Win winsip: - type: raw + type: str description: - WINS server IP address to add to Citrix Gateway for name resolution. wiportalmode: - type: raw + type: str choices: - NORMAL - COMPACT @@ -702,18 +740,22 @@ EXAMPLES = r""" --- -- name: Sample Playbook - hosts: localhost +- name: Sample vpnparameter playbook + hosts: demo_netscalers gather_facts: false tasks: - - name: Sample Task | vpnparameter + - name: Configure vpnparameter delegate_to: localhost netscaler.adc.vpnparameter: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' state: present forcecleanup: - none clientconfiguration: - - trace + - all """ RETURN = r""" diff --git a/plugins/modules/vpnpcoipconnection.py b/plugins/modules/vpnpcoipconnection.py index 9c65efd64..9b1bec062 100644 --- a/plugins/modules/vpnpcoipconnection.py +++ b/plugins/modules/vpnpcoipconnection.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: vpnpcoipconnection short_description: Configuration for PCoIP connection resource. description: Configuration for PCoIP connection resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: [] @@ -48,6 +50,22 @@ """ EXAMPLES = r""" +--- +- name: Sample vpnpcoipconnection playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnpcoipconnection + delegate_to: localhost + netscaler.adc.vpnpcoipconnection: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + username: u1 + nitro_operation: kill + '#nitro_operation': kill """ RETURN = r""" diff --git a/plugins/modules/vpnpcoipprofile.py b/plugins/modules/vpnpcoipprofile.py index 1fcce97da..b3e744eed 100644 --- a/plugins/modules/vpnpcoipprofile.py +++ b/plugins/modules/vpnpcoipprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: vpnpcoipprofile short_description: Configuration for PCoIP session profile resource. description: Configuration for PCoIP session profile resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -43,18 +45,18 @@ description: - Connection server URL icvverification: - type: raw + type: str choices: - ENABLED - DISABLED description: - ICV verification for PCOIP transport packets. name: - type: raw + type: str description: - name of PCoIP profile sessionidletimeout: - type: raw + type: float description: - PCOIP Idle Session timeout extends_documentation_fragment: netscaler.adc.netscaler_adc @@ -62,6 +64,19 @@ """ EXAMPLES = r""" +--- +- name: Sample vpnpcoipprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnpcoipprofile + delegate_to: localhost + netscaler.adc.vpnpcoipprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present """ RETURN = r""" diff --git a/plugins/modules/vpnpcoipvserverprofile.py b/plugins/modules/vpnpcoipvserverprofile.py index 84c105f04..a0b17d051 100644 --- a/plugins/modules/vpnpcoipvserverprofile.py +++ b/plugins/modules/vpnpcoipvserverprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: vpnpcoipvserverprofile short_description: Configuration for PCoIP vserver profile resource. description: Configuration for PCoIP vserver profile resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -43,11 +45,11 @@ description: - Login domain for PCoIP users name: - type: raw + type: str description: - name of PCoIP vserver profile udpport: - type: raw + type: int description: - UDP port for PCoIP data traffic extends_documentation_fragment: netscaler.adc.netscaler_adc @@ -55,6 +57,19 @@ """ EXAMPLES = r""" +--- +- name: Sample vpnpcoipvserverprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnpcoipvserverprofile + delegate_to: localhost + netscaler.adc.vpnpcoipvserverprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present """ RETURN = r""" diff --git a/plugins/modules/vpnportaltheme.py b/plugins/modules/vpnportaltheme.py index a40ec20cb..0cfcbb77c 100644 --- a/plugins/modules/vpnportaltheme.py +++ b/plugins/modules/vpnportaltheme.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: vpnportaltheme short_description: Configuration for portaltheme resource. description: Configuration for portaltheme resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -54,6 +56,21 @@ """ EXAMPLES = r""" +--- +- name: Sample vpnportaltheme playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnportaltheme + delegate_to: localhost + netscaler.adc.vpnportaltheme: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: BX_Brand + basetheme: RfWebUI """ RETURN = r""" diff --git a/plugins/modules/vpnsamlssoprofile.py b/plugins/modules/vpnsamlssoprofile.py index 5ee8c9fb6..c81003c61 100644 --- a/plugins/modules/vpnsamlssoprofile.py +++ b/plugins/modules/vpnsamlssoprofile.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: vpnsamlssoprofile short_description: Configuration for SAML sso action resource. description: Configuration for SAML sso action resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -43,11 +45,11 @@ description: - URL to which the assertion is to be sent. attribute1: - type: raw + type: str description: - Name of attribute1 that needs to be sent in SAML Assertion attribute10: - type: raw + type: str description: - Name of attribute10 that needs to be sent in SAML Assertion attribute10expr: @@ -56,18 +58,18 @@ - Expression that will be evaluated to obtain attribute10's value to be sent in Assertion attribute10format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute10 to be sent in Assertion. attribute10friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute10 that needs to be sent in SAML Assertion attribute11: - type: raw + type: str description: - Name of attribute11 that needs to be sent in SAML Assertion attribute11expr: @@ -76,18 +78,18 @@ - Expression that will be evaluated to obtain attribute11's value to be sent in Assertion attribute11format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute11 to be sent in Assertion. attribute11friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute11 that needs to be sent in SAML Assertion attribute12: - type: raw + type: str description: - Name of attribute12 that needs to be sent in SAML Assertion attribute12expr: @@ -96,18 +98,18 @@ - Expression that will be evaluated to obtain attribute12's value to be sent in Assertion attribute12format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute12 to be sent in Assertion. attribute12friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute12 that needs to be sent in SAML Assertion attribute13: - type: raw + type: str description: - Name of attribute13 that needs to be sent in SAML Assertion attribute13expr: @@ -116,18 +118,18 @@ - Expression that will be evaluated to obtain attribute13's value to be sent in Assertion attribute13format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute13 to be sent in Assertion. attribute13friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute13 that needs to be sent in SAML Assertion attribute14: - type: raw + type: str description: - Name of attribute14 that needs to be sent in SAML Assertion attribute14expr: @@ -136,18 +138,18 @@ - Expression that will be evaluated to obtain attribute14's value to be sent in Assertion attribute14format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute14 to be sent in Assertion. attribute14friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute14 that needs to be sent in SAML Assertion attribute15: - type: raw + type: str description: - Name of attribute15 that needs to be sent in SAML Assertion attribute15expr: @@ -156,18 +158,18 @@ - Expression that will be evaluated to obtain attribute15's value to be sent in Assertion attribute15format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute15 to be sent in Assertion. attribute15friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute15 that needs to be sent in SAML Assertion attribute16: - type: raw + type: str description: - Name of attribute16 that needs to be sent in SAML Assertion attribute16expr: @@ -176,14 +178,14 @@ - Expression that will be evaluated to obtain attribute16's value to be sent in Assertion attribute16format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute16 to be sent in Assertion. attribute16friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute16 that needs to be sent in SAML Assertion attribute1expr: @@ -192,18 +194,18 @@ - Expression that will be evaluated to obtain attribute1's value to be sent in Assertion attribute1format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute1 to be sent in Assertion. attribute1friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute1 that needs to be sent in SAML Assertion attribute2: - type: raw + type: str description: - Name of attribute2 that needs to be sent in SAML Assertion attribute2expr: @@ -212,18 +214,18 @@ - Expression that will be evaluated to obtain attribute2's value to be sent in Assertion attribute2format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute2 to be sent in Assertion. attribute2friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute2 that needs to be sent in SAML Assertion attribute3: - type: raw + type: str description: - Name of attribute3 that needs to be sent in SAML Assertion attribute3expr: @@ -232,18 +234,18 @@ - Expression that will be evaluated to obtain attribute3's value to be sent in Assertion attribute3format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute3 to be sent in Assertion. attribute3friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute3 that needs to be sent in SAML Assertion attribute4: - type: raw + type: str description: - Name of attribute4 that needs to be sent in SAML Assertion attribute4expr: @@ -252,18 +254,18 @@ - Expression that will be evaluated to obtain attribute4's value to be sent in Assertion attribute4format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute4 to be sent in Assertion. attribute4friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute4 that needs to be sent in SAML Assertion attribute5: - type: raw + type: str description: - Name of attribute5 that needs to be sent in SAML Assertion attribute5expr: @@ -272,18 +274,18 @@ - Expression that will be evaluated to obtain attribute5's value to be sent in Assertion attribute5format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute5 to be sent in Assertion. attribute5friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute5 that needs to be sent in SAML Assertion attribute6: - type: raw + type: str description: - Name of attribute6 that needs to be sent in SAML Assertion attribute6expr: @@ -292,18 +294,18 @@ - Expression that will be evaluated to obtain attribute6's value to be sent in Assertion attribute6format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute6 to be sent in Assertion. attribute6friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute6 that needs to be sent in SAML Assertion attribute7: - type: raw + type: str description: - Name of attribute7 that needs to be sent in SAML Assertion attribute7expr: @@ -312,18 +314,18 @@ - Expression that will be evaluated to obtain attribute7's value to be sent in Assertion attribute7format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute7 to be sent in Assertion. attribute7friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute7 that needs to be sent in SAML Assertion attribute8: - type: raw + type: str description: - Name of attribute8 that needs to be sent in SAML Assertion attribute8expr: @@ -332,18 +334,18 @@ - Expression that will be evaluated to obtain attribute8's value to be sent in Assertion attribute8format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute8 to be sent in Assertion. attribute8friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute8 that needs to be sent in SAML Assertion attribute9: - type: raw + type: str description: - Name of attribute9 that needs to be sent in SAML Assertion attribute9expr: @@ -352,37 +354,37 @@ - Expression that will be evaluated to obtain attribute9's value to be sent in Assertion attribute9format: - type: raw + type: str choices: - URI - Basic description: - Format of Attribute9 to be sent in Assertion. attribute9friendlyname: - type: raw + type: str description: - User-Friendly Name of attribute9 that needs to be sent in SAML Assertion audience: - type: raw + type: str description: - Audience for which assertion sent by IdP is applicable. This is typically entity name or url that represents ServiceProvider digestmethod: - type: raw + type: str choices: - SHA1 - SHA256 description: - Algorithm to be used to compute/verify digest for SAML transactions encryptassertion: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Option to encrypt assertion when Citrix ADC sends one. encryptionalgorithm: - type: raw + type: str choices: - DES3 - AES128 @@ -391,7 +393,7 @@ description: - Algorithm to be used to encrypt SAML assertion name: - type: raw + type: str description: - Name for the new saml single sign-on profile. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, @@ -402,11 +404,11 @@ - If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my action" or 'my action'). nameidexpr: - type: raw + type: str description: - Expression that will be evaluated to obtain NameIdentifier to be sent in assertion nameidformat: - type: raw + type: str choices: - Unspecified - emailAddress @@ -419,34 +421,34 @@ description: - Format of Name Identifier sent in Assertion. relaystaterule: - type: raw + type: str description: - Expression to extract relaystate to be sent along with assertion. Evaluation of this expression should return TEXT content. This is typically a target url to which user is redirected after the recipient validates SAML token samlissuername: - type: raw + type: str description: - The name to be used in requests sent from Citrix ADC to IdP to uniquely identify Citrix ADC. samlsigningcertname: - type: raw + type: str description: - Name of the signing authority as given in the SAML server's SSL certificate. samlspcertname: - type: raw + type: str description: - Name of the SSL certificate of peer/receving party using which Assertion is encrypted. sendpassword: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Option to send password in assertion. signassertion: - type: raw + type: str choices: - NONE - ASSERTION @@ -457,18 +459,18 @@ on the user selection, either Assertion or Response or Both or none can be signed signaturealg: - type: raw + type: str choices: - RSA-SHA1 - RSA-SHA256 description: - Algorithm to be used to sign/verify SAML transactions signatureservice: - type: raw + type: str description: - Name of the service in cloud used to sign the data skewtime: - type: raw + type: float description: - This option specifies the number of minutes on either side of current time that the assertion would be valid. For example, if skewTime is 10, then assertion @@ -479,6 +481,22 @@ """ EXAMPLES = r""" +--- +- name: Sample vpnsamlssoprofile playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnsamlssoprofile + delegate_to: localhost + netscaler.adc.vpnsamlssoprofile: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: new + assertionconsumerserviceurl: http://a.com + relaystaterule: http.req.url """ RETURN = r""" diff --git a/plugins/modules/vpnsessionaction.py b/plugins/modules/vpnsessionaction.py index 0efc443f8..b6998b0da 100644 --- a/plugins/modules/vpnsessionaction.py +++ b/plugins/modules/vpnsessionaction.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: vpnsessionaction short_description: Configuration for VPN session action resource. description: Configuration for VPN session action resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,7 +41,7 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str advancedclientlessvpnmode: - type: raw + type: str choices: - ENABLED - DISABLED @@ -48,40 +50,40 @@ - Option to enable/disable Advanced ClientlessVpnMode. Additionaly, it can be set to C(STRICT) to block Classic ClientlessVpnMode while in AdvancedClientlessMode. allowedlogingroups: - type: raw + type: str description: - Specify groups that have permission to log on to Citrix Gateway. Users who do not belong to this group or groups are denied access even if they have valid credentials. allprotocolproxy: - type: raw + type: str description: - IP address of the proxy server to use for all protocols supported by Citrix Gateway. alwaysonprofilename: - type: raw + type: str description: - Name of the AlwaysON profile associated with the session action. The builtin profile named none can be used to explicitly disable AlwaysON for the session action. authorizationgroup: - type: raw + type: str description: - Comma-separated list of groups in which the user is placed when none of the groups that the user is a part of is configured on Citrix Gateway. The authorization policy can be bound to these groups to control access to the resources. autoproxyurl: - type: raw + type: str description: - URL to auto proxy config file citrixreceiverhome: - type: raw + type: str description: - Web address for the Citrix Receiver home page. Configure Citrix Gateway so that when users log on to the appliance, the Citrix Gateway Plug-in opens a web browser that allows single sign-on to the Citrix Receiver home page. clientchoices: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -93,22 +95,23 @@ with up to three icons for logon choices. The most common are the Citrix Gateway Plug-in for Windows, Web Interface, and clientless access. clientcleanupprompt: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Prompt for client-side cache clean-up when a client-initiated session closes. clientconfiguration: - type: raw + type: list choices: - none - trace description: - Allow users to change client Debug logging level in Configuration tab of the Citrix Gateway Plug-in for Windows. + elements: str clientdebug: - type: raw + type: str choices: - debug - stats @@ -127,12 +130,12 @@ - '* C(OFF) - Only critical C(events) are logged into the Windows Application Log.' clientidletimeout: - type: raw + type: float description: - Time, in minutes, after which to time out the user session if Citrix Gateway does not detect mouse or keyboard activity. clientlessmodeurlencoding: - type: raw + type: str choices: - TRANSPARENT - OPAQUE @@ -152,7 +155,7 @@ bookmark in the Access Interface during their session, the bookmark works each time the user logs on.' clientlesspersistentcookie: - type: raw + type: str choices: - ALLOW - DENY @@ -174,7 +177,7 @@ session. Persistent cookies are not required for clientless access if users do not connect to SharePoint.' clientlessvpnmode: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -188,7 +191,7 @@ Plug-in.' - '* C(DISABLED) - Do not allow clientless access.' clientoptions: - type: raw + type: str choices: - none - all @@ -199,31 +202,31 @@ - Display only the configured menu options when you select the "Configure Citrix Gateway" option in the Citrix Gateway Plug-in system tray icon for Windows. clientsecurity: - type: raw + type: str description: - Specify the client security check for the user device to permit a Citrix Gateway session. The web address or IP address is not included in the expression for the client security check. clientsecuritygroup: - type: raw + type: str description: - The client security group that will be assigned on failure of the client security check. Users can in general be organized into Groups. In this case, the Client Security Group may have a more restrictive security policy. clientsecuritylog: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Set the logging of client security checks. clientsecuritymessage: - type: raw + type: str description: - The client security message that will be displayed on failure of the client security check. defaultauthorizationaction: - type: raw + type: str choices: - ALLOW - DENY @@ -235,11 +238,11 @@ can access. If you set the default authorization policy to C(DENY), you must explicitly authorize access to any network resource, which improves security. dnsvservername: - type: raw + type: str description: - Name of the DNS virtual server for the user session. emailhome: - type: raw + type: str description: - Web address for the web-based email, such as Outlook Web Access. epaclienttype: @@ -253,7 +256,7 @@ and also has a supporting service which runs permanently when installed - b) Activex Control - ActiveX control run by Microsoft Internet Explorer. forcecleanup: - type: raw + type: list choices: - none - all @@ -269,48 +272,50 @@ description: - Force C(cache) clean-up when the user closes a session. You can specify C(all), C(none), or any combination of the client-side items. + elements: str forcedtimeout: - type: raw + type: float description: - Force a disconnection from the Citrix Gateway Plug-in with Citrix Gateway after a specified number of minutes. If the session closes, the user must log on again. forcedtimeoutwarning: - type: raw + type: float description: - Number of minutes to warn a user before the user session is disconnected. fqdnspoofedip: - type: raw + type: str description: - Spoofed IP address range that can be used by client for FQDN based split tunneling ftpproxy: - type: raw + type: str description: - IP address of the proxy server to be used for FTP access for all subsequent connections to the internal network. gopherproxy: - type: raw + type: str description: - IP address of the proxy server to be used for GOPHER access for all subsequent connections to the internal network. homepage: - type: raw + type: str description: - Web address of the home page that appears when users log on. Otherwise, users receive the default home page for Citrix Gateway, which is the Access Interface. httpport: - type: raw + type: list description: - Destination port numbers other than port 80, added as a comma-separated list. Traffic to these ports is processed as HTTP traffic, which allows functionality, such as HTTP authorization and single sign-on to a web application to work. + elements: int httpproxy: - type: raw + type: str description: - IP address of the proxy server to be used for HTTP access for all subsequent connections to the internal network. icaproxy: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -319,14 +324,14 @@ XenApp or XenDesktop by using Citrix Receiver instead of the Citrix Gateway Plug-in. iconwithreceiver: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Option to decide whether to show plugin icon along with receiver iipdnssuffix: - type: raw + type: str description: - An intranet IP DNS suffix. When a user logs on to Citrix Gateway and is assigned an IP address, a DNS record for the user name and IP address combination is @@ -336,11 +341,11 @@ can be easier to remember than an IP address. When the user logs off from Citrix Gateway, the record is removed from the DNS cache. kcdaccount: - type: raw + type: str description: - The kcd account details to be used in SSO killconnections: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -351,7 +356,7 @@ Plug-in for Windows and MAC when the user is connected to Citrix Gateway and split tunneling is disabled. linuxpluginupgrade: - type: raw + type: str choices: - Always - Essential @@ -359,7 +364,7 @@ description: - Option to set plugin upgrade behaviour for Linux locallanaccess: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -371,18 +376,18 @@ is useful. The client can allow local LAN access to devices that commonly have non-routable addresses, such as local printers or local file servers. loginscript: - type: raw + type: str description: - Path to the logon script that is run when a session is established. Separate multiple scripts by using comma. A "$" in the path signifies that the word following the "$" is an environment variable. logoutscript: - type: raw + type: str description: - Path to the logout script. Separate multiple scripts by using comma. A "$" in the path signifies that the word following the "$" is an environment variable. macpluginupgrade: - type: raw + type: str choices: - Always - Essential @@ -390,7 +395,7 @@ description: - Option to set plugin upgrade behaviour for Mac name: - type: raw + type: str description: - Name for the Citrix Gateway profile (action). Must begin with an ASCII alphabetic or underscore (_) character, and must consist only of ASCII alphanumeric, @@ -401,23 +406,23 @@ - If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my action" or 'my action'). netmask: - type: raw + type: str description: - The netmask for the spoofed ip address ntdomain: - type: raw + type: str description: - Single sign-on domain to use for single sign-on to applications in the internal network. This setting can be overwritten by the domain that users specify at the time of logon or by the domain that the authentication server returns. pcoipprofilename: - type: raw + type: str description: - Name of the PCOIP profile associated with the session action. The builtin profile named none can be used to explicitly disable PCOIP for the session action. proxy: - type: raw + type: str choices: - BROWSER - NS @@ -430,12 +435,12 @@ - '* C(NS) - Proxy settings are configured on the Citrix ADC.' - '* C(OFF) - Proxy settings are not configured.' proxyexception: - type: raw + type: str description: - Proxy exception string that will be configured in the browser for bypassing the previously configured proxies. Allowed only if proxy type is Browser. proxylocalbypass: - type: raw + type: str choices: - ENABLED - DISABLED @@ -443,11 +448,11 @@ - Bypass proxy server for local addresses option in Internet Explorer and Firefox proxy server settings. rdpclientprofilename: - type: raw + type: str description: - Name of the RDP profile associated with the vserver. rfc1918: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -459,7 +464,7 @@ - '* 172.16.*.*,' - '* 192.168.*.*' securebrowse: - type: raw + type: str choices: - ENABLED - DISABLED @@ -468,11 +473,11 @@ and Android mobile devices with Citrix Receiver. Users do not need to establish a full VPN tunnel to access resources in the secure network. sesstimeout: - type: raw + type: float description: - Number of minutes after which the session times out. sfgatewayauthtype: - type: raw + type: str choices: - domain - RSA @@ -484,17 +489,17 @@ description: - The authentication type configured for the Citrix Gateway on StoreFront. smartgroup: - type: raw + type: str description: - This is the default group that is chosen when the authentication succeeds in addition to extracted groups. socksproxy: - type: raw + type: str description: - IP address of the proxy server to be used for SOCKS access for all subsequent connections to the internal network. splitdns: - type: raw + type: str choices: - LOCAL - REMOTE @@ -503,7 +508,7 @@ - Route the DNS requests to the local DNS server configured on the user device, or Citrix Gateway (remote), or both. splittunnel: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -519,7 +524,7 @@ network and are logged on through the Citrix Gateway Plug-in, network traffic destined to a printer or another device within the home network is not intercepted. spoofiip: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -527,12 +532,12 @@ - IP address that the intranet application uses to route the connection through the virtual adapter. sslproxy: - type: raw + type: str description: - IP address of the proxy server to be used for SSL access for all subsequent connections to the internal network. sso: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -544,7 +549,7 @@ \ Key or Negotiate Sign Flag). Use VPN TrafficAction to configure SSO for\ \ these authentication types." ssocredential: - type: raw + type: str choices: - PRIMARY - SECONDARY @@ -552,12 +557,12 @@ - Specify whether to use the primary or secondary authentication credentials for single sign-on to the server. storefronturl: - type: raw + type: str description: - Web address for StoreFront to be used in this session for enumeration of resources from XenApp or XenDesktop. transparentinterception: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -569,7 +574,7 @@ to C(ON), in which the mode is set to transparent. If you are using the Citrix Gateway Plug-in for Java, set this parameter to C(OFF). useiip: - type: raw + type: str choices: - NOSPILLOVER - SPILLOVER @@ -584,7 +589,7 @@ used all available intranet IP addresses.' - '* C(OFF) - Address pool is not configured.' usemip: - type: raw + type: str choices: - NS - 'OFF' @@ -597,12 +602,12 @@ address, the mapped IP address is used when an intranet IP address cannot be assigned. useraccounting: - type: raw + type: str description: - The name of the radiusPolicy to use for RADIUS user accounting info on the session. wihome: - type: raw + type: str description: - Web address of the Web Interface server, such as http:///Citrix/XenApp, or Receiver for Web, which enumerates the virtualized resources, such as XenApp, @@ -621,7 +626,7 @@ description: - Type of the wihome address(C(IPV4)/V6) windowsautologon: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -640,7 +645,7 @@ and also has a supporting service which runs permanently when installed\ - b) Activex Control - ActiveX control run by Microsoft Internet Explorer. windowspluginupgrade: - type: raw + type: str choices: - Always - Essential @@ -648,11 +653,11 @@ description: - Option to set plugin upgrade behaviour for Win winsip: - type: raw + type: str description: - WINS server IP address to add to Citrix Gateway for name resolution. wiportalmode: - type: raw + type: str choices: - NORMAL - COMPACT @@ -664,6 +669,29 @@ """ EXAMPLES = r""" +--- +- name: Sample vpnsessionaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnsessionaction + delegate_to: localhost + netscaler.adc.vpnsessionaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: External_receiver_session_prof + sesstimeout: 20 + transparentinterception: 'OFF' + defaultauthorizationaction: ALLOW + clientidletimeout: 20 + sso: 'ON' + ssocredential: SECONDARY + icaproxy: 'ON' + wihome: https://10.189.130.10/Citrix/ProdExternal + clientlessvpnmode: 'ON' """ RETURN = r""" diff --git a/plugins/modules/vpnsessionpolicy.py b/plugins/modules/vpnsessionpolicy.py index 85a67a0f0..1cbb20d26 100644 --- a/plugins/modules/vpnsessionpolicy.py +++ b/plugins/modules/vpnsessionpolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: vpnsessionpolicy short_description: Configuration for VPN session policy resource. description: Configuration for VPN session policy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,16 +41,16 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str action: - type: raw + type: str description: - Action to be applied by the new session policy if the rule criteria are met. name: - type: raw + type: str description: - Name for the new session policy that is applied after the user logs on to Citrix Gateway. rule: - type: raw + type: str description: - Expression, or name of a named expression, specifying the traffic that matches the policy. @@ -65,6 +67,22 @@ """ EXAMPLES = r""" +--- +- name: Sample vpnsessionpolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnsessionpolicy + delegate_to: localhost + netscaler.adc.vpnsessionpolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: External_receiver_session_pol + rule: HTTP.REQ.HEADER("User-Agent").CONTAINS("CitrixReceiver") + action: External_receiver_session_prof """ RETURN = r""" diff --git a/plugins/modules/vpntrafficaction.py b/plugins/modules/vpntrafficaction.py index 29349b57e..334e3aede 100644 --- a/plugins/modules/vpntrafficaction.py +++ b/plugins/modules/vpntrafficaction.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: vpntrafficaction short_description: Configuration for VPN traffic action resource. description: Configuration for VPN traffic action resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -64,11 +66,11 @@ description: - Provide hdx proxy to the ICA traffic kcdaccount: - type: raw + type: str description: - Kerberos constrained delegation account name name: - type: raw + type: str description: - Name for the traffic action. Must begin with an ASCII alphabetic or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash @@ -79,11 +81,11 @@ - If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my action" or 'my action'). passwdexpression: - type: raw + type: str description: - expression that will be evaluated to obtain password for SingleSignOn proxy: - type: raw + type: str description: - IP address and Port of the proxy server to be used for HTTP access for this request. @@ -109,11 +111,11 @@ \ the user credentials to be sent in plaintext which is not secure if the\ \ server is running on HTTP (instead of HTTPS)." userexpression: - type: raw + type: str description: - expression that will be evaluated to obtain username for SingleSignOn wanscaler: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -124,6 +126,21 @@ """ EXAMPLES = r""" +--- +- name: Sample vpntrafficaction playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpntrafficaction + delegate_to: localhost + netscaler.adc.vpntrafficaction: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia_trafact1 + qual: http """ RETURN = r""" diff --git a/plugins/modules/vpntrafficpolicy.py b/plugins/modules/vpntrafficpolicy.py index 14cd88895..2a9735774 100644 --- a/plugins/modules/vpntrafficpolicy.py +++ b/plugins/modules/vpntrafficpolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: vpntrafficpolicy short_description: Configuration for VPN traffic policy resource. description: Configuration for VPN traffic policy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,11 +41,11 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str action: - type: raw + type: str description: - Action to apply to traffic that matches the policy. name: - type: raw + type: str description: - Name for the traffic policy. Must begin with an ASCII alphabetic or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash @@ -54,7 +56,7 @@ - If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my policy" or 'my policy'). rule: - type: raw + type: str description: - Expression, or name of a named expression, against which traffic is evaluated. - 'The following requirements apply only to the Citrix ADC CLI:' @@ -69,6 +71,22 @@ """ EXAMPLES = r""" +--- +- name: Sample vpntrafficpolicy playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpntrafficpolicy + delegate_to: localhost + netscaler.adc.vpntrafficpolicy: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ia_trafpol1 + rule: ns_true + action: ia_trafact1 """ RETURN = r""" diff --git a/plugins/modules/vpnurl.py b/plugins/modules/vpnurl.py index 2d0613ca3..b1345a287 100644 --- a/plugins/modules/vpnurl.py +++ b/plugins/modules/vpnurl.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: vpnurl short_description: Configuration for VPN URL resource. description: Configuration for VPN URL resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -43,11 +45,11 @@ description: - Web address for the bookmark link. appjson: - type: raw + type: str description: - To store the template details in the json format. applicationtype: - type: raw + type: str choices: - CVPN - VPN @@ -55,7 +57,7 @@ description: - The type of application this C(VPN) URL represents. Possible values are C(CVPN)/C(SaaS)/C(VPN) clientlessaccess: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -65,11 +67,11 @@ based session. Allows single sign-on and other HTTP processing on Citrix Gateway for HTTPS resources. comment: - type: raw + type: str description: - Any comments associated with the bookmark link. iconurl: - type: raw + type: str description: - URL to fetch icon file for displaying this resource. linkname: @@ -77,11 +79,11 @@ description: - Description of the bookmark link. The description appears in the Access Interface. samlssoprofile: - type: raw + type: str description: - Profile to be used for doing SAML SSO ssotype: - type: raw + type: str choices: - unifiedgateway - selfauth @@ -89,11 +91,11 @@ description: - Single sign on type for unified gateway urlname: - type: raw + type: str description: - Name of the bookmark link. vservername: - type: raw + type: str description: - Name of the associated LB/CS vserver extends_documentation_fragment: netscaler.adc.netscaler_adc @@ -101,6 +103,24 @@ """ EXAMPLES = r""" +--- +- name: Sample vpnurl playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnurl + delegate_to: localhost + netscaler.adc.vpnurl: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + urlname: url3 + linkname: url3 + actualurl: https://a.c.com/ + ssotype: samlauth + samlssoprofile: new """ RETURN = r""" diff --git a/plugins/modules/vpnurlaction.py b/plugins/modules/vpnurlaction.py index 136b9ccbb..1dbb67b27 100644 --- a/plugins/modules/vpnurlaction.py +++ b/plugins/modules/vpnurlaction.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: vpnurlaction short_description: Configuration for VPN url action resource. description: Configuration for VPN url action resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -43,7 +45,7 @@ description: - Web address for the bookmark link. applicationtype: - type: raw + type: str choices: - CVPN - VPN @@ -51,7 +53,7 @@ description: - The type of application this C(VPN) URL represents. Possible values are C(CVPN)/C(SaaS)/C(VPN) clientlessaccess: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -61,11 +63,11 @@ based session. Allows single sign-on and other HTTP processing on NetScaler Gateway for HTTPS resources. comment: - type: raw + type: str description: - Any comments associated with the bookmark link. iconurl: - type: raw + type: str description: - URL to fetch icon file for displaying this resource. linkname: @@ -73,7 +75,7 @@ description: - Description of the bookmark link. The description appears in the Access Interface. name: - type: raw + type: str description: - Name of the bookmark link. newname: @@ -88,11 +90,11 @@ - If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my vpnurl action" or 'my vpnurl action'). samlssoprofile: - type: raw + type: str description: - Profile to be used for doing SAML SSO ssotype: - type: raw + type: str choices: - unifiedgateway - selfauth @@ -100,7 +102,7 @@ description: - Single sign on type for unified gateway vservername: - type: raw + type: str description: - Name of the associated vserver to handle selfAuth SSO extends_documentation_fragment: netscaler.adc.netscaler_adc diff --git a/plugins/modules/vpnurlpolicy.py b/plugins/modules/vpnurlpolicy.py index d4da258fd..4b57fd589 100644 --- a/plugins/modules/vpnurlpolicy.py +++ b/plugins/modules/vpnurlpolicy.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: vpnurlpolicy short_description: Configuration for VPN url policy resource. description: Configuration for VPN url policy resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -43,15 +45,15 @@ description: - Action to be applied by the new urlPolicy if the rule criteria are met. comment: - type: raw + type: str description: - Any comments to preserve information about this policy. logaction: - type: raw + type: str description: - Name of messagelog action to use when a request matches this policy. name: - type: raw + type: str description: - Name for the new urlPolicy. newname: diff --git a/plugins/modules/vpnvserver.py b/plugins/modules/vpnvserver.py index 5beb6117f..8a2205765 100644 --- a/plugins/modules/vpnvserver.py +++ b/plugins/modules/vpnvserver.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: vpnvserver short_description: Configuration for VPN virtual server resource. description: Configuration for VPN virtual server resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -42,15 +44,26 @@ - When C(disabled), the resource will be disabled on the NetScaler ADC node. - When C(unset), the resource will be unset on the NetScaler ADC node. type: str + accessrestrictedpageredirect: + type: str + choices: + - CDN + - NS + - 'OFF' + description: + - By default, an access restricted page hosted on secure private access C(CDN) + is displayed when a restricted app is accessed. The setting can be changed + to C(NS) to display the access restricted page hosted on the gateway or C(OFF) + to not display any access restricted page. advancedepa: - type: raw + type: str choices: - 'ON' - 'OFF' description: - This option tells whether advanced EPA is enabled on this virtual server appflowlog: - type: raw + type: str choices: - ENABLED - DISABLED @@ -61,24 +74,24 @@ HTTP web addresses, HTTP request methods and response status codes, server response time, and latency. authentication: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Require authentication for users connecting to Citrix Gateway. authnprofile: - type: raw + type: str description: - Authentication Profile entity on virtual server. This entity can be used to offload authentication to AAA vserver for multi-factor(nFactor) authentication certkeynames: - type: raw + type: str description: - Name of the certificate key that was bound to the corresponding SSL virtual server as the Certificate Authority for the device certificate cginfrahomepageredirect: - type: raw + type: str choices: - ENABLED - DISABLED @@ -88,7 +101,7 @@ takes the user to the originally requested ShareFile resource after authentication (instead of taking the user to the default VPN home page) comment: - type: raw + type: str description: - Any comments associated with the virtual server. deploymenttype: @@ -101,14 +114,14 @@ description: - '0' devicecert: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Indicates whether device certificate check as a part of EPA is on or off. doublehop: - type: raw + type: str choices: - ENABLED - DISABLED @@ -118,7 +131,7 @@ using three firewalls to divide the DMZ into two stages. Such a deployment can have one appliance in the DMZ and one appliance in the secure network. downstateflush: - type: raw + type: str choices: - ENABLED - DISABLED @@ -130,7 +143,7 @@ be closed when they are marked DOWN. Do not enable DOWN state flush on servers that must complete their transactions. dtls: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -142,11 +155,11 @@ - Number of minutes an account will be locked if user exceeds maximum permissible attempts httpprofilename: - type: raw + type: str description: - Name of the HTTP profile to assign to this virtual server. icaonly: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -166,7 +179,7 @@ CVPN. Number of users that can log in and access the resources are limited by the CCU licenses in this mode.' icaproxysessionmigration: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -174,7 +187,7 @@ - This option determines if an existing ICA Proxy session is transferred when the user logs on from another device. icmpvsrresponse: - type: raw + type: str choices: - PASSIVE - ACTIVE @@ -184,7 +197,7 @@ available. With the C(PASSIVE) setting, respond even if the virtual server is not available. ipset: - type: raw + type: str description: - The list of IPv4/IPv6 addresses bound to ipset would form a part of listening service on the current vpn vserver @@ -194,7 +207,7 @@ - IPv4 or IPv6 address of the Citrix Gateway virtual server. Usually a public IP address. User devices send connection requests to this IP address. l2conn: - type: raw + type: str choices: - 'ON' - 'OFF' @@ -204,7 +217,7 @@ that is used to identify a connection. Allows multiple TCP and non-TCP connections with the same 4-tuple to coexist on the Citrix ADC. linuxepapluginupgrade: - type: raw + type: str choices: - Always - Essential @@ -212,34 +225,34 @@ description: - Option to set plugin upgrade behaviour for Linux listenpolicy: - type: raw + type: str description: - String specifying the listen policy for the Citrix Gateway virtual server. Can be either a named expression or an expression. The Citrix Gateway virtual server processes only the traffic for which the expression evaluates to true. listenpriority: - type: raw + type: float description: - Integer specifying the priority of the listen policy. A higher number specifies a lower priority. If a request matches the listen policies of more than one virtual server, the virtual server whose listen policy has the highest priority (the lowest priority number) accepts the request. loginonce: - type: raw + type: str choices: - 'ON' - 'OFF' description: - This option enables/disables seamless SSO for this Vserver. logoutonsmartcardremoval: - type: raw + type: str choices: - 'ON' - 'OFF' description: - Option to VPN plugin behavior when smartcard or its reader is removed macepapluginupgrade: - type: raw + type: str choices: - Always - Essential @@ -247,17 +260,17 @@ description: - Option to set plugin upgrade behaviour for Mac maxaaausers: - type: raw + type: float description: - Maximum number of concurrent user sessions allowed on this virtual server. The actual number of users allowed to log on to this virtual server depends on the total number of user licenses. maxloginattempts: - type: raw + type: float description: - Maximum number of logon attempts name: - type: raw + type: str description: - Name for the Citrix Gateway virtual server. Must begin with an ASCII alphabetic or underscore (_) character, and must contain only ASCII alphanumeric, underscore, @@ -268,7 +281,7 @@ - If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my server" or 'my server'). netprofile: - type: raw + type: str description: - The name of the network profile. newname: @@ -283,13 +296,17 @@ - If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my server" or 'my server'). pcoipvserverprofilename: - type: raw + type: str description: - Name of the PCoIP vserver profile associated with the vserver. port: type: int description: - TCP port on which the virtual server listens. + quicprofilename: + type: str + description: + - Name of the QUIC profile to assign to this virtual server. range: type: float description: @@ -298,11 +315,11 @@ parameter. - In the configuration utility, select Network VServer to enter a range. rdpserverprofilename: - type: raw + type: str description: - Name of the RDP server profile associated with the vserver. rhistate: - type: raw + type: str choices: - PASSIVE - ACTIVE @@ -316,7 +333,7 @@ on the others, the appliance injects even if one virtual server set to C(ACTIVE) is UP.' samesite: - type: raw + type: str choices: - None - LAX @@ -325,28 +342,36 @@ - SameSite attribute value for Cookies generated in VPN context. This attribute value will be appended only for the cookies which are specified in the builtin patset ns_cookies_samesite + secureprivateaccess: + type: str + choices: + - ENABLED + - DISABLED + description: + - Configure secure private access servicetype: type: str choices: - SSL - DTLS + - HTTP_QUIC description: - Protocol used by the Citrix Gateway virtual server. tcpprofilename: - type: raw + type: str description: - Name of the TCP profile to assign to this virtual server. userdomains: - type: raw + type: str description: - List of user domains specified as comma seperated value vserverfqdn: - type: raw + type: str description: - Fully qualified domain name for a VPN virtual server. This is used during StoreFront configuration generation. windowsepapluginupgrade: - type: raw + type: str choices: - Always - Essential @@ -453,6 +478,31 @@ elements: dict description: List of binding members default: [] + vpnvserver_appfwpolicy_binding: + type: dict + description: Bindings for vpnvserver_appfwpolicy_binding resource + suboptions: + mode: + type: str + default: desired + description: + - The mode in which to configure the bindings. + - If mode is set to C(desired), the bindings will be added or removed from + the target NetScaler ADCs as necessary to match the bindings specified + in the state. + - If mode is set to C(bind), the specified bindings will be added to the + resource. The existing bindings in the target ADCs will not be modified. + - If mode is set to C(unbind), the specified bindings will be removed from + the resource. The existing bindings in the target ADCs will not be modified. + choices: + - desired + - bind + - unbind + binding_members: + type: list + elements: dict + description: List of binding members + default: [] vpnvserver_auditnslogpolicy_binding: type: dict description: Bindings for vpnvserver_auditnslogpolicy_binding resource @@ -1028,6 +1078,31 @@ elements: dict description: List of binding members default: [] + vpnvserver_secureprivateaccessurl_binding: + type: dict + description: Bindings for vpnvserver_secureprivateaccessurl_binding resource + suboptions: + mode: + type: str + default: desired + description: + - The mode in which to configure the bindings. + - If mode is set to C(desired), the bindings will be added or removed from + the target NetScaler ADCs as necessary to match the bindings specified + in the state. + - If mode is set to C(bind), the specified bindings will be added to the + resource. The existing bindings in the target ADCs will not be modified. + - If mode is set to C(unbind), the specified bindings will be removed from + the resource. The existing bindings in the target ADCs will not be modified. + choices: + - desired + - bind + - unbind + binding_members: + type: list + elements: dict + description: List of binding members + default: [] vpnvserver_sharefileserver_binding: type: dict description: Bindings for vpnvserver_sharefileserver_binding resource @@ -1333,6 +1408,25 @@ """ EXAMPLES = r""" +--- +- name: Sample vpnvserver playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnvserver + delegate_to: localhost + netscaler.adc.vpnvserver: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: CitrixAccessCallback + servicetype: SSL + ipv46: 10.189.130.19 + port: 443 + downstateflush: DISABLED + listenpolicy: NONE """ RETURN = r""" diff --git a/plugins/modules/vpnvserver_aaapreauthenticationpolicy_binding.py b/plugins/modules/vpnvserver_aaapreauthenticationpolicy_binding.py index d6ed47666..21203fdcd 100644 --- a/plugins/modules/vpnvserver_aaapreauthenticationpolicy_binding.py +++ b/plugins/modules/vpnvserver_aaapreauthenticationpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnvserver_aaapreauthenticationpolicy_binding short_description: Binding Resource definition for describing association between vpnvserver and aaapreauthenticationpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -114,6 +116,22 @@ """ EXAMPLES = r""" +--- +- name: Sample vpnvserver_aaapreauthenticationpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnvserver_aaapreauthenticationpolicy_binding + delegate_to: localhost + netscaler.adc.vpnvserver_aaapreauthenticationpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: vpn_ssl + policy: preact + priority: '20' """ RETURN = r""" diff --git a/plugins/modules/vpnvserver_analyticsprofile_binding.py b/plugins/modules/vpnvserver_analyticsprofile_binding.py index be41ffe92..9bada9105 100644 --- a/plugins/modules/vpnvserver_analyticsprofile_binding.py +++ b/plugins/modules/vpnvserver_analyticsprofile_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnvserver_analyticsprofile_binding short_description: Binding Resource definition for describing association between vpnvserver and analyticsprofile resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vpnvserver_appcontroller_binding.py b/plugins/modules/vpnvserver_appcontroller_binding.py index 0b9ec35d6..b6dfc8eeb 100644 --- a/plugins/modules/vpnvserver_appcontroller_binding.py +++ b/plugins/modules/vpnvserver_appcontroller_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnvserver_appcontroller_binding short_description: Binding Resource definition for describing association between vpnvserver and appcontroller resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vpnvserver_appflowpolicy_binding.py b/plugins/modules/vpnvserver_appflowpolicy_binding.py index ae6c2bc4b..4dcfa457b 100644 --- a/plugins/modules/vpnvserver_appflowpolicy_binding.py +++ b/plugins/modules/vpnvserver_appflowpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnvserver_appflowpolicy_binding short_description: Binding Resource definition for describing association between vpnvserver and appflowpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -88,6 +90,24 @@ """ EXAMPLES = r""" +--- +- name: Sample vpnvserver_appflowpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnvserver_appflowpolicy_binding + delegate_to: localhost + netscaler.adc.vpnvserver_appflowpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: portal.bx.com + policy: af_policy_act_log_10.189.64.10 + priority: '255' + gotopriorityexpression: END + bindpoint: ICA_REQUEST """ RETURN = r""" diff --git a/plugins/modules/vpnvserver_appfwpolicy_binding.py b/plugins/modules/vpnvserver_appfwpolicy_binding.py new file mode 100644 index 000000000..4889c2fea --- /dev/null +++ b/plugins/modules/vpnvserver_appfwpolicy_binding.py @@ -0,0 +1,145 @@ +#!/usr/bin/python + +# -*- coding: utf-8 -*- + +# Copyright (c) 2023 Cloud Software Group, Inc. +# MIT License (see LICENSE or https://opensource.org/licenses/MIT) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + + +ANSIBLE_METADATA = { + "metadata_version": "1.1", + "status": ["preview"], + "supported_by": "community", +} + +DOCUMENTATION = r""" +--- +module: vpnvserver_appfwpolicy_binding +short_description: Binding Resource definition for describing association between + vpnvserver and appfwpolicy resources +description: Binding Resource definition for describing association between vpnvserver + and appfwpolicy resources +version_added: 2.0.0 +author: + - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) +options: + state: + choices: + - present + - absent + default: present + description: + - The state of the resource being configured by the module on the NetScaler + ADC node. + - When C(present), the resource will be added/updated configured according to + the module's parameters. + - When C(absent), the resource will be deleted from the NetScaler ADC node. + type: str + bindpoint: + type: str + choices: + - REQUEST + - RESPONSE + - ICA_REQUEST + - OTHERTCP_REQUEST + - AAA_REQUEST + - AAA_RESPONSE + description: + - Bind point to which to bind the policy. Applies only to rewrite and cache + policies. If you do not set this parameter, the policy is bound to REQ_DEFAULT + or RES_DEFAULT, depending on whether the policy rule is a response-time or + a request-time expression. + gotopriorityexpression: + type: str + description: + - Next priority expression. + groupextraction: + type: bool + description: + - Binds the authentication policy to a tertiary chain which will be used only + for group extraction. The user will not authenticate against this server, + and this will only be called if primary and/or secondary authentication has + succeeded. + name: + type: str + description: + - Name of the virtual server. + policy: + type: str + description: + - The name of the policy, if any, bound to the VPN virtual server. + priority: + type: float + description: + - Integer specifying the policy's priority. The lower the number, the higher + the priority. Policies are evaluated in the order of their priority numbers. + Maximum value for default syntax policies is 2147483647 and for classic policies + is 64000. + secondary: + type: bool + description: + - Binds the authentication policy as the secondary policy to use in a two-factor + configuration. A user must then authenticate not only via a primary authentication + method but also via a secondary authentication method. User groups are aggregated + across both. The user name must be exactly the same for both authentication + methods, but they can require different passwords. +extends_documentation_fragment: netscaler.adc.netscaler_adc + +""" + +EXAMPLES = r""" +""" + +RETURN = r""" +--- +changed: + description: Indicates if any change is made by the module + returned: always + type: bool + sample: true +diff: + description: Dictionary of before and after changes + returned: always + type: dict + sample: {'before': {'key1': 'xyz'}, 'after': {'key2': 'pqr'}, 'prepared': 'changes + done'} +diff_list: + description: List of differences between the actual configured object and the configuration + specified in the module + returned: when changed + type: list + sample: ["Attribute `key1` differs. Desired: () XYZ. Existing: () PQR"] +failed: + description: Indicates if the module failed or not + returned: always + type: bool + sample: false +loglines: + description: list of logged messages by the module + returned: always + type: list + sample: ['message 1', 'message 2'] + +""" + + +import os + +from ..module_utils.module_executor import ModuleExecutor + +RESOURCE_NAME = os.path.basename(__file__).replace(".py", "") + + +def main(): + executor = ModuleExecutor(RESOURCE_NAME) + executor.main() + + +if __name__ == "__main__": + main() diff --git a/plugins/modules/vpnvserver_auditnslogpolicy_binding.py b/plugins/modules/vpnvserver_auditnslogpolicy_binding.py index d4664ea79..447abeb28 100644 --- a/plugins/modules/vpnvserver_auditnslogpolicy_binding.py +++ b/plugins/modules/vpnvserver_auditnslogpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnvserver_auditnslogpolicy_binding short_description: Binding Resource definition for describing association between vpnvserver and auditnslogpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vpnvserver_auditsyslogpolicy_binding.py b/plugins/modules/vpnvserver_auditsyslogpolicy_binding.py index f1113f404..d61399929 100644 --- a/plugins/modules/vpnvserver_auditsyslogpolicy_binding.py +++ b/plugins/modules/vpnvserver_auditsyslogpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnvserver_auditsyslogpolicy_binding short_description: Binding Resource definition for describing association between vpnvserver and auditsyslogpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vpnvserver_authenticationcertpolicy_binding.py b/plugins/modules/vpnvserver_authenticationcertpolicy_binding.py index f44d189c1..bf6cd6f17 100644 --- a/plugins/modules/vpnvserver_authenticationcertpolicy_binding.py +++ b/plugins/modules/vpnvserver_authenticationcertpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnvserver_authenticationcertpolicy_binding short_description: Binding Resource definition for describing association between vpnvserver and authenticationcertpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vpnvserver_authenticationdfapolicy_binding.py b/plugins/modules/vpnvserver_authenticationdfapolicy_binding.py index 3f65731db..47dd48698 100644 --- a/plugins/modules/vpnvserver_authenticationdfapolicy_binding.py +++ b/plugins/modules/vpnvserver_authenticationdfapolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnvserver_authenticationdfapolicy_binding short_description: Binding Resource definition for describing association between vpnvserver and authenticationdfapolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vpnvserver_authenticationldappolicy_binding.py b/plugins/modules/vpnvserver_authenticationldappolicy_binding.py index 6743f264f..cda037fb5 100644 --- a/plugins/modules/vpnvserver_authenticationldappolicy_binding.py +++ b/plugins/modules/vpnvserver_authenticationldappolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnvserver_authenticationldappolicy_binding short_description: Binding Resource definition for describing association between vpnvserver and authenticationldappolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -114,6 +116,22 @@ """ EXAMPLES = r""" +--- +- name: Sample vpnvserver_authenticationldappolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnvserver_authenticationldappolicy_binding + delegate_to: localhost + netscaler.adc.vpnvserver_authenticationldappolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: ns.pcoip.net + policy: ldap24 + priority: '100' """ RETURN = r""" diff --git a/plugins/modules/vpnvserver_authenticationlocalpolicy_binding.py b/plugins/modules/vpnvserver_authenticationlocalpolicy_binding.py index 7a445d48a..dc275d78e 100644 --- a/plugins/modules/vpnvserver_authenticationlocalpolicy_binding.py +++ b/plugins/modules/vpnvserver_authenticationlocalpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnvserver_authenticationlocalpolicy_binding short_description: Binding Resource definition for describing association between vpnvserver and authenticationlocalpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -114,6 +116,22 @@ """ EXAMPLES = r""" +--- +- name: Sample vpnvserver_authenticationlocalpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnvserver_authenticationlocalpolicy_binding + delegate_to: localhost + netscaler.adc.vpnvserver_authenticationlocalpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: callbackvs + policy: NS_GATEWAY_DEFAULT_LOCAL_POL1 + priority: '64000' """ RETURN = r""" diff --git a/plugins/modules/vpnvserver_authenticationloginschemapolicy_binding.py b/plugins/modules/vpnvserver_authenticationloginschemapolicy_binding.py index c363399b3..e8629611f 100644 --- a/plugins/modules/vpnvserver_authenticationloginschemapolicy_binding.py +++ b/plugins/modules/vpnvserver_authenticationloginschemapolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnvserver_authenticationloginschemapolicy_binding short_description: Binding Resource definition for describing association between vpnvserver and authenticationloginschemapolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vpnvserver_authenticationnegotiatepolicy_binding.py b/plugins/modules/vpnvserver_authenticationnegotiatepolicy_binding.py index 10e15f62f..dfa69710d 100644 --- a/plugins/modules/vpnvserver_authenticationnegotiatepolicy_binding.py +++ b/plugins/modules/vpnvserver_authenticationnegotiatepolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnvserver_authenticationnegotiatepolicy_binding short_description: Binding Resource definition for describing association between vpnvserver and authenticationnegotiatepolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vpnvserver_authenticationoauthidppolicy_binding.py b/plugins/modules/vpnvserver_authenticationoauthidppolicy_binding.py index 58830bd87..abab6109d 100644 --- a/plugins/modules/vpnvserver_authenticationoauthidppolicy_binding.py +++ b/plugins/modules/vpnvserver_authenticationoauthidppolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnvserver_authenticationoauthidppolicy_binding short_description: Binding Resource definition for describing association between vpnvserver and authenticationoauthidppolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vpnvserver_authenticationpolicy_binding.py b/plugins/modules/vpnvserver_authenticationpolicy_binding.py index 9e87ae044..9063a63b8 100644 --- a/plugins/modules/vpnvserver_authenticationpolicy_binding.py +++ b/plugins/modules/vpnvserver_authenticationpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnvserver_authenticationpolicy_binding short_description: Binding Resource definition for describing association between vpnvserver and authenticationpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vpnvserver_authenticationradiuspolicy_binding.py b/plugins/modules/vpnvserver_authenticationradiuspolicy_binding.py index 3d71d3c07..2de578848 100644 --- a/plugins/modules/vpnvserver_authenticationradiuspolicy_binding.py +++ b/plugins/modules/vpnvserver_authenticationradiuspolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnvserver_authenticationradiuspolicy_binding short_description: Binding Resource definition for describing association between vpnvserver and authenticationradiuspolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vpnvserver_authenticationsamlidppolicy_binding.py b/plugins/modules/vpnvserver_authenticationsamlidppolicy_binding.py index bf66376c5..8a5afc671 100644 --- a/plugins/modules/vpnvserver_authenticationsamlidppolicy_binding.py +++ b/plugins/modules/vpnvserver_authenticationsamlidppolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnvserver_authenticationsamlidppolicy_binding short_description: Binding Resource definition for describing association between vpnvserver and authenticationsamlidppolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vpnvserver_authenticationsamlpolicy_binding.py b/plugins/modules/vpnvserver_authenticationsamlpolicy_binding.py index abe06fe50..3ef919a64 100644 --- a/plugins/modules/vpnvserver_authenticationsamlpolicy_binding.py +++ b/plugins/modules/vpnvserver_authenticationsamlpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnvserver_authenticationsamlpolicy_binding short_description: Binding Resource definition for describing association between vpnvserver and authenticationsamlpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vpnvserver_authenticationtacacspolicy_binding.py b/plugins/modules/vpnvserver_authenticationtacacspolicy_binding.py index d58352763..57cb533f3 100644 --- a/plugins/modules/vpnvserver_authenticationtacacspolicy_binding.py +++ b/plugins/modules/vpnvserver_authenticationtacacspolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnvserver_authenticationtacacspolicy_binding short_description: Binding Resource definition for describing association between vpnvserver and authenticationtacacspolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vpnvserver_authenticationwebauthpolicy_binding.py b/plugins/modules/vpnvserver_authenticationwebauthpolicy_binding.py index 3850d8946..d8f43fba7 100644 --- a/plugins/modules/vpnvserver_authenticationwebauthpolicy_binding.py +++ b/plugins/modules/vpnvserver_authenticationwebauthpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnvserver_authenticationwebauthpolicy_binding short_description: Binding Resource definition for describing association between vpnvserver and authenticationwebauthpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vpnvserver_cachepolicy_binding.py b/plugins/modules/vpnvserver_cachepolicy_binding.py index 3cd39a0c5..516a93ded 100644 --- a/plugins/modules/vpnvserver_cachepolicy_binding.py +++ b/plugins/modules/vpnvserver_cachepolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnvserver_cachepolicy_binding short_description: Binding Resource definition for describing association between vpnvserver and cachepolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -88,6 +90,24 @@ """ EXAMPLES = r""" +--- +- name: Sample vpnvserver_cachepolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnvserver_cachepolicy_binding + delegate_to: localhost + netscaler.adc.vpnvserver_cachepolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: CitrixAccessCallback + policy: _noCacheRest + priority: '20' + gotopriorityexpression: END + bindpoint: RESPONSE """ RETURN = r""" diff --git a/plugins/modules/vpnvserver_cspolicy_binding.py b/plugins/modules/vpnvserver_cspolicy_binding.py index 682129897..5556ceb6b 100644 --- a/plugins/modules/vpnvserver_cspolicy_binding.py +++ b/plugins/modules/vpnvserver_cspolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnvserver_cspolicy_binding short_description: Binding Resource definition for describing association between vpnvserver and cspolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vpnvserver_feopolicy_binding.py b/plugins/modules/vpnvserver_feopolicy_binding.py index ae3a3e938..9de987806 100644 --- a/plugins/modules/vpnvserver_feopolicy_binding.py +++ b/plugins/modules/vpnvserver_feopolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnvserver_feopolicy_binding short_description: Binding Resource definition for describing association between vpnvserver and feopolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vpnvserver_icapolicy_binding.py b/plugins/modules/vpnvserver_icapolicy_binding.py index b3fde4f8d..026024d8b 100644 --- a/plugins/modules/vpnvserver_icapolicy_binding.py +++ b/plugins/modules/vpnvserver_icapolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnvserver_icapolicy_binding short_description: Binding Resource definition for describing association between vpnvserver and icapolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -91,6 +93,22 @@ """ EXAMPLES = r""" +--- +- name: Sample vpnvserver_icapolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnvserver_icapolicy_binding + delegate_to: localhost + netscaler.adc.vpnvserver_icapolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: wionnsvs + policy: icapol1 + priority: '3' """ RETURN = r""" diff --git a/plugins/modules/vpnvserver_intranetip6_binding.py b/plugins/modules/vpnvserver_intranetip6_binding.py index 8cc46290f..df721b314 100644 --- a/plugins/modules/vpnvserver_intranetip6_binding.py +++ b/plugins/modules/vpnvserver_intranetip6_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnvserver_intranetip6_binding short_description: Binding Resource definition for describing association between vpnvserver and intranetip6 resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vpnvserver_intranetip_binding.py b/plugins/modules/vpnvserver_intranetip_binding.py index 0c90fb399..b266fee4f 100644 --- a/plugins/modules/vpnvserver_intranetip_binding.py +++ b/plugins/modules/vpnvserver_intranetip_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnvserver_intranetip_binding short_description: Binding Resource definition for describing association between vpnvserver and intranetip resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vpnvserver_responderpolicy_binding.py b/plugins/modules/vpnvserver_responderpolicy_binding.py index fbb6140a2..281b9ccf6 100644 --- a/plugins/modules/vpnvserver_responderpolicy_binding.py +++ b/plugins/modules/vpnvserver_responderpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnvserver_responderpolicy_binding short_description: Binding Resource definition for describing association between vpnvserver and responderpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vpnvserver_rewritepolicy_binding.py b/plugins/modules/vpnvserver_rewritepolicy_binding.py index 275fedded..d170069ab 100644 --- a/plugins/modules/vpnvserver_rewritepolicy_binding.py +++ b/plugins/modules/vpnvserver_rewritepolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnvserver_rewritepolicy_binding short_description: Binding Resource definition for describing association between vpnvserver and rewritepolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vpnvserver_secureprivateaccessurl_binding.py b/plugins/modules/vpnvserver_secureprivateaccessurl_binding.py new file mode 100644 index 000000000..bd10695db --- /dev/null +++ b/plugins/modules/vpnvserver_secureprivateaccessurl_binding.py @@ -0,0 +1,105 @@ +#!/usr/bin/python + +# -*- coding: utf-8 -*- + +# Copyright (c) 2023 Cloud Software Group, Inc. +# MIT License (see LICENSE or https://opensource.org/licenses/MIT) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + + +ANSIBLE_METADATA = { + "metadata_version": "1.1", + "status": ["preview"], + "supported_by": "community", +} + +DOCUMENTATION = r""" +--- +module: vpnvserver_secureprivateaccessurl_binding +short_description: Binding Resource definition for describing association between + vpnvserver and secureprivateaccessurl resources +description: Binding Resource definition for describing association between vpnvserver + and secureprivateaccessurl resources +version_added: 2.0.0 +author: + - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) +options: + state: + choices: + - present + - absent + default: present + description: + - The state of the resource being configured by the module on the NetScaler + ADC node. + - When C(present), the resource will be added/updated configured according to + the module's parameters. + - When C(absent), the resource will be deleted from the NetScaler ADC node. + type: str + name: + type: str + description: + - Name of the virtual server. + secureprivateaccessurl: + type: str + description: + - Configured Secure Private Access URL +extends_documentation_fragment: netscaler.adc.netscaler_adc + +""" + +EXAMPLES = r""" +""" + +RETURN = r""" +--- +changed: + description: Indicates if any change is made by the module + returned: always + type: bool + sample: true +diff: + description: Dictionary of before and after changes + returned: always + type: dict + sample: {'before': {'key1': 'xyz'}, 'after': {'key2': 'pqr'}, 'prepared': 'changes + done'} +diff_list: + description: List of differences between the actual configured object and the configuration + specified in the module + returned: when changed + type: list + sample: ["Attribute `key1` differs. Desired: () XYZ. Existing: () PQR"] +failed: + description: Indicates if the module failed or not + returned: always + type: bool + sample: false +loglines: + description: list of logged messages by the module + returned: always + type: list + sample: ['message 1', 'message 2'] + +""" + + +import os + +from ..module_utils.module_executor import ModuleExecutor + +RESOURCE_NAME = os.path.basename(__file__).replace(".py", "") + + +def main(): + executor = ModuleExecutor(RESOURCE_NAME) + executor.main() + + +if __name__ == "__main__": + main() diff --git a/plugins/modules/vpnvserver_sharefileserver_binding.py b/plugins/modules/vpnvserver_sharefileserver_binding.py index c83a069ad..08b4e470e 100644 --- a/plugins/modules/vpnvserver_sharefileserver_binding.py +++ b/plugins/modules/vpnvserver_sharefileserver_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnvserver_sharefileserver_binding short_description: Binding Resource definition for describing association between vpnvserver and sharefileserver resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vpnvserver_staserver_binding.py b/plugins/modules/vpnvserver_staserver_binding.py index a95429993..fd9aac5ad 100644 --- a/plugins/modules/vpnvserver_staserver_binding.py +++ b/plugins/modules/vpnvserver_staserver_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnvserver_staserver_binding short_description: Binding Resource definition for describing association between vpnvserver and staserver resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -58,6 +60,21 @@ """ EXAMPLES = r""" +--- +- name: Sample vpnvserver_staserver_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnvserver_staserver_binding + delegate_to: localhost + netscaler.adc.vpnvserver_staserver_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: portal.bx.com + staserver: https://use1bxctxccp01.blackstone.com """ RETURN = r""" diff --git a/plugins/modules/vpnvserver_vpnclientlessaccesspolicy_binding.py b/plugins/modules/vpnvserver_vpnclientlessaccesspolicy_binding.py index bf643d9fa..753c7ca4e 100644 --- a/plugins/modules/vpnvserver_vpnclientlessaccesspolicy_binding.py +++ b/plugins/modules/vpnvserver_vpnclientlessaccesspolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnvserver_vpnclientlessaccesspolicy_binding short_description: Binding Resource definition for describing association between vpnvserver and vpnclientlessaccesspolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -88,6 +90,23 @@ """ EXAMPLES = r""" +--- +- name: Sample vpnvserver_vpnclientlessaccesspolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnvserver_vpnclientlessaccesspolicy_binding + delegate_to: localhost + netscaler.adc.vpnvserver_vpnclientlessaccesspolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: _XM_anilxmvip.dnpg-blr.com + policy: CLT_LESS_10.100.48.231 + priority: '80' + gotopriorityexpression: END """ RETURN = r""" diff --git a/plugins/modules/vpnvserver_vpnepaprofile_binding.py b/plugins/modules/vpnvserver_vpnepaprofile_binding.py index d0e6488d1..4478ca9e0 100644 --- a/plugins/modules/vpnvserver_vpnepaprofile_binding.py +++ b/plugins/modules/vpnvserver_vpnepaprofile_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnvserver_vpnepaprofile_binding short_description: Binding Resource definition for describing association between vpnvserver and vpnepaprofile resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vpnvserver_vpneula_binding.py b/plugins/modules/vpnvserver_vpneula_binding.py index 6ce32de51..6bf709bda 100644 --- a/plugins/modules/vpnvserver_vpneula_binding.py +++ b/plugins/modules/vpnvserver_vpneula_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnvserver_vpneula_binding short_description: Binding Resource definition for describing association between vpnvserver and vpneula resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -51,6 +53,21 @@ """ EXAMPLES = r""" +--- +- name: Sample vpnvserver_vpneula_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnvserver_vpneula_binding + delegate_to: localhost + netscaler.adc.vpnvserver_vpneula_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: vpnlb + eula: e1 """ RETURN = r""" diff --git a/plugins/modules/vpnvserver_vpnintranetapplication_binding.py b/plugins/modules/vpnvserver_vpnintranetapplication_binding.py index 9cf311c1e..8d60c29cd 100644 --- a/plugins/modules/vpnvserver_vpnintranetapplication_binding.py +++ b/plugins/modules/vpnvserver_vpnintranetapplication_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnvserver_vpnintranetapplication_binding short_description: Binding Resource definition for describing association between vpnvserver and vpnintranetapplication resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vpnvserver_vpnnexthopserver_binding.py b/plugins/modules/vpnvserver_vpnnexthopserver_binding.py index 332a8bbb2..375a450cd 100644 --- a/plugins/modules/vpnvserver_vpnnexthopserver_binding.py +++ b/plugins/modules/vpnvserver_vpnnexthopserver_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnvserver_vpnnexthopserver_binding short_description: Binding Resource definition for describing association between vpnvserver and vpnnexthopserver resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -51,6 +53,21 @@ """ EXAMPLES = r""" +--- +- name: Sample vpnvserver_vpnnexthopserver_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnvserver_vpnnexthopserver_binding + delegate_to: localhost + netscaler.adc.vpnvserver_vpnnexthopserver_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: dh + nexthopserver: fqdn """ RETURN = r""" diff --git a/plugins/modules/vpnvserver_vpnportaltheme_binding.py b/plugins/modules/vpnvserver_vpnportaltheme_binding.py index b1115b400..cecc0c99b 100644 --- a/plugins/modules/vpnvserver_vpnportaltheme_binding.py +++ b/plugins/modules/vpnvserver_vpnportaltheme_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnvserver_vpnportaltheme_binding short_description: Binding Resource definition for describing association between vpnvserver and vpnportaltheme resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -51,6 +53,21 @@ """ EXAMPLES = r""" +--- +- name: Sample vpnvserver_vpnportaltheme_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnvserver_vpnportaltheme_binding + delegate_to: localhost + netscaler.adc.vpnvserver_vpnportaltheme_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: portal.bx.com + portaltheme: BX_Brand """ RETURN = r""" diff --git a/plugins/modules/vpnvserver_vpnsessionpolicy_binding.py b/plugins/modules/vpnvserver_vpnsessionpolicy_binding.py index 04c38869d..e4b1e8de9 100644 --- a/plugins/modules/vpnvserver_vpnsessionpolicy_binding.py +++ b/plugins/modules/vpnvserver_vpnsessionpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnvserver_vpnsessionpolicy_binding short_description: Binding Resource definition for describing association between vpnvserver and vpnsessionpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -114,6 +116,24 @@ """ EXAMPLES = r""" +--- +- name: Sample vpnvserver_vpnsessionpolicy_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnvserver_vpnsessionpolicy_binding + delegate_to: localhost + netscaler.adc.vpnvserver_vpnsessionpolicy_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: portal.bx.com + policy: External_receiver_session_pol + priority: '130' + gotopriorityexpression: NEXT + bindpoint: REQUEST """ RETURN = r""" diff --git a/plugins/modules/vpnvserver_vpntrafficpolicy_binding.py b/plugins/modules/vpnvserver_vpntrafficpolicy_binding.py index 2bb3e7b93..e75a38eb3 100644 --- a/plugins/modules/vpnvserver_vpntrafficpolicy_binding.py +++ b/plugins/modules/vpnvserver_vpntrafficpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnvserver_vpntrafficpolicy_binding short_description: Binding Resource definition for describing association between vpnvserver and vpntrafficpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vpnvserver_vpnurl_binding.py b/plugins/modules/vpnvserver_vpnurl_binding.py index b1c2f97bb..55235aa1d 100644 --- a/plugins/modules/vpnvserver_vpnurl_binding.py +++ b/plugins/modules/vpnvserver_vpnurl_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnvserver_vpnurl_binding short_description: Binding Resource definition for describing association between vpnvserver and vpnurl resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -51,6 +53,21 @@ """ EXAMPLES = r""" +--- +- name: Sample vpnvserver_vpnurl_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vpnvserver_vpnurl_binding + delegate_to: localhost + netscaler.adc.vpnvserver_vpnurl_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: baluVpn2 + urlname: sp2k7FqdnHttp """ RETURN = r""" diff --git a/plugins/modules/vpnvserver_vpnurlpolicy_binding.py b/plugins/modules/vpnvserver_vpnurlpolicy_binding.py index 819893a5a..001385f7f 100644 --- a/plugins/modules/vpnvserver_vpnurlpolicy_binding.py +++ b/plugins/modules/vpnvserver_vpnurlpolicy_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vpnvserver_vpnurlpolicy_binding short_description: Binding Resource definition for describing association between vpnvserver and vpnurlpolicy resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vrid.py b/plugins/modules/vrid.py index c0a2b673b..8b788e211 100644 --- a/plugins/modules/vrid.py +++ b/plugins/modules/vrid.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: vrid short_description: Configuration for Virtual Router ID resource. description: Configuration for Virtual Router ID resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -43,20 +45,20 @@ description: - Remove all the configured VMAC addresses from the Citrix ADC. id: - type: raw + type: float description: - Integer that uniquely identifies the VMAC address. The generic VMAC address is in the form of 00:00:5e:00:01:. For example, if you add a VRID with a value of 60 and bind it to an interface, the resulting VMAC address is 00:00:5e:00:01:3c, where 3c is the hexadecimal representation of 60. ownernode: - type: raw + type: float description: - In a cluster setup, assign a cluster node as the owner of this VMAC address for IP based VRRP configuration. If no owner is configured, owner node is displayed as ALL and one node is dynamically elected as the owner. preemption: - type: raw + type: str choices: - ENABLED - DISABLED @@ -68,18 +70,18 @@ VIP address remains master until the original master VIP's priority becomes higher than that of the current master. preemptiondelaytimer: - type: raw + type: float description: - Preemption delay time, in seconds, in an active-active configuration. If any high priority node will come in network, it will wait for these many seconds before becoming master. priority: - type: raw + type: float description: - Base priority (BP), in an active-active mode configuration, which ordinarily determines the master VIP address. sharing: - type: raw + type: str choices: - ENABLED - DISABLED @@ -87,12 +89,12 @@ - In an active-active mode configuration, enable the backup VIP address to process any traffic instead of dropping it. trackifnumpriority: - type: raw + type: float description: - Priority by which the Effective priority will be reduced if any of the tracked interfaces goes down in an active-active configuration. tracking: - type: raw + type: str choices: - NONE - ONE @@ -268,6 +270,21 @@ """ EXAMPLES = r""" +--- +- name: Sample vrid playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vrid + delegate_to: localhost + netscaler.adc.vrid: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + id: '100' + preemptiondelaytimer: 100 """ RETURN = r""" diff --git a/plugins/modules/vrid6.py b/plugins/modules/vrid6.py index 098234cce..7b04e3ab7 100644 --- a/plugins/modules/vrid6.py +++ b/plugins/modules/vrid6.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: vrid6 short_description: Configuration for Virtual Router ID for IPv6 resource. description: Configuration for Virtual Router ID for IPv6 resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -43,17 +45,17 @@ description: - Remove all configured VMAC6 addresses from the Citrix ADC. id: - type: raw + type: float description: - Integer value that uniquely identifies a VMAC6 address. ownernode: - type: raw + type: float description: - In a cluster setup, assign a cluster node as the owner of this VMAC address for IP based VRRP configuration. If no owner is configured, ow ner node is displayed as ALL and one node is dynamically elected as the owner. preemption: - type: raw + type: str choices: - ENABLED - DISABLED @@ -65,18 +67,18 @@ master, the backup VIP address remains master until the original master VIP''s priority becomes higher than that of the current master.' preemptiondelaytimer: - type: raw + type: float description: - Preemption delay time in seconds, in an active-active configuration. If any high priority node will come in network, it will wait for these many seconds before becoming master. priority: - type: raw + type: float description: - Base priority (BP), in an active-active mode configuration, which ordinarily determines the master VIP address. sharing: - type: raw + type: str choices: - ENABLED - DISABLED @@ -84,12 +86,12 @@ - In an active-active mode configuration, enable the backup VIP address to process any traffic instead of dropping it. trackifnumpriority: - type: raw + type: float description: - Priority by which the Effective priority will be reduced if any of the tracked interfaces goes down in an active-active configuration. tracking: - type: raw + type: str choices: - NONE - ONE @@ -190,6 +192,20 @@ """ EXAMPLES = r""" +--- +- name: Sample vrid6 playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vrid6 + delegate_to: localhost + netscaler.adc.vrid6: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + id: '13' """ RETURN = r""" diff --git a/plugins/modules/vrid6_channel_binding.py b/plugins/modules/vrid6_channel_binding.py index aa35c5249..bab63ad2e 100644 --- a/plugins/modules/vrid6_channel_binding.py +++ b/plugins/modules/vrid6_channel_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vrid6_channel_binding short_description: Binding Resource definition for describing association between vrid6 and channel resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vrid6_interface_binding.py b/plugins/modules/vrid6_interface_binding.py index ed16dbab4..fcb722df5 100644 --- a/plugins/modules/vrid6_interface_binding.py +++ b/plugins/modules/vrid6_interface_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vrid6_interface_binding short_description: Binding Resource definition for describing association between vrid6 and interface resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vrid6_trackinterface_binding.py b/plugins/modules/vrid6_trackinterface_binding.py index 7fb0178d4..2b9f0a028 100644 --- a/plugins/modules/vrid6_trackinterface_binding.py +++ b/plugins/modules/vrid6_trackinterface_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vrid6_trackinterface_binding short_description: Binding Resource definition for describing association between vrid6 and trackinterface resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vrid_channel_binding.py b/plugins/modules/vrid_channel_binding.py index 2b69bb09f..8e7729e37 100644 --- a/plugins/modules/vrid_channel_binding.py +++ b/plugins/modules/vrid_channel_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vrid_channel_binding short_description: Binding Resource definition for describing association between vrid and channel resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vrid_interface_binding.py b/plugins/modules/vrid_interface_binding.py index 8081754f8..ac59011c4 100644 --- a/plugins/modules/vrid_interface_binding.py +++ b/plugins/modules/vrid_interface_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vrid_interface_binding short_description: Binding Resource definition for describing association between vrid and interface resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vrid_trackinterface_binding.py b/plugins/modules/vrid_trackinterface_binding.py index a9c511de1..3b87fee76 100644 --- a/plugins/modules/vrid_trackinterface_binding.py +++ b/plugins/modules/vrid_trackinterface_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vrid_trackinterface_binding short_description: Binding Resource definition for describing association between vrid and trackinterface resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vridparam.py b/plugins/modules/vridparam.py index a9028aca3..4cef9e057 100644 --- a/plugins/modules/vridparam.py +++ b/plugins/modules/vridparam.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: vridparam short_description: Configuration for VR ID parameter resource. description: Configuration for VR ID parameter resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -37,17 +39,17 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str deadinterval: - type: raw + type: float description: - Number of seconds after which a peer node in active-active mode is marked down if vrrp advertisements are not received from the peer node. hellointerval: - type: raw + type: float description: - Interval, in milliseconds, between vrrp advertisement messages sent to the peer node in active-active mode. sendtomaster: - type: raw + type: str choices: - ENABLED - DISABLED @@ -59,6 +61,20 @@ """ EXAMPLES = r""" +--- +- name: Sample vridparam playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vridparam + delegate_to: localhost + netscaler.adc.vridparam: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + sendtomaster: ENABLED """ RETURN = r""" diff --git a/plugins/modules/vserver.py b/plugins/modules/vserver.py index 2c982d7f7..6ad70c734 100644 --- a/plugins/modules/vserver.py +++ b/plugins/modules/vserver.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: vserver short_description: Configuration for virtual server resource. description: Configuration for virtual server resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vxlan.py b/plugins/modules/vxlan.py index fa18229b9..507f261ea 100644 --- a/plugins/modules/vxlan.py +++ b/plugins/modules/vxlan.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: vxlan short_description: Configuration for "VXLAN" resource. description: Configuration for "VXLAN" resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -39,19 +41,19 @@ - When C(unset), the resource will be unset on the NetScaler ADC node. type: str dynamicrouting: - type: raw + type: str choices: - ENABLED - DISABLED description: - Enable dynamic routing on this VXLAN. id: - type: raw + type: float description: - A positive integer, which is also called VXLAN Network Identifier (VNI), that uniquely identifies a VXLAN. innervlantagging: - type: raw + type: str choices: - ENABLED - DISABLED @@ -59,7 +61,7 @@ - Specifies whether Citrix ADC should generate VXLAN packets with inner VLAN tag. ipv6dynamicrouting: - type: raw + type: str choices: - ENABLED - DISABLED @@ -68,7 +70,7 @@ setting to work, you must configure IPv6 dynamic routing protocols from the VTYSH command line.' port: - type: raw + type: int description: - Specifies UDP destination port for VXLAN packets. protocol: @@ -88,7 +90,7 @@ description: - C(VXLAN) encapsulation type. C(VXLAN), C(VXLANGPE) vlan: - type: raw + type: float description: - ID of VLANs whose traffic is allowed over this VXLAN. If you do not specify any VLAN IDs, the Citrix ADC allows traffic of all VLANs that are not part @@ -198,6 +200,20 @@ """ EXAMPLES = r""" +--- +- name: Sample vxlan playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vxlan + delegate_to: localhost + netscaler.adc.vxlan: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + id: '1' """ RETURN = r""" diff --git a/plugins/modules/vxlan_nsip6_binding.py b/plugins/modules/vxlan_nsip6_binding.py index f916a095d..c788104ea 100644 --- a/plugins/modules/vxlan_nsip6_binding.py +++ b/plugins/modules/vxlan_nsip6_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vxlan_nsip6_binding short_description: Binding Resource definition for describing association between vxlan and nsip6 resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vxlan_nsip_binding.py b/plugins/modules/vxlan_nsip_binding.py index aca7c165a..d83079bb4 100644 --- a/plugins/modules/vxlan_nsip_binding.py +++ b/plugins/modules/vxlan_nsip_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vxlan_nsip_binding short_description: Binding Resource definition for describing association between vxlan and nsip resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vxlan_srcip_binding.py b/plugins/modules/vxlan_srcip_binding.py index 5e69fcf42..e2ee21c09 100644 --- a/plugins/modules/vxlan_srcip_binding.py +++ b/plugins/modules/vxlan_srcip_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vxlan_srcip_binding short_description: Binding Resource definition for describing association between vxlan and srcip resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: diff --git a/plugins/modules/vxlanvlanmap.py b/plugins/modules/vxlanvlanmap.py index 9ccc78bad..759aba171 100644 --- a/plugins/modules/vxlanvlanmap.py +++ b/plugins/modules/vxlanvlanmap.py @@ -17,12 +17,14 @@ } DOCUMENTATION = r""" +--- module: vxlanvlanmap short_description: Configuration for vxlan vlan mapping resource. description: Configuration for vxlan vlan mapping resource. version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -70,6 +72,20 @@ """ EXAMPLES = r""" +--- +- name: Sample vxlanvlanmap playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vxlanvlanmap + delegate_to: localhost + netscaler.adc.vxlanvlanmap: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: v2 """ RETURN = r""" diff --git a/plugins/modules/vxlanvlanmap_vxlan_binding.py b/plugins/modules/vxlanvlanmap_vxlan_binding.py index a995f2f44..277abe92a 100644 --- a/plugins/modules/vxlanvlanmap_vxlan_binding.py +++ b/plugins/modules/vxlanvlanmap_vxlan_binding.py @@ -17,6 +17,7 @@ } DOCUMENTATION = r""" +--- module: vxlanvlanmap_vxlan_binding short_description: Binding Resource definition for describing association between vxlanvlanmap and vxlan resources @@ -25,6 +26,7 @@ version_added: 2.0.0 author: - Sumanth Lingappa (@sumanth-lingappa) + - Shiva Shankar Vaddepally (@shivashankar-vaddepally) options: state: choices: @@ -56,6 +58,23 @@ """ EXAMPLES = r""" +--- +- name: Sample vxlanvlanmap_vxlan_binding playbook + hosts: demo_netscalers + gather_facts: false + tasks: + - name: Configure vxlanvlanmap_vxlan_binding + delegate_to: localhost + netscaler.adc.vxlanvlanmap_vxlan_binding: + nsip: '{{ nsip }}' + nitro_user: '{{ nitro_user }}' + nitro_pass: '{{ nitro_pass }}' + validate_certs: '{{ validate_certs }}' + state: present + name: v1 + vxlan: '20' + vlan: + - '2' """ RETURN = r""" diff --git a/supported_modules_matrix.md b/supported_modules_matrix.md index 5e212e8ee..eeb0d89ba 100644 --- a/supported_modules_matrix.md +++ b/supported_modules_matrix.md @@ -4,13 +4,13 @@ This is a matrix of all the resources supported by the `netscaler` ansible colle --- -- Total number of resources: **906** -- Total number of supported resources: **894** -- Total number of supported resources with examples: **64** +- Total number of resources: **939** +- Total number of supported resources: **927** +- Total number of supported resources with examples: **444** - Total number of unsupported resources: **12** -- Percentage of supported resources: **98.68%** -- Percentage of supported resources with examples: **7.06%** -- Percentage of unsupported resources: **1.32%** +- Percentage of supported resources: **98.72%** +- Percentage of supported resources with examples: **47.28%** +- Percentage of unsupported resources: **1.28%** --- @@ -18,197 +18,201 @@ This is a matrix of all the resources supported by the `netscaler` ansible colle | Resource Name (click on the resource for documentation ) | Supported? | Example? | | ------------- | ------------- | ------------- | -| [aaacertparams](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaacertparams_module.html) | ✅ | ❌ | +| [aaacertparams](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaacertparams_module.html) | ✅ | ✅ | | [aaaglobal_aaapreauthenticationpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaaglobal_aaapreauthenticationpolicy_binding_module.html) | ✅ | ❌ | | [aaaglobal_authenticationnegotiateaction_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaaglobal_authenticationnegotiateaction_binding_module.html) | ✅ | ❌ | -| [aaagroup](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaagroup_module.html) | ✅ | ❌ | -| [aaagroup_aaauser_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaagroup_aaauser_binding_module.html) | ✅ | ❌ | -| [aaagroup_auditnslogpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaagroup_auditnslogpolicy_binding_module.html) | ✅ | ❌ | -| [aaagroup_auditsyslogpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaagroup_auditsyslogpolicy_binding_module.html) | ✅ | ❌ | -| [aaagroup_authorizationpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaagroup_authorizationpolicy_binding_module.html) | ✅ | ❌ | +| [aaagroup](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaagroup_module.html) | ✅ | ✅ | +| [aaagroup_aaauser_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaagroup_aaauser_binding_module.html) | ✅ | ✅ | +| [aaagroup_auditnslogpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaagroup_auditnslogpolicy_binding_module.html) | ✅ | ✅ | +| [aaagroup_auditsyslogpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaagroup_auditsyslogpolicy_binding_module.html) | ✅ | ✅ | +| [aaagroup_authorizationpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaagroup_authorizationpolicy_binding_module.html) | ✅ | ✅ | | [aaagroup_intranetip6_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaagroup_intranetip6_binding_module.html) | ✅ | ❌ | -| [aaagroup_intranetip_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaagroup_intranetip_binding_module.html) | ✅ | ❌ | -| [aaagroup_tmsessionpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaagroup_tmsessionpolicy_binding_module.html) | ✅ | ❌ | -| [aaagroup_vpnintranetapplication_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaagroup_vpnintranetapplication_binding_module.html) | ✅ | ❌ | -| [aaagroup_vpnsessionpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaagroup_vpnsessionpolicy_binding_module.html) | ✅ | ❌ | +| [aaagroup_intranetip_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaagroup_intranetip_binding_module.html) | ✅ | ✅ | +| [aaagroup_tmsessionpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaagroup_tmsessionpolicy_binding_module.html) | ✅ | ✅ | +| [aaagroup_vpnintranetapplication_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaagroup_vpnintranetapplication_binding_module.html) | ✅ | ✅ | +| [aaagroup_vpnsessionpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaagroup_vpnsessionpolicy_binding_module.html) | ✅ | ✅ | | [aaagroup_vpntrafficpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaagroup_vpntrafficpolicy_binding_module.html) | ✅ | ❌ | -| [aaagroup_vpnurl_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaagroup_vpnurl_binding_module.html) | ✅ | ❌ | +| [aaagroup_vpnurl_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaagroup_vpnurl_binding_module.html) | ✅ | ✅ | | [aaagroup_vpnurlpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaagroup_vpnurlpolicy_binding_module.html) | ✅ | ❌ | -| [aaakcdaccount](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaakcdaccount_module.html) | ✅ | ❌ | -| [aaaldapparams](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaaldapparams_module.html) | ✅ | ❌ | +| [aaakcdaccount](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaakcdaccount_module.html) | ✅ | ✅ | +| [aaaldapparams](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaaldapparams_module.html) | ✅ | ✅ | | [aaaotpparameter](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaaotpparameter_module.html) | ✅ | ❌ | | [aaaparameter](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaaparameter_module.html) | ✅ | ✅ | -| [aaapreauthenticationaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaapreauthenticationaction_module.html) | ✅ | ❌ | +| [aaapreauthenticationaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaapreauthenticationaction_module.html) | ✅ | ✅ | | [aaapreauthenticationparameter](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaapreauthenticationparameter_module.html) | ✅ | ❌ | -| [aaapreauthenticationpolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaapreauthenticationpolicy_module.html) | ✅ | ❌ | -| [aaaradiusparams](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaaradiusparams_module.html) | ✅ | ❌ | +| [aaapreauthenticationpolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaapreauthenticationpolicy_module.html) | ✅ | ✅ | +| [aaaradiusparams](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaaradiusparams_module.html) | ✅ | ✅ | | [aaasession](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaasession_module.html) | ✅ | ❌ | | [aaassoprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaassoprofile_module.html) | ✅ | ❌ | -| [aaatacacsparams](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaatacacsparams_module.html) | ✅ | ❌ | -| [aaauser](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaauser_module.html) | ✅ | ❌ | -| [aaauser_auditnslogpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaauser_auditnslogpolicy_binding_module.html) | ✅ | ❌ | -| [aaauser_auditsyslogpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaauser_auditsyslogpolicy_binding_module.html) | ✅ | ❌ | -| [aaauser_authorizationpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaauser_authorizationpolicy_binding_module.html) | ✅ | ❌ | +| [aaatacacsparams](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaatacacsparams_module.html) | ✅ | ✅ | +| [aaauser](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaauser_module.html) | ✅ | ✅ | +| [aaauser_auditnslogpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaauser_auditnslogpolicy_binding_module.html) | ✅ | ✅ | +| [aaauser_auditsyslogpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaauser_auditsyslogpolicy_binding_module.html) | ✅ | ✅ | +| [aaauser_authorizationpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaauser_authorizationpolicy_binding_module.html) | ✅ | ✅ | | [aaauser_intranetip6_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaauser_intranetip6_binding_module.html) | ✅ | ❌ | -| [aaauser_intranetip_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaauser_intranetip_binding_module.html) | ✅ | ❌ | -| [aaauser_tmsessionpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaauser_tmsessionpolicy_binding_module.html) | ✅ | ❌ | -| [aaauser_vpnintranetapplication_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaauser_vpnintranetapplication_binding_module.html) | ✅ | ❌ | -| [aaauser_vpnsessionpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaauser_vpnsessionpolicy_binding_module.html) | ✅ | ❌ | +| [aaauser_intranetip_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaauser_intranetip_binding_module.html) | ✅ | ✅ | +| [aaauser_tmsessionpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaauser_tmsessionpolicy_binding_module.html) | ✅ | ✅ | +| [aaauser_vpnintranetapplication_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaauser_vpnintranetapplication_binding_module.html) | ✅ | ✅ | +| [aaauser_vpnsessionpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaauser_vpnsessionpolicy_binding_module.html) | ✅ | ✅ | | [aaauser_vpntrafficpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaauser_vpntrafficpolicy_binding_module.html) | ✅ | ❌ | -| [aaauser_vpnurl_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaauser_vpnurl_binding_module.html) | ✅ | ❌ | +| [aaauser_vpnurl_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaauser_vpnurl_binding_module.html) | ✅ | ✅ | | [aaauser_vpnurlpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/aaauser_vpnurlpolicy_binding_module.html) | ✅ | ❌ | | [admparameter](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/admparameter_module.html) | ✅ | ❌ | | [analyticsglobal_analyticsprofile_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/analyticsglobal_analyticsprofile_binding_module.html) | ✅ | ❌ | -| [analyticsprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/analyticsprofile_module.html) | ✅ | ❌ | +| [analyticsprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/analyticsprofile_module.html) | ✅ | ✅ | +| [apiprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/apiprofile_module.html) | ✅ | ❌ | +| [apiprofile_apispec_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/apiprofile_apispec_binding_module.html) | ✅ | ❌ | | [apispec](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/apispec_module.html) | ✅ | ❌ | | [apispecfile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/apispecfile_module.html) | ✅ | ❌ | | [appalgparam](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appalgparam_module.html) | ✅ | ❌ | -| [appflowaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appflowaction_module.html) | ✅ | ❌ | +| [appflowaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appflowaction_module.html) | ✅ | ✅ | | [appflowaction_analyticsprofile_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appflowaction_analyticsprofile_binding_module.html) | ✅ | ❌ | -| [appflowcollector](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appflowcollector_module.html) | ✅ | ❌ | -| [appflowglobal_appflowpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appflowglobal_appflowpolicy_binding_module.html) | ✅ | ❌ | +| [appflowcollector](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appflowcollector_module.html) | ✅ | ✅ | +| [appflowglobal_appflowpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appflowglobal_appflowpolicy_binding_module.html) | ✅ | ✅ | | [appflowparam](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appflowparam_module.html) | ✅ | ✅ | -| [appflowpolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appflowpolicy_module.html) | ✅ | ❌ | -| [appflowpolicylabel](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appflowpolicylabel_module.html) | ✅ | ❌ | +| [appflowpolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appflowpolicy_module.html) | ✅ | ✅ | +| [appflowpolicylabel](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appflowpolicylabel_module.html) | ✅ | ✅ | | [appflowpolicylabel_appflowpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appflowpolicylabel_appflowpolicy_binding_module.html) | ✅ | ❌ | | [appfwarchive](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwarchive_module.html) | ✅ | ❌ | -| [appfwconfidfield](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwconfidfield_module.html) | ✅ | ❌ | +| [appfwconfidfield](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwconfidfield_module.html) | ✅ | ✅ | | [appfwcustomsettings](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwcustomsettings_module.html) | ✅ | ❌ | -| [appfwfieldtype](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwfieldtype_module.html) | ✅ | ❌ | -| [appfwglobal_appfwpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwglobal_appfwpolicy_binding_module.html) | ✅ | ❌ | +| [appfwfieldtype](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwfieldtype_module.html) | ✅ | ✅ | +| [appfwglobal_appfwpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwglobal_appfwpolicy_binding_module.html) | ✅ | ✅ | | [appfwglobal_auditnslogpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwglobal_auditnslogpolicy_binding_module.html) | ✅ | ❌ | | [appfwglobal_auditsyslogpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwglobal_auditsyslogpolicy_binding_module.html) | ✅ | ❌ | -| [appfwgrpccontenttype](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwgrpccontenttype_module.html) | ✅ | ❌ | -| [appfwgrpcwebjsoncontenttype](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwgrpcwebjsoncontenttype_module.html) | ✅ | ❌ | -| [appfwgrpcwebtextcontenttype](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwgrpcwebtextcontenttype_module.html) | ✅ | ❌ | -| [appfwhtmlerrorpage](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwhtmlerrorpage_module.html) | ✅ | ❌ | +| [appfwgrpccontenttype](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwgrpccontenttype_module.html) | ✅ | ✅ | +| [appfwgrpcwebjsoncontenttype](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwgrpcwebjsoncontenttype_module.html) | ✅ | ✅ | +| [appfwgrpcwebtextcontenttype](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwgrpcwebtextcontenttype_module.html) | ✅ | ✅ | +| [appfwhtmlerrorpage](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwhtmlerrorpage_module.html) | ✅ | ✅ | | [appfwjsoncontenttype](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwjsoncontenttype_module.html) | ✅ | ✅ | | [appfwjsonerrorpage](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwjsonerrorpage_module.html) | ✅ | ❌ | | [appfwlearningdata](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwlearningdata_module.html) | ✅ | ❌ | | [appfwlearningsettings](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwlearningsettings_module.html) | ✅ | ❌ | | [appfwmultipartformcontenttype](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwmultipartformcontenttype_module.html) | ✅ | ✅ | -| [appfwpolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwpolicy_module.html) | ✅ | ❌ | -| [appfwpolicylabel](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwpolicylabel_module.html) | ✅ | ❌ | -| [appfwpolicylabel_appfwpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwpolicylabel_appfwpolicy_binding_module.html) | ✅ | ❌ | -| [appfwprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwprofile_module.html) | ✅ | ❌ | +| [appfwpolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwpolicy_module.html) | ✅ | ✅ | +| [appfwpolicylabel](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwpolicylabel_module.html) | ✅ | ✅ | +| [appfwpolicylabel_appfwpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwpolicylabel_appfwpolicy_binding_module.html) | ✅ | ✅ | +| [appfwprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwprofile_module.html) | ✅ | ✅ | | [appfwprofile_appfwconfidfield_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwprofile_appfwconfidfield_binding_module.html) | ✅ | ❌ | | [appfwprofile_blockkeyword_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwprofile_blockkeyword_binding_module.html) | ✅ | ❌ | | [appfwprofile_bypasslist_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwprofile_bypasslist_binding_module.html) | ✅ | ❌ | | [appfwprofile_cmdinjection_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwprofile_cmdinjection_binding_module.html) | ✅ | ❌ | | [appfwprofile_contenttype_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwprofile_contenttype_binding_module.html) | ✅ | ❌ | | [appfwprofile_cookieconsistency_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwprofile_cookieconsistency_binding_module.html) | ✅ | ❌ | -| [appfwprofile_creditcardnumber_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwprofile_creditcardnumber_binding_module.html) | ✅ | ❌ | -| [appfwprofile_crosssitescripting_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwprofile_crosssitescripting_binding_module.html) | ✅ | ❌ | +| [appfwprofile_creditcardnumber_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwprofile_creditcardnumber_binding_module.html) | ✅ | ✅ | +| [appfwprofile_crosssitescripting_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwprofile_crosssitescripting_binding_module.html) | ✅ | ✅ | | [appfwprofile_csrftag_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwprofile_csrftag_binding_module.html) | ✅ | ❌ | | [appfwprofile_denylist_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwprofile_denylist_binding_module.html) | ✅ | ❌ | | [appfwprofile_denyurl_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwprofile_denyurl_binding_module.html) | ✅ | ❌ | | [appfwprofile_excluderescontenttype_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwprofile_excluderescontenttype_binding_module.html) | ✅ | ❌ | | [appfwprofile_fakeaccount_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwprofile_fakeaccount_binding_module.html) | ✅ | ❌ | | [appfwprofile_fieldconsistency_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwprofile_fieldconsistency_binding_module.html) | ✅ | ❌ | -| [appfwprofile_fieldformat_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwprofile_fieldformat_binding_module.html) | ✅ | ❌ | +| [appfwprofile_fieldformat_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwprofile_fieldformat_binding_module.html) | ✅ | ✅ | | [appfwprofile_fileuploadtype_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwprofile_fileuploadtype_binding_module.html) | ✅ | ❌ | +| [appfwprofile_grpcvalidation_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwprofile_grpcvalidation_binding_module.html) | ✅ | ❌ | | [appfwprofile_jsonblockkeyword_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwprofile_jsonblockkeyword_binding_module.html) | ✅ | ❌ | | [appfwprofile_jsoncmdurl_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwprofile_jsoncmdurl_binding_module.html) | ✅ | ❌ | | [appfwprofile_jsondosurl_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwprofile_jsondosurl_binding_module.html) | ✅ | ❌ | | [appfwprofile_jsonsqlurl_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwprofile_jsonsqlurl_binding_module.html) | ✅ | ❌ | | [appfwprofile_jsonxssurl_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwprofile_jsonxssurl_binding_module.html) | ✅ | ❌ | -| [appfwprofile_logexpression_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwprofile_logexpression_binding_module.html) | ✅ | ❌ | +| [appfwprofile_logexpression_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwprofile_logexpression_binding_module.html) | ✅ | ✅ | +| [appfwprofile_restvalidation_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwprofile_restvalidation_binding_module.html) | ✅ | ❌ | | [appfwprofile_safeobject_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwprofile_safeobject_binding_module.html) | ✅ | ❌ | -| [appfwprofile_sqlinjection_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwprofile_sqlinjection_binding_module.html) | ✅ | ❌ | +| [appfwprofile_sqlinjection_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwprofile_sqlinjection_binding_module.html) | ✅ | ✅ | | [appfwprofile_starturl_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwprofile_starturl_binding_module.html) | ✅ | ❌ | | [appfwprofile_trustedlearningclients_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwprofile_trustedlearningclients_binding_module.html) | ✅ | ❌ | | [appfwprofile_xmlattachmenturl_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwprofile_xmlattachmenturl_binding_module.html) | ✅ | ❌ | | [appfwprofile_xmldosurl_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwprofile_xmldosurl_binding_module.html) | ✅ | ❌ | | [appfwprofile_xmlsqlinjection_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwprofile_xmlsqlinjection_binding_module.html) | ✅ | ❌ | -| [appfwprofile_xmlvalidationurl_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwprofile_xmlvalidationurl_binding_module.html) | ✅ | ❌ | +| [appfwprofile_xmlvalidationurl_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwprofile_xmlvalidationurl_binding_module.html) | ✅ | ✅ | | [appfwprofile_xmlwsiurl_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwprofile_xmlwsiurl_binding_module.html) | ✅ | ❌ | | [appfwprofile_xmlxss_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwprofile_xmlxss_binding_module.html) | ✅ | ❌ | | [appfwprotofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwprotofile_module.html) | ✅ | ❌ | -| [appfwsettings](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwsettings_module.html) | ✅ | ❌ | -| [appfwsignatures](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwsignatures_module.html) | ✅ | ❌ | +| [appfwsettings](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwsettings_module.html) | ✅ | ✅ | +| [appfwsignatures](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwsignatures_module.html) | ✅ | ✅ | | [appfwurlencodedformcontenttype](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwurlencodedformcontenttype_module.html) | ✅ | ✅ | -| [appfwwsdl](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwwsdl_module.html) | ✅ | ❌ | +| [appfwwsdl](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwwsdl_module.html) | ✅ | ✅ | | [appfwxmlcontenttype](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwxmlcontenttype_module.html) | ✅ | ✅ | -| [appfwxmlerrorpage](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwxmlerrorpage_module.html) | ✅ | ❌ | -| [appfwxmlschema](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwxmlschema_module.html) | ✅ | ❌ | +| [appfwxmlerrorpage](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwxmlerrorpage_module.html) | ✅ | ✅ | +| [appfwxmlschema](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appfwxmlschema_module.html) | ✅ | ✅ | | [application](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/application_module.html) | ✅ | ❌ | -| [appqoeaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appqoeaction_module.html) | ✅ | ❌ | +| [appqoeaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appqoeaction_module.html) | ✅ | ✅ | | [appqoecustomresp](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appqoecustomresp_module.html) | ✅ | ❌ | | [appqoeparameter](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appqoeparameter_module.html) | ✅ | ❌ | -| [appqoepolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appqoepolicy_module.html) | ✅ | ❌ | -| [arp](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/arp_module.html) | ✅ | ❌ | -| [arpparam](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/arpparam_module.html) | ✅ | ❌ | -| [auditmessageaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/auditmessageaction_module.html) | ✅ | ❌ | -| [auditnslogaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/auditnslogaction_module.html) | ✅ | ❌ | +| [appqoepolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/appqoepolicy_module.html) | ✅ | ✅ | +| [arp](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/arp_module.html) | ✅ | ✅ | +| [arpparam](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/arpparam_module.html) | ✅ | ✅ | +| [auditmessageaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/auditmessageaction_module.html) | ✅ | ✅ | +| [auditnslogaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/auditnslogaction_module.html) | ✅ | ✅ | | [auditnslogglobal_auditnslogpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/auditnslogglobal_auditnslogpolicy_binding_module.html) | ✅ | ❌ | -| [auditnslogparams](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/auditnslogparams_module.html) | ✅ | ❌ | -| [auditnslogpolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/auditnslogpolicy_module.html) | ✅ | ❌ | -| [auditsyslogaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/auditsyslogaction_module.html) | ✅ | ❌ | -| [auditsyslogglobal_auditsyslogpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/auditsyslogglobal_auditsyslogpolicy_binding_module.html) | ✅ | ❌ | -| [auditsyslogparams](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/auditsyslogparams_module.html) | ✅ | ❌ | -| [auditsyslogpolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/auditsyslogpolicy_module.html) | ✅ | ❌ | +| [auditnslogparams](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/auditnslogparams_module.html) | ✅ | ✅ | +| [auditnslogpolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/auditnslogpolicy_module.html) | ✅ | ✅ | +| [auditsyslogaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/auditsyslogaction_module.html) | ✅ | ✅ | +| [auditsyslogglobal_auditsyslogpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/auditsyslogglobal_auditsyslogpolicy_binding_module.html) | ✅ | ✅ | +| [auditsyslogparams](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/auditsyslogparams_module.html) | ✅ | ✅ | +| [auditsyslogpolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/auditsyslogpolicy_module.html) | ✅ | ✅ | | [authenticationadfsproxyprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationadfsproxyprofile_module.html) | ✅ | ❌ | -| [authenticationauthnprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationauthnprofile_module.html) | ✅ | ❌ | +| [authenticationauthnprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationauthnprofile_module.html) | ✅ | ✅ | | [authenticationazurekeyvault](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationazurekeyvault_module.html) | ✅ | ❌ | | [authenticationcaptchaaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationcaptchaaction_module.html) | ✅ | ❌ | -| [authenticationcertaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationcertaction_module.html) | ✅ | ❌ | -| [authenticationcertpolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationcertpolicy_module.html) | ✅ | ❌ | +| [authenticationcertaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationcertaction_module.html) | ✅ | ✅ | +| [authenticationcertpolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationcertpolicy_module.html) | ✅ | ✅ | | [authenticationcitrixauthaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationcitrixauthaction_module.html) | ✅ | ❌ | | [authenticationdfaaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationdfaaction_module.html) | ✅ | ❌ | | [authenticationdfapolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationdfapolicy_module.html) | ✅ | ❌ | | [authenticationemailaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationemailaction_module.html) | ✅ | ❌ | -| [authenticationepaaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationepaaction_module.html) | ✅ | ❌ | -| [authenticationldapaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationldapaction_module.html) | ✅ | ❌ | -| [authenticationldappolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationldappolicy_module.html) | ✅ | ❌ | -| [authenticationlocalpolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationlocalpolicy_module.html) | ✅ | ❌ | -| [authenticationloginschema](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationloginschema_module.html) | ✅ | ❌ | -| [authenticationloginschemapolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationloginschemapolicy_module.html) | ✅ | ❌ | -| [authenticationnegotiateaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationnegotiateaction_module.html) | ✅ | ❌ | -| [authenticationnegotiatepolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationnegotiatepolicy_module.html) | ✅ | ❌ | +| [authenticationepaaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationepaaction_module.html) | ✅ | ✅ | +| [authenticationldapaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationldapaction_module.html) | ✅ | ✅ | +| [authenticationldappolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationldappolicy_module.html) | ✅ | ✅ | +| [authenticationlocalpolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationlocalpolicy_module.html) | ✅ | ✅ | +| [authenticationloginschema](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationloginschema_module.html) | ✅ | ✅ | +| [authenticationloginschemapolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationloginschemapolicy_module.html) | ✅ | ✅ | +| [authenticationnegotiateaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationnegotiateaction_module.html) | ✅ | ✅ | +| [authenticationnegotiatepolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationnegotiatepolicy_module.html) | ✅ | ✅ | | [authenticationnoauthaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationnoauthaction_module.html) | ✅ | ❌ | -| [authenticationoauthaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationoauthaction_module.html) | ✅ | ❌ | +| [authenticationoauthaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationoauthaction_module.html) | ✅ | ✅ | | [authenticationoauthidppolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationoauthidppolicy_module.html) | ✅ | ❌ | -| [authenticationoauthidpprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationoauthidpprofile_module.html) | ✅ | ❌ | -| [authenticationpolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationpolicy_module.html) | ✅ | ❌ | -| [authenticationpolicylabel](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationpolicylabel_module.html) | ✅ | ❌ | -| [authenticationpolicylabel_authenticationpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationpolicylabel_authenticationpolicy_binding_module.html) | ✅ | ❌ | +| [authenticationoauthidpprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationoauthidpprofile_module.html) | ✅ | ✅ | +| [authenticationpolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationpolicy_module.html) | ✅ | ✅ | +| [authenticationpolicylabel](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationpolicylabel_module.html) | ✅ | ✅ | +| [authenticationpolicylabel_authenticationpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationpolicylabel_authenticationpolicy_binding_module.html) | ✅ | ✅ | | [authenticationpushservice](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationpushservice_module.html) | ✅ | ❌ | -| [authenticationradiusaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationradiusaction_module.html) | ✅ | ❌ | -| [authenticationradiuspolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationradiuspolicy_module.html) | ✅ | ❌ | -| [authenticationsamlaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationsamlaction_module.html) | ✅ | ❌ | +| [authenticationradiusaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationradiusaction_module.html) | ✅ | ✅ | +| [authenticationradiuspolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationradiuspolicy_module.html) | ✅ | ✅ | +| [authenticationsamlaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationsamlaction_module.html) | ✅ | ✅ | | [authenticationsamlidppolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationsamlidppolicy_module.html) | ✅ | ❌ | -| [authenticationsamlidpprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationsamlidpprofile_module.html) | ✅ | ❌ | -| [authenticationsamlpolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationsamlpolicy_module.html) | ✅ | ❌ | +| [authenticationsamlidpprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationsamlidpprofile_module.html) | ✅ | ✅ | +| [authenticationsamlpolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationsamlpolicy_module.html) | ✅ | ✅ | | [authenticationsmartaccesspolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationsmartaccesspolicy_module.html) | ✅ | ❌ | | [authenticationsmartaccessprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationsmartaccessprofile_module.html) | ✅ | ❌ | | [authenticationstorefrontauthaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationstorefrontauthaction_module.html) | ✅ | ❌ | -| [authenticationtacacsaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationtacacsaction_module.html) | ✅ | ❌ | -| [authenticationtacacspolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationtacacspolicy_module.html) | ✅ | ❌ | -| [authenticationvserver](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationvserver_module.html) | ✅ | ❌ | -| [authenticationvserver_auditnslogpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationvserver_auditnslogpolicy_binding_module.html) | ✅ | ❌ | -| [authenticationvserver_auditsyslogpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationvserver_auditsyslogpolicy_binding_module.html) | ✅ | ❌ | -| [authenticationvserver_authenticationcertpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationvserver_authenticationcertpolicy_binding_module.html) | ✅ | ❌ | -| [authenticationvserver_authenticationldappolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationvserver_authenticationldappolicy_binding_module.html) | ✅ | ❌ | -| [authenticationvserver_authenticationlocalpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationvserver_authenticationlocalpolicy_binding_module.html) | ✅ | ❌ | -| [authenticationvserver_authenticationloginschemapolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationvserver_authenticationloginschemapolicy_binding_module.html) | ✅ | ❌ | +| [authenticationtacacsaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationtacacsaction_module.html) | ✅ | ✅ | +| [authenticationtacacspolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationtacacspolicy_module.html) | ✅ | ✅ | +| [authenticationvserver](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationvserver_module.html) | ✅ | ✅ | +| [authenticationvserver_auditnslogpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationvserver_auditnslogpolicy_binding_module.html) | ✅ | ✅ | +| [authenticationvserver_auditsyslogpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationvserver_auditsyslogpolicy_binding_module.html) | ✅ | ✅ | +| [authenticationvserver_authenticationcertpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationvserver_authenticationcertpolicy_binding_module.html) | ✅ | ✅ | +| [authenticationvserver_authenticationldappolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationvserver_authenticationldappolicy_binding_module.html) | ✅ | ✅ | +| [authenticationvserver_authenticationlocalpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationvserver_authenticationlocalpolicy_binding_module.html) | ✅ | ✅ | +| [authenticationvserver_authenticationloginschemapolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationvserver_authenticationloginschemapolicy_binding_module.html) | ✅ | ✅ | | [authenticationvserver_authenticationnegotiatepolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationvserver_authenticationnegotiatepolicy_binding_module.html) | ✅ | ❌ | | [authenticationvserver_authenticationoauthidppolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationvserver_authenticationoauthidppolicy_binding_module.html) | ✅ | ❌ | -| [authenticationvserver_authenticationpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationvserver_authenticationpolicy_binding_module.html) | ✅ | ❌ | -| [authenticationvserver_authenticationradiuspolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationvserver_authenticationradiuspolicy_binding_module.html) | ✅ | ❌ | +| [authenticationvserver_authenticationpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationvserver_authenticationpolicy_binding_module.html) | ✅ | ✅ | +| [authenticationvserver_authenticationradiuspolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationvserver_authenticationradiuspolicy_binding_module.html) | ✅ | ✅ | | [authenticationvserver_authenticationsamlidppolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationvserver_authenticationsamlidppolicy_binding_module.html) | ✅ | ❌ | -| [authenticationvserver_authenticationsamlpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationvserver_authenticationsamlpolicy_binding_module.html) | ✅ | ❌ | +| [authenticationvserver_authenticationsamlpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationvserver_authenticationsamlpolicy_binding_module.html) | ✅ | ✅ | | [authenticationvserver_authenticationsmartaccesspolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationvserver_authenticationsmartaccesspolicy_binding_module.html) | ✅ | ❌ | -| [authenticationvserver_authenticationtacacspolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationvserver_authenticationtacacspolicy_binding_module.html) | ✅ | ❌ | -| [authenticationvserver_authenticationwebauthpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationvserver_authenticationwebauthpolicy_binding_module.html) | ✅ | ❌ | -| [authenticationvserver_cachepolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationvserver_cachepolicy_binding_module.html) | ✅ | ❌ | +| [authenticationvserver_authenticationtacacspolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationvserver_authenticationtacacspolicy_binding_module.html) | ✅ | ✅ | +| [authenticationvserver_authenticationwebauthpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationvserver_authenticationwebauthpolicy_binding_module.html) | ✅ | ✅ | +| [authenticationvserver_cachepolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationvserver_cachepolicy_binding_module.html) | ✅ | ✅ | | [authenticationvserver_cspolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationvserver_cspolicy_binding_module.html) | ✅ | ❌ | | [authenticationvserver_responderpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationvserver_responderpolicy_binding_module.html) | ✅ | ❌ | | [authenticationvserver_rewritepolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationvserver_rewritepolicy_binding_module.html) | ✅ | ❌ | | [authenticationvserver_tmsessionpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationvserver_tmsessionpolicy_binding_module.html) | ✅ | ❌ | -| [authenticationvserver_vpnportaltheme_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationvserver_vpnportaltheme_binding_module.html) | ✅ | ❌ | -| [authenticationwebauthaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationwebauthaction_module.html) | ✅ | ❌ | -| [authenticationwebauthpolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationwebauthpolicy_module.html) | ✅ | ❌ | -| [authorizationpolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authorizationpolicy_module.html) | ✅ | ❌ | +| [authenticationvserver_vpnportaltheme_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationvserver_vpnportaltheme_binding_module.html) | ✅ | ✅ | +| [authenticationwebauthaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationwebauthaction_module.html) | ✅ | ✅ | +| [authenticationwebauthpolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authenticationwebauthpolicy_module.html) | ✅ | ✅ | +| [authorizationpolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authorizationpolicy_module.html) | ✅ | ✅ | | [authorizationpolicylabel](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authorizationpolicylabel_module.html) | ✅ | ❌ | | [authorizationpolicylabel_authorizationpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/authorizationpolicylabel_authorizationpolicy_binding_module.html) | ✅ | ❌ | | [autoscaleaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/autoscaleaction_module.html) | ✅ | ❌ | @@ -230,22 +234,22 @@ This is a matrix of all the resources supported by the `netscaler` ansible colle | [botprofile_tps_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/botprofile_tps_binding_module.html) | ✅ | ❌ | | [botprofile_trapinsertionurl_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/botprofile_trapinsertionurl_binding_module.html) | ✅ | ❌ | | [botprofile_whitelist_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/botprofile_whitelist_binding_module.html) | ✅ | ❌ | -| [botsettings](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/botsettings_module.html) | ✅ | ❌ | +| [botsettings](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/botsettings_module.html) | ✅ | ✅ | | [botsignature](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/botsignature_module.html) | ✅ | ❌ | -| [bridgegroup](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/bridgegroup_module.html) | ✅ | ❌ | +| [bridgegroup](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/bridgegroup_module.html) | ✅ | ✅ | | [bridgegroup_nsip6_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/bridgegroup_nsip6_binding_module.html) | ✅ | ❌ | -| [bridgegroup_nsip_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/bridgegroup_nsip_binding_module.html) | ✅ | ❌ | +| [bridgegroup_nsip_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/bridgegroup_nsip_binding_module.html) | ✅ | ✅ | | [bridgegroup_vlan_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/bridgegroup_vlan_binding_module.html) | ✅ | ❌ | | [bridgetable](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/bridgetable_module.html) | ✅ | ❌ | | [cachecontentgroup](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/cachecontentgroup_module.html) | ✅ | ✅ | | [cacheforwardproxy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/cacheforwardproxy_module.html) | ✅ | ❌ | -| [cacheglobal_cachepolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/cacheglobal_cachepolicy_binding_module.html) | ✅ | ❌ | +| [cacheglobal_cachepolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/cacheglobal_cachepolicy_binding_module.html) | ✅ | ✅ | | [cacheobject](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/cacheobject_module.html) | ✅ | ❌ | | [cacheparameter](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/cacheparameter_module.html) | ✅ | ✅ | | [cachepolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/cachepolicy_module.html) | ✅ | ✅ | | [cachepolicylabel](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/cachepolicylabel_module.html) | ✅ | ✅ | -| [cachepolicylabel_cachepolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/cachepolicylabel_cachepolicy_binding_module.html) | ✅ | ❌ | -| [cacheselector](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/cacheselector_module.html) | ✅ | ❌ | +| [cachepolicylabel_cachepolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/cachepolicylabel_cachepolicy_binding_module.html) | ✅ | ✅ | +| [cacheselector](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/cacheselector_module.html) | ✅ | ✅ | | [callhome](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/callhome_module.html) | ✅ | ✅ | | [channel](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/channel_module.html) | ✅ | ✅ | | [channel_interface_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/channel_interface_binding_module.html) | ✅ | ❌ | @@ -256,6 +260,7 @@ This is a matrix of all the resources supported by the `netscaler` ansible colle | [cloudparameter](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/cloudparameter_module.html) | ✅ | ❌ | | [cloudparaminternal](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/cloudparaminternal_module.html) | ✅ | ❌ | | [cloudprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/cloudprofile_module.html) | ✅ | ❌ | +| [cloudservice](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/cloudservice_module.html) | ✅ | ❌ | | [cloudtunnelparameter](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/cloudtunnelparameter_module.html) | ✅ | ❌ | | [cloudtunnelvserver](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/cloudtunnelvserver_module.html) | ✅ | ❌ | | [cluster](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/cluster_module.html) | ✅ | ❌ | @@ -276,13 +281,14 @@ This is a matrix of all the resources supported by the `netscaler` ansible colle | [clusternodegroup_streamidentifier_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/clusternodegroup_streamidentifier_binding_module.html) | ✅ | ❌ | | [clusternodegroup_vpnvserver_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/clusternodegroup_vpnvserver_binding_module.html) | ✅ | ❌ | | [clusterpropstatus](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/clusterpropstatus_module.html) | ✅ | ❌ | -| [cmpaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/cmpaction_module.html) | ✅ | ❌ | -| [cmpglobal_cmppolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/cmpglobal_cmppolicy_binding_module.html) | ✅ | ❌ | -| [cmpparameter](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/cmpparameter_module.html) | ✅ | ❌ | -| [cmppolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/cmppolicy_module.html) | ✅ | ❌ | -| [cmppolicylabel](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/cmppolicylabel_module.html) | ✅ | ❌ | -| [cmppolicylabel_cmppolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/cmppolicylabel_cmppolicy_binding_module.html) | ✅ | ❌ | -| [contentinspectionaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/contentinspectionaction_module.html) | ✅ | ❌ | +| [clustersync](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/clustersync_module.html) | ✅ | ❌ | +| [cmpaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/cmpaction_module.html) | ✅ | ✅ | +| [cmpglobal_cmppolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/cmpglobal_cmppolicy_binding_module.html) | ✅ | ✅ | +| [cmpparameter](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/cmpparameter_module.html) | ✅ | ✅ | +| [cmppolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/cmppolicy_module.html) | ✅ | ✅ | +| [cmppolicylabel](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/cmppolicylabel_module.html) | ✅ | ✅ | +| [cmppolicylabel_cmppolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/cmppolicylabel_cmppolicy_binding_module.html) | ✅ | ✅ | +| [contentinspectionaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/contentinspectionaction_module.html) | ✅ | ✅ | | [contentinspectioncallout](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/contentinspectioncallout_module.html) | ✅ | ❌ | | [contentinspectionglobal_contentinspectionpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/contentinspectionglobal_contentinspectionpolicy_binding_module.html) | ✅ | ❌ | | [contentinspectionparameter](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/contentinspectionparameter_module.html) | ✅ | ❌ | @@ -290,28 +296,28 @@ This is a matrix of all the resources supported by the `netscaler` ansible colle | [contentinspectionpolicylabel](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/contentinspectionpolicylabel_module.html) | ✅ | ❌ | | [contentinspectionpolicylabel_contentinspectionpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/contentinspectionpolicylabel_contentinspectionpolicy_binding_module.html) | ✅ | ❌ | | [contentinspectionprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/contentinspectionprofile_module.html) | ✅ | ❌ | -| [crpolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/crpolicy_module.html) | ✅ | ❌ | -| [crvserver](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/crvserver_module.html) | ✅ | ❌ | +| [crpolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/crpolicy_module.html) | ✅ | ✅ | +| [crvserver](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/crvserver_module.html) | ✅ | ✅ | | [crvserver_analyticsprofile_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/crvserver_analyticsprofile_binding_module.html) | ✅ | ❌ | | [crvserver_appflowpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/crvserver_appflowpolicy_binding_module.html) | ✅ | ❌ | | [crvserver_appfwpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/crvserver_appfwpolicy_binding_module.html) | ✅ | ❌ | | [crvserver_appqoepolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/crvserver_appqoepolicy_binding_module.html) | ✅ | ❌ | | [crvserver_cachepolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/crvserver_cachepolicy_binding_module.html) | ✅ | ❌ | | [crvserver_cmppolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/crvserver_cmppolicy_binding_module.html) | ✅ | ❌ | -| [crvserver_crpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/crvserver_crpolicy_binding_module.html) | ✅ | ❌ | +| [crvserver_crpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/crvserver_crpolicy_binding_module.html) | ✅ | ✅ | | [crvserver_cspolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/crvserver_cspolicy_binding_module.html) | ✅ | ❌ | | [crvserver_feopolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/crvserver_feopolicy_binding_module.html) | ✅ | ❌ | | [crvserver_icapolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/crvserver_icapolicy_binding_module.html) | ✅ | ❌ | -| [crvserver_lbvserver_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/crvserver_lbvserver_binding_module.html) | ✅ | ❌ | +| [crvserver_lbvserver_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/crvserver_lbvserver_binding_module.html) | ✅ | ✅ | | [crvserver_policymap_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/crvserver_policymap_binding_module.html) | ✅ | ❌ | | [crvserver_responderpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/crvserver_responderpolicy_binding_module.html) | ✅ | ❌ | | [crvserver_rewritepolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/crvserver_rewritepolicy_binding_module.html) | ✅ | ❌ | | [crvserver_spilloverpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/crvserver_spilloverpolicy_binding_module.html) | ✅ | ❌ | | [csaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/csaction_module.html) | ✅ | ✅ | -| [csparameter](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/csparameter_module.html) | ✅ | ❌ | -| [cspolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/cspolicy_module.html) | ✅ | ❌ | -| [cspolicylabel](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/cspolicylabel_module.html) | ✅ | ❌ | -| [cspolicylabel_cspolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/cspolicylabel_cspolicy_binding_module.html) | ✅ | ❌ | +| [csparameter](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/csparameter_module.html) | ✅ | ✅ | +| [cspolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/cspolicy_module.html) | ✅ | ✅ | +| [cspolicylabel](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/cspolicylabel_module.html) | ✅ | ✅ | +| [cspolicylabel_cspolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/cspolicylabel_cspolicy_binding_module.html) | ✅ | ✅ | | [csvserver](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/csvserver_module.html) | ✅ | ✅ | | [csvserver_analyticsprofile_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/csvserver_analyticsprofile_binding_module.html) | ✅ | ❌ | | [csvserver_appflowpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/csvserver_appflowpolicy_binding_module.html) | ✅ | ❌ | @@ -324,70 +330,71 @@ This is a matrix of all the resources supported by the `netscaler` ansible colle | [csvserver_cachepolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/csvserver_cachepolicy_binding_module.html) | ✅ | ❌ | | [csvserver_cmppolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/csvserver_cmppolicy_binding_module.html) | ✅ | ❌ | | [csvserver_contentinspectionpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/csvserver_contentinspectionpolicy_binding_module.html) | ✅ | ❌ | -| [csvserver_cspolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/csvserver_cspolicy_binding_module.html) | ✅ | ❌ | +| [csvserver_cspolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/csvserver_cspolicy_binding_module.html) | ✅ | ✅ | | [csvserver_domain_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/csvserver_domain_binding_module.html) | ✅ | ❌ | | [csvserver_feopolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/csvserver_feopolicy_binding_module.html) | ✅ | ❌ | | [csvserver_gslbvserver_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/csvserver_gslbvserver_binding_module.html) | ✅ | ❌ | -| [csvserver_lbvserver_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/csvserver_lbvserver_binding_module.html) | ✅ | ❌ | -| [csvserver_responderpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/csvserver_responderpolicy_binding_module.html) | ✅ | ❌ | -| [csvserver_rewritepolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/csvserver_rewritepolicy_binding_module.html) | ✅ | ❌ | +| [csvserver_lbvserver_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/csvserver_lbvserver_binding_module.html) | ✅ | ✅ | +| [csvserver_responderpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/csvserver_responderpolicy_binding_module.html) | ✅ | ✅ | +| [csvserver_rewritepolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/csvserver_rewritepolicy_binding_module.html) | ✅ | ✅ | | [csvserver_spilloverpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/csvserver_spilloverpolicy_binding_module.html) | ✅ | ❌ | | [csvserver_tmtrafficpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/csvserver_tmtrafficpolicy_binding_module.html) | ✅ | ❌ | | [csvserver_transformpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/csvserver_transformpolicy_binding_module.html) | ✅ | ❌ | -| [csvserver_vpnvserver_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/csvserver_vpnvserver_binding_module.html) | ✅ | ❌ | +| [csvserver_vpnvserver_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/csvserver_vpnvserver_binding_module.html) | ✅ | ✅ | | [dbdbprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dbdbprofile_module.html) | ✅ | ❌ | -| [dbuser](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dbuser_module.html) | ✅ | ❌ | -| [dnsaaaarec](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dnsaaaarec_module.html) | ✅ | ❌ | -| [dnsaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dnsaction_module.html) | ✅ | ❌ | -| [dnsaction64](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dnsaction64_module.html) | ✅ | ❌ | +| [dbsmonitors](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dbsmonitors_module.html) | ✅ | ❌ | +| [dbuser](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dbuser_module.html) | ✅ | ✅ | +| [dnsaaaarec](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dnsaaaarec_module.html) | ✅ | ✅ | +| [dnsaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dnsaction_module.html) | ✅ | ✅ | +| [dnsaction64](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dnsaction64_module.html) | ✅ | ✅ | | [dnsaddrec](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dnsaddrec_module.html) | ✅ | ✅ | | [dnscaarec](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dnscaarec_module.html) | ✅ | ❌ | -| [dnscnamerec](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dnscnamerec_module.html) | ✅ | ❌ | -| [dnsglobal_dnspolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dnsglobal_dnspolicy_binding_module.html) | ✅ | ❌ | -| [dnskey](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dnskey_module.html) | ✅ | ❌ | -| [dnsmxrec](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dnsmxrec_module.html) | ✅ | ❌ | -| [dnsnameserver](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dnsnameserver_module.html) | ✅ | ❌ | -| [dnsnaptrrec](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dnsnaptrrec_module.html) | ✅ | ❌ | +| [dnscnamerec](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dnscnamerec_module.html) | ✅ | ✅ | +| [dnsglobal_dnspolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dnsglobal_dnspolicy_binding_module.html) | ✅ | ✅ | +| [dnskey](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dnskey_module.html) | ✅ | ✅ | +| [dnsmxrec](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dnsmxrec_module.html) | ✅ | ✅ | +| [dnsnameserver](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dnsnameserver_module.html) | ✅ | ✅ | +| [dnsnaptrrec](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dnsnaptrrec_module.html) | ✅ | ✅ | | [dnsnsrec](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dnsnsrec_module.html) | ✅ | ✅ | | [dnsparameter](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dnsparameter_module.html) | ✅ | ❌ | -| [dnspolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dnspolicy_module.html) | ✅ | ❌ | -| [dnspolicy64](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dnspolicy64_module.html) | ✅ | ❌ | -| [dnspolicylabel](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dnspolicylabel_module.html) | ✅ | ❌ | +| [dnspolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dnspolicy_module.html) | ✅ | ✅ | +| [dnspolicy64](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dnspolicy64_module.html) | ✅ | ✅ | +| [dnspolicylabel](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dnspolicylabel_module.html) | ✅ | ✅ | | [dnspolicylabel_dnspolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dnspolicylabel_dnspolicy_binding_module.html) | ✅ | ❌ | -| [dnsprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dnsprofile_module.html) | ✅ | ❌ | +| [dnsprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dnsprofile_module.html) | ✅ | ✅ | | [dnsproxyrecords](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dnsproxyrecords_module.html) | ✅ | ❌ | | [dnsptrrec](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dnsptrrec_module.html) | ✅ | ❌ | -| [dnssoarec](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dnssoarec_module.html) | ✅ | ❌ | -| [dnssrvrec](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dnssrvrec_module.html) | ✅ | ❌ | +| [dnssoarec](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dnssoarec_module.html) | ✅ | ✅ | +| [dnssrvrec](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dnssrvrec_module.html) | ✅ | ✅ | | [dnssubnetcache](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dnssubnetcache_module.html) | ✅ | ❌ | -| [dnssuffix](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dnssuffix_module.html) | ✅ | ❌ | -| [dnstxtrec](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dnstxtrec_module.html) | ✅ | ❌ | -| [dnsview](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dnsview_module.html) | ✅ | ❌ | -| [dnszone](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dnszone_module.html) | ✅ | ❌ | +| [dnssuffix](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dnssuffix_module.html) | ✅ | ✅ | +| [dnstxtrec](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dnstxtrec_module.html) | ✅ | ✅ | +| [dnsview](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dnsview_module.html) | ✅ | ✅ | +| [dnszone](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/dnszone_module.html) | ✅ | ✅ | | [endpointinfo](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/endpointinfo_module.html) | ✅ | ❌ | -| [extendedmemoryparam](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/extendedmemoryparam_module.html) | ✅ | ❌ | -| [feoaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/feoaction_module.html) | ✅ | ❌ | -| [feoglobal_feopolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/feoglobal_feopolicy_binding_module.html) | ✅ | ❌ | -| [feoparameter](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/feoparameter_module.html) | ✅ | ❌ | -| [feopolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/feopolicy_module.html) | ✅ | ❌ | -| [fis](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/fis_module.html) | ✅ | ❌ | +| [extendedmemoryparam](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/extendedmemoryparam_module.html) | ✅ | ✅ | +| [feoaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/feoaction_module.html) | ✅ | ✅ | +| [feoglobal_feopolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/feoglobal_feopolicy_binding_module.html) | ✅ | ✅ | +| [feoparameter](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/feoparameter_module.html) | ✅ | ✅ | +| [feopolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/feopolicy_module.html) | ✅ | ✅ | +| [fis](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/fis_module.html) | ✅ | ✅ | | [fis_channel_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/fis_channel_binding_module.html) | ✅ | ❌ | | [fis_interface_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/fis_interface_binding_module.html) | ✅ | ❌ | -| [forwardingsession](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/forwardingsession_module.html) | ✅ | ❌ | +| [forwardingsession](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/forwardingsession_module.html) | ✅ | ✅ | | [gslbconfig](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/gslbconfig_module.html) | ✅ | ❌ | | [gslbldnsentries](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/gslbldnsentries_module.html) | ✅ | ❌ | | [gslbldnsentry](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/gslbldnsentry_module.html) | ✅ | ❌ | -| [gslbparameter](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/gslbparameter_module.html) | ✅ | ❌ | -| [gslbservice](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/gslbservice_module.html) | ✅ | ❌ | -| [gslbservice_dnsview_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/gslbservice_dnsview_binding_module.html) | ✅ | ❌ | -| [gslbservice_lbmonitor_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/gslbservice_lbmonitor_binding_module.html) | ✅ | ❌ | +| [gslbparameter](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/gslbparameter_module.html) | ✅ | ✅ | +| [gslbservice](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/gslbservice_module.html) | ✅ | ✅ | +| [gslbservice_dnsview_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/gslbservice_dnsview_binding_module.html) | ✅ | ✅ | +| [gslbservice_lbmonitor_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/gslbservice_lbmonitor_binding_module.html) | ✅ | ✅ | | [gslbservicegroup](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/gslbservicegroup_module.html) | ✅ | ❌ | | [gslbservicegroup_gslbservicegroupmember_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/gslbservicegroup_gslbservicegroupmember_binding_module.html) | ✅ | ❌ | | [gslbservicegroup_lbmonitor_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/gslbservicegroup_lbmonitor_binding_module.html) | ✅ | ❌ | -| [gslbsite](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/gslbsite_module.html) | ✅ | ❌ | -| [gslbvserver](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/gslbvserver_module.html) | ✅ | ❌ | -| [gslbvserver_domain_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/gslbvserver_domain_binding_module.html) | ✅ | ❌ | -| [gslbvserver_gslbservice_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/gslbvserver_gslbservice_binding_module.html) | ✅ | ❌ | +| [gslbsite](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/gslbsite_module.html) | ✅ | ✅ | +| [gslbvserver](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/gslbvserver_module.html) | ✅ | ✅ | +| [gslbvserver_domain_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/gslbvserver_domain_binding_module.html) | ✅ | ✅ | +| [gslbvserver_gslbservice_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/gslbvserver_gslbservice_binding_module.html) | ✅ | ✅ | | [gslbvserver_gslbservicegroup_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/gslbvserver_gslbservicegroup_binding_module.html) | ✅ | ❌ | | [gslbvserver_lbpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/gslbvserver_lbpolicy_binding_module.html) | ✅ | ❌ | | [gslbvserver_spilloverpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/gslbvserver_spilloverpolicy_binding_module.html) | ✅ | ❌ | @@ -397,72 +404,72 @@ This is a matrix of all the resources supported by the `netscaler` ansible colle | [hanode_routemonitor6_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/hanode_routemonitor6_binding_module.html) | ✅ | ❌ | | [hanode_routemonitor_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/hanode_routemonitor_binding_module.html) | ✅ | ❌ | | [hasync](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/hasync_module.html) | ✅ | ❌ | -| [icaaccessprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/icaaccessprofile_module.html) | ✅ | ❌ | -| [icaaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/icaaction_module.html) | ✅ | ❌ | -| [icaglobal_icapolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/icaglobal_icapolicy_binding_module.html) | ✅ | ❌ | -| [icalatencyprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/icalatencyprofile_module.html) | ✅ | ❌ | +| [icaaccessprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/icaaccessprofile_module.html) | ✅ | ✅ | +| [icaaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/icaaction_module.html) | ✅ | ✅ | +| [icaglobal_icapolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/icaglobal_icapolicy_binding_module.html) | ✅ | ✅ | +| [icalatencyprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/icalatencyprofile_module.html) | ✅ | ✅ | | [icaparameter](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/icaparameter_module.html) | ✅ | ❌ | -| [icapolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/icapolicy_module.html) | ✅ | ❌ | +| [icapolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/icapolicy_module.html) | ✅ | ✅ | | [inat](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/inat_module.html) | ✅ | ❌ | -| [inatparam](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/inatparam_module.html) | ✅ | ❌ | +| [inatparam](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/inatparam_module.html) | ✅ | ✅ | | [install](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/install_module.html) | ✅ | ❌ | -| interface | ❌ | ❌ | +| [interface](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/interface_module.html) | ✅ | ✅ | | [interfacepair](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/interfacepair_module.html) | ✅ | ❌ | | [ip6tunnel](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/ip6tunnel_module.html) | ✅ | ❌ | | [ip6tunnelparam](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/ip6tunnelparam_module.html) | ✅ | ✅ | | [ipsecalgprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/ipsecalgprofile_module.html) | ✅ | ❌ | | [ipsecalgsession](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/ipsecalgsession_module.html) | ✅ | ❌ | | [ipsecparameter](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/ipsecparameter_module.html) | ✅ | ❌ | -| [ipsecprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/ipsecprofile_module.html) | ✅ | ❌ | +| [ipsecprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/ipsecprofile_module.html) | ✅ | ✅ | | [ipset](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/ipset_module.html) | ✅ | ✅ | | [ipset_nsip6_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/ipset_nsip6_binding_module.html) | ✅ | ❌ | -| [ipset_nsip_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/ipset_nsip_binding_module.html) | ✅ | ❌ | -| [iptunnel](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/iptunnel_module.html) | ✅ | ❌ | -| [iptunnelparam](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/iptunnelparam_module.html) | ✅ | ❌ | -| [ipv6](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/ipv6_module.html) | ✅ | ❌ | -| [l2param](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/l2param_module.html) | ✅ | ❌ | +| [ipset_nsip_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/ipset_nsip_binding_module.html) | ✅ | ✅ | +| [iptunnel](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/iptunnel_module.html) | ✅ | ✅ | +| [iptunnelparam](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/iptunnelparam_module.html) | ✅ | ✅ | +| [ipv6](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/ipv6_module.html) | ✅ | ✅ | +| [l2param](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/l2param_module.html) | ✅ | ✅ | | [l3param](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/l3param_module.html) | ✅ | ✅ | | [l4param](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/l4param_module.html) | ✅ | ❌ | | [lacp](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lacp_module.html) | ✅ | ✅ | | [lbaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbaction_module.html) | ✅ | ❌ | | [lbglobal_lbpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbglobal_lbpolicy_binding_module.html) | ✅ | ❌ | -| [lbgroup](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbgroup_module.html) | ✅ | ❌ | -| [lbgroup_lbvserver_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbgroup_lbvserver_binding_module.html) | ✅ | ❌ | -| [lbmetrictable](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbmetrictable_module.html) | ✅ | ❌ | -| [lbmetrictable_metric_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbmetrictable_metric_binding_module.html) | ✅ | ❌ | +| [lbgroup](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbgroup_module.html) | ✅ | ✅ | +| [lbgroup_lbvserver_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbgroup_lbvserver_binding_module.html) | ✅ | ✅ | +| [lbmetrictable](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbmetrictable_module.html) | ✅ | ✅ | +| [lbmetrictable_metric_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbmetrictable_metric_binding_module.html) | ✅ | ✅ | | [lbmonitor](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbmonitor_module.html) | ✅ | ✅ | -| [lbmonitor_metric_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbmonitor_metric_binding_module.html) | ✅ | ❌ | -| [lbmonitor_sslcertkey_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbmonitor_sslcertkey_binding_module.html) | ✅ | ❌ | +| [lbmonitor_metric_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbmonitor_metric_binding_module.html) | ✅ | ✅ | +| [lbmonitor_sslcertkey_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbmonitor_sslcertkey_binding_module.html) | ✅ | ✅ | | [lbparameter](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbparameter_module.html) | ✅ | ✅ | | [lbpersistentsessions](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbpersistentsessions_module.html) | ✅ | ❌ | | [lbpolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbpolicy_module.html) | ✅ | ❌ | | [lbpolicylabel](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbpolicylabel_module.html) | ✅ | ❌ | | [lbpolicylabel_lbpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbpolicylabel_lbpolicy_binding_module.html) | ✅ | ❌ | -| [lbprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbprofile_module.html) | ✅ | ❌ | +| [lbprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbprofile_module.html) | ✅ | ✅ | | [lbroute](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbroute_module.html) | ✅ | ❌ | | [lbroute6](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbroute6_module.html) | ✅ | ❌ | -| [lbsipparameters](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbsipparameters_module.html) | ✅ | ❌ | +| [lbsipparameters](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbsipparameters_module.html) | ✅ | ✅ | | [lbvserver](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbvserver_module.html) | ✅ | ✅ | | [lbvserver_analyticsprofile_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbvserver_analyticsprofile_binding_module.html) | ✅ | ❌ | | [lbvserver_appflowpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbvserver_appflowpolicy_binding_module.html) | ✅ | ❌ | | [lbvserver_appfwpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbvserver_appfwpolicy_binding_module.html) | ✅ | ❌ | -| [lbvserver_appqoepolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbvserver_appqoepolicy_binding_module.html) | ✅ | ❌ | +| [lbvserver_appqoepolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbvserver_appqoepolicy_binding_module.html) | ✅ | ✅ | | [lbvserver_auditnslogpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbvserver_auditnslogpolicy_binding_module.html) | ✅ | ❌ | | [lbvserver_auditsyslogpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbvserver_auditsyslogpolicy_binding_module.html) | ✅ | ❌ | | [lbvserver_authorizationpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbvserver_authorizationpolicy_binding_module.html) | ✅ | ❌ | | [lbvserver_botpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbvserver_botpolicy_binding_module.html) | ✅ | ❌ | -| [lbvserver_cachepolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbvserver_cachepolicy_binding_module.html) | ✅ | ❌ | -| [lbvserver_cmppolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbvserver_cmppolicy_binding_module.html) | ✅ | ❌ | +| [lbvserver_cachepolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbvserver_cachepolicy_binding_module.html) | ✅ | ✅ | +| [lbvserver_cmppolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbvserver_cmppolicy_binding_module.html) | ✅ | ✅ | | [lbvserver_contentinspectionpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbvserver_contentinspectionpolicy_binding_module.html) | ✅ | ❌ | -| [lbvserver_dnspolicy64_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbvserver_dnspolicy64_binding_module.html) | ✅ | ❌ | +| [lbvserver_dnspolicy64_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbvserver_dnspolicy64_binding_module.html) | ✅ | ✅ | | [lbvserver_feopolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbvserver_feopolicy_binding_module.html) | ✅ | ❌ | | [lbvserver_lbpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbvserver_lbpolicy_binding_module.html) | ✅ | ❌ | -| [lbvserver_responderpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbvserver_responderpolicy_binding_module.html) | ✅ | ❌ | -| [lbvserver_rewritepolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbvserver_rewritepolicy_binding_module.html) | ✅ | ❌ | +| [lbvserver_responderpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbvserver_responderpolicy_binding_module.html) | ✅ | ✅ | +| [lbvserver_rewritepolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbvserver_rewritepolicy_binding_module.html) | ✅ | ✅ | | [lbvserver_service_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbvserver_service_binding_module.html) | ✅ | ✅ | -| [lbvserver_servicegroup_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbvserver_servicegroup_binding_module.html) | ✅ | ❌ | +| [lbvserver_servicegroup_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbvserver_servicegroup_binding_module.html) | ✅ | ✅ | | [lbvserver_spilloverpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbvserver_spilloverpolicy_binding_module.html) | ✅ | ❌ | -| [lbvserver_tmtrafficpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbvserver_tmtrafficpolicy_binding_module.html) | ✅ | ❌ | +| [lbvserver_tmtrafficpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbvserver_tmtrafficpolicy_binding_module.html) | ✅ | ✅ | | [lbvserver_transformpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbvserver_transformpolicy_binding_module.html) | ✅ | ❌ | | [lbvserver_videooptimizationdetectionpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbvserver_videooptimizationdetectionpolicy_binding_module.html) | ✅ | ❌ | | [lbvserver_videooptimizationpacingpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lbvserver_videooptimizationpacingpolicy_binding_module.html) | ✅ | ❌ | @@ -473,64 +480,66 @@ This is a matrix of all the resources supported by the `netscaler` ansible colle | [linkset_interface_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/linkset_interface_binding_module.html) | ✅ | ❌ | | [lldpneighbors](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lldpneighbors_module.html) | ✅ | ❌ | | [lldpparam](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lldpparam_module.html) | ✅ | ❌ | -| [location](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/location_module.html) | ✅ | ❌ | +| [location](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/location_module.html) | ✅ | ✅ | +| [locationdata](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/locationdata_module.html) | ✅ | ❌ | | [locationfile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/locationfile_module.html) | ✅ | ✅ | | [locationfile6](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/locationfile6_module.html) | ✅ | ❌ | -| [locationparameter](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/locationparameter_module.html) | ✅ | ❌ | -| [logout](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/logout_module.html) | ✅ | ✅ | +| [locationparameter](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/locationparameter_module.html) | ✅ | ✅ | +| logout | ❌ | ❌ | | [lsnappsattributes](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsnappsattributes_module.html) | ✅ | ❌ | -| [lsnappsprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsnappsprofile_module.html) | ✅ | ❌ | +| [lsnappsprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsnappsprofile_module.html) | ✅ | ✅ | | [lsnappsprofile_lsnappsattributes_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsnappsprofile_lsnappsattributes_binding_module.html) | ✅ | ❌ | -| [lsnappsprofile_port_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsnappsprofile_port_binding_module.html) | ✅ | ❌ | -| [lsnclient](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsnclient_module.html) | ✅ | ❌ | -| [lsnclient_network6_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsnclient_network6_binding_module.html) | ✅ | ❌ | -| [lsnclient_network_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsnclient_network_binding_module.html) | ✅ | ❌ | +| [lsnappsprofile_port_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsnappsprofile_port_binding_module.html) | ✅ | ✅ | +| [lsnclient](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsnclient_module.html) | ✅ | ✅ | +| [lsnclient_network6_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsnclient_network6_binding_module.html) | ✅ | ✅ | +| [lsnclient_network_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsnclient_network_binding_module.html) | ✅ | ✅ | | [lsnclient_nsacl6_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsnclient_nsacl6_binding_module.html) | ✅ | ❌ | | [lsnclient_nsacl_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsnclient_nsacl_binding_module.html) | ✅ | ❌ | -| [lsngroup](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsngroup_module.html) | ✅ | ❌ | +| [lsngroup](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsngroup_module.html) | ✅ | ✅ | | [lsngroup_ipsecalgprofile_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsngroup_ipsecalgprofile_binding_module.html) | ✅ | ❌ | -| [lsngroup_lsnappsprofile_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsngroup_lsnappsprofile_binding_module.html) | ✅ | ❌ | -| [lsngroup_lsnhttphdrlogprofile_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsngroup_lsnhttphdrlogprofile_binding_module.html) | ✅ | ❌ | -| [lsngroup_lsnlogprofile_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsngroup_lsnlogprofile_binding_module.html) | ✅ | ❌ | -| [lsngroup_lsnpool_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsngroup_lsnpool_binding_module.html) | ✅ | ❌ | -| [lsngroup_lsnrtspalgprofile_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsngroup_lsnrtspalgprofile_binding_module.html) | ✅ | ❌ | -| [lsngroup_lsnsipalgprofile_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsngroup_lsnsipalgprofile_binding_module.html) | ✅ | ❌ | -| [lsngroup_lsntransportprofile_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsngroup_lsntransportprofile_binding_module.html) | ✅ | ❌ | -| [lsngroup_pcpserver_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsngroup_pcpserver_binding_module.html) | ✅ | ❌ | -| [lsnhttphdrlogprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsnhttphdrlogprofile_module.html) | ✅ | ❌ | -| [lsnip6profile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsnip6profile_module.html) | ✅ | ❌ | -| [lsnlogprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsnlogprofile_module.html) | ✅ | ❌ | -| [lsnparameter](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsnparameter_module.html) | ✅ | ❌ | -| [lsnpool](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsnpool_module.html) | ✅ | ❌ | -| [lsnpool_lsnip_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsnpool_lsnip_binding_module.html) | ✅ | ❌ | -| [lsnrtspalgprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsnrtspalgprofile_module.html) | ✅ | ❌ | +| [lsngroup_lsnappsprofile_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsngroup_lsnappsprofile_binding_module.html) | ✅ | ✅ | +| [lsngroup_lsnhttphdrlogprofile_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsngroup_lsnhttphdrlogprofile_binding_module.html) | ✅ | ✅ | +| [lsngroup_lsnlogprofile_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsngroup_lsnlogprofile_binding_module.html) | ✅ | ✅ | +| [lsngroup_lsnpool_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsngroup_lsnpool_binding_module.html) | ✅ | ✅ | +| [lsngroup_lsnrtspalgprofile_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsngroup_lsnrtspalgprofile_binding_module.html) | ✅ | ✅ | +| [lsngroup_lsnsipalgprofile_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsngroup_lsnsipalgprofile_binding_module.html) | ✅ | ✅ | +| [lsngroup_lsntransportprofile_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsngroup_lsntransportprofile_binding_module.html) | ✅ | ✅ | +| [lsngroup_pcpserver_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsngroup_pcpserver_binding_module.html) | ✅ | ✅ | +| [lsnhttphdrlogprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsnhttphdrlogprofile_module.html) | ✅ | ✅ | +| [lsnip6profile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsnip6profile_module.html) | ✅ | ✅ | +| [lsnlogprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsnlogprofile_module.html) | ✅ | ✅ | +| [lsnparameter](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsnparameter_module.html) | ✅ | ✅ | +| [lsnpool](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsnpool_module.html) | ✅ | ✅ | +| [lsnpool_lsnip_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsnpool_lsnip_binding_module.html) | ✅ | ✅ | +| [lsnrtspalgprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsnrtspalgprofile_module.html) | ✅ | ✅ | | [lsnrtspalgsession](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsnrtspalgsession_module.html) | ✅ | ❌ | | [lsnsession](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsnsession_module.html) | ✅ | ❌ | | [lsnsipalgcall](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsnsipalgcall_module.html) | ✅ | ❌ | -| [lsnsipalgprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsnsipalgprofile_module.html) | ✅ | ❌ | -| [lsnstatic](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsnstatic_module.html) | ✅ | ❌ | -| [lsntransportprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsntransportprofile_module.html) | ✅ | ❌ | -| [mapbmr](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/mapbmr_module.html) | ✅ | ❌ | -| [mapbmr_bmrv4network_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/mapbmr_bmrv4network_binding_module.html) | ✅ | ❌ | -| [mapdmr](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/mapdmr_module.html) | ✅ | ❌ | -| [mapdomain](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/mapdomain_module.html) | ✅ | ❌ | -| [mapdomain_mapbmr_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/mapdomain_mapbmr_binding_module.html) | ✅ | ❌ | -| [nat64](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nat64_module.html) | ✅ | ❌ | +| [lsnsipalgprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsnsipalgprofile_module.html) | ✅ | ✅ | +| [lsnstatic](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsnstatic_module.html) | ✅ | ✅ | +| [lsntransportprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/lsntransportprofile_module.html) | ✅ | ✅ | +| [mapbmr](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/mapbmr_module.html) | ✅ | ✅ | +| [mapbmr_bmrv4network_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/mapbmr_bmrv4network_binding_module.html) | ✅ | ✅ | +| [mapdmr](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/mapdmr_module.html) | ✅ | ✅ | +| [mapdomain](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/mapdomain_module.html) | ✅ | ✅ | +| [mapdomain_mapbmr_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/mapdomain_mapbmr_binding_module.html) | ✅ | ✅ | +| [metricsprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/metricsprofile_module.html) | ✅ | ❌ | +| [nat64](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nat64_module.html) | ✅ | ✅ | | [nat64param](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nat64param_module.html) | ✅ | ❌ | -| [nd6](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nd6_module.html) | ✅ | ❌ | +| [nd6](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nd6_module.html) | ✅ | ✅ | | [nd6ravariables](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nd6ravariables_module.html) | ✅ | ✅ | | [nd6ravariables_onlinkipv6prefix_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nd6ravariables_onlinkipv6prefix_binding_module.html) | ✅ | ❌ | -| [netbridge](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/netbridge_module.html) | ✅ | ❌ | +| [netbridge](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/netbridge_module.html) | ✅ | ✅ | | [netbridge_iptunnel_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/netbridge_iptunnel_binding_module.html) | ✅ | ❌ | | [netbridge_nsip6_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/netbridge_nsip6_binding_module.html) | ✅ | ❌ | | [netbridge_nsip_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/netbridge_nsip_binding_module.html) | ✅ | ❌ | | [netbridge_vlan_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/netbridge_vlan_binding_module.html) | ✅ | ❌ | | [netprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/netprofile_module.html) | ✅ | ✅ | -| [netprofile_natrule_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/netprofile_natrule_binding_module.html) | ✅ | ❌ | -| [netprofile_srcportset_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/netprofile_srcportset_binding_module.html) | ✅ | ❌ | -| nsacl | ❌ | ❌ | -| nsacl6 | ❌ | ❌ | -| [nsacls](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nsacls_module.html) | ✅ | ❌ | +| [netprofile_natrule_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/netprofile_natrule_binding_module.html) | ✅ | ✅ | +| [netprofile_srcportset_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/netprofile_srcportset_binding_module.html) | ✅ | ✅ | +| [nsacl](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nsacl_module.html) | ✅ | ✅ | +| [nsacl6](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nsacl6_module.html) | ✅ | ✅ | +| [nsacls](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nsacls_module.html) | ✅ | ✅ | | [nsacls6](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nsacls6_module.html) | ✅ | ❌ | | [nsappflowcollector](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nsappflowcollector_module.html) | ✅ | ❌ | | [nsappflowparam](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nsappflowparam_module.html) | ✅ | ❌ | @@ -538,51 +547,59 @@ This is a matrix of all the resources supported by the `netscaler` ansible colle | [nsassignment](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nsassignment_module.html) | ✅ | ❌ | | [nscapacity](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nscapacity_module.html) | ✅ | ❌ | | [nscentralmanagementserver](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nscentralmanagementserver_module.html) | ✅ | ❌ | +| [nschannelparam](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nschannelparam_module.html) | ✅ | ❌ | | [nsconfig](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nsconfig_module.html) | ✅ | ✅ | +| [nsconfigview](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nsconfigview_module.html) | ✅ | ❌ | | [nsconsoleloginprompt](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nsconsoleloginprompt_module.html) | ✅ | ❌ | -| [nscqaparam](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nscqaparam_module.html) | ✅ | ❌ | -| [nsdhcpparams](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nsdhcpparams_module.html) | ✅ | ❌ | +| [nscqaparam](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nscqaparam_module.html) | ✅ | ✅ | +| [nsdhcpip](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nsdhcpip_module.html) | ✅ | ❌ | +| [nsdhcpparams](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nsdhcpparams_module.html) | ✅ | ✅ | | [nsdiameter](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nsdiameter_module.html) | ✅ | ✅ | | [nsencryptionkey](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nsencryptionkey_module.html) | ✅ | ❌ | -| [nsencryptionparams](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nsencryptionparams_module.html) | ✅ | ❌ | +| [nsencryptionparams](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nsencryptionparams_module.html) | ✅ | ✅ | | [nsextension](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nsextension_module.html) | ✅ | ❌ | -| [nsfeature](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nsfeature_module.html) | ✅ | ✅ | +| [nsfeature](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nsfeature_module.html) | ✅ | ❌ | | [nshmackey](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nshmackey_module.html) | ✅ | ❌ | | [nshostname](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nshostname_module.html) | ✅ | ✅ | -| [nshttpparam](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nshttpparam_module.html) | ✅ | ❌ | +| [nshttpparam](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nshttpparam_module.html) | ✅ | ✅ | | [nshttpprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nshttpprofile_module.html) | ✅ | ✅ | | [nsicapprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nsicapprofile_module.html) | ✅ | ❌ | | [nsip](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nsip_module.html) | ✅ | ✅ | | [nsip6](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nsip6_module.html) | ✅ | ✅ | | [nslicenseparameters](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nslicenseparameters_module.html) | ✅ | ❌ | -| [nslicenseproxyserver](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nslicenseproxyserver_module.html) | ✅ | ❌ | +| [nslicenseproxyserver](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nslicenseproxyserver_module.html) | ✅ | ✅ | | [nslicenseserver](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nslicenseserver_module.html) | ✅ | ❌ | -| [nslimitidentifier](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nslimitidentifier_module.html) | ✅ | ❌ | +| [nslimitidentifier](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nslimitidentifier_module.html) | ✅ | ✅ | | [nslimitselector](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nslimitselector_module.html) | ✅ | ❌ | | [nslimitsessions](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nslimitsessions_module.html) | ✅ | ❌ | | nsmemrecovery | ❌ | ❌ | +| [nsmgmtparam](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nsmgmtparam_module.html) | ✅ | ❌ | | [nsmigration](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nsmigration_module.html) | ✅ | ❌ | | [nsmode](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nsmode_module.html) | ✅ | ❌ | +| [nsnextgenapi](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nsnextgenapi_module.html) | ✅ | ❌ | | [nsparam](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nsparam_module.html) | ✅ | ✅ | -| [nspartition](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nspartition_module.html) | ✅ | ❌ | +| [nspartition](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nspartition_module.html) | ✅ | ✅ | | [nspartition_bridgegroup_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nspartition_bridgegroup_binding_module.html) | ✅ | ❌ | -| [nspartition_vlan_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nspartition_vlan_binding_module.html) | ✅ | ❌ | -| [nspartition_vxlan_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nspartition_vxlan_binding_module.html) | ✅ | ❌ | -| nspbr | ❌ | ❌ | -| nspbr6 | ❌ | ❌ | +| [nspartition_vlan_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nspartition_vlan_binding_module.html) | ✅ | ✅ | +| [nspartition_vxlan_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nspartition_vxlan_binding_module.html) | ✅ | ✅ | +| [nspbr](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nspbr_module.html) | ✅ | ✅ | +| [nspbr6](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nspbr6_module.html) | ✅ | ✅ | +| [nspbrs](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nspbrs_module.html) | ✅ | ✅ | | [nsratecontrol](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nsratecontrol_module.html) | ✅ | ❌ | -| [nsrpcnode](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nsrpcnode_module.html) | ✅ | ❌ | +| [nsrpcnode](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nsrpcnode_module.html) | ✅ | ✅ | | [nsservicefunction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nsservicefunction_module.html) | ✅ | ❌ | | [nsservicepath](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nsservicepath_module.html) | ✅ | ❌ | | [nsservicepath_nsservicefunction_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nsservicepath_nsservicefunction_binding_module.html) | ✅ | ❌ | | [nssimpleacl](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nssimpleacl_module.html) | ✅ | ❌ | | [nssimpleacl6](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nssimpleacl6_module.html) | ✅ | ❌ | -| [nsspparams](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nsspparams_module.html) | ✅ | ✅ | +| [nssourceroutecachetable](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nssourceroutecachetable_module.html) | ✅ | ✅ | +| [nsspparams](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nsspparams_module.html) | ✅ | ❌ | | [nsstats](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nsstats_module.html) | ✅ | ❌ | | [nssurgeq](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nssurgeq_module.html) | ✅ | ❌ | | [nstcpbufparam](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nstcpbufparam_module.html) | ✅ | ❌ | -| [nstcpparam](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nstcpparam_module.html) | ✅ | ❌ | +| [nstcpparam](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nstcpparam_module.html) | ✅ | ✅ | | [nstcpprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nstcpprofile_module.html) | ✅ | ✅ | +| [nstestlicense](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nstestlicense_module.html) | ✅ | ❌ | | [nstimeout](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nstimeout_module.html) | ✅ | ❌ | | [nstimer](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nstimer_module.html) | ✅ | ❌ | | [nstimer_autoscalepolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nstimer_autoscalepolicy_binding_module.html) | ✅ | ❌ | @@ -592,79 +609,83 @@ This is a matrix of all the resources supported by the `netscaler` ansible colle | [nstrafficdomain_vlan_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nstrafficdomain_vlan_binding_module.html) | ✅ | ❌ | | [nstrafficdomain_vxlan_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nstrafficdomain_vxlan_binding_module.html) | ✅ | ❌ | | [nsvariable](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nsvariable_module.html) | ✅ | ❌ | -| [nsvpxparam](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nsvpxparam_module.html) | ✅ | ✅ | +| [nsvpxparam](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nsvpxparam_module.html) | ✅ | ❌ | | [nsweblogparam](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nsweblogparam_module.html) | ✅ | ✅ | | [nsxmlnamespace](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/nsxmlnamespace_module.html) | ✅ | ❌ | | [ntpparam](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/ntpparam_module.html) | ✅ | ❌ | | [ntpserver](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/ntpserver_module.html) | ✅ | ❌ | -| [onlinkipv6prefix](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/onlinkipv6prefix_module.html) | ✅ | ❌ | -| [pcpprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/pcpprofile_module.html) | ✅ | ❌ | -| [pcpserver](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/pcpserver_module.html) | ✅ | ❌ | +| [ntpsync](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/ntpsync_module.html) | ✅ | ❌ | +| [onlinkipv6prefix](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/onlinkipv6prefix_module.html) | ✅ | ✅ | +| [pcpprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/pcpprofile_module.html) | ✅ | ✅ | +| [pcpserver](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/pcpserver_module.html) | ✅ | ✅ | | [ping](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/ping_module.html) | ✅ | ❌ | | [ping6](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/ping6_module.html) | ✅ | ❌ | -| [policydataset](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/policydataset_module.html) | ✅ | ❌ | -| [policydataset_value_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/policydataset_value_binding_module.html) | ✅ | ❌ | -| [policyexpression](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/policyexpression_module.html) | ✅ | ❌ | -| [policyhttpcallout](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/policyhttpcallout_module.html) | ✅ | ❌ | +| [policydataset](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/policydataset_module.html) | ✅ | ✅ | +| [policydataset_value_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/policydataset_value_binding_module.html) | ✅ | ✅ | +| [policyexpression](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/policyexpression_module.html) | ✅ | ✅ | +| [policyhttpcallout](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/policyhttpcallout_module.html) | ✅ | ✅ | | [policymap](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/policymap_module.html) | ✅ | ❌ | -| [policyparam](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/policyparam_module.html) | ✅ | ❌ | -| [policypatset](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/policypatset_module.html) | ✅ | ❌ | -| [policypatset_pattern_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/policypatset_pattern_binding_module.html) | ✅ | ❌ | +| [policyparam](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/policyparam_module.html) | ✅ | ✅ | +| [policypatset](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/policypatset_module.html) | ✅ | ✅ | +| [policypatset_pattern_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/policypatset_pattern_binding_module.html) | ✅ | ✅ | | [policypatsetfile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/policypatsetfile_module.html) | ✅ | ❌ | -| [policystringmap](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/policystringmap_module.html) | ✅ | ❌ | +| [policystringmap](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/policystringmap_module.html) | ✅ | ✅ | | [policystringmap_pattern_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/policystringmap_pattern_binding_module.html) | ✅ | ❌ | -| [policyurlset](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/policyurlset_module.html) | ✅ | ❌ | +| [policytracing](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/policytracing_module.html) | ✅ | ❌ | +| [policyurlset](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/policyurlset_module.html) | ✅ | ✅ | | [protocolhttpband](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/protocolhttpband_module.html) | ✅ | ❌ | -| [ptp](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/ptp_module.html) | ✅ | ❌ | +| [ptp](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/ptp_module.html) | ✅ | ✅ | | [quicbridgeprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/quicbridgeprofile_module.html) | ✅ | ❌ | | [quicparam](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/quicparam_module.html) | ✅ | ❌ | | [quicprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/quicprofile_module.html) | ✅ | ❌ | | [radiusnode](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/radiusnode_module.html) | ✅ | ❌ | -| [rdpclientprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/rdpclientprofile_module.html) | ✅ | ❌ | +| [rdpclientprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/rdpclientprofile_module.html) | ✅ | ✅ | | [rdpconnections](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/rdpconnections_module.html) | ✅ | ❌ | -| [rdpserverprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/rdpserverprofile_module.html) | ✅ | ❌ | +| [rdpserverprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/rdpserverprofile_module.html) | ✅ | ✅ | | [reboot](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/reboot_module.html) | ✅ | ❌ | +| [reporting](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/reporting_module.html) | ✅ | ❌ | | [reportingconfig](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/reportingconfig_module.html) | ✅ | ❌ | | [reputationsettings](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/reputationsettings_module.html) | ✅ | ❌ | -| [responderaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/responderaction_module.html) | ✅ | ❌ | -| [responderglobal_responderpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/responderglobal_responderpolicy_binding_module.html) | ✅ | ❌ | +| [responderaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/responderaction_module.html) | ✅ | ✅ | +| [responderglobal_responderpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/responderglobal_responderpolicy_binding_module.html) | ✅ | ✅ | | [responderhtmlpage](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/responderhtmlpage_module.html) | ✅ | ❌ | -| [responderparam](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/responderparam_module.html) | ✅ | ❌ | -| [responderpolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/responderpolicy_module.html) | ✅ | ❌ | -| [responderpolicylabel](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/responderpolicylabel_module.html) | ✅ | ❌ | +| [responderparam](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/responderparam_module.html) | ✅ | ✅ | +| [responderpolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/responderpolicy_module.html) | ✅ | ✅ | +| [responderpolicylabel](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/responderpolicylabel_module.html) | ✅ | ✅ | | [responderpolicylabel_responderpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/responderpolicylabel_responderpolicy_binding_module.html) | ✅ | ❌ | -| [rewriteaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/rewriteaction_module.html) | ✅ | ❌ | -| [rewriteglobal_rewritepolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/rewriteglobal_rewritepolicy_binding_module.html) | ✅ | ❌ | -| [rewriteparam](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/rewriteparam_module.html) | ✅ | ❌ | -| [rewritepolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/rewritepolicy_module.html) | ✅ | ❌ | -| [rewritepolicylabel](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/rewritepolicylabel_module.html) | ✅ | ❌ | -| [rewritepolicylabel_rewritepolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/rewritepolicylabel_rewritepolicy_binding_module.html) | ✅ | ❌ | -| [rnat](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/rnat_module.html) | ✅ | ❌ | +| [rewriteaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/rewriteaction_module.html) | ✅ | ✅ | +| [rewriteglobal_rewritepolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/rewriteglobal_rewritepolicy_binding_module.html) | ✅ | ✅ | +| [rewriteparam](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/rewriteparam_module.html) | ✅ | ✅ | +| [rewritepolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/rewritepolicy_module.html) | ✅ | ✅ | +| [rewritepolicylabel](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/rewritepolicylabel_module.html) | ✅ | ✅ | +| [rewritepolicylabel_rewritepolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/rewritepolicylabel_rewritepolicy_binding_module.html) | ✅ | ✅ | +| [rnat](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/rnat_module.html) | ✅ | ✅ | | [rnat6](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/rnat6_module.html) | ✅ | ❌ | | [rnat6_nsip6_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/rnat6_nsip6_binding_module.html) | ✅ | ❌ | | [rnat_nsip_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/rnat_nsip_binding_module.html) | ✅ | ❌ | | [rnat_retainsourceportset_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/rnat_retainsourceportset_binding_module.html) | ✅ | ❌ | | [rnatglobal_auditsyslogpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/rnatglobal_auditsyslogpolicy_binding_module.html) | ✅ | ❌ | -| [rnatparam](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/rnatparam_module.html) | ✅ | ❌ | +| [rnatparam](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/rnatparam_module.html) | ✅ | ✅ | | [rnatsession](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/rnatsession_module.html) | ✅ | ❌ | | [route](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/route_module.html) | ✅ | ✅ | -| [route6](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/route6_module.html) | ✅ | ❌ | +| [route6](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/route6_module.html) | ✅ | ✅ | | [routerdynamicrouting](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/routerdynamicrouting_module.html) | ✅ | ❌ | | [rsskeytype](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/rsskeytype_module.html) | ✅ | ✅ | -| [save_config](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/save_config_module.html) | ✅ | ✅ | +| save_config | ❌ | ❌ | | [server](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/server_module.html) | ✅ | ✅ | | [service](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/service_module.html) | ✅ | ✅ | -| [service_lbmonitor_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/service_lbmonitor_binding_module.html) | ✅ | ❌ | +| [service_lbmonitor_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/service_lbmonitor_binding_module.html) | ✅ | ✅ | | [servicegroup](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/servicegroup_module.html) | ✅ | ✅ | -| [servicegroup_lbmonitor_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/servicegroup_lbmonitor_binding_module.html) | ✅ | ❌ | -| [servicegroup_servicegroupmember_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/servicegroup_servicegroupmember_binding_module.html) | ✅ | ❌ | +| [servicegroup_lbmonitor_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/servicegroup_lbmonitor_binding_module.html) | ✅ | ✅ | +| [servicegroup_servicegroupmember_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/servicegroup_servicegroupmember_binding_module.html) | ✅ | ✅ | +| [shutdown](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/shutdown_module.html) | ✅ | ❌ | | [smppparam](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/smppparam_module.html) | ✅ | ❌ | | [smppuser](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/smppuser_module.html) | ✅ | ❌ | -| [snmpalarm](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/snmpalarm_module.html) | ✅ | ❌ | -| [snmpcommunity](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/snmpcommunity_module.html) | ✅ | ❌ | +| [snmpalarm](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/snmpalarm_module.html) | ✅ | ✅ | +| [snmpcommunity](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/snmpcommunity_module.html) | ✅ | ✅ | | [snmpengineid](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/snmpengineid_module.html) | ✅ | ❌ | | [snmpgroup](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/snmpgroup_module.html) | ✅ | ✅ | -| [snmpmanager](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/snmpmanager_module.html) | ✅ | ❌ | +| [snmpmanager](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/snmpmanager_module.html) | ✅ | ✅ | | [snmpmib](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/snmpmib_module.html) | ✅ | ❌ | | [snmpoption](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/snmpoption_module.html) | ✅ | ❌ | | [snmptrap](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/snmptrap_module.html) | ✅ | ✅ | @@ -673,23 +694,25 @@ This is a matrix of all the resources supported by the `netscaler` ansible colle | [snmpview](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/snmpview_module.html) | ✅ | ✅ | | [spilloveraction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/spilloveraction_module.html) | ✅ | ❌ | | [spilloverpolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/spilloverpolicy_module.html) | ✅ | ❌ | -| [sslaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslaction_module.html) | ✅ | ❌ | +| [sslaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslaction_module.html) | ✅ | ✅ | +| [sslcacertbundle](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslcacertbundle_module.html) | ✅ | ❌ | | [sslcacertgroup](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslcacertgroup_module.html) | ✅ | ❌ | | [sslcacertgroup_sslcertkey_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslcacertgroup_sslcertkey_binding_module.html) | ✅ | ❌ | | [sslcert](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslcert_module.html) | ✅ | ✅ | | [sslcertbundle](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslcertbundle_module.html) | ✅ | ❌ | -| [sslcertfile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslcertfile_module.html) | ✅ | ✅ | +| [sslcertfile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslcertfile_module.html) | ✅ | ❌ | | [sslcertificatechain](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslcertificatechain_module.html) | ✅ | ❌ | | [sslcertkey](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslcertkey_module.html) | ✅ | ✅ | -| [sslcertkey_sslocspresponder_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslcertkey_sslocspresponder_binding_module.html) | ✅ | ❌ | -| [sslcertkeybundle](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslcertkeybundle_module.html) | ✅ | ❌ | -| [sslcertreq](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslcertreq_module.html) | ✅ | ❌ | -| [sslcipher](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslcipher_module.html) | ✅ | ❌ | -| [sslcipher_sslciphersuite_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslcipher_sslciphersuite_binding_module.html) | ✅ | ❌ | -| [sslcrl](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslcrl_module.html) | ✅ | ❌ | +| [sslcertkey_sslocspresponder_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslcertkey_sslocspresponder_binding_module.html) | ✅ | ✅ | +| [sslcertkeybundle](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslcertkeybundle_module.html) | ✅ | ✅ | +| [sslcertreq](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslcertreq_module.html) | ✅ | ✅ | +| [sslcipher](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslcipher_module.html) | ✅ | ✅ | +| [sslcipher_sslciphersuite_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslcipher_sslciphersuite_binding_module.html) | ✅ | ✅ | +| [sslcrl](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslcrl_module.html) | ✅ | ✅ | | [sslcrlfile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslcrlfile_module.html) | ✅ | ❌ | +| [ssldefaultprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/ssldefaultprofile_module.html) | ✅ | ❌ | | [ssldhfile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/ssldhfile_module.html) | ✅ | ❌ | -| [ssldhparam](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/ssldhparam_module.html) | ✅ | ❌ | +| [ssldhparam](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/ssldhparam_module.html) | ✅ | ✅ | | [ssldtlsprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/ssldtlsprofile_module.html) | ✅ | ❌ | | [sslecdsakey](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslecdsakey_module.html) | ✅ | ❌ | | [sslfips](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslfips_module.html) | ✅ | ❌ | @@ -699,94 +722,100 @@ This is a matrix of all the resources supported by the `netscaler` ansible colle | [sslglobal_sslpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslglobal_sslpolicy_binding_module.html) | ✅ | ❌ | | [sslhsmkey](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslhsmkey_module.html) | ✅ | ❌ | | [sslkeyfile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslkeyfile_module.html) | ✅ | ❌ | -| [ssllogprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/ssllogprofile_module.html) | ✅ | ❌ | -| [sslocspresponder](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslocspresponder_module.html) | ✅ | ❌ | -| [sslparameter](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslparameter_module.html) | ✅ | ❌ | +| [ssllogprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/ssllogprofile_module.html) | ✅ | ✅ | +| [sslocspresponder](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslocspresponder_module.html) | ✅ | ✅ | +| [sslparameter](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslparameter_module.html) | ✅ | ✅ | | [sslpkcs12](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslpkcs12_module.html) | ✅ | ❌ | | [sslpkcs8](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslpkcs8_module.html) | ✅ | ❌ | -| [sslpolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslpolicy_module.html) | ✅ | ❌ | -| [sslpolicylabel](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslpolicylabel_module.html) | ✅ | ❌ | +| [sslpolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslpolicy_module.html) | ✅ | ✅ | +| [sslpolicylabel](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslpolicylabel_module.html) | ✅ | ✅ | | [sslpolicylabel_sslpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslpolicylabel_sslpolicy_binding_module.html) | ✅ | ❌ | -| [sslprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslprofile_module.html) | ✅ | ❌ | -| [sslprofile_ecccurve_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslprofile_ecccurve_binding_module.html) | ✅ | ❌ | +| [sslprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslprofile_module.html) | ✅ | ✅ | +| [sslprofile_ecccurve_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslprofile_ecccurve_binding_module.html) | ✅ | ✅ | | [sslprofile_sslcertkey_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslprofile_sslcertkey_binding_module.html) | ✅ | ❌ | -| [sslprofile_sslcipher_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslprofile_sslcipher_binding_module.html) | ✅ | ❌ | +| [sslprofile_sslcipher_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslprofile_sslcipher_binding_module.html) | ✅ | ✅ | | [sslprofile_sslciphersuite_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslprofile_sslciphersuite_binding_module.html) | ✅ | ❌ | -| [sslrsakey](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslrsakey_module.html) | ✅ | ❌ | +| [sslrsakey](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslrsakey_module.html) | ✅ | ✅ | | [sslservice](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslservice_module.html) | ✅ | ✅ | -| [sslservice_ecccurve_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslservice_ecccurve_binding_module.html) | ✅ | ❌ | -| [sslservice_sslcertkey_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslservice_sslcertkey_binding_module.html) | ✅ | ❌ | -| [sslservice_sslcipher_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslservice_sslcipher_binding_module.html) | ✅ | ❌ | +| [sslservice_ecccurve_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslservice_ecccurve_binding_module.html) | ✅ | ✅ | +| [sslservice_sslcacertbundle_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslservice_sslcacertbundle_binding_module.html) | ✅ | ❌ | +| [sslservice_sslcertkey_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslservice_sslcertkey_binding_module.html) | ✅ | ✅ | +| [sslservice_sslcipher_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslservice_sslcipher_binding_module.html) | ✅ | ✅ | | [sslservice_sslciphersuite_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslservice_sslciphersuite_binding_module.html) | ✅ | ❌ | | [sslservice_sslpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslservice_sslpolicy_binding_module.html) | ✅ | ❌ | -| [sslservicegroup](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslservicegroup_module.html) | ✅ | ❌ | -| [sslservicegroup_ecccurve_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslservicegroup_ecccurve_binding_module.html) | ✅ | ❌ | -| [sslservicegroup_sslcertkey_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslservicegroup_sslcertkey_binding_module.html) | ✅ | ❌ | +| [sslservicegroup](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslservicegroup_module.html) | ✅ | ✅ | +| [sslservicegroup_ecccurve_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslservicegroup_ecccurve_binding_module.html) | ✅ | ✅ | +| [sslservicegroup_sslcacertbundle_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslservicegroup_sslcacertbundle_binding_module.html) | ✅ | ❌ | +| [sslservicegroup_sslcertkey_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslservicegroup_sslcertkey_binding_module.html) | ✅ | ✅ | | [sslservicegroup_sslcipher_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslservicegroup_sslcipher_binding_module.html) | ✅ | ❌ | | [sslservicegroup_sslciphersuite_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslservicegroup_sslciphersuite_binding_module.html) | ✅ | ❌ | -| [sslvserver](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslvserver_module.html) | ✅ | ❌ | +| [sslvserver](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslvserver_module.html) | ✅ | ✅ | | sslvserver_appfwpolicy_binding | ❌ | ❌ | | sslvserver_auditnslogpolicy_binding | ❌ | ❌ | | sslvserver_auditsyslogpolicy_binding | ❌ | ❌ | | sslvserver_authorizationpolicy_binding | ❌ | ❌ | | sslvserver_cachepolicy_binding | ❌ | ❌ | | sslvserver_cmppolicy_binding | ❌ | ❌ | -| [sslvserver_ecccurve_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslvserver_ecccurve_binding_module.html) | ✅ | ❌ | +| [sslvserver_ecccurve_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslvserver_ecccurve_binding_module.html) | ✅ | ✅ | | sslvserver_responderpolicy_binding | ❌ | ❌ | | sslvserver_rewritepolicy_binding | ❌ | ❌ | -| [sslvserver_sslcertkey_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslvserver_sslcertkey_binding_module.html) | ✅ | ❌ | -| [sslvserver_sslcertkeybundle_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslvserver_sslcertkeybundle_binding_module.html) | ✅ | ❌ | -| [sslvserver_sslcipher_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslvserver_sslcipher_binding_module.html) | ✅ | ❌ | +| [sslvserver_sslcacertbundle_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslvserver_sslcacertbundle_binding_module.html) | ✅ | ❌ | +| [sslvserver_sslcertkey_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslvserver_sslcertkey_binding_module.html) | ✅ | ✅ | +| [sslvserver_sslcertkeybundle_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslvserver_sslcertkeybundle_binding_module.html) | ✅ | ✅ | +| [sslvserver_sslcipher_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslvserver_sslcipher_binding_module.html) | ✅ | ✅ | | [sslvserver_sslciphersuite_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslvserver_sslciphersuite_binding_module.html) | ✅ | ❌ | -| [sslvserver_sslpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslvserver_sslpolicy_binding_module.html) | ✅ | ❌ | +| [sslvserver_sslpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslvserver_sslpolicy_binding_module.html) | ✅ | ✅ | | [sslwrapkey](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/sslwrapkey_module.html) | ✅ | ❌ | -| [streamidentifier](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/streamidentifier_module.html) | ✅ | ❌ | -| [streamselector](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/streamselector_module.html) | ✅ | ❌ | +| [streamidentifier](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/streamidentifier_module.html) | ✅ | ✅ | +| [streamidentifier_analyticsprofile_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/streamidentifier_analyticsprofile_binding_module.html) | ✅ | ❌ | +| [streamselector](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/streamselector_module.html) | ✅ | ✅ | | [streamsession](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/streamsession_module.html) | ✅ | ❌ | | [subscribergxinterface](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/subscribergxinterface_module.html) | ✅ | ✅ | -| [subscriberparam](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/subscriberparam_module.html) | ✅ | ❌ | +| [subscriberparam](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/subscriberparam_module.html) | ✅ | ✅ | | [subscriberprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/subscriberprofile_module.html) | ✅ | ❌ | | [subscriberradiusinterface](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/subscriberradiusinterface_module.html) | ✅ | ❌ | | [subscribersessions](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/subscribersessions_module.html) | ✅ | ❌ | | [systemadmuserinfo](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/systemadmuserinfo_module.html) | ✅ | ❌ | +| [systemautorestorefeature](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/systemautorestorefeature_module.html) | ✅ | ❌ | | [systembackup](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/systembackup_module.html) | ✅ | ❌ | -| [systemcmdpolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/systemcmdpolicy_module.html) | ✅ | ❌ | +| [systemcmdpolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/systemcmdpolicy_module.html) | ✅ | ✅ | | [systemcollectionparam](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/systemcollectionparam_module.html) | ✅ | ❌ | | [systemcpuparam](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/systemcpuparam_module.html) | ✅ | ❌ | | [systementitydata](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/systementitydata_module.html) | ✅ | ❌ | -| [systemextramgmtcpu](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/systemextramgmtcpu_module.html) | ✅ | ❌ | +| [systemextramgmtcpu](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/systemextramgmtcpu_module.html) | ✅ | ✅ | | [systemfile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/systemfile_module.html) | ✅ | ❌ | | [systemglobal_auditnslogpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/systemglobal_auditnslogpolicy_binding_module.html) | ✅ | ❌ | | [systemglobal_auditsyslogpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/systemglobal_auditsyslogpolicy_binding_module.html) | ✅ | ❌ | | [systemglobal_authenticationldappolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/systemglobal_authenticationldappolicy_binding_module.html) | ✅ | ❌ | | [systemglobal_authenticationlocalpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/systemglobal_authenticationlocalpolicy_binding_module.html) | ✅ | ❌ | -| [systemglobal_authenticationpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/systemglobal_authenticationpolicy_binding_module.html) | ✅ | ❌ | +| [systemglobal_authenticationpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/systemglobal_authenticationpolicy_binding_module.html) | ✅ | ✅ | | [systemglobal_authenticationradiuspolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/systemglobal_authenticationradiuspolicy_binding_module.html) | ✅ | ❌ | -| [systemglobal_authenticationtacacspolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/systemglobal_authenticationtacacspolicy_binding_module.html) | ✅ | ❌ | +| [systemglobal_authenticationtacacspolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/systemglobal_authenticationtacacspolicy_binding_module.html) | ✅ | ✅ | | [systemgroup](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/systemgroup_module.html) | ✅ | ✅ | | [systemgroup_nspartition_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/systemgroup_nspartition_binding_module.html) | ✅ | ❌ | -| [systemgroup_systemcmdpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/systemgroup_systemcmdpolicy_binding_module.html) | ✅ | ❌ | -| [systemgroup_systemuser_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/systemgroup_systemuser_binding_module.html) | ✅ | ❌ | +| [systemgroup_systemcmdpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/systemgroup_systemcmdpolicy_binding_module.html) | ✅ | ✅ | +| [systemgroup_systemuser_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/systemgroup_systemuser_binding_module.html) | ✅ | ✅ | | [systemhwerror](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/systemhwerror_module.html) | ✅ | ❌ | | [systemkek](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/systemkek_module.html) | ✅ | ❌ | +| [systemlevelreporting](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/systemlevelreporting_module.html) | ✅ | ❌ | | [systemparameter](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/systemparameter_module.html) | ✅ | ✅ | | [systemrestorepoint](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/systemrestorepoint_module.html) | ✅ | ❌ | | [systemsession](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/systemsession_module.html) | ✅ | ❌ | | [systemsshkey](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/systemsshkey_module.html) | ✅ | ❌ | | [systemuser](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/systemuser_module.html) | ✅ | ✅ | | [systemuser_nspartition_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/systemuser_nspartition_binding_module.html) | ✅ | ❌ | -| [systemuser_systemcmdpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/systemuser_systemcmdpolicy_binding_module.html) | ✅ | ❌ | -| [tmformssoaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/tmformssoaction_module.html) | ✅ | ❌ | +| [systemuser_systemcmdpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/systemuser_systemcmdpolicy_binding_module.html) | ✅ | ✅ | +| [tmformssoaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/tmformssoaction_module.html) | ✅ | ✅ | | [tmglobal_auditnslogpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/tmglobal_auditnslogpolicy_binding_module.html) | ✅ | ❌ | | [tmglobal_auditsyslogpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/tmglobal_auditsyslogpolicy_binding_module.html) | ✅ | ❌ | -| [tmglobal_tmsessionpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/tmglobal_tmsessionpolicy_binding_module.html) | ✅ | ❌ | -| [tmglobal_tmtrafficpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/tmglobal_tmtrafficpolicy_binding_module.html) | ✅ | ❌ | -| [tmsamlssoprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/tmsamlssoprofile_module.html) | ✅ | ❌ | -| [tmsessionaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/tmsessionaction_module.html) | ✅ | ❌ | +| [tmglobal_tmsessionpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/tmglobal_tmsessionpolicy_binding_module.html) | ✅ | ✅ | +| [tmglobal_tmtrafficpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/tmglobal_tmtrafficpolicy_binding_module.html) | ✅ | ✅ | +| [tmsamlssoprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/tmsamlssoprofile_module.html) | ✅ | ✅ | +| [tmsessionaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/tmsessionaction_module.html) | ✅ | ✅ | | [tmsessionparameter](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/tmsessionparameter_module.html) | ✅ | ❌ | -| [tmsessionpolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/tmsessionpolicy_module.html) | ✅ | ❌ | -| [tmtrafficaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/tmtrafficaction_module.html) | ✅ | ❌ | -| [tmtrafficpolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/tmtrafficpolicy_module.html) | ✅ | ❌ | +| [tmsessionpolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/tmsessionpolicy_module.html) | ✅ | ✅ | +| [tmtrafficaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/tmtrafficaction_module.html) | ✅ | ✅ | +| [tmtrafficpolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/tmtrafficpolicy_module.html) | ✅ | ✅ | | [traceroute](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/traceroute_module.html) | ✅ | ❌ | | [traceroute6](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/traceroute6_module.html) | ✅ | ❌ | | [transformaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/transformaction_module.html) | ✅ | ❌ | @@ -795,8 +824,8 @@ This is a matrix of all the resources supported by the `netscaler` ansible colle | [transformpolicylabel](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/transformpolicylabel_module.html) | ✅ | ❌ | | [transformpolicylabel_transformpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/transformpolicylabel_transformpolicy_binding_module.html) | ✅ | ❌ | | [transformprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/transformprofile_module.html) | ✅ | ❌ | -| [tunnelglobal_tunneltrafficpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/tunnelglobal_tunneltrafficpolicy_binding_module.html) | ✅ | ❌ | -| [tunneltrafficpolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/tunneltrafficpolicy_module.html) | ✅ | ❌ | +| [tunnelglobal_tunneltrafficpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/tunnelglobal_tunneltrafficpolicy_binding_module.html) | ✅ | ✅ | +| [tunneltrafficpolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/tunneltrafficpolicy_module.html) | ✅ | ✅ | | [ulfdserver](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/ulfdserver_module.html) | ✅ | ❌ | | [urlfilteringcategorization](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/urlfilteringcategorization_module.html) | ✅ | ❌ | | [urlfilteringparameter](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/urlfilteringparameter_module.html) | ✅ | ❌ | @@ -819,14 +848,15 @@ This is a matrix of all the resources supported by the `netscaler` ansible colle | [vlan_linkset_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vlan_linkset_binding_module.html) | ✅ | ❌ | | [vlan_nsip6_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vlan_nsip6_binding_module.html) | ✅ | ❌ | | [vlan_nsip_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vlan_nsip_binding_module.html) | ✅ | ❌ | -| [vpnalwaysonprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnalwaysonprofile_module.html) | ✅ | ❌ | -| [vpnclientlessaccesspolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnclientlessaccesspolicy_module.html) | ✅ | ❌ | -| [vpnclientlessaccessprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnclientlessaccessprofile_module.html) | ✅ | ❌ | +| [vpnalwaysonprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnalwaysonprofile_module.html) | ✅ | ✅ | +| [vpnclientlessaccesspolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnclientlessaccesspolicy_module.html) | ✅ | ✅ | +| [vpnclientlessaccessprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnclientlessaccessprofile_module.html) | ✅ | ✅ | | [vpnepaprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnepaprofile_module.html) | ✅ | ❌ | -| [vpneula](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpneula_module.html) | ✅ | ❌ | -| [vpnformssoaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnformssoaction_module.html) | ✅ | ❌ | +| [vpneula](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpneula_module.html) | ✅ | ✅ | +| [vpnformssoaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnformssoaction_module.html) | ✅ | ✅ | | vpnglobal_aaapreauthenticationpolicy_binding | ❌ | ❌ | | [vpnglobal_appcontroller_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnglobal_appcontroller_binding_module.html) | ✅ | ❌ | +| [vpnglobal_appfwpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnglobal_appfwpolicy_binding_module.html) | ✅ | ❌ | | [vpnglobal_auditnslogpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnglobal_auditnslogpolicy_binding_module.html) | ✅ | ❌ | | [vpnglobal_auditsyslogpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnglobal_auditsyslogpolicy_binding_module.html) | ✅ | ❌ | | [vpnglobal_authenticationcertpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnglobal_authenticationcertpolicy_binding_module.html) | ✅ | ❌ | @@ -840,45 +870,47 @@ This is a matrix of all the resources supported by the `netscaler` ansible colle | [vpnglobal_domain_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnglobal_domain_binding_module.html) | ✅ | ❌ | | [vpnglobal_intranetip6_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnglobal_intranetip6_binding_module.html) | ✅ | ❌ | | [vpnglobal_intranetip_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnglobal_intranetip_binding_module.html) | ✅ | ❌ | +| [vpnglobal_secureprivateaccessurl_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnglobal_secureprivateaccessurl_binding_module.html) | ✅ | ❌ | | [vpnglobal_sharefileserver_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnglobal_sharefileserver_binding_module.html) | ✅ | ❌ | | [vpnglobal_sslcertkey_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnglobal_sslcertkey_binding_module.html) | ✅ | ❌ | -| [vpnglobal_staserver_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnglobal_staserver_binding_module.html) | ✅ | ❌ | +| [vpnglobal_staserver_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnglobal_staserver_binding_module.html) | ✅ | ✅ | | [vpnglobal_vpnclientlessaccesspolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnglobal_vpnclientlessaccesspolicy_binding_module.html) | ✅ | ❌ | -| [vpnglobal_vpneula_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnglobal_vpneula_binding_module.html) | ✅ | ❌ | -| [vpnglobal_vpnintranetapplication_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnglobal_vpnintranetapplication_binding_module.html) | ✅ | ❌ | +| [vpnglobal_vpneula_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnglobal_vpneula_binding_module.html) | ✅ | ✅ | +| [vpnglobal_vpnintranetapplication_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnglobal_vpnintranetapplication_binding_module.html) | ✅ | ✅ | | [vpnglobal_vpnnexthopserver_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnglobal_vpnnexthopserver_binding_module.html) | ✅ | ❌ | -| [vpnglobal_vpnportaltheme_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnglobal_vpnportaltheme_binding_module.html) | ✅ | ❌ | -| [vpnglobal_vpnsessionpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnglobal_vpnsessionpolicy_binding_module.html) | ✅ | ❌ | +| [vpnglobal_vpnportaltheme_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnglobal_vpnportaltheme_binding_module.html) | ✅ | ✅ | +| [vpnglobal_vpnsessionpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnglobal_vpnsessionpolicy_binding_module.html) | ✅ | ✅ | | [vpnglobal_vpntrafficpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnglobal_vpntrafficpolicy_binding_module.html) | ✅ | ❌ | -| [vpnglobal_vpnurl_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnglobal_vpnurl_binding_module.html) | ✅ | ❌ | +| [vpnglobal_vpnurl_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnglobal_vpnurl_binding_module.html) | ✅ | ✅ | | [vpnglobal_vpnurlpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnglobal_vpnurlpolicy_binding_module.html) | ✅ | ❌ | | [vpnicaconnection](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnicaconnection_module.html) | ✅ | ❌ | -| [vpnintranetapplication](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnintranetapplication_module.html) | ✅ | ❌ | -| [vpnnexthopserver](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnnexthopserver_module.html) | ✅ | ❌ | +| [vpnintranetapplication](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnintranetapplication_module.html) | ✅ | ✅ | +| [vpnnexthopserver](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnnexthopserver_module.html) | ✅ | ✅ | | [vpnparameter](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnparameter_module.html) | ✅ | ✅ | -| [vpnpcoipconnection](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnpcoipconnection_module.html) | ✅ | ❌ | -| [vpnpcoipprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnpcoipprofile_module.html) | ✅ | ❌ | -| [vpnpcoipvserverprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnpcoipvserverprofile_module.html) | ✅ | ❌ | -| [vpnportaltheme](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnportaltheme_module.html) | ✅ | ❌ | -| [vpnsamlssoprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnsamlssoprofile_module.html) | ✅ | ❌ | -| [vpnsessionaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnsessionaction_module.html) | ✅ | ❌ | -| [vpnsessionpolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnsessionpolicy_module.html) | ✅ | ❌ | -| [vpntrafficaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpntrafficaction_module.html) | ✅ | ❌ | -| [vpntrafficpolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpntrafficpolicy_module.html) | ✅ | ❌ | -| [vpnurl](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnurl_module.html) | ✅ | ❌ | +| [vpnpcoipconnection](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnpcoipconnection_module.html) | ✅ | ✅ | +| [vpnpcoipprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnpcoipprofile_module.html) | ✅ | ✅ | +| [vpnpcoipvserverprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnpcoipvserverprofile_module.html) | ✅ | ✅ | +| [vpnportaltheme](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnportaltheme_module.html) | ✅ | ✅ | +| [vpnsamlssoprofile](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnsamlssoprofile_module.html) | ✅ | ✅ | +| [vpnsessionaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnsessionaction_module.html) | ✅ | ✅ | +| [vpnsessionpolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnsessionpolicy_module.html) | ✅ | ✅ | +| [vpntrafficaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpntrafficaction_module.html) | ✅ | ✅ | +| [vpntrafficpolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpntrafficpolicy_module.html) | ✅ | ✅ | +| [vpnurl](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnurl_module.html) | ✅ | ✅ | | [vpnurlaction](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnurlaction_module.html) | ✅ | ❌ | | [vpnurlpolicy](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnurlpolicy_module.html) | ✅ | ❌ | -| [vpnvserver](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_module.html) | ✅ | ❌ | -| [vpnvserver_aaapreauthenticationpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_aaapreauthenticationpolicy_binding_module.html) | ✅ | ❌ | +| [vpnvserver](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_module.html) | ✅ | ✅ | +| [vpnvserver_aaapreauthenticationpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_aaapreauthenticationpolicy_binding_module.html) | ✅ | ✅ | | [vpnvserver_analyticsprofile_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_analyticsprofile_binding_module.html) | ✅ | ❌ | | [vpnvserver_appcontroller_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_appcontroller_binding_module.html) | ✅ | ❌ | -| [vpnvserver_appflowpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_appflowpolicy_binding_module.html) | ✅ | ❌ | +| [vpnvserver_appflowpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_appflowpolicy_binding_module.html) | ✅ | ✅ | +| [vpnvserver_appfwpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_appfwpolicy_binding_module.html) | ✅ | ❌ | | [vpnvserver_auditnslogpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_auditnslogpolicy_binding_module.html) | ✅ | ❌ | | [vpnvserver_auditsyslogpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_auditsyslogpolicy_binding_module.html) | ✅ | ❌ | | [vpnvserver_authenticationcertpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_authenticationcertpolicy_binding_module.html) | ✅ | ❌ | | [vpnvserver_authenticationdfapolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_authenticationdfapolicy_binding_module.html) | ✅ | ❌ | -| [vpnvserver_authenticationldappolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_authenticationldappolicy_binding_module.html) | ✅ | ❌ | -| [vpnvserver_authenticationlocalpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_authenticationlocalpolicy_binding_module.html) | ✅ | ❌ | +| [vpnvserver_authenticationldappolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_authenticationldappolicy_binding_module.html) | ✅ | ✅ | +| [vpnvserver_authenticationlocalpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_authenticationlocalpolicy_binding_module.html) | ✅ | ✅ | | [vpnvserver_authenticationloginschemapolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_authenticationloginschemapolicy_binding_module.html) | ✅ | ❌ | | [vpnvserver_authenticationnegotiatepolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_authenticationnegotiatepolicy_binding_module.html) | ✅ | ❌ | | [vpnvserver_authenticationoauthidppolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_authenticationoauthidppolicy_binding_module.html) | ✅ | ❌ | @@ -888,39 +920,40 @@ This is a matrix of all the resources supported by the `netscaler` ansible colle | [vpnvserver_authenticationsamlpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_authenticationsamlpolicy_binding_module.html) | ✅ | ❌ | | [vpnvserver_authenticationtacacspolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_authenticationtacacspolicy_binding_module.html) | ✅ | ❌ | | [vpnvserver_authenticationwebauthpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_authenticationwebauthpolicy_binding_module.html) | ✅ | ❌ | -| [vpnvserver_cachepolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_cachepolicy_binding_module.html) | ✅ | ❌ | +| [vpnvserver_cachepolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_cachepolicy_binding_module.html) | ✅ | ✅ | | [vpnvserver_cspolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_cspolicy_binding_module.html) | ✅ | ❌ | | [vpnvserver_feopolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_feopolicy_binding_module.html) | ✅ | ❌ | -| [vpnvserver_icapolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_icapolicy_binding_module.html) | ✅ | ❌ | +| [vpnvserver_icapolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_icapolicy_binding_module.html) | ✅ | ✅ | | [vpnvserver_intranetip6_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_intranetip6_binding_module.html) | ✅ | ❌ | | [vpnvserver_intranetip_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_intranetip_binding_module.html) | ✅ | ❌ | | [vpnvserver_responderpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_responderpolicy_binding_module.html) | ✅ | ❌ | | [vpnvserver_rewritepolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_rewritepolicy_binding_module.html) | ✅ | ❌ | +| [vpnvserver_secureprivateaccessurl_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_secureprivateaccessurl_binding_module.html) | ✅ | ❌ | | [vpnvserver_sharefileserver_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_sharefileserver_binding_module.html) | ✅ | ❌ | -| [vpnvserver_staserver_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_staserver_binding_module.html) | ✅ | ❌ | -| [vpnvserver_vpnclientlessaccesspolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_vpnclientlessaccesspolicy_binding_module.html) | ✅ | ❌ | +| [vpnvserver_staserver_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_staserver_binding_module.html) | ✅ | ✅ | +| [vpnvserver_vpnclientlessaccesspolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_vpnclientlessaccesspolicy_binding_module.html) | ✅ | ✅ | | [vpnvserver_vpnepaprofile_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_vpnepaprofile_binding_module.html) | ✅ | ❌ | -| [vpnvserver_vpneula_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_vpneula_binding_module.html) | ✅ | ❌ | +| [vpnvserver_vpneula_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_vpneula_binding_module.html) | ✅ | ✅ | | [vpnvserver_vpnintranetapplication_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_vpnintranetapplication_binding_module.html) | ✅ | ❌ | -| [vpnvserver_vpnnexthopserver_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_vpnnexthopserver_binding_module.html) | ✅ | ❌ | -| [vpnvserver_vpnportaltheme_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_vpnportaltheme_binding_module.html) | ✅ | ❌ | -| [vpnvserver_vpnsessionpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_vpnsessionpolicy_binding_module.html) | ✅ | ❌ | +| [vpnvserver_vpnnexthopserver_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_vpnnexthopserver_binding_module.html) | ✅ | ✅ | +| [vpnvserver_vpnportaltheme_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_vpnportaltheme_binding_module.html) | ✅ | ✅ | +| [vpnvserver_vpnsessionpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_vpnsessionpolicy_binding_module.html) | ✅ | ✅ | | [vpnvserver_vpntrafficpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_vpntrafficpolicy_binding_module.html) | ✅ | ❌ | -| [vpnvserver_vpnurl_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_vpnurl_binding_module.html) | ✅ | ❌ | +| [vpnvserver_vpnurl_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_vpnurl_binding_module.html) | ✅ | ✅ | | [vpnvserver_vpnurlpolicy_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vpnvserver_vpnurlpolicy_binding_module.html) | ✅ | ❌ | -| [vrid](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vrid_module.html) | ✅ | ❌ | -| [vrid6](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vrid6_module.html) | ✅ | ❌ | +| [vrid](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vrid_module.html) | ✅ | ✅ | +| [vrid6](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vrid6_module.html) | ✅ | ✅ | | [vrid6_channel_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vrid6_channel_binding_module.html) | ✅ | ❌ | | [vrid6_interface_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vrid6_interface_binding_module.html) | ✅ | ❌ | | [vrid6_trackinterface_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vrid6_trackinterface_binding_module.html) | ✅ | ❌ | | [vrid_channel_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vrid_channel_binding_module.html) | ✅ | ❌ | | [vrid_interface_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vrid_interface_binding_module.html) | ✅ | ❌ | | [vrid_trackinterface_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vrid_trackinterface_binding_module.html) | ✅ | ❌ | -| [vridparam](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vridparam_module.html) | ✅ | ❌ | +| [vridparam](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vridparam_module.html) | ✅ | ✅ | | [vserver](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vserver_module.html) | ✅ | ❌ | -| [vxlan](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vxlan_module.html) | ✅ | ❌ | +| [vxlan](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vxlan_module.html) | ✅ | ✅ | | [vxlan_nsip6_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vxlan_nsip6_binding_module.html) | ✅ | ❌ | | [vxlan_nsip_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vxlan_nsip_binding_module.html) | ✅ | ❌ | | [vxlan_srcip_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vxlan_srcip_binding_module.html) | ✅ | ❌ | -| [vxlanvlanmap](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vxlanvlanmap_module.html) | ✅ | ❌ | -| [vxlanvlanmap_vxlan_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vxlanvlanmap_vxlan_binding_module.html) | ✅ | ❌ | +| [vxlanvlanmap](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vxlanvlanmap_module.html) | ✅ | ✅ | +| [vxlanvlanmap_vxlan_binding](https://netscaler.github.io/ansible-collection-netscaleradc/collections/netscaler/adc/vxlanvlanmap_vxlan_binding_module.html) | ✅ | ✅ |