faz_report_config_schedule – Config schedule.

Added in version 1.5.0.

Warning

Starting in version 2.0.0, all variables will be named in the underscore naming convention.

  • Possible variable names before 2.0.0: variable-name, variable name, variable.name

  • Corresponding variable names since 2.0.0: variable_name

FortiAnalyzer Ansible v1.4+ supports both previous argument name and new underscore name. You will receive deprecation warnings if you keep using the previous argument name. You can ignore the warning by setting deprecation_warnings=False in ansible.cfg.

Synopsis

  • This module is able to configure a FortiAnalyzer device.

  • Examples include all parameters and values need to be adjusted to data sources before usage.

  • This module supports check mode and diff mode.

Requirements

The below requirements are needed on the host that executes this module.

  • ansible>=2.16.0

FortiAnalyzer Version Compatibility

Supported Version Ranges: v6.2.1 -> latest

Parameters

  • access_token The token to access FortiAnalyzer without using ansible_username and ansible_password. type: str
  • bypass_validation Only set to True when module schema diffs with FortiAnalyzer API structure, module continues to execute without validating parameters type: bool default: False
  • enable_log Enable/Disable logging for task type: bool default: False
  • forticloud_access_token Access token of forticloud analyzer API users. type: str
  • log_path The path to save log. Used if enable_log is true. Please use absolute path instead of relative path. If the log_path setting is incorrect, the log will be saved in /tmp/fortianalyzer.ansible.logtype: str default: "/tmp/fortianalyzer.ansible.log"
  • proposed_method The overridden method for the underlying Json RPC request type: str choices: set, update, add
  • version_check If set to True, it will check whether the parameters used are supported by the corresponding version of FortiAnazlyer locally based on FNDN data. A warning will be returned in version_check_warning if there is a mismatch. This warning is only a suggestion and may not be accurate. type: bool default: True
  • rc_succeeded The rc codes list with which the conditions to succeed will be overriden type: list
  • rc_failed The rc codes list with which the conditions to fail will be overriden type: list
  • state The directive to create, update or delete an object type: str required: true choices: present, absent
  • adom The parameter in requested url type: str required: true
  • report_config_schedule Config schedule. type: dict
    • description type: str more...
    • devices reference: /report/adom/<adom-name>/config/schedule/<schedule_name>/devices type: list of dict more...
      • devices_name type: str more...
      • interfaces reference: /sql-report/schedule/devices/interfaces type: list of dict more...
        • name type: str more...
    • filter reference: /report/adom/<adom-name>/config/schedule/<schedule_name>/filter type: list of dict more...
      • description type: str more...
      • name type: str more...
      • opcode type: str choices: [not_equal, equal] more...
      • status type: int default: 0 more...
      • value type: str more...
    • name type: str more...
    • report_layout reference: /report/adom/<adom-name>/config/schedule/<schedule_name>/report-layout type: list of dict more...
      • layout_id type: int more...
      • is_global type: int more...
    • status type: str choices: [enable, disable] more...
    • admin_user type: str more...
    • auto_hcache type: str choices: [enable, disable] default: disable more...
    • date_format type: str more...
    • dev_type type: str choices: [FortiSandbox, FortiWeb, Fabric, Syslog, FortiCache, FortiAuthenticator, FortiMail, FortiProxy, FortiManager, FortiNAC, FortiAnalyzer, FortiClient, FortiDDoS, FortiGate, FortiFirewall] default: FortiGate more...
    • device_list_type type: str choices: [compact, count, detailed, none] default: more...
    • display_device_by type: str choices: [device-id, device-name] default: more...
    • display_table_contents type: str choices: [enable, disable] default: enable more...
    • email_report_per_device type: str choices: [enable, disable] default: disable more...
    • filter_logic type: str choices: [all, any] default: all more...
    • filter_type type: str choices: [srcip, none, hostname, group, user] default: more...
    • include_coverpage type: str choices: [enable, disable] default: enable more...
    • include_other type: str choices: [auto, enable, disable] default: auto more...
    • language type: str default: Default more...
    • ldap_query type: str choices: [enable, disable] default: disable more...
    • ldap_server type: str more...
    • ldap_user_case_change type: str choices: [upper, lower, disable] default: more...
    • max_reports type: int default: 99 more...
    • obfuscate_user type: str choices: [enable, disable] default: disable more...
    • orientation type: str choices: [portrait, landscape] default: portrait more...
    • output_format type: str choices: [xml, rtf, connectwise, html, pdf, mht, txt, csv] default: more...
    • output_profile type: str more...
    • period_end [YYYY-MM-DD], [HH:MM:SS] type: list of dict more...
    • period_last_n type: int more...
    • period_opt type: str choices: [faz, dev] default: more...
    • period_start [YYYY-MM-DD], [HH:MM:SS] type: list of dict more...
    • print_report_filters type: str choices: [enable, disable] default: enable more...
    • report_per_device type: str choices: [enable, disable] default: disable more...
    • resolve_hostname type: str choices: [enable, disable] default: disable more...
    • schedule_color type: str more...
    • schedule_frequency type: int default: 1 more...
    • schedule_type type: str choices: [every-n-days, every-n-months, every-n-hours, on-demand, every-n-weeks] default: more...
    • schedule_valid_end [YYYY-MM-DD], [HH:MM:SS] type: str more...
    • schedule_valid_start [YYYY-MM-DD], [HH:MM:SS] type: str more...
    • time_period type: str choices: [last-n-weeks, last-month, last-7-days, last-week, yesterday, this-month, this-week, last-30-days, last-quarter, last-2-weeks, this-quarter, last-n-days, last-14-days, this-year, other, today, last-n-hours] default: more...
    • week_start type: str choices: [wed, sun, fri, thr, mon, tue, sat] default: more...
    • address_filter reference: /report/adom/<adom-name>/config/schedule/<schedule_name>/address-filter type: list of dict more...
      • id type: int more...
      • include_option type: str more...
      • address_type type: str more...
    • soc_cust_filters reference: /sql-report/schedule/soc-cust-filters type: list of dict more...
      • name type: str more...

Notes

Note

  • To create or update an object, use state: present directive.

  • To delete an object, use state: absent directive

  • Normally, running one module can fail when a non-zero rc is returned. you can also override the conditions to fail or succeed with parameters rc_failed and rc_succeeded

Examples

- name: Example playbook
  hosts: fortianalyzers
  connection: httpapi
  gather_facts: false
  vars:
    ansible_network_os: fortinet.fortianalyzer.fortianalyzer
    ansible_httpapi_port: 443
    ansible_httpapi_use_ssl: true
    ansible_httpapi_validate_certs: false
  tasks:
    - name: Config schedule.
      fortinet.fortianalyzer.faz_report_config_schedule:
        # bypass_validation: false
        # rc_succeeded: [0, -2, -3, ...]
        # rc_failed: [-2, -3, ...]
        adom: <your own value>
        state: present # <value in [present, absent]>
        report_config_schedule:
          name: "your value" # Required variable, string
          # description: <value of string>
          # devices:
          #   - devices_name: <value of string>
          #     interfaces:
          #       - name: <value of string>
          # filter:
          #   - description: <value of string>
          #     name: <value of string>
          #     opcode: <value in [not_equal, equal]>
          #     status: <value of integer>
          #     value: <value of string>
          # report_layout:
          #   - layout_id: <value of integer>
          #     is_global: <value of integer>
          # status: <value in [enable, disable]>
          # admin_user: <value of string>
          # auto_hcache: <value in [enable, disable]>
          # date_format: <value of string>
          # dev_type: <value in [FortiSandbox, FortiWeb, Fabric, ...]>
          # device_list_type: <value in [compact, count, detailed, ...]>
          # display_device_by: <value in [device-id, device-name]>
          # display_table_contents: <value in [enable, disable]>
          # email_report_per_device: <value in [enable, disable]>
          # filter_logic: <value in [all, any]>
          # filter_type: <value in [srcip, none, hostname, ...]>
          # include_coverpage: <value in [enable, disable]>
          # include_other: <value in [auto, enable, disable]>
          # language: <value of string>
          # ldap_query: <value in [enable, disable]>
          # ldap_server: <value of string>
          # ldap_user_case_change: <value in [upper, lower, disable]>
          # max_reports: <value of integer>
          # obfuscate_user: <value in [enable, disable]>
          # orientation: <value in [portrait, landscape]>
          # output_format: <value in [xml, rtf, connectwise, ...]>
          # output_profile: <value of string>
          # period_end: <value of dict>
          # period_last_n: <value of integer>
          # period_opt: <value in [faz, dev]>
          # period_start: <value of dict>
          # print_report_filters: <value in [enable, disable]>
          # report_per_device: <value in [enable, disable]>
          # resolve_hostname: <value in [enable, disable]>
          # schedule_color: <value of string>
          # schedule_frequency: <value of integer>
          # schedule_type: <value in [every-n-days, every-n-months, every-n-hours, ...]>
          # schedule_valid_end: <value of string>
          # schedule_valid_start: <value of string>
          # time_period: <value in [last-n-weeks, last-month, last-7-days, ...]>
          # week_start: <value in [wed, sun, fri, ...]>
          # address_filter:
          #   - id: <value of integer>
          #     include_option: <value of string>
          #     address_type: <value of string>
          # soc_cust_filters:
          #   - name: <value of string>

Return Values

Common return values are documented: https://docs.ansible.com/ansible/latest/reference_appendices/common_return_values.html#common-return-values, the following are the fields unique to this module:

  • meta The result of the request. returned: always type: dict
    • request_url The full url requested. returned: always type: str sample: /sys/login/user
    • response_code The status of api request. returned: always type: int sample: 0
    • response_data The data body of the api response. returned: optional type: list or dict
    • response_message The descriptive message of the api response. returned: always type: str sample: OK
    • system_information The information of the target system. returned: always type: dict
  • rc The status the request. returned: always type: int sample: 0
  • version_check_warning Warning if the parameters used in the playbook are not supported by the current fortianalyzer version. returned: if params are not supported in the current version type: list

Status

  • This module is not guaranteed to have a backwards compatible interface.

Authors

  • Xinwei Du (@dux-fortinet)

  • Maxx Liu (@MaxxLiu22)

  • Link Zheng (@chillancezen)

  • Jie Xue (@JieX19)

  • Frank Shen (@fshen01)

  • Hongbin Lu (@fgtdev-hblu)