Module IoTSiteWise.AssetModel

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-assetmodel.html

type asset_model_hierarchy = {
  1. logical_id : string;
  2. child_asset_model_id : string;
  3. name : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-assetmodelhierarchy.html

and tag = {
  1. value : string;
  2. key : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html

and tumbling_window = {
  1. interval : string;
  2. offset : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-tumblingwindow.html

and attribute = {
  1. default_value : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-attribute.html

and variable_value = {
  1. property_logical_id : string;
  2. hierarchy_logical_id : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-variablevalue.html

and expression_variable = {
  1. value : variable_value;
  2. name : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-expressionvariable.html

and metric_window = {
  1. tumbling : tumbling_window option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-metricwindow.html

and transform = {
  1. variables : expression_variable list;
  2. expression : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-transform.html

and metric = {
  1. variables : expression_variable list;
  2. window : metric_window;
  3. expression : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-metric.html

and property_type = {
  1. type_name : string;
  2. attribute : attribute option;
  3. metric : metric option;
  4. transform : transform option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-propertytype.html

and asset_model_property = {
  1. type_ : property_type;
  2. logical_id : string;
  3. data_type_spec : string option;
  4. data_type : string;
  5. unit : string option;
  6. name : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-assetmodelproperty.html

and asset_model_composite_model = {
  1. type_ : string;
  2. description : string option;
  3. composite_model_properties : asset_model_property list option;
  4. name : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-assetmodelcompositemodel.html

type properties = {
  1. asset_model_description : string option;
  2. asset_model_composite_models : asset_model_composite_model list option;
  3. asset_model_name : string;
  4. asset_model_hierarchies : asset_model_hierarchy list option;
  5. asset_model_properties : asset_model_property list option;
  6. tags : tag list option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-assetmodel.html;

val make_properties : ?asset_model_description:string -> ?asset_model_composite_models:asset_model_composite_model list -> asset_model_name:string -> ?asset_model_hierarchies:asset_model_hierarchy list -> ?asset_model_properties:asset_model_property list -> ?tags:tag list -> unit -> properties
val make_asset_model_hierarchy : logical_id:string -> child_asset_model_id:string -> name:string -> unit -> asset_model_hierarchy
val make_tag : value:string -> key:string -> unit -> tag
val make_tumbling_window : interval:string -> ?offset:string -> unit -> tumbling_window
val make_attribute : ?default_value:string -> unit -> attribute
val make_variable_value : property_logical_id:string -> ?hierarchy_logical_id:string -> unit -> variable_value
val make_expression_variable : value:variable_value -> name:string -> unit -> expression_variable
val make_metric_window : ?tumbling:tumbling_window -> unit -> metric_window
val make_transform : variables:expression_variable list -> expression:string -> unit -> transform
val make_metric : variables:expression_variable list -> window:metric_window -> expression:string -> unit -> metric
val make_property_type : type_name:string -> ?attribute:attribute -> ?metric:metric -> ?transform:transform -> unit -> property_type
val make_asset_model_property : type_:property_type -> logical_id:string -> ?data_type_spec:string -> data_type:string -> ?unit:string -> name:string -> unit -> asset_model_property
val make_asset_model_composite_model : type_:string -> ?description:string -> ?composite_model_properties:asset_model_property list -> name:string -> unit -> asset_model_composite_model
val yojson_of_asset_model_hierarchy : asset_model_hierarchy -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_tag : tag -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_tumbling_window : tumbling_window -> Yojson.Safe.t
val yojson_of_attribute : attribute -> Yojson.Safe.t
val yojson_of_variable_value : variable_value -> Yojson.Safe.t
val yojson_of_expression_variable : expression_variable -> Yojson.Safe.t
val yojson_of_metric_window : metric_window -> Yojson.Safe.t
val yojson_of_transform : transform -> Yojson.Safe.t
val yojson_of_metric : metric -> Yojson.Safe.t
val yojson_of_property_type : property_type -> Yojson.Safe.t
val yojson_of_asset_model_property : asset_model_property -> Yojson.Safe.t
val yojson_of_asset_model_composite_model : asset_model_composite_model -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_properties : properties -> [> `Assoc of (string * Yojson.Safe.t) list ]
type attributes = {
  1. ref_ : string;
  2. asset_model_id : string;
  3. asset_model_arn : string;
}
val create_attributes : string -> attributes
val cloudformation_type : string