lib/aws-sdk-iotfleetwise/client.rb in aws-sdk-iotfleetwise-1.37.0 vs lib/aws-sdk-iotfleetwise/client.rb in aws-sdk-iotfleetwise-1.38.0
- old
+ new
@@ -517,10 +517,25 @@
# {
# key: "TagKey", # required
# value: "TagValue", # required
# },
# ],
+ # state_templates: [
+ # {
+ # identifier: "ResourceIdentifier", # required
+ # state_template_update_strategy: { # required
+ # periodic: {
+ # state_template_update_rate: { # required
+ # unit: "MILLISECOND", # required, accepts MILLISECOND, SECOND, MINUTE, HOUR
+ # value: 1, # required
+ # },
+ # },
+ # on_change: {
+ # },
+ # },
+ # },
+ # ],
# },
# ],
# })
#
# @example Response structure
@@ -574,10 +589,26 @@
# decoder_manifest_arn: "arn",
# attributes: {
# "attributeName" => "attributeValue",
# },
# attribute_update_mode: "Overwrite", # accepts Overwrite, Merge
+ # state_templates_to_add: [
+ # {
+ # identifier: "ResourceIdentifier", # required
+ # state_template_update_strategy: { # required
+ # periodic: {
+ # state_template_update_rate: { # required
+ # unit: "MILLISECOND", # required, accepts MILLISECOND, SECOND, MINUTE, HOUR
+ # value: 1, # required
+ # },
+ # },
+ # on_change: {
+ # },
+ # },
+ # },
+ # ],
+ # state_templates_to_remove: ["ResourceIdentifier"],
# },
# ],
# })
#
# @example Response structure
@@ -606,13 +637,19 @@
#
# For more information, see [Collect and transfer data with
# campaigns][1] in the *Amazon Web Services IoT FleetWise Developer
# Guide*.
#
+ # Access to certain Amazon Web Services IoT FleetWise features is
+ # currently gated. For more information, see [Amazon Web Services Region
+ # and feature availability][2] in the *Amazon Web Services IoT FleetWise
+ # Developer Guide*.
#
#
+ #
# [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/campaigns.html
+ # [2]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html
#
# @option params [required, String] :name
# The name of the campaign to create.
#
# @option params [String] :description
@@ -624,70 +661,74 @@
#
# @option params [required, String] :target_arn
# The ARN of the vehicle or fleet to deploy a campaign to.
#
# @option params [Time,DateTime,Date,Integer,String] :start_time
- # (Optional) The time, in milliseconds, to deliver a campaign after it
- # was approved. If it's not specified, `0` is used.
+ # The time, in milliseconds, to deliver a campaign after it was
+ # approved. If it's not specified, `0` is used.
#
# Default: `0`
#
# @option params [Time,DateTime,Date,Integer,String] :expiry_time
- # (Optional) The time the campaign expires, in seconds since epoch
- # (January 1, 1970 at midnight UTC time). Vehicle data isn't collected
- # after the campaign expires.
+ # The time the campaign expires, in seconds since epoch (January 1, 1970
+ # at midnight UTC time). Vehicle data isn't collected after the
+ # campaign expires.
#
# Default: 253402214400 (December 31, 9999, 00:00:00 UTC)
#
# @option params [Integer] :post_trigger_collection_duration
- # (Optional) How long (in milliseconds) to collect raw data after a
- # triggering event initiates the collection. If it's not specified, `0`
- # is used.
+ # How long (in milliseconds) to collect raw data after a triggering
+ # event initiates the collection. If it's not specified, `0` is used.
#
# Default: `0`
#
# @option params [String] :diagnostics_mode
- # (Optional) Option for a vehicle to send diagnostic trouble codes to
- # Amazon Web Services IoT FleetWise. If you want to send diagnostic
- # trouble codes, use `SEND_ACTIVE_DTCS`. If it's not specified, `OFF`
- # is used.
+ # Option for a vehicle to send diagnostic trouble codes to Amazon Web
+ # Services IoT FleetWise. If you want to send diagnostic trouble codes,
+ # use `SEND_ACTIVE_DTCS`. If it's not specified, `OFF` is used.
#
# Default: `OFF`
#
# @option params [String] :spooling_mode
- # (Optional) Whether to store collected data after a vehicle lost a
+ # Determines whether to store collected data after a vehicle lost a
# connection with the cloud. After a connection is re-established, the
# data is automatically forwarded to Amazon Web Services IoT FleetWise.
# If you want to store collected data when a vehicle loses connection
# with the cloud, use `TO_DISK`. If it's not specified, `OFF` is used.
#
# Default: `OFF`
#
# @option params [String] :compression
- # (Optional) Whether to compress signals before transmitting data to
+ # Determines whether to compress signals before transmitting data to
# Amazon Web Services IoT FleetWise. If you don't want to compress the
# signals, use `OFF`. If it's not specified, `SNAPPY` is used.
#
# Default: `SNAPPY`
#
# @option params [Integer] :priority
- # (Optional) A number indicating the priority of one campaign over
- # another campaign for a certain vehicle or fleet. A campaign with the
- # lowest value is deployed to vehicles before any other campaigns. If
- # it's not specified, `0` is used.
+ # A number indicating the priority of one campaign over another campaign
+ # for a certain vehicle or fleet. A campaign with the lowest value is
+ # deployed to vehicles before any other campaigns. If it's not
+ # specified, `0` is used.
#
# Default: `0`
#
# @option params [Array<Types::SignalInformation>] :signals_to_collect
- # (Optional) A list of information about signals to collect.
+ # A list of information about signals to collect.
#
+ # <note markdown="1"> If you upload a signal as a condition in a data partition for a
+ # campaign, then those same signals must be included in
+ # `signalsToCollect`.
+ #
+ # </note>
+ #
# @option params [required, Types::CollectionScheme] :collection_scheme
# The data collection scheme associated with the campaign. You can
# specify a scheme that collects data based on time or an event.
#
# @option params [Array<String>] :data_extra_dimensions
- # (Optional) A list of vehicle attributes to associate with a campaign.
+ # A list of vehicle attributes to associate with a campaign.
#
# Enrich the data with specified vehicle attributes. For example, add
# `make` and `model` to the campaign, and Amazon Web Services IoT
# FleetWise will associate the data with those attributes as dimensions
# in Amazon Timestream. You can then query the data against `make` and
@@ -697,13 +738,16 @@
#
# @option params [Array<Types::Tag>] :tags
# Metadata that can be used to manage the campaign.
#
# @option params [Array<Types::DataDestinationConfig>] :data_destination_configs
- # The destination where the campaign sends data. You can choose to send
- # data to be stored in Amazon S3 or Amazon Timestream.
+ # The destination where the campaign sends data. You can send data to an
+ # MQTT topic, or store it in Amazon S3 or Amazon Timestream.
#
+ # MQTT is the publish/subscribe messaging protocol used by Amazon Web
+ # Services IoT to communicate with your devices.
+ #
# Amazon S3 optimizes the cost of data storage and provides additional
# mechanisms to use vehicle data, such as data lakes, centralized data
# storage, data processing pipelines, and analytics. Amazon Web Services
# IoT FleetWise supports at-least-once file delivery to S3. Your vehicle
# data is stored on multiple Amazon Web Services IoT FleetWise servers
@@ -711,10 +755,17 @@
#
# You can use Amazon Timestream to access and analyze time series data,
# and Timestream to query vehicle data so that you can identify trends
# and patterns.
#
+ # @option params [Array<Types::DataPartition>] :data_partitions
+ # The data partitions associated with the signals collected from the
+ # vehicle.
+ #
+ # @option params [Array<Types::SignalFetchInformation>] :signals_to_fetch
+ # A list of information about signals to fetch.
+ #
# @return [Types::CreateCampaignResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::CreateCampaignResponse#name #name} => String
# * {Types::CreateCampaignResponse#arn #arn} => String
#
@@ -735,10 +786,11 @@
# signals_to_collect: [
# {
# name: "wildcardSignalName", # required
# max_sample_count: 1,
# minimum_sampling_interval_ms: 1,
+ # data_partition_id: "DataPartitionId",
# },
# ],
# collection_scheme: { # required
# time_based_collection_scheme: {
# period_ms: 1, # required
@@ -767,12 +819,52 @@
# },
# timestream_config: {
# timestream_table_arn: "TimestreamTableArn", # required
# execution_role_arn: "IAMRoleArn", # required
# },
+ # mqtt_topic_config: {
+ # mqtt_topic_arn: "MqttTopicArn", # required
+ # execution_role_arn: "IAMRoleArn", # required
+ # },
# },
# ],
+ # data_partitions: [
+ # {
+ # id: "DataPartitionId", # required
+ # storage_options: { # required
+ # maximum_size: { # required
+ # unit: "MB", # required, accepts MB, GB, TB
+ # value: 1, # required
+ # },
+ # storage_location: "StorageLocation", # required
+ # minimum_time_to_live: { # required
+ # unit: "HOURS", # required, accepts HOURS, DAYS, WEEKS
+ # value: 1, # required
+ # },
+ # },
+ # upload_options: {
+ # expression: "eventExpression", # required
+ # condition_language_version: 1,
+ # },
+ # },
+ # ],
+ # signals_to_fetch: [
+ # {
+ # fully_qualified_name: "NodePath", # required
+ # signal_fetch_config: { # required
+ # time_based: {
+ # execution_frequency_ms: 1, # required
+ # },
+ # condition_based: {
+ # condition_expression: "fetchConfigEventExpression", # required
+ # trigger_mode: "ALWAYS", # required, accepts ALWAYS, RISING_EDGE
+ # },
+ # },
+ # condition_language_version: 1,
+ # actions: ["actionEventExpression"], # required
+ # },
+ # ],
# })
#
# @example Response structure
#
# resp.name #=> String
@@ -809,10 +901,23 @@
# A list of information about signal decoders.
#
# @option params [Array<Types::NetworkInterface>] :network_interfaces
# A list of information about available network interfaces.
#
+ # @option params [String] :default_for_unmapped_signals
+ # Use default decoders for all unmapped signals in the model. You don't
+ # need to provide any detailed decoding information.
+ #
+ # Access to certain Amazon Web Services IoT FleetWise features is
+ # currently gated. For more information, see [Amazon Web Services Region
+ # and feature availability][1] in the *Amazon Web Services IoT FleetWise
+ # Developer Guide*.
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html
+ #
# @option params [Array<Types::Tag>] :tags
# Metadata that can be used to manage the decoder manifest.
#
# @return [Types::CreateDecoderManifestResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
@@ -826,11 +931,11 @@
# description: "description",
# model_manifest_arn: "arn", # required
# signal_decoders: [
# {
# fully_qualified_name: "FullyQualifiedName", # required
- # type: "CAN_SIGNAL", # required, accepts CAN_SIGNAL, OBD_SIGNAL, MESSAGE_SIGNAL
+ # type: "CAN_SIGNAL", # required, accepts CAN_SIGNAL, OBD_SIGNAL, MESSAGE_SIGNAL, CUSTOM_DECODING_SIGNAL
# interface_id: "InterfaceId", # required
# can_signal: {
# message_id: 1, # required
# is_big_endian: false, # required
# is_signed: false, # required
@@ -878,16 +983,19 @@
# },
# },
# ],
# },
# },
+ # custom_decoding_signal: {
+ # id: "CustomDecodingId", # required
+ # },
# },
# ],
# network_interfaces: [
# {
# interface_id: "InterfaceId", # required
- # type: "CAN_INTERFACE", # required, accepts CAN_INTERFACE, OBD_INTERFACE, VEHICLE_MIDDLEWARE
+ # type: "CAN_INTERFACE", # required, accepts CAN_INTERFACE, OBD_INTERFACE, VEHICLE_MIDDLEWARE, CUSTOM_DECODING_INTERFACE
# can_interface: {
# name: "CanInterfaceName", # required
# protocol_name: "ProtocolName",
# protocol_version: "ProtocolVersion",
# },
@@ -902,12 +1010,16 @@
# },
# vehicle_middleware: {
# name: "VehicleMiddlewareName", # required
# protocol_name: "ROS_2", # required, accepts ROS_2
# },
+ # custom_decoding_interface: {
+ # name: "CustomDecodingSignalInterfaceName", # required
+ # },
# },
# ],
+ # default_for_unmapped_signals: "CUSTOM_DECODING", # accepts CUSTOM_DECODING
# tags: [
# {
# key: "TagKey", # required
# value: "TagValue", # required
# },
@@ -1147,10 +1259,103 @@
def create_signal_catalog(params = {}, options = {})
req = build_request(:create_signal_catalog, params)
req.send_request(options)
end
+ # Creates a state template. State templates contain state properties,
+ # which are signals that belong to a signal catalog that is synchronized
+ # between the Amazon Web Services IoT FleetWise Edge and the Amazon Web
+ # Services Cloud.
+ #
+ # Access to certain Amazon Web Services IoT FleetWise features is
+ # currently gated. For more information, see [Amazon Web Services Region
+ # and feature availability][1] in the *Amazon Web Services IoT FleetWise
+ # Developer Guide*.
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html
+ #
+ # @option params [required, String] :name
+ # The name of the state template.
+ #
+ # @option params [String] :description
+ # A brief description of the state template.
+ #
+ # @option params [required, String] :signal_catalog_arn
+ # The ARN of the signal catalog associated with the state template.
+ #
+ # @option params [required, Array<String>] :state_template_properties
+ # A list of signals from which data is collected. The state template
+ # properties contain the fully qualified names of the signals.
+ #
+ # @option params [Array<String>] :data_extra_dimensions
+ # A list of vehicle attributes to associate with the payload published
+ # on the state template's MQTT topic. (See [ Processing last known
+ # state vehicle data using MQTT messaging][1]). For example, if you add
+ # `Vehicle.Attributes.Make` and `Vehicle.Attributes.Model` attributes,
+ # Amazon Web Services IoT FleetWise will enrich the protobuf encoded
+ # payload with those attributes in the `extraDimensions` field.
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/process-visualize-data.html#process-last-known-state-vehicle-data
+ #
+ # @option params [Array<String>] :metadata_extra_dimensions
+ # A list of vehicle attributes to associate with user properties of the
+ # messages published on the state template's MQTT topic. (See [
+ # Processing last known state vehicle data using MQTT messaging][1]).
+ # For example, if you add `Vehicle.Attributes.Make` and
+ # `Vehicle.Attributes.Model` attributes, Amazon Web Services IoT
+ # FleetWise will include these attributes as User Properties with the
+ # MQTT message.
+ #
+ # Default: An empty array
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/process-visualize-data.html#process-last-known-state-vehicle-data
+ #
+ # @option params [Array<Types::Tag>] :tags
+ # Metadata that can be used to manage the state template.
+ #
+ # @return [Types::CreateStateTemplateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
+ #
+ # * {Types::CreateStateTemplateResponse#name #name} => String
+ # * {Types::CreateStateTemplateResponse#arn #arn} => String
+ # * {Types::CreateStateTemplateResponse#id #id} => String
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.create_state_template({
+ # name: "resourceName", # required
+ # description: "description",
+ # signal_catalog_arn: "arn", # required
+ # state_template_properties: ["NodePath"], # required
+ # data_extra_dimensions: ["NodePath"],
+ # metadata_extra_dimensions: ["NodePath"],
+ # tags: [
+ # {
+ # key: "TagKey", # required
+ # value: "TagValue", # required
+ # },
+ # ],
+ # })
+ #
+ # @example Response structure
+ #
+ # resp.name #=> String
+ # resp.arn #=> String
+ # resp.id #=> String
+ #
+ # @overload create_state_template(params = {})
+ # @param [Hash] params ({})
+ def create_state_template(params = {}, options = {})
+ req = build_request(:create_state_template, params)
+ req.send_request(options)
+ end
+
# Creates a vehicle, which is an instance of a vehicle model (model
# manifest). Vehicles created from the same vehicle model consist of the
# same signals inherited from the vehicle model.
#
# <note markdown="1"> If you have an existing Amazon Web Services IoT thing, you can use
@@ -1177,12 +1382,14 @@
#
# @option params [Hash<String,String>] :attributes
# Static information about a vehicle in a key-value pair. For example:
# `"engineType"` : `"1.3 L R2"`
#
- # A campaign must include the keys (attribute names) in
- # `dataExtraDimensions` for them to display in Amazon Timestream.
+ # To use attributes with Campaigns or State Templates, you must include
+ # them using the request parameters `dataExtraDimensions` and/or
+ # `metadataExtraDimensions` (for state templates only) when creating
+ # your campaign/state template.
#
# @option params [String] :association_behavior
# An option to create a new Amazon Web Services IoT thing when creating
# a vehicle, or to validate an existing Amazon Web Services IoT thing as
# a vehicle.
@@ -1190,10 +1397,14 @@
# Default: ``
#
# @option params [Array<Types::Tag>] :tags
# Metadata that can be used to manage the vehicle.
#
+ # @option params [Array<Types::StateTemplateAssociation>] :state_templates
+ # Associate state templates with the vehicle. You can monitor the last
+ # known state of the vehicle in near real time.
+ #
# @return [Types::CreateVehicleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::CreateVehicleResponse#vehicle_name #vehicle_name} => String
# * {Types::CreateVehicleResponse#arn #arn} => String
# * {Types::CreateVehicleResponse#thing_arn #thing_arn} => String
@@ -1212,10 +1423,25 @@
# {
# key: "TagKey", # required
# value: "TagValue", # required
# },
# ],
+ # state_templates: [
+ # {
+ # identifier: "ResourceIdentifier", # required
+ # state_template_update_strategy: { # required
+ # periodic: {
+ # state_template_update_rate: { # required
+ # unit: "MILLISECOND", # required, accepts MILLISECOND, SECOND, MINUTE, HOUR
+ # value: 1, # required
+ # },
+ # },
+ # on_change: {
+ # },
+ # },
+ # },
+ # ],
# })
#
# @example Response structure
#
# resp.vehicle_name #=> String
@@ -1259,15 +1485,10 @@
end
# Deletes a decoder manifest. You can't delete a decoder manifest if it
# has vehicles associated with it.
#
- # <note markdown="1"> If the decoder manifest is successfully deleted, Amazon Web Services
- # IoT FleetWise sends back an HTTP 200 response with an empty body.
- #
- # </note>
- #
# @option params [required, String] :name
# The name of the decoder manifest to delete.
#
# @return [Types::DeleteDecoderManifestResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
@@ -1295,17 +1516,12 @@
# Deletes a fleet. Before you delete a fleet, all vehicles must be
# dissociated from the fleet. For more information, see [Delete a fleet
# (AWS CLI)][1] in the *Amazon Web Services IoT FleetWise Developer
# Guide*.
#
- # <note markdown="1"> If the fleet is successfully deleted, Amazon Web Services IoT
- # FleetWise sends back an HTTP 200 response with an empty body.
#
- # </note>
#
- #
- #
# [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/delete-fleet-cli.html
#
# @option params [required, String] :fleet_id
# The ID of the fleet to delete.
#
@@ -1332,15 +1548,10 @@
req.send_request(options)
end
# Deletes a vehicle model (model manifest).
#
- # <note markdown="1"> If the vehicle model is successfully deleted, Amazon Web Services IoT
- # FleetWise sends back an HTTP 200 response with an empty body.
- #
- # </note>
- #
# @option params [required, String] :name
# The name of the model manifest to delete.
#
# @return [Types::DeleteModelManifestResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
@@ -1365,15 +1576,10 @@
req.send_request(options)
end
# Deletes a signal catalog.
#
- # <note markdown="1"> If the signal catalog is successfully deleted, Amazon Web Services IoT
- # FleetWise sends back an HTTP 200 response with an empty body.
- #
- # </note>
- #
# @option params [required, String] :name
# The name of the signal catalog to delete.
#
# @return [Types::DeleteSignalCatalogResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
@@ -1396,17 +1602,42 @@
def delete_signal_catalog(params = {}, options = {})
req = build_request(:delete_signal_catalog, params)
req.send_request(options)
end
- # Deletes a vehicle and removes it from any campaigns.
+ # Deletes a state template.
#
- # <note markdown="1"> If the vehicle is successfully deleted, Amazon Web Services IoT
- # FleetWise sends back an HTTP 200 response with an empty body.
+ # @option params [required, String] :identifier
+ # A unique, service-generated identifier.
#
- # </note>
+ # @return [Types::DeleteStateTemplateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
+ # * {Types::DeleteStateTemplateResponse#name #name} => String
+ # * {Types::DeleteStateTemplateResponse#arn #arn} => String
+ # * {Types::DeleteStateTemplateResponse#id #id} => String
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.delete_state_template({
+ # identifier: "ResourceIdentifier", # required
+ # })
+ #
+ # @example Response structure
+ #
+ # resp.name #=> String
+ # resp.arn #=> String
+ # resp.id #=> String
+ #
+ # @overload delete_state_template(params = {})
+ # @param [Hash] params ({})
+ def delete_state_template(params = {}, options = {})
+ req = build_request(:delete_state_template, params)
+ req.send_request(options)
+ end
+
+ # Deletes a vehicle and removes it from any campaigns.
+ #
# @option params [required, String] :vehicle_name
# The ID of the vehicle to delete.
#
# @return [Types::DeleteVehicleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
@@ -1432,16 +1663,10 @@
end
# Removes, or disassociates, a vehicle from a fleet. Disassociating a
# vehicle from a fleet doesn't delete the vehicle.
#
- # <note markdown="1"> If the vehicle is successfully dissociated from a fleet, Amazon Web
- # Services IoT FleetWise sends back an HTTP 200 response with an empty
- # body.
- #
- # </note>
- #
# @option params [required, String] :vehicle_name
# The unique ID of the vehicle to disassociate from the fleet.
#
# @option params [required, String] :fleet_id
# The unique ID of a fleet.
@@ -1462,10 +1687,19 @@
req.send_request(options)
end
# Retrieves information about a campaign.
#
+ # Access to certain Amazon Web Services IoT FleetWise features is
+ # currently gated. For more information, see [Amazon Web Services Region
+ # and feature availability][1] in the *Amazon Web Services IoT FleetWise
+ # Developer Guide*.
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html
+ #
# @option params [required, String] :name
# The name of the campaign to retrieve information about.
#
# @return [Types::GetCampaignResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
@@ -1486,10 +1720,12 @@
# * {Types::GetCampaignResponse#collection_scheme #collection_scheme} => Types::CollectionScheme
# * {Types::GetCampaignResponse#data_extra_dimensions #data_extra_dimensions} => Array<String>
# * {Types::GetCampaignResponse#creation_time #creation_time} => Time
# * {Types::GetCampaignResponse#last_modification_time #last_modification_time} => Time
# * {Types::GetCampaignResponse#data_destination_configs #data_destination_configs} => Array<Types::DataDestinationConfig>
+ # * {Types::GetCampaignResponse#data_partitions #data_partitions} => Array<Types::DataPartition>
+ # * {Types::GetCampaignResponse#signals_to_fetch #signals_to_fetch} => Array<Types::SignalFetchInformation>
#
# @example Request syntax with placeholder values
#
# resp = client.get_campaign({
# name: "campaignName", # required
@@ -1512,10 +1748,11 @@
# resp.priority #=> Integer
# resp.signals_to_collect #=> Array
# resp.signals_to_collect[0].name #=> String
# resp.signals_to_collect[0].max_sample_count #=> Integer
# resp.signals_to_collect[0].minimum_sampling_interval_ms #=> Integer
+ # resp.signals_to_collect[0].data_partition_id #=> String
# resp.collection_scheme.time_based_collection_scheme.period_ms #=> Integer
# resp.collection_scheme.condition_based_collection_scheme.expression #=> String
# resp.collection_scheme.condition_based_collection_scheme.minimum_trigger_interval_ms #=> Integer
# resp.collection_scheme.condition_based_collection_scheme.trigger_mode #=> String, one of "ALWAYS", "RISING_EDGE"
# resp.collection_scheme.condition_based_collection_scheme.condition_language_version #=> Integer
@@ -1528,10 +1765,29 @@
# resp.data_destination_configs[0].s3_config.data_format #=> String, one of "JSON", "PARQUET"
# resp.data_destination_configs[0].s3_config.storage_compression_format #=> String, one of "NONE", "GZIP"
# resp.data_destination_configs[0].s3_config.prefix #=> String
# resp.data_destination_configs[0].timestream_config.timestream_table_arn #=> String
# resp.data_destination_configs[0].timestream_config.execution_role_arn #=> String
+ # resp.data_destination_configs[0].mqtt_topic_config.mqtt_topic_arn #=> String
+ # resp.data_destination_configs[0].mqtt_topic_config.execution_role_arn #=> String
+ # resp.data_partitions #=> Array
+ # resp.data_partitions[0].id #=> String
+ # resp.data_partitions[0].storage_options.maximum_size.unit #=> String, one of "MB", "GB", "TB"
+ # resp.data_partitions[0].storage_options.maximum_size.value #=> Integer
+ # resp.data_partitions[0].storage_options.storage_location #=> String
+ # resp.data_partitions[0].storage_options.minimum_time_to_live.unit #=> String, one of "HOURS", "DAYS", "WEEKS"
+ # resp.data_partitions[0].storage_options.minimum_time_to_live.value #=> Integer
+ # resp.data_partitions[0].upload_options.expression #=> String
+ # resp.data_partitions[0].upload_options.condition_language_version #=> Integer
+ # resp.signals_to_fetch #=> Array
+ # resp.signals_to_fetch[0].fully_qualified_name #=> String
+ # resp.signals_to_fetch[0].signal_fetch_config.time_based.execution_frequency_ms #=> Integer
+ # resp.signals_to_fetch[0].signal_fetch_config.condition_based.condition_expression #=> String
+ # resp.signals_to_fetch[0].signal_fetch_config.condition_based.trigger_mode #=> String, one of "ALWAYS", "RISING_EDGE"
+ # resp.signals_to_fetch[0].condition_language_version #=> Integer
+ # resp.signals_to_fetch[0].actions #=> Array
+ # resp.signals_to_fetch[0].actions[0] #=> String
#
# @overload get_campaign(params = {})
# @param [Hash] params ({})
def get_campaign(params = {}, options = {})
req = build_request(:get_campaign, params)
@@ -1786,10 +2042,66 @@
def get_signal_catalog(params = {}, options = {})
req = build_request(:get_signal_catalog, params)
req.send_request(options)
end
+ # Retrieves information about a state template.
+ #
+ # Access to certain Amazon Web Services IoT FleetWise features is
+ # currently gated. For more information, see [Amazon Web Services Region
+ # and feature availability][1] in the *Amazon Web Services IoT FleetWise
+ # Developer Guide*.
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html
+ #
+ # @option params [required, String] :identifier
+ # A unique, service-generated identifier.
+ #
+ # @return [Types::GetStateTemplateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
+ #
+ # * {Types::GetStateTemplateResponse#name #name} => String
+ # * {Types::GetStateTemplateResponse#arn #arn} => String
+ # * {Types::GetStateTemplateResponse#description #description} => String
+ # * {Types::GetStateTemplateResponse#signal_catalog_arn #signal_catalog_arn} => String
+ # * {Types::GetStateTemplateResponse#state_template_properties #state_template_properties} => Array<String>
+ # * {Types::GetStateTemplateResponse#data_extra_dimensions #data_extra_dimensions} => Array<String>
+ # * {Types::GetStateTemplateResponse#metadata_extra_dimensions #metadata_extra_dimensions} => Array<String>
+ # * {Types::GetStateTemplateResponse#creation_time #creation_time} => Time
+ # * {Types::GetStateTemplateResponse#last_modification_time #last_modification_time} => Time
+ # * {Types::GetStateTemplateResponse#id #id} => String
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.get_state_template({
+ # identifier: "ResourceIdentifier", # required
+ # })
+ #
+ # @example Response structure
+ #
+ # resp.name #=> String
+ # resp.arn #=> String
+ # resp.description #=> String
+ # resp.signal_catalog_arn #=> String
+ # resp.state_template_properties #=> Array
+ # resp.state_template_properties[0] #=> String
+ # resp.data_extra_dimensions #=> Array
+ # resp.data_extra_dimensions[0] #=> String
+ # resp.metadata_extra_dimensions #=> Array
+ # resp.metadata_extra_dimensions[0] #=> String
+ # resp.creation_time #=> Time
+ # resp.last_modification_time #=> Time
+ # resp.id #=> String
+ #
+ # @overload get_state_template(params = {})
+ # @param [Hash] params ({})
+ def get_state_template(params = {}, options = {})
+ req = build_request(:get_state_template, params)
+ req.send_request(options)
+ end
+
# Retrieves information about a vehicle.
#
# @option params [required, String] :vehicle_name
# The ID of the vehicle to retrieve information about.
#
@@ -1798,10 +2110,11 @@
# * {Types::GetVehicleResponse#vehicle_name #vehicle_name} => String
# * {Types::GetVehicleResponse#arn #arn} => String
# * {Types::GetVehicleResponse#model_manifest_arn #model_manifest_arn} => String
# * {Types::GetVehicleResponse#decoder_manifest_arn #decoder_manifest_arn} => String
# * {Types::GetVehicleResponse#attributes #attributes} => Hash<String,String>
+ # * {Types::GetVehicleResponse#state_templates #state_templates} => Array<Types::StateTemplateAssociation>
# * {Types::GetVehicleResponse#creation_time #creation_time} => Time
# * {Types::GetVehicleResponse#last_modification_time #last_modification_time} => Time
#
# @example Request syntax with placeholder values
#
@@ -1815,34 +2128,40 @@
# resp.arn #=> String
# resp.model_manifest_arn #=> String
# resp.decoder_manifest_arn #=> String
# resp.attributes #=> Hash
# resp.attributes["attributeName"] #=> String
+ # resp.state_templates #=> Array
+ # resp.state_templates[0].identifier #=> String
+ # resp.state_templates[0].state_template_update_strategy.periodic.state_template_update_rate.unit #=> String, one of "MILLISECOND", "SECOND", "MINUTE", "HOUR"
+ # resp.state_templates[0].state_template_update_strategy.periodic.state_template_update_rate.value #=> Integer
# resp.creation_time #=> Time
# resp.last_modification_time #=> Time
#
# @overload get_vehicle(params = {})
# @param [Hash] params ({})
def get_vehicle(params = {}, options = {})
req = build_request(:get_vehicle, params)
req.send_request(options)
end
- # Retrieves information about the status of a vehicle with any
- # associated campaigns.
+ # Retrieves information about the status of campaigns, decoder
+ # manifests, or state templates associated with a vehicle.
#
# @option params [String] :next_token
# A pagination token for the next set of results.
#
# If the results of a search are large, only a portion of the results
# are returned, and a `nextToken` pagination token is returned in the
# response. To retrieve the next set of results, reissue the search
# request and include the returned token. When all results have been
- # returned, the response does not contain a pagination token value.
+ # returned, the response does not contain a pagination token value. This
+ # parameter is only supported for resources of type `CAMPAIGN`.
#
# @option params [Integer] :max_results
# The maximum number of items to return, between 1 and 100, inclusive.
+ # This parameter is only supported for resources of type `CAMPAIGN`.
#
# @option params [required, String] :vehicle_name
# The ID of the vehicle to retrieve information about.
#
# @return [Types::GetVehicleStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -1876,10 +2195,13 @@
end
# Creates a decoder manifest using your existing CAN DBC file from your
# local device.
#
+ # The CAN signal name must be unique and not repeated across CAN message
+ # definitions in a .dbc file.
+ #
# @option params [required, String] :name
# The name of the decoder manifest to import.
#
# @option params [required, Array<Types::NetworkFileDefinition>] :network_file_definitions
# The file to load into an Amazon Web Services account.
@@ -1986,13 +2308,13 @@
#
# @option params [Integer] :max_results
# The maximum number of items to return, between 1 and 100, inclusive.
#
# @option params [String] :status
- # Optional parameter to filter the results by the status of each created
- # campaign in your account. The status can be one of: `CREATING`,
- # `WAITING_FOR_APPROVAL`, `RUNNING`, or `SUSPENDED`.
+ # An optional parameter to filter the results by the status of each
+ # created campaign in your account. The status can be one of:
+ # `CREATING`, `WAITING_FOR_APPROVAL`, `RUNNING`, or `SUSPENDED`.
#
# @return [Types::ListCampaignsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::ListCampaignsResponse#campaign_summaries #campaign_summaries} => Array<Types::CampaignSummary>
# * {Types::ListCampaignsResponse#next_token #next_token} => String
@@ -2066,11 +2388,11 @@
#
# @example Response structure
#
# resp.network_interfaces #=> Array
# resp.network_interfaces[0].interface_id #=> String
- # resp.network_interfaces[0].type #=> String, one of "CAN_INTERFACE", "OBD_INTERFACE", "VEHICLE_MIDDLEWARE"
+ # resp.network_interfaces[0].type #=> String, one of "CAN_INTERFACE", "OBD_INTERFACE", "VEHICLE_MIDDLEWARE", "CUSTOM_DECODING_INTERFACE"
# resp.network_interfaces[0].can_interface.name #=> String
# resp.network_interfaces[0].can_interface.protocol_name #=> String
# resp.network_interfaces[0].can_interface.protocol_version #=> String
# resp.network_interfaces[0].obd_interface.name #=> String
# resp.network_interfaces[0].obd_interface.request_message_id #=> Integer
@@ -2079,10 +2401,11 @@
# resp.network_interfaces[0].obd_interface.dtc_request_interval_seconds #=> Integer
# resp.network_interfaces[0].obd_interface.use_extended_ids #=> Boolean
# resp.network_interfaces[0].obd_interface.has_transmission_ecu #=> Boolean
# resp.network_interfaces[0].vehicle_middleware.name #=> String
# resp.network_interfaces[0].vehicle_middleware.protocol_name #=> String, one of "ROS_2"
+ # resp.network_interfaces[0].custom_decoding_interface.name #=> String
# resp.next_token #=> String
#
# @overload list_decoder_manifest_network_interfaces(params = {})
# @param [Hash] params ({})
def list_decoder_manifest_network_interfaces(params = {}, options = {})
@@ -2130,11 +2453,11 @@
#
# @example Response structure
#
# resp.signal_decoders #=> Array
# resp.signal_decoders[0].fully_qualified_name #=> String
- # resp.signal_decoders[0].type #=> String, one of "CAN_SIGNAL", "OBD_SIGNAL", "MESSAGE_SIGNAL"
+ # resp.signal_decoders[0].type #=> String, one of "CAN_SIGNAL", "OBD_SIGNAL", "MESSAGE_SIGNAL", "CUSTOM_DECODING_SIGNAL"
# resp.signal_decoders[0].interface_id #=> String
# resp.signal_decoders[0].can_signal.message_id #=> Integer
# resp.signal_decoders[0].can_signal.is_big_endian #=> Boolean
# resp.signal_decoders[0].can_signal.is_signed #=> Boolean
# resp.signal_decoders[0].can_signal.start_bit #=> Integer
@@ -2161,10 +2484,11 @@
# resp.signal_decoders[0].message_signal.structured_message.structured_message_list_definition.list_type #=> String, one of "FIXED_CAPACITY", "DYNAMIC_UNBOUNDED_CAPACITY", "DYNAMIC_BOUNDED_CAPACITY"
# resp.signal_decoders[0].message_signal.structured_message.structured_message_list_definition.capacity #=> Integer
# resp.signal_decoders[0].message_signal.structured_message.structured_message_definition #=> Array
# resp.signal_decoders[0].message_signal.structured_message.structured_message_definition[0].field_name #=> String
# resp.signal_decoders[0].message_signal.structured_message.structured_message_definition[0].data_type #=> Types::StructuredMessage
+ # resp.signal_decoders[0].custom_decoding_signal.id #=> String
# resp.next_token #=> String
#
# @overload list_decoder_manifest_signals(params = {})
# @param [Hash] params ({})
def list_decoder_manifest_signals(params = {}, options = {})
@@ -2645,10 +2969,61 @@
def list_signal_catalogs(params = {}, options = {})
req = build_request(:list_signal_catalogs, params)
req.send_request(options)
end
+ # Lists information about created state templates.
+ #
+ # Access to certain Amazon Web Services IoT FleetWise features is
+ # currently gated. For more information, see [Amazon Web Services Region
+ # and feature availability][1] in the *Amazon Web Services IoT FleetWise
+ # Developer Guide*.
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html
+ #
+ # @option params [String] :next_token
+ # The token to retrieve the next set of results, or `null` if there are
+ # no more results.
+ #
+ # @option params [Integer] :max_results
+ # The maximum number of items to return, between 1 and 100, inclusive.
+ #
+ # @return [Types::ListStateTemplatesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
+ #
+ # * {Types::ListStateTemplatesResponse#summaries #summaries} => Array<Types::StateTemplateSummary>
+ # * {Types::ListStateTemplatesResponse#next_token #next_token} => String
+ #
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.list_state_templates({
+ # next_token: "nextToken",
+ # max_results: 1,
+ # })
+ #
+ # @example Response structure
+ #
+ # resp.summaries #=> Array
+ # resp.summaries[0].name #=> String
+ # resp.summaries[0].arn #=> String
+ # resp.summaries[0].signal_catalog_arn #=> String
+ # resp.summaries[0].description #=> String
+ # resp.summaries[0].creation_time #=> Time
+ # resp.summaries[0].last_modification_time #=> Time
+ # resp.summaries[0].id #=> String
+ # resp.next_token #=> String
+ #
+ # @overload list_state_templates(params = {})
+ # @param [Hash] params ({})
+ def list_state_templates(params = {}, options = {})
+ req = build_request(:list_state_templates, params)
+ req.send_request(options)
+ end
+
# Lists the tags (metadata) you have assigned to the resource.
#
# @option params [required, String] :resource_arn
# The ARN of the resource.
#
@@ -2686,19 +3061,37 @@
# The Amazon Resource Name (ARN) of a vehicle model (model manifest).
# You can use this optional parameter to list only the vehicles created
# from a certain vehicle model.
#
# @option params [Array<String>] :attribute_names
- # The fully qualified names of the attributes. For example, the fully
- # qualified name of an attribute might be `Vehicle.Body.Engine.Type`.
+ # The fully qualified names of the attributes. You can use this optional
+ # parameter to list the vehicles containing all the attributes in the
+ # request. For example, `attributeNames` could be
+ # "`Vehicle.Body.Engine.Type, Vehicle.Color`" and the corresponding
+ # `attributeValues` could be "`1.3 L R2, Blue`" . In this case, the
+ # API will filter vehicles with an attribute name
+ # `Vehicle.Body.Engine.Type` that contains a value of `1.3 L R2` AND an
+ # attribute name `Vehicle.Color` that contains a value of "`Blue`". A
+ # request must contain unique values for the `attributeNames` filter and
+ # the matching number of `attributeValues` filters to return the subset
+ # of vehicles that match the attributes filter condition.
#
# @option params [Array<String>] :attribute_values
# Static information about a vehicle attribute value in string format.
- # For example:
+ # You can use this optional parameter in conjunction with
+ # `attributeNames` to list the vehicles containing all the
+ # `attributeValues` corresponding to the `attributeNames` filter. For
+ # example, `attributeValues` could be "`1.3 L R2, Blue`" and the
+ # corresponding `attributeNames` filter could be
+ # "`Vehicle.Body.Engine.Type, Vehicle.Color`". In this case, the API
+ # will filter vehicles with attribute name `Vehicle.Body.Engine.Type`
+ # that contains a value of `1.3 L R2` AND an attribute name
+ # `Vehicle.Color` that contains a value of "`Blue`". A request must
+ # contain unique values for the `attributeNames` filter and the matching
+ # number of `attributeValues` filter to return the subset of vehicles
+ # that match the attributes filter condition.
#
- # `"1.3 L R2"`
- #
# @option params [String] :next_token
# A pagination token for the next set of results.
#
# If the results of a search are large, only a portion of the results
# are returned, and a `nextToken` pagination token is returned in the
@@ -3098,10 +3491,23 @@
# @option params [String] :status
# The state of the decoder manifest. If the status is `ACTIVE`, the
# decoder manifest can't be edited. If the status is `DRAFT`, you can
# edit the decoder manifest.
#
+ # @option params [String] :default_for_unmapped_signals
+ # Use default decoders for all unmapped signals in the model. You don't
+ # need to provide any detailed decoding information.
+ #
+ # Access to certain Amazon Web Services IoT FleetWise features is
+ # currently gated. For more information, see [Amazon Web Services Region
+ # and feature availability][1] in the *Amazon Web Services IoT FleetWise
+ # Developer Guide*.
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html
+ #
# @return [Types::UpdateDecoderManifestResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::UpdateDecoderManifestResponse#name #name} => String
# * {Types::UpdateDecoderManifestResponse#arn #arn} => String
#
@@ -3111,11 +3517,11 @@
# name: "resourceName", # required
# description: "description",
# signal_decoders_to_add: [
# {
# fully_qualified_name: "FullyQualifiedName", # required
- # type: "CAN_SIGNAL", # required, accepts CAN_SIGNAL, OBD_SIGNAL, MESSAGE_SIGNAL
+ # type: "CAN_SIGNAL", # required, accepts CAN_SIGNAL, OBD_SIGNAL, MESSAGE_SIGNAL, CUSTOM_DECODING_SIGNAL
# interface_id: "InterfaceId", # required
# can_signal: {
# message_id: 1, # required
# is_big_endian: false, # required
# is_signed: false, # required
@@ -3163,16 +3569,19 @@
# },
# },
# ],
# },
# },
+ # custom_decoding_signal: {
+ # id: "CustomDecodingId", # required
+ # },
# },
# ],
# signal_decoders_to_update: [
# {
# fully_qualified_name: "FullyQualifiedName", # required
- # type: "CAN_SIGNAL", # required, accepts CAN_SIGNAL, OBD_SIGNAL, MESSAGE_SIGNAL
+ # type: "CAN_SIGNAL", # required, accepts CAN_SIGNAL, OBD_SIGNAL, MESSAGE_SIGNAL, CUSTOM_DECODING_SIGNAL
# interface_id: "InterfaceId", # required
# can_signal: {
# message_id: 1, # required
# is_big_endian: false, # required
# is_signed: false, # required
@@ -3220,17 +3629,20 @@
# },
# },
# ],
# },
# },
+ # custom_decoding_signal: {
+ # id: "CustomDecodingId", # required
+ # },
# },
# ],
# signal_decoders_to_remove: ["FullyQualifiedName"],
# network_interfaces_to_add: [
# {
# interface_id: "InterfaceId", # required
- # type: "CAN_INTERFACE", # required, accepts CAN_INTERFACE, OBD_INTERFACE, VEHICLE_MIDDLEWARE
+ # type: "CAN_INTERFACE", # required, accepts CAN_INTERFACE, OBD_INTERFACE, VEHICLE_MIDDLEWARE, CUSTOM_DECODING_INTERFACE
# can_interface: {
# name: "CanInterfaceName", # required
# protocol_name: "ProtocolName",
# protocol_version: "ProtocolVersion",
# },
@@ -3245,16 +3657,19 @@
# },
# vehicle_middleware: {
# name: "VehicleMiddlewareName", # required
# protocol_name: "ROS_2", # required, accepts ROS_2
# },
+ # custom_decoding_interface: {
+ # name: "CustomDecodingSignalInterfaceName", # required
+ # },
# },
# ],
# network_interfaces_to_update: [
# {
# interface_id: "InterfaceId", # required
- # type: "CAN_INTERFACE", # required, accepts CAN_INTERFACE, OBD_INTERFACE, VEHICLE_MIDDLEWARE
+ # type: "CAN_INTERFACE", # required, accepts CAN_INTERFACE, OBD_INTERFACE, VEHICLE_MIDDLEWARE, CUSTOM_DECODING_INTERFACE
# can_interface: {
# name: "CanInterfaceName", # required
# protocol_name: "ProtocolName",
# protocol_version: "ProtocolVersion",
# },
@@ -3269,14 +3684,18 @@
# },
# vehicle_middleware: {
# name: "VehicleMiddlewareName", # required
# protocol_name: "ROS_2", # required, accepts ROS_2
# },
+ # custom_decoding_interface: {
+ # name: "CustomDecodingSignalInterfaceName", # required
+ # },
# },
# ],
# network_interfaces_to_remove: ["InterfaceId"],
# status: "ACTIVE", # accepts ACTIVE, DRAFT, INVALID, VALIDATING
+ # default_for_unmapped_signals: "CUSTOM_DECODING", # accepts CUSTOM_DECODING
# })
#
# @example Response structure
#
# resp.name #=> String
@@ -3289,15 +3708,10 @@
req.send_request(options)
end
# Updates the description of an existing fleet.
#
- # <note markdown="1"> If the fleet is successfully updated, Amazon Web Services IoT
- # FleetWise sends back an HTTP 200 response with an empty HTTP body.
- #
- # </note>
- #
# @option params [required, String] :fleet_id
# The ID of the fleet to update.
#
# @option params [String] :description
# An updated description of the fleet.
@@ -3542,10 +3956,92 @@
def update_signal_catalog(params = {}, options = {})
req = build_request(:update_signal_catalog, params)
req.send_request(options)
end
+ # Updates a state template.
+ #
+ # Access to certain Amazon Web Services IoT FleetWise features is
+ # currently gated. For more information, see [Amazon Web Services Region
+ # and feature availability][1] in the *Amazon Web Services IoT FleetWise
+ # Developer Guide*.
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html
+ #
+ # @option params [required, String] :identifier
+ # A unique, service-generated identifier.
+ #
+ # @option params [String] :description
+ # A brief description of the state template.
+ #
+ # @option params [Array<String>] :state_template_properties_to_add
+ # Add signals from which data is collected as part of the state
+ # template.
+ #
+ # @option params [Array<String>] :state_template_properties_to_remove
+ # Remove signals from which data is collected as part of the state
+ # template.
+ #
+ # @option params [Array<String>] :data_extra_dimensions
+ # A list of vehicle attributes to associate with the payload published
+ # on the state template's MQTT topic. (See [ Processing last known
+ # state vehicle data using MQTT messaging][1]). For example, if you add
+ # `Vehicle.Attributes.Make` and `Vehicle.Attributes.Model` attributes,
+ # Amazon Web Services IoT FleetWise will enrich the protobuf encoded
+ # payload with those attributes in the `extraDimensions` field.
+ #
+ # Default: An empty array
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/process-visualize-data.html#process-last-known-state-vehicle-data
+ #
+ # @option params [Array<String>] :metadata_extra_dimensions
+ # A list of vehicle attributes to associate with user properties of the
+ # messages published on the state template's MQTT topic. (See [
+ # Processing last known state vehicle data using MQTT messaging][1]).
+ # For example, if you add `Vehicle.Attributes.Make` and
+ # `Vehicle.Attributes.Model` attributes, Amazon Web Services IoT
+ # FleetWise will include these attributes as User Properties with the
+ # MQTT message.
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/process-visualize-data.html#process-last-known-state-vehicle-data
+ #
+ # @return [Types::UpdateStateTemplateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
+ #
+ # * {Types::UpdateStateTemplateResponse#name #name} => String
+ # * {Types::UpdateStateTemplateResponse#arn #arn} => String
+ # * {Types::UpdateStateTemplateResponse#id #id} => String
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.update_state_template({
+ # identifier: "ResourceIdentifier", # required
+ # description: "description",
+ # state_template_properties_to_add: ["NodePath"],
+ # state_template_properties_to_remove: ["NodePath"],
+ # data_extra_dimensions: ["NodePath"],
+ # metadata_extra_dimensions: ["NodePath"],
+ # })
+ #
+ # @example Response structure
+ #
+ # resp.name #=> String
+ # resp.arn #=> String
+ # resp.id #=> String
+ #
+ # @overload update_state_template(params = {})
+ # @param [Hash] params ({})
+ def update_state_template(params = {}, options = {})
+ req = build_request(:update_state_template, params)
+ req.send_request(options)
+ end
+
# Updates a vehicle.
#
# @option params [required, String] :vehicle_name
# The unique ID of the vehicle to update.
#
@@ -3567,10 +4063,16 @@
# attributes with the specified attributes. Or use `Merge` to combine
# all attributes.
#
# This is required if attributes are present in the input.
#
+ # @option params [Array<Types::StateTemplateAssociation>] :state_templates_to_add
+ # Associate state templates with the vehicle.
+ #
+ # @option params [Array<String>] :state_templates_to_remove
+ # Remove state templates from the vehicle.
+ #
# @return [Types::UpdateVehicleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::UpdateVehicleResponse#vehicle_name #vehicle_name} => String
# * {Types::UpdateVehicleResponse#arn #arn} => String
#
@@ -3582,10 +4084,26 @@
# decoder_manifest_arn: "arn",
# attributes: {
# "attributeName" => "attributeValue",
# },
# attribute_update_mode: "Overwrite", # accepts Overwrite, Merge
+ # state_templates_to_add: [
+ # {
+ # identifier: "ResourceIdentifier", # required
+ # state_template_update_strategy: { # required
+ # periodic: {
+ # state_template_update_rate: { # required
+ # unit: "MILLISECOND", # required, accepts MILLISECOND, SECOND, MINUTE, HOUR
+ # value: 1, # required
+ # },
+ # },
+ # on_change: {
+ # },
+ # },
+ # },
+ # ],
+ # state_templates_to_remove: ["ResourceIdentifier"],
# })
#
# @example Response structure
#
# resp.vehicle_name #=> String
@@ -3614,10 +4132,10 @@
params: params,
config: config,
tracer: tracer
)
context[:gem_name] = 'aws-sdk-iotfleetwise'
- context[:gem_version] = '1.37.0'
+ context[:gem_version] = '1.38.0'
Seahorse::Client::Request.new(handlers, context)
end
# @api private
# @deprecated