schema_observatory-2.0.yml 6.12 KB
schema;schema_INVENTORY:
  required: True
  type: map
  mapping:
    COMPUTERS:
      include: schema_COMPUTERS
    DEVICES:
      include: schema_DEVICES

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
    # if protocol is not defined, the default value will be os.environ['PROJECT_ROOT_PATH']/src/core/pyros_django
    protocol: 
      type: str
    is_real:
      type: bool
      required: True
    # if path_data_root is not defined, the default value will be os.environ['PROJECT_ROOT_PATH']
    path_data_root:
      type: str    

schema;schema_AGENT:
  type: map
  required: True
  mapping:
    computer:
      type: str
      required: True
    name:
      type: str
      required: True
    path: 
      type: str
    protocol: 
      type: str
    # if path_data_root is not defined, the default value will be os.environ['PROJECT_ROOT_PATH']
    path_data_root:
      type: str    

schema;schema_ALBUMS:
  type: seq
  required: True
  sequence:
    - type : map
      mapping:
        ALBUM:
          include: schema_ALBUM

schema;schema_ALBUM:
  mapping:
    name:
      type: str
      required: True
    description:
      type: str
      required: False
    CHANNELS:
      type: seq
      required: True
      sequence:
        - type: str

schema;schema_LAYOUTS:
  type: seq
  required: True
  sequence:
    - type : map
      mapping:
        LAYOUT:
          include: schema_LAYOUT

schema;schema_LAYOUT:
  type: map
  required: True
  mapping:
    name:
      type: str
    description:
      type: str
      required: False
    ALBUMS:
      type: seq
      sequence:
        - type: str

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
    ALBUMS:
      include: schema_ALBUMS
    LAYOUTS:
      include: schema_LAYOUTS



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_link:
  type: map
  required: True
  mapping: 
    type: 
      type: str
      required: True
    name: 
      type: str
      required: True
    url: 
      type: str
      required: True
    install:
      type: map
      mapping:
        shell:
          type: str
        script: 
          type: str

schema;schema_DEPENDENCY:
  type: map
  required: True
  mapping:
    computers:
      type: seq
      sequence:
        - type: str
    links:
      type: seq
      sequence:
        - type: map
          mapping : 
            link:
              include: schema_link

schema;schema_DEPENDENCIES:
  type: seq
  required: False
  sequence: 
    - type: map
      mapping:
        DEPENDENCY:
          include: schema_DEPENDENCY

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
    DEPENDENCIES:
      include: schema_DEPENDENCIES
    

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
    INVENTORY:
      include: schema_INVENTORY
    UNITS: 
      include: schema_UNITS

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