aws-sdk-iotsitewise 1.13.0 → 1.18.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.
@@ -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.
@@ -974,6 +1298,9 @@ module Aws::IoTSiteWise
974
1298
  # iam_user: {
975
1299
  # arn: "ARN", # required
976
1300
  # },
1301
+ # iam_role: {
1302
+ # arn: "ARN", # required
1303
+ # },
977
1304
  # },
978
1305
  # access_policy_resource: { # required
979
1306
  # portal: {
@@ -1064,7 +1391,8 @@ module Aws::IoTSiteWise
1064
1391
  # asset_model_properties: [
1065
1392
  # {
1066
1393
  # name: "Name", # required
1067
- # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN
1394
+ # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN, STRUCT
1395
+ # data_type_spec: "Name",
1068
1396
  # unit: "PropertyUnit",
1069
1397
  # type: { # required
1070
1398
  # attribute: {
@@ -1110,6 +1438,57 @@ module Aws::IoTSiteWise
1110
1438
  # child_asset_model_id: "ID", # required
1111
1439
  # },
1112
1440
  # ],
1441
+ # asset_model_composite_models: [
1442
+ # {
1443
+ # name: "Name", # required
1444
+ # description: "Description",
1445
+ # type: "Name", # required
1446
+ # properties: [
1447
+ # {
1448
+ # name: "Name", # required
1449
+ # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN, STRUCT
1450
+ # data_type_spec: "Name",
1451
+ # unit: "PropertyUnit",
1452
+ # type: { # required
1453
+ # attribute: {
1454
+ # default_value: "DefaultValue",
1455
+ # },
1456
+ # measurement: {
1457
+ # },
1458
+ # transform: {
1459
+ # expression: "Expression", # required
1460
+ # variables: [ # required
1461
+ # {
1462
+ # name: "VariableName", # required
1463
+ # value: { # required
1464
+ # property_id: "Macro", # required
1465
+ # hierarchy_id: "Macro",
1466
+ # },
1467
+ # },
1468
+ # ],
1469
+ # },
1470
+ # metric: {
1471
+ # expression: "Expression", # required
1472
+ # variables: [ # required
1473
+ # {
1474
+ # name: "VariableName", # required
1475
+ # value: { # required
1476
+ # property_id: "Macro", # required
1477
+ # hierarchy_id: "Macro",
1478
+ # },
1479
+ # },
1480
+ # ],
1481
+ # window: { # required
1482
+ # tumbling: {
1483
+ # interval: "Interval", # required
1484
+ # },
1485
+ # },
1486
+ # },
1487
+ # },
1488
+ # },
1489
+ # ],
1490
+ # },
1491
+ # ],
1113
1492
  # client_token: "ClientToken",
1114
1493
  # tags: {
1115
1494
  # "TagKey" => "TagValue",
@@ -1152,6 +1531,14 @@ module Aws::IoTSiteWise
1152
1531
  # [2]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html
1153
1532
  # @return [Array<Types::AssetModelHierarchyDefinition>]
1154
1533
  #
1534
+ # @!attribute [rw] asset_model_composite_models
1535
+ # The composite asset models that are part of this asset model.
1536
+ # Composite asset models are asset models that contain specific
1537
+ # properties. Each composite model has a type that defines the
1538
+ # properties that the composite model supports. Use composite asset
1539
+ # models to define alarms on this asset model.
1540
+ # @return [Array<Types::AssetModelCompositeModelDefinition>]
1541
+ #
1155
1542
  # @!attribute [rw] client_token
1156
1543
  # A unique case-sensitive identifier that you can provide to ensure
1157
1544
  # the idempotency of the request. Don't reuse this client token if a
@@ -1176,6 +1563,7 @@ module Aws::IoTSiteWise
1176
1563
  :asset_model_description,
1177
1564
  :asset_model_properties,
1178
1565
  :asset_model_hierarchies,
1566
+ :asset_model_composite_models,
1179
1567
  :client_token,
1180
1568
  :tags)
1181
1569
  SENSITIVE = []
@@ -1516,10 +1904,8 @@ module Aws::IoTSiteWise
1516
1904
  # Regions.
1517
1905
  #
1518
1906
  # * `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.
1907
+ # to authenticate users and manage user permissions. This option is
1908
+ # only available in the China Regions.
1523
1909
  #
1524
1910
  # You can't change this value after you create a portal.
1525
1911
  #
@@ -1560,13 +1946,8 @@ module Aws::IoTSiteWise
1560
1946
  # @!attribute [rw] portal_start_url
1561
1947
  # The URL for the AWS IoT SiteWise Monitor portal. You can use this
1562
1948
  # 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
1949
+ # portals that use IAM for authentication, you must use the AWS IoT
1950
+ # SiteWise console to get a URL that you can use to access the portal.
1570
1951
  # @return [String]
1571
1952
  #
1572
1953
  # @!attribute [rw] portal_status
@@ -1588,6 +1969,41 @@ module Aws::IoTSiteWise
1588
1969
  include Aws::Structure
1589
1970
  end
1590
1971
 
1972
+ # @note When making an API call, you may pass CreatePresignedPortalUrlRequest
1973
+ # data as a hash:
1974
+ #
1975
+ # {
1976
+ # portal_id: "ID", # required
1977
+ # session_duration_seconds: 1,
1978
+ # state: "state",
1979
+ # }
1980
+ #
1981
+ # @!attribute [rw] portal_id
1982
+ # @return [String]
1983
+ #
1984
+ # @!attribute [rw] session_duration_seconds
1985
+ # @return [Integer]
1986
+ #
1987
+ # @!attribute [rw] state
1988
+ # @return [String]
1989
+ #
1990
+ class CreatePresignedPortalUrlRequest < Struct.new(
1991
+ :portal_id,
1992
+ :session_duration_seconds,
1993
+ :state)
1994
+ SENSITIVE = []
1995
+ include Aws::Structure
1996
+ end
1997
+
1998
+ # @!attribute [rw] presigned_portal_url
1999
+ # @return [String]
2000
+ #
2001
+ class CreatePresignedPortalUrlResponse < Struct.new(
2002
+ :presigned_portal_url)
2003
+ SENSITIVE = []
2004
+ include Aws::Structure
2005
+ end
2006
+
1591
2007
  # @note When making an API call, you may pass CreateProjectRequest
1592
2008
  # data as a hash:
1593
2009
  #
@@ -2026,6 +2442,10 @@ module Aws::IoTSiteWise
2026
2442
  #
2027
2443
  # @!attribute [rw] asset_model_properties
2028
2444
  # The list of asset properties for the asset model.
2445
+ #
2446
+ # This object doesn't include properties that you define in composite
2447
+ # models. You can find composite model properties in the
2448
+ # `assetModelCompositeModels` object.
2029
2449
  # @return [Array<Types::AssetModelProperty>]
2030
2450
  #
2031
2451
  # @!attribute [rw] asset_model_hierarchies
@@ -2035,6 +2455,10 @@ module Aws::IoTSiteWise
2035
2455
  # model.
2036
2456
  # @return [Array<Types::AssetModelHierarchy>]
2037
2457
  #
2458
+ # @!attribute [rw] asset_model_composite_models
2459
+ # The list of composite asset models for the asset model.
2460
+ # @return [Array<Types::AssetModelCompositeModel>]
2461
+ #
2038
2462
  # @!attribute [rw] asset_model_creation_date
2039
2463
  # The date the asset model was created, in Unix epoch time.
2040
2464
  # @return [Time]
@@ -2055,6 +2479,7 @@ module Aws::IoTSiteWise
2055
2479
  :asset_model_description,
2056
2480
  :asset_model_properties,
2057
2481
  :asset_model_hierarchies,
2482
+ :asset_model_composite_models,
2058
2483
  :asset_model_creation_date,
2059
2484
  :asset_model_last_update_date,
2060
2485
  :asset_model_status)
@@ -2099,13 +2524,23 @@ module Aws::IoTSiteWise
2099
2524
  #
2100
2525
  # @!attribute [rw] asset_property
2101
2526
  # The asset property's definition, alias, and notification state.
2527
+ #
2528
+ # This response includes this object for normal asset properties. If
2529
+ # you describe an asset property in a composite model, this response
2530
+ # includes the asset property information in `compositeModel`.
2102
2531
  # @return [Types::Property]
2103
2532
  #
2533
+ # @!attribute [rw] composite_model
2534
+ # The composite asset model that declares this asset property, if this
2535
+ # asset property exists in a composite model.
2536
+ # @return [Types::CompositeModelProperty]
2537
+ #
2104
2538
  class DescribeAssetPropertyResponse < Struct.new(
2105
2539
  :asset_id,
2106
2540
  :asset_name,
2107
2541
  :asset_model_id,
2108
- :asset_property)
2542
+ :asset_property,
2543
+ :composite_model)
2109
2544
  SENSITIVE = []
2110
2545
  include Aws::Structure
2111
2546
  end
@@ -2151,6 +2586,10 @@ module Aws::IoTSiteWise
2151
2586
  #
2152
2587
  # @!attribute [rw] asset_properties
2153
2588
  # The list of asset properties for the asset.
2589
+ #
2590
+ # This object doesn't include properties that you define in composite
2591
+ # models. You can find composite model properties in the
2592
+ # `assetCompositeModels` object.
2154
2593
  # @return [Array<Types::AssetProperty>]
2155
2594
  #
2156
2595
  # @!attribute [rw] asset_hierarchies
@@ -2158,6 +2597,10 @@ module Aws::IoTSiteWise
2158
2597
  # hierarchy specifies allowed parent/child asset relationships.
2159
2598
  # @return [Array<Types::AssetHierarchy>]
2160
2599
  #
2600
+ # @!attribute [rw] asset_composite_models
2601
+ # The composite models for the asset.
2602
+ # @return [Array<Types::AssetCompositeModel>]
2603
+ #
2161
2604
  # @!attribute [rw] asset_creation_date
2162
2605
  # The date the asset was created, in Unix epoch time.
2163
2606
  # @return [Time]
@@ -2178,6 +2621,7 @@ module Aws::IoTSiteWise
2178
2621
  :asset_model_id,
2179
2622
  :asset_properties,
2180
2623
  :asset_hierarchies,
2624
+ :asset_composite_models,
2181
2625
  :asset_creation_date,
2182
2626
  :asset_last_update_date,
2183
2627
  :asset_status)
@@ -2259,6 +2703,33 @@ module Aws::IoTSiteWise
2259
2703
  include Aws::Structure
2260
2704
  end
2261
2705
 
2706
+ # @api private
2707
+ #
2708
+ class DescribeDefaultEncryptionConfigurationRequest < Aws::EmptyStructure; end
2709
+
2710
+ # @!attribute [rw] encryption_type
2711
+ # The type of encryption used for the encryption configuration.
2712
+ # @return [String]
2713
+ #
2714
+ # @!attribute [rw] kms_key_arn
2715
+ # The key ARN of the customer managed customer master key (CMK) used
2716
+ # for AWS KMS encryption if you use `KMS_BASED_ENCRYPTION`.
2717
+ # @return [String]
2718
+ #
2719
+ # @!attribute [rw] configuration_status
2720
+ # The status of the account configuration. This contains the
2721
+ # `ConfigurationState`. If there's an error, it also contains the
2722
+ # `ErrorDetails`.
2723
+ # @return [Types::ConfigurationStatus]
2724
+ #
2725
+ class DescribeDefaultEncryptionConfigurationResponse < Struct.new(
2726
+ :encryption_type,
2727
+ :kms_key_arn,
2728
+ :configuration_status)
2729
+ SENSITIVE = []
2730
+ include Aws::Structure
2731
+ end
2732
+
2262
2733
  # @note When making an API call, you may pass DescribeGatewayCapabilityConfigurationRequest
2263
2734
  # data as a hash:
2264
2735
  #
@@ -2457,13 +2928,8 @@ module Aws::IoTSiteWise
2457
2928
  # @!attribute [rw] portal_start_url
2458
2929
  # The URL for the AWS IoT SiteWise Monitor portal. You can use this
2459
2930
  # URL to access portals that use AWS SSO for authentication. For
2460
- # portals that use IAM for authentication, you must use the
2461
- # [CreatePresignedPortalUrl][1] operation to create a URL that you can
2462
- # use to access the portal.
2463
- #
2464
- #
2465
- #
2466
- # [1]: https://docs.aws.amazon.com/AWS IoT SiteWise API ReferenceAPI_CreatePresignedPortalUrl.html
2931
+ # portals that use IAM for authentication, you must use the AWS IoT
2932
+ # SiteWise console to get a URL that you can use to access the portal.
2467
2933
  # @return [String]
2468
2934
  #
2469
2935
  # @!attribute [rw] portal_contact_email
@@ -3072,6 +3538,36 @@ module Aws::IoTSiteWise
3072
3538
  include Aws::Structure
3073
3539
  end
3074
3540
 
3541
+ # Contains information about an AWS Identity and Access Management (IAM)
3542
+ # role. For more information, see [IAM roles][1] in the *IAM User
3543
+ # Guide*.
3544
+ #
3545
+ #
3546
+ #
3547
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html
3548
+ #
3549
+ # @note When making an API call, you may pass IAMRoleIdentity
3550
+ # data as a hash:
3551
+ #
3552
+ # {
3553
+ # arn: "ARN", # required
3554
+ # }
3555
+ #
3556
+ # @!attribute [rw] arn
3557
+ # The ARN of the IAM role. For more information, see [IAM ARNs][1] in
3558
+ # the *IAM User Guide*.
3559
+ #
3560
+ #
3561
+ #
3562
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.htmll#identifiers-arns
3563
+ # @return [String]
3564
+ #
3565
+ class IAMRoleIdentity < Struct.new(
3566
+ :arn)
3567
+ SENSITIVE = []
3568
+ include Aws::Structure
3569
+ end
3570
+
3075
3571
  # Contains information about an AWS Identity and Access Management (IAM)
3076
3572
  # user.
3077
3573
  #
@@ -3083,10 +3579,8 @@ module Aws::IoTSiteWise
3083
3579
  # }
3084
3580
  #
3085
3581
  # @!attribute [rw] arn
3086
- # The ARN of the IAM user. IAM users must have the
3087
- # `iotsitewise:CreatePresignedPortalUrl` permission to sign in to the
3088
- # portal. For more information, see [IAM ARNs][1] in the *IAM User
3089
- # Guide*.
3582
+ # The ARN of the IAM user. For more information, see [IAM ARNs][1] in
3583
+ # the *IAM User Guide*.
3090
3584
  #
3091
3585
  # <note markdown="1"> If you delete the IAM user, access policies that contain this
3092
3586
  # identity include an empty `arn`. You can delete the access policy
@@ -3131,6 +3625,9 @@ module Aws::IoTSiteWise
3131
3625
  # iam_user: {
3132
3626
  # arn: "ARN", # required
3133
3627
  # },
3628
+ # iam_role: {
3629
+ # arn: "ARN", # required
3630
+ # },
3134
3631
  # }
3135
3632
  #
3136
3633
  # @!attribute [rw] user
@@ -3145,10 +3642,15 @@ module Aws::IoTSiteWise
3145
3642
  # An IAM user identity.
3146
3643
  # @return [Types::IAMUserIdentity]
3147
3644
  #
3645
+ # @!attribute [rw] iam_role
3646
+ # An IAM role identity.
3647
+ # @return [Types::IAMRoleIdentity]
3648
+ #
3148
3649
  class Identity < Struct.new(
3149
3650
  :user,
3150
3651
  :group,
3151
- :iam_user)
3652
+ :iam_user,
3653
+ :iam_role)
3152
3654
  SENSITIVE = []
3153
3655
  include Aws::Structure
3154
3656
  end
@@ -3400,6 +3902,65 @@ module Aws::IoTSiteWise
3400
3902
  include Aws::Structure
3401
3903
  end
3402
3904
 
3905
+ # @note When making an API call, you may pass ListAssetRelationshipsRequest
3906
+ # data as a hash:
3907
+ #
3908
+ # {
3909
+ # asset_id: "ID", # required
3910
+ # traversal_type: "PATH_TO_ROOT", # required, accepts PATH_TO_ROOT
3911
+ # next_token: "NextToken",
3912
+ # max_results: 1,
3913
+ # }
3914
+ #
3915
+ # @!attribute [rw] asset_id
3916
+ # The ID of the asset.
3917
+ # @return [String]
3918
+ #
3919
+ # @!attribute [rw] traversal_type
3920
+ # The type of traversal to use to identify asset relationships. Choose
3921
+ # the following option:
3922
+ #
3923
+ # * `PATH_TO_ROOT` – Identify the asset's parent assets up to the
3924
+ # root asset. The asset that you specify in `assetId` is the first
3925
+ # result in the list of `assetRelationshipSummaries`, and the root
3926
+ # asset is the last result.
3927
+ #
3928
+ # ^
3929
+ # @return [String]
3930
+ #
3931
+ # @!attribute [rw] next_token
3932
+ # The token to be used for the next set of paginated results.
3933
+ # @return [String]
3934
+ #
3935
+ # @!attribute [rw] max_results
3936
+ # The maximum number of results to be returned per paginated request.
3937
+ # @return [Integer]
3938
+ #
3939
+ class ListAssetRelationshipsRequest < Struct.new(
3940
+ :asset_id,
3941
+ :traversal_type,
3942
+ :next_token,
3943
+ :max_results)
3944
+ SENSITIVE = []
3945
+ include Aws::Structure
3946
+ end
3947
+
3948
+ # @!attribute [rw] asset_relationship_summaries
3949
+ # A list that summarizes each asset relationship.
3950
+ # @return [Array<Types::AssetRelationshipSummary>]
3951
+ #
3952
+ # @!attribute [rw] next_token
3953
+ # The token for the next set of results, or null if there are no
3954
+ # additional results.
3955
+ # @return [String]
3956
+ #
3957
+ class ListAssetRelationshipsResponse < Struct.new(
3958
+ :asset_relationship_summaries,
3959
+ :next_token)
3960
+ SENSITIVE = []
3961
+ include Aws::Structure
3962
+ end
3963
+
3403
3964
  # @note When making an API call, you may pass ListAssetsRequest
3404
3965
  # data as a hash:
3405
3966
  #
@@ -3823,9 +4384,8 @@ module Aws::IoTSiteWise
3823
4384
  include Aws::Structure
3824
4385
  end
3825
4386
 
3826
- # Contains an asset measurement property. This structure is empty. For
3827
- # more information, see [Measurements][1] in the *AWS IoT SiteWise User
3828
- # Guide*.
4387
+ # Contains an asset measurement property. For more information, see
4388
+ # [Measurements][1] in the *AWS IoT SiteWise User Guide*.
3829
4389
  #
3830
4390
  #
3831
4391
  #
@@ -3997,13 +4557,8 @@ module Aws::IoTSiteWise
3997
4557
  # @!attribute [rw] start_url
3998
4558
  # The URL for the AWS IoT SiteWise Monitor portal. You can use this
3999
4559
  # URL to access portals that use AWS SSO for authentication. For
4000
- # portals that use IAM for authentication, you must use the
4001
- # [CreatePresignedPortalUrl][1] operation to create a URL that you can
4002
- # use to access the portal.
4003
- #
4004
- #
4005
- #
4006
- # [1]: https://docs.aws.amazon.com/AWS IoT SiteWise API ReferenceAPI_CreatePresignedPortalUrl.html
4560
+ # portals that use IAM for authentication, you must use the AWS IoT
4561
+ # SiteWise console to get a URL that you can use to access the portal.
4007
4562
  # @return [String]
4008
4563
  #
4009
4564
  # @!attribute [rw] creation_date
@@ -4331,6 +4886,54 @@ module Aws::IoTSiteWise
4331
4886
  include Aws::Structure
4332
4887
  end
4333
4888
 
4889
+ # @note When making an API call, you may pass PutDefaultEncryptionConfigurationRequest
4890
+ # data as a hash:
4891
+ #
4892
+ # {
4893
+ # encryption_type: "SITEWISE_DEFAULT_ENCRYPTION", # required, accepts SITEWISE_DEFAULT_ENCRYPTION, KMS_BASED_ENCRYPTION
4894
+ # kms_key_id: "KmsKeyId",
4895
+ # }
4896
+ #
4897
+ # @!attribute [rw] encryption_type
4898
+ # The type of encryption used for the encryption configuration.
4899
+ # @return [String]
4900
+ #
4901
+ # @!attribute [rw] kms_key_id
4902
+ # The Key ID of the customer managed customer master key (CMK) used
4903
+ # for AWS KMS encryption. This is required if you use
4904
+ # `KMS_BASED_ENCRYPTION`.
4905
+ # @return [String]
4906
+ #
4907
+ class PutDefaultEncryptionConfigurationRequest < Struct.new(
4908
+ :encryption_type,
4909
+ :kms_key_id)
4910
+ SENSITIVE = []
4911
+ include Aws::Structure
4912
+ end
4913
+
4914
+ # @!attribute [rw] encryption_type
4915
+ # The type of encryption used for the encryption configuration.
4916
+ # @return [String]
4917
+ #
4918
+ # @!attribute [rw] kms_key_arn
4919
+ # The Key ARN of the AWS KMS CMK used for AWS KMS encryption if you
4920
+ # use `KMS_BASED_ENCRYPTION`.
4921
+ # @return [String]
4922
+ #
4923
+ # @!attribute [rw] configuration_status
4924
+ # The status of the account configuration. This contains the
4925
+ # `ConfigurationState`. If there is an error, it also contains the
4926
+ # `ErrorDetails`.
4927
+ # @return [Types::ConfigurationStatus]
4928
+ #
4929
+ class PutDefaultEncryptionConfigurationResponse < Struct.new(
4930
+ :encryption_type,
4931
+ :kms_key_arn,
4932
+ :configuration_status)
4933
+ SENSITIVE = []
4934
+ include Aws::Structure
4935
+ end
4936
+
4334
4937
  # @note When making an API call, you may pass PutLoggingOptionsRequest
4335
4938
  # data as a hash:
4336
4939
  #
@@ -4616,6 +5219,17 @@ module Aws::IoTSiteWise
4616
5219
  include Aws::Structure
4617
5220
  end
4618
5221
 
5222
+ # You are not authorized.
5223
+ #
5224
+ # @!attribute [rw] message
5225
+ # @return [String]
5226
+ #
5227
+ class UnauthorizedException < Struct.new(
5228
+ :message)
5229
+ SENSITIVE = []
5230
+ include Aws::Structure
5231
+ end
5232
+
4619
5233
  # @note When making an API call, you may pass UntagResourceRequest
4620
5234
  # data as a hash:
4621
5235
  #
@@ -4660,6 +5274,9 @@ module Aws::IoTSiteWise
4660
5274
  # iam_user: {
4661
5275
  # arn: "ARN", # required
4662
5276
  # },
5277
+ # iam_role: {
5278
+ # arn: "ARN", # required
5279
+ # },
4663
5280
  # },
4664
5281
  # access_policy_resource: { # required
4665
5282
  # portal: {
@@ -4724,7 +5341,8 @@ module Aws::IoTSiteWise
4724
5341
  # {
4725
5342
  # id: "ID",
4726
5343
  # name: "Name", # required
4727
- # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN
5344
+ # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN, STRUCT
5345
+ # data_type_spec: "Name",
4728
5346
  # unit: "PropertyUnit",
4729
5347
  # type: { # required
4730
5348
  # attribute: {
@@ -4771,6 +5389,58 @@ module Aws::IoTSiteWise
4771
5389
  # child_asset_model_id: "ID", # required
4772
5390
  # },
4773
5391
  # ],
5392
+ # asset_model_composite_models: [
5393
+ # {
5394
+ # name: "Name", # required
5395
+ # description: "Description",
5396
+ # type: "Name", # required
5397
+ # properties: [
5398
+ # {
5399
+ # id: "ID",
5400
+ # name: "Name", # required
5401
+ # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN, STRUCT
5402
+ # data_type_spec: "Name",
5403
+ # unit: "PropertyUnit",
5404
+ # type: { # required
5405
+ # attribute: {
5406
+ # default_value: "DefaultValue",
5407
+ # },
5408
+ # measurement: {
5409
+ # },
5410
+ # transform: {
5411
+ # expression: "Expression", # required
5412
+ # variables: [ # required
5413
+ # {
5414
+ # name: "VariableName", # required
5415
+ # value: { # required
5416
+ # property_id: "Macro", # required
5417
+ # hierarchy_id: "Macro",
5418
+ # },
5419
+ # },
5420
+ # ],
5421
+ # },
5422
+ # metric: {
5423
+ # expression: "Expression", # required
5424
+ # variables: [ # required
5425
+ # {
5426
+ # name: "VariableName", # required
5427
+ # value: { # required
5428
+ # property_id: "Macro", # required
5429
+ # hierarchy_id: "Macro",
5430
+ # },
5431
+ # },
5432
+ # ],
5433
+ # window: { # required
5434
+ # tumbling: {
5435
+ # interval: "Interval", # required
5436
+ # },
5437
+ # },
5438
+ # },
5439
+ # },
5440
+ # },
5441
+ # ],
5442
+ # },
5443
+ # ],
4774
5444
  # client_token: "ClientToken",
4775
5445
  # }
4776
5446
  #
@@ -4815,6 +5485,14 @@ module Aws::IoTSiteWise
4815
5485
  # [2]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html
4816
5486
  # @return [Array<Types::AssetModelHierarchy>]
4817
5487
  #
5488
+ # @!attribute [rw] asset_model_composite_models
5489
+ # The composite asset models that are part of this asset model.
5490
+ # Composite asset models are asset models that contain specific
5491
+ # properties. Each composite model has a type that defines the
5492
+ # properties that the composite model supports. Use composite asset
5493
+ # models to define alarms on this asset model.
5494
+ # @return [Array<Types::AssetModelCompositeModel>]
5495
+ #
4818
5496
  # @!attribute [rw] client_token
4819
5497
  # A unique case-sensitive identifier that you can provide to ensure
4820
5498
  # the idempotency of the request. Don't reuse this client token if a
@@ -4830,6 +5508,7 @@ module Aws::IoTSiteWise
4830
5508
  :asset_model_description,
4831
5509
  :asset_model_properties,
4832
5510
  :asset_model_hierarchies,
5511
+ :asset_model_composite_models,
4833
5512
  :client_token)
4834
5513
  SENSITIVE = []
4835
5514
  include Aws::Structure