# 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 module Aws::IoTFleetWise module Types # You don't have sufficient permission to perform this action. # # @!attribute [rw] message # @return [String] # class AccessDeniedException < Struct.new( :message) SENSITIVE = [] include Aws::Structure end # A signal that represents a vehicle device such as the engine, heater, # and door locks. Data from an actuator reports the state of a certain # vehicle device. # # Updating actuator data can change the state of a device. For example, # you can turn on or off the heater by updating its actuator data. # # # # @!attribute [rw] fully_qualified_name # The fully qualified name of the actuator. For example, the fully # qualified name of an actuator might be # `Vehicle.Front.Left.Door.Lock`. # @return [String] # # @!attribute [rw] data_type # The specified data type of the actuator. # @return [String] # # @!attribute [rw] description # A brief description of the actuator. # @return [String] # # @!attribute [rw] unit # The scientific unit for the actuator. # @return [String] # # @!attribute [rw] allowed_values # A list of possible values an actuator can take. # @return [Array] # # @!attribute [rw] min # The specified possible minimum value of an actuator. # @return [Float] # # @!attribute [rw] max # The specified possible maximum value of an actuator. # @return [Float] # # @!attribute [rw] assigned_value # A specified value for the actuator. # @return [String] # # @!attribute [rw] deprecation_message # The deprecation message for the node or the branch that was moved or # deleted. # @return [String] # # @!attribute [rw] comment # A comment in addition to the description. # @return [String] # # @!attribute [rw] struct_fully_qualified_name # The fully qualified name of the struct node for the actuator if the # data type of the actuator is `Struct` or `StructArray`. For example, # the struct fully qualified name of an actuator might be # `Vehicle.Door.LockStruct`. # @return [String] # class Actuator < Struct.new( :fully_qualified_name, :data_type, :description, :unit, :allowed_values, :min, :max, :assigned_value, :deprecation_message, :comment, :struct_fully_qualified_name) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] vehicle_name # The unique ID of the vehicle to associate with the fleet. # @return [String] # # @!attribute [rw] fleet_id # The ID of a fleet. # @return [String] # class AssociateVehicleFleetRequest < Struct.new( :vehicle_name, :fleet_id) SENSITIVE = [] include Aws::Structure end class AssociateVehicleFleetResponse < Aws::EmptyStructure; end # A signal that represents static information about the vehicle, such as # engine type or manufacturing date. # # @!attribute [rw] fully_qualified_name # The fully qualified name of the attribute. For example, the fully # qualified name of an attribute might be `Vehicle.Body.Engine.Type`. # @return [String] # # @!attribute [rw] data_type # The specified data type of the attribute. # @return [String] # # @!attribute [rw] description # A brief description of the attribute. # @return [String] # # @!attribute [rw] unit # The scientific unit for the attribute. # @return [String] # # @!attribute [rw] allowed_values # A list of possible values an attribute can be assigned. # @return [Array] # # @!attribute [rw] min # The specified possible minimum value of the attribute. # @return [Float] # # @!attribute [rw] max # The specified possible maximum value of the attribute. # @return [Float] # # @!attribute [rw] assigned_value # A specified value for the attribute. # @return [String] # # @!attribute [rw] default_value # The default value of the attribute. # @return [String] # # @!attribute [rw] deprecation_message # The deprecation message for the node or the branch that was moved or # deleted. # @return [String] # # @!attribute [rw] comment # A comment in addition to the description. # @return [String] # class Attribute < Struct.new( :fully_qualified_name, :data_type, :description, :unit, :allowed_values, :min, :max, :assigned_value, :default_value, :deprecation_message, :comment) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] vehicles # A list of information about each vehicle to create. For more # information, see the API data type. # @return [Array] # class BatchCreateVehicleRequest < Struct.new( :vehicles) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] vehicles # A list of information about a batch of created vehicles. For more # information, see the API data type. # @return [Array] # # @!attribute [rw] errors # A list of information about creation errors, or an empty list if # there aren't any errors. # @return [Array] # class BatchCreateVehicleResponse < Struct.new( :vehicles, :errors) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] vehicles # A list of information about the vehicles to update. For more # information, see the API data type. # @return [Array] # class BatchUpdateVehicleRequest < Struct.new( :vehicles) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] vehicles # A list of information about the batch of updated vehicles. # # This list contains only unique IDs for the vehicles that were # updated. # # # @return [Array] # # @!attribute [rw] errors # A list of information about errors returned while updating a batch # of vehicles, or, if there aren't any errors, an empty list. # @return [Array] # class BatchUpdateVehicleResponse < Struct.new( :vehicles, :errors) SENSITIVE = [] include Aws::Structure end # A group of signals that are defined in a hierarchical structure. # # @!attribute [rw] fully_qualified_name # The fully qualified name of the branch. For example, the fully # qualified name of a branch might be `Vehicle.Body.Engine`. # @return [String] # # @!attribute [rw] description # A brief description of the branch. # @return [String] # # @!attribute [rw] deprecation_message # The deprecation message for the node or the branch that was moved or # deleted. # @return [String] # # @!attribute [rw] comment # A comment in addition to the description. # @return [String] # class Branch < Struct.new( :fully_qualified_name, :description, :deprecation_message, :comment) SENSITIVE = [] include Aws::Structure end # Information about a campaign. # # You can use the API operation to return this information about # multiple created campaigns. # # @!attribute [rw] arn # The Amazon Resource Name (ARN) of a campaign. # @return [String] # # @!attribute [rw] name # The name of a campaign. # @return [String] # # @!attribute [rw] description # The description of the campaign. # @return [String] # # @!attribute [rw] signal_catalog_arn # The ARN of the signal catalog associated with the campaign. # @return [String] # # @!attribute [rw] target_arn # The ARN of a vehicle or fleet to which the campaign is deployed. # @return [String] # # @!attribute [rw] status # The state of a campaign. The status can be one of the following: # # * `CREATING` - Amazon Web Services IoT FleetWise is processing your # request to create the campaign. # # * `WAITING_FOR_APPROVAL` - After a campaign is created, it enters # the `WAITING_FOR_APPROVAL` state. To allow Amazon Web Services IoT # FleetWise to deploy the campaign to the target vehicle or fleet, # use the API operation to approve the campaign. # # * `RUNNING` - The campaign is active. # # * `SUSPENDED` - The campaign is suspended. To resume the campaign, # use the API operation. # @return [String] # # @!attribute [rw] creation_time # The time the campaign was created. # @return [Time] # # @!attribute [rw] last_modification_time # The last time the campaign was modified. # @return [Time] # class CampaignSummary < Struct.new( :arn, :name, :description, :signal_catalog_arn, :target_arn, :status, :creation_time, :last_modification_time) SENSITIVE = [] include Aws::Structure end # Configurations used to create a decoder manifest. # # @!attribute [rw] network_interface # Contains information about a network interface. # @return [String] # # @!attribute [rw] can_dbc_files # A list of DBC files. You can upload only one DBC file for each # network interface and specify up to five (inclusive) files in the # list. The DBC file can be a maximum size of 200 MB. # @return [Array] # # @!attribute [rw] signals_map # Pairs every signal specified in your vehicle model with a signal # decoder. # @return [Hash] # class CanDbcDefinition < Struct.new( :network_interface, :can_dbc_files, :signals_map) SENSITIVE = [] include Aws::Structure end # A single controller area network (CAN) device interface. # # @!attribute [rw] name # The unique name of the interface. # @return [String] # # @!attribute [rw] protocol_name # The name of the communication protocol for the interface. # @return [String] # # @!attribute [rw] protocol_version # The version of the communication protocol for the interface. # @return [String] # class CanInterface < Struct.new( :name, :protocol_name, :protocol_version) SENSITIVE = [] include Aws::Structure end # Information about a single controller area network (CAN) signal and # the messages it receives and transmits. # # @!attribute [rw] message_id # The ID of the message. # @return [Integer] # # @!attribute [rw] is_big_endian # Whether the byte ordering of a CAN message is big-endian. # @return [Boolean] # # @!attribute [rw] is_signed # Whether the message data is specified as a signed value. # @return [Boolean] # # @!attribute [rw] start_bit # Indicates the beginning of the CAN signal. This should always be the # least significant bit (LSB). # # This value might be different from the value in a DBC file. For # little endian signals, `startBit` is the same value as in the DBC # file. For big endian signals in a DBC file, the start bit is the # most significant bit (MSB). You will have to calculate the LSB # instead and pass it as the `startBit`. # @return [Integer] # # @!attribute [rw] offset # The offset used to calculate the signal value. Combined with factor, # the calculation is `value = raw_value * factor + offset`. # @return [Float] # # @!attribute [rw] factor # A multiplier used to decode the CAN message. # @return [Float] # # @!attribute [rw] length # How many bytes of data are in the message. # @return [Integer] # # @!attribute [rw] name # The name of the signal. # @return [String] # class CanSignal < Struct.new( :message_id, :is_big_endian, :is_signed, :start_bit, :offset, :factor, :length, :name) SENSITIVE = [] include Aws::Structure end # The log delivery option to send data to Amazon CloudWatch Logs. # # @!attribute [rw] log_type # The type of log to send data to Amazon CloudWatch Logs. # @return [String] # # @!attribute [rw] log_group_name # The Amazon CloudWatch Logs group the operation sends data to. # @return [String] # class CloudWatchLogDeliveryOptions < Struct.new( :log_type, :log_group_name) SENSITIVE = [] include Aws::Structure end # Specifies what data to collect and how often or when to collect it. # # @note CollectionScheme is a union - when making an API calls you must set exactly one of the members. # # @note CollectionScheme is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of CollectionScheme corresponding to the set member. # # @!attribute [rw] time_based_collection_scheme # Information about a collection scheme that uses a time period to # decide how often to collect data. # @return [Types::TimeBasedCollectionScheme] # # @!attribute [rw] condition_based_collection_scheme # Information about a collection scheme that uses a simple logical # expression to recognize what data to collect. # @return [Types::ConditionBasedCollectionScheme] # class CollectionScheme < Struct.new( :time_based_collection_scheme, :condition_based_collection_scheme, :unknown) SENSITIVE = [] include Aws::Structure include Aws::Structure::Union class TimeBasedCollectionScheme < CollectionScheme; end class ConditionBasedCollectionScheme < CollectionScheme; end class Unknown < CollectionScheme; end end # Information about a collection scheme that uses a simple logical # expression to recognize what data to collect. # # @!attribute [rw] expression # The logical expression used to recognize what data to collect. For # example, `` $variable.`Vehicle.OutsideAirTemperature` >= 105.0 ``. # @return [String] # # @!attribute [rw] minimum_trigger_interval_ms # The minimum duration of time between two triggering events to # collect data, in milliseconds. # # If a signal changes often, you might want to collect data at a # slower rate. # # # @return [Integer] # # @!attribute [rw] trigger_mode # Whether to collect data for all triggering events (`ALWAYS`). # Specify (`RISING_EDGE`), or specify only when the condition first # evaluates to false. For example, triggering on "AirbagDeployed"; # Users aren't interested on triggering when the airbag is already # exploded; they only care about the change from not deployed => # deployed. # @return [String] # # @!attribute [rw] condition_language_version # Specifies the version of the conditional expression language. # @return [Integer] # class ConditionBasedCollectionScheme < Struct.new( :expression, :minimum_trigger_interval_ms, :trigger_mode, :condition_language_version) SENSITIVE = [] include Aws::Structure end # The request has conflicting operations. This can occur if you're # trying to perform more than one operation on the same resource at the # same time. # # @!attribute [rw] message # @return [String] # # @!attribute [rw] resource # The resource on which there are conflicting operations. # @return [String] # # @!attribute [rw] resource_type # The type of resource on which there are conflicting operations.. # @return [String] # class ConflictException < Struct.new( :message, :resource, :resource_type) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] name # The name of the campaign to create. # @return [String] # # @!attribute [rw] description # An optional description of the campaign to help identify its # purpose. # @return [String] # # @!attribute [rw] signal_catalog_arn # The Amazon Resource Name (ARN) of the signal catalog to associate # with the campaign. # @return [String] # # @!attribute [rw] target_arn # The ARN of the vehicle or fleet to deploy a campaign to. # @return [String] # # @!attribute [rw] 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` # @return [Time] # # @!attribute [rw] expiry_time # (Optional) The time the campaign expires, in seconds since epoch # (January 1, 1970 at midnight UTC time). Vehicle data isn't # collected after the campaign expires. # # Default: 253402214400 (December 31, 9999, 00:00:00 UTC) # @return [Time] # # @!attribute [rw] 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` # @return [Integer] # # @!attribute [rw] 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` # @return [String] # # @!attribute [rw] 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` # @return [String] # # @!attribute [rw] 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` # @return [String] # # @!attribute [rw] 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` # @return [Integer] # # @!attribute [rw] signals_to_collect # (Optional) A list of information about signals to collect. # @return [Array] # # @!attribute [rw] collection_scheme # The data collection scheme associated with the campaign. You can # specify a scheme that collects data based on time or an event. # @return [Types::CollectionScheme] # # @!attribute [rw] 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 # @return [Array] # # @!attribute [rw] tags # Metadata that can be used to manage the campaign. # @return [Array] # # @!attribute [rw] data_destination_configs # The destination where the campaign sends data. You can choose to # send data to be stored in Amazon S3 or Amazon Timestream. # # Amazon S3 optimizes the cost of data storage and provides additional # mechanisms to use vehicle data, such as data lakes, centralized data # storage, data processing pipelines, and analytics. Amazon Web # Services IoT FleetWise supports at-least-once file delivery to S3. # Your vehicle data is stored on multiple Amazon Web Services IoT # FleetWise servers for redundancy and high availability. # # You can use Amazon Timestream to access and analyze time series # data, and Timestream to query vehicle data so that you can identify # trends and patterns. # @return [Array] # class CreateCampaignRequest < Struct.new( :name, :description, :signal_catalog_arn, :target_arn, :start_time, :expiry_time, :post_trigger_collection_duration, :diagnostics_mode, :spooling_mode, :compression, :priority, :signals_to_collect, :collection_scheme, :data_extra_dimensions, :tags, :data_destination_configs) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] name # The name of the created campaign. # @return [String] # # @!attribute [rw] arn # The ARN of the created campaign. # @return [String] # class CreateCampaignResponse < Struct.new( :name, :arn) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] name # The unique name of the decoder manifest to create. # @return [String] # # @!attribute [rw] description # A brief description of the decoder manifest. # @return [String] # # @!attribute [rw] model_manifest_arn # The Amazon Resource Name (ARN) of the vehicle model (model # manifest). # @return [String] # # @!attribute [rw] signal_decoders # A list of information about signal decoders. # @return [Array] # # @!attribute [rw] network_interfaces # A list of information about available network interfaces. # @return [Array] # # @!attribute [rw] tags # Metadata that can be used to manage the decoder manifest. # @return [Array] # class CreateDecoderManifestRequest < Struct.new( :name, :description, :model_manifest_arn, :signal_decoders, :network_interfaces, :tags) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] name # The name of the created decoder manifest. # @return [String] # # @!attribute [rw] arn # The ARN of the created decoder manifest. # @return [String] # class CreateDecoderManifestResponse < Struct.new( :name, :arn) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] fleet_id # The unique ID of the fleet to create. # @return [String] # # @!attribute [rw] description # A brief description of the fleet to create. # @return [String] # # @!attribute [rw] signal_catalog_arn # The Amazon Resource Name (ARN) of a signal catalog. # @return [String] # # @!attribute [rw] tags # Metadata that can be used to manage the fleet. # @return [Array] # class CreateFleetRequest < Struct.new( :fleet_id, :description, :signal_catalog_arn, :tags) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] id # The ID of the created fleet. # @return [String] # # @!attribute [rw] arn # The ARN of the created fleet. # @return [String] # class CreateFleetResponse < Struct.new( :id, :arn) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] name # The name of the vehicle model to create. # @return [String] # # @!attribute [rw] description # A brief description of the vehicle model. # @return [String] # # @!attribute [rw] nodes # A list of nodes, which are a general abstraction of signals. # @return [Array] # # @!attribute [rw] signal_catalog_arn # The Amazon Resource Name (ARN) of a signal catalog. # @return [String] # # @!attribute [rw] tags # Metadata that can be used to manage the vehicle model. # @return [Array] # class CreateModelManifestRequest < Struct.new( :name, :description, :nodes, :signal_catalog_arn, :tags) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] name # The name of the created vehicle model. # @return [String] # # @!attribute [rw] arn # The ARN of the created vehicle model. # @return [String] # class CreateModelManifestResponse < Struct.new( :name, :arn) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] name # The name of the signal catalog to create. # @return [String] # # @!attribute [rw] description # A brief description of the signal catalog. # @return [String] # # @!attribute [rw] nodes # A list of information about nodes, which are a general abstraction # of signals. For more information, see the API data type. # @return [Array] # # @!attribute [rw] tags # Metadata that can be used to manage the signal catalog. # @return [Array] # class CreateSignalCatalogRequest < Struct.new( :name, :description, :nodes, :tags) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] name # The name of the created signal catalog. # @return [String] # # @!attribute [rw] arn # The ARN of the created signal catalog. # @return [String] # class CreateSignalCatalogResponse < Struct.new( :name, :arn) SENSITIVE = [] include Aws::Structure end # An HTTP error resulting from creating a vehicle. # # @!attribute [rw] vehicle_name # The ID of the vehicle with the error. # @return [String] # # @!attribute [rw] code # An HTTP error code. # @return [String] # # @!attribute [rw] message # A description of the HTTP error. # @return [String] # class CreateVehicleError < Struct.new( :vehicle_name, :code, :message) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] vehicle_name # The unique ID of the vehicle to create. # @return [String] # # @!attribute [rw] model_manifest_arn # The Amazon Resource Name ARN of a vehicle model. # @return [String] # # @!attribute [rw] decoder_manifest_arn # The ARN of a decoder manifest. # @return [String] # # @!attribute [rw] attributes # Static information about a vehicle in a key-value pair. For example: # `"engineType"` : `"1.3 L R2"` # # A campaign must include the keys (attribute names) in # `dataExtraDimensions` for them to display in Amazon Timestream. # @return [Hash] # # @!attribute [rw] 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: `` # @return [String] # # @!attribute [rw] tags # Metadata that can be used to manage the vehicle. # @return [Array] # class CreateVehicleRequest < Struct.new( :vehicle_name, :model_manifest_arn, :decoder_manifest_arn, :attributes, :association_behavior, :tags) SENSITIVE = [] include Aws::Structure end # Information about the vehicle to create. # # @!attribute [rw] vehicle_name # The unique ID of the vehicle to create. # @return [String] # # @!attribute [rw] model_manifest_arn # The ARN of the vehicle model (model manifest) to create the vehicle # from. # @return [String] # # @!attribute [rw] decoder_manifest_arn # The Amazon Resource Name (ARN) of a decoder manifest associated with # the vehicle to create. # @return [String] # # @!attribute [rw] attributes # Static information about a vehicle in a key-value pair. For example: # `"engine Type"` : `"v6"` # @return [Hash] # # @!attribute [rw] association_behavior # An option to create a new Amazon Web Services IoT thing when # creating a vehicle, or to validate an existing thing as a vehicle. # @return [String] # # @!attribute [rw] tags # Metadata which can be used to manage the vehicle. # @return [Array] # class CreateVehicleRequestItem < Struct.new( :vehicle_name, :model_manifest_arn, :decoder_manifest_arn, :attributes, :association_behavior, :tags) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] vehicle_name # The unique ID of the created vehicle. # @return [String] # # @!attribute [rw] arn # The ARN of the created vehicle. # @return [String] # # @!attribute [rw] thing_arn # The ARN of a created or validated Amazon Web Services IoT thing. # @return [String] # class CreateVehicleResponse < Struct.new( :vehicle_name, :arn, :thing_arn) SENSITIVE = [] include Aws::Structure end # Information about a created vehicle. # # @!attribute [rw] vehicle_name # The unique ID of the vehicle to create. # @return [String] # # @!attribute [rw] arn # The ARN of the created vehicle. # @return [String] # # @!attribute [rw] thing_arn # The ARN of a created or validated Amazon Web Services IoT thing. # @return [String] # class CreateVehicleResponseItem < Struct.new( :vehicle_name, :arn, :thing_arn) SENSITIVE = [] include Aws::Structure end # Represents a member of the complex data structure. The data type of # the property can be either primitive or another `struct`. # # @!attribute [rw] fully_qualified_name # The fully qualified name of the custom property. For example, the # fully qualified name of a custom property might be # `ComplexDataTypes.VehicleDataTypes.SVMCamera.FPS`. # @return [String] # # @!attribute [rw] data_type # The data type for the custom property. # @return [String] # # @!attribute [rw] data_encoding # Indicates whether the property is binary data. # @return [String] # # @!attribute [rw] description # A brief description of the custom property. # @return [String] # # @!attribute [rw] deprecation_message # The deprecation message for the node or the branch that was moved or # deleted. # @return [String] # # @!attribute [rw] comment # A comment in addition to the description. # @return [String] # # @!attribute [rw] struct_fully_qualified_name # The fully qualified name of the struct node for the custom property # if the data type of the custom property is `Struct` or # `StructArray`. # @return [String] # class CustomProperty < Struct.new( :fully_qualified_name, :data_type, :data_encoding, :description, :deprecation_message, :comment, :struct_fully_qualified_name) SENSITIVE = [] include Aws::Structure end # The custom structure represents a complex or higher-order data # structure. # # @!attribute [rw] fully_qualified_name # The fully qualified name of the custom structure. For example, the # fully qualified name of a custom structure might be # `ComplexDataTypes.VehicleDataTypes.SVMCamera`. # @return [String] # # @!attribute [rw] description # A brief description of the custom structure. # @return [String] # # @!attribute [rw] deprecation_message # The deprecation message for the node or the branch that was moved or # deleted. # @return [String] # # @!attribute [rw] comment # A comment in addition to the description. # @return [String] # class CustomStruct < Struct.new( :fully_qualified_name, :description, :deprecation_message, :comment) SENSITIVE = [] include Aws::Structure end # The destination where the Amazon Web Services IoT FleetWise campaign # sends data. You can send data to be stored in Amazon S3 or Amazon # Timestream. # # @note DataDestinationConfig is a union - when making an API calls you must set exactly one of the members. # # @note DataDestinationConfig is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of DataDestinationConfig corresponding to the set member. # # @!attribute [rw] s3_config # The Amazon S3 bucket where the Amazon Web Services IoT FleetWise # campaign sends data. # @return [Types::S3Config] # # @!attribute [rw] timestream_config # The Amazon Timestream table where the campaign sends data. # @return [Types::TimestreamConfig] # class DataDestinationConfig < Struct.new( :s3_config, :timestream_config, :unknown) SENSITIVE = [] include Aws::Structure include Aws::Structure::Union class S3Config < DataDestinationConfig; end class TimestreamConfig < DataDestinationConfig; end class Unknown < DataDestinationConfig; end end # Information about a created decoder manifest. You can use the API # operation to return this information about multiple decoder manifests. # # @!attribute [rw] name # The name of the decoder manifest. # @return [String] # # @!attribute [rw] arn # The ARN of a vehicle model (model manifest) associated with the # decoder manifest. # @return [String] # # @!attribute [rw] model_manifest_arn # The ARN of a vehicle model (model manifest) associated with the # decoder manifest. # @return [String] # # @!attribute [rw] description # A brief description of the decoder manifest. # @return [String] # # @!attribute [rw] status # The state of the decoder manifest. If the status is `ACTIVE`, the # decoder manifest can't be edited. If the status is marked `DRAFT`, # you can edit the decoder manifest. # @return [String] # # @!attribute [rw] creation_time # The time the decoder manifest was created in seconds since epoch # (January 1, 1970 at midnight UTC time). # @return [Time] # # @!attribute [rw] last_modification_time # The time the decoder manifest was last updated in seconds since # epoch (January 1, 1970 at midnight UTC time). # @return [Time] # # @!attribute [rw] message # The detailed message for the decoder manifest. When a decoder # manifest is in an `INVALID` status, the message contains detailed # reason and help information. # @return [String] # class DecoderManifestSummary < Struct.new( :name, :arn, :model_manifest_arn, :description, :status, :creation_time, :last_modification_time, :message) SENSITIVE = [] include Aws::Structure end # The request couldn't be completed because it contains signal decoders # with one or more validation errors. # # @!attribute [rw] invalid_signals # The request couldn't be completed because of invalid signals in the # request. # @return [Array] # # @!attribute [rw] invalid_network_interfaces # The request couldn't be completed because of invalid network # interfaces in the request. # @return [Array] # # @!attribute [rw] message # @return [String] # class DecoderManifestValidationException < Struct.new( :invalid_signals, :invalid_network_interfaces, :message) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] name # The name of the campaign to delete. # @return [String] # class DeleteCampaignRequest < Struct.new( :name) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] name # The name of the deleted campaign. # @return [String] # # @!attribute [rw] arn # The Amazon Resource Name (ARN) of the deleted campaign. # # The ARN isn’t returned if a campaign doesn’t exist. # # # @return [String] # class DeleteCampaignResponse < Struct.new( :name, :arn) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] name # The name of the decoder manifest to delete. # @return [String] # class DeleteDecoderManifestRequest < Struct.new( :name) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] name # The name of the deleted decoder manifest. # @return [String] # # @!attribute [rw] arn # The Amazon Resource Name (ARN) of the deleted decoder manifest. # @return [String] # class DeleteDecoderManifestResponse < Struct.new( :name, :arn) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] fleet_id # The ID of the fleet to delete. # @return [String] # class DeleteFleetRequest < Struct.new( :fleet_id) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] id # The ID of the deleted fleet. # @return [String] # # @!attribute [rw] arn # The Amazon Resource Name (ARN) of the deleted fleet. # @return [String] # class DeleteFleetResponse < Struct.new( :id, :arn) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] name # The name of the model manifest to delete. # @return [String] # class DeleteModelManifestRequest < Struct.new( :name) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] name # The name of the deleted model manifest. # @return [String] # # @!attribute [rw] arn # The Amazon Resource Name (ARN) of the deleted model manifest. # @return [String] # class DeleteModelManifestResponse < Struct.new( :name, :arn) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] name # The name of the signal catalog to delete. # @return [String] # class DeleteSignalCatalogRequest < Struct.new( :name) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] name # The name of the deleted signal catalog. # @return [String] # # @!attribute [rw] arn # The Amazon Resource Name (ARN) of the deleted signal catalog. # @return [String] # class DeleteSignalCatalogResponse < Struct.new( :name, :arn) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] vehicle_name # The ID of the vehicle to delete. # @return [String] # class DeleteVehicleRequest < Struct.new( :vehicle_name) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] vehicle_name # The ID of the deleted vehicle. # @return [String] # # @!attribute [rw] arn # The Amazon Resource Name (ARN) of the deleted vehicle. # @return [String] # class DeleteVehicleResponse < Struct.new( :vehicle_name, :arn) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] vehicle_name # The unique ID of the vehicle to disassociate from the fleet. # @return [String] # # @!attribute [rw] fleet_id # The unique ID of a fleet. # @return [String] # class DisassociateVehicleFleetRequest < Struct.new( :vehicle_name, :fleet_id) SENSITIVE = [] include Aws::Structure end class DisassociateVehicleFleetResponse < Aws::EmptyStructure; end # Information about a fleet. # # You can use the API operation to return this information about # multiple fleets. # # @!attribute [rw] id # The unique ID of the fleet. # @return [String] # # @!attribute [rw] arn # The Amazon Resource Name (ARN) of the fleet. # @return [String] # # @!attribute [rw] description # A brief description of the fleet. # @return [String] # # @!attribute [rw] signal_catalog_arn # The ARN of the signal catalog associated with the fleet. # @return [String] # # @!attribute [rw] creation_time # The time the fleet was created, in seconds since epoch (January 1, # 1970 at midnight UTC time). # @return [Time] # # @!attribute [rw] last_modification_time # The time the fleet was last updated in seconds since epoch (January # 1, 1970 at midnight UTC time). # @return [Time] # class FleetSummary < Struct.new( :id, :arn, :description, :signal_catalog_arn, :creation_time, :last_modification_time) SENSITIVE = [] include Aws::Structure end # [Vehicle Signal Specification (VSS)][1] is a precise language used to # describe and model signals in vehicle networks. The JSON file collects # signal specificiations in a VSS format. # # # # [1]: https://www.w3.org/auto/wg/wiki/Vehicle_Signal_Specification_(VSS)/Vehicle_Data_Spec # # @note FormattedVss is a union - when making an API calls you must set exactly one of the members. # # @!attribute [rw] vss_json # Provides the VSS in JSON format. # @return [String] # class FormattedVss < Struct.new( :vss_json, :unknown) SENSITIVE = [] include Aws::Structure include Aws::Structure::Union class VssJson < FormattedVss; end class Unknown < FormattedVss; end end # @!attribute [rw] name # The name of the campaign to retrieve information about. # @return [String] # class GetCampaignRequest < Struct.new( :name) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] name # The name of the campaign. # @return [String] # # @!attribute [rw] arn # The Amazon Resource Name (ARN) of the campaign. # @return [String] # # @!attribute [rw] description # The description of the campaign. # @return [String] # # @!attribute [rw] signal_catalog_arn # The ARN of a signal catalog. # @return [String] # # @!attribute [rw] target_arn # The ARN of the vehicle or the fleet targeted by the campaign. # @return [String] # # @!attribute [rw] status # The state of the campaign. The status can be one of: `CREATING`, # `WAITING_FOR_APPROVAL`, `RUNNING`, and `SUSPENDED`. # @return [String] # # @!attribute [rw] start_time # The time, in milliseconds, to deliver a campaign after it was # approved. # @return [Time] # # @!attribute [rw] expiry_time # 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. # @return [Time] # # @!attribute [rw] post_trigger_collection_duration # How long (in seconds) to collect raw data after a triggering event # initiates the collection. # @return [Integer] # # @!attribute [rw] diagnostics_mode # Option for a vehicle to send diagnostic trouble codes to Amazon Web # Services IoT FleetWise. # @return [String] # # @!attribute [rw] spooling_mode # 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. # @return [String] # # @!attribute [rw] compression # Whether to compress signals before transmitting data to Amazon Web # Services IoT FleetWise. If `OFF` is specified, the signals aren't # compressed. If it's not specified, `SNAPPY` is used. # @return [String] # # @!attribute [rw] priority # 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. # @return [Integer] # # @!attribute [rw] signals_to_collect # Information about a list of signals to collect data on. # @return [Array] # # @!attribute [rw] collection_scheme # Information about the data collection scheme associated with the # campaign. # @return [Types::CollectionScheme] # # @!attribute [rw] data_extra_dimensions # A list of vehicle attributes associated with the campaign. # @return [Array] # # @!attribute [rw] creation_time # The time the campaign was created in seconds since epoch (January 1, # 1970 at midnight UTC time). # @return [Time] # # @!attribute [rw] last_modification_time # The last time the campaign was modified. # @return [Time] # # @!attribute [rw] data_destination_configs # The destination where the campaign sends data. You can choose to # send data to be stored in Amazon S3 or Amazon Timestream. # # Amazon S3 optimizes the cost of data storage and provides additional # mechanisms to use vehicle data, such as data lakes, centralized data # storage, data processing pipelines, and analytics. # # You can use Amazon Timestream to access and analyze time series # data, and Timestream to query vehicle data so that you can identify # trends and patterns. # @return [Array] # class GetCampaignResponse < Struct.new( :name, :arn, :description, :signal_catalog_arn, :target_arn, :status, :start_time, :expiry_time, :post_trigger_collection_duration, :diagnostics_mode, :spooling_mode, :compression, :priority, :signals_to_collect, :collection_scheme, :data_extra_dimensions, :creation_time, :last_modification_time, :data_destination_configs) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] name # The name of the decoder manifest to retrieve information about. # @return [String] # class GetDecoderManifestRequest < Struct.new( :name) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] name # The name of the decoder manifest. # @return [String] # # @!attribute [rw] arn # The Amazon Resource Name (ARN) of the decoder manifest. # @return [String] # # @!attribute [rw] description # A brief description of the decoder manifest. # @return [String] # # @!attribute [rw] model_manifest_arn # The ARN of a vehicle model (model manifest) associated with the # decoder manifest. # @return [String] # # @!attribute [rw] status # The state of the decoder manifest. If the status is `ACTIVE`, the # decoder manifest can't be edited. If the status is marked `DRAFT`, # you can edit the decoder manifest. # @return [String] # # @!attribute [rw] creation_time # The time the decoder manifest was created in seconds since epoch # (January 1, 1970 at midnight UTC time). # @return [Time] # # @!attribute [rw] last_modification_time # The time the decoder manifest was last updated in seconds since # epoch (January 1, 1970 at midnight UTC time). # @return [Time] # # @!attribute [rw] message # The detailed message for the decoder manifest. When a decoder # manifest is in an `INVALID` status, the message contains detailed # reason and help information. # @return [String] # class GetDecoderManifestResponse < Struct.new( :name, :arn, :description, :model_manifest_arn, :status, :creation_time, :last_modification_time, :message) SENSITIVE = [] include Aws::Structure end # @api private # class GetEncryptionConfigurationRequest < Aws::EmptyStructure; end # @!attribute [rw] kms_key_id # The ID of the KMS key that is used for encryption. # @return [String] # # @!attribute [rw] encryption_status # The encryption status. # @return [String] # # @!attribute [rw] encryption_type # The type of encryption. Set to `KMS_BASED_ENCRYPTION` to use a KMS # key that you own and manage. Set to `FLEETWISE_DEFAULT_ENCRYPTION` # to use an Amazon Web Services managed key that is owned by the # Amazon Web Services IoT FleetWise service account. # @return [String] # # @!attribute [rw] error_message # The error message that describes why encryption settings couldn't # be configured, if applicable. # @return [String] # # @!attribute [rw] creation_time # The time when encryption was configured in seconds since epoch # (January 1, 1970 at midnight UTC time). # @return [Time] # # @!attribute [rw] last_modification_time # The time when encryption was last updated in seconds since epoch # (January 1, 1970 at midnight UTC time). # @return [Time] # class GetEncryptionConfigurationResponse < Struct.new( :kms_key_id, :encryption_status, :encryption_type, :error_message, :creation_time, :last_modification_time) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] fleet_id # The ID of the fleet to retrieve information about. # @return [String] # class GetFleetRequest < Struct.new( :fleet_id) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] id # The ID of the fleet. # @return [String] # # @!attribute [rw] arn # The Amazon Resource Name (ARN) of the fleet. # @return [String] # # @!attribute [rw] description # A brief description of the fleet. # @return [String] # # @!attribute [rw] signal_catalog_arn # The ARN of a signal catalog associated with the fleet. # @return [String] # # @!attribute [rw] creation_time # The time the fleet was created in seconds since epoch (January 1, # 1970 at midnight UTC time). # @return [Time] # # @!attribute [rw] last_modification_time # The time the fleet was last updated, in seconds since epoch (January # 1, 1970 at midnight UTC time). # @return [Time] # class GetFleetResponse < Struct.new( :id, :arn, :description, :signal_catalog_arn, :creation_time, :last_modification_time) SENSITIVE = [] include Aws::Structure end # @api private # class GetLoggingOptionsRequest < Aws::EmptyStructure; end # @!attribute [rw] cloud_watch_log_delivery # Returns information about log delivery to Amazon CloudWatch Logs. # @return [Types::CloudWatchLogDeliveryOptions] # class GetLoggingOptionsResponse < Struct.new( :cloud_watch_log_delivery) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] name # The name of the vehicle model to retrieve information about. # @return [String] # class GetModelManifestRequest < Struct.new( :name) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] name # The name of the vehicle model. # @return [String] # # @!attribute [rw] arn # The Amazon Resource Name (ARN) of the vehicle model. # @return [String] # # @!attribute [rw] description # A brief description of the vehicle model. # @return [String] # # @!attribute [rw] signal_catalog_arn # The ARN of the signal catalog associated with the vehicle model. # @return [String] # # @!attribute [rw] status # The state of the vehicle model. If the status is `ACTIVE`, the # vehicle model can't be edited. You can edit the vehicle model if # the status is marked `DRAFT`. # @return [String] # # @!attribute [rw] creation_time # The time the vehicle model was created, in seconds since epoch # (January 1, 1970 at midnight UTC time). # @return [Time] # # @!attribute [rw] last_modification_time # The last time the vehicle model was modified. # @return [Time] # class GetModelManifestResponse < Struct.new( :name, :arn, :description, :signal_catalog_arn, :status, :creation_time, :last_modification_time) SENSITIVE = [] include Aws::Structure end # @api private # class GetRegisterAccountStatusRequest < Aws::EmptyStructure; end # @!attribute [rw] customer_account_id # The unique ID of the Amazon Web Services account, provided at # account creation. # @return [String] # # @!attribute [rw] account_status # The status of registering your account and resources. The status can # be one of: # # * `REGISTRATION_SUCCESS` - The Amazon Web Services resource is # successfully registered. # # * `REGISTRATION_PENDING` - Amazon Web Services IoT FleetWise is # processing the registration request. This process takes # approximately five minutes to complete. # # * `REGISTRATION_FAILURE` - Amazon Web Services IoT FleetWise can't # register the AWS resource. Try again later. # @return [String] # # @!attribute [rw] timestream_registration_response # Information about the registered Amazon Timestream resources or # errors, if any. # @return [Types::TimestreamRegistrationResponse] # # @!attribute [rw] iam_registration_response # Information about the registered IAM resources or errors, if any. # @return [Types::IamRegistrationResponse] # # @!attribute [rw] creation_time # The time the account was registered, in seconds since epoch (January # 1, 1970 at midnight UTC time). # @return [Time] # # @!attribute [rw] last_modification_time # The time this registration was last updated, in seconds since epoch # (January 1, 1970 at midnight UTC time). # @return [Time] # class GetRegisterAccountStatusResponse < Struct.new( :customer_account_id, :account_status, :timestream_registration_response, :iam_registration_response, :creation_time, :last_modification_time) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] name # The name of the signal catalog to retrieve information about. # @return [String] # class GetSignalCatalogRequest < Struct.new( :name) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] name # The name of the signal catalog. # @return [String] # # @!attribute [rw] arn # The Amazon Resource Name (ARN) of the signal catalog. # @return [String] # # @!attribute [rw] description # A brief description of the signal catalog. # @return [String] # # @!attribute [rw] node_counts # The total number of network nodes specified in a signal catalog. # @return [Types::NodeCounts] # # @!attribute [rw] creation_time # The time the signal catalog was created in seconds since epoch # (January 1, 1970 at midnight UTC time). # @return [Time] # # @!attribute [rw] last_modification_time # The last time the signal catalog was modified. # @return [Time] # class GetSignalCatalogResponse < Struct.new( :name, :arn, :description, :node_counts, :creation_time, :last_modification_time) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] vehicle_name # The ID of the vehicle to retrieve information about. # @return [String] # class GetVehicleRequest < Struct.new( :vehicle_name) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] vehicle_name # The ID of the vehicle. # @return [String] # # @!attribute [rw] arn # The Amazon Resource Name (ARN) of the vehicle to retrieve # information about. # @return [String] # # @!attribute [rw] model_manifest_arn # The ARN of a vehicle model (model manifest) associated with the # vehicle. # @return [String] # # @!attribute [rw] decoder_manifest_arn # The ARN of a decoder manifest associated with the vehicle. # @return [String] # # @!attribute [rw] attributes # Static information about a vehicle in a key-value pair. For example: # # `"engineType"` : `"1.3 L R2"` # @return [Hash] # # @!attribute [rw] creation_time # The time the vehicle was created in seconds since epoch (January 1, # 1970 at midnight UTC time). # @return [Time] # # @!attribute [rw] last_modification_time # The time the vehicle was last updated in seconds since epoch # (January 1, 1970 at midnight UTC time). # @return [Time] # class GetVehicleResponse < Struct.new( :vehicle_name, :arn, :model_manifest_arn, :decoder_manifest_arn, :attributes, :creation_time, :last_modification_time) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] 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. # @return [String] # # @!attribute [rw] max_results # The maximum number of items to return, between 1 and 100, inclusive. # @return [Integer] # # @!attribute [rw] vehicle_name # The ID of the vehicle to retrieve information about. # @return [String] # class GetVehicleStatusRequest < Struct.new( :next_token, :max_results, :vehicle_name) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] campaigns # Lists information about the state of the vehicle with deployed # campaigns. # @return [Array] # # @!attribute [rw] next_token # The token to retrieve the next set of results, or `null` if there # are no more results. # @return [String] # class GetVehicleStatusResponse < Struct.new( :campaigns, :next_token) SENSITIVE = [] include Aws::Structure end # Information about registering an Identity and Access Management (IAM) # resource so Amazon Web Services IoT FleetWise edge agent software can # transfer your vehicle data to Amazon Timestream. # # @!attribute [rw] role_arn # The Amazon Resource Name (ARN) of the IAM role to register. # @return [String] # # @!attribute [rw] registration_status # The status of registering your IAM resource. The status can be one # of `REGISTRATION_SUCCESS`, `REGISTRATION_PENDING`, # `REGISTRATION_FAILURE`. # @return [String] # # @!attribute [rw] error_message # A message associated with a registration error. # @return [String] # class IamRegistrationResponse < Struct.new( :role_arn, :registration_status, :error_message) SENSITIVE = [] include Aws::Structure end # The IAM resource that enables Amazon Web Services IoT FleetWise edge # agent software to send data to Amazon Timestream. # # For more information, see [IAM roles][1] in the *Identity and Access # Management User Guide*. # # # # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html # # @!attribute [rw] role_arn # The Amazon Resource Name (ARN) of the IAM resource that allows # Amazon Web Services IoT FleetWise to send data to Amazon Timestream. # For example, `arn:aws:iam::123456789012:role/SERVICE-ROLE-ARN`. # @return [String] # class IamResources < Struct.new( :role_arn) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] name # The name of the decoder manifest to import. # @return [String] # # @!attribute [rw] network_file_definitions # The file to load into an Amazon Web Services account. # @return [Array] # class ImportDecoderManifestRequest < Struct.new( :name, :network_file_definitions) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] name # The name of the imported decoder manifest. # @return [String] # # @!attribute [rw] arn # The Amazon Resource Name (ARN) of the decoder manifest that was # imported. # @return [String] # class ImportDecoderManifestResponse < Struct.new( :name, :arn) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] name # The name of the signal catalog to import. # @return [String] # # @!attribute [rw] description # A brief description of the signal catalog. # @return [String] # # @!attribute [rw] vss # The contents of the Vehicle Signal Specification (VSS) # configuration. VSS is a precise language used to describe and model # signals in vehicle networks. # @return [Types::FormattedVss] # # @!attribute [rw] tags # Metadata that can be used to manage the signal catalog. # @return [Array] # class ImportSignalCatalogRequest < Struct.new( :name, :description, :vss, :tags) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] name # The name of the imported signal catalog. # @return [String] # # @!attribute [rw] arn # The Amazon Resource Name (ARN) of the imported signal catalog. # @return [String] # class ImportSignalCatalogResponse < Struct.new( :name, :arn) SENSITIVE = [] include Aws::Structure end # The request couldn't be completed because the server temporarily # failed. # # @!attribute [rw] message # @return [String] # # @!attribute [rw] retry_after_seconds # The number of seconds to wait before retrying the command. # @return [Integer] # class InternalServerException < Struct.new( :message, :retry_after_seconds) SENSITIVE = [] include Aws::Structure end # A reason a vehicle network interface isn't valid. # # @!attribute [rw] interface_id # The ID of the interface that isn't valid. # @return [String] # # @!attribute [rw] reason # A message about why the interface isn't valid. # @return [String] # class InvalidNetworkInterface < Struct.new( :interface_id, :reason) SENSITIVE = [] include Aws::Structure end # The specified node type doesn't match the expected node type for a # node. You can specify the node type as branch, sensor, actuator, or # attribute. # # @!attribute [rw] invalid_nodes # The specified node type isn't valid. # @return [Array] # # @!attribute [rw] reason # The reason the node validation failed. # @return [String] # # @!attribute [rw] message # @return [String] # class InvalidNodeException < Struct.new( :invalid_nodes, :reason, :message) SENSITIVE = [] include Aws::Structure end # A reason that a signal isn't valid. # # @!attribute [rw] name # The name of the signal that isn't valid. # @return [String] # # @!attribute [rw] reason # A message about why the signal isn't valid. # @return [String] # class InvalidSignal < Struct.new( :name, :reason) SENSITIVE = [] include Aws::Structure end # A reason that a signal decoder isn't valid. # # @!attribute [rw] name # The name of a signal decoder that isn't valid. # @return [String] # # @!attribute [rw] reason # A message about why the signal decoder isn't valid. # @return [String] # # @!attribute [rw] hint # The possible cause for the invalid signal decoder. # @return [String] # class InvalidSignalDecoder < Struct.new( :name, :reason, :hint) SENSITIVE = [] include Aws::Structure end # The request couldn't be completed because it contains signals that # aren't valid. # # @!attribute [rw] message # @return [String] # # @!attribute [rw] invalid_signals # The signals which caused the exception. # @return [Array] # class InvalidSignalsException < Struct.new( :message, :invalid_signals) SENSITIVE = [] include Aws::Structure end # A service quota was exceeded. # # @!attribute [rw] message # @return [String] # # @!attribute [rw] resource_id # The identifier of the resource that was exceeded. # @return [String] # # @!attribute [rw] resource_type # The type of resource that was exceeded. # @return [String] # class LimitExceededException < Struct.new( :message, :resource_id, :resource_type) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] 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. # @return [String] # # @!attribute [rw] max_results # The maximum number of items to return, between 1 and 100, inclusive. # @return [Integer] # # @!attribute [rw] 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 [String] # class ListCampaignsRequest < Struct.new( :next_token, :max_results, :status) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] campaign_summaries # A summary of information about each campaign. # @return [Array] # # @!attribute [rw] next_token # The token to retrieve the next set of results, or `null` if there # are no more results. # @return [String] # class ListCampaignsResponse < Struct.new( :campaign_summaries, :next_token) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] name # The name of the decoder manifest to list information about. # @return [String] # # @!attribute [rw] 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. # @return [String] # # @!attribute [rw] max_results # The maximum number of items to return, between 1 and 100, inclusive. # @return [Integer] # class ListDecoderManifestNetworkInterfacesRequest < Struct.new( :name, :next_token, :max_results) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] network_interfaces # A list of information about network interfaces. # @return [Array] # # @!attribute [rw] next_token # The token to retrieve the next set of results, or `null` if there # are no more results. # @return [String] # class ListDecoderManifestNetworkInterfacesResponse < Struct.new( :network_interfaces, :next_token) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] name # The name of the decoder manifest to list information about. # @return [String] # # @!attribute [rw] 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. # @return [String] # # @!attribute [rw] max_results # The maximum number of items to return, between 1 and 100, inclusive. # @return [Integer] # class ListDecoderManifestSignalsRequest < Struct.new( :name, :next_token, :max_results) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] signal_decoders # Information about a list of signals to decode. # @return [Array] # # @!attribute [rw] next_token # The token to retrieve the next set of results, or `null` if there # are no more results. # @return [String] # class ListDecoderManifestSignalsResponse < Struct.new( :signal_decoders, :next_token) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] model_manifest_arn # The Amazon Resource Name (ARN) of a vehicle model (model manifest) # associated with the decoder manifest. # @return [String] # # @!attribute [rw] 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. # @return [String] # # @!attribute [rw] max_results # The maximum number of items to return, between 1 and 100, inclusive. # @return [Integer] # class ListDecoderManifestsRequest < Struct.new( :model_manifest_arn, :next_token, :max_results) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] summaries # A list of information about each decoder manifest. # @return [Array] # # @!attribute [rw] next_token # The token to retrieve the next set of results, or `null` if there # are no more results. # @return [String] # class ListDecoderManifestsResponse < Struct.new( :summaries, :next_token) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] vehicle_name # The ID of the vehicle to retrieve information about. # @return [String] # # @!attribute [rw] 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. # @return [String] # # @!attribute [rw] max_results # The maximum number of items to return, between 1 and 100, inclusive. # @return [Integer] # class ListFleetsForVehicleRequest < Struct.new( :vehicle_name, :next_token, :max_results) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] fleets # A list of fleet IDs that the vehicle is associated with. # @return [Array] # # @!attribute [rw] next_token # The token to retrieve the next set of results, or `null` if there # are no more results. # @return [String] # class ListFleetsForVehicleResponse < Struct.new( :fleets, :next_token) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] 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. # @return [String] # # @!attribute [rw] max_results # The maximum number of items to return, between 1 and 100, inclusive. # @return [Integer] # class ListFleetsRequest < Struct.new( :next_token, :max_results) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] fleet_summaries # A list of information for each fleet. # @return [Array] # # @!attribute [rw] next_token # The token to retrieve the next set of results, or `null` if there # are no more results. # @return [String] # class ListFleetsResponse < Struct.new( :fleet_summaries, :next_token) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] name # The name of the vehicle model to list information about. # @return [String] # # @!attribute [rw] 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. # @return [String] # # @!attribute [rw] max_results # The maximum number of items to return, between 1 and 100, inclusive. # @return [Integer] # class ListModelManifestNodesRequest < Struct.new( :name, :next_token, :max_results) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] nodes # A list of information about nodes. # @return [Array] # # @!attribute [rw] next_token # The token to retrieve the next set of results, or `null` if there # are no more results. # @return [String] # class ListModelManifestNodesResponse < Struct.new( :nodes, :next_token) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] signal_catalog_arn # The ARN of a signal catalog. If you specify a signal catalog, only # the vehicle models associated with it are returned. # @return [String] # # @!attribute [rw] 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. # @return [String] # # @!attribute [rw] max_results # The maximum number of items to return, between 1 and 100, inclusive. # @return [Integer] # class ListModelManifestsRequest < Struct.new( :signal_catalog_arn, :next_token, :max_results) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] summaries # A list of information about vehicle models. # @return [Array] # # @!attribute [rw] next_token # The token to retrieve the next set of results, or `null` if there # are no more results. # @return [String] # class ListModelManifestsResponse < Struct.new( :summaries, :next_token) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] name # The name of the signal catalog to list information about. # @return [String] # # @!attribute [rw] 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. # @return [String] # # @!attribute [rw] max_results # The maximum number of items to return, between 1 and 100, inclusive. # @return [Integer] # # @!attribute [rw] signal_node_type # The type of node in the signal catalog. # @return [String] # class ListSignalCatalogNodesRequest < Struct.new( :name, :next_token, :max_results, :signal_node_type) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] nodes # A list of information about nodes. # @return [Array] # # @!attribute [rw] next_token # The token to retrieve the next set of results, or `null` if there # are no more results. # @return [String] # class ListSignalCatalogNodesResponse < Struct.new( :nodes, :next_token) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] 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. # @return [String] # # @!attribute [rw] max_results # The maximum number of items to return, between 1 and 100, inclusive. # @return [Integer] # class ListSignalCatalogsRequest < Struct.new( :next_token, :max_results) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] summaries # A list of information about each signal catalog. # @return [Array] # # @!attribute [rw] next_token # The token to retrieve the next set of results, or `null` if there # are no more results. # @return [String] # class ListSignalCatalogsResponse < Struct.new( :summaries, :next_token) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] resource_arn # The ARN of the resource. # @return [String] # class ListTagsForResourceRequest < Struct.new( :resource_arn) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] tags # The list of tags assigned to the resource. # @return [Array] # class ListTagsForResourceResponse < Struct.new( :tags) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] fleet_id # The ID of a fleet. # @return [String] # # @!attribute [rw] 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. # @return [String] # # @!attribute [rw] max_results # The maximum number of items to return, between 1 and 100, inclusive. # @return [Integer] # class ListVehiclesInFleetRequest < Struct.new( :fleet_id, :next_token, :max_results) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] vehicles # A list of vehicles associated with the fleet. # @return [Array] # # @!attribute [rw] next_token # The token to retrieve the next set of results, or `null` if there # are no more results. # @return [String] # class ListVehiclesInFleetResponse < Struct.new( :vehicles, :next_token) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] 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. # @return [String] # # @!attribute [rw] attribute_names # The fully qualified names of the attributes. For example, the fully # qualified name of an attribute might be `Vehicle.Body.Engine.Type`. # @return [Array] # # @!attribute [rw] attribute_values # Static information about a vehicle attribute value in string format. # For example: # # `"1.3 L R2"` # @return [Array] # # @!attribute [rw] 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. # @return [String] # # @!attribute [rw] max_results # The maximum number of items to return, between 1 and 100, inclusive. # @return [Integer] # class ListVehiclesRequest < Struct.new( :model_manifest_arn, :attribute_names, :attribute_values, :next_token, :max_results) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] vehicle_summaries # A list of vehicles and information about them. # @return [Array] # # @!attribute [rw] next_token # The token to retrieve the next set of results, or `null` if there # are no more results. # @return [String] # class ListVehiclesResponse < Struct.new( :vehicle_summaries, :next_token) SENSITIVE = [] include Aws::Structure end # The decoding information for a specific message which support higher # order data types. # # @!attribute [rw] topic_name # The topic name for the message signal. It corresponds to topics in # ROS 2. # @return [String] # # @!attribute [rw] structured_message # The structured message for the message signal. It can be defined # with either a `primitiveMessageDefinition`, # `structuredMessageListDefinition`, or `structuredMessageDefinition` # recursively. # @return [Types::StructuredMessage] # class MessageSignal < Struct.new( :topic_name, :structured_message) SENSITIVE = [] include Aws::Structure end # Information about a vehicle model (model manifest). You can use the # API operation to return this information about multiple vehicle # models. # # @!attribute [rw] name # The name of the vehicle model. # @return [String] # # @!attribute [rw] arn # The Amazon Resource Name (ARN) of the vehicle model. # @return [String] # # @!attribute [rw] signal_catalog_arn # The ARN of the signal catalog associated with the vehicle model. # @return [String] # # @!attribute [rw] description # A brief description of the vehicle model. # @return [String] # # @!attribute [rw] 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 [String] # # @!attribute [rw] creation_time # The time the vehicle model was created, in seconds since epoch # (January 1, 1970 at midnight UTC time). # @return [Time] # # @!attribute [rw] last_modification_time # The time the vehicle model was last updated, in seconds since epoch # (January 1, 1970 at midnight UTC time). # @return [Time] # class ModelManifestSummary < Struct.new( :name, :arn, :signal_catalog_arn, :description, :status, :creation_time, :last_modification_time) SENSITIVE = [] include Aws::Structure end # Specifications for defining a vehicle network. # # @note NetworkFileDefinition is a union - when making an API calls you must set exactly one of the members. # # @!attribute [rw] can_dbc # Information, including CAN DBC files, about the configurations used # to create a decoder manifest. # @return [Types::CanDbcDefinition] # class NetworkFileDefinition < Struct.new( :can_dbc, :unknown) SENSITIVE = [] include Aws::Structure include Aws::Structure::Union class CanDbc < NetworkFileDefinition; end class Unknown < NetworkFileDefinition; end end # Represents a node and its specifications in an in-vehicle # communication network. All signal decoders must be associated with a # network node. # # To return this information about all the network interfaces specified # in a decoder manifest, use the API operation. # # @!attribute [rw] interface_id # The ID of the network interface. # @return [String] # # @!attribute [rw] type # The network protocol for the vehicle. For example, `CAN_SIGNAL` # specifies a protocol that defines how data is communicated between # electronic control units (ECUs). `OBD_SIGNAL` specifies a protocol # that defines how self-diagnostic data is communicated between ECUs. # @return [String] # # @!attribute [rw] can_interface # Information about a network interface specified by the Controller # Area Network (CAN) protocol. # @return [Types::CanInterface] # # @!attribute [rw] obd_interface # Information about a network interface specified by the On-board # diagnostic (OBD) II protocol. # @return [Types::ObdInterface] # # @!attribute [rw] vehicle_middleware # The vehicle middleware defined as a type of network interface. # Examples of vehicle middleware include `ROS2` and `SOME/IP`. # @return [Types::VehicleMiddleware] # class NetworkInterface < Struct.new( :interface_id, :type, :can_interface, :obd_interface, :vehicle_middleware) SENSITIVE = [] include Aws::Structure end # A general abstraction of a signal. A node can be specified as an # actuator, attribute, branch, or sensor. # # @note Node is a union - when making an API calls you must set exactly one of the members. # # @note Node is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of Node corresponding to the set member. # # @!attribute [rw] branch # Information about a node specified as a branch. # # A group of signals that are defined in a hierarchical structure. # # # @return [Types::Branch] # # @!attribute [rw] sensor # An input component that reports the environmental condition of a # vehicle. # # You can collect data about fluid levels, temperatures, vibrations, # or battery voltage from sensors. # # # @return [Types::Sensor] # # @!attribute [rw] actuator # Information about a node specified as an actuator. # # An actuator is a digital representation of a vehicle device. # # # @return [Types::Actuator] # # @!attribute [rw] attribute # Information about a node specified as an attribute. # # An attribute represents static information about a vehicle. # # # @return [Types::Attribute] # # @!attribute [rw] struct # Represents a complex or higher-order data structure. # @return [Types::CustomStruct] # # @!attribute [rw] property # Represents a member of the complex data structure. The `datatype` of # the property can be either primitive or another `struct`. # @return [Types::CustomProperty] # class Node < Struct.new( :branch, :sensor, :actuator, :attribute, :struct, :property, :unknown) SENSITIVE = [] include Aws::Structure include Aws::Structure::Union class Branch < Node; end class Sensor < Node; end class Actuator < Node; end class Attribute < Node; end class Struct < Node; end class Property < Node; end class Unknown < Node; end end # Information about the number of nodes and node types in a vehicle # network. # # @!attribute [rw] total_nodes # The total number of nodes in a vehicle network. # @return [Integer] # # @!attribute [rw] total_branches # The total number of nodes in a vehicle network that represent # branches. # @return [Integer] # # @!attribute [rw] total_sensors # The total number of nodes in a vehicle network that represent # sensors. # @return [Integer] # # @!attribute [rw] total_attributes # The total number of nodes in a vehicle network that represent # attributes. # @return [Integer] # # @!attribute [rw] total_actuators # The total number of nodes in a vehicle network that represent # actuators. # @return [Integer] # # @!attribute [rw] total_structs # The total structure for the node. # @return [Integer] # # @!attribute [rw] total_properties # The total properties for the node. # @return [Integer] # class NodeCounts < Struct.new( :total_nodes, :total_branches, :total_sensors, :total_attributes, :total_actuators, :total_structs, :total_properties) SENSITIVE = [] include Aws::Structure end # A network interface that specifies the On-board diagnostic (OBD) II # network protocol. # # @!attribute [rw] name # The name of the interface. # @return [String] # # @!attribute [rw] request_message_id # The ID of the message requesting vehicle data. # @return [Integer] # # @!attribute [rw] obd_standard # The standard OBD II PID. # @return [String] # # @!attribute [rw] pid_request_interval_seconds # The maximum number message requests per second. # @return [Integer] # # @!attribute [rw] dtc_request_interval_seconds # The maximum number message requests per diagnostic trouble code per # second. # @return [Integer] # # @!attribute [rw] use_extended_ids # Whether to use extended IDs in the message. # @return [Boolean] # # @!attribute [rw] has_transmission_ecu # Whether the vehicle has a transmission control module (TCM). # @return [Boolean] # class ObdInterface < Struct.new( :name, :request_message_id, :obd_standard, :pid_request_interval_seconds, :dtc_request_interval_seconds, :use_extended_ids, :has_transmission_ecu) SENSITIVE = [] include Aws::Structure end # Information about signal messages using the on-board diagnostics (OBD) # II protocol in a vehicle. # # @!attribute [rw] pid_response_length # The length of the requested data. # @return [Integer] # # @!attribute [rw] service_mode # The mode of operation (diagnostic service) in a message. # @return [Integer] # # @!attribute [rw] pid # The diagnostic code used to request data from a vehicle for this # signal. # @return [Integer] # # @!attribute [rw] scaling # A multiplier used to decode the message. # @return [Float] # # @!attribute [rw] offset # The offset used to calculate the signal value. Combined with # scaling, the calculation is `value = raw_value * scaling + offset`. # @return [Float] # # @!attribute [rw] start_byte # Indicates the beginning of the message. # @return [Integer] # # @!attribute [rw] byte_length # The length of a message. # @return [Integer] # # @!attribute [rw] bit_right_shift # The number of positions to shift bits in the message. # @return [Integer] # # @!attribute [rw] bit_mask_length # The number of bits to mask in a message. # @return [Integer] # class ObdSignal < Struct.new( :pid_response_length, :service_mode, :pid, :scaling, :offset, :start_byte, :byte_length, :bit_right_shift, :bit_mask_length) SENSITIVE = [] include Aws::Structure end # Represents a primitive type node of the complex data structure. # # @note PrimitiveMessageDefinition is a union - when making an API calls you must set exactly one of the members. # # @note PrimitiveMessageDefinition is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of PrimitiveMessageDefinition corresponding to the set member. # # @!attribute [rw] ros2_primitive_message_definition # Information about a `PrimitiveMessage` using a ROS 2 compliant # primitive type message of the complex data structure. # @return [Types::ROS2PrimitiveMessageDefinition] # class PrimitiveMessageDefinition < Struct.new( :ros2_primitive_message_definition, :unknown) SENSITIVE = [] include Aws::Structure include Aws::Structure::Union class Ros2PrimitiveMessageDefinition < PrimitiveMessageDefinition; end class Unknown < PrimitiveMessageDefinition; end end # @!attribute [rw] kms_key_id # The ID of the KMS key that is used for encryption. # @return [String] # # @!attribute [rw] encryption_type # The type of encryption. Choose `KMS_BASED_ENCRYPTION` to use a KMS # key or `FLEETWISE_DEFAULT_ENCRYPTION` to use an Amazon Web Services # managed key. # @return [String] # class PutEncryptionConfigurationRequest < Struct.new( :kms_key_id, :encryption_type) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] kms_key_id # The ID of the KMS key that is used for encryption. # @return [String] # # @!attribute [rw] encryption_status # The encryption status. # @return [String] # # @!attribute [rw] encryption_type # The type of encryption. Set to `KMS_BASED_ENCRYPTION` to use an KMS # key that you own and manage. Set to `FLEETWISE_DEFAULT_ENCRYPTION` # to use an Amazon Web Services managed key that is owned by the # Amazon Web Services IoT FleetWise service account. # @return [String] # class PutEncryptionConfigurationResponse < Struct.new( :kms_key_id, :encryption_status, :encryption_type) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] cloud_watch_log_delivery # Creates or updates the log delivery option to Amazon CloudWatch # Logs. # @return [Types::CloudWatchLogDeliveryOptions] # class PutLoggingOptionsRequest < Struct.new( :cloud_watch_log_delivery) SENSITIVE = [] include Aws::Structure end class PutLoggingOptionsResponse < Aws::EmptyStructure; end # Represents a ROS 2 compliant primitive type message of the complex # data structure. # # @!attribute [rw] primitive_type # The primitive type (integer, floating point, boolean, etc.) for the # ROS 2 primitive message definition. # @return [String] # # @!attribute [rw] offset # The offset used to calculate the signal value. Combined with # scaling, the calculation is `value = raw_value * scaling + offset`. # @return [Float] # # @!attribute [rw] scaling # A multiplier used to decode the message. # @return [Float] # # @!attribute [rw] upper_bound # An optional attribute specifying the upper bound for `STRING` and # `WSTRING`. # @return [Integer] # class ROS2PrimitiveMessageDefinition < Struct.new( :primitive_type, :offset, :scaling, :upper_bound) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] timestream_resources # The registered Amazon Timestream resources that Amazon Web Services # IoT FleetWise edge agent software can transfer your vehicle data to. # @return [Types::TimestreamResources] # # @!attribute [rw] iam_resources # The IAM resource that allows Amazon Web Services IoT FleetWise to # send data to Amazon Timestream. # @return [Types::IamResources] # class RegisterAccountRequest < Struct.new( :timestream_resources, :iam_resources) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] register_account_status # The status of registering your Amazon Web Services account, IAM # role, and Timestream resources. # @return [String] # # @!attribute [rw] timestream_resources # The registered Amazon Timestream resources that Amazon Web Services # IoT FleetWise edge agent software can transfer your vehicle data to. # @return [Types::TimestreamResources] # # @!attribute [rw] iam_resources # The registered IAM resource that allows Amazon Web Services IoT # FleetWise to send data to Amazon Timestream. # @return [Types::IamResources] # # @!attribute [rw] creation_time # The time the account was registered, in seconds since epoch (January # 1, 1970 at midnight UTC time). # @return [Time] # # @!attribute [rw] last_modification_time # The time this registration was last updated, in seconds since epoch # (January 1, 1970 at midnight UTC time). # @return [Time] # class RegisterAccountResponse < Struct.new( :register_account_status, :timestream_resources, :iam_resources, :creation_time, :last_modification_time) SENSITIVE = [] include Aws::Structure end # The resource wasn't found. # # @!attribute [rw] message # @return [String] # # @!attribute [rw] resource_id # The identifier of the resource that wasn't found. # @return [String] # # @!attribute [rw] resource_type # The type of resource that wasn't found. # @return [String] # class ResourceNotFoundException < Struct.new( :message, :resource_id, :resource_type) SENSITIVE = [] include Aws::Structure end # The Amazon S3 bucket where the Amazon Web Services IoT FleetWise # campaign sends data. Amazon S3 is an object storage service that # stores data as objects within buckets. For more information, see # [Creating, configuring, and working with Amazon S3 buckets][1] in the # *Amazon Simple Storage Service User Guide*. # # # # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html # # @!attribute [rw] bucket_arn # The Amazon Resource Name (ARN) of the Amazon S3 bucket. # @return [String] # # @!attribute [rw] data_format # Specify the format that files are saved in the Amazon S3 bucket. You # can save files in an Apache Parquet or JSON format. # # * Parquet - Store data in a columnar storage file format. Parquet is # optimal for fast data retrieval and can reduce costs. This option # is selected by default. # # * JSON - Store data in a standard text-based JSON file format. # @return [String] # # @!attribute [rw] storage_compression_format # By default, stored data is compressed as a .gzip file. Compressed # files have a reduced file size, which can optimize the cost of data # storage. # @return [String] # # @!attribute [rw] prefix # (Optional) Enter an S3 bucket prefix. The prefix is the string of # characters after the bucket name and before the object name. You can # use the prefix to organize data stored in Amazon S3 buckets. For # more information, see [Organizing objects using prefixes][1] in the # *Amazon Simple Storage Service User Guide*. # # By default, Amazon Web Services IoT FleetWise sets the prefix # `processed-data/year=YY/month=MM/date=DD/hour=HH/` (in UTC) to data # it delivers to Amazon S3. You can enter a prefix to append it to # this default prefix. For example, if you enter the prefix # `vehicles`, the prefix will be # `vehicles/processed-data/year=YY/month=MM/date=DD/hour=HH/`. # # # # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html # @return [String] # class S3Config < Struct.new( :bucket_arn, :data_format, :storage_compression_format, :prefix) SENSITIVE = [] include Aws::Structure end # An input component that reports the environmental condition of a # vehicle. # # You can collect data about fluid levels, temperatures, vibrations, or # battery voltage from sensors. # # # # @!attribute [rw] fully_qualified_name # The fully qualified name of the sensor. For example, the fully # qualified name of a sensor might be `Vehicle.Body.Engine.Battery`. # @return [String] # # @!attribute [rw] data_type # The specified data type of the sensor. # @return [String] # # @!attribute [rw] description # A brief description of a sensor. # @return [String] # # @!attribute [rw] unit # The scientific unit of measurement for data collected by the sensor. # @return [String] # # @!attribute [rw] allowed_values # A list of possible values a sensor can take. # @return [Array] # # @!attribute [rw] min # The specified possible minimum value of the sensor. # @return [Float] # # @!attribute [rw] max # The specified possible maximum value of the sensor. # @return [Float] # # @!attribute [rw] deprecation_message # The deprecation message for the node or the branch that was moved or # deleted. # @return [String] # # @!attribute [rw] comment # A comment in addition to the description. # @return [String] # # @!attribute [rw] struct_fully_qualified_name # The fully qualified name of the struct node for a sensor if the data # type of the actuator is `Struct` or `StructArray`. For example, the # struct fully qualified name of a sensor might be # `Vehicle.ADAS.CameraStruct`. # @return [String] # class Sensor < Struct.new( :fully_qualified_name, :data_type, :description, :unit, :allowed_values, :min, :max, :deprecation_message, :comment, :struct_fully_qualified_name) SENSITIVE = [] include Aws::Structure end # Information about a collection of standardized signals, which can be # attributes, branches, sensors, or actuators. # # @!attribute [rw] name # The name of the signal catalog. # @return [String] # # @!attribute [rw] arn # The Amazon Resource Name (ARN) of the signal catalog. # @return [String] # # @!attribute [rw] creation_time # The time the signal catalog was created in seconds since epoch # (January 1, 1970 at midnight UTC time). # @return [Time] # # @!attribute [rw] last_modification_time # The time the signal catalog was last updated in seconds since epoch # (January 1, 1970 at midnight UTC time). # @return [Time] # class SignalCatalogSummary < Struct.new( :name, :arn, :creation_time, :last_modification_time) SENSITIVE = [] include Aws::Structure end # Information about a signal decoder. # # @!attribute [rw] fully_qualified_name # The fully qualified name of a signal decoder as defined in a vehicle # model. # @return [String] # # @!attribute [rw] type # The network protocol for the vehicle. For example, `CAN_SIGNAL` # specifies a protocol that defines how data is communicated between # electronic control units (ECUs). `OBD_SIGNAL` specifies a protocol # that defines how self-diagnostic data is communicated between ECUs. # @return [String] # # @!attribute [rw] interface_id # The ID of a network interface that specifies what network protocol a # vehicle follows. # @return [String] # # @!attribute [rw] can_signal # Information about signal decoder using the Controller Area Network # (CAN) protocol. # @return [Types::CanSignal] # # @!attribute [rw] obd_signal # Information about signal decoder using the On-board diagnostic (OBD) # II protocol. # @return [Types::ObdSignal] # # @!attribute [rw] message_signal # The decoding information for a specific message which supports # higher order data types. # @return [Types::MessageSignal] # class SignalDecoder < Struct.new( :fully_qualified_name, :type, :interface_id, :can_signal, :obd_signal, :message_signal) SENSITIVE = [] include Aws::Structure end # Information about a signal. # # @!attribute [rw] name # The name of the signal. # @return [String] # # @!attribute [rw] max_sample_count # The maximum number of samples to collect. # @return [Integer] # # @!attribute [rw] minimum_sampling_interval_ms # The minimum duration of time (in milliseconds) between two # triggering events to collect data. # # If a signal changes often, you might want to collect data at a # slower rate. # # # @return [Integer] # class SignalInformation < Struct.new( :name, :max_sample_count, :minimum_sampling_interval_ms) SENSITIVE = [] include Aws::Structure end # The structured message for the message signal. It can be defined with # either a `primitiveMessageDefinition`, # `structuredMessageListDefinition`, or `structuredMessageDefinition` # recursively. # # @note StructuredMessage is a union - when making an API calls you must set exactly one of the members. # # @note StructuredMessage is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of StructuredMessage corresponding to the set member. # # @!attribute [rw] primitive_message_definition # Represents a primitive type node of the complex data structure. # @return [Types::PrimitiveMessageDefinition] # # @!attribute [rw] structured_message_list_definition # Represents a list type node of the complex data structure. # @return [Types::StructuredMessageListDefinition] # # @!attribute [rw] structured_message_definition # Represents a struct type node of the complex data structure. # @return [Array] # class StructuredMessage < Struct.new( :primitive_message_definition, :structured_message_list_definition, :structured_message_definition, :unknown) SENSITIVE = [] include Aws::Structure include Aws::Structure::Union class PrimitiveMessageDefinition < StructuredMessage; end class StructuredMessageListDefinition < StructuredMessage; end class StructuredMessageDefinition < StructuredMessage; end class Unknown < StructuredMessage; end end # Represents a `StructureMessageName` to `DataType` map element. # # @!attribute [rw] field_name # The field name of the structured message. It determines how a data # value is referenced in the target language. # @return [String] # # @!attribute [rw] data_type # The data type. # @return [Types::StructuredMessage] # class StructuredMessageFieldNameAndDataTypePair < Struct.new( :field_name, :data_type) SENSITIVE = [] include Aws::Structure end # Represents a list type node of the complex data structure. # # @!attribute [rw] name # The name of the structured message list definition. # @return [String] # # @!attribute [rw] member_type # The member type of the structured message list definition. # @return [Types::StructuredMessage] # # @!attribute [rw] list_type # The type of list of the structured message list definition. # @return [String] # # @!attribute [rw] capacity # The capacity of the structured message list definition when the list # type is `FIXED_CAPACITY` or `DYNAMIC_BOUNDED_CAPACITY`. # @return [Integer] # class StructuredMessageListDefinition < Struct.new( :name, :member_type, :list_type, :capacity) SENSITIVE = [] include Aws::Structure end # A set of key/value pairs that are used to manage the resource. # # @!attribute [rw] key # The tag's key. # @return [String] # # @!attribute [rw] value # The tag's value. # @return [String] # class Tag < Struct.new( :key, :value) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] resource_arn # The ARN of the resource. # @return [String] # # @!attribute [rw] tags # The new or modified tags for the resource. # @return [Array] # class TagResourceRequest < Struct.new( :resource_arn, :tags) SENSITIVE = [] include Aws::Structure end class TagResourceResponse < Aws::EmptyStructure; end # The request couldn't be completed due to throttling. # # @!attribute [rw] message # @return [String] # # @!attribute [rw] quota_code # The quota identifier of the applied throttling rules for this # request. # @return [String] # # @!attribute [rw] service_code # The code for the service that couldn't be completed due to # throttling. # @return [String] # # @!attribute [rw] retry_after_seconds # The number of seconds to wait before retrying the command. # @return [Integer] # class ThrottlingException < Struct.new( :message, :quota_code, :service_code, :retry_after_seconds) SENSITIVE = [] include Aws::Structure end # Information about a collection scheme that uses a time period to # decide how often to collect data. # # @!attribute [rw] period_ms # The time period (in milliseconds) to decide how often to collect # data. For example, if the time period is `60000`, the Edge Agent # software collects data once every minute. # @return [Integer] # class TimeBasedCollectionScheme < Struct.new( :period_ms) SENSITIVE = [] include Aws::Structure end # The Amazon Timestream table where the Amazon Web Services IoT # FleetWise campaign sends data. Timestream stores and organizes data to # optimize query processing time and to reduce storage costs. For more # information, see [Data modeling][1] in the *Amazon Timestream # Developer Guide*. # # # # [1]: https://docs.aws.amazon.com/timestream/latest/developerguide/data-modeling.html # # @!attribute [rw] timestream_table_arn # The Amazon Resource Name (ARN) of the Amazon Timestream table. # @return [String] # # @!attribute [rw] execution_role_arn # The Amazon Resource Name (ARN) of the task execution role that # grants Amazon Web Services IoT FleetWise permission to deliver data # to the Amazon Timestream table. # @return [String] # class TimestreamConfig < Struct.new( :timestream_table_arn, :execution_role_arn) SENSITIVE = [] include Aws::Structure end # Information about the registered Amazon Timestream resources or # errors, if any. # # @!attribute [rw] timestream_database_name # The name of the Timestream database. # @return [String] # # @!attribute [rw] timestream_table_name # The name of the Timestream database table. # @return [String] # # @!attribute [rw] timestream_database_arn # The Amazon Resource Name (ARN) of the Timestream database. # @return [String] # # @!attribute [rw] timestream_table_arn # The ARN of the Timestream database table. # @return [String] # # @!attribute [rw] registration_status # The status of registering your Amazon Timestream resources. The # status can be one of `REGISTRATION_SUCCESS`, `REGISTRATION_PENDING`, # `REGISTRATION_FAILURE`. # @return [String] # # @!attribute [rw] error_message # A message associated with a registration error. # @return [String] # class TimestreamRegistrationResponse < Struct.new( :timestream_database_name, :timestream_table_name, :timestream_database_arn, :timestream_table_arn, :registration_status, :error_message) SENSITIVE = [] include Aws::Structure end # The registered Amazon Timestream resources that Amazon Web Services # IoT FleetWise edge agent software can transfer your vehicle data to. # # @!attribute [rw] timestream_database_name # The name of the registered Amazon Timestream database. # @return [String] # # @!attribute [rw] timestream_table_name # The name of the registered Amazon Timestream database table. # @return [String] # class TimestreamResources < Struct.new( :timestream_database_name, :timestream_table_name) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] resource_arn # The ARN of the resource. # @return [String] # # @!attribute [rw] tag_keys # A list of the keys of the tags to be removed from the resource. # @return [Array] # class UntagResourceRequest < Struct.new( :resource_arn, :tag_keys) SENSITIVE = [] include Aws::Structure end class UntagResourceResponse < Aws::EmptyStructure; end # @!attribute [rw] name # The name of the campaign to update. # @return [String] # # @!attribute [rw] description # The description of the campaign. # @return [String] # # @!attribute [rw] data_extra_dimensions # A list of vehicle attributes to associate with a signal. # # Default: An empty array # @return [Array] # # @!attribute [rw] 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. The campaign is # deleted from vehicles and all vehicles in the suspended campaign # will stop sending data. # # * `RESUME` - To reactivate the `SUSPEND` campaign. The campaign is # redeployed to all vehicles and the vehicles will resume sending # data. # # * `UPDATE` - To update a campaign. # @return [String] # class UpdateCampaignRequest < Struct.new( :name, :description, :data_extra_dimensions, :action) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] arn # The Amazon Resource Name (ARN) of the campaign. # @return [String] # # @!attribute [rw] name # The name of the updated campaign. # @return [String] # # @!attribute [rw] status # The state of a campaign. The status can be one of: # # * `CREATING` - Amazon Web Services IoT FleetWise is processing your # request to create the campaign. # # * `WAITING_FOR_APPROVAL` - After a campaign is created, it enters # the `WAITING_FOR_APPROVAL` state. To allow Amazon Web Services IoT # FleetWise to deploy the campaign to the target vehicle or fleet, # use the API operation to approve the campaign. # # * `RUNNING` - The campaign is active. # # * `SUSPENDED` - The campaign is suspended. To resume the campaign, # use the API operation. # @return [String] # class UpdateCampaignResponse < Struct.new( :arn, :name, :status) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] name # The name of the decoder manifest to update. # @return [String] # # @!attribute [rw] description # A brief description of the decoder manifest to update. # @return [String] # # @!attribute [rw] signal_decoders_to_add # A list of information about decoding additional signals to add to # the decoder manifest. # @return [Array] # # @!attribute [rw] signal_decoders_to_update # A list of updated information about decoding signals to update in # the decoder manifest. # @return [Array] # # @!attribute [rw] signal_decoders_to_remove # A list of signal decoders to remove from the decoder manifest. # @return [Array] # # @!attribute [rw] network_interfaces_to_add # A list of information about the network interfaces to add to the # decoder manifest. # @return [Array] # # @!attribute [rw] network_interfaces_to_update # A list of information about the network interfaces to update in the # decoder manifest. # @return [Array] # # @!attribute [rw] network_interfaces_to_remove # A list of network interfaces to remove from the decoder manifest. # @return [Array] # # @!attribute [rw] 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 [String] # class UpdateDecoderManifestRequest < Struct.new( :name, :description, :signal_decoders_to_add, :signal_decoders_to_update, :signal_decoders_to_remove, :network_interfaces_to_add, :network_interfaces_to_update, :network_interfaces_to_remove, :status) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] name # The name of the updated decoder manifest. # @return [String] # # @!attribute [rw] arn # The Amazon Resource Name (ARN) of the updated decoder manifest. # @return [String] # class UpdateDecoderManifestResponse < Struct.new( :name, :arn) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] fleet_id # The ID of the fleet to update. # @return [String] # # @!attribute [rw] description # An updated description of the fleet. # @return [String] # class UpdateFleetRequest < Struct.new( :fleet_id, :description) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] id # The ID of the updated fleet. # @return [String] # # @!attribute [rw] arn # The Amazon Resource Name (ARN) of the updated fleet. # @return [String] # class UpdateFleetResponse < Struct.new( :id, :arn) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] name # The name of the vehicle model to update. # @return [String] # # @!attribute [rw] description # A brief description of the vehicle model. # @return [String] # # @!attribute [rw] nodes_to_add # A list of `fullyQualifiedName` of nodes, which are a general # abstraction of signals, to add to the vehicle model. # @return [Array] # # @!attribute [rw] nodes_to_remove # A list of `fullyQualifiedName` of nodes, which are a general # abstraction of signals, to remove from the vehicle model. # @return [Array] # # @!attribute [rw] 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 [String] # class UpdateModelManifestRequest < Struct.new( :name, :description, :nodes_to_add, :nodes_to_remove, :status) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] name # The name of the updated vehicle model. # @return [String] # # @!attribute [rw] arn # The Amazon Resource Name (ARN) of the updated vehicle model. # @return [String] # class UpdateModelManifestResponse < Struct.new( :name, :arn) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] name # The name of the signal catalog to update. # @return [String] # # @!attribute [rw] description # A brief description of the signal catalog to update. # @return [String] # # @!attribute [rw] nodes_to_add # A list of information about nodes to add to the signal catalog. # @return [Array] # # @!attribute [rw] nodes_to_update # A list of information about nodes to update in the signal catalog. # @return [Array] # # @!attribute [rw] nodes_to_remove # A list of `fullyQualifiedName` of nodes to remove from the signal # catalog. # @return [Array] # class UpdateSignalCatalogRequest < Struct.new( :name, :description, :nodes_to_add, :nodes_to_update, :nodes_to_remove) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] name # The name of the updated signal catalog. # @return [String] # # @!attribute [rw] arn # The ARN of the updated signal catalog. # @return [String] # class UpdateSignalCatalogResponse < Struct.new( :name, :arn) SENSITIVE = [] include Aws::Structure end # An HTTP error resulting from updating the description for a vehicle. # # @!attribute [rw] vehicle_name # The ID of the vehicle with the error. # @return [String] # # @!attribute [rw] code # The relevant HTTP error code (400+). # @return [Integer] # # @!attribute [rw] message # A message associated with the error. # @return [String] # class UpdateVehicleError < Struct.new( :vehicle_name, :code, :message) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] vehicle_name # The unique ID of the vehicle to update. # @return [String] # # @!attribute [rw] model_manifest_arn # The ARN of a vehicle model (model manifest) associated with the # vehicle. # @return [String] # # @!attribute [rw] decoder_manifest_arn # The ARN of the decoder manifest associated with this vehicle. # @return [String] # # @!attribute [rw] attributes # Static information about a vehicle in a key-value pair. For example: # # `"engineType"` : `"1.3 L R2"` # @return [Hash] # # @!attribute [rw] 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 [String] # class UpdateVehicleRequest < Struct.new( :vehicle_name, :model_manifest_arn, :decoder_manifest_arn, :attributes, :attribute_update_mode) SENSITIVE = [] include Aws::Structure end # Information about the vehicle to update. # # @!attribute [rw] vehicle_name # The unique ID of the vehicle to update. # @return [String] # # @!attribute [rw] model_manifest_arn # The ARN of the vehicle model (model manifest) associated with the # vehicle to update. # @return [String] # # @!attribute [rw] decoder_manifest_arn # The ARN of the signal decoder manifest associated with the vehicle # to update. # @return [String] # # @!attribute [rw] attributes # Static information about a vehicle in a key-value pair. For example: # # `"engineType"` : `"1.3 L R2"` # @return [Hash] # # @!attribute [rw] 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 [String] # class UpdateVehicleRequestItem < Struct.new( :vehicle_name, :model_manifest_arn, :decoder_manifest_arn, :attributes, :attribute_update_mode) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] vehicle_name # The ID of the updated vehicle. # @return [String] # # @!attribute [rw] arn # The ARN of the updated vehicle. # @return [String] # class UpdateVehicleResponse < Struct.new( :vehicle_name, :arn) SENSITIVE = [] include Aws::Structure end # Information about the updated vehicle. # # @!attribute [rw] vehicle_name # The unique ID of the updated vehicle. # @return [String] # # @!attribute [rw] arn # The Amazon Resource Name (ARN) of the updated vehicle. # @return [String] # class UpdateVehicleResponseItem < Struct.new( :vehicle_name, :arn) SENSITIVE = [] include Aws::Structure end # The input fails to satisfy the constraints specified by an Amazon Web # Services service. # # @!attribute [rw] message # @return [String] # # @!attribute [rw] reason # The reason the input failed to satisfy the constraints specified by # an Amazon Web Services service. # @return [String] # # @!attribute [rw] field_list # The list of fields that fail to satisfy the constraints specified by # an Amazon Web Services service. # @return [Array] # class ValidationException < Struct.new( :message, :reason, :field_list) SENSITIVE = [] include Aws::Structure end # A validation error due to mismatch between the expected data type, # length, or pattern of the parameter and the input. # # @!attribute [rw] name # The name of the parameter field with the validation error. # @return [String] # # @!attribute [rw] message # A message about the validation error. # @return [String] # class ValidationExceptionField < Struct.new( :name, :message) SENSITIVE = [] include Aws::Structure end # The vehicle middleware defined as a type of network interface. # Examples of vehicle middleware include `ROS2` and `SOME/IP`. # # @!attribute [rw] name # The name of the vehicle middleware. # @return [String] # # @!attribute [rw] protocol_name # The protocol name of the vehicle middleware. # @return [String] # class VehicleMiddleware < Struct.new( :name, :protocol_name) SENSITIVE = [] include Aws::Structure end # Information about the state of a vehicle and how it relates to the # status of a campaign. # # @!attribute [rw] campaign_name # The name of a campaign. # @return [String] # # @!attribute [rw] vehicle_name # The unique ID of the vehicle. # @return [String] # # @!attribute [rw] status # The state of a vehicle, which can be one of the following: # # * `CREATED` - Amazon Web Services IoT FleetWise sucessfully created # the vehicle. # # * `READY` - The vehicle is ready to receive a campaign deployment. # # * `HEALTHY` - A campaign deployment was delivered to the vehicle. # # * `SUSPENDED` - A campaign associated with the vehicle was suspended # and data collection was paused. # # * `DELETING` - Amazon Web Services IoT FleetWise is removing a # campaign from the vehicle. # @return [String] # class VehicleStatus < Struct.new( :campaign_name, :vehicle_name, :status) SENSITIVE = [] include Aws::Structure end # Information about a vehicle. # # To return this information about vehicles in your account, you can use # the API operation. # # @!attribute [rw] vehicle_name # The unique ID of the vehicle. # @return [String] # # @!attribute [rw] arn # The Amazon Resource Name (ARN) of the vehicle. # @return [String] # # @!attribute [rw] model_manifest_arn # The ARN of a vehicle model (model manifest) associated with the # vehicle. # @return [String] # # @!attribute [rw] decoder_manifest_arn # The ARN of a decoder manifest associated with the vehicle. # @return [String] # # @!attribute [rw] creation_time # The time the vehicle was created in seconds since epoch (January 1, # 1970 at midnight UTC time). # @return [Time] # # @!attribute [rw] last_modification_time # The time the vehicle was last updated in seconds since epoch # (January 1, 1970 at midnight UTC time). # @return [Time] # # @!attribute [rw] attributes # Static information about a vehicle in a key-value pair. For example: # # `"engineType"` : `"1.3 L R2"` # @return [Hash] # class VehicleSummary < Struct.new( :vehicle_name, :arn, :model_manifest_arn, :decoder_manifest_arn, :creation_time, :last_modification_time, :attributes) SENSITIVE = [] include Aws::Structure end end end