aws-sdk-iotsitewise 1.13.0 → 1.18.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,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