# frozen_string_literal: true
# WARNING ABOUT GENERATED CODE
#
# This file is generated. See the contributing guide for more information:
# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
#
# WARNING ABOUT GENERATED CODE
require 'seahorse/client/plugins/content_length.rb'
require 'aws-sdk-core/plugins/credentials_configuration.rb'
require 'aws-sdk-core/plugins/logging.rb'
require 'aws-sdk-core/plugins/param_converter.rb'
require 'aws-sdk-core/plugins/param_validator.rb'
require 'aws-sdk-core/plugins/user_agent.rb'
require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
require 'aws-sdk-core/plugins/retry_errors.rb'
require 'aws-sdk-core/plugins/global_configuration.rb'
require 'aws-sdk-core/plugins/regional_endpoint.rb'
require 'aws-sdk-core/plugins/endpoint_discovery.rb'
require 'aws-sdk-core/plugins/endpoint_pattern.rb'
require 'aws-sdk-core/plugins/response_paging.rb'
require 'aws-sdk-core/plugins/stub_responses.rb'
require 'aws-sdk-core/plugins/idempotency_token.rb'
require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
require 'aws-sdk-core/plugins/transfer_encoding.rb'
require 'aws-sdk-core/plugins/http_checksum.rb'
require 'aws-sdk-core/plugins/checksum_algorithm.rb'
require 'aws-sdk-core/plugins/defaults_mode.rb'
require 'aws-sdk-core/plugins/recursion_detection.rb'
require 'aws-sdk-core/plugins/sign.rb'
require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
Aws::Plugins::GlobalConfiguration.add_identifier(:iotfleetwise)
module Aws::IoTFleetWise
# An API client for IoTFleetWise. To construct a client, you need to configure a `:region` and `:credentials`.
#
# client = Aws::IoTFleetWise::Client.new(
# region: region_name,
# credentials: credentials,
# # ...
# )
#
# For details on configuring region and credentials see
# the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
#
# See {#initialize} for a full list of supported configuration options.
class Client < Seahorse::Client::Base
include Aws::ClientStubs
@identifier = :iotfleetwise
set_api(ClientApi::API)
add_plugin(Seahorse::Client::Plugins::ContentLength)
add_plugin(Aws::Plugins::CredentialsConfiguration)
add_plugin(Aws::Plugins::Logging)
add_plugin(Aws::Plugins::ParamConverter)
add_plugin(Aws::Plugins::ParamValidator)
add_plugin(Aws::Plugins::UserAgent)
add_plugin(Aws::Plugins::HelpfulSocketErrors)
add_plugin(Aws::Plugins::RetryErrors)
add_plugin(Aws::Plugins::GlobalConfiguration)
add_plugin(Aws::Plugins::RegionalEndpoint)
add_plugin(Aws::Plugins::EndpointDiscovery)
add_plugin(Aws::Plugins::EndpointPattern)
add_plugin(Aws::Plugins::ResponsePaging)
add_plugin(Aws::Plugins::StubResponses)
add_plugin(Aws::Plugins::IdempotencyToken)
add_plugin(Aws::Plugins::JsonvalueConverter)
add_plugin(Aws::Plugins::ClientMetricsPlugin)
add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
add_plugin(Aws::Plugins::TransferEncoding)
add_plugin(Aws::Plugins::HttpChecksum)
add_plugin(Aws::Plugins::ChecksumAlgorithm)
add_plugin(Aws::Plugins::DefaultsMode)
add_plugin(Aws::Plugins::RecursionDetection)
add_plugin(Aws::Plugins::Sign)
add_plugin(Aws::Plugins::Protocols::JsonRpc)
add_plugin(Aws::IoTFleetWise::Plugins::Endpoints)
# @overload initialize(options)
# @param [Hash] options
# @option options [required, Aws::CredentialProvider] :credentials
# Your AWS credentials. This can be an instance of any one of the
# following classes:
#
# * `Aws::Credentials` - Used for configuring static, non-refreshing
# credentials.
#
# * `Aws::SharedCredentials` - Used for loading static credentials from a
# shared file, such as `~/.aws/config`.
#
# * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
#
# * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
# assume a role after providing credentials via the web.
#
# * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
# access token generated from `aws login`.
#
# * `Aws::ProcessCredentials` - Used for loading credentials from a
# process that outputs to stdout.
#
# * `Aws::InstanceProfileCredentials` - Used for loading credentials
# from an EC2 IMDS on an EC2 instance.
#
# * `Aws::ECSCredentials` - Used for loading credentials from
# instances running in ECS.
#
# * `Aws::CognitoIdentityCredentials` - Used for loading credentials
# from the Cognito Identity service.
#
# When `:credentials` are not configured directly, the following
# locations will be searched for credentials:
#
# * `Aws.config[:credentials]`
# * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
# * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
# * `~/.aws/credentials`
# * `~/.aws/config`
# * EC2/ECS IMDS instance profile - When used by default, the timeouts
# are very aggressive. Construct and pass an instance of
# `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
# enable retries and extended timeouts. Instance profile credential
# fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
# to true.
#
# @option options [required, String] :region
# The AWS region to connect to. The configured `:region` is
# used to determine the service `:endpoint`. When not passed,
# a default `:region` is searched for in the following locations:
#
# * `Aws.config[:region]`
# * `ENV['AWS_REGION']`
# * `ENV['AMAZON_REGION']`
# * `ENV['AWS_DEFAULT_REGION']`
# * `~/.aws/credentials`
# * `~/.aws/config`
#
# @option options [String] :access_key_id
#
# @option options [Boolean] :active_endpoint_cache (false)
# When set to `true`, a thread polling for endpoints will be running in
# the background every 60 secs (default). Defaults to `false`.
#
# @option options [Boolean] :adaptive_retry_wait_to_fill (true)
# Used only in `adaptive` retry mode. When true, the request will sleep
# until there is sufficent client side capacity to retry the request.
# When false, the request will raise a `RetryCapacityNotAvailableError` and will
# not retry instead of sleeping.
#
# @option options [Boolean] :client_side_monitoring (false)
# When `true`, client-side metrics will be collected for all API requests from
# this client.
#
# @option options [String] :client_side_monitoring_client_id ("")
# Allows you to provide an identifier for this client which will be attached to
# all generated client side metrics. Defaults to an empty string.
#
# @option options [String] :client_side_monitoring_host ("127.0.0.1")
# Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
# side monitoring agent is running on, where client metrics will be published via UDP.
#
# @option options [Integer] :client_side_monitoring_port (31000)
# Required for publishing client metrics. The port that the client side monitoring
# agent is running on, where client metrics will be published via UDP.
#
# @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
# Allows you to provide a custom client-side monitoring publisher class. By default,
# will use the Client Side Monitoring Agent Publisher.
#
# @option options [Boolean] :convert_params (true)
# When `true`, an attempt is made to coerce request parameters into
# the required types.
#
# @option options [Boolean] :correct_clock_skew (true)
# Used only in `standard` and adaptive retry modes. Specifies whether to apply
# a clock skew correction and retry requests with skewed client clocks.
#
# @option options [String] :defaults_mode ("legacy")
# See {Aws::DefaultsModeConfiguration} for a list of the
# accepted modes and the configuration defaults that are included.
#
# @option options [Boolean] :disable_host_prefix_injection (false)
# Set to true to disable SDK automatically adding host prefix
# to default service endpoint when available.
#
# @option options [String] :endpoint
# The client endpoint is normally constructed from the `:region`
# option. You should only configure an `:endpoint` when connecting
# to test or custom endpoints. This should be a valid HTTP(S) URI.
#
# @option options [Integer] :endpoint_cache_max_entries (1000)
# Used for the maximum size limit of the LRU cache storing endpoints data
# for endpoint discovery enabled operations. Defaults to 1000.
#
# @option options [Integer] :endpoint_cache_max_threads (10)
# Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
#
# @option options [Integer] :endpoint_cache_poll_interval (60)
# When :endpoint_discovery and :active_endpoint_cache is enabled,
# Use this option to config the time interval in seconds for making
# requests fetching endpoints information. Defaults to 60 sec.
#
# @option options [Boolean] :endpoint_discovery (false)
# When set to `true`, endpoint discovery will be enabled for operations when available.
#
# @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
# The log formatter.
#
# @option options [Symbol] :log_level (:info)
# The log level to send messages to the `:logger` at.
#
# @option options [Logger] :logger
# The Logger instance to send log messages to. If this option
# is not set, logging will be disabled.
#
# @option options [Integer] :max_attempts (3)
# An integer representing the maximum number attempts that will be made for
# a single request, including the initial attempt. For example,
# setting this value to 5 will result in a request being retried up to
# 4 times. Used in `standard` and `adaptive` retry modes.
#
# @option options [String] :profile ("default")
# Used when loading credentials from the shared credentials file
# at HOME/.aws/credentials. When not specified, 'default' is used.
#
# @option options [Proc] :retry_backoff
# A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
# This option is only used in the `legacy` retry mode.
#
# @option options [Float] :retry_base_delay (0.3)
# The base delay in seconds used by the default backoff function. This option
# is only used in the `legacy` retry mode.
#
# @option options [Symbol] :retry_jitter (:none)
# A delay randomiser function used by the default backoff function.
# Some predefined functions can be referenced by name - :none, :equal, :full,
# otherwise a Proc that takes and returns a number. This option is only used
# in the `legacy` retry mode.
#
# @see https://www.awsarchitectureblog.com/2015/03/backoff.html
#
# @option options [Integer] :retry_limit (3)
# The maximum number of times to retry failed requests. Only
# ~ 500 level server errors and certain ~ 400 level client errors
# are retried. Generally, these are throttling errors, data
# checksum errors, networking errors, timeout errors, auth errors,
# endpoint discovery, and errors from expired credentials.
# This option is only used in the `legacy` retry mode.
#
# @option options [Integer] :retry_max_delay (0)
# The maximum number of seconds to delay between retries (0 for no limit)
# used by the default backoff function. This option is only used in the
# `legacy` retry mode.
#
# @option options [String] :retry_mode ("legacy")
# Specifies which retry algorithm to use. Values are:
#
# * `legacy` - The pre-existing retry behavior. This is default value if
# no retry mode is provided.
#
# * `standard` - A standardized set of retry rules across the AWS SDKs.
# This includes support for retry quotas, which limit the number of
# unsuccessful retries a client can make.
#
# * `adaptive` - An experimental retry mode that includes all the
# functionality of `standard` mode along with automatic client side
# throttling. This is a provisional mode that may change behavior
# in the future.
#
#
# @option options [String] :secret_access_key
#
# @option options [String] :session_token
#
# @option options [Boolean] :simple_json (false)
# Disables request parameter conversion, validation, and formatting.
# Also disable response data type conversions. This option is useful
# when you want to ensure the highest level of performance by
# avoiding overhead of walking request parameters and response data
# structures.
#
# When `:simple_json` is enabled, the request parameters hash must
# be formatted exactly as the DynamoDB API expects.
#
# @option options [Boolean] :stub_responses (false)
# Causes the client to return stubbed responses. By default
# fake responses are generated and returned. You can specify
# the response data to return or errors to raise by calling
# {ClientStubs#stub_responses}. See {ClientStubs} for more information.
#
# ** Please note ** When response stubbing is enabled, no HTTP
# requests are made, and retries are disabled.
#
# @option options [Aws::TokenProvider] :token_provider
# A Bearer Token Provider. This can be an instance of any one of the
# following classes:
#
# * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
# tokens.
#
# * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
# access token generated from `aws login`.
#
# When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
# will be used to search for tokens configured for your profile in shared configuration files.
#
# @option options [Boolean] :use_dualstack_endpoint
# When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
# will be used if available.
#
# @option options [Boolean] :use_fips_endpoint
# When set to `true`, fips compatible endpoints will be used if available.
# When a `fips` region is used, the region is normalized and this config
# is set to `true`.
#
# @option options [Boolean] :validate_params (true)
# When `true`, request parameters are validated before
# sending the request.
#
# @option options [Aws::IoTFleetWise::EndpointProvider] :endpoint_provider
# The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::IoTFleetWise::EndpointParameters`
#
# @option options [URI::HTTP,String] :http_proxy A proxy to send
# requests through. Formatted like 'http://proxy.com:123'.
#
# @option options [Float] :http_open_timeout (15) The number of
# seconds to wait when opening a HTTP session before raising a
# `Timeout::Error`.
#
# @option options [Float] :http_read_timeout (60) The default
# number of seconds to wait for response data. This value can
# safely be set per-request on the session.
#
# @option options [Float] :http_idle_timeout (5) The number of
# seconds a connection is allowed to sit idle before it is
# considered stale. Stale connections are closed and removed
# from the pool before making a request.
#
# @option options [Float] :http_continue_timeout (1) The number of
# seconds to wait for a 100-continue response before sending the
# request body. This option has no effect unless the request has
# "Expect" header set to "100-continue". Defaults to `nil` which
# disables this behaviour. This value can safely be set per
# request on the session.
#
# @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
# in seconds.
#
# @option options [Boolean] :http_wire_trace (false) When `true`,
# HTTP debug output will be sent to the `:logger`.
#
# @option options [Boolean] :ssl_verify_peer (true) When `true`,
# SSL peer certificates are verified when establishing a
# connection.
#
# @option options [String] :ssl_ca_bundle Full path to the SSL
# certificate authority bundle file that should be used when
# verifying peer certificates. If you do not pass
# `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
# will be used if available.
#
# @option options [String] :ssl_ca_directory Full path of the
# directory that contains the unbundled SSL certificate
# authority files for verifying peer certificates. If you do
# not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
# system default will be used if available.
#
def initialize(*args)
super
end
# @!group API Operations
# Adds, or associates, a vehicle with a fleet.
#
# @option params [required, String] :vehicle_name
# The unique ID of the vehicle to associate with the fleet.
#
# @option params [required, String] :fleet_id
# The ID of a fleet.
#
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
#
# @example Request syntax with placeholder values
#
# resp = client.associate_vehicle_fleet({
# vehicle_name: "vehicleName", # required
# fleet_id: "fleetId", # required
# })
#
# @overload associate_vehicle_fleet(params = {})
# @param [Hash] params ({})
def associate_vehicle_fleet(params = {}, options = {})
req = build_request(:associate_vehicle_fleet, params)
req.send_request(options)
end
# Creates a group, or batch, of vehicles.
#
# You must specify a decoder manifest and a vehicle model (model
# manifest) for each vehicle.
#
#
#
# For more information, see [Create multiple vehicles (AWS CLI)][1] in
# the *Amazon Web Services IoT FleetWise Developer Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/create-vehicles-cli.html
#
# @option params [required, Array] :vehicles
# A list of information about each vehicle to create. For more
# information, see the API data type.
#
# @return [Types::BatchCreateVehicleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::BatchCreateVehicleResponse#vehicles #vehicles} => Array<Types::CreateVehicleResponseItem>
# * {Types::BatchCreateVehicleResponse#errors #errors} => Array<Types::CreateVehicleError>
#
# @example Request syntax with placeholder values
#
# resp = client.batch_create_vehicle({
# vehicles: [ # required
# {
# vehicle_name: "vehicleName", # required
# model_manifest_arn: "arn", # required
# decoder_manifest_arn: "arn", # required
# attributes: {
# "attributeName" => "attributeValue",
# },
# association_behavior: "CreateIotThing", # accepts CreateIotThing, ValidateIotThingExists
# tags: [
# {
# key: "TagKey", # required
# value: "TagValue", # required
# },
# ],
# },
# ],
# })
#
# @example Response structure
#
# resp.vehicles #=> Array
# resp.vehicles[0].vehicle_name #=> String
# resp.vehicles[0].arn #=> String
# resp.vehicles[0].thing_arn #=> String
# resp.errors #=> Array
# resp.errors[0].vehicle_name #=> String
# resp.errors[0].code #=> String
# resp.errors[0].message #=> String
#
# @overload batch_create_vehicle(params = {})
# @param [Hash] params ({})
def batch_create_vehicle(params = {}, options = {})
req = build_request(:batch_create_vehicle, params)
req.send_request(options)
end
# Updates a group, or batch, of vehicles.
#
# You must specify a decoder manifest and a vehicle model (model
# manifest) for each vehicle.
#
#
#
# For more information, see [Update multiple vehicles (AWS CLI)][1] in
# the *Amazon Web Services IoT FleetWise Developer Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/update-vehicles-cli.html
#
# @option params [required, Array] :vehicles
# A list of information about the vehicles to update. For more
# information, see the API data type.
#
# @return [Types::BatchUpdateVehicleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::BatchUpdateVehicleResponse#vehicles #vehicles} => Array<Types::UpdateVehicleResponseItem>
# * {Types::BatchUpdateVehicleResponse#errors #errors} => Array<Types::UpdateVehicleError>
#
# @example Request syntax with placeholder values
#
# resp = client.batch_update_vehicle({
# vehicles: [ # required
# {
# vehicle_name: "vehicleName", # required
# model_manifest_arn: "arn",
# decoder_manifest_arn: "arn",
# attributes: {
# "attributeName" => "attributeValue",
# },
# attribute_update_mode: "Overwrite", # accepts Overwrite, Merge
# },
# ],
# })
#
# @example Response structure
#
# resp.vehicles #=> Array
# resp.vehicles[0].vehicle_name #=> String
# resp.vehicles[0].arn #=> String
# resp.errors #=> Array
# resp.errors[0].vehicle_name #=> String
# resp.errors[0].code #=> Integer
# resp.errors[0].message #=> String
#
# @overload batch_update_vehicle(params = {})
# @param [Hash] params ({})
def batch_update_vehicle(params = {}, options = {})
req = build_request(:batch_update_vehicle, params)
req.send_request(options)
end
# Creates an orchestration of data collection rules. The Amazon Web
# Services IoT FleetWise Edge Agent software running in vehicles uses
# campaigns to decide how to collect and transfer data to the cloud. You
# create campaigns in the cloud. After you or your team approve
# campaigns, Amazon Web Services IoT FleetWise automatically deploys
# them to vehicles.
#
# For more information, see [Collect and transfer data with
# campaigns][1] in the *Amazon Web Services IoT FleetWise Developer
# Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/campaigns.html
#
# @option params [required, String] :name
# The name of the campaign to create.
#
# @option params [String] :description
# An optional description of the campaign to help identify its purpose.
#
# @option params [required, String] :signal_catalog_arn
# (Optional) The Amazon Resource Name (ARN) of the signal catalog to
# associate with the campaign.
#
# @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.
#
# 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 won't be
# collected after the campaign expires.
#
# Default: 253402243200 (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.
#
# 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.
#
# Default: `OFF`
#
# @option params [String] :spooling_mode
# (Optional) 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
# 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.
#
# Default: `0`
#
# @option params [Array] :signals_to_collect
# (Optional) A list of information about signals to collect.
#
# @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] :data_extra_dimensions
# (Optional) 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
# `model`.
#
# Default: An empty array
#
# @option params [Array] :tags
# Metadata that can be used to manage the campaign.
#
# @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
#
# @example Request syntax with placeholder values
#
# resp = client.create_campaign({
# name: "campaignName", # required
# description: "description",
# signal_catalog_arn: "arn", # required
# target_arn: "arn", # required
# start_time: Time.now,
# expiry_time: Time.now,
# post_trigger_collection_duration: 1,
# diagnostics_mode: "OFF", # accepts OFF, SEND_ACTIVE_DTCS
# spooling_mode: "OFF", # accepts OFF, TO_DISK
# compression: "OFF", # accepts OFF, SNAPPY
# priority: 1,
# signals_to_collect: [
# {
# name: "wildcardSignalName", # required
# max_sample_count: 1,
# minimum_sampling_interval_ms: 1,
# },
# ],
# collection_scheme: { # required
# time_based_collection_scheme: {
# period_ms: 1, # required
# },
# condition_based_collection_scheme: {
# expression: "eventExpression", # required
# minimum_trigger_interval_ms: 1,
# trigger_mode: "ALWAYS", # accepts ALWAYS, RISING_EDGE
# condition_language_version: 1,
# },
# },
# data_extra_dimensions: ["NodePath"],
# tags: [
# {
# key: "TagKey", # required
# value: "TagValue", # required
# },
# ],
# })
#
# @example Response structure
#
# resp.name #=> String
# resp.arn #=> String
#
# @overload create_campaign(params = {})
# @param [Hash] params ({})
def create_campaign(params = {}, options = {})
req = build_request(:create_campaign, params)
req.send_request(options)
end
# Creates the decoder manifest associated with a model manifest. To
# create a decoder manifest, the following must be true:
#
# * Every signal decoder has a unique name.
#
# * Each signal decoder is associated with a network interface.
#
# * Each network interface has a unique ID.
#
# * The signal decoders are specified in the model manifest.
#
# @option params [required, String] :name
# The unique name of the decoder manifest to create.
#
# @option params [String] :description
# A brief description of the decoder manifest.
#
# @option params [required, String] :model_manifest_arn
# The Amazon Resource Name (ARN) of the vehicle model (model manifest).
#
# @option params [Array] :signal_decoders
# A list of information about signal decoders.
#
# @option params [Array] :network_interfaces
# A list of information about available network interfaces.
#
# @option params [Array] :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:
#
# * {Types::CreateDecoderManifestResponse#name #name} => String
# * {Types::CreateDecoderManifestResponse#arn #arn} => String
#
# @example Request syntax with placeholder values
#
# resp = client.create_decoder_manifest({
# name: "resourceName", # required
# description: "description",
# model_manifest_arn: "arn", # required
# signal_decoders: [
# {
# fully_qualified_name: "FullyQualifiedName", # required
# type: "CAN_SIGNAL", # required, accepts CAN_SIGNAL, OBD_SIGNAL
# interface_id: "InterfaceId", # required
# can_signal: {
# message_id: 1, # required
# is_big_endian: false, # required
# is_signed: false, # required
# start_bit: 1, # required
# offset: 1.0, # required
# factor: 1.0, # required
# length: 1, # required
# name: "CanSignalName",
# },
# obd_signal: {
# pid_response_length: 1, # required
# service_mode: 1, # required
# pid: 1, # required
# scaling: 1.0, # required
# offset: 1.0, # required
# start_byte: 1, # required
# byte_length: 1, # required
# bit_right_shift: 1,
# bit_mask_length: 1,
# },
# },
# ],
# network_interfaces: [
# {
# interface_id: "InterfaceId", # required
# type: "CAN_INTERFACE", # required, accepts CAN_INTERFACE, OBD_INTERFACE
# can_interface: {
# name: "CanInterfaceName", # required
# protocol_name: "ProtocolName",
# protocol_version: "ProtocolVersion",
# },
# obd_interface: {
# name: "ObdInterfaceName", # required
# request_message_id: 1, # required
# obd_standard: "ObdStandard",
# pid_request_interval_seconds: 1,
# dtc_request_interval_seconds: 1,
# use_extended_ids: false,
# has_transmission_ecu: false,
# },
# },
# ],
# tags: [
# {
# key: "TagKey", # required
# value: "TagValue", # required
# },
# ],
# })
#
# @example Response structure
#
# resp.name #=> String
# resp.arn #=> String
#
# @overload create_decoder_manifest(params = {})
# @param [Hash] params ({})
def create_decoder_manifest(params = {}, options = {})
req = build_request(:create_decoder_manifest, params)
req.send_request(options)
end
# Creates a fleet that represents a group of vehicles.
#
# You must create both a signal catalog and vehicles before you can
# create a fleet.
#
#
#
# For more information, see [Fleets][1] in the *Amazon Web Services IoT
# FleetWise Developer Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleets.html
#
# @option params [required, String] :fleet_id
# The unique ID of the fleet to create.
#
# @option params [String] :description
# A brief description of the fleet to create.
#
# @option params [required, String] :signal_catalog_arn
# The Amazon Resource Name (ARN) of a signal catalog.
#
# @option params [Array] :tags
# Metadata that can be used to manage the fleet.
#
# @return [Types::CreateFleetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::CreateFleetResponse#id #id} => String
# * {Types::CreateFleetResponse#arn #arn} => String
#
# @example Request syntax with placeholder values
#
# resp = client.create_fleet({
# fleet_id: "fleetId", # required
# description: "description",
# signal_catalog_arn: "arn", # required
# tags: [
# {
# key: "TagKey", # required
# value: "TagValue", # required
# },
# ],
# })
#
# @example Response structure
#
# resp.id #=> String
# resp.arn #=> String
#
# @overload create_fleet(params = {})
# @param [Hash] params ({})
def create_fleet(params = {}, options = {})
req = build_request(:create_fleet, params)
req.send_request(options)
end
# Creates a vehicle model (model manifest) that specifies signals
# (attributes, branches, sensors, and actuators).
#
# For more information, see [Vehicle models][1] in the *Amazon Web
# Services IoT FleetWise Developer Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/vehicle-models.html
#
# @option params [required, String] :name
# The name of the vehicle model to create.
#
# @option params [String] :description
# A brief description of the vehicle model.
#
# @option params [required, Array] :nodes
# A list of nodes, which are a general abstraction of signals.
#
# @option params [required, String] :signal_catalog_arn
# The Amazon Resource Name (ARN) of a signal catalog.
#
# @option params [Array] :tags
# Metadata that can be used to manage the vehicle model.
#
# @return [Types::CreateModelManifestResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::CreateModelManifestResponse#name #name} => String
# * {Types::CreateModelManifestResponse#arn #arn} => String
#
# @example Request syntax with placeholder values
#
# resp = client.create_model_manifest({
# name: "resourceName", # required
# description: "description",
# nodes: ["string"], # required
# signal_catalog_arn: "arn", # required
# tags: [
# {
# key: "TagKey", # required
# value: "TagValue", # required
# },
# ],
# })
#
# @example Response structure
#
# resp.name #=> String
# resp.arn #=> String
#
# @overload create_model_manifest(params = {})
# @param [Hash] params ({})
def create_model_manifest(params = {}, options = {})
req = build_request(:create_model_manifest, params)
req.send_request(options)
end
# Creates a collection of standardized signals that can be reused to
# create vehicle models.
#
# @option params [required, String] :name
# The name of the signal catalog to create.
#
# @option params [String] :description
# A brief description of the signal catalog.
#
# @option params [Array] :nodes
# A list of information about nodes, which are a general abstraction of
# signals. For more information, see the API data type.
#
# @option params [Array] :tags
# Metadata that can be used to manage the signal catalog.
#
# @return [Types::CreateSignalCatalogResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::CreateSignalCatalogResponse#name #name} => String
# * {Types::CreateSignalCatalogResponse#arn #arn} => String
#
# @example Request syntax with placeholder values
#
# resp = client.create_signal_catalog({
# name: "resourceName", # required
# description: "description",
# nodes: [
# {
# branch: {
# fully_qualified_name: "string", # required
# description: "description",
# },
# sensor: {
# fully_qualified_name: "string", # required
# data_type: "INT8", # required, accepts 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
# description: "description",
# unit: "string",
# allowed_values: ["string"],
# min: 1.0,
# max: 1.0,
# },
# actuator: {
# fully_qualified_name: "string", # required
# data_type: "INT8", # required, accepts 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
# description: "description",
# unit: "string",
# allowed_values: ["string"],
# min: 1.0,
# max: 1.0,
# assigned_value: "string",
# },
# attribute: {
# fully_qualified_name: "string", # required
# data_type: "INT8", # required, accepts 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
# description: "description",
# unit: "string",
# allowed_values: ["string"],
# min: 1.0,
# max: 1.0,
# assigned_value: "string",
# default_value: "string",
# },
# },
# ],
# tags: [
# {
# key: "TagKey", # required
# value: "TagValue", # required
# },
# ],
# })
#
# @example Response structure
#
# resp.name #=> String
# resp.arn #=> String
#
# @overload create_signal_catalog(params = {})
# @param [Hash] params ({})
def create_signal_catalog(params = {}, options = {})
req = build_request(:create_signal_catalog, 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.
#
# If you have an existing Amazon Web Services IoT Thing, you can use
# Amazon Web Services IoT FleetWise to create a vehicle and collect data
# from your thing.
#
#
#
# For more information, see [Create a vehicle (AWS CLI)][1] in the
# *Amazon Web Services IoT FleetWise Developer Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/create-vehicle-cli.html
#
# @option params [required, String] :vehicle_name
# The unique ID of the vehicle to create.
#
# @option params [required, String] :model_manifest_arn
# The Amazon Resource Name ARN of a vehicle model.
#
# @option params [required, String] :decoder_manifest_arn
# The ARN of a decoder manifest.
#
# @option params [Hash] :attributes
# Static information about a vehicle in a key-value pair. For example:
# `"engineType"`\: `"1.3 L R2"`
#
# @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.
#
# Default: ``
#
# @option params [Array] :tags
# Metadata that can be used to manage the vehicle.
#
# @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
#
# @example Request syntax with placeholder values
#
# resp = client.create_vehicle({
# vehicle_name: "vehicleName", # required
# model_manifest_arn: "arn", # required
# decoder_manifest_arn: "arn", # required
# attributes: {
# "attributeName" => "attributeValue",
# },
# association_behavior: "CreateIotThing", # accepts CreateIotThing, ValidateIotThingExists
# tags: [
# {
# key: "TagKey", # required
# value: "TagValue", # required
# },
# ],
# })
#
# @example Response structure
#
# resp.vehicle_name #=> String
# resp.arn #=> String
# resp.thing_arn #=> String
#
# @overload create_vehicle(params = {})
# @param [Hash] params ({})
def create_vehicle(params = {}, options = {})
req = build_request(:create_vehicle, params)
req.send_request(options)
end
# Deletes a data collection campaign. Deleting a campaign suspends all
# data collection and removes it from any vehicles.
#
# @option params [required, String] :name
# The name of the campaign to delete.
#
# @return [Types::DeleteCampaignResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DeleteCampaignResponse#name #name} => String
# * {Types::DeleteCampaignResponse#arn #arn} => String
#
# @example Request syntax with placeholder values
#
# resp = client.delete_campaign({
# name: "campaignName", # required
# })
#
# @example Response structure
#
# resp.name #=> String
# resp.arn #=> String
#
# @overload delete_campaign(params = {})
# @param [Hash] params ({})
def delete_campaign(params = {}, options = {})
req = build_request(:delete_campaign, params)
req.send_request(options)
end
# Deletes a decoder manifest. You can't delete a decoder manifest if it
# has vehicles associated with it.
#
# If the decoder manifest is successfully deleted, Amazon Web Services
# IoT FleetWise sends back an HTTP 200 response with an empty body.
#
#
#
# @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:
#
# * {Types::DeleteDecoderManifestResponse#name #name} => String
# * {Types::DeleteDecoderManifestResponse#arn #arn} => String
#
# @example Request syntax with placeholder values
#
# resp = client.delete_decoder_manifest({
# name: "resourceName", # required
# })
#
# @example Response structure
#
# resp.name #=> String
# resp.arn #=> String
#
# @overload delete_decoder_manifest(params = {})
# @param [Hash] params ({})
def delete_decoder_manifest(params = {}, options = {})
req = build_request(:delete_decoder_manifest, params)
req.send_request(options)
end
# 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*.
#
# If the fleet is successfully deleted, Amazon Web Services IoT
# FleetWise sends back an HTTP 200 response with an empty body.
#
#
#
#
#
# [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.
#
# @return [Types::DeleteFleetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DeleteFleetResponse#id #id} => String
# * {Types::DeleteFleetResponse#arn #arn} => String
#
# @example Request syntax with placeholder values
#
# resp = client.delete_fleet({
# fleet_id: "fleetId", # required
# })
#
# @example Response structure
#
# resp.id #=> String
# resp.arn #=> String
#
# @overload delete_fleet(params = {})
# @param [Hash] params ({})
def delete_fleet(params = {}, options = {})
req = build_request(:delete_fleet, params)
req.send_request(options)
end
# Deletes a vehicle model (model manifest).
#
# If the vehicle model is successfully deleted, Amazon Web Services IoT
# FleetWise sends back an HTTP 200 response with an empty body.
#
#
#
# @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:
#
# * {Types::DeleteModelManifestResponse#name #name} => String
# * {Types::DeleteModelManifestResponse#arn #arn} => String
#
# @example Request syntax with placeholder values
#
# resp = client.delete_model_manifest({
# name: "resourceName", # required
# })
#
# @example Response structure
#
# resp.name #=> String
# resp.arn #=> String
#
# @overload delete_model_manifest(params = {})
# @param [Hash] params ({})
def delete_model_manifest(params = {}, options = {})
req = build_request(:delete_model_manifest, params)
req.send_request(options)
end
# Deletes a signal catalog.
#
# If the signal catalog is successfully deleted, Amazon Web Services IoT
# FleetWise sends back an HTTP 200 response with an empty body.
#
#
#
# @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:
#
# * {Types::DeleteSignalCatalogResponse#name #name} => String
# * {Types::DeleteSignalCatalogResponse#arn #arn} => String
#
# @example Request syntax with placeholder values
#
# resp = client.delete_signal_catalog({
# name: "resourceName", # required
# })
#
# @example Response structure
#
# resp.name #=> String
# resp.arn #=> String
#
# @overload delete_signal_catalog(params = {})
# @param [Hash] params ({})
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.
#
# 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] :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:
#
# * {Types::DeleteVehicleResponse#vehicle_name #vehicle_name} => String
# * {Types::DeleteVehicleResponse#arn #arn} => String
#
# @example Request syntax with placeholder values
#
# resp = client.delete_vehicle({
# vehicle_name: "vehicleName", # required
# })
#
# @example Response structure
#
# resp.vehicle_name #=> String
# resp.arn #=> String
#
# @overload delete_vehicle(params = {})
# @param [Hash] params ({})
def delete_vehicle(params = {}, options = {})
req = build_request(:delete_vehicle, params)
req.send_request(options)
end
# Removes, or disassociates, a vehicle from a fleet. Disassociating a
# vehicle from a fleet doesn't delete the vehicle.
#
# If the vehicle is successfully dissociated from a fleet, Amazon Web
# Services IoT FleetWise sends back an HTTP 200 response with an empty
# body.
#
#
#
# @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.
#
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
#
# @example Request syntax with placeholder values
#
# resp = client.disassociate_vehicle_fleet({
# vehicle_name: "vehicleName", # required
# fleet_id: "fleetId", # required
# })
#
# @overload disassociate_vehicle_fleet(params = {})
# @param [Hash] params ({})
def disassociate_vehicle_fleet(params = {}, options = {})
req = build_request(:disassociate_vehicle_fleet, params)
req.send_request(options)
end
# Retrieves information about a campaign.
#
# @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:
#
# * {Types::GetCampaignResponse#name #name} => String
# * {Types::GetCampaignResponse#arn #arn} => String
# * {Types::GetCampaignResponse#description #description} => String
# * {Types::GetCampaignResponse#signal_catalog_arn #signal_catalog_arn} => String
# * {Types::GetCampaignResponse#target_arn #target_arn} => String
# * {Types::GetCampaignResponse#status #status} => String
# * {Types::GetCampaignResponse#start_time #start_time} => Time
# * {Types::GetCampaignResponse#expiry_time #expiry_time} => Time
# * {Types::GetCampaignResponse#post_trigger_collection_duration #post_trigger_collection_duration} => Integer
# * {Types::GetCampaignResponse#diagnostics_mode #diagnostics_mode} => String
# * {Types::GetCampaignResponse#spooling_mode #spooling_mode} => String
# * {Types::GetCampaignResponse#compression #compression} => String
# * {Types::GetCampaignResponse#priority #priority} => Integer
# * {Types::GetCampaignResponse#signals_to_collect #signals_to_collect} => Array<Types::SignalInformation>
# * {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
#
# @example Request syntax with placeholder values
#
# resp = client.get_campaign({
# name: "campaignName", # required
# })
#
# @example Response structure
#
# resp.name #=> String
# resp.arn #=> String
# resp.description #=> String
# resp.signal_catalog_arn #=> String
# resp.target_arn #=> String
# resp.status #=> String, one of "CREATING", "WAITING_FOR_APPROVAL", "RUNNING", "SUSPENDED"
# resp.start_time #=> Time
# resp.expiry_time #=> Time
# resp.post_trigger_collection_duration #=> Integer
# resp.diagnostics_mode #=> String, one of "OFF", "SEND_ACTIVE_DTCS"
# resp.spooling_mode #=> String, one of "OFF", "TO_DISK"
# resp.compression #=> String, one of "OFF", "SNAPPY"
# 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.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
# resp.data_extra_dimensions #=> Array
# resp.data_extra_dimensions[0] #=> String
# resp.creation_time #=> Time
# resp.last_modification_time #=> Time
#
# @overload get_campaign(params = {})
# @param [Hash] params ({})
def get_campaign(params = {}, options = {})
req = build_request(:get_campaign, params)
req.send_request(options)
end
# Retrieves information about a created decoder manifest.
#
# @option params [required, String] :name
# The name of the decoder manifest to retrieve information about.
#
# @return [Types::GetDecoderManifestResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::GetDecoderManifestResponse#name #name} => String
# * {Types::GetDecoderManifestResponse#arn #arn} => String
# * {Types::GetDecoderManifestResponse#description #description} => String
# * {Types::GetDecoderManifestResponse#model_manifest_arn #model_manifest_arn} => String
# * {Types::GetDecoderManifestResponse#status #status} => String
# * {Types::GetDecoderManifestResponse#creation_time #creation_time} => Time
# * {Types::GetDecoderManifestResponse#last_modification_time #last_modification_time} => Time
#
# @example Request syntax with placeholder values
#
# resp = client.get_decoder_manifest({
# name: "resourceName", # required
# })
#
# @example Response structure
#
# resp.name #=> String
# resp.arn #=> String
# resp.description #=> String
# resp.model_manifest_arn #=> String
# resp.status #=> String, one of "ACTIVE", "DRAFT"
# resp.creation_time #=> Time
# resp.last_modification_time #=> Time
#
# @overload get_decoder_manifest(params = {})
# @param [Hash] params ({})
def get_decoder_manifest(params = {}, options = {})
req = build_request(:get_decoder_manifest, params)
req.send_request(options)
end
# Retrieves information about a fleet.
#
# @option params [required, String] :fleet_id
# The ID of the fleet to retrieve information about.
#
# @return [Types::GetFleetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::GetFleetResponse#id #id} => String
# * {Types::GetFleetResponse#arn #arn} => String
# * {Types::GetFleetResponse#description #description} => String
# * {Types::GetFleetResponse#signal_catalog_arn #signal_catalog_arn} => String
# * {Types::GetFleetResponse#creation_time #creation_time} => Time
# * {Types::GetFleetResponse#last_modification_time #last_modification_time} => Time
#
# @example Request syntax with placeholder values
#
# resp = client.get_fleet({
# fleet_id: "fleetId", # required
# })
#
# @example Response structure
#
# resp.id #=> String
# resp.arn #=> String
# resp.description #=> String
# resp.signal_catalog_arn #=> String
# resp.creation_time #=> Time
# resp.last_modification_time #=> Time
#
# @overload get_fleet(params = {})
# @param [Hash] params ({})
def get_fleet(params = {}, options = {})
req = build_request(:get_fleet, params)
req.send_request(options)
end
# Retrieves the logging options.
#
# @return [Types::GetLoggingOptionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::GetLoggingOptionsResponse#cloud_watch_log_delivery #cloud_watch_log_delivery} => Types::CloudWatchLogDeliveryOptions
#
# @example Response structure
#
# resp.cloud_watch_log_delivery.log_type #=> String, one of "OFF", "ERROR"
# resp.cloud_watch_log_delivery.log_group_name #=> String
#
# @overload get_logging_options(params = {})
# @param [Hash] params ({})
def get_logging_options(params = {}, options = {})
req = build_request(:get_logging_options, params)
req.send_request(options)
end
# Retrieves information about a vehicle model (model manifest).
#
# @option params [required, String] :name
# The name of the vehicle model to retrieve information about.
#
# @return [Types::GetModelManifestResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::GetModelManifestResponse#name #name} => String
# * {Types::GetModelManifestResponse#arn #arn} => String
# * {Types::GetModelManifestResponse#description #description} => String
# * {Types::GetModelManifestResponse#signal_catalog_arn #signal_catalog_arn} => String
# * {Types::GetModelManifestResponse#status #status} => String
# * {Types::GetModelManifestResponse#creation_time #creation_time} => Time
# * {Types::GetModelManifestResponse#last_modification_time #last_modification_time} => Time
#
# @example Request syntax with placeholder values
#
# resp = client.get_model_manifest({
# name: "resourceName", # required
# })
#
# @example Response structure
#
# resp.name #=> String
# resp.arn #=> String
# resp.description #=> String
# resp.signal_catalog_arn #=> String
# resp.status #=> String, one of "ACTIVE", "DRAFT"
# resp.creation_time #=> Time
# resp.last_modification_time #=> Time
#
# @overload get_model_manifest(params = {})
# @param [Hash] params ({})
def get_model_manifest(params = {}, options = {})
req = build_request(:get_model_manifest, params)
req.send_request(options)
end
# Retrieves information about the status of registering your Amazon Web
# Services account, IAM, and Amazon Timestream resources so that 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 [Setting
# up Amazon Web Services IoT FleetWise][1].
#
# This API operation doesn't require input parameters.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/setting-up.html
#
# @return [Types::GetRegisterAccountStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::GetRegisterAccountStatusResponse#customer_account_id #customer_account_id} => String
# * {Types::GetRegisterAccountStatusResponse#account_status #account_status} => String
# * {Types::GetRegisterAccountStatusResponse#timestream_registration_response #timestream_registration_response} => Types::TimestreamRegistrationResponse
# * {Types::GetRegisterAccountStatusResponse#iam_registration_response #iam_registration_response} => Types::IamRegistrationResponse
# * {Types::GetRegisterAccountStatusResponse#creation_time #creation_time} => Time
# * {Types::GetRegisterAccountStatusResponse#last_modification_time #last_modification_time} => Time
#
# @example Response structure
#
# resp.customer_account_id #=> String
# resp.account_status #=> String, one of "REGISTRATION_PENDING", "REGISTRATION_SUCCESS", "REGISTRATION_FAILURE"
# resp.timestream_registration_response.timestream_database_name #=> String
# resp.timestream_registration_response.timestream_table_name #=> String
# resp.timestream_registration_response.timestream_database_arn #=> String
# resp.timestream_registration_response.timestream_table_arn #=> String
# resp.timestream_registration_response.registration_status #=> String, one of "REGISTRATION_PENDING", "REGISTRATION_SUCCESS", "REGISTRATION_FAILURE"
# resp.timestream_registration_response.error_message #=> String
# resp.iam_registration_response.role_arn #=> String
# resp.iam_registration_response.registration_status #=> String, one of "REGISTRATION_PENDING", "REGISTRATION_SUCCESS", "REGISTRATION_FAILURE"
# resp.iam_registration_response.error_message #=> String
# resp.creation_time #=> Time
# resp.last_modification_time #=> Time
#
# @overload get_register_account_status(params = {})
# @param [Hash] params ({})
def get_register_account_status(params = {}, options = {})
req = build_request(:get_register_account_status, params)
req.send_request(options)
end
# Retrieves information about a signal catalog.
#
# @option params [required, String] :name
# The name of the signal catalog to retrieve information about.
#
# @return [Types::GetSignalCatalogResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::GetSignalCatalogResponse#name #name} => String
# * {Types::GetSignalCatalogResponse#arn #arn} => String
# * {Types::GetSignalCatalogResponse#description #description} => String
# * {Types::GetSignalCatalogResponse#node_counts #node_counts} => Types::NodeCounts
# * {Types::GetSignalCatalogResponse#creation_time #creation_time} => Time
# * {Types::GetSignalCatalogResponse#last_modification_time #last_modification_time} => Time
#
# @example Request syntax with placeholder values
#
# resp = client.get_signal_catalog({
# name: "resourceName", # required
# })
#
# @example Response structure
#
# resp.name #=> String
# resp.arn #=> String
# resp.description #=> String
# resp.node_counts.total_nodes #=> Integer
# resp.node_counts.total_branches #=> Integer
# resp.node_counts.total_sensors #=> Integer
# resp.node_counts.total_attributes #=> Integer
# resp.node_counts.total_actuators #=> Integer
# resp.creation_time #=> Time
# resp.last_modification_time #=> Time
#
# @overload get_signal_catalog(params = {})
# @param [Hash] params ({})
def get_signal_catalog(params = {}, options = {})
req = build_request(:get_signal_catalog, 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.
#
# @return [Types::GetVehicleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {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#creation_time #creation_time} => Time
# * {Types::GetVehicleResponse#last_modification_time #last_modification_time} => Time
#
# @example Request syntax with placeholder values
#
# resp = client.get_vehicle({
# vehicle_name: "vehicleName", # required
# })
#
# @example Response structure
#
# resp.vehicle_name #=> String
# resp.arn #=> String
# resp.model_manifest_arn #=> String
# resp.decoder_manifest_arn #=> String
# resp.attributes #=> Hash
# resp.attributes["attributeName"] #=> String
# 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.
#
# @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.
#
# @option params [Integer] :max_results
# The maximum number of items to return, between 1 and 100, inclusive.
#
# @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:
#
# * {Types::GetVehicleStatusResponse#campaigns #campaigns} => Array<Types::VehicleStatus>
# * {Types::GetVehicleStatusResponse#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.get_vehicle_status({
# next_token: "nextToken",
# max_results: 1,
# vehicle_name: "vehicleName", # required
# })
#
# @example Response structure
#
# resp.campaigns #=> Array
# resp.campaigns[0].campaign_name #=> String
# resp.campaigns[0].vehicle_name #=> String
# resp.campaigns[0].status #=> String, one of "CREATED", "READY", "HEALTHY", "SUSPENDED", "DELETING"
# resp.next_token #=> String
#
# @overload get_vehicle_status(params = {})
# @param [Hash] params ({})
def get_vehicle_status(params = {}, options = {})
req = build_request(:get_vehicle_status, params)
req.send_request(options)
end
# Creates a decoder manifest using your existing CAN DBC file from your
# local device.
#
# @option params [required, String] :name
# The name of the decoder manifest to import.
#
# @option params [required, Array] :network_file_definitions
# The file to load into an Amazon Web Services account.
#
# @return [Types::ImportDecoderManifestResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::ImportDecoderManifestResponse#name #name} => String
# * {Types::ImportDecoderManifestResponse#arn #arn} => String
#
# @example Request syntax with placeholder values
#
# resp = client.import_decoder_manifest({
# name: "resourceName", # required
# network_file_definitions: [ # required
# {
# can_dbc: {
# network_interface: "InterfaceId", # required
# can_dbc_files: ["data"], # required
# signals_map: {
# "string" => "string",
# },
# },
# },
# ],
# })
#
# @example Response structure
#
# resp.name #=> String
# resp.arn #=> String
#
# @overload import_decoder_manifest(params = {})
# @param [Hash] params ({})
def import_decoder_manifest(params = {}, options = {})
req = build_request(:import_decoder_manifest, params)
req.send_request(options)
end
# Creates a signal catalog using your existing VSS formatted content
# from your local device.
#
# @option params [required, String] :name
# The name of the signal catalog to import.
#
# @option params [String] :description
# A brief description of the signal catalog.
#
# @option params [Types::FormattedVss] :vss
# The contents of the Vehicle Signal Specification (VSS) configuration.
# VSS is a precise language used to describe and model signals in
# vehicle networks.
#
# @option params [Array] :tags
# Metadata that can be used to manage the signal catalog.
#
# @return [Types::ImportSignalCatalogResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::ImportSignalCatalogResponse#name #name} => String
# * {Types::ImportSignalCatalogResponse#arn #arn} => String
#
# @example Request syntax with placeholder values
#
# resp = client.import_signal_catalog({
# name: "resourceName", # required
# description: "description",
# vss: {
# vss_json: "String",
# },
# tags: [
# {
# key: "TagKey", # required
# value: "TagValue", # required
# },
# ],
# })
#
# @example Response structure
#
# resp.name #=> String
# resp.arn #=> String
#
# @overload import_signal_catalog(params = {})
# @param [Hash] params ({})
def import_signal_catalog(params = {}, options = {})
req = build_request(:import_signal_catalog, params)
req.send_request(options)
end
# Lists information about created campaigns.
#
# This API operation uses pagination. Specify the `nextToken` parameter
# in the request to return more results.
#
#
#
# @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.
#
# @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`.
#
# @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
#
# 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_campaigns({
# next_token: "nextToken",
# max_results: 1,
# status: "status",
# })
#
# @example Response structure
#
# resp.campaign_summaries #=> Array
# resp.campaign_summaries[0].arn #=> String
# resp.campaign_summaries[0].name #=> String
# resp.campaign_summaries[0].description #=> String
# resp.campaign_summaries[0].signal_catalog_arn #=> String
# resp.campaign_summaries[0].target_arn #=> String
# resp.campaign_summaries[0].status #=> String, one of "CREATING", "WAITING_FOR_APPROVAL", "RUNNING", "SUSPENDED"
# resp.campaign_summaries[0].creation_time #=> Time
# resp.campaign_summaries[0].last_modification_time #=> Time
# resp.next_token #=> String
#
# @overload list_campaigns(params = {})
# @param [Hash] params ({})
def list_campaigns(params = {}, options = {})
req = build_request(:list_campaigns, params)
req.send_request(options)
end
# Lists the network interfaces specified in a decoder manifest.
#
# This API operation uses pagination. Specify the `nextToken` parameter
# in the request to return more results.
#
#
#
# @option params [required, String] :name
# The name of the decoder manifest to list information about.
#
# @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.
#
# @option params [Integer] :max_results
# The maximum number of items to return, between 1 and 100, inclusive.
#
# @return [Types::ListDecoderManifestNetworkInterfacesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::ListDecoderManifestNetworkInterfacesResponse#network_interfaces #network_interfaces} => Array<Types::NetworkInterface>
# * {Types::ListDecoderManifestNetworkInterfacesResponse#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_decoder_manifest_network_interfaces({
# name: "resourceName", # required
# next_token: "nextToken",
# max_results: 1,
# })
#
# @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"
# 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
# resp.network_interfaces[0].obd_interface.obd_standard #=> String
# resp.network_interfaces[0].obd_interface.pid_request_interval_seconds #=> Integer
# 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.next_token #=> String
#
# @overload list_decoder_manifest_network_interfaces(params = {})
# @param [Hash] params ({})
def list_decoder_manifest_network_interfaces(params = {}, options = {})
req = build_request(:list_decoder_manifest_network_interfaces, params)
req.send_request(options)
end
# A list of information about signal decoders specified in a decoder
# manifest.
#
# This API operation uses pagination. Specify the `nextToken` parameter
# in the request to return more results.
#
#
#
# @option params [required, String] :name
# The name of the decoder manifest to list information about.
#
# @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.
#
# @option params [Integer] :max_results
# The maximum number of items to return, between 1 and 100, inclusive.
#
# @return [Types::ListDecoderManifestSignalsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::ListDecoderManifestSignalsResponse#signal_decoders #signal_decoders} => Array<Types::SignalDecoder>
# * {Types::ListDecoderManifestSignalsResponse#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_decoder_manifest_signals({
# name: "resourceName", # required
# next_token: "nextToken",
# max_results: 1,
# })
#
# @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"
# 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
# resp.signal_decoders[0].can_signal.offset #=> Float
# resp.signal_decoders[0].can_signal.factor #=> Float
# resp.signal_decoders[0].can_signal.length #=> Integer
# resp.signal_decoders[0].can_signal.name #=> String
# resp.signal_decoders[0].obd_signal.pid_response_length #=> Integer
# resp.signal_decoders[0].obd_signal.service_mode #=> Integer
# resp.signal_decoders[0].obd_signal.pid #=> Integer
# resp.signal_decoders[0].obd_signal.scaling #=> Float
# resp.signal_decoders[0].obd_signal.offset #=> Float
# resp.signal_decoders[0].obd_signal.start_byte #=> Integer
# resp.signal_decoders[0].obd_signal.byte_length #=> Integer
# resp.signal_decoders[0].obd_signal.bit_right_shift #=> Integer
# resp.signal_decoders[0].obd_signal.bit_mask_length #=> Integer
# resp.next_token #=> String
#
# @overload list_decoder_manifest_signals(params = {})
# @param [Hash] params ({})
def list_decoder_manifest_signals(params = {}, options = {})
req = build_request(:list_decoder_manifest_signals, params)
req.send_request(options)
end
# Lists decoder manifests.
#
# This API operation uses pagination. Specify the `nextToken` parameter
# in the request to return more results.
#
#
#
# @option params [String] :model_manifest_arn
# The Amazon Resource Name (ARN) of a vehicle model (model manifest)
# associated with the decoder manifest.
#
# @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.
#
# @option params [Integer] :max_results
# The maximum number of items to return, between 1 and 100, inclusive.
#
# @return [Types::ListDecoderManifestsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::ListDecoderManifestsResponse#summaries #summaries} => Array<Types::DecoderManifestSummary>
# * {Types::ListDecoderManifestsResponse#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_decoder_manifests({
# model_manifest_arn: "arn",
# 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].model_manifest_arn #=> String
# resp.summaries[0].description #=> String
# resp.summaries[0].status #=> String, one of "ACTIVE", "DRAFT"
# resp.summaries[0].creation_time #=> Time
# resp.summaries[0].last_modification_time #=> Time
# resp.next_token #=> String
#
# @overload list_decoder_manifests(params = {})
# @param [Hash] params ({})
def list_decoder_manifests(params = {}, options = {})
req = build_request(:list_decoder_manifests, params)
req.send_request(options)
end
# Retrieves information for each created fleet in an Amazon Web Services
# account.
#
# This API operation uses pagination. Specify the `nextToken` parameter
# in the request to return more results.
#
#
#
# @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.
#
# @option params [Integer] :max_results
# The maximum number of items to return, between 1 and 100, inclusive.
#
# @return [Types::ListFleetsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::ListFleetsResponse#fleet_summaries #fleet_summaries} => Array<Types::FleetSummary>
# * {Types::ListFleetsResponse#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_fleets({
# next_token: "nextToken",
# max_results: 1,
# })
#
# @example Response structure
#
# resp.fleet_summaries #=> Array
# resp.fleet_summaries[0].id #=> String
# resp.fleet_summaries[0].arn #=> String
# resp.fleet_summaries[0].description #=> String
# resp.fleet_summaries[0].signal_catalog_arn #=> String
# resp.fleet_summaries[0].creation_time #=> Time
# resp.fleet_summaries[0].last_modification_time #=> Time
# resp.next_token #=> String
#
# @overload list_fleets(params = {})
# @param [Hash] params ({})
def list_fleets(params = {}, options = {})
req = build_request(:list_fleets, params)
req.send_request(options)
end
# Retrieves a list of IDs for all fleets that the vehicle is associated
# with.
#
# This API operation uses pagination. Specify the `nextToken` parameter
# in the request to return more results.
#
#
#
# @option params [required, String] :vehicle_name
# The ID of the vehicle to retrieve information about.
#
# @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.
#
# @option params [Integer] :max_results
# The maximum number of items to return, between 1 and 100, inclusive.
#
# @return [Types::ListFleetsForVehicleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::ListFleetsForVehicleResponse#fleets #fleets} => Array<String>
# * {Types::ListFleetsForVehicleResponse#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_fleets_for_vehicle({
# vehicle_name: "vehicleName", # required
# next_token: "nextToken",
# max_results: 1,
# })
#
# @example Response structure
#
# resp.fleets #=> Array
# resp.fleets[0] #=> String
# resp.next_token #=> String
#
# @overload list_fleets_for_vehicle(params = {})
# @param [Hash] params ({})
def list_fleets_for_vehicle(params = {}, options = {})
req = build_request(:list_fleets_for_vehicle, params)
req.send_request(options)
end
# Lists information about nodes specified in a vehicle model (model
# manifest).
#
# This API operation uses pagination. Specify the `nextToken` parameter
# in the request to return more results.
#
#
#
# @option params [required, String] :name
# The name of the vehicle model to list information about.
#
# @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.
#
# @option params [Integer] :max_results
# The maximum number of items to return, between 1 and 100, inclusive.
#
# @return [Types::ListModelManifestNodesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::ListModelManifestNodesResponse#nodes #nodes} => Array<Types::Node>
# * {Types::ListModelManifestNodesResponse#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_model_manifest_nodes({
# name: "resourceName", # required
# next_token: "nextToken",
# max_results: 1,
# })
#
# @example Response structure
#
# resp.nodes #=> Array
# resp.nodes[0].branch.fully_qualified_name #=> String
# resp.nodes[0].branch.description #=> String
# resp.nodes[0].sensor.fully_qualified_name #=> String
# 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"
# resp.nodes[0].sensor.description #=> String
# resp.nodes[0].sensor.unit #=> String
# resp.nodes[0].sensor.allowed_values #=> Array
# resp.nodes[0].sensor.allowed_values[0] #=> String
# resp.nodes[0].sensor.min #=> Float
# resp.nodes[0].sensor.max #=> Float
# resp.nodes[0].actuator.fully_qualified_name #=> String
# 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"
# resp.nodes[0].actuator.description #=> String
# resp.nodes[0].actuator.unit #=> String
# resp.nodes[0].actuator.allowed_values #=> Array
# resp.nodes[0].actuator.allowed_values[0] #=> String
# resp.nodes[0].actuator.min #=> Float
# resp.nodes[0].actuator.max #=> Float
# resp.nodes[0].actuator.assigned_value #=> String
# resp.nodes[0].attribute.fully_qualified_name #=> String
# 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"
# resp.nodes[0].attribute.description #=> String
# resp.nodes[0].attribute.unit #=> String
# resp.nodes[0].attribute.allowed_values #=> Array
# resp.nodes[0].attribute.allowed_values[0] #=> String
# resp.nodes[0].attribute.min #=> Float
# resp.nodes[0].attribute.max #=> Float
# resp.nodes[0].attribute.assigned_value #=> String
# resp.nodes[0].attribute.default_value #=> String
# resp.next_token #=> String
#
# @overload list_model_manifest_nodes(params = {})
# @param [Hash] params ({})
def list_model_manifest_nodes(params = {}, options = {})
req = build_request(:list_model_manifest_nodes, params)
req.send_request(options)
end
# Retrieves a list of vehicle models (model manifests).
#
# This API operation uses pagination. Specify the `nextToken` parameter
# in the request to return more results.
#
#
#
# @option params [String] :signal_catalog_arn
# The ARN of a signal catalog. If you specify a signal catalog, only the
# vehicle models associated with it are returned.
#
# @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.
#
# @option params [Integer] :max_results
# The maximum number of items to return, between 1 and 100, inclusive.
#
# @return [Types::ListModelManifestsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::ListModelManifestsResponse#summaries #summaries} => Array<Types::ModelManifestSummary>
# * {Types::ListModelManifestsResponse#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_model_manifests({
# signal_catalog_arn: "arn",
# 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].status #=> String, one of "ACTIVE", "DRAFT"
# resp.summaries[0].creation_time #=> Time
# resp.summaries[0].last_modification_time #=> Time
# resp.next_token #=> String
#
# @overload list_model_manifests(params = {})
# @param [Hash] params ({})
def list_model_manifests(params = {}, options = {})
req = build_request(:list_model_manifests, params)
req.send_request(options)
end
# Lists of information about the signals (nodes) specified in a signal
# catalog.
#
# This API operation uses pagination. Specify the `nextToken` parameter
# in the request to return more results.
#
#
#
# @option params [required, String] :name
# The name of the signal catalog to list information about.
#
# @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.
#
# @option params [Integer] :max_results
# The maximum number of items to return, between 1 and 100, inclusive.
#
# @return [Types::ListSignalCatalogNodesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::ListSignalCatalogNodesResponse#nodes #nodes} => Array<Types::Node>
# * {Types::ListSignalCatalogNodesResponse#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_signal_catalog_nodes({
# name: "resourceName", # required
# next_token: "nextToken",
# max_results: 1,
# })
#
# @example Response structure
#
# resp.nodes #=> Array
# resp.nodes[0].branch.fully_qualified_name #=> String
# resp.nodes[0].branch.description #=> String
# resp.nodes[0].sensor.fully_qualified_name #=> String
# 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"
# resp.nodes[0].sensor.description #=> String
# resp.nodes[0].sensor.unit #=> String
# resp.nodes[0].sensor.allowed_values #=> Array
# resp.nodes[0].sensor.allowed_values[0] #=> String
# resp.nodes[0].sensor.min #=> Float
# resp.nodes[0].sensor.max #=> Float
# resp.nodes[0].actuator.fully_qualified_name #=> String
# 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"
# resp.nodes[0].actuator.description #=> String
# resp.nodes[0].actuator.unit #=> String
# resp.nodes[0].actuator.allowed_values #=> Array
# resp.nodes[0].actuator.allowed_values[0] #=> String
# resp.nodes[0].actuator.min #=> Float
# resp.nodes[0].actuator.max #=> Float
# resp.nodes[0].actuator.assigned_value #=> String
# resp.nodes[0].attribute.fully_qualified_name #=> String
# 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"
# resp.nodes[0].attribute.description #=> String
# resp.nodes[0].attribute.unit #=> String
# resp.nodes[0].attribute.allowed_values #=> Array
# resp.nodes[0].attribute.allowed_values[0] #=> String
# resp.nodes[0].attribute.min #=> Float
# resp.nodes[0].attribute.max #=> Float
# resp.nodes[0].attribute.assigned_value #=> String
# resp.nodes[0].attribute.default_value #=> String
# resp.next_token #=> String
#
# @overload list_signal_catalog_nodes(params = {})
# @param [Hash] params ({})
def list_signal_catalog_nodes(params = {}, options = {})
req = build_request(:list_signal_catalog_nodes, params)
req.send_request(options)
end
# Lists all the created signal catalogs in an Amazon Web Services
# account.
#
# You can use to list information about each signal (node) specified in
# a signal catalog.
#
# This API operation uses pagination. Specify the `nextToken` parameter
# in the request to return more results.
#
#
#
# @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.
#
# @option params [Integer] :max_results
# The maximum number of items to return, between 1 and 100, inclusive.
#
# @return [Types::ListSignalCatalogsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::ListSignalCatalogsResponse#summaries #summaries} => Array<Types::SignalCatalogSummary>
# * {Types::ListSignalCatalogsResponse#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_signal_catalogs({
# 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].creation_time #=> Time
# resp.summaries[0].last_modification_time #=> Time
# resp.next_token #=> String
#
# @overload list_signal_catalogs(params = {})
# @param [Hash] params ({})
def list_signal_catalogs(params = {}, options = {})
req = build_request(:list_signal_catalogs, 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.
#
# @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::ListTagsForResourceResponse#tags #tags} => Array<Types::Tag>
#
# @example Request syntax with placeholder values
#
# resp = client.list_tags_for_resource({
# resource_arn: "AmazonResourceName", # required
# })
#
# @example Response structure
#
# resp.tags #=> Array
# resp.tags[0].key #=> String
# resp.tags[0].value #=> String
#
# @overload list_tags_for_resource(params = {})
# @param [Hash] params ({})
def list_tags_for_resource(params = {}, options = {})
req = build_request(:list_tags_for_resource, params)
req.send_request(options)
end
# Retrieves a list of summaries of created vehicles.
#
# This API operation uses pagination. Specify the `nextToken` parameter
# in the request to return more results.
#
#
#
# @option params [String] :model_manifest_arn
# 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 [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.
#
# @option params [Integer] :max_results
# The maximum number of items to return, between 1 and 100, inclusive.
#
# @return [Types::ListVehiclesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::ListVehiclesResponse#vehicle_summaries #vehicle_summaries} => Array<Types::VehicleSummary>
# * {Types::ListVehiclesResponse#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_vehicles({
# model_manifest_arn: "arn",
# next_token: "nextToken",
# max_results: 1,
# })
#
# @example Response structure
#
# resp.vehicle_summaries #=> Array
# resp.vehicle_summaries[0].vehicle_name #=> String
# resp.vehicle_summaries[0].arn #=> String
# resp.vehicle_summaries[0].model_manifest_arn #=> String
# resp.vehicle_summaries[0].decoder_manifest_arn #=> String
# resp.vehicle_summaries[0].creation_time #=> Time
# resp.vehicle_summaries[0].last_modification_time #=> Time
# resp.next_token #=> String
#
# @overload list_vehicles(params = {})
# @param [Hash] params ({})
def list_vehicles(params = {}, options = {})
req = build_request(:list_vehicles, params)
req.send_request(options)
end
# Retrieves a list of summaries of all vehicles associated with a fleet.
#
# This API operation uses pagination. Specify the `nextToken` parameter
# in the request to return more results.
#
#
#
# @option params [required, String] :fleet_id
# The ID of a fleet.
#
# @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.
#
# @option params [Integer] :max_results
# The maximum number of items to return, between 1 and 100, inclusive.
#
# @return [Types::ListVehiclesInFleetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::ListVehiclesInFleetResponse#vehicles #vehicles} => Array<String>
# * {Types::ListVehiclesInFleetResponse#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_vehicles_in_fleet({
# fleet_id: "fleetId", # required
# next_token: "nextToken",
# max_results: 1,
# })
#
# @example Response structure
#
# resp.vehicles #=> Array
# resp.vehicles[0] #=> String
# resp.next_token #=> String
#
# @overload list_vehicles_in_fleet(params = {})
# @param [Hash] params ({})
def list_vehicles_in_fleet(params = {}, options = {})
req = build_request(:list_vehicles_in_fleet, params)
req.send_request(options)
end
# Creates or updates the logging option.
#
# @option params [required, Types::CloudWatchLogDeliveryOptions] :cloud_watch_log_delivery
# Creates or updates the log delivery option to Amazon CloudWatch Logs.
#
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
#
# @example Request syntax with placeholder values
#
# resp = client.put_logging_options({
# cloud_watch_log_delivery: { # required
# log_type: "OFF", # required, accepts OFF, ERROR
# log_group_name: "CloudWatchLogGroupName",
# },
# })
#
# @overload put_logging_options(params = {})
# @param [Hash] params ({})
def put_logging_options(params = {}, options = {})
req = build_request(:put_logging_options, params)
req.send_request(options)
end
# 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 [Setting up Amazon Web Services
# IoT FleetWise][1].
#
# An Amazon Web Services account is **not** the same thing as a "user
# account". An [Amazon Web Services user][2] is an identity that you
# create using Identity and Access Management (IAM) and takes the form
# of either an [IAM user][3] or an [IAM role, both with credentials][4].
# A single Amazon Web Services account can, and typically does, contain
# many users and roles.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/setting-up.html
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_identity-management.html#intro-identity-users
# [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html
# [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html
#
# @option params [required, Types::TimestreamResources] :timestream_resources
# The registered Amazon Timestream resources that Amazon Web Services
# IoT FleetWise edge agent software can transfer your vehicle data to.
#
# @option params [Types::IamResources] :iam_resources
# The IAM resource that allows Amazon Web Services IoT FleetWise to send
# data to Amazon Timestream.
#
# @return [Types::RegisterAccountResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::RegisterAccountResponse#register_account_status #register_account_status} => String
# * {Types::RegisterAccountResponse#timestream_resources #timestream_resources} => Types::TimestreamResources
# * {Types::RegisterAccountResponse#iam_resources #iam_resources} => Types::IamResources
# * {Types::RegisterAccountResponse#creation_time #creation_time} => Time
# * {Types::RegisterAccountResponse#last_modification_time #last_modification_time} => Time
#
# @example Request syntax with placeholder values
#
# resp = client.register_account({
# timestream_resources: { # required
# timestream_database_name: "TimestreamDatabaseName", # required
# timestream_table_name: "TimestreamTableName", # required
# },
# iam_resources: {
# role_arn: "IAMRoleArn", # required
# },
# })
#
# @example Response structure
#
# resp.register_account_status #=> String, one of "REGISTRATION_PENDING", "REGISTRATION_SUCCESS", "REGISTRATION_FAILURE"
# resp.timestream_resources.timestream_database_name #=> String
# resp.timestream_resources.timestream_table_name #=> String
# resp.iam_resources.role_arn #=> String
# resp.creation_time #=> Time
# resp.last_modification_time #=> Time
#
# @overload register_account(params = {})
# @param [Hash] params ({})
def register_account(params = {}, options = {})
req = build_request(:register_account, params)
req.send_request(options)
end
# Adds to or modifies the tags of the given resource. Tags are metadata
# which can be used to manage a resource.
#
# @option params [required, String] :resource_arn
# The ARN of the resource.
#
# @option params [required, Array] :tags
# The new or modified tags for the resource.
#
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
#
# @example Request syntax with placeholder values
#
# resp = client.tag_resource({
# resource_arn: "AmazonResourceName", # required
# tags: [ # required
# {
# key: "TagKey", # required
# value: "TagValue", # required
# },
# ],
# })
#
# @overload tag_resource(params = {})
# @param [Hash] params ({})
def tag_resource(params = {}, options = {})
req = build_request(:tag_resource, params)
req.send_request(options)
end
# Removes the given tags (metadata) from the resource.
#
# @option params [required, String] :resource_arn
# The ARN of the resource.
#
# @option params [required, Array] :tag_keys
# A list of the keys of the tags to be removed from the resource.
#
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
#
# @example Request syntax with placeholder values
#
# resp = client.untag_resource({
# resource_arn: "AmazonResourceName", # required
# tag_keys: ["TagKey"], # required
# })
#
# @overload untag_resource(params = {})
# @param [Hash] params ({})
def untag_resource(params = {}, options = {})
req = build_request(:untag_resource, params)
req.send_request(options)
end
# Updates a campaign.
#
# @option params [required, String] :name
# The name of the campaign to update.
#
# @option params [String] :description
# The description of the campaign.
#
# @option params [Array] :data_extra_dimensions
# A list of vehicle attributes to associate with a signal.
#
# Default: An empty array
#
# @option params [required, String] :action
# Specifies how to update a campaign. The action can be one of the
# following:
#
# * `APPROVE` - To approve delivering a data collection scheme to
# vehicles.
#
# * `SUSPEND` - To suspend collecting signal data.
#
# * `RESUME` - To resume collecting signal data.
#
# * `UPDATE` - To update a campaign.
#
# @return [Types::UpdateCampaignResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::UpdateCampaignResponse#arn #arn} => String
# * {Types::UpdateCampaignResponse#name #name} => String
# * {Types::UpdateCampaignResponse#status #status} => String
#
# @example Request syntax with placeholder values
#
# resp = client.update_campaign({
# name: "campaignName", # required
# description: "description",
# data_extra_dimensions: ["NodePath"],
# action: "APPROVE", # required, accepts APPROVE, SUSPEND, RESUME, UPDATE
# })
#
# @example Response structure
#
# resp.arn #=> String
# resp.name #=> String
# resp.status #=> String, one of "CREATING", "WAITING_FOR_APPROVAL", "RUNNING", "SUSPENDED"
#
# @overload update_campaign(params = {})
# @param [Hash] params ({})
def update_campaign(params = {}, options = {})
req = build_request(:update_campaign, params)
req.send_request(options)
end
# Updates a decoder manifest.
#
# A decoder manifest can only be updated when the status is `DRAFT`.
# Only `ACTIVE` decoder manifests can be associated with vehicles.
#
# @option params [required, String] :name
# The name of the decoder manifest to update.
#
# @option params [String] :description
# A brief description of the decoder manifest to update.
#
# @option params [Array] :signal_decoders_to_add
# A list of information about decoding additional signals to add to the
# decoder manifest.
#
# @option params [Array] :signal_decoders_to_update
# A list of updated information about decoding signals to update in the
# decoder manifest.
#
# @option params [Array] :signal_decoders_to_remove
# A list of signal decoders to remove from the decoder manifest.
#
# @option params [Array] :network_interfaces_to_add
# A list of information about the network interfaces to add to the
# decoder manifest.
#
# @option params [Array] :network_interfaces_to_update
# A list of information about the network interfaces to update in the
# decoder manifest.
#
# @option params [Array] :network_interfaces_to_remove
# A list of network interfaces to remove from the decoder manifest.
#
# @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.
#
# @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
#
# @example Request syntax with placeholder values
#
# resp = client.update_decoder_manifest({
# name: "resourceName", # required
# description: "description",
# signal_decoders_to_add: [
# {
# fully_qualified_name: "FullyQualifiedName", # required
# type: "CAN_SIGNAL", # required, accepts CAN_SIGNAL, OBD_SIGNAL
# interface_id: "InterfaceId", # required
# can_signal: {
# message_id: 1, # required
# is_big_endian: false, # required
# is_signed: false, # required
# start_bit: 1, # required
# offset: 1.0, # required
# factor: 1.0, # required
# length: 1, # required
# name: "CanSignalName",
# },
# obd_signal: {
# pid_response_length: 1, # required
# service_mode: 1, # required
# pid: 1, # required
# scaling: 1.0, # required
# offset: 1.0, # required
# start_byte: 1, # required
# byte_length: 1, # required
# bit_right_shift: 1,
# bit_mask_length: 1,
# },
# },
# ],
# signal_decoders_to_update: [
# {
# fully_qualified_name: "FullyQualifiedName", # required
# type: "CAN_SIGNAL", # required, accepts CAN_SIGNAL, OBD_SIGNAL
# interface_id: "InterfaceId", # required
# can_signal: {
# message_id: 1, # required
# is_big_endian: false, # required
# is_signed: false, # required
# start_bit: 1, # required
# offset: 1.0, # required
# factor: 1.0, # required
# length: 1, # required
# name: "CanSignalName",
# },
# obd_signal: {
# pid_response_length: 1, # required
# service_mode: 1, # required
# pid: 1, # required
# scaling: 1.0, # required
# offset: 1.0, # required
# start_byte: 1, # required
# byte_length: 1, # required
# bit_right_shift: 1,
# bit_mask_length: 1,
# },
# },
# ],
# signal_decoders_to_remove: ["FullyQualifiedName"],
# network_interfaces_to_add: [
# {
# interface_id: "InterfaceId", # required
# type: "CAN_INTERFACE", # required, accepts CAN_INTERFACE, OBD_INTERFACE
# can_interface: {
# name: "CanInterfaceName", # required
# protocol_name: "ProtocolName",
# protocol_version: "ProtocolVersion",
# },
# obd_interface: {
# name: "ObdInterfaceName", # required
# request_message_id: 1, # required
# obd_standard: "ObdStandard",
# pid_request_interval_seconds: 1,
# dtc_request_interval_seconds: 1,
# use_extended_ids: false,
# has_transmission_ecu: false,
# },
# },
# ],
# network_interfaces_to_update: [
# {
# interface_id: "InterfaceId", # required
# type: "CAN_INTERFACE", # required, accepts CAN_INTERFACE, OBD_INTERFACE
# can_interface: {
# name: "CanInterfaceName", # required
# protocol_name: "ProtocolName",
# protocol_version: "ProtocolVersion",
# },
# obd_interface: {
# name: "ObdInterfaceName", # required
# request_message_id: 1, # required
# obd_standard: "ObdStandard",
# pid_request_interval_seconds: 1,
# dtc_request_interval_seconds: 1,
# use_extended_ids: false,
# has_transmission_ecu: false,
# },
# },
# ],
# network_interfaces_to_remove: ["InterfaceId"],
# status: "ACTIVE", # accepts ACTIVE, DRAFT
# })
#
# @example Response structure
#
# resp.name #=> String
# resp.arn #=> String
#
# @overload update_decoder_manifest(params = {})
# @param [Hash] params ({})
def update_decoder_manifest(params = {}, options = {})
req = build_request(:update_decoder_manifest, params)
req.send_request(options)
end
# Updates the description of an existing fleet.
#
# If the fleet is successfully updated, Amazon Web Services IoT
# FleetWise sends back an HTTP 200 response with an empty HTTP body.
#
#
#
# @option params [required, String] :fleet_id
# The ID of the fleet to update.
#
# @option params [String] :description
# An updated description of the fleet.
#
# @return [Types::UpdateFleetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::UpdateFleetResponse#id #id} => String
# * {Types::UpdateFleetResponse#arn #arn} => String
#
# @example Request syntax with placeholder values
#
# resp = client.update_fleet({
# fleet_id: "fleetId", # required
# description: "description",
# })
#
# @example Response structure
#
# resp.id #=> String
# resp.arn #=> String
#
# @overload update_fleet(params = {})
# @param [Hash] params ({})
def update_fleet(params = {}, options = {})
req = build_request(:update_fleet, params)
req.send_request(options)
end
# Updates a vehicle model (model manifest). If created vehicles are
# associated with a vehicle model, it can't be updated.
#
# @option params [required, String] :name
# The name of the vehicle model to update.
#
# @option params [String] :description
# A brief description of the vehicle model.
#
# @option params [Array] :nodes_to_add
# A list of `fullyQualifiedName` of nodes, which are a general
# abstraction of signals, to add to the vehicle model.
#
# @option params [Array] :nodes_to_remove
# A list of `fullyQualifiedName` of nodes, which are a general
# abstraction of signals, to remove from the vehicle model.
#
# @option params [String] :status
# The state of the vehicle model. If the status is `ACTIVE`, the vehicle
# model can't be edited. If the status is `DRAFT`, you can edit the
# vehicle model.
#
# @return [Types::UpdateModelManifestResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::UpdateModelManifestResponse#name #name} => String
# * {Types::UpdateModelManifestResponse#arn #arn} => String
#
# @example Request syntax with placeholder values
#
# resp = client.update_model_manifest({
# name: "resourceName", # required
# description: "description",
# nodes_to_add: ["NodePath"],
# nodes_to_remove: ["NodePath"],
# status: "ACTIVE", # accepts ACTIVE, DRAFT
# })
#
# @example Response structure
#
# resp.name #=> String
# resp.arn #=> String
#
# @overload update_model_manifest(params = {})
# @param [Hash] params ({})
def update_model_manifest(params = {}, options = {})
req = build_request(:update_model_manifest, params)
req.send_request(options)
end
# Updates a signal catalog.
#
# @option params [required, String] :name
# The name of the signal catalog to update.
#
# @option params [String] :description
# A brief description of the signal catalog to update.
#
# @option params [Array] :nodes_to_add
# A list of information about nodes to add to the signal catalog.
#
# @option params [Array] :nodes_to_update
# A list of information about nodes to update in the signal catalog.
#
# @option params [Array] :nodes_to_remove
# A list of `fullyQualifiedName` of nodes to remove from the signal
# catalog.
#
# @return [Types::UpdateSignalCatalogResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::UpdateSignalCatalogResponse#name #name} => String
# * {Types::UpdateSignalCatalogResponse#arn #arn} => String
#
# @example Request syntax with placeholder values
#
# resp = client.update_signal_catalog({
# name: "resourceName", # required
# description: "description",
# nodes_to_add: [
# {
# branch: {
# fully_qualified_name: "string", # required
# description: "description",
# },
# sensor: {
# fully_qualified_name: "string", # required
# data_type: "INT8", # required, accepts 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
# description: "description",
# unit: "string",
# allowed_values: ["string"],
# min: 1.0,
# max: 1.0,
# },
# actuator: {
# fully_qualified_name: "string", # required
# data_type: "INT8", # required, accepts 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
# description: "description",
# unit: "string",
# allowed_values: ["string"],
# min: 1.0,
# max: 1.0,
# assigned_value: "string",
# },
# attribute: {
# fully_qualified_name: "string", # required
# data_type: "INT8", # required, accepts 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
# description: "description",
# unit: "string",
# allowed_values: ["string"],
# min: 1.0,
# max: 1.0,
# assigned_value: "string",
# default_value: "string",
# },
# },
# ],
# nodes_to_update: [
# {
# branch: {
# fully_qualified_name: "string", # required
# description: "description",
# },
# sensor: {
# fully_qualified_name: "string", # required
# data_type: "INT8", # required, accepts 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
# description: "description",
# unit: "string",
# allowed_values: ["string"],
# min: 1.0,
# max: 1.0,
# },
# actuator: {
# fully_qualified_name: "string", # required
# data_type: "INT8", # required, accepts 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
# description: "description",
# unit: "string",
# allowed_values: ["string"],
# min: 1.0,
# max: 1.0,
# assigned_value: "string",
# },
# attribute: {
# fully_qualified_name: "string", # required
# data_type: "INT8", # required, accepts 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
# description: "description",
# unit: "string",
# allowed_values: ["string"],
# min: 1.0,
# max: 1.0,
# assigned_value: "string",
# default_value: "string",
# },
# },
# ],
# nodes_to_remove: ["NodePath"],
# })
#
# @example Response structure
#
# resp.name #=> String
# resp.arn #=> String
#
# @overload update_signal_catalog(params = {})
# @param [Hash] params ({})
def update_signal_catalog(params = {}, options = {})
req = build_request(:update_signal_catalog, params)
req.send_request(options)
end
# Updates a vehicle.
#
# @option params [required, String] :vehicle_name
# The unique ID of the vehicle to update.
#
# @option params [String] :model_manifest_arn
# The ARN of a vehicle model (model manifest) associated with the
# vehicle.
#
# @option params [String] :decoder_manifest_arn
# The ARN of the decoder manifest associated with this vehicle.
#
# @option params [Hash] :attributes
# Static information about a vehicle in a key-value pair. For example:
#
# `"engineType"`\: `"1.3 L R2"`
#
# @option params [String] :attribute_update_mode
# The method the specified attributes will update the existing
# attributes on the vehicle. Use`Overwite` to replace the vehicle
# attributes with the specified attributes. Or use `Merge` to combine
# all attributes.
#
# This is required if attributes are present in the input.
#
# @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
#
# @example Request syntax with placeholder values
#
# resp = client.update_vehicle({
# vehicle_name: "vehicleName", # required
# model_manifest_arn: "arn",
# decoder_manifest_arn: "arn",
# attributes: {
# "attributeName" => "attributeValue",
# },
# attribute_update_mode: "Overwrite", # accepts Overwrite, Merge
# })
#
# @example Response structure
#
# resp.vehicle_name #=> String
# resp.arn #=> String
#
# @overload update_vehicle(params = {})
# @param [Hash] params ({})
def update_vehicle(params = {}, options = {})
req = build_request(:update_vehicle, params)
req.send_request(options)
end
# @!endgroup
# @param params ({})
# @api private
def build_request(operation_name, params = {})
handlers = @handlers.for(operation_name)
context = Seahorse::Client::RequestContext.new(
operation_name: operation_name,
operation: config.api.operation(operation_name),
client: self,
params: params,
config: config)
context[:gem_name] = 'aws-sdk-iotfleetwise'
context[:gem_version] = '1.4.0'
Seahorse::Client::Request.new(handlers, context)
end
# @api private
# @deprecated
def waiter_names
[]
end
class << self
# @api private
attr_reader :identifier
# @api private
def errors_module
Errors
end
end
end
end