aws-sdk-iotsitewise 1.68.0 → 1.70.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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