consumed_interfaces_mapping

datastore grammar version 113

'imported interfaces': [ imported-interfaces ] dictionary {
	'interface': [ = ] reference
	'parameters': [ (, ) ] dictionary {
		'source parameter': [ = ] reference
	}
	'mapping': component 'node type mapping'
}
'application rules mapping' {
	'rules': dictionary { [ where ]
		'source rule': [ = ] reference
	}
}
'interface rules mapping' {
	'rules': dictionary { [ where ]
		'source rule': [ = ] reference
	}
}
'node type mapping' { [ (, ) ]
	'attributes': dictionary {
		'type': [ : ] stategroup (
			'command' { [ command ]
				'type': [ => ] stategroup (
					'internal' {
						'source event': [ handle ] reference
						'mapping': component 'node type mapping'
					}
					'external' {
						'target command': [ execute ] reference
						'mapping': component 'parameter mapping'
					}
				)
			}
			'property' {
				'type': stategroup (
					'text' { [ text ]
						'text': [ = ] reference
						'has rules': stategroup (
							'no' { }
							'yes' {
								'rules mapping': component 'application rules mapping'
							}
						)
					}
					'number' { [ number ]
						'number': [ = ] reference
					}
					'file' { [ file ]
						'file': [ = ] reference
					}
					'group' { [ group ]
						'group': [ = ] reference
						'mapping': component 'node type mapping'
					}
					'collection' { [ collection = ]
						'collection': reference
						'mapping': component 'node type mapping'
					}
					'state group' { [ stategroup = ]
						'state group': reference
						'states': [ (, ) ] dictionary { [ | ]
							'target state': [ => ] reference
							'has rules': stategroup (
								'no' { }
								'yes' {
									'rules mapping': component 'application rules mapping'
								}
							)
							'mapping': component 'node type mapping'
						}
					}
				)
			}
		)
	}
}
'parameter mapping' { [ (, ) ]
	'properties': dictionary {
		'type': [ : ] stategroup (
			'text' { [ text ]
				'text': [ = ] reference
				'has rules': stategroup (
					'no' { }
					'yes' {
						'rules mapping': component 'interface rules mapping'
					}
				)
			}
			'number' { [ number ]
				'number': [ = ] reference
			}
			'file' { [ file ]
				'file': [ = ] reference
			}
			'group' { [ group = ]
				'group': reference
				'mapping': component 'parameter mapping'
			}
			'collection' { [ collection = ]
				'collection': reference
				'mapping': component 'parameter mapping'
			}
			'state group' { [ stategroup = ]
				'state group': reference
				'states': [ (, ) ] dictionary { [ | ]
					'target state': [ => ] reference
					'has rules': stategroup (
						'no' { }
						'yes' {
							'rules mapping': component 'interface rules mapping'
						}
					)
					'mapping': component 'parameter mapping'
				}
			}
		)
	}
}