aws-sdk-iotsitewise 1.14.0 → 1.19.0

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