aws-sdk-iotfleetwise 1.7.0 → 1.9.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: 97307c54a728771016349ed6d5208177bb7ea6c7b054b1d89655eba4f981dc4f
4
- data.tar.gz: f9bc76f74f86610712ccbc1cb84bd24fb0269b16ae3a1fd36f8045f42ff0ff54
3
+ metadata.gz: aba5f8ee93d96bba3d704dd080141e99ec23a5c8677906391849333b3c06e42a
4
+ data.tar.gz: ce50109f3bbc1724e779bf244ed3c84788c6a805023c7c09a48f8dd066838100
5
5
  SHA512:
6
- metadata.gz: 5cbbbf7c9cdf2fb858cff5b026e9cf762519467be49a8a4f352bfaf049214c0849810f2d8e0ba03b806e02edba02a83d8995bbf2e77f948b771747db29baa4fc
7
- data.tar.gz: f0457dbbba97a163e6ddbeacfb9a85d192ebfdce778874789758eaeaae342062bba87cc29cc63d1bdadd19e145c838e6ab7e245d5ec449e543a4b7ce3a54cd8f
6
+ metadata.gz: 606216c9d450e05a82f1e712f280f14f13fd7c7c3ee00ee04b4f45c979c904c41686e3bbc01689c3449929a8d8259ab78a5dd02bea496954df284fcc38177de7
7
+ data.tar.gz: 19747653ba1aed773c7cbe98de11c223a1af6d22da4373da1f7b73a5cf18278622abecc9caa90abe71a62120246c607c171d48451413184060499130b817c367
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.9.0 (2023-05-31)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ 1.8.0 (2023-05-30)
10
+ ------------------
11
+
12
+ * Feature - Campaigns now support selecting Timestream or S3 as the data destination, Signal catalogs now support "Deprecation" keyword released in VSS v2.1 and "Comment" keyword released in VSS v3.0
13
+
4
14
  1.7.0 (2023-01-26)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.7.0
1
+ 1.9.0
@@ -275,6 +275,11 @@ module Aws::IoTFleetWise
275
275
  # in the future.
276
276
  #
277
277
  #
278
+ # @option options [String] :sdk_ua_app_id
279
+ # A unique and opaque application ID that is appended to the
280
+ # User-Agent header as app/<sdk_ua_app_id>. It should have a
281
+ # maximum length of 50.
282
+ #
278
283
  # @option options [String] :secret_access_key
279
284
  #
280
285
  # @option options [String] :session_token
@@ -557,8 +562,8 @@ module Aws::IoTFleetWise
557
562
  #
558
563
  # @option params [Time,DateTime,Date,Integer,String] :expiry_time
559
564
  # (Optional) The time the campaign expires, in seconds since epoch
560
- # (January 1, 1970 at midnight UTC time). Vehicle data won't be
561
- # collected after the campaign expires.
565
+ # (January 1, 1970 at midnight UTC time). Vehicle data isn't collected
566
+ # after the campaign expires.
562
567
  #
563
568
  # Default: 253402214400 (December 31, 9999, 00:00:00 UTC)
564
569
  #
@@ -622,6 +627,18 @@ module Aws::IoTFleetWise
622
627
  # @option params [Array<Types::Tag>] :tags
623
628
  # Metadata that can be used to manage the campaign.
624
629
  #
630
+ # @option params [Array<Types::DataDestinationConfig>] :data_destination_configs
631
+ # The destination where the campaign sends data. You can choose to send
632
+ # data to be stored in Amazon S3 or Amazon Timestream.
633
+ #
634
+ # Amazon S3 optimizes the cost of data storage and provides additional
635
+ # mechanisms to use vehicle data, such as data lakes, centralized data
636
+ # storage, data processing pipelines, and analytics.
637
+ #
638
+ # You can use Amazon Timestream to access and analyze time series data,
639
+ # and Timestream to query vehicle data so that you can identify trends
640
+ # and patterns.
641
+ #
625
642
  # @return [Types::CreateCampaignResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
626
643
  #
627
644
  # * {Types::CreateCampaignResponse#name #name} => String
@@ -666,6 +683,20 @@ module Aws::IoTFleetWise
666
683
  # value: "TagValue", # required
667
684
  # },
668
685
  # ],
686
+ # data_destination_configs: [
687
+ # {
688
+ # s3_config: {
689
+ # bucket_arn: "S3BucketArn", # required
690
+ # data_format: "JSON", # accepts JSON, PARQUET
691
+ # storage_compression_format: "NONE", # accepts NONE, GZIP
692
+ # prefix: "Prefix",
693
+ # },
694
+ # timestream_config: {
695
+ # timestream_table_arn: "TimestreamTableArn", # required
696
+ # execution_role_arn: "IAMRoleArn", # required
697
+ # },
698
+ # },
699
+ # ],
669
700
  # })
670
701
  #
671
702
  # @example Response structure
@@ -933,6 +964,8 @@ module Aws::IoTFleetWise
933
964
  # branch: {
934
965
  # fully_qualified_name: "string", # required
935
966
  # description: "description",
967
+ # deprecation_message: "message",
968
+ # comment: "message",
936
969
  # },
937
970
  # sensor: {
938
971
  # fully_qualified_name: "string", # required
@@ -942,6 +975,8 @@ module Aws::IoTFleetWise
942
975
  # allowed_values: ["string"],
943
976
  # min: 1.0,
944
977
  # max: 1.0,
978
+ # deprecation_message: "message",
979
+ # comment: "message",
945
980
  # },
946
981
  # actuator: {
947
982
  # fully_qualified_name: "string", # required
@@ -952,6 +987,8 @@ module Aws::IoTFleetWise
952
987
  # min: 1.0,
953
988
  # max: 1.0,
954
989
  # assigned_value: "string",
990
+ # deprecation_message: "message",
991
+ # comment: "message",
955
992
  # },
956
993
  # attribute: {
957
994
  # fully_qualified_name: "string", # required
@@ -963,6 +1000,8 @@ module Aws::IoTFleetWise
963
1000
  # max: 1.0,
964
1001
  # assigned_value: "string",
965
1002
  # default_value: "string",
1003
+ # deprecation_message: "message",
1004
+ # comment: "message",
966
1005
  # },
967
1006
  # },
968
1007
  # ],
@@ -990,7 +1029,7 @@ module Aws::IoTFleetWise
990
1029
  # manifest). Vehicles created from the same vehicle model consist of the
991
1030
  # same signals inherited from the vehicle model.
992
1031
  #
993
- # <note markdown="1"> If you have an existing Amazon Web Services IoT Thing, you can use
1032
+ # <note markdown="1"> If you have an existing Amazon Web Services IoT thing, you can use
994
1033
  # Amazon Web Services IoT FleetWise to create a vehicle and collect data
995
1034
  # from your thing.
996
1035
  #
@@ -1014,7 +1053,10 @@ module Aws::IoTFleetWise
1014
1053
  #
1015
1054
  # @option params [Hash<String,String>] :attributes
1016
1055
  # Static information about a vehicle in a key-value pair. For example:
1017
- # `"engineType"`\: `"1.3 L R2"`
1056
+ # `"engineType"` : `"1.3 L R2"`
1057
+ #
1058
+ # A campaign must include the keys (attribute names) in
1059
+ # `dataExtraDimensions` for them to display in Amazon Timestream.
1018
1060
  #
1019
1061
  # @option params [String] :association_behavior
1020
1062
  # An option to create a new Amazon Web Services IoT thing when creating
@@ -1321,6 +1363,7 @@ module Aws::IoTFleetWise
1321
1363
  # * {Types::GetCampaignResponse#data_extra_dimensions #data_extra_dimensions} => Array&lt;String&gt;
1322
1364
  # * {Types::GetCampaignResponse#creation_time #creation_time} => Time
1323
1365
  # * {Types::GetCampaignResponse#last_modification_time #last_modification_time} => Time
1366
+ # * {Types::GetCampaignResponse#data_destination_configs #data_destination_configs} => Array&lt;Types::DataDestinationConfig&gt;
1324
1367
  #
1325
1368
  # @example Request syntax with placeholder values
1326
1369
  #
@@ -1356,6 +1399,13 @@ module Aws::IoTFleetWise
1356
1399
  # resp.data_extra_dimensions[0] #=> String
1357
1400
  # resp.creation_time #=> Time
1358
1401
  # resp.last_modification_time #=> Time
1402
+ # resp.data_destination_configs #=> Array
1403
+ # resp.data_destination_configs[0].s3_config.bucket_arn #=> String
1404
+ # resp.data_destination_configs[0].s3_config.data_format #=> String, one of "JSON", "PARQUET"
1405
+ # resp.data_destination_configs[0].s3_config.storage_compression_format #=> String, one of "NONE", "GZIP"
1406
+ # resp.data_destination_configs[0].s3_config.prefix #=> String
1407
+ # resp.data_destination_configs[0].timestream_config.timestream_table_arn #=> String
1408
+ # resp.data_destination_configs[0].timestream_config.execution_role_arn #=> String
1359
1409
  #
1360
1410
  # @overload get_campaign(params = {})
1361
1411
  # @param [Hash] params ({})
@@ -2155,6 +2205,8 @@ module Aws::IoTFleetWise
2155
2205
  # resp.nodes #=> Array
2156
2206
  # resp.nodes[0].branch.fully_qualified_name #=> String
2157
2207
  # resp.nodes[0].branch.description #=> String
2208
+ # resp.nodes[0].branch.deprecation_message #=> String
2209
+ # resp.nodes[0].branch.comment #=> String
2158
2210
  # resp.nodes[0].sensor.fully_qualified_name #=> String
2159
2211
  # resp.nodes[0].sensor.data_type #=> String, one of "INT8", "UINT8", "INT16", "UINT16", "INT32", "UINT32", "INT64", "UINT64", "BOOLEAN", "FLOAT", "DOUBLE", "STRING", "UNIX_TIMESTAMP", "INT8_ARRAY", "UINT8_ARRAY", "INT16_ARRAY", "UINT16_ARRAY", "INT32_ARRAY", "UINT32_ARRAY", "INT64_ARRAY", "UINT64_ARRAY", "BOOLEAN_ARRAY", "FLOAT_ARRAY", "DOUBLE_ARRAY", "STRING_ARRAY", "UNIX_TIMESTAMP_ARRAY", "UNKNOWN"
2160
2212
  # resp.nodes[0].sensor.description #=> String
@@ -2163,6 +2215,8 @@ module Aws::IoTFleetWise
2163
2215
  # resp.nodes[0].sensor.allowed_values[0] #=> String
2164
2216
  # resp.nodes[0].sensor.min #=> Float
2165
2217
  # resp.nodes[0].sensor.max #=> Float
2218
+ # resp.nodes[0].sensor.deprecation_message #=> String
2219
+ # resp.nodes[0].sensor.comment #=> String
2166
2220
  # resp.nodes[0].actuator.fully_qualified_name #=> String
2167
2221
  # resp.nodes[0].actuator.data_type #=> String, one of "INT8", "UINT8", "INT16", "UINT16", "INT32", "UINT32", "INT64", "UINT64", "BOOLEAN", "FLOAT", "DOUBLE", "STRING", "UNIX_TIMESTAMP", "INT8_ARRAY", "UINT8_ARRAY", "INT16_ARRAY", "UINT16_ARRAY", "INT32_ARRAY", "UINT32_ARRAY", "INT64_ARRAY", "UINT64_ARRAY", "BOOLEAN_ARRAY", "FLOAT_ARRAY", "DOUBLE_ARRAY", "STRING_ARRAY", "UNIX_TIMESTAMP_ARRAY", "UNKNOWN"
2168
2222
  # resp.nodes[0].actuator.description #=> String
@@ -2172,6 +2226,8 @@ module Aws::IoTFleetWise
2172
2226
  # resp.nodes[0].actuator.min #=> Float
2173
2227
  # resp.nodes[0].actuator.max #=> Float
2174
2228
  # resp.nodes[0].actuator.assigned_value #=> String
2229
+ # resp.nodes[0].actuator.deprecation_message #=> String
2230
+ # resp.nodes[0].actuator.comment #=> String
2175
2231
  # resp.nodes[0].attribute.fully_qualified_name #=> String
2176
2232
  # resp.nodes[0].attribute.data_type #=> String, one of "INT8", "UINT8", "INT16", "UINT16", "INT32", "UINT32", "INT64", "UINT64", "BOOLEAN", "FLOAT", "DOUBLE", "STRING", "UNIX_TIMESTAMP", "INT8_ARRAY", "UINT8_ARRAY", "INT16_ARRAY", "UINT16_ARRAY", "INT32_ARRAY", "UINT32_ARRAY", "INT64_ARRAY", "UINT64_ARRAY", "BOOLEAN_ARRAY", "FLOAT_ARRAY", "DOUBLE_ARRAY", "STRING_ARRAY", "UNIX_TIMESTAMP_ARRAY", "UNKNOWN"
2177
2233
  # resp.nodes[0].attribute.description #=> String
@@ -2182,6 +2238,8 @@ module Aws::IoTFleetWise
2182
2238
  # resp.nodes[0].attribute.max #=> Float
2183
2239
  # resp.nodes[0].attribute.assigned_value #=> String
2184
2240
  # resp.nodes[0].attribute.default_value #=> String
2241
+ # resp.nodes[0].attribute.deprecation_message #=> String
2242
+ # resp.nodes[0].attribute.comment #=> String
2185
2243
  # resp.next_token #=> String
2186
2244
  #
2187
2245
  # @overload list_model_manifest_nodes(params = {})
@@ -2291,6 +2349,8 @@ module Aws::IoTFleetWise
2291
2349
  # resp.nodes #=> Array
2292
2350
  # resp.nodes[0].branch.fully_qualified_name #=> String
2293
2351
  # resp.nodes[0].branch.description #=> String
2352
+ # resp.nodes[0].branch.deprecation_message #=> String
2353
+ # resp.nodes[0].branch.comment #=> String
2294
2354
  # resp.nodes[0].sensor.fully_qualified_name #=> String
2295
2355
  # resp.nodes[0].sensor.data_type #=> String, one of "INT8", "UINT8", "INT16", "UINT16", "INT32", "UINT32", "INT64", "UINT64", "BOOLEAN", "FLOAT", "DOUBLE", "STRING", "UNIX_TIMESTAMP", "INT8_ARRAY", "UINT8_ARRAY", "INT16_ARRAY", "UINT16_ARRAY", "INT32_ARRAY", "UINT32_ARRAY", "INT64_ARRAY", "UINT64_ARRAY", "BOOLEAN_ARRAY", "FLOAT_ARRAY", "DOUBLE_ARRAY", "STRING_ARRAY", "UNIX_TIMESTAMP_ARRAY", "UNKNOWN"
2296
2356
  # resp.nodes[0].sensor.description #=> String
@@ -2299,6 +2359,8 @@ module Aws::IoTFleetWise
2299
2359
  # resp.nodes[0].sensor.allowed_values[0] #=> String
2300
2360
  # resp.nodes[0].sensor.min #=> Float
2301
2361
  # resp.nodes[0].sensor.max #=> Float
2362
+ # resp.nodes[0].sensor.deprecation_message #=> String
2363
+ # resp.nodes[0].sensor.comment #=> String
2302
2364
  # resp.nodes[0].actuator.fully_qualified_name #=> String
2303
2365
  # resp.nodes[0].actuator.data_type #=> String, one of "INT8", "UINT8", "INT16", "UINT16", "INT32", "UINT32", "INT64", "UINT64", "BOOLEAN", "FLOAT", "DOUBLE", "STRING", "UNIX_TIMESTAMP", "INT8_ARRAY", "UINT8_ARRAY", "INT16_ARRAY", "UINT16_ARRAY", "INT32_ARRAY", "UINT32_ARRAY", "INT64_ARRAY", "UINT64_ARRAY", "BOOLEAN_ARRAY", "FLOAT_ARRAY", "DOUBLE_ARRAY", "STRING_ARRAY", "UNIX_TIMESTAMP_ARRAY", "UNKNOWN"
2304
2366
  # resp.nodes[0].actuator.description #=> String
@@ -2308,6 +2370,8 @@ module Aws::IoTFleetWise
2308
2370
  # resp.nodes[0].actuator.min #=> Float
2309
2371
  # resp.nodes[0].actuator.max #=> Float
2310
2372
  # resp.nodes[0].actuator.assigned_value #=> String
2373
+ # resp.nodes[0].actuator.deprecation_message #=> String
2374
+ # resp.nodes[0].actuator.comment #=> String
2311
2375
  # resp.nodes[0].attribute.fully_qualified_name #=> String
2312
2376
  # resp.nodes[0].attribute.data_type #=> String, one of "INT8", "UINT8", "INT16", "UINT16", "INT32", "UINT32", "INT64", "UINT64", "BOOLEAN", "FLOAT", "DOUBLE", "STRING", "UNIX_TIMESTAMP", "INT8_ARRAY", "UINT8_ARRAY", "INT16_ARRAY", "UINT16_ARRAY", "INT32_ARRAY", "UINT32_ARRAY", "INT64_ARRAY", "UINT64_ARRAY", "BOOLEAN_ARRAY", "FLOAT_ARRAY", "DOUBLE_ARRAY", "STRING_ARRAY", "UNIX_TIMESTAMP_ARRAY", "UNKNOWN"
2313
2377
  # resp.nodes[0].attribute.description #=> String
@@ -2318,6 +2382,8 @@ module Aws::IoTFleetWise
2318
2382
  # resp.nodes[0].attribute.max #=> Float
2319
2383
  # resp.nodes[0].attribute.assigned_value #=> String
2320
2384
  # resp.nodes[0].attribute.default_value #=> String
2385
+ # resp.nodes[0].attribute.deprecation_message #=> String
2386
+ # resp.nodes[0].attribute.comment #=> String
2321
2387
  # resp.next_token #=> String
2322
2388
  #
2323
2389
  # @overload list_signal_catalog_nodes(params = {})
@@ -2538,29 +2604,33 @@ module Aws::IoTFleetWise
2538
2604
  req.send_request(options)
2539
2605
  end
2540
2606
 
2541
- # Registers your Amazon Web Services account, IAM, and Amazon Timestream
2542
- # resources so Amazon Web Services IoT FleetWise can transfer your
2543
- # vehicle data to the Amazon Web Services Cloud. For more information,
2544
- # including step-by-step procedures, see [Setting up Amazon Web Services
2545
- # IoT FleetWise][1].
2607
+ # This API operation contains deprecated parameters. Register your
2608
+ # account again without the Timestream resources parameter so that
2609
+ # Amazon Web Services IoT FleetWise can remove the Timestream metadata
2610
+ # stored. You should then pass the data destination into the
2611
+ # [CreateCampaign][1] API operation.
2546
2612
  #
2547
- # <note markdown="1"> An Amazon Web Services account is **not** the same thing as a "user
2548
- # account". An [Amazon Web Services user][2] is an identity that you
2549
- # create using Identity and Access Management (IAM) and takes the form
2550
- # of either an [IAM user][3] or an [IAM role, both with credentials][4].
2551
- # A single Amazon Web Services account can, and typically does, contain
2552
- # many users and roles.
2613
+ # You must delete any existing campaigns that include an empty data
2614
+ # destination before you register your account again. For more
2615
+ # information, see the [DeleteCampaign][2] API operation.
2553
2616
  #
2554
- # </note>
2617
+ # If you want to delete the Timestream inline policy from the
2618
+ # service-linked role, such as to mitigate an overly permissive policy,
2619
+ # you must first delete any existing campaigns. Then delete the
2620
+ # service-linked role and register your account again to enable
2621
+ # CloudWatch metrics. For more information, see
2622
+ # [DeleteServiceLinkedRole][3] in the *Identity and Access Management
2623
+ # API Reference*.
2555
2624
  #
2625
+ # <p>Registers your Amazon Web Services account, IAM, and Amazon Timestream resources so Amazon Web Services IoT FleetWise can transfer your vehicle data to the Amazon Web Services Cloud. For more information, including step-by-step procedures, see <a href="https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/setting-up.html">Setting up Amazon Web Services IoT FleetWise</a>. </p> <note> <p>An Amazon Web Services account is <b>not</b> the same thing as a "user." An <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_identity-management.html#intro-identity-users">Amazon Web Services user</a> is an identity that you create using Identity and Access Management (IAM) and takes the form of either an <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html">IAM user</a> or an <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html">IAM role, both with credentials</a>. A single Amazon Web Services account can, and typically does, contain many users and roles.</p> </note>
2556
2626
  #
2557
2627
  #
2558
- # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/setting-up.html
2559
- # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_identity-management.html#intro-identity-users
2560
- # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html
2561
- # [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html
2562
2628
  #
2563
- # @option params [required, Types::TimestreamResources] :timestream_resources
2629
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_CreateCampaign.html
2630
+ # [2]: https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_DeleteCampaign.html
2631
+ # [3]: https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteServiceLinkedRole.html
2632
+ #
2633
+ # @option params [Types::TimestreamResources] :timestream_resources
2564
2634
  # The registered Amazon Timestream resources that Amazon Web Services
2565
2635
  # IoT FleetWise edge agent software can transfer your vehicle data to.
2566
2636
  #
@@ -2579,7 +2649,7 @@ module Aws::IoTFleetWise
2579
2649
  # @example Request syntax with placeholder values
2580
2650
  #
2581
2651
  # resp = client.register_account({
2582
- # timestream_resources: { # required
2652
+ # timestream_resources: {
2583
2653
  # timestream_database_name: "TimestreamDatabaseName", # required
2584
2654
  # timestream_table_name: "TimestreamTableName", # required
2585
2655
  # },
@@ -2678,9 +2748,13 @@ module Aws::IoTFleetWise
2678
2748
  # * `APPROVE` - To approve delivering a data collection scheme to
2679
2749
  # vehicles.
2680
2750
  #
2681
- # * `SUSPEND` - To suspend collecting signal data.
2751
+ # * `SUSPEND` - To suspend collecting signal data. The campaign is
2752
+ # deleted from vehicles and all vehicles in the suspended campaign
2753
+ # will stop sending data.
2682
2754
  #
2683
- # * `RESUME` - To resume collecting signal data.
2755
+ # * `RESUME` - To reactivate the `SUSPEND` campaign. The campaign is
2756
+ # redeployed to all vehicles and the vehicles will resume sending
2757
+ # data.
2684
2758
  #
2685
2759
  # * `UPDATE` - To update a campaign.
2686
2760
  #
@@ -2992,6 +3066,8 @@ module Aws::IoTFleetWise
2992
3066
  # branch: {
2993
3067
  # fully_qualified_name: "string", # required
2994
3068
  # description: "description",
3069
+ # deprecation_message: "message",
3070
+ # comment: "message",
2995
3071
  # },
2996
3072
  # sensor: {
2997
3073
  # fully_qualified_name: "string", # required
@@ -3001,6 +3077,8 @@ module Aws::IoTFleetWise
3001
3077
  # allowed_values: ["string"],
3002
3078
  # min: 1.0,
3003
3079
  # max: 1.0,
3080
+ # deprecation_message: "message",
3081
+ # comment: "message",
3004
3082
  # },
3005
3083
  # actuator: {
3006
3084
  # fully_qualified_name: "string", # required
@@ -3011,6 +3089,8 @@ module Aws::IoTFleetWise
3011
3089
  # min: 1.0,
3012
3090
  # max: 1.0,
3013
3091
  # assigned_value: "string",
3092
+ # deprecation_message: "message",
3093
+ # comment: "message",
3014
3094
  # },
3015
3095
  # attribute: {
3016
3096
  # fully_qualified_name: "string", # required
@@ -3022,6 +3102,8 @@ module Aws::IoTFleetWise
3022
3102
  # max: 1.0,
3023
3103
  # assigned_value: "string",
3024
3104
  # default_value: "string",
3105
+ # deprecation_message: "message",
3106
+ # comment: "message",
3025
3107
  # },
3026
3108
  # },
3027
3109
  # ],
@@ -3030,6 +3112,8 @@ module Aws::IoTFleetWise
3030
3112
  # branch: {
3031
3113
  # fully_qualified_name: "string", # required
3032
3114
  # description: "description",
3115
+ # deprecation_message: "message",
3116
+ # comment: "message",
3033
3117
  # },
3034
3118
  # sensor: {
3035
3119
  # fully_qualified_name: "string", # required
@@ -3039,6 +3123,8 @@ module Aws::IoTFleetWise
3039
3123
  # allowed_values: ["string"],
3040
3124
  # min: 1.0,
3041
3125
  # max: 1.0,
3126
+ # deprecation_message: "message",
3127
+ # comment: "message",
3042
3128
  # },
3043
3129
  # actuator: {
3044
3130
  # fully_qualified_name: "string", # required
@@ -3049,6 +3135,8 @@ module Aws::IoTFleetWise
3049
3135
  # min: 1.0,
3050
3136
  # max: 1.0,
3051
3137
  # assigned_value: "string",
3138
+ # deprecation_message: "message",
3139
+ # comment: "message",
3052
3140
  # },
3053
3141
  # attribute: {
3054
3142
  # fully_qualified_name: "string", # required
@@ -3060,6 +3148,8 @@ module Aws::IoTFleetWise
3060
3148
  # max: 1.0,
3061
3149
  # assigned_value: "string",
3062
3150
  # default_value: "string",
3151
+ # deprecation_message: "message",
3152
+ # comment: "message",
3063
3153
  # },
3064
3154
  # },
3065
3155
  # ],
@@ -3093,7 +3183,7 @@ module Aws::IoTFleetWise
3093
3183
  # @option params [Hash<String,String>] :attributes
3094
3184
  # Static information about a vehicle in a key-value pair. For example:
3095
3185
  #
3096
- # `"engineType"`\: `"1.3 L R2"`
3186
+ # `"engineType"` : `"1.3 L R2"`
3097
3187
  #
3098
3188
  # @option params [String] :attribute_update_mode
3099
3189
  # The method the specified attributes will update the existing
@@ -3145,7 +3235,7 @@ module Aws::IoTFleetWise
3145
3235
  params: params,
3146
3236
  config: config)
3147
3237
  context[:gem_name] = 'aws-sdk-iotfleetwise'
3148
- context[:gem_version] = '1.7.0'
3238
+ context[:gem_version] = '1.9.0'
3149
3239
  Seahorse::Client::Request.new(handlers, context)
3150
3240
  end
3151
3241
 
@@ -52,7 +52,10 @@ module Aws::IoTFleetWise
52
52
  CreateVehicleRequestItem = Shapes::StructureShape.new(name: 'CreateVehicleRequestItem')
53
53
  CreateVehicleResponse = Shapes::StructureShape.new(name: 'CreateVehicleResponse')
54
54
  CreateVehicleResponseItem = Shapes::StructureShape.new(name: 'CreateVehicleResponseItem')
55
+ DataDestinationConfig = Shapes::UnionShape.new(name: 'DataDestinationConfig')
56
+ DataDestinationConfigs = Shapes::ListShape.new(name: 'DataDestinationConfigs')
55
57
  DataExtraDimensionNodePathList = Shapes::ListShape.new(name: 'DataExtraDimensionNodePathList')
58
+ DataFormat = Shapes::StringShape.new(name: 'DataFormat')
56
59
  DecoderManifestSummary = Shapes::StructureShape.new(name: 'DecoderManifestSummary')
57
60
  DecoderManifestValidationException = Shapes::StructureShape.new(name: 'DecoderManifestValidationException')
58
61
  DeleteCampaignRequest = Shapes::StructureShape.new(name: 'DeleteCampaignRequest')
@@ -161,6 +164,7 @@ module Aws::IoTFleetWise
161
164
  ObdInterfaceName = Shapes::StringShape.new(name: 'ObdInterfaceName')
162
165
  ObdSignal = Shapes::StructureShape.new(name: 'ObdSignal')
163
166
  ObdStandard = Shapes::StringShape.new(name: 'ObdStandard')
167
+ Prefix = Shapes::StringShape.new(name: 'Prefix')
164
168
  ProtocolName = Shapes::StringShape.new(name: 'ProtocolName')
165
169
  ProtocolVersion = Shapes::StringShape.new(name: 'ProtocolVersion')
166
170
  PutLoggingOptionsRequest = Shapes::StructureShape.new(name: 'PutLoggingOptionsRequest')
@@ -170,6 +174,8 @@ module Aws::IoTFleetWise
170
174
  RegistrationStatus = Shapes::StringShape.new(name: 'RegistrationStatus')
171
175
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
172
176
  RetryAfterSeconds = Shapes::IntegerShape.new(name: 'RetryAfterSeconds')
177
+ S3BucketArn = Shapes::StringShape.new(name: 'S3BucketArn')
178
+ S3Config = Shapes::StructureShape.new(name: 'S3Config')
173
179
  Sensor = Shapes::StructureShape.new(name: 'Sensor')
174
180
  SignalCatalogSummary = Shapes::StructureShape.new(name: 'SignalCatalogSummary')
175
181
  SignalDecoder = Shapes::StructureShape.new(name: 'SignalDecoder')
@@ -179,6 +185,7 @@ module Aws::IoTFleetWise
179
185
  SignalInformation = Shapes::StructureShape.new(name: 'SignalInformation')
180
186
  SignalInformationList = Shapes::ListShape.new(name: 'SignalInformationList')
181
187
  SpoolingMode = Shapes::StringShape.new(name: 'SpoolingMode')
188
+ StorageCompressionFormat = Shapes::StringShape.new(name: 'StorageCompressionFormat')
182
189
  String = Shapes::StringShape.new(name: 'String')
183
190
  Tag = Shapes::StructureShape.new(name: 'Tag')
184
191
  TagKey = Shapes::StringShape.new(name: 'TagKey')
@@ -189,9 +196,11 @@ module Aws::IoTFleetWise
189
196
  TagValue = Shapes::StringShape.new(name: 'TagValue')
190
197
  ThrottlingException = Shapes::StructureShape.new(name: 'ThrottlingException')
191
198
  TimeBasedCollectionScheme = Shapes::StructureShape.new(name: 'TimeBasedCollectionScheme')
199
+ TimestreamConfig = Shapes::StructureShape.new(name: 'TimestreamConfig')
192
200
  TimestreamDatabaseName = Shapes::StringShape.new(name: 'TimestreamDatabaseName')
193
201
  TimestreamRegistrationResponse = Shapes::StructureShape.new(name: 'TimestreamRegistrationResponse')
194
202
  TimestreamResources = Shapes::StructureShape.new(name: 'TimestreamResources')
203
+ TimestreamTableArn = Shapes::StringShape.new(name: 'TimestreamTableArn')
195
204
  TimestreamTableName = Shapes::StringShape.new(name: 'TimestreamTableName')
196
205
  TriggerMode = Shapes::StringShape.new(name: 'TriggerMode')
197
206
  UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
@@ -247,6 +256,7 @@ module Aws::IoTFleetWise
247
256
  listVehiclesMaxResults = Shapes::IntegerShape.new(name: 'listVehiclesMaxResults')
248
257
  maxResults = Shapes::IntegerShape.new(name: 'maxResults')
249
258
  maxSampleCount = Shapes::IntegerShape.new(name: 'maxSampleCount')
259
+ message = Shapes::StringShape.new(name: 'message')
250
260
  modelManifestSummaries = Shapes::ListShape.new(name: 'modelManifestSummaries')
251
261
  nextToken = Shapes::StringShape.new(name: 'nextToken')
252
262
  nonNegativeInteger = Shapes::IntegerShape.new(name: 'nonNegativeInteger')
@@ -278,6 +288,8 @@ module Aws::IoTFleetWise
278
288
  Actuator.add_member(:min, Shapes::ShapeRef.new(shape: double, location_name: "min"))
279
289
  Actuator.add_member(:max, Shapes::ShapeRef.new(shape: double, location_name: "max"))
280
290
  Actuator.add_member(:assigned_value, Shapes::ShapeRef.new(shape: string, deprecated: true, location_name: "assignedValue", metadata: {"deprecatedMessage"=>"assignedValue is no longer in use"}))
291
+ Actuator.add_member(:deprecation_message, Shapes::ShapeRef.new(shape: message, location_name: "deprecationMessage"))
292
+ Actuator.add_member(:comment, Shapes::ShapeRef.new(shape: message, location_name: "comment"))
281
293
  Actuator.struct_class = Types::Actuator
282
294
 
283
295
  AssociateVehicleFleetRequest.add_member(:vehicle_name, Shapes::ShapeRef.new(shape: vehicleName, required: true, location_name: "vehicleName"))
@@ -295,6 +307,8 @@ module Aws::IoTFleetWise
295
307
  Attribute.add_member(:max, Shapes::ShapeRef.new(shape: double, location_name: "max"))
296
308
  Attribute.add_member(:assigned_value, Shapes::ShapeRef.new(shape: string, deprecated: true, location_name: "assignedValue", metadata: {"deprecatedMessage"=>"assignedValue is no longer in use"}))
297
309
  Attribute.add_member(:default_value, Shapes::ShapeRef.new(shape: string, location_name: "defaultValue"))
310
+ Attribute.add_member(:deprecation_message, Shapes::ShapeRef.new(shape: message, location_name: "deprecationMessage"))
311
+ Attribute.add_member(:comment, Shapes::ShapeRef.new(shape: message, location_name: "comment"))
298
312
  Attribute.struct_class = Types::Attribute
299
313
 
300
314
  BatchCreateVehicleRequest.add_member(:vehicles, Shapes::ShapeRef.new(shape: createVehicleRequestItems, required: true, location_name: "vehicles"))
@@ -313,6 +327,8 @@ module Aws::IoTFleetWise
313
327
 
314
328
  Branch.add_member(:fully_qualified_name, Shapes::ShapeRef.new(shape: string, required: true, location_name: "fullyQualifiedName"))
315
329
  Branch.add_member(:description, Shapes::ShapeRef.new(shape: description, location_name: "description"))
330
+ Branch.add_member(:deprecation_message, Shapes::ShapeRef.new(shape: message, location_name: "deprecationMessage"))
331
+ Branch.add_member(:comment, Shapes::ShapeRef.new(shape: message, location_name: "comment"))
316
332
  Branch.struct_class = Types::Branch
317
333
 
318
334
  CampaignSummary.add_member(:arn, Shapes::ShapeRef.new(shape: arn, location_name: "arn"))
@@ -383,6 +399,7 @@ module Aws::IoTFleetWise
383
399
  CreateCampaignRequest.add_member(:collection_scheme, Shapes::ShapeRef.new(shape: CollectionScheme, required: true, location_name: "collectionScheme"))
384
400
  CreateCampaignRequest.add_member(:data_extra_dimensions, Shapes::ShapeRef.new(shape: DataExtraDimensionNodePathList, location_name: "dataExtraDimensions"))
385
401
  CreateCampaignRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tags"))
402
+ CreateCampaignRequest.add_member(:data_destination_configs, Shapes::ShapeRef.new(shape: DataDestinationConfigs, location_name: "dataDestinationConfigs"))
386
403
  CreateCampaignRequest.struct_class = Types::CreateCampaignRequest
387
404
 
388
405
  CreateCampaignResponse.add_member(:name, Shapes::ShapeRef.new(shape: campaignName, location_name: "name"))
@@ -463,6 +480,16 @@ module Aws::IoTFleetWise
463
480
  CreateVehicleResponseItem.add_member(:thing_arn, Shapes::ShapeRef.new(shape: arn, location_name: "thingArn"))
464
481
  CreateVehicleResponseItem.struct_class = Types::CreateVehicleResponseItem
465
482
 
483
+ DataDestinationConfig.add_member(:s3_config, Shapes::ShapeRef.new(shape: S3Config, location_name: "s3Config"))
484
+ DataDestinationConfig.add_member(:timestream_config, Shapes::ShapeRef.new(shape: TimestreamConfig, location_name: "timestreamConfig"))
485
+ DataDestinationConfig.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown'))
486
+ DataDestinationConfig.add_member_subclass(:s3_config, Types::DataDestinationConfig::S3Config)
487
+ DataDestinationConfig.add_member_subclass(:timestream_config, Types::DataDestinationConfig::TimestreamConfig)
488
+ DataDestinationConfig.add_member_subclass(:unknown, Types::DataDestinationConfig::Unknown)
489
+ DataDestinationConfig.struct_class = Types::DataDestinationConfig
490
+
491
+ DataDestinationConfigs.member = Shapes::ShapeRef.new(shape: DataDestinationConfig)
492
+
466
493
  DataExtraDimensionNodePathList.member = Shapes::ShapeRef.new(shape: NodePath)
467
494
 
468
495
  DecoderManifestSummary.add_member(:name, Shapes::ShapeRef.new(shape: string, location_name: "name"))
@@ -564,6 +591,7 @@ module Aws::IoTFleetWise
564
591
  GetCampaignResponse.add_member(:data_extra_dimensions, Shapes::ShapeRef.new(shape: DataExtraDimensionNodePathList, location_name: "dataExtraDimensions"))
565
592
  GetCampaignResponse.add_member(:creation_time, Shapes::ShapeRef.new(shape: timestamp, location_name: "creationTime"))
566
593
  GetCampaignResponse.add_member(:last_modification_time, Shapes::ShapeRef.new(shape: timestamp, location_name: "lastModificationTime"))
594
+ GetCampaignResponse.add_member(:data_destination_configs, Shapes::ShapeRef.new(shape: DataDestinationConfigs, location_name: "dataDestinationConfigs"))
567
595
  GetCampaignResponse.struct_class = Types::GetCampaignResponse
568
596
 
569
597
  GetDecoderManifestRequest.add_member(:name, Shapes::ShapeRef.new(shape: resourceName, required: true, location_name: "name"))
@@ -610,7 +638,7 @@ module Aws::IoTFleetWise
610
638
 
611
639
  GetRegisterAccountStatusResponse.add_member(:customer_account_id, Shapes::ShapeRef.new(shape: customerAccountId, required: true, location_name: "customerAccountId"))
612
640
  GetRegisterAccountStatusResponse.add_member(:account_status, Shapes::ShapeRef.new(shape: RegistrationStatus, required: true, location_name: "accountStatus"))
613
- GetRegisterAccountStatusResponse.add_member(:timestream_registration_response, Shapes::ShapeRef.new(shape: TimestreamRegistrationResponse, required: true, location_name: "timestreamRegistrationResponse"))
641
+ GetRegisterAccountStatusResponse.add_member(:timestream_registration_response, Shapes::ShapeRef.new(shape: TimestreamRegistrationResponse, location_name: "timestreamRegistrationResponse"))
614
642
  GetRegisterAccountStatusResponse.add_member(:iam_registration_response, Shapes::ShapeRef.new(shape: IamRegistrationResponse, required: true, location_name: "iamRegistrationResponse"))
615
643
  GetRegisterAccountStatusResponse.add_member(:creation_time, Shapes::ShapeRef.new(shape: timestamp, required: true, location_name: "creationTime"))
616
644
  GetRegisterAccountStatusResponse.add_member(:last_modification_time, Shapes::ShapeRef.new(shape: timestamp, required: true, location_name: "lastModificationTime"))
@@ -902,12 +930,12 @@ module Aws::IoTFleetWise
902
930
 
903
931
  PutLoggingOptionsResponse.struct_class = Types::PutLoggingOptionsResponse
904
932
 
905
- RegisterAccountRequest.add_member(:timestream_resources, Shapes::ShapeRef.new(shape: TimestreamResources, required: true, location_name: "timestreamResources"))
933
+ RegisterAccountRequest.add_member(:timestream_resources, Shapes::ShapeRef.new(shape: TimestreamResources, deprecated: true, location_name: "timestreamResources", metadata: {"deprecatedMessage"=>"Amazon Timestream metadata is now passed in the CreateCampaign API."}))
906
934
  RegisterAccountRequest.add_member(:iam_resources, Shapes::ShapeRef.new(shape: IamResources, deprecated: true, location_name: "iamResources", metadata: {"deprecatedMessage"=>"iamResources is no longer used or needed as input"}))
907
935
  RegisterAccountRequest.struct_class = Types::RegisterAccountRequest
908
936
 
909
937
  RegisterAccountResponse.add_member(:register_account_status, Shapes::ShapeRef.new(shape: RegistrationStatus, required: true, location_name: "registerAccountStatus"))
910
- RegisterAccountResponse.add_member(:timestream_resources, Shapes::ShapeRef.new(shape: TimestreamResources, required: true, location_name: "timestreamResources"))
938
+ RegisterAccountResponse.add_member(:timestream_resources, Shapes::ShapeRef.new(shape: TimestreamResources, location_name: "timestreamResources"))
911
939
  RegisterAccountResponse.add_member(:iam_resources, Shapes::ShapeRef.new(shape: IamResources, required: true, location_name: "iamResources"))
912
940
  RegisterAccountResponse.add_member(:creation_time, Shapes::ShapeRef.new(shape: timestamp, required: true, location_name: "creationTime"))
913
941
  RegisterAccountResponse.add_member(:last_modification_time, Shapes::ShapeRef.new(shape: timestamp, required: true, location_name: "lastModificationTime"))
@@ -918,6 +946,12 @@ module Aws::IoTFleetWise
918
946
  ResourceNotFoundException.add_member(:resource_type, Shapes::ShapeRef.new(shape: string, required: true, location_name: "resourceType"))
919
947
  ResourceNotFoundException.struct_class = Types::ResourceNotFoundException
920
948
 
949
+ S3Config.add_member(:bucket_arn, Shapes::ShapeRef.new(shape: S3BucketArn, required: true, location_name: "bucketArn"))
950
+ S3Config.add_member(:data_format, Shapes::ShapeRef.new(shape: DataFormat, location_name: "dataFormat"))
951
+ S3Config.add_member(:storage_compression_format, Shapes::ShapeRef.new(shape: StorageCompressionFormat, location_name: "storageCompressionFormat"))
952
+ S3Config.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "prefix"))
953
+ S3Config.struct_class = Types::S3Config
954
+
921
955
  Sensor.add_member(:fully_qualified_name, Shapes::ShapeRef.new(shape: string, required: true, location_name: "fullyQualifiedName"))
922
956
  Sensor.add_member(:data_type, Shapes::ShapeRef.new(shape: NodeDataType, required: true, location_name: "dataType"))
923
957
  Sensor.add_member(:description, Shapes::ShapeRef.new(shape: description, location_name: "description"))
@@ -925,6 +959,8 @@ module Aws::IoTFleetWise
925
959
  Sensor.add_member(:allowed_values, Shapes::ShapeRef.new(shape: listOfStrings, location_name: "allowedValues"))
926
960
  Sensor.add_member(:min, Shapes::ShapeRef.new(shape: double, location_name: "min"))
927
961
  Sensor.add_member(:max, Shapes::ShapeRef.new(shape: double, location_name: "max"))
962
+ Sensor.add_member(:deprecation_message, Shapes::ShapeRef.new(shape: message, location_name: "deprecationMessage"))
963
+ Sensor.add_member(:comment, Shapes::ShapeRef.new(shape: message, location_name: "comment"))
928
964
  Sensor.struct_class = Types::Sensor
929
965
 
930
966
  SignalCatalogSummary.add_member(:name, Shapes::ShapeRef.new(shape: string, location_name: "name"))
@@ -972,6 +1008,10 @@ module Aws::IoTFleetWise
972
1008
  TimeBasedCollectionScheme.add_member(:period_ms, Shapes::ShapeRef.new(shape: collectionPeriodMs, required: true, location_name: "periodMs"))
973
1009
  TimeBasedCollectionScheme.struct_class = Types::TimeBasedCollectionScheme
974
1010
 
1011
+ TimestreamConfig.add_member(:timestream_table_arn, Shapes::ShapeRef.new(shape: TimestreamTableArn, required: true, location_name: "timestreamTableArn"))
1012
+ TimestreamConfig.add_member(:execution_role_arn, Shapes::ShapeRef.new(shape: IAMRoleArn, required: true, location_name: "executionRoleArn"))
1013
+ TimestreamConfig.struct_class = Types::TimestreamConfig
1014
+
975
1015
  TimestreamRegistrationResponse.add_member(:timestream_database_name, Shapes::ShapeRef.new(shape: TimestreamDatabaseName, required: true, location_name: "timestreamDatabaseName"))
976
1016
  TimestreamRegistrationResponse.add_member(:timestream_table_name, Shapes::ShapeRef.new(shape: TimestreamTableName, required: true, location_name: "timestreamTableName"))
977
1017
  TimestreamRegistrationResponse.add_member(:timestream_database_arn, Shapes::ShapeRef.new(shape: arn, location_name: "timestreamDatabaseArn"))
@@ -50,9 +50,6 @@ module Aws::IoTFleetWise
50
50
 
51
51
  def initialize(options = {})
52
52
  self[:region] = options[:region]
53
- if self[:region].nil?
54
- raise ArgumentError, "Missing required EndpointParameter: :region"
55
- end
56
53
  self[:use_dual_stack] = options[:use_dual_stack]
57
54
  self[:use_dual_stack] = false if self[:use_dual_stack].nil?
58
55
  if self[:use_dual_stack].nil?
@@ -14,36 +14,39 @@ module Aws::IoTFleetWise
14
14
  use_dual_stack = parameters.use_dual_stack
15
15
  use_fips = parameters.use_fips
16
16
  endpoint = parameters.endpoint
17
- if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
18
- if Aws::Endpoints::Matchers.set?(endpoint)
19
- if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
20
- raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
21
- end
22
- if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
23
- raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
24
- end
25
- return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
26
- end
27
- if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
28
- if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
29
- return Aws::Endpoints::Endpoint.new(url: "https://iotfleetwise-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
30
- end
31
- raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
32
- end
17
+ if Aws::Endpoints::Matchers.set?(endpoint)
33
18
  if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
34
- if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
35
- return Aws::Endpoints::Endpoint.new(url: "https://iotfleetwise-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
36
- end
37
- raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
19
+ raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
38
20
  end
39
21
  if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
40
- if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
41
- return Aws::Endpoints::Endpoint.new(url: "https://iotfleetwise.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
22
+ raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
23
+ end
24
+ return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
25
+ end
26
+ if Aws::Endpoints::Matchers.set?(region)
27
+ if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
28
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
29
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
30
+ return Aws::Endpoints::Endpoint.new(url: "https://iotfleetwise-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
31
+ end
32
+ raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
33
+ end
34
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
35
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
36
+ return Aws::Endpoints::Endpoint.new(url: "https://iotfleetwise-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
37
+ end
38
+ raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
39
+ end
40
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
41
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
42
+ return Aws::Endpoints::Endpoint.new(url: "https://iotfleetwise.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
43
+ end
44
+ raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
42
45
  end
43
- raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
46
+ return Aws::Endpoints::Endpoint.new(url: "https://iotfleetwise.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
44
47
  end
45
- return Aws::Endpoints::Endpoint.new(url: "https://iotfleetwise.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
46
48
  end
49
+ raise ArgumentError, "Invalid Configuration: Missing Region"
47
50
  raise ArgumentError, 'No endpoint could be resolved'
48
51
 
49
52
  end
@@ -64,6 +64,15 @@ module Aws::IoTFleetWise
64
64
  # A specified value for the actuator.
65
65
  # @return [String]
66
66
  #
67
+ # @!attribute [rw] deprecation_message
68
+ # The deprecation message for the node or the branch that was moved or
69
+ # deleted.
70
+ # @return [String]
71
+ #
72
+ # @!attribute [rw] comment
73
+ # A comment in addition to the description.
74
+ # @return [String]
75
+ #
67
76
  class Actuator < Struct.new(
68
77
  :fully_qualified_name,
69
78
  :data_type,
@@ -72,7 +81,9 @@ module Aws::IoTFleetWise
72
81
  :allowed_values,
73
82
  :min,
74
83
  :max,
75
- :assigned_value)
84
+ :assigned_value,
85
+ :deprecation_message,
86
+ :comment)
76
87
  SENSITIVE = []
77
88
  include Aws::Structure
78
89
  end
@@ -134,6 +145,15 @@ module Aws::IoTFleetWise
134
145
  # The default value of the attribute.
135
146
  # @return [String]
136
147
  #
148
+ # @!attribute [rw] deprecation_message
149
+ # The deprecation message for the node or the branch that was moved or
150
+ # deleted.
151
+ # @return [String]
152
+ #
153
+ # @!attribute [rw] comment
154
+ # A comment in addition to the description.
155
+ # @return [String]
156
+ #
137
157
  class Attribute < Struct.new(
138
158
  :fully_qualified_name,
139
159
  :data_type,
@@ -143,7 +163,9 @@ module Aws::IoTFleetWise
143
163
  :min,
144
164
  :max,
145
165
  :assigned_value,
146
- :default_value)
166
+ :default_value,
167
+ :deprecation_message,
168
+ :comment)
147
169
  SENSITIVE = []
148
170
  include Aws::Structure
149
171
  end
@@ -219,9 +241,20 @@ module Aws::IoTFleetWise
219
241
  # A brief description of the branch.
220
242
  # @return [String]
221
243
  #
244
+ # @!attribute [rw] deprecation_message
245
+ # The deprecation message for the node or the branch that was moved or
246
+ # deleted.
247
+ # @return [String]
248
+ #
249
+ # @!attribute [rw] comment
250
+ # A comment in addition to the description.
251
+ # @return [String]
252
+ #
222
253
  class Branch < Struct.new(
223
254
  :fully_qualified_name,
224
- :description)
255
+ :description,
256
+ :deprecation_message,
257
+ :comment)
225
258
  SENSITIVE = []
226
259
  include Aws::Structure
227
260
  end
@@ -352,11 +385,19 @@ module Aws::IoTFleetWise
352
385
  # @return [Boolean]
353
386
  #
354
387
  # @!attribute [rw] start_bit
355
- # Indicates the beginning of the CAN message.
388
+ # Indicates the beginning of the CAN signal. This should always be the
389
+ # least significant bit (LSB).
390
+ #
391
+ # This value might be different from the value in a DBC file. For
392
+ # little endian signals, `startBit` is the same value as in the DBC
393
+ # file. For big endian signals in a DBC file, the start bit is the
394
+ # most significant bit (MSB). You will have to calculate the LSB
395
+ # instead and pass it as the `startBit`.
356
396
  # @return [Integer]
357
397
  #
358
398
  # @!attribute [rw] offset
359
- # Indicates where data appears in the CAN message.
399
+ # The offset used to calculate the signal value. Combined with factor,
400
+ # the calculation is `value = raw_value * factor + offset`.
360
401
  # @return [Float]
361
402
  #
362
403
  # @!attribute [rw] factor
@@ -520,7 +561,7 @@ module Aws::IoTFleetWise
520
561
  #
521
562
  # @!attribute [rw] expiry_time
522
563
  # (Optional) The time the campaign expires, in seconds since epoch
523
- # (January 1, 1970 at midnight UTC time). Vehicle data won't be
564
+ # (January 1, 1970 at midnight UTC time). Vehicle data isn't
524
565
  # collected after the campaign expires.
525
566
  #
526
567
  # Default: 253402214400 (December 31, 9999, 00:00:00 UTC)
@@ -597,6 +638,19 @@ module Aws::IoTFleetWise
597
638
  # Metadata that can be used to manage the campaign.
598
639
  # @return [Array<Types::Tag>]
599
640
  #
641
+ # @!attribute [rw] data_destination_configs
642
+ # The destination where the campaign sends data. You can choose to
643
+ # send data to be stored in Amazon S3 or Amazon Timestream.
644
+ #
645
+ # Amazon S3 optimizes the cost of data storage and provides additional
646
+ # mechanisms to use vehicle data, such as data lakes, centralized data
647
+ # storage, data processing pipelines, and analytics.
648
+ #
649
+ # You can use Amazon Timestream to access and analyze time series
650
+ # data, and Timestream to query vehicle data so that you can identify
651
+ # trends and patterns.
652
+ # @return [Array<Types::DataDestinationConfig>]
653
+ #
600
654
  class CreateCampaignRequest < Struct.new(
601
655
  :name,
602
656
  :description,
@@ -612,7 +666,8 @@ module Aws::IoTFleetWise
612
666
  :signals_to_collect,
613
667
  :collection_scheme,
614
668
  :data_extra_dimensions,
615
- :tags)
669
+ :tags,
670
+ :data_destination_configs)
616
671
  SENSITIVE = []
617
672
  include Aws::Structure
618
673
  end
@@ -845,7 +900,10 @@ module Aws::IoTFleetWise
845
900
  #
846
901
  # @!attribute [rw] attributes
847
902
  # Static information about a vehicle in a key-value pair. For example:
848
- # `"engineType"`\: `"1.3 L R2"`
903
+ # `"engineType"` : `"1.3 L R2"`
904
+ #
905
+ # A campaign must include the keys (attribute names) in
906
+ # `dataExtraDimensions` for them to display in Amazon Timestream.
849
907
  # @return [Hash<String,String>]
850
908
  #
851
909
  # @!attribute [rw] association_behavior
@@ -889,7 +947,7 @@ module Aws::IoTFleetWise
889
947
  #
890
948
  # @!attribute [rw] attributes
891
949
  # Static information about a vehicle in a key-value pair. For example:
892
- # `"engine Type"`\: `"v6"`
950
+ # `"engine Type"` : `"v6"`
893
951
  # @return [Hash<String,String>]
894
952
  #
895
953
  # @!attribute [rw] association_behavior
@@ -954,6 +1012,36 @@ module Aws::IoTFleetWise
954
1012
  include Aws::Structure
955
1013
  end
956
1014
 
1015
+ # The destination where the Amazon Web Services IoT FleetWise campaign
1016
+ # sends data. You can send data to be stored in Amazon S3 or Amazon
1017
+ # Timestream.
1018
+ #
1019
+ # @note DataDestinationConfig is a union - when making an API calls you must set exactly one of the members.
1020
+ #
1021
+ # @note DataDestinationConfig is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of DataDestinationConfig corresponding to the set member.
1022
+ #
1023
+ # @!attribute [rw] s3_config
1024
+ # The Amazon S3 bucket where the Amazon Web Services IoT FleetWise
1025
+ # campaign sends data.
1026
+ # @return [Types::S3Config]
1027
+ #
1028
+ # @!attribute [rw] timestream_config
1029
+ # The Amazon Timestream table where the campaign sends data.
1030
+ # @return [Types::TimestreamConfig]
1031
+ #
1032
+ class DataDestinationConfig < Struct.new(
1033
+ :s3_config,
1034
+ :timestream_config,
1035
+ :unknown)
1036
+ SENSITIVE = []
1037
+ include Aws::Structure
1038
+ include Aws::Structure::Union
1039
+
1040
+ class S3Config < DataDestinationConfig; end
1041
+ class TimestreamConfig < DataDestinationConfig; end
1042
+ class Unknown < DataDestinationConfig; end
1043
+ end
1044
+
957
1045
  # Information about a created decoder manifest. You can use the API
958
1046
  # operation to return this information about multiple decoder manifests.
959
1047
  #
@@ -1240,10 +1328,14 @@ module Aws::IoTFleetWise
1240
1328
  include Aws::Structure
1241
1329
  end
1242
1330
 
1243
- # Vehicle Signal Specification (VSS) is a precise language used to
1331
+ # [Vehicle Signal Specification (VSS)][1] is a precise language used to
1244
1332
  # describe and model signals in vehicle networks. The JSON file collects
1245
1333
  # signal specificiations in a VSS format.
1246
1334
  #
1335
+ #
1336
+ #
1337
+ # [1]: https://www.w3.org/auto/wg/wiki/Vehicle_Signal_Specification_(VSS)/Vehicle_Data_Spec
1338
+ #
1247
1339
  # @note FormattedVss is a union - when making an API calls you must set exactly one of the members.
1248
1340
  #
1249
1341
  # @!attribute [rw] vss_json
@@ -1357,6 +1449,19 @@ module Aws::IoTFleetWise
1357
1449
  # The last time the campaign was modified.
1358
1450
  # @return [Time]
1359
1451
  #
1452
+ # @!attribute [rw] data_destination_configs
1453
+ # The destination where the campaign sends data. You can choose to
1454
+ # send data to be stored in Amazon S3 or Amazon Timestream.
1455
+ #
1456
+ # Amazon S3 optimizes the cost of data storage and provides additional
1457
+ # mechanisms to use vehicle data, such as data lakes, centralized data
1458
+ # storage, data processing pipelines, and analytics.
1459
+ #
1460
+ # You can use Amazon Timestream to access and analyze time series
1461
+ # data, and Timestream to query vehicle data so that you can identify
1462
+ # trends and patterns.
1463
+ # @return [Array<Types::DataDestinationConfig>]
1464
+ #
1360
1465
  class GetCampaignResponse < Struct.new(
1361
1466
  :name,
1362
1467
  :arn,
@@ -1375,7 +1480,8 @@ module Aws::IoTFleetWise
1375
1480
  :collection_scheme,
1376
1481
  :data_extra_dimensions,
1377
1482
  :creation_time,
1378
- :last_modification_time)
1483
+ :last_modification_time,
1484
+ :data_destination_configs)
1379
1485
  SENSITIVE = []
1380
1486
  include Aws::Structure
1381
1487
  end
@@ -1680,7 +1786,7 @@ module Aws::IoTFleetWise
1680
1786
  # @!attribute [rw] attributes
1681
1787
  # Static information about a vehicle in a key-value pair. For example:
1682
1788
  #
1683
- # `"engineType"`\: `"1.3 L R2"`
1789
+ # `"engineType"` : `"1.3 L R2"`
1684
1790
  # @return [Hash<String,String>]
1685
1791
  #
1686
1792
  # @!attribute [rw] creation_time
@@ -2783,7 +2889,8 @@ module Aws::IoTFleetWise
2783
2889
  # @return [Float]
2784
2890
  #
2785
2891
  # @!attribute [rw] offset
2786
- # Indicates where data appears in the message.
2892
+ # The offset used to calculate the signal value. Combined with
2893
+ # scaling, the calculation is `value = raw_value * scaling + offset`.
2787
2894
  # @return [Float]
2788
2895
  #
2789
2896
  # @!attribute [rw] start_byte
@@ -2902,6 +3009,65 @@ module Aws::IoTFleetWise
2902
3009
  include Aws::Structure
2903
3010
  end
2904
3011
 
3012
+ # The Amazon S3 bucket where the Amazon Web Services IoT FleetWise
3013
+ # campaign sends data. Amazon S3 is an object storage service that
3014
+ # stores data as objects within buckets. For more information, see
3015
+ # [Creating, configuring, and working with Amazon S3 buckets][1] in the
3016
+ # *Amazon Simple Storage Service User Guide*.
3017
+ #
3018
+ #
3019
+ #
3020
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html
3021
+ #
3022
+ # @!attribute [rw] bucket_arn
3023
+ # The Amazon Resource Name (ARN) of the Amazon S3 bucket.
3024
+ # @return [String]
3025
+ #
3026
+ # @!attribute [rw] data_format
3027
+ # Specify the format that files are saved in the Amazon S3 bucket. You
3028
+ # can save files in an Apache Parquet or JSON format.
3029
+ #
3030
+ # * Parquet - Store data in a columnar storage file format. Parquet is
3031
+ # optimal for fast data retrieval and can reduce costs. This option
3032
+ # is selected by default.
3033
+ #
3034
+ # * JSON - Store data in a standard text-based JSON file format.
3035
+ # @return [String]
3036
+ #
3037
+ # @!attribute [rw] storage_compression_format
3038
+ # By default, stored data is compressed as a .gzip file. Compressed
3039
+ # files have a reduced file size, which can optimize the cost of data
3040
+ # storage.
3041
+ # @return [String]
3042
+ #
3043
+ # @!attribute [rw] prefix
3044
+ # (Optional) Enter an S3 bucket prefix. The prefix is the string of
3045
+ # characters after the bucket name and before the object name. You can
3046
+ # use the prefix to organize data stored in Amazon S3 buckets. For
3047
+ # more information, see [Organizing objects using prefixes][1] in the
3048
+ # *Amazon Simple Storage Service User Guide*.
3049
+ #
3050
+ # By default, Amazon Web Services IoT FleetWise sets the prefix
3051
+ # `processed-data/year=YY/month=MM/date=DD/hour=HH/` (in UTC) to data
3052
+ # it delivers to Amazon S3. You can enter a prefix to append it to
3053
+ # this default prefix. For example, if you enter the prefix
3054
+ # `vehicles`, the prefix will be
3055
+ # `vehicles/processed-data/year=YY/month=MM/date=DD/hour=HH/`.
3056
+ #
3057
+ #
3058
+ #
3059
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html
3060
+ # @return [String]
3061
+ #
3062
+ class S3Config < Struct.new(
3063
+ :bucket_arn,
3064
+ :data_format,
3065
+ :storage_compression_format,
3066
+ :prefix)
3067
+ SENSITIVE = []
3068
+ include Aws::Structure
3069
+ end
3070
+
2905
3071
  # An input component that reports the environmental condition of a
2906
3072
  # vehicle.
2907
3073
  #
@@ -2939,6 +3105,15 @@ module Aws::IoTFleetWise
2939
3105
  # The specified possible maximum value of the sensor.
2940
3106
  # @return [Float]
2941
3107
  #
3108
+ # @!attribute [rw] deprecation_message
3109
+ # The deprecation message for the node or the branch that was moved or
3110
+ # deleted.
3111
+ # @return [String]
3112
+ #
3113
+ # @!attribute [rw] comment
3114
+ # A comment in addition to the description.
3115
+ # @return [String]
3116
+ #
2942
3117
  class Sensor < Struct.new(
2943
3118
  :fully_qualified_name,
2944
3119
  :data_type,
@@ -2946,7 +3121,9 @@ module Aws::IoTFleetWise
2946
3121
  :unit,
2947
3122
  :allowed_values,
2948
3123
  :min,
2949
- :max)
3124
+ :max,
3125
+ :deprecation_message,
3126
+ :comment)
2950
3127
  SENSITIVE = []
2951
3128
  include Aws::Structure
2952
3129
  end
@@ -3125,6 +3302,33 @@ module Aws::IoTFleetWise
3125
3302
  include Aws::Structure
3126
3303
  end
3127
3304
 
3305
+ # The Amazon Timestream table where the Amazon Web Services IoT
3306
+ # FleetWise campaign sends data. Timestream stores and organizes data to
3307
+ # optimize query processing time and to reduce storage costs. For more
3308
+ # information, see [Data modeling][1] in the *Amazon Timestream
3309
+ # Developer Guide*.
3310
+ #
3311
+ #
3312
+ #
3313
+ # [1]: https://docs.aws.amazon.com/timestream/latest/developerguide/data-modeling.html
3314
+ #
3315
+ # @!attribute [rw] timestream_table_arn
3316
+ # The Amazon Resource Name (ARN) of the Amazon Timestream table.
3317
+ # @return [String]
3318
+ #
3319
+ # @!attribute [rw] execution_role_arn
3320
+ # The Amazon Resource Name (ARN) of the task execution role that
3321
+ # grants Amazon Web Services IoT FleetWise permission to deliver data
3322
+ # to the Amazon Timestream table.
3323
+ # @return [String]
3324
+ #
3325
+ class TimestreamConfig < Struct.new(
3326
+ :timestream_table_arn,
3327
+ :execution_role_arn)
3328
+ SENSITIVE = []
3329
+ include Aws::Structure
3330
+ end
3331
+
3128
3332
  # Information about the registered Amazon Timestream resources or
3129
3333
  # errors, if any.
3130
3334
  #
@@ -3221,9 +3425,13 @@ module Aws::IoTFleetWise
3221
3425
  # * `APPROVE` - To approve delivering a data collection scheme to
3222
3426
  # vehicles.
3223
3427
  #
3224
- # * `SUSPEND` - To suspend collecting signal data.
3428
+ # * `SUSPEND` - To suspend collecting signal data. The campaign is
3429
+ # deleted from vehicles and all vehicles in the suspended campaign
3430
+ # will stop sending data.
3225
3431
  #
3226
- # * `RESUME` - To resume collecting signal data.
3432
+ # * `RESUME` - To reactivate the `SUSPEND` campaign. The campaign is
3433
+ # redeployed to all vehicles and the vehicles will resume sending
3434
+ # data.
3227
3435
  #
3228
3436
  # * `UPDATE` - To update a campaign.
3229
3437
  # @return [String]
@@ -3504,7 +3712,7 @@ module Aws::IoTFleetWise
3504
3712
  # @!attribute [rw] attributes
3505
3713
  # Static information about a vehicle in a key-value pair. For example:
3506
3714
  #
3507
- # `"engineType"`\: `"1.3 L R2"`
3715
+ # `"engineType"` : `"1.3 L R2"`
3508
3716
  # @return [Hash<String,String>]
3509
3717
  #
3510
3718
  # @!attribute [rw] attribute_update_mode
@@ -3545,7 +3753,7 @@ module Aws::IoTFleetWise
3545
3753
  # @!attribute [rw] attributes
3546
3754
  # Static information about a vehicle in a key-value pair. For example:
3547
3755
  #
3548
- # `"engineType"`\: `"1.3 L R2"`
3756
+ # `"engineType"` : `"1.3 L R2"`
3549
3757
  # @return [Hash<String,String>]
3550
3758
  #
3551
3759
  # @!attribute [rw] attribute_update_mode
@@ -53,6 +53,6 @@ require_relative 'aws-sdk-iotfleetwise/customizations'
53
53
  # @!group service
54
54
  module Aws::IoTFleetWise
55
55
 
56
- GEM_VERSION = '1.7.0'
56
+ GEM_VERSION = '1.9.0'
57
57
 
58
58
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-iotfleetwise
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.0
4
+ version: 1.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-01-26 00:00:00.000000000 Z
11
+ date: 2023-05-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '3'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 3.165.0
22
+ version: 3.174.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '3'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 3.165.0
32
+ version: 3.174.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement