<!---
This file is automatically generated by a script.
DO NOT HAND-EDIT THIS FILE.
Script: generate_yaml_doc_tables.py
-->

# YAML Schema

YAML schema

|key | type| supports variables
|:---|:---|:---|
|name |str||
|PICS |str,list||
|config | | |
|&emsp; nodeId |int||
|&emsp; cluster |str||
|&emsp; endpoint |int||
|&emsp; _variableName_ | | |
|&emsp; &emsp; type |type||
|&emsp; &emsp; defaultValue |Any||
|tests | | |
|&emsp; label |str||
|&emsp; identity |str||
|&emsp; nodeId |int|Y|
|&emsp; runIf |str||
|&emsp; groupId |int|Y|
|&emsp; endpoint |int|Y|
|&emsp; cluster |str||
|&emsp; attribute |str||
|&emsp; command |str||
|&emsp; event |str||
|&emsp; eventNumber |int|Y|
|&emsp; disabled |bool||
|&emsp; fabricFiltered |bool||
|&emsp; verification |str||
|&emsp; PICS |str||
|&emsp; arguments | | |
|&emsp; &emsp; values | | |
|&emsp; &emsp; &emsp; value |NoneType,bool,int,float,dict,list|Y|
|&emsp; &emsp; &emsp; name |str||
|&emsp; &emsp; value |NoneType,bool,int,float,dict,list|Y|
|&emsp; response | |Y |
|&emsp; &emsp; value |NoneType,bool,int,float,dict,list|Y|
|&emsp; &emsp; name |str||
|&emsp; &emsp; error |str||
|&emsp; &emsp; clusterError |int||
|&emsp; &emsp; constraints | | |
|&emsp; &emsp; &emsp; hasValue |bool||
|&emsp; &emsp; &emsp; type |str||
|&emsp; &emsp; &emsp; minLength |int||
|&emsp; &emsp; &emsp; maxLength |int||
|&emsp; &emsp; &emsp; isHexString |bool||
|&emsp; &emsp; &emsp; startsWith |str||
|&emsp; &emsp; &emsp; endsWith |str||
|&emsp; &emsp; &emsp; isUpperCase |bool||
|&emsp; &emsp; &emsp; isLowerCase |bool||
|&emsp; &emsp; &emsp; isSetOfValues |list||
|&emsp; &emsp; &emsp; minValue |int,float|Y|
|&emsp; &emsp; &emsp; maxValue |int,float|Y|
|&emsp; &emsp; &emsp; contains |list||
|&emsp; &emsp; &emsp; excludes |list||
|&emsp; &emsp; &emsp; hasMasksSet |list||
|&emsp; &emsp; &emsp; hasMasksClear |list||
|&emsp; &emsp; &emsp; notValue |NoneType,bool,int,float,list,dict|Y|
|&emsp; &emsp; &emsp; anyOf |list||
|&emsp; &emsp; &emsp; python |str|Y|
|&emsp; &emsp; saveAs |str||
|&emsp; &emsp; saveDataVersschemaionAs |str||
|&emsp; saveResponseAs |str||
|&emsp; minInterval |int||
|&emsp; maxInterval |int||
|&emsp; keepSubscriptions |bool||
|&emsp; timeout |int||
|&emsp; timedInteractionTimeoutMs |int||
|&emsp; dataVersion |list,int|Y|
|&emsp; busyWaitMs |int||
|&emsp; wait |str||
|&emsp; minRevision |int|Y|
|&emsp; maxRevision |int|Y|
