@awboost/cfn-resource-types 0.1.159 → 0.1.161

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,11 @@
1
1
  import { Resource as $Resource } from "@awboost/cfn-template-builder/template/resource";
2
2
  import type { ResourceOptions as $ResourceOptions } from "@awboost/cfn-template-builder/template";
3
3
  /**
4
- * The AWS::IoTEvents::DetectorModel resource creates a detector model. You create a *detector model* (a model of your equipment or process) using *states*. For each state, you define conditional (Boolean) logic that evaluates the incoming inputs to detect significant events. When an event is detected, it can change the state or trigger custom-built or predefined actions using other AWS services. You can define additional events that trigger actions when entering or exiting a state and, optionally, when a condition is met. For more information, see [How to Use AWS IoT Events](https://docs.aws.amazon.com/iotevents/latest/developerguide/how-to-use-iotevents.html) in the *AWS IoT Events Developer Guide*.
4
+ * The AWS::IoTEvents::DetectorModel resource creates a detector model. You create a *detector model* (a model of your equipment or process) using *states*. For each state, you define conditional (Boolean) logic that evaluates the incoming inputs to detect significant events. When an event is detected, it can change the state or trigger custom-built or predefined actions using other AWS services. You can define additional events that trigger actions when entering or exiting a state and, optionally, when a condition is met. For more information, see [How to Use](https://docs.aws.amazon.com/iotevents/latest/developerguide/how-to-use-iotevents.html) in the *Developer Guide*.
5
+ When you successfully update a detector model (using the ITE console, ITE API or CLI commands, or CFN) all detector instances created by the model are reset to their initial states. (The detector's ``state``, and the values of any variables and timers are reset.)
6
+ When you successfully update a detector model (using the ITE console, ITE API or CLI commands, or CFN) the version number of the detector model is incremented. (A detector model with version number 1 before the update has version number 2 after the update succeeds.)
7
+ If you attempt to update a detector model using CFN and the update does not succeed, the system may, in some cases, restore the original detector model. When this occurs, the detector model's version is incremented twice (for example, from version 1 to version 3) and the detector instances are reset.
8
+ Also, be aware that if you attempt to update several detector models at once using CFN, some updates may succeed and others fail. In this case, the effects on each detector model's detector instances and version number depend on whether the update succeeded or failed, with the results as stated.
5
9
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-detectormodel.html}
6
10
  */
7
11
  export type IoTEventsDetectorModelProperties = {
@@ -26,30 +30,28 @@ export type IoTEventsDetectorModelProperties = {
26
30
  */
27
31
  EvaluationMethod?: "BATCH" | "SERIAL";
28
32
  /**
29
- * The value used to identify a detector instance. When a device or system sends input, a new detector instance with a unique key value is created. AWS IoT Events can continue to route input to its corresponding detector instance based on this identifying information.
30
-
31
- This parameter uses a JSON-path expression to select the attribute-value pair in the message payload that is used for identification. To route the message to the correct detector instance, the device must send a message payload that contains the same attribute-value.
33
+ * The value used to identify a detector instance. When a device or system sends input, a new detector instance with a unique key value is created. ITE can continue to route input to its corresponding detector instance based on this identifying information.
34
+ This parameter uses a JSON-path expression to select the attribute-value pair in the message payload that is used for identification. To route the message to the correct detector instance, the device must send a message payload that contains the same attribute-value.
32
35
  * @minLength `1`
33
36
  * @maxLength `128`
34
37
  * @pattern `^((`[\w\- ]+`)|([\w\-]+))(\.((`[\w\- ]+`)|([\w\-]+)))*$`
35
38
  */
36
39
  Key?: string;
37
40
  /**
38
- * The ARN of the role that grants permission to AWS IoT Events to perform its operations.
41
+ * The ARN of the role that grants permission to ITE to perform its operations.
39
42
  * @minLength `1`
40
43
  * @maxLength `2048`
41
44
  */
42
45
  RoleArn: string;
43
46
  /**
44
47
  * An array of key-value pairs to apply to this resource.
45
-
46
- For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).
48
+ For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).
47
49
  */
48
50
  Tags?: Tag[];
49
51
  };
50
52
  /**
51
53
  * Type definition for `AWS::IoTEvents::DetectorModel.Action`.
52
- * The actions to be performed.
54
+ * An action to be performed when the ``condition`` is TRUE.
53
55
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html}
54
56
  */
55
57
  export type Action = {
@@ -58,34 +60,35 @@ export type Action = {
58
60
  */
59
61
  ClearTimer?: ClearTimer;
60
62
  /**
61
- * Writes to the DynamoDB table that you created. The default action payload contains all attribute-value pairs that have the information about the detector model instance and the event that triggered the action. You can also customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). One column of the DynamoDB table receives all attribute-value pairs in the payload that you specify. For more information, see [Actions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html) in *AWS IoT Events Developer Guide*.
63
+ * Writes to the DynamoDB table that you created. The default action payload contains all attribute-value pairs that have the information about the detector model instance and the event that triggered the action. You can customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). One column of the DynamoDB table receives all attribute-value pairs in the payload that you specify. For more information, see [Actions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html) in *Developer Guide*.
62
64
  */
63
65
  DynamoDB?: DynamoDB;
64
66
  /**
65
- * Defines an action to write to the Amazon DynamoDB table that you created. The default action payload contains all attribute-value pairs that have the information about the detector model instance and the event that triggered the action. You can also customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). A separate column of the DynamoDB table receives one attribute-value pair in the payload that you specify.
66
-
67
- You can use expressions for parameters that are strings. For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *AWS IoT Events Developer Guide*.
68
- */
67
+ * Writes to the DynamoDB table that you created. The default action payload contains all attribute-value pairs that have the information about the detector model instance and the event that triggered the action. You can customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). A separate column of the DynamoDB table receives one attribute-value pair in the payload that you specify. For more information, see [Actions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html) in *Developer Guide*.
68
+ */
69
69
  DynamoDBv2?: DynamoDBv2;
70
70
  /**
71
71
  * Sends information about the detector model instance and the event that triggered the action to an Amazon Kinesis Data Firehose delivery stream.
72
72
  */
73
73
  Firehose?: Firehose;
74
74
  /**
75
- * Sends an AWS IoT Events input, passing in information about the detector model instance and the event that triggered the action.
75
+ * Sends ITE input, which passes information about the detector model instance and the event that triggered the action.
76
76
  */
77
77
  IotEvents?: IotEvents;
78
78
  /**
79
- * Sends information about the detector model instance and the event that triggered the action to a specified asset property in AWS IoT SiteWise.
79
+ * Sends information about the detector model instance and the event that triggered the action to an asset property in ITSW .
80
80
  */
81
81
  IotSiteWise?: IotSiteWise;
82
82
  /**
83
- * Information required to publish the MQTT message through the AWS IoT message broker.
83
+ * Publishes an MQTT message with the given topic to the IoT message broker.
84
84
  */
85
85
  IotTopicPublish?: IotTopicPublish;
86
+ /**
87
+ * Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.
88
+ */
86
89
  Lambda?: Lambda;
87
90
  /**
88
- * Information required to reset the timer. The timer is reset to the previously evaluated result of the duration. The duration expression isn't reevaluated when you reset the timer.
91
+ * Information needed to reset the timer.
89
92
  */
90
93
  ResetTimer?: ResetTimer;
91
94
  /**
@@ -93,69 +96,97 @@ export type Action = {
93
96
  */
94
97
  SetTimer?: SetTimer;
95
98
  /**
96
- * Information about the variable and its new value.
99
+ * Sets a variable to a specified value.
97
100
  */
98
101
  SetVariable?: SetVariable;
99
102
  /**
100
- * Information required to publish the Amazon SNS message.
103
+ * Sends an Amazon SNS message.
101
104
  */
102
105
  Sns?: Sns;
106
+ /**
107
+ * Sends an Amazon SNS message.
108
+ */
103
109
  Sqs?: Sqs;
104
110
  };
105
111
  /**
106
112
  * Type definition for `AWS::IoTEvents::DetectorModel.AssetPropertyTimestamp`.
107
- * A structure that contains timestamp information. For more information, see [TimeInNanos](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_TimeInNanos.html) in the *AWS IoT SiteWise API Reference*.
113
+ * A structure that contains timestamp information. For more information, see [TimeInNanos](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_TimeInNanos.html) in the *API Reference*.
114
+ You must use expressions for all parameters in ``AssetPropertyTimestamp``. The expressions accept literals, operators, functions, references, and substitution templates.
115
+ **Examples**
116
+ + For literal values, the expressions must contain single quotes. For example, the value for the ``timeInSeconds`` parameter can be ``'1586400675'``.
117
+ + For references, you must specify either variables or input values. For example, the value for the ``offsetInNanos`` parameter can be ``$variable.time``.
118
+ + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.
119
+ In the following example, the value for the ``timeInSeconds`` parameter uses a substitution template.
120
+ ``'${$input.TemperatureInput.sensorData.timestamp / 1000}'``
121
+
122
+ For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.
108
123
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertytimestamp.html}
109
124
  */
110
125
  export type AssetPropertyTimestamp = {
111
126
  /**
112
- * The timestamp, in seconds, in the Unix epoch format. The valid range is between `1-31556889864403199`. You can also specify an expression.
127
+ * The nanosecond offset converted from ``timeInSeconds``. The valid range is between 0-999999999.
113
128
  */
114
129
  OffsetInNanos?: string;
115
130
  /**
116
- * The nanosecond offset converted from `timeInSeconds`. The valid range is between `0-999999999`. You can also specify an expression.
131
+ * The timestamp, in seconds, in the Unix epoch format. The valid range is between 1-31556889864403199.
117
132
  */
118
133
  TimeInSeconds: string;
119
134
  };
120
135
  /**
121
136
  * Type definition for `AWS::IoTEvents::DetectorModel.AssetPropertyValue`.
122
- * A structure that contains value information. For more information, see [AssetPropertyValue](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetPropertyValue.html) in the *AWS IoT SiteWise API Reference*.
137
+ * A structure that contains value information. For more information, see [AssetPropertyValue](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetPropertyValue.html) in the *API Reference*.
138
+ You must use expressions for all parameters in ``AssetPropertyValue``. The expressions accept literals, operators, functions, references, and substitution templates.
139
+ **Examples**
140
+ + For literal values, the expressions must contain single quotes. For example, the value for the ``quality`` parameter can be ``'GOOD'``.
141
+ + For references, you must specify either variables or input values. For example, the value for the ``quality`` parameter can be ``$input.TemperatureInput.sensorData.quality``.
142
+
143
+ For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.
123
144
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertyvalue.html}
124
145
  */
125
146
  export type AssetPropertyValue = {
126
147
  /**
127
- * The quality of the asset property value. The value must be `GOOD`, `BAD`, or `UNCERTAIN`. You can also specify an expression.
148
+ * The quality of the asset property value. The value must be ``'GOOD'``, ``'BAD'``, or ``'UNCERTAIN'``.
128
149
  */
129
150
  Quality?: string;
130
151
  /**
131
- * A structure that contains timestamp information. For more information, see [TimeInNanos](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_TimeInNanos.html) in the *AWS IoT SiteWise API Reference*.
152
+ * The timestamp associated with the asset property value. The default is the current event time.
132
153
  */
133
154
  Timestamp?: AssetPropertyTimestamp;
134
155
  /**
135
- * A structure that contains an asset property value. For more information, see [Variant](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_Variant.html) in the *AWS IoT SiteWise API Reference*.
156
+ * The value to send to an asset property.
136
157
  */
137
158
  Value: AssetPropertyVariant;
138
159
  };
139
160
  /**
140
161
  * Type definition for `AWS::IoTEvents::DetectorModel.AssetPropertyVariant`.
141
- * A structure that contains an asset property value. For more information, see [Variant](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_Variant.html) in the *AWS IoT SiteWise API Reference*.
162
+ * A structure that contains an asset property value. For more information, see [Variant](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_Variant.html) in the *API Reference*.
163
+ You must use expressions for all parameters in ``AssetPropertyVariant``. The expressions accept literals, operators, functions, references, and substitution templates.
164
+ **Examples**
165
+ + For literal values, the expressions must contain single quotes. For example, the value for the ``integerValue`` parameter can be ``'100'``.
166
+ + For references, you must specify either variables or parameters. For example, the value for the ``booleanValue`` parameter can be ``$variable.offline``.
167
+ + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.
168
+ In the following example, the value for the ``doubleValue`` parameter uses a substitution template.
169
+ ``'${$input.TemperatureInput.sensorData.temperature * 6 / 5 + 32}'``
170
+
171
+ For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.
172
+ You must specify one of the following value types, depending on the ``dataType`` of the specified asset property. For more information, see [AssetProperty](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetProperty.html) in the *API Reference*.
142
173
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertyvariant.html}
143
174
  */
144
175
  export type AssetPropertyVariant = {
145
176
  /**
146
- * The asset property value is a Boolean value that must be `TRUE` or `FALSE`. You can also specify an expression. If you use an expression, the evaluated result should be a Boolean value.
177
+ * The asset property value is a Boolean value that must be ``'TRUE'`` or ``'FALSE'``. You must use an expression, and the evaluated result should be a Boolean value.
147
178
  */
148
179
  BooleanValue?: string;
149
180
  /**
150
- * The asset property value is a double. You can also specify an expression. If you use an expression, the evaluated result should be a double.
181
+ * The asset property value is a double. You must use an expression, and the evaluated result should be a double.
151
182
  */
152
183
  DoubleValue?: string;
153
184
  /**
154
- * The asset property value is an integer. You can also specify an expression. If you use an expression, the evaluated result should be an integer.
185
+ * The asset property value is an integer. You must use an expression, and the evaluated result should be an integer.
155
186
  */
156
187
  IntegerValue?: string;
157
188
  /**
158
- * The asset property value is a string. You can also specify an expression. If you use an expression, the evaluated result should be a string.
189
+ * The asset property value is a string. You must use an expression, and the evaluated result should be a string.
159
190
  */
160
191
  StringValue?: string;
161
192
  };
@@ -166,6 +197,7 @@ export type AssetPropertyVariant = {
166
197
  */
167
198
  export type ClearTimer = {
168
199
  /**
200
+ * The name of the timer to clear.
169
201
  * @minLength `1`
170
202
  * @maxLength `128`
171
203
  */
@@ -191,22 +223,33 @@ export type DetectorModelDefinition = {
191
223
  };
192
224
  /**
193
225
  * Type definition for `AWS::IoTEvents::DetectorModel.DynamoDB`.
194
- * Writes to the DynamoDB table that you created. The default action payload contains all attribute-value pairs that have the information about the detector model instance and the event that triggered the action. You can also customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). One column of the DynamoDB table receives all attribute-value pairs in the payload that you specify. For more information, see [Actions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html) in *AWS IoT Events Developer Guide*.
226
+ * Defines an action to write to the Amazon DynamoDB table that you created. The standard action payload contains all the information about the detector model instance and the event that triggered the action. You can customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). One column of the DynamoDB table receives all attribute-value pairs in the payload that you specify.
227
+ You must use expressions for all parameters in ``DynamoDBAction``. The expressions accept literals, operators, functions, references, and substitution templates.
228
+ **Examples**
229
+ + For literal values, the expressions must contain single quotes. For example, the value for the ``hashKeyType`` parameter can be ``'STRING'``.
230
+ + For references, you must specify either variables or input values. For example, the value for the ``hashKeyField`` parameter can be ``$input.GreenhouseInput.name``.
231
+ + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.
232
+ In the following example, the value for the ``hashKeyValue`` parameter uses a substitution template.
233
+ ``'${$input.GreenhouseInput.temperature * 6 / 5 + 32} in Fahrenheit'``
234
+ + For a string concatenation, you must use ``+``. A string concatenation can also contain a combination of literals, operators, functions, references, and substitution templates.
235
+ In the following example, the value for the ``tableName`` parameter uses a string concatenation.
236
+ ``'GreenhouseTemperatureTable ' + $input.GreenhouseInput.date``
237
+
238
+ For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.
239
+ If the defined payload type is a string, ``DynamoDBAction`` writes non-JSON data to the DynamoDB table as binary data. The DynamoDB console displays the data as Base64-encoded text. The value for the ``payloadField`` parameter is ``<payload-field>_raw``.
195
240
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html}
196
241
  */
197
242
  export type DynamoDB = {
198
243
  /**
199
- * The name of the hash key (also called the partition key).
244
+ * The name of the hash key (also called the partition key). The ``hashKeyField`` value must match the partition key of the target DynamoDB table.
200
245
  */
201
246
  HashKeyField: string;
202
247
  /**
203
248
  * The data type for the hash key (also called the partition key). You can specify the following values:
204
-
205
- * `STRING` - The hash key is a string.
206
-
207
- * `NUMBER` - The hash key is a number.
208
-
209
- If you don't specify `hashKeyType`, the default value is `STRING`.
249
+ + ``'STRING'`` - The hash key is a string.
250
+ + ``'NUMBER'`` - The hash key is a number.
251
+
252
+ If you don't specify ``hashKeyType``, the default value is ``'STRING'``.
210
253
  */
211
254
  HashKeyType?: string;
212
255
  /**
@@ -215,40 +258,33 @@ export type DynamoDB = {
215
258
  HashKeyValue: string;
216
259
  /**
217
260
  * The type of operation to perform. You can specify the following values:
218
-
219
- * `INSERT` - Insert data as a new item into the DynamoDB table. This item uses the specified hash key as a partition key. If you specified a range key, the item uses the range key as a sort key.
220
-
221
- * `UPDATE` - Update an existing item of the DynamoDB table with new data. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.
222
-
223
- * `DELETE` - Delete an existing item of the DynamoDB table. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.
224
-
225
- If you don't specify this parameter, AWS IoT Events triggers the `INSERT` operation.
261
+ + ``'INSERT'`` - Insert data as a new item into the DynamoDB table. This item uses the specified hash key as a partition key. If you specified a range key, the item uses the range key as a sort key.
262
+ + ``'UPDATE'`` - Update an existing item of the DynamoDB table with new data. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.
263
+ + ``'DELETE'`` - Delete an existing item of the DynamoDB table. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.
264
+
265
+ If you don't specify this parameter, ITE triggers the ``'INSERT'`` operation.
226
266
  */
227
267
  Operation?: string;
228
268
  /**
229
269
  * Information needed to configure the payload.
230
-
231
- By default, AWS IoT Events generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use `contentExpression`.
270
+ By default, ITE generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use ``contentExpression``.
232
271
  */
233
272
  Payload?: Payload;
234
273
  /**
235
274
  * The name of the DynamoDB column that receives the action payload.
236
-
237
- If you don't specify this parameter, the name of the DynamoDB column is `payload`.
275
+ If you don't specify this parameter, the name of the DynamoDB column is ``payload``.
238
276
  */
239
277
  PayloadField?: string;
240
278
  /**
241
- * The name of the range key (also called the sort key).
279
+ * The name of the range key (also called the sort key). The ``rangeKeyField`` value must match the sort key of the target DynamoDB table.
242
280
  */
243
281
  RangeKeyField?: string;
244
282
  /**
245
283
  * The data type for the range key (also called the sort key), You can specify the following values:
246
-
247
- * `STRING` - The range key is a string.
248
-
249
- * `NUMBER` - The range key is number.
250
-
251
- If you don't specify `rangeKeyField`, the default value is `STRING`.
284
+ + ``'STRING'`` - The range key is a string.
285
+ + ``'NUMBER'`` - The range key is number.
286
+
287
+ If you don't specify ``rangeKeyField``, the default value is ``'STRING'``.
252
288
  */
253
289
  RangeKeyType?: string;
254
290
  /**
@@ -256,22 +292,32 @@ export type DynamoDB = {
256
292
  */
257
293
  RangeKeyValue?: string;
258
294
  /**
259
- * The name of the DynamoDB table.
295
+ * The name of the DynamoDB table. The ``tableName`` value must match the table name of the target DynamoDB table.
260
296
  */
261
297
  TableName: string;
262
298
  };
263
299
  /**
264
300
  * Type definition for `AWS::IoTEvents::DetectorModel.DynamoDBv2`.
265
- * Defines an action to write to the Amazon DynamoDB table that you created. The default action payload contains all attribute-value pairs that have the information about the detector model instance and the event that triggered the action. You can also customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). A separate column of the DynamoDB table receives one attribute-value pair in the payload that you specify.
266
-
267
- You can use expressions for parameters that are strings. For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *AWS IoT Events Developer Guide*.
301
+ * Defines an action to write to the Amazon DynamoDB table that you created. The default action payload contains all the information about the detector model instance and the event that triggered the action. You can customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). A separate column of the DynamoDB table receives one attribute-value pair in the payload that you specify.
302
+ You must use expressions for all parameters in ``DynamoDBv2Action``. The expressions accept literals, operators, functions, references, and substitution templates.
303
+ **Examples**
304
+ + For literal values, the expressions must contain single quotes. For example, the value for the ``tableName`` parameter can be ``'GreenhouseTemperatureTable'``.
305
+ + For references, you must specify either variables or input values. For example, the value for the ``tableName`` parameter can be ``$variable.ddbtableName``.
306
+ + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.
307
+ In the following example, the value for the ``contentExpression`` parameter in ``Payload`` uses a substitution template.
308
+ ``'{\"sensorID\": \"${$input.GreenhouseInput.sensor_id}\", \"temperature\": \"${$input.GreenhouseInput.temperature * 9 / 5 + 32}\"}'``
309
+ + For a string concatenation, you must use ``+``. A string concatenation can also contain a combination of literals, operators, functions, references, and substitution templates.
310
+ In the following example, the value for the ``tableName`` parameter uses a string concatenation.
311
+ ``'GreenhouseTemperatureTable ' + $input.GreenhouseInput.date``
312
+
313
+ For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.
314
+ The value for the ``type`` parameter in ``Payload`` must be ``JSON``.
268
315
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodbv2.html}
269
316
  */
270
317
  export type DynamoDBv2 = {
271
318
  /**
272
319
  * Information needed to configure the payload.
273
-
274
- By default, AWS IoT Events generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use `contentExpression`.
320
+ By default, ITE generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use ``contentExpression``.
275
321
  */
276
322
  Payload?: Payload;
277
323
  /**
@@ -281,7 +327,7 @@ export type DynamoDBv2 = {
281
327
  };
282
328
  /**
283
329
  * Type definition for `AWS::IoTEvents::DetectorModel.Event`.
284
- * Specifies the `actions` to be performed when the `condition` evaluates to `TRUE`.
330
+ * Specifies the ``actions`` to be performed when the ``condition`` evaluates to TRUE.
285
331
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-event.html}
286
332
  */
287
333
  export type Event = {
@@ -290,7 +336,7 @@ export type Event = {
290
336
  */
291
337
  Actions?: Action[];
292
338
  /**
293
- * The Boolean expression that, when `TRUE`, causes the `actions` to be performed. If not present, the `actions` are performed (=`TRUE`). If the expression result is not a `Boolean` value, the `actions` are not performed (=`FALSE`).
339
+ * Optional. The Boolean expression that, when TRUE, causes the ``actions`` to be performed. If not present, the actions are performed (=TRUE). If the expression result is not a Boolean value, the actions are not performed (=FALSE).
294
340
  * @maxLength `512`
295
341
  */
296
342
  Condition?: string;
@@ -311,10 +357,8 @@ export type Firehose = {
311
357
  */
312
358
  DeliveryStreamName: string;
313
359
  /**
314
- * Information needed to configure the payload.
315
-
316
- By default, AWS IoT Events generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use `contentExpression`.
317
- */
360
+ * You can configure the action payload when you send a message to an Amazon Data Firehose delivery stream.
361
+ */
318
362
  Payload?: Payload;
319
363
  /**
320
364
  * A character separator that is used to separate records written to the Kinesis Data Firehose delivery stream. Valid values are: '\n' (newline), '\t' (tab), '\r\n' (Windows newline), ',' (comma).
@@ -324,72 +368,79 @@ export type Firehose = {
324
368
  };
325
369
  /**
326
370
  * Type definition for `AWS::IoTEvents::DetectorModel.IotEvents`.
327
- * Sends an AWS IoT Events input, passing in information about the detector model instance and the event that triggered the action.
371
+ * Sends an ITE input, passing in information about the detector model instance and the event that triggered the action.
328
372
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iotevents.html}
329
373
  */
330
374
  export type IotEvents = {
331
375
  /**
332
- * The name of the AWS IoT Events input where the data is sent.
376
+ * The name of the ITE input where the data is sent.
333
377
  * @minLength `1`
334
378
  * @maxLength `128`
335
379
  * @pattern `^[a-zA-Z][a-zA-Z0-9_]*$`
336
380
  */
337
381
  InputName: string;
338
382
  /**
339
- * Information needed to configure the payload.
340
-
341
- By default, AWS IoT Events generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use `contentExpression`.
342
- */
383
+ * You can configure the action payload when you send a message to an ITE input.
384
+ */
343
385
  Payload?: Payload;
344
386
  };
345
387
  /**
346
388
  * Type definition for `AWS::IoTEvents::DetectorModel.IotSiteWise`.
347
- * Sends information about the detector model instance and the event that triggered the action to a specified asset property in AWS IoT SiteWise.
389
+ * Sends information about the detector model instance and the event that triggered the action to a specified asset property in ITSW.
390
+ You must use expressions for all parameters in ``IotSiteWiseAction``. The expressions accept literals, operators, functions, references, and substitutions templates.
391
+ **Examples**
392
+ + For literal values, the expressions must contain single quotes. For example, the value for the ``propertyAlias`` parameter can be ``'/company/windfarm/3/turbine/7/temperature'``.
393
+ + For references, you must specify either variables or input values. For example, the value for the ``assetId`` parameter can be ``$input.TurbineInput.assetId1``.
394
+ + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.
395
+ In the following example, the value for the ``propertyAlias`` parameter uses a substitution template.
396
+ ``'company/windfarm/${$input.TemperatureInput.sensorData.windfarmID}/turbine/ ${$input.TemperatureInput.sensorData.turbineID}/temperature'``
397
+
398
+ You must specify either ``propertyAlias`` or both ``assetId`` and ``propertyId`` to identify the target asset property in ITSW.
399
+ For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.
348
400
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iotsitewise.html}
349
401
  */
350
402
  export type IotSiteWise = {
351
403
  /**
352
- * The ID of the asset that has the specified property. You can specify an expression.
404
+ * The ID of the asset that has the specified property.
353
405
  */
354
406
  AssetId?: string;
355
407
  /**
356
- * A unique identifier for this entry. You can use the entry ID to track which data entry causes an error in case of failure. The default is a new unique identifier. You can also specify an expression.
408
+ * A unique identifier for this entry. You can use the entry ID to track which data entry causes an error in case of failure. The default is a new unique identifier.
357
409
  */
358
410
  EntryId?: string;
359
411
  /**
360
- * The alias of the asset property. You can also specify an expression.
412
+ * The alias of the asset property.
361
413
  */
362
414
  PropertyAlias?: string;
363
415
  /**
364
- * The ID of the asset property. You can specify an expression.
416
+ * The ID of the asset property.
365
417
  */
366
418
  PropertyId?: string;
367
419
  /**
368
- * A structure that contains value information. For more information, see [AssetPropertyValue](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetPropertyValue.html) in the *AWS IoT SiteWise API Reference*.
420
+ * The value to send to the asset property. This value contains timestamp, quality, and value (TQV) information.
369
421
  */
370
422
  PropertyValue: AssetPropertyValue;
371
423
  };
372
424
  /**
373
425
  * Type definition for `AWS::IoTEvents::DetectorModel.IotTopicPublish`.
374
- * Information required to publish the MQTT message through the AWS IoT message broker.
426
+ * Information required to publish the MQTT message through the IoT message broker.
375
427
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iottopicpublish.html}
376
428
  */
377
429
  export type IotTopicPublish = {
378
430
  /**
379
- * The MQTT topic of the message. You can use a string expression that includes variables (`$variable.<variable-name>`) and input values (`$input.<input-name>.<path-to-datum>`) as the topic string.
431
+ * The MQTT topic of the message. You can use a string expression that includes variables (``$variable.<variable-name>``) and input values (``$input.<input-name>.<path-to-datum>``) as the topic string.
380
432
  * @minLength `1`
381
433
  * @maxLength `128`
382
434
  */
383
435
  MqttTopic: string;
384
436
  /**
385
- * Information needed to configure the payload.
386
-
387
- By default, AWS IoT Events generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use `contentExpression`.
388
- */
437
+ * You can configure the action payload when you publish a message to an IoTCore topic.
438
+ */
389
439
  Payload?: Payload;
390
440
  };
391
441
  /**
392
442
  * Type definition for `AWS::IoTEvents::DetectorModel.Lambda`.
443
+ * Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.
393
444
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-lambda.html}
394
445
  */
395
446
  export type Lambda = {
@@ -400,64 +451,61 @@ export type Lambda = {
400
451
  */
401
452
  FunctionArn: string;
402
453
  /**
403
- * Information needed to configure the payload.
404
-
405
- By default, AWS IoT Events generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use `contentExpression`.
406
- */
454
+ * You can configure the action payload when you send a message to a Lambda function.
455
+ */
407
456
  Payload?: Payload;
408
457
  };
409
458
  /**
410
459
  * Type definition for `AWS::IoTEvents::DetectorModel.OnEnter`.
411
- * When entering this state, perform these `actions` if the `condition` is `TRUE`.
460
+ * When entering this state, perform these ``actions`` if the ``condition`` is TRUE.
412
461
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-onenter.html}
413
462
  */
414
463
  export type OnEnter = {
415
464
  /**
416
- * Specifies the `actions` that are performed when the state is entered and the `condition` is `TRUE`.
465
+ * Specifies the actions that are performed when the state is entered and the ``condition`` is ``TRUE``.
417
466
  */
418
467
  Events?: Event[];
419
468
  };
420
469
  /**
421
470
  * Type definition for `AWS::IoTEvents::DetectorModel.OnExit`.
422
- * When exiting this state, perform these `actions` if the specified `condition` is `TRUE`.
471
+ * When exiting this state, perform these ``actions`` if the specified ``condition`` is ``TRUE``.
423
472
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-onexit.html}
424
473
  */
425
474
  export type OnExit = {
426
475
  /**
427
- * Specifies the `actions` that are performed when the state is exited and the `condition` is `TRUE`.
476
+ * Specifies the ``actions`` that are performed when the state is exited and the ``condition`` is ``TRUE``.
428
477
  */
429
478
  Events?: Event[];
430
479
  };
431
480
  /**
432
481
  * Type definition for `AWS::IoTEvents::DetectorModel.OnInput`.
433
- * When an input is received and the `condition` is `TRUE`, perform the specified `actions`.
482
+ * Specifies the actions performed when the ``condition`` evaluates to TRUE.
434
483
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-oninput.html}
435
484
  */
436
485
  export type OnInput = {
437
486
  /**
438
- * Specifies the `actions` performed when the `condition` evaluates to `TRUE`.
487
+ * Specifies the actions performed when the ``condition`` evaluates to TRUE.
439
488
  */
440
489
  Events?: Event[];
441
490
  /**
442
- * Specifies the `actions` performed, and the next `state` entered, when a `condition` evaluates to `TRUE`.
491
+ * Specifies the actions performed, and the next state entered, when a ``condition`` evaluates to TRUE.
443
492
  */
444
493
  TransitionEvents?: TransitionEvent[];
445
494
  };
446
495
  /**
447
496
  * Type definition for `AWS::IoTEvents::DetectorModel.Payload`.
448
497
  * Information needed to configure the payload.
449
-
450
- By default, AWS IoT Events generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use `contentExpression`.
498
+ By default, ITE generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use ``contentExpression``.
451
499
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-payload.html}
452
500
  */
453
501
  export type Payload = {
454
502
  /**
455
- * The content of the payload. You can use a string expression that includes quoted strings (`'<string>'`), variables (`$variable.<variable-name>`), input values (`$input.<input-name>.<path-to-datum>`), string concatenations, and quoted strings that contain `${}` as the content. The recommended maximum size of a content expression is 1 KB.
503
+ * The content of the payload. You can use a string expression that includes quoted strings (``'<string>'``), variables (``$variable.<variable-name>``), input values (``$input.<input-name>.<path-to-datum>``), string concatenations, and quoted strings that contain ``${}`` as the content. The recommended maximum size of a content expression is 1 KB.
456
504
  * @minLength `1`
457
505
  */
458
506
  ContentExpression: string;
459
507
  /**
460
- * The value of the payload type can be either `STRING` or `JSON`.
508
+ * The value of the payload type can be either ``STRING`` or ``JSON``.
461
509
  */
462
510
  Type: string;
463
511
  };
@@ -481,13 +529,13 @@ export type ResetTimer = {
481
529
  */
482
530
  export type SetTimer = {
483
531
  /**
484
- * The duration of the timer, in seconds. You can use a string expression that includes numbers, variables (`$variable.<variable-name>`), and input values (`$input.<input-name>.<path-to-datum>`) as the duration. The range of the duration is `1-31622400` seconds. To ensure accuracy, the minimum duration is `60` seconds. The evaluated result of the duration is rounded down to the nearest whole number.
532
+ * The duration of the timer, in seconds. You can use a string expression that includes numbers, variables (``$variable.<variable-name>``), and input values (``$input.<input-name>.<path-to-datum>``) as the duration. The range of the duration is 1-31622400 seconds. To ensure accuracy, the minimum duration is 60 seconds. The evaluated result of the duration is rounded down to the nearest whole number.
485
533
  * @minLength `1`
486
534
  * @maxLength `1024`
487
535
  */
488
536
  DurationExpression?: string;
489
537
  /**
490
- * The number of seconds until the timer expires. The minimum value is `60` seconds to ensure accuracy. The maximum value is `31622400` seconds.
538
+ * The number of seconds until the timer expires. The minimum value is 60 seconds to ensure accuracy. The maximum value is 31622400 seconds.
491
539
  * @min `60`
492
540
  * @max `31622400`
493
541
  */
@@ -526,10 +574,8 @@ export type SetVariable = {
526
574
  */
527
575
  export type Sns = {
528
576
  /**
529
- * Information needed to configure the payload.
530
-
531
- By default, AWS IoT Events generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use `contentExpression`.
532
- */
577
+ * You can configure the action payload when you send a message as an Amazon SNS push notification.
578
+ */
533
579
  Payload?: Payload;
534
580
  /**
535
581
  * The ARN of the Amazon SNS target where the message is sent.
@@ -540,21 +586,20 @@ export type Sns = {
540
586
  };
541
587
  /**
542
588
  * Type definition for `AWS::IoTEvents::DetectorModel.Sqs`.
589
+ * Sends information about the detector model instance and the event that triggered the action to an Amazon SQS queue.
543
590
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-sqs.html}
544
591
  */
545
592
  export type Sqs = {
546
593
  /**
547
- * Information needed to configure the payload.
548
-
549
- By default, AWS IoT Events generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use `contentExpression`.
550
- */
594
+ * You can configure the action payload when you send a message to an Amazon SQS queue.
595
+ */
551
596
  Payload?: Payload;
552
597
  /**
553
598
  * The URL of the SQS queue where the data is written.
554
599
  */
555
600
  QueueUrl: string;
556
601
  /**
557
- * Set this to `TRUE` if you want the data to be base-64 encoded before it is written to the queue. Otherwise, set this to `FALSE`.
602
+ * Set this to TRUE if you want the data to be base-64 encoded before it is written to the queue. Otherwise, set this to FALSE.
558
603
  */
559
604
  UseBase64?: boolean;
560
605
  };
@@ -565,15 +610,15 @@ export type Sqs = {
565
610
  */
566
611
  export type State = {
567
612
  /**
568
- * When entering this state, perform these `actions` if the `condition` is `TRUE`.
613
+ * When entering this state, perform these ``actions`` if the ``condition`` is TRUE.
569
614
  */
570
615
  OnEnter?: OnEnter;
571
616
  /**
572
- * When exiting this state, perform these `actions` if the specified `condition` is `TRUE`.
617
+ * When exiting this state, perform these ``actions`` if the specified ``condition`` is ``TRUE``.
573
618
  */
574
619
  OnExit?: OnExit;
575
620
  /**
576
- * When an input is received and the `condition` is `TRUE`, perform the specified `actions`.
621
+ * When an input is received and the ``condition`` is TRUE, perform the specified ``actions``.
577
622
  */
578
623
  OnInput?: OnInput;
579
624
  /**
@@ -585,22 +630,22 @@ export type State = {
585
630
  };
586
631
  /**
587
632
  * Type definition for `AWS::IoTEvents::DetectorModel.Tag`.
588
- * Tags to be applied to Input.
633
+ * Metadata that can be used to manage the resource.
589
634
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-tag.html}
590
635
  */
591
636
  export type Tag = {
592
637
  /**
593
- * Key of the Tag.
638
+ * The tag's key.
594
639
  */
595
640
  Key: string;
596
641
  /**
597
- * Value of the Tag.
642
+ * The tag's value.
598
643
  */
599
644
  Value: string;
600
645
  };
601
646
  /**
602
647
  * Type definition for `AWS::IoTEvents::DetectorModel.TransitionEvent`.
603
- * Specifies the `actions `performed and the next `state` entered when a `condition` evaluates to `TRUE`.
648
+ * Specifies the actions performed and the next state entered when a ``condition`` evaluates to TRUE.
604
649
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-transitionevent.html}
605
650
  */
606
651
  export type TransitionEvent = {
@@ -609,12 +654,12 @@ export type TransitionEvent = {
609
654
  */
610
655
  Actions?: Action[];
611
656
  /**
612
- * A Boolean expression that when `TRUE` causes the `actions` to be performed and the `nextState` to be entered.
657
+ * Required. A Boolean expression that when TRUE causes the actions to be performed and the ``nextState`` to be entered.
613
658
  * @maxLength `512`
614
659
  */
615
660
  Condition: string;
616
661
  /**
617
- * The name of the event.
662
+ * The name of the transition event.
618
663
  * @minLength `1`
619
664
  * @maxLength `128`
620
665
  */
@@ -627,7 +672,11 @@ export type TransitionEvent = {
627
672
  NextState: string;
628
673
  };
629
674
  /**
630
- * The AWS::IoTEvents::DetectorModel resource creates a detector model. You create a *detector model* (a model of your equipment or process) using *states*. For each state, you define conditional (Boolean) logic that evaluates the incoming inputs to detect significant events. When an event is detected, it can change the state or trigger custom-built or predefined actions using other AWS services. You can define additional events that trigger actions when entering or exiting a state and, optionally, when a condition is met. For more information, see [How to Use AWS IoT Events](https://docs.aws.amazon.com/iotevents/latest/developerguide/how-to-use-iotevents.html) in the *AWS IoT Events Developer Guide*.
675
+ * The AWS::IoTEvents::DetectorModel resource creates a detector model. You create a *detector model* (a model of your equipment or process) using *states*. For each state, you define conditional (Boolean) logic that evaluates the incoming inputs to detect significant events. When an event is detected, it can change the state or trigger custom-built or predefined actions using other AWS services. You can define additional events that trigger actions when entering or exiting a state and, optionally, when a condition is met. For more information, see [How to Use](https://docs.aws.amazon.com/iotevents/latest/developerguide/how-to-use-iotevents.html) in the *Developer Guide*.
676
+ When you successfully update a detector model (using the ITE console, ITE API or CLI commands, or CFN) all detector instances created by the model are reset to their initial states. (The detector's ``state``, and the values of any variables and timers are reset.)
677
+ When you successfully update a detector model (using the ITE console, ITE API or CLI commands, or CFN) the version number of the detector model is incremented. (A detector model with version number 1 before the update has version number 2 after the update succeeds.)
678
+ If you attempt to update a detector model using CFN and the update does not succeed, the system may, in some cases, restore the original detector model. When this occurs, the detector model's version is incremented twice (for example, from version 1 to version 3) and the detector instances are reset.
679
+ Also, be aware that if you attempt to update several detector models at once using CFN, some updates may succeed and others fail. In this case, the effects on each detector model's detector instances and version number depend on whether the update succeeded or failed, with the results as stated.
631
680
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-detectormodel.html}
632
681
  */
633
682
  export declare class IoTEventsDetectorModel extends $Resource<"AWS::IoTEvents::DetectorModel", IoTEventsDetectorModelProperties, Record<string, never>> {