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