ManageIQ Automation Engine Datastore Layout

MIQ_AE_CLASSES Table

Each row defines an AE Class in the System

Column Description
display_name Display Name of the Class
description Class Description
namespace Class Namespace
class_name Class Name
type Class Type (abstract ==> No Instances Allowed, ...)
visibility Private ==> only visible within Resolution; Public ==> accessible to caller of Resolution
parent_id Row ID of Parent Class (NULL if no inheritance)

Abstract MIQ_AE_SCHEMA Table

Each row defines a Column in the associated Instances Table

Real Schema Classes/Tables are derived from this one

Derived Table Name is ==> miq_ae_schema_xxxx, where xxxx is the row id of the class

Column Description
name Name of the Instance Column
display_name Display Name of the Instance Column
description Description of the Instance Column
aetype AE Type of the Column (Assertion, Attribute, Relation, Behavior)
datatype Data Type of the Column (string, integer)
priority Priority processing of the Column
visibility Private ==> only visible within DIP; Public ==> accessible to caller of DIP
owner System (changed ONLY by system) vs User (updates allowed by user)
default_value Default Value
flags To Be Determined

Abstract MIQ_AE_INSTANCES Table

Each row defines an AE Instance of a specific AE Class

Real Instances Classes/Tables are derived from this one

Derived Table Name is ==> miq_ae_instances_xxxx, where xxxx is the row id of the class

Column Description
name Name of the Instance
display_name Display Name of the Instance
methods_table Name of the Override Methods Table for this Instance (if there is one)

ALL other columns are defined in the AE Schema table for this AE Class

Abstract MIQ_AE_METHODS Table

Each row defines a method for this AE Class or AE Instance

Real Methods Classes/Tables are derived from this one

Derived Table Name is ==> miq_ae_methods_xxxx, where xxxx is the row id of the class

Column Description
name Name of the Method
display_name Display Name of the Method
description Description of the Method
location Location of the Method
type Type of the Method (Ruby, Perl, Python, Java, ... )
input Input Parameters (in some language -- XML?)
output Output Parameters (in some language -- XML?)
execution Execution (Server, Client or somewhere else)

MIQ_AE_RESOLUTIONS Table

(to keep memory footprint low) Needs to represent a derived tree