<?xml version="1.0"?>
<interfaceDefinition>
  <node name="monitor">
    <children>
      <node name="log">
        <children>
          <node name="webproxy">
            <properties>
              <help>Monitor last lines of Webproxy log</help>
            </properties>
            <command>journalctl --no-hostname --boot --follow --unit squid.service</command>
            <children>
              <leafNode name="access-log">
                <properties>
                  <help>Monitor the last lines of the Webproxy access log</help>
                </properties>
                <command>if [ -f /var/log/squid/access.log ]; then sudo tail --follow=name /var/log/squid/access.log; else echo "WebProxy access-log does not exist"; fi</command>
              </leafNode>
              <leafNode name="cache-log">
                <properties>
                  <help>Monitor the last lines of the Webproxy cache log</help>
                </properties>
                <command>if [ -f /var/log/squid/cache.log ]; then sudo tail --follow=name /var/log/squid/cache.log; else echo "WebProxy cache-log does not exist"; fi</command>
              </leafNode>
            </children>
          </node>
        </children>
      </node>
    </children>
  </node>
  <node name="restart">
    <children>
      <node name="webproxy">
        <properties>
          <help>Restart WebProxy service</help>
        </properties>
        <command>if cli-shell-api existsActive service webproxy; then sudo systemctl restart squid.service; else echo "Service WebProxy not configured"; fi</command>
      </node>
    </children>
  </node>
  <node name="show">
    <children>
      <node name="webproxy">
        <properties>
          <help>Show WebProxy information</help>
        </properties>
        <children>
          <!-- missing blacklist command -->
          <node name="blacklist">
            <properties>
              <help>Show webproxy blacklist information</help>
            </properties>
            <children>
              <node name="categories">
                <properties>
                  <help>Show webproxy blacklist categories</help>
                </properties>
                <command>${vyos_completion_dir}/list_webproxy_category.sh</command>
              </node>
            </children>
          </node>
          <node name="log">
            <properties>
              <help>Show contents of WebProxy access log</help>
            </properties>
            <command>if [ -e /var/log/squid/access.log ]; then sudo less $_vyatta_less_options --prompt="file %i of %m, page %dt of %D" -- `printf "%s\n" /var/log/squid/access.log* | sort -nr`; else echo "No WebProxy log"; fi</command>
          </node>
          <node name="update-log">
            <properties>
              <help>Show update log for url-filter database</help>
            </properties>
            <command>if [ -e /opt/vyatta/etc/config/url-filtering/squidguard/updatestatus ]; then cat /opt/vyatta/etc/config/url-filtering/squidguard/updatestatus; else echo "Update log not found"; fi</command>
          </node>
        </children>
      </node>
    </children>
  </node>
  <node name="update">
    <children>
      <node name="webproxy">
        <properties>
          <help>Update WebProxy</help>
        </properties>
        <children>
          <node name="blacklists">
            <properties>
              <help>Update the webproxy blacklist database</help>
            </properties>
            <command>sudo ${vyos_op_scripts_dir}/webproxy_update_blacklist.sh --update-blacklist</command>
            <children>
              <tagNode name="vrf">
                <properties>
                  <help>Update webproxy blacklist database via specified VRF</help>
                  <completionHelp>
                    <path>vrf name</path>
                  </completionHelp>
                </properties>
                <command>sudo ${vyos_op_scripts_dir}/webproxy_update_blacklist.sh --update-blacklist --vrf "${5}" </command>
              </tagNode>
            </children>
          </node>
        </children>
      </node>
    </children>
  </node>
</interfaceDefinition>