fmgd_report_chart – Report chart widget configuration.

Added in version 1.0.0.

Synopsis

  • This module is able to configure a FortiManager device.

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

  • Tested with FortiManager v7.x.

Requirements

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

  • ansible-core>=2.16.0

FortiManager Version Compatibility

Supported Version Ranges: v7.2.6 -> v7.2.12, v7.4.3 -> latest

Parameters

  • access_token -The token to access FortiManager without using username and password. type: str required: false
  • bypass_validation - Only set to True when module schema diffs with FortiManager API structure, module continues to execute without validating parameters. type: bool required: false default: False
  • enable_log - Enable/Disable logging for task. type: bool required: false default: False
  • forticloud_access_token - Access token of forticloud managed API users, this option is available with FortiManager later than 6.4.0. type: str required: false
  • proposed_method - The overridden method for the underlying Json RPC request. type: str required: false choices: set, update, add
  • rc_succeeded - The rc codes list with which the conditions to succeed will be overriden. type: list required: false
  • rc_failed - The rc codes list with which the conditions to fail will be overriden. type: list required: false
  • state - The directive to create, update or delete an object type: str required: true choices: present, absent
  • workspace_locking_adom - Acquire the workspace lock if FortiManager is running in workspace mode. type: str required: false choices: global, custom adom including root
  • workspace_locking_timeout - The maximum time in seconds to wait for other users to release workspace lock. type: integer required: false default: 300
  • device - The parameter in requested url type: str required: true
  • vdom - The parameter in requested url type: str required: true
  • report_chart - Report chart widget configuration. type: dict
    • background Chart background. type: str more...
    • category Category. type: str choices: [traffic, event, virus, webfilter, attack, spam, dlp, app-ctrl, misc, vulnerability] more...
    • category_series (Alias name: category-series) Category series. type: dict more...
      • databind Category series value expression. type: str more...
      • font_size (Alias name: font-size) Font size of category-series title. type: int more...
    • color_palette (Alias name: color-palette) Color palette (system will pick color automatically by default). type: list more...
    • column Column. type: list more...
      • detail_unit (Alias name: detail-unit) Detail unit of column. type: str more...
      • detail_value (Alias name: detail-value) Detail value of column. type: str more...
      • footer_unit (Alias name: footer-unit) Footer unit of column. type: str more...
      • footer_value (Alias name: footer-value) Footer value of column. type: str more...
      • header_value (Alias name: header-value) Display name of table header. type: str more...
      • id Id. type: int more...
      • mapping Mapping. type: list more...
        • displayname Display name. type: str more...
        • id Id. type: int more...
        • op Comparision operater. type: str choices: [none, greater, greater-equal, less, less-equal, equal, between] more...
        • value_type (Alias name: value-type) Value type. type: str choices: [string, integer] more...
        • value1 Value 1. type: str more...
        • value2 Value 2. type: str more...
    • comments Comment. type: str more...
    • dataset Bind dataset to chart. type: list more...
    • dimension Dimension. type: str choices: [2D, 3D] more...
    • drill_down_charts (Alias name: drill-down-charts) Drill down charts. type: list more...
      • chart_name (Alias name: chart-name) Drill down chart name. type: str more...
      • id Drill down chart id. type: int more...
      • status Enable/disable this drill down chart. type: str choices: [disable, enable] more...
    • favorite Favorite. type: str choices: [no, yes] more...
    • graph_type (Alias name: graph-type) Graph type. type: str choices: [bar, line, pie, none, flow] more...
    • legend Enable/disable legend area. type: str choices: [disable, enable] more...
    • legend_font_size (Alias name: legend-font-size) Font size of legend area. type: int more...
    • name Chart widget name type: str more...
    • period Time period. type: str choices: [last24h, last7d] more...
    • policy Policy. type: int more...
    • style Style. type: str choices: [auto, manual] more...
    • title Chart title. type: str more...
    • title_font_size (Alias name: title-font-size) Font size of chart title. type: int more...
    • type Chart type. type: str choices: [graph, table] more...
    • value_series (Alias name: value-series) Value series. type: dict more...
      • databind Value series value expression. type: str more...
    • x_series (Alias name: x-series) X series. type: dict more...
      • caption X-series caption. type: str more...
      • caption_font_size (Alias name: caption-font-size) X-series caption font size. type: int more...
      • databind X-series value expression. type: str more...
      • font_size (Alias name: font-size) X-series label font size. type: int more...
      • is_category (Alias name: is-category) X-series represent category or not. type: str choices: [no, yes] more...
      • label_angle (Alias name: label-angle) X-series label angle. type: str choices: [45-degree, vertical, horizontal] more...
      • scale_direction (Alias name: scale-direction) Scale increase or decrease. type: str choices: [decrease, increase] more...
      • scale_format (Alias name: scale-format) Date/time format. type: str choices: [YYYY-MM-DD-HH-MM, YYYY-MM-DD, HH, YYYY-MM, YYYY, HH-MM, MM-DD] more...
      • scale_step (Alias name: scale-step) Scale step. type: int more...
      • scale_unit (Alias name: scale-unit) Scale unit. type: str choices: [minute, hour, day, month, year] more...
      • unit X-series unit. type: str more...
    • y_series (Alias name: y-series) Y series. type: dict more...
      • caption Y-series caption. type: str more...
      • caption_font_size (Alias name: caption-font-size) Y-series caption font size. type: int more...
      • databind Y-series value expression. type: str more...
      • extra_databind (Alias name: extra-databind) Extra y-series value. type: str more...
      • extra_y (Alias name: extra-y) Allow another y-series value type: str choices: [disable, enable] more...
      • extra_y_legend (Alias name: extra-y-legend) Extra y-series legend type/name. type: str more...
      • font_size (Alias name: font-size) Y-series label font size. type: int more...
      • group Y-series group option. type: str more...
      • label_angle (Alias name: label-angle) Y-series label angle. type: str choices: [45-degree, vertical, horizontal] more...
      • unit Y-series unit. type: str more...
      • y_legend (Alias name: y-legend) First y-series legend type/name. type: str more...

Notes

Note

  • Running in workspace locking mode is supported in this FortiManager module, the top level parameters workspace_locking_adom and workspace_locking_timeout help do the work.

  • 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 (generated based on argument schema)
  hosts: fortimanagers
  connection: httpapi
  gather_facts: false
  vars:
    ansible_httpapi_use_ssl: true
    ansible_httpapi_validate_certs: false
    ansible_httpapi_port: 443
  tasks:
    - name: Report chart widget configuration.
      fortinet.fmgdevice.fmgd_report_chart:
        # bypass_validation: false
        # workspace_locking_adom: <global or your adom name>
        # workspace_locking_timeout: 300
        # rc_succeeded: [0, -2, -3, ...]
        # rc_failed: [-2, -3, ...]
        device: <your own value>
        vdom: <your own value>
        state: present # <value in [present, absent]>
        report_chart:
          name: "your value" # Required variable, string
          # background: <string>
          # category: <value in [traffic, event, virus, ...]>
          # category_series:
          #   databind: <string>
          #   font_size: <integer>
          # color_palette: <list or string>
          # column:
          #   - detail_unit: <string>
          #     detail_value: <string>
          #     footer_unit: <string>
          #     footer_value: <string>
          #     header_value: <string>
          #     id: <integer>
          #     mapping:
          #       - displayname: <string>
          #         id: <integer>
          #         op: <value in [none, greater, greater-equal, ...]>
          #         value_type: <value in [string, integer]>
          #         value1: <string>
          #         value2: <string>
          # comments: <string>
          # dataset: <list or string>
          # dimension: <value in [2D, 3D]>
          # drill_down_charts:
          #   - chart_name: <string>
          #     id: <integer>
          #     status: <value in [disable, enable]>
          # favorite: <value in [no, yes]>
          # graph_type: <value in [bar, line, pie, ...]>
          # legend: <value in [disable, enable]>
          # legend_font_size: <integer>
          # period: <value in [last24h, last7d]>
          # policy: <integer>
          # style: <value in [auto, manual]>
          # title: <string>
          # title_font_size: <integer>
          # type: <value in [graph, table]>
          # value_series:
          #   databind: <string>
          # x_series:
          #   caption: <string>
          #   caption_font_size: <integer>
          #   databind: <string>
          #   font_size: <integer>
          #   is_category: <value in [no, yes]>
          #   label_angle: <value in [45-degree, vertical, horizontal]>
          #   scale_direction: <value in [decrease, increase]>
          #   scale_format: <value in [YYYY-MM-DD-HH-MM, YYYY-MM-DD, HH, ...]>
          #   scale_step: <integer>
          #   scale_unit: <value in [minute, hour, day, ...]>
          #   unit: <string>
          # y_series:
          #   caption: <string>
          #   caption_font_size: <integer>
          #   databind: <string>
          #   extra_databind: <string>
          #   extra_y: <value in [disable, enable]>
          #   extra_y_legend: <string>
          #   font_size: <integer>
          #   group: <string>
          #   label_angle: <value in [45-degree, vertical, horizontal]>
          #   unit: <string>
          #   y_legend: <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 FortiManager version. returned: if at least one parameter not supported by the current FortiManager version type: list

Status

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

Authors

  • Xinwei Du (@dux-fortinet)

  • Xing Li (@lix-fortinet)

  • Jie Xue (@JieX19)

  • Link Zheng (@chillancezen)

  • Frank Shen (@fshen01)

  • Hongbin Lu (@fgtdev-hblu)