/
types.go
2822 lines (2216 loc) · 84.3 KB
/
types.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
// Code generated by smithy-go-codegen DO NOT EDIT.
package types
import (
smithydocument "github.com/aws/smithy-go/document"
"time"
)
// Contains an access policy that defines an identity's access to an IoT SiteWise
// Monitor resource.
type AccessPolicySummary struct {
// The ID of the access policy.
//
// This member is required.
Id *string
// The identity (an IAM Identity Center user, an IAM Identity Center group, or an
// IAM user).
//
// This member is required.
Identity *Identity
// The permissions for the access policy. Note that a project ADMINISTRATOR is
// also known as a project owner.
//
// This member is required.
Permission Permission
// The IoT SiteWise Monitor resource (a portal or project).
//
// This member is required.
Resource *Resource
// The date the access policy was created, in Unix epoch time.
CreationDate *time.Time
// The date the access policy was last updated, in Unix epoch time.
LastUpdateDate *time.Time
noSmithyDocumentSerde
}
// Contains a definition for an action.
type ActionDefinition struct {
// The ID of the action definition.
//
// This member is required.
ActionDefinitionId *string
// The name of the action definition.
//
// This member is required.
ActionName *string
// The type of the action definition.
//
// This member is required.
ActionType *string
noSmithyDocumentSerde
}
// The JSON payload of the action.
type ActionPayload struct {
// The payload of the action in a JSON string.
//
// This member is required.
StringValue *string
noSmithyDocumentSerde
}
// Contains the summary of the actions.
type ActionSummary struct {
// The ID of the action definition.
ActionDefinitionId *string
// The ID of the action.
ActionId *string
// The resource the action will be taken on.
TargetResource *TargetResource
noSmithyDocumentSerde
}
// Contains aggregated asset property values (for example, average, minimum, and
// maximum).
type AggregatedValue struct {
// The date the aggregating computations occurred, in Unix epoch time.
//
// This member is required.
Timestamp *time.Time
// The value of the aggregates.
//
// This member is required.
Value *Aggregates
// The quality of the aggregated data.
Quality Quality
noSmithyDocumentSerde
}
// Contains the (pre-calculated) aggregate values for an asset property.
type Aggregates struct {
// The average (mean) value of the time series over a time interval window.
Average *float64
// The count of data points in the time series over a time interval window.
Count *float64
// The maximum value of the time series over a time interval window.
Maximum *float64
// The minimum value of the time series over a time interval window.
Minimum *float64
// The standard deviation of the time series over a time interval window.
StandardDeviation *float64
// The sum of the time series over a time interval window.
Sum *float64
noSmithyDocumentSerde
}
// Contains the configuration information of an alarm created in an IoT SiteWise
// Monitor portal. You can use the alarm to monitor an asset property and get
// notified when the asset property value is outside a specified range. For more
// information, see [Monitoring with alarms]in the IoT SiteWise Application Guide.
//
// [Monitoring with alarms]: https://docs.aws.amazon.com/iot-sitewise/latest/appguide/monitor-alarms.html
type Alarms struct {
// The [ARN] of the IAM role that allows the alarm to perform actions and access Amazon
// Web Services resources and services, such as IoT Events.
//
// [ARN]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
//
// This member is required.
AlarmRoleArn *string
// The [ARN] of the Lambda function that manages alarm notifications. For more
// information, see [Managing alarm notifications]in the IoT Events Developer Guide.
//
// [Managing alarm notifications]: https://docs.aws.amazon.com/iotevents/latest/developerguide/lambda-support.html
// [ARN]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
NotificationLambdaArn *string
noSmithyDocumentSerde
}
// Contains information about a composite model in an asset. This object contains
// the asset's properties that you define in the composite model.
type AssetCompositeModel struct {
// The name of the composite model.
//
// This member is required.
Name *string
// The asset properties that this composite model defines.
//
// This member is required.
Properties []AssetProperty
// The type of the composite model. For alarm composite models, this type is
// AWS/ALARM .
//
// This member is required.
Type *string
// The description of the composite model.
Description *string
// The external ID of the asset composite model. For more information, see [Using external IDs] in the
// IoT SiteWise User Guide.
//
// [Using external IDs]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids
ExternalId *string
// The ID of the asset composite model.
Id *string
noSmithyDocumentSerde
}
// Represents one level between a composite model and the root of the asset.
type AssetCompositeModelPathSegment struct {
// The ID of the path segment.
Id *string
// The name of the path segment.
Name *string
noSmithyDocumentSerde
}
// Contains a summary of the composite model for a specific asset.
type AssetCompositeModelSummary struct {
// A description of the composite model that this summary describes.
//
// This member is required.
Description *string
// The ID of the composite model that this summary describes.
//
// This member is required.
Id *string
// The name of the composite model that this summary describes.
//
// This member is required.
Name *string
// The path that includes all the components of the asset model for the asset.
//
// This member is required.
Path []AssetCompositeModelPathSegment
// The type of asset model.
//
// - ASSET_MODEL – (default) An asset model that you can use to create assets.
// Can't be included as a component in another asset model.
//
// - COMPONENT_MODEL – A reusable component that you can include in the
// composite models of other asset models. You can't create assets directly from
// this type of asset model.
//
// This member is required.
Type *string
// An external ID to assign to the asset model.
//
// If the composite model is a derived composite model, or one nested inside a
// component model, you can only set the external ID using
// UpdateAssetModelCompositeModel and specifying the derived ID of the model or
// property from the created model it's a part of.
ExternalId *string
noSmithyDocumentSerde
}
// Contains error details for the requested associate project asset action.
type AssetErrorDetails struct {
// The ID of the asset, in UUID format.
//
// This member is required.
AssetId *string
// The error code.
//
// This member is required.
Code AssetErrorCode
// The error message.
//
// This member is required.
Message *string
noSmithyDocumentSerde
}
// Describes an asset hierarchy that contains a hierarchy's name and ID.
type AssetHierarchy struct {
// The hierarchy name provided in the [CreateAssetModel] or [UpdateAssetModel] API operation.
//
// [CreateAssetModel]: https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html
// [UpdateAssetModel]: https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html
//
// This member is required.
Name *string
// The external ID of the hierarchy, if it has one. When you update an asset
// hierarchy, you may assign an external ID if it doesn't already have one. You
// can't change the external ID of an asset hierarchy that already has one. For
// more information, see [Using external IDs]in the IoT SiteWise User Guide.
//
// [Using external IDs]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids
ExternalId *string
// The ID of the hierarchy. This ID is a hierarchyId .
Id *string
noSmithyDocumentSerde
}
// Contains information about a parent asset and a child asset that are related
// through an asset hierarchy.
type AssetHierarchyInfo struct {
// The ID of the child asset in this asset relationship.
ChildAssetId *string
// The ID of the parent asset in this asset relationship.
ParentAssetId *string
noSmithyDocumentSerde
}
// Contains information about a composite model in an asset model. This object
// contains the asset property definitions that you define in the composite model.
type AssetModelCompositeModel struct {
// The name of the composite model.
//
// This member is required.
Name *string
// The type of the composite model. For alarm composite models, this type is
// AWS/ALARM .
//
// This member is required.
Type *string
// The description of the composite model.
Description *string
// The external ID of the asset model composite model. For more information, see [Using external IDs]
// in the IoT SiteWise User Guide.
//
// [Using external IDs]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids
ExternalId *string
// The ID of the asset model composite model.
Id *string
// The asset property definitions for this composite model.
Properties []AssetModelProperty
noSmithyDocumentSerde
}
// Contains a composite model definition in an asset model. This composite model
// definition is applied to all assets created from the asset model.
type AssetModelCompositeModelDefinition struct {
// The name of the composite model.
//
// This member is required.
Name *string
// The type of the composite model. For alarm composite models, this type is
// AWS/ALARM .
//
// This member is required.
Type *string
// The description of the composite model.
Description *string
// An external ID to assign to the composite model. The external ID must be unique
// among composite models within this asset model. For more information, see [Using external IDs]in
// the IoT SiteWise User Guide.
//
// [Using external IDs]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids
ExternalId *string
// The ID to assign to the composite model, if desired. IoT SiteWise automatically
// generates a unique ID for you, so this parameter is never required. However, if
// you prefer to supply your own ID instead, you can specify it here in UUID
// format. If you specify your own ID, it must be globally unique.
Id *string
// The asset property definitions for this composite model.
Properties []AssetModelPropertyDefinition
noSmithyDocumentSerde
}
// Represents one level between a composite model and the root of the asset model.
type AssetModelCompositeModelPathSegment struct {
// The ID of the path segment.
Id *string
// The name of the path segment.
Name *string
noSmithyDocumentSerde
}
// Contains a summary of the composite model.
type AssetModelCompositeModelSummary struct {
// The ID of the the composite model that this summary describes..
//
// This member is required.
Id *string
// The name of the the composite model that this summary describes..
//
// This member is required.
Name *string
// The type of asset model.
//
// - ASSET_MODEL – (default) An asset model that you can use to create assets.
// Can't be included as a component in another asset model.
//
// - COMPONENT_MODEL – A reusable component that you can include in the
// composite models of other asset models. You can't create assets directly from
// this type of asset model.
//
// This member is required.
Type *string
// The description of the the composite model that this summary describes..
Description *string
// The external ID of a composite model on this asset model. For more information,
// see [Using external IDs]in the IoT SiteWise User Guide.
//
// [Using external IDs]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids
ExternalId *string
// The path that includes all the pieces that make up the composite model.
Path []AssetModelCompositeModelPathSegment
noSmithyDocumentSerde
}
// Describes an asset hierarchy that contains a hierarchy's name, ID, and child
// asset model ID that specifies the type of asset that can be in this hierarchy.
type AssetModelHierarchy struct {
// The ID of the asset model, in UUID format. All assets in this hierarchy must be
// instances of the childAssetModelId asset model. IoT SiteWise will always return
// the actual asset model ID for this value. However, when you are specifying this
// value as part of a call to [UpdateAssetModel], you may provide either the asset model ID or else
// externalId: followed by the asset model's external ID. For more information, see [Using external IDs]
// in the IoT SiteWise User Guide.
//
// [UpdateAssetModel]: https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html
// [Using external IDs]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids
//
// This member is required.
ChildAssetModelId *string
// The name of the asset model hierarchy that you specify by using the [CreateAssetModel] or [UpdateAssetModel] API
// operation.
//
// [CreateAssetModel]: https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html
// [UpdateAssetModel]: https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html
//
// This member is required.
Name *string
// The external ID (if any) provided in the [CreateAssetModel] or [UpdateAssetModel] operation. You can assign an
// external ID by specifying this value as part of a call to [UpdateAssetModel]. However, you can't
// change the external ID if one is already assigned. For more information, see [Using external IDs]in
// the IoT SiteWise User Guide.
//
// [CreateAssetModel]: https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html
// [UpdateAssetModel]: https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html
// [Using external IDs]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids
ExternalId *string
// The ID of the asset model hierarchy. This ID is a hierarchyId .
//
// - If you are callling [UpdateAssetModel]to create a new hierarchy: You can specify its ID here,
// if desired. IoT SiteWise automatically generates a unique ID for you, so this
// parameter is never required. However, if you prefer to supply your own ID
// instead, you can specify it here in UUID format. If you specify your own ID, it
// must be globally unique.
//
// - If you are calling UpdateAssetModel to modify an existing hierarchy: This
// can be either the actual ID in UUID format, or else externalId: followed by
// the external ID, if it has one. For more information, see [Referencing objects with external IDs]in the IoT SiteWise
// User Guide.
//
// [UpdateAssetModel]: https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html
// [Referencing objects with external IDs]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references
Id *string
noSmithyDocumentSerde
}
// Contains an asset model hierarchy used in asset model creation. An asset model
// hierarchy determines the kind (or type) of asset that can belong to a hierarchy.
type AssetModelHierarchyDefinition struct {
// The ID of an asset model for this hierarchy. This can be either the actual ID
// in UUID format, or else externalId: followed by the external ID, if it has one.
// For more information, see [Referencing objects with external IDs]in the IoT SiteWise User Guide.
//
// [Referencing objects with external IDs]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references
//
// This member is required.
ChildAssetModelId *string
// The name of the asset model hierarchy definition (as specified in the [CreateAssetModel] or [UpdateAssetModel] API
// operation).
//
// [CreateAssetModel]: https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html
// [UpdateAssetModel]: https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html
//
// This member is required.
Name *string
// An external ID to assign to the asset model hierarchy. The external ID must be
// unique among asset model hierarchies within this asset model. For more
// information, see [Using external IDs]in the IoT SiteWise User Guide.
//
// [Using external IDs]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids
ExternalId *string
// The ID to assign to the asset model hierarchy, if desired. IoT SiteWise
// automatically generates a unique ID for you, so this parameter is never
// required. However, if you prefer to supply your own ID instead, you can specify
// it here in UUID format. If you specify your own ID, it must be globally unique.
Id *string
noSmithyDocumentSerde
}
// Contains information about an asset model property.
type AssetModelProperty struct {
// The data type of the asset model property.
//
// This member is required.
DataType PropertyDataType
// The name of the asset model property.
//
// This member is required.
Name *string
// The property type (see PropertyType ).
//
// This member is required.
Type *PropertyType
// The data type of the structure for this property. This parameter exists on
// properties that have the STRUCT data type.
DataTypeSpec *string
// The external ID (if any) provided in the [CreateAssetModel] or [UpdateAssetModel] operation. You can assign an
// external ID by specifying this value as part of a call to [UpdateAssetModel]. However, you can't
// change the external ID if one is already assigned. For more information, see [Using external IDs]in
// the IoT SiteWise User Guide.
//
// [CreateAssetModel]: https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html
// [UpdateAssetModel]: https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html
// [Using external IDs]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids
ExternalId *string
// The ID of the asset model property.
//
// - If you are callling [UpdateAssetModel]to create a new property: You can specify its ID here,
// if desired. IoT SiteWise automatically generates a unique ID for you, so this
// parameter is never required. However, if you prefer to supply your own ID
// instead, you can specify it here in UUID format. If you specify your own ID, it
// must be globally unique.
//
// - If you are calling UpdateAssetModel to modify an existing property: This
// can be either the actual ID in UUID format, or else externalId: followed by
// the external ID, if it has one. For more information, see [Referencing objects with external IDs]in the IoT SiteWise
// User Guide.
//
// [UpdateAssetModel]: https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html
// [Referencing objects with external IDs]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references
Id *string
// The structured path to the property from the root of the asset model.
Path []AssetModelPropertyPathSegment
// The unit of the asset model property, such as Newtons or RPM .
Unit *string
noSmithyDocumentSerde
}
// Contains an asset model property definition. This property definition is
// applied to all assets created from the asset model.
type AssetModelPropertyDefinition struct {
// The data type of the property definition.
//
// If you specify STRUCT , you must also specify dataTypeSpec to identify the type
// of the structure for this property.
//
// This member is required.
DataType PropertyDataType
// The name of the property definition.
//
// This member is required.
Name *string
// The property definition type (see PropertyType ). You can only specify one type
// in a property definition.
//
// This member is required.
Type *PropertyType
// The data type of the structure for this property. This parameter is required on
// properties that have the STRUCT data type.
//
// The options for this parameter depend on the type of the composite model in
// which you define this property. Use AWS/ALARM_STATE for alarm state in alarm
// composite models.
DataTypeSpec *string
// An external ID to assign to the property definition. The external ID must be
// unique among property definitions within this asset model. For more information,
// see [Using external IDs]in the IoT SiteWise User Guide.
//
// [Using external IDs]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids
ExternalId *string
// The ID to assign to the asset model property, if desired. IoT SiteWise
// automatically generates a unique ID for you, so this parameter is never
// required. However, if you prefer to supply your own ID instead, you can specify
// it here in UUID format. If you specify your own ID, it must be globally unique.
Id *string
// The unit of the property definition, such as Newtons or RPM .
Unit *string
noSmithyDocumentSerde
}
// Represents one level between a property and the root of the asset model.
type AssetModelPropertyPathSegment struct {
// The ID of the path segment.
Id *string
// The name of the path segment.
Name *string
noSmithyDocumentSerde
}
// Contains a summary of a property associated with a model.
type AssetModelPropertySummary struct {
// The data type of the property.
//
// This member is required.
DataType PropertyDataType
// The name of the property.
//
// This member is required.
Name *string
// Contains a property type, which can be one of attribute , measurement , metric ,
// or transform .
//
// This member is required.
Type *PropertyType
// The ID of the composite model that contains the asset model property.
AssetModelCompositeModelId *string
// The data type of the structure for this property. This parameter exists on
// properties that have the STRUCT data type.
DataTypeSpec *string
// The external ID of the property. For more information, see [Using external IDs] in the IoT SiteWise
// User Guide.
//
// [Using external IDs]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids
ExternalId *string
// The ID of the property.
Id *string
// The structured path to the property from the root of the asset model.
Path []AssetModelPropertyPathSegment
// The unit (such as Newtons or RPM ) of the property.
Unit *string
noSmithyDocumentSerde
}
// Contains current status information for an asset model. For more information,
// see [Asset and model states]in the IoT SiteWise User Guide.
//
// [Asset and model states]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-and-model-states.html
type AssetModelStatus struct {
// The current state of the asset model.
//
// This member is required.
State AssetModelState
// Contains associated error information, if any.
Error *ErrorDetails
noSmithyDocumentSerde
}
// Contains a summary of an asset model.
type AssetModelSummary struct {
// The [ARN] of the asset model, which has the following format.
//
// arn:${Partition}:iotsitewise:${Region}:${Account}:asset-model/${AssetModelId}
//
// [ARN]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
//
// This member is required.
Arn *string
// The date the asset model was created, in Unix epoch time.
//
// This member is required.
CreationDate *time.Time
// The asset model description.
//
// This member is required.
Description *string
// The ID of the asset model (used with IoT SiteWise API operations).
//
// This member is required.
Id *string
// The date the asset model was last updated, in Unix epoch time.
//
// This member is required.
LastUpdateDate *time.Time
// The name of the asset model.
//
// This member is required.
Name *string
// The current status of the asset model.
//
// This member is required.
Status *AssetModelStatus
// The type of asset model.
//
// - ASSET_MODEL – (default) An asset model that you can use to create assets.
// Can't be included as a component in another asset model.
//
// - COMPONENT_MODEL – A reusable component that you can include in the
// composite models of other asset models. You can't create assets directly from
// this type of asset model.
AssetModelType AssetModelType
// The external ID of the asset model. For more information, see [Using external IDs] in the IoT
// SiteWise User Guide.
//
// [Using external IDs]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids
ExternalId *string
noSmithyDocumentSerde
}
// Contains asset property information.
type AssetProperty struct {
// The data type of the asset property.
//
// This member is required.
DataType PropertyDataType
// The ID of the asset property.
//
// This member is required.
Id *string
// The name of the property.
//
// This member is required.
Name *string
// The alias that identifies the property, such as an OPC-UA server data stream
// path (for example, /company/windfarm/3/turbine/7/temperature ). For more
// information, see [Mapping industrial data streams to asset properties]in the IoT SiteWise User Guide.
//
// [Mapping industrial data streams to asset properties]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html
Alias *string
// The data type of the structure for this property. This parameter exists on
// properties that have the STRUCT data type.
DataTypeSpec *string
// The external ID of the asset property. For more information, see [Using external IDs] in the IoT
// SiteWise User Guide.
//
// [Using external IDs]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids
ExternalId *string
// The asset property's notification topic and state. For more information, see [UpdateAssetProperty].
//
// [UpdateAssetProperty]: https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html
Notification *PropertyNotification
// The structured path to the property from the root of the asset.
Path []AssetPropertyPathSegment
// The unit (such as Newtons or RPM ) of the asset property.
Unit *string
noSmithyDocumentSerde
}
// Represents one level between a property and the root of the asset.
type AssetPropertyPathSegment struct {
// The ID of the path segment.
Id *string
// The name of the path segment.
Name *string
noSmithyDocumentSerde
}
// Contains a summary of a property associated with an asset.
type AssetPropertySummary struct {
// The ID of the property.
//
// This member is required.
Id *string
// The alias that identifies the property, such as an OPC-UA server data stream
// path (for example, /company/windfarm/3/turbine/7/temperature ). For more
// information, see [Mapping industrial data streams to asset properties]in the IoT SiteWise User Guide.
//
// [Mapping industrial data streams to asset properties]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html
Alias *string
// The ID of the composite model that contains the asset property.
AssetCompositeModelId *string
// The external ID of the property. For more information, see [Using external IDs] in the IoT SiteWise
// User Guide.
//
// [Using external IDs]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids
ExternalId *string
// Contains asset property value notification information. When the notification
// state is enabled, IoT SiteWise publishes property value updates to a unique MQTT
// topic. For more information, see [Interacting with other services]in the IoT SiteWise User Guide.
//
// [Interacting with other services]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/interact-with-other-services.html
Notification *PropertyNotification
// The structured path to the property from the root of the asset.
Path []AssetPropertyPathSegment
// The unit of measure (such as Newtons or RPM) of the asset property.
Unit *string
noSmithyDocumentSerde
}
// Contains asset property value information.
type AssetPropertyValue struct {
// The timestamp of the asset property value.
//
// This member is required.
Timestamp *TimeInNanos
// The value of the asset property (see Variant ).
//
// This member is required.
Value *Variant
// The quality of the asset property value.
Quality Quality
noSmithyDocumentSerde
}
// Contains information about assets that are related to one another.
type AssetRelationshipSummary struct {
// The relationship type of the assets in this relationship. This value is one of
// the following:
//
// - HIERARCHY – The assets are related through an asset hierarchy. If you
// specify this relationship type, this asset relationship includes the
// hierarchyInfo object.
//
// This member is required.
RelationshipType AssetRelationshipType
// The assets that are related through an asset hierarchy.
//
// This object is present if the relationshipType is HIERARCHY .
HierarchyInfo *AssetHierarchyInfo
noSmithyDocumentSerde
}
// Contains information about the current status of an asset. For more
// information, see [Asset and model states]in the IoT SiteWise User Guide.
//
// [Asset and model states]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-and-model-states.html
type AssetStatus struct {
// The current status of the asset.
//
// This member is required.
State AssetState
// Contains associated error information, if any.
Error *ErrorDetails
noSmithyDocumentSerde
}
// Contains a summary of an asset.
type AssetSummary struct {
// The [ARN] of the asset, which has the following format.
//
// arn:${Partition}:iotsitewise:${Region}:${Account}:asset/${AssetId}
//
// [ARN]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
//
// This member is required.
Arn *string
// The ID of the asset model used to create this asset.
//
// This member is required.
AssetModelId *string
// The date the asset was created, in Unix epoch time.
//
// This member is required.
CreationDate *time.Time
// A list of asset hierarchies that each contain a hierarchyId . A hierarchy
// specifies allowed parent/child asset relationships.
//
// This member is required.
Hierarchies []AssetHierarchy
// The ID of the asset, in UUID format.
//
// This member is required.
Id *string
// The date the asset was last updated, in Unix epoch time.
//
// This member is required.
LastUpdateDate *time.Time
// The name of the asset.
//
// This member is required.
Name *string
// The current status of the asset.
//
// This member is required.
Status *AssetStatus
// A description for the asset.
Description *string
// The external ID of the asset. For more information, see [Using external IDs] in the IoT SiteWise
// User Guide.
//
// [Using external IDs]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids
ExternalId *string
noSmithyDocumentSerde
}
// Contains a summary of an associated asset.
type AssociatedAssetsSummary struct {
// The [ARN] of the asset, which has the following format.
//
// arn:${Partition}:iotsitewise:${Region}:${Account}:asset/${AssetId}
//
// [ARN]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
//
// This member is required.
Arn *string