aws-sdk-iotsitewise 1.14.0 → 1.19.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,45 +1969,6 @@ module Aws::IoTSiteWise
1588
1969
  include Aws::Structure
1589
1970
  end
1590
1971
 
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
1972
  # @note When making an API call, you may pass CreateProjectRequest
1631
1973
  # data as a hash:
1632
1974
  #
@@ -2065,6 +2407,10 @@ module Aws::IoTSiteWise
2065
2407
  #
2066
2408
  # @!attribute [rw] asset_model_properties
2067
2409
  # The list of asset properties for the asset model.
2410
+ #
2411
+ # This object doesn't include properties that you define in composite
2412
+ # models. You can find composite model properties in the
2413
+ # `assetModelCompositeModels` object.
2068
2414
  # @return [Array<Types::AssetModelProperty>]
2069
2415
  #
2070
2416
  # @!attribute [rw] asset_model_hierarchies
@@ -2074,6 +2420,10 @@ module Aws::IoTSiteWise
2074
2420
  # model.
2075
2421
  # @return [Array<Types::AssetModelHierarchy>]
2076
2422
  #
2423
+ # @!attribute [rw] asset_model_composite_models
2424
+ # The list of composite asset models for the asset model.
2425
+ # @return [Array<Types::AssetModelCompositeModel>]
2426
+ #
2077
2427
  # @!attribute [rw] asset_model_creation_date
2078
2428
  # The date the asset model was created, in Unix epoch time.
2079
2429
  # @return [Time]
@@ -2094,6 +2444,7 @@ module Aws::IoTSiteWise
2094
2444
  :asset_model_description,
2095
2445
  :asset_model_properties,
2096
2446
  :asset_model_hierarchies,
2447
+ :asset_model_composite_models,
2097
2448
  :asset_model_creation_date,
2098
2449
  :asset_model_last_update_date,
2099
2450
  :asset_model_status)
@@ -2138,13 +2489,23 @@ module Aws::IoTSiteWise
2138
2489
  #
2139
2490
  # @!attribute [rw] asset_property
2140
2491
  # The asset property's definition, alias, and notification state.
2492
+ #
2493
+ # This response includes this object for normal asset properties. If
2494
+ # you describe an asset property in a composite model, this response
2495
+ # includes the asset property information in `compositeModel`.
2141
2496
  # @return [Types::Property]
2142
2497
  #
2498
+ # @!attribute [rw] composite_model
2499
+ # The composite asset model that declares this asset property, if this
2500
+ # asset property exists in a composite model.
2501
+ # @return [Types::CompositeModelProperty]
2502
+ #
2143
2503
  class DescribeAssetPropertyResponse < Struct.new(
2144
2504
  :asset_id,
2145
2505
  :asset_name,
2146
2506
  :asset_model_id,
2147
- :asset_property)
2507
+ :asset_property,
2508
+ :composite_model)
2148
2509
  SENSITIVE = []
2149
2510
  include Aws::Structure
2150
2511
  end
@@ -2190,6 +2551,10 @@ module Aws::IoTSiteWise
2190
2551
  #
2191
2552
  # @!attribute [rw] asset_properties
2192
2553
  # The list of asset properties for the asset.
2554
+ #
2555
+ # This object doesn't include properties that you define in composite
2556
+ # models. You can find composite model properties in the
2557
+ # `assetCompositeModels` object.
2193
2558
  # @return [Array<Types::AssetProperty>]
2194
2559
  #
2195
2560
  # @!attribute [rw] asset_hierarchies
@@ -2197,6 +2562,10 @@ module Aws::IoTSiteWise
2197
2562
  # hierarchy specifies allowed parent/child asset relationships.
2198
2563
  # @return [Array<Types::AssetHierarchy>]
2199
2564
  #
2565
+ # @!attribute [rw] asset_composite_models
2566
+ # The composite models for the asset.
2567
+ # @return [Array<Types::AssetCompositeModel>]
2568
+ #
2200
2569
  # @!attribute [rw] asset_creation_date
2201
2570
  # The date the asset was created, in Unix epoch time.
2202
2571
  # @return [Time]
@@ -2217,6 +2586,7 @@ module Aws::IoTSiteWise
2217
2586
  :asset_model_id,
2218
2587
  :asset_properties,
2219
2588
  :asset_hierarchies,
2589
+ :asset_composite_models,
2220
2590
  :asset_creation_date,
2221
2591
  :asset_last_update_date,
2222
2592
  :asset_status)
@@ -2298,6 +2668,33 @@ module Aws::IoTSiteWise
2298
2668
  include Aws::Structure
2299
2669
  end
2300
2670
 
2671
+ # @api private
2672
+ #
2673
+ class DescribeDefaultEncryptionConfigurationRequest < Aws::EmptyStructure; end
2674
+
2675
+ # @!attribute [rw] encryption_type
2676
+ # The type of encryption used for the encryption configuration.
2677
+ # @return [String]
2678
+ #
2679
+ # @!attribute [rw] kms_key_arn
2680
+ # The key ARN of the customer managed customer master key (CMK) used
2681
+ # for AWS KMS encryption if you use `KMS_BASED_ENCRYPTION`.
2682
+ # @return [String]
2683
+ #
2684
+ # @!attribute [rw] configuration_status
2685
+ # The status of the account configuration. This contains the
2686
+ # `ConfigurationState`. If there's an error, it also contains the
2687
+ # `ErrorDetails`.
2688
+ # @return [Types::ConfigurationStatus]
2689
+ #
2690
+ class DescribeDefaultEncryptionConfigurationResponse < Struct.new(
2691
+ :encryption_type,
2692
+ :kms_key_arn,
2693
+ :configuration_status)
2694
+ SENSITIVE = []
2695
+ include Aws::Structure
2696
+ end
2697
+
2301
2698
  # @note When making an API call, you may pass DescribeGatewayCapabilityConfigurationRequest
2302
2699
  # data as a hash:
2303
2700
  #
@@ -2496,13 +2893,8 @@ module Aws::IoTSiteWise
2496
2893
  # @!attribute [rw] portal_start_url
2497
2894
  # The URL for the AWS IoT SiteWise Monitor portal. You can use this
2498
2895
  # 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
2896
+ # portals that use IAM for authentication, you must use the AWS IoT
2897
+ # SiteWise console to get a URL that you can use to access the portal.
2506
2898
  # @return [String]
2507
2899
  #
2508
2900
  # @!attribute [rw] portal_contact_email
@@ -3111,6 +3503,36 @@ module Aws::IoTSiteWise
3111
3503
  include Aws::Structure
3112
3504
  end
3113
3505
 
3506
+ # Contains information about an AWS Identity and Access Management (IAM)
3507
+ # role. For more information, see [IAM roles][1] in the *IAM User
3508
+ # Guide*.
3509
+ #
3510
+ #
3511
+ #
3512
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html
3513
+ #
3514
+ # @note When making an API call, you may pass IAMRoleIdentity
3515
+ # data as a hash:
3516
+ #
3517
+ # {
3518
+ # arn: "ARN", # required
3519
+ # }
3520
+ #
3521
+ # @!attribute [rw] arn
3522
+ # The ARN of the IAM role. For more information, see [IAM ARNs][1] in
3523
+ # the *IAM User Guide*.
3524
+ #
3525
+ #
3526
+ #
3527
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.htmll#identifiers-arns
3528
+ # @return [String]
3529
+ #
3530
+ class IAMRoleIdentity < Struct.new(
3531
+ :arn)
3532
+ SENSITIVE = []
3533
+ include Aws::Structure
3534
+ end
3535
+
3114
3536
  # Contains information about an AWS Identity and Access Management (IAM)
3115
3537
  # user.
3116
3538
  #
@@ -3122,10 +3544,8 @@ module Aws::IoTSiteWise
3122
3544
  # }
3123
3545
  #
3124
3546
  # @!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*.
3547
+ # The ARN of the IAM user. For more information, see [IAM ARNs][1] in
3548
+ # the *IAM User Guide*.
3129
3549
  #
3130
3550
  # <note markdown="1"> If you delete the IAM user, access policies that contain this
3131
3551
  # identity include an empty `arn`. You can delete the access policy
@@ -3170,6 +3590,9 @@ module Aws::IoTSiteWise
3170
3590
  # iam_user: {
3171
3591
  # arn: "ARN", # required
3172
3592
  # },
3593
+ # iam_role: {
3594
+ # arn: "ARN", # required
3595
+ # },
3173
3596
  # }
3174
3597
  #
3175
3598
  # @!attribute [rw] user
@@ -3184,10 +3607,15 @@ module Aws::IoTSiteWise
3184
3607
  # An IAM user identity.
3185
3608
  # @return [Types::IAMUserIdentity]
3186
3609
  #
3610
+ # @!attribute [rw] iam_role
3611
+ # An IAM role identity.
3612
+ # @return [Types::IAMRoleIdentity]
3613
+ #
3187
3614
  class Identity < Struct.new(
3188
3615
  :user,
3189
3616
  :group,
3190
- :iam_user)
3617
+ :iam_user,
3618
+ :iam_role)
3191
3619
  SENSITIVE = []
3192
3620
  include Aws::Structure
3193
3621
  end
@@ -3439,6 +3867,65 @@ module Aws::IoTSiteWise
3439
3867
  include Aws::Structure
3440
3868
  end
3441
3869
 
3870
+ # @note When making an API call, you may pass ListAssetRelationshipsRequest
3871
+ # data as a hash:
3872
+ #
3873
+ # {
3874
+ # asset_id: "ID", # required
3875
+ # traversal_type: "PATH_TO_ROOT", # required, accepts PATH_TO_ROOT
3876
+ # next_token: "NextToken",
3877
+ # max_results: 1,
3878
+ # }
3879
+ #
3880
+ # @!attribute [rw] asset_id
3881
+ # The ID of the asset.
3882
+ # @return [String]
3883
+ #
3884
+ # @!attribute [rw] traversal_type
3885
+ # The type of traversal to use to identify asset relationships. Choose
3886
+ # the following option:
3887
+ #
3888
+ # * `PATH_TO_ROOT` – Identify the asset's parent assets up to the
3889
+ # root asset. The asset that you specify in `assetId` is the first
3890
+ # result in the list of `assetRelationshipSummaries`, and the root
3891
+ # asset is the last result.
3892
+ #
3893
+ # ^
3894
+ # @return [String]
3895
+ #
3896
+ # @!attribute [rw] next_token
3897
+ # The token to be used for the next set of paginated results.
3898
+ # @return [String]
3899
+ #
3900
+ # @!attribute [rw] max_results
3901
+ # The maximum number of results to be returned per paginated request.
3902
+ # @return [Integer]
3903
+ #
3904
+ class ListAssetRelationshipsRequest < Struct.new(
3905
+ :asset_id,
3906
+ :traversal_type,
3907
+ :next_token,
3908
+ :max_results)
3909
+ SENSITIVE = []
3910
+ include Aws::Structure
3911
+ end
3912
+
3913
+ # @!attribute [rw] asset_relationship_summaries
3914
+ # A list that summarizes each asset relationship.
3915
+ # @return [Array<Types::AssetRelationshipSummary>]
3916
+ #
3917
+ # @!attribute [rw] next_token
3918
+ # The token for the next set of results, or null if there are no
3919
+ # additional results.
3920
+ # @return [String]
3921
+ #
3922
+ class ListAssetRelationshipsResponse < Struct.new(
3923
+ :asset_relationship_summaries,
3924
+ :next_token)
3925
+ SENSITIVE = []
3926
+ include Aws::Structure
3927
+ end
3928
+
3442
3929
  # @note When making an API call, you may pass ListAssetsRequest
3443
3930
  # data as a hash:
3444
3931
  #
@@ -3862,9 +4349,8 @@ module Aws::IoTSiteWise
3862
4349
  include Aws::Structure
3863
4350
  end
3864
4351
 
3865
- # Contains an asset measurement property. This structure is empty. For
3866
- # more information, see [Measurements][1] in the *AWS IoT SiteWise User
3867
- # Guide*.
4352
+ # Contains an asset measurement property. For more information, see
4353
+ # [Measurements][1] in the *AWS IoT SiteWise User Guide*.
3868
4354
  #
3869
4355
  #
3870
4356
  #
@@ -4036,13 +4522,8 @@ module Aws::IoTSiteWise
4036
4522
  # @!attribute [rw] start_url
4037
4523
  # The URL for the AWS IoT SiteWise Monitor portal. You can use this
4038
4524
  # 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
4525
+ # portals that use IAM for authentication, you must use the AWS IoT
4526
+ # SiteWise console to get a URL that you can use to access the portal.
4046
4527
  # @return [String]
4047
4528
  #
4048
4529
  # @!attribute [rw] creation_date
@@ -4370,6 +4851,54 @@ module Aws::IoTSiteWise
4370
4851
  include Aws::Structure
4371
4852
  end
4372
4853
 
4854
+ # @note When making an API call, you may pass PutDefaultEncryptionConfigurationRequest
4855
+ # data as a hash:
4856
+ #
4857
+ # {
4858
+ # encryption_type: "SITEWISE_DEFAULT_ENCRYPTION", # required, accepts SITEWISE_DEFAULT_ENCRYPTION, KMS_BASED_ENCRYPTION
4859
+ # kms_key_id: "KmsKeyId",
4860
+ # }
4861
+ #
4862
+ # @!attribute [rw] encryption_type
4863
+ # The type of encryption used for the encryption configuration.
4864
+ # @return [String]
4865
+ #
4866
+ # @!attribute [rw] kms_key_id
4867
+ # The Key ID of the customer managed customer master key (CMK) used
4868
+ # for AWS KMS encryption. This is required if you use
4869
+ # `KMS_BASED_ENCRYPTION`.
4870
+ # @return [String]
4871
+ #
4872
+ class PutDefaultEncryptionConfigurationRequest < Struct.new(
4873
+ :encryption_type,
4874
+ :kms_key_id)
4875
+ SENSITIVE = []
4876
+ include Aws::Structure
4877
+ end
4878
+
4879
+ # @!attribute [rw] encryption_type
4880
+ # The type of encryption used for the encryption configuration.
4881
+ # @return [String]
4882
+ #
4883
+ # @!attribute [rw] kms_key_arn
4884
+ # The Key ARN of the AWS KMS CMK used for AWS KMS encryption if you
4885
+ # use `KMS_BASED_ENCRYPTION`.
4886
+ # @return [String]
4887
+ #
4888
+ # @!attribute [rw] configuration_status
4889
+ # The status of the account configuration. This contains the
4890
+ # `ConfigurationState`. If there is an error, it also contains the
4891
+ # `ErrorDetails`.
4892
+ # @return [Types::ConfigurationStatus]
4893
+ #
4894
+ class PutDefaultEncryptionConfigurationResponse < Struct.new(
4895
+ :encryption_type,
4896
+ :kms_key_arn,
4897
+ :configuration_status)
4898
+ SENSITIVE = []
4899
+ include Aws::Structure
4900
+ end
4901
+
4373
4902
  # @note When making an API call, you may pass PutLoggingOptionsRequest
4374
4903
  # data as a hash:
4375
4904
  #
@@ -4655,6 +5184,17 @@ module Aws::IoTSiteWise
4655
5184
  include Aws::Structure
4656
5185
  end
4657
5186
 
5187
+ # You are not authorized.
5188
+ #
5189
+ # @!attribute [rw] message
5190
+ # @return [String]
5191
+ #
5192
+ class UnauthorizedException < Struct.new(
5193
+ :message)
5194
+ SENSITIVE = []
5195
+ include Aws::Structure
5196
+ end
5197
+
4658
5198
  # @note When making an API call, you may pass UntagResourceRequest
4659
5199
  # data as a hash:
4660
5200
  #
@@ -4699,6 +5239,9 @@ module Aws::IoTSiteWise
4699
5239
  # iam_user: {
4700
5240
  # arn: "ARN", # required
4701
5241
  # },
5242
+ # iam_role: {
5243
+ # arn: "ARN", # required
5244
+ # },
4702
5245
  # },
4703
5246
  # access_policy_resource: { # required
4704
5247
  # portal: {
@@ -4763,7 +5306,8 @@ module Aws::IoTSiteWise
4763
5306
  # {
4764
5307
  # id: "ID",
4765
5308
  # name: "Name", # required
4766
- # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN
5309
+ # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN, STRUCT
5310
+ # data_type_spec: "Name",
4767
5311
  # unit: "PropertyUnit",
4768
5312
  # type: { # required
4769
5313
  # attribute: {
@@ -4810,6 +5354,58 @@ module Aws::IoTSiteWise
4810
5354
  # child_asset_model_id: "ID", # required
4811
5355
  # },
4812
5356
  # ],
5357
+ # asset_model_composite_models: [
5358
+ # {
5359
+ # name: "Name", # required
5360
+ # description: "Description",
5361
+ # type: "Name", # required
5362
+ # properties: [
5363
+ # {
5364
+ # id: "ID",
5365
+ # name: "Name", # required
5366
+ # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN, STRUCT
5367
+ # data_type_spec: "Name",
5368
+ # unit: "PropertyUnit",
5369
+ # type: { # required
5370
+ # attribute: {
5371
+ # default_value: "DefaultValue",
5372
+ # },
5373
+ # measurement: {
5374
+ # },
5375
+ # transform: {
5376
+ # expression: "Expression", # required
5377
+ # variables: [ # required
5378
+ # {
5379
+ # name: "VariableName", # required
5380
+ # value: { # required
5381
+ # property_id: "Macro", # required
5382
+ # hierarchy_id: "Macro",
5383
+ # },
5384
+ # },
5385
+ # ],
5386
+ # },
5387
+ # metric: {
5388
+ # expression: "Expression", # required
5389
+ # variables: [ # required
5390
+ # {
5391
+ # name: "VariableName", # required
5392
+ # value: { # required
5393
+ # property_id: "Macro", # required
5394
+ # hierarchy_id: "Macro",
5395
+ # },
5396
+ # },
5397
+ # ],
5398
+ # window: { # required
5399
+ # tumbling: {
5400
+ # interval: "Interval", # required
5401
+ # },
5402
+ # },
5403
+ # },
5404
+ # },
5405
+ # },
5406
+ # ],
5407
+ # },
5408
+ # ],
4813
5409
  # client_token: "ClientToken",
4814
5410
  # }
4815
5411
  #
@@ -4854,6 +5450,14 @@ module Aws::IoTSiteWise
4854
5450
  # [2]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html
4855
5451
  # @return [Array<Types::AssetModelHierarchy>]
4856
5452
  #
5453
+ # @!attribute [rw] asset_model_composite_models
5454
+ # The composite asset models that are part of this asset model.
5455
+ # Composite asset models are asset models that contain specific
5456
+ # properties. Each composite model has a type that defines the
5457
+ # properties that the composite model supports. Use composite asset
5458
+ # models to define alarms on this asset model.
5459
+ # @return [Array<Types::AssetModelCompositeModel>]
5460
+ #
4857
5461
  # @!attribute [rw] client_token
4858
5462
  # A unique case-sensitive identifier that you can provide to ensure
4859
5463
  # the idempotency of the request. Don't reuse this client token if a
@@ -4869,6 +5473,7 @@ module Aws::IoTSiteWise
4869
5473
  :asset_model_description,
4870
5474
  :asset_model_properties,
4871
5475
  :asset_model_hierarchies,
5476
+ :asset_model_composite_models,
4872
5477
  :client_token)
4873
5478
  SENSITIVE = []
4874
5479
  include Aws::Structure