1// Code generated by smithy-go-codegen DO NOT EDIT. 2 3package types 4 5import ( 6 "time" 7) 8 9// An activity that adds other attributes based on existing attributes in the 10// message. 11type AddAttributesActivity struct { 12 13 // A list of 1-50 AttributeNameMapping objects that map an existing attribute to a 14 // new attribute. The existing attributes remain in the message, so if you want to 15 // remove the originals, use RemoveAttributeActivity. 16 // 17 // This member is required. 18 Attributes map[string]string 19 20 // The name of the addAttributes activity. 21 // 22 // This member is required. 23 Name *string 24 25 // The next activity in the pipeline. 26 Next *string 27} 28 29// Contains informations about errors. 30type BatchPutMessageErrorEntry struct { 31 32 // The code associated with the error. 33 ErrorCode *string 34 35 // The message associated with the error. 36 ErrorMessage *string 37 38 // The ID of the message that caused the error. See the value corresponding to the 39 // messageId key in the message object. 40 MessageId *string 41} 42 43// A collection of data from an MQTT topic. Channels archive the raw, unprocessed 44// messages before publishing the data to a pipeline. 45type Channel struct { 46 47 // The ARN of the channel. 48 Arn *string 49 50 // When the channel was created. 51 CreationTime *time.Time 52 53 // The last time when a new message arrived in the channel. AWS IoT Analytics 54 // updates this value at most once per minute for one channel. Hence, the 55 // lastMessageArrivalTime value is an approximation. This feature only applies to 56 // messages that arrived in the data store after October 23, 2020. 57 LastMessageArrivalTime *time.Time 58 59 // When the channel was last updated. 60 LastUpdateTime *time.Time 61 62 // The name of the channel. 63 Name *string 64 65 // How long, in days, message data is kept for the channel. 66 RetentionPeriod *RetentionPeriod 67 68 // The status of the channel. 69 Status ChannelStatus 70 71 // Where channel data is stored. You can choose one of serviceManagedS3 or 72 // customerManagedS3 storage. If not specified, the default is serviceManagedS3. 73 // You cannot change this storage option after the channel is created. 74 Storage *ChannelStorage 75} 76 77// The activity that determines the source of the messages to be processed. 78type ChannelActivity struct { 79 80 // The name of the channel from which the messages are processed. 81 // 82 // This member is required. 83 ChannelName *string 84 85 // The name of the channel activity. 86 // 87 // This member is required. 88 Name *string 89 90 // The next activity in the pipeline. 91 Next *string 92} 93 94// Specifies one or more sets of channel messages. 95type ChannelMessages struct { 96 97 // Specifies one or more keys that identify the Amazon Simple Storage Service 98 // (Amazon S3) objects that save your channel messages. 99 S3Paths []string 100} 101 102// Statistics information about the channel. 103type ChannelStatistics struct { 104 105 // The estimated size of the channel. 106 Size *EstimatedResourceSize 107} 108 109// Where channel data is stored. You may choose one of serviceManagedS3 or 110// customerManagedS3 storage. If not specified, the default is serviceManagedS3. 111// This cannot be changed after creation of the channel. 112type ChannelStorage struct { 113 114 // Use this to store channel data in an S3 bucket that you manage. If customer 115 // managed storage is selected, the retentionPeriod parameter is ignored. You 116 // cannot change the choice of service-managed or customer-managed S3 storage after 117 // the channel is created. 118 CustomerManagedS3 *CustomerManagedChannelS3Storage 119 120 // Use this to store channel data in an S3 bucket managed by AWS IoT Analytics. You 121 // cannot change the choice of service-managed or customer-managed S3 storage after 122 // the channel is created. 123 ServiceManagedS3 *ServiceManagedChannelS3Storage 124} 125 126// Where channel data is stored. 127type ChannelStorageSummary struct { 128 129 // Used to store channel data in an S3 bucket that you manage. 130 CustomerManagedS3 *CustomerManagedChannelS3StorageSummary 131 132 // Used to store channel data in an S3 bucket managed by AWS IoT Analytics. 133 ServiceManagedS3 *ServiceManagedChannelS3StorageSummary 134} 135 136// A summary of information about a channel. 137type ChannelSummary struct { 138 139 // The name of the channel. 140 ChannelName *string 141 142 // Where channel data is stored. 143 ChannelStorage *ChannelStorageSummary 144 145 // When the channel was created. 146 CreationTime *time.Time 147 148 // The last time when a new message arrived in the channel. AWS IoT Analytics 149 // updates this value at most once per minute for one channel. Hence, the 150 // lastMessageArrivalTime value is an approximation. This feature only applies to 151 // messages that arrived in the data store after October 23, 2020. 152 LastMessageArrivalTime *time.Time 153 154 // The last time the channel was updated. 155 LastUpdateTime *time.Time 156 157 // The status of the channel. 158 Status ChannelStatus 159} 160 161// Contains information about a column that stores your data. 162type Column struct { 163 164 // The name of the column. 165 // 166 // This member is required. 167 Name *string 168 169 // The type of data. For more information about the supported data types, see 170 // Common data types 171 // (https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-common.html) in the AWS 172 // Glue Developer Guide. 173 // 174 // This member is required. 175 Type *string 176} 177 178// Information required to run the containerAction to produce dataset contents. 179type ContainerDatasetAction struct { 180 181 // The ARN of the role that gives permission to the system to access required 182 // resources to run the containerAction. This includes, at minimum, permission to 183 // retrieve the dataset contents that are the input to the containerized 184 // application. 185 // 186 // This member is required. 187 ExecutionRoleArn *string 188 189 // The ARN of the Docker container stored in your account. The Docker container 190 // contains an application and required support libraries and is used to generate 191 // dataset contents. 192 // 193 // This member is required. 194 Image *string 195 196 // Configuration of the resource that executes the containerAction. 197 // 198 // This member is required. 199 ResourceConfiguration *ResourceConfiguration 200 201 // The values of variables used in the context of the execution of the 202 // containerized application (basically, parameters passed to the application). 203 // Each variable must have a name and a value given by one of stringValue, 204 // datasetContentVersionValue, or outputFileUriValue. 205 Variables []Variable 206} 207 208// Use this to store channel data in an S3 bucket that you manage. If customer 209// managed storage is selected, the retentionPeriod parameter is ignored. You 210// cannot change the choice of service-managed or customer-managed S3 storage after 211// the channel is created. 212type CustomerManagedChannelS3Storage struct { 213 214 // The name of the S3 bucket in which channel data is stored. 215 // 216 // This member is required. 217 Bucket *string 218 219 // The ARN of the role that grants AWS IoT Analytics permission to interact with 220 // your Amazon S3 resources. 221 // 222 // This member is required. 223 RoleArn *string 224 225 // Optional. The prefix used to create the keys of the channel data objects. Each 226 // object in an S3 bucket has a key that is its unique identifier in the bucket. 227 // Each object in a bucket has exactly one key. The prefix must end with a forward 228 // slash (/). 229 KeyPrefix *string 230} 231 232// Used to store channel data in an S3 bucket that you manage. 233type CustomerManagedChannelS3StorageSummary struct { 234 235 // The name of the S3 bucket in which channel data is stored. 236 Bucket *string 237 238 // Optional. The prefix used to create the keys of the channel data objects. Each 239 // object in an S3 bucket has a key that is its unique identifier within the bucket 240 // (each object in a bucket has exactly one key). The prefix must end with a 241 // forward slash (/). 242 KeyPrefix *string 243 244 // The ARN of the role that grants AWS IoT Analytics permission to interact with 245 // your Amazon S3 resources. 246 RoleArn *string 247} 248 249// Use this to store data store data in an S3 bucket that you manage. When 250// customer-managed storage is selected, the retentionPeriod parameter is ignored. 251// You cannot change the choice of service-managed or customer-managed S3 storage 252// after the data store is created. 253type CustomerManagedDatastoreS3Storage struct { 254 255 // The name of the S3 bucket in which data store data is stored. 256 // 257 // This member is required. 258 Bucket *string 259 260 // The ARN of the role that grants AWS IoT Analytics permission to interact with 261 // your Amazon S3 resources. 262 // 263 // This member is required. 264 RoleArn *string 265 266 // Optional. The prefix used to create the keys of the data store data objects. 267 // Each object in an S3 bucket has a key that is its unique identifier in the 268 // bucket. Each object in a bucket has exactly one key. The prefix must end with a 269 // forward slash (/). 270 KeyPrefix *string 271} 272 273// Used to store data store data in an S3 bucket that you manage. 274type CustomerManagedDatastoreS3StorageSummary struct { 275 276 // The name of the S3 bucket in which data store data is stored. 277 Bucket *string 278 279 // Optional. The prefix used to create the keys of the data store data objects. 280 // Each object in an S3 bucket has a key that is its unique identifier in the 281 // bucket. Each object in a bucket has exactly one key. The prefix must end with a 282 // forward slash (/). 283 KeyPrefix *string 284 285 // The ARN of the role that grants AWS IoT Analytics permission to interact with 286 // your Amazon S3 resources. 287 RoleArn *string 288} 289 290// Information about a data set. 291type Dataset struct { 292 293 // The DatasetAction objects that automatically create the data set contents. 294 Actions []DatasetAction 295 296 // The ARN of the data set. 297 Arn *string 298 299 // When dataset contents are created they are delivered to destinations specified 300 // here. 301 ContentDeliveryRules []DatasetContentDeliveryRule 302 303 // When the data set was created. 304 CreationTime *time.Time 305 306 // The last time the data set was updated. 307 LastUpdateTime *time.Time 308 309 // A list of data rules that send notifications to Amazon CloudWatch, when data 310 // arrives late. To specify lateDataRules, the dataset must use a DeltaTimer 311 // (https://docs.aws.amazon.com/iotanalytics/latest/APIReference/API_DeltaTime.html) 312 // filter. 313 LateDataRules []LateDataRule 314 315 // The name of the data set. 316 Name *string 317 318 // Optional. How long, in days, message data is kept for the data set. 319 RetentionPeriod *RetentionPeriod 320 321 // The status of the data set. 322 Status DatasetStatus 323 324 // The DatasetTrigger objects that specify when the data set is automatically 325 // updated. 326 Triggers []DatasetTrigger 327 328 // Optional. How many versions of dataset contents are kept. If not specified or 329 // set to null, only the latest version plus the latest succeeded version (if they 330 // are different) are kept for the time period specified by the retentionPeriod 331 // parameter. For more information, see Keeping Multiple Versions of AWS IoT 332 // Analytics Data Sets 333 // (https://docs.aws.amazon.com/iotanalytics/latest/userguide/getting-started.html#aws-iot-analytics-dataset-versions) 334 // in the AWS IoT Analytics User Guide. 335 VersioningConfiguration *VersioningConfiguration 336} 337 338// A DatasetAction object that specifies how data set contents are automatically 339// created. 340type DatasetAction struct { 341 342 // The name of the data set action by which data set contents are automatically 343 // created. 344 ActionName *string 345 346 // Information that allows the system to run a containerized application to create 347 // the dataset contents. The application must be in a Docker container along with 348 // any required support libraries. 349 ContainerAction *ContainerDatasetAction 350 351 // An SqlQueryDatasetAction object that uses an SQL query to automatically create 352 // data set contents. 353 QueryAction *SqlQueryDatasetAction 354} 355 356// Information about the action that automatically creates the dataset's contents. 357type DatasetActionSummary struct { 358 359 // The name of the action that automatically creates the dataset's contents. 360 ActionName *string 361 362 // The type of action by which the dataset's contents are automatically created. 363 ActionType DatasetActionType 364} 365 366// The destination to which dataset contents are delivered. 367type DatasetContentDeliveryDestination struct { 368 369 // Configuration information for delivery of dataset contents to AWS IoT Events. 370 IotEventsDestinationConfiguration *IotEventsDestinationConfiguration 371 372 // Configuration information for delivery of dataset contents to Amazon S3. 373 S3DestinationConfiguration *S3DestinationConfiguration 374} 375 376// When dataset contents are created, they are delivered to destination specified 377// here. 378type DatasetContentDeliveryRule struct { 379 380 // The destination to which dataset contents are delivered. 381 // 382 // This member is required. 383 Destination *DatasetContentDeliveryDestination 384 385 // The name of the dataset content delivery rules entry. 386 EntryName *string 387} 388 389// The state of the data set contents and the reason they are in this state. 390type DatasetContentStatus struct { 391 392 // The reason the data set contents are in this state. 393 Reason *string 394 395 // The state of the data set contents. Can be one of READY, CREATING, SUCCEEDED, or 396 // FAILED. 397 State DatasetContentState 398} 399 400// Summary information about dataset contents. 401type DatasetContentSummary struct { 402 403 // The time the dataset content status was updated to SUCCEEDED or FAILED. 404 CompletionTime *time.Time 405 406 // The actual time the creation of the dataset contents was started. 407 CreationTime *time.Time 408 409 // The time the creation of the dataset contents was scheduled to start. 410 ScheduleTime *time.Time 411 412 // The status of the data set contents. 413 Status *DatasetContentStatus 414 415 // The version of the dataset contents. 416 Version *string 417} 418 419// The dataset whose latest contents are used as input to the notebook or 420// application. 421type DatasetContentVersionValue struct { 422 423 // The name of the dataset whose latest contents are used as input to the notebook 424 // or application. 425 // 426 // This member is required. 427 DatasetName *string 428} 429 430// The reference to a data set entry. 431type DatasetEntry struct { 432 433 // The presigned URI of the data set item. 434 DataURI *string 435 436 // The name of the data set item. 437 EntryName *string 438} 439 440// A summary of information about a data set. 441type DatasetSummary struct { 442 443 // A list of DataActionSummary objects. 444 Actions []DatasetActionSummary 445 446 // The time the data set was created. 447 CreationTime *time.Time 448 449 // The name of the data set. 450 DatasetName *string 451 452 // The last time the data set was updated. 453 LastUpdateTime *time.Time 454 455 // The status of the data set. 456 Status DatasetStatus 457 458 // A list of triggers. A trigger causes data set content to be populated at a 459 // specified time interval or when another data set is populated. The list of 460 // triggers can be empty or contain up to five DataSetTrigger objects 461 Triggers []DatasetTrigger 462} 463 464// The DatasetTrigger that specifies when the data set is automatically updated. 465type DatasetTrigger struct { 466 467 // The data set whose content creation triggers the creation of this data set's 468 // contents. 469 Dataset *TriggeringDataset 470 471 // The Schedule when the trigger is initiated. 472 Schedule *Schedule 473} 474 475// Information about a data store. 476type Datastore struct { 477 478 // The ARN of the data store. 479 Arn *string 480 481 // When the data store was created. 482 CreationTime *time.Time 483 484 // Contains the configuration information of file formats. AWS IoT Analytics data 485 // stores support JSON and Parquet (https://parquet.apache.org/). The default file 486 // format is JSON. You can specify only one format. You can't change the file 487 // format after you create the data store. 488 FileFormatConfiguration *FileFormatConfiguration 489 490 // The last time when a new message arrived in the data store. AWS IoT Analytics 491 // updates this value at most once per minute for one data store. Hence, the 492 // lastMessageArrivalTime value is an approximation. This feature only applies to 493 // messages that arrived in the data store after October 23, 2020. 494 LastMessageArrivalTime *time.Time 495 496 // The last time the data store was updated. 497 LastUpdateTime *time.Time 498 499 // The name of the data store. 500 Name *string 501 502 // How long, in days, message data is kept for the data store. When 503 // customerManagedS3 storage is selected, this parameter is ignored. 504 RetentionPeriod *RetentionPeriod 505 506 // The status of a data store: CREATING The data store is being created. ACTIVE The 507 // data store has been created and can be used. DELETING The data store is being 508 // deleted. 509 Status DatastoreStatus 510 511 // Where data store data is stored. You can choose one of serviceManagedS3 or 512 // customerManagedS3 storage. If not specified, the default is serviceManagedS3. 513 // You cannot change this storage option after the data store is created. 514 Storage DatastoreStorage 515} 516 517// The datastore activity that specifies where to store the processed data. 518type DatastoreActivity struct { 519 520 // The name of the data store where processed messages are stored. 521 // 522 // This member is required. 523 DatastoreName *string 524 525 // The name of the datastore activity. 526 // 527 // This member is required. 528 Name *string 529} 530 531// Statistical information about the data store. 532type DatastoreStatistics struct { 533 534 // The estimated size of the data store. 535 Size *EstimatedResourceSize 536} 537 538// Where data store data is stored. You can choose one of serviceManagedS3 or 539// customerManagedS3 storage. If not specified, the default is serviceManagedS3. 540// You cannot change this storage option after the data store is created. 541// 542// The following types satisfy this interface: 543// DatastoreStorageMemberServiceManagedS3 544// DatastoreStorageMemberCustomerManagedS3 545type DatastoreStorage interface { 546 isDatastoreStorage() 547} 548 549// Use this to store data store data in an S3 bucket managed by AWS IoT Analytics. 550// You cannot change the choice of service-managed or customer-managed S3 storage 551// after the data store is created. 552type DatastoreStorageMemberServiceManagedS3 struct { 553 Value ServiceManagedDatastoreS3Storage 554} 555 556func (*DatastoreStorageMemberServiceManagedS3) isDatastoreStorage() {} 557 558// Use this to store data store data in an S3 bucket that you manage. When customer 559// managed storage is selected, the retentionPeriod parameter is ignored. The 560// choice of service-managed or customer-managed S3 storage cannot be changed after 561// creation of the data store. 562type DatastoreStorageMemberCustomerManagedS3 struct { 563 Value CustomerManagedDatastoreS3Storage 564} 565 566func (*DatastoreStorageMemberCustomerManagedS3) isDatastoreStorage() {} 567 568// Where data store data is stored. 569type DatastoreStorageSummary struct { 570 571 // Used to store data store data in an S3 bucket that you manage. 572 CustomerManagedS3 *CustomerManagedDatastoreS3StorageSummary 573 574 // Used to store data store data in an S3 bucket managed by AWS IoT Analytics. 575 ServiceManagedS3 *ServiceManagedDatastoreS3StorageSummary 576} 577 578// A summary of information about a data store. 579type DatastoreSummary struct { 580 581 // When the data store was created. 582 CreationTime *time.Time 583 584 // The name of the data store. 585 DatastoreName *string 586 587 // Where data store data is stored. 588 DatastoreStorage *DatastoreStorageSummary 589 590 // The file format of the data in the data store. 591 FileFormatType FileFormatType 592 593 // The last time when a new message arrived in the data store. AWS IoT Analytics 594 // updates this value at most once per minute for one data store. Hence, the 595 // lastMessageArrivalTime value is an approximation. This feature only applies to 596 // messages that arrived in the data store after October 23, 2020. 597 LastMessageArrivalTime *time.Time 598 599 // The last time the data store was updated. 600 LastUpdateTime *time.Time 601 602 // The status of the data store. 603 Status DatastoreStatus 604} 605 606// Used to limit data to that which has arrived since the last execution of the 607// action. 608type DeltaTime struct { 609 610 // The number of seconds of estimated in-flight lag time of message data. When you 611 // create dataset contents using message data from a specified timeframe, some 612 // message data might still be in flight when processing begins, and so do not 613 // arrive in time to be processed. Use this field to make allowances for the in 614 // flight time of your message data, so that data not processed from a previous 615 // timeframe is included with the next timeframe. Otherwise, missed message data 616 // would be excluded from processing during the next timeframe too, because its 617 // timestamp places it within the previous timeframe. 618 // 619 // This member is required. 620 OffsetSeconds *int32 621 622 // An expression by which the time of the message data might be determined. This 623 // can be the name of a timestamp field or a SQL expression that is used to derive 624 // the time the message data was generated. 625 // 626 // This member is required. 627 TimeExpression *string 628} 629 630// A structure that contains the configuration information of a delta time session 631// window. DeltaTime 632// (https://docs.aws.amazon.com/iotanalytics/latest/APIReference/API_DeltaTime.html) 633// specifies a time interval. You can use DeltaTime to create dataset contents with 634// data that has arrived in the data store since the last execution. For an example 635// of DeltaTime, see Creating a SQL dataset with a delta window (CLI) 636// (https://docs.aws.amazon.com/iotanalytics/latest/userguide/automate-create-dataset.html#automate-example6) 637// in the AWS IoT Analytics User Guide. 638type DeltaTimeSessionWindowConfiguration struct { 639 640 // A time interval. You can use timeoutInMinutes so that AWS IoT Analytics can 641 // batch up late data notifications that have been generated since the last 642 // execution. AWS IoT Analytics sends one batch of notifications to Amazon 643 // CloudWatch Events at one time. For more information about how to write a 644 // timestamp expression, see Date and Time Functions and Operators 645 // (https://prestodb.io/docs/0.172/functions/datetime.html), in the Presto 0.172 646 // Documentation. 647 // 648 // This member is required. 649 TimeoutInMinutes *int32 650} 651 652// An activity that adds data from the AWS IoT device registry to your message. 653type DeviceRegistryEnrichActivity struct { 654 655 // The name of the attribute that is added to the message. 656 // 657 // This member is required. 658 Attribute *string 659 660 // The name of the deviceRegistryEnrich activity. 661 // 662 // This member is required. 663 Name *string 664 665 // The ARN of the role that allows access to the device's registry information. 666 // 667 // This member is required. 668 RoleArn *string 669 670 // The name of the IoT device whose registry information is added to the message. 671 // 672 // This member is required. 673 ThingName *string 674 675 // The next activity in the pipeline. 676 Next *string 677} 678 679// An activity that adds information from the AWS IoT Device Shadow service to a 680// message. 681type DeviceShadowEnrichActivity struct { 682 683 // The name of the attribute that is added to the message. 684 // 685 // This member is required. 686 Attribute *string 687 688 // The name of the deviceShadowEnrich activity. 689 // 690 // This member is required. 691 Name *string 692 693 // The ARN of the role that allows access to the device's shadow. 694 // 695 // This member is required. 696 RoleArn *string 697 698 // The name of the IoT device whose shadow information is added to the message. 699 // 700 // This member is required. 701 ThingName *string 702 703 // The next activity in the pipeline. 704 Next *string 705} 706 707// The estimated size of the resource. 708type EstimatedResourceSize struct { 709 710 // The time when the estimate of the size of the resource was made. 711 EstimatedOn *time.Time 712 713 // The estimated size of the resource, in bytes. 714 EstimatedSizeInBytes *float64 715} 716 717// Contains the configuration information of file formats. AWS IoT Analytics data 718// stores support JSON and Parquet (https://parquet.apache.org/). The default file 719// format is JSON. You can specify only one format. You can't change the file 720// format after you create the data store. 721type FileFormatConfiguration struct { 722 723 // Contains the configuration information of the JSON format. 724 JsonConfiguration *JsonConfiguration 725 726 // Contains the configuration information of the Parquet format. 727 ParquetConfiguration *ParquetConfiguration 728} 729 730// An activity that filters a message based on its attributes. 731type FilterActivity struct { 732 733 // An expression that looks like a SQL WHERE clause that must return a Boolean 734 // value. Messages that satisfy the condition are passed to the next activity. 735 // 736 // This member is required. 737 Filter *string 738 739 // The name of the filter activity. 740 // 741 // This member is required. 742 Name *string 743 744 // The next activity in the pipeline. 745 Next *string 746} 747 748// Configuration information for coordination with AWS Glue, a fully managed 749// extract, transform and load (ETL) service. 750type GlueConfiguration struct { 751 752 // The name of the database in your AWS Glue Data Catalog in which the table is 753 // located. An AWS Glue Data Catalog database contains metadata tables. 754 // 755 // This member is required. 756 DatabaseName *string 757 758 // The name of the table in your AWS Glue Data Catalog that is used to perform the 759 // ETL operations. An AWS Glue Data Catalog table contains partitioned data and 760 // descriptions of data sources and targets. 761 // 762 // This member is required. 763 TableName *string 764} 765 766// Configuration information for delivery of dataset contents to AWS IoT Events. 767type IotEventsDestinationConfiguration struct { 768 769 // The name of the AWS IoT Events input to which dataset contents are delivered. 770 // 771 // This member is required. 772 InputName *string 773 774 // The ARN of the role that grants AWS IoT Analytics permission to deliver dataset 775 // contents to an AWS IoT Events input. 776 // 777 // This member is required. 778 RoleArn *string 779} 780 781// Contains the configuration information of the JSON format. 782type JsonConfiguration struct { 783} 784 785// An activity that runs a Lambda function to modify the message. 786type LambdaActivity struct { 787 788 // The number of messages passed to the Lambda function for processing. The Lambda 789 // function must be able to process all of these messages within five minutes, 790 // which is the maximum timeout duration for Lambda functions. 791 // 792 // This member is required. 793 BatchSize *int32 794 795 // The name of the Lambda function that is run on the message. 796 // 797 // This member is required. 798 LambdaName *string 799 800 // The name of the lambda activity. 801 // 802 // This member is required. 803 Name *string 804 805 // The next activity in the pipeline. 806 Next *string 807} 808 809// A structure that contains the name and configuration information of a late data 810// rule. 811type LateDataRule struct { 812 813 // The information needed to configure the late data rule. 814 // 815 // This member is required. 816 RuleConfiguration *LateDataRuleConfiguration 817 818 // The name of the late data rule. 819 RuleName *string 820} 821 822// The information needed to configure a delta time session window. 823type LateDataRuleConfiguration struct { 824 825 // The information needed to configure a delta time session window. 826 DeltaTimeSessionWindowConfiguration *DeltaTimeSessionWindowConfiguration 827} 828 829// Information about logging options. 830type LoggingOptions struct { 831 832 // If true, logging is enabled for AWS IoT Analytics. 833 // 834 // This member is required. 835 Enabled bool 836 837 // The logging level. Currently, only ERROR is supported. 838 // 839 // This member is required. 840 Level LoggingLevel 841 842 // The ARN of the role that grants permission to AWS IoT Analytics to perform 843 // logging. 844 // 845 // This member is required. 846 RoleArn *string 847} 848 849// An activity that computes an arithmetic expression using the message's 850// attributes. 851type MathActivity struct { 852 853 // The name of the attribute that contains the result of the math operation. 854 // 855 // This member is required. 856 Attribute *string 857 858 // An expression that uses one or more existing attributes and must return an 859 // integer value. 860 // 861 // This member is required. 862 Math *string 863 864 // The name of the math activity. 865 // 866 // This member is required. 867 Name *string 868 869 // The next activity in the pipeline. 870 Next *string 871} 872 873// Information about a message. 874type Message struct { 875 876 // The ID you want to assign to the message. Each messageId must be unique within 877 // each batch sent. 878 // 879 // This member is required. 880 MessageId *string 881 882 // The payload of the message. This can be a JSON string or a base64-encoded string 883 // representing binary data, in which case you must decode it by means of a 884 // pipeline activity. 885 // 886 // This member is required. 887 Payload []byte 888} 889 890// The value of the variable as a structure that specifies an output file URI. 891type OutputFileUriValue struct { 892 893 // The URI of the location where dataset contents are stored, usually the URI of a 894 // file in an S3 bucket. 895 // 896 // This member is required. 897 FileName *string 898} 899 900// Contains the configuration information of the Parquet format. 901type ParquetConfiguration struct { 902 903 // Information needed to define a schema. 904 SchemaDefinition *SchemaDefinition 905} 906 907// Contains information about a pipeline. 908type Pipeline struct { 909 910 // The activities that perform transformations on the messages. 911 Activities []PipelineActivity 912 913 // The ARN of the pipeline. 914 Arn *string 915 916 // When the pipeline was created. 917 CreationTime *time.Time 918 919 // The last time the pipeline was updated. 920 LastUpdateTime *time.Time 921 922 // The name of the pipeline. 923 Name *string 924 925 // A summary of information about the pipeline reprocessing. 926 ReprocessingSummaries []ReprocessingSummary 927} 928 929// An activity that performs a transformation on a message. 930type PipelineActivity struct { 931 932 // Adds other attributes based on existing attributes in the message. 933 AddAttributes *AddAttributesActivity 934 935 // Determines the source of the messages to be processed. 936 Channel *ChannelActivity 937 938 // Specifies where to store the processed message data. 939 Datastore *DatastoreActivity 940 941 // Adds data from the AWS IoT device registry to your message. 942 DeviceRegistryEnrich *DeviceRegistryEnrichActivity 943 944 // Adds information from the AWS IoT Device Shadow service to a message. 945 DeviceShadowEnrich *DeviceShadowEnrichActivity 946 947 // Filters a message based on its attributes. 948 Filter *FilterActivity 949 950 // Runs a Lambda function to modify the message. 951 Lambda *LambdaActivity 952 953 // Computes an arithmetic expression using the message's attributes and adds it to 954 // the message. 955 Math *MathActivity 956 957 // Removes attributes from a message. 958 RemoveAttributes *RemoveAttributesActivity 959 960 // Creates a new message using only the specified attributes from the original 961 // message. 962 SelectAttributes *SelectAttributesActivity 963} 964 965// A summary of information about a pipeline. 966type PipelineSummary struct { 967 968 // When the pipeline was created. 969 CreationTime *time.Time 970 971 // When the pipeline was last updated. 972 LastUpdateTime *time.Time 973 974 // The name of the pipeline. 975 PipelineName *string 976 977 // A summary of information about the pipeline reprocessing. 978 ReprocessingSummaries []ReprocessingSummary 979} 980 981// Information that is used to filter message data, to segregate it according to 982// the timeframe in which it arrives. 983type QueryFilter struct { 984 985 // Used to limit data to that which has arrived since the last execution of the 986 // action. 987 DeltaTime *DeltaTime 988} 989 990// An activity that removes attributes from a message. 991type RemoveAttributesActivity struct { 992 993 // A list of 1-50 attributes to remove from the message. 994 // 995 // This member is required. 996 Attributes []string 997 998 // The name of the removeAttributes activity. 999 // 1000 // This member is required. 1001 Name *string 1002 1003 // The next activity in the pipeline. 1004 Next *string 1005} 1006 1007// Information about pipeline reprocessing. 1008type ReprocessingSummary struct { 1009 1010 // The time the pipeline reprocessing was created. 1011 CreationTime *time.Time 1012 1013 // The reprocessingId returned by StartPipelineReprocessing. 1014 Id *string 1015 1016 // The status of the pipeline reprocessing. 1017 Status ReprocessingStatus 1018} 1019 1020// The configuration of the resource used to execute the containerAction. 1021type ResourceConfiguration struct { 1022 1023 // The type of the compute resource used to execute the containerAction. Possible 1024 // values are: ACU_1 (vCPU=4, memory=16 GiB) or ACU_2 (vCPU=8, memory=32 GiB). 1025 // 1026 // This member is required. 1027 ComputeType ComputeType 1028 1029 // The size, in GB, of the persistent storage available to the resource instance 1030 // used to execute the containerAction (min: 1, max: 50). 1031 // 1032 // This member is required. 1033 VolumeSizeInGB int32 1034} 1035 1036// How long, in days, message data is kept. 1037type RetentionPeriod struct { 1038 1039 // The number of days that message data is kept. The unlimited parameter must be 1040 // false. 1041 NumberOfDays *int32 1042 1043 // If true, message data is kept indefinitely. 1044 Unlimited bool 1045} 1046 1047// Configuration information for delivery of dataset contents to Amazon Simple 1048// Storage Service (Amazon S3). 1049type S3DestinationConfiguration struct { 1050 1051 // The name of the S3 bucket to which dataset contents are delivered. 1052 // 1053 // This member is required. 1054 Bucket *string 1055 1056 // The key of the dataset contents object in an S3 bucket. Each object has a key 1057 // that is a unique identifier. Each object has exactly one key. You can create a 1058 // unique key with the following options: 1059 // 1060 // * Use !{iotanalytics:scheduleTime} to 1061 // insert the time of a scheduled SQL query run. 1062 // 1063 // * Use !{iotanalytics:versionId} 1064 // to insert a unique hash that identifies a dataset content. 1065 // 1066 // * Use 1067 // !{iotanalytics:creationTime} to insert the creation time of a dataset 1068 // content. 1069 // 1070 // The following example creates a unique key for a CSV file: 1071 // dataset/mydataset/!{iotanalytics:scheduleTime}/!{iotanalytics:versionId}.csv If 1072 // you don't use !{iotanalytics:versionId} to specify the key, you might get 1073 // duplicate keys. For example, you might have two dataset contents with the same 1074 // scheduleTime but different versionIds. This means that one dataset content 1075 // overwrites the other. 1076 // 1077 // This member is required. 1078 Key *string 1079 1080 // The ARN of the role that grants AWS IoT Analytics permission to interact with 1081 // your Amazon S3 and AWS Glue resources. 1082 // 1083 // This member is required. 1084 RoleArn *string 1085 1086 // Configuration information for coordination with AWS Glue, a fully managed 1087 // extract, transform and load (ETL) service. 1088 GlueConfiguration *GlueConfiguration 1089} 1090 1091// The schedule for when to trigger an update. 1092type Schedule struct { 1093 1094 // The expression that defines when to trigger an update. For more information, see 1095 // Schedule Expressions for Rules 1096 // (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html) 1097 // in the Amazon CloudWatch Events User Guide. 1098 Expression *string 1099} 1100 1101// Information needed to define a schema. 1102type SchemaDefinition struct { 1103 1104 // Specifies one or more columns that store your data. Each schema can have up to 1105 // 100 columns. Each column can have up to 100 nested types 1106 Columns []Column 1107} 1108 1109// Creates a new message using only the specified attributes from the original 1110// message. 1111type SelectAttributesActivity struct { 1112 1113 // A list of the attributes to select from the message. 1114 // 1115 // This member is required. 1116 Attributes []string 1117 1118 // The name of the selectAttributes activity. 1119 // 1120 // This member is required. 1121 Name *string 1122 1123 // The next activity in the pipeline. 1124 Next *string 1125} 1126 1127// Use this to store channel data in an S3 bucket managed by AWS IoT Analytics. You 1128// cannot change the choice of service-managed or customer-managed S3 storage after 1129// the channel is created. 1130type ServiceManagedChannelS3Storage struct { 1131} 1132 1133// Used to store channel data in an S3 bucket managed by AWS IoT Analytics. 1134type ServiceManagedChannelS3StorageSummary struct { 1135} 1136 1137// Use this to store data store data in an S3 bucket managed by AWS IoT Analytics. 1138// You cannot change the choice of service-managed or customer-managed S3 storage 1139// after the data store is created. 1140type ServiceManagedDatastoreS3Storage struct { 1141} 1142 1143// Used to store data store data in an S3 bucket managed by AWS IoT Analytics. 1144type ServiceManagedDatastoreS3StorageSummary struct { 1145} 1146 1147// The SQL query to modify the message. 1148type SqlQueryDatasetAction struct { 1149 1150 // A SQL query string. 1151 // 1152 // This member is required. 1153 SqlQuery *string 1154 1155 // Prefilters applied to message data. 1156 Filters []QueryFilter 1157} 1158 1159// A set of key-value pairs that are used to manage the resource. 1160type Tag struct { 1161 1162 // The tag's key. 1163 // 1164 // This member is required. 1165 Key *string 1166 1167 // The tag's value. 1168 // 1169 // This member is required. 1170 Value *string 1171} 1172 1173// Information about the dataset whose content generation triggers the new dataset 1174// content generation. 1175type TriggeringDataset struct { 1176 1177 // The name of the dataset whose content generation triggers the new dataset 1178 // content generation. 1179 // 1180 // This member is required. 1181 Name *string 1182} 1183 1184// An instance of a variable to be passed to the containerAction execution. Each 1185// variable must have a name and a value given by one of stringValue, 1186// datasetContentVersionValue, or outputFileUriValue. 1187type Variable struct { 1188 1189 // The name of the variable. 1190 // 1191 // This member is required. 1192 Name *string 1193 1194 // The value of the variable as a structure that specifies a dataset content 1195 // version. 1196 DatasetContentVersionValue *DatasetContentVersionValue 1197 1198 // The value of the variable as a double (numeric). 1199 DoubleValue float64 1200 1201 // The value of the variable as a structure that specifies an output file URI. 1202 OutputFileUriValue *OutputFileUriValue 1203 1204 // The value of the variable as a string. 1205 StringValue *string 1206} 1207 1208// Information about the versioning of dataset contents. 1209type VersioningConfiguration struct { 1210 1211 // How many versions of dataset contents are kept. The unlimited parameter must be 1212 // false. 1213 MaxVersions *int32 1214 1215 // If true, unlimited versions of dataset contents are kept. 1216 Unlimited bool 1217} 1218 1219// UnknownUnionMember is returned when a union member is returned over the wire, 1220// but has an unknown tag. 1221type UnknownUnionMember struct { 1222 Tag string 1223 Value []byte 1224} 1225 1226func (*UnknownUnionMember) isDatastoreStorage() {} 1227