aws-sdk-iotfleetwise 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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