aws-sdk-iotsitewise 1.68.0 → 1.70.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -32,6 +32,7 @@ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
32
32
  require 'aws-sdk-core/plugins/request_compression.rb'
33
33
  require 'aws-sdk-core/plugins/defaults_mode.rb'
34
34
  require 'aws-sdk-core/plugins/recursion_detection.rb'
35
+ require 'aws-sdk-core/plugins/telemetry.rb'
35
36
  require 'aws-sdk-core/plugins/sign.rb'
36
37
  require 'aws-sdk-core/plugins/protocols/rest_json.rb'
37
38
 
@@ -83,6 +84,7 @@ module Aws::IoTSiteWise
83
84
  add_plugin(Aws::Plugins::RequestCompression)
84
85
  add_plugin(Aws::Plugins::DefaultsMode)
85
86
  add_plugin(Aws::Plugins::RecursionDetection)
87
+ add_plugin(Aws::Plugins::Telemetry)
86
88
  add_plugin(Aws::Plugins::Sign)
87
89
  add_plugin(Aws::Plugins::Protocols::RestJson)
88
90
  add_plugin(Aws::IoTSiteWise::Plugins::Endpoints)
@@ -330,6 +332,16 @@ module Aws::IoTSiteWise
330
332
  # ** Please note ** When response stubbing is enabled, no HTTP
331
333
  # requests are made, and retries are disabled.
332
334
  #
335
+ # @option options [Aws::Telemetry::TelemetryProviderBase] :telemetry_provider (Aws::Telemetry::NoOpTelemetryProvider)
336
+ # Allows you to provide a telemetry provider, which is used to
337
+ # emit telemetry data. By default, uses `NoOpTelemetryProvider` which
338
+ # will not record or emit any telemetry data. The SDK supports the
339
+ # following telemetry providers:
340
+ #
341
+ # * OpenTelemetry (OTel) - To use the OTel provider, install and require the
342
+ # `opentelemetry-sdk` gem and then, pass in an instance of a
343
+ # `Aws::Telemetry::OTelProvider` for telemetry provider.
344
+ #
333
345
  # @option options [Aws::TokenProvider] :token_provider
334
346
  # A Bearer Token Provider. This can be an instance of any one of the
335
347
  # following classes:
@@ -1154,6 +1166,33 @@ module Aws::IoTSiteWise
1154
1166
  # @option params [required, String] :asset_model_name
1155
1167
  # A unique name for the asset model.
1156
1168
  #
1169
+ # @option params [String] :asset_model_type
1170
+ # The type of asset model.
1171
+ #
1172
+ # * **ASSET\_MODEL** – (default) An asset model that you can use to
1173
+ # create assets. Can't be included as a component in another asset
1174
+ # model.
1175
+ #
1176
+ # * **COMPONENT\_MODEL** – A reusable component that you can include in
1177
+ # the composite models of other asset models. You can't create assets
1178
+ # directly from this type of asset model.
1179
+ #
1180
+ # @option params [String] :asset_model_id
1181
+ # The ID to assign to the asset model, if desired. IoT SiteWise
1182
+ # automatically generates a unique ID for you, so this parameter is
1183
+ # never required. However, if you prefer to supply your own ID instead,
1184
+ # you can specify it here in UUID format. If you specify your own ID, it
1185
+ # must be globally unique.
1186
+ #
1187
+ # @option params [String] :asset_model_external_id
1188
+ # An external ID to assign to the asset model. The external ID must be
1189
+ # unique within your Amazon Web Services account. For more information,
1190
+ # see [Using external IDs][1] in the *IoT SiteWise User Guide*.
1191
+ #
1192
+ #
1193
+ #
1194
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids
1195
+ #
1157
1196
  # @option params [String] :asset_model_description
1158
1197
  # A description for the asset model.
1159
1198
  #
@@ -1220,33 +1259,6 @@ module Aws::IoTSiteWise
1220
1259
  #
1221
1260
  # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html
1222
1261
  #
1223
- # @option params [String] :asset_model_id
1224
- # The ID to assign to the asset model, if desired. IoT SiteWise
1225
- # automatically generates a unique ID for you, so this parameter is
1226
- # never required. However, if you prefer to supply your own ID instead,
1227
- # you can specify it here in UUID format. If you specify your own ID, it
1228
- # must be globally unique.
1229
- #
1230
- # @option params [String] :asset_model_external_id
1231
- # An external ID to assign to the asset model. The external ID must be
1232
- # unique within your Amazon Web Services account. For more information,
1233
- # see [Using external IDs][1] in the *IoT SiteWise User Guide*.
1234
- #
1235
- #
1236
- #
1237
- # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids
1238
- #
1239
- # @option params [String] :asset_model_type
1240
- # The type of asset model.
1241
- #
1242
- # * **ASSET\_MODEL** – (default) An asset model that you can use to
1243
- # create assets. Can't be included as a component in another asset
1244
- # model.
1245
- #
1246
- # * **COMPONENT\_MODEL** – A reusable component that you can include in
1247
- # the composite models of other asset models. You can't create assets
1248
- # directly from this type of asset model.
1249
- #
1250
1262
  # @return [Types::CreateAssetModelResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1251
1263
  #
1252
1264
  # * {Types::CreateAssetModelResponse#asset_model_id #asset_model_id} => String
@@ -1257,9 +1269,14 @@ module Aws::IoTSiteWise
1257
1269
  #
1258
1270
  # resp = client.create_asset_model({
1259
1271
  # asset_model_name: "Name", # required
1272
+ # asset_model_type: "ASSET_MODEL", # accepts ASSET_MODEL, COMPONENT_MODEL
1273
+ # asset_model_id: "ID",
1274
+ # asset_model_external_id: "ExternalId",
1260
1275
  # asset_model_description: "Description",
1261
1276
  # asset_model_properties: [
1262
1277
  # {
1278
+ # id: "ID",
1279
+ # external_id: "ExternalId",
1263
1280
  # name: "Name", # required
1264
1281
  # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN, STRUCT
1265
1282
  # data_type_spec: "Name",
@@ -1327,25 +1344,27 @@ module Aws::IoTSiteWise
1327
1344
  # },
1328
1345
  # },
1329
1346
  # },
1330
- # id: "ID",
1331
- # external_id: "ExternalId",
1332
1347
  # },
1333
1348
  # ],
1334
1349
  # asset_model_hierarchies: [
1335
1350
  # {
1336
- # name: "Name", # required
1337
- # child_asset_model_id: "CustomID", # required
1338
1351
  # id: "ID",
1339
1352
  # external_id: "ExternalId",
1353
+ # name: "Name", # required
1354
+ # child_asset_model_id: "CustomID", # required
1340
1355
  # },
1341
1356
  # ],
1342
1357
  # asset_model_composite_models: [
1343
1358
  # {
1359
+ # id: "ID",
1360
+ # external_id: "ExternalId",
1344
1361
  # name: "Name", # required
1345
1362
  # description: "Description",
1346
1363
  # type: "Name", # required
1347
1364
  # properties: [
1348
1365
  # {
1366
+ # id: "ID",
1367
+ # external_id: "ExternalId",
1349
1368
  # name: "Name", # required
1350
1369
  # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN, STRUCT
1351
1370
  # data_type_spec: "Name",
@@ -1413,21 +1432,14 @@ module Aws::IoTSiteWise
1413
1432
  # },
1414
1433
  # },
1415
1434
  # },
1416
- # id: "ID",
1417
- # external_id: "ExternalId",
1418
1435
  # },
1419
1436
  # ],
1420
- # id: "ID",
1421
- # external_id: "ExternalId",
1422
1437
  # },
1423
1438
  # ],
1424
1439
  # client_token: "ClientToken",
1425
1440
  # tags: {
1426
1441
  # "TagKey" => "TagValue",
1427
1442
  # },
1428
- # asset_model_id: "ID",
1429
- # asset_model_external_id: "ExternalId",
1430
- # asset_model_type: "ASSET_MODEL", # accepts ASSET_MODEL, COMPONENT_MODEL
1431
1443
  # })
1432
1444
  #
1433
1445
  # @example Response structure
@@ -1481,9 +1493,6 @@ module Aws::IoTSiteWise
1481
1493
  # @option params [required, String] :asset_model_id
1482
1494
  # The ID of the asset model this composite model is a part of.
1483
1495
  #
1484
- # @option params [String] :parent_asset_model_composite_model_id
1485
- # The ID of the parent composite model in this asset model relationship.
1486
- #
1487
1496
  # @option params [String] :asset_model_composite_model_external_id
1488
1497
  # An external ID to assign to the composite model.
1489
1498
  #
@@ -1492,6 +1501,9 @@ module Aws::IoTSiteWise
1492
1501
  # `UpdateAssetModelCompositeModel` and specifying the derived ID of the
1493
1502
  # model or property from the created model it's a part of.
1494
1503
  #
1504
+ # @option params [String] :parent_asset_model_composite_model_id
1505
+ # The ID of the parent composite model in this asset model relationship.
1506
+ #
1495
1507
  # @option params [String] :asset_model_composite_model_id
1496
1508
  # The ID of the composite model. IoT SiteWise automatically generates a
1497
1509
  # unique ID for you, so this parameter is never required. However, if
@@ -1533,6 +1545,27 @@ module Aws::IoTSiteWise
1533
1545
  # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/custom-composite-models.html#inline-composite-models
1534
1546
  # [2]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html
1535
1547
  #
1548
+ # @option params [String] :if_match
1549
+ # The expected current entity tag (ETag) for the asset model’s latest or
1550
+ # active version (specified using `matchForVersionType`). The create
1551
+ # request is rejected if the tag does not match the latest or active
1552
+ # version's current entity tag. See [Optimistic locking for asset model
1553
+ # writes][1] in the *IoT SiteWise User Guide*.
1554
+ #
1555
+ #
1556
+ #
1557
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/opt-locking-for-model.html
1558
+ #
1559
+ # @option params [String] :if_none_match
1560
+ # Accepts ***** to reject the create request if an active version
1561
+ # (specified using `matchForVersionType` as `ACTIVE`) already exists for
1562
+ # the asset model.
1563
+ #
1564
+ # @option params [String] :match_for_version_type
1565
+ # Specifies the asset model version type (`LATEST` or `ACTIVE`) used in
1566
+ # conjunction with `If-Match` or `If-None-Match` headers to determine
1567
+ # the target ETag for the create operation.
1568
+ #
1536
1569
  # @return [Types::CreateAssetModelCompositeModelResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1537
1570
  #
1538
1571
  # * {Types::CreateAssetModelCompositeModelResponse#asset_model_composite_model_id #asset_model_composite_model_id} => String
@@ -1543,8 +1576,8 @@ module Aws::IoTSiteWise
1543
1576
  #
1544
1577
  # resp = client.create_asset_model_composite_model({
1545
1578
  # asset_model_id: "CustomID", # required
1546
- # parent_asset_model_composite_model_id: "CustomID",
1547
1579
  # asset_model_composite_model_external_id: "ExternalId",
1580
+ # parent_asset_model_composite_model_id: "CustomID",
1548
1581
  # asset_model_composite_model_id: "ID",
1549
1582
  # asset_model_composite_model_description: "Description",
1550
1583
  # asset_model_composite_model_name: "Name", # required
@@ -1553,6 +1586,8 @@ module Aws::IoTSiteWise
1553
1586
  # composed_asset_model_id: "CustomID",
1554
1587
  # asset_model_composite_model_properties: [
1555
1588
  # {
1589
+ # id: "ID",
1590
+ # external_id: "ExternalId",
1556
1591
  # name: "Name", # required
1557
1592
  # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN, STRUCT
1558
1593
  # data_type_spec: "Name",
@@ -1620,10 +1655,11 @@ module Aws::IoTSiteWise
1620
1655
  # },
1621
1656
  # },
1622
1657
  # },
1623
- # id: "ID",
1624
- # external_id: "ExternalId",
1625
1658
  # },
1626
1659
  # ],
1660
+ # if_match: "ETag",
1661
+ # if_none_match: "SelectAll",
1662
+ # match_for_version_type: "LATEST", # accepts LATEST, ACTIVE
1627
1663
  # })
1628
1664
  #
1629
1665
  # @example Response structure
@@ -2198,6 +2234,27 @@ module Aws::IoTSiteWise
2198
2234
  # **A suitable default value is auto-generated.** You should normally
2199
2235
  # not need to pass this option.**
2200
2236
  #
2237
+ # @option params [String] :if_match
2238
+ # The expected current entity tag (ETag) for the asset model’s latest or
2239
+ # active version (specified using `matchForVersionType`). The delete
2240
+ # request is rejected if the tag does not match the latest or active
2241
+ # version's current entity tag. See [Optimistic locking for asset model
2242
+ # writes][1] in the *IoT SiteWise User Guide*.
2243
+ #
2244
+ #
2245
+ #
2246
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/opt-locking-for-model.html
2247
+ #
2248
+ # @option params [String] :if_none_match
2249
+ # Accepts ***** to reject the delete request if an active version
2250
+ # (specified using `matchForVersionType` as `ACTIVE`) already exists for
2251
+ # the asset model.
2252
+ #
2253
+ # @option params [String] :match_for_version_type
2254
+ # Specifies the asset model version type (`LATEST` or `ACTIVE`) used in
2255
+ # conjunction with `If-Match` or `If-None-Match` headers to determine
2256
+ # the target ETag for the delete operation.
2257
+ #
2201
2258
  # @return [Types::DeleteAssetModelResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2202
2259
  #
2203
2260
  # * {Types::DeleteAssetModelResponse#asset_model_status #asset_model_status} => Types::AssetModelStatus
@@ -2207,6 +2264,9 @@ module Aws::IoTSiteWise
2207
2264
  # resp = client.delete_asset_model({
2208
2265
  # asset_model_id: "CustomID", # required
2209
2266
  # client_token: "ClientToken",
2267
+ # if_match: "ETag",
2268
+ # if_none_match: "SelectAll",
2269
+ # match_for_version_type: "LATEST", # accepts LATEST, ACTIVE
2210
2270
  # })
2211
2271
  #
2212
2272
  # @example Response structure
@@ -2250,6 +2310,27 @@ module Aws::IoTSiteWise
2250
2310
  # **A suitable default value is auto-generated.** You should normally
2251
2311
  # not need to pass this option.**
2252
2312
  #
2313
+ # @option params [String] :if_match
2314
+ # The expected current entity tag (ETag) for the asset model’s latest or
2315
+ # active version (specified using `matchForVersionType`). The delete
2316
+ # request is rejected if the tag does not match the latest or active
2317
+ # version's current entity tag. See [Optimistic locking for asset model
2318
+ # writes][1] in the *IoT SiteWise User Guide*.
2319
+ #
2320
+ #
2321
+ #
2322
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/opt-locking-for-model.html
2323
+ #
2324
+ # @option params [String] :if_none_match
2325
+ # Accepts ***** to reject the delete request if an active version
2326
+ # (specified using `matchForVersionType` as `ACTIVE`) already exists for
2327
+ # the asset model.
2328
+ #
2329
+ # @option params [String] :match_for_version_type
2330
+ # Specifies the asset model version type (`LATEST` or `ACTIVE`) used in
2331
+ # conjunction with `If-Match` or `If-None-Match` headers to determine
2332
+ # the target ETag for the delete operation.
2333
+ #
2253
2334
  # @return [Types::DeleteAssetModelCompositeModelResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2254
2335
  #
2255
2336
  # * {Types::DeleteAssetModelCompositeModelResponse#asset_model_status #asset_model_status} => Types::AssetModelStatus
@@ -2260,6 +2341,9 @@ module Aws::IoTSiteWise
2260
2341
  # asset_model_id: "CustomID", # required
2261
2342
  # asset_model_composite_model_id: "CustomID", # required
2262
2343
  # client_token: "ClientToken",
2344
+ # if_match: "ETag",
2345
+ # if_none_match: "SelectAll",
2346
+ # match_for_version_type: "LATEST", # accepts LATEST, ACTIVE
2263
2347
  # })
2264
2348
  #
2265
2349
  # @example Response structure
@@ -2760,37 +2844,53 @@ module Aws::IoTSiteWise
2760
2844
  # @option params [Boolean] :exclude_properties
2761
2845
  # Whether or not to exclude asset model properties from the response.
2762
2846
  #
2847
+ # @option params [String] :asset_model_version
2848
+ # The version alias that specifies the latest or active version of the
2849
+ # asset model. The details are returned in the response. The default
2850
+ # value is `LATEST`. See [ Asset model versions][1] in the *IoT SiteWise
2851
+ # User Guide*.
2852
+ #
2853
+ #
2854
+ #
2855
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/model-active-version.html
2856
+ #
2763
2857
  # @return [Types::DescribeAssetModelResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2764
2858
  #
2765
2859
  # * {Types::DescribeAssetModelResponse#asset_model_id #asset_model_id} => String
2860
+ # * {Types::DescribeAssetModelResponse#asset_model_external_id #asset_model_external_id} => String
2766
2861
  # * {Types::DescribeAssetModelResponse#asset_model_arn #asset_model_arn} => String
2767
2862
  # * {Types::DescribeAssetModelResponse#asset_model_name #asset_model_name} => String
2863
+ # * {Types::DescribeAssetModelResponse#asset_model_type #asset_model_type} => String
2768
2864
  # * {Types::DescribeAssetModelResponse#asset_model_description #asset_model_description} => String
2769
2865
  # * {Types::DescribeAssetModelResponse#asset_model_properties #asset_model_properties} => Array<Types::AssetModelProperty>
2770
2866
  # * {Types::DescribeAssetModelResponse#asset_model_hierarchies #asset_model_hierarchies} => Array<Types::AssetModelHierarchy>
2771
2867
  # * {Types::DescribeAssetModelResponse#asset_model_composite_models #asset_model_composite_models} => Array<Types::AssetModelCompositeModel>
2868
+ # * {Types::DescribeAssetModelResponse#asset_model_composite_model_summaries #asset_model_composite_model_summaries} => Array<Types::AssetModelCompositeModelSummary>
2772
2869
  # * {Types::DescribeAssetModelResponse#asset_model_creation_date #asset_model_creation_date} => Time
2773
2870
  # * {Types::DescribeAssetModelResponse#asset_model_last_update_date #asset_model_last_update_date} => Time
2774
2871
  # * {Types::DescribeAssetModelResponse#asset_model_status #asset_model_status} => Types::AssetModelStatus
2775
- # * {Types::DescribeAssetModelResponse#asset_model_type #asset_model_type} => String
2776
- # * {Types::DescribeAssetModelResponse#asset_model_composite_model_summaries #asset_model_composite_model_summaries} => Array<Types::AssetModelCompositeModelSummary>
2777
- # * {Types::DescribeAssetModelResponse#asset_model_external_id #asset_model_external_id} => String
2872
+ # * {Types::DescribeAssetModelResponse#asset_model_version #asset_model_version} => String
2873
+ # * {Types::DescribeAssetModelResponse#e_tag #e_tag} => String
2778
2874
  #
2779
2875
  # @example Request syntax with placeholder values
2780
2876
  #
2781
2877
  # resp = client.describe_asset_model({
2782
2878
  # asset_model_id: "CustomID", # required
2783
2879
  # exclude_properties: false,
2880
+ # asset_model_version: "AssetModelVersionFilter",
2784
2881
  # })
2785
2882
  #
2786
2883
  # @example Response structure
2787
2884
  #
2788
2885
  # resp.asset_model_id #=> String
2886
+ # resp.asset_model_external_id #=> String
2789
2887
  # resp.asset_model_arn #=> String
2790
2888
  # resp.asset_model_name #=> String
2889
+ # resp.asset_model_type #=> String, one of "ASSET_MODEL", "COMPONENT_MODEL"
2791
2890
  # resp.asset_model_description #=> String
2792
2891
  # resp.asset_model_properties #=> Array
2793
2892
  # resp.asset_model_properties[0].id #=> String
2893
+ # resp.asset_model_properties[0].external_id #=> String
2794
2894
  # resp.asset_model_properties[0].name #=> String
2795
2895
  # resp.asset_model_properties[0].data_type #=> String, one of "STRING", "INTEGER", "DOUBLE", "BOOLEAN", "STRUCT"
2796
2896
  # resp.asset_model_properties[0].data_type_spec #=> String
@@ -2821,18 +2921,18 @@ module Aws::IoTSiteWise
2821
2921
  # resp.asset_model_properties[0].path #=> Array
2822
2922
  # resp.asset_model_properties[0].path[0].id #=> String
2823
2923
  # resp.asset_model_properties[0].path[0].name #=> String
2824
- # resp.asset_model_properties[0].external_id #=> String
2825
2924
  # resp.asset_model_hierarchies #=> Array
2826
2925
  # resp.asset_model_hierarchies[0].id #=> String
2926
+ # resp.asset_model_hierarchies[0].external_id #=> String
2827
2927
  # resp.asset_model_hierarchies[0].name #=> String
2828
2928
  # resp.asset_model_hierarchies[0].child_asset_model_id #=> String
2829
- # resp.asset_model_hierarchies[0].external_id #=> String
2830
2929
  # resp.asset_model_composite_models #=> Array
2831
2930
  # resp.asset_model_composite_models[0].name #=> String
2832
2931
  # resp.asset_model_composite_models[0].description #=> String
2833
2932
  # resp.asset_model_composite_models[0].type #=> String
2834
2933
  # resp.asset_model_composite_models[0].properties #=> Array
2835
2934
  # resp.asset_model_composite_models[0].properties[0].id #=> String
2935
+ # resp.asset_model_composite_models[0].properties[0].external_id #=> String
2836
2936
  # resp.asset_model_composite_models[0].properties[0].name #=> String
2837
2937
  # resp.asset_model_composite_models[0].properties[0].data_type #=> String, one of "STRING", "INTEGER", "DOUBLE", "BOOLEAN", "STRUCT"
2838
2938
  # resp.asset_model_composite_models[0].properties[0].data_type_spec #=> String
@@ -2863,18 +2963,8 @@ module Aws::IoTSiteWise
2863
2963
  # resp.asset_model_composite_models[0].properties[0].path #=> Array
2864
2964
  # resp.asset_model_composite_models[0].properties[0].path[0].id #=> String
2865
2965
  # resp.asset_model_composite_models[0].properties[0].path[0].name #=> String
2866
- # resp.asset_model_composite_models[0].properties[0].external_id #=> String
2867
2966
  # resp.asset_model_composite_models[0].id #=> String
2868
2967
  # resp.asset_model_composite_models[0].external_id #=> String
2869
- # resp.asset_model_creation_date #=> Time
2870
- # resp.asset_model_last_update_date #=> Time
2871
- # resp.asset_model_status.state #=> String, one of "CREATING", "ACTIVE", "UPDATING", "PROPAGATING", "DELETING", "FAILED"
2872
- # resp.asset_model_status.error.code #=> String, one of "VALIDATION_ERROR", "INTERNAL_FAILURE"
2873
- # resp.asset_model_status.error.message #=> String
2874
- # resp.asset_model_status.error.details #=> Array
2875
- # resp.asset_model_status.error.details[0].code #=> String, one of "INCOMPATIBLE_COMPUTE_LOCATION", "INCOMPATIBLE_FORWARDING_CONFIGURATION"
2876
- # resp.asset_model_status.error.details[0].message #=> String
2877
- # resp.asset_model_type #=> String, one of "ASSET_MODEL", "COMPONENT_MODEL"
2878
2968
  # resp.asset_model_composite_model_summaries #=> Array
2879
2969
  # resp.asset_model_composite_model_summaries[0].id #=> String
2880
2970
  # resp.asset_model_composite_model_summaries[0].external_id #=> String
@@ -2884,7 +2974,16 @@ module Aws::IoTSiteWise
2884
2974
  # resp.asset_model_composite_model_summaries[0].path #=> Array
2885
2975
  # resp.asset_model_composite_model_summaries[0].path[0].id #=> String
2886
2976
  # resp.asset_model_composite_model_summaries[0].path[0].name #=> String
2887
- # resp.asset_model_external_id #=> String
2977
+ # resp.asset_model_creation_date #=> Time
2978
+ # resp.asset_model_last_update_date #=> Time
2979
+ # resp.asset_model_status.state #=> String, one of "CREATING", "ACTIVE", "UPDATING", "PROPAGATING", "DELETING", "FAILED"
2980
+ # resp.asset_model_status.error.code #=> String, one of "VALIDATION_ERROR", "INTERNAL_FAILURE"
2981
+ # resp.asset_model_status.error.message #=> String
2982
+ # resp.asset_model_status.error.details #=> Array
2983
+ # resp.asset_model_status.error.details[0].code #=> String, one of "INCOMPATIBLE_COMPUTE_LOCATION", "INCOMPATIBLE_FORWARDING_CONFIGURATION"
2984
+ # resp.asset_model_status.error.details[0].message #=> String
2985
+ # resp.asset_model_version #=> String
2986
+ # resp.e_tag #=> String
2888
2987
  #
2889
2988
  #
2890
2989
  # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
@@ -2927,6 +3026,16 @@ module Aws::IoTSiteWise
2927
3026
  #
2928
3027
  # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references
2929
3028
  #
3029
+ # @option params [String] :asset_model_version
3030
+ # The version alias that specifies the latest or active version of the
3031
+ # asset model. The details are returned in the response. The default
3032
+ # value is `LATEST`. See [ Asset model versions][1] in the *IoT SiteWise
3033
+ # User Guide*.
3034
+ #
3035
+ #
3036
+ #
3037
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/model-active-version.html
3038
+ #
2930
3039
  # @return [Types::DescribeAssetModelCompositeModelResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2931
3040
  #
2932
3041
  # * {Types::DescribeAssetModelCompositeModelResponse#asset_model_id #asset_model_id} => String
@@ -2946,6 +3055,7 @@ module Aws::IoTSiteWise
2946
3055
  # resp = client.describe_asset_model_composite_model({
2947
3056
  # asset_model_id: "CustomID", # required
2948
3057
  # asset_model_composite_model_id: "CustomID", # required
3058
+ # asset_model_version: "AssetModelVersionFilter",
2949
3059
  # })
2950
3060
  #
2951
3061
  # @example Response structure
@@ -2961,6 +3071,7 @@ module Aws::IoTSiteWise
2961
3071
  # resp.asset_model_composite_model_type #=> String
2962
3072
  # resp.asset_model_composite_model_properties #=> Array
2963
3073
  # resp.asset_model_composite_model_properties[0].id #=> String
3074
+ # resp.asset_model_composite_model_properties[0].external_id #=> String
2964
3075
  # resp.asset_model_composite_model_properties[0].name #=> String
2965
3076
  # resp.asset_model_composite_model_properties[0].data_type #=> String, one of "STRING", "INTEGER", "DOUBLE", "BOOLEAN", "STRUCT"
2966
3077
  # resp.asset_model_composite_model_properties[0].data_type_spec #=> String
@@ -2991,7 +3102,6 @@ module Aws::IoTSiteWise
2991
3102
  # resp.asset_model_composite_model_properties[0].path #=> Array
2992
3103
  # resp.asset_model_composite_model_properties[0].path[0].id #=> String
2993
3104
  # resp.asset_model_composite_model_properties[0].path[0].name #=> String
2994
- # resp.asset_model_composite_model_properties[0].external_id #=> String
2995
3105
  # resp.composition_details.composition_relationship #=> Array
2996
3106
  # resp.composition_details.composition_relationship[0].id #=> String
2997
3107
  # resp.asset_model_composite_model_summaries #=> Array
@@ -4403,6 +4513,16 @@ module Aws::IoTSiteWise
4403
4513
  #
4404
4514
  # Default: 50
4405
4515
  #
4516
+ # @option params [String] :asset_model_version
4517
+ # The version alias that specifies the latest or active version of the
4518
+ # asset model. The details are returned in the response. The default
4519
+ # value is `LATEST`. See [ Asset model versions][1] in the *IoT SiteWise
4520
+ # User Guide*.
4521
+ #
4522
+ #
4523
+ #
4524
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/model-active-version.html
4525
+ #
4406
4526
  # @return [Types::ListAssetModelCompositeModelsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4407
4527
  #
4408
4528
  # * {Types::ListAssetModelCompositeModelsResponse#asset_model_composite_model_summaries #asset_model_composite_model_summaries} => Array<Types::AssetModelCompositeModelSummary>
@@ -4416,6 +4536,7 @@ module Aws::IoTSiteWise
4416
4536
  # asset_model_id: "CustomID", # required
4417
4537
  # next_token: "NextToken",
4418
4538
  # max_results: 1,
4539
+ # asset_model_version: "AssetModelVersionFilter",
4419
4540
  # })
4420
4541
  #
4421
4542
  # @example Response structure
@@ -4471,6 +4592,16 @@ module Aws::IoTSiteWise
4471
4592
  #
4472
4593
  # Default: `BASE`
4473
4594
  #
4595
+ # @option params [String] :asset_model_version
4596
+ # The version alias that specifies the latest or active version of the
4597
+ # asset model. The details are returned in the response. The default
4598
+ # value is `LATEST`. See [ Asset model versions][1] in the *IoT SiteWise
4599
+ # User Guide*.
4600
+ #
4601
+ #
4602
+ #
4603
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/model-active-version.html
4604
+ #
4474
4605
  # @return [Types::ListAssetModelPropertiesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4475
4606
  #
4476
4607
  # * {Types::ListAssetModelPropertiesResponse#asset_model_property_summaries #asset_model_property_summaries} => Array<Types::AssetModelPropertySummary>
@@ -4485,12 +4616,14 @@ module Aws::IoTSiteWise
4485
4616
  # next_token: "NextToken",
4486
4617
  # max_results: 1,
4487
4618
  # filter: "ALL", # accepts ALL, BASE
4619
+ # asset_model_version: "AssetModelVersionFilter",
4488
4620
  # })
4489
4621
  #
4490
4622
  # @example Response structure
4491
4623
  #
4492
4624
  # resp.asset_model_property_summaries #=> Array
4493
4625
  # resp.asset_model_property_summaries[0].id #=> String
4626
+ # resp.asset_model_property_summaries[0].external_id #=> String
4494
4627
  # resp.asset_model_property_summaries[0].name #=> String
4495
4628
  # resp.asset_model_property_summaries[0].data_type #=> String, one of "STRING", "INTEGER", "DOUBLE", "BOOLEAN", "STRUCT"
4496
4629
  # resp.asset_model_property_summaries[0].data_type_spec #=> String
@@ -4522,7 +4655,6 @@ module Aws::IoTSiteWise
4522
4655
  # resp.asset_model_property_summaries[0].path #=> Array
4523
4656
  # resp.asset_model_property_summaries[0].path[0].id #=> String
4524
4657
  # resp.asset_model_property_summaries[0].path[0].name #=> String
4525
- # resp.asset_model_property_summaries[0].external_id #=> String
4526
4658
  # resp.next_token #=> String
4527
4659
  #
4528
4660
  # @overload list_asset_model_properties(params = {})
@@ -4534,6 +4666,17 @@ module Aws::IoTSiteWise
4534
4666
 
4535
4667
  # Retrieves a paginated list of summaries of all asset models.
4536
4668
  #
4669
+ # @option params [Array<String>] :asset_model_types
4670
+ # The type of asset model. If you don't provide an `assetModelTypes`,
4671
+ # all types of asset models are returned.
4672
+ #
4673
+ # * **ASSET\_MODEL** – An asset model that you can use to create assets.
4674
+ # Can't be included as a component in another asset model.
4675
+ #
4676
+ # * **COMPONENT\_MODEL** – A reusable component that you can include in
4677
+ # the composite models of other asset models. You can't create assets
4678
+ # directly from this type of asset model.
4679
+ #
4537
4680
  # @option params [String] :next_token
4538
4681
  # The token to be used for the next set of paginated results.
4539
4682
  #
@@ -4542,16 +4685,15 @@ module Aws::IoTSiteWise
4542
4685
  #
4543
4686
  # Default: 50
4544
4687
  #
4545
- # @option params [Array<String>] :asset_model_types
4546
- # The type of asset model.
4688
+ # @option params [String] :asset_model_version
4689
+ # The version alias that specifies the latest or active version of the
4690
+ # asset model. The details are returned in the response. The default
4691
+ # value is `LATEST`. See [ Asset model versions][1] in the *IoT SiteWise
4692
+ # User Guide*.
4547
4693
  #
4548
- # * **ASSET\_MODEL** – (default) An asset model that you can use to
4549
- # create assets. Can't be included as a component in another asset
4550
- # model.
4551
4694
  #
4552
- # * **COMPONENT\_MODEL** – A reusable component that you can include in
4553
- # the composite models of other asset models. You can't create assets
4554
- # directly from this type of asset model.
4695
+ #
4696
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/model-active-version.html
4555
4697
  #
4556
4698
  # @return [Types::ListAssetModelsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4557
4699
  #
@@ -4563,17 +4705,20 @@ module Aws::IoTSiteWise
4563
4705
  # @example Request syntax with placeholder values
4564
4706
  #
4565
4707
  # resp = client.list_asset_models({
4708
+ # asset_model_types: ["ASSET_MODEL"], # accepts ASSET_MODEL, COMPONENT_MODEL
4566
4709
  # next_token: "NextToken",
4567
4710
  # max_results: 1,
4568
- # asset_model_types: ["ASSET_MODEL"], # accepts ASSET_MODEL, COMPONENT_MODEL
4711
+ # asset_model_version: "AssetModelVersionFilter",
4569
4712
  # })
4570
4713
  #
4571
4714
  # @example Response structure
4572
4715
  #
4573
4716
  # resp.asset_model_summaries #=> Array
4574
4717
  # resp.asset_model_summaries[0].id #=> String
4718
+ # resp.asset_model_summaries[0].external_id #=> String
4575
4719
  # resp.asset_model_summaries[0].arn #=> String
4576
4720
  # resp.asset_model_summaries[0].name #=> String
4721
+ # resp.asset_model_summaries[0].asset_model_type #=> String, one of "ASSET_MODEL", "COMPONENT_MODEL"
4577
4722
  # resp.asset_model_summaries[0].description #=> String
4578
4723
  # resp.asset_model_summaries[0].creation_date #=> Time
4579
4724
  # resp.asset_model_summaries[0].last_update_date #=> Time
@@ -4583,8 +4728,7 @@ module Aws::IoTSiteWise
4583
4728
  # resp.asset_model_summaries[0].status.error.details #=> Array
4584
4729
  # resp.asset_model_summaries[0].status.error.details[0].code #=> String, one of "INCOMPATIBLE_COMPUTE_LOCATION", "INCOMPATIBLE_FORWARDING_CONFIGURATION"
4585
4730
  # resp.asset_model_summaries[0].status.error.details[0].message #=> String
4586
- # resp.asset_model_summaries[0].asset_model_type #=> String, one of "ASSET_MODEL", "COMPONENT_MODEL"
4587
- # resp.asset_model_summaries[0].external_id #=> String
4731
+ # resp.asset_model_summaries[0].version #=> String
4588
4732
  # resp.next_token #=> String
4589
4733
  #
4590
4734
  # @overload list_asset_models(params = {})
@@ -4825,10 +4969,9 @@ module Aws::IoTSiteWise
4825
4969
  #
4826
4970
  # You can use this operation to do the following:
4827
4971
  #
4828
- # * List child assets associated to a parent asset by a hierarchy that
4829
- # you specify.
4972
+ # * `CHILD` - List all child assets associated to the asset.
4830
4973
  #
4831
- # * List an asset's parent asset.
4974
+ # * `PARENT` - List the asset's parent asset.
4832
4975
  #
4833
4976
  # @option params [required, String] :asset_id
4834
4977
  # The ID of the asset to query. This can be either the actual ID in UUID
@@ -4841,31 +4984,29 @@ module Aws::IoTSiteWise
4841
4984
  # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references
4842
4985
  #
4843
4986
  # @option params [String] :hierarchy_id
4987
+ # (Optional) If you don't provide a `hierarchyId`, all the immediate
4988
+ # assets in the `traversalDirection` will be returned.
4989
+ #
4844
4990
  # The ID of the hierarchy by which child assets are associated to the
4845
4991
  # asset. (This can be either the actual ID in UUID format, or else
4846
4992
  # `externalId:` followed by the external ID, if it has one. For more
4847
4993
  # information, see [Referencing objects with external IDs][1] in the
4848
- # *IoT SiteWise User Guide*.) To find a hierarchy ID, use the
4849
- # [DescribeAsset][2] or [DescribeAssetModel][3] operations. This
4850
- # parameter is required if you choose `CHILD` for `traversalDirection`.
4994
+ # *IoT SiteWise User Guide*.)
4851
4995
  #
4852
- # For more information, see [Asset hierarchies][4] in the *IoT SiteWise
4996
+ # For more information, see [Asset hierarchies][2] in the *IoT SiteWise
4853
4997
  # User Guide*.
4854
4998
  #
4855
4999
  #
4856
5000
  #
4857
5001
  # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references
4858
- # [2]: https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAsset.html
4859
- # [3]: https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAssetModel.html
4860
- # [4]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html
5002
+ # [2]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html
4861
5003
  #
4862
5004
  # @option params [String] :traversal_direction
4863
5005
  # The direction to list associated assets. Choose one of the following
4864
5006
  # options:
4865
5007
  #
4866
5008
  # * `CHILD` – The list includes all child assets associated to the
4867
- # asset. The `hierarchyId` parameter is required if you choose
4868
- # `CHILD`.
5009
+ # asset.
4869
5010
  #
4870
5011
  # * `PARENT` – The list includes the asset's parent asset.
4871
5012
  #
@@ -5758,6 +5899,16 @@ module Aws::IoTSiteWise
5758
5899
  #
5759
5900
  # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references
5760
5901
  #
5902
+ # @option params [String] :asset_model_external_id
5903
+ # An external ID to assign to the asset model. The asset model must not
5904
+ # already have an external ID. The external ID must be unique within
5905
+ # your Amazon Web Services account. For more information, see [Using
5906
+ # external IDs][1] in the *IoT SiteWise User Guide*.
5907
+ #
5908
+ #
5909
+ #
5910
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids
5911
+ #
5761
5912
  # @option params [required, String] :asset_model_name
5762
5913
  # A unique name for the asset model.
5763
5914
  #
@@ -5819,15 +5970,26 @@ module Aws::IoTSiteWise
5819
5970
  # **A suitable default value is auto-generated.** You should normally
5820
5971
  # not need to pass this option.**
5821
5972
  #
5822
- # @option params [String] :asset_model_external_id
5823
- # An external ID to assign to the asset model. The asset model must not
5824
- # already have an external ID. The external ID must be unique within
5825
- # your Amazon Web Services account. For more information, see [Using
5826
- # external IDs][1] in the *IoT SiteWise User Guide*.
5973
+ # @option params [String] :if_match
5974
+ # The expected current entity tag (ETag) for the asset model’s latest or
5975
+ # active version (specified using `matchForVersionType`). The update
5976
+ # request is rejected if the tag does not match the latest or active
5977
+ # version's current entity tag. See [Optimistic locking for asset model
5978
+ # writes][1] in the *IoT SiteWise User Guide*.
5827
5979
  #
5828
5980
  #
5829
5981
  #
5830
- # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids
5982
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/opt-locking-for-model.html
5983
+ #
5984
+ # @option params [String] :if_none_match
5985
+ # Accepts ***** to reject the update request if an active version
5986
+ # (specified using `matchForVersionType` as `ACTIVE`) already exists for
5987
+ # the asset model.
5988
+ #
5989
+ # @option params [String] :match_for_version_type
5990
+ # Specifies the asset model version type (`LATEST` or `ACTIVE`) used in
5991
+ # conjunction with `If-Match` or `If-None-Match` headers to determine
5992
+ # the target ETag for the update operation.
5831
5993
  #
5832
5994
  # @return [Types::UpdateAssetModelResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5833
5995
  #
@@ -5837,11 +5999,13 @@ module Aws::IoTSiteWise
5837
5999
  #
5838
6000
  # resp = client.update_asset_model({
5839
6001
  # asset_model_id: "CustomID", # required
6002
+ # asset_model_external_id: "ExternalId",
5840
6003
  # asset_model_name: "Name", # required
5841
6004
  # asset_model_description: "Description",
5842
6005
  # asset_model_properties: [
5843
6006
  # {
5844
6007
  # id: "CustomID",
6008
+ # external_id: "ExternalId",
5845
6009
  # name: "Name", # required
5846
6010
  # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN, STRUCT
5847
6011
  # data_type_spec: "Name",
@@ -5915,15 +6079,14 @@ module Aws::IoTSiteWise
5915
6079
  # name: "Name",
5916
6080
  # },
5917
6081
  # ],
5918
- # external_id: "ExternalId",
5919
6082
  # },
5920
6083
  # ],
5921
6084
  # asset_model_hierarchies: [
5922
6085
  # {
5923
6086
  # id: "CustomID",
6087
+ # external_id: "ExternalId",
5924
6088
  # name: "Name", # required
5925
6089
  # child_asset_model_id: "CustomID", # required
5926
- # external_id: "ExternalId",
5927
6090
  # },
5928
6091
  # ],
5929
6092
  # asset_model_composite_models: [
@@ -5934,6 +6097,7 @@ module Aws::IoTSiteWise
5934
6097
  # properties: [
5935
6098
  # {
5936
6099
  # id: "CustomID",
6100
+ # external_id: "ExternalId",
5937
6101
  # name: "Name", # required
5938
6102
  # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN, STRUCT
5939
6103
  # data_type_spec: "Name",
@@ -6007,7 +6171,6 @@ module Aws::IoTSiteWise
6007
6171
  # name: "Name",
6008
6172
  # },
6009
6173
  # ],
6010
- # external_id: "ExternalId",
6011
6174
  # },
6012
6175
  # ],
6013
6176
  # id: "CustomID",
@@ -6015,7 +6178,9 @@ module Aws::IoTSiteWise
6015
6178
  # },
6016
6179
  # ],
6017
6180
  # client_token: "ClientToken",
6018
- # asset_model_external_id: "ExternalId",
6181
+ # if_match: "ETag",
6182
+ # if_none_match: "SelectAll",
6183
+ # match_for_version_type: "LATEST", # accepts LATEST, ACTIVE
6019
6184
  # })
6020
6185
  #
6021
6186
  # @example Response structure
@@ -6098,6 +6263,27 @@ module Aws::IoTSiteWise
6098
6263
  # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/custom-composite-models.html#inline-composite-models
6099
6264
  # [2]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html
6100
6265
  #
6266
+ # @option params [String] :if_match
6267
+ # The expected current entity tag (ETag) for the asset model’s latest or
6268
+ # active version (specified using `matchForVersionType`). The update
6269
+ # request is rejected if the tag does not match the latest or active
6270
+ # version's current entity tag. See [Optimistic locking for asset model
6271
+ # writes][1] in the *IoT SiteWise User Guide*.
6272
+ #
6273
+ #
6274
+ #
6275
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/opt-locking-for-model.html
6276
+ #
6277
+ # @option params [String] :if_none_match
6278
+ # Accepts ***** to reject the update request if an active version
6279
+ # (specified using `matchForVersionType` as `ACTIVE`) already exists for
6280
+ # the asset model.
6281
+ #
6282
+ # @option params [String] :match_for_version_type
6283
+ # Specifies the asset model version type (`LATEST` or `ACTIVE`) used in
6284
+ # conjunction with `If-Match` or `If-None-Match` headers to determine
6285
+ # the target ETag for the update operation.
6286
+ #
6101
6287
  # @return [Types::UpdateAssetModelCompositeModelResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6102
6288
  #
6103
6289
  # * {Types::UpdateAssetModelCompositeModelResponse#asset_model_composite_model_path #asset_model_composite_model_path} => Array&lt;Types::AssetModelCompositeModelPathSegment&gt;
@@ -6115,6 +6301,7 @@ module Aws::IoTSiteWise
6115
6301
  # asset_model_composite_model_properties: [
6116
6302
  # {
6117
6303
  # id: "CustomID",
6304
+ # external_id: "ExternalId",
6118
6305
  # name: "Name", # required
6119
6306
  # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN, STRUCT
6120
6307
  # data_type_spec: "Name",
@@ -6188,9 +6375,11 @@ module Aws::IoTSiteWise
6188
6375
  # name: "Name",
6189
6376
  # },
6190
6377
  # ],
6191
- # external_id: "ExternalId",
6192
6378
  # },
6193
6379
  # ],
6380
+ # if_match: "ETag",
6381
+ # if_none_match: "SelectAll",
6382
+ # match_for_version_type: "LATEST", # accepts LATEST, ACTIVE
6194
6383
  # })
6195
6384
  #
6196
6385
  # @example Response structure
@@ -6569,14 +6758,19 @@ module Aws::IoTSiteWise
6569
6758
  # @api private
6570
6759
  def build_request(operation_name, params = {})
6571
6760
  handlers = @handlers.for(operation_name)
6761
+ tracer = config.telemetry_provider.tracer_provider.tracer(
6762
+ Aws::Telemetry.module_to_tracer_name('Aws::IoTSiteWise')
6763
+ )
6572
6764
  context = Seahorse::Client::RequestContext.new(
6573
6765
  operation_name: operation_name,
6574
6766
  operation: config.api.operation(operation_name),
6575
6767
  client: self,
6576
6768
  params: params,
6577
- config: config)
6769
+ config: config,
6770
+ tracer: tracer
6771
+ )
6578
6772
  context[:gem_name] = 'aws-sdk-iotsitewise'
6579
- context[:gem_version] = '1.68.0'
6773
+ context[:gem_version] = '1.70.0'
6580
6774
  Seahorse::Client::Request.new(handlers, context)
6581
6775
  end
6582
6776