---

node:       schedule.$name.actions.$name
infos_node: schedule.actions

structure:

  actions:
    _:                            node-list   # foreach action
    type:                         string
    profile:                      string
    profile_is_pattern:           bool
    options:                      node
      f:                          string
      od:                         string
      of:                         string
      oft:                        string
      rn:                         string
      res:                        string
      rca:                        string
      rna:                        string
      ca:                         string
      ba:                         string
      er:                         int

    filter_info:                  node
      number_of_days_active:      bool
      number_of_days:             int

    date_filter:                  node
      type:                       string
      custom:                     string
      relative_date_unit:         string
      relative_date_unit_count:   int
      relative_prefix:            string

    report_filters:               node
      filter_id:                  string
      filter_items:               node-list
      filter_groups:              node-list

    command_line:                 string

    language:                     string
    extra_options:                string

infos:

  - node:               type
    values:
                        - update_database
                        - build_database
                        - remove_database_data
                        - generate_report_files
                        - send_report_by_email
                        - export_csv_table
                        - execute_command_line

  - node:               profile
    value:              profile node name or Asterisk * for all profiles.
                        The Asterisk * for all profiles can only be used if
                        type is equal update_database or build_database or
                        remove_database_data.

  - node:               profile_is_pattern
    required_if:        Optional if type is equal update_database or
                        build_database or remove_database_data.
    comment:            If true, the profile node name is a wildcard pattern.
                        The action applies to all matching profiles.

  - node:               options
    comment:            Node with command line shortcuts.

  - node:               options.f
    required_if:        if type equal remove_database_data
    comment:            Filter expression

  - node:               options.od
    required_if:        if type is equal generate_report_files and
                        output_format_type is equal html
    comment:            output_directory

  - node:               options.oft
    required_if:        (if type is equal generate_report_files and
                        output_format_type is equal pdf) or
                        (if type is equal export_csv_table)
    comment:            output_file

  - node:               options.oft
    values:             [html, pdf]
    required_if:        if type is equal generate_report_files
    comment:            output_format_type

  - node:               options.rn
    value:              report node name or  Asterisk * for all reports.
                        The Asterisk * can only be used if type is equal
                        generate_report_files.
    required_if:        if type is equal generate_report_files or
                        send_report_by_email or export_csv_table.
    comment:            report_name. The report node name

  - node:               options.res
    required_if:        if type is equal send_report_by_email
    comment:            report_email_subject

  - node:               options.rca
    required_if:        if type is equal send_report_by_email
    comment:            recipient_address. One or more email recipient
                        addresses, separated by a comma.

  - node:               options.rna
    required_if:        if type is equal send_report_by_email
    comment:            return_address. The sender's email address.

  - node:               options.ca
    required_if:        if type is equal send_report_by_email
    comment:            cc_address. Email cc addresses, separated by a comma.

  - node:               options.ba
    required_if:        if type is equal send_report_by_email
    comment:            bcc_address. Email bcc addresses, separated by a comma.

  - node:               options.er
    values:
      value:            '-1'
      comment:          Exports all rows

      value:            '>0'
      comment:          Number of rows to export.

    required_if:        if type is equal export_csv_table
    comment:            ending_row.

  - node:               filter_info.number_of_days_active
    required_if:        if type is equal remove_database_data
    comment:

  - node:               filter_info.number_of_days
    required_if:        if type is equal remove_database_data and
                        if filter_info.number_of_days_active is true.
    comment:            The number of days used in the filter expression.

  - node:               date_filter.type
    values:             [none, relative, custom]

  - node:               date_filter.custom
    comment:            A custom date filter, i.e. last3d.

  - node:               date_filter.relative_date_unit

  - node:               date_filter.relative_date_unit_count

  - node:               date_filter.relative_prefix

  - node:               report_filters
    comment:            The report filter widget is similar to the one in
                        Reports. With the added import option it is possible to
                        import report filters from the selected profile and
                        from other scheduler actions.
                        # TODO -- refine report_filters description
    version_added:      8.7.1

  - node:               report_filters.filter_id

  - node:               report_filters.filter_items

  - node:               report_filters.filter_groups

  - node:               command_line
    required_if:        if type is equal execute_command_line
    comment:            Arbitrary command line.

  - node:               language
    required_if:        if type is equal generate_report_files or
                        send_report_by_email or export_csv_table.
    comment:            This sets the output language of the report.

  - node:               extra_options
    comment:            Any extra options, entered as in command shell.

...















