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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ac4b695574efbb800c7b7fb99d8b5df540b14e4667763e13584da1a88124ad44
4
- data.tar.gz: 65be80a4c8c44ad80e4d2051ecd015ffbd9eedf7fd2d0f9c5c122bb10e92f795
3
+ metadata.gz: c1c4250665f98d39db5d87fa06f8cbb5eb64e2b0c897745513eacd2cad614269
4
+ data.tar.gz: 7c2cfb619ae75781cab4b9fc07cb25914604099bdd8a61635c499ed59ba8da54
5
5
  SHA512:
6
- metadata.gz: 1636c172907f9c13a3707bbe27ba578190c31b4c5e8fe1b93973ad5fe3b093f8229fc119c97cb17f78d1773681871bd8994efbcf86cef49af33162abaaa822d3
7
- data.tar.gz: 4c6397f8d3188110528769dbcfed58d2e1d6047761c62dd8d96c76e09f4cfcd38706389d851f49981b49bc5dbfd7ce1991b0f12486a8259545865ba22b72da40
6
+ metadata.gz: 5233fff7d8634c01cc76e27c632d3a4d62ed82f0caaa4e4c5f5249e52867bc4900c084bf8583fe644b77fd7d0379dac72eb4ebbe0f7527f6459fb5f1bce565b5
7
+ data.tar.gz: a0ed13dfa5515767b07cb1ee258746ba72a843f776d2f23629057f339a5791649bf10f295365697667a0f2e969571e50ade08813d4f01be1e239b664fbcd8810
@@ -49,6 +49,6 @@ require_relative 'aws-sdk-iotsitewise/customizations'
49
49
  # @!group service
50
50
  module Aws::IoTSiteWise
51
51
 
52
- GEM_VERSION = '1.15.0'
52
+ GEM_VERSION = '1.16.0'
53
53
 
54
54
  end
@@ -477,10 +477,10 @@ module Aws::IoTSiteWise
477
477
  # property's alias, see [UpdateAssetProperty][2].
478
478
  #
479
479
  # With respect to Unix epoch time, AWS IoT SiteWise accepts only TQVs
480
- # that have a timestamp of no more than 15 minutes in the past and no
481
- # more than 5 minutes in the future. AWS IoT SiteWise rejects timestamps
482
- # outside of the inclusive range of \[-15, +5\] minutes and returns a
483
- # `TimestampOutOfRangeException` error.
480
+ # that have a timestamp of no more than 7 days in the past and no more
481
+ # than 5 minutes in the future. AWS IoT SiteWise rejects timestamps
482
+ # outside of the inclusive range of \[-7 days, +5 minutes\] and returns
483
+ # a `TimestampOutOfRangeException` error.
484
484
  #
485
485
  # For each asset property, AWS IoT SiteWise overwrites TQVs with
486
486
  # duplicate timestamps unless the newer TQV has a different quality. For
@@ -736,6 +736,13 @@ module Aws::IoTSiteWise
736
736
  # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html
737
737
  # [2]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html
738
738
  #
739
+ # @option params [Array<Types::AssetModelCompositeModelDefinition>] :asset_model_composite_models
740
+ # The composite asset models that are part of this asset model.
741
+ # Composite asset models are asset models that contain specific
742
+ # properties. Each composite model has a type that defines the
743
+ # properties that the composite model supports. Use composite asset
744
+ # models to define alarms on this asset model.
745
+ #
739
746
  # @option params [String] :client_token
740
747
  # A unique case-sensitive identifier that you can provide to ensure the
741
748
  # idempotency of the request. Don't reuse this client token if a new
@@ -767,7 +774,8 @@ module Aws::IoTSiteWise
767
774
  # asset_model_properties: [
768
775
  # {
769
776
  # name: "Name", # required
770
- # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN
777
+ # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN, STRUCT
778
+ # data_type_spec: "Name",
771
779
  # unit: "PropertyUnit",
772
780
  # type: { # required
773
781
  # attribute: {
@@ -813,6 +821,57 @@ module Aws::IoTSiteWise
813
821
  # child_asset_model_id: "ID", # required
814
822
  # },
815
823
  # ],
824
+ # asset_model_composite_models: [
825
+ # {
826
+ # name: "Name", # required
827
+ # description: "Description",
828
+ # type: "Name", # required
829
+ # properties: [
830
+ # {
831
+ # name: "Name", # required
832
+ # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN, STRUCT
833
+ # data_type_spec: "Name",
834
+ # unit: "PropertyUnit",
835
+ # type: { # required
836
+ # attribute: {
837
+ # default_value: "DefaultValue",
838
+ # },
839
+ # measurement: {
840
+ # },
841
+ # transform: {
842
+ # expression: "Expression", # required
843
+ # variables: [ # required
844
+ # {
845
+ # name: "VariableName", # required
846
+ # value: { # required
847
+ # property_id: "Macro", # required
848
+ # hierarchy_id: "Macro",
849
+ # },
850
+ # },
851
+ # ],
852
+ # },
853
+ # metric: {
854
+ # expression: "Expression", # required
855
+ # variables: [ # required
856
+ # {
857
+ # name: "VariableName", # required
858
+ # value: { # required
859
+ # property_id: "Macro", # required
860
+ # hierarchy_id: "Macro",
861
+ # },
862
+ # },
863
+ # ],
864
+ # window: { # required
865
+ # tumbling: {
866
+ # interval: "Interval", # required
867
+ # },
868
+ # },
869
+ # },
870
+ # },
871
+ # },
872
+ # ],
873
+ # },
874
+ # ],
816
875
  # client_token: "ClientToken",
817
876
  # tags: {
818
877
  # "TagKey" => "TagValue",
@@ -1024,9 +1083,8 @@ module Aws::IoTSiteWise
1024
1083
  # Regions.
1025
1084
  #
1026
1085
  # * `IAM` – The portal uses AWS Identity and Access Management (IAM) to
1027
- # authenticate users and manage user permissions. IAM users must have
1028
- # the `iotsitewise:CreatePresignedPortalUrl` permission to sign in to
1029
- # the portal. This option is only available in the China Regions.
1086
+ # authenticate users and manage user permissions. This option is only
1087
+ # available in the China Regions.
1030
1088
  #
1031
1089
  # You can't change this value after you create a portal.
1032
1090
  #
@@ -1079,42 +1137,6 @@ module Aws::IoTSiteWise
1079
1137
  req.send_request(options)
1080
1138
  end
1081
1139
 
1082
- # Creates a pre-signed URL to a portal. Use this operation to create
1083
- # URLs to portals that use AWS Identity and Access Management (IAM) to
1084
- # authenticate users. An IAM user with access to a portal can call this
1085
- # API to get a URL to that portal. The URL contains an authentication
1086
- # token that lets the IAM user access the portal.
1087
- #
1088
- # @option params [required, String] :portal_id
1089
- # The ID of the portal to access.
1090
- #
1091
- # @option params [Integer] :session_duration_seconds
1092
- # The duration (in seconds) for which the session at the URL is valid.
1093
- #
1094
- # Default: 43,200 seconds (12 hours)
1095
- #
1096
- # @return [Types::CreatePresignedPortalUrlResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1097
- #
1098
- # * {Types::CreatePresignedPortalUrlResponse#presigned_portal_url #presigned_portal_url} => String
1099
- #
1100
- # @example Request syntax with placeholder values
1101
- #
1102
- # resp = client.create_presigned_portal_url({
1103
- # portal_id: "ID", # required
1104
- # session_duration_seconds: 1,
1105
- # })
1106
- #
1107
- # @example Response structure
1108
- #
1109
- # resp.presigned_portal_url #=> String
1110
- #
1111
- # @overload create_presigned_portal_url(params = {})
1112
- # @param [Hash] params ({})
1113
- def create_presigned_portal_url(params = {}, options = {})
1114
- req = build_request(:create_presigned_portal_url, params)
1115
- req.send_request(options)
1116
- end
1117
-
1118
1140
  # Creates a project in the specified portal.
1119
1141
  #
1120
1142
  # @option params [required, String] :portal_id
@@ -1469,6 +1491,7 @@ module Aws::IoTSiteWise
1469
1491
  # * {Types::DescribeAssetResponse#asset_model_id #asset_model_id} => String
1470
1492
  # * {Types::DescribeAssetResponse#asset_properties #asset_properties} => Array&lt;Types::AssetProperty&gt;
1471
1493
  # * {Types::DescribeAssetResponse#asset_hierarchies #asset_hierarchies} => Array&lt;Types::AssetHierarchy&gt;
1494
+ # * {Types::DescribeAssetResponse#asset_composite_models #asset_composite_models} => Array&lt;Types::AssetCompositeModel&gt;
1472
1495
  # * {Types::DescribeAssetResponse#asset_creation_date #asset_creation_date} => Time
1473
1496
  # * {Types::DescribeAssetResponse#asset_last_update_date #asset_last_update_date} => Time
1474
1497
  # * {Types::DescribeAssetResponse#asset_status #asset_status} => Types::AssetStatus
@@ -1491,11 +1514,25 @@ module Aws::IoTSiteWise
1491
1514
  # resp.asset_properties[0].alias #=> String
1492
1515
  # resp.asset_properties[0].notification.topic #=> String
1493
1516
  # resp.asset_properties[0].notification.state #=> String, one of "ENABLED", "DISABLED"
1494
- # resp.asset_properties[0].data_type #=> String, one of "STRING", "INTEGER", "DOUBLE", "BOOLEAN"
1517
+ # resp.asset_properties[0].data_type #=> String, one of "STRING", "INTEGER", "DOUBLE", "BOOLEAN", "STRUCT"
1518
+ # resp.asset_properties[0].data_type_spec #=> String
1495
1519
  # resp.asset_properties[0].unit #=> String
1496
1520
  # resp.asset_hierarchies #=> Array
1497
1521
  # resp.asset_hierarchies[0].id #=> String
1498
1522
  # resp.asset_hierarchies[0].name #=> String
1523
+ # resp.asset_composite_models #=> Array
1524
+ # resp.asset_composite_models[0].name #=> String
1525
+ # resp.asset_composite_models[0].description #=> String
1526
+ # resp.asset_composite_models[0].type #=> String
1527
+ # resp.asset_composite_models[0].properties #=> Array
1528
+ # resp.asset_composite_models[0].properties[0].id #=> String
1529
+ # resp.asset_composite_models[0].properties[0].name #=> String
1530
+ # resp.asset_composite_models[0].properties[0].alias #=> String
1531
+ # resp.asset_composite_models[0].properties[0].notification.topic #=> String
1532
+ # resp.asset_composite_models[0].properties[0].notification.state #=> String, one of "ENABLED", "DISABLED"
1533
+ # resp.asset_composite_models[0].properties[0].data_type #=> String, one of "STRING", "INTEGER", "DOUBLE", "BOOLEAN", "STRUCT"
1534
+ # resp.asset_composite_models[0].properties[0].data_type_spec #=> String
1535
+ # resp.asset_composite_models[0].properties[0].unit #=> String
1499
1536
  # resp.asset_creation_date #=> Time
1500
1537
  # resp.asset_last_update_date #=> Time
1501
1538
  # resp.asset_status.state #=> String, one of "CREATING", "ACTIVE", "UPDATING", "DELETING", "FAILED"
@@ -1528,6 +1565,7 @@ module Aws::IoTSiteWise
1528
1565
  # * {Types::DescribeAssetModelResponse#asset_model_description #asset_model_description} => String
1529
1566
  # * {Types::DescribeAssetModelResponse#asset_model_properties #asset_model_properties} => Array&lt;Types::AssetModelProperty&gt;
1530
1567
  # * {Types::DescribeAssetModelResponse#asset_model_hierarchies #asset_model_hierarchies} => Array&lt;Types::AssetModelHierarchy&gt;
1568
+ # * {Types::DescribeAssetModelResponse#asset_model_composite_models #asset_model_composite_models} => Array&lt;Types::AssetModelCompositeModel&gt;
1531
1569
  # * {Types::DescribeAssetModelResponse#asset_model_creation_date #asset_model_creation_date} => Time
1532
1570
  # * {Types::DescribeAssetModelResponse#asset_model_last_update_date #asset_model_last_update_date} => Time
1533
1571
  # * {Types::DescribeAssetModelResponse#asset_model_status #asset_model_status} => Types::AssetModelStatus
@@ -1547,7 +1585,8 @@ module Aws::IoTSiteWise
1547
1585
  # resp.asset_model_properties #=> Array
1548
1586
  # resp.asset_model_properties[0].id #=> String
1549
1587
  # resp.asset_model_properties[0].name #=> String
1550
- # resp.asset_model_properties[0].data_type #=> String, one of "STRING", "INTEGER", "DOUBLE", "BOOLEAN"
1588
+ # resp.asset_model_properties[0].data_type #=> String, one of "STRING", "INTEGER", "DOUBLE", "BOOLEAN", "STRUCT"
1589
+ # resp.asset_model_properties[0].data_type_spec #=> String
1551
1590
  # resp.asset_model_properties[0].unit #=> String
1552
1591
  # resp.asset_model_properties[0].type.attribute.default_value #=> String
1553
1592
  # resp.asset_model_properties[0].type.transform.expression #=> String
@@ -1565,6 +1604,28 @@ module Aws::IoTSiteWise
1565
1604
  # resp.asset_model_hierarchies[0].id #=> String
1566
1605
  # resp.asset_model_hierarchies[0].name #=> String
1567
1606
  # resp.asset_model_hierarchies[0].child_asset_model_id #=> String
1607
+ # resp.asset_model_composite_models #=> Array
1608
+ # resp.asset_model_composite_models[0].name #=> String
1609
+ # resp.asset_model_composite_models[0].description #=> String
1610
+ # resp.asset_model_composite_models[0].type #=> String
1611
+ # resp.asset_model_composite_models[0].properties #=> Array
1612
+ # resp.asset_model_composite_models[0].properties[0].id #=> String
1613
+ # resp.asset_model_composite_models[0].properties[0].name #=> String
1614
+ # resp.asset_model_composite_models[0].properties[0].data_type #=> String, one of "STRING", "INTEGER", "DOUBLE", "BOOLEAN", "STRUCT"
1615
+ # resp.asset_model_composite_models[0].properties[0].data_type_spec #=> String
1616
+ # resp.asset_model_composite_models[0].properties[0].unit #=> String
1617
+ # resp.asset_model_composite_models[0].properties[0].type.attribute.default_value #=> String
1618
+ # resp.asset_model_composite_models[0].properties[0].type.transform.expression #=> String
1619
+ # resp.asset_model_composite_models[0].properties[0].type.transform.variables #=> Array
1620
+ # resp.asset_model_composite_models[0].properties[0].type.transform.variables[0].name #=> String
1621
+ # resp.asset_model_composite_models[0].properties[0].type.transform.variables[0].value.property_id #=> String
1622
+ # resp.asset_model_composite_models[0].properties[0].type.transform.variables[0].value.hierarchy_id #=> String
1623
+ # resp.asset_model_composite_models[0].properties[0].type.metric.expression #=> String
1624
+ # resp.asset_model_composite_models[0].properties[0].type.metric.variables #=> Array
1625
+ # resp.asset_model_composite_models[0].properties[0].type.metric.variables[0].name #=> String
1626
+ # resp.asset_model_composite_models[0].properties[0].type.metric.variables[0].value.property_id #=> String
1627
+ # resp.asset_model_composite_models[0].properties[0].type.metric.variables[0].value.hierarchy_id #=> String
1628
+ # resp.asset_model_composite_models[0].properties[0].type.metric.window.tumbling.interval #=> String
1568
1629
  # resp.asset_model_creation_date #=> Time
1569
1630
  # resp.asset_model_last_update_date #=> Time
1570
1631
  # resp.asset_model_status.state #=> String, one of "CREATING", "ACTIVE", "UPDATING", "PROPAGATING", "DELETING", "FAILED"
@@ -1612,6 +1673,7 @@ module Aws::IoTSiteWise
1612
1673
  # * {Types::DescribeAssetPropertyResponse#asset_name #asset_name} => String
1613
1674
  # * {Types::DescribeAssetPropertyResponse#asset_model_id #asset_model_id} => String
1614
1675
  # * {Types::DescribeAssetPropertyResponse#asset_property #asset_property} => Types::Property
1676
+ # * {Types::DescribeAssetPropertyResponse#composite_model #composite_model} => Types::CompositeModelProperty
1615
1677
  #
1616
1678
  # @example Request syntax with placeholder values
1617
1679
  #
@@ -1630,7 +1692,7 @@ module Aws::IoTSiteWise
1630
1692
  # resp.asset_property.alias #=> String
1631
1693
  # resp.asset_property.notification.topic #=> String
1632
1694
  # resp.asset_property.notification.state #=> String, one of "ENABLED", "DISABLED"
1633
- # resp.asset_property.data_type #=> String, one of "STRING", "INTEGER", "DOUBLE", "BOOLEAN"
1695
+ # resp.asset_property.data_type #=> String, one of "STRING", "INTEGER", "DOUBLE", "BOOLEAN", "STRUCT"
1634
1696
  # resp.asset_property.unit #=> String
1635
1697
  # resp.asset_property.type.attribute.default_value #=> String
1636
1698
  # resp.asset_property.type.transform.expression #=> String
@@ -1644,6 +1706,27 @@ module Aws::IoTSiteWise
1644
1706
  # resp.asset_property.type.metric.variables[0].value.property_id #=> String
1645
1707
  # resp.asset_property.type.metric.variables[0].value.hierarchy_id #=> String
1646
1708
  # resp.asset_property.type.metric.window.tumbling.interval #=> String
1709
+ # resp.composite_model.name #=> String
1710
+ # resp.composite_model.type #=> String
1711
+ # resp.composite_model.asset_property.id #=> String
1712
+ # resp.composite_model.asset_property.name #=> String
1713
+ # resp.composite_model.asset_property.alias #=> String
1714
+ # resp.composite_model.asset_property.notification.topic #=> String
1715
+ # resp.composite_model.asset_property.notification.state #=> String, one of "ENABLED", "DISABLED"
1716
+ # resp.composite_model.asset_property.data_type #=> String, one of "STRING", "INTEGER", "DOUBLE", "BOOLEAN", "STRUCT"
1717
+ # resp.composite_model.asset_property.unit #=> String
1718
+ # resp.composite_model.asset_property.type.attribute.default_value #=> String
1719
+ # resp.composite_model.asset_property.type.transform.expression #=> String
1720
+ # resp.composite_model.asset_property.type.transform.variables #=> Array
1721
+ # resp.composite_model.asset_property.type.transform.variables[0].name #=> String
1722
+ # resp.composite_model.asset_property.type.transform.variables[0].value.property_id #=> String
1723
+ # resp.composite_model.asset_property.type.transform.variables[0].value.hierarchy_id #=> String
1724
+ # resp.composite_model.asset_property.type.metric.expression #=> String
1725
+ # resp.composite_model.asset_property.type.metric.variables #=> Array
1726
+ # resp.composite_model.asset_property.type.metric.variables[0].name #=> String
1727
+ # resp.composite_model.asset_property.type.metric.variables[0].value.property_id #=> String
1728
+ # resp.composite_model.asset_property.type.metric.variables[0].value.hierarchy_id #=> String
1729
+ # resp.composite_model.asset_property.type.metric.window.tumbling.interval #=> String
1647
1730
  #
1648
1731
  # @overload describe_asset_property(params = {})
1649
1732
  # @param [Hash] params ({})
@@ -2360,6 +2443,61 @@ module Aws::IoTSiteWise
2360
2443
  req.send_request(options)
2361
2444
  end
2362
2445
 
2446
+ # Retrieves a paginated list of asset relationships for an asset. You
2447
+ # can use this operation to identify an asset's root asset and all
2448
+ # associated assets between that asset and its root.
2449
+ #
2450
+ # @option params [required, String] :asset_id
2451
+ # The ID of the asset.
2452
+ #
2453
+ # @option params [required, String] :traversal_type
2454
+ # The type of traversal to use to identify asset relationships. Choose
2455
+ # the following option:
2456
+ #
2457
+ # * `PATH_TO_ROOT` – Identify the asset's parent assets up to the root
2458
+ # asset. The asset that you specify in `assetId` is the first result
2459
+ # in the list of `assetRelationshipSummaries`, and the root asset is
2460
+ # the last result.
2461
+ #
2462
+ # ^
2463
+ #
2464
+ # @option params [String] :next_token
2465
+ # The token to be used for the next set of paginated results.
2466
+ #
2467
+ # @option params [Integer] :max_results
2468
+ # The maximum number of results to be returned per paginated request.
2469
+ #
2470
+ # @return [Types::ListAssetRelationshipsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2471
+ #
2472
+ # * {Types::ListAssetRelationshipsResponse#asset_relationship_summaries #asset_relationship_summaries} => Array&lt;Types::AssetRelationshipSummary&gt;
2473
+ # * {Types::ListAssetRelationshipsResponse#next_token #next_token} => String
2474
+ #
2475
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2476
+ #
2477
+ # @example Request syntax with placeholder values
2478
+ #
2479
+ # resp = client.list_asset_relationships({
2480
+ # asset_id: "ID", # required
2481
+ # traversal_type: "PATH_TO_ROOT", # required, accepts PATH_TO_ROOT
2482
+ # next_token: "NextToken",
2483
+ # max_results: 1,
2484
+ # })
2485
+ #
2486
+ # @example Response structure
2487
+ #
2488
+ # resp.asset_relationship_summaries #=> Array
2489
+ # resp.asset_relationship_summaries[0].hierarchy_info.parent_asset_id #=> String
2490
+ # resp.asset_relationship_summaries[0].hierarchy_info.child_asset_id #=> String
2491
+ # resp.asset_relationship_summaries[0].relationship_type #=> String, one of "HIERARCHY"
2492
+ # resp.next_token #=> String
2493
+ #
2494
+ # @overload list_asset_relationships(params = {})
2495
+ # @param [Hash] params ({})
2496
+ def list_asset_relationships(params = {}, options = {})
2497
+ req = build_request(:list_asset_relationships, params)
2498
+ req.send_request(options)
2499
+ end
2500
+
2363
2501
  # Retrieves a paginated list of asset summaries.
2364
2502
  #
2365
2503
  # You can use this operation to do the following:
@@ -3081,6 +3219,13 @@ module Aws::IoTSiteWise
3081
3219
  # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html
3082
3220
  # [2]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html
3083
3221
  #
3222
+ # @option params [Array<Types::AssetModelCompositeModel>] :asset_model_composite_models
3223
+ # The composite asset models that are part of this asset model.
3224
+ # Composite asset models are asset models that contain specific
3225
+ # properties. Each composite model has a type that defines the
3226
+ # properties that the composite model supports. Use composite asset
3227
+ # models to define alarms on this asset model.
3228
+ #
3084
3229
  # @option params [String] :client_token
3085
3230
  # A unique case-sensitive identifier that you can provide to ensure the
3086
3231
  # idempotency of the request. Don't reuse this client token if a new
@@ -3103,7 +3248,8 @@ module Aws::IoTSiteWise
3103
3248
  # {
3104
3249
  # id: "ID",
3105
3250
  # name: "Name", # required
3106
- # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN
3251
+ # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN, STRUCT
3252
+ # data_type_spec: "Name",
3107
3253
  # unit: "PropertyUnit",
3108
3254
  # type: { # required
3109
3255
  # attribute: {
@@ -3150,6 +3296,58 @@ module Aws::IoTSiteWise
3150
3296
  # child_asset_model_id: "ID", # required
3151
3297
  # },
3152
3298
  # ],
3299
+ # asset_model_composite_models: [
3300
+ # {
3301
+ # name: "Name", # required
3302
+ # description: "Description",
3303
+ # type: "Name", # required
3304
+ # properties: [
3305
+ # {
3306
+ # id: "ID",
3307
+ # name: "Name", # required
3308
+ # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN, STRUCT
3309
+ # data_type_spec: "Name",
3310
+ # unit: "PropertyUnit",
3311
+ # type: { # required
3312
+ # attribute: {
3313
+ # default_value: "DefaultValue",
3314
+ # },
3315
+ # measurement: {
3316
+ # },
3317
+ # transform: {
3318
+ # expression: "Expression", # required
3319
+ # variables: [ # required
3320
+ # {
3321
+ # name: "VariableName", # required
3322
+ # value: { # required
3323
+ # property_id: "Macro", # required
3324
+ # hierarchy_id: "Macro",
3325
+ # },
3326
+ # },
3327
+ # ],
3328
+ # },
3329
+ # metric: {
3330
+ # expression: "Expression", # required
3331
+ # variables: [ # required
3332
+ # {
3333
+ # name: "VariableName", # required
3334
+ # value: { # required
3335
+ # property_id: "Macro", # required
3336
+ # hierarchy_id: "Macro",
3337
+ # },
3338
+ # },
3339
+ # ],
3340
+ # window: { # required
3341
+ # tumbling: {
3342
+ # interval: "Interval", # required
3343
+ # },
3344
+ # },
3345
+ # },
3346
+ # },
3347
+ # },
3348
+ # ],
3349
+ # },
3350
+ # ],
3153
3351
  # client_token: "ClientToken",
3154
3352
  # })
3155
3353
  #
@@ -3491,7 +3689,7 @@ module Aws::IoTSiteWise
3491
3689
  params: params,
3492
3690
  config: config)
3493
3691
  context[:gem_name] = 'aws-sdk-iotsitewise'
3494
- context[:gem_version] = '1.15.0'
3692
+ context[:gem_version] = '1.16.0'
3495
3693
  Seahorse::Client::Request.new(handlers, context)
3496
3694
  end
3497
3695
 
@@ -23,12 +23,19 @@ module Aws::IoTSiteWise
23
23
  AggregatedValues = Shapes::ListShape.new(name: 'AggregatedValues')
24
24
  Aggregates = Shapes::StructureShape.new(name: 'Aggregates')
25
25
  AmazonResourceName = Shapes::StringShape.new(name: 'AmazonResourceName')
26
+ AssetCompositeModel = Shapes::StructureShape.new(name: 'AssetCompositeModel')
27
+ AssetCompositeModels = Shapes::ListShape.new(name: 'AssetCompositeModels')
26
28
  AssetErrorCode = Shapes::StringShape.new(name: 'AssetErrorCode')
27
29
  AssetErrorDetails = Shapes::StructureShape.new(name: 'AssetErrorDetails')
28
30
  AssetErrorMessage = Shapes::StringShape.new(name: 'AssetErrorMessage')
29
31
  AssetHierarchies = Shapes::ListShape.new(name: 'AssetHierarchies')
30
32
  AssetHierarchy = Shapes::StructureShape.new(name: 'AssetHierarchy')
33
+ AssetHierarchyInfo = Shapes::StructureShape.new(name: 'AssetHierarchyInfo')
31
34
  AssetIDs = Shapes::ListShape.new(name: 'AssetIDs')
35
+ AssetModelCompositeModel = Shapes::StructureShape.new(name: 'AssetModelCompositeModel')
36
+ AssetModelCompositeModelDefinition = Shapes::StructureShape.new(name: 'AssetModelCompositeModelDefinition')
37
+ AssetModelCompositeModelDefinitions = Shapes::ListShape.new(name: 'AssetModelCompositeModelDefinitions')
38
+ AssetModelCompositeModels = Shapes::ListShape.new(name: 'AssetModelCompositeModels')
32
39
  AssetModelHierarchies = Shapes::ListShape.new(name: 'AssetModelHierarchies')
33
40
  AssetModelHierarchy = Shapes::StructureShape.new(name: 'AssetModelHierarchy')
34
41
  AssetModelHierarchyDefinition = Shapes::StructureShape.new(name: 'AssetModelHierarchyDefinition')
@@ -47,6 +54,9 @@ module Aws::IoTSiteWise
47
54
  AssetPropertyValue = Shapes::StructureShape.new(name: 'AssetPropertyValue')
48
55
  AssetPropertyValueHistory = Shapes::ListShape.new(name: 'AssetPropertyValueHistory')
49
56
  AssetPropertyValues = Shapes::ListShape.new(name: 'AssetPropertyValues')
57
+ AssetRelationshipSummaries = Shapes::ListShape.new(name: 'AssetRelationshipSummaries')
58
+ AssetRelationshipSummary = Shapes::StructureShape.new(name: 'AssetRelationshipSummary')
59
+ AssetRelationshipType = Shapes::StringShape.new(name: 'AssetRelationshipType')
50
60
  AssetState = Shapes::StringShape.new(name: 'AssetState')
51
61
  AssetStatus = Shapes::StructureShape.new(name: 'AssetStatus')
52
62
  AssetSummaries = Shapes::ListShape.new(name: 'AssetSummaries')
@@ -73,6 +83,7 @@ module Aws::IoTSiteWise
73
83
  CapabilityNamespace = Shapes::StringShape.new(name: 'CapabilityNamespace')
74
84
  CapabilitySyncStatus = Shapes::StringShape.new(name: 'CapabilitySyncStatus')
75
85
  ClientToken = Shapes::StringShape.new(name: 'ClientToken')
86
+ CompositeModelProperty = Shapes::StructureShape.new(name: 'CompositeModelProperty')
76
87
  ConfigurationErrorDetails = Shapes::StructureShape.new(name: 'ConfigurationErrorDetails')
77
88
  ConfigurationState = Shapes::StringShape.new(name: 'ConfigurationState')
78
89
  ConfigurationStatus = Shapes::StructureShape.new(name: 'ConfigurationStatus')
@@ -89,8 +100,6 @@ module Aws::IoTSiteWise
89
100
  CreateGatewayResponse = Shapes::StructureShape.new(name: 'CreateGatewayResponse')
90
101
  CreatePortalRequest = Shapes::StructureShape.new(name: 'CreatePortalRequest')
91
102
  CreatePortalResponse = Shapes::StructureShape.new(name: 'CreatePortalResponse')
92
- CreatePresignedPortalUrlRequest = Shapes::StructureShape.new(name: 'CreatePresignedPortalUrlRequest')
93
- CreatePresignedPortalUrlResponse = Shapes::StructureShape.new(name: 'CreatePresignedPortalUrlResponse')
94
103
  CreateProjectRequest = Shapes::StructureShape.new(name: 'CreateProjectRequest')
95
104
  CreateProjectResponse = Shapes::StructureShape.new(name: 'CreateProjectResponse')
96
105
  DashboardDefinition = Shapes::StringShape.new(name: 'DashboardDefinition')
@@ -177,6 +186,8 @@ module Aws::IoTSiteWise
177
186
  ListAccessPoliciesResponse = Shapes::StructureShape.new(name: 'ListAccessPoliciesResponse')
178
187
  ListAssetModelsRequest = Shapes::StructureShape.new(name: 'ListAssetModelsRequest')
179
188
  ListAssetModelsResponse = Shapes::StructureShape.new(name: 'ListAssetModelsResponse')
189
+ ListAssetRelationshipsRequest = Shapes::StructureShape.new(name: 'ListAssetRelationshipsRequest')
190
+ ListAssetRelationshipsResponse = Shapes::StructureShape.new(name: 'ListAssetRelationshipsResponse')
180
191
  ListAssetsFilter = Shapes::StringShape.new(name: 'ListAssetsFilter')
181
192
  ListAssetsRequest = Shapes::StructureShape.new(name: 'ListAssetsRequest')
182
193
  ListAssetsResponse = Shapes::StructureShape.new(name: 'ListAssetsResponse')
@@ -246,7 +257,6 @@ module Aws::IoTSiteWise
246
257
  ResourceType = Shapes::StringShape.new(name: 'ResourceType')
247
258
  SSOApplicationId = Shapes::StringShape.new(name: 'SSOApplicationId')
248
259
  ServiceUnavailableException = Shapes::StructureShape.new(name: 'ServiceUnavailableException')
249
- SessionDurationSeconds = Shapes::IntegerShape.new(name: 'SessionDurationSeconds')
250
260
  TagKey = Shapes::StringShape.new(name: 'TagKey')
251
261
  TagKeyList = Shapes::ListShape.new(name: 'TagKeyList')
252
262
  TagMap = Shapes::MapShape.new(name: 'TagMap')
@@ -262,7 +272,9 @@ module Aws::IoTSiteWise
262
272
  TooManyTagsException = Shapes::StructureShape.new(name: 'TooManyTagsException')
263
273
  Transform = Shapes::StructureShape.new(name: 'Transform')
264
274
  TraversalDirection = Shapes::StringShape.new(name: 'TraversalDirection')
275
+ TraversalType = Shapes::StringShape.new(name: 'TraversalType')
265
276
  TumblingWindow = Shapes::StructureShape.new(name: 'TumblingWindow')
277
+ UnauthorizedException = Shapes::StructureShape.new(name: 'UnauthorizedException')
266
278
  UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
267
279
  UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
268
280
  UpdateAccessPolicyRequest = Shapes::StructureShape.new(name: 'UpdateAccessPolicyRequest')
@@ -314,6 +326,14 @@ module Aws::IoTSiteWise
314
326
  Aggregates.add_member(:standard_deviation, Shapes::ShapeRef.new(shape: AggregatedDoubleValue, location_name: "standardDeviation"))
315
327
  Aggregates.struct_class = Types::Aggregates
316
328
 
329
+ AssetCompositeModel.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "name"))
330
+ AssetCompositeModel.add_member(:description, Shapes::ShapeRef.new(shape: Description, location_name: "description"))
331
+ AssetCompositeModel.add_member(:type, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "type"))
332
+ AssetCompositeModel.add_member(:properties, Shapes::ShapeRef.new(shape: AssetProperties, required: true, location_name: "properties"))
333
+ AssetCompositeModel.struct_class = Types::AssetCompositeModel
334
+
335
+ AssetCompositeModels.member = Shapes::ShapeRef.new(shape: AssetCompositeModel)
336
+
317
337
  AssetErrorDetails.add_member(:asset_id, Shapes::ShapeRef.new(shape: ID, required: true, location_name: "assetId"))
318
338
  AssetErrorDetails.add_member(:code, Shapes::ShapeRef.new(shape: AssetErrorCode, required: true, location_name: "code"))
319
339
  AssetErrorDetails.add_member(:message, Shapes::ShapeRef.new(shape: AssetErrorMessage, required: true, location_name: "message"))
@@ -325,8 +345,28 @@ module Aws::IoTSiteWise
325
345
  AssetHierarchy.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "name"))
326
346
  AssetHierarchy.struct_class = Types::AssetHierarchy
327
347
 
348
+ AssetHierarchyInfo.add_member(:parent_asset_id, Shapes::ShapeRef.new(shape: ID, location_name: "parentAssetId"))
349
+ AssetHierarchyInfo.add_member(:child_asset_id, Shapes::ShapeRef.new(shape: ID, location_name: "childAssetId"))
350
+ AssetHierarchyInfo.struct_class = Types::AssetHierarchyInfo
351
+
328
352
  AssetIDs.member = Shapes::ShapeRef.new(shape: ID)
329
353
 
354
+ AssetModelCompositeModel.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "name"))
355
+ AssetModelCompositeModel.add_member(:description, Shapes::ShapeRef.new(shape: Description, location_name: "description"))
356
+ AssetModelCompositeModel.add_member(:type, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "type"))
357
+ AssetModelCompositeModel.add_member(:properties, Shapes::ShapeRef.new(shape: AssetModelProperties, location_name: "properties"))
358
+ AssetModelCompositeModel.struct_class = Types::AssetModelCompositeModel
359
+
360
+ AssetModelCompositeModelDefinition.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "name"))
361
+ AssetModelCompositeModelDefinition.add_member(:description, Shapes::ShapeRef.new(shape: Description, location_name: "description"))
362
+ AssetModelCompositeModelDefinition.add_member(:type, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "type"))
363
+ AssetModelCompositeModelDefinition.add_member(:properties, Shapes::ShapeRef.new(shape: AssetModelPropertyDefinitions, location_name: "properties"))
364
+ AssetModelCompositeModelDefinition.struct_class = Types::AssetModelCompositeModelDefinition
365
+
366
+ AssetModelCompositeModelDefinitions.member = Shapes::ShapeRef.new(shape: AssetModelCompositeModelDefinition)
367
+
368
+ AssetModelCompositeModels.member = Shapes::ShapeRef.new(shape: AssetModelCompositeModel)
369
+
330
370
  AssetModelHierarchies.member = Shapes::ShapeRef.new(shape: AssetModelHierarchy)
331
371
 
332
372
  AssetModelHierarchy.add_member(:id, Shapes::ShapeRef.new(shape: ID, location_name: "id"))
@@ -345,12 +385,14 @@ module Aws::IoTSiteWise
345
385
  AssetModelProperty.add_member(:id, Shapes::ShapeRef.new(shape: ID, location_name: "id"))
346
386
  AssetModelProperty.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "name"))
347
387
  AssetModelProperty.add_member(:data_type, Shapes::ShapeRef.new(shape: PropertyDataType, required: true, location_name: "dataType"))
388
+ AssetModelProperty.add_member(:data_type_spec, Shapes::ShapeRef.new(shape: Name, location_name: "dataTypeSpec"))
348
389
  AssetModelProperty.add_member(:unit, Shapes::ShapeRef.new(shape: PropertyUnit, location_name: "unit"))
349
390
  AssetModelProperty.add_member(:type, Shapes::ShapeRef.new(shape: PropertyType, required: true, location_name: "type"))
350
391
  AssetModelProperty.struct_class = Types::AssetModelProperty
351
392
 
352
393
  AssetModelPropertyDefinition.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "name"))
353
394
  AssetModelPropertyDefinition.add_member(:data_type, Shapes::ShapeRef.new(shape: PropertyDataType, required: true, location_name: "dataType"))
395
+ AssetModelPropertyDefinition.add_member(:data_type_spec, Shapes::ShapeRef.new(shape: Name, location_name: "dataTypeSpec"))
354
396
  AssetModelPropertyDefinition.add_member(:unit, Shapes::ShapeRef.new(shape: PropertyUnit, location_name: "unit"))
355
397
  AssetModelPropertyDefinition.add_member(:type, Shapes::ShapeRef.new(shape: PropertyType, required: true, location_name: "type"))
356
398
  AssetModelPropertyDefinition.struct_class = Types::AssetModelPropertyDefinition
@@ -379,6 +421,7 @@ module Aws::IoTSiteWise
379
421
  AssetProperty.add_member(:alias, Shapes::ShapeRef.new(shape: PropertyAlias, location_name: "alias"))
380
422
  AssetProperty.add_member(:notification, Shapes::ShapeRef.new(shape: PropertyNotification, location_name: "notification"))
381
423
  AssetProperty.add_member(:data_type, Shapes::ShapeRef.new(shape: PropertyDataType, required: true, location_name: "dataType"))
424
+ AssetProperty.add_member(:data_type_spec, Shapes::ShapeRef.new(shape: Name, location_name: "dataTypeSpec"))
382
425
  AssetProperty.add_member(:unit, Shapes::ShapeRef.new(shape: PropertyUnit, location_name: "unit"))
383
426
  AssetProperty.struct_class = Types::AssetProperty
384
427
 
@@ -391,6 +434,12 @@ module Aws::IoTSiteWise
391
434
 
392
435
  AssetPropertyValues.member = Shapes::ShapeRef.new(shape: AssetPropertyValue)
393
436
 
437
+ AssetRelationshipSummaries.member = Shapes::ShapeRef.new(shape: AssetRelationshipSummary)
438
+
439
+ AssetRelationshipSummary.add_member(:hierarchy_info, Shapes::ShapeRef.new(shape: AssetHierarchyInfo, location_name: "hierarchyInfo"))
440
+ AssetRelationshipSummary.add_member(:relationship_type, Shapes::ShapeRef.new(shape: AssetRelationshipType, required: true, location_name: "relationshipType"))
441
+ AssetRelationshipSummary.struct_class = Types::AssetRelationshipSummary
442
+
394
443
  AssetStatus.add_member(:state, Shapes::ShapeRef.new(shape: AssetState, required: true, location_name: "state"))
395
444
  AssetStatus.add_member(:error, Shapes::ShapeRef.new(shape: ErrorDetails, location_name: "error"))
396
445
  AssetStatus.struct_class = Types::AssetStatus
@@ -467,6 +516,11 @@ module Aws::IoTSiteWise
467
516
  BatchPutAssetPropertyValueResponse.add_member(:error_entries, Shapes::ShapeRef.new(shape: BatchPutAssetPropertyErrorEntries, required: true, location_name: "errorEntries"))
468
517
  BatchPutAssetPropertyValueResponse.struct_class = Types::BatchPutAssetPropertyValueResponse
469
518
 
519
+ CompositeModelProperty.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "name"))
520
+ CompositeModelProperty.add_member(:type, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "type"))
521
+ CompositeModelProperty.add_member(:asset_property, Shapes::ShapeRef.new(shape: Property, required: true, location_name: "assetProperty"))
522
+ CompositeModelProperty.struct_class = Types::CompositeModelProperty
523
+
470
524
  ConfigurationErrorDetails.add_member(:code, Shapes::ShapeRef.new(shape: ErrorCode, required: true, location_name: "code"))
471
525
  ConfigurationErrorDetails.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, required: true, location_name: "message"))
472
526
  ConfigurationErrorDetails.struct_class = Types::ConfigurationErrorDetails
@@ -495,6 +549,7 @@ module Aws::IoTSiteWise
495
549
  CreateAssetModelRequest.add_member(:asset_model_description, Shapes::ShapeRef.new(shape: Description, location_name: "assetModelDescription"))
496
550
  CreateAssetModelRequest.add_member(:asset_model_properties, Shapes::ShapeRef.new(shape: AssetModelPropertyDefinitions, location_name: "assetModelProperties"))
497
551
  CreateAssetModelRequest.add_member(:asset_model_hierarchies, Shapes::ShapeRef.new(shape: AssetModelHierarchyDefinitions, location_name: "assetModelHierarchies"))
552
+ CreateAssetModelRequest.add_member(:asset_model_composite_models, Shapes::ShapeRef.new(shape: AssetModelCompositeModelDefinitions, location_name: "assetModelCompositeModels"))
498
553
  CreateAssetModelRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location_name: "clientToken", metadata: {"idempotencyToken"=>true}))
499
554
  CreateAssetModelRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
500
555
  CreateAssetModelRequest.struct_class = Types::CreateAssetModelRequest
@@ -553,13 +608,6 @@ module Aws::IoTSiteWise
553
608
  CreatePortalResponse.add_member(:sso_application_id, Shapes::ShapeRef.new(shape: SSOApplicationId, required: true, location_name: "ssoApplicationId"))
554
609
  CreatePortalResponse.struct_class = Types::CreatePortalResponse
555
610
 
556
- CreatePresignedPortalUrlRequest.add_member(:portal_id, Shapes::ShapeRef.new(shape: ID, required: true, location: "uri", location_name: "portalId"))
557
- CreatePresignedPortalUrlRequest.add_member(:session_duration_seconds, Shapes::ShapeRef.new(shape: SessionDurationSeconds, location: "querystring", location_name: "sessionDurationSeconds"))
558
- CreatePresignedPortalUrlRequest.struct_class = Types::CreatePresignedPortalUrlRequest
559
-
560
- CreatePresignedPortalUrlResponse.add_member(:presigned_portal_url, Shapes::ShapeRef.new(shape: Url, required: true, location_name: "presignedPortalUrl"))
561
- CreatePresignedPortalUrlResponse.struct_class = Types::CreatePresignedPortalUrlResponse
562
-
563
611
  CreateProjectRequest.add_member(:portal_id, Shapes::ShapeRef.new(shape: ID, required: true, location_name: "portalId"))
564
612
  CreateProjectRequest.add_member(:project_name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "projectName"))
565
613
  CreateProjectRequest.add_member(:project_description, Shapes::ShapeRef.new(shape: Description, location_name: "projectDescription"))
@@ -643,6 +691,7 @@ module Aws::IoTSiteWise
643
691
  DescribeAssetModelResponse.add_member(:asset_model_description, Shapes::ShapeRef.new(shape: Description, required: true, location_name: "assetModelDescription"))
644
692
  DescribeAssetModelResponse.add_member(:asset_model_properties, Shapes::ShapeRef.new(shape: AssetModelProperties, required: true, location_name: "assetModelProperties"))
645
693
  DescribeAssetModelResponse.add_member(:asset_model_hierarchies, Shapes::ShapeRef.new(shape: AssetModelHierarchies, required: true, location_name: "assetModelHierarchies"))
694
+ DescribeAssetModelResponse.add_member(:asset_model_composite_models, Shapes::ShapeRef.new(shape: AssetModelCompositeModels, location_name: "assetModelCompositeModels"))
646
695
  DescribeAssetModelResponse.add_member(:asset_model_creation_date, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "assetModelCreationDate"))
647
696
  DescribeAssetModelResponse.add_member(:asset_model_last_update_date, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "assetModelLastUpdateDate"))
648
697
  DescribeAssetModelResponse.add_member(:asset_model_status, Shapes::ShapeRef.new(shape: AssetModelStatus, required: true, location_name: "assetModelStatus"))
@@ -655,7 +704,8 @@ module Aws::IoTSiteWise
655
704
  DescribeAssetPropertyResponse.add_member(:asset_id, Shapes::ShapeRef.new(shape: ID, required: true, location_name: "assetId"))
656
705
  DescribeAssetPropertyResponse.add_member(:asset_name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "assetName"))
657
706
  DescribeAssetPropertyResponse.add_member(:asset_model_id, Shapes::ShapeRef.new(shape: ID, required: true, location_name: "assetModelId"))
658
- DescribeAssetPropertyResponse.add_member(:asset_property, Shapes::ShapeRef.new(shape: Property, required: true, location_name: "assetProperty"))
707
+ DescribeAssetPropertyResponse.add_member(:asset_property, Shapes::ShapeRef.new(shape: Property, location_name: "assetProperty"))
708
+ DescribeAssetPropertyResponse.add_member(:composite_model, Shapes::ShapeRef.new(shape: CompositeModelProperty, location_name: "compositeModel"))
659
709
  DescribeAssetPropertyResponse.struct_class = Types::DescribeAssetPropertyResponse
660
710
 
661
711
  DescribeAssetRequest.add_member(:asset_id, Shapes::ShapeRef.new(shape: ID, required: true, location: "uri", location_name: "assetId"))
@@ -667,6 +717,7 @@ module Aws::IoTSiteWise
667
717
  DescribeAssetResponse.add_member(:asset_model_id, Shapes::ShapeRef.new(shape: ID, required: true, location_name: "assetModelId"))
668
718
  DescribeAssetResponse.add_member(:asset_properties, Shapes::ShapeRef.new(shape: AssetProperties, required: true, location_name: "assetProperties"))
669
719
  DescribeAssetResponse.add_member(:asset_hierarchies, Shapes::ShapeRef.new(shape: AssetHierarchies, required: true, location_name: "assetHierarchies"))
720
+ DescribeAssetResponse.add_member(:asset_composite_models, Shapes::ShapeRef.new(shape: AssetCompositeModels, location_name: "assetCompositeModels"))
670
721
  DescribeAssetResponse.add_member(:asset_creation_date, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "assetCreationDate"))
671
722
  DescribeAssetResponse.add_member(:asset_last_update_date, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "assetLastUpdateDate"))
672
723
  DescribeAssetResponse.add_member(:asset_status, Shapes::ShapeRef.new(shape: AssetStatus, required: true, location_name: "assetStatus"))
@@ -881,6 +932,16 @@ module Aws::IoTSiteWise
881
932
  ListAssetModelsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
882
933
  ListAssetModelsResponse.struct_class = Types::ListAssetModelsResponse
883
934
 
935
+ ListAssetRelationshipsRequest.add_member(:asset_id, Shapes::ShapeRef.new(shape: ID, required: true, location: "uri", location_name: "assetId"))
936
+ ListAssetRelationshipsRequest.add_member(:traversal_type, Shapes::ShapeRef.new(shape: TraversalType, required: true, location: "querystring", location_name: "traversalType"))
937
+ ListAssetRelationshipsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
938
+ ListAssetRelationshipsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
939
+ ListAssetRelationshipsRequest.struct_class = Types::ListAssetRelationshipsRequest
940
+
941
+ ListAssetRelationshipsResponse.add_member(:asset_relationship_summaries, Shapes::ShapeRef.new(shape: AssetRelationshipSummaries, required: true, location_name: "assetRelationshipSummaries"))
942
+ ListAssetRelationshipsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
943
+ ListAssetRelationshipsResponse.struct_class = Types::ListAssetRelationshipsResponse
944
+
884
945
  ListAssetsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
885
946
  ListAssetsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
886
947
  ListAssetsRequest.add_member(:asset_model_id, Shapes::ShapeRef.new(shape: ID, location: "querystring", location_name: "assetModelId"))
@@ -1089,6 +1150,9 @@ module Aws::IoTSiteWise
1089
1150
  TumblingWindow.add_member(:interval, Shapes::ShapeRef.new(shape: Interval, required: true, location_name: "interval"))
1090
1151
  TumblingWindow.struct_class = Types::TumblingWindow
1091
1152
 
1153
+ UnauthorizedException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, required: true, location_name: "message"))
1154
+ UnauthorizedException.struct_class = Types::UnauthorizedException
1155
+
1092
1156
  UntagResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: AmazonResourceName, required: true, location: "querystring", location_name: "resourceArn"))
1093
1157
  UntagResourceRequest.add_member(:tag_keys, Shapes::ShapeRef.new(shape: TagKeyList, required: true, location: "querystring", location_name: "tagKeys"))
1094
1158
  UntagResourceRequest.struct_class = Types::UntagResourceRequest
@@ -1109,6 +1173,7 @@ module Aws::IoTSiteWise
1109
1173
  UpdateAssetModelRequest.add_member(:asset_model_description, Shapes::ShapeRef.new(shape: Description, location_name: "assetModelDescription"))
1110
1174
  UpdateAssetModelRequest.add_member(:asset_model_properties, Shapes::ShapeRef.new(shape: AssetModelProperties, location_name: "assetModelProperties"))
1111
1175
  UpdateAssetModelRequest.add_member(:asset_model_hierarchies, Shapes::ShapeRef.new(shape: AssetModelHierarchies, location_name: "assetModelHierarchies"))
1176
+ UpdateAssetModelRequest.add_member(:asset_model_composite_models, Shapes::ShapeRef.new(shape: AssetModelCompositeModels, location_name: "assetModelCompositeModels"))
1112
1177
  UpdateAssetModelRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location_name: "clientToken", metadata: {"idempotencyToken"=>true}))
1113
1178
  UpdateAssetModelRequest.struct_class = Types::UpdateAssetModelRequest
1114
1179
 
@@ -1369,20 +1434,6 @@ module Aws::IoTSiteWise
1369
1434
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1370
1435
  end)
1371
1436
 
1372
- api.add_operation(:create_presigned_portal_url, Seahorse::Model::Operation.new.tap do |o|
1373
- o.name = "CreatePresignedPortalUrl"
1374
- o.http_method = "GET"
1375
- o.http_request_uri = "/portals/{portalId}/presigned-url"
1376
- o.endpoint_pattern = {
1377
- "hostPrefix" => "monitor.",
1378
- }
1379
- o.input = Shapes::ShapeRef.new(shape: CreatePresignedPortalUrlRequest)
1380
- o.output = Shapes::ShapeRef.new(shape: CreatePresignedPortalUrlResponse)
1381
- o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1382
- o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
1383
- o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1384
- end)
1385
-
1386
1437
  api.add_operation(:create_project, Seahorse::Model::Operation.new.tap do |o|
1387
1438
  o.name = "CreateProject"
1388
1439
  o.http_method = "POST"
@@ -1784,6 +1835,27 @@ module Aws::IoTSiteWise
1784
1835
  )
1785
1836
  end)
1786
1837
 
1838
+ api.add_operation(:list_asset_relationships, Seahorse::Model::Operation.new.tap do |o|
1839
+ o.name = "ListAssetRelationships"
1840
+ o.http_method = "GET"
1841
+ o.http_request_uri = "/assets/{assetId}/assetRelationships"
1842
+ o.endpoint_pattern = {
1843
+ "hostPrefix" => "model.",
1844
+ }
1845
+ o.input = Shapes::ShapeRef.new(shape: ListAssetRelationshipsRequest)
1846
+ o.output = Shapes::ShapeRef.new(shape: ListAssetRelationshipsResponse)
1847
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1848
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
1849
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1850
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1851
+ o[:pager] = Aws::Pager.new(
1852
+ limit_key: "max_results",
1853
+ tokens: {
1854
+ "next_token" => "next_token"
1855
+ }
1856
+ )
1857
+ end)
1858
+
1787
1859
  api.add_operation(:list_assets, Seahorse::Model::Operation.new.tap do |o|
1788
1860
  o.name = "ListAssets"
1789
1861
  o.http_method = "GET"
@@ -1936,6 +2008,9 @@ module Aws::IoTSiteWise
1936
2008
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
1937
2009
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1938
2010
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
2011
+ o.errors << Shapes::ShapeRef.new(shape: ConflictingOperationException)
2012
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
2013
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
1939
2014
  end)
1940
2015
 
1941
2016
  api.add_operation(:put_default_encryption_configuration, Seahorse::Model::Operation.new.tap do |o|
@@ -1977,6 +2052,9 @@ module Aws::IoTSiteWise
1977
2052
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
1978
2053
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1979
2054
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
2055
+ o.errors << Shapes::ShapeRef.new(shape: ConflictingOperationException)
2056
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
2057
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
1980
2058
  o.errors << Shapes::ShapeRef.new(shape: TooManyTagsException)
1981
2059
  end)
1982
2060
 
@@ -1990,6 +2068,9 @@ module Aws::IoTSiteWise
1990
2068
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
1991
2069
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1992
2070
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
2071
+ o.errors << Shapes::ShapeRef.new(shape: ConflictingOperationException)
2072
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
2073
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
1993
2074
  end)
1994
2075
 
1995
2076
  api.add_operation(:update_access_policy, Seahorse::Model::Operation.new.tap do |o|