# (c) cavaliba.com - app_status - init YAML


## -- home / Dashboard

- classname: _home
  keyname: status
  displayname: Status Monitor
  description: Status Monitor
  icon: fa-tasks
  url: /appstatus/private/
  dashboard_section: Services
  sidebar_section: Services
  #order: 950
  order: 40
  permission: p_status_access



# -- permissions

- classname: _permission
  keyname: p_status_access
  is_builtin: True
  description: "Built-in STATUS access"
  displayname: p_status_access

- classname: _permission
  keyname: p_status_read
  is_builtin: True
  description: "Built-in STATUS read"
  displayname: p_status_read

- classname: _permission
  keyname: p_status_write
  is_builtin: True
  description: "Built-in STATUS write"
  displayname: p_status_write

- classname: _permission
  keyname: p_status_admin
  is_builtin: True
  description: "Built-in STATUS admin"
  displayname: p_status_admin

# -- enumerate

- classname: _enumerate
  keyname: status_monitor_type
  is_enabled: True
  displayname: "Status Monitor Types"
  description: "Status Monitor Types"
  content: |
    - value: "HTTP"
    - value: "TCP"
    - value: "PING"


# -- schema: status_monitor

- classname: _schema
  keyname: status_monitor
  handle_method: md5
  displayname: Status Monitor
  is_enabled: yes
  order: 600
  page: Status
  icon: fa-tasks
  p_admin: p_status_admin
  p_create: p_status_write
  p_read: p_status_read
  p_update: p_status_write
  p_delete: p_status_write
  p_import: p_status_write
  p_export: p_status_read


  app:      
        displayname: Application
        page: Monitor
        order: 100
        dataformat: schema
        dataformat_ext: app

  type:
        displayname: Type
        page: Monitor
        order: 110
        dataformat: enumerate
        dataformat_ext: status_monitor_type

  target:
        displayname: Target
        page: Monitor
        order: 120
        dataformat: string

  http_code:
        displayname: Expected Status
        page: Monitor
        order: 130
        dataformat: int

  pattern:
        displayname: Expected Pattern
        page: Monitor
        order: 140
        dataformat: string

  timeout:
        displayname: Timeout (msec)
        page: Monitor
        order: 150
        dataformat: int

  schedule:
        displayname: Schedule (sec)
        page: Monitor
        order: 160
        dataformat: int


## -- dataview

- classname: _dataview
  keyname: status_monitor_default
  displayname: Status Monitor Default
  is_enabled: true
  description: Status Monitors
  target_class: status_monitor
  content: |
    columns:
        - keyname
        - displayname
        - app
        - type
        - target
        - http_code
        - pattern 
        - timeout
        - schedule 



