aws-sdk-iotsitewise 1.12.0 → 1.17.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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