schema_observatory-2.0.yml 4.41 KB
schema;schema_DATABASE:
  required: True
  type: map
  mapping:
    computer:
      type: str
      required: True
    file:
      type: str
      required: True

schema;schema_AGENT_DEVICE:
  type: map
  required: True
  mapping:
    computer:
      type: str
      required: True
    comm_access:
      type: str
      required: False
    name:
      type: str
      required: True
    path: 
      type: str
    device: 
      type: str
    protocol: 
      type: str
    is_real:
      type: bool
      required: True

schema;schema_AGENT:
  type: map
  required: True
  mapping:
    computer:
      type: str
      required: True
    name:
      type: str
      required: True
    path: 
      type: str

schema;schema_GROUP:
  type: map
  required: True
  mapping:
    GROUP:
      type: map
      mapping:
        logic: 
          type: str
        channels:
          type: seq
          required: True
          sequence:
            - type: str

schema;schema_CHANNEL_GROUPS:
  type: map
  required: True
  mapping:
    logic:
      type: str
    GROUPS:
      type: seq
      sequence:
        - include: schema_GROUP

schema;schema_MOUNT:
  type: map
  mapping:
    name:
      type: str
      required: True
    COMPONENT_AGENTS:
      type: seq
      required: True
      sequence:
        - type: any

schema;schema_CHANNEL:
  type: map
  mapping: 
    name:
      type: str
      required: True
    COMPONENT_AGENTS:
      type: seq
      required: True
      sequence:
        - type: any


schema;schema_SECURITY:
  type: map
  required: True
  mapping:
    name:
      type: str
      required: True
    COMPONENT_AGENTS:
      type: seq
      required: True
      sequence:
        - type: any


schema;schema_TOPOLOGY:
  required: True
  type: map
  mapping:
    SECURITY:
      include: schema_SECURITY
    MOUNT: 
      include: schema_MOUNT
    CHANNELS:
      include: schema_CHANNELS
    CHANNEL_GROUPS:
      include: schema_CHANNEL_GROUPS



schema;schema_COMPUTER:
  type: map
  mapping:
    name:
      type: str
      required: True
    file:
      type: str
      required: True
    role:
      type: str
      required: False
    network_interface_index:
      type: text
    network_ip:
      type: str

      
schema;schema_AGENTS:
  required: True
  type: seq
  matching: "any"
  sequence:
    - type: map
      mapping:
        AGENT_DEVICE:
          include: schema_AGENT_DEVICE
    - type: map
      mapping:
        AGENT:
          include: schema_AGENT

schema;schema_COMPUTERS:
  type: seq
  sequence:
    - type: map
      mapping:
        COMPUTER:
          include: schema_COMPUTER

schema;schema_UNIT:
  type: map
  required: True
  mapping:
    name:
      type: str
      required: True
    home:
      type: str
      required: True
    horizon:
      type: map
      required: True
      mapping:
        type:
          type: str
          required: True
        line:
          type: seq
          required: True
          sequence:
            - type: seq
              sequence:
              - type: number
    DATABASE:
      include: schema_DATABASE
    AGENTS:
      include: schema_AGENTS
    TOPOLOGY:
      include: schema_TOPOLOGY
    

schema;schema_UNITS:
  type: seq
  required: True
  sequence:
    - type: map
      mapping : 
        UNIT:
          include: schema_UNIT
    
    

schema;schema_CHANNELS:
  type: seq
  required: True
  sequence:
    - type : map
      mapping:
        CHANNEL:
          include: schema_CHANNEL



schema;schema_DEVICE:
  type: map
  required: True
  mapping:
    name:
      type: str
      required: True
    file: 
      type: str
      required: True
    network_interface_index:
      type: text
    network_ip:
      type: str

  
schema;schema_DEVICES:
  type: seq
  required: True
  sequence:
    - type: map
      mapping:
        DEVICE:
          include: schema_DEVICE

  
schema;schema_OBSERVATORY:
  type: map
  required: True
  mapping:
    name: 
      type: str
      required: True
    DEVICES: 
      include: schema_DEVICES
    COMPUTERS:
      include: schema_COMPUTERS
    UNITS: 
      include: schema_UNITS

type: map
mapping:
  schema:
    type: str
    required: True
  OBSERVATORY:
    include: schema_OBSERVATORY