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