aws-sdk-iotsitewise 1.15.0 → 1.16.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -36,6 +36,7 @@ module Aws::IoTSiteWise
36
36
  # * {ServiceUnavailableException}
37
37
  # * {ThrottlingException}
38
38
  # * {TooManyTagsException}
39
+ # * {UnauthorizedException}
39
40
  #
40
41
  # Additionally, error classes are dynamically generated for service errors based on the error code
41
42
  # if they are not defined above.
@@ -203,5 +204,20 @@ module Aws::IoTSiteWise
203
204
  end
204
205
  end
205
206
 
207
+ class UnauthorizedException < ServiceError
208
+
209
+ # @param [Seahorse::Client::RequestContext] context
210
+ # @param [String] message
211
+ # @param [Aws::IoTSiteWise::Types::UnauthorizedException] data
212
+ def initialize(context, message, data = Aws::EmptyStructure.new)
213
+ super(context, message, data)
214
+ end
215
+
216
+ # @return [String]
217
+ def message
218
+ @message || @data[:message]
219
+ end
220
+ end
221
+
206
222
  end
207
223
  end
@@ -112,6 +112,36 @@ module Aws::IoTSiteWise
112
112
  include Aws::Structure
113
113
  end
114
114
 
115
+ # Contains information about a composite model in an asset. This object
116
+ # contains the asset's properties that you define in the composite
117
+ # model.
118
+ #
119
+ # @!attribute [rw] name
120
+ # The name of the composite model.
121
+ # @return [String]
122
+ #
123
+ # @!attribute [rw] description
124
+ # The description of the composite model.
125
+ # @return [String]
126
+ #
127
+ # @!attribute [rw] type
128
+ # The type of the composite model. For alarm composite models, this
129
+ # type is `AWS/ALARM`.
130
+ # @return [String]
131
+ #
132
+ # @!attribute [rw] properties
133
+ # The asset properties that this composite model defines.
134
+ # @return [Array<Types::AssetProperty>]
135
+ #
136
+ class AssetCompositeModel < Struct.new(
137
+ :name,
138
+ :description,
139
+ :type,
140
+ :properties)
141
+ SENSITIVE = []
142
+ include Aws::Structure
143
+ end
144
+
115
145
  # Contains error details for the requested associate project asset
116
146
  # action.
117
147
  #
@@ -158,6 +188,191 @@ module Aws::IoTSiteWise
158
188
  include Aws::Structure
159
189
  end
160
190
 
191
+ # Contains information about a parent asset and a child asset that are
192
+ # related through an asset hierarchy.
193
+ #
194
+ # @!attribute [rw] parent_asset_id
195
+ # The ID of the parent asset in this asset relationship.
196
+ # @return [String]
197
+ #
198
+ # @!attribute [rw] child_asset_id
199
+ # The ID of the child asset in this asset relationship.
200
+ # @return [String]
201
+ #
202
+ class AssetHierarchyInfo < Struct.new(
203
+ :parent_asset_id,
204
+ :child_asset_id)
205
+ SENSITIVE = []
206
+ include Aws::Structure
207
+ end
208
+
209
+ # Contains information about a composite model in an asset model. This
210
+ # object contains the asset property definitions that you define in the
211
+ # composite model.
212
+ #
213
+ # @note When making an API call, you may pass AssetModelCompositeModel
214
+ # data as a hash:
215
+ #
216
+ # {
217
+ # name: "Name", # required
218
+ # description: "Description",
219
+ # type: "Name", # required
220
+ # properties: [
221
+ # {
222
+ # id: "ID",
223
+ # name: "Name", # required
224
+ # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN, STRUCT
225
+ # data_type_spec: "Name",
226
+ # unit: "PropertyUnit",
227
+ # type: { # required
228
+ # attribute: {
229
+ # default_value: "DefaultValue",
230
+ # },
231
+ # measurement: {
232
+ # },
233
+ # transform: {
234
+ # expression: "Expression", # required
235
+ # variables: [ # required
236
+ # {
237
+ # name: "VariableName", # required
238
+ # value: { # required
239
+ # property_id: "Macro", # required
240
+ # hierarchy_id: "Macro",
241
+ # },
242
+ # },
243
+ # ],
244
+ # },
245
+ # metric: {
246
+ # expression: "Expression", # required
247
+ # variables: [ # required
248
+ # {
249
+ # name: "VariableName", # required
250
+ # value: { # required
251
+ # property_id: "Macro", # required
252
+ # hierarchy_id: "Macro",
253
+ # },
254
+ # },
255
+ # ],
256
+ # window: { # required
257
+ # tumbling: {
258
+ # interval: "Interval", # required
259
+ # },
260
+ # },
261
+ # },
262
+ # },
263
+ # },
264
+ # ],
265
+ # }
266
+ #
267
+ # @!attribute [rw] name
268
+ # The name of the composite model.
269
+ # @return [String]
270
+ #
271
+ # @!attribute [rw] description
272
+ # The description of the composite model.
273
+ # @return [String]
274
+ #
275
+ # @!attribute [rw] type
276
+ # The type of the composite model. For alarm composite models, this
277
+ # type is `AWS/ALARM`.
278
+ # @return [String]
279
+ #
280
+ # @!attribute [rw] properties
281
+ # The asset property definitions for this composite model.
282
+ # @return [Array<Types::AssetModelProperty>]
283
+ #
284
+ class AssetModelCompositeModel < Struct.new(
285
+ :name,
286
+ :description,
287
+ :type,
288
+ :properties)
289
+ SENSITIVE = []
290
+ include Aws::Structure
291
+ end
292
+
293
+ # Contains a composite model definition in an asset model. This
294
+ # composite model definition is applied to all assets created from the
295
+ # asset model.
296
+ #
297
+ # @note When making an API call, you may pass AssetModelCompositeModelDefinition
298
+ # data as a hash:
299
+ #
300
+ # {
301
+ # name: "Name", # required
302
+ # description: "Description",
303
+ # type: "Name", # required
304
+ # properties: [
305
+ # {
306
+ # name: "Name", # required
307
+ # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN, STRUCT
308
+ # data_type_spec: "Name",
309
+ # unit: "PropertyUnit",
310
+ # type: { # required
311
+ # attribute: {
312
+ # default_value: "DefaultValue",
313
+ # },
314
+ # measurement: {
315
+ # },
316
+ # transform: {
317
+ # expression: "Expression", # required
318
+ # variables: [ # required
319
+ # {
320
+ # name: "VariableName", # required
321
+ # value: { # required
322
+ # property_id: "Macro", # required
323
+ # hierarchy_id: "Macro",
324
+ # },
325
+ # },
326
+ # ],
327
+ # },
328
+ # metric: {
329
+ # expression: "Expression", # required
330
+ # variables: [ # required
331
+ # {
332
+ # name: "VariableName", # required
333
+ # value: { # required
334
+ # property_id: "Macro", # required
335
+ # hierarchy_id: "Macro",
336
+ # },
337
+ # },
338
+ # ],
339
+ # window: { # required
340
+ # tumbling: {
341
+ # interval: "Interval", # required
342
+ # },
343
+ # },
344
+ # },
345
+ # },
346
+ # },
347
+ # ],
348
+ # }
349
+ #
350
+ # @!attribute [rw] name
351
+ # The name of the composite model.
352
+ # @return [String]
353
+ #
354
+ # @!attribute [rw] description
355
+ # The description of the composite model.
356
+ # @return [String]
357
+ #
358
+ # @!attribute [rw] type
359
+ # The type of the composite model. For alarm composite models, this
360
+ # type is `AWS/ALARM`.
361
+ # @return [String]
362
+ #
363
+ # @!attribute [rw] properties
364
+ # The asset property definitions for this composite model.
365
+ # @return [Array<Types::AssetModelPropertyDefinition>]
366
+ #
367
+ class AssetModelCompositeModelDefinition < Struct.new(
368
+ :name,
369
+ :description,
370
+ :type,
371
+ :properties)
372
+ SENSITIVE = []
373
+ include Aws::Structure
374
+ end
375
+
161
376
  # Describes an asset hierarchy that contains a hierarchy's name, ID,
162
377
  # and child asset model ID that specifies the type of asset that can be
163
378
  # in this hierarchy.
@@ -239,7 +454,8 @@ module Aws::IoTSiteWise
239
454
  # {
240
455
  # id: "ID",
241
456
  # name: "Name", # required
242
- # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN
457
+ # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN, STRUCT
458
+ # data_type_spec: "Name",
243
459
  # unit: "PropertyUnit",
244
460
  # type: { # required
245
461
  # attribute: {
@@ -291,6 +507,11 @@ module Aws::IoTSiteWise
291
507
  # The data type of the asset model property.
292
508
  # @return [String]
293
509
  #
510
+ # @!attribute [rw] data_type_spec
511
+ # The data type of the structure for this property. This parameter
512
+ # exists on properties that have the `STRUCT` data type.
513
+ # @return [String]
514
+ #
294
515
  # @!attribute [rw] unit
295
516
  # The unit of the asset model property, such as `Newtons` or `RPM`.
296
517
  # @return [String]
@@ -303,6 +524,7 @@ module Aws::IoTSiteWise
303
524
  :id,
304
525
  :name,
305
526
  :data_type,
527
+ :data_type_spec,
306
528
  :unit,
307
529
  :type)
308
530
  SENSITIVE = []
@@ -317,7 +539,8 @@ module Aws::IoTSiteWise
317
539
  #
318
540
  # {
319
541
  # name: "Name", # required
320
- # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN
542
+ # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN, STRUCT
543
+ # data_type_spec: "Name",
321
544
  # unit: "PropertyUnit",
322
545
  # type: { # required
323
546
  # attribute: {
@@ -363,6 +586,18 @@ module Aws::IoTSiteWise
363
586
  #
364
587
  # @!attribute [rw] data_type
365
588
  # The data type of the property definition.
589
+ #
590
+ # If you specify `STRUCT`, you must also specify `dataTypeSpec` to
591
+ # identify the type of the structure for this property.
592
+ # @return [String]
593
+ #
594
+ # @!attribute [rw] data_type_spec
595
+ # The data type of the structure for this property. This parameter is
596
+ # required on properties that have the `STRUCT` data type.
597
+ #
598
+ # The options for this parameter depend on the type of the composite
599
+ # model in which you define this property. Use `AWS/ALARM_STATE` for
600
+ # alarm state in alarm composite models.
366
601
  # @return [String]
367
602
  #
368
603
  # @!attribute [rw] unit
@@ -377,6 +612,7 @@ module Aws::IoTSiteWise
377
612
  class AssetModelPropertyDefinition < Struct.new(
378
613
  :name,
379
614
  :data_type,
615
+ :data_type_spec,
380
616
  :unit,
381
617
  :type)
382
618
  SENSITIVE = []
@@ -489,6 +725,11 @@ module Aws::IoTSiteWise
489
725
  # The data type of the asset property.
490
726
  # @return [String]
491
727
  #
728
+ # @!attribute [rw] data_type_spec
729
+ # The data type of the structure for this property. This parameter
730
+ # exists on properties that have the `STRUCT` data type.
731
+ # @return [String]
732
+ #
492
733
  # @!attribute [rw] unit
493
734
  # The unit (such as `Newtons` or `RPM`) of the asset property.
494
735
  # @return [String]
@@ -499,6 +740,7 @@ module Aws::IoTSiteWise
499
740
  :alias,
500
741
  :notification,
501
742
  :data_type,
743
+ :data_type_spec,
502
744
  :unit)
503
745
  SENSITIVE = []
504
746
  include Aws::Structure
@@ -543,6 +785,32 @@ module Aws::IoTSiteWise
543
785
  include Aws::Structure
544
786
  end
545
787
 
788
+ # Contains information about assets that are related to one another.
789
+ #
790
+ # @!attribute [rw] hierarchy_info
791
+ # The assets that are related through an asset hierarchy.
792
+ #
793
+ # This object is present if the `relationshipType` is `HIERARCHY`.
794
+ # @return [Types::AssetHierarchyInfo]
795
+ #
796
+ # @!attribute [rw] relationship_type
797
+ # The relationship type of the assets in this relationship. This value
798
+ # is one of the following:
799
+ #
800
+ # * `HIERARCHY` – The assets are related through an asset hierarchy.
801
+ # If you specify this relationship type, this asset relationship
802
+ # includes the `hierarchyInfo` object.
803
+ #
804
+ # ^
805
+ # @return [String]
806
+ #
807
+ class AssetRelationshipSummary < Struct.new(
808
+ :hierarchy_info,
809
+ :relationship_type)
810
+ SENSITIVE = []
811
+ include Aws::Structure
812
+ end
813
+
546
814
  # Contains information about the current status of an asset. For more
547
815
  # information, see [Asset and model states][1] in the *AWS IoT SiteWise
548
816
  # User Guide*.
@@ -937,10 +1205,36 @@ 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
+ #
940
1232
  # @!attribute [rw] code
1233
+ # The error code.
941
1234
  # @return [String]
942
1235
  #
943
1236
  # @!attribute [rw] message
1237
+ # The error message.
944
1238
  # @return [String]
945
1239
  #
946
1240
  class ConfigurationErrorDetails < Struct.new(
@@ -950,10 +1244,14 @@ module Aws::IoTSiteWise
950
1244
  include Aws::Structure
951
1245
  end
952
1246
 
1247
+ # Contains current status information for the configuration.
1248
+ #
953
1249
  # @!attribute [rw] state
1250
+ # The current state of the configuration.
954
1251
  # @return [String]
955
1252
  #
956
1253
  # @!attribute [rw] error
1254
+ # Contains associated error information, if any.
957
1255
  # @return [Types::ConfigurationErrorDetails]
958
1256
  #
959
1257
  class ConfigurationStatus < Struct.new(
@@ -1090,7 +1388,8 @@ module Aws::IoTSiteWise
1090
1388
  # asset_model_properties: [
1091
1389
  # {
1092
1390
  # name: "Name", # required
1093
- # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN
1391
+ # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN, STRUCT
1392
+ # data_type_spec: "Name",
1094
1393
  # unit: "PropertyUnit",
1095
1394
  # type: { # required
1096
1395
  # attribute: {
@@ -1136,6 +1435,57 @@ module Aws::IoTSiteWise
1136
1435
  # child_asset_model_id: "ID", # required
1137
1436
  # },
1138
1437
  # ],
1438
+ # asset_model_composite_models: [
1439
+ # {
1440
+ # name: "Name", # required
1441
+ # description: "Description",
1442
+ # type: "Name", # required
1443
+ # properties: [
1444
+ # {
1445
+ # name: "Name", # required
1446
+ # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN, STRUCT
1447
+ # data_type_spec: "Name",
1448
+ # unit: "PropertyUnit",
1449
+ # type: { # required
1450
+ # attribute: {
1451
+ # default_value: "DefaultValue",
1452
+ # },
1453
+ # measurement: {
1454
+ # },
1455
+ # transform: {
1456
+ # expression: "Expression", # required
1457
+ # variables: [ # required
1458
+ # {
1459
+ # name: "VariableName", # required
1460
+ # value: { # required
1461
+ # property_id: "Macro", # required
1462
+ # hierarchy_id: "Macro",
1463
+ # },
1464
+ # },
1465
+ # ],
1466
+ # },
1467
+ # metric: {
1468
+ # expression: "Expression", # required
1469
+ # variables: [ # required
1470
+ # {
1471
+ # name: "VariableName", # required
1472
+ # value: { # required
1473
+ # property_id: "Macro", # required
1474
+ # hierarchy_id: "Macro",
1475
+ # },
1476
+ # },
1477
+ # ],
1478
+ # window: { # required
1479
+ # tumbling: {
1480
+ # interval: "Interval", # required
1481
+ # },
1482
+ # },
1483
+ # },
1484
+ # },
1485
+ # },
1486
+ # ],
1487
+ # },
1488
+ # ],
1139
1489
  # client_token: "ClientToken",
1140
1490
  # tags: {
1141
1491
  # "TagKey" => "TagValue",
@@ -1178,6 +1528,14 @@ module Aws::IoTSiteWise
1178
1528
  # [2]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html
1179
1529
  # @return [Array<Types::AssetModelHierarchyDefinition>]
1180
1530
  #
1531
+ # @!attribute [rw] asset_model_composite_models
1532
+ # The composite asset models that are part of this asset model.
1533
+ # Composite asset models are asset models that contain specific
1534
+ # properties. Each composite model has a type that defines the
1535
+ # properties that the composite model supports. Use composite asset
1536
+ # models to define alarms on this asset model.
1537
+ # @return [Array<Types::AssetModelCompositeModelDefinition>]
1538
+ #
1181
1539
  # @!attribute [rw] client_token
1182
1540
  # A unique case-sensitive identifier that you can provide to ensure
1183
1541
  # the idempotency of the request. Don't reuse this client token if a
@@ -1202,6 +1560,7 @@ module Aws::IoTSiteWise
1202
1560
  :asset_model_description,
1203
1561
  :asset_model_properties,
1204
1562
  :asset_model_hierarchies,
1563
+ :asset_model_composite_models,
1205
1564
  :client_token,
1206
1565
  :tags)
1207
1566
  SENSITIVE = []
@@ -1542,10 +1901,8 @@ module Aws::IoTSiteWise
1542
1901
  # Regions.
1543
1902
  #
1544
1903
  # * `IAM` – The portal uses AWS Identity and Access Management (IAM)
1545
- # to authenticate users and manage user permissions. IAM users must
1546
- # have the `iotsitewise:CreatePresignedPortalUrl` permission to sign
1547
- # in to the portal. This option is only available in the China
1548
- # Regions.
1904
+ # to authenticate users and manage user permissions. This option is
1905
+ # only available in the China Regions.
1549
1906
  #
1550
1907
  # You can't change this value after you create a portal.
1551
1908
  #
@@ -1586,13 +1943,8 @@ module Aws::IoTSiteWise
1586
1943
  # @!attribute [rw] portal_start_url
1587
1944
  # The URL for the AWS IoT SiteWise Monitor portal. You can use this
1588
1945
  # URL to access portals that use AWS SSO for authentication. For
1589
- # portals that use IAM for authentication, you must use the
1590
- # [CreatePresignedPortalUrl][1] operation to create a URL that you can
1591
- # use to access the portal.
1592
- #
1593
- #
1594
- #
1595
- # [1]: https://docs.aws.amazon.com/AWS IoT SiteWise API ReferenceAPI_CreatePresignedPortalUrl.html
1946
+ # portals that use IAM for authentication, you must use the AWS IoT
1947
+ # SiteWise console to get a URL that you can use to access the portal.
1596
1948
  # @return [String]
1597
1949
  #
1598
1950
  # @!attribute [rw] portal_status
@@ -1614,45 +1966,6 @@ module Aws::IoTSiteWise
1614
1966
  include Aws::Structure
1615
1967
  end
1616
1968
 
1617
- # @note When making an API call, you may pass CreatePresignedPortalUrlRequest
1618
- # data as a hash:
1619
- #
1620
- # {
1621
- # portal_id: "ID", # required
1622
- # session_duration_seconds: 1,
1623
- # }
1624
- #
1625
- # @!attribute [rw] portal_id
1626
- # The ID of the portal to access.
1627
- # @return [String]
1628
- #
1629
- # @!attribute [rw] session_duration_seconds
1630
- # The duration (in seconds) for which the session at the URL is valid.
1631
- #
1632
- # Default: 43,200 seconds (12 hours)
1633
- # @return [Integer]
1634
- #
1635
- class CreatePresignedPortalUrlRequest < Struct.new(
1636
- :portal_id,
1637
- :session_duration_seconds)
1638
- SENSITIVE = []
1639
- include Aws::Structure
1640
- end
1641
-
1642
- # @!attribute [rw] presigned_portal_url
1643
- # The pre-signed URL to the portal. The URL contains the portal ID and
1644
- # an authentication token that lets you access the portal. The URL has
1645
- # the following format.
1646
- #
1647
- # `https://<portal-id>.app.iotsitewise.aws/iam?token=<encrypted-token>`
1648
- # @return [String]
1649
- #
1650
- class CreatePresignedPortalUrlResponse < Struct.new(
1651
- :presigned_portal_url)
1652
- SENSITIVE = []
1653
- include Aws::Structure
1654
- end
1655
-
1656
1969
  # @note When making an API call, you may pass CreateProjectRequest
1657
1970
  # data as a hash:
1658
1971
  #
@@ -2091,6 +2404,10 @@ module Aws::IoTSiteWise
2091
2404
  #
2092
2405
  # @!attribute [rw] asset_model_properties
2093
2406
  # The list of asset properties for the asset model.
2407
+ #
2408
+ # This object doesn't include properties that you define in composite
2409
+ # models. You can find composite model properties in the
2410
+ # `assetModelCompositeModels` object.
2094
2411
  # @return [Array<Types::AssetModelProperty>]
2095
2412
  #
2096
2413
  # @!attribute [rw] asset_model_hierarchies
@@ -2100,6 +2417,10 @@ module Aws::IoTSiteWise
2100
2417
  # model.
2101
2418
  # @return [Array<Types::AssetModelHierarchy>]
2102
2419
  #
2420
+ # @!attribute [rw] asset_model_composite_models
2421
+ # The list of composite asset models for the asset model.
2422
+ # @return [Array<Types::AssetModelCompositeModel>]
2423
+ #
2103
2424
  # @!attribute [rw] asset_model_creation_date
2104
2425
  # The date the asset model was created, in Unix epoch time.
2105
2426
  # @return [Time]
@@ -2120,6 +2441,7 @@ module Aws::IoTSiteWise
2120
2441
  :asset_model_description,
2121
2442
  :asset_model_properties,
2122
2443
  :asset_model_hierarchies,
2444
+ :asset_model_composite_models,
2123
2445
  :asset_model_creation_date,
2124
2446
  :asset_model_last_update_date,
2125
2447
  :asset_model_status)
@@ -2164,13 +2486,23 @@ module Aws::IoTSiteWise
2164
2486
  #
2165
2487
  # @!attribute [rw] asset_property
2166
2488
  # The asset property's definition, alias, and notification state.
2489
+ #
2490
+ # This response includes this object for normal asset properties. If
2491
+ # you describe an asset property in a composite model, this response
2492
+ # includes the asset property information in `compositeModel`.
2167
2493
  # @return [Types::Property]
2168
2494
  #
2495
+ # @!attribute [rw] composite_model
2496
+ # The composite asset model that declares this asset property, if this
2497
+ # asset property exists in a composite model.
2498
+ # @return [Types::CompositeModelProperty]
2499
+ #
2169
2500
  class DescribeAssetPropertyResponse < Struct.new(
2170
2501
  :asset_id,
2171
2502
  :asset_name,
2172
2503
  :asset_model_id,
2173
- :asset_property)
2504
+ :asset_property,
2505
+ :composite_model)
2174
2506
  SENSITIVE = []
2175
2507
  include Aws::Structure
2176
2508
  end
@@ -2216,6 +2548,10 @@ module Aws::IoTSiteWise
2216
2548
  #
2217
2549
  # @!attribute [rw] asset_properties
2218
2550
  # The list of asset properties for the asset.
2551
+ #
2552
+ # This object doesn't include properties that you define in composite
2553
+ # models. You can find composite model properties in the
2554
+ # `assetCompositeModels` object.
2219
2555
  # @return [Array<Types::AssetProperty>]
2220
2556
  #
2221
2557
  # @!attribute [rw] asset_hierarchies
@@ -2223,6 +2559,10 @@ module Aws::IoTSiteWise
2223
2559
  # hierarchy specifies allowed parent/child asset relationships.
2224
2560
  # @return [Array<Types::AssetHierarchy>]
2225
2561
  #
2562
+ # @!attribute [rw] asset_composite_models
2563
+ # The composite models for the asset.
2564
+ # @return [Array<Types::AssetCompositeModel>]
2565
+ #
2226
2566
  # @!attribute [rw] asset_creation_date
2227
2567
  # The date the asset was created, in Unix epoch time.
2228
2568
  # @return [Time]
@@ -2243,6 +2583,7 @@ module Aws::IoTSiteWise
2243
2583
  :asset_model_id,
2244
2584
  :asset_properties,
2245
2585
  :asset_hierarchies,
2586
+ :asset_composite_models,
2246
2587
  :asset_creation_date,
2247
2588
  :asset_last_update_date,
2248
2589
  :asset_status)
@@ -2549,13 +2890,8 @@ module Aws::IoTSiteWise
2549
2890
  # @!attribute [rw] portal_start_url
2550
2891
  # The URL for the AWS IoT SiteWise Monitor portal. You can use this
2551
2892
  # URL to access portals that use AWS SSO for authentication. For
2552
- # portals that use IAM for authentication, you must use the
2553
- # [CreatePresignedPortalUrl][1] operation to create a URL that you can
2554
- # use to access the portal.
2555
- #
2556
- #
2557
- #
2558
- # [1]: https://docs.aws.amazon.com/AWS IoT SiteWise API ReferenceAPI_CreatePresignedPortalUrl.html
2893
+ # portals that use IAM for authentication, you must use the AWS IoT
2894
+ # SiteWise console to get a URL that you can use to access the portal.
2559
2895
  # @return [String]
2560
2896
  #
2561
2897
  # @!attribute [rw] portal_contact_email
@@ -3175,10 +3511,8 @@ module Aws::IoTSiteWise
3175
3511
  # }
3176
3512
  #
3177
3513
  # @!attribute [rw] arn
3178
- # The ARN of the IAM user. IAM users must have the
3179
- # `iotsitewise:CreatePresignedPortalUrl` permission to sign in to the
3180
- # portal. For more information, see [IAM ARNs][1] in the *IAM User
3181
- # Guide*.
3514
+ # The ARN of the IAM user. For more information, see [IAM ARNs][1] in
3515
+ # the *IAM User Guide*.
3182
3516
  #
3183
3517
  # <note markdown="1"> If you delete the IAM user, access policies that contain this
3184
3518
  # identity include an empty `arn`. You can delete the access policy
@@ -3492,6 +3826,65 @@ module Aws::IoTSiteWise
3492
3826
  include Aws::Structure
3493
3827
  end
3494
3828
 
3829
+ # @note When making an API call, you may pass ListAssetRelationshipsRequest
3830
+ # data as a hash:
3831
+ #
3832
+ # {
3833
+ # asset_id: "ID", # required
3834
+ # traversal_type: "PATH_TO_ROOT", # required, accepts PATH_TO_ROOT
3835
+ # next_token: "NextToken",
3836
+ # max_results: 1,
3837
+ # }
3838
+ #
3839
+ # @!attribute [rw] asset_id
3840
+ # The ID of the asset.
3841
+ # @return [String]
3842
+ #
3843
+ # @!attribute [rw] traversal_type
3844
+ # The type of traversal to use to identify asset relationships. Choose
3845
+ # the following option:
3846
+ #
3847
+ # * `PATH_TO_ROOT` – Identify the asset's parent assets up to the
3848
+ # root asset. The asset that you specify in `assetId` is the first
3849
+ # result in the list of `assetRelationshipSummaries`, and the root
3850
+ # asset is the last result.
3851
+ #
3852
+ # ^
3853
+ # @return [String]
3854
+ #
3855
+ # @!attribute [rw] next_token
3856
+ # The token to be used for the next set of paginated results.
3857
+ # @return [String]
3858
+ #
3859
+ # @!attribute [rw] max_results
3860
+ # The maximum number of results to be returned per paginated request.
3861
+ # @return [Integer]
3862
+ #
3863
+ class ListAssetRelationshipsRequest < Struct.new(
3864
+ :asset_id,
3865
+ :traversal_type,
3866
+ :next_token,
3867
+ :max_results)
3868
+ SENSITIVE = []
3869
+ include Aws::Structure
3870
+ end
3871
+
3872
+ # @!attribute [rw] asset_relationship_summaries
3873
+ # A list that summarizes each asset relationship.
3874
+ # @return [Array<Types::AssetRelationshipSummary>]
3875
+ #
3876
+ # @!attribute [rw] next_token
3877
+ # The token for the next set of results, or null if there are no
3878
+ # additional results.
3879
+ # @return [String]
3880
+ #
3881
+ class ListAssetRelationshipsResponse < Struct.new(
3882
+ :asset_relationship_summaries,
3883
+ :next_token)
3884
+ SENSITIVE = []
3885
+ include Aws::Structure
3886
+ end
3887
+
3495
3888
  # @note When making an API call, you may pass ListAssetsRequest
3496
3889
  # data as a hash:
3497
3890
  #
@@ -4089,13 +4482,8 @@ module Aws::IoTSiteWise
4089
4482
  # @!attribute [rw] start_url
4090
4483
  # The URL for the AWS IoT SiteWise Monitor portal. You can use this
4091
4484
  # URL to access portals that use AWS SSO for authentication. For
4092
- # portals that use IAM for authentication, you must use the
4093
- # [CreatePresignedPortalUrl][1] operation to create a URL that you can
4094
- # use to access the portal.
4095
- #
4096
- #
4097
- #
4098
- # [1]: https://docs.aws.amazon.com/AWS IoT SiteWise API ReferenceAPI_CreatePresignedPortalUrl.html
4485
+ # portals that use IAM for authentication, you must use the AWS IoT
4486
+ # SiteWise console to get a URL that you can use to access the portal.
4099
4487
  # @return [String]
4100
4488
  #
4101
4489
  # @!attribute [rw] creation_date
@@ -4756,6 +5144,17 @@ module Aws::IoTSiteWise
4756
5144
  include Aws::Structure
4757
5145
  end
4758
5146
 
5147
+ # You are not authorized.
5148
+ #
5149
+ # @!attribute [rw] message
5150
+ # @return [String]
5151
+ #
5152
+ class UnauthorizedException < Struct.new(
5153
+ :message)
5154
+ SENSITIVE = []
5155
+ include Aws::Structure
5156
+ end
5157
+
4759
5158
  # @note When making an API call, you may pass UntagResourceRequest
4760
5159
  # data as a hash:
4761
5160
  #
@@ -4864,7 +5263,8 @@ module Aws::IoTSiteWise
4864
5263
  # {
4865
5264
  # id: "ID",
4866
5265
  # name: "Name", # required
4867
- # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN
5266
+ # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN, STRUCT
5267
+ # data_type_spec: "Name",
4868
5268
  # unit: "PropertyUnit",
4869
5269
  # type: { # required
4870
5270
  # attribute: {
@@ -4911,6 +5311,58 @@ module Aws::IoTSiteWise
4911
5311
  # child_asset_model_id: "ID", # required
4912
5312
  # },
4913
5313
  # ],
5314
+ # asset_model_composite_models: [
5315
+ # {
5316
+ # name: "Name", # required
5317
+ # description: "Description",
5318
+ # type: "Name", # required
5319
+ # properties: [
5320
+ # {
5321
+ # id: "ID",
5322
+ # name: "Name", # required
5323
+ # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN, STRUCT
5324
+ # data_type_spec: "Name",
5325
+ # unit: "PropertyUnit",
5326
+ # type: { # required
5327
+ # attribute: {
5328
+ # default_value: "DefaultValue",
5329
+ # },
5330
+ # measurement: {
5331
+ # },
5332
+ # transform: {
5333
+ # expression: "Expression", # required
5334
+ # variables: [ # required
5335
+ # {
5336
+ # name: "VariableName", # required
5337
+ # value: { # required
5338
+ # property_id: "Macro", # required
5339
+ # hierarchy_id: "Macro",
5340
+ # },
5341
+ # },
5342
+ # ],
5343
+ # },
5344
+ # metric: {
5345
+ # expression: "Expression", # required
5346
+ # variables: [ # required
5347
+ # {
5348
+ # name: "VariableName", # required
5349
+ # value: { # required
5350
+ # property_id: "Macro", # required
5351
+ # hierarchy_id: "Macro",
5352
+ # },
5353
+ # },
5354
+ # ],
5355
+ # window: { # required
5356
+ # tumbling: {
5357
+ # interval: "Interval", # required
5358
+ # },
5359
+ # },
5360
+ # },
5361
+ # },
5362
+ # },
5363
+ # ],
5364
+ # },
5365
+ # ],
4914
5366
  # client_token: "ClientToken",
4915
5367
  # }
4916
5368
  #
@@ -4955,6 +5407,14 @@ module Aws::IoTSiteWise
4955
5407
  # [2]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html
4956
5408
  # @return [Array<Types::AssetModelHierarchy>]
4957
5409
  #
5410
+ # @!attribute [rw] asset_model_composite_models
5411
+ # The composite asset models that are part of this asset model.
5412
+ # Composite asset models are asset models that contain specific
5413
+ # properties. Each composite model has a type that defines the
5414
+ # properties that the composite model supports. Use composite asset
5415
+ # models to define alarms on this asset model.
5416
+ # @return [Array<Types::AssetModelCompositeModel>]
5417
+ #
4958
5418
  # @!attribute [rw] client_token
4959
5419
  # A unique case-sensitive identifier that you can provide to ensure
4960
5420
  # the idempotency of the request. Don't reuse this client token if a
@@ -4970,6 +5430,7 @@ module Aws::IoTSiteWise
4970
5430
  :asset_model_description,
4971
5431
  :asset_model_properties,
4972
5432
  :asset_model_hierarchies,
5433
+ :asset_model_composite_models,
4973
5434
  :client_token)
4974
5435
  SENSITIVE = []
4975
5436
  include Aws::Structure