aws-sdk-iotfleetwise 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,4745 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::IoTFleetWise
11
+ module Types
12
+
13
+ # You don't have sufficient permission to perform this action.
14
+ #
15
+ # @!attribute [rw] message
16
+ # @return [String]
17
+ #
18
+ class AccessDeniedException < Struct.new(
19
+ :message)
20
+ SENSITIVE = []
21
+ include Aws::Structure
22
+ end
23
+
24
+ # A signal that represents a vehicle device such as the engine, heater,
25
+ # and door locks. Data from an actuator reports the state of a certain
26
+ # vehicle device.
27
+ #
28
+ # <note markdown="1"> Updating actuator data can change the state of a device. For example,
29
+ # you can turn on or off the heater by updating its actuator data.
30
+ #
31
+ # </note>
32
+ #
33
+ # @note When making an API call, you may pass Actuator
34
+ # data as a hash:
35
+ #
36
+ # {
37
+ # fully_qualified_name: "string", # required
38
+ # data_type: "INT8", # required, accepts INT8, UINT8, INT16, UINT16, INT32, UINT32, INT64, UINT64, BOOLEAN, FLOAT, DOUBLE, STRING, UNIX_TIMESTAMP, INT8_ARRAY, UINT8_ARRAY, INT16_ARRAY, UINT16_ARRAY, INT32_ARRAY, UINT32_ARRAY, INT64_ARRAY, UINT64_ARRAY, BOOLEAN_ARRAY, FLOAT_ARRAY, DOUBLE_ARRAY, STRING_ARRAY, UNIX_TIMESTAMP_ARRAY, UNKNOWN
39
+ # description: "description",
40
+ # unit: "string",
41
+ # allowed_values: ["string"],
42
+ # min: 1.0,
43
+ # max: 1.0,
44
+ # assigned_value: "string",
45
+ # }
46
+ #
47
+ # @!attribute [rw] fully_qualified_name
48
+ # The fully qualified name of the actuator. For example, the fully
49
+ # qualified name of an actuator might be
50
+ # `Vehicle.Front.Left.Door.Lock`.
51
+ # @return [String]
52
+ #
53
+ # @!attribute [rw] data_type
54
+ # The specified data type of the actuator.
55
+ # @return [String]
56
+ #
57
+ # @!attribute [rw] description
58
+ # A brief description of the actuator.
59
+ # @return [String]
60
+ #
61
+ # @!attribute [rw] unit
62
+ # The scientific unit for the actuator.
63
+ # @return [String]
64
+ #
65
+ # @!attribute [rw] allowed_values
66
+ # A list of possible values an actuator can take.
67
+ # @return [Array<String>]
68
+ #
69
+ # @!attribute [rw] min
70
+ # The specified possible minimum value of an actuator.
71
+ # @return [Float]
72
+ #
73
+ # @!attribute [rw] max
74
+ # The specified possible maximum value of an actuator.
75
+ # @return [Float]
76
+ #
77
+ # @!attribute [rw] assigned_value
78
+ # A specified value for the actuator.
79
+ # @return [String]
80
+ #
81
+ class Actuator < Struct.new(
82
+ :fully_qualified_name,
83
+ :data_type,
84
+ :description,
85
+ :unit,
86
+ :allowed_values,
87
+ :min,
88
+ :max,
89
+ :assigned_value)
90
+ SENSITIVE = []
91
+ include Aws::Structure
92
+ end
93
+
94
+ # @note When making an API call, you may pass AssociateVehicleFleetRequest
95
+ # data as a hash:
96
+ #
97
+ # {
98
+ # vehicle_name: "vehicleName", # required
99
+ # fleet_id: "fleetId", # required
100
+ # }
101
+ #
102
+ # @!attribute [rw] vehicle_name
103
+ # The unique ID of the vehicle to associate with the fleet.
104
+ # @return [String]
105
+ #
106
+ # @!attribute [rw] fleet_id
107
+ # The ID of a fleet.
108
+ # @return [String]
109
+ #
110
+ class AssociateVehicleFleetRequest < Struct.new(
111
+ :vehicle_name,
112
+ :fleet_id)
113
+ SENSITIVE = []
114
+ include Aws::Structure
115
+ end
116
+
117
+ class AssociateVehicleFleetResponse < Aws::EmptyStructure; end
118
+
119
+ # A signal that represents static information about the vehicle, such as
120
+ # engine type or manufacturing date.
121
+ #
122
+ # @note When making an API call, you may pass Attribute
123
+ # data as a hash:
124
+ #
125
+ # {
126
+ # fully_qualified_name: "string", # required
127
+ # data_type: "INT8", # required, accepts INT8, UINT8, INT16, UINT16, INT32, UINT32, INT64, UINT64, BOOLEAN, FLOAT, DOUBLE, STRING, UNIX_TIMESTAMP, INT8_ARRAY, UINT8_ARRAY, INT16_ARRAY, UINT16_ARRAY, INT32_ARRAY, UINT32_ARRAY, INT64_ARRAY, UINT64_ARRAY, BOOLEAN_ARRAY, FLOAT_ARRAY, DOUBLE_ARRAY, STRING_ARRAY, UNIX_TIMESTAMP_ARRAY, UNKNOWN
128
+ # description: "description",
129
+ # unit: "string",
130
+ # allowed_values: ["string"],
131
+ # min: 1.0,
132
+ # max: 1.0,
133
+ # assigned_value: "string",
134
+ # default_value: "string",
135
+ # }
136
+ #
137
+ # @!attribute [rw] fully_qualified_name
138
+ # The fully qualified name of the attribute. For example, the fully
139
+ # qualified name of an attribute might be `Vehicle.Body.Engine.Type`.
140
+ # @return [String]
141
+ #
142
+ # @!attribute [rw] data_type
143
+ # The specified data type of the attribute.
144
+ # @return [String]
145
+ #
146
+ # @!attribute [rw] description
147
+ # A brief description of the attribute.
148
+ # @return [String]
149
+ #
150
+ # @!attribute [rw] unit
151
+ # The scientific unit for the attribute.
152
+ # @return [String]
153
+ #
154
+ # @!attribute [rw] allowed_values
155
+ # A list of possible values an attribute can be assigned.
156
+ # @return [Array<String>]
157
+ #
158
+ # @!attribute [rw] min
159
+ # The specified possible minimum value of the attribute.
160
+ # @return [Float]
161
+ #
162
+ # @!attribute [rw] max
163
+ # The specified possible maximum value of the attribute.
164
+ # @return [Float]
165
+ #
166
+ # @!attribute [rw] assigned_value
167
+ # A specified value for the attribute.
168
+ # @return [String]
169
+ #
170
+ # @!attribute [rw] default_value
171
+ # The default value of the attribute.
172
+ # @return [String]
173
+ #
174
+ class Attribute < Struct.new(
175
+ :fully_qualified_name,
176
+ :data_type,
177
+ :description,
178
+ :unit,
179
+ :allowed_values,
180
+ :min,
181
+ :max,
182
+ :assigned_value,
183
+ :default_value)
184
+ SENSITIVE = []
185
+ include Aws::Structure
186
+ end
187
+
188
+ # @note When making an API call, you may pass BatchCreateVehicleRequest
189
+ # data as a hash:
190
+ #
191
+ # {
192
+ # vehicles: [ # required
193
+ # {
194
+ # vehicle_name: "vehicleName", # required
195
+ # model_manifest_arn: "arn", # required
196
+ # decoder_manifest_arn: "arn", # required
197
+ # attributes: {
198
+ # "attributeName" => "attributeValue",
199
+ # },
200
+ # association_behavior: "CreateIotThing", # accepts CreateIotThing, ValidateIotThingExists
201
+ # tags: [
202
+ # {
203
+ # key: "TagKey", # required
204
+ # value: "TagValue", # required
205
+ # },
206
+ # ],
207
+ # },
208
+ # ],
209
+ # }
210
+ #
211
+ # @!attribute [rw] vehicles
212
+ # A list of information about each vehicle to create. For more
213
+ # information, see the API data type.
214
+ # @return [Array<Types::CreateVehicleRequestItem>]
215
+ #
216
+ class BatchCreateVehicleRequest < Struct.new(
217
+ :vehicles)
218
+ SENSITIVE = []
219
+ include Aws::Structure
220
+ end
221
+
222
+ # @!attribute [rw] vehicles
223
+ # A list of information about a batch of created vehicles. For more
224
+ # information, see the API data type.
225
+ # @return [Array<Types::CreateVehicleResponseItem>]
226
+ #
227
+ # @!attribute [rw] errors
228
+ # A list of information about creation errors, or an empty list if
229
+ # there aren't any errors.
230
+ # @return [Array<Types::CreateVehicleError>]
231
+ #
232
+ class BatchCreateVehicleResponse < Struct.new(
233
+ :vehicles,
234
+ :errors)
235
+ SENSITIVE = []
236
+ include Aws::Structure
237
+ end
238
+
239
+ # @note When making an API call, you may pass BatchUpdateVehicleRequest
240
+ # data as a hash:
241
+ #
242
+ # {
243
+ # vehicles: [ # required
244
+ # {
245
+ # vehicle_name: "vehicleName", # required
246
+ # model_manifest_arn: "arn",
247
+ # decoder_manifest_arn: "arn",
248
+ # attributes: {
249
+ # "attributeName" => "attributeValue",
250
+ # },
251
+ # attribute_update_mode: "Overwrite", # accepts Overwrite, Merge
252
+ # },
253
+ # ],
254
+ # }
255
+ #
256
+ # @!attribute [rw] vehicles
257
+ # A list of information about the vehicles to update. For more
258
+ # information, see the API data type.
259
+ # @return [Array<Types::UpdateVehicleRequestItem>]
260
+ #
261
+ class BatchUpdateVehicleRequest < Struct.new(
262
+ :vehicles)
263
+ SENSITIVE = []
264
+ include Aws::Structure
265
+ end
266
+
267
+ # @!attribute [rw] vehicles
268
+ # A list of information about the batch of updated vehicles.
269
+ #
270
+ # <note markdown="1"> This list contains only unique IDs for the vehicles that were
271
+ # updated.
272
+ #
273
+ # </note>
274
+ # @return [Array<Types::UpdateVehicleResponseItem>]
275
+ #
276
+ # @!attribute [rw] errors
277
+ # A list of information about errors returned while updating a batch
278
+ # of vehicles, or, if there aren't any errors, an empty list.
279
+ # @return [Array<Types::UpdateVehicleError>]
280
+ #
281
+ class BatchUpdateVehicleResponse < Struct.new(
282
+ :vehicles,
283
+ :errors)
284
+ SENSITIVE = []
285
+ include Aws::Structure
286
+ end
287
+
288
+ # A group of signals that are defined in a hierarchical structure.
289
+ #
290
+ # @note When making an API call, you may pass Branch
291
+ # data as a hash:
292
+ #
293
+ # {
294
+ # fully_qualified_name: "string", # required
295
+ # description: "description",
296
+ # }
297
+ #
298
+ # @!attribute [rw] fully_qualified_name
299
+ # The fully qualified name of the branch. For example, the fully
300
+ # qualified name of a branch might be `Vehicle.Body.Engine`.
301
+ # @return [String]
302
+ #
303
+ # @!attribute [rw] description
304
+ # A brief description of the branch.
305
+ # @return [String]
306
+ #
307
+ class Branch < Struct.new(
308
+ :fully_qualified_name,
309
+ :description)
310
+ SENSITIVE = []
311
+ include Aws::Structure
312
+ end
313
+
314
+ # Information about a campaign.
315
+ #
316
+ # You can use the API operation to return this information about
317
+ # multiple created campaigns.
318
+ #
319
+ # @!attribute [rw] arn
320
+ # The Amazon Resource Name (ARN) of a campaign.
321
+ # @return [String]
322
+ #
323
+ # @!attribute [rw] name
324
+ # The name of a campaign.
325
+ # @return [String]
326
+ #
327
+ # @!attribute [rw] description
328
+ # The description of the campaign.
329
+ # @return [String]
330
+ #
331
+ # @!attribute [rw] signal_catalog_arn
332
+ # The ARN of the signal catalog associated with the campaign.
333
+ # @return [String]
334
+ #
335
+ # @!attribute [rw] target_arn
336
+ # The ARN of a vehicle or fleet to which the campaign is deployed.
337
+ # @return [String]
338
+ #
339
+ # @!attribute [rw] status
340
+ # The state of a campaign. The status can be one of the following:
341
+ #
342
+ # * `CREATING` - Amazon Web Services IoT FleetWise is processing your
343
+ # request to create the campaign.
344
+ #
345
+ # * `WAITING_FOR_APPROVAL` - After a campaign is created, it enters
346
+ # the `WAITING_FOR_APPROVAL` state. To allow Amazon Web Services IoT
347
+ # FleetWise to deploy the campaign to the target vehicle or fleet,
348
+ # use the API operation to approve the campaign.
349
+ #
350
+ # * `RUNNING` - The campaign is active.
351
+ #
352
+ # * `SUSPENDED` - The campaign is suspended. To resume the campaign,
353
+ # use the API operation.
354
+ # @return [String]
355
+ #
356
+ # @!attribute [rw] creation_time
357
+ # The time the campaign was created.
358
+ # @return [Time]
359
+ #
360
+ # @!attribute [rw] last_modification_time
361
+ # The last time the campaign was modified.
362
+ # @return [Time]
363
+ #
364
+ class CampaignSummary < Struct.new(
365
+ :arn,
366
+ :name,
367
+ :description,
368
+ :signal_catalog_arn,
369
+ :target_arn,
370
+ :status,
371
+ :creation_time,
372
+ :last_modification_time)
373
+ SENSITIVE = []
374
+ include Aws::Structure
375
+ end
376
+
377
+ # Configurations used to create a decoder manifest.
378
+ #
379
+ # @note When making an API call, you may pass CanDbcDefinition
380
+ # data as a hash:
381
+ #
382
+ # {
383
+ # network_interface: "InterfaceId", # required
384
+ # can_dbc_files: ["data"], # required
385
+ # signals_map: {
386
+ # "string" => "string",
387
+ # },
388
+ # }
389
+ #
390
+ # @!attribute [rw] network_interface
391
+ # Contains information about a network interface.
392
+ # @return [String]
393
+ #
394
+ # @!attribute [rw] can_dbc_files
395
+ # A list of DBC files. You can upload only one DBC file for each
396
+ # network interface and specify up to five (inclusive) files in the
397
+ # list.
398
+ # @return [Array<String>]
399
+ #
400
+ # @!attribute [rw] signals_map
401
+ # Pairs every signal specified in your vehicle model with a signal
402
+ # decoder.
403
+ # @return [Hash<String,String>]
404
+ #
405
+ class CanDbcDefinition < Struct.new(
406
+ :network_interface,
407
+ :can_dbc_files,
408
+ :signals_map)
409
+ SENSITIVE = []
410
+ include Aws::Structure
411
+ end
412
+
413
+ # A single controller area network (CAN) device interface.
414
+ #
415
+ # @note When making an API call, you may pass CanInterface
416
+ # data as a hash:
417
+ #
418
+ # {
419
+ # name: "CanInterfaceName", # required
420
+ # protocol_name: "ProtocolName",
421
+ # protocol_version: "ProtocolVersion",
422
+ # }
423
+ #
424
+ # @!attribute [rw] name
425
+ # The unique name of the interface.
426
+ # @return [String]
427
+ #
428
+ # @!attribute [rw] protocol_name
429
+ # The name of the communication protocol for the interface.
430
+ # @return [String]
431
+ #
432
+ # @!attribute [rw] protocol_version
433
+ # The version of the communication protocol for the interface.
434
+ # @return [String]
435
+ #
436
+ class CanInterface < Struct.new(
437
+ :name,
438
+ :protocol_name,
439
+ :protocol_version)
440
+ SENSITIVE = []
441
+ include Aws::Structure
442
+ end
443
+
444
+ # Information about a single controller area network (CAN) signal and
445
+ # the messages it receives and transmits.
446
+ #
447
+ # @note When making an API call, you may pass CanSignal
448
+ # data as a hash:
449
+ #
450
+ # {
451
+ # message_id: 1, # required
452
+ # is_big_endian: false, # required
453
+ # is_signed: false, # required
454
+ # start_bit: 1, # required
455
+ # offset: 1.0, # required
456
+ # factor: 1.0, # required
457
+ # length: 1, # required
458
+ # name: "CanSignalName",
459
+ # }
460
+ #
461
+ # @!attribute [rw] message_id
462
+ # The ID of the message.
463
+ # @return [Integer]
464
+ #
465
+ # @!attribute [rw] is_big_endian
466
+ # Whether the byte ordering of a CAN message is big-endian.
467
+ # @return [Boolean]
468
+ #
469
+ # @!attribute [rw] is_signed
470
+ # Whether the message data is specified as a signed value.
471
+ # @return [Boolean]
472
+ #
473
+ # @!attribute [rw] start_bit
474
+ # Indicates the beginning of the CAN message.
475
+ # @return [Integer]
476
+ #
477
+ # @!attribute [rw] offset
478
+ # Indicates where data appears in the CAN message.
479
+ # @return [Float]
480
+ #
481
+ # @!attribute [rw] factor
482
+ # A multiplier used to decode the CAN message.
483
+ # @return [Float]
484
+ #
485
+ # @!attribute [rw] length
486
+ # How many bytes of data are in the message.
487
+ # @return [Integer]
488
+ #
489
+ # @!attribute [rw] name
490
+ # The name of the signal.
491
+ # @return [String]
492
+ #
493
+ class CanSignal < Struct.new(
494
+ :message_id,
495
+ :is_big_endian,
496
+ :is_signed,
497
+ :start_bit,
498
+ :offset,
499
+ :factor,
500
+ :length,
501
+ :name)
502
+ SENSITIVE = []
503
+ include Aws::Structure
504
+ end
505
+
506
+ # The log delivery option to send data to Amazon CloudWatch Logs.
507
+ #
508
+ # @note When making an API call, you may pass CloudWatchLogDeliveryOptions
509
+ # data as a hash:
510
+ #
511
+ # {
512
+ # log_type: "OFF", # required, accepts OFF, ERROR
513
+ # log_group_name: "CloudWatchLogGroupName",
514
+ # }
515
+ #
516
+ # @!attribute [rw] log_type
517
+ # The type of log to send data to Amazon CloudWatch Logs.
518
+ # @return [String]
519
+ #
520
+ # @!attribute [rw] log_group_name
521
+ # The Amazon CloudWatch Logs group the operation sends data to.
522
+ # @return [String]
523
+ #
524
+ class CloudWatchLogDeliveryOptions < Struct.new(
525
+ :log_type,
526
+ :log_group_name)
527
+ SENSITIVE = []
528
+ include Aws::Structure
529
+ end
530
+
531
+ # Specifies what data to collect and how often or when to collect it.
532
+ #
533
+ # @note CollectionScheme is a union - when making an API calls you must set exactly one of the members.
534
+ #
535
+ # @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.
536
+ #
537
+ # @!attribute [rw] time_based_collection_scheme
538
+ # Information about a collection scheme that uses a time period to
539
+ # decide how often to collect data.
540
+ # @return [Types::TimeBasedCollectionScheme]
541
+ #
542
+ # @!attribute [rw] condition_based_collection_scheme
543
+ # Information about a collection scheme that uses a simple logical
544
+ # expression to recognize what data to collect.
545
+ # @return [Types::ConditionBasedCollectionScheme]
546
+ #
547
+ class CollectionScheme < Struct.new(
548
+ :time_based_collection_scheme,
549
+ :condition_based_collection_scheme,
550
+ :unknown)
551
+ SENSITIVE = []
552
+ include Aws::Structure
553
+ include Aws::Structure::Union
554
+
555
+ class TimeBasedCollectionScheme < CollectionScheme; end
556
+ class ConditionBasedCollectionScheme < CollectionScheme; end
557
+ class Unknown < CollectionScheme; end
558
+ end
559
+
560
+ # Information about a collection scheme that uses a simple logical
561
+ # expression to recognize what data to collect.
562
+ #
563
+ # @note When making an API call, you may pass ConditionBasedCollectionScheme
564
+ # data as a hash:
565
+ #
566
+ # {
567
+ # expression: "eventExpression", # required
568
+ # minimum_trigger_interval_ms: 1,
569
+ # trigger_mode: "ALWAYS", # accepts ALWAYS, RISING_EDGE
570
+ # condition_language_version: 1,
571
+ # }
572
+ #
573
+ # @!attribute [rw] expression
574
+ # The logical expression used to recognize what data to collect. For
575
+ # example, `$variable.Vehicle.OutsideAirTemperature >= 105.0`.
576
+ # @return [String]
577
+ #
578
+ # @!attribute [rw] minimum_trigger_interval_ms
579
+ # The minimum duration of time between two triggering events to
580
+ # collect data, in milliseconds.
581
+ #
582
+ # <note markdown="1"> If a signal changes often, you might want to collect data at a
583
+ # slower rate.
584
+ #
585
+ # </note>
586
+ # @return [Integer]
587
+ #
588
+ # @!attribute [rw] trigger_mode
589
+ # Whether to collect data for all triggering events (`ALWAYS`).
590
+ # Specify (`RISING_EDGE`), or specify only when the condition first
591
+ # evaluates to false. For example, triggering on "AirbagDeployed";
592
+ # Users aren't interested on triggering when the airbag is already
593
+ # exploded; they only care about the change from not deployed =&gt;
594
+ # deployed.
595
+ # @return [String]
596
+ #
597
+ # @!attribute [rw] condition_language_version
598
+ # Specifies the version of the conditional expression language.
599
+ # @return [Integer]
600
+ #
601
+ class ConditionBasedCollectionScheme < Struct.new(
602
+ :expression,
603
+ :minimum_trigger_interval_ms,
604
+ :trigger_mode,
605
+ :condition_language_version)
606
+ SENSITIVE = []
607
+ include Aws::Structure
608
+ end
609
+
610
+ # The request has conflicting operations. This can occur if you're
611
+ # trying to perform more than one operation on the same resource at the
612
+ # same time.
613
+ #
614
+ # @!attribute [rw] message
615
+ # @return [String]
616
+ #
617
+ # @!attribute [rw] resource
618
+ # The resource on which there are conflicting operations.
619
+ # @return [String]
620
+ #
621
+ # @!attribute [rw] resource_type
622
+ # The type of resource on which there are conflicting operations..
623
+ # @return [String]
624
+ #
625
+ class ConflictException < Struct.new(
626
+ :message,
627
+ :resource,
628
+ :resource_type)
629
+ SENSITIVE = []
630
+ include Aws::Structure
631
+ end
632
+
633
+ # @note When making an API call, you may pass CreateCampaignRequest
634
+ # data as a hash:
635
+ #
636
+ # {
637
+ # name: "campaignName", # required
638
+ # description: "description",
639
+ # signal_catalog_arn: "arn", # required
640
+ # target_arn: "arn", # required
641
+ # start_time: Time.now,
642
+ # expiry_time: Time.now,
643
+ # post_trigger_collection_duration: 1,
644
+ # diagnostics_mode: "OFF", # accepts OFF, SEND_ACTIVE_DTCS
645
+ # spooling_mode: "OFF", # accepts OFF, TO_DISK
646
+ # compression: "OFF", # accepts OFF, SNAPPY
647
+ # priority: 1,
648
+ # signals_to_collect: [
649
+ # {
650
+ # name: "wildcardSignalName", # required
651
+ # max_sample_count: 1,
652
+ # minimum_sampling_interval_ms: 1,
653
+ # },
654
+ # ],
655
+ # collection_scheme: { # required
656
+ # time_based_collection_scheme: {
657
+ # period_ms: 1, # required
658
+ # },
659
+ # condition_based_collection_scheme: {
660
+ # expression: "eventExpression", # required
661
+ # minimum_trigger_interval_ms: 1,
662
+ # trigger_mode: "ALWAYS", # accepts ALWAYS, RISING_EDGE
663
+ # condition_language_version: 1,
664
+ # },
665
+ # },
666
+ # data_extra_dimensions: ["NodePath"],
667
+ # tags: [
668
+ # {
669
+ # key: "TagKey", # required
670
+ # value: "TagValue", # required
671
+ # },
672
+ # ],
673
+ # }
674
+ #
675
+ # @!attribute [rw] name
676
+ # The name of the campaign to create.
677
+ # @return [String]
678
+ #
679
+ # @!attribute [rw] description
680
+ # An optional description of the campaign to help identify its
681
+ # purpose.
682
+ # @return [String]
683
+ #
684
+ # @!attribute [rw] signal_catalog_arn
685
+ # (Optional) The Amazon Resource Name (ARN) of the signal catalog to
686
+ # associate with the campaign.
687
+ # @return [String]
688
+ #
689
+ # @!attribute [rw] target_arn
690
+ # The ARN of the vehicle or fleet to deploy a campaign to.
691
+ # @return [String]
692
+ #
693
+ # @!attribute [rw] start_time
694
+ # (Optional) The time, in milliseconds, to deliver a campaign after it
695
+ # was approved. If it's not specified, `0` is used.
696
+ #
697
+ # Default: `0`
698
+ # @return [Time]
699
+ #
700
+ # @!attribute [rw] expiry_time
701
+ # (Optional) The time the campaign expires, in seconds since epoch
702
+ # (January 1, 1970 at midnight UTC time). Vehicle data won't be
703
+ # collected after the campaign expires.
704
+ #
705
+ # Default: 253402243200 (December 31, 9999, 00:00:00 UTC)
706
+ # @return [Time]
707
+ #
708
+ # @!attribute [rw] post_trigger_collection_duration
709
+ # (Optional) How long (in milliseconds) to collect raw data after a
710
+ # triggering event initiates the collection. If it's not specified,
711
+ # `0` is used.
712
+ #
713
+ # Default: `0`
714
+ # @return [Integer]
715
+ #
716
+ # @!attribute [rw] diagnostics_mode
717
+ # (Optional) Option for a vehicle to send diagnostic trouble codes to
718
+ # Amazon Web Services IoT FleetWise. If you want to send diagnostic
719
+ # trouble codes, use `SEND_ACTIVE_DTCS`. If it's not specified, `OFF`
720
+ # is used.
721
+ #
722
+ # Default: `OFF`
723
+ # @return [String]
724
+ #
725
+ # @!attribute [rw] spooling_mode
726
+ # (Optional) Whether to store collected data after a vehicle lost a
727
+ # connection with the cloud. After a connection is re-established, the
728
+ # data is automatically forwarded to Amazon Web Services IoT
729
+ # FleetWise. If you want to store collected data when a vehicle loses
730
+ # connection with the cloud, use `TO_DISK`. If it's not specified,
731
+ # `OFF` is used.
732
+ #
733
+ # Default: `OFF`
734
+ # @return [String]
735
+ #
736
+ # @!attribute [rw] compression
737
+ # (Optional) Whether to compress signals before transmitting data to
738
+ # Amazon Web Services IoT FleetWise. If you don't want to compress
739
+ # the signals, use `OFF`. If it's not specified, `SNAPPY` is used.
740
+ #
741
+ # Default: `SNAPPY`
742
+ # @return [String]
743
+ #
744
+ # @!attribute [rw] priority
745
+ # (Optional) A number indicating the priority of one campaign over
746
+ # another campaign for a certain vehicle or fleet. A campaign with the
747
+ # lowest value is deployed to vehicles before any other campaigns. If
748
+ # it's not specified, `0` is used.
749
+ #
750
+ # Default: `0`
751
+ # @return [Integer]
752
+ #
753
+ # @!attribute [rw] signals_to_collect
754
+ # (Optional) A list of information about signals to collect.
755
+ # @return [Array<Types::SignalInformation>]
756
+ #
757
+ # @!attribute [rw] collection_scheme
758
+ # The data collection scheme associated with the campaign. You can
759
+ # specify a scheme that collects data based on time or an event.
760
+ # @return [Types::CollectionScheme]
761
+ #
762
+ # @!attribute [rw] data_extra_dimensions
763
+ # (Optional) A list of vehicle attributes to associate with a
764
+ # campaign.
765
+ #
766
+ # Default: An empty array
767
+ # @return [Array<String>]
768
+ #
769
+ # @!attribute [rw] tags
770
+ # Metadata that can be used to manage the campaign.
771
+ # @return [Array<Types::Tag>]
772
+ #
773
+ class CreateCampaignRequest < Struct.new(
774
+ :name,
775
+ :description,
776
+ :signal_catalog_arn,
777
+ :target_arn,
778
+ :start_time,
779
+ :expiry_time,
780
+ :post_trigger_collection_duration,
781
+ :diagnostics_mode,
782
+ :spooling_mode,
783
+ :compression,
784
+ :priority,
785
+ :signals_to_collect,
786
+ :collection_scheme,
787
+ :data_extra_dimensions,
788
+ :tags)
789
+ SENSITIVE = []
790
+ include Aws::Structure
791
+ end
792
+
793
+ # @!attribute [rw] name
794
+ # The name of the created campaign.
795
+ # @return [String]
796
+ #
797
+ # @!attribute [rw] arn
798
+ # The ARN of the created campaign.
799
+ # @return [String]
800
+ #
801
+ class CreateCampaignResponse < Struct.new(
802
+ :name,
803
+ :arn)
804
+ SENSITIVE = []
805
+ include Aws::Structure
806
+ end
807
+
808
+ # @note When making an API call, you may pass CreateDecoderManifestRequest
809
+ # data as a hash:
810
+ #
811
+ # {
812
+ # name: "resourceName", # required
813
+ # description: "description",
814
+ # model_manifest_arn: "arn", # required
815
+ # signal_decoders: [
816
+ # {
817
+ # fully_qualified_name: "FullyQualifiedName", # required
818
+ # type: "CAN_SIGNAL", # required, accepts CAN_SIGNAL, OBD_SIGNAL
819
+ # interface_id: "InterfaceId", # required
820
+ # can_signal: {
821
+ # message_id: 1, # required
822
+ # is_big_endian: false, # required
823
+ # is_signed: false, # required
824
+ # start_bit: 1, # required
825
+ # offset: 1.0, # required
826
+ # factor: 1.0, # required
827
+ # length: 1, # required
828
+ # name: "CanSignalName",
829
+ # },
830
+ # obd_signal: {
831
+ # pid_response_length: 1, # required
832
+ # service_mode: 1, # required
833
+ # pid: 1, # required
834
+ # scaling: 1.0, # required
835
+ # offset: 1.0, # required
836
+ # start_byte: 1, # required
837
+ # byte_length: 1, # required
838
+ # bit_right_shift: 1,
839
+ # bit_mask_length: 1,
840
+ # },
841
+ # },
842
+ # ],
843
+ # network_interfaces: [
844
+ # {
845
+ # interface_id: "InterfaceId", # required
846
+ # type: "CAN_INTERFACE", # required, accepts CAN_INTERFACE, OBD_INTERFACE
847
+ # can_interface: {
848
+ # name: "CanInterfaceName", # required
849
+ # protocol_name: "ProtocolName",
850
+ # protocol_version: "ProtocolVersion",
851
+ # },
852
+ # obd_interface: {
853
+ # name: "ObdInterfaceName", # required
854
+ # request_message_id: 1, # required
855
+ # obd_standard: "ObdStandard",
856
+ # pid_request_interval_seconds: 1,
857
+ # dtc_request_interval_seconds: 1,
858
+ # use_extended_ids: false,
859
+ # has_transmission_ecu: false,
860
+ # },
861
+ # },
862
+ # ],
863
+ # tags: [
864
+ # {
865
+ # key: "TagKey", # required
866
+ # value: "TagValue", # required
867
+ # },
868
+ # ],
869
+ # }
870
+ #
871
+ # @!attribute [rw] name
872
+ # The unique name of the decoder manifest to create.
873
+ # @return [String]
874
+ #
875
+ # @!attribute [rw] description
876
+ # A brief description of the decoder manifest.
877
+ # @return [String]
878
+ #
879
+ # @!attribute [rw] model_manifest_arn
880
+ # The Amazon Resource Name (ARN) of the vehicle model (model
881
+ # manifest).
882
+ # @return [String]
883
+ #
884
+ # @!attribute [rw] signal_decoders
885
+ # A list of information about signal decoders.
886
+ # @return [Array<Types::SignalDecoder>]
887
+ #
888
+ # @!attribute [rw] network_interfaces
889
+ # A list of information about available network interfaces.
890
+ # @return [Array<Types::NetworkInterface>]
891
+ #
892
+ # @!attribute [rw] tags
893
+ # Metadata that can be used to manage the decoder manifest.
894
+ # @return [Array<Types::Tag>]
895
+ #
896
+ class CreateDecoderManifestRequest < Struct.new(
897
+ :name,
898
+ :description,
899
+ :model_manifest_arn,
900
+ :signal_decoders,
901
+ :network_interfaces,
902
+ :tags)
903
+ SENSITIVE = []
904
+ include Aws::Structure
905
+ end
906
+
907
+ # @!attribute [rw] name
908
+ # The name of the created decoder manifest.
909
+ # @return [String]
910
+ #
911
+ # @!attribute [rw] arn
912
+ # The ARN of the created decoder manifest.
913
+ # @return [String]
914
+ #
915
+ class CreateDecoderManifestResponse < Struct.new(
916
+ :name,
917
+ :arn)
918
+ SENSITIVE = []
919
+ include Aws::Structure
920
+ end
921
+
922
+ # @note When making an API call, you may pass CreateFleetRequest
923
+ # data as a hash:
924
+ #
925
+ # {
926
+ # fleet_id: "fleetId", # required
927
+ # description: "description",
928
+ # signal_catalog_arn: "arn", # required
929
+ # tags: [
930
+ # {
931
+ # key: "TagKey", # required
932
+ # value: "TagValue", # required
933
+ # },
934
+ # ],
935
+ # }
936
+ #
937
+ # @!attribute [rw] fleet_id
938
+ # The unique ID of the fleet to create.
939
+ # @return [String]
940
+ #
941
+ # @!attribute [rw] description
942
+ # A brief description of the fleet to create.
943
+ # @return [String]
944
+ #
945
+ # @!attribute [rw] signal_catalog_arn
946
+ # The Amazon Resource Name (ARN) of a signal catalog.
947
+ # @return [String]
948
+ #
949
+ # @!attribute [rw] tags
950
+ # Metadata that can be used to manage the fleet.
951
+ # @return [Array<Types::Tag>]
952
+ #
953
+ class CreateFleetRequest < Struct.new(
954
+ :fleet_id,
955
+ :description,
956
+ :signal_catalog_arn,
957
+ :tags)
958
+ SENSITIVE = []
959
+ include Aws::Structure
960
+ end
961
+
962
+ # @!attribute [rw] id
963
+ # The ID of the created fleet.
964
+ # @return [String]
965
+ #
966
+ # @!attribute [rw] arn
967
+ # The ARN of the created fleet.
968
+ # @return [String]
969
+ #
970
+ class CreateFleetResponse < Struct.new(
971
+ :id,
972
+ :arn)
973
+ SENSITIVE = []
974
+ include Aws::Structure
975
+ end
976
+
977
+ # @note When making an API call, you may pass CreateModelManifestRequest
978
+ # data as a hash:
979
+ #
980
+ # {
981
+ # name: "resourceName", # required
982
+ # description: "description",
983
+ # nodes: ["string"], # required
984
+ # signal_catalog_arn: "arn", # required
985
+ # tags: [
986
+ # {
987
+ # key: "TagKey", # required
988
+ # value: "TagValue", # required
989
+ # },
990
+ # ],
991
+ # }
992
+ #
993
+ # @!attribute [rw] name
994
+ # The name of the vehicle model to create.
995
+ # @return [String]
996
+ #
997
+ # @!attribute [rw] description
998
+ # A brief description of the vehicle model.
999
+ # @return [String]
1000
+ #
1001
+ # @!attribute [rw] nodes
1002
+ # A list of nodes, which are a general abstraction of signals.
1003
+ # @return [Array<String>]
1004
+ #
1005
+ # @!attribute [rw] signal_catalog_arn
1006
+ # The Amazon Resource Name (ARN) of a signal catalog.
1007
+ # @return [String]
1008
+ #
1009
+ # @!attribute [rw] tags
1010
+ # Metadata that can be used to manage the vehicle model.
1011
+ # @return [Array<Types::Tag>]
1012
+ #
1013
+ class CreateModelManifestRequest < Struct.new(
1014
+ :name,
1015
+ :description,
1016
+ :nodes,
1017
+ :signal_catalog_arn,
1018
+ :tags)
1019
+ SENSITIVE = []
1020
+ include Aws::Structure
1021
+ end
1022
+
1023
+ # @!attribute [rw] name
1024
+ # The name of the created vehicle model.
1025
+ # @return [String]
1026
+ #
1027
+ # @!attribute [rw] arn
1028
+ # The ARN of the created vehicle model.
1029
+ # @return [String]
1030
+ #
1031
+ class CreateModelManifestResponse < Struct.new(
1032
+ :name,
1033
+ :arn)
1034
+ SENSITIVE = []
1035
+ include Aws::Structure
1036
+ end
1037
+
1038
+ # @note When making an API call, you may pass CreateSignalCatalogRequest
1039
+ # data as a hash:
1040
+ #
1041
+ # {
1042
+ # name: "resourceName", # required
1043
+ # description: "description",
1044
+ # nodes: [
1045
+ # {
1046
+ # branch: {
1047
+ # fully_qualified_name: "string", # required
1048
+ # description: "description",
1049
+ # },
1050
+ # sensor: {
1051
+ # fully_qualified_name: "string", # required
1052
+ # data_type: "INT8", # required, accepts INT8, UINT8, INT16, UINT16, INT32, UINT32, INT64, UINT64, BOOLEAN, FLOAT, DOUBLE, STRING, UNIX_TIMESTAMP, INT8_ARRAY, UINT8_ARRAY, INT16_ARRAY, UINT16_ARRAY, INT32_ARRAY, UINT32_ARRAY, INT64_ARRAY, UINT64_ARRAY, BOOLEAN_ARRAY, FLOAT_ARRAY, DOUBLE_ARRAY, STRING_ARRAY, UNIX_TIMESTAMP_ARRAY, UNKNOWN
1053
+ # description: "description",
1054
+ # unit: "string",
1055
+ # allowed_values: ["string"],
1056
+ # min: 1.0,
1057
+ # max: 1.0,
1058
+ # },
1059
+ # actuator: {
1060
+ # fully_qualified_name: "string", # required
1061
+ # data_type: "INT8", # required, accepts INT8, UINT8, INT16, UINT16, INT32, UINT32, INT64, UINT64, BOOLEAN, FLOAT, DOUBLE, STRING, UNIX_TIMESTAMP, INT8_ARRAY, UINT8_ARRAY, INT16_ARRAY, UINT16_ARRAY, INT32_ARRAY, UINT32_ARRAY, INT64_ARRAY, UINT64_ARRAY, BOOLEAN_ARRAY, FLOAT_ARRAY, DOUBLE_ARRAY, STRING_ARRAY, UNIX_TIMESTAMP_ARRAY, UNKNOWN
1062
+ # description: "description",
1063
+ # unit: "string",
1064
+ # allowed_values: ["string"],
1065
+ # min: 1.0,
1066
+ # max: 1.0,
1067
+ # assigned_value: "string",
1068
+ # },
1069
+ # attribute: {
1070
+ # fully_qualified_name: "string", # required
1071
+ # data_type: "INT8", # required, accepts INT8, UINT8, INT16, UINT16, INT32, UINT32, INT64, UINT64, BOOLEAN, FLOAT, DOUBLE, STRING, UNIX_TIMESTAMP, INT8_ARRAY, UINT8_ARRAY, INT16_ARRAY, UINT16_ARRAY, INT32_ARRAY, UINT32_ARRAY, INT64_ARRAY, UINT64_ARRAY, BOOLEAN_ARRAY, FLOAT_ARRAY, DOUBLE_ARRAY, STRING_ARRAY, UNIX_TIMESTAMP_ARRAY, UNKNOWN
1072
+ # description: "description",
1073
+ # unit: "string",
1074
+ # allowed_values: ["string"],
1075
+ # min: 1.0,
1076
+ # max: 1.0,
1077
+ # assigned_value: "string",
1078
+ # default_value: "string",
1079
+ # },
1080
+ # },
1081
+ # ],
1082
+ # tags: [
1083
+ # {
1084
+ # key: "TagKey", # required
1085
+ # value: "TagValue", # required
1086
+ # },
1087
+ # ],
1088
+ # }
1089
+ #
1090
+ # @!attribute [rw] name
1091
+ # The name of the signal catalog to create.
1092
+ # @return [String]
1093
+ #
1094
+ # @!attribute [rw] description
1095
+ # A brief description of the signal catalog.
1096
+ # @return [String]
1097
+ #
1098
+ # @!attribute [rw] nodes
1099
+ # A list of information about nodes, which are a general abstraction
1100
+ # of signals. For more information, see the API data type.
1101
+ # @return [Array<Types::Node>]
1102
+ #
1103
+ # @!attribute [rw] tags
1104
+ # Metadata that can be used to manage the signal catalog.
1105
+ # @return [Array<Types::Tag>]
1106
+ #
1107
+ class CreateSignalCatalogRequest < Struct.new(
1108
+ :name,
1109
+ :description,
1110
+ :nodes,
1111
+ :tags)
1112
+ SENSITIVE = []
1113
+ include Aws::Structure
1114
+ end
1115
+
1116
+ # @!attribute [rw] name
1117
+ # The name of the created signal catalog.
1118
+ # @return [String]
1119
+ #
1120
+ # @!attribute [rw] arn
1121
+ # The ARN of the created signal catalog.
1122
+ # @return [String]
1123
+ #
1124
+ class CreateSignalCatalogResponse < Struct.new(
1125
+ :name,
1126
+ :arn)
1127
+ SENSITIVE = []
1128
+ include Aws::Structure
1129
+ end
1130
+
1131
+ # An HTTP error resulting from creating a vehicle.
1132
+ #
1133
+ # @!attribute [rw] vehicle_name
1134
+ # The ID of the vehicle with the error.
1135
+ # @return [String]
1136
+ #
1137
+ # @!attribute [rw] code
1138
+ # An HTTP error code.
1139
+ # @return [String]
1140
+ #
1141
+ # @!attribute [rw] message
1142
+ # A description of the HTTP error.
1143
+ # @return [String]
1144
+ #
1145
+ class CreateVehicleError < Struct.new(
1146
+ :vehicle_name,
1147
+ :code,
1148
+ :message)
1149
+ SENSITIVE = []
1150
+ include Aws::Structure
1151
+ end
1152
+
1153
+ # @note When making an API call, you may pass CreateVehicleRequest
1154
+ # data as a hash:
1155
+ #
1156
+ # {
1157
+ # vehicle_name: "vehicleName", # required
1158
+ # model_manifest_arn: "arn", # required
1159
+ # decoder_manifest_arn: "arn", # required
1160
+ # attributes: {
1161
+ # "attributeName" => "attributeValue",
1162
+ # },
1163
+ # association_behavior: "CreateIotThing", # accepts CreateIotThing, ValidateIotThingExists
1164
+ # tags: [
1165
+ # {
1166
+ # key: "TagKey", # required
1167
+ # value: "TagValue", # required
1168
+ # },
1169
+ # ],
1170
+ # }
1171
+ #
1172
+ # @!attribute [rw] vehicle_name
1173
+ # The unique ID of the vehicle to create.
1174
+ # @return [String]
1175
+ #
1176
+ # @!attribute [rw] model_manifest_arn
1177
+ # The Amazon Resource Name ARN of a vehicle model.
1178
+ # @return [String]
1179
+ #
1180
+ # @!attribute [rw] decoder_manifest_arn
1181
+ # The ARN of a decoder manifest.
1182
+ # @return [String]
1183
+ #
1184
+ # @!attribute [rw] attributes
1185
+ # Static information about a vehicle in a key-value pair. For example:
1186
+ # `"engineType"`\: `"1.3 L R2"`
1187
+ # @return [Hash<String,String>]
1188
+ #
1189
+ # @!attribute [rw] association_behavior
1190
+ # An option to create a new Amazon Web Services IoT thing when
1191
+ # creating a vehicle, or to validate an existing Amazon Web Services
1192
+ # IoT thing as a vehicle.
1193
+ #
1194
+ # Default: ``
1195
+ # @return [String]
1196
+ #
1197
+ # @!attribute [rw] tags
1198
+ # Metadata that can be used to manage the vehicle.
1199
+ # @return [Array<Types::Tag>]
1200
+ #
1201
+ class CreateVehicleRequest < Struct.new(
1202
+ :vehicle_name,
1203
+ :model_manifest_arn,
1204
+ :decoder_manifest_arn,
1205
+ :attributes,
1206
+ :association_behavior,
1207
+ :tags)
1208
+ SENSITIVE = []
1209
+ include Aws::Structure
1210
+ end
1211
+
1212
+ # Information about the vehicle to create.
1213
+ #
1214
+ # @note When making an API call, you may pass CreateVehicleRequestItem
1215
+ # data as a hash:
1216
+ #
1217
+ # {
1218
+ # vehicle_name: "vehicleName", # required
1219
+ # model_manifest_arn: "arn", # required
1220
+ # decoder_manifest_arn: "arn", # required
1221
+ # attributes: {
1222
+ # "attributeName" => "attributeValue",
1223
+ # },
1224
+ # association_behavior: "CreateIotThing", # accepts CreateIotThing, ValidateIotThingExists
1225
+ # tags: [
1226
+ # {
1227
+ # key: "TagKey", # required
1228
+ # value: "TagValue", # required
1229
+ # },
1230
+ # ],
1231
+ # }
1232
+ #
1233
+ # @!attribute [rw] vehicle_name
1234
+ # The unique ID of the vehicle to create.
1235
+ # @return [String]
1236
+ #
1237
+ # @!attribute [rw] model_manifest_arn
1238
+ # The ARN of the vehicle model (model manifest) to create the vehicle
1239
+ # from.
1240
+ # @return [String]
1241
+ #
1242
+ # @!attribute [rw] decoder_manifest_arn
1243
+ # The Amazon Resource Name (ARN) of a decoder manifest associated with
1244
+ # the vehicle to create.
1245
+ # @return [String]
1246
+ #
1247
+ # @!attribute [rw] attributes
1248
+ # Static information about a vehicle in a key-value pair. For example:
1249
+ # `"engine Type"`\: `"v6"`
1250
+ # @return [Hash<String,String>]
1251
+ #
1252
+ # @!attribute [rw] association_behavior
1253
+ # An option to create a new Amazon Web Services IoT thing when
1254
+ # creating a vehicle, or to validate an existing thing as a vehicle.
1255
+ # @return [String]
1256
+ #
1257
+ # @!attribute [rw] tags
1258
+ # Metadata which can be used to manage the vehicle.
1259
+ # @return [Array<Types::Tag>]
1260
+ #
1261
+ class CreateVehicleRequestItem < Struct.new(
1262
+ :vehicle_name,
1263
+ :model_manifest_arn,
1264
+ :decoder_manifest_arn,
1265
+ :attributes,
1266
+ :association_behavior,
1267
+ :tags)
1268
+ SENSITIVE = []
1269
+ include Aws::Structure
1270
+ end
1271
+
1272
+ # @!attribute [rw] vehicle_name
1273
+ # The unique ID of the created vehicle.
1274
+ # @return [String]
1275
+ #
1276
+ # @!attribute [rw] arn
1277
+ # The ARN of the created vehicle.
1278
+ # @return [String]
1279
+ #
1280
+ # @!attribute [rw] thing_arn
1281
+ # The ARN of a created or validated Amazon Web Services IoT thing.
1282
+ # @return [String]
1283
+ #
1284
+ class CreateVehicleResponse < Struct.new(
1285
+ :vehicle_name,
1286
+ :arn,
1287
+ :thing_arn)
1288
+ SENSITIVE = []
1289
+ include Aws::Structure
1290
+ end
1291
+
1292
+ # Information about a created vehicle.
1293
+ #
1294
+ # @!attribute [rw] vehicle_name
1295
+ # The unique ID of the vehicle to create.
1296
+ # @return [String]
1297
+ #
1298
+ # @!attribute [rw] arn
1299
+ # The ARN of the created vehicle.
1300
+ # @return [String]
1301
+ #
1302
+ # @!attribute [rw] thing_arn
1303
+ # The ARN of a created or validated Amazon Web Services IoT thing.
1304
+ # @return [String]
1305
+ #
1306
+ class CreateVehicleResponseItem < Struct.new(
1307
+ :vehicle_name,
1308
+ :arn,
1309
+ :thing_arn)
1310
+ SENSITIVE = []
1311
+ include Aws::Structure
1312
+ end
1313
+
1314
+ # Information about a created decoder manifest. You can use the API
1315
+ # operation to return this information about multiple decoder manifests.
1316
+ #
1317
+ # @!attribute [rw] name
1318
+ # The name of the decoder manifest.
1319
+ # @return [String]
1320
+ #
1321
+ # @!attribute [rw] arn
1322
+ # The ARN of a vehicle model (model manifest) associated with the
1323
+ # decoder manifest.
1324
+ # @return [String]
1325
+ #
1326
+ # @!attribute [rw] model_manifest_arn
1327
+ # The ARN of a vehicle model (model manifest) associated with the
1328
+ # decoder manifest.
1329
+ # @return [String]
1330
+ #
1331
+ # @!attribute [rw] description
1332
+ # A brief description of the decoder manifest.
1333
+ # @return [String]
1334
+ #
1335
+ # @!attribute [rw] status
1336
+ # The state of the decoder manifest. If the status is `ACTIVE`, the
1337
+ # decoder manifest can't be edited. If the status is marked `DRAFT`,
1338
+ # you can edit the decoder manifest.
1339
+ # @return [String]
1340
+ #
1341
+ # @!attribute [rw] creation_time
1342
+ # The time the decoder manifest was created in seconds since epoch
1343
+ # (January 1, 1970 at midnight UTC time).
1344
+ # @return [Time]
1345
+ #
1346
+ # @!attribute [rw] last_modification_time
1347
+ # The time the decoder manifest was last updated in seconds since
1348
+ # epoch (January 1, 1970 at midnight UTC time).
1349
+ # @return [Time]
1350
+ #
1351
+ class DecoderManifestSummary < Struct.new(
1352
+ :name,
1353
+ :arn,
1354
+ :model_manifest_arn,
1355
+ :description,
1356
+ :status,
1357
+ :creation_time,
1358
+ :last_modification_time)
1359
+ SENSITIVE = []
1360
+ include Aws::Structure
1361
+ end
1362
+
1363
+ # The request couldn't be completed because it contains signal decoders
1364
+ # with one or more validation errors.
1365
+ #
1366
+ # @!attribute [rw] invalid_signals
1367
+ # The request couldn't be completed because of invalid signals in the
1368
+ # request.
1369
+ # @return [Array<Types::InvalidSignalDecoder>]
1370
+ #
1371
+ # @!attribute [rw] invalid_network_interfaces
1372
+ # The request couldn't be completed because of invalid network
1373
+ # interfaces in the request.
1374
+ # @return [Array<Types::InvalidNetworkInterface>]
1375
+ #
1376
+ class DecoderManifestValidationException < Struct.new(
1377
+ :invalid_signals,
1378
+ :invalid_network_interfaces)
1379
+ SENSITIVE = []
1380
+ include Aws::Structure
1381
+ end
1382
+
1383
+ # @note When making an API call, you may pass DeleteCampaignRequest
1384
+ # data as a hash:
1385
+ #
1386
+ # {
1387
+ # name: "campaignName", # required
1388
+ # }
1389
+ #
1390
+ # @!attribute [rw] name
1391
+ # The name of the campaign to delete.
1392
+ # @return [String]
1393
+ #
1394
+ class DeleteCampaignRequest < Struct.new(
1395
+ :name)
1396
+ SENSITIVE = []
1397
+ include Aws::Structure
1398
+ end
1399
+
1400
+ # @!attribute [rw] name
1401
+ # The name of the deleted campaign.
1402
+ # @return [String]
1403
+ #
1404
+ # @!attribute [rw] arn
1405
+ # The Amazon Resource Name (ARN) of the deleted campaign.
1406
+ #
1407
+ # <note markdown="1"> The ARN isn’t returned if a campaign doesn’t exist.
1408
+ #
1409
+ # </note>
1410
+ # @return [String]
1411
+ #
1412
+ class DeleteCampaignResponse < Struct.new(
1413
+ :name,
1414
+ :arn)
1415
+ SENSITIVE = []
1416
+ include Aws::Structure
1417
+ end
1418
+
1419
+ # @note When making an API call, you may pass DeleteDecoderManifestRequest
1420
+ # data as a hash:
1421
+ #
1422
+ # {
1423
+ # name: "resourceName", # required
1424
+ # }
1425
+ #
1426
+ # @!attribute [rw] name
1427
+ # The name of the decoder manifest to delete.
1428
+ # @return [String]
1429
+ #
1430
+ class DeleteDecoderManifestRequest < Struct.new(
1431
+ :name)
1432
+ SENSITIVE = []
1433
+ include Aws::Structure
1434
+ end
1435
+
1436
+ # @!attribute [rw] name
1437
+ # The name of the deleted decoder manifest.
1438
+ # @return [String]
1439
+ #
1440
+ # @!attribute [rw] arn
1441
+ # The Amazon Resource Name (ARN) of the deleted decoder manifest.
1442
+ # @return [String]
1443
+ #
1444
+ class DeleteDecoderManifestResponse < Struct.new(
1445
+ :name,
1446
+ :arn)
1447
+ SENSITIVE = []
1448
+ include Aws::Structure
1449
+ end
1450
+
1451
+ # @note When making an API call, you may pass DeleteFleetRequest
1452
+ # data as a hash:
1453
+ #
1454
+ # {
1455
+ # fleet_id: "fleetId", # required
1456
+ # }
1457
+ #
1458
+ # @!attribute [rw] fleet_id
1459
+ # The ID of the fleet to delete.
1460
+ # @return [String]
1461
+ #
1462
+ class DeleteFleetRequest < Struct.new(
1463
+ :fleet_id)
1464
+ SENSITIVE = []
1465
+ include Aws::Structure
1466
+ end
1467
+
1468
+ # @!attribute [rw] id
1469
+ # The ID of the deleted fleet.
1470
+ # @return [String]
1471
+ #
1472
+ # @!attribute [rw] arn
1473
+ # The Amazon Resource Name (ARN) of the deleted fleet.
1474
+ # @return [String]
1475
+ #
1476
+ class DeleteFleetResponse < Struct.new(
1477
+ :id,
1478
+ :arn)
1479
+ SENSITIVE = []
1480
+ include Aws::Structure
1481
+ end
1482
+
1483
+ # @note When making an API call, you may pass DeleteModelManifestRequest
1484
+ # data as a hash:
1485
+ #
1486
+ # {
1487
+ # name: "resourceName", # required
1488
+ # }
1489
+ #
1490
+ # @!attribute [rw] name
1491
+ # The name of the model manifest to delete.
1492
+ # @return [String]
1493
+ #
1494
+ class DeleteModelManifestRequest < Struct.new(
1495
+ :name)
1496
+ SENSITIVE = []
1497
+ include Aws::Structure
1498
+ end
1499
+
1500
+ # @!attribute [rw] name
1501
+ # The name of the deleted model manifest.
1502
+ # @return [String]
1503
+ #
1504
+ # @!attribute [rw] arn
1505
+ # The Amazon Resource Name (ARN) of the deleted model manifest.
1506
+ # @return [String]
1507
+ #
1508
+ class DeleteModelManifestResponse < Struct.new(
1509
+ :name,
1510
+ :arn)
1511
+ SENSITIVE = []
1512
+ include Aws::Structure
1513
+ end
1514
+
1515
+ # @note When making an API call, you may pass DeleteSignalCatalogRequest
1516
+ # data as a hash:
1517
+ #
1518
+ # {
1519
+ # name: "resourceName", # required
1520
+ # }
1521
+ #
1522
+ # @!attribute [rw] name
1523
+ # The name of the signal catalog to delete.
1524
+ # @return [String]
1525
+ #
1526
+ class DeleteSignalCatalogRequest < Struct.new(
1527
+ :name)
1528
+ SENSITIVE = []
1529
+ include Aws::Structure
1530
+ end
1531
+
1532
+ # @!attribute [rw] name
1533
+ # The name of the deleted signal catalog.
1534
+ # @return [String]
1535
+ #
1536
+ # @!attribute [rw] arn
1537
+ # The Amazon Resource Name (ARN) of the deleted signal catalog.
1538
+ # @return [String]
1539
+ #
1540
+ class DeleteSignalCatalogResponse < Struct.new(
1541
+ :name,
1542
+ :arn)
1543
+ SENSITIVE = []
1544
+ include Aws::Structure
1545
+ end
1546
+
1547
+ # @note When making an API call, you may pass DeleteVehicleRequest
1548
+ # data as a hash:
1549
+ #
1550
+ # {
1551
+ # vehicle_name: "vehicleName", # required
1552
+ # }
1553
+ #
1554
+ # @!attribute [rw] vehicle_name
1555
+ # The ID of the vehicle to delete.
1556
+ # @return [String]
1557
+ #
1558
+ class DeleteVehicleRequest < Struct.new(
1559
+ :vehicle_name)
1560
+ SENSITIVE = []
1561
+ include Aws::Structure
1562
+ end
1563
+
1564
+ # @!attribute [rw] vehicle_name
1565
+ # The ID of the deleted vehicle.
1566
+ # @return [String]
1567
+ #
1568
+ # @!attribute [rw] arn
1569
+ # The Amazon Resource Name (ARN) of the deleted vehicle.
1570
+ # @return [String]
1571
+ #
1572
+ class DeleteVehicleResponse < Struct.new(
1573
+ :vehicle_name,
1574
+ :arn)
1575
+ SENSITIVE = []
1576
+ include Aws::Structure
1577
+ end
1578
+
1579
+ # @note When making an API call, you may pass DisassociateVehicleFleetRequest
1580
+ # data as a hash:
1581
+ #
1582
+ # {
1583
+ # vehicle_name: "vehicleName", # required
1584
+ # fleet_id: "fleetId", # required
1585
+ # }
1586
+ #
1587
+ # @!attribute [rw] vehicle_name
1588
+ # The unique ID of the vehicle to disassociate from the fleet.
1589
+ # @return [String]
1590
+ #
1591
+ # @!attribute [rw] fleet_id
1592
+ # The unique ID of a fleet.
1593
+ # @return [String]
1594
+ #
1595
+ class DisassociateVehicleFleetRequest < Struct.new(
1596
+ :vehicle_name,
1597
+ :fleet_id)
1598
+ SENSITIVE = []
1599
+ include Aws::Structure
1600
+ end
1601
+
1602
+ class DisassociateVehicleFleetResponse < Aws::EmptyStructure; end
1603
+
1604
+ # Information about a fleet.
1605
+ #
1606
+ # You can use the API operation to return this information about
1607
+ # multiple fleets.
1608
+ #
1609
+ # @!attribute [rw] id
1610
+ # The unique ID of the fleet.
1611
+ # @return [String]
1612
+ #
1613
+ # @!attribute [rw] arn
1614
+ # The Amazon Resource Name (ARN) of the fleet.
1615
+ # @return [String]
1616
+ #
1617
+ # @!attribute [rw] description
1618
+ # A brief description of the fleet.
1619
+ # @return [String]
1620
+ #
1621
+ # @!attribute [rw] signal_catalog_arn
1622
+ # The ARN of the signal catalog associated with the fleet.
1623
+ # @return [String]
1624
+ #
1625
+ # @!attribute [rw] creation_time
1626
+ # The time the fleet was created, in seconds since epoch (January 1,
1627
+ # 1970 at midnight UTC time).
1628
+ # @return [Time]
1629
+ #
1630
+ # @!attribute [rw] last_modification_time
1631
+ # The time the fleet was last updated in seconds since epoch (January
1632
+ # 1, 1970 at midnight UTC time).
1633
+ # @return [Time]
1634
+ #
1635
+ class FleetSummary < Struct.new(
1636
+ :id,
1637
+ :arn,
1638
+ :description,
1639
+ :signal_catalog_arn,
1640
+ :creation_time,
1641
+ :last_modification_time)
1642
+ SENSITIVE = []
1643
+ include Aws::Structure
1644
+ end
1645
+
1646
+ # Vehicle Signal Specification (VSS) is a precise language used to
1647
+ # describe and model signals in vehicle networks. The JSON file collects
1648
+ # signal specificiations in a VSS format.
1649
+ #
1650
+ # @note FormattedVss is a union - when making an API calls you must set exactly one of the members.
1651
+ #
1652
+ # @!attribute [rw] vss_json
1653
+ # Provides the VSS in JSON format.
1654
+ # @return [String]
1655
+ #
1656
+ class FormattedVss < Struct.new(
1657
+ :vss_json,
1658
+ :unknown)
1659
+ SENSITIVE = []
1660
+ include Aws::Structure
1661
+ include Aws::Structure::Union
1662
+
1663
+ class VssJson < FormattedVss; end
1664
+ class Unknown < FormattedVss; end
1665
+ end
1666
+
1667
+ # @note When making an API call, you may pass GetCampaignRequest
1668
+ # data as a hash:
1669
+ #
1670
+ # {
1671
+ # name: "campaignName", # required
1672
+ # }
1673
+ #
1674
+ # @!attribute [rw] name
1675
+ # The name of the campaign to retrieve information about.
1676
+ # @return [String]
1677
+ #
1678
+ class GetCampaignRequest < Struct.new(
1679
+ :name)
1680
+ SENSITIVE = []
1681
+ include Aws::Structure
1682
+ end
1683
+
1684
+ # @!attribute [rw] name
1685
+ # The name of the campaign.
1686
+ # @return [String]
1687
+ #
1688
+ # @!attribute [rw] arn
1689
+ # The Amazon Resource Name (ARN) of the campaign.
1690
+ # @return [String]
1691
+ #
1692
+ # @!attribute [rw] description
1693
+ # The description of the campaign.
1694
+ # @return [String]
1695
+ #
1696
+ # @!attribute [rw] signal_catalog_arn
1697
+ # The ARN of a signal catalog.
1698
+ # @return [String]
1699
+ #
1700
+ # @!attribute [rw] target_arn
1701
+ # The ARN of the vehicle or the fleet targeted by the campaign.
1702
+ # @return [String]
1703
+ #
1704
+ # @!attribute [rw] status
1705
+ # The state of the campaign. The status can be one of: `CREATING`,
1706
+ # `WAITING_FOR_APPROVAL`, `RUNNING`, and `SUSPENDED`.
1707
+ # @return [String]
1708
+ #
1709
+ # @!attribute [rw] start_time
1710
+ # The time, in milliseconds, to deliver a campaign after it was
1711
+ # approved.
1712
+ # @return [Time]
1713
+ #
1714
+ # @!attribute [rw] expiry_time
1715
+ # The time the campaign expires, in seconds since epoch (January 1,
1716
+ # 1970 at midnight UTC time). Vehicle data won't be collected after
1717
+ # the campaign expires.
1718
+ # @return [Time]
1719
+ #
1720
+ # @!attribute [rw] post_trigger_collection_duration
1721
+ # How long (in seconds) to collect raw data after a triggering event
1722
+ # initiates the collection.
1723
+ # @return [Integer]
1724
+ #
1725
+ # @!attribute [rw] diagnostics_mode
1726
+ # Option for a vehicle to send diagnostic trouble codes to Amazon Web
1727
+ # Services IoT FleetWise.
1728
+ # @return [String]
1729
+ #
1730
+ # @!attribute [rw] spooling_mode
1731
+ # Whether to store collected data after a vehicle lost a connection
1732
+ # with the cloud. After a connection is re-established, the data is
1733
+ # automatically forwarded to Amazon Web Services IoT FleetWise.
1734
+ # @return [String]
1735
+ #
1736
+ # @!attribute [rw] compression
1737
+ # Whether to compress signals before transmitting data to Amazon Web
1738
+ # Services IoT FleetWise. If `OFF` is specified, the signals aren't
1739
+ # compressed. If it's not specified, `SNAPPY` is used.
1740
+ # @return [String]
1741
+ #
1742
+ # @!attribute [rw] priority
1743
+ # A number indicating the priority of one campaign over another
1744
+ # campaign for a certain vehicle or fleet. A campaign with the lowest
1745
+ # value is deployed to vehicles before any other campaigns.
1746
+ # @return [Integer]
1747
+ #
1748
+ # @!attribute [rw] signals_to_collect
1749
+ # Information about a list of signals to collect data on.
1750
+ # @return [Array<Types::SignalInformation>]
1751
+ #
1752
+ # @!attribute [rw] collection_scheme
1753
+ # Information about the data collection scheme associated with the
1754
+ # campaign.
1755
+ # @return [Types::CollectionScheme]
1756
+ #
1757
+ # @!attribute [rw] data_extra_dimensions
1758
+ # A list of vehicle attributes associated with the campaign.
1759
+ # @return [Array<String>]
1760
+ #
1761
+ # @!attribute [rw] creation_time
1762
+ # The time the campaign was created in seconds since epoch (January 1,
1763
+ # 1970 at midnight UTC time).
1764
+ # @return [Time]
1765
+ #
1766
+ # @!attribute [rw] last_modification_time
1767
+ # The last time the campaign was modified.
1768
+ # @return [Time]
1769
+ #
1770
+ class GetCampaignResponse < Struct.new(
1771
+ :name,
1772
+ :arn,
1773
+ :description,
1774
+ :signal_catalog_arn,
1775
+ :target_arn,
1776
+ :status,
1777
+ :start_time,
1778
+ :expiry_time,
1779
+ :post_trigger_collection_duration,
1780
+ :diagnostics_mode,
1781
+ :spooling_mode,
1782
+ :compression,
1783
+ :priority,
1784
+ :signals_to_collect,
1785
+ :collection_scheme,
1786
+ :data_extra_dimensions,
1787
+ :creation_time,
1788
+ :last_modification_time)
1789
+ SENSITIVE = []
1790
+ include Aws::Structure
1791
+ end
1792
+
1793
+ # @note When making an API call, you may pass GetDecoderManifestRequest
1794
+ # data as a hash:
1795
+ #
1796
+ # {
1797
+ # name: "resourceName", # required
1798
+ # }
1799
+ #
1800
+ # @!attribute [rw] name
1801
+ # The name of the decoder manifest to retrieve information about.
1802
+ # @return [String]
1803
+ #
1804
+ class GetDecoderManifestRequest < Struct.new(
1805
+ :name)
1806
+ SENSITIVE = []
1807
+ include Aws::Structure
1808
+ end
1809
+
1810
+ # @!attribute [rw] name
1811
+ # The name of the decoder manifest.
1812
+ # @return [String]
1813
+ #
1814
+ # @!attribute [rw] arn
1815
+ # The Amazon Resource Name (ARN) of the decoder manifest.
1816
+ # @return [String]
1817
+ #
1818
+ # @!attribute [rw] description
1819
+ # A brief description of the decoder manifest.
1820
+ # @return [String]
1821
+ #
1822
+ # @!attribute [rw] model_manifest_arn
1823
+ # The ARN of a vehicle model (model manifest) associated with the
1824
+ # decoder manifest.
1825
+ # @return [String]
1826
+ #
1827
+ # @!attribute [rw] status
1828
+ # The state of the decoder manifest. If the status is `ACTIVE`, the
1829
+ # decoder manifest can't be edited. If the status is marked `DRAFT`,
1830
+ # you can edit the decoder manifest.
1831
+ # @return [String]
1832
+ #
1833
+ # @!attribute [rw] creation_time
1834
+ # The time the decoder manifest was created in seconds since epoch
1835
+ # (January 1, 1970 at midnight UTC time).
1836
+ # @return [Time]
1837
+ #
1838
+ # @!attribute [rw] last_modification_time
1839
+ # The time the decoder manifest was last updated in seconds since
1840
+ # epoch (January 1, 1970 at midnight UTC time).
1841
+ # @return [Time]
1842
+ #
1843
+ class GetDecoderManifestResponse < Struct.new(
1844
+ :name,
1845
+ :arn,
1846
+ :description,
1847
+ :model_manifest_arn,
1848
+ :status,
1849
+ :creation_time,
1850
+ :last_modification_time)
1851
+ SENSITIVE = []
1852
+ include Aws::Structure
1853
+ end
1854
+
1855
+ # @note When making an API call, you may pass GetFleetRequest
1856
+ # data as a hash:
1857
+ #
1858
+ # {
1859
+ # fleet_id: "fleetId", # required
1860
+ # }
1861
+ #
1862
+ # @!attribute [rw] fleet_id
1863
+ # The ID of the fleet to retrieve information about.
1864
+ # @return [String]
1865
+ #
1866
+ class GetFleetRequest < Struct.new(
1867
+ :fleet_id)
1868
+ SENSITIVE = []
1869
+ include Aws::Structure
1870
+ end
1871
+
1872
+ # @!attribute [rw] id
1873
+ # The ID of the fleet.
1874
+ # @return [String]
1875
+ #
1876
+ # @!attribute [rw] arn
1877
+ # The Amazon Resource Name (ARN) of the fleet.
1878
+ # @return [String]
1879
+ #
1880
+ # @!attribute [rw] description
1881
+ # A brief description of the fleet.
1882
+ # @return [String]
1883
+ #
1884
+ # @!attribute [rw] signal_catalog_arn
1885
+ # The ARN of a signal catalog associated with the fleet.
1886
+ # @return [String]
1887
+ #
1888
+ # @!attribute [rw] creation_time
1889
+ # The time the fleet was created in seconds since epoch (January 1,
1890
+ # 1970 at midnight UTC time).
1891
+ # @return [Time]
1892
+ #
1893
+ # @!attribute [rw] last_modification_time
1894
+ # The time the fleet was last updated, in seconds since epoch (January
1895
+ # 1, 1970 at midnight UTC time).
1896
+ # @return [Time]
1897
+ #
1898
+ class GetFleetResponse < Struct.new(
1899
+ :id,
1900
+ :arn,
1901
+ :description,
1902
+ :signal_catalog_arn,
1903
+ :creation_time,
1904
+ :last_modification_time)
1905
+ SENSITIVE = []
1906
+ include Aws::Structure
1907
+ end
1908
+
1909
+ # @api private
1910
+ #
1911
+ class GetLoggingOptionsRequest < Aws::EmptyStructure; end
1912
+
1913
+ # @!attribute [rw] cloud_watch_log_delivery
1914
+ # Returns information about log delivery to Amazon CloudWatch Logs.
1915
+ # @return [Types::CloudWatchLogDeliveryOptions]
1916
+ #
1917
+ class GetLoggingOptionsResponse < Struct.new(
1918
+ :cloud_watch_log_delivery)
1919
+ SENSITIVE = []
1920
+ include Aws::Structure
1921
+ end
1922
+
1923
+ # @note When making an API call, you may pass GetModelManifestRequest
1924
+ # data as a hash:
1925
+ #
1926
+ # {
1927
+ # name: "resourceName", # required
1928
+ # }
1929
+ #
1930
+ # @!attribute [rw] name
1931
+ # The name of the vehicle model to retrieve information about.
1932
+ # @return [String]
1933
+ #
1934
+ class GetModelManifestRequest < Struct.new(
1935
+ :name)
1936
+ SENSITIVE = []
1937
+ include Aws::Structure
1938
+ end
1939
+
1940
+ # @!attribute [rw] name
1941
+ # The name of the vehicle model.
1942
+ # @return [String]
1943
+ #
1944
+ # @!attribute [rw] arn
1945
+ # The Amazon Resource Name (ARN) of the vehicle model.
1946
+ # @return [String]
1947
+ #
1948
+ # @!attribute [rw] description
1949
+ # A brief description of the vehicle model.
1950
+ # @return [String]
1951
+ #
1952
+ # @!attribute [rw] signal_catalog_arn
1953
+ # The ARN of the signal catalog associated with the vehicle model.
1954
+ # @return [String]
1955
+ #
1956
+ # @!attribute [rw] status
1957
+ # The state of the vehicle model. If the status is `ACTIVE`, the
1958
+ # vehicle model can't be edited. You can edit the vehicle model if
1959
+ # the status is marked `DRAFT`.
1960
+ # @return [String]
1961
+ #
1962
+ # @!attribute [rw] creation_time
1963
+ # The time the vehicle model was created, in seconds since epoch
1964
+ # (January 1, 1970 at midnight UTC time).
1965
+ # @return [Time]
1966
+ #
1967
+ # @!attribute [rw] last_modification_time
1968
+ # The last time the vehicle model was modified.
1969
+ # @return [Time]
1970
+ #
1971
+ class GetModelManifestResponse < Struct.new(
1972
+ :name,
1973
+ :arn,
1974
+ :description,
1975
+ :signal_catalog_arn,
1976
+ :status,
1977
+ :creation_time,
1978
+ :last_modification_time)
1979
+ SENSITIVE = []
1980
+ include Aws::Structure
1981
+ end
1982
+
1983
+ # @api private
1984
+ #
1985
+ class GetRegisterAccountStatusRequest < Aws::EmptyStructure; end
1986
+
1987
+ # @!attribute [rw] customer_account_id
1988
+ # The unique ID of the Amazon Web Services account, provided at
1989
+ # account creation.
1990
+ # @return [String]
1991
+ #
1992
+ # @!attribute [rw] account_status
1993
+ # The status of registering your account and resources. The status can
1994
+ # be one of:
1995
+ #
1996
+ # * `REGISTRATION_SUCCESS` - The Amazon Web Services resource is
1997
+ # successfully registered.
1998
+ #
1999
+ # * `REGISTRATION_PENDING` - Amazon Web Services IoT FleetWise is
2000
+ # processing the registration request. This process takes
2001
+ # approximately five minutes to complete.
2002
+ #
2003
+ # * `REGISTRATION_FAILURE` - Amazon Web Services IoT FleetWise can't
2004
+ # register the AWS resource. Try again later.
2005
+ # @return [String]
2006
+ #
2007
+ # @!attribute [rw] timestream_registration_response
2008
+ # Information about the registered Amazon Timestream resources or
2009
+ # errors, if any.
2010
+ # @return [Types::TimestreamRegistrationResponse]
2011
+ #
2012
+ # @!attribute [rw] iam_registration_response
2013
+ # Information about the registered IAM resources or errors, if any.
2014
+ # @return [Types::IamRegistrationResponse]
2015
+ #
2016
+ # @!attribute [rw] creation_time
2017
+ # The time the account was registered, in seconds since epoch (January
2018
+ # 1, 1970 at midnight UTC time).
2019
+ # @return [Time]
2020
+ #
2021
+ # @!attribute [rw] last_modification_time
2022
+ # The time this registration was last updated, in seconds since epoch
2023
+ # (January 1, 1970 at midnight UTC time).
2024
+ # @return [Time]
2025
+ #
2026
+ class GetRegisterAccountStatusResponse < Struct.new(
2027
+ :customer_account_id,
2028
+ :account_status,
2029
+ :timestream_registration_response,
2030
+ :iam_registration_response,
2031
+ :creation_time,
2032
+ :last_modification_time)
2033
+ SENSITIVE = []
2034
+ include Aws::Structure
2035
+ end
2036
+
2037
+ # @note When making an API call, you may pass GetSignalCatalogRequest
2038
+ # data as a hash:
2039
+ #
2040
+ # {
2041
+ # name: "resourceName", # required
2042
+ # }
2043
+ #
2044
+ # @!attribute [rw] name
2045
+ # The name of the signal catalog to retrieve information about.
2046
+ # @return [String]
2047
+ #
2048
+ class GetSignalCatalogRequest < Struct.new(
2049
+ :name)
2050
+ SENSITIVE = []
2051
+ include Aws::Structure
2052
+ end
2053
+
2054
+ # @!attribute [rw] name
2055
+ # The name of the signal catalog.
2056
+ # @return [String]
2057
+ #
2058
+ # @!attribute [rw] arn
2059
+ # The Amazon Resource Name (ARN) of the signal catalog.
2060
+ # @return [String]
2061
+ #
2062
+ # @!attribute [rw] description
2063
+ # A brief description of the signal catalog.
2064
+ # @return [String]
2065
+ #
2066
+ # @!attribute [rw] node_counts
2067
+ # The total number of network nodes specified in a signal catalog.
2068
+ # @return [Types::NodeCounts]
2069
+ #
2070
+ # @!attribute [rw] creation_time
2071
+ # The time the signal catalog was created in seconds since epoch
2072
+ # (January 1, 1970 at midnight UTC time).
2073
+ # @return [Time]
2074
+ #
2075
+ # @!attribute [rw] last_modification_time
2076
+ # The last time the signal catalog was modified.
2077
+ # @return [Time]
2078
+ #
2079
+ class GetSignalCatalogResponse < Struct.new(
2080
+ :name,
2081
+ :arn,
2082
+ :description,
2083
+ :node_counts,
2084
+ :creation_time,
2085
+ :last_modification_time)
2086
+ SENSITIVE = []
2087
+ include Aws::Structure
2088
+ end
2089
+
2090
+ # @note When making an API call, you may pass GetVehicleRequest
2091
+ # data as a hash:
2092
+ #
2093
+ # {
2094
+ # vehicle_name: "vehicleName", # required
2095
+ # }
2096
+ #
2097
+ # @!attribute [rw] vehicle_name
2098
+ # The ID of the vehicle to retrieve information about.
2099
+ # @return [String]
2100
+ #
2101
+ class GetVehicleRequest < Struct.new(
2102
+ :vehicle_name)
2103
+ SENSITIVE = []
2104
+ include Aws::Structure
2105
+ end
2106
+
2107
+ # @!attribute [rw] vehicle_name
2108
+ # The ID of the vehicle.
2109
+ # @return [String]
2110
+ #
2111
+ # @!attribute [rw] arn
2112
+ # The Amazon Resource Name (ARN) of the vehicle to retrieve
2113
+ # information about.
2114
+ # @return [String]
2115
+ #
2116
+ # @!attribute [rw] model_manifest_arn
2117
+ # The ARN of a vehicle model (model manifest) associated with the
2118
+ # vehicle.
2119
+ # @return [String]
2120
+ #
2121
+ # @!attribute [rw] decoder_manifest_arn
2122
+ # The ARN of a decoder manifest associated with the vehicle.
2123
+ # @return [String]
2124
+ #
2125
+ # @!attribute [rw] attributes
2126
+ # Static information about a vehicle in a key-value pair. For example:
2127
+ #
2128
+ # `"engineType"`\: `"1.3 L R2"`
2129
+ # @return [Hash<String,String>]
2130
+ #
2131
+ # @!attribute [rw] creation_time
2132
+ # The time the vehicle was created in seconds since epoch (January 1,
2133
+ # 1970 at midnight UTC time).
2134
+ # @return [Time]
2135
+ #
2136
+ # @!attribute [rw] last_modification_time
2137
+ # The time the vehicle was last updated in seconds since epoch
2138
+ # (January 1, 1970 at midnight UTC time).
2139
+ # @return [Time]
2140
+ #
2141
+ class GetVehicleResponse < Struct.new(
2142
+ :vehicle_name,
2143
+ :arn,
2144
+ :model_manifest_arn,
2145
+ :decoder_manifest_arn,
2146
+ :attributes,
2147
+ :creation_time,
2148
+ :last_modification_time)
2149
+ SENSITIVE = []
2150
+ include Aws::Structure
2151
+ end
2152
+
2153
+ # @note When making an API call, you may pass GetVehicleStatusRequest
2154
+ # data as a hash:
2155
+ #
2156
+ # {
2157
+ # next_token: "nextToken",
2158
+ # max_results: 1,
2159
+ # vehicle_name: "vehicleName", # required
2160
+ # }
2161
+ #
2162
+ # @!attribute [rw] next_token
2163
+ # A pagination token for the next set of results.
2164
+ #
2165
+ # If the results of a search are large, only a portion of the results
2166
+ # are returned, and a `nextToken` pagination token is returned in the
2167
+ # response. To retrieve the next set of results, reissue the search
2168
+ # request and include the returned token. When all results have been
2169
+ # returned, the response does not contain a pagination token value.
2170
+ # @return [String]
2171
+ #
2172
+ # @!attribute [rw] max_results
2173
+ # The maximum number of items to return, between 1 and 100, inclusive.
2174
+ # @return [Integer]
2175
+ #
2176
+ # @!attribute [rw] vehicle_name
2177
+ # The ID of the vehicle to retrieve information about.
2178
+ # @return [String]
2179
+ #
2180
+ class GetVehicleStatusRequest < Struct.new(
2181
+ :next_token,
2182
+ :max_results,
2183
+ :vehicle_name)
2184
+ SENSITIVE = []
2185
+ include Aws::Structure
2186
+ end
2187
+
2188
+ # @!attribute [rw] campaigns
2189
+ # Lists information about the state of the vehicle with deployed
2190
+ # campaigns.
2191
+ # @return [Array<Types::VehicleStatus>]
2192
+ #
2193
+ # @!attribute [rw] next_token
2194
+ # The token to retrieve the next set of results, or `null` if there
2195
+ # are no more results.
2196
+ # @return [String]
2197
+ #
2198
+ class GetVehicleStatusResponse < Struct.new(
2199
+ :campaigns,
2200
+ :next_token)
2201
+ SENSITIVE = []
2202
+ include Aws::Structure
2203
+ end
2204
+
2205
+ # Information about registering an Identity and Access Management (IAM)
2206
+ # resource so Amazon Web Services IoT FleetWise edge agent software can
2207
+ # transfer your vehicle data to Amazon Timestream.
2208
+ #
2209
+ # @!attribute [rw] role_arn
2210
+ # The Amazon Resource Name (ARN) of the IAM role to register.
2211
+ # @return [String]
2212
+ #
2213
+ # @!attribute [rw] registration_status
2214
+ # The status of registering your IAM resource. The status can be one
2215
+ # of `REGISTRATION_SUCCESS`, `REGISTRATION_PENDING`,
2216
+ # `REGISTRATION_FAILURE`.
2217
+ # @return [String]
2218
+ #
2219
+ # @!attribute [rw] error_message
2220
+ # A message associated with a registration error.
2221
+ # @return [String]
2222
+ #
2223
+ class IamRegistrationResponse < Struct.new(
2224
+ :role_arn,
2225
+ :registration_status,
2226
+ :error_message)
2227
+ SENSITIVE = []
2228
+ include Aws::Structure
2229
+ end
2230
+
2231
+ # The IAM resource that enables Amazon Web Services IoT FleetWise edge
2232
+ # agent software to send data to Amazon Timestream.
2233
+ #
2234
+ # For more information, see [IAM roles][1] in the *Identity and Access
2235
+ # Management User Guide*.
2236
+ #
2237
+ #
2238
+ #
2239
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html
2240
+ #
2241
+ # @note When making an API call, you may pass IamResources
2242
+ # data as a hash:
2243
+ #
2244
+ # {
2245
+ # role_arn: "IAMRoleArn", # required
2246
+ # }
2247
+ #
2248
+ # @!attribute [rw] role_arn
2249
+ # The Amazon Resource Name (ARN) of the IAM resource that allows
2250
+ # Amazon Web Services IoT FleetWise to send data to Amazon Timestream.
2251
+ # For example, `arn:aws:iam::123456789012:role/SERVICE-ROLE-ARN`.
2252
+ # @return [String]
2253
+ #
2254
+ class IamResources < Struct.new(
2255
+ :role_arn)
2256
+ SENSITIVE = []
2257
+ include Aws::Structure
2258
+ end
2259
+
2260
+ # @note When making an API call, you may pass ImportDecoderManifestRequest
2261
+ # data as a hash:
2262
+ #
2263
+ # {
2264
+ # name: "resourceName", # required
2265
+ # network_file_definitions: [ # required
2266
+ # {
2267
+ # can_dbc: {
2268
+ # network_interface: "InterfaceId", # required
2269
+ # can_dbc_files: ["data"], # required
2270
+ # signals_map: {
2271
+ # "string" => "string",
2272
+ # },
2273
+ # },
2274
+ # },
2275
+ # ],
2276
+ # }
2277
+ #
2278
+ # @!attribute [rw] name
2279
+ # The name of the decoder manifest to import.
2280
+ # @return [String]
2281
+ #
2282
+ # @!attribute [rw] network_file_definitions
2283
+ # The file to load into an Amazon Web Services account.
2284
+ # @return [Array<Types::NetworkFileDefinition>]
2285
+ #
2286
+ class ImportDecoderManifestRequest < Struct.new(
2287
+ :name,
2288
+ :network_file_definitions)
2289
+ SENSITIVE = []
2290
+ include Aws::Structure
2291
+ end
2292
+
2293
+ # @!attribute [rw] name
2294
+ # The name of the imported decoder manifest.
2295
+ # @return [String]
2296
+ #
2297
+ # @!attribute [rw] arn
2298
+ # The Amazon Resource Name (ARN) of the decoder manifest that was
2299
+ # imported.
2300
+ # @return [String]
2301
+ #
2302
+ class ImportDecoderManifestResponse < Struct.new(
2303
+ :name,
2304
+ :arn)
2305
+ SENSITIVE = []
2306
+ include Aws::Structure
2307
+ end
2308
+
2309
+ # @note When making an API call, you may pass ImportSignalCatalogRequest
2310
+ # data as a hash:
2311
+ #
2312
+ # {
2313
+ # name: "resourceName", # required
2314
+ # description: "description",
2315
+ # vss: {
2316
+ # vss_json: "String",
2317
+ # },
2318
+ # tags: [
2319
+ # {
2320
+ # key: "TagKey", # required
2321
+ # value: "TagValue", # required
2322
+ # },
2323
+ # ],
2324
+ # }
2325
+ #
2326
+ # @!attribute [rw] name
2327
+ # The name of the signal catalog to import.
2328
+ # @return [String]
2329
+ #
2330
+ # @!attribute [rw] description
2331
+ # A brief description of the signal catalog.
2332
+ # @return [String]
2333
+ #
2334
+ # @!attribute [rw] vss
2335
+ # The contents of the Vehicle Signal Specification (VSS)
2336
+ # configuration. VSS is a precise language used to describe and model
2337
+ # signals in vehicle networks.
2338
+ # @return [Types::FormattedVss]
2339
+ #
2340
+ # @!attribute [rw] tags
2341
+ # Metadata that can be used to manage the signal catalog.
2342
+ # @return [Array<Types::Tag>]
2343
+ #
2344
+ class ImportSignalCatalogRequest < Struct.new(
2345
+ :name,
2346
+ :description,
2347
+ :vss,
2348
+ :tags)
2349
+ SENSITIVE = []
2350
+ include Aws::Structure
2351
+ end
2352
+
2353
+ # @!attribute [rw] name
2354
+ # The name of the imported signal catalog.
2355
+ # @return [String]
2356
+ #
2357
+ # @!attribute [rw] arn
2358
+ # The Amazon Resource Name (ARN) of the imported signal catalog.
2359
+ # @return [String]
2360
+ #
2361
+ class ImportSignalCatalogResponse < Struct.new(
2362
+ :name,
2363
+ :arn)
2364
+ SENSITIVE = []
2365
+ include Aws::Structure
2366
+ end
2367
+
2368
+ # The request couldn't be completed because the server temporarily
2369
+ # failed.
2370
+ #
2371
+ # @!attribute [rw] message
2372
+ # @return [String]
2373
+ #
2374
+ # @!attribute [rw] retry_after_seconds
2375
+ # The number of seconds to wait before retrying the command.
2376
+ # @return [Integer]
2377
+ #
2378
+ class InternalServerException < Struct.new(
2379
+ :message,
2380
+ :retry_after_seconds)
2381
+ SENSITIVE = []
2382
+ include Aws::Structure
2383
+ end
2384
+
2385
+ # A reason a vehicle network interface isn't valid.
2386
+ #
2387
+ # @!attribute [rw] interface_id
2388
+ # The ID of the interface that isn't valid.
2389
+ # @return [String]
2390
+ #
2391
+ # @!attribute [rw] reason
2392
+ # A message about why the interface isn't valid.
2393
+ # @return [String]
2394
+ #
2395
+ class InvalidNetworkInterface < Struct.new(
2396
+ :interface_id,
2397
+ :reason)
2398
+ SENSITIVE = []
2399
+ include Aws::Structure
2400
+ end
2401
+
2402
+ # The specified node type doesn't match the expected node type for a
2403
+ # node. You can specify the node type as branch, sensor, actuator, or
2404
+ # attribute.
2405
+ #
2406
+ # @!attribute [rw] invalid_nodes
2407
+ # The specified node type isn't valid.
2408
+ # @return [Array<Types::Node>]
2409
+ #
2410
+ # @!attribute [rw] reason
2411
+ # The reason the node validation failed.
2412
+ # @return [String]
2413
+ #
2414
+ class InvalidNodeException < Struct.new(
2415
+ :invalid_nodes,
2416
+ :reason)
2417
+ SENSITIVE = []
2418
+ include Aws::Structure
2419
+ end
2420
+
2421
+ # A reason that a signal isn't valid.
2422
+ #
2423
+ # @!attribute [rw] name
2424
+ # The name of the signal that isn't valid.
2425
+ # @return [String]
2426
+ #
2427
+ # @!attribute [rw] reason
2428
+ # A message about why the signal isn't valid.
2429
+ # @return [String]
2430
+ #
2431
+ class InvalidSignal < Struct.new(
2432
+ :name,
2433
+ :reason)
2434
+ SENSITIVE = []
2435
+ include Aws::Structure
2436
+ end
2437
+
2438
+ # A reason that a signal decoder isn't valid.
2439
+ #
2440
+ # @!attribute [rw] name
2441
+ # The name of a signal decoder that isn't valid.
2442
+ # @return [String]
2443
+ #
2444
+ # @!attribute [rw] reason
2445
+ # A message about why the signal decoder isn't valid.
2446
+ # @return [String]
2447
+ #
2448
+ class InvalidSignalDecoder < Struct.new(
2449
+ :name,
2450
+ :reason)
2451
+ SENSITIVE = []
2452
+ include Aws::Structure
2453
+ end
2454
+
2455
+ # The request couldn't be completed because it contains signals that
2456
+ # aren't valid.
2457
+ #
2458
+ # @!attribute [rw] message
2459
+ # @return [String]
2460
+ #
2461
+ # @!attribute [rw] invalid_signals
2462
+ # The signals which caused the exception.
2463
+ # @return [Array<Types::InvalidSignal>]
2464
+ #
2465
+ class InvalidSignalsException < Struct.new(
2466
+ :message,
2467
+ :invalid_signals)
2468
+ SENSITIVE = []
2469
+ include Aws::Structure
2470
+ end
2471
+
2472
+ # A service quota was exceeded.
2473
+ #
2474
+ # @!attribute [rw] message
2475
+ # @return [String]
2476
+ #
2477
+ # @!attribute [rw] resource_id
2478
+ # The identifier of the resource that was exceeded.
2479
+ # @return [String]
2480
+ #
2481
+ # @!attribute [rw] resource_type
2482
+ # The type of resource that was exceeded.
2483
+ # @return [String]
2484
+ #
2485
+ class LimitExceededException < Struct.new(
2486
+ :message,
2487
+ :resource_id,
2488
+ :resource_type)
2489
+ SENSITIVE = []
2490
+ include Aws::Structure
2491
+ end
2492
+
2493
+ # @note When making an API call, you may pass ListCampaignsRequest
2494
+ # data as a hash:
2495
+ #
2496
+ # {
2497
+ # next_token: "nextToken",
2498
+ # max_results: 1,
2499
+ # status: "status",
2500
+ # }
2501
+ #
2502
+ # @!attribute [rw] next_token
2503
+ # A pagination token for the next set of results.
2504
+ #
2505
+ # If the results of a search are large, only a portion of the results
2506
+ # are returned, and a `nextToken` pagination token is returned in the
2507
+ # response. To retrieve the next set of results, reissue the search
2508
+ # request and include the returned token. When all results have been
2509
+ # returned, the response does not contain a pagination token value.
2510
+ # @return [String]
2511
+ #
2512
+ # @!attribute [rw] max_results
2513
+ # The maximum number of items to return, between 1 and 100, inclusive.
2514
+ # @return [Integer]
2515
+ #
2516
+ # @!attribute [rw] status
2517
+ # Optional parameter to filter the results by the status of each
2518
+ # created campaign in your account. The status can be one of:
2519
+ # `CREATING`, `WAITING_FOR_APPROVAL`, `RUNNING`, or `SUSPENDED`.
2520
+ # @return [String]
2521
+ #
2522
+ class ListCampaignsRequest < Struct.new(
2523
+ :next_token,
2524
+ :max_results,
2525
+ :status)
2526
+ SENSITIVE = []
2527
+ include Aws::Structure
2528
+ end
2529
+
2530
+ # @!attribute [rw] campaign_summaries
2531
+ # A summary of information about each campaign.
2532
+ # @return [Array<Types::CampaignSummary>]
2533
+ #
2534
+ # @!attribute [rw] next_token
2535
+ # The token to retrieve the next set of results, or `null` if there
2536
+ # are no more results.
2537
+ # @return [String]
2538
+ #
2539
+ class ListCampaignsResponse < Struct.new(
2540
+ :campaign_summaries,
2541
+ :next_token)
2542
+ SENSITIVE = []
2543
+ include Aws::Structure
2544
+ end
2545
+
2546
+ # @note When making an API call, you may pass ListDecoderManifestNetworkInterfacesRequest
2547
+ # data as a hash:
2548
+ #
2549
+ # {
2550
+ # name: "resourceName", # required
2551
+ # next_token: "nextToken",
2552
+ # max_results: 1,
2553
+ # }
2554
+ #
2555
+ # @!attribute [rw] name
2556
+ # The name of the decoder manifest to list information about.
2557
+ # @return [String]
2558
+ #
2559
+ # @!attribute [rw] next_token
2560
+ # A pagination token for the next set of results.
2561
+ #
2562
+ # If the results of a search are large, only a portion of the results
2563
+ # are returned, and a `nextToken` pagination token is returned in the
2564
+ # response. To retrieve the next set of results, reissue the search
2565
+ # request and include the returned token. When all results have been
2566
+ # returned, the response does not contain a pagination token value.
2567
+ # @return [String]
2568
+ #
2569
+ # @!attribute [rw] max_results
2570
+ # The maximum number of items to return, between 1 and 100, inclusive.
2571
+ # @return [Integer]
2572
+ #
2573
+ class ListDecoderManifestNetworkInterfacesRequest < Struct.new(
2574
+ :name,
2575
+ :next_token,
2576
+ :max_results)
2577
+ SENSITIVE = []
2578
+ include Aws::Structure
2579
+ end
2580
+
2581
+ # @!attribute [rw] network_interfaces
2582
+ # A list of information about network interfaces.
2583
+ # @return [Array<Types::NetworkInterface>]
2584
+ #
2585
+ # @!attribute [rw] next_token
2586
+ # The token to retrieve the next set of results, or `null` if there
2587
+ # are no more results.
2588
+ # @return [String]
2589
+ #
2590
+ class ListDecoderManifestNetworkInterfacesResponse < Struct.new(
2591
+ :network_interfaces,
2592
+ :next_token)
2593
+ SENSITIVE = []
2594
+ include Aws::Structure
2595
+ end
2596
+
2597
+ # @note When making an API call, you may pass ListDecoderManifestSignalsRequest
2598
+ # data as a hash:
2599
+ #
2600
+ # {
2601
+ # name: "resourceName", # required
2602
+ # next_token: "nextToken",
2603
+ # max_results: 1,
2604
+ # }
2605
+ #
2606
+ # @!attribute [rw] name
2607
+ # The name of the decoder manifest to list information about.
2608
+ # @return [String]
2609
+ #
2610
+ # @!attribute [rw] next_token
2611
+ # A pagination token for the next set of results.
2612
+ #
2613
+ # If the results of a search are large, only a portion of the results
2614
+ # are returned, and a `nextToken` pagination token is returned in the
2615
+ # response. To retrieve the next set of results, reissue the search
2616
+ # request and include the returned token. When all results have been
2617
+ # returned, the response does not contain a pagination token value.
2618
+ # @return [String]
2619
+ #
2620
+ # @!attribute [rw] max_results
2621
+ # The maximum number of items to return, between 1 and 100, inclusive.
2622
+ # @return [Integer]
2623
+ #
2624
+ class ListDecoderManifestSignalsRequest < Struct.new(
2625
+ :name,
2626
+ :next_token,
2627
+ :max_results)
2628
+ SENSITIVE = []
2629
+ include Aws::Structure
2630
+ end
2631
+
2632
+ # @!attribute [rw] signal_decoders
2633
+ # Information about a list of signals to decode.
2634
+ # @return [Array<Types::SignalDecoder>]
2635
+ #
2636
+ # @!attribute [rw] next_token
2637
+ # The token to retrieve the next set of results, or `null` if there
2638
+ # are no more results.
2639
+ # @return [String]
2640
+ #
2641
+ class ListDecoderManifestSignalsResponse < Struct.new(
2642
+ :signal_decoders,
2643
+ :next_token)
2644
+ SENSITIVE = []
2645
+ include Aws::Structure
2646
+ end
2647
+
2648
+ # @note When making an API call, you may pass ListDecoderManifestsRequest
2649
+ # data as a hash:
2650
+ #
2651
+ # {
2652
+ # model_manifest_arn: "arn",
2653
+ # next_token: "nextToken",
2654
+ # max_results: 1,
2655
+ # }
2656
+ #
2657
+ # @!attribute [rw] model_manifest_arn
2658
+ # The Amazon Resource Name (ARN) of a vehicle model (model manifest)
2659
+ # associated with the decoder manifest.
2660
+ # @return [String]
2661
+ #
2662
+ # @!attribute [rw] next_token
2663
+ # A pagination token for the next set of results.
2664
+ #
2665
+ # If the results of a search are large, only a portion of the results
2666
+ # are returned, and a `nextToken` pagination token is returned in the
2667
+ # response. To retrieve the next set of results, reissue the search
2668
+ # request and include the returned token. When all results have been
2669
+ # returned, the response does not contain a pagination token value.
2670
+ # @return [String]
2671
+ #
2672
+ # @!attribute [rw] max_results
2673
+ # The maximum number of items to return, between 1 and 100, inclusive.
2674
+ # @return [Integer]
2675
+ #
2676
+ class ListDecoderManifestsRequest < Struct.new(
2677
+ :model_manifest_arn,
2678
+ :next_token,
2679
+ :max_results)
2680
+ SENSITIVE = []
2681
+ include Aws::Structure
2682
+ end
2683
+
2684
+ # @!attribute [rw] summaries
2685
+ # A list of information about each decoder manifest.
2686
+ # @return [Array<Types::DecoderManifestSummary>]
2687
+ #
2688
+ # @!attribute [rw] next_token
2689
+ # The token to retrieve the next set of results, or `null` if there
2690
+ # are no more results.
2691
+ # @return [String]
2692
+ #
2693
+ class ListDecoderManifestsResponse < Struct.new(
2694
+ :summaries,
2695
+ :next_token)
2696
+ SENSITIVE = []
2697
+ include Aws::Structure
2698
+ end
2699
+
2700
+ # @note When making an API call, you may pass ListFleetsForVehicleRequest
2701
+ # data as a hash:
2702
+ #
2703
+ # {
2704
+ # vehicle_name: "vehicleName", # required
2705
+ # next_token: "nextToken",
2706
+ # max_results: 1,
2707
+ # }
2708
+ #
2709
+ # @!attribute [rw] vehicle_name
2710
+ # The ID of the vehicle to retrieve information about.
2711
+ # @return [String]
2712
+ #
2713
+ # @!attribute [rw] next_token
2714
+ # A pagination token for the next set of results.
2715
+ #
2716
+ # If the results of a search are large, only a portion of the results
2717
+ # are returned, and a `nextToken` pagination token is returned in the
2718
+ # response. To retrieve the next set of results, reissue the search
2719
+ # request and include the returned token. When all results have been
2720
+ # returned, the response does not contain a pagination token value.
2721
+ # @return [String]
2722
+ #
2723
+ # @!attribute [rw] max_results
2724
+ # The maximum number of items to return, between 1 and 100, inclusive.
2725
+ # @return [Integer]
2726
+ #
2727
+ class ListFleetsForVehicleRequest < Struct.new(
2728
+ :vehicle_name,
2729
+ :next_token,
2730
+ :max_results)
2731
+ SENSITIVE = []
2732
+ include Aws::Structure
2733
+ end
2734
+
2735
+ # @!attribute [rw] fleets
2736
+ # A list of fleet IDs that the vehicle is associated with.
2737
+ # @return [Array<String>]
2738
+ #
2739
+ # @!attribute [rw] next_token
2740
+ # The token to retrieve the next set of results, or `null` if there
2741
+ # are no more results.
2742
+ # @return [String]
2743
+ #
2744
+ class ListFleetsForVehicleResponse < Struct.new(
2745
+ :fleets,
2746
+ :next_token)
2747
+ SENSITIVE = []
2748
+ include Aws::Structure
2749
+ end
2750
+
2751
+ # @note When making an API call, you may pass ListFleetsRequest
2752
+ # data as a hash:
2753
+ #
2754
+ # {
2755
+ # next_token: "nextToken",
2756
+ # max_results: 1,
2757
+ # }
2758
+ #
2759
+ # @!attribute [rw] next_token
2760
+ # A pagination token for the next set of results.
2761
+ #
2762
+ # If the results of a search are large, only a portion of the results
2763
+ # are returned, and a `nextToken` pagination token is returned in the
2764
+ # response. To retrieve the next set of results, reissue the search
2765
+ # request and include the returned token. When all results have been
2766
+ # returned, the response does not contain a pagination token value.
2767
+ # @return [String]
2768
+ #
2769
+ # @!attribute [rw] max_results
2770
+ # The maximum number of items to return, between 1 and 100, inclusive.
2771
+ # @return [Integer]
2772
+ #
2773
+ class ListFleetsRequest < Struct.new(
2774
+ :next_token,
2775
+ :max_results)
2776
+ SENSITIVE = []
2777
+ include Aws::Structure
2778
+ end
2779
+
2780
+ # @!attribute [rw] fleet_summaries
2781
+ # A list of information for each fleet.
2782
+ # @return [Array<Types::FleetSummary>]
2783
+ #
2784
+ # @!attribute [rw] next_token
2785
+ # The token to retrieve the next set of results, or `null` if there
2786
+ # are no more results.
2787
+ # @return [String]
2788
+ #
2789
+ class ListFleetsResponse < Struct.new(
2790
+ :fleet_summaries,
2791
+ :next_token)
2792
+ SENSITIVE = []
2793
+ include Aws::Structure
2794
+ end
2795
+
2796
+ # @note When making an API call, you may pass ListModelManifestNodesRequest
2797
+ # data as a hash:
2798
+ #
2799
+ # {
2800
+ # name: "resourceName", # required
2801
+ # next_token: "nextToken",
2802
+ # max_results: 1,
2803
+ # }
2804
+ #
2805
+ # @!attribute [rw] name
2806
+ # The name of the vehicle model to list information about.
2807
+ # @return [String]
2808
+ #
2809
+ # @!attribute [rw] next_token
2810
+ # A pagination token for the next set of results.
2811
+ #
2812
+ # If the results of a search are large, only a portion of the results
2813
+ # are returned, and a `nextToken` pagination token is returned in the
2814
+ # response. To retrieve the next set of results, reissue the search
2815
+ # request and include the returned token. When all results have been
2816
+ # returned, the response does not contain a pagination token value.
2817
+ # @return [String]
2818
+ #
2819
+ # @!attribute [rw] max_results
2820
+ # The maximum number of items to return, between 1 and 100, inclusive.
2821
+ # @return [Integer]
2822
+ #
2823
+ class ListModelManifestNodesRequest < Struct.new(
2824
+ :name,
2825
+ :next_token,
2826
+ :max_results)
2827
+ SENSITIVE = []
2828
+ include Aws::Structure
2829
+ end
2830
+
2831
+ # @!attribute [rw] nodes
2832
+ # A list of information about nodes.
2833
+ # @return [Array<Types::Node>]
2834
+ #
2835
+ # @!attribute [rw] next_token
2836
+ # The token to retrieve the next set of results, or `null` if there
2837
+ # are no more results.
2838
+ # @return [String]
2839
+ #
2840
+ class ListModelManifestNodesResponse < Struct.new(
2841
+ :nodes,
2842
+ :next_token)
2843
+ SENSITIVE = []
2844
+ include Aws::Structure
2845
+ end
2846
+
2847
+ # @note When making an API call, you may pass ListModelManifestsRequest
2848
+ # data as a hash:
2849
+ #
2850
+ # {
2851
+ # signal_catalog_arn: "arn",
2852
+ # next_token: "nextToken",
2853
+ # max_results: 1,
2854
+ # }
2855
+ #
2856
+ # @!attribute [rw] signal_catalog_arn
2857
+ # The ARN of a signal catalog. If you specify a signal catalog, only
2858
+ # the vehicle models associated with it are returned.
2859
+ # @return [String]
2860
+ #
2861
+ # @!attribute [rw] next_token
2862
+ # A pagination token for the next set of results.
2863
+ #
2864
+ # If the results of a search are large, only a portion of the results
2865
+ # are returned, and a `nextToken` pagination token is returned in the
2866
+ # response. To retrieve the next set of results, reissue the search
2867
+ # request and include the returned token. When all results have been
2868
+ # returned, the response does not contain a pagination token value.
2869
+ # @return [String]
2870
+ #
2871
+ # @!attribute [rw] max_results
2872
+ # The maximum number of items to return, between 1 and 100, inclusive.
2873
+ # @return [Integer]
2874
+ #
2875
+ class ListModelManifestsRequest < Struct.new(
2876
+ :signal_catalog_arn,
2877
+ :next_token,
2878
+ :max_results)
2879
+ SENSITIVE = []
2880
+ include Aws::Structure
2881
+ end
2882
+
2883
+ # @!attribute [rw] summaries
2884
+ # A list of information about vehicle models.
2885
+ # @return [Array<Types::ModelManifestSummary>]
2886
+ #
2887
+ # @!attribute [rw] next_token
2888
+ # The token to retrieve the next set of results, or `null` if there
2889
+ # are no more results.
2890
+ # @return [String]
2891
+ #
2892
+ class ListModelManifestsResponse < Struct.new(
2893
+ :summaries,
2894
+ :next_token)
2895
+ SENSITIVE = []
2896
+ include Aws::Structure
2897
+ end
2898
+
2899
+ # @note When making an API call, you may pass ListSignalCatalogNodesRequest
2900
+ # data as a hash:
2901
+ #
2902
+ # {
2903
+ # name: "resourceName", # required
2904
+ # next_token: "nextToken",
2905
+ # max_results: 1,
2906
+ # }
2907
+ #
2908
+ # @!attribute [rw] name
2909
+ # The name of the signal catalog to list information about.
2910
+ # @return [String]
2911
+ #
2912
+ # @!attribute [rw] next_token
2913
+ # A pagination token for the next set of results.
2914
+ #
2915
+ # If the results of a search are large, only a portion of the results
2916
+ # are returned, and a `nextToken` pagination token is returned in the
2917
+ # response. To retrieve the next set of results, reissue the search
2918
+ # request and include the returned token. When all results have been
2919
+ # returned, the response does not contain a pagination token value.
2920
+ # @return [String]
2921
+ #
2922
+ # @!attribute [rw] max_results
2923
+ # The maximum number of items to return, between 1 and 100, inclusive.
2924
+ # @return [Integer]
2925
+ #
2926
+ class ListSignalCatalogNodesRequest < Struct.new(
2927
+ :name,
2928
+ :next_token,
2929
+ :max_results)
2930
+ SENSITIVE = []
2931
+ include Aws::Structure
2932
+ end
2933
+
2934
+ # @!attribute [rw] nodes
2935
+ # A list of information about nodes.
2936
+ # @return [Array<Types::Node>]
2937
+ #
2938
+ # @!attribute [rw] next_token
2939
+ # The token to retrieve the next set of results, or `null` if there
2940
+ # are no more results.
2941
+ # @return [String]
2942
+ #
2943
+ class ListSignalCatalogNodesResponse < Struct.new(
2944
+ :nodes,
2945
+ :next_token)
2946
+ SENSITIVE = []
2947
+ include Aws::Structure
2948
+ end
2949
+
2950
+ # @note When making an API call, you may pass ListSignalCatalogsRequest
2951
+ # data as a hash:
2952
+ #
2953
+ # {
2954
+ # next_token: "nextToken",
2955
+ # max_results: 1,
2956
+ # }
2957
+ #
2958
+ # @!attribute [rw] next_token
2959
+ # A pagination token for the next set of results.
2960
+ #
2961
+ # If the results of a search are large, only a portion of the results
2962
+ # are returned, and a `nextToken` pagination token is returned in the
2963
+ # response. To retrieve the next set of results, reissue the search
2964
+ # request and include the returned token. When all results have been
2965
+ # returned, the response does not contain a pagination token value.
2966
+ # @return [String]
2967
+ #
2968
+ # @!attribute [rw] max_results
2969
+ # The maximum number of items to return, between 1 and 100, inclusive.
2970
+ # @return [Integer]
2971
+ #
2972
+ class ListSignalCatalogsRequest < Struct.new(
2973
+ :next_token,
2974
+ :max_results)
2975
+ SENSITIVE = []
2976
+ include Aws::Structure
2977
+ end
2978
+
2979
+ # @!attribute [rw] summaries
2980
+ # A list of information about each signal catalog.
2981
+ # @return [Array<Types::SignalCatalogSummary>]
2982
+ #
2983
+ # @!attribute [rw] next_token
2984
+ # The token to retrieve the next set of results, or `null` if there
2985
+ # are no more results.
2986
+ # @return [String]
2987
+ #
2988
+ class ListSignalCatalogsResponse < Struct.new(
2989
+ :summaries,
2990
+ :next_token)
2991
+ SENSITIVE = []
2992
+ include Aws::Structure
2993
+ end
2994
+
2995
+ # @note When making an API call, you may pass ListTagsForResourceRequest
2996
+ # data as a hash:
2997
+ #
2998
+ # {
2999
+ # resource_arn: "AmazonResourceName", # required
3000
+ # }
3001
+ #
3002
+ # @!attribute [rw] resource_arn
3003
+ # The ARN of the resource.
3004
+ # @return [String]
3005
+ #
3006
+ class ListTagsForResourceRequest < Struct.new(
3007
+ :resource_arn)
3008
+ SENSITIVE = []
3009
+ include Aws::Structure
3010
+ end
3011
+
3012
+ # @!attribute [rw] tags
3013
+ # The list of tags assigned to the resource.
3014
+ # @return [Array<Types::Tag>]
3015
+ #
3016
+ class ListTagsForResourceResponse < Struct.new(
3017
+ :tags)
3018
+ SENSITIVE = []
3019
+ include Aws::Structure
3020
+ end
3021
+
3022
+ # @note When making an API call, you may pass ListVehiclesInFleetRequest
3023
+ # data as a hash:
3024
+ #
3025
+ # {
3026
+ # fleet_id: "fleetId", # required
3027
+ # next_token: "nextToken",
3028
+ # max_results: 1,
3029
+ # }
3030
+ #
3031
+ # @!attribute [rw] fleet_id
3032
+ # The ID of a fleet.
3033
+ # @return [String]
3034
+ #
3035
+ # @!attribute [rw] next_token
3036
+ # A pagination token for the next set of results.
3037
+ #
3038
+ # If the results of a search are large, only a portion of the results
3039
+ # are returned, and a `nextToken` pagination token is returned in the
3040
+ # response. To retrieve the next set of results, reissue the search
3041
+ # request and include the returned token. When all results have been
3042
+ # returned, the response does not contain a pagination token value.
3043
+ # @return [String]
3044
+ #
3045
+ # @!attribute [rw] max_results
3046
+ # The maximum number of items to return, between 1 and 100, inclusive.
3047
+ # @return [Integer]
3048
+ #
3049
+ class ListVehiclesInFleetRequest < Struct.new(
3050
+ :fleet_id,
3051
+ :next_token,
3052
+ :max_results)
3053
+ SENSITIVE = []
3054
+ include Aws::Structure
3055
+ end
3056
+
3057
+ # @!attribute [rw] vehicles
3058
+ # A list of vehicles associated with the fleet.
3059
+ # @return [Array<String>]
3060
+ #
3061
+ # @!attribute [rw] next_token
3062
+ # The token to retrieve the next set of results, or `null` if there
3063
+ # are no more results.
3064
+ # @return [String]
3065
+ #
3066
+ class ListVehiclesInFleetResponse < Struct.new(
3067
+ :vehicles,
3068
+ :next_token)
3069
+ SENSITIVE = []
3070
+ include Aws::Structure
3071
+ end
3072
+
3073
+ # @note When making an API call, you may pass ListVehiclesRequest
3074
+ # data as a hash:
3075
+ #
3076
+ # {
3077
+ # model_manifest_arn: "arn",
3078
+ # next_token: "nextToken",
3079
+ # max_results: 1,
3080
+ # }
3081
+ #
3082
+ # @!attribute [rw] model_manifest_arn
3083
+ # The Amazon Resource Name (ARN) of a vehicle model (model manifest).
3084
+ # You can use this optional parameter to list only the vehicles
3085
+ # created from a certain vehicle model.
3086
+ # @return [String]
3087
+ #
3088
+ # @!attribute [rw] next_token
3089
+ # A pagination token for the next set of results.
3090
+ #
3091
+ # If the results of a search are large, only a portion of the results
3092
+ # are returned, and a `nextToken` pagination token is returned in the
3093
+ # response. To retrieve the next set of results, reissue the search
3094
+ # request and include the returned token. When all results have been
3095
+ # returned, the response does not contain a pagination token value.
3096
+ # @return [String]
3097
+ #
3098
+ # @!attribute [rw] max_results
3099
+ # The maximum number of items to return, between 1 and 100, inclusive.
3100
+ # @return [Integer]
3101
+ #
3102
+ class ListVehiclesRequest < Struct.new(
3103
+ :model_manifest_arn,
3104
+ :next_token,
3105
+ :max_results)
3106
+ SENSITIVE = []
3107
+ include Aws::Structure
3108
+ end
3109
+
3110
+ # @!attribute [rw] vehicle_summaries
3111
+ # A list of vehicles and information about them.
3112
+ # @return [Array<Types::VehicleSummary>]
3113
+ #
3114
+ # @!attribute [rw] next_token
3115
+ # The token to retrieve the next set of results, or `null` if there
3116
+ # are no more results.
3117
+ # @return [String]
3118
+ #
3119
+ class ListVehiclesResponse < Struct.new(
3120
+ :vehicle_summaries,
3121
+ :next_token)
3122
+ SENSITIVE = []
3123
+ include Aws::Structure
3124
+ end
3125
+
3126
+ # Information about a vehicle model (model manifest). You can use the
3127
+ # API operation to return this information about multiple vehicle
3128
+ # models.
3129
+ #
3130
+ # @!attribute [rw] name
3131
+ # The name of the vehicle model.
3132
+ # @return [String]
3133
+ #
3134
+ # @!attribute [rw] arn
3135
+ # The Amazon Resource Name (ARN) of the vehicle model.
3136
+ # @return [String]
3137
+ #
3138
+ # @!attribute [rw] signal_catalog_arn
3139
+ # The ARN of the signal catalog associated with the vehicle model.
3140
+ # @return [String]
3141
+ #
3142
+ # @!attribute [rw] description
3143
+ # A brief description of the vehicle model.
3144
+ # @return [String]
3145
+ #
3146
+ # @!attribute [rw] status
3147
+ # The state of the vehicle model. If the status is `ACTIVE`, the
3148
+ # vehicle model can't be edited. If the status is `DRAFT`, you can
3149
+ # edit the vehicle model.
3150
+ # @return [String]
3151
+ #
3152
+ # @!attribute [rw] creation_time
3153
+ # The time the vehicle model was created, in seconds since epoch
3154
+ # (January 1, 1970 at midnight UTC time).
3155
+ # @return [Time]
3156
+ #
3157
+ # @!attribute [rw] last_modification_time
3158
+ # The time the vehicle model was last updated, in seconds since epoch
3159
+ # (January 1, 1970 at midnight UTC time).
3160
+ # @return [Time]
3161
+ #
3162
+ class ModelManifestSummary < Struct.new(
3163
+ :name,
3164
+ :arn,
3165
+ :signal_catalog_arn,
3166
+ :description,
3167
+ :status,
3168
+ :creation_time,
3169
+ :last_modification_time)
3170
+ SENSITIVE = []
3171
+ include Aws::Structure
3172
+ end
3173
+
3174
+ # Specifications for defining a vehicle network.
3175
+ #
3176
+ # @note NetworkFileDefinition is a union - when making an API calls you must set exactly one of the members.
3177
+ #
3178
+ # @!attribute [rw] can_dbc
3179
+ # Information, including CAN DBC files, about the configurations used
3180
+ # to create a decoder manifest.
3181
+ # @return [Types::CanDbcDefinition]
3182
+ #
3183
+ class NetworkFileDefinition < Struct.new(
3184
+ :can_dbc,
3185
+ :unknown)
3186
+ SENSITIVE = []
3187
+ include Aws::Structure
3188
+ include Aws::Structure::Union
3189
+
3190
+ class CanDbc < NetworkFileDefinition; end
3191
+ class Unknown < NetworkFileDefinition; end
3192
+ end
3193
+
3194
+ # Represents a node and its specifications in an in-vehicle
3195
+ # communication network. All signal decoders must be associated with a
3196
+ # network node.
3197
+ #
3198
+ # To return this information about all the network interfaces specified
3199
+ # in a decoder manifest, use the API operation.
3200
+ #
3201
+ # @note When making an API call, you may pass NetworkInterface
3202
+ # data as a hash:
3203
+ #
3204
+ # {
3205
+ # interface_id: "InterfaceId", # required
3206
+ # type: "CAN_INTERFACE", # required, accepts CAN_INTERFACE, OBD_INTERFACE
3207
+ # can_interface: {
3208
+ # name: "CanInterfaceName", # required
3209
+ # protocol_name: "ProtocolName",
3210
+ # protocol_version: "ProtocolVersion",
3211
+ # },
3212
+ # obd_interface: {
3213
+ # name: "ObdInterfaceName", # required
3214
+ # request_message_id: 1, # required
3215
+ # obd_standard: "ObdStandard",
3216
+ # pid_request_interval_seconds: 1,
3217
+ # dtc_request_interval_seconds: 1,
3218
+ # use_extended_ids: false,
3219
+ # has_transmission_ecu: false,
3220
+ # },
3221
+ # }
3222
+ #
3223
+ # @!attribute [rw] interface_id
3224
+ # The ID of the network interface.
3225
+ # @return [String]
3226
+ #
3227
+ # @!attribute [rw] type
3228
+ # The network protocol for the vehicle. For example, `CAN_SIGNAL`
3229
+ # specifies a protocol that defines how data is communicated between
3230
+ # electronic control units (ECUs). `OBD_SIGNAL` specifies a protocol
3231
+ # that defines how self-diagnostic data is communicated between ECUs.
3232
+ # @return [String]
3233
+ #
3234
+ # @!attribute [rw] can_interface
3235
+ # Information about a network interface specified by the Controller
3236
+ # Area Network (CAN) protocol.
3237
+ # @return [Types::CanInterface]
3238
+ #
3239
+ # @!attribute [rw] obd_interface
3240
+ # Information about a network interface specified by the On-board
3241
+ # diagnostic (OBD) II protocol.
3242
+ # @return [Types::ObdInterface]
3243
+ #
3244
+ class NetworkInterface < Struct.new(
3245
+ :interface_id,
3246
+ :type,
3247
+ :can_interface,
3248
+ :obd_interface)
3249
+ SENSITIVE = []
3250
+ include Aws::Structure
3251
+ end
3252
+
3253
+ # A general abstraction of a signal. A node can be specified as an
3254
+ # actuator, attribute, branch, or sensor.
3255
+ #
3256
+ # @note Node is a union - when making an API calls you must set exactly one of the members.
3257
+ #
3258
+ # @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.
3259
+ #
3260
+ # @!attribute [rw] branch
3261
+ # Information about a node specified as a branch.
3262
+ #
3263
+ # <note markdown="1"> A group of signals that are defined in a hierarchical structure.
3264
+ #
3265
+ # </note>
3266
+ # @return [Types::Branch]
3267
+ #
3268
+ # @!attribute [rw] sensor
3269
+ # An input component that reports the environmental condition of a
3270
+ # vehicle.
3271
+ #
3272
+ # <note markdown="1"> You can collect data about fluid levels, temperatures, vibrations,
3273
+ # or battery voltage from sensors.
3274
+ #
3275
+ # </note>
3276
+ # @return [Types::Sensor]
3277
+ #
3278
+ # @!attribute [rw] actuator
3279
+ # Information about a node specified as an actuator.
3280
+ #
3281
+ # <note markdown="1"> An actuator is a digital representation of a vehicle device.
3282
+ #
3283
+ # </note>
3284
+ # @return [Types::Actuator]
3285
+ #
3286
+ # @!attribute [rw] attribute
3287
+ # Information about a node specified as an attribute.
3288
+ #
3289
+ # <note markdown="1"> An attribute represents static information about a vehicle.
3290
+ #
3291
+ # </note>
3292
+ # @return [Types::Attribute]
3293
+ #
3294
+ class Node < Struct.new(
3295
+ :branch,
3296
+ :sensor,
3297
+ :actuator,
3298
+ :attribute,
3299
+ :unknown)
3300
+ SENSITIVE = []
3301
+ include Aws::Structure
3302
+ include Aws::Structure::Union
3303
+
3304
+ class Branch < Node; end
3305
+ class Sensor < Node; end
3306
+ class Actuator < Node; end
3307
+ class Attribute < Node; end
3308
+ class Unknown < Node; end
3309
+ end
3310
+
3311
+ # Information about the number of nodes and node types in a vehicle
3312
+ # network.
3313
+ #
3314
+ # @!attribute [rw] total_nodes
3315
+ # The total number of nodes in a vehicle network.
3316
+ # @return [Integer]
3317
+ #
3318
+ # @!attribute [rw] total_branches
3319
+ # The total number of nodes in a vehicle network that represent
3320
+ # branches.
3321
+ # @return [Integer]
3322
+ #
3323
+ # @!attribute [rw] total_sensors
3324
+ # The total number of nodes in a vehicle network that represent
3325
+ # sensors.
3326
+ # @return [Integer]
3327
+ #
3328
+ # @!attribute [rw] total_attributes
3329
+ # The total number of nodes in a vehicle network that represent
3330
+ # attributes.
3331
+ # @return [Integer]
3332
+ #
3333
+ # @!attribute [rw] total_actuators
3334
+ # The total number of nodes in a vehicle network that represent
3335
+ # actuators.
3336
+ # @return [Integer]
3337
+ #
3338
+ class NodeCounts < Struct.new(
3339
+ :total_nodes,
3340
+ :total_branches,
3341
+ :total_sensors,
3342
+ :total_attributes,
3343
+ :total_actuators)
3344
+ SENSITIVE = []
3345
+ include Aws::Structure
3346
+ end
3347
+
3348
+ # A network interface that specifies the On-board diagnostic (OBD) II
3349
+ # network protocol.
3350
+ #
3351
+ # @note When making an API call, you may pass ObdInterface
3352
+ # data as a hash:
3353
+ #
3354
+ # {
3355
+ # name: "ObdInterfaceName", # required
3356
+ # request_message_id: 1, # required
3357
+ # obd_standard: "ObdStandard",
3358
+ # pid_request_interval_seconds: 1,
3359
+ # dtc_request_interval_seconds: 1,
3360
+ # use_extended_ids: false,
3361
+ # has_transmission_ecu: false,
3362
+ # }
3363
+ #
3364
+ # @!attribute [rw] name
3365
+ # The name of the interface.
3366
+ # @return [String]
3367
+ #
3368
+ # @!attribute [rw] request_message_id
3369
+ # The ID of the message requesting vehicle data.
3370
+ # @return [Integer]
3371
+ #
3372
+ # @!attribute [rw] obd_standard
3373
+ # The standard OBD II PID.
3374
+ # @return [String]
3375
+ #
3376
+ # @!attribute [rw] pid_request_interval_seconds
3377
+ # The maximum number message requests per second.
3378
+ # @return [Integer]
3379
+ #
3380
+ # @!attribute [rw] dtc_request_interval_seconds
3381
+ # The maximum number message requests per diagnostic trouble code per
3382
+ # second.
3383
+ # @return [Integer]
3384
+ #
3385
+ # @!attribute [rw] use_extended_ids
3386
+ # Whether to use extended IDs in the message.
3387
+ # @return [Boolean]
3388
+ #
3389
+ # @!attribute [rw] has_transmission_ecu
3390
+ # Whether the vehicle has a transmission control module (TCM).
3391
+ # @return [Boolean]
3392
+ #
3393
+ class ObdInterface < Struct.new(
3394
+ :name,
3395
+ :request_message_id,
3396
+ :obd_standard,
3397
+ :pid_request_interval_seconds,
3398
+ :dtc_request_interval_seconds,
3399
+ :use_extended_ids,
3400
+ :has_transmission_ecu)
3401
+ SENSITIVE = []
3402
+ include Aws::Structure
3403
+ end
3404
+
3405
+ # Information about signal messages using the on-board diagnostics (OBD)
3406
+ # II protocol in a vehicle.
3407
+ #
3408
+ # @note When making an API call, you may pass ObdSignal
3409
+ # data as a hash:
3410
+ #
3411
+ # {
3412
+ # pid_response_length: 1, # required
3413
+ # service_mode: 1, # required
3414
+ # pid: 1, # required
3415
+ # scaling: 1.0, # required
3416
+ # offset: 1.0, # required
3417
+ # start_byte: 1, # required
3418
+ # byte_length: 1, # required
3419
+ # bit_right_shift: 1,
3420
+ # bit_mask_length: 1,
3421
+ # }
3422
+ #
3423
+ # @!attribute [rw] pid_response_length
3424
+ # The length of the requested data.
3425
+ # @return [Integer]
3426
+ #
3427
+ # @!attribute [rw] service_mode
3428
+ # The mode of operation (diagnostic service) in a message.
3429
+ # @return [Integer]
3430
+ #
3431
+ # @!attribute [rw] pid
3432
+ # The diagnostic code used to request data from a vehicle for this
3433
+ # signal.
3434
+ # @return [Integer]
3435
+ #
3436
+ # @!attribute [rw] scaling
3437
+ # A multiplier used to decode the message.
3438
+ # @return [Float]
3439
+ #
3440
+ # @!attribute [rw] offset
3441
+ # Indicates where data appears in the message.
3442
+ # @return [Float]
3443
+ #
3444
+ # @!attribute [rw] start_byte
3445
+ # Indicates the beginning of the message.
3446
+ # @return [Integer]
3447
+ #
3448
+ # @!attribute [rw] byte_length
3449
+ # The length of a message.
3450
+ # @return [Integer]
3451
+ #
3452
+ # @!attribute [rw] bit_right_shift
3453
+ # The number of positions to shift bits in the message.
3454
+ # @return [Integer]
3455
+ #
3456
+ # @!attribute [rw] bit_mask_length
3457
+ # The number of bits to mask in a message.
3458
+ # @return [Integer]
3459
+ #
3460
+ class ObdSignal < Struct.new(
3461
+ :pid_response_length,
3462
+ :service_mode,
3463
+ :pid,
3464
+ :scaling,
3465
+ :offset,
3466
+ :start_byte,
3467
+ :byte_length,
3468
+ :bit_right_shift,
3469
+ :bit_mask_length)
3470
+ SENSITIVE = []
3471
+ include Aws::Structure
3472
+ end
3473
+
3474
+ # @note When making an API call, you may pass PutLoggingOptionsRequest
3475
+ # data as a hash:
3476
+ #
3477
+ # {
3478
+ # cloud_watch_log_delivery: { # required
3479
+ # log_type: "OFF", # required, accepts OFF, ERROR
3480
+ # log_group_name: "CloudWatchLogGroupName",
3481
+ # },
3482
+ # }
3483
+ #
3484
+ # @!attribute [rw] cloud_watch_log_delivery
3485
+ # Creates or updates the log delivery option to Amazon CloudWatch
3486
+ # Logs.
3487
+ # @return [Types::CloudWatchLogDeliveryOptions]
3488
+ #
3489
+ class PutLoggingOptionsRequest < Struct.new(
3490
+ :cloud_watch_log_delivery)
3491
+ SENSITIVE = []
3492
+ include Aws::Structure
3493
+ end
3494
+
3495
+ class PutLoggingOptionsResponse < Aws::EmptyStructure; end
3496
+
3497
+ # @note When making an API call, you may pass RegisterAccountRequest
3498
+ # data as a hash:
3499
+ #
3500
+ # {
3501
+ # timestream_resources: { # required
3502
+ # timestream_database_name: "TimestreamDatabaseName", # required
3503
+ # timestream_table_name: "TimestreamTableName", # required
3504
+ # },
3505
+ # iam_resources: {
3506
+ # role_arn: "IAMRoleArn", # required
3507
+ # },
3508
+ # }
3509
+ #
3510
+ # @!attribute [rw] timestream_resources
3511
+ # The registered Amazon Timestream resources that Amazon Web Services
3512
+ # IoT FleetWise edge agent software can transfer your vehicle data to.
3513
+ # @return [Types::TimestreamResources]
3514
+ #
3515
+ # @!attribute [rw] iam_resources
3516
+ # The IAM resource that allows Amazon Web Services IoT FleetWise to
3517
+ # send data to Amazon Timestream.
3518
+ # @return [Types::IamResources]
3519
+ #
3520
+ class RegisterAccountRequest < Struct.new(
3521
+ :timestream_resources,
3522
+ :iam_resources)
3523
+ SENSITIVE = []
3524
+ include Aws::Structure
3525
+ end
3526
+
3527
+ # @!attribute [rw] register_account_status
3528
+ # The status of registering your Amazon Web Services account, IAM
3529
+ # role, and Timestream resources.
3530
+ # @return [String]
3531
+ #
3532
+ # @!attribute [rw] timestream_resources
3533
+ # The registered Amazon Timestream resources that Amazon Web Services
3534
+ # IoT FleetWise edge agent software can transfer your vehicle data to.
3535
+ # @return [Types::TimestreamResources]
3536
+ #
3537
+ # @!attribute [rw] iam_resources
3538
+ # The registered IAM resource that allows Amazon Web Services IoT
3539
+ # FleetWise to send data to Amazon Timestream.
3540
+ # @return [Types::IamResources]
3541
+ #
3542
+ # @!attribute [rw] creation_time
3543
+ # The time the account was registered, in seconds since epoch (January
3544
+ # 1, 1970 at midnight UTC time).
3545
+ # @return [Time]
3546
+ #
3547
+ # @!attribute [rw] last_modification_time
3548
+ # The time this registration was last updated, in seconds since epoch
3549
+ # (January 1, 1970 at midnight UTC time).
3550
+ # @return [Time]
3551
+ #
3552
+ class RegisterAccountResponse < Struct.new(
3553
+ :register_account_status,
3554
+ :timestream_resources,
3555
+ :iam_resources,
3556
+ :creation_time,
3557
+ :last_modification_time)
3558
+ SENSITIVE = []
3559
+ include Aws::Structure
3560
+ end
3561
+
3562
+ # The resource wasn't found.
3563
+ #
3564
+ # @!attribute [rw] message
3565
+ # @return [String]
3566
+ #
3567
+ # @!attribute [rw] resource_id
3568
+ # The identifier of the resource that wasn't found.
3569
+ # @return [String]
3570
+ #
3571
+ # @!attribute [rw] resource_type
3572
+ # The type of resource that wasn't found.
3573
+ # @return [String]
3574
+ #
3575
+ class ResourceNotFoundException < Struct.new(
3576
+ :message,
3577
+ :resource_id,
3578
+ :resource_type)
3579
+ SENSITIVE = []
3580
+ include Aws::Structure
3581
+ end
3582
+
3583
+ # An input component that reports the environmental condition of a
3584
+ # vehicle.
3585
+ #
3586
+ # <note markdown="1"> You can collect data about fluid levels, temperatures, vibrations, or
3587
+ # battery voltage from sensors.
3588
+ #
3589
+ # </note>
3590
+ #
3591
+ # @note When making an API call, you may pass Sensor
3592
+ # data as a hash:
3593
+ #
3594
+ # {
3595
+ # fully_qualified_name: "string", # required
3596
+ # data_type: "INT8", # required, accepts INT8, UINT8, INT16, UINT16, INT32, UINT32, INT64, UINT64, BOOLEAN, FLOAT, DOUBLE, STRING, UNIX_TIMESTAMP, INT8_ARRAY, UINT8_ARRAY, INT16_ARRAY, UINT16_ARRAY, INT32_ARRAY, UINT32_ARRAY, INT64_ARRAY, UINT64_ARRAY, BOOLEAN_ARRAY, FLOAT_ARRAY, DOUBLE_ARRAY, STRING_ARRAY, UNIX_TIMESTAMP_ARRAY, UNKNOWN
3597
+ # description: "description",
3598
+ # unit: "string",
3599
+ # allowed_values: ["string"],
3600
+ # min: 1.0,
3601
+ # max: 1.0,
3602
+ # }
3603
+ #
3604
+ # @!attribute [rw] fully_qualified_name
3605
+ # The fully qualified name of the sensor. For example, the fully
3606
+ # qualified name of a sensor might be `Vehicle.Body.Engine.Battery`.
3607
+ # @return [String]
3608
+ #
3609
+ # @!attribute [rw] data_type
3610
+ # The specified data type of the sensor.
3611
+ # @return [String]
3612
+ #
3613
+ # @!attribute [rw] description
3614
+ # A brief description of a sensor.
3615
+ # @return [String]
3616
+ #
3617
+ # @!attribute [rw] unit
3618
+ # The scientific unit of measurement for data collected by the sensor.
3619
+ # @return [String]
3620
+ #
3621
+ # @!attribute [rw] allowed_values
3622
+ # A list of possible values a sensor can take.
3623
+ # @return [Array<String>]
3624
+ #
3625
+ # @!attribute [rw] min
3626
+ # The specified possible minimum value of the sensor.
3627
+ # @return [Float]
3628
+ #
3629
+ # @!attribute [rw] max
3630
+ # The specified possible maximum value of the sensor.
3631
+ # @return [Float]
3632
+ #
3633
+ class Sensor < Struct.new(
3634
+ :fully_qualified_name,
3635
+ :data_type,
3636
+ :description,
3637
+ :unit,
3638
+ :allowed_values,
3639
+ :min,
3640
+ :max)
3641
+ SENSITIVE = []
3642
+ include Aws::Structure
3643
+ end
3644
+
3645
+ # Information about a collection of standardized signals, which can be
3646
+ # attributes, branches, sensors, or actuators.
3647
+ #
3648
+ # @!attribute [rw] name
3649
+ # The name of the signal catalog.
3650
+ # @return [String]
3651
+ #
3652
+ # @!attribute [rw] arn
3653
+ # The Amazon Resource Name (ARN) of the signal catalog.
3654
+ # @return [String]
3655
+ #
3656
+ # @!attribute [rw] creation_time
3657
+ # The time the signal catalog was created in seconds since epoch
3658
+ # (January 1, 1970 at midnight UTC time).
3659
+ # @return [Time]
3660
+ #
3661
+ # @!attribute [rw] last_modification_time
3662
+ # The time the signal catalog was last updated in seconds since epoch
3663
+ # (January 1, 1970 at midnight UTC time).
3664
+ # @return [Time]
3665
+ #
3666
+ class SignalCatalogSummary < Struct.new(
3667
+ :name,
3668
+ :arn,
3669
+ :creation_time,
3670
+ :last_modification_time)
3671
+ SENSITIVE = []
3672
+ include Aws::Structure
3673
+ end
3674
+
3675
+ # Information about a signal decoder.
3676
+ #
3677
+ # @note When making an API call, you may pass SignalDecoder
3678
+ # data as a hash:
3679
+ #
3680
+ # {
3681
+ # fully_qualified_name: "FullyQualifiedName", # required
3682
+ # type: "CAN_SIGNAL", # required, accepts CAN_SIGNAL, OBD_SIGNAL
3683
+ # interface_id: "InterfaceId", # required
3684
+ # can_signal: {
3685
+ # message_id: 1, # required
3686
+ # is_big_endian: false, # required
3687
+ # is_signed: false, # required
3688
+ # start_bit: 1, # required
3689
+ # offset: 1.0, # required
3690
+ # factor: 1.0, # required
3691
+ # length: 1, # required
3692
+ # name: "CanSignalName",
3693
+ # },
3694
+ # obd_signal: {
3695
+ # pid_response_length: 1, # required
3696
+ # service_mode: 1, # required
3697
+ # pid: 1, # required
3698
+ # scaling: 1.0, # required
3699
+ # offset: 1.0, # required
3700
+ # start_byte: 1, # required
3701
+ # byte_length: 1, # required
3702
+ # bit_right_shift: 1,
3703
+ # bit_mask_length: 1,
3704
+ # },
3705
+ # }
3706
+ #
3707
+ # @!attribute [rw] fully_qualified_name
3708
+ # The fully qualified name of a signal decoder as defined in a vehicle
3709
+ # model.
3710
+ # @return [String]
3711
+ #
3712
+ # @!attribute [rw] type
3713
+ # The network protocol for the vehicle. For example, `CAN_SIGNAL`
3714
+ # specifies a protocol that defines how data is communicated between
3715
+ # electronic control units (ECUs). `OBD_SIGNAL` specifies a protocol
3716
+ # that defines how self-diagnostic data is communicated between ECUs.
3717
+ # @return [String]
3718
+ #
3719
+ # @!attribute [rw] interface_id
3720
+ # The ID of a network interface that specifies what network protocol a
3721
+ # vehicle follows.
3722
+ # @return [String]
3723
+ #
3724
+ # @!attribute [rw] can_signal
3725
+ # Information about signal decoder using the Controller Area Network
3726
+ # (CAN) protocol.
3727
+ # @return [Types::CanSignal]
3728
+ #
3729
+ # @!attribute [rw] obd_signal
3730
+ # Information about signal decoder using the On-board diagnostic (OBD)
3731
+ # II protocol.
3732
+ # @return [Types::ObdSignal]
3733
+ #
3734
+ class SignalDecoder < Struct.new(
3735
+ :fully_qualified_name,
3736
+ :type,
3737
+ :interface_id,
3738
+ :can_signal,
3739
+ :obd_signal)
3740
+ SENSITIVE = []
3741
+ include Aws::Structure
3742
+ end
3743
+
3744
+ # Information about a signal.
3745
+ #
3746
+ # @note When making an API call, you may pass SignalInformation
3747
+ # data as a hash:
3748
+ #
3749
+ # {
3750
+ # name: "wildcardSignalName", # required
3751
+ # max_sample_count: 1,
3752
+ # minimum_sampling_interval_ms: 1,
3753
+ # }
3754
+ #
3755
+ # @!attribute [rw] name
3756
+ # The name of the signal.
3757
+ # @return [String]
3758
+ #
3759
+ # @!attribute [rw] max_sample_count
3760
+ # The maximum number of samples to collect.
3761
+ # @return [Integer]
3762
+ #
3763
+ # @!attribute [rw] minimum_sampling_interval_ms
3764
+ # The minimum duration of time (in milliseconds) between two
3765
+ # triggering events to collect data.
3766
+ #
3767
+ # <note markdown="1"> If a signal changes often, you might want to collect data at a
3768
+ # slower rate.
3769
+ #
3770
+ # </note>
3771
+ # @return [Integer]
3772
+ #
3773
+ class SignalInformation < Struct.new(
3774
+ :name,
3775
+ :max_sample_count,
3776
+ :minimum_sampling_interval_ms)
3777
+ SENSITIVE = []
3778
+ include Aws::Structure
3779
+ end
3780
+
3781
+ # A set of key/value pairs that are used to manage the resource.
3782
+ #
3783
+ # @note When making an API call, you may pass Tag
3784
+ # data as a hash:
3785
+ #
3786
+ # {
3787
+ # key: "TagKey", # required
3788
+ # value: "TagValue", # required
3789
+ # }
3790
+ #
3791
+ # @!attribute [rw] key
3792
+ # The tag's key.
3793
+ # @return [String]
3794
+ #
3795
+ # @!attribute [rw] value
3796
+ # The tag's value.
3797
+ # @return [String]
3798
+ #
3799
+ class Tag < Struct.new(
3800
+ :key,
3801
+ :value)
3802
+ SENSITIVE = []
3803
+ include Aws::Structure
3804
+ end
3805
+
3806
+ # @note When making an API call, you may pass TagResourceRequest
3807
+ # data as a hash:
3808
+ #
3809
+ # {
3810
+ # resource_arn: "AmazonResourceName", # required
3811
+ # tags: [ # required
3812
+ # {
3813
+ # key: "TagKey", # required
3814
+ # value: "TagValue", # required
3815
+ # },
3816
+ # ],
3817
+ # }
3818
+ #
3819
+ # @!attribute [rw] resource_arn
3820
+ # The ARN of the resource.
3821
+ # @return [String]
3822
+ #
3823
+ # @!attribute [rw] tags
3824
+ # The new or modified tags for the resource.
3825
+ # @return [Array<Types::Tag>]
3826
+ #
3827
+ class TagResourceRequest < Struct.new(
3828
+ :resource_arn,
3829
+ :tags)
3830
+ SENSITIVE = []
3831
+ include Aws::Structure
3832
+ end
3833
+
3834
+ class TagResourceResponse < Aws::EmptyStructure; end
3835
+
3836
+ # The request couldn't be completed due to throttling.
3837
+ #
3838
+ # @!attribute [rw] message
3839
+ # @return [String]
3840
+ #
3841
+ # @!attribute [rw] quota_code
3842
+ # The quota identifier of the applied throttling rules for this
3843
+ # request.
3844
+ # @return [String]
3845
+ #
3846
+ # @!attribute [rw] service_code
3847
+ # The code for the service that couldn't be completed due to
3848
+ # throttling.
3849
+ # @return [String]
3850
+ #
3851
+ # @!attribute [rw] retry_after_seconds
3852
+ # The number of seconds to wait before retrying the command.
3853
+ # @return [Integer]
3854
+ #
3855
+ class ThrottlingException < Struct.new(
3856
+ :message,
3857
+ :quota_code,
3858
+ :service_code,
3859
+ :retry_after_seconds)
3860
+ SENSITIVE = []
3861
+ include Aws::Structure
3862
+ end
3863
+
3864
+ # Information about a collection scheme that uses a time period to
3865
+ # decide how often to collect data.
3866
+ #
3867
+ # @note When making an API call, you may pass TimeBasedCollectionScheme
3868
+ # data as a hash:
3869
+ #
3870
+ # {
3871
+ # period_ms: 1, # required
3872
+ # }
3873
+ #
3874
+ # @!attribute [rw] period_ms
3875
+ # The time period (in milliseconds) to decide how often to collect
3876
+ # data. For example, if the time period is `60000`, the Edge Agent
3877
+ # software collects data once every minute.
3878
+ # @return [Integer]
3879
+ #
3880
+ class TimeBasedCollectionScheme < Struct.new(
3881
+ :period_ms)
3882
+ SENSITIVE = []
3883
+ include Aws::Structure
3884
+ end
3885
+
3886
+ # Information about the registered Amazon Timestream resources or
3887
+ # errors, if any.
3888
+ #
3889
+ # @!attribute [rw] timestream_database_name
3890
+ # The name of the Timestream database.
3891
+ # @return [String]
3892
+ #
3893
+ # @!attribute [rw] timestream_table_name
3894
+ # The name of the Timestream database table.
3895
+ # @return [String]
3896
+ #
3897
+ # @!attribute [rw] timestream_database_arn
3898
+ # The Amazon Resource Name (ARN) of the Timestream database.
3899
+ # @return [String]
3900
+ #
3901
+ # @!attribute [rw] timestream_table_arn
3902
+ # The ARN of the Timestream database table.
3903
+ # @return [String]
3904
+ #
3905
+ # @!attribute [rw] registration_status
3906
+ # The status of registering your Amazon Timestream resources. The
3907
+ # status can be one of `REGISTRATION_SUCCESS`, `REGISTRATION_PENDING`,
3908
+ # `REGISTRATION_FAILURE`.
3909
+ # @return [String]
3910
+ #
3911
+ # @!attribute [rw] error_message
3912
+ # A message associated with a registration error.
3913
+ # @return [String]
3914
+ #
3915
+ class TimestreamRegistrationResponse < Struct.new(
3916
+ :timestream_database_name,
3917
+ :timestream_table_name,
3918
+ :timestream_database_arn,
3919
+ :timestream_table_arn,
3920
+ :registration_status,
3921
+ :error_message)
3922
+ SENSITIVE = []
3923
+ include Aws::Structure
3924
+ end
3925
+
3926
+ # The registered Amazon Timestream resources that Amazon Web Services
3927
+ # IoT FleetWise edge agent software can transfer your vehicle data to.
3928
+ #
3929
+ # @note When making an API call, you may pass TimestreamResources
3930
+ # data as a hash:
3931
+ #
3932
+ # {
3933
+ # timestream_database_name: "TimestreamDatabaseName", # required
3934
+ # timestream_table_name: "TimestreamTableName", # required
3935
+ # }
3936
+ #
3937
+ # @!attribute [rw] timestream_database_name
3938
+ # The name of the registered Amazon Timestream database.
3939
+ # @return [String]
3940
+ #
3941
+ # @!attribute [rw] timestream_table_name
3942
+ # The name of the registered Amazon Timestream database table.
3943
+ # @return [String]
3944
+ #
3945
+ class TimestreamResources < Struct.new(
3946
+ :timestream_database_name,
3947
+ :timestream_table_name)
3948
+ SENSITIVE = []
3949
+ include Aws::Structure
3950
+ end
3951
+
3952
+ # @note When making an API call, you may pass UntagResourceRequest
3953
+ # data as a hash:
3954
+ #
3955
+ # {
3956
+ # resource_arn: "AmazonResourceName", # required
3957
+ # tag_keys: ["TagKey"], # required
3958
+ # }
3959
+ #
3960
+ # @!attribute [rw] resource_arn
3961
+ # The ARN of the resource.
3962
+ # @return [String]
3963
+ #
3964
+ # @!attribute [rw] tag_keys
3965
+ # A list of the keys of the tags to be removed from the resource.
3966
+ # @return [Array<String>]
3967
+ #
3968
+ class UntagResourceRequest < Struct.new(
3969
+ :resource_arn,
3970
+ :tag_keys)
3971
+ SENSITIVE = []
3972
+ include Aws::Structure
3973
+ end
3974
+
3975
+ class UntagResourceResponse < Aws::EmptyStructure; end
3976
+
3977
+ # @note When making an API call, you may pass UpdateCampaignRequest
3978
+ # data as a hash:
3979
+ #
3980
+ # {
3981
+ # name: "campaignName", # required
3982
+ # description: "description",
3983
+ # data_extra_dimensions: ["NodePath"],
3984
+ # action: "APPROVE", # required, accepts APPROVE, SUSPEND, RESUME, UPDATE
3985
+ # }
3986
+ #
3987
+ # @!attribute [rw] name
3988
+ # The name of the campaign to update.
3989
+ # @return [String]
3990
+ #
3991
+ # @!attribute [rw] description
3992
+ # The description of the campaign.
3993
+ # @return [String]
3994
+ #
3995
+ # @!attribute [rw] data_extra_dimensions
3996
+ # A list of vehicle attributes to associate with a signal.
3997
+ #
3998
+ # Default: An empty array
3999
+ # @return [Array<String>]
4000
+ #
4001
+ # @!attribute [rw] action
4002
+ # Specifies how to update a campaign. The action can be one of the
4003
+ # following:
4004
+ #
4005
+ # * `APPROVE` - To approve delivering a data collection scheme to
4006
+ # vehicles.
4007
+ #
4008
+ # * `SUSPEND` - To suspend collecting signal data.
4009
+ #
4010
+ # * `RESUME` - To resume collecting signal data.
4011
+ #
4012
+ # * `UPDATE` - To update a campaign.
4013
+ # @return [String]
4014
+ #
4015
+ class UpdateCampaignRequest < Struct.new(
4016
+ :name,
4017
+ :description,
4018
+ :data_extra_dimensions,
4019
+ :action)
4020
+ SENSITIVE = []
4021
+ include Aws::Structure
4022
+ end
4023
+
4024
+ # @!attribute [rw] arn
4025
+ # The Amazon Resource Name (ARN) of the campaign.
4026
+ # @return [String]
4027
+ #
4028
+ # @!attribute [rw] name
4029
+ # The name of the updated campaign.
4030
+ # @return [String]
4031
+ #
4032
+ # @!attribute [rw] status
4033
+ # The state of a campaign. The status can be one of:
4034
+ #
4035
+ # * `CREATING` - Amazon Web Services IoT FleetWise is processing your
4036
+ # request to create the campaign.
4037
+ #
4038
+ # * `WAITING_FOR_APPROVAL` - After a campaign is created, it enters
4039
+ # the `WAITING_FOR_APPROVAL` state. To allow Amazon Web Services IoT
4040
+ # FleetWise to deploy the campaign to the target vehicle or fleet,
4041
+ # use the API operation to approve the campaign.
4042
+ #
4043
+ # * `RUNNING` - The campaign is active.
4044
+ #
4045
+ # * `SUSPENDED` - The campaign is suspended. To resume the campaign,
4046
+ # use the API operation.
4047
+ # @return [String]
4048
+ #
4049
+ class UpdateCampaignResponse < Struct.new(
4050
+ :arn,
4051
+ :name,
4052
+ :status)
4053
+ SENSITIVE = []
4054
+ include Aws::Structure
4055
+ end
4056
+
4057
+ # @note When making an API call, you may pass UpdateDecoderManifestRequest
4058
+ # data as a hash:
4059
+ #
4060
+ # {
4061
+ # name: "resourceName", # required
4062
+ # description: "description",
4063
+ # signal_decoders_to_add: [
4064
+ # {
4065
+ # fully_qualified_name: "FullyQualifiedName", # required
4066
+ # type: "CAN_SIGNAL", # required, accepts CAN_SIGNAL, OBD_SIGNAL
4067
+ # interface_id: "InterfaceId", # required
4068
+ # can_signal: {
4069
+ # message_id: 1, # required
4070
+ # is_big_endian: false, # required
4071
+ # is_signed: false, # required
4072
+ # start_bit: 1, # required
4073
+ # offset: 1.0, # required
4074
+ # factor: 1.0, # required
4075
+ # length: 1, # required
4076
+ # name: "CanSignalName",
4077
+ # },
4078
+ # obd_signal: {
4079
+ # pid_response_length: 1, # required
4080
+ # service_mode: 1, # required
4081
+ # pid: 1, # required
4082
+ # scaling: 1.0, # required
4083
+ # offset: 1.0, # required
4084
+ # start_byte: 1, # required
4085
+ # byte_length: 1, # required
4086
+ # bit_right_shift: 1,
4087
+ # bit_mask_length: 1,
4088
+ # },
4089
+ # },
4090
+ # ],
4091
+ # signal_decoders_to_update: [
4092
+ # {
4093
+ # fully_qualified_name: "FullyQualifiedName", # required
4094
+ # type: "CAN_SIGNAL", # required, accepts CAN_SIGNAL, OBD_SIGNAL
4095
+ # interface_id: "InterfaceId", # required
4096
+ # can_signal: {
4097
+ # message_id: 1, # required
4098
+ # is_big_endian: false, # required
4099
+ # is_signed: false, # required
4100
+ # start_bit: 1, # required
4101
+ # offset: 1.0, # required
4102
+ # factor: 1.0, # required
4103
+ # length: 1, # required
4104
+ # name: "CanSignalName",
4105
+ # },
4106
+ # obd_signal: {
4107
+ # pid_response_length: 1, # required
4108
+ # service_mode: 1, # required
4109
+ # pid: 1, # required
4110
+ # scaling: 1.0, # required
4111
+ # offset: 1.0, # required
4112
+ # start_byte: 1, # required
4113
+ # byte_length: 1, # required
4114
+ # bit_right_shift: 1,
4115
+ # bit_mask_length: 1,
4116
+ # },
4117
+ # },
4118
+ # ],
4119
+ # signal_decoders_to_remove: ["FullyQualifiedName"],
4120
+ # network_interfaces_to_add: [
4121
+ # {
4122
+ # interface_id: "InterfaceId", # required
4123
+ # type: "CAN_INTERFACE", # required, accepts CAN_INTERFACE, OBD_INTERFACE
4124
+ # can_interface: {
4125
+ # name: "CanInterfaceName", # required
4126
+ # protocol_name: "ProtocolName",
4127
+ # protocol_version: "ProtocolVersion",
4128
+ # },
4129
+ # obd_interface: {
4130
+ # name: "ObdInterfaceName", # required
4131
+ # request_message_id: 1, # required
4132
+ # obd_standard: "ObdStandard",
4133
+ # pid_request_interval_seconds: 1,
4134
+ # dtc_request_interval_seconds: 1,
4135
+ # use_extended_ids: false,
4136
+ # has_transmission_ecu: false,
4137
+ # },
4138
+ # },
4139
+ # ],
4140
+ # network_interfaces_to_update: [
4141
+ # {
4142
+ # interface_id: "InterfaceId", # required
4143
+ # type: "CAN_INTERFACE", # required, accepts CAN_INTERFACE, OBD_INTERFACE
4144
+ # can_interface: {
4145
+ # name: "CanInterfaceName", # required
4146
+ # protocol_name: "ProtocolName",
4147
+ # protocol_version: "ProtocolVersion",
4148
+ # },
4149
+ # obd_interface: {
4150
+ # name: "ObdInterfaceName", # required
4151
+ # request_message_id: 1, # required
4152
+ # obd_standard: "ObdStandard",
4153
+ # pid_request_interval_seconds: 1,
4154
+ # dtc_request_interval_seconds: 1,
4155
+ # use_extended_ids: false,
4156
+ # has_transmission_ecu: false,
4157
+ # },
4158
+ # },
4159
+ # ],
4160
+ # network_interfaces_to_remove: ["InterfaceId"],
4161
+ # status: "ACTIVE", # accepts ACTIVE, DRAFT
4162
+ # }
4163
+ #
4164
+ # @!attribute [rw] name
4165
+ # The name of the decoder manifest to update.
4166
+ # @return [String]
4167
+ #
4168
+ # @!attribute [rw] description
4169
+ # A brief description of the decoder manifest to update.
4170
+ # @return [String]
4171
+ #
4172
+ # @!attribute [rw] signal_decoders_to_add
4173
+ # A list of information about decoding additional signals to add to
4174
+ # the decoder manifest.
4175
+ # @return [Array<Types::SignalDecoder>]
4176
+ #
4177
+ # @!attribute [rw] signal_decoders_to_update
4178
+ # A list of updated information about decoding signals to update in
4179
+ # the decoder manifest.
4180
+ # @return [Array<Types::SignalDecoder>]
4181
+ #
4182
+ # @!attribute [rw] signal_decoders_to_remove
4183
+ # A list of signal decoders to remove from the decoder manifest.
4184
+ # @return [Array<String>]
4185
+ #
4186
+ # @!attribute [rw] network_interfaces_to_add
4187
+ # A list of information about the network interfaces to add to the
4188
+ # decoder manifest.
4189
+ # @return [Array<Types::NetworkInterface>]
4190
+ #
4191
+ # @!attribute [rw] network_interfaces_to_update
4192
+ # A list of information about the network interfaces to update in the
4193
+ # decoder manifest.
4194
+ # @return [Array<Types::NetworkInterface>]
4195
+ #
4196
+ # @!attribute [rw] network_interfaces_to_remove
4197
+ # A list of network interfaces to remove from the decoder manifest.
4198
+ # @return [Array<String>]
4199
+ #
4200
+ # @!attribute [rw] status
4201
+ # The state of the decoder manifest. If the status is `ACTIVE`, the
4202
+ # decoder manifest can't be edited. If the status is `DRAFT`, you can
4203
+ # edit the decoder manifest.
4204
+ # @return [String]
4205
+ #
4206
+ class UpdateDecoderManifestRequest < Struct.new(
4207
+ :name,
4208
+ :description,
4209
+ :signal_decoders_to_add,
4210
+ :signal_decoders_to_update,
4211
+ :signal_decoders_to_remove,
4212
+ :network_interfaces_to_add,
4213
+ :network_interfaces_to_update,
4214
+ :network_interfaces_to_remove,
4215
+ :status)
4216
+ SENSITIVE = []
4217
+ include Aws::Structure
4218
+ end
4219
+
4220
+ # @!attribute [rw] name
4221
+ # The name of the updated decoder manifest.
4222
+ # @return [String]
4223
+ #
4224
+ # @!attribute [rw] arn
4225
+ # The Amazon Resource Name (ARN) of the updated decoder manifest.
4226
+ # @return [String]
4227
+ #
4228
+ class UpdateDecoderManifestResponse < Struct.new(
4229
+ :name,
4230
+ :arn)
4231
+ SENSITIVE = []
4232
+ include Aws::Structure
4233
+ end
4234
+
4235
+ # @note When making an API call, you may pass UpdateFleetRequest
4236
+ # data as a hash:
4237
+ #
4238
+ # {
4239
+ # fleet_id: "fleetId", # required
4240
+ # description: "description",
4241
+ # }
4242
+ #
4243
+ # @!attribute [rw] fleet_id
4244
+ # The ID of the fleet to update.
4245
+ # @return [String]
4246
+ #
4247
+ # @!attribute [rw] description
4248
+ # An updated description of the fleet.
4249
+ # @return [String]
4250
+ #
4251
+ class UpdateFleetRequest < Struct.new(
4252
+ :fleet_id,
4253
+ :description)
4254
+ SENSITIVE = []
4255
+ include Aws::Structure
4256
+ end
4257
+
4258
+ # @!attribute [rw] id
4259
+ # The ID of the updated fleet.
4260
+ # @return [String]
4261
+ #
4262
+ # @!attribute [rw] arn
4263
+ # The Amazon Resource Name (ARN) of the updated fleet.
4264
+ # @return [String]
4265
+ #
4266
+ class UpdateFleetResponse < Struct.new(
4267
+ :id,
4268
+ :arn)
4269
+ SENSITIVE = []
4270
+ include Aws::Structure
4271
+ end
4272
+
4273
+ # @note When making an API call, you may pass UpdateModelManifestRequest
4274
+ # data as a hash:
4275
+ #
4276
+ # {
4277
+ # name: "resourceName", # required
4278
+ # description: "description",
4279
+ # nodes_to_add: ["NodePath"],
4280
+ # nodes_to_remove: ["NodePath"],
4281
+ # status: "ACTIVE", # accepts ACTIVE, DRAFT
4282
+ # }
4283
+ #
4284
+ # @!attribute [rw] name
4285
+ # The name of the vehicle model to update.
4286
+ # @return [String]
4287
+ #
4288
+ # @!attribute [rw] description
4289
+ # A brief description of the vehicle model.
4290
+ # @return [String]
4291
+ #
4292
+ # @!attribute [rw] nodes_to_add
4293
+ # A list of `fullyQualifiedName` of nodes, which are a general
4294
+ # abstraction of signals, to add to the vehicle model.
4295
+ # @return [Array<String>]
4296
+ #
4297
+ # @!attribute [rw] nodes_to_remove
4298
+ # A list of `fullyQualifiedName` of nodes, which are a general
4299
+ # abstraction of signals, to remove from the vehicle model.
4300
+ # @return [Array<String>]
4301
+ #
4302
+ # @!attribute [rw] status
4303
+ # The state of the vehicle model. If the status is `ACTIVE`, the
4304
+ # vehicle model can't be edited. If the status is `DRAFT`, you can
4305
+ # edit the vehicle model.
4306
+ # @return [String]
4307
+ #
4308
+ class UpdateModelManifestRequest < Struct.new(
4309
+ :name,
4310
+ :description,
4311
+ :nodes_to_add,
4312
+ :nodes_to_remove,
4313
+ :status)
4314
+ SENSITIVE = []
4315
+ include Aws::Structure
4316
+ end
4317
+
4318
+ # @!attribute [rw] name
4319
+ # The name of the updated vehicle model.
4320
+ # @return [String]
4321
+ #
4322
+ # @!attribute [rw] arn
4323
+ # The Amazon Resource Name (ARN) of the updated vehicle model.
4324
+ # @return [String]
4325
+ #
4326
+ class UpdateModelManifestResponse < Struct.new(
4327
+ :name,
4328
+ :arn)
4329
+ SENSITIVE = []
4330
+ include Aws::Structure
4331
+ end
4332
+
4333
+ # @note When making an API call, you may pass UpdateSignalCatalogRequest
4334
+ # data as a hash:
4335
+ #
4336
+ # {
4337
+ # name: "resourceName", # required
4338
+ # description: "description",
4339
+ # nodes_to_add: [
4340
+ # {
4341
+ # branch: {
4342
+ # fully_qualified_name: "string", # required
4343
+ # description: "description",
4344
+ # },
4345
+ # sensor: {
4346
+ # fully_qualified_name: "string", # required
4347
+ # data_type: "INT8", # required, accepts INT8, UINT8, INT16, UINT16, INT32, UINT32, INT64, UINT64, BOOLEAN, FLOAT, DOUBLE, STRING, UNIX_TIMESTAMP, INT8_ARRAY, UINT8_ARRAY, INT16_ARRAY, UINT16_ARRAY, INT32_ARRAY, UINT32_ARRAY, INT64_ARRAY, UINT64_ARRAY, BOOLEAN_ARRAY, FLOAT_ARRAY, DOUBLE_ARRAY, STRING_ARRAY, UNIX_TIMESTAMP_ARRAY, UNKNOWN
4348
+ # description: "description",
4349
+ # unit: "string",
4350
+ # allowed_values: ["string"],
4351
+ # min: 1.0,
4352
+ # max: 1.0,
4353
+ # },
4354
+ # actuator: {
4355
+ # fully_qualified_name: "string", # required
4356
+ # data_type: "INT8", # required, accepts INT8, UINT8, INT16, UINT16, INT32, UINT32, INT64, UINT64, BOOLEAN, FLOAT, DOUBLE, STRING, UNIX_TIMESTAMP, INT8_ARRAY, UINT8_ARRAY, INT16_ARRAY, UINT16_ARRAY, INT32_ARRAY, UINT32_ARRAY, INT64_ARRAY, UINT64_ARRAY, BOOLEAN_ARRAY, FLOAT_ARRAY, DOUBLE_ARRAY, STRING_ARRAY, UNIX_TIMESTAMP_ARRAY, UNKNOWN
4357
+ # description: "description",
4358
+ # unit: "string",
4359
+ # allowed_values: ["string"],
4360
+ # min: 1.0,
4361
+ # max: 1.0,
4362
+ # assigned_value: "string",
4363
+ # },
4364
+ # attribute: {
4365
+ # fully_qualified_name: "string", # required
4366
+ # data_type: "INT8", # required, accepts INT8, UINT8, INT16, UINT16, INT32, UINT32, INT64, UINT64, BOOLEAN, FLOAT, DOUBLE, STRING, UNIX_TIMESTAMP, INT8_ARRAY, UINT8_ARRAY, INT16_ARRAY, UINT16_ARRAY, INT32_ARRAY, UINT32_ARRAY, INT64_ARRAY, UINT64_ARRAY, BOOLEAN_ARRAY, FLOAT_ARRAY, DOUBLE_ARRAY, STRING_ARRAY, UNIX_TIMESTAMP_ARRAY, UNKNOWN
4367
+ # description: "description",
4368
+ # unit: "string",
4369
+ # allowed_values: ["string"],
4370
+ # min: 1.0,
4371
+ # max: 1.0,
4372
+ # assigned_value: "string",
4373
+ # default_value: "string",
4374
+ # },
4375
+ # },
4376
+ # ],
4377
+ # nodes_to_update: [
4378
+ # {
4379
+ # branch: {
4380
+ # fully_qualified_name: "string", # required
4381
+ # description: "description",
4382
+ # },
4383
+ # sensor: {
4384
+ # fully_qualified_name: "string", # required
4385
+ # data_type: "INT8", # required, accepts INT8, UINT8, INT16, UINT16, INT32, UINT32, INT64, UINT64, BOOLEAN, FLOAT, DOUBLE, STRING, UNIX_TIMESTAMP, INT8_ARRAY, UINT8_ARRAY, INT16_ARRAY, UINT16_ARRAY, INT32_ARRAY, UINT32_ARRAY, INT64_ARRAY, UINT64_ARRAY, BOOLEAN_ARRAY, FLOAT_ARRAY, DOUBLE_ARRAY, STRING_ARRAY, UNIX_TIMESTAMP_ARRAY, UNKNOWN
4386
+ # description: "description",
4387
+ # unit: "string",
4388
+ # allowed_values: ["string"],
4389
+ # min: 1.0,
4390
+ # max: 1.0,
4391
+ # },
4392
+ # actuator: {
4393
+ # fully_qualified_name: "string", # required
4394
+ # data_type: "INT8", # required, accepts INT8, UINT8, INT16, UINT16, INT32, UINT32, INT64, UINT64, BOOLEAN, FLOAT, DOUBLE, STRING, UNIX_TIMESTAMP, INT8_ARRAY, UINT8_ARRAY, INT16_ARRAY, UINT16_ARRAY, INT32_ARRAY, UINT32_ARRAY, INT64_ARRAY, UINT64_ARRAY, BOOLEAN_ARRAY, FLOAT_ARRAY, DOUBLE_ARRAY, STRING_ARRAY, UNIX_TIMESTAMP_ARRAY, UNKNOWN
4395
+ # description: "description",
4396
+ # unit: "string",
4397
+ # allowed_values: ["string"],
4398
+ # min: 1.0,
4399
+ # max: 1.0,
4400
+ # assigned_value: "string",
4401
+ # },
4402
+ # attribute: {
4403
+ # fully_qualified_name: "string", # required
4404
+ # data_type: "INT8", # required, accepts INT8, UINT8, INT16, UINT16, INT32, UINT32, INT64, UINT64, BOOLEAN, FLOAT, DOUBLE, STRING, UNIX_TIMESTAMP, INT8_ARRAY, UINT8_ARRAY, INT16_ARRAY, UINT16_ARRAY, INT32_ARRAY, UINT32_ARRAY, INT64_ARRAY, UINT64_ARRAY, BOOLEAN_ARRAY, FLOAT_ARRAY, DOUBLE_ARRAY, STRING_ARRAY, UNIX_TIMESTAMP_ARRAY, UNKNOWN
4405
+ # description: "description",
4406
+ # unit: "string",
4407
+ # allowed_values: ["string"],
4408
+ # min: 1.0,
4409
+ # max: 1.0,
4410
+ # assigned_value: "string",
4411
+ # default_value: "string",
4412
+ # },
4413
+ # },
4414
+ # ],
4415
+ # nodes_to_remove: ["NodePath"],
4416
+ # }
4417
+ #
4418
+ # @!attribute [rw] name
4419
+ # The name of the signal catalog to update.
4420
+ # @return [String]
4421
+ #
4422
+ # @!attribute [rw] description
4423
+ # A brief description of the signal catalog to update.
4424
+ # @return [String]
4425
+ #
4426
+ # @!attribute [rw] nodes_to_add
4427
+ # A list of information about nodes to add to the signal catalog.
4428
+ # @return [Array<Types::Node>]
4429
+ #
4430
+ # @!attribute [rw] nodes_to_update
4431
+ # A list of information about nodes to update in the signal catalog.
4432
+ # @return [Array<Types::Node>]
4433
+ #
4434
+ # @!attribute [rw] nodes_to_remove
4435
+ # A list of `fullyQualifiedName` of nodes to remove from the signal
4436
+ # catalog.
4437
+ # @return [Array<String>]
4438
+ #
4439
+ class UpdateSignalCatalogRequest < Struct.new(
4440
+ :name,
4441
+ :description,
4442
+ :nodes_to_add,
4443
+ :nodes_to_update,
4444
+ :nodes_to_remove)
4445
+ SENSITIVE = []
4446
+ include Aws::Structure
4447
+ end
4448
+
4449
+ # @!attribute [rw] name
4450
+ # The name of the updated signal catalog.
4451
+ # @return [String]
4452
+ #
4453
+ # @!attribute [rw] arn
4454
+ # The ARN of the updated signal catalog.
4455
+ # @return [String]
4456
+ #
4457
+ class UpdateSignalCatalogResponse < Struct.new(
4458
+ :name,
4459
+ :arn)
4460
+ SENSITIVE = []
4461
+ include Aws::Structure
4462
+ end
4463
+
4464
+ # An HTTP error resulting from updating the description for a vehicle.
4465
+ #
4466
+ # @!attribute [rw] vehicle_name
4467
+ # The ID of the vehicle with the error.
4468
+ # @return [String]
4469
+ #
4470
+ # @!attribute [rw] code
4471
+ # The relevant HTTP error code (400+).
4472
+ # @return [Integer]
4473
+ #
4474
+ # @!attribute [rw] message
4475
+ # A message associated with the error.
4476
+ # @return [String]
4477
+ #
4478
+ class UpdateVehicleError < Struct.new(
4479
+ :vehicle_name,
4480
+ :code,
4481
+ :message)
4482
+ SENSITIVE = []
4483
+ include Aws::Structure
4484
+ end
4485
+
4486
+ # @note When making an API call, you may pass UpdateVehicleRequest
4487
+ # data as a hash:
4488
+ #
4489
+ # {
4490
+ # vehicle_name: "vehicleName", # required
4491
+ # model_manifest_arn: "arn",
4492
+ # decoder_manifest_arn: "arn",
4493
+ # attributes: {
4494
+ # "attributeName" => "attributeValue",
4495
+ # },
4496
+ # attribute_update_mode: "Overwrite", # accepts Overwrite, Merge
4497
+ # }
4498
+ #
4499
+ # @!attribute [rw] vehicle_name
4500
+ # The unique ID of the vehicle to update.
4501
+ # @return [String]
4502
+ #
4503
+ # @!attribute [rw] model_manifest_arn
4504
+ # The ARN of a vehicle model (model manifest) associated with the
4505
+ # vehicle.
4506
+ # @return [String]
4507
+ #
4508
+ # @!attribute [rw] decoder_manifest_arn
4509
+ # The ARN of the decoder manifest associated with this vehicle.
4510
+ # @return [String]
4511
+ #
4512
+ # @!attribute [rw] attributes
4513
+ # Static information about a vehicle in a key-value pair. For example:
4514
+ #
4515
+ # `"engineType"`\: `"1.3 L R2"`
4516
+ # @return [Hash<String,String>]
4517
+ #
4518
+ # @!attribute [rw] attribute_update_mode
4519
+ # The method the specified attributes will update the existing
4520
+ # attributes on the vehicle. Use`Overwite` to replace the vehicle
4521
+ # attributes with the specified attributes. Or use `Merge` to combine
4522
+ # all attributes.
4523
+ #
4524
+ # This is required if attributes are present in the input.
4525
+ # @return [String]
4526
+ #
4527
+ class UpdateVehicleRequest < Struct.new(
4528
+ :vehicle_name,
4529
+ :model_manifest_arn,
4530
+ :decoder_manifest_arn,
4531
+ :attributes,
4532
+ :attribute_update_mode)
4533
+ SENSITIVE = []
4534
+ include Aws::Structure
4535
+ end
4536
+
4537
+ # Information about the vehicle to update.
4538
+ #
4539
+ # @note When making an API call, you may pass UpdateVehicleRequestItem
4540
+ # data as a hash:
4541
+ #
4542
+ # {
4543
+ # vehicle_name: "vehicleName", # required
4544
+ # model_manifest_arn: "arn",
4545
+ # decoder_manifest_arn: "arn",
4546
+ # attributes: {
4547
+ # "attributeName" => "attributeValue",
4548
+ # },
4549
+ # attribute_update_mode: "Overwrite", # accepts Overwrite, Merge
4550
+ # }
4551
+ #
4552
+ # @!attribute [rw] vehicle_name
4553
+ # The unique ID of the vehicle to update.
4554
+ # @return [String]
4555
+ #
4556
+ # @!attribute [rw] model_manifest_arn
4557
+ # The ARN of the vehicle model (model manifest) associated with the
4558
+ # vehicle to update.
4559
+ # @return [String]
4560
+ #
4561
+ # @!attribute [rw] decoder_manifest_arn
4562
+ # The ARN of the signal decoder manifest associated with the vehicle
4563
+ # to update.
4564
+ # @return [String]
4565
+ #
4566
+ # @!attribute [rw] attributes
4567
+ # Static information about a vehicle in a key-value pair. For example:
4568
+ #
4569
+ # `"engineType"`\: `"1.3 L R2"`
4570
+ # @return [Hash<String,String>]
4571
+ #
4572
+ # @!attribute [rw] attribute_update_mode
4573
+ # The method the specified attributes will update the existing
4574
+ # attributes on the vehicle. Use`Overwite` to replace the vehicle
4575
+ # attributes with the specified attributes. Or use `Merge` to combine
4576
+ # all attributes.
4577
+ #
4578
+ # This is required if attributes are present in the input.
4579
+ # @return [String]
4580
+ #
4581
+ class UpdateVehicleRequestItem < Struct.new(
4582
+ :vehicle_name,
4583
+ :model_manifest_arn,
4584
+ :decoder_manifest_arn,
4585
+ :attributes,
4586
+ :attribute_update_mode)
4587
+ SENSITIVE = []
4588
+ include Aws::Structure
4589
+ end
4590
+
4591
+ # @!attribute [rw] vehicle_name
4592
+ # The ID of the updated vehicle.
4593
+ # @return [String]
4594
+ #
4595
+ # @!attribute [rw] arn
4596
+ # The ARN of the updated vehicle.
4597
+ # @return [String]
4598
+ #
4599
+ class UpdateVehicleResponse < Struct.new(
4600
+ :vehicle_name,
4601
+ :arn)
4602
+ SENSITIVE = []
4603
+ include Aws::Structure
4604
+ end
4605
+
4606
+ # Information about the updated vehicle.
4607
+ #
4608
+ # @!attribute [rw] vehicle_name
4609
+ # The unique ID of the updated vehicle.
4610
+ # @return [String]
4611
+ #
4612
+ # @!attribute [rw] arn
4613
+ # The Amazon Resource Name (ARN) of the updated vehicle.
4614
+ # @return [String]
4615
+ #
4616
+ class UpdateVehicleResponseItem < Struct.new(
4617
+ :vehicle_name,
4618
+ :arn)
4619
+ SENSITIVE = []
4620
+ include Aws::Structure
4621
+ end
4622
+
4623
+ # The input fails to satisfy the constraints specified by an Amazon Web
4624
+ # Services service.
4625
+ #
4626
+ # @!attribute [rw] message
4627
+ # @return [String]
4628
+ #
4629
+ # @!attribute [rw] reason
4630
+ # The reason the input failed to satisfy the constraints specified by
4631
+ # an Amazon Web Services service.
4632
+ # @return [String]
4633
+ #
4634
+ # @!attribute [rw] field_list
4635
+ # The list of fields that fail to satisfy the constraints specified by
4636
+ # an Amazon Web Services service.
4637
+ # @return [Array<Types::ValidationExceptionField>]
4638
+ #
4639
+ class ValidationException < Struct.new(
4640
+ :message,
4641
+ :reason,
4642
+ :field_list)
4643
+ SENSITIVE = []
4644
+ include Aws::Structure
4645
+ end
4646
+
4647
+ # A validation error due to mismatch between the expected data type,
4648
+ # length, or pattern of the parameter and the input.
4649
+ #
4650
+ # @!attribute [rw] name
4651
+ # The name of the parameter field with the validation error.
4652
+ # @return [String]
4653
+ #
4654
+ # @!attribute [rw] message
4655
+ # A message about the validation error.
4656
+ # @return [String]
4657
+ #
4658
+ class ValidationExceptionField < Struct.new(
4659
+ :name,
4660
+ :message)
4661
+ SENSITIVE = []
4662
+ include Aws::Structure
4663
+ end
4664
+
4665
+ # Information about the state of a vehicle and how it relates to the
4666
+ # status of a campaign.
4667
+ #
4668
+ # @!attribute [rw] campaign_name
4669
+ # The name of a campaign.
4670
+ # @return [String]
4671
+ #
4672
+ # @!attribute [rw] vehicle_name
4673
+ # The unique ID of the vehicle.
4674
+ # @return [String]
4675
+ #
4676
+ # @!attribute [rw] status
4677
+ # The state of a vehicle, which can be one of the following:
4678
+ #
4679
+ # * `CREATED` - Amazon Web Services IoT FleetWise sucessfully created
4680
+ # the vehicle.
4681
+ #
4682
+ # * `READY` - The vehicle is ready to receive a campaign deployment.
4683
+ #
4684
+ # * `HEALTHY` - A campaign deployment was delivered to the vehicle.
4685
+ #
4686
+ # * `SUSPENDED` - A campaign associated with the vehicle was suspended
4687
+ # and data collection was paused.
4688
+ #
4689
+ # * `DELETING` - Amazon Web Services IoT FleetWise is removing a
4690
+ # campaign from the vehicle.
4691
+ # @return [String]
4692
+ #
4693
+ class VehicleStatus < Struct.new(
4694
+ :campaign_name,
4695
+ :vehicle_name,
4696
+ :status)
4697
+ SENSITIVE = []
4698
+ include Aws::Structure
4699
+ end
4700
+
4701
+ # Information about a vehicle.
4702
+ #
4703
+ # To return this information about vehicles in your account, you can use
4704
+ # the API operation.
4705
+ #
4706
+ # @!attribute [rw] vehicle_name
4707
+ # The unique ID of the vehicle.
4708
+ # @return [String]
4709
+ #
4710
+ # @!attribute [rw] arn
4711
+ # The Amazon Resource Name (ARN) of the vehicle.
4712
+ # @return [String]
4713
+ #
4714
+ # @!attribute [rw] model_manifest_arn
4715
+ # The ARN of a vehicle model (model manifest) associated with the
4716
+ # vehicle.
4717
+ # @return [String]
4718
+ #
4719
+ # @!attribute [rw] decoder_manifest_arn
4720
+ # The ARN of a decoder manifest associated with the vehicle.
4721
+ # @return [String]
4722
+ #
4723
+ # @!attribute [rw] creation_time
4724
+ # The time the vehicle was created in seconds since epoch (January 1,
4725
+ # 1970 at midnight UTC time).
4726
+ # @return [Time]
4727
+ #
4728
+ # @!attribute [rw] last_modification_time
4729
+ # The time the vehicle was last updated in seconds since epoch
4730
+ # (January 1, 1970 at midnight UTC time).
4731
+ # @return [Time]
4732
+ #
4733
+ class VehicleSummary < Struct.new(
4734
+ :vehicle_name,
4735
+ :arn,
4736
+ :model_manifest_arn,
4737
+ :decoder_manifest_arn,
4738
+ :creation_time,
4739
+ :last_modification_time)
4740
+ SENSITIVE = []
4741
+ include Aws::Structure
4742
+ end
4743
+
4744
+ end
4745
+ end