aws-sdk-iotsitewise 1.15.0 → 1.20.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -23,12 +23,19 @@ module Aws::IoTSiteWise
23
23
  AggregatedValues = Shapes::ListShape.new(name: 'AggregatedValues')
24
24
  Aggregates = Shapes::StructureShape.new(name: 'Aggregates')
25
25
  AmazonResourceName = Shapes::StringShape.new(name: 'AmazonResourceName')
26
+ AssetCompositeModel = Shapes::StructureShape.new(name: 'AssetCompositeModel')
27
+ AssetCompositeModels = Shapes::ListShape.new(name: 'AssetCompositeModels')
26
28
  AssetErrorCode = Shapes::StringShape.new(name: 'AssetErrorCode')
27
29
  AssetErrorDetails = Shapes::StructureShape.new(name: 'AssetErrorDetails')
28
30
  AssetErrorMessage = Shapes::StringShape.new(name: 'AssetErrorMessage')
29
31
  AssetHierarchies = Shapes::ListShape.new(name: 'AssetHierarchies')
30
32
  AssetHierarchy = Shapes::StructureShape.new(name: 'AssetHierarchy')
33
+ AssetHierarchyInfo = Shapes::StructureShape.new(name: 'AssetHierarchyInfo')
31
34
  AssetIDs = Shapes::ListShape.new(name: 'AssetIDs')
35
+ AssetModelCompositeModel = Shapes::StructureShape.new(name: 'AssetModelCompositeModel')
36
+ AssetModelCompositeModelDefinition = Shapes::StructureShape.new(name: 'AssetModelCompositeModelDefinition')
37
+ AssetModelCompositeModelDefinitions = Shapes::ListShape.new(name: 'AssetModelCompositeModelDefinitions')
38
+ AssetModelCompositeModels = Shapes::ListShape.new(name: 'AssetModelCompositeModels')
32
39
  AssetModelHierarchies = Shapes::ListShape.new(name: 'AssetModelHierarchies')
33
40
  AssetModelHierarchy = Shapes::StructureShape.new(name: 'AssetModelHierarchy')
34
41
  AssetModelHierarchyDefinition = Shapes::StructureShape.new(name: 'AssetModelHierarchyDefinition')
@@ -47,6 +54,9 @@ module Aws::IoTSiteWise
47
54
  AssetPropertyValue = Shapes::StructureShape.new(name: 'AssetPropertyValue')
48
55
  AssetPropertyValueHistory = Shapes::ListShape.new(name: 'AssetPropertyValueHistory')
49
56
  AssetPropertyValues = Shapes::ListShape.new(name: 'AssetPropertyValues')
57
+ AssetRelationshipSummaries = Shapes::ListShape.new(name: 'AssetRelationshipSummaries')
58
+ AssetRelationshipSummary = Shapes::StructureShape.new(name: 'AssetRelationshipSummary')
59
+ AssetRelationshipType = Shapes::StringShape.new(name: 'AssetRelationshipType')
50
60
  AssetState = Shapes::StringShape.new(name: 'AssetState')
51
61
  AssetStatus = Shapes::StructureShape.new(name: 'AssetStatus')
52
62
  AssetSummaries = Shapes::ListShape.new(name: 'AssetSummaries')
@@ -73,6 +83,7 @@ module Aws::IoTSiteWise
73
83
  CapabilityNamespace = Shapes::StringShape.new(name: 'CapabilityNamespace')
74
84
  CapabilitySyncStatus = Shapes::StringShape.new(name: 'CapabilitySyncStatus')
75
85
  ClientToken = Shapes::StringShape.new(name: 'ClientToken')
86
+ CompositeModelProperty = Shapes::StructureShape.new(name: 'CompositeModelProperty')
76
87
  ConfigurationErrorDetails = Shapes::StructureShape.new(name: 'ConfigurationErrorDetails')
77
88
  ConfigurationState = Shapes::StringShape.new(name: 'ConfigurationState')
78
89
  ConfigurationStatus = Shapes::StructureShape.new(name: 'ConfigurationStatus')
@@ -89,8 +100,6 @@ module Aws::IoTSiteWise
89
100
  CreateGatewayResponse = Shapes::StructureShape.new(name: 'CreateGatewayResponse')
90
101
  CreatePortalRequest = Shapes::StructureShape.new(name: 'CreatePortalRequest')
91
102
  CreatePortalResponse = Shapes::StructureShape.new(name: 'CreatePortalResponse')
92
- CreatePresignedPortalUrlRequest = Shapes::StructureShape.new(name: 'CreatePresignedPortalUrlRequest')
93
- CreatePresignedPortalUrlResponse = Shapes::StructureShape.new(name: 'CreatePresignedPortalUrlResponse')
94
103
  CreateProjectRequest = Shapes::StructureShape.new(name: 'CreateProjectRequest')
95
104
  CreateProjectResponse = Shapes::StructureShape.new(name: 'CreateProjectResponse')
96
105
  DashboardDefinition = Shapes::StringShape.new(name: 'DashboardDefinition')
@@ -157,6 +166,7 @@ module Aws::IoTSiteWise
157
166
  GetAssetPropertyValueResponse = Shapes::StructureShape.new(name: 'GetAssetPropertyValueResponse')
158
167
  Greengrass = Shapes::StructureShape.new(name: 'Greengrass')
159
168
  GroupIdentity = Shapes::StructureShape.new(name: 'GroupIdentity')
169
+ IAMRoleIdentity = Shapes::StructureShape.new(name: 'IAMRoleIdentity')
160
170
  IAMUserIdentity = Shapes::StructureShape.new(name: 'IAMUserIdentity')
161
171
  ID = Shapes::StringShape.new(name: 'ID')
162
172
  IDs = Shapes::ListShape.new(name: 'IDs')
@@ -177,6 +187,8 @@ module Aws::IoTSiteWise
177
187
  ListAccessPoliciesResponse = Shapes::StructureShape.new(name: 'ListAccessPoliciesResponse')
178
188
  ListAssetModelsRequest = Shapes::StructureShape.new(name: 'ListAssetModelsRequest')
179
189
  ListAssetModelsResponse = Shapes::StructureShape.new(name: 'ListAssetModelsResponse')
190
+ ListAssetRelationshipsRequest = Shapes::StructureShape.new(name: 'ListAssetRelationshipsRequest')
191
+ ListAssetRelationshipsResponse = Shapes::StructureShape.new(name: 'ListAssetRelationshipsResponse')
180
192
  ListAssetsFilter = Shapes::StringShape.new(name: 'ListAssetsFilter')
181
193
  ListAssetsRequest = Shapes::StructureShape.new(name: 'ListAssetsRequest')
182
194
  ListAssetsResponse = Shapes::StructureShape.new(name: 'ListAssetsResponse')
@@ -246,7 +258,6 @@ module Aws::IoTSiteWise
246
258
  ResourceType = Shapes::StringShape.new(name: 'ResourceType')
247
259
  SSOApplicationId = Shapes::StringShape.new(name: 'SSOApplicationId')
248
260
  ServiceUnavailableException = Shapes::StructureShape.new(name: 'ServiceUnavailableException')
249
- SessionDurationSeconds = Shapes::IntegerShape.new(name: 'SessionDurationSeconds')
250
261
  TagKey = Shapes::StringShape.new(name: 'TagKey')
251
262
  TagKeyList = Shapes::ListShape.new(name: 'TagKeyList')
252
263
  TagMap = Shapes::MapShape.new(name: 'TagMap')
@@ -262,7 +273,9 @@ module Aws::IoTSiteWise
262
273
  TooManyTagsException = Shapes::StructureShape.new(name: 'TooManyTagsException')
263
274
  Transform = Shapes::StructureShape.new(name: 'Transform')
264
275
  TraversalDirection = Shapes::StringShape.new(name: 'TraversalDirection')
276
+ TraversalType = Shapes::StringShape.new(name: 'TraversalType')
265
277
  TumblingWindow = Shapes::StructureShape.new(name: 'TumblingWindow')
278
+ UnauthorizedException = Shapes::StructureShape.new(name: 'UnauthorizedException')
266
279
  UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
267
280
  UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
268
281
  UpdateAccessPolicyRequest = Shapes::StructureShape.new(name: 'UpdateAccessPolicyRequest')
@@ -314,6 +327,14 @@ module Aws::IoTSiteWise
314
327
  Aggregates.add_member(:standard_deviation, Shapes::ShapeRef.new(shape: AggregatedDoubleValue, location_name: "standardDeviation"))
315
328
  Aggregates.struct_class = Types::Aggregates
316
329
 
330
+ AssetCompositeModel.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "name"))
331
+ AssetCompositeModel.add_member(:description, Shapes::ShapeRef.new(shape: Description, location_name: "description"))
332
+ AssetCompositeModel.add_member(:type, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "type"))
333
+ AssetCompositeModel.add_member(:properties, Shapes::ShapeRef.new(shape: AssetProperties, required: true, location_name: "properties"))
334
+ AssetCompositeModel.struct_class = Types::AssetCompositeModel
335
+
336
+ AssetCompositeModels.member = Shapes::ShapeRef.new(shape: AssetCompositeModel)
337
+
317
338
  AssetErrorDetails.add_member(:asset_id, Shapes::ShapeRef.new(shape: ID, required: true, location_name: "assetId"))
318
339
  AssetErrorDetails.add_member(:code, Shapes::ShapeRef.new(shape: AssetErrorCode, required: true, location_name: "code"))
319
340
  AssetErrorDetails.add_member(:message, Shapes::ShapeRef.new(shape: AssetErrorMessage, required: true, location_name: "message"))
@@ -325,8 +346,28 @@ module Aws::IoTSiteWise
325
346
  AssetHierarchy.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "name"))
326
347
  AssetHierarchy.struct_class = Types::AssetHierarchy
327
348
 
349
+ AssetHierarchyInfo.add_member(:parent_asset_id, Shapes::ShapeRef.new(shape: ID, location_name: "parentAssetId"))
350
+ AssetHierarchyInfo.add_member(:child_asset_id, Shapes::ShapeRef.new(shape: ID, location_name: "childAssetId"))
351
+ AssetHierarchyInfo.struct_class = Types::AssetHierarchyInfo
352
+
328
353
  AssetIDs.member = Shapes::ShapeRef.new(shape: ID)
329
354
 
355
+ AssetModelCompositeModel.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "name"))
356
+ AssetModelCompositeModel.add_member(:description, Shapes::ShapeRef.new(shape: Description, location_name: "description"))
357
+ AssetModelCompositeModel.add_member(:type, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "type"))
358
+ AssetModelCompositeModel.add_member(:properties, Shapes::ShapeRef.new(shape: AssetModelProperties, location_name: "properties"))
359
+ AssetModelCompositeModel.struct_class = Types::AssetModelCompositeModel
360
+
361
+ AssetModelCompositeModelDefinition.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "name"))
362
+ AssetModelCompositeModelDefinition.add_member(:description, Shapes::ShapeRef.new(shape: Description, location_name: "description"))
363
+ AssetModelCompositeModelDefinition.add_member(:type, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "type"))
364
+ AssetModelCompositeModelDefinition.add_member(:properties, Shapes::ShapeRef.new(shape: AssetModelPropertyDefinitions, location_name: "properties"))
365
+ AssetModelCompositeModelDefinition.struct_class = Types::AssetModelCompositeModelDefinition
366
+
367
+ AssetModelCompositeModelDefinitions.member = Shapes::ShapeRef.new(shape: AssetModelCompositeModelDefinition)
368
+
369
+ AssetModelCompositeModels.member = Shapes::ShapeRef.new(shape: AssetModelCompositeModel)
370
+
330
371
  AssetModelHierarchies.member = Shapes::ShapeRef.new(shape: AssetModelHierarchy)
331
372
 
332
373
  AssetModelHierarchy.add_member(:id, Shapes::ShapeRef.new(shape: ID, location_name: "id"))
@@ -345,12 +386,14 @@ module Aws::IoTSiteWise
345
386
  AssetModelProperty.add_member(:id, Shapes::ShapeRef.new(shape: ID, location_name: "id"))
346
387
  AssetModelProperty.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "name"))
347
388
  AssetModelProperty.add_member(:data_type, Shapes::ShapeRef.new(shape: PropertyDataType, required: true, location_name: "dataType"))
389
+ AssetModelProperty.add_member(:data_type_spec, Shapes::ShapeRef.new(shape: Name, location_name: "dataTypeSpec"))
348
390
  AssetModelProperty.add_member(:unit, Shapes::ShapeRef.new(shape: PropertyUnit, location_name: "unit"))
349
391
  AssetModelProperty.add_member(:type, Shapes::ShapeRef.new(shape: PropertyType, required: true, location_name: "type"))
350
392
  AssetModelProperty.struct_class = Types::AssetModelProperty
351
393
 
352
394
  AssetModelPropertyDefinition.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "name"))
353
395
  AssetModelPropertyDefinition.add_member(:data_type, Shapes::ShapeRef.new(shape: PropertyDataType, required: true, location_name: "dataType"))
396
+ AssetModelPropertyDefinition.add_member(:data_type_spec, Shapes::ShapeRef.new(shape: Name, location_name: "dataTypeSpec"))
354
397
  AssetModelPropertyDefinition.add_member(:unit, Shapes::ShapeRef.new(shape: PropertyUnit, location_name: "unit"))
355
398
  AssetModelPropertyDefinition.add_member(:type, Shapes::ShapeRef.new(shape: PropertyType, required: true, location_name: "type"))
356
399
  AssetModelPropertyDefinition.struct_class = Types::AssetModelPropertyDefinition
@@ -379,6 +422,7 @@ module Aws::IoTSiteWise
379
422
  AssetProperty.add_member(:alias, Shapes::ShapeRef.new(shape: PropertyAlias, location_name: "alias"))
380
423
  AssetProperty.add_member(:notification, Shapes::ShapeRef.new(shape: PropertyNotification, location_name: "notification"))
381
424
  AssetProperty.add_member(:data_type, Shapes::ShapeRef.new(shape: PropertyDataType, required: true, location_name: "dataType"))
425
+ AssetProperty.add_member(:data_type_spec, Shapes::ShapeRef.new(shape: Name, location_name: "dataTypeSpec"))
382
426
  AssetProperty.add_member(:unit, Shapes::ShapeRef.new(shape: PropertyUnit, location_name: "unit"))
383
427
  AssetProperty.struct_class = Types::AssetProperty
384
428
 
@@ -391,6 +435,12 @@ module Aws::IoTSiteWise
391
435
 
392
436
  AssetPropertyValues.member = Shapes::ShapeRef.new(shape: AssetPropertyValue)
393
437
 
438
+ AssetRelationshipSummaries.member = Shapes::ShapeRef.new(shape: AssetRelationshipSummary)
439
+
440
+ AssetRelationshipSummary.add_member(:hierarchy_info, Shapes::ShapeRef.new(shape: AssetHierarchyInfo, location_name: "hierarchyInfo"))
441
+ AssetRelationshipSummary.add_member(:relationship_type, Shapes::ShapeRef.new(shape: AssetRelationshipType, required: true, location_name: "relationshipType"))
442
+ AssetRelationshipSummary.struct_class = Types::AssetRelationshipSummary
443
+
394
444
  AssetStatus.add_member(:state, Shapes::ShapeRef.new(shape: AssetState, required: true, location_name: "state"))
395
445
  AssetStatus.add_member(:error, Shapes::ShapeRef.new(shape: ErrorDetails, location_name: "error"))
396
446
  AssetStatus.struct_class = Types::AssetStatus
@@ -467,6 +517,11 @@ module Aws::IoTSiteWise
467
517
  BatchPutAssetPropertyValueResponse.add_member(:error_entries, Shapes::ShapeRef.new(shape: BatchPutAssetPropertyErrorEntries, required: true, location_name: "errorEntries"))
468
518
  BatchPutAssetPropertyValueResponse.struct_class = Types::BatchPutAssetPropertyValueResponse
469
519
 
520
+ CompositeModelProperty.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "name"))
521
+ CompositeModelProperty.add_member(:type, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "type"))
522
+ CompositeModelProperty.add_member(:asset_property, Shapes::ShapeRef.new(shape: Property, required: true, location_name: "assetProperty"))
523
+ CompositeModelProperty.struct_class = Types::CompositeModelProperty
524
+
470
525
  ConfigurationErrorDetails.add_member(:code, Shapes::ShapeRef.new(shape: ErrorCode, required: true, location_name: "code"))
471
526
  ConfigurationErrorDetails.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, required: true, location_name: "message"))
472
527
  ConfigurationErrorDetails.struct_class = Types::ConfigurationErrorDetails
@@ -495,6 +550,7 @@ module Aws::IoTSiteWise
495
550
  CreateAssetModelRequest.add_member(:asset_model_description, Shapes::ShapeRef.new(shape: Description, location_name: "assetModelDescription"))
496
551
  CreateAssetModelRequest.add_member(:asset_model_properties, Shapes::ShapeRef.new(shape: AssetModelPropertyDefinitions, location_name: "assetModelProperties"))
497
552
  CreateAssetModelRequest.add_member(:asset_model_hierarchies, Shapes::ShapeRef.new(shape: AssetModelHierarchyDefinitions, location_name: "assetModelHierarchies"))
553
+ CreateAssetModelRequest.add_member(:asset_model_composite_models, Shapes::ShapeRef.new(shape: AssetModelCompositeModelDefinitions, location_name: "assetModelCompositeModels"))
498
554
  CreateAssetModelRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location_name: "clientToken", metadata: {"idempotencyToken"=>true}))
499
555
  CreateAssetModelRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
500
556
  CreateAssetModelRequest.struct_class = Types::CreateAssetModelRequest
@@ -553,13 +609,6 @@ module Aws::IoTSiteWise
553
609
  CreatePortalResponse.add_member(:sso_application_id, Shapes::ShapeRef.new(shape: SSOApplicationId, required: true, location_name: "ssoApplicationId"))
554
610
  CreatePortalResponse.struct_class = Types::CreatePortalResponse
555
611
 
556
- CreatePresignedPortalUrlRequest.add_member(:portal_id, Shapes::ShapeRef.new(shape: ID, required: true, location: "uri", location_name: "portalId"))
557
- CreatePresignedPortalUrlRequest.add_member(:session_duration_seconds, Shapes::ShapeRef.new(shape: SessionDurationSeconds, location: "querystring", location_name: "sessionDurationSeconds"))
558
- CreatePresignedPortalUrlRequest.struct_class = Types::CreatePresignedPortalUrlRequest
559
-
560
- CreatePresignedPortalUrlResponse.add_member(:presigned_portal_url, Shapes::ShapeRef.new(shape: Url, required: true, location_name: "presignedPortalUrl"))
561
- CreatePresignedPortalUrlResponse.struct_class = Types::CreatePresignedPortalUrlResponse
562
-
563
612
  CreateProjectRequest.add_member(:portal_id, Shapes::ShapeRef.new(shape: ID, required: true, location_name: "portalId"))
564
613
  CreateProjectRequest.add_member(:project_name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "projectName"))
565
614
  CreateProjectRequest.add_member(:project_description, Shapes::ShapeRef.new(shape: Description, location_name: "projectDescription"))
@@ -643,6 +692,7 @@ module Aws::IoTSiteWise
643
692
  DescribeAssetModelResponse.add_member(:asset_model_description, Shapes::ShapeRef.new(shape: Description, required: true, location_name: "assetModelDescription"))
644
693
  DescribeAssetModelResponse.add_member(:asset_model_properties, Shapes::ShapeRef.new(shape: AssetModelProperties, required: true, location_name: "assetModelProperties"))
645
694
  DescribeAssetModelResponse.add_member(:asset_model_hierarchies, Shapes::ShapeRef.new(shape: AssetModelHierarchies, required: true, location_name: "assetModelHierarchies"))
695
+ DescribeAssetModelResponse.add_member(:asset_model_composite_models, Shapes::ShapeRef.new(shape: AssetModelCompositeModels, location_name: "assetModelCompositeModels"))
646
696
  DescribeAssetModelResponse.add_member(:asset_model_creation_date, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "assetModelCreationDate"))
647
697
  DescribeAssetModelResponse.add_member(:asset_model_last_update_date, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "assetModelLastUpdateDate"))
648
698
  DescribeAssetModelResponse.add_member(:asset_model_status, Shapes::ShapeRef.new(shape: AssetModelStatus, required: true, location_name: "assetModelStatus"))
@@ -655,7 +705,8 @@ module Aws::IoTSiteWise
655
705
  DescribeAssetPropertyResponse.add_member(:asset_id, Shapes::ShapeRef.new(shape: ID, required: true, location_name: "assetId"))
656
706
  DescribeAssetPropertyResponse.add_member(:asset_name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "assetName"))
657
707
  DescribeAssetPropertyResponse.add_member(:asset_model_id, Shapes::ShapeRef.new(shape: ID, required: true, location_name: "assetModelId"))
658
- DescribeAssetPropertyResponse.add_member(:asset_property, Shapes::ShapeRef.new(shape: Property, required: true, location_name: "assetProperty"))
708
+ DescribeAssetPropertyResponse.add_member(:asset_property, Shapes::ShapeRef.new(shape: Property, location_name: "assetProperty"))
709
+ DescribeAssetPropertyResponse.add_member(:composite_model, Shapes::ShapeRef.new(shape: CompositeModelProperty, location_name: "compositeModel"))
659
710
  DescribeAssetPropertyResponse.struct_class = Types::DescribeAssetPropertyResponse
660
711
 
661
712
  DescribeAssetRequest.add_member(:asset_id, Shapes::ShapeRef.new(shape: ID, required: true, location: "uri", location_name: "assetId"))
@@ -667,6 +718,7 @@ module Aws::IoTSiteWise
667
718
  DescribeAssetResponse.add_member(:asset_model_id, Shapes::ShapeRef.new(shape: ID, required: true, location_name: "assetModelId"))
668
719
  DescribeAssetResponse.add_member(:asset_properties, Shapes::ShapeRef.new(shape: AssetProperties, required: true, location_name: "assetProperties"))
669
720
  DescribeAssetResponse.add_member(:asset_hierarchies, Shapes::ShapeRef.new(shape: AssetHierarchies, required: true, location_name: "assetHierarchies"))
721
+ DescribeAssetResponse.add_member(:asset_composite_models, Shapes::ShapeRef.new(shape: AssetCompositeModels, location_name: "assetCompositeModels"))
670
722
  DescribeAssetResponse.add_member(:asset_creation_date, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "assetCreationDate"))
671
723
  DescribeAssetResponse.add_member(:asset_last_update_date, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "assetLastUpdateDate"))
672
724
  DescribeAssetResponse.add_member(:asset_status, Shapes::ShapeRef.new(shape: AssetStatus, required: true, location_name: "assetStatus"))
@@ -829,6 +881,9 @@ module Aws::IoTSiteWise
829
881
  GroupIdentity.add_member(:id, Shapes::ShapeRef.new(shape: IdentityId, required: true, location_name: "id"))
830
882
  GroupIdentity.struct_class = Types::GroupIdentity
831
883
 
884
+ IAMRoleIdentity.add_member(:arn, Shapes::ShapeRef.new(shape: ARN, required: true, location_name: "arn"))
885
+ IAMRoleIdentity.struct_class = Types::IAMRoleIdentity
886
+
832
887
  IAMUserIdentity.add_member(:arn, Shapes::ShapeRef.new(shape: ARN, required: true, location_name: "arn"))
833
888
  IAMUserIdentity.struct_class = Types::IAMUserIdentity
834
889
 
@@ -837,6 +892,7 @@ module Aws::IoTSiteWise
837
892
  Identity.add_member(:user, Shapes::ShapeRef.new(shape: UserIdentity, location_name: "user"))
838
893
  Identity.add_member(:group, Shapes::ShapeRef.new(shape: GroupIdentity, location_name: "group"))
839
894
  Identity.add_member(:iam_user, Shapes::ShapeRef.new(shape: IAMUserIdentity, location_name: "iamUser"))
895
+ Identity.add_member(:iam_role, Shapes::ShapeRef.new(shape: IAMRoleIdentity, location_name: "iamRole"))
840
896
  Identity.struct_class = Types::Identity
841
897
 
842
898
  Image.add_member(:id, Shapes::ShapeRef.new(shape: ID, location_name: "id"))
@@ -881,6 +937,16 @@ module Aws::IoTSiteWise
881
937
  ListAssetModelsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
882
938
  ListAssetModelsResponse.struct_class = Types::ListAssetModelsResponse
883
939
 
940
+ ListAssetRelationshipsRequest.add_member(:asset_id, Shapes::ShapeRef.new(shape: ID, required: true, location: "uri", location_name: "assetId"))
941
+ ListAssetRelationshipsRequest.add_member(:traversal_type, Shapes::ShapeRef.new(shape: TraversalType, required: true, location: "querystring", location_name: "traversalType"))
942
+ ListAssetRelationshipsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
943
+ ListAssetRelationshipsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
944
+ ListAssetRelationshipsRequest.struct_class = Types::ListAssetRelationshipsRequest
945
+
946
+ ListAssetRelationshipsResponse.add_member(:asset_relationship_summaries, Shapes::ShapeRef.new(shape: AssetRelationshipSummaries, required: true, location_name: "assetRelationshipSummaries"))
947
+ ListAssetRelationshipsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
948
+ ListAssetRelationshipsResponse.struct_class = Types::ListAssetRelationshipsResponse
949
+
884
950
  ListAssetsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
885
951
  ListAssetsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
886
952
  ListAssetsRequest.add_member(:asset_model_id, Shapes::ShapeRef.new(shape: ID, location: "querystring", location_name: "assetModelId"))
@@ -1089,6 +1155,9 @@ module Aws::IoTSiteWise
1089
1155
  TumblingWindow.add_member(:interval, Shapes::ShapeRef.new(shape: Interval, required: true, location_name: "interval"))
1090
1156
  TumblingWindow.struct_class = Types::TumblingWindow
1091
1157
 
1158
+ UnauthorizedException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, required: true, location_name: "message"))
1159
+ UnauthorizedException.struct_class = Types::UnauthorizedException
1160
+
1092
1161
  UntagResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: AmazonResourceName, required: true, location: "querystring", location_name: "resourceArn"))
1093
1162
  UntagResourceRequest.add_member(:tag_keys, Shapes::ShapeRef.new(shape: TagKeyList, required: true, location: "querystring", location_name: "tagKeys"))
1094
1163
  UntagResourceRequest.struct_class = Types::UntagResourceRequest
@@ -1109,6 +1178,7 @@ module Aws::IoTSiteWise
1109
1178
  UpdateAssetModelRequest.add_member(:asset_model_description, Shapes::ShapeRef.new(shape: Description, location_name: "assetModelDescription"))
1110
1179
  UpdateAssetModelRequest.add_member(:asset_model_properties, Shapes::ShapeRef.new(shape: AssetModelProperties, location_name: "assetModelProperties"))
1111
1180
  UpdateAssetModelRequest.add_member(:asset_model_hierarchies, Shapes::ShapeRef.new(shape: AssetModelHierarchies, location_name: "assetModelHierarchies"))
1181
+ UpdateAssetModelRequest.add_member(:asset_model_composite_models, Shapes::ShapeRef.new(shape: AssetModelCompositeModels, location_name: "assetModelCompositeModels"))
1112
1182
  UpdateAssetModelRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location_name: "clientToken", metadata: {"idempotencyToken"=>true}))
1113
1183
  UpdateAssetModelRequest.struct_class = Types::UpdateAssetModelRequest
1114
1184
 
@@ -1369,20 +1439,6 @@ module Aws::IoTSiteWise
1369
1439
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1370
1440
  end)
1371
1441
 
1372
- api.add_operation(:create_presigned_portal_url, Seahorse::Model::Operation.new.tap do |o|
1373
- o.name = "CreatePresignedPortalUrl"
1374
- o.http_method = "GET"
1375
- o.http_request_uri = "/portals/{portalId}/presigned-url"
1376
- o.endpoint_pattern = {
1377
- "hostPrefix" => "monitor.",
1378
- }
1379
- o.input = Shapes::ShapeRef.new(shape: CreatePresignedPortalUrlRequest)
1380
- o.output = Shapes::ShapeRef.new(shape: CreatePresignedPortalUrlResponse)
1381
- o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1382
- o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
1383
- o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1384
- end)
1385
-
1386
1442
  api.add_operation(:create_project, Seahorse::Model::Operation.new.tap do |o|
1387
1443
  o.name = "CreateProject"
1388
1444
  o.http_method = "POST"
@@ -1784,6 +1840,27 @@ module Aws::IoTSiteWise
1784
1840
  )
1785
1841
  end)
1786
1842
 
1843
+ api.add_operation(:list_asset_relationships, Seahorse::Model::Operation.new.tap do |o|
1844
+ o.name = "ListAssetRelationships"
1845
+ o.http_method = "GET"
1846
+ o.http_request_uri = "/assets/{assetId}/assetRelationships"
1847
+ o.endpoint_pattern = {
1848
+ "hostPrefix" => "model.",
1849
+ }
1850
+ o.input = Shapes::ShapeRef.new(shape: ListAssetRelationshipsRequest)
1851
+ o.output = Shapes::ShapeRef.new(shape: ListAssetRelationshipsResponse)
1852
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1853
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
1854
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1855
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1856
+ o[:pager] = Aws::Pager.new(
1857
+ limit_key: "max_results",
1858
+ tokens: {
1859
+ "next_token" => "next_token"
1860
+ }
1861
+ )
1862
+ end)
1863
+
1787
1864
  api.add_operation(:list_assets, Seahorse::Model::Operation.new.tap do |o|
1788
1865
  o.name = "ListAssets"
1789
1866
  o.http_method = "GET"
@@ -1936,6 +2013,9 @@ module Aws::IoTSiteWise
1936
2013
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
1937
2014
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1938
2015
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
2016
+ o.errors << Shapes::ShapeRef.new(shape: ConflictingOperationException)
2017
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
2018
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
1939
2019
  end)
1940
2020
 
1941
2021
  api.add_operation(:put_default_encryption_configuration, Seahorse::Model::Operation.new.tap do |o|
@@ -1977,6 +2057,9 @@ module Aws::IoTSiteWise
1977
2057
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
1978
2058
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1979
2059
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
2060
+ o.errors << Shapes::ShapeRef.new(shape: ConflictingOperationException)
2061
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
2062
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
1980
2063
  o.errors << Shapes::ShapeRef.new(shape: TooManyTagsException)
1981
2064
  end)
1982
2065
 
@@ -1990,6 +2073,9 @@ module Aws::IoTSiteWise
1990
2073
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
1991
2074
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1992
2075
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
2076
+ o.errors << Shapes::ShapeRef.new(shape: ConflictingOperationException)
2077
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
2078
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
1993
2079
  end)
1994
2080
 
1995
2081
  api.add_operation(:update_access_policy, Seahorse::Model::Operation.new.tap do |o|
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -36,6 +36,7 @@ module Aws::IoTSiteWise
36
36
  # * {ServiceUnavailableException}
37
37
  # * {ThrottlingException}
38
38
  # * {TooManyTagsException}
39
+ # * {UnauthorizedException}
39
40
  #
40
41
  # Additionally, error classes are dynamically generated for service errors based on the error code
41
42
  # if they are not defined above.
@@ -203,5 +204,20 @@ module Aws::IoTSiteWise
203
204
  end
204
205
  end
205
206
 
207
+ class UnauthorizedException < ServiceError
208
+
209
+ # @param [Seahorse::Client::RequestContext] context
210
+ # @param [String] message
211
+ # @param [Aws::IoTSiteWise::Types::UnauthorizedException] data
212
+ def initialize(context, message, data = Aws::EmptyStructure.new)
213
+ super(context, message, data)
214
+ end
215
+
216
+ # @return [String]
217
+ def message
218
+ @message || @data[:message]
219
+ end
220
+ end
221
+
206
222
  end
207
223
  end
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -112,6 +112,36 @@ module Aws::IoTSiteWise
112
112
  include Aws::Structure
113
113
  end
114
114
 
115
+ # Contains information about a composite model in an asset. This object
116
+ # contains the asset's properties that you define in the composite
117
+ # model.
118
+ #
119
+ # @!attribute [rw] name
120
+ # The name of the composite model.
121
+ # @return [String]
122
+ #
123
+ # @!attribute [rw] description
124
+ # The description of the composite model.
125
+ # @return [String]
126
+ #
127
+ # @!attribute [rw] type
128
+ # The type of the composite model. For alarm composite models, this
129
+ # type is `AWS/ALARM`.
130
+ # @return [String]
131
+ #
132
+ # @!attribute [rw] properties
133
+ # The asset properties that this composite model defines.
134
+ # @return [Array<Types::AssetProperty>]
135
+ #
136
+ class AssetCompositeModel < Struct.new(
137
+ :name,
138
+ :description,
139
+ :type,
140
+ :properties)
141
+ SENSITIVE = []
142
+ include Aws::Structure
143
+ end
144
+
115
145
  # Contains error details for the requested associate project asset
116
146
  # action.
117
147
  #
@@ -158,6 +188,191 @@ module Aws::IoTSiteWise
158
188
  include Aws::Structure
159
189
  end
160
190
 
191
+ # Contains information about a parent asset and a child asset that are
192
+ # related through an asset hierarchy.
193
+ #
194
+ # @!attribute [rw] parent_asset_id
195
+ # The ID of the parent asset in this asset relationship.
196
+ # @return [String]
197
+ #
198
+ # @!attribute [rw] child_asset_id
199
+ # The ID of the child asset in this asset relationship.
200
+ # @return [String]
201
+ #
202
+ class AssetHierarchyInfo < Struct.new(
203
+ :parent_asset_id,
204
+ :child_asset_id)
205
+ SENSITIVE = []
206
+ include Aws::Structure
207
+ end
208
+
209
+ # Contains information about a composite model in an asset model. This
210
+ # object contains the asset property definitions that you define in the
211
+ # composite model.
212
+ #
213
+ # @note When making an API call, you may pass AssetModelCompositeModel
214
+ # data as a hash:
215
+ #
216
+ # {
217
+ # name: "Name", # required
218
+ # description: "Description",
219
+ # type: "Name", # required
220
+ # properties: [
221
+ # {
222
+ # id: "ID",
223
+ # name: "Name", # required
224
+ # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN, STRUCT
225
+ # data_type_spec: "Name",
226
+ # unit: "PropertyUnit",
227
+ # type: { # required
228
+ # attribute: {
229
+ # default_value: "DefaultValue",
230
+ # },
231
+ # measurement: {
232
+ # },
233
+ # transform: {
234
+ # expression: "Expression", # required
235
+ # variables: [ # required
236
+ # {
237
+ # name: "VariableName", # required
238
+ # value: { # required
239
+ # property_id: "Macro", # required
240
+ # hierarchy_id: "Macro",
241
+ # },
242
+ # },
243
+ # ],
244
+ # },
245
+ # metric: {
246
+ # expression: "Expression", # required
247
+ # variables: [ # required
248
+ # {
249
+ # name: "VariableName", # required
250
+ # value: { # required
251
+ # property_id: "Macro", # required
252
+ # hierarchy_id: "Macro",
253
+ # },
254
+ # },
255
+ # ],
256
+ # window: { # required
257
+ # tumbling: {
258
+ # interval: "Interval", # required
259
+ # },
260
+ # },
261
+ # },
262
+ # },
263
+ # },
264
+ # ],
265
+ # }
266
+ #
267
+ # @!attribute [rw] name
268
+ # The name of the composite model.
269
+ # @return [String]
270
+ #
271
+ # @!attribute [rw] description
272
+ # The description of the composite model.
273
+ # @return [String]
274
+ #
275
+ # @!attribute [rw] type
276
+ # The type of the composite model. For alarm composite models, this
277
+ # type is `AWS/ALARM`.
278
+ # @return [String]
279
+ #
280
+ # @!attribute [rw] properties
281
+ # The asset property definitions for this composite model.
282
+ # @return [Array<Types::AssetModelProperty>]
283
+ #
284
+ class AssetModelCompositeModel < Struct.new(
285
+ :name,
286
+ :description,
287
+ :type,
288
+ :properties)
289
+ SENSITIVE = []
290
+ include Aws::Structure
291
+ end
292
+
293
+ # Contains a composite model definition in an asset model. This
294
+ # composite model definition is applied to all assets created from the
295
+ # asset model.
296
+ #
297
+ # @note When making an API call, you may pass AssetModelCompositeModelDefinition
298
+ # data as a hash:
299
+ #
300
+ # {
301
+ # name: "Name", # required
302
+ # description: "Description",
303
+ # type: "Name", # required
304
+ # properties: [
305
+ # {
306
+ # name: "Name", # required
307
+ # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN, STRUCT
308
+ # data_type_spec: "Name",
309
+ # unit: "PropertyUnit",
310
+ # type: { # required
311
+ # attribute: {
312
+ # default_value: "DefaultValue",
313
+ # },
314
+ # measurement: {
315
+ # },
316
+ # transform: {
317
+ # expression: "Expression", # required
318
+ # variables: [ # required
319
+ # {
320
+ # name: "VariableName", # required
321
+ # value: { # required
322
+ # property_id: "Macro", # required
323
+ # hierarchy_id: "Macro",
324
+ # },
325
+ # },
326
+ # ],
327
+ # },
328
+ # metric: {
329
+ # expression: "Expression", # required
330
+ # variables: [ # required
331
+ # {
332
+ # name: "VariableName", # required
333
+ # value: { # required
334
+ # property_id: "Macro", # required
335
+ # hierarchy_id: "Macro",
336
+ # },
337
+ # },
338
+ # ],
339
+ # window: { # required
340
+ # tumbling: {
341
+ # interval: "Interval", # required
342
+ # },
343
+ # },
344
+ # },
345
+ # },
346
+ # },
347
+ # ],
348
+ # }
349
+ #
350
+ # @!attribute [rw] name
351
+ # The name of the composite model.
352
+ # @return [String]
353
+ #
354
+ # @!attribute [rw] description
355
+ # The description of the composite model.
356
+ # @return [String]
357
+ #
358
+ # @!attribute [rw] type
359
+ # The type of the composite model. For alarm composite models, this
360
+ # type is `AWS/ALARM`.
361
+ # @return [String]
362
+ #
363
+ # @!attribute [rw] properties
364
+ # The asset property definitions for this composite model.
365
+ # @return [Array<Types::AssetModelPropertyDefinition>]
366
+ #
367
+ class AssetModelCompositeModelDefinition < Struct.new(
368
+ :name,
369
+ :description,
370
+ :type,
371
+ :properties)
372
+ SENSITIVE = []
373
+ include Aws::Structure
374
+ end
375
+
161
376
  # Describes an asset hierarchy that contains a hierarchy's name, ID,
162
377
  # and child asset model ID that specifies the type of asset that can be
163
378
  # in this hierarchy.
@@ -239,7 +454,8 @@ module Aws::IoTSiteWise
239
454
  # {
240
455
  # id: "ID",
241
456
  # name: "Name", # required
242
- # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN
457
+ # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN, STRUCT
458
+ # data_type_spec: "Name",
243
459
  # unit: "PropertyUnit",
244
460
  # type: { # required
245
461
  # attribute: {
@@ -291,6 +507,11 @@ module Aws::IoTSiteWise
291
507
  # The data type of the asset model property.
292
508
  # @return [String]
293
509
  #
510
+ # @!attribute [rw] data_type_spec
511
+ # The data type of the structure for this property. This parameter
512
+ # exists on properties that have the `STRUCT` data type.
513
+ # @return [String]
514
+ #
294
515
  # @!attribute [rw] unit
295
516
  # The unit of the asset model property, such as `Newtons` or `RPM`.
296
517
  # @return [String]
@@ -303,6 +524,7 @@ module Aws::IoTSiteWise
303
524
  :id,
304
525
  :name,
305
526
  :data_type,
527
+ :data_type_spec,
306
528
  :unit,
307
529
  :type)
308
530
  SENSITIVE = []
@@ -317,7 +539,8 @@ module Aws::IoTSiteWise
317
539
  #
318
540
  # {
319
541
  # name: "Name", # required
320
- # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN
542
+ # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN, STRUCT
543
+ # data_type_spec: "Name",
321
544
  # unit: "PropertyUnit",
322
545
  # type: { # required
323
546
  # attribute: {
@@ -363,6 +586,18 @@ module Aws::IoTSiteWise
363
586
  #
364
587
  # @!attribute [rw] data_type
365
588
  # The data type of the property definition.
589
+ #
590
+ # If you specify `STRUCT`, you must also specify `dataTypeSpec` to
591
+ # identify the type of the structure for this property.
592
+ # @return [String]
593
+ #
594
+ # @!attribute [rw] data_type_spec
595
+ # The data type of the structure for this property. This parameter is
596
+ # required on properties that have the `STRUCT` data type.
597
+ #
598
+ # The options for this parameter depend on the type of the composite
599
+ # model in which you define this property. Use `AWS/ALARM_STATE` for
600
+ # alarm state in alarm composite models.
366
601
  # @return [String]
367
602
  #
368
603
  # @!attribute [rw] unit
@@ -377,6 +612,7 @@ module Aws::IoTSiteWise
377
612
  class AssetModelPropertyDefinition < Struct.new(
378
613
  :name,
379
614
  :data_type,
615
+ :data_type_spec,
380
616
  :unit,
381
617
  :type)
382
618
  SENSITIVE = []
@@ -489,6 +725,11 @@ module Aws::IoTSiteWise
489
725
  # The data type of the asset property.
490
726
  # @return [String]
491
727
  #
728
+ # @!attribute [rw] data_type_spec
729
+ # The data type of the structure for this property. This parameter
730
+ # exists on properties that have the `STRUCT` data type.
731
+ # @return [String]
732
+ #
492
733
  # @!attribute [rw] unit
493
734
  # The unit (such as `Newtons` or `RPM`) of the asset property.
494
735
  # @return [String]
@@ -499,6 +740,7 @@ module Aws::IoTSiteWise
499
740
  :alias,
500
741
  :notification,
501
742
  :data_type,
743
+ :data_type_spec,
502
744
  :unit)
503
745
  SENSITIVE = []
504
746
  include Aws::Structure
@@ -543,6 +785,32 @@ module Aws::IoTSiteWise
543
785
  include Aws::Structure
544
786
  end
545
787
 
788
+ # Contains information about assets that are related to one another.
789
+ #
790
+ # @!attribute [rw] hierarchy_info
791
+ # The assets that are related through an asset hierarchy.
792
+ #
793
+ # This object is present if the `relationshipType` is `HIERARCHY`.
794
+ # @return [Types::AssetHierarchyInfo]
795
+ #
796
+ # @!attribute [rw] relationship_type
797
+ # The relationship type of the assets in this relationship. This value
798
+ # is one of the following:
799
+ #
800
+ # * `HIERARCHY` – The assets are related through an asset hierarchy.
801
+ # If you specify this relationship type, this asset relationship
802
+ # includes the `hierarchyInfo` object.
803
+ #
804
+ # ^
805
+ # @return [String]
806
+ #
807
+ class AssetRelationshipSummary < Struct.new(
808
+ :hierarchy_info,
809
+ :relationship_type)
810
+ SENSITIVE = []
811
+ include Aws::Structure
812
+ end
813
+
546
814
  # Contains information about the current status of an asset. For more
547
815
  # information, see [Asset and model states][1] in the *AWS IoT SiteWise
548
816
  # User Guide*.
@@ -937,10 +1205,36 @@ module Aws::IoTSiteWise
937
1205
  include Aws::Structure
938
1206
  end
939
1207
 
1208
+ # Contains information about a composite model property on an asset.
1209
+ #
1210
+ # @!attribute [rw] name
1211
+ # The name of the property.
1212
+ # @return [String]
1213
+ #
1214
+ # @!attribute [rw] type
1215
+ # The type of the composite model that defines this property.
1216
+ # @return [String]
1217
+ #
1218
+ # @!attribute [rw] asset_property
1219
+ # Contains asset property information.
1220
+ # @return [Types::Property]
1221
+ #
1222
+ class CompositeModelProperty < Struct.new(
1223
+ :name,
1224
+ :type,
1225
+ :asset_property)
1226
+ SENSITIVE = []
1227
+ include Aws::Structure
1228
+ end
1229
+
1230
+ # Contains the details of an AWS IoT SiteWise configuration error.
1231
+ #
940
1232
  # @!attribute [rw] code
1233
+ # The error code.
941
1234
  # @return [String]
942
1235
  #
943
1236
  # @!attribute [rw] message
1237
+ # The error message.
944
1238
  # @return [String]
945
1239
  #
946
1240
  class ConfigurationErrorDetails < Struct.new(
@@ -950,10 +1244,14 @@ module Aws::IoTSiteWise
950
1244
  include Aws::Structure
951
1245
  end
952
1246
 
1247
+ # Contains current status information for the configuration.
1248
+ #
953
1249
  # @!attribute [rw] state
1250
+ # The current state of the configuration.
954
1251
  # @return [String]
955
1252
  #
956
1253
  # @!attribute [rw] error
1254
+ # Contains associated error information, if any.
957
1255
  # @return [Types::ConfigurationErrorDetails]
958
1256
  #
959
1257
  class ConfigurationStatus < Struct.new(
@@ -1000,6 +1298,9 @@ module Aws::IoTSiteWise
1000
1298
  # iam_user: {
1001
1299
  # arn: "ARN", # required
1002
1300
  # },
1301
+ # iam_role: {
1302
+ # arn: "ARN", # required
1303
+ # },
1003
1304
  # },
1004
1305
  # access_policy_resource: { # required
1005
1306
  # portal: {
@@ -1090,7 +1391,8 @@ module Aws::IoTSiteWise
1090
1391
  # asset_model_properties: [
1091
1392
  # {
1092
1393
  # name: "Name", # required
1093
- # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN
1394
+ # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN, STRUCT
1395
+ # data_type_spec: "Name",
1094
1396
  # unit: "PropertyUnit",
1095
1397
  # type: { # required
1096
1398
  # attribute: {
@@ -1136,6 +1438,57 @@ module Aws::IoTSiteWise
1136
1438
  # child_asset_model_id: "ID", # required
1137
1439
  # },
1138
1440
  # ],
1441
+ # asset_model_composite_models: [
1442
+ # {
1443
+ # name: "Name", # required
1444
+ # description: "Description",
1445
+ # type: "Name", # required
1446
+ # properties: [
1447
+ # {
1448
+ # name: "Name", # required
1449
+ # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN, STRUCT
1450
+ # data_type_spec: "Name",
1451
+ # unit: "PropertyUnit",
1452
+ # type: { # required
1453
+ # attribute: {
1454
+ # default_value: "DefaultValue",
1455
+ # },
1456
+ # measurement: {
1457
+ # },
1458
+ # transform: {
1459
+ # expression: "Expression", # required
1460
+ # variables: [ # required
1461
+ # {
1462
+ # name: "VariableName", # required
1463
+ # value: { # required
1464
+ # property_id: "Macro", # required
1465
+ # hierarchy_id: "Macro",
1466
+ # },
1467
+ # },
1468
+ # ],
1469
+ # },
1470
+ # metric: {
1471
+ # expression: "Expression", # required
1472
+ # variables: [ # required
1473
+ # {
1474
+ # name: "VariableName", # required
1475
+ # value: { # required
1476
+ # property_id: "Macro", # required
1477
+ # hierarchy_id: "Macro",
1478
+ # },
1479
+ # },
1480
+ # ],
1481
+ # window: { # required
1482
+ # tumbling: {
1483
+ # interval: "Interval", # required
1484
+ # },
1485
+ # },
1486
+ # },
1487
+ # },
1488
+ # },
1489
+ # ],
1490
+ # },
1491
+ # ],
1139
1492
  # client_token: "ClientToken",
1140
1493
  # tags: {
1141
1494
  # "TagKey" => "TagValue",
@@ -1178,6 +1531,14 @@ module Aws::IoTSiteWise
1178
1531
  # [2]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html
1179
1532
  # @return [Array<Types::AssetModelHierarchyDefinition>]
1180
1533
  #
1534
+ # @!attribute [rw] asset_model_composite_models
1535
+ # The composite asset models that are part of this asset model.
1536
+ # Composite asset models are asset models that contain specific
1537
+ # properties. Each composite model has a type that defines the
1538
+ # properties that the composite model supports. Use composite asset
1539
+ # models to define alarms on this asset model.
1540
+ # @return [Array<Types::AssetModelCompositeModelDefinition>]
1541
+ #
1181
1542
  # @!attribute [rw] client_token
1182
1543
  # A unique case-sensitive identifier that you can provide to ensure
1183
1544
  # the idempotency of the request. Don't reuse this client token if a
@@ -1202,6 +1563,7 @@ module Aws::IoTSiteWise
1202
1563
  :asset_model_description,
1203
1564
  :asset_model_properties,
1204
1565
  :asset_model_hierarchies,
1566
+ :asset_model_composite_models,
1205
1567
  :client_token,
1206
1568
  :tags)
1207
1569
  SENSITIVE = []
@@ -1542,10 +1904,8 @@ module Aws::IoTSiteWise
1542
1904
  # Regions.
1543
1905
  #
1544
1906
  # * `IAM` – The portal uses AWS Identity and Access Management (IAM)
1545
- # to authenticate users and manage user permissions. IAM users must
1546
- # have the `iotsitewise:CreatePresignedPortalUrl` permission to sign
1547
- # in to the portal. This option is only available in the China
1548
- # Regions.
1907
+ # to authenticate users and manage user permissions. This option is
1908
+ # only available in the China Regions.
1549
1909
  #
1550
1910
  # You can't change this value after you create a portal.
1551
1911
  #
@@ -1586,13 +1946,8 @@ module Aws::IoTSiteWise
1586
1946
  # @!attribute [rw] portal_start_url
1587
1947
  # The URL for the AWS IoT SiteWise Monitor portal. You can use this
1588
1948
  # URL to access portals that use AWS SSO for authentication. For
1589
- # portals that use IAM for authentication, you must use the
1590
- # [CreatePresignedPortalUrl][1] operation to create a URL that you can
1591
- # use to access the portal.
1592
- #
1593
- #
1594
- #
1595
- # [1]: https://docs.aws.amazon.com/AWS IoT SiteWise API ReferenceAPI_CreatePresignedPortalUrl.html
1949
+ # portals that use IAM for authentication, you must use the AWS IoT
1950
+ # SiteWise console to get a URL that you can use to access the portal.
1596
1951
  # @return [String]
1597
1952
  #
1598
1953
  # @!attribute [rw] portal_status
@@ -1614,45 +1969,6 @@ module Aws::IoTSiteWise
1614
1969
  include Aws::Structure
1615
1970
  end
1616
1971
 
1617
- # @note When making an API call, you may pass CreatePresignedPortalUrlRequest
1618
- # data as a hash:
1619
- #
1620
- # {
1621
- # portal_id: "ID", # required
1622
- # session_duration_seconds: 1,
1623
- # }
1624
- #
1625
- # @!attribute [rw] portal_id
1626
- # The ID of the portal to access.
1627
- # @return [String]
1628
- #
1629
- # @!attribute [rw] session_duration_seconds
1630
- # The duration (in seconds) for which the session at the URL is valid.
1631
- #
1632
- # Default: 43,200 seconds (12 hours)
1633
- # @return [Integer]
1634
- #
1635
- class CreatePresignedPortalUrlRequest < Struct.new(
1636
- :portal_id,
1637
- :session_duration_seconds)
1638
- SENSITIVE = []
1639
- include Aws::Structure
1640
- end
1641
-
1642
- # @!attribute [rw] presigned_portal_url
1643
- # The pre-signed URL to the portal. The URL contains the portal ID and
1644
- # an authentication token that lets you access the portal. The URL has
1645
- # the following format.
1646
- #
1647
- # `https://<portal-id>.app.iotsitewise.aws/iam?token=<encrypted-token>`
1648
- # @return [String]
1649
- #
1650
- class CreatePresignedPortalUrlResponse < Struct.new(
1651
- :presigned_portal_url)
1652
- SENSITIVE = []
1653
- include Aws::Structure
1654
- end
1655
-
1656
1972
  # @note When making an API call, you may pass CreateProjectRequest
1657
1973
  # data as a hash:
1658
1974
  #
@@ -2091,6 +2407,10 @@ module Aws::IoTSiteWise
2091
2407
  #
2092
2408
  # @!attribute [rw] asset_model_properties
2093
2409
  # The list of asset properties for the asset model.
2410
+ #
2411
+ # This object doesn't include properties that you define in composite
2412
+ # models. You can find composite model properties in the
2413
+ # `assetModelCompositeModels` object.
2094
2414
  # @return [Array<Types::AssetModelProperty>]
2095
2415
  #
2096
2416
  # @!attribute [rw] asset_model_hierarchies
@@ -2100,6 +2420,10 @@ module Aws::IoTSiteWise
2100
2420
  # model.
2101
2421
  # @return [Array<Types::AssetModelHierarchy>]
2102
2422
  #
2423
+ # @!attribute [rw] asset_model_composite_models
2424
+ # The list of composite asset models for the asset model.
2425
+ # @return [Array<Types::AssetModelCompositeModel>]
2426
+ #
2103
2427
  # @!attribute [rw] asset_model_creation_date
2104
2428
  # The date the asset model was created, in Unix epoch time.
2105
2429
  # @return [Time]
@@ -2120,6 +2444,7 @@ module Aws::IoTSiteWise
2120
2444
  :asset_model_description,
2121
2445
  :asset_model_properties,
2122
2446
  :asset_model_hierarchies,
2447
+ :asset_model_composite_models,
2123
2448
  :asset_model_creation_date,
2124
2449
  :asset_model_last_update_date,
2125
2450
  :asset_model_status)
@@ -2164,13 +2489,23 @@ module Aws::IoTSiteWise
2164
2489
  #
2165
2490
  # @!attribute [rw] asset_property
2166
2491
  # The asset property's definition, alias, and notification state.
2492
+ #
2493
+ # This response includes this object for normal asset properties. If
2494
+ # you describe an asset property in a composite model, this response
2495
+ # includes the asset property information in `compositeModel`.
2167
2496
  # @return [Types::Property]
2168
2497
  #
2498
+ # @!attribute [rw] composite_model
2499
+ # The composite asset model that declares this asset property, if this
2500
+ # asset property exists in a composite model.
2501
+ # @return [Types::CompositeModelProperty]
2502
+ #
2169
2503
  class DescribeAssetPropertyResponse < Struct.new(
2170
2504
  :asset_id,
2171
2505
  :asset_name,
2172
2506
  :asset_model_id,
2173
- :asset_property)
2507
+ :asset_property,
2508
+ :composite_model)
2174
2509
  SENSITIVE = []
2175
2510
  include Aws::Structure
2176
2511
  end
@@ -2216,6 +2551,10 @@ module Aws::IoTSiteWise
2216
2551
  #
2217
2552
  # @!attribute [rw] asset_properties
2218
2553
  # The list of asset properties for the asset.
2554
+ #
2555
+ # This object doesn't include properties that you define in composite
2556
+ # models. You can find composite model properties in the
2557
+ # `assetCompositeModels` object.
2219
2558
  # @return [Array<Types::AssetProperty>]
2220
2559
  #
2221
2560
  # @!attribute [rw] asset_hierarchies
@@ -2223,6 +2562,10 @@ module Aws::IoTSiteWise
2223
2562
  # hierarchy specifies allowed parent/child asset relationships.
2224
2563
  # @return [Array<Types::AssetHierarchy>]
2225
2564
  #
2565
+ # @!attribute [rw] asset_composite_models
2566
+ # The composite models for the asset.
2567
+ # @return [Array<Types::AssetCompositeModel>]
2568
+ #
2226
2569
  # @!attribute [rw] asset_creation_date
2227
2570
  # The date the asset was created, in Unix epoch time.
2228
2571
  # @return [Time]
@@ -2243,6 +2586,7 @@ module Aws::IoTSiteWise
2243
2586
  :asset_model_id,
2244
2587
  :asset_properties,
2245
2588
  :asset_hierarchies,
2589
+ :asset_composite_models,
2246
2590
  :asset_creation_date,
2247
2591
  :asset_last_update_date,
2248
2592
  :asset_status)
@@ -2549,13 +2893,8 @@ module Aws::IoTSiteWise
2549
2893
  # @!attribute [rw] portal_start_url
2550
2894
  # The URL for the AWS IoT SiteWise Monitor portal. You can use this
2551
2895
  # URL to access portals that use AWS SSO for authentication. For
2552
- # portals that use IAM for authentication, you must use the
2553
- # [CreatePresignedPortalUrl][1] operation to create a URL that you can
2554
- # use to access the portal.
2555
- #
2556
- #
2557
- #
2558
- # [1]: https://docs.aws.amazon.com/AWS IoT SiteWise API ReferenceAPI_CreatePresignedPortalUrl.html
2896
+ # portals that use IAM for authentication, you must use the AWS IoT
2897
+ # SiteWise console to get a URL that you can use to access the portal.
2559
2898
  # @return [String]
2560
2899
  #
2561
2900
  # @!attribute [rw] portal_contact_email
@@ -3164,6 +3503,36 @@ module Aws::IoTSiteWise
3164
3503
  include Aws::Structure
3165
3504
  end
3166
3505
 
3506
+ # Contains information about an AWS Identity and Access Management (IAM)
3507
+ # role. For more information, see [IAM roles][1] in the *IAM User
3508
+ # Guide*.
3509
+ #
3510
+ #
3511
+ #
3512
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html
3513
+ #
3514
+ # @note When making an API call, you may pass IAMRoleIdentity
3515
+ # data as a hash:
3516
+ #
3517
+ # {
3518
+ # arn: "ARN", # required
3519
+ # }
3520
+ #
3521
+ # @!attribute [rw] arn
3522
+ # The ARN of the IAM role. For more information, see [IAM ARNs][1] in
3523
+ # the *IAM User Guide*.
3524
+ #
3525
+ #
3526
+ #
3527
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.htmll#identifiers-arns
3528
+ # @return [String]
3529
+ #
3530
+ class IAMRoleIdentity < Struct.new(
3531
+ :arn)
3532
+ SENSITIVE = []
3533
+ include Aws::Structure
3534
+ end
3535
+
3167
3536
  # Contains information about an AWS Identity and Access Management (IAM)
3168
3537
  # user.
3169
3538
  #
@@ -3175,10 +3544,8 @@ module Aws::IoTSiteWise
3175
3544
  # }
3176
3545
  #
3177
3546
  # @!attribute [rw] arn
3178
- # The ARN of the IAM user. IAM users must have the
3179
- # `iotsitewise:CreatePresignedPortalUrl` permission to sign in to the
3180
- # portal. For more information, see [IAM ARNs][1] in the *IAM User
3181
- # Guide*.
3547
+ # The ARN of the IAM user. For more information, see [IAM ARNs][1] in
3548
+ # the *IAM User Guide*.
3182
3549
  #
3183
3550
  # <note markdown="1"> If you delete the IAM user, access policies that contain this
3184
3551
  # identity include an empty `arn`. You can delete the access policy
@@ -3223,6 +3590,9 @@ module Aws::IoTSiteWise
3223
3590
  # iam_user: {
3224
3591
  # arn: "ARN", # required
3225
3592
  # },
3593
+ # iam_role: {
3594
+ # arn: "ARN", # required
3595
+ # },
3226
3596
  # }
3227
3597
  #
3228
3598
  # @!attribute [rw] user
@@ -3237,10 +3607,15 @@ module Aws::IoTSiteWise
3237
3607
  # An IAM user identity.
3238
3608
  # @return [Types::IAMUserIdentity]
3239
3609
  #
3610
+ # @!attribute [rw] iam_role
3611
+ # An IAM role identity.
3612
+ # @return [Types::IAMRoleIdentity]
3613
+ #
3240
3614
  class Identity < Struct.new(
3241
3615
  :user,
3242
3616
  :group,
3243
- :iam_user)
3617
+ :iam_user,
3618
+ :iam_role)
3244
3619
  SENSITIVE = []
3245
3620
  include Aws::Structure
3246
3621
  end
@@ -3492,6 +3867,65 @@ module Aws::IoTSiteWise
3492
3867
  include Aws::Structure
3493
3868
  end
3494
3869
 
3870
+ # @note When making an API call, you may pass ListAssetRelationshipsRequest
3871
+ # data as a hash:
3872
+ #
3873
+ # {
3874
+ # asset_id: "ID", # required
3875
+ # traversal_type: "PATH_TO_ROOT", # required, accepts PATH_TO_ROOT
3876
+ # next_token: "NextToken",
3877
+ # max_results: 1,
3878
+ # }
3879
+ #
3880
+ # @!attribute [rw] asset_id
3881
+ # The ID of the asset.
3882
+ # @return [String]
3883
+ #
3884
+ # @!attribute [rw] traversal_type
3885
+ # The type of traversal to use to identify asset relationships. Choose
3886
+ # the following option:
3887
+ #
3888
+ # * `PATH_TO_ROOT` – Identify the asset's parent assets up to the
3889
+ # root asset. The asset that you specify in `assetId` is the first
3890
+ # result in the list of `assetRelationshipSummaries`, and the root
3891
+ # asset is the last result.
3892
+ #
3893
+ # ^
3894
+ # @return [String]
3895
+ #
3896
+ # @!attribute [rw] next_token
3897
+ # The token to be used for the next set of paginated results.
3898
+ # @return [String]
3899
+ #
3900
+ # @!attribute [rw] max_results
3901
+ # The maximum number of results to be returned per paginated request.
3902
+ # @return [Integer]
3903
+ #
3904
+ class ListAssetRelationshipsRequest < Struct.new(
3905
+ :asset_id,
3906
+ :traversal_type,
3907
+ :next_token,
3908
+ :max_results)
3909
+ SENSITIVE = []
3910
+ include Aws::Structure
3911
+ end
3912
+
3913
+ # @!attribute [rw] asset_relationship_summaries
3914
+ # A list that summarizes each asset relationship.
3915
+ # @return [Array<Types::AssetRelationshipSummary>]
3916
+ #
3917
+ # @!attribute [rw] next_token
3918
+ # The token for the next set of results, or null if there are no
3919
+ # additional results.
3920
+ # @return [String]
3921
+ #
3922
+ class ListAssetRelationshipsResponse < Struct.new(
3923
+ :asset_relationship_summaries,
3924
+ :next_token)
3925
+ SENSITIVE = []
3926
+ include Aws::Structure
3927
+ end
3928
+
3495
3929
  # @note When making an API call, you may pass ListAssetsRequest
3496
3930
  # data as a hash:
3497
3931
  #
@@ -3915,9 +4349,8 @@ module Aws::IoTSiteWise
3915
4349
  include Aws::Structure
3916
4350
  end
3917
4351
 
3918
- # Contains an asset measurement property. This structure is empty. For
3919
- # more information, see [Measurements][1] in the *AWS IoT SiteWise User
3920
- # Guide*.
4352
+ # Contains an asset measurement property. For more information, see
4353
+ # [Measurements][1] in the *AWS IoT SiteWise User Guide*.
3921
4354
  #
3922
4355
  #
3923
4356
  #
@@ -4089,13 +4522,8 @@ module Aws::IoTSiteWise
4089
4522
  # @!attribute [rw] start_url
4090
4523
  # The URL for the AWS IoT SiteWise Monitor portal. You can use this
4091
4524
  # URL to access portals that use AWS SSO for authentication. For
4092
- # portals that use IAM for authentication, you must use the
4093
- # [CreatePresignedPortalUrl][1] operation to create a URL that you can
4094
- # use to access the portal.
4095
- #
4096
- #
4097
- #
4098
- # [1]: https://docs.aws.amazon.com/AWS IoT SiteWise API ReferenceAPI_CreatePresignedPortalUrl.html
4525
+ # portals that use IAM for authentication, you must use the AWS IoT
4526
+ # SiteWise console to get a URL that you can use to access the portal.
4099
4527
  # @return [String]
4100
4528
  #
4101
4529
  # @!attribute [rw] creation_date
@@ -4756,6 +5184,17 @@ module Aws::IoTSiteWise
4756
5184
  include Aws::Structure
4757
5185
  end
4758
5186
 
5187
+ # You are not authorized.
5188
+ #
5189
+ # @!attribute [rw] message
5190
+ # @return [String]
5191
+ #
5192
+ class UnauthorizedException < Struct.new(
5193
+ :message)
5194
+ SENSITIVE = []
5195
+ include Aws::Structure
5196
+ end
5197
+
4759
5198
  # @note When making an API call, you may pass UntagResourceRequest
4760
5199
  # data as a hash:
4761
5200
  #
@@ -4800,6 +5239,9 @@ module Aws::IoTSiteWise
4800
5239
  # iam_user: {
4801
5240
  # arn: "ARN", # required
4802
5241
  # },
5242
+ # iam_role: {
5243
+ # arn: "ARN", # required
5244
+ # },
4803
5245
  # },
4804
5246
  # access_policy_resource: { # required
4805
5247
  # portal: {
@@ -4864,7 +5306,8 @@ module Aws::IoTSiteWise
4864
5306
  # {
4865
5307
  # id: "ID",
4866
5308
  # name: "Name", # required
4867
- # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN
5309
+ # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN, STRUCT
5310
+ # data_type_spec: "Name",
4868
5311
  # unit: "PropertyUnit",
4869
5312
  # type: { # required
4870
5313
  # attribute: {
@@ -4911,6 +5354,58 @@ module Aws::IoTSiteWise
4911
5354
  # child_asset_model_id: "ID", # required
4912
5355
  # },
4913
5356
  # ],
5357
+ # asset_model_composite_models: [
5358
+ # {
5359
+ # name: "Name", # required
5360
+ # description: "Description",
5361
+ # type: "Name", # required
5362
+ # properties: [
5363
+ # {
5364
+ # id: "ID",
5365
+ # name: "Name", # required
5366
+ # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN, STRUCT
5367
+ # data_type_spec: "Name",
5368
+ # unit: "PropertyUnit",
5369
+ # type: { # required
5370
+ # attribute: {
5371
+ # default_value: "DefaultValue",
5372
+ # },
5373
+ # measurement: {
5374
+ # },
5375
+ # transform: {
5376
+ # expression: "Expression", # required
5377
+ # variables: [ # required
5378
+ # {
5379
+ # name: "VariableName", # required
5380
+ # value: { # required
5381
+ # property_id: "Macro", # required
5382
+ # hierarchy_id: "Macro",
5383
+ # },
5384
+ # },
5385
+ # ],
5386
+ # },
5387
+ # metric: {
5388
+ # expression: "Expression", # required
5389
+ # variables: [ # required
5390
+ # {
5391
+ # name: "VariableName", # required
5392
+ # value: { # required
5393
+ # property_id: "Macro", # required
5394
+ # hierarchy_id: "Macro",
5395
+ # },
5396
+ # },
5397
+ # ],
5398
+ # window: { # required
5399
+ # tumbling: {
5400
+ # interval: "Interval", # required
5401
+ # },
5402
+ # },
5403
+ # },
5404
+ # },
5405
+ # },
5406
+ # ],
5407
+ # },
5408
+ # ],
4914
5409
  # client_token: "ClientToken",
4915
5410
  # }
4916
5411
  #
@@ -4955,6 +5450,14 @@ module Aws::IoTSiteWise
4955
5450
  # [2]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html
4956
5451
  # @return [Array<Types::AssetModelHierarchy>]
4957
5452
  #
5453
+ # @!attribute [rw] asset_model_composite_models
5454
+ # The composite asset models that are part of this asset model.
5455
+ # Composite asset models are asset models that contain specific
5456
+ # properties. Each composite model has a type that defines the
5457
+ # properties that the composite model supports. Use composite asset
5458
+ # models to define alarms on this asset model.
5459
+ # @return [Array<Types::AssetModelCompositeModel>]
5460
+ #
4958
5461
  # @!attribute [rw] client_token
4959
5462
  # A unique case-sensitive identifier that you can provide to ensure
4960
5463
  # the idempotency of the request. Don't reuse this client token if a
@@ -4970,6 +5473,7 @@ module Aws::IoTSiteWise
4970
5473
  :asset_model_description,
4971
5474
  :asset_model_properties,
4972
5475
  :asset_model_hierarchies,
5476
+ :asset_model_composite_models,
4973
5477
  :client_token)
4974
5478
  SENSITIVE = []
4975
5479
  include Aws::Structure