aws-sdk-iotsitewise 1.11.0 → 1.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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,10 @@ 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')
87
+ ConfigurationErrorDetails = Shapes::StructureShape.new(name: 'ConfigurationErrorDetails')
88
+ ConfigurationState = Shapes::StringShape.new(name: 'ConfigurationState')
89
+ ConfigurationStatus = Shapes::StructureShape.new(name: 'ConfigurationStatus')
76
90
  ConflictingOperationException = Shapes::StructureShape.new(name: 'ConflictingOperationException')
77
91
  CreateAccessPolicyRequest = Shapes::StructureShape.new(name: 'CreateAccessPolicyRequest')
78
92
  CreateAccessPolicyResponse = Shapes::StructureShape.new(name: 'CreateAccessPolicyResponse')
@@ -86,8 +100,6 @@ module Aws::IoTSiteWise
86
100
  CreateGatewayResponse = Shapes::StructureShape.new(name: 'CreateGatewayResponse')
87
101
  CreatePortalRequest = Shapes::StructureShape.new(name: 'CreatePortalRequest')
88
102
  CreatePortalResponse = Shapes::StructureShape.new(name: 'CreatePortalResponse')
89
- CreatePresignedPortalUrlRequest = Shapes::StructureShape.new(name: 'CreatePresignedPortalUrlRequest')
90
- CreatePresignedPortalUrlResponse = Shapes::StructureShape.new(name: 'CreatePresignedPortalUrlResponse')
91
103
  CreateProjectRequest = Shapes::StructureShape.new(name: 'CreateProjectRequest')
92
104
  CreateProjectResponse = Shapes::StructureShape.new(name: 'CreateProjectResponse')
93
105
  DashboardDefinition = Shapes::StringShape.new(name: 'DashboardDefinition')
@@ -117,6 +129,8 @@ module Aws::IoTSiteWise
117
129
  DescribeAssetResponse = Shapes::StructureShape.new(name: 'DescribeAssetResponse')
118
130
  DescribeDashboardRequest = Shapes::StructureShape.new(name: 'DescribeDashboardRequest')
119
131
  DescribeDashboardResponse = Shapes::StructureShape.new(name: 'DescribeDashboardResponse')
132
+ DescribeDefaultEncryptionConfigurationRequest = Shapes::StructureShape.new(name: 'DescribeDefaultEncryptionConfigurationRequest')
133
+ DescribeDefaultEncryptionConfigurationResponse = Shapes::StructureShape.new(name: 'DescribeDefaultEncryptionConfigurationResponse')
120
134
  DescribeGatewayCapabilityConfigurationRequest = Shapes::StructureShape.new(name: 'DescribeGatewayCapabilityConfigurationRequest')
121
135
  DescribeGatewayCapabilityConfigurationResponse = Shapes::StructureShape.new(name: 'DescribeGatewayCapabilityConfigurationResponse')
122
136
  DescribeGatewayRequest = Shapes::StructureShape.new(name: 'DescribeGatewayRequest')
@@ -130,6 +144,7 @@ module Aws::IoTSiteWise
130
144
  Description = Shapes::StringShape.new(name: 'Description')
131
145
  DisassociateAssetsRequest = Shapes::StructureShape.new(name: 'DisassociateAssetsRequest')
132
146
  Email = Shapes::StringShape.new(name: 'Email')
147
+ EncryptionType = Shapes::StringShape.new(name: 'EncryptionType')
133
148
  EntryId = Shapes::StringShape.new(name: 'EntryId')
134
149
  ErrorCode = Shapes::StringShape.new(name: 'ErrorCode')
135
150
  ErrorDetails = Shapes::StructureShape.new(name: 'ErrorDetails')
@@ -165,11 +180,14 @@ module Aws::IoTSiteWise
165
180
  InternalFailureException = Shapes::StructureShape.new(name: 'InternalFailureException')
166
181
  Interval = Shapes::StringShape.new(name: 'Interval')
167
182
  InvalidRequestException = Shapes::StructureShape.new(name: 'InvalidRequestException')
183
+ KmsKeyId = Shapes::StringShape.new(name: 'KmsKeyId')
168
184
  LimitExceededException = Shapes::StructureShape.new(name: 'LimitExceededException')
169
185
  ListAccessPoliciesRequest = Shapes::StructureShape.new(name: 'ListAccessPoliciesRequest')
170
186
  ListAccessPoliciesResponse = Shapes::StructureShape.new(name: 'ListAccessPoliciesResponse')
171
187
  ListAssetModelsRequest = Shapes::StructureShape.new(name: 'ListAssetModelsRequest')
172
188
  ListAssetModelsResponse = Shapes::StructureShape.new(name: 'ListAssetModelsResponse')
189
+ ListAssetRelationshipsRequest = Shapes::StructureShape.new(name: 'ListAssetRelationshipsRequest')
190
+ ListAssetRelationshipsResponse = Shapes::StructureShape.new(name: 'ListAssetRelationshipsResponse')
173
191
  ListAssetsFilter = Shapes::StringShape.new(name: 'ListAssetsFilter')
174
192
  ListAssetsRequest = Shapes::StructureShape.new(name: 'ListAssetsRequest')
175
193
  ListAssetsResponse = Shapes::StructureShape.new(name: 'ListAssetsResponse')
@@ -224,6 +242,8 @@ module Aws::IoTSiteWise
224
242
  PropertyValueStringValue = Shapes::StringShape.new(name: 'PropertyValueStringValue')
225
243
  PutAssetPropertyValueEntries = Shapes::ListShape.new(name: 'PutAssetPropertyValueEntries')
226
244
  PutAssetPropertyValueEntry = Shapes::StructureShape.new(name: 'PutAssetPropertyValueEntry')
245
+ PutDefaultEncryptionConfigurationRequest = Shapes::StructureShape.new(name: 'PutDefaultEncryptionConfigurationRequest')
246
+ PutDefaultEncryptionConfigurationResponse = Shapes::StructureShape.new(name: 'PutDefaultEncryptionConfigurationResponse')
227
247
  PutLoggingOptionsRequest = Shapes::StructureShape.new(name: 'PutLoggingOptionsRequest')
228
248
  PutLoggingOptionsResponse = Shapes::StructureShape.new(name: 'PutLoggingOptionsResponse')
229
249
  Qualities = Shapes::ListShape.new(name: 'Qualities')
@@ -237,7 +257,6 @@ module Aws::IoTSiteWise
237
257
  ResourceType = Shapes::StringShape.new(name: 'ResourceType')
238
258
  SSOApplicationId = Shapes::StringShape.new(name: 'SSOApplicationId')
239
259
  ServiceUnavailableException = Shapes::StructureShape.new(name: 'ServiceUnavailableException')
240
- SessionDurationSeconds = Shapes::IntegerShape.new(name: 'SessionDurationSeconds')
241
260
  TagKey = Shapes::StringShape.new(name: 'TagKey')
242
261
  TagKeyList = Shapes::ListShape.new(name: 'TagKeyList')
243
262
  TagMap = Shapes::MapShape.new(name: 'TagMap')
@@ -253,7 +272,9 @@ module Aws::IoTSiteWise
253
272
  TooManyTagsException = Shapes::StructureShape.new(name: 'TooManyTagsException')
254
273
  Transform = Shapes::StructureShape.new(name: 'Transform')
255
274
  TraversalDirection = Shapes::StringShape.new(name: 'TraversalDirection')
275
+ TraversalType = Shapes::StringShape.new(name: 'TraversalType')
256
276
  TumblingWindow = Shapes::StructureShape.new(name: 'TumblingWindow')
277
+ UnauthorizedException = Shapes::StructureShape.new(name: 'UnauthorizedException')
257
278
  UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
258
279
  UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
259
280
  UpdateAccessPolicyRequest = Shapes::StructureShape.new(name: 'UpdateAccessPolicyRequest')
@@ -305,6 +326,14 @@ module Aws::IoTSiteWise
305
326
  Aggregates.add_member(:standard_deviation, Shapes::ShapeRef.new(shape: AggregatedDoubleValue, location_name: "standardDeviation"))
306
327
  Aggregates.struct_class = Types::Aggregates
307
328
 
329
+ AssetCompositeModel.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "name"))
330
+ AssetCompositeModel.add_member(:description, Shapes::ShapeRef.new(shape: Description, location_name: "description"))
331
+ AssetCompositeModel.add_member(:type, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "type"))
332
+ AssetCompositeModel.add_member(:properties, Shapes::ShapeRef.new(shape: AssetProperties, required: true, location_name: "properties"))
333
+ AssetCompositeModel.struct_class = Types::AssetCompositeModel
334
+
335
+ AssetCompositeModels.member = Shapes::ShapeRef.new(shape: AssetCompositeModel)
336
+
308
337
  AssetErrorDetails.add_member(:asset_id, Shapes::ShapeRef.new(shape: ID, required: true, location_name: "assetId"))
309
338
  AssetErrorDetails.add_member(:code, Shapes::ShapeRef.new(shape: AssetErrorCode, required: true, location_name: "code"))
310
339
  AssetErrorDetails.add_member(:message, Shapes::ShapeRef.new(shape: AssetErrorMessage, required: true, location_name: "message"))
@@ -316,8 +345,28 @@ module Aws::IoTSiteWise
316
345
  AssetHierarchy.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "name"))
317
346
  AssetHierarchy.struct_class = Types::AssetHierarchy
318
347
 
348
+ AssetHierarchyInfo.add_member(:parent_asset_id, Shapes::ShapeRef.new(shape: ID, location_name: "parentAssetId"))
349
+ AssetHierarchyInfo.add_member(:child_asset_id, Shapes::ShapeRef.new(shape: ID, location_name: "childAssetId"))
350
+ AssetHierarchyInfo.struct_class = Types::AssetHierarchyInfo
351
+
319
352
  AssetIDs.member = Shapes::ShapeRef.new(shape: ID)
320
353
 
354
+ AssetModelCompositeModel.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "name"))
355
+ AssetModelCompositeModel.add_member(:description, Shapes::ShapeRef.new(shape: Description, location_name: "description"))
356
+ AssetModelCompositeModel.add_member(:type, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "type"))
357
+ AssetModelCompositeModel.add_member(:properties, Shapes::ShapeRef.new(shape: AssetModelProperties, location_name: "properties"))
358
+ AssetModelCompositeModel.struct_class = Types::AssetModelCompositeModel
359
+
360
+ AssetModelCompositeModelDefinition.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "name"))
361
+ AssetModelCompositeModelDefinition.add_member(:description, Shapes::ShapeRef.new(shape: Description, location_name: "description"))
362
+ AssetModelCompositeModelDefinition.add_member(:type, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "type"))
363
+ AssetModelCompositeModelDefinition.add_member(:properties, Shapes::ShapeRef.new(shape: AssetModelPropertyDefinitions, location_name: "properties"))
364
+ AssetModelCompositeModelDefinition.struct_class = Types::AssetModelCompositeModelDefinition
365
+
366
+ AssetModelCompositeModelDefinitions.member = Shapes::ShapeRef.new(shape: AssetModelCompositeModelDefinition)
367
+
368
+ AssetModelCompositeModels.member = Shapes::ShapeRef.new(shape: AssetModelCompositeModel)
369
+
321
370
  AssetModelHierarchies.member = Shapes::ShapeRef.new(shape: AssetModelHierarchy)
322
371
 
323
372
  AssetModelHierarchy.add_member(:id, Shapes::ShapeRef.new(shape: ID, location_name: "id"))
@@ -336,12 +385,14 @@ module Aws::IoTSiteWise
336
385
  AssetModelProperty.add_member(:id, Shapes::ShapeRef.new(shape: ID, location_name: "id"))
337
386
  AssetModelProperty.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "name"))
338
387
  AssetModelProperty.add_member(:data_type, Shapes::ShapeRef.new(shape: PropertyDataType, required: true, location_name: "dataType"))
388
+ AssetModelProperty.add_member(:data_type_spec, Shapes::ShapeRef.new(shape: Name, location_name: "dataTypeSpec"))
339
389
  AssetModelProperty.add_member(:unit, Shapes::ShapeRef.new(shape: PropertyUnit, location_name: "unit"))
340
390
  AssetModelProperty.add_member(:type, Shapes::ShapeRef.new(shape: PropertyType, required: true, location_name: "type"))
341
391
  AssetModelProperty.struct_class = Types::AssetModelProperty
342
392
 
343
393
  AssetModelPropertyDefinition.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "name"))
344
394
  AssetModelPropertyDefinition.add_member(:data_type, Shapes::ShapeRef.new(shape: PropertyDataType, required: true, location_name: "dataType"))
395
+ AssetModelPropertyDefinition.add_member(:data_type_spec, Shapes::ShapeRef.new(shape: Name, location_name: "dataTypeSpec"))
345
396
  AssetModelPropertyDefinition.add_member(:unit, Shapes::ShapeRef.new(shape: PropertyUnit, location_name: "unit"))
346
397
  AssetModelPropertyDefinition.add_member(:type, Shapes::ShapeRef.new(shape: PropertyType, required: true, location_name: "type"))
347
398
  AssetModelPropertyDefinition.struct_class = Types::AssetModelPropertyDefinition
@@ -370,6 +421,7 @@ module Aws::IoTSiteWise
370
421
  AssetProperty.add_member(:alias, Shapes::ShapeRef.new(shape: PropertyAlias, location_name: "alias"))
371
422
  AssetProperty.add_member(:notification, Shapes::ShapeRef.new(shape: PropertyNotification, location_name: "notification"))
372
423
  AssetProperty.add_member(:data_type, Shapes::ShapeRef.new(shape: PropertyDataType, required: true, location_name: "dataType"))
424
+ AssetProperty.add_member(:data_type_spec, Shapes::ShapeRef.new(shape: Name, location_name: "dataTypeSpec"))
373
425
  AssetProperty.add_member(:unit, Shapes::ShapeRef.new(shape: PropertyUnit, location_name: "unit"))
374
426
  AssetProperty.struct_class = Types::AssetProperty
375
427
 
@@ -382,6 +434,12 @@ module Aws::IoTSiteWise
382
434
 
383
435
  AssetPropertyValues.member = Shapes::ShapeRef.new(shape: AssetPropertyValue)
384
436
 
437
+ AssetRelationshipSummaries.member = Shapes::ShapeRef.new(shape: AssetRelationshipSummary)
438
+
439
+ AssetRelationshipSummary.add_member(:hierarchy_info, Shapes::ShapeRef.new(shape: AssetHierarchyInfo, location_name: "hierarchyInfo"))
440
+ AssetRelationshipSummary.add_member(:relationship_type, Shapes::ShapeRef.new(shape: AssetRelationshipType, required: true, location_name: "relationshipType"))
441
+ AssetRelationshipSummary.struct_class = Types::AssetRelationshipSummary
442
+
385
443
  AssetStatus.add_member(:state, Shapes::ShapeRef.new(shape: AssetState, required: true, location_name: "state"))
386
444
  AssetStatus.add_member(:error, Shapes::ShapeRef.new(shape: ErrorDetails, location_name: "error"))
387
445
  AssetStatus.struct_class = Types::AssetStatus
@@ -458,6 +516,19 @@ module Aws::IoTSiteWise
458
516
  BatchPutAssetPropertyValueResponse.add_member(:error_entries, Shapes::ShapeRef.new(shape: BatchPutAssetPropertyErrorEntries, required: true, location_name: "errorEntries"))
459
517
  BatchPutAssetPropertyValueResponse.struct_class = Types::BatchPutAssetPropertyValueResponse
460
518
 
519
+ CompositeModelProperty.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "name"))
520
+ CompositeModelProperty.add_member(:type, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "type"))
521
+ CompositeModelProperty.add_member(:asset_property, Shapes::ShapeRef.new(shape: Property, required: true, location_name: "assetProperty"))
522
+ CompositeModelProperty.struct_class = Types::CompositeModelProperty
523
+
524
+ ConfigurationErrorDetails.add_member(:code, Shapes::ShapeRef.new(shape: ErrorCode, required: true, location_name: "code"))
525
+ ConfigurationErrorDetails.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, required: true, location_name: "message"))
526
+ ConfigurationErrorDetails.struct_class = Types::ConfigurationErrorDetails
527
+
528
+ ConfigurationStatus.add_member(:state, Shapes::ShapeRef.new(shape: ConfigurationState, required: true, location_name: "state"))
529
+ ConfigurationStatus.add_member(:error, Shapes::ShapeRef.new(shape: ConfigurationErrorDetails, location_name: "error"))
530
+ ConfigurationStatus.struct_class = Types::ConfigurationStatus
531
+
461
532
  ConflictingOperationException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, required: true, location_name: "message"))
462
533
  ConflictingOperationException.add_member(:resource_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "resourceId"))
463
534
  ConflictingOperationException.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location_name: "resourceArn"))
@@ -478,6 +549,7 @@ module Aws::IoTSiteWise
478
549
  CreateAssetModelRequest.add_member(:asset_model_description, Shapes::ShapeRef.new(shape: Description, location_name: "assetModelDescription"))
479
550
  CreateAssetModelRequest.add_member(:asset_model_properties, Shapes::ShapeRef.new(shape: AssetModelPropertyDefinitions, location_name: "assetModelProperties"))
480
551
  CreateAssetModelRequest.add_member(:asset_model_hierarchies, Shapes::ShapeRef.new(shape: AssetModelHierarchyDefinitions, location_name: "assetModelHierarchies"))
552
+ CreateAssetModelRequest.add_member(:asset_model_composite_models, Shapes::ShapeRef.new(shape: AssetModelCompositeModelDefinitions, location_name: "assetModelCompositeModels"))
481
553
  CreateAssetModelRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location_name: "clientToken", metadata: {"idempotencyToken"=>true}))
482
554
  CreateAssetModelRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
483
555
  CreateAssetModelRequest.struct_class = Types::CreateAssetModelRequest
@@ -536,13 +608,6 @@ module Aws::IoTSiteWise
536
608
  CreatePortalResponse.add_member(:sso_application_id, Shapes::ShapeRef.new(shape: SSOApplicationId, required: true, location_name: "ssoApplicationId"))
537
609
  CreatePortalResponse.struct_class = Types::CreatePortalResponse
538
610
 
539
- CreatePresignedPortalUrlRequest.add_member(:portal_id, Shapes::ShapeRef.new(shape: ID, required: true, location: "uri", location_name: "portalId"))
540
- CreatePresignedPortalUrlRequest.add_member(:session_duration_seconds, Shapes::ShapeRef.new(shape: SessionDurationSeconds, location: "querystring", location_name: "sessionDurationSeconds"))
541
- CreatePresignedPortalUrlRequest.struct_class = Types::CreatePresignedPortalUrlRequest
542
-
543
- CreatePresignedPortalUrlResponse.add_member(:presigned_portal_url, Shapes::ShapeRef.new(shape: Url, required: true, location_name: "presignedPortalUrl"))
544
- CreatePresignedPortalUrlResponse.struct_class = Types::CreatePresignedPortalUrlResponse
545
-
546
611
  CreateProjectRequest.add_member(:portal_id, Shapes::ShapeRef.new(shape: ID, required: true, location_name: "portalId"))
547
612
  CreateProjectRequest.add_member(:project_name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "projectName"))
548
613
  CreateProjectRequest.add_member(:project_description, Shapes::ShapeRef.new(shape: Description, location_name: "projectDescription"))
@@ -626,6 +691,7 @@ module Aws::IoTSiteWise
626
691
  DescribeAssetModelResponse.add_member(:asset_model_description, Shapes::ShapeRef.new(shape: Description, required: true, location_name: "assetModelDescription"))
627
692
  DescribeAssetModelResponse.add_member(:asset_model_properties, Shapes::ShapeRef.new(shape: AssetModelProperties, required: true, location_name: "assetModelProperties"))
628
693
  DescribeAssetModelResponse.add_member(:asset_model_hierarchies, Shapes::ShapeRef.new(shape: AssetModelHierarchies, required: true, location_name: "assetModelHierarchies"))
694
+ DescribeAssetModelResponse.add_member(:asset_model_composite_models, Shapes::ShapeRef.new(shape: AssetModelCompositeModels, location_name: "assetModelCompositeModels"))
629
695
  DescribeAssetModelResponse.add_member(:asset_model_creation_date, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "assetModelCreationDate"))
630
696
  DescribeAssetModelResponse.add_member(:asset_model_last_update_date, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "assetModelLastUpdateDate"))
631
697
  DescribeAssetModelResponse.add_member(:asset_model_status, Shapes::ShapeRef.new(shape: AssetModelStatus, required: true, location_name: "assetModelStatus"))
@@ -638,7 +704,8 @@ module Aws::IoTSiteWise
638
704
  DescribeAssetPropertyResponse.add_member(:asset_id, Shapes::ShapeRef.new(shape: ID, required: true, location_name: "assetId"))
639
705
  DescribeAssetPropertyResponse.add_member(:asset_name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "assetName"))
640
706
  DescribeAssetPropertyResponse.add_member(:asset_model_id, Shapes::ShapeRef.new(shape: ID, required: true, location_name: "assetModelId"))
641
- DescribeAssetPropertyResponse.add_member(:asset_property, Shapes::ShapeRef.new(shape: Property, required: true, location_name: "assetProperty"))
707
+ DescribeAssetPropertyResponse.add_member(:asset_property, Shapes::ShapeRef.new(shape: Property, location_name: "assetProperty"))
708
+ DescribeAssetPropertyResponse.add_member(:composite_model, Shapes::ShapeRef.new(shape: CompositeModelProperty, location_name: "compositeModel"))
642
709
  DescribeAssetPropertyResponse.struct_class = Types::DescribeAssetPropertyResponse
643
710
 
644
711
  DescribeAssetRequest.add_member(:asset_id, Shapes::ShapeRef.new(shape: ID, required: true, location: "uri", location_name: "assetId"))
@@ -650,6 +717,7 @@ module Aws::IoTSiteWise
650
717
  DescribeAssetResponse.add_member(:asset_model_id, Shapes::ShapeRef.new(shape: ID, required: true, location_name: "assetModelId"))
651
718
  DescribeAssetResponse.add_member(:asset_properties, Shapes::ShapeRef.new(shape: AssetProperties, required: true, location_name: "assetProperties"))
652
719
  DescribeAssetResponse.add_member(:asset_hierarchies, Shapes::ShapeRef.new(shape: AssetHierarchies, required: true, location_name: "assetHierarchies"))
720
+ DescribeAssetResponse.add_member(:asset_composite_models, Shapes::ShapeRef.new(shape: AssetCompositeModels, location_name: "assetCompositeModels"))
653
721
  DescribeAssetResponse.add_member(:asset_creation_date, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "assetCreationDate"))
654
722
  DescribeAssetResponse.add_member(:asset_last_update_date, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "assetLastUpdateDate"))
655
723
  DescribeAssetResponse.add_member(:asset_status, Shapes::ShapeRef.new(shape: AssetStatus, required: true, location_name: "assetStatus"))
@@ -668,6 +736,13 @@ module Aws::IoTSiteWise
668
736
  DescribeDashboardResponse.add_member(:dashboard_last_update_date, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "dashboardLastUpdateDate"))
669
737
  DescribeDashboardResponse.struct_class = Types::DescribeDashboardResponse
670
738
 
739
+ DescribeDefaultEncryptionConfigurationRequest.struct_class = Types::DescribeDefaultEncryptionConfigurationRequest
740
+
741
+ DescribeDefaultEncryptionConfigurationResponse.add_member(:encryption_type, Shapes::ShapeRef.new(shape: EncryptionType, required: true, location_name: "encryptionType"))
742
+ DescribeDefaultEncryptionConfigurationResponse.add_member(:kms_key_arn, Shapes::ShapeRef.new(shape: ARN, location_name: "kmsKeyArn"))
743
+ DescribeDefaultEncryptionConfigurationResponse.add_member(:configuration_status, Shapes::ShapeRef.new(shape: ConfigurationStatus, required: true, location_name: "configurationStatus"))
744
+ DescribeDefaultEncryptionConfigurationResponse.struct_class = Types::DescribeDefaultEncryptionConfigurationResponse
745
+
671
746
  DescribeGatewayCapabilityConfigurationRequest.add_member(:gateway_id, Shapes::ShapeRef.new(shape: ID, required: true, location: "uri", location_name: "gatewayId"))
672
747
  DescribeGatewayCapabilityConfigurationRequest.add_member(:capability_namespace, Shapes::ShapeRef.new(shape: CapabilityNamespace, required: true, location: "uri", location_name: "capabilityNamespace"))
673
748
  DescribeGatewayCapabilityConfigurationRequest.struct_class = Types::DescribeGatewayCapabilityConfigurationRequest
@@ -857,6 +932,16 @@ module Aws::IoTSiteWise
857
932
  ListAssetModelsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
858
933
  ListAssetModelsResponse.struct_class = Types::ListAssetModelsResponse
859
934
 
935
+ ListAssetRelationshipsRequest.add_member(:asset_id, Shapes::ShapeRef.new(shape: ID, required: true, location: "uri", location_name: "assetId"))
936
+ ListAssetRelationshipsRequest.add_member(:traversal_type, Shapes::ShapeRef.new(shape: TraversalType, required: true, location: "querystring", location_name: "traversalType"))
937
+ ListAssetRelationshipsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
938
+ ListAssetRelationshipsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
939
+ ListAssetRelationshipsRequest.struct_class = Types::ListAssetRelationshipsRequest
940
+
941
+ ListAssetRelationshipsResponse.add_member(:asset_relationship_summaries, Shapes::ShapeRef.new(shape: AssetRelationshipSummaries, required: true, location_name: "assetRelationshipSummaries"))
942
+ ListAssetRelationshipsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
943
+ ListAssetRelationshipsResponse.struct_class = Types::ListAssetRelationshipsResponse
944
+
860
945
  ListAssetsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
861
946
  ListAssetsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
862
947
  ListAssetsRequest.add_member(:asset_model_id, Shapes::ShapeRef.new(shape: ID, location: "querystring", location_name: "assetModelId"))
@@ -1003,6 +1088,15 @@ module Aws::IoTSiteWise
1003
1088
  PutAssetPropertyValueEntry.add_member(:property_values, Shapes::ShapeRef.new(shape: AssetPropertyValues, required: true, location_name: "propertyValues"))
1004
1089
  PutAssetPropertyValueEntry.struct_class = Types::PutAssetPropertyValueEntry
1005
1090
 
1091
+ PutDefaultEncryptionConfigurationRequest.add_member(:encryption_type, Shapes::ShapeRef.new(shape: EncryptionType, required: true, location_name: "encryptionType"))
1092
+ PutDefaultEncryptionConfigurationRequest.add_member(:kms_key_id, Shapes::ShapeRef.new(shape: KmsKeyId, location_name: "kmsKeyId"))
1093
+ PutDefaultEncryptionConfigurationRequest.struct_class = Types::PutDefaultEncryptionConfigurationRequest
1094
+
1095
+ PutDefaultEncryptionConfigurationResponse.add_member(:encryption_type, Shapes::ShapeRef.new(shape: EncryptionType, required: true, location_name: "encryptionType"))
1096
+ PutDefaultEncryptionConfigurationResponse.add_member(:kms_key_arn, Shapes::ShapeRef.new(shape: ARN, location_name: "kmsKeyArn"))
1097
+ PutDefaultEncryptionConfigurationResponse.add_member(:configuration_status, Shapes::ShapeRef.new(shape: ConfigurationStatus, required: true, location_name: "configurationStatus"))
1098
+ PutDefaultEncryptionConfigurationResponse.struct_class = Types::PutDefaultEncryptionConfigurationResponse
1099
+
1006
1100
  PutLoggingOptionsRequest.add_member(:logging_options, Shapes::ShapeRef.new(shape: LoggingOptions, required: true, location_name: "loggingOptions"))
1007
1101
  PutLoggingOptionsRequest.struct_class = Types::PutLoggingOptionsRequest
1008
1102
 
@@ -1056,6 +1150,9 @@ module Aws::IoTSiteWise
1056
1150
  TumblingWindow.add_member(:interval, Shapes::ShapeRef.new(shape: Interval, required: true, location_name: "interval"))
1057
1151
  TumblingWindow.struct_class = Types::TumblingWindow
1058
1152
 
1153
+ UnauthorizedException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, required: true, location_name: "message"))
1154
+ UnauthorizedException.struct_class = Types::UnauthorizedException
1155
+
1059
1156
  UntagResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: AmazonResourceName, required: true, location: "querystring", location_name: "resourceArn"))
1060
1157
  UntagResourceRequest.add_member(:tag_keys, Shapes::ShapeRef.new(shape: TagKeyList, required: true, location: "querystring", location_name: "tagKeys"))
1061
1158
  UntagResourceRequest.struct_class = Types::UntagResourceRequest
@@ -1076,6 +1173,7 @@ module Aws::IoTSiteWise
1076
1173
  UpdateAssetModelRequest.add_member(:asset_model_description, Shapes::ShapeRef.new(shape: Description, location_name: "assetModelDescription"))
1077
1174
  UpdateAssetModelRequest.add_member(:asset_model_properties, Shapes::ShapeRef.new(shape: AssetModelProperties, location_name: "assetModelProperties"))
1078
1175
  UpdateAssetModelRequest.add_member(:asset_model_hierarchies, Shapes::ShapeRef.new(shape: AssetModelHierarchies, location_name: "assetModelHierarchies"))
1176
+ UpdateAssetModelRequest.add_member(:asset_model_composite_models, Shapes::ShapeRef.new(shape: AssetModelCompositeModels, location_name: "assetModelCompositeModels"))
1079
1177
  UpdateAssetModelRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location_name: "clientToken", metadata: {"idempotencyToken"=>true}))
1080
1178
  UpdateAssetModelRequest.struct_class = Types::UpdateAssetModelRequest
1081
1179
 
@@ -1336,20 +1434,6 @@ module Aws::IoTSiteWise
1336
1434
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1337
1435
  end)
1338
1436
 
1339
- api.add_operation(:create_presigned_portal_url, Seahorse::Model::Operation.new.tap do |o|
1340
- o.name = "CreatePresignedPortalUrl"
1341
- o.http_method = "GET"
1342
- o.http_request_uri = "/portals/{portalId}/presigned-url"
1343
- o.endpoint_pattern = {
1344
- "hostPrefix" => "monitor.",
1345
- }
1346
- o.input = Shapes::ShapeRef.new(shape: CreatePresignedPortalUrlRequest)
1347
- o.output = Shapes::ShapeRef.new(shape: CreatePresignedPortalUrlResponse)
1348
- o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1349
- o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
1350
- o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1351
- end)
1352
-
1353
1437
  api.add_operation(:create_project, Seahorse::Model::Operation.new.tap do |o|
1354
1438
  o.name = "CreateProject"
1355
1439
  o.http_method = "POST"
@@ -1549,6 +1633,17 @@ module Aws::IoTSiteWise
1549
1633
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1550
1634
  end)
1551
1635
 
1636
+ api.add_operation(:describe_default_encryption_configuration, Seahorse::Model::Operation.new.tap do |o|
1637
+ o.name = "DescribeDefaultEncryptionConfiguration"
1638
+ o.http_method = "GET"
1639
+ o.http_request_uri = "/configuration/account/encryption"
1640
+ o.input = Shapes::ShapeRef.new(shape: DescribeDefaultEncryptionConfigurationRequest)
1641
+ o.output = Shapes::ShapeRef.new(shape: DescribeDefaultEncryptionConfigurationResponse)
1642
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1643
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
1644
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1645
+ end)
1646
+
1552
1647
  api.add_operation(:describe_gateway, Seahorse::Model::Operation.new.tap do |o|
1553
1648
  o.name = "DescribeGateway"
1554
1649
  o.http_method = "GET"
@@ -1740,6 +1835,27 @@ module Aws::IoTSiteWise
1740
1835
  )
1741
1836
  end)
1742
1837
 
1838
+ api.add_operation(:list_asset_relationships, Seahorse::Model::Operation.new.tap do |o|
1839
+ o.name = "ListAssetRelationships"
1840
+ o.http_method = "GET"
1841
+ o.http_request_uri = "/assets/{assetId}/assetRelationships"
1842
+ o.endpoint_pattern = {
1843
+ "hostPrefix" => "model.",
1844
+ }
1845
+ o.input = Shapes::ShapeRef.new(shape: ListAssetRelationshipsRequest)
1846
+ o.output = Shapes::ShapeRef.new(shape: ListAssetRelationshipsResponse)
1847
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1848
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
1849
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1850
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1851
+ o[:pager] = Aws::Pager.new(
1852
+ limit_key: "max_results",
1853
+ tokens: {
1854
+ "next_token" => "next_token"
1855
+ }
1856
+ )
1857
+ end)
1858
+
1743
1859
  api.add_operation(:list_assets, Seahorse::Model::Operation.new.tap do |o|
1744
1860
  o.name = "ListAssets"
1745
1861
  o.http_method = "GET"
@@ -1892,6 +2008,22 @@ module Aws::IoTSiteWise
1892
2008
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
1893
2009
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1894
2010
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
2011
+ o.errors << Shapes::ShapeRef.new(shape: ConflictingOperationException)
2012
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
2013
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
2014
+ end)
2015
+
2016
+ api.add_operation(:put_default_encryption_configuration, Seahorse::Model::Operation.new.tap do |o|
2017
+ o.name = "PutDefaultEncryptionConfiguration"
2018
+ o.http_method = "POST"
2019
+ o.http_request_uri = "/configuration/account/encryption"
2020
+ o.input = Shapes::ShapeRef.new(shape: PutDefaultEncryptionConfigurationRequest)
2021
+ o.output = Shapes::ShapeRef.new(shape: PutDefaultEncryptionConfigurationResponse)
2022
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
2023
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
2024
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
2025
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
2026
+ o.errors << Shapes::ShapeRef.new(shape: ConflictingOperationException)
1895
2027
  end)
1896
2028
 
1897
2029
  api.add_operation(:put_logging_options, Seahorse::Model::Operation.new.tap do |o|
@@ -1920,6 +2052,9 @@ module Aws::IoTSiteWise
1920
2052
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
1921
2053
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1922
2054
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
2055
+ o.errors << Shapes::ShapeRef.new(shape: ConflictingOperationException)
2056
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
2057
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
1923
2058
  o.errors << Shapes::ShapeRef.new(shape: TooManyTagsException)
1924
2059
  end)
1925
2060
 
@@ -1933,6 +2068,9 @@ module Aws::IoTSiteWise
1933
2068
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
1934
2069
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1935
2070
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
2071
+ o.errors << Shapes::ShapeRef.new(shape: ConflictingOperationException)
2072
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
2073
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
1936
2074
  end)
1937
2075
 
1938
2076
  api.add_operation(:update_access_policy, Seahorse::Model::Operation.new.tap do |o|
@@ -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
@@ -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,6 +1205,62 @@ 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
+ #
1232
+ # @!attribute [rw] code
1233
+ # The error code.
1234
+ # @return [String]
1235
+ #
1236
+ # @!attribute [rw] message
1237
+ # The error message.
1238
+ # @return [String]
1239
+ #
1240
+ class ConfigurationErrorDetails < Struct.new(
1241
+ :code,
1242
+ :message)
1243
+ SENSITIVE = []
1244
+ include Aws::Structure
1245
+ end
1246
+
1247
+ # Contains current status information for the configuration.
1248
+ #
1249
+ # @!attribute [rw] state
1250
+ # The current state of the configuration.
1251
+ # @return [String]
1252
+ #
1253
+ # @!attribute [rw] error
1254
+ # Contains associated error information, if any.
1255
+ # @return [Types::ConfigurationErrorDetails]
1256
+ #
1257
+ class ConfigurationStatus < Struct.new(
1258
+ :state,
1259
+ :error)
1260
+ SENSITIVE = []
1261
+ include Aws::Structure
1262
+ end
1263
+
940
1264
  # Your request has conflicting operations. This can occur if you're
941
1265
  # trying to perform more than one operation on the same resource at the
942
1266
  # same time.
@@ -1064,7 +1388,8 @@ module Aws::IoTSiteWise
1064
1388
  # asset_model_properties: [
1065
1389
  # {
1066
1390
  # name: "Name", # required
1067
- # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN
1391
+ # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN, STRUCT
1392
+ # data_type_spec: "Name",
1068
1393
  # unit: "PropertyUnit",
1069
1394
  # type: { # required
1070
1395
  # attribute: {
@@ -1110,6 +1435,57 @@ module Aws::IoTSiteWise
1110
1435
  # child_asset_model_id: "ID", # required
1111
1436
  # },
1112
1437
  # ],
1438
+ # asset_model_composite_models: [
1439
+ # {
1440
+ # name: "Name", # required
1441
+ # description: "Description",
1442
+ # type: "Name", # required
1443
+ # properties: [
1444
+ # {
1445
+ # name: "Name", # required
1446
+ # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN, STRUCT
1447
+ # data_type_spec: "Name",
1448
+ # unit: "PropertyUnit",
1449
+ # type: { # required
1450
+ # attribute: {
1451
+ # default_value: "DefaultValue",
1452
+ # },
1453
+ # measurement: {
1454
+ # },
1455
+ # transform: {
1456
+ # expression: "Expression", # required
1457
+ # variables: [ # required
1458
+ # {
1459
+ # name: "VariableName", # required
1460
+ # value: { # required
1461
+ # property_id: "Macro", # required
1462
+ # hierarchy_id: "Macro",
1463
+ # },
1464
+ # },
1465
+ # ],
1466
+ # },
1467
+ # metric: {
1468
+ # expression: "Expression", # required
1469
+ # variables: [ # required
1470
+ # {
1471
+ # name: "VariableName", # required
1472
+ # value: { # required
1473
+ # property_id: "Macro", # required
1474
+ # hierarchy_id: "Macro",
1475
+ # },
1476
+ # },
1477
+ # ],
1478
+ # window: { # required
1479
+ # tumbling: {
1480
+ # interval: "Interval", # required
1481
+ # },
1482
+ # },
1483
+ # },
1484
+ # },
1485
+ # },
1486
+ # ],
1487
+ # },
1488
+ # ],
1113
1489
  # client_token: "ClientToken",
1114
1490
  # tags: {
1115
1491
  # "TagKey" => "TagValue",
@@ -1152,6 +1528,14 @@ module Aws::IoTSiteWise
1152
1528
  # [2]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html
1153
1529
  # @return [Array<Types::AssetModelHierarchyDefinition>]
1154
1530
  #
1531
+ # @!attribute [rw] asset_model_composite_models
1532
+ # The composite asset models that are part of this asset model.
1533
+ # Composite asset models are asset models that contain specific
1534
+ # properties. Each composite model has a type that defines the
1535
+ # properties that the composite model supports. Use composite asset
1536
+ # models to define alarms on this asset model.
1537
+ # @return [Array<Types::AssetModelCompositeModelDefinition>]
1538
+ #
1155
1539
  # @!attribute [rw] client_token
1156
1540
  # A unique case-sensitive identifier that you can provide to ensure
1157
1541
  # the idempotency of the request. Don't reuse this client token if a
@@ -1176,6 +1560,7 @@ module Aws::IoTSiteWise
1176
1560
  :asset_model_description,
1177
1561
  :asset_model_properties,
1178
1562
  :asset_model_hierarchies,
1563
+ :asset_model_composite_models,
1179
1564
  :client_token,
1180
1565
  :tags)
1181
1566
  SENSITIVE = []
@@ -1516,10 +1901,8 @@ module Aws::IoTSiteWise
1516
1901
  # Regions.
1517
1902
  #
1518
1903
  # * `IAM` – The portal uses AWS Identity and Access Management (IAM)
1519
- # to authenticate users and manage user permissions. IAM users must
1520
- # have the `iotsitewise:CreatePresignedPortalUrl` permission to sign
1521
- # in to the portal. This option is only available in the China
1522
- # Regions.
1904
+ # to authenticate users and manage user permissions. This option is
1905
+ # only available in the China Regions.
1523
1906
  #
1524
1907
  # You can't change this value after you create a portal.
1525
1908
  #
@@ -1560,13 +1943,8 @@ module Aws::IoTSiteWise
1560
1943
  # @!attribute [rw] portal_start_url
1561
1944
  # The URL for the AWS IoT SiteWise Monitor portal. You can use this
1562
1945
  # URL to access portals that use AWS SSO for authentication. For
1563
- # portals that use IAM for authentication, you must use the
1564
- # [CreatePresignedPortalUrl][1] operation to create a URL that you can
1565
- # use to access the portal.
1566
- #
1567
- #
1568
- #
1569
- # [1]: https://docs.aws.amazon.com/AWS IoT SiteWise API ReferenceAPI_CreatePresignedPortalUrl.html
1946
+ # portals that use IAM for authentication, you must use the AWS IoT
1947
+ # SiteWise console to get a URL that you can use to access the portal.
1570
1948
  # @return [String]
1571
1949
  #
1572
1950
  # @!attribute [rw] portal_status
@@ -1588,45 +1966,6 @@ module Aws::IoTSiteWise
1588
1966
  include Aws::Structure
1589
1967
  end
1590
1968
 
1591
- # @note When making an API call, you may pass CreatePresignedPortalUrlRequest
1592
- # data as a hash:
1593
- #
1594
- # {
1595
- # portal_id: "ID", # required
1596
- # session_duration_seconds: 1,
1597
- # }
1598
- #
1599
- # @!attribute [rw] portal_id
1600
- # The ID of the portal to access.
1601
- # @return [String]
1602
- #
1603
- # @!attribute [rw] session_duration_seconds
1604
- # The duration (in seconds) for which the session at the URL is valid.
1605
- #
1606
- # Default: 900 seconds (15 minutes)
1607
- # @return [Integer]
1608
- #
1609
- class CreatePresignedPortalUrlRequest < Struct.new(
1610
- :portal_id,
1611
- :session_duration_seconds)
1612
- SENSITIVE = []
1613
- include Aws::Structure
1614
- end
1615
-
1616
- # @!attribute [rw] presigned_portal_url
1617
- # The pre-signed URL to the portal. The URL contains the portal ID and
1618
- # a session token that lets you access the portal. The URL has the
1619
- # following format.
1620
- #
1621
- # `https://<portal-id>.app.iotsitewise.aws/auth?token=<encrypted-token>`
1622
- # @return [String]
1623
- #
1624
- class CreatePresignedPortalUrlResponse < Struct.new(
1625
- :presigned_portal_url)
1626
- SENSITIVE = []
1627
- include Aws::Structure
1628
- end
1629
-
1630
1969
  # @note When making an API call, you may pass CreateProjectRequest
1631
1970
  # data as a hash:
1632
1971
  #
@@ -2065,6 +2404,10 @@ module Aws::IoTSiteWise
2065
2404
  #
2066
2405
  # @!attribute [rw] asset_model_properties
2067
2406
  # The list of asset properties for the asset model.
2407
+ #
2408
+ # This object doesn't include properties that you define in composite
2409
+ # models. You can find composite model properties in the
2410
+ # `assetModelCompositeModels` object.
2068
2411
  # @return [Array<Types::AssetModelProperty>]
2069
2412
  #
2070
2413
  # @!attribute [rw] asset_model_hierarchies
@@ -2074,6 +2417,10 @@ module Aws::IoTSiteWise
2074
2417
  # model.
2075
2418
  # @return [Array<Types::AssetModelHierarchy>]
2076
2419
  #
2420
+ # @!attribute [rw] asset_model_composite_models
2421
+ # The list of composite asset models for the asset model.
2422
+ # @return [Array<Types::AssetModelCompositeModel>]
2423
+ #
2077
2424
  # @!attribute [rw] asset_model_creation_date
2078
2425
  # The date the asset model was created, in Unix epoch time.
2079
2426
  # @return [Time]
@@ -2094,6 +2441,7 @@ module Aws::IoTSiteWise
2094
2441
  :asset_model_description,
2095
2442
  :asset_model_properties,
2096
2443
  :asset_model_hierarchies,
2444
+ :asset_model_composite_models,
2097
2445
  :asset_model_creation_date,
2098
2446
  :asset_model_last_update_date,
2099
2447
  :asset_model_status)
@@ -2138,13 +2486,23 @@ module Aws::IoTSiteWise
2138
2486
  #
2139
2487
  # @!attribute [rw] asset_property
2140
2488
  # The asset property's definition, alias, and notification state.
2489
+ #
2490
+ # This response includes this object for normal asset properties. If
2491
+ # you describe an asset property in a composite model, this response
2492
+ # includes the asset property information in `compositeModel`.
2141
2493
  # @return [Types::Property]
2142
2494
  #
2495
+ # @!attribute [rw] composite_model
2496
+ # The composite asset model that declares this asset property, if this
2497
+ # asset property exists in a composite model.
2498
+ # @return [Types::CompositeModelProperty]
2499
+ #
2143
2500
  class DescribeAssetPropertyResponse < Struct.new(
2144
2501
  :asset_id,
2145
2502
  :asset_name,
2146
2503
  :asset_model_id,
2147
- :asset_property)
2504
+ :asset_property,
2505
+ :composite_model)
2148
2506
  SENSITIVE = []
2149
2507
  include Aws::Structure
2150
2508
  end
@@ -2190,6 +2548,10 @@ module Aws::IoTSiteWise
2190
2548
  #
2191
2549
  # @!attribute [rw] asset_properties
2192
2550
  # The list of asset properties for the asset.
2551
+ #
2552
+ # This object doesn't include properties that you define in composite
2553
+ # models. You can find composite model properties in the
2554
+ # `assetCompositeModels` object.
2193
2555
  # @return [Array<Types::AssetProperty>]
2194
2556
  #
2195
2557
  # @!attribute [rw] asset_hierarchies
@@ -2197,6 +2559,10 @@ module Aws::IoTSiteWise
2197
2559
  # hierarchy specifies allowed parent/child asset relationships.
2198
2560
  # @return [Array<Types::AssetHierarchy>]
2199
2561
  #
2562
+ # @!attribute [rw] asset_composite_models
2563
+ # The composite models for the asset.
2564
+ # @return [Array<Types::AssetCompositeModel>]
2565
+ #
2200
2566
  # @!attribute [rw] asset_creation_date
2201
2567
  # The date the asset was created, in Unix epoch time.
2202
2568
  # @return [Time]
@@ -2217,6 +2583,7 @@ module Aws::IoTSiteWise
2217
2583
  :asset_model_id,
2218
2584
  :asset_properties,
2219
2585
  :asset_hierarchies,
2586
+ :asset_composite_models,
2220
2587
  :asset_creation_date,
2221
2588
  :asset_last_update_date,
2222
2589
  :asset_status)
@@ -2298,6 +2665,33 @@ module Aws::IoTSiteWise
2298
2665
  include Aws::Structure
2299
2666
  end
2300
2667
 
2668
+ # @api private
2669
+ #
2670
+ class DescribeDefaultEncryptionConfigurationRequest < Aws::EmptyStructure; end
2671
+
2672
+ # @!attribute [rw] encryption_type
2673
+ # The type of encryption used for the encryption configuration.
2674
+ # @return [String]
2675
+ #
2676
+ # @!attribute [rw] kms_key_arn
2677
+ # The key ARN of the customer managed customer master key (CMK) used
2678
+ # for AWS KMS encryption if you use `KMS_BASED_ENCRYPTION`.
2679
+ # @return [String]
2680
+ #
2681
+ # @!attribute [rw] configuration_status
2682
+ # The status of the account configuration. This contains the
2683
+ # `ConfigurationState`. If there's an error, it also contains the
2684
+ # `ErrorDetails`.
2685
+ # @return [Types::ConfigurationStatus]
2686
+ #
2687
+ class DescribeDefaultEncryptionConfigurationResponse < Struct.new(
2688
+ :encryption_type,
2689
+ :kms_key_arn,
2690
+ :configuration_status)
2691
+ SENSITIVE = []
2692
+ include Aws::Structure
2693
+ end
2694
+
2301
2695
  # @note When making an API call, you may pass DescribeGatewayCapabilityConfigurationRequest
2302
2696
  # data as a hash:
2303
2697
  #
@@ -2496,13 +2890,8 @@ module Aws::IoTSiteWise
2496
2890
  # @!attribute [rw] portal_start_url
2497
2891
  # The URL for the AWS IoT SiteWise Monitor portal. You can use this
2498
2892
  # URL to access portals that use AWS SSO for authentication. For
2499
- # portals that use IAM for authentication, you must use the
2500
- # [CreatePresignedPortalUrl][1] operation to create a URL that you can
2501
- # use to access the portal.
2502
- #
2503
- #
2504
- #
2505
- # [1]: https://docs.aws.amazon.com/AWS IoT SiteWise API ReferenceAPI_CreatePresignedPortalUrl.html
2893
+ # portals that use IAM for authentication, you must use the AWS IoT
2894
+ # SiteWise console to get a URL that you can use to access the portal.
2506
2895
  # @return [String]
2507
2896
  #
2508
2897
  # @!attribute [rw] portal_contact_email
@@ -3122,10 +3511,8 @@ module Aws::IoTSiteWise
3122
3511
  # }
3123
3512
  #
3124
3513
  # @!attribute [rw] arn
3125
- # The ARN of the IAM user. IAM users must have the
3126
- # `iotsitewise:CreatePresignedPortalUrl` permission to sign in to the
3127
- # portal. For more information, see [IAM ARNs][1] in the *IAM User
3128
- # Guide*.
3514
+ # The ARN of the IAM user. For more information, see [IAM ARNs][1] in
3515
+ # the *IAM User Guide*.
3129
3516
  #
3130
3517
  # <note markdown="1"> If you delete the IAM user, access policies that contain this
3131
3518
  # identity include an empty `arn`. You can delete the access policy
@@ -3439,6 +3826,65 @@ module Aws::IoTSiteWise
3439
3826
  include Aws::Structure
3440
3827
  end
3441
3828
 
3829
+ # @note When making an API call, you may pass ListAssetRelationshipsRequest
3830
+ # data as a hash:
3831
+ #
3832
+ # {
3833
+ # asset_id: "ID", # required
3834
+ # traversal_type: "PATH_TO_ROOT", # required, accepts PATH_TO_ROOT
3835
+ # next_token: "NextToken",
3836
+ # max_results: 1,
3837
+ # }
3838
+ #
3839
+ # @!attribute [rw] asset_id
3840
+ # The ID of the asset.
3841
+ # @return [String]
3842
+ #
3843
+ # @!attribute [rw] traversal_type
3844
+ # The type of traversal to use to identify asset relationships. Choose
3845
+ # the following option:
3846
+ #
3847
+ # * `PATH_TO_ROOT` – Identify the asset's parent assets up to the
3848
+ # root asset. The asset that you specify in `assetId` is the first
3849
+ # result in the list of `assetRelationshipSummaries`, and the root
3850
+ # asset is the last result.
3851
+ #
3852
+ # ^
3853
+ # @return [String]
3854
+ #
3855
+ # @!attribute [rw] next_token
3856
+ # The token to be used for the next set of paginated results.
3857
+ # @return [String]
3858
+ #
3859
+ # @!attribute [rw] max_results
3860
+ # The maximum number of results to be returned per paginated request.
3861
+ # @return [Integer]
3862
+ #
3863
+ class ListAssetRelationshipsRequest < Struct.new(
3864
+ :asset_id,
3865
+ :traversal_type,
3866
+ :next_token,
3867
+ :max_results)
3868
+ SENSITIVE = []
3869
+ include Aws::Structure
3870
+ end
3871
+
3872
+ # @!attribute [rw] asset_relationship_summaries
3873
+ # A list that summarizes each asset relationship.
3874
+ # @return [Array<Types::AssetRelationshipSummary>]
3875
+ #
3876
+ # @!attribute [rw] next_token
3877
+ # The token for the next set of results, or null if there are no
3878
+ # additional results.
3879
+ # @return [String]
3880
+ #
3881
+ class ListAssetRelationshipsResponse < Struct.new(
3882
+ :asset_relationship_summaries,
3883
+ :next_token)
3884
+ SENSITIVE = []
3885
+ include Aws::Structure
3886
+ end
3887
+
3442
3888
  # @note When making an API call, you may pass ListAssetsRequest
3443
3889
  # data as a hash:
3444
3890
  #
@@ -4036,13 +4482,8 @@ module Aws::IoTSiteWise
4036
4482
  # @!attribute [rw] start_url
4037
4483
  # The URL for the AWS IoT SiteWise Monitor portal. You can use this
4038
4484
  # URL to access portals that use AWS SSO for authentication. For
4039
- # portals that use IAM for authentication, you must use the
4040
- # [CreatePresignedPortalUrl][1] operation to create a URL that you can
4041
- # use to access the portal.
4042
- #
4043
- #
4044
- #
4045
- # [1]: https://docs.aws.amazon.com/AWS IoT SiteWise API ReferenceAPI_CreatePresignedPortalUrl.html
4485
+ # portals that use IAM for authentication, you must use the AWS IoT
4486
+ # SiteWise console to get a URL that you can use to access the portal.
4046
4487
  # @return [String]
4047
4488
  #
4048
4489
  # @!attribute [rw] creation_date
@@ -4370,6 +4811,54 @@ module Aws::IoTSiteWise
4370
4811
  include Aws::Structure
4371
4812
  end
4372
4813
 
4814
+ # @note When making an API call, you may pass PutDefaultEncryptionConfigurationRequest
4815
+ # data as a hash:
4816
+ #
4817
+ # {
4818
+ # encryption_type: "SITEWISE_DEFAULT_ENCRYPTION", # required, accepts SITEWISE_DEFAULT_ENCRYPTION, KMS_BASED_ENCRYPTION
4819
+ # kms_key_id: "KmsKeyId",
4820
+ # }
4821
+ #
4822
+ # @!attribute [rw] encryption_type
4823
+ # The type of encryption used for the encryption configuration.
4824
+ # @return [String]
4825
+ #
4826
+ # @!attribute [rw] kms_key_id
4827
+ # The Key ID of the customer managed customer master key (CMK) used
4828
+ # for AWS KMS encryption. This is required if you use
4829
+ # `KMS_BASED_ENCRYPTION`.
4830
+ # @return [String]
4831
+ #
4832
+ class PutDefaultEncryptionConfigurationRequest < Struct.new(
4833
+ :encryption_type,
4834
+ :kms_key_id)
4835
+ SENSITIVE = []
4836
+ include Aws::Structure
4837
+ end
4838
+
4839
+ # @!attribute [rw] encryption_type
4840
+ # The type of encryption used for the encryption configuration.
4841
+ # @return [String]
4842
+ #
4843
+ # @!attribute [rw] kms_key_arn
4844
+ # The Key ARN of the AWS KMS CMK used for AWS KMS encryption if you
4845
+ # use `KMS_BASED_ENCRYPTION`.
4846
+ # @return [String]
4847
+ #
4848
+ # @!attribute [rw] configuration_status
4849
+ # The status of the account configuration. This contains the
4850
+ # `ConfigurationState`. If there is an error, it also contains the
4851
+ # `ErrorDetails`.
4852
+ # @return [Types::ConfigurationStatus]
4853
+ #
4854
+ class PutDefaultEncryptionConfigurationResponse < Struct.new(
4855
+ :encryption_type,
4856
+ :kms_key_arn,
4857
+ :configuration_status)
4858
+ SENSITIVE = []
4859
+ include Aws::Structure
4860
+ end
4861
+
4373
4862
  # @note When making an API call, you may pass PutLoggingOptionsRequest
4374
4863
  # data as a hash:
4375
4864
  #
@@ -4655,6 +5144,17 @@ module Aws::IoTSiteWise
4655
5144
  include Aws::Structure
4656
5145
  end
4657
5146
 
5147
+ # You are not authorized.
5148
+ #
5149
+ # @!attribute [rw] message
5150
+ # @return [String]
5151
+ #
5152
+ class UnauthorizedException < Struct.new(
5153
+ :message)
5154
+ SENSITIVE = []
5155
+ include Aws::Structure
5156
+ end
5157
+
4658
5158
  # @note When making an API call, you may pass UntagResourceRequest
4659
5159
  # data as a hash:
4660
5160
  #
@@ -4763,7 +5263,8 @@ module Aws::IoTSiteWise
4763
5263
  # {
4764
5264
  # id: "ID",
4765
5265
  # name: "Name", # required
4766
- # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN
5266
+ # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN, STRUCT
5267
+ # data_type_spec: "Name",
4767
5268
  # unit: "PropertyUnit",
4768
5269
  # type: { # required
4769
5270
  # attribute: {
@@ -4810,6 +5311,58 @@ module Aws::IoTSiteWise
4810
5311
  # child_asset_model_id: "ID", # required
4811
5312
  # },
4812
5313
  # ],
5314
+ # asset_model_composite_models: [
5315
+ # {
5316
+ # name: "Name", # required
5317
+ # description: "Description",
5318
+ # type: "Name", # required
5319
+ # properties: [
5320
+ # {
5321
+ # id: "ID",
5322
+ # name: "Name", # required
5323
+ # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN, STRUCT
5324
+ # data_type_spec: "Name",
5325
+ # unit: "PropertyUnit",
5326
+ # type: { # required
5327
+ # attribute: {
5328
+ # default_value: "DefaultValue",
5329
+ # },
5330
+ # measurement: {
5331
+ # },
5332
+ # transform: {
5333
+ # expression: "Expression", # required
5334
+ # variables: [ # required
5335
+ # {
5336
+ # name: "VariableName", # required
5337
+ # value: { # required
5338
+ # property_id: "Macro", # required
5339
+ # hierarchy_id: "Macro",
5340
+ # },
5341
+ # },
5342
+ # ],
5343
+ # },
5344
+ # metric: {
5345
+ # expression: "Expression", # required
5346
+ # variables: [ # required
5347
+ # {
5348
+ # name: "VariableName", # required
5349
+ # value: { # required
5350
+ # property_id: "Macro", # required
5351
+ # hierarchy_id: "Macro",
5352
+ # },
5353
+ # },
5354
+ # ],
5355
+ # window: { # required
5356
+ # tumbling: {
5357
+ # interval: "Interval", # required
5358
+ # },
5359
+ # },
5360
+ # },
5361
+ # },
5362
+ # },
5363
+ # ],
5364
+ # },
5365
+ # ],
4813
5366
  # client_token: "ClientToken",
4814
5367
  # }
4815
5368
  #
@@ -4854,6 +5407,14 @@ module Aws::IoTSiteWise
4854
5407
  # [2]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html
4855
5408
  # @return [Array<Types::AssetModelHierarchy>]
4856
5409
  #
5410
+ # @!attribute [rw] asset_model_composite_models
5411
+ # The composite asset models that are part of this asset model.
5412
+ # Composite asset models are asset models that contain specific
5413
+ # properties. Each composite model has a type that defines the
5414
+ # properties that the composite model supports. Use composite asset
5415
+ # models to define alarms on this asset model.
5416
+ # @return [Array<Types::AssetModelCompositeModel>]
5417
+ #
4857
5418
  # @!attribute [rw] client_token
4858
5419
  # A unique case-sensitive identifier that you can provide to ensure
4859
5420
  # the idempotency of the request. Don't reuse this client token if a
@@ -4869,6 +5430,7 @@ module Aws::IoTSiteWise
4869
5430
  :asset_model_description,
4870
5431
  :asset_model_properties,
4871
5432
  :asset_model_hierarchies,
5433
+ :asset_model_composite_models,
4872
5434
  :client_token)
4873
5435
  SENSITIVE = []
4874
5436
  include Aws::Structure