1// Code generated by smithy-go-codegen DO NOT EDIT.
2
3package types
4
5import (
6	"time"
7)
8
9// An action to be performed when the condition is TRUE.
10type Action struct {
11
12	// Information needed to clear the timer.
13	ClearTimer *ClearTimerAction
14
15	// Writes to the DynamoDB table that you created. The default action payload
16	// contains all attribute-value pairs that have the information about the detector
17	// model instance and the event that triggered the action. You can also customize
18	// the payload
19	// (https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html).
20	// One column of the DynamoDB table receives all attribute-value pairs in the
21	// payload that you specify. For more information, see Actions
22	// (https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html)
23	// in AWS IoT Events Developer Guide.
24	DynamoDB *DynamoDBAction
25
26	// Writes to the DynamoDB table that you created. The default action payload
27	// contains all attribute-value pairs that have the information about the detector
28	// model instance and the event that triggered the action. You can also customize
29	// the payload
30	// (https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). A
31	// separate column of the DynamoDB table receives one attribute-value pair in the
32	// payload that you specify. For more information, see Actions
33	// (https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html)
34	// in AWS IoT Events Developer Guide.
35	DynamoDBv2 *DynamoDBv2Action
36
37	// Sends information about the detector model instance and the event that triggered
38	// the action to an Amazon Kinesis Data Firehose delivery stream.
39	Firehose *FirehoseAction
40
41	// Sends AWS IoT Events input, which passes information about the detector model
42	// instance and the event that triggered the action.
43	IotEvents *IotEventsAction
44
45	// Sends information about the detector model instance and the event that triggered
46	// the action to an asset property in AWS IoT SiteWise .
47	IotSiteWise *IotSiteWiseAction
48
49	// Publishes an MQTT message with the given topic to the AWS IoT message broker.
50	IotTopicPublish *IotTopicPublishAction
51
52	// Calls a Lambda function, passing in information about the detector model
53	// instance and the event that triggered the action.
54	Lambda *LambdaAction
55
56	// Information needed to reset the timer.
57	ResetTimer *ResetTimerAction
58
59	// Information needed to set the timer.
60	SetTimer *SetTimerAction
61
62	// Sets a variable to a specified value.
63	SetVariable *SetVariableAction
64
65	// Sends an Amazon SNS message.
66	Sns *SNSTopicPublishAction
67
68	// Sends information about the detector model instance and the event that triggered
69	// the action to an Amazon SQS queue.
70	Sqs *SqsAction
71}
72
73// A structure that contains timestamp information. For more information, see
74// TimeInNanos
75// (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_TimeInNanos.html)
76// in the AWS IoT SiteWise API Reference. For parameters that are string data type,
77// you can specify the following options:
78//
79// * Use a string. For example, the
80// timeInSeconds value can be '1586400675'.
81//
82// * Use an expression. For example, the
83// timeInSeconds value can be
84// '${$input.TemperatureInput.sensorData.timestamp/1000}'. For more information,
85// see Expressions
86// (https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html)
87// in the AWS IoT Events Developer Guide.
88type AssetPropertyTimestamp struct {
89
90	// The timestamp, in seconds, in the Unix epoch format. The valid range is between
91	// 1-31556889864403199. You can also specify an expression.
92	//
93	// This member is required.
94	TimeInSeconds *string
95
96	// The nanosecond offset converted from timeInSeconds. The valid range is between
97	// 0-999999999. You can also specify an expression.
98	OffsetInNanos *string
99}
100
101// A structure that contains value information. For more information, see
102// AssetPropertyValue
103// (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetPropertyValue.html)
104// in the AWS IoT SiteWise API Reference. For parameters that are string data type,
105// you can specify the following options:
106//
107// * Use a string. For example, the quality
108// value can be 'GOOD'.
109//
110// * Use an expression. For example, the quality value can be
111// $input.TemperatureInput.sensorData.quality . For more information, see
112// Expressions
113// (https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html)
114// in the AWS IoT Events Developer Guide.
115type AssetPropertyValue struct {
116
117	// The value to send to an asset property.
118	//
119	// This member is required.
120	Value *AssetPropertyVariant
121
122	// The quality of the asset property value. The value must be GOOD, BAD, or
123	// UNCERTAIN. You can also specify an expression.
124	Quality *string
125
126	// The timestamp associated with the asset property value. The default is the
127	// current event time.
128	Timestamp *AssetPropertyTimestamp
129}
130
131// A structure that contains an asset property value. For more information, see
132// Variant
133// (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_Variant.html)
134// in the AWS IoT SiteWise API Reference. You must specify one of the following
135// value types, depending on the dataType of the specified asset property. For more
136// information, see AssetProperty
137// (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetProperty.html)
138// in the AWS IoT SiteWise API Reference. For parameters that are string data type,
139// you can specify the following options:
140//
141// * Use a string. For example, the
142// doubleValue value can be '47.9'.
143//
144// * Use an expression. For example, the
145// doubleValue value can be $input.TemperatureInput.sensorData.temperature. For
146// more information, see Expressions
147// (https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html)
148// in the AWS IoT Events Developer Guide.
149type AssetPropertyVariant struct {
150
151	// The asset property value is a Boolean value that must be TRUE or FALSE. You can
152	// also specify an expression. If you use an expression, the evaluated result
153	// should be a Boolean value.
154	BooleanValue *string
155
156	// The asset property value is a double. You can also specify an expression. If you
157	// use an expression, the evaluated result should be a double.
158	DoubleValue *string
159
160	// The asset property value is an integer. You can also specify an expression. If
161	// you use an expression, the evaluated result should be an integer.
162	IntegerValue *string
163
164	// The asset property value is a string. You can also specify an expression. If you
165	// use an expression, the evaluated result should be a string.
166	StringValue *string
167}
168
169// The attributes from the JSON payload that are made available by the input.
170// Inputs are derived from messages sent to the AWS IoT Events system using
171// BatchPutMessage. Each such message contains a JSON payload. Those attributes
172// (and their paired values) specified here are available for use in the condition
173// expressions used by detectors.
174type Attribute struct {
175
176	// An expression that specifies an attribute-value pair in a JSON structure. Use
177	// this to specify an attribute from the JSON payload that is made available by the
178	// input. Inputs are derived from messages sent to AWS IoT Events
179	// (BatchPutMessage). Each such message contains a JSON payload. The attribute (and
180	// its paired value) specified here are available for use in the condition
181	// expressions used by detectors. Syntax: ....
182	//
183	// This member is required.
184	JsonPath *string
185}
186
187// Information needed to clear the timer.
188type ClearTimerAction struct {
189
190	// The name of the timer to clear.
191	//
192	// This member is required.
193	TimerName *string
194}
195
196// The detector model and the specific detectors (instances) for which the logging
197// level is given.
198type DetectorDebugOption struct {
199
200	// The name of the detector model.
201	//
202	// This member is required.
203	DetectorModelName *string
204
205	// The value of the input attribute key used to create the detector (the instance
206	// of the detector model).
207	KeyValue *string
208}
209
210// Information about the detector model.
211type DetectorModel struct {
212
213	// Information about how the detector is configured.
214	DetectorModelConfiguration *DetectorModelConfiguration
215
216	// Information that defines how a detector operates.
217	DetectorModelDefinition *DetectorModelDefinition
218}
219
220// Information about how the detector model is configured.
221type DetectorModelConfiguration struct {
222
223	// The time the detector model was created.
224	CreationTime *time.Time
225
226	// The ARN of the detector model.
227	DetectorModelArn *string
228
229	// A brief description of the detector model.
230	DetectorModelDescription *string
231
232	// The name of the detector model.
233	DetectorModelName *string
234
235	// The version of the detector model.
236	DetectorModelVersion *string
237
238	// Information about the order in which events are evaluated and how actions are
239	// executed.
240	EvaluationMethod EvaluationMethod
241
242	// The value used to identify a detector instance. When a device or system sends
243	// input, a new detector instance with a unique key value is created. AWS IoT
244	// Events can continue to route input to its corresponding detector instance based
245	// on this identifying information. This parameter uses a JSON-path expression to
246	// select the attribute-value pair in the message payload that is used for
247	// identification. To route the message to the correct detector instance, the
248	// device must send a message payload that contains the same attribute-value.
249	Key *string
250
251	// The time the detector model was last updated.
252	LastUpdateTime *time.Time
253
254	// The ARN of the role that grants permission to AWS IoT Events to perform its
255	// operations.
256	RoleArn *string
257
258	// The status of the detector model.
259	Status DetectorModelVersionStatus
260}
261
262// Information that defines how a detector operates.
263type DetectorModelDefinition struct {
264
265	// The state that is entered at the creation of each detector (instance).
266	//
267	// This member is required.
268	InitialStateName *string
269
270	// Information about the states of the detector.
271	//
272	// This member is required.
273	States []State
274}
275
276// Information about the detector model.
277type DetectorModelSummary struct {
278
279	// The time the detector model was created.
280	CreationTime *time.Time
281
282	// A brief description of the detector model.
283	DetectorModelDescription *string
284
285	// The name of the detector model.
286	DetectorModelName *string
287}
288
289// Information about the detector model version.
290type DetectorModelVersionSummary struct {
291
292	// The time the detector model version was created.
293	CreationTime *time.Time
294
295	// The ARN of the detector model version.
296	DetectorModelArn *string
297
298	// The name of the detector model.
299	DetectorModelName *string
300
301	// The ID of the detector model version.
302	DetectorModelVersion *string
303
304	// Information about the order in which events are evaluated and how actions are
305	// executed.
306	EvaluationMethod EvaluationMethod
307
308	// The last time the detector model version was updated.
309	LastUpdateTime *time.Time
310
311	// The ARN of the role that grants the detector model permission to perform its
312	// tasks.
313	RoleArn *string
314
315	// The status of the detector model version.
316	Status DetectorModelVersionStatus
317}
318
319// Defines an action to write to the Amazon DynamoDB table that you created. The
320// standard action payload contains all attribute-value pairs that have the
321// information about the detector model instance and the event that triggered the
322// action. You can also customize the payload
323// (https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html).
324// One column of the DynamoDB table receives all attribute-value pairs in the
325// payload that you specify. The tableName and hashKeyField values must match the
326// table name and the partition key of the DynamoDB table. If the DynamoDB table
327// also has a sort key, you must specify rangeKeyField. The rangeKeyField value
328// must match the sort key. The hashKeyValue and rangeKeyValue use substitution
329// templates. These templates provide data at runtime. The syntax is
330// ${sql-expression}. You can use expressions for parameters that are string data
331// type. For more information, see Expressions
332// (https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html)
333// in the AWS IoT Events Developer Guide. If the defined payload type is a string,
334// DynamoDBAction writes non-JSON data to the DynamoDB table as binary data. The
335// DynamoDB console displays the data as Base64-encoded text. The payloadField is
336// _raw.
337type DynamoDBAction struct {
338
339	// The name of the hash key (also called the partition key).
340	//
341	// This member is required.
342	HashKeyField *string
343
344	// The value of the hash key (also called the partition key).
345	//
346	// This member is required.
347	HashKeyValue *string
348
349	// The name of the DynamoDB table.
350	//
351	// This member is required.
352	TableName *string
353
354	// The data type for the hash key (also called the partition key). You can specify
355	// the following values:
356	//
357	// * STRING - The hash key is a string.
358	//
359	// * NUMBER - The hash
360	// key is a number.
361	//
362	// If you don't specify hashKeyType, the default value is STRING.
363	HashKeyType *string
364
365	// The type of operation to perform. You can specify the following values:
366	//
367	// *
368	// INSERT - Insert data as a new item into the DynamoDB table. This item uses the
369	// specified hash key as a partition key. If you specified a range key, the item
370	// uses the range key as a sort key.
371	//
372	// * UPDATE - Update an existing item of the
373	// DynamoDB table with new data. This item's partition key must match the specified
374	// hash key. If you specified a range key, the range key must match the item's sort
375	// key.
376	//
377	// * DELETE - Delete an existing item of the DynamoDB table. This item's
378	// partition key must match the specified hash key. If you specified a range key,
379	// the range key must match the item's sort key.
380	//
381	// If you don't specify this
382	// parameter, AWS IoT Events triggers the INSERT operation.
383	Operation *string
384
385	// Information needed to configure the payload. By default, AWS IoT Events
386	// generates a standard payload in JSON for any action. This action payload
387	// contains all attribute-value pairs that have the information about the detector
388	// model instance and the event triggered the action. To configure the action
389	// payload, you can use contentExpression.
390	Payload *Payload
391
392	// The name of the DynamoDB column that receives the action payload. If you don't
393	// specify this parameter, the name of the DynamoDB column is payload.
394	PayloadField *string
395
396	// The name of the range key (also called the sort key).
397	RangeKeyField *string
398
399	// The data type for the range key (also called the sort key), You can specify the
400	// following values:
401	//
402	// * STRING - The range key is a string.
403	//
404	// * NUMBER - The range
405	// key is number.
406	//
407	// If you don't specify rangeKeyField, the default value is STRING.
408	RangeKeyType *string
409
410	// The value of the range key (also called the sort key).
411	RangeKeyValue *string
412}
413
414// Defines an action to write to the Amazon DynamoDB table that you created. The
415// default action payload contains all attribute-value pairs that have the
416// information about the detector model instance and the event that triggered the
417// action. You can also customize the payload
418// (https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). A
419// separate column of the DynamoDB table receives one attribute-value pair in the
420// payload that you specify. The type value for Payload must be JSON. You can use
421// expressions for parameters that are strings. For more information, see
422// Expressions
423// (https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html)
424// in the AWS IoT Events Developer Guide.
425type DynamoDBv2Action struct {
426
427	// The name of the DynamoDB table.
428	//
429	// This member is required.
430	TableName *string
431
432	// Information needed to configure the payload. By default, AWS IoT Events
433	// generates a standard payload in JSON for any action. This action payload
434	// contains all attribute-value pairs that have the information about the detector
435	// model instance and the event triggered the action. To configure the action
436	// payload, you can use contentExpression.
437	Payload *Payload
438}
439
440// Specifies the actions to be performed when the condition evaluates to TRUE.
441type Event struct {
442
443	// The name of the event.
444	//
445	// This member is required.
446	EventName *string
447
448	// The actions to be performed.
449	Actions []Action
450
451	// Optional. The Boolean expression that, when TRUE, causes the actions to be
452	// performed. If not present, the actions are performed (=TRUE). If the expression
453	// result is not a Boolean value, the actions are not performed (=FALSE).
454	Condition *string
455}
456
457// Sends information about the detector model instance and the event that triggered
458// the action to an Amazon Kinesis Data Firehose delivery stream.
459type FirehoseAction struct {
460
461	// The name of the Kinesis Data Firehose delivery stream where the data is written.
462	//
463	// This member is required.
464	DeliveryStreamName *string
465
466	// You can configure the action payload when you send a message to an Amazon
467	// Kinesis Data Firehose delivery stream.
468	Payload *Payload
469
470	// A character separator that is used to separate records written to the Kinesis
471	// Data Firehose delivery stream. Valid values are: '\n' (newline), '\t' (tab),
472	// '\r\n' (Windows newline), ',' (comma).
473	Separator *string
474}
475
476// Information about the input.
477type Input struct {
478
479	// Information about the configuration of an input.
480	InputConfiguration *InputConfiguration
481
482	// The definition of the input.
483	InputDefinition *InputDefinition
484}
485
486// Information about the configuration of an input.
487type InputConfiguration struct {
488
489	// The time the input was created.
490	//
491	// This member is required.
492	CreationTime *time.Time
493
494	// The ARN of the input.
495	//
496	// This member is required.
497	InputArn *string
498
499	// The name of the input.
500	//
501	// This member is required.
502	InputName *string
503
504	// The last time the input was updated.
505	//
506	// This member is required.
507	LastUpdateTime *time.Time
508
509	// The status of the input.
510	//
511	// This member is required.
512	Status InputStatus
513
514	// A brief description of the input.
515	InputDescription *string
516}
517
518// The definition of the input.
519type InputDefinition struct {
520
521	// The attributes from the JSON payload that are made available by the input.
522	// Inputs are derived from messages sent to the AWS IoT Events system using
523	// BatchPutMessage. Each such message contains a JSON payload, and those attributes
524	// (and their paired values) specified here are available for use in the condition
525	// expressions used by detectors that monitor this input.
526	//
527	// This member is required.
528	Attributes []Attribute
529}
530
531// Information about the input.
532type InputSummary struct {
533
534	// The time the input was created.
535	CreationTime *time.Time
536
537	// The ARN of the input.
538	InputArn *string
539
540	// A brief description of the input.
541	InputDescription *string
542
543	// The name of the input.
544	InputName *string
545
546	// The last time the input was updated.
547	LastUpdateTime *time.Time
548
549	// The status of the input.
550	Status InputStatus
551}
552
553// Sends an AWS IoT Events input, passing in information about the detector model
554// instance and the event that triggered the action.
555type IotEventsAction struct {
556
557	// The name of the AWS IoT Events input where the data is sent.
558	//
559	// This member is required.
560	InputName *string
561
562	// You can configure the action payload when you send a message to an AWS IoT
563	// Events input.
564	Payload *Payload
565}
566
567// Sends information about the detector model instance and the event that triggered
568// the action to a specified asset property in AWS IoT SiteWise. You must specify
569// either propertyAlias or both assetId and propertyId to identify the target asset
570// property in AWS IoT SiteWise. For parameters that are string data type, you can
571// specify the following options:
572//
573// * Use a string. For example, the propertyAlias
574// value can be '/company/windfarm/3/turbine/7/temperature'.
575//
576// * Use an expression.
577// For example, the propertyAlias value can be
578// 'company/windfarm/${$input.TemperatureInput.sensorData.windfarmID}/turbine/${$input.TemperatureInput.sensorData.turbineID}/temperature'.
579// For more information, see Expressions
580// (https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html)
581// in the AWS IoT Events Developer Guide.
582type IotSiteWiseAction struct {
583
584	// The value to send to the asset property. This value contains timestamp, quality,
585	// and value (TQV) information.
586	//
587	// This member is required.
588	PropertyValue *AssetPropertyValue
589
590	// The ID of the asset that has the specified property. You can specify an
591	// expression.
592	AssetId *string
593
594	// A unique identifier for this entry. You can use the entry ID to track which data
595	// entry causes an error in case of failure. The default is a new unique
596	// identifier. You can also specify an expression.
597	EntryId *string
598
599	// The alias of the asset property. You can also specify an expression.
600	PropertyAlias *string
601
602	// The ID of the asset property. You can specify an expression.
603	PropertyId *string
604}
605
606// Information required to publish the MQTT message through the AWS IoT message
607// broker.
608type IotTopicPublishAction struct {
609
610	// The MQTT topic of the message. You can use a string expression that includes
611	// variables ($variable.) and input values ($input..) as the topic string.
612	//
613	// This member is required.
614	MqttTopic *string
615
616	// You can configure the action payload when you publish a message to an AWS IoT
617	// Core topic.
618	Payload *Payload
619}
620
621// Calls a Lambda function, passing in information about the detector model
622// instance and the event that triggered the action.
623type LambdaAction struct {
624
625	// The ARN of the Lambda function that is executed.
626	//
627	// This member is required.
628	FunctionArn *string
629
630	// You can configure the action payload when you send a message to a Lambda
631	// function.
632	Payload *Payload
633}
634
635// The values of the AWS IoT Events logging options.
636type LoggingOptions struct {
637
638	// If TRUE, logging is enabled for AWS IoT Events.
639	//
640	// This member is required.
641	Enabled bool
642
643	// The logging level.
644	//
645	// This member is required.
646	Level LoggingLevel
647
648	// The ARN of the role that grants permission to AWS IoT Events to perform logging.
649	//
650	// This member is required.
651	RoleArn *string
652
653	// Information that identifies those detector models and their detectors
654	// (instances) for which the logging level is given.
655	DetectorDebugOptions []DetectorDebugOption
656}
657
658// When entering this state, perform these actions if the condition is TRUE.
659type OnEnterLifecycle struct {
660
661	// Specifies the actions that are performed when the state is entered and the
662	// condition is TRUE.
663	Events []Event
664}
665
666// When exiting this state, perform these actions if the specified condition is
667// TRUE.
668type OnExitLifecycle struct {
669
670	// Specifies the actions that are performed when the state is exited and the
671	// condition is TRUE.
672	Events []Event
673}
674
675// Specifies the actions performed when the condition evaluates to TRUE.
676type OnInputLifecycle struct {
677
678	// Specifies the actions performed when the condition evaluates to TRUE.
679	Events []Event
680
681	// Specifies the actions performed, and the next state entered, when a condition
682	// evaluates to TRUE.
683	TransitionEvents []TransitionEvent
684}
685
686// Information needed to configure the payload. By default, AWS IoT Events
687// generates a standard payload in JSON for any action. This action payload
688// contains all attribute-value pairs that have the information about the detector
689// model instance and the event triggered the action. To configure the action
690// payload, you can use contentExpression.
691type Payload struct {
692
693	// The content of the payload. You can use a string expression that includes quoted
694	// strings (''), variables ($variable.), input values ($input..), string
695	// concatenations, and quoted strings that contain ${} as the content. The
696	// recommended maximum size of a content expression is 1 KB.
697	//
698	// This member is required.
699	ContentExpression *string
700
701	// The value of the payload type can be either STRING or JSON.
702	//
703	// This member is required.
704	Type PayloadType
705}
706
707// Information required to reset the timer. The timer is reset to the previously
708// evaluated result of the duration. The duration expression isn't reevaluated when
709// you reset the timer.
710type ResetTimerAction struct {
711
712	// The name of the timer to reset.
713	//
714	// This member is required.
715	TimerName *string
716}
717
718// Information needed to set the timer.
719type SetTimerAction struct {
720
721	// The name of the timer.
722	//
723	// This member is required.
724	TimerName *string
725
726	// The duration of the timer, in seconds. You can use a string expression that
727	// includes numbers, variables ($variable.), and input values ($input..) as the
728	// duration. The range of the duration is 1-31622400 seconds. To ensure accuracy,
729	// the minimum duration is 60 seconds. The evaluated result of the duration is
730	// rounded down to the nearest whole number.
731	DurationExpression *string
732
733	// The number of seconds until the timer expires. The minimum value is 60 seconds
734	// to ensure accuracy. The maximum value is 31622400 seconds.
735	//
736	// Deprecated: seconds is deprecated. You can use durationExpression for
737	// SetTimerAction. The value of seconds can be used as a string expression for
738	// durationExpression.
739	Seconds *int32
740}
741
742// Information about the variable and its new value.
743type SetVariableAction struct {
744
745	// The new value of the variable.
746	//
747	// This member is required.
748	Value *string
749
750	// The name of the variable.
751	//
752	// This member is required.
753	VariableName *string
754}
755
756// Information required to publish the Amazon SNS message.
757type SNSTopicPublishAction struct {
758
759	// The ARN of the Amazon SNS target where the message is sent.
760	//
761	// This member is required.
762	TargetArn *string
763
764	// You can configure the action payload when you send a message as an Amazon SNS
765	// push notification.
766	Payload *Payload
767}
768
769// Sends information about the detector model instance and the event that triggered
770// the action to an Amazon SQS queue.
771type SqsAction struct {
772
773	// The URL of the SQS queue where the data is written.
774	//
775	// This member is required.
776	QueueUrl *string
777
778	// You can configure the action payload when you send a message to an Amazon SQS
779	// queue.
780	Payload *Payload
781
782	// Set this to TRUE if you want the data to be base-64 encoded before it is written
783	// to the queue. Otherwise, set this to FALSE.
784	UseBase64 *bool
785}
786
787// Information that defines a state of a detector.
788type State struct {
789
790	// The name of the state.
791	//
792	// This member is required.
793	StateName *string
794
795	// When entering this state, perform these actions if the condition is TRUE.
796	OnEnter *OnEnterLifecycle
797
798	// When exiting this state, perform these actions if the specified condition is
799	// TRUE.
800	OnExit *OnExitLifecycle
801
802	// When an input is received and the condition is TRUE, perform the specified
803	// actions.
804	OnInput *OnInputLifecycle
805}
806
807// Metadata that can be used to manage the resource.
808type Tag struct {
809
810	// The tag's key.
811	//
812	// This member is required.
813	Key *string
814
815	// The tag's value.
816	//
817	// This member is required.
818	Value *string
819}
820
821// Specifies the actions performed and the next state entered when a condition
822// evaluates to TRUE.
823type TransitionEvent struct {
824
825	// Required. A Boolean expression that when TRUE causes the actions to be performed
826	// and the nextState to be entered.
827	//
828	// This member is required.
829	Condition *string
830
831	// The name of the transition event.
832	//
833	// This member is required.
834	EventName *string
835
836	// The next state to enter.
837	//
838	// This member is required.
839	NextState *string
840
841	// The actions to be performed.
842	Actions []Action
843}
844