schema_device-2.0.yml 2.06 KB
schema;schema_component_attributes:
  type: map
  required: True
  mapping:
    key:
      type: str
      required: True
    # is_* are False by default
    is_editable:
      type: bool
    is_container:
      type: bool
    is_enum:
      type: bool
    value:
      type: any
      required: True
    liminf:
      type: number
    limsup:
      type: number
    label:
      type: any
    unit:
      type: any
    
schema;schema_capability:
  type: map
  required: True
  mapping: 
    component:
      type: str
      required: True
    attributes:
      type: seq
      required: False # True if we're not using default values
      seq:
        - include : schema_component_attributes

# old version
# schema;schema_capability:
#   type: map
#   required: True
#   mapping:
   
schema;schema_capabilities:
  type: seq
  sequence:
    - type: map
      mapping:
        CAPABILITY:
          include: schema_capability

schema;schema_device:
  type: map
  required: True
  mapping:
    _inventory_label:
      type: str
      required: True
    _manufacturer:
      type: str
      required: True
    _model: 
      type: str
      required: True
    _description: 
      type: str
      required: True
    _sn: 
      type: text
      required: True
    _power:
      type: map
      required: True
      mapping:
        _voltage:
          type: int
        _intensity: 
          type: int
        _socket:
          type: str
       
    _connector:
      type: map
      
      mapping:
        _input:
          type: str
          
        _output:
          type: str
          
    _os: 
      type: str
      
    _os_version: 
      type: str
      
    _protocol:
      type: map
      
      mapping:
        _transport:
          type: str
          
        _langage: 
          type: str
          
        _read: 
          type: bool
            
        _write: 
          type: bool
            
    CAPABILITIES:
      include: schema_capabilities
      required: True

type: map
mapping:
    schema:
        type: str
        required: True
    DEVICE:
      include: schema_device