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