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,3147 @@
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
+ require 'seahorse/client/plugins/content_length.rb'
11
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
12
+ require 'aws-sdk-core/plugins/logging.rb'
13
+ require 'aws-sdk-core/plugins/param_converter.rb'
14
+ require 'aws-sdk-core/plugins/param_validator.rb'
15
+ require 'aws-sdk-core/plugins/user_agent.rb'
16
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
17
+ require 'aws-sdk-core/plugins/retry_errors.rb'
18
+ require 'aws-sdk-core/plugins/global_configuration.rb'
19
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
20
+ require 'aws-sdk-core/plugins/endpoint_discovery.rb'
21
+ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
+ require 'aws-sdk-core/plugins/response_paging.rb'
23
+ require 'aws-sdk-core/plugins/stub_responses.rb'
24
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
25
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
26
+ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
+ require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
+ require 'aws-sdk-core/plugins/http_checksum.rb'
30
+ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
+ require 'aws-sdk-core/plugins/defaults_mode.rb'
32
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
33
+ require 'aws-sdk-core/plugins/signature_v4.rb'
34
+ require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
35
+
36
+ Aws::Plugins::GlobalConfiguration.add_identifier(:iotfleetwise)
37
+
38
+ module Aws::IoTFleetWise
39
+ # An API client for IoTFleetWise. To construct a client, you need to configure a `:region` and `:credentials`.
40
+ #
41
+ # client = Aws::IoTFleetWise::Client.new(
42
+ # region: region_name,
43
+ # credentials: credentials,
44
+ # # ...
45
+ # )
46
+ #
47
+ # For details on configuring region and credentials see
48
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
49
+ #
50
+ # See {#initialize} for a full list of supported configuration options.
51
+ class Client < Seahorse::Client::Base
52
+
53
+ include Aws::ClientStubs
54
+
55
+ @identifier = :iotfleetwise
56
+
57
+ set_api(ClientApi::API)
58
+
59
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
60
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
61
+ add_plugin(Aws::Plugins::Logging)
62
+ add_plugin(Aws::Plugins::ParamConverter)
63
+ add_plugin(Aws::Plugins::ParamValidator)
64
+ add_plugin(Aws::Plugins::UserAgent)
65
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
66
+ add_plugin(Aws::Plugins::RetryErrors)
67
+ add_plugin(Aws::Plugins::GlobalConfiguration)
68
+ add_plugin(Aws::Plugins::RegionalEndpoint)
69
+ add_plugin(Aws::Plugins::EndpointDiscovery)
70
+ add_plugin(Aws::Plugins::EndpointPattern)
71
+ add_plugin(Aws::Plugins::ResponsePaging)
72
+ add_plugin(Aws::Plugins::StubResponses)
73
+ add_plugin(Aws::Plugins::IdempotencyToken)
74
+ add_plugin(Aws::Plugins::JsonvalueConverter)
75
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
76
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
77
+ add_plugin(Aws::Plugins::TransferEncoding)
78
+ add_plugin(Aws::Plugins::HttpChecksum)
79
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
80
+ add_plugin(Aws::Plugins::DefaultsMode)
81
+ add_plugin(Aws::Plugins::RecursionDetection)
82
+ add_plugin(Aws::Plugins::SignatureV4)
83
+ add_plugin(Aws::Plugins::Protocols::JsonRpc)
84
+
85
+ # @overload initialize(options)
86
+ # @param [Hash] options
87
+ # @option options [required, Aws::CredentialProvider] :credentials
88
+ # Your AWS credentials. This can be an instance of any one of the
89
+ # following classes:
90
+ #
91
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
92
+ # credentials.
93
+ #
94
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
95
+ # shared file, such as `~/.aws/config`.
96
+ #
97
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
98
+ #
99
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
100
+ # assume a role after providing credentials via the web.
101
+ #
102
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
103
+ # access token generated from `aws login`.
104
+ #
105
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
106
+ # process that outputs to stdout.
107
+ #
108
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
109
+ # from an EC2 IMDS on an EC2 instance.
110
+ #
111
+ # * `Aws::ECSCredentials` - Used for loading credentials from
112
+ # instances running in ECS.
113
+ #
114
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
115
+ # from the Cognito Identity service.
116
+ #
117
+ # When `:credentials` are not configured directly, the following
118
+ # locations will be searched for credentials:
119
+ #
120
+ # * `Aws.config[:credentials]`
121
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
122
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
123
+ # * `~/.aws/credentials`
124
+ # * `~/.aws/config`
125
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
126
+ # are very aggressive. Construct and pass an instance of
127
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
128
+ # enable retries and extended timeouts. Instance profile credential
129
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
130
+ # to true.
131
+ #
132
+ # @option options [required, String] :region
133
+ # The AWS region to connect to. The configured `:region` is
134
+ # used to determine the service `:endpoint`. When not passed,
135
+ # a default `:region` is searched for in the following locations:
136
+ #
137
+ # * `Aws.config[:region]`
138
+ # * `ENV['AWS_REGION']`
139
+ # * `ENV['AMAZON_REGION']`
140
+ # * `ENV['AWS_DEFAULT_REGION']`
141
+ # * `~/.aws/credentials`
142
+ # * `~/.aws/config`
143
+ #
144
+ # @option options [String] :access_key_id
145
+ #
146
+ # @option options [Boolean] :active_endpoint_cache (false)
147
+ # When set to `true`, a thread polling for endpoints will be running in
148
+ # the background every 60 secs (default). Defaults to `false`.
149
+ #
150
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
151
+ # Used only in `adaptive` retry mode. When true, the request will sleep
152
+ # until there is sufficent client side capacity to retry the request.
153
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
154
+ # not retry instead of sleeping.
155
+ #
156
+ # @option options [Boolean] :client_side_monitoring (false)
157
+ # When `true`, client-side metrics will be collected for all API requests from
158
+ # this client.
159
+ #
160
+ # @option options [String] :client_side_monitoring_client_id ("")
161
+ # Allows you to provide an identifier for this client which will be attached to
162
+ # all generated client side metrics. Defaults to an empty string.
163
+ #
164
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
165
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
166
+ # side monitoring agent is running on, where client metrics will be published via UDP.
167
+ #
168
+ # @option options [Integer] :client_side_monitoring_port (31000)
169
+ # Required for publishing client metrics. The port that the client side monitoring
170
+ # agent is running on, where client metrics will be published via UDP.
171
+ #
172
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
173
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
174
+ # will use the Client Side Monitoring Agent Publisher.
175
+ #
176
+ # @option options [Boolean] :convert_params (true)
177
+ # When `true`, an attempt is made to coerce request parameters into
178
+ # the required types.
179
+ #
180
+ # @option options [Boolean] :correct_clock_skew (true)
181
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
182
+ # a clock skew correction and retry requests with skewed client clocks.
183
+ #
184
+ # @option options [String] :defaults_mode ("legacy")
185
+ # See {Aws::DefaultsModeConfiguration} for a list of the
186
+ # accepted modes and the configuration defaults that are included.
187
+ #
188
+ # @option options [Boolean] :disable_host_prefix_injection (false)
189
+ # Set to true to disable SDK automatically adding host prefix
190
+ # to default service endpoint when available.
191
+ #
192
+ # @option options [String] :endpoint
193
+ # The client endpoint is normally constructed from the `:region`
194
+ # option. You should only configure an `:endpoint` when connecting
195
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
196
+ #
197
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
198
+ # Used for the maximum size limit of the LRU cache storing endpoints data
199
+ # for endpoint discovery enabled operations. Defaults to 1000.
200
+ #
201
+ # @option options [Integer] :endpoint_cache_max_threads (10)
202
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
203
+ #
204
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
205
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
206
+ # Use this option to config the time interval in seconds for making
207
+ # requests fetching endpoints information. Defaults to 60 sec.
208
+ #
209
+ # @option options [Boolean] :endpoint_discovery (false)
210
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
211
+ #
212
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
213
+ # The log formatter.
214
+ #
215
+ # @option options [Symbol] :log_level (:info)
216
+ # The log level to send messages to the `:logger` at.
217
+ #
218
+ # @option options [Logger] :logger
219
+ # The Logger instance to send log messages to. If this option
220
+ # is not set, logging will be disabled.
221
+ #
222
+ # @option options [Integer] :max_attempts (3)
223
+ # An integer representing the maximum number attempts that will be made for
224
+ # a single request, including the initial attempt. For example,
225
+ # setting this value to 5 will result in a request being retried up to
226
+ # 4 times. Used in `standard` and `adaptive` retry modes.
227
+ #
228
+ # @option options [String] :profile ("default")
229
+ # Used when loading credentials from the shared credentials file
230
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
231
+ #
232
+ # @option options [Proc] :retry_backoff
233
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
234
+ # This option is only used in the `legacy` retry mode.
235
+ #
236
+ # @option options [Float] :retry_base_delay (0.3)
237
+ # The base delay in seconds used by the default backoff function. This option
238
+ # is only used in the `legacy` retry mode.
239
+ #
240
+ # @option options [Symbol] :retry_jitter (:none)
241
+ # A delay randomiser function used by the default backoff function.
242
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
243
+ # otherwise a Proc that takes and returns a number. This option is only used
244
+ # in the `legacy` retry mode.
245
+ #
246
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
247
+ #
248
+ # @option options [Integer] :retry_limit (3)
249
+ # The maximum number of times to retry failed requests. Only
250
+ # ~ 500 level server errors and certain ~ 400 level client errors
251
+ # are retried. Generally, these are throttling errors, data
252
+ # checksum errors, networking errors, timeout errors, auth errors,
253
+ # endpoint discovery, and errors from expired credentials.
254
+ # This option is only used in the `legacy` retry mode.
255
+ #
256
+ # @option options [Integer] :retry_max_delay (0)
257
+ # The maximum number of seconds to delay between retries (0 for no limit)
258
+ # used by the default backoff function. This option is only used in the
259
+ # `legacy` retry mode.
260
+ #
261
+ # @option options [String] :retry_mode ("legacy")
262
+ # Specifies which retry algorithm to use. Values are:
263
+ #
264
+ # * `legacy` - The pre-existing retry behavior. This is default value if
265
+ # no retry mode is provided.
266
+ #
267
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
268
+ # This includes support for retry quotas, which limit the number of
269
+ # unsuccessful retries a client can make.
270
+ #
271
+ # * `adaptive` - An experimental retry mode that includes all the
272
+ # functionality of `standard` mode along with automatic client side
273
+ # throttling. This is a provisional mode that may change behavior
274
+ # in the future.
275
+ #
276
+ #
277
+ # @option options [String] :secret_access_key
278
+ #
279
+ # @option options [String] :session_token
280
+ #
281
+ # @option options [Boolean] :simple_json (false)
282
+ # Disables request parameter conversion, validation, and formatting.
283
+ # Also disable response data type conversions. This option is useful
284
+ # when you want to ensure the highest level of performance by
285
+ # avoiding overhead of walking request parameters and response data
286
+ # structures.
287
+ #
288
+ # When `:simple_json` is enabled, the request parameters hash must
289
+ # be formatted exactly as the DynamoDB API expects.
290
+ #
291
+ # @option options [Boolean] :stub_responses (false)
292
+ # Causes the client to return stubbed responses. By default
293
+ # fake responses are generated and returned. You can specify
294
+ # the response data to return or errors to raise by calling
295
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
296
+ #
297
+ # ** Please note ** When response stubbing is enabled, no HTTP
298
+ # requests are made, and retries are disabled.
299
+ #
300
+ # @option options [Boolean] :use_dualstack_endpoint
301
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
302
+ # will be used if available.
303
+ #
304
+ # @option options [Boolean] :use_fips_endpoint
305
+ # When set to `true`, fips compatible endpoints will be used if available.
306
+ # When a `fips` region is used, the region is normalized and this config
307
+ # is set to `true`.
308
+ #
309
+ # @option options [Boolean] :validate_params (true)
310
+ # When `true`, request parameters are validated before
311
+ # sending the request.
312
+ #
313
+ # @option options [URI::HTTP,String] :http_proxy A proxy to send
314
+ # requests through. Formatted like 'http://proxy.com:123'.
315
+ #
316
+ # @option options [Float] :http_open_timeout (15) The number of
317
+ # seconds to wait when opening a HTTP session before raising a
318
+ # `Timeout::Error`.
319
+ #
320
+ # @option options [Float] :http_read_timeout (60) The default
321
+ # number of seconds to wait for response data. This value can
322
+ # safely be set per-request on the session.
323
+ #
324
+ # @option options [Float] :http_idle_timeout (5) The number of
325
+ # seconds a connection is allowed to sit idle before it is
326
+ # considered stale. Stale connections are closed and removed
327
+ # from the pool before making a request.
328
+ #
329
+ # @option options [Float] :http_continue_timeout (1) The number of
330
+ # seconds to wait for a 100-continue response before sending the
331
+ # request body. This option has no effect unless the request has
332
+ # "Expect" header set to "100-continue". Defaults to `nil` which
333
+ # disables this behaviour. This value can safely be set per
334
+ # request on the session.
335
+ #
336
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
337
+ # in seconds.
338
+ #
339
+ # @option options [Boolean] :http_wire_trace (false) When `true`,
340
+ # HTTP debug output will be sent to the `:logger`.
341
+ #
342
+ # @option options [Boolean] :ssl_verify_peer (true) When `true`,
343
+ # SSL peer certificates are verified when establishing a
344
+ # connection.
345
+ #
346
+ # @option options [String] :ssl_ca_bundle Full path to the SSL
347
+ # certificate authority bundle file that should be used when
348
+ # verifying peer certificates. If you do not pass
349
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
350
+ # will be used if available.
351
+ #
352
+ # @option options [String] :ssl_ca_directory Full path of the
353
+ # directory that contains the unbundled SSL certificate
354
+ # authority files for verifying peer certificates. If you do
355
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
356
+ # system default will be used if available.
357
+ #
358
+ def initialize(*args)
359
+ super
360
+ end
361
+
362
+ # @!group API Operations
363
+
364
+ # Adds, or associates, a vehicle with a fleet.
365
+ #
366
+ # @option params [required, String] :vehicle_name
367
+ # The unique ID of the vehicle to associate with the fleet.
368
+ #
369
+ # @option params [required, String] :fleet_id
370
+ # The ID of a fleet.
371
+ #
372
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
373
+ #
374
+ # @example Request syntax with placeholder values
375
+ #
376
+ # resp = client.associate_vehicle_fleet({
377
+ # vehicle_name: "vehicleName", # required
378
+ # fleet_id: "fleetId", # required
379
+ # })
380
+ #
381
+ # @overload associate_vehicle_fleet(params = {})
382
+ # @param [Hash] params ({})
383
+ def associate_vehicle_fleet(params = {}, options = {})
384
+ req = build_request(:associate_vehicle_fleet, params)
385
+ req.send_request(options)
386
+ end
387
+
388
+ # Creates a group, or batch, of vehicles.
389
+ #
390
+ # <note markdown="1"> You must specify a decoder manifest and a vehicle model (model
391
+ # manifest) for each vehicle.
392
+ #
393
+ # </note>
394
+ #
395
+ # For more information, see [Create multiple vehicles (AWS CLI)][1] in
396
+ # the *Amazon Web Services IoT FleetWise Developer Guide*.
397
+ #
398
+ #
399
+ #
400
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/create-vehicles-cli.html
401
+ #
402
+ # @option params [required, Array<Types::CreateVehicleRequestItem>] :vehicles
403
+ # A list of information about each vehicle to create. For more
404
+ # information, see the API data type.
405
+ #
406
+ # @return [Types::BatchCreateVehicleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
407
+ #
408
+ # * {Types::BatchCreateVehicleResponse#vehicles #vehicles} => Array&lt;Types::CreateVehicleResponseItem&gt;
409
+ # * {Types::BatchCreateVehicleResponse#errors #errors} => Array&lt;Types::CreateVehicleError&gt;
410
+ #
411
+ # @example Request syntax with placeholder values
412
+ #
413
+ # resp = client.batch_create_vehicle({
414
+ # vehicles: [ # required
415
+ # {
416
+ # vehicle_name: "vehicleName", # required
417
+ # model_manifest_arn: "arn", # required
418
+ # decoder_manifest_arn: "arn", # required
419
+ # attributes: {
420
+ # "attributeName" => "attributeValue",
421
+ # },
422
+ # association_behavior: "CreateIotThing", # accepts CreateIotThing, ValidateIotThingExists
423
+ # tags: [
424
+ # {
425
+ # key: "TagKey", # required
426
+ # value: "TagValue", # required
427
+ # },
428
+ # ],
429
+ # },
430
+ # ],
431
+ # })
432
+ #
433
+ # @example Response structure
434
+ #
435
+ # resp.vehicles #=> Array
436
+ # resp.vehicles[0].vehicle_name #=> String
437
+ # resp.vehicles[0].arn #=> String
438
+ # resp.vehicles[0].thing_arn #=> String
439
+ # resp.errors #=> Array
440
+ # resp.errors[0].vehicle_name #=> String
441
+ # resp.errors[0].code #=> String
442
+ # resp.errors[0].message #=> String
443
+ #
444
+ # @overload batch_create_vehicle(params = {})
445
+ # @param [Hash] params ({})
446
+ def batch_create_vehicle(params = {}, options = {})
447
+ req = build_request(:batch_create_vehicle, params)
448
+ req.send_request(options)
449
+ end
450
+
451
+ # Updates a group, or batch, of vehicles.
452
+ #
453
+ # <note markdown="1"> You must specify a decoder manifest and a vehicle model (model
454
+ # manifest) for each vehicle.
455
+ #
456
+ # </note>
457
+ #
458
+ # For more information, see [Update multiple vehicles (AWS CLI)][1] in
459
+ # the *Amazon Web Services IoT FleetWise Developer Guide*.
460
+ #
461
+ #
462
+ #
463
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/update-vehicles-cli.html
464
+ #
465
+ # @option params [required, Array<Types::UpdateVehicleRequestItem>] :vehicles
466
+ # A list of information about the vehicles to update. For more
467
+ # information, see the API data type.
468
+ #
469
+ # @return [Types::BatchUpdateVehicleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
470
+ #
471
+ # * {Types::BatchUpdateVehicleResponse#vehicles #vehicles} => Array&lt;Types::UpdateVehicleResponseItem&gt;
472
+ # * {Types::BatchUpdateVehicleResponse#errors #errors} => Array&lt;Types::UpdateVehicleError&gt;
473
+ #
474
+ # @example Request syntax with placeholder values
475
+ #
476
+ # resp = client.batch_update_vehicle({
477
+ # vehicles: [ # required
478
+ # {
479
+ # vehicle_name: "vehicleName", # required
480
+ # model_manifest_arn: "arn",
481
+ # decoder_manifest_arn: "arn",
482
+ # attributes: {
483
+ # "attributeName" => "attributeValue",
484
+ # },
485
+ # attribute_update_mode: "Overwrite", # accepts Overwrite, Merge
486
+ # },
487
+ # ],
488
+ # })
489
+ #
490
+ # @example Response structure
491
+ #
492
+ # resp.vehicles #=> Array
493
+ # resp.vehicles[0].vehicle_name #=> String
494
+ # resp.vehicles[0].arn #=> String
495
+ # resp.errors #=> Array
496
+ # resp.errors[0].vehicle_name #=> String
497
+ # resp.errors[0].code #=> Integer
498
+ # resp.errors[0].message #=> String
499
+ #
500
+ # @overload batch_update_vehicle(params = {})
501
+ # @param [Hash] params ({})
502
+ def batch_update_vehicle(params = {}, options = {})
503
+ req = build_request(:batch_update_vehicle, params)
504
+ req.send_request(options)
505
+ end
506
+
507
+ # Creates an orchestration of data collection rules. The Amazon Web
508
+ # Services IoT FleetWise Edge Agent software running in vehicles uses
509
+ # campaigns to decide how to collect and transfer data to the cloud. You
510
+ # create campaigns in the cloud. After you or your team approve
511
+ # campaigns, Amazon Web Services IoT FleetWise automatically deploys
512
+ # them to vehicles.
513
+ #
514
+ # For more information, see [Collect and transfer data with
515
+ # campaigns][1] in the *Amazon Web Services IoT FleetWise Developer
516
+ # Guide*.
517
+ #
518
+ #
519
+ #
520
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/campaigns.html
521
+ #
522
+ # @option params [required, String] :name
523
+ # The name of the campaign to create.
524
+ #
525
+ # @option params [String] :description
526
+ # An optional description of the campaign to help identify its purpose.
527
+ #
528
+ # @option params [required, String] :signal_catalog_arn
529
+ # (Optional) The Amazon Resource Name (ARN) of the signal catalog to
530
+ # associate with the campaign.
531
+ #
532
+ # @option params [required, String] :target_arn
533
+ # The ARN of the vehicle or fleet to deploy a campaign to.
534
+ #
535
+ # @option params [Time,DateTime,Date,Integer,String] :start_time
536
+ # (Optional) The time, in milliseconds, to deliver a campaign after it
537
+ # was approved. If it's not specified, `0` is used.
538
+ #
539
+ # Default: `0`
540
+ #
541
+ # @option params [Time,DateTime,Date,Integer,String] :expiry_time
542
+ # (Optional) The time the campaign expires, in seconds since epoch
543
+ # (January 1, 1970 at midnight UTC time). Vehicle data won't be
544
+ # collected after the campaign expires.
545
+ #
546
+ # Default: 253402243200 (December 31, 9999, 00:00:00 UTC)
547
+ #
548
+ # @option params [Integer] :post_trigger_collection_duration
549
+ # (Optional) How long (in milliseconds) to collect raw data after a
550
+ # triggering event initiates the collection. If it's not specified, `0`
551
+ # is used.
552
+ #
553
+ # Default: `0`
554
+ #
555
+ # @option params [String] :diagnostics_mode
556
+ # (Optional) Option for a vehicle to send diagnostic trouble codes to
557
+ # Amazon Web Services IoT FleetWise. If you want to send diagnostic
558
+ # trouble codes, use `SEND_ACTIVE_DTCS`. If it's not specified, `OFF`
559
+ # is used.
560
+ #
561
+ # Default: `OFF`
562
+ #
563
+ # @option params [String] :spooling_mode
564
+ # (Optional) Whether to store collected data after a vehicle lost a
565
+ # connection with the cloud. After a connection is re-established, the
566
+ # data is automatically forwarded to Amazon Web Services IoT FleetWise.
567
+ # If you want to store collected data when a vehicle loses connection
568
+ # with the cloud, use `TO_DISK`. If it's not specified, `OFF` is used.
569
+ #
570
+ # Default: `OFF`
571
+ #
572
+ # @option params [String] :compression
573
+ # (Optional) Whether to compress signals before transmitting data to
574
+ # Amazon Web Services IoT FleetWise. If you don't want to compress the
575
+ # signals, use `OFF`. If it's not specified, `SNAPPY` is used.
576
+ #
577
+ # Default: `SNAPPY`
578
+ #
579
+ # @option params [Integer] :priority
580
+ # (Optional) A number indicating the priority of one campaign over
581
+ # another campaign for a certain vehicle or fleet. A campaign with the
582
+ # lowest value is deployed to vehicles before any other campaigns. If
583
+ # it's not specified, `0` is used.
584
+ #
585
+ # Default: `0`
586
+ #
587
+ # @option params [Array<Types::SignalInformation>] :signals_to_collect
588
+ # (Optional) A list of information about signals to collect.
589
+ #
590
+ # @option params [required, Types::CollectionScheme] :collection_scheme
591
+ # The data collection scheme associated with the campaign. You can
592
+ # specify a scheme that collects data based on time or an event.
593
+ #
594
+ # @option params [Array<String>] :data_extra_dimensions
595
+ # (Optional) A list of vehicle attributes to associate with a campaign.
596
+ #
597
+ # Default: An empty array
598
+ #
599
+ # @option params [Array<Types::Tag>] :tags
600
+ # Metadata that can be used to manage the campaign.
601
+ #
602
+ # @return [Types::CreateCampaignResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
603
+ #
604
+ # * {Types::CreateCampaignResponse#name #name} => String
605
+ # * {Types::CreateCampaignResponse#arn #arn} => String
606
+ #
607
+ # @example Request syntax with placeholder values
608
+ #
609
+ # resp = client.create_campaign({
610
+ # name: "campaignName", # required
611
+ # description: "description",
612
+ # signal_catalog_arn: "arn", # required
613
+ # target_arn: "arn", # required
614
+ # start_time: Time.now,
615
+ # expiry_time: Time.now,
616
+ # post_trigger_collection_duration: 1,
617
+ # diagnostics_mode: "OFF", # accepts OFF, SEND_ACTIVE_DTCS
618
+ # spooling_mode: "OFF", # accepts OFF, TO_DISK
619
+ # compression: "OFF", # accepts OFF, SNAPPY
620
+ # priority: 1,
621
+ # signals_to_collect: [
622
+ # {
623
+ # name: "wildcardSignalName", # required
624
+ # max_sample_count: 1,
625
+ # minimum_sampling_interval_ms: 1,
626
+ # },
627
+ # ],
628
+ # collection_scheme: { # required
629
+ # time_based_collection_scheme: {
630
+ # period_ms: 1, # required
631
+ # },
632
+ # condition_based_collection_scheme: {
633
+ # expression: "eventExpression", # required
634
+ # minimum_trigger_interval_ms: 1,
635
+ # trigger_mode: "ALWAYS", # accepts ALWAYS, RISING_EDGE
636
+ # condition_language_version: 1,
637
+ # },
638
+ # },
639
+ # data_extra_dimensions: ["NodePath"],
640
+ # tags: [
641
+ # {
642
+ # key: "TagKey", # required
643
+ # value: "TagValue", # required
644
+ # },
645
+ # ],
646
+ # })
647
+ #
648
+ # @example Response structure
649
+ #
650
+ # resp.name #=> String
651
+ # resp.arn #=> String
652
+ #
653
+ # @overload create_campaign(params = {})
654
+ # @param [Hash] params ({})
655
+ def create_campaign(params = {}, options = {})
656
+ req = build_request(:create_campaign, params)
657
+ req.send_request(options)
658
+ end
659
+
660
+ # Creates the decoder manifest associated with a model manifest. To
661
+ # create a decoder manifest, the following must be true:
662
+ #
663
+ # * Every signal decoder has a unique name.
664
+ #
665
+ # * Each signal decoder is associated with a network interface.
666
+ #
667
+ # * Each network interface has a unique ID.
668
+ #
669
+ # * The signal decoders are specified in the model manifest.
670
+ #
671
+ # @option params [required, String] :name
672
+ # The unique name of the decoder manifest to create.
673
+ #
674
+ # @option params [String] :description
675
+ # A brief description of the decoder manifest.
676
+ #
677
+ # @option params [required, String] :model_manifest_arn
678
+ # The Amazon Resource Name (ARN) of the vehicle model (model manifest).
679
+ #
680
+ # @option params [Array<Types::SignalDecoder>] :signal_decoders
681
+ # A list of information about signal decoders.
682
+ #
683
+ # @option params [Array<Types::NetworkInterface>] :network_interfaces
684
+ # A list of information about available network interfaces.
685
+ #
686
+ # @option params [Array<Types::Tag>] :tags
687
+ # Metadata that can be used to manage the decoder manifest.
688
+ #
689
+ # @return [Types::CreateDecoderManifestResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
690
+ #
691
+ # * {Types::CreateDecoderManifestResponse#name #name} => String
692
+ # * {Types::CreateDecoderManifestResponse#arn #arn} => String
693
+ #
694
+ # @example Request syntax with placeholder values
695
+ #
696
+ # resp = client.create_decoder_manifest({
697
+ # name: "resourceName", # required
698
+ # description: "description",
699
+ # model_manifest_arn: "arn", # required
700
+ # signal_decoders: [
701
+ # {
702
+ # fully_qualified_name: "FullyQualifiedName", # required
703
+ # type: "CAN_SIGNAL", # required, accepts CAN_SIGNAL, OBD_SIGNAL
704
+ # interface_id: "InterfaceId", # required
705
+ # can_signal: {
706
+ # message_id: 1, # required
707
+ # is_big_endian: false, # required
708
+ # is_signed: false, # required
709
+ # start_bit: 1, # required
710
+ # offset: 1.0, # required
711
+ # factor: 1.0, # required
712
+ # length: 1, # required
713
+ # name: "CanSignalName",
714
+ # },
715
+ # obd_signal: {
716
+ # pid_response_length: 1, # required
717
+ # service_mode: 1, # required
718
+ # pid: 1, # required
719
+ # scaling: 1.0, # required
720
+ # offset: 1.0, # required
721
+ # start_byte: 1, # required
722
+ # byte_length: 1, # required
723
+ # bit_right_shift: 1,
724
+ # bit_mask_length: 1,
725
+ # },
726
+ # },
727
+ # ],
728
+ # network_interfaces: [
729
+ # {
730
+ # interface_id: "InterfaceId", # required
731
+ # type: "CAN_INTERFACE", # required, accepts CAN_INTERFACE, OBD_INTERFACE
732
+ # can_interface: {
733
+ # name: "CanInterfaceName", # required
734
+ # protocol_name: "ProtocolName",
735
+ # protocol_version: "ProtocolVersion",
736
+ # },
737
+ # obd_interface: {
738
+ # name: "ObdInterfaceName", # required
739
+ # request_message_id: 1, # required
740
+ # obd_standard: "ObdStandard",
741
+ # pid_request_interval_seconds: 1,
742
+ # dtc_request_interval_seconds: 1,
743
+ # use_extended_ids: false,
744
+ # has_transmission_ecu: false,
745
+ # },
746
+ # },
747
+ # ],
748
+ # tags: [
749
+ # {
750
+ # key: "TagKey", # required
751
+ # value: "TagValue", # required
752
+ # },
753
+ # ],
754
+ # })
755
+ #
756
+ # @example Response structure
757
+ #
758
+ # resp.name #=> String
759
+ # resp.arn #=> String
760
+ #
761
+ # @overload create_decoder_manifest(params = {})
762
+ # @param [Hash] params ({})
763
+ def create_decoder_manifest(params = {}, options = {})
764
+ req = build_request(:create_decoder_manifest, params)
765
+ req.send_request(options)
766
+ end
767
+
768
+ # Creates a fleet that represents a group of vehicles.
769
+ #
770
+ # <note markdown="1"> You must create both a signal catalog and vehicles before you can
771
+ # create a fleet.
772
+ #
773
+ # </note>
774
+ #
775
+ # For more information, see [Fleets][1] in the *Amazon Web Services IoT
776
+ # FleetWise Developer Guide*.
777
+ #
778
+ #
779
+ #
780
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleets.html
781
+ #
782
+ # @option params [required, String] :fleet_id
783
+ # The unique ID of the fleet to create.
784
+ #
785
+ # @option params [String] :description
786
+ # A brief description of the fleet to create.
787
+ #
788
+ # @option params [required, String] :signal_catalog_arn
789
+ # The Amazon Resource Name (ARN) of a signal catalog.
790
+ #
791
+ # @option params [Array<Types::Tag>] :tags
792
+ # Metadata that can be used to manage the fleet.
793
+ #
794
+ # @return [Types::CreateFleetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
795
+ #
796
+ # * {Types::CreateFleetResponse#id #id} => String
797
+ # * {Types::CreateFleetResponse#arn #arn} => String
798
+ #
799
+ # @example Request syntax with placeholder values
800
+ #
801
+ # resp = client.create_fleet({
802
+ # fleet_id: "fleetId", # required
803
+ # description: "description",
804
+ # signal_catalog_arn: "arn", # required
805
+ # tags: [
806
+ # {
807
+ # key: "TagKey", # required
808
+ # value: "TagValue", # required
809
+ # },
810
+ # ],
811
+ # })
812
+ #
813
+ # @example Response structure
814
+ #
815
+ # resp.id #=> String
816
+ # resp.arn #=> String
817
+ #
818
+ # @overload create_fleet(params = {})
819
+ # @param [Hash] params ({})
820
+ def create_fleet(params = {}, options = {})
821
+ req = build_request(:create_fleet, params)
822
+ req.send_request(options)
823
+ end
824
+
825
+ # Creates a vehicle model (model manifest) that specifies signals
826
+ # (attributes, branches, sensors, and actuators).
827
+ #
828
+ # For more information, see [Vehicle models][1] in the *Amazon Web
829
+ # Services IoT FleetWise Developer Guide*.
830
+ #
831
+ #
832
+ #
833
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/vehicle-models.html
834
+ #
835
+ # @option params [required, String] :name
836
+ # The name of the vehicle model to create.
837
+ #
838
+ # @option params [String] :description
839
+ # A brief description of the vehicle model.
840
+ #
841
+ # @option params [required, Array<String>] :nodes
842
+ # A list of nodes, which are a general abstraction of signals.
843
+ #
844
+ # @option params [required, String] :signal_catalog_arn
845
+ # The Amazon Resource Name (ARN) of a signal catalog.
846
+ #
847
+ # @option params [Array<Types::Tag>] :tags
848
+ # Metadata that can be used to manage the vehicle model.
849
+ #
850
+ # @return [Types::CreateModelManifestResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
851
+ #
852
+ # * {Types::CreateModelManifestResponse#name #name} => String
853
+ # * {Types::CreateModelManifestResponse#arn #arn} => String
854
+ #
855
+ # @example Request syntax with placeholder values
856
+ #
857
+ # resp = client.create_model_manifest({
858
+ # name: "resourceName", # required
859
+ # description: "description",
860
+ # nodes: ["string"], # required
861
+ # signal_catalog_arn: "arn", # required
862
+ # tags: [
863
+ # {
864
+ # key: "TagKey", # required
865
+ # value: "TagValue", # required
866
+ # },
867
+ # ],
868
+ # })
869
+ #
870
+ # @example Response structure
871
+ #
872
+ # resp.name #=> String
873
+ # resp.arn #=> String
874
+ #
875
+ # @overload create_model_manifest(params = {})
876
+ # @param [Hash] params ({})
877
+ def create_model_manifest(params = {}, options = {})
878
+ req = build_request(:create_model_manifest, params)
879
+ req.send_request(options)
880
+ end
881
+
882
+ # Creates a collection of standardized signals that can be reused to
883
+ # create vehicle models.
884
+ #
885
+ # @option params [required, String] :name
886
+ # The name of the signal catalog to create.
887
+ #
888
+ # @option params [String] :description
889
+ # A brief description of the signal catalog.
890
+ #
891
+ # @option params [Array<Types::Node>] :nodes
892
+ # A list of information about nodes, which are a general abstraction of
893
+ # signals. For more information, see the API data type.
894
+ #
895
+ # @option params [Array<Types::Tag>] :tags
896
+ # Metadata that can be used to manage the signal catalog.
897
+ #
898
+ # @return [Types::CreateSignalCatalogResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
899
+ #
900
+ # * {Types::CreateSignalCatalogResponse#name #name} => String
901
+ # * {Types::CreateSignalCatalogResponse#arn #arn} => String
902
+ #
903
+ # @example Request syntax with placeholder values
904
+ #
905
+ # resp = client.create_signal_catalog({
906
+ # name: "resourceName", # required
907
+ # description: "description",
908
+ # nodes: [
909
+ # {
910
+ # branch: {
911
+ # fully_qualified_name: "string", # required
912
+ # description: "description",
913
+ # },
914
+ # sensor: {
915
+ # fully_qualified_name: "string", # required
916
+ # 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
917
+ # description: "description",
918
+ # unit: "string",
919
+ # allowed_values: ["string"],
920
+ # min: 1.0,
921
+ # max: 1.0,
922
+ # },
923
+ # actuator: {
924
+ # fully_qualified_name: "string", # required
925
+ # 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
926
+ # description: "description",
927
+ # unit: "string",
928
+ # allowed_values: ["string"],
929
+ # min: 1.0,
930
+ # max: 1.0,
931
+ # assigned_value: "string",
932
+ # },
933
+ # attribute: {
934
+ # fully_qualified_name: "string", # required
935
+ # 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
936
+ # description: "description",
937
+ # unit: "string",
938
+ # allowed_values: ["string"],
939
+ # min: 1.0,
940
+ # max: 1.0,
941
+ # assigned_value: "string",
942
+ # default_value: "string",
943
+ # },
944
+ # },
945
+ # ],
946
+ # tags: [
947
+ # {
948
+ # key: "TagKey", # required
949
+ # value: "TagValue", # required
950
+ # },
951
+ # ],
952
+ # })
953
+ #
954
+ # @example Response structure
955
+ #
956
+ # resp.name #=> String
957
+ # resp.arn #=> String
958
+ #
959
+ # @overload create_signal_catalog(params = {})
960
+ # @param [Hash] params ({})
961
+ def create_signal_catalog(params = {}, options = {})
962
+ req = build_request(:create_signal_catalog, params)
963
+ req.send_request(options)
964
+ end
965
+
966
+ # Creates a vehicle, which is an instance of a vehicle model (model
967
+ # manifest). Vehicles created from the same vehicle model consist of the
968
+ # same signals inherited from the vehicle model.
969
+ #
970
+ # <note markdown="1"> If you have an existing Amazon Web Services IoT Thing, you can use
971
+ # Amazon Web Services IoT FleetWise to create a vehicle and collect data
972
+ # from your thing.
973
+ #
974
+ # </note>
975
+ #
976
+ # For more information, see [Create a vehicle (AWS CLI)][1] in the
977
+ # *Amazon Web Services IoT FleetWise Developer Guide*.
978
+ #
979
+ #
980
+ #
981
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/create-vehicle-cli.html
982
+ #
983
+ # @option params [required, String] :vehicle_name
984
+ # The unique ID of the vehicle to create.
985
+ #
986
+ # @option params [required, String] :model_manifest_arn
987
+ # The Amazon Resource Name ARN of a vehicle model.
988
+ #
989
+ # @option params [required, String] :decoder_manifest_arn
990
+ # The ARN of a decoder manifest.
991
+ #
992
+ # @option params [Hash<String,String>] :attributes
993
+ # Static information about a vehicle in a key-value pair. For example:
994
+ # `"engineType"`\: `"1.3 L R2"`
995
+ #
996
+ # @option params [String] :association_behavior
997
+ # An option to create a new Amazon Web Services IoT thing when creating
998
+ # a vehicle, or to validate an existing Amazon Web Services IoT thing as
999
+ # a vehicle.
1000
+ #
1001
+ # Default: ``
1002
+ #
1003
+ # @option params [Array<Types::Tag>] :tags
1004
+ # Metadata that can be used to manage the vehicle.
1005
+ #
1006
+ # @return [Types::CreateVehicleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1007
+ #
1008
+ # * {Types::CreateVehicleResponse#vehicle_name #vehicle_name} => String
1009
+ # * {Types::CreateVehicleResponse#arn #arn} => String
1010
+ # * {Types::CreateVehicleResponse#thing_arn #thing_arn} => String
1011
+ #
1012
+ # @example Request syntax with placeholder values
1013
+ #
1014
+ # resp = client.create_vehicle({
1015
+ # vehicle_name: "vehicleName", # required
1016
+ # model_manifest_arn: "arn", # required
1017
+ # decoder_manifest_arn: "arn", # required
1018
+ # attributes: {
1019
+ # "attributeName" => "attributeValue",
1020
+ # },
1021
+ # association_behavior: "CreateIotThing", # accepts CreateIotThing, ValidateIotThingExists
1022
+ # tags: [
1023
+ # {
1024
+ # key: "TagKey", # required
1025
+ # value: "TagValue", # required
1026
+ # },
1027
+ # ],
1028
+ # })
1029
+ #
1030
+ # @example Response structure
1031
+ #
1032
+ # resp.vehicle_name #=> String
1033
+ # resp.arn #=> String
1034
+ # resp.thing_arn #=> String
1035
+ #
1036
+ # @overload create_vehicle(params = {})
1037
+ # @param [Hash] params ({})
1038
+ def create_vehicle(params = {}, options = {})
1039
+ req = build_request(:create_vehicle, params)
1040
+ req.send_request(options)
1041
+ end
1042
+
1043
+ # Deletes a data collection campaign. Deleting a campaign suspends all
1044
+ # data collection and removes it from any vehicles.
1045
+ #
1046
+ # @option params [required, String] :name
1047
+ # The name of the campaign to delete.
1048
+ #
1049
+ # @return [Types::DeleteCampaignResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1050
+ #
1051
+ # * {Types::DeleteCampaignResponse#name #name} => String
1052
+ # * {Types::DeleteCampaignResponse#arn #arn} => String
1053
+ #
1054
+ # @example Request syntax with placeholder values
1055
+ #
1056
+ # resp = client.delete_campaign({
1057
+ # name: "campaignName", # required
1058
+ # })
1059
+ #
1060
+ # @example Response structure
1061
+ #
1062
+ # resp.name #=> String
1063
+ # resp.arn #=> String
1064
+ #
1065
+ # @overload delete_campaign(params = {})
1066
+ # @param [Hash] params ({})
1067
+ def delete_campaign(params = {}, options = {})
1068
+ req = build_request(:delete_campaign, params)
1069
+ req.send_request(options)
1070
+ end
1071
+
1072
+ # Deletes a decoder manifest. You can't delete a decoder manifest if it
1073
+ # has vehicles associated with it.
1074
+ #
1075
+ # <note markdown="1"> If the decoder manifest is successfully deleted, Amazon Web Services
1076
+ # IoT FleetWise sends back an HTTP 200 response with an empty body.
1077
+ #
1078
+ # </note>
1079
+ #
1080
+ # @option params [required, String] :name
1081
+ # The name of the decoder manifest to delete.
1082
+ #
1083
+ # @return [Types::DeleteDecoderManifestResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1084
+ #
1085
+ # * {Types::DeleteDecoderManifestResponse#name #name} => String
1086
+ # * {Types::DeleteDecoderManifestResponse#arn #arn} => String
1087
+ #
1088
+ # @example Request syntax with placeholder values
1089
+ #
1090
+ # resp = client.delete_decoder_manifest({
1091
+ # name: "resourceName", # required
1092
+ # })
1093
+ #
1094
+ # @example Response structure
1095
+ #
1096
+ # resp.name #=> String
1097
+ # resp.arn #=> String
1098
+ #
1099
+ # @overload delete_decoder_manifest(params = {})
1100
+ # @param [Hash] params ({})
1101
+ def delete_decoder_manifest(params = {}, options = {})
1102
+ req = build_request(:delete_decoder_manifest, params)
1103
+ req.send_request(options)
1104
+ end
1105
+
1106
+ # Deletes a fleet. Before you delete a fleet, all vehicles must be
1107
+ # dissociated from the fleet. For more information, see [Delete a fleet
1108
+ # (AWS CLI)][1] in the *Amazon Web Services IoT FleetWise Developer
1109
+ # Guide*.
1110
+ #
1111
+ # <note markdown="1"> If the fleet is successfully deleted, Amazon Web Services IoT
1112
+ # FleetWise sends back an HTTP 200 response with an empty body.
1113
+ #
1114
+ # </note>
1115
+ #
1116
+ #
1117
+ #
1118
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/delete-fleet-cli.html
1119
+ #
1120
+ # @option params [required, String] :fleet_id
1121
+ # The ID of the fleet to delete.
1122
+ #
1123
+ # @return [Types::DeleteFleetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1124
+ #
1125
+ # * {Types::DeleteFleetResponse#id #id} => String
1126
+ # * {Types::DeleteFleetResponse#arn #arn} => String
1127
+ #
1128
+ # @example Request syntax with placeholder values
1129
+ #
1130
+ # resp = client.delete_fleet({
1131
+ # fleet_id: "fleetId", # required
1132
+ # })
1133
+ #
1134
+ # @example Response structure
1135
+ #
1136
+ # resp.id #=> String
1137
+ # resp.arn #=> String
1138
+ #
1139
+ # @overload delete_fleet(params = {})
1140
+ # @param [Hash] params ({})
1141
+ def delete_fleet(params = {}, options = {})
1142
+ req = build_request(:delete_fleet, params)
1143
+ req.send_request(options)
1144
+ end
1145
+
1146
+ # Deletes a vehicle model (model manifest).
1147
+ #
1148
+ # <note markdown="1"> If the vehicle model is successfully deleted, Amazon Web Services IoT
1149
+ # FleetWise sends back an HTTP 200 response with an empty body.
1150
+ #
1151
+ # </note>
1152
+ #
1153
+ # @option params [required, String] :name
1154
+ # The name of the model manifest to delete.
1155
+ #
1156
+ # @return [Types::DeleteModelManifestResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1157
+ #
1158
+ # * {Types::DeleteModelManifestResponse#name #name} => String
1159
+ # * {Types::DeleteModelManifestResponse#arn #arn} => String
1160
+ #
1161
+ # @example Request syntax with placeholder values
1162
+ #
1163
+ # resp = client.delete_model_manifest({
1164
+ # name: "resourceName", # required
1165
+ # })
1166
+ #
1167
+ # @example Response structure
1168
+ #
1169
+ # resp.name #=> String
1170
+ # resp.arn #=> String
1171
+ #
1172
+ # @overload delete_model_manifest(params = {})
1173
+ # @param [Hash] params ({})
1174
+ def delete_model_manifest(params = {}, options = {})
1175
+ req = build_request(:delete_model_manifest, params)
1176
+ req.send_request(options)
1177
+ end
1178
+
1179
+ # Deletes a signal catalog.
1180
+ #
1181
+ # <note markdown="1"> If the signal catalog is successfully deleted, Amazon Web Services IoT
1182
+ # FleetWise sends back an HTTP 200 response with an empty body.
1183
+ #
1184
+ # </note>
1185
+ #
1186
+ # @option params [required, String] :name
1187
+ # The name of the signal catalog to delete.
1188
+ #
1189
+ # @return [Types::DeleteSignalCatalogResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1190
+ #
1191
+ # * {Types::DeleteSignalCatalogResponse#name #name} => String
1192
+ # * {Types::DeleteSignalCatalogResponse#arn #arn} => String
1193
+ #
1194
+ # @example Request syntax with placeholder values
1195
+ #
1196
+ # resp = client.delete_signal_catalog({
1197
+ # name: "resourceName", # required
1198
+ # })
1199
+ #
1200
+ # @example Response structure
1201
+ #
1202
+ # resp.name #=> String
1203
+ # resp.arn #=> String
1204
+ #
1205
+ # @overload delete_signal_catalog(params = {})
1206
+ # @param [Hash] params ({})
1207
+ def delete_signal_catalog(params = {}, options = {})
1208
+ req = build_request(:delete_signal_catalog, params)
1209
+ req.send_request(options)
1210
+ end
1211
+
1212
+ # Deletes a vehicle and removes it from any campaigns.
1213
+ #
1214
+ # <note markdown="1"> If the vehicle is successfully deleted, Amazon Web Services IoT
1215
+ # FleetWise sends back an HTTP 200 response with an empty body.
1216
+ #
1217
+ # </note>
1218
+ #
1219
+ # @option params [required, String] :vehicle_name
1220
+ # The ID of the vehicle to delete.
1221
+ #
1222
+ # @return [Types::DeleteVehicleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1223
+ #
1224
+ # * {Types::DeleteVehicleResponse#vehicle_name #vehicle_name} => String
1225
+ # * {Types::DeleteVehicleResponse#arn #arn} => String
1226
+ #
1227
+ # @example Request syntax with placeholder values
1228
+ #
1229
+ # resp = client.delete_vehicle({
1230
+ # vehicle_name: "vehicleName", # required
1231
+ # })
1232
+ #
1233
+ # @example Response structure
1234
+ #
1235
+ # resp.vehicle_name #=> String
1236
+ # resp.arn #=> String
1237
+ #
1238
+ # @overload delete_vehicle(params = {})
1239
+ # @param [Hash] params ({})
1240
+ def delete_vehicle(params = {}, options = {})
1241
+ req = build_request(:delete_vehicle, params)
1242
+ req.send_request(options)
1243
+ end
1244
+
1245
+ # Removes, or disassociates, a vehicle from a fleet. Disassociating a
1246
+ # vehicle from a fleet doesn't delete the vehicle.
1247
+ #
1248
+ # <note markdown="1"> If the vehicle is successfully dissociated from a fleet, Amazon Web
1249
+ # Services IoT FleetWise sends back an HTTP 200 response with an empty
1250
+ # body.
1251
+ #
1252
+ # </note>
1253
+ #
1254
+ # @option params [required, String] :vehicle_name
1255
+ # The unique ID of the vehicle to disassociate from the fleet.
1256
+ #
1257
+ # @option params [required, String] :fleet_id
1258
+ # The unique ID of a fleet.
1259
+ #
1260
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1261
+ #
1262
+ # @example Request syntax with placeholder values
1263
+ #
1264
+ # resp = client.disassociate_vehicle_fleet({
1265
+ # vehicle_name: "vehicleName", # required
1266
+ # fleet_id: "fleetId", # required
1267
+ # })
1268
+ #
1269
+ # @overload disassociate_vehicle_fleet(params = {})
1270
+ # @param [Hash] params ({})
1271
+ def disassociate_vehicle_fleet(params = {}, options = {})
1272
+ req = build_request(:disassociate_vehicle_fleet, params)
1273
+ req.send_request(options)
1274
+ end
1275
+
1276
+ # Retrieves information about a campaign.
1277
+ #
1278
+ # @option params [required, String] :name
1279
+ # The name of the campaign to retrieve information about.
1280
+ #
1281
+ # @return [Types::GetCampaignResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1282
+ #
1283
+ # * {Types::GetCampaignResponse#name #name} => String
1284
+ # * {Types::GetCampaignResponse#arn #arn} => String
1285
+ # * {Types::GetCampaignResponse#description #description} => String
1286
+ # * {Types::GetCampaignResponse#signal_catalog_arn #signal_catalog_arn} => String
1287
+ # * {Types::GetCampaignResponse#target_arn #target_arn} => String
1288
+ # * {Types::GetCampaignResponse#status #status} => String
1289
+ # * {Types::GetCampaignResponse#start_time #start_time} => Time
1290
+ # * {Types::GetCampaignResponse#expiry_time #expiry_time} => Time
1291
+ # * {Types::GetCampaignResponse#post_trigger_collection_duration #post_trigger_collection_duration} => Integer
1292
+ # * {Types::GetCampaignResponse#diagnostics_mode #diagnostics_mode} => String
1293
+ # * {Types::GetCampaignResponse#spooling_mode #spooling_mode} => String
1294
+ # * {Types::GetCampaignResponse#compression #compression} => String
1295
+ # * {Types::GetCampaignResponse#priority #priority} => Integer
1296
+ # * {Types::GetCampaignResponse#signals_to_collect #signals_to_collect} => Array&lt;Types::SignalInformation&gt;
1297
+ # * {Types::GetCampaignResponse#collection_scheme #collection_scheme} => Types::CollectionScheme
1298
+ # * {Types::GetCampaignResponse#data_extra_dimensions #data_extra_dimensions} => Array&lt;String&gt;
1299
+ # * {Types::GetCampaignResponse#creation_time #creation_time} => Time
1300
+ # * {Types::GetCampaignResponse#last_modification_time #last_modification_time} => Time
1301
+ #
1302
+ # @example Request syntax with placeholder values
1303
+ #
1304
+ # resp = client.get_campaign({
1305
+ # name: "campaignName", # required
1306
+ # })
1307
+ #
1308
+ # @example Response structure
1309
+ #
1310
+ # resp.name #=> String
1311
+ # resp.arn #=> String
1312
+ # resp.description #=> String
1313
+ # resp.signal_catalog_arn #=> String
1314
+ # resp.target_arn #=> String
1315
+ # resp.status #=> String, one of "CREATING", "WAITING_FOR_APPROVAL", "RUNNING", "SUSPENDED"
1316
+ # resp.start_time #=> Time
1317
+ # resp.expiry_time #=> Time
1318
+ # resp.post_trigger_collection_duration #=> Integer
1319
+ # resp.diagnostics_mode #=> String, one of "OFF", "SEND_ACTIVE_DTCS"
1320
+ # resp.spooling_mode #=> String, one of "OFF", "TO_DISK"
1321
+ # resp.compression #=> String, one of "OFF", "SNAPPY"
1322
+ # resp.priority #=> Integer
1323
+ # resp.signals_to_collect #=> Array
1324
+ # resp.signals_to_collect[0].name #=> String
1325
+ # resp.signals_to_collect[0].max_sample_count #=> Integer
1326
+ # resp.signals_to_collect[0].minimum_sampling_interval_ms #=> Integer
1327
+ # resp.collection_scheme.time_based_collection_scheme.period_ms #=> Integer
1328
+ # resp.collection_scheme.condition_based_collection_scheme.expression #=> String
1329
+ # resp.collection_scheme.condition_based_collection_scheme.minimum_trigger_interval_ms #=> Integer
1330
+ # resp.collection_scheme.condition_based_collection_scheme.trigger_mode #=> String, one of "ALWAYS", "RISING_EDGE"
1331
+ # resp.collection_scheme.condition_based_collection_scheme.condition_language_version #=> Integer
1332
+ # resp.data_extra_dimensions #=> Array
1333
+ # resp.data_extra_dimensions[0] #=> String
1334
+ # resp.creation_time #=> Time
1335
+ # resp.last_modification_time #=> Time
1336
+ #
1337
+ # @overload get_campaign(params = {})
1338
+ # @param [Hash] params ({})
1339
+ def get_campaign(params = {}, options = {})
1340
+ req = build_request(:get_campaign, params)
1341
+ req.send_request(options)
1342
+ end
1343
+
1344
+ # Retrieves information about a created decoder manifest.
1345
+ #
1346
+ # @option params [required, String] :name
1347
+ # The name of the decoder manifest to retrieve information about.
1348
+ #
1349
+ # @return [Types::GetDecoderManifestResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1350
+ #
1351
+ # * {Types::GetDecoderManifestResponse#name #name} => String
1352
+ # * {Types::GetDecoderManifestResponse#arn #arn} => String
1353
+ # * {Types::GetDecoderManifestResponse#description #description} => String
1354
+ # * {Types::GetDecoderManifestResponse#model_manifest_arn #model_manifest_arn} => String
1355
+ # * {Types::GetDecoderManifestResponse#status #status} => String
1356
+ # * {Types::GetDecoderManifestResponse#creation_time #creation_time} => Time
1357
+ # * {Types::GetDecoderManifestResponse#last_modification_time #last_modification_time} => Time
1358
+ #
1359
+ # @example Request syntax with placeholder values
1360
+ #
1361
+ # resp = client.get_decoder_manifest({
1362
+ # name: "resourceName", # required
1363
+ # })
1364
+ #
1365
+ # @example Response structure
1366
+ #
1367
+ # resp.name #=> String
1368
+ # resp.arn #=> String
1369
+ # resp.description #=> String
1370
+ # resp.model_manifest_arn #=> String
1371
+ # resp.status #=> String, one of "ACTIVE", "DRAFT"
1372
+ # resp.creation_time #=> Time
1373
+ # resp.last_modification_time #=> Time
1374
+ #
1375
+ # @overload get_decoder_manifest(params = {})
1376
+ # @param [Hash] params ({})
1377
+ def get_decoder_manifest(params = {}, options = {})
1378
+ req = build_request(:get_decoder_manifest, params)
1379
+ req.send_request(options)
1380
+ end
1381
+
1382
+ # Retrieves information about a fleet.
1383
+ #
1384
+ # @option params [required, String] :fleet_id
1385
+ # The ID of the fleet to retrieve information about.
1386
+ #
1387
+ # @return [Types::GetFleetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1388
+ #
1389
+ # * {Types::GetFleetResponse#id #id} => String
1390
+ # * {Types::GetFleetResponse#arn #arn} => String
1391
+ # * {Types::GetFleetResponse#description #description} => String
1392
+ # * {Types::GetFleetResponse#signal_catalog_arn #signal_catalog_arn} => String
1393
+ # * {Types::GetFleetResponse#creation_time #creation_time} => Time
1394
+ # * {Types::GetFleetResponse#last_modification_time #last_modification_time} => Time
1395
+ #
1396
+ # @example Request syntax with placeholder values
1397
+ #
1398
+ # resp = client.get_fleet({
1399
+ # fleet_id: "fleetId", # required
1400
+ # })
1401
+ #
1402
+ # @example Response structure
1403
+ #
1404
+ # resp.id #=> String
1405
+ # resp.arn #=> String
1406
+ # resp.description #=> String
1407
+ # resp.signal_catalog_arn #=> String
1408
+ # resp.creation_time #=> Time
1409
+ # resp.last_modification_time #=> Time
1410
+ #
1411
+ # @overload get_fleet(params = {})
1412
+ # @param [Hash] params ({})
1413
+ def get_fleet(params = {}, options = {})
1414
+ req = build_request(:get_fleet, params)
1415
+ req.send_request(options)
1416
+ end
1417
+
1418
+ # Retrieves the logging options.
1419
+ #
1420
+ # @return [Types::GetLoggingOptionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1421
+ #
1422
+ # * {Types::GetLoggingOptionsResponse#cloud_watch_log_delivery #cloud_watch_log_delivery} => Types::CloudWatchLogDeliveryOptions
1423
+ #
1424
+ # @example Response structure
1425
+ #
1426
+ # resp.cloud_watch_log_delivery.log_type #=> String, one of "OFF", "ERROR"
1427
+ # resp.cloud_watch_log_delivery.log_group_name #=> String
1428
+ #
1429
+ # @overload get_logging_options(params = {})
1430
+ # @param [Hash] params ({})
1431
+ def get_logging_options(params = {}, options = {})
1432
+ req = build_request(:get_logging_options, params)
1433
+ req.send_request(options)
1434
+ end
1435
+
1436
+ # Retrieves information about a vehicle model (model manifest).
1437
+ #
1438
+ # @option params [required, String] :name
1439
+ # The name of the vehicle model to retrieve information about.
1440
+ #
1441
+ # @return [Types::GetModelManifestResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1442
+ #
1443
+ # * {Types::GetModelManifestResponse#name #name} => String
1444
+ # * {Types::GetModelManifestResponse#arn #arn} => String
1445
+ # * {Types::GetModelManifestResponse#description #description} => String
1446
+ # * {Types::GetModelManifestResponse#signal_catalog_arn #signal_catalog_arn} => String
1447
+ # * {Types::GetModelManifestResponse#status #status} => String
1448
+ # * {Types::GetModelManifestResponse#creation_time #creation_time} => Time
1449
+ # * {Types::GetModelManifestResponse#last_modification_time #last_modification_time} => Time
1450
+ #
1451
+ # @example Request syntax with placeholder values
1452
+ #
1453
+ # resp = client.get_model_manifest({
1454
+ # name: "resourceName", # required
1455
+ # })
1456
+ #
1457
+ # @example Response structure
1458
+ #
1459
+ # resp.name #=> String
1460
+ # resp.arn #=> String
1461
+ # resp.description #=> String
1462
+ # resp.signal_catalog_arn #=> String
1463
+ # resp.status #=> String, one of "ACTIVE", "DRAFT"
1464
+ # resp.creation_time #=> Time
1465
+ # resp.last_modification_time #=> Time
1466
+ #
1467
+ # @overload get_model_manifest(params = {})
1468
+ # @param [Hash] params ({})
1469
+ def get_model_manifest(params = {}, options = {})
1470
+ req = build_request(:get_model_manifest, params)
1471
+ req.send_request(options)
1472
+ end
1473
+
1474
+ # Retrieves information about the status of registering your Amazon Web
1475
+ # Services account, IAM, and Amazon Timestream resources so that Amazon
1476
+ # Web Services IoT FleetWise can transfer your vehicle data to the
1477
+ # Amazon Web Services Cloud.
1478
+ #
1479
+ # For more information, including step-by-step procedures, see [Setting
1480
+ # up Amazon Web Services IoT FleetWise][1].
1481
+ #
1482
+ # <note markdown="1"> This API operation doesn't require input parameters.
1483
+ #
1484
+ # </note>
1485
+ #
1486
+ #
1487
+ #
1488
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/setting-up.html
1489
+ #
1490
+ # @return [Types::GetRegisterAccountStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1491
+ #
1492
+ # * {Types::GetRegisterAccountStatusResponse#customer_account_id #customer_account_id} => String
1493
+ # * {Types::GetRegisterAccountStatusResponse#account_status #account_status} => String
1494
+ # * {Types::GetRegisterAccountStatusResponse#timestream_registration_response #timestream_registration_response} => Types::TimestreamRegistrationResponse
1495
+ # * {Types::GetRegisterAccountStatusResponse#iam_registration_response #iam_registration_response} => Types::IamRegistrationResponse
1496
+ # * {Types::GetRegisterAccountStatusResponse#creation_time #creation_time} => Time
1497
+ # * {Types::GetRegisterAccountStatusResponse#last_modification_time #last_modification_time} => Time
1498
+ #
1499
+ # @example Response structure
1500
+ #
1501
+ # resp.customer_account_id #=> String
1502
+ # resp.account_status #=> String, one of "REGISTRATION_PENDING", "REGISTRATION_SUCCESS", "REGISTRATION_FAILURE"
1503
+ # resp.timestream_registration_response.timestream_database_name #=> String
1504
+ # resp.timestream_registration_response.timestream_table_name #=> String
1505
+ # resp.timestream_registration_response.timestream_database_arn #=> String
1506
+ # resp.timestream_registration_response.timestream_table_arn #=> String
1507
+ # resp.timestream_registration_response.registration_status #=> String, one of "REGISTRATION_PENDING", "REGISTRATION_SUCCESS", "REGISTRATION_FAILURE"
1508
+ # resp.timestream_registration_response.error_message #=> String
1509
+ # resp.iam_registration_response.role_arn #=> String
1510
+ # resp.iam_registration_response.registration_status #=> String, one of "REGISTRATION_PENDING", "REGISTRATION_SUCCESS", "REGISTRATION_FAILURE"
1511
+ # resp.iam_registration_response.error_message #=> String
1512
+ # resp.creation_time #=> Time
1513
+ # resp.last_modification_time #=> Time
1514
+ #
1515
+ # @overload get_register_account_status(params = {})
1516
+ # @param [Hash] params ({})
1517
+ def get_register_account_status(params = {}, options = {})
1518
+ req = build_request(:get_register_account_status, params)
1519
+ req.send_request(options)
1520
+ end
1521
+
1522
+ # Retrieves information about a signal catalog.
1523
+ #
1524
+ # @option params [required, String] :name
1525
+ # The name of the signal catalog to retrieve information about.
1526
+ #
1527
+ # @return [Types::GetSignalCatalogResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1528
+ #
1529
+ # * {Types::GetSignalCatalogResponse#name #name} => String
1530
+ # * {Types::GetSignalCatalogResponse#arn #arn} => String
1531
+ # * {Types::GetSignalCatalogResponse#description #description} => String
1532
+ # * {Types::GetSignalCatalogResponse#node_counts #node_counts} => Types::NodeCounts
1533
+ # * {Types::GetSignalCatalogResponse#creation_time #creation_time} => Time
1534
+ # * {Types::GetSignalCatalogResponse#last_modification_time #last_modification_time} => Time
1535
+ #
1536
+ # @example Request syntax with placeholder values
1537
+ #
1538
+ # resp = client.get_signal_catalog({
1539
+ # name: "resourceName", # required
1540
+ # })
1541
+ #
1542
+ # @example Response structure
1543
+ #
1544
+ # resp.name #=> String
1545
+ # resp.arn #=> String
1546
+ # resp.description #=> String
1547
+ # resp.node_counts.total_nodes #=> Integer
1548
+ # resp.node_counts.total_branches #=> Integer
1549
+ # resp.node_counts.total_sensors #=> Integer
1550
+ # resp.node_counts.total_attributes #=> Integer
1551
+ # resp.node_counts.total_actuators #=> Integer
1552
+ # resp.creation_time #=> Time
1553
+ # resp.last_modification_time #=> Time
1554
+ #
1555
+ # @overload get_signal_catalog(params = {})
1556
+ # @param [Hash] params ({})
1557
+ def get_signal_catalog(params = {}, options = {})
1558
+ req = build_request(:get_signal_catalog, params)
1559
+ req.send_request(options)
1560
+ end
1561
+
1562
+ # Retrieves information about a vehicle.
1563
+ #
1564
+ # @option params [required, String] :vehicle_name
1565
+ # The ID of the vehicle to retrieve information about.
1566
+ #
1567
+ # @return [Types::GetVehicleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1568
+ #
1569
+ # * {Types::GetVehicleResponse#vehicle_name #vehicle_name} => String
1570
+ # * {Types::GetVehicleResponse#arn #arn} => String
1571
+ # * {Types::GetVehicleResponse#model_manifest_arn #model_manifest_arn} => String
1572
+ # * {Types::GetVehicleResponse#decoder_manifest_arn #decoder_manifest_arn} => String
1573
+ # * {Types::GetVehicleResponse#attributes #attributes} => Hash&lt;String,String&gt;
1574
+ # * {Types::GetVehicleResponse#creation_time #creation_time} => Time
1575
+ # * {Types::GetVehicleResponse#last_modification_time #last_modification_time} => Time
1576
+ #
1577
+ # @example Request syntax with placeholder values
1578
+ #
1579
+ # resp = client.get_vehicle({
1580
+ # vehicle_name: "vehicleName", # required
1581
+ # })
1582
+ #
1583
+ # @example Response structure
1584
+ #
1585
+ # resp.vehicle_name #=> String
1586
+ # resp.arn #=> String
1587
+ # resp.model_manifest_arn #=> String
1588
+ # resp.decoder_manifest_arn #=> String
1589
+ # resp.attributes #=> Hash
1590
+ # resp.attributes["attributeName"] #=> String
1591
+ # resp.creation_time #=> Time
1592
+ # resp.last_modification_time #=> Time
1593
+ #
1594
+ # @overload get_vehicle(params = {})
1595
+ # @param [Hash] params ({})
1596
+ def get_vehicle(params = {}, options = {})
1597
+ req = build_request(:get_vehicle, params)
1598
+ req.send_request(options)
1599
+ end
1600
+
1601
+ # Retrieves information about the status of a vehicle with any
1602
+ # associated campaigns.
1603
+ #
1604
+ # @option params [String] :next_token
1605
+ # A pagination token for the next set of results.
1606
+ #
1607
+ # If the results of a search are large, only a portion of the results
1608
+ # are returned, and a `nextToken` pagination token is returned in the
1609
+ # response. To retrieve the next set of results, reissue the search
1610
+ # request and include the returned token. When all results have been
1611
+ # returned, the response does not contain a pagination token value.
1612
+ #
1613
+ # @option params [Integer] :max_results
1614
+ # The maximum number of items to return, between 1 and 100, inclusive.
1615
+ #
1616
+ # @option params [required, String] :vehicle_name
1617
+ # The ID of the vehicle to retrieve information about.
1618
+ #
1619
+ # @return [Types::GetVehicleStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1620
+ #
1621
+ # * {Types::GetVehicleStatusResponse#campaigns #campaigns} => Array&lt;Types::VehicleStatus&gt;
1622
+ # * {Types::GetVehicleStatusResponse#next_token #next_token} => String
1623
+ #
1624
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1625
+ #
1626
+ # @example Request syntax with placeholder values
1627
+ #
1628
+ # resp = client.get_vehicle_status({
1629
+ # next_token: "nextToken",
1630
+ # max_results: 1,
1631
+ # vehicle_name: "vehicleName", # required
1632
+ # })
1633
+ #
1634
+ # @example Response structure
1635
+ #
1636
+ # resp.campaigns #=> Array
1637
+ # resp.campaigns[0].campaign_name #=> String
1638
+ # resp.campaigns[0].vehicle_name #=> String
1639
+ # resp.campaigns[0].status #=> String, one of "CREATED", "READY", "HEALTHY", "SUSPENDED", "DELETING"
1640
+ # resp.next_token #=> String
1641
+ #
1642
+ # @overload get_vehicle_status(params = {})
1643
+ # @param [Hash] params ({})
1644
+ def get_vehicle_status(params = {}, options = {})
1645
+ req = build_request(:get_vehicle_status, params)
1646
+ req.send_request(options)
1647
+ end
1648
+
1649
+ # Creates a decoder manifest using your existing CAN DBC file from your
1650
+ # local device.
1651
+ #
1652
+ # @option params [required, String] :name
1653
+ # The name of the decoder manifest to import.
1654
+ #
1655
+ # @option params [required, Array<Types::NetworkFileDefinition>] :network_file_definitions
1656
+ # The file to load into an Amazon Web Services account.
1657
+ #
1658
+ # @return [Types::ImportDecoderManifestResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1659
+ #
1660
+ # * {Types::ImportDecoderManifestResponse#name #name} => String
1661
+ # * {Types::ImportDecoderManifestResponse#arn #arn} => String
1662
+ #
1663
+ # @example Request syntax with placeholder values
1664
+ #
1665
+ # resp = client.import_decoder_manifest({
1666
+ # name: "resourceName", # required
1667
+ # network_file_definitions: [ # required
1668
+ # {
1669
+ # can_dbc: {
1670
+ # network_interface: "InterfaceId", # required
1671
+ # can_dbc_files: ["data"], # required
1672
+ # signals_map: {
1673
+ # "string" => "string",
1674
+ # },
1675
+ # },
1676
+ # },
1677
+ # ],
1678
+ # })
1679
+ #
1680
+ # @example Response structure
1681
+ #
1682
+ # resp.name #=> String
1683
+ # resp.arn #=> String
1684
+ #
1685
+ # @overload import_decoder_manifest(params = {})
1686
+ # @param [Hash] params ({})
1687
+ def import_decoder_manifest(params = {}, options = {})
1688
+ req = build_request(:import_decoder_manifest, params)
1689
+ req.send_request(options)
1690
+ end
1691
+
1692
+ # Creates a signal catalog using your existing VSS formatted content
1693
+ # from your local device.
1694
+ #
1695
+ # @option params [required, String] :name
1696
+ # The name of the signal catalog to import.
1697
+ #
1698
+ # @option params [String] :description
1699
+ # A brief description of the signal catalog.
1700
+ #
1701
+ # @option params [Types::FormattedVss] :vss
1702
+ # The contents of the Vehicle Signal Specification (VSS) configuration.
1703
+ # VSS is a precise language used to describe and model signals in
1704
+ # vehicle networks.
1705
+ #
1706
+ # @option params [Array<Types::Tag>] :tags
1707
+ # Metadata that can be used to manage the signal catalog.
1708
+ #
1709
+ # @return [Types::ImportSignalCatalogResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1710
+ #
1711
+ # * {Types::ImportSignalCatalogResponse#name #name} => String
1712
+ # * {Types::ImportSignalCatalogResponse#arn #arn} => String
1713
+ #
1714
+ # @example Request syntax with placeholder values
1715
+ #
1716
+ # resp = client.import_signal_catalog({
1717
+ # name: "resourceName", # required
1718
+ # description: "description",
1719
+ # vss: {
1720
+ # vss_json: "String",
1721
+ # },
1722
+ # tags: [
1723
+ # {
1724
+ # key: "TagKey", # required
1725
+ # value: "TagValue", # required
1726
+ # },
1727
+ # ],
1728
+ # })
1729
+ #
1730
+ # @example Response structure
1731
+ #
1732
+ # resp.name #=> String
1733
+ # resp.arn #=> String
1734
+ #
1735
+ # @overload import_signal_catalog(params = {})
1736
+ # @param [Hash] params ({})
1737
+ def import_signal_catalog(params = {}, options = {})
1738
+ req = build_request(:import_signal_catalog, params)
1739
+ req.send_request(options)
1740
+ end
1741
+
1742
+ # Lists information about created campaigns.
1743
+ #
1744
+ # <note markdown="1"> This API operation uses pagination. Specify the `nextToken` parameter
1745
+ # in the request to return more results.
1746
+ #
1747
+ # </note>
1748
+ #
1749
+ # @option params [String] :next_token
1750
+ # A pagination token for the next set of results.
1751
+ #
1752
+ # If the results of a search are large, only a portion of the results
1753
+ # are returned, and a `nextToken` pagination token is returned in the
1754
+ # response. To retrieve the next set of results, reissue the search
1755
+ # request and include the returned token. When all results have been
1756
+ # returned, the response does not contain a pagination token value.
1757
+ #
1758
+ # @option params [Integer] :max_results
1759
+ # The maximum number of items to return, between 1 and 100, inclusive.
1760
+ #
1761
+ # @option params [String] :status
1762
+ # Optional parameter to filter the results by the status of each created
1763
+ # campaign in your account. The status can be one of: `CREATING`,
1764
+ # `WAITING_FOR_APPROVAL`, `RUNNING`, or `SUSPENDED`.
1765
+ #
1766
+ # @return [Types::ListCampaignsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1767
+ #
1768
+ # * {Types::ListCampaignsResponse#campaign_summaries #campaign_summaries} => Array&lt;Types::CampaignSummary&gt;
1769
+ # * {Types::ListCampaignsResponse#next_token #next_token} => String
1770
+ #
1771
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1772
+ #
1773
+ # @example Request syntax with placeholder values
1774
+ #
1775
+ # resp = client.list_campaigns({
1776
+ # next_token: "nextToken",
1777
+ # max_results: 1,
1778
+ # status: "status",
1779
+ # })
1780
+ #
1781
+ # @example Response structure
1782
+ #
1783
+ # resp.campaign_summaries #=> Array
1784
+ # resp.campaign_summaries[0].arn #=> String
1785
+ # resp.campaign_summaries[0].name #=> String
1786
+ # resp.campaign_summaries[0].description #=> String
1787
+ # resp.campaign_summaries[0].signal_catalog_arn #=> String
1788
+ # resp.campaign_summaries[0].target_arn #=> String
1789
+ # resp.campaign_summaries[0].status #=> String, one of "CREATING", "WAITING_FOR_APPROVAL", "RUNNING", "SUSPENDED"
1790
+ # resp.campaign_summaries[0].creation_time #=> Time
1791
+ # resp.campaign_summaries[0].last_modification_time #=> Time
1792
+ # resp.next_token #=> String
1793
+ #
1794
+ # @overload list_campaigns(params = {})
1795
+ # @param [Hash] params ({})
1796
+ def list_campaigns(params = {}, options = {})
1797
+ req = build_request(:list_campaigns, params)
1798
+ req.send_request(options)
1799
+ end
1800
+
1801
+ # Lists the network interfaces specified in a decoder manifest.
1802
+ #
1803
+ # <note markdown="1"> This API operation uses pagination. Specify the `nextToken` parameter
1804
+ # in the request to return more results.
1805
+ #
1806
+ # </note>
1807
+ #
1808
+ # @option params [required, String] :name
1809
+ # The name of the decoder manifest to list information about.
1810
+ #
1811
+ # @option params [String] :next_token
1812
+ # A pagination token for the next set of results.
1813
+ #
1814
+ # If the results of a search are large, only a portion of the results
1815
+ # are returned, and a `nextToken` pagination token is returned in the
1816
+ # response. To retrieve the next set of results, reissue the search
1817
+ # request and include the returned token. When all results have been
1818
+ # returned, the response does not contain a pagination token value.
1819
+ #
1820
+ # @option params [Integer] :max_results
1821
+ # The maximum number of items to return, between 1 and 100, inclusive.
1822
+ #
1823
+ # @return [Types::ListDecoderManifestNetworkInterfacesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1824
+ #
1825
+ # * {Types::ListDecoderManifestNetworkInterfacesResponse#network_interfaces #network_interfaces} => Array&lt;Types::NetworkInterface&gt;
1826
+ # * {Types::ListDecoderManifestNetworkInterfacesResponse#next_token #next_token} => String
1827
+ #
1828
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1829
+ #
1830
+ # @example Request syntax with placeholder values
1831
+ #
1832
+ # resp = client.list_decoder_manifest_network_interfaces({
1833
+ # name: "resourceName", # required
1834
+ # next_token: "nextToken",
1835
+ # max_results: 1,
1836
+ # })
1837
+ #
1838
+ # @example Response structure
1839
+ #
1840
+ # resp.network_interfaces #=> Array
1841
+ # resp.network_interfaces[0].interface_id #=> String
1842
+ # resp.network_interfaces[0].type #=> String, one of "CAN_INTERFACE", "OBD_INTERFACE"
1843
+ # resp.network_interfaces[0].can_interface.name #=> String
1844
+ # resp.network_interfaces[0].can_interface.protocol_name #=> String
1845
+ # resp.network_interfaces[0].can_interface.protocol_version #=> String
1846
+ # resp.network_interfaces[0].obd_interface.name #=> String
1847
+ # resp.network_interfaces[0].obd_interface.request_message_id #=> Integer
1848
+ # resp.network_interfaces[0].obd_interface.obd_standard #=> String
1849
+ # resp.network_interfaces[0].obd_interface.pid_request_interval_seconds #=> Integer
1850
+ # resp.network_interfaces[0].obd_interface.dtc_request_interval_seconds #=> Integer
1851
+ # resp.network_interfaces[0].obd_interface.use_extended_ids #=> Boolean
1852
+ # resp.network_interfaces[0].obd_interface.has_transmission_ecu #=> Boolean
1853
+ # resp.next_token #=> String
1854
+ #
1855
+ # @overload list_decoder_manifest_network_interfaces(params = {})
1856
+ # @param [Hash] params ({})
1857
+ def list_decoder_manifest_network_interfaces(params = {}, options = {})
1858
+ req = build_request(:list_decoder_manifest_network_interfaces, params)
1859
+ req.send_request(options)
1860
+ end
1861
+
1862
+ # A list of information about signal decoders specified in a decoder
1863
+ # manifest.
1864
+ #
1865
+ # <note markdown="1"> This API operation uses pagination. Specify the `nextToken` parameter
1866
+ # in the request to return more results.
1867
+ #
1868
+ # </note>
1869
+ #
1870
+ # @option params [required, String] :name
1871
+ # The name of the decoder manifest to list information about.
1872
+ #
1873
+ # @option params [String] :next_token
1874
+ # A pagination token for the next set of results.
1875
+ #
1876
+ # If the results of a search are large, only a portion of the results
1877
+ # are returned, and a `nextToken` pagination token is returned in the
1878
+ # response. To retrieve the next set of results, reissue the search
1879
+ # request and include the returned token. When all results have been
1880
+ # returned, the response does not contain a pagination token value.
1881
+ #
1882
+ # @option params [Integer] :max_results
1883
+ # The maximum number of items to return, between 1 and 100, inclusive.
1884
+ #
1885
+ # @return [Types::ListDecoderManifestSignalsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1886
+ #
1887
+ # * {Types::ListDecoderManifestSignalsResponse#signal_decoders #signal_decoders} => Array&lt;Types::SignalDecoder&gt;
1888
+ # * {Types::ListDecoderManifestSignalsResponse#next_token #next_token} => String
1889
+ #
1890
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1891
+ #
1892
+ # @example Request syntax with placeholder values
1893
+ #
1894
+ # resp = client.list_decoder_manifest_signals({
1895
+ # name: "resourceName", # required
1896
+ # next_token: "nextToken",
1897
+ # max_results: 1,
1898
+ # })
1899
+ #
1900
+ # @example Response structure
1901
+ #
1902
+ # resp.signal_decoders #=> Array
1903
+ # resp.signal_decoders[0].fully_qualified_name #=> String
1904
+ # resp.signal_decoders[0].type #=> String, one of "CAN_SIGNAL", "OBD_SIGNAL"
1905
+ # resp.signal_decoders[0].interface_id #=> String
1906
+ # resp.signal_decoders[0].can_signal.message_id #=> Integer
1907
+ # resp.signal_decoders[0].can_signal.is_big_endian #=> Boolean
1908
+ # resp.signal_decoders[0].can_signal.is_signed #=> Boolean
1909
+ # resp.signal_decoders[0].can_signal.start_bit #=> Integer
1910
+ # resp.signal_decoders[0].can_signal.offset #=> Float
1911
+ # resp.signal_decoders[0].can_signal.factor #=> Float
1912
+ # resp.signal_decoders[0].can_signal.length #=> Integer
1913
+ # resp.signal_decoders[0].can_signal.name #=> String
1914
+ # resp.signal_decoders[0].obd_signal.pid_response_length #=> Integer
1915
+ # resp.signal_decoders[0].obd_signal.service_mode #=> Integer
1916
+ # resp.signal_decoders[0].obd_signal.pid #=> Integer
1917
+ # resp.signal_decoders[0].obd_signal.scaling #=> Float
1918
+ # resp.signal_decoders[0].obd_signal.offset #=> Float
1919
+ # resp.signal_decoders[0].obd_signal.start_byte #=> Integer
1920
+ # resp.signal_decoders[0].obd_signal.byte_length #=> Integer
1921
+ # resp.signal_decoders[0].obd_signal.bit_right_shift #=> Integer
1922
+ # resp.signal_decoders[0].obd_signal.bit_mask_length #=> Integer
1923
+ # resp.next_token #=> String
1924
+ #
1925
+ # @overload list_decoder_manifest_signals(params = {})
1926
+ # @param [Hash] params ({})
1927
+ def list_decoder_manifest_signals(params = {}, options = {})
1928
+ req = build_request(:list_decoder_manifest_signals, params)
1929
+ req.send_request(options)
1930
+ end
1931
+
1932
+ # Lists decoder manifests.
1933
+ #
1934
+ # <note markdown="1"> This API operation uses pagination. Specify the `nextToken` parameter
1935
+ # in the request to return more results.
1936
+ #
1937
+ # </note>
1938
+ #
1939
+ # @option params [String] :model_manifest_arn
1940
+ # The Amazon Resource Name (ARN) of a vehicle model (model manifest)
1941
+ # associated with the decoder manifest.
1942
+ #
1943
+ # @option params [String] :next_token
1944
+ # A pagination token for the next set of results.
1945
+ #
1946
+ # If the results of a search are large, only a portion of the results
1947
+ # are returned, and a `nextToken` pagination token is returned in the
1948
+ # response. To retrieve the next set of results, reissue the search
1949
+ # request and include the returned token. When all results have been
1950
+ # returned, the response does not contain a pagination token value.
1951
+ #
1952
+ # @option params [Integer] :max_results
1953
+ # The maximum number of items to return, between 1 and 100, inclusive.
1954
+ #
1955
+ # @return [Types::ListDecoderManifestsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1956
+ #
1957
+ # * {Types::ListDecoderManifestsResponse#summaries #summaries} => Array&lt;Types::DecoderManifestSummary&gt;
1958
+ # * {Types::ListDecoderManifestsResponse#next_token #next_token} => String
1959
+ #
1960
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1961
+ #
1962
+ # @example Request syntax with placeholder values
1963
+ #
1964
+ # resp = client.list_decoder_manifests({
1965
+ # model_manifest_arn: "arn",
1966
+ # next_token: "nextToken",
1967
+ # max_results: 1,
1968
+ # })
1969
+ #
1970
+ # @example Response structure
1971
+ #
1972
+ # resp.summaries #=> Array
1973
+ # resp.summaries[0].name #=> String
1974
+ # resp.summaries[0].arn #=> String
1975
+ # resp.summaries[0].model_manifest_arn #=> String
1976
+ # resp.summaries[0].description #=> String
1977
+ # resp.summaries[0].status #=> String, one of "ACTIVE", "DRAFT"
1978
+ # resp.summaries[0].creation_time #=> Time
1979
+ # resp.summaries[0].last_modification_time #=> Time
1980
+ # resp.next_token #=> String
1981
+ #
1982
+ # @overload list_decoder_manifests(params = {})
1983
+ # @param [Hash] params ({})
1984
+ def list_decoder_manifests(params = {}, options = {})
1985
+ req = build_request(:list_decoder_manifests, params)
1986
+ req.send_request(options)
1987
+ end
1988
+
1989
+ # Retrieves information for each created fleet in an Amazon Web Services
1990
+ # account.
1991
+ #
1992
+ # <note markdown="1"> This API operation uses pagination. Specify the `nextToken` parameter
1993
+ # in the request to return more results.
1994
+ #
1995
+ # </note>
1996
+ #
1997
+ # @option params [String] :next_token
1998
+ # A pagination token for the next set of results.
1999
+ #
2000
+ # If the results of a search are large, only a portion of the results
2001
+ # are returned, and a `nextToken` pagination token is returned in the
2002
+ # response. To retrieve the next set of results, reissue the search
2003
+ # request and include the returned token. When all results have been
2004
+ # returned, the response does not contain a pagination token value.
2005
+ #
2006
+ # @option params [Integer] :max_results
2007
+ # The maximum number of items to return, between 1 and 100, inclusive.
2008
+ #
2009
+ # @return [Types::ListFleetsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2010
+ #
2011
+ # * {Types::ListFleetsResponse#fleet_summaries #fleet_summaries} => Array&lt;Types::FleetSummary&gt;
2012
+ # * {Types::ListFleetsResponse#next_token #next_token} => String
2013
+ #
2014
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2015
+ #
2016
+ # @example Request syntax with placeholder values
2017
+ #
2018
+ # resp = client.list_fleets({
2019
+ # next_token: "nextToken",
2020
+ # max_results: 1,
2021
+ # })
2022
+ #
2023
+ # @example Response structure
2024
+ #
2025
+ # resp.fleet_summaries #=> Array
2026
+ # resp.fleet_summaries[0].id #=> String
2027
+ # resp.fleet_summaries[0].arn #=> String
2028
+ # resp.fleet_summaries[0].description #=> String
2029
+ # resp.fleet_summaries[0].signal_catalog_arn #=> String
2030
+ # resp.fleet_summaries[0].creation_time #=> Time
2031
+ # resp.fleet_summaries[0].last_modification_time #=> Time
2032
+ # resp.next_token #=> String
2033
+ #
2034
+ # @overload list_fleets(params = {})
2035
+ # @param [Hash] params ({})
2036
+ def list_fleets(params = {}, options = {})
2037
+ req = build_request(:list_fleets, params)
2038
+ req.send_request(options)
2039
+ end
2040
+
2041
+ # Retrieves a list of IDs for all fleets that the vehicle is associated
2042
+ # with.
2043
+ #
2044
+ # <note markdown="1"> This API operation uses pagination. Specify the `nextToken` parameter
2045
+ # in the request to return more results.
2046
+ #
2047
+ # </note>
2048
+ #
2049
+ # @option params [required, String] :vehicle_name
2050
+ # The ID of the vehicle to retrieve information about.
2051
+ #
2052
+ # @option params [String] :next_token
2053
+ # A pagination token for the next set of results.
2054
+ #
2055
+ # If the results of a search are large, only a portion of the results
2056
+ # are returned, and a `nextToken` pagination token is returned in the
2057
+ # response. To retrieve the next set of results, reissue the search
2058
+ # request and include the returned token. When all results have been
2059
+ # returned, the response does not contain a pagination token value.
2060
+ #
2061
+ # @option params [Integer] :max_results
2062
+ # The maximum number of items to return, between 1 and 100, inclusive.
2063
+ #
2064
+ # @return [Types::ListFleetsForVehicleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2065
+ #
2066
+ # * {Types::ListFleetsForVehicleResponse#fleets #fleets} => Array&lt;String&gt;
2067
+ # * {Types::ListFleetsForVehicleResponse#next_token #next_token} => String
2068
+ #
2069
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2070
+ #
2071
+ # @example Request syntax with placeholder values
2072
+ #
2073
+ # resp = client.list_fleets_for_vehicle({
2074
+ # vehicle_name: "vehicleName", # required
2075
+ # next_token: "nextToken",
2076
+ # max_results: 1,
2077
+ # })
2078
+ #
2079
+ # @example Response structure
2080
+ #
2081
+ # resp.fleets #=> Array
2082
+ # resp.fleets[0] #=> String
2083
+ # resp.next_token #=> String
2084
+ #
2085
+ # @overload list_fleets_for_vehicle(params = {})
2086
+ # @param [Hash] params ({})
2087
+ def list_fleets_for_vehicle(params = {}, options = {})
2088
+ req = build_request(:list_fleets_for_vehicle, params)
2089
+ req.send_request(options)
2090
+ end
2091
+
2092
+ # Lists information about nodes specified in a vehicle model (model
2093
+ # manifest).
2094
+ #
2095
+ # <note markdown="1"> This API operation uses pagination. Specify the `nextToken` parameter
2096
+ # in the request to return more results.
2097
+ #
2098
+ # </note>
2099
+ #
2100
+ # @option params [required, String] :name
2101
+ # The name of the vehicle model to list information about.
2102
+ #
2103
+ # @option params [String] :next_token
2104
+ # A pagination token for the next set of results.
2105
+ #
2106
+ # If the results of a search are large, only a portion of the results
2107
+ # are returned, and a `nextToken` pagination token is returned in the
2108
+ # response. To retrieve the next set of results, reissue the search
2109
+ # request and include the returned token. When all results have been
2110
+ # returned, the response does not contain a pagination token value.
2111
+ #
2112
+ # @option params [Integer] :max_results
2113
+ # The maximum number of items to return, between 1 and 100, inclusive.
2114
+ #
2115
+ # @return [Types::ListModelManifestNodesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2116
+ #
2117
+ # * {Types::ListModelManifestNodesResponse#nodes #nodes} => Array&lt;Types::Node&gt;
2118
+ # * {Types::ListModelManifestNodesResponse#next_token #next_token} => String
2119
+ #
2120
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2121
+ #
2122
+ # @example Request syntax with placeholder values
2123
+ #
2124
+ # resp = client.list_model_manifest_nodes({
2125
+ # name: "resourceName", # required
2126
+ # next_token: "nextToken",
2127
+ # max_results: 1,
2128
+ # })
2129
+ #
2130
+ # @example Response structure
2131
+ #
2132
+ # resp.nodes #=> Array
2133
+ # resp.nodes[0].branch.fully_qualified_name #=> String
2134
+ # resp.nodes[0].branch.description #=> String
2135
+ # resp.nodes[0].sensor.fully_qualified_name #=> String
2136
+ # resp.nodes[0].sensor.data_type #=> String, one of "INT8", "UINT8", "INT16", "UINT16", "INT32", "UINT32", "INT64", "UINT64", "BOOLEAN", "FLOAT", "DOUBLE", "STRING", "UNIX_TIMESTAMP", "INT8_ARRAY", "UINT8_ARRAY", "INT16_ARRAY", "UINT16_ARRAY", "INT32_ARRAY", "UINT32_ARRAY", "INT64_ARRAY", "UINT64_ARRAY", "BOOLEAN_ARRAY", "FLOAT_ARRAY", "DOUBLE_ARRAY", "STRING_ARRAY", "UNIX_TIMESTAMP_ARRAY", "UNKNOWN"
2137
+ # resp.nodes[0].sensor.description #=> String
2138
+ # resp.nodes[0].sensor.unit #=> String
2139
+ # resp.nodes[0].sensor.allowed_values #=> Array
2140
+ # resp.nodes[0].sensor.allowed_values[0] #=> String
2141
+ # resp.nodes[0].sensor.min #=> Float
2142
+ # resp.nodes[0].sensor.max #=> Float
2143
+ # resp.nodes[0].actuator.fully_qualified_name #=> String
2144
+ # resp.nodes[0].actuator.data_type #=> String, one of "INT8", "UINT8", "INT16", "UINT16", "INT32", "UINT32", "INT64", "UINT64", "BOOLEAN", "FLOAT", "DOUBLE", "STRING", "UNIX_TIMESTAMP", "INT8_ARRAY", "UINT8_ARRAY", "INT16_ARRAY", "UINT16_ARRAY", "INT32_ARRAY", "UINT32_ARRAY", "INT64_ARRAY", "UINT64_ARRAY", "BOOLEAN_ARRAY", "FLOAT_ARRAY", "DOUBLE_ARRAY", "STRING_ARRAY", "UNIX_TIMESTAMP_ARRAY", "UNKNOWN"
2145
+ # resp.nodes[0].actuator.description #=> String
2146
+ # resp.nodes[0].actuator.unit #=> String
2147
+ # resp.nodes[0].actuator.allowed_values #=> Array
2148
+ # resp.nodes[0].actuator.allowed_values[0] #=> String
2149
+ # resp.nodes[0].actuator.min #=> Float
2150
+ # resp.nodes[0].actuator.max #=> Float
2151
+ # resp.nodes[0].actuator.assigned_value #=> String
2152
+ # resp.nodes[0].attribute.fully_qualified_name #=> String
2153
+ # resp.nodes[0].attribute.data_type #=> String, one of "INT8", "UINT8", "INT16", "UINT16", "INT32", "UINT32", "INT64", "UINT64", "BOOLEAN", "FLOAT", "DOUBLE", "STRING", "UNIX_TIMESTAMP", "INT8_ARRAY", "UINT8_ARRAY", "INT16_ARRAY", "UINT16_ARRAY", "INT32_ARRAY", "UINT32_ARRAY", "INT64_ARRAY", "UINT64_ARRAY", "BOOLEAN_ARRAY", "FLOAT_ARRAY", "DOUBLE_ARRAY", "STRING_ARRAY", "UNIX_TIMESTAMP_ARRAY", "UNKNOWN"
2154
+ # resp.nodes[0].attribute.description #=> String
2155
+ # resp.nodes[0].attribute.unit #=> String
2156
+ # resp.nodes[0].attribute.allowed_values #=> Array
2157
+ # resp.nodes[0].attribute.allowed_values[0] #=> String
2158
+ # resp.nodes[0].attribute.min #=> Float
2159
+ # resp.nodes[0].attribute.max #=> Float
2160
+ # resp.nodes[0].attribute.assigned_value #=> String
2161
+ # resp.nodes[0].attribute.default_value #=> String
2162
+ # resp.next_token #=> String
2163
+ #
2164
+ # @overload list_model_manifest_nodes(params = {})
2165
+ # @param [Hash] params ({})
2166
+ def list_model_manifest_nodes(params = {}, options = {})
2167
+ req = build_request(:list_model_manifest_nodes, params)
2168
+ req.send_request(options)
2169
+ end
2170
+
2171
+ # Retrieves a list of vehicle models (model manifests).
2172
+ #
2173
+ # <note markdown="1"> This API operation uses pagination. Specify the `nextToken` parameter
2174
+ # in the request to return more results.
2175
+ #
2176
+ # </note>
2177
+ #
2178
+ # @option params [String] :signal_catalog_arn
2179
+ # The ARN of a signal catalog. If you specify a signal catalog, only the
2180
+ # vehicle models associated with it are returned.
2181
+ #
2182
+ # @option params [String] :next_token
2183
+ # A pagination token for the next set of results.
2184
+ #
2185
+ # If the results of a search are large, only a portion of the results
2186
+ # are returned, and a `nextToken` pagination token is returned in the
2187
+ # response. To retrieve the next set of results, reissue the search
2188
+ # request and include the returned token. When all results have been
2189
+ # returned, the response does not contain a pagination token value.
2190
+ #
2191
+ # @option params [Integer] :max_results
2192
+ # The maximum number of items to return, between 1 and 100, inclusive.
2193
+ #
2194
+ # @return [Types::ListModelManifestsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2195
+ #
2196
+ # * {Types::ListModelManifestsResponse#summaries #summaries} => Array&lt;Types::ModelManifestSummary&gt;
2197
+ # * {Types::ListModelManifestsResponse#next_token #next_token} => String
2198
+ #
2199
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2200
+ #
2201
+ # @example Request syntax with placeholder values
2202
+ #
2203
+ # resp = client.list_model_manifests({
2204
+ # signal_catalog_arn: "arn",
2205
+ # next_token: "nextToken",
2206
+ # max_results: 1,
2207
+ # })
2208
+ #
2209
+ # @example Response structure
2210
+ #
2211
+ # resp.summaries #=> Array
2212
+ # resp.summaries[0].name #=> String
2213
+ # resp.summaries[0].arn #=> String
2214
+ # resp.summaries[0].signal_catalog_arn #=> String
2215
+ # resp.summaries[0].description #=> String
2216
+ # resp.summaries[0].status #=> String, one of "ACTIVE", "DRAFT"
2217
+ # resp.summaries[0].creation_time #=> Time
2218
+ # resp.summaries[0].last_modification_time #=> Time
2219
+ # resp.next_token #=> String
2220
+ #
2221
+ # @overload list_model_manifests(params = {})
2222
+ # @param [Hash] params ({})
2223
+ def list_model_manifests(params = {}, options = {})
2224
+ req = build_request(:list_model_manifests, params)
2225
+ req.send_request(options)
2226
+ end
2227
+
2228
+ # Lists of information about the signals (nodes) specified in a signal
2229
+ # catalog.
2230
+ #
2231
+ # <note markdown="1"> This API operation uses pagination. Specify the `nextToken` parameter
2232
+ # in the request to return more results.
2233
+ #
2234
+ # </note>
2235
+ #
2236
+ # @option params [required, String] :name
2237
+ # The name of the signal catalog to list information about.
2238
+ #
2239
+ # @option params [String] :next_token
2240
+ # A pagination token for the next set of results.
2241
+ #
2242
+ # If the results of a search are large, only a portion of the results
2243
+ # are returned, and a `nextToken` pagination token is returned in the
2244
+ # response. To retrieve the next set of results, reissue the search
2245
+ # request and include the returned token. When all results have been
2246
+ # returned, the response does not contain a pagination token value.
2247
+ #
2248
+ # @option params [Integer] :max_results
2249
+ # The maximum number of items to return, between 1 and 100, inclusive.
2250
+ #
2251
+ # @return [Types::ListSignalCatalogNodesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2252
+ #
2253
+ # * {Types::ListSignalCatalogNodesResponse#nodes #nodes} => Array&lt;Types::Node&gt;
2254
+ # * {Types::ListSignalCatalogNodesResponse#next_token #next_token} => String
2255
+ #
2256
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2257
+ #
2258
+ # @example Request syntax with placeholder values
2259
+ #
2260
+ # resp = client.list_signal_catalog_nodes({
2261
+ # name: "resourceName", # required
2262
+ # next_token: "nextToken",
2263
+ # max_results: 1,
2264
+ # })
2265
+ #
2266
+ # @example Response structure
2267
+ #
2268
+ # resp.nodes #=> Array
2269
+ # resp.nodes[0].branch.fully_qualified_name #=> String
2270
+ # resp.nodes[0].branch.description #=> String
2271
+ # resp.nodes[0].sensor.fully_qualified_name #=> String
2272
+ # resp.nodes[0].sensor.data_type #=> String, one of "INT8", "UINT8", "INT16", "UINT16", "INT32", "UINT32", "INT64", "UINT64", "BOOLEAN", "FLOAT", "DOUBLE", "STRING", "UNIX_TIMESTAMP", "INT8_ARRAY", "UINT8_ARRAY", "INT16_ARRAY", "UINT16_ARRAY", "INT32_ARRAY", "UINT32_ARRAY", "INT64_ARRAY", "UINT64_ARRAY", "BOOLEAN_ARRAY", "FLOAT_ARRAY", "DOUBLE_ARRAY", "STRING_ARRAY", "UNIX_TIMESTAMP_ARRAY", "UNKNOWN"
2273
+ # resp.nodes[0].sensor.description #=> String
2274
+ # resp.nodes[0].sensor.unit #=> String
2275
+ # resp.nodes[0].sensor.allowed_values #=> Array
2276
+ # resp.nodes[0].sensor.allowed_values[0] #=> String
2277
+ # resp.nodes[0].sensor.min #=> Float
2278
+ # resp.nodes[0].sensor.max #=> Float
2279
+ # resp.nodes[0].actuator.fully_qualified_name #=> String
2280
+ # resp.nodes[0].actuator.data_type #=> String, one of "INT8", "UINT8", "INT16", "UINT16", "INT32", "UINT32", "INT64", "UINT64", "BOOLEAN", "FLOAT", "DOUBLE", "STRING", "UNIX_TIMESTAMP", "INT8_ARRAY", "UINT8_ARRAY", "INT16_ARRAY", "UINT16_ARRAY", "INT32_ARRAY", "UINT32_ARRAY", "INT64_ARRAY", "UINT64_ARRAY", "BOOLEAN_ARRAY", "FLOAT_ARRAY", "DOUBLE_ARRAY", "STRING_ARRAY", "UNIX_TIMESTAMP_ARRAY", "UNKNOWN"
2281
+ # resp.nodes[0].actuator.description #=> String
2282
+ # resp.nodes[0].actuator.unit #=> String
2283
+ # resp.nodes[0].actuator.allowed_values #=> Array
2284
+ # resp.nodes[0].actuator.allowed_values[0] #=> String
2285
+ # resp.nodes[0].actuator.min #=> Float
2286
+ # resp.nodes[0].actuator.max #=> Float
2287
+ # resp.nodes[0].actuator.assigned_value #=> String
2288
+ # resp.nodes[0].attribute.fully_qualified_name #=> String
2289
+ # resp.nodes[0].attribute.data_type #=> String, one of "INT8", "UINT8", "INT16", "UINT16", "INT32", "UINT32", "INT64", "UINT64", "BOOLEAN", "FLOAT", "DOUBLE", "STRING", "UNIX_TIMESTAMP", "INT8_ARRAY", "UINT8_ARRAY", "INT16_ARRAY", "UINT16_ARRAY", "INT32_ARRAY", "UINT32_ARRAY", "INT64_ARRAY", "UINT64_ARRAY", "BOOLEAN_ARRAY", "FLOAT_ARRAY", "DOUBLE_ARRAY", "STRING_ARRAY", "UNIX_TIMESTAMP_ARRAY", "UNKNOWN"
2290
+ # resp.nodes[0].attribute.description #=> String
2291
+ # resp.nodes[0].attribute.unit #=> String
2292
+ # resp.nodes[0].attribute.allowed_values #=> Array
2293
+ # resp.nodes[0].attribute.allowed_values[0] #=> String
2294
+ # resp.nodes[0].attribute.min #=> Float
2295
+ # resp.nodes[0].attribute.max #=> Float
2296
+ # resp.nodes[0].attribute.assigned_value #=> String
2297
+ # resp.nodes[0].attribute.default_value #=> String
2298
+ # resp.next_token #=> String
2299
+ #
2300
+ # @overload list_signal_catalog_nodes(params = {})
2301
+ # @param [Hash] params ({})
2302
+ def list_signal_catalog_nodes(params = {}, options = {})
2303
+ req = build_request(:list_signal_catalog_nodes, params)
2304
+ req.send_request(options)
2305
+ end
2306
+
2307
+ # Lists all the created signal catalogs in an Amazon Web Services
2308
+ # account.
2309
+ #
2310
+ # You can use to list information about each signal (node) specified in
2311
+ # a signal catalog.
2312
+ #
2313
+ # <note markdown="1"> This API operation uses pagination. Specify the `nextToken` parameter
2314
+ # in the request to return more results.
2315
+ #
2316
+ # </note>
2317
+ #
2318
+ # @option params [String] :next_token
2319
+ # A pagination token for the next set of results.
2320
+ #
2321
+ # If the results of a search are large, only a portion of the results
2322
+ # are returned, and a `nextToken` pagination token is returned in the
2323
+ # response. To retrieve the next set of results, reissue the search
2324
+ # request and include the returned token. When all results have been
2325
+ # returned, the response does not contain a pagination token value.
2326
+ #
2327
+ # @option params [Integer] :max_results
2328
+ # The maximum number of items to return, between 1 and 100, inclusive.
2329
+ #
2330
+ # @return [Types::ListSignalCatalogsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2331
+ #
2332
+ # * {Types::ListSignalCatalogsResponse#summaries #summaries} => Array&lt;Types::SignalCatalogSummary&gt;
2333
+ # * {Types::ListSignalCatalogsResponse#next_token #next_token} => String
2334
+ #
2335
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2336
+ #
2337
+ # @example Request syntax with placeholder values
2338
+ #
2339
+ # resp = client.list_signal_catalogs({
2340
+ # next_token: "nextToken",
2341
+ # max_results: 1,
2342
+ # })
2343
+ #
2344
+ # @example Response structure
2345
+ #
2346
+ # resp.summaries #=> Array
2347
+ # resp.summaries[0].name #=> String
2348
+ # resp.summaries[0].arn #=> String
2349
+ # resp.summaries[0].creation_time #=> Time
2350
+ # resp.summaries[0].last_modification_time #=> Time
2351
+ # resp.next_token #=> String
2352
+ #
2353
+ # @overload list_signal_catalogs(params = {})
2354
+ # @param [Hash] params ({})
2355
+ def list_signal_catalogs(params = {}, options = {})
2356
+ req = build_request(:list_signal_catalogs, params)
2357
+ req.send_request(options)
2358
+ end
2359
+
2360
+ # Lists the tags (metadata) you have assigned to the resource.
2361
+ #
2362
+ # @option params [required, String] :resource_arn
2363
+ # The ARN of the resource.
2364
+ #
2365
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2366
+ #
2367
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Array&lt;Types::Tag&gt;
2368
+ #
2369
+ # @example Request syntax with placeholder values
2370
+ #
2371
+ # resp = client.list_tags_for_resource({
2372
+ # resource_arn: "AmazonResourceName", # required
2373
+ # })
2374
+ #
2375
+ # @example Response structure
2376
+ #
2377
+ # resp.tags #=> Array
2378
+ # resp.tags[0].key #=> String
2379
+ # resp.tags[0].value #=> String
2380
+ #
2381
+ # @overload list_tags_for_resource(params = {})
2382
+ # @param [Hash] params ({})
2383
+ def list_tags_for_resource(params = {}, options = {})
2384
+ req = build_request(:list_tags_for_resource, params)
2385
+ req.send_request(options)
2386
+ end
2387
+
2388
+ # Retrieves a list of summaries of created vehicles.
2389
+ #
2390
+ # <note markdown="1"> This API operation uses pagination. Specify the `nextToken` parameter
2391
+ # in the request to return more results.
2392
+ #
2393
+ # </note>
2394
+ #
2395
+ # @option params [String] :model_manifest_arn
2396
+ # The Amazon Resource Name (ARN) of a vehicle model (model manifest).
2397
+ # You can use this optional parameter to list only the vehicles created
2398
+ # from a certain vehicle model.
2399
+ #
2400
+ # @option params [String] :next_token
2401
+ # A pagination token for the next set of results.
2402
+ #
2403
+ # If the results of a search are large, only a portion of the results
2404
+ # are returned, and a `nextToken` pagination token is returned in the
2405
+ # response. To retrieve the next set of results, reissue the search
2406
+ # request and include the returned token. When all results have been
2407
+ # returned, the response does not contain a pagination token value.
2408
+ #
2409
+ # @option params [Integer] :max_results
2410
+ # The maximum number of items to return, between 1 and 100, inclusive.
2411
+ #
2412
+ # @return [Types::ListVehiclesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2413
+ #
2414
+ # * {Types::ListVehiclesResponse#vehicle_summaries #vehicle_summaries} => Array&lt;Types::VehicleSummary&gt;
2415
+ # * {Types::ListVehiclesResponse#next_token #next_token} => String
2416
+ #
2417
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2418
+ #
2419
+ # @example Request syntax with placeholder values
2420
+ #
2421
+ # resp = client.list_vehicles({
2422
+ # model_manifest_arn: "arn",
2423
+ # next_token: "nextToken",
2424
+ # max_results: 1,
2425
+ # })
2426
+ #
2427
+ # @example Response structure
2428
+ #
2429
+ # resp.vehicle_summaries #=> Array
2430
+ # resp.vehicle_summaries[0].vehicle_name #=> String
2431
+ # resp.vehicle_summaries[0].arn #=> String
2432
+ # resp.vehicle_summaries[0].model_manifest_arn #=> String
2433
+ # resp.vehicle_summaries[0].decoder_manifest_arn #=> String
2434
+ # resp.vehicle_summaries[0].creation_time #=> Time
2435
+ # resp.vehicle_summaries[0].last_modification_time #=> Time
2436
+ # resp.next_token #=> String
2437
+ #
2438
+ # @overload list_vehicles(params = {})
2439
+ # @param [Hash] params ({})
2440
+ def list_vehicles(params = {}, options = {})
2441
+ req = build_request(:list_vehicles, params)
2442
+ req.send_request(options)
2443
+ end
2444
+
2445
+ # Retrieves a list of summaries of all vehicles associated with a fleet.
2446
+ #
2447
+ # <note markdown="1"> This API operation uses pagination. Specify the `nextToken` parameter
2448
+ # in the request to return more results.
2449
+ #
2450
+ # </note>
2451
+ #
2452
+ # @option params [required, String] :fleet_id
2453
+ # The ID of a fleet.
2454
+ #
2455
+ # @option params [String] :next_token
2456
+ # A pagination token for the next set of results.
2457
+ #
2458
+ # If the results of a search are large, only a portion of the results
2459
+ # are returned, and a `nextToken` pagination token is returned in the
2460
+ # response. To retrieve the next set of results, reissue the search
2461
+ # request and include the returned token. When all results have been
2462
+ # returned, the response does not contain a pagination token value.
2463
+ #
2464
+ # @option params [Integer] :max_results
2465
+ # The maximum number of items to return, between 1 and 100, inclusive.
2466
+ #
2467
+ # @return [Types::ListVehiclesInFleetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2468
+ #
2469
+ # * {Types::ListVehiclesInFleetResponse#vehicles #vehicles} => Array&lt;String&gt;
2470
+ # * {Types::ListVehiclesInFleetResponse#next_token #next_token} => String
2471
+ #
2472
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2473
+ #
2474
+ # @example Request syntax with placeholder values
2475
+ #
2476
+ # resp = client.list_vehicles_in_fleet({
2477
+ # fleet_id: "fleetId", # required
2478
+ # next_token: "nextToken",
2479
+ # max_results: 1,
2480
+ # })
2481
+ #
2482
+ # @example Response structure
2483
+ #
2484
+ # resp.vehicles #=> Array
2485
+ # resp.vehicles[0] #=> String
2486
+ # resp.next_token #=> String
2487
+ #
2488
+ # @overload list_vehicles_in_fleet(params = {})
2489
+ # @param [Hash] params ({})
2490
+ def list_vehicles_in_fleet(params = {}, options = {})
2491
+ req = build_request(:list_vehicles_in_fleet, params)
2492
+ req.send_request(options)
2493
+ end
2494
+
2495
+ # Creates or updates the logging option.
2496
+ #
2497
+ # @option params [required, Types::CloudWatchLogDeliveryOptions] :cloud_watch_log_delivery
2498
+ # Creates or updates the log delivery option to Amazon CloudWatch Logs.
2499
+ #
2500
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2501
+ #
2502
+ # @example Request syntax with placeholder values
2503
+ #
2504
+ # resp = client.put_logging_options({
2505
+ # cloud_watch_log_delivery: { # required
2506
+ # log_type: "OFF", # required, accepts OFF, ERROR
2507
+ # log_group_name: "CloudWatchLogGroupName",
2508
+ # },
2509
+ # })
2510
+ #
2511
+ # @overload put_logging_options(params = {})
2512
+ # @param [Hash] params ({})
2513
+ def put_logging_options(params = {}, options = {})
2514
+ req = build_request(:put_logging_options, params)
2515
+ req.send_request(options)
2516
+ end
2517
+
2518
+ # Registers your Amazon Web Services account, IAM, and Amazon Timestream
2519
+ # resources so Amazon Web Services IoT FleetWise can transfer your
2520
+ # vehicle data to the Amazon Web Services Cloud. For more information,
2521
+ # including step-by-step procedures, see [Setting up Amazon Web Services
2522
+ # IoT FleetWise][1].
2523
+ #
2524
+ # <note markdown="1"> An Amazon Web Services account is **not** the same thing as a "user
2525
+ # account". An [Amazon Web Services user][2] is an identity that you
2526
+ # create using Identity and Access Management (IAM) and takes the form
2527
+ # of either an [IAM user][3] or an [IAM role, both with credentials][4].
2528
+ # A single Amazon Web Services account can, and typically does, contain
2529
+ # many users and roles.
2530
+ #
2531
+ # </note>
2532
+ #
2533
+ #
2534
+ #
2535
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/setting-up.html
2536
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_identity-management.html#intro-identity-users
2537
+ # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html
2538
+ # [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html
2539
+ #
2540
+ # @option params [required, Types::TimestreamResources] :timestream_resources
2541
+ # The registered Amazon Timestream resources that Amazon Web Services
2542
+ # IoT FleetWise edge agent software can transfer your vehicle data to.
2543
+ #
2544
+ # @option params [Types::IamResources] :iam_resources
2545
+ # The IAM resource that allows Amazon Web Services IoT FleetWise to send
2546
+ # data to Amazon Timestream.
2547
+ #
2548
+ # @return [Types::RegisterAccountResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2549
+ #
2550
+ # * {Types::RegisterAccountResponse#register_account_status #register_account_status} => String
2551
+ # * {Types::RegisterAccountResponse#timestream_resources #timestream_resources} => Types::TimestreamResources
2552
+ # * {Types::RegisterAccountResponse#iam_resources #iam_resources} => Types::IamResources
2553
+ # * {Types::RegisterAccountResponse#creation_time #creation_time} => Time
2554
+ # * {Types::RegisterAccountResponse#last_modification_time #last_modification_time} => Time
2555
+ #
2556
+ # @example Request syntax with placeholder values
2557
+ #
2558
+ # resp = client.register_account({
2559
+ # timestream_resources: { # required
2560
+ # timestream_database_name: "TimestreamDatabaseName", # required
2561
+ # timestream_table_name: "TimestreamTableName", # required
2562
+ # },
2563
+ # iam_resources: {
2564
+ # role_arn: "IAMRoleArn", # required
2565
+ # },
2566
+ # })
2567
+ #
2568
+ # @example Response structure
2569
+ #
2570
+ # resp.register_account_status #=> String, one of "REGISTRATION_PENDING", "REGISTRATION_SUCCESS", "REGISTRATION_FAILURE"
2571
+ # resp.timestream_resources.timestream_database_name #=> String
2572
+ # resp.timestream_resources.timestream_table_name #=> String
2573
+ # resp.iam_resources.role_arn #=> String
2574
+ # resp.creation_time #=> Time
2575
+ # resp.last_modification_time #=> Time
2576
+ #
2577
+ # @overload register_account(params = {})
2578
+ # @param [Hash] params ({})
2579
+ def register_account(params = {}, options = {})
2580
+ req = build_request(:register_account, params)
2581
+ req.send_request(options)
2582
+ end
2583
+
2584
+ # Adds to or modifies the tags of the given resource. Tags are metadata
2585
+ # which can be used to manage a resource.
2586
+ #
2587
+ # @option params [required, String] :resource_arn
2588
+ # The ARN of the resource.
2589
+ #
2590
+ # @option params [required, Array<Types::Tag>] :tags
2591
+ # The new or modified tags for the resource.
2592
+ #
2593
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2594
+ #
2595
+ # @example Request syntax with placeholder values
2596
+ #
2597
+ # resp = client.tag_resource({
2598
+ # resource_arn: "AmazonResourceName", # required
2599
+ # tags: [ # required
2600
+ # {
2601
+ # key: "TagKey", # required
2602
+ # value: "TagValue", # required
2603
+ # },
2604
+ # ],
2605
+ # })
2606
+ #
2607
+ # @overload tag_resource(params = {})
2608
+ # @param [Hash] params ({})
2609
+ def tag_resource(params = {}, options = {})
2610
+ req = build_request(:tag_resource, params)
2611
+ req.send_request(options)
2612
+ end
2613
+
2614
+ # Removes the given tags (metadata) from the resource.
2615
+ #
2616
+ # @option params [required, String] :resource_arn
2617
+ # The ARN of the resource.
2618
+ #
2619
+ # @option params [required, Array<String>] :tag_keys
2620
+ # A list of the keys of the tags to be removed from the resource.
2621
+ #
2622
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2623
+ #
2624
+ # @example Request syntax with placeholder values
2625
+ #
2626
+ # resp = client.untag_resource({
2627
+ # resource_arn: "AmazonResourceName", # required
2628
+ # tag_keys: ["TagKey"], # required
2629
+ # })
2630
+ #
2631
+ # @overload untag_resource(params = {})
2632
+ # @param [Hash] params ({})
2633
+ def untag_resource(params = {}, options = {})
2634
+ req = build_request(:untag_resource, params)
2635
+ req.send_request(options)
2636
+ end
2637
+
2638
+ # Updates a campaign.
2639
+ #
2640
+ # @option params [required, String] :name
2641
+ # The name of the campaign to update.
2642
+ #
2643
+ # @option params [String] :description
2644
+ # The description of the campaign.
2645
+ #
2646
+ # @option params [Array<String>] :data_extra_dimensions
2647
+ # A list of vehicle attributes to associate with a signal.
2648
+ #
2649
+ # Default: An empty array
2650
+ #
2651
+ # @option params [required, String] :action
2652
+ # Specifies how to update a campaign. The action can be one of the
2653
+ # following:
2654
+ #
2655
+ # * `APPROVE` - To approve delivering a data collection scheme to
2656
+ # vehicles.
2657
+ #
2658
+ # * `SUSPEND` - To suspend collecting signal data.
2659
+ #
2660
+ # * `RESUME` - To resume collecting signal data.
2661
+ #
2662
+ # * `UPDATE` - To update a campaign.
2663
+ #
2664
+ # @return [Types::UpdateCampaignResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2665
+ #
2666
+ # * {Types::UpdateCampaignResponse#arn #arn} => String
2667
+ # * {Types::UpdateCampaignResponse#name #name} => String
2668
+ # * {Types::UpdateCampaignResponse#status #status} => String
2669
+ #
2670
+ # @example Request syntax with placeholder values
2671
+ #
2672
+ # resp = client.update_campaign({
2673
+ # name: "campaignName", # required
2674
+ # description: "description",
2675
+ # data_extra_dimensions: ["NodePath"],
2676
+ # action: "APPROVE", # required, accepts APPROVE, SUSPEND, RESUME, UPDATE
2677
+ # })
2678
+ #
2679
+ # @example Response structure
2680
+ #
2681
+ # resp.arn #=> String
2682
+ # resp.name #=> String
2683
+ # resp.status #=> String, one of "CREATING", "WAITING_FOR_APPROVAL", "RUNNING", "SUSPENDED"
2684
+ #
2685
+ # @overload update_campaign(params = {})
2686
+ # @param [Hash] params ({})
2687
+ def update_campaign(params = {}, options = {})
2688
+ req = build_request(:update_campaign, params)
2689
+ req.send_request(options)
2690
+ end
2691
+
2692
+ # Updates a decoder manifest.
2693
+ #
2694
+ # A decoder manifest can only be updated when the status is `DRAFT`.
2695
+ # Only `ACTIVE` decoder manifests can be associated with vehicles.
2696
+ #
2697
+ # @option params [required, String] :name
2698
+ # The name of the decoder manifest to update.
2699
+ #
2700
+ # @option params [String] :description
2701
+ # A brief description of the decoder manifest to update.
2702
+ #
2703
+ # @option params [Array<Types::SignalDecoder>] :signal_decoders_to_add
2704
+ # A list of information about decoding additional signals to add to the
2705
+ # decoder manifest.
2706
+ #
2707
+ # @option params [Array<Types::SignalDecoder>] :signal_decoders_to_update
2708
+ # A list of updated information about decoding signals to update in the
2709
+ # decoder manifest.
2710
+ #
2711
+ # @option params [Array<String>] :signal_decoders_to_remove
2712
+ # A list of signal decoders to remove from the decoder manifest.
2713
+ #
2714
+ # @option params [Array<Types::NetworkInterface>] :network_interfaces_to_add
2715
+ # A list of information about the network interfaces to add to the
2716
+ # decoder manifest.
2717
+ #
2718
+ # @option params [Array<Types::NetworkInterface>] :network_interfaces_to_update
2719
+ # A list of information about the network interfaces to update in the
2720
+ # decoder manifest.
2721
+ #
2722
+ # @option params [Array<String>] :network_interfaces_to_remove
2723
+ # A list of network interfaces to remove from the decoder manifest.
2724
+ #
2725
+ # @option params [String] :status
2726
+ # The state of the decoder manifest. If the status is `ACTIVE`, the
2727
+ # decoder manifest can't be edited. If the status is `DRAFT`, you can
2728
+ # edit the decoder manifest.
2729
+ #
2730
+ # @return [Types::UpdateDecoderManifestResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2731
+ #
2732
+ # * {Types::UpdateDecoderManifestResponse#name #name} => String
2733
+ # * {Types::UpdateDecoderManifestResponse#arn #arn} => String
2734
+ #
2735
+ # @example Request syntax with placeholder values
2736
+ #
2737
+ # resp = client.update_decoder_manifest({
2738
+ # name: "resourceName", # required
2739
+ # description: "description",
2740
+ # signal_decoders_to_add: [
2741
+ # {
2742
+ # fully_qualified_name: "FullyQualifiedName", # required
2743
+ # type: "CAN_SIGNAL", # required, accepts CAN_SIGNAL, OBD_SIGNAL
2744
+ # interface_id: "InterfaceId", # required
2745
+ # can_signal: {
2746
+ # message_id: 1, # required
2747
+ # is_big_endian: false, # required
2748
+ # is_signed: false, # required
2749
+ # start_bit: 1, # required
2750
+ # offset: 1.0, # required
2751
+ # factor: 1.0, # required
2752
+ # length: 1, # required
2753
+ # name: "CanSignalName",
2754
+ # },
2755
+ # obd_signal: {
2756
+ # pid_response_length: 1, # required
2757
+ # service_mode: 1, # required
2758
+ # pid: 1, # required
2759
+ # scaling: 1.0, # required
2760
+ # offset: 1.0, # required
2761
+ # start_byte: 1, # required
2762
+ # byte_length: 1, # required
2763
+ # bit_right_shift: 1,
2764
+ # bit_mask_length: 1,
2765
+ # },
2766
+ # },
2767
+ # ],
2768
+ # signal_decoders_to_update: [
2769
+ # {
2770
+ # fully_qualified_name: "FullyQualifiedName", # required
2771
+ # type: "CAN_SIGNAL", # required, accepts CAN_SIGNAL, OBD_SIGNAL
2772
+ # interface_id: "InterfaceId", # required
2773
+ # can_signal: {
2774
+ # message_id: 1, # required
2775
+ # is_big_endian: false, # required
2776
+ # is_signed: false, # required
2777
+ # start_bit: 1, # required
2778
+ # offset: 1.0, # required
2779
+ # factor: 1.0, # required
2780
+ # length: 1, # required
2781
+ # name: "CanSignalName",
2782
+ # },
2783
+ # obd_signal: {
2784
+ # pid_response_length: 1, # required
2785
+ # service_mode: 1, # required
2786
+ # pid: 1, # required
2787
+ # scaling: 1.0, # required
2788
+ # offset: 1.0, # required
2789
+ # start_byte: 1, # required
2790
+ # byte_length: 1, # required
2791
+ # bit_right_shift: 1,
2792
+ # bit_mask_length: 1,
2793
+ # },
2794
+ # },
2795
+ # ],
2796
+ # signal_decoders_to_remove: ["FullyQualifiedName"],
2797
+ # network_interfaces_to_add: [
2798
+ # {
2799
+ # interface_id: "InterfaceId", # required
2800
+ # type: "CAN_INTERFACE", # required, accepts CAN_INTERFACE, OBD_INTERFACE
2801
+ # can_interface: {
2802
+ # name: "CanInterfaceName", # required
2803
+ # protocol_name: "ProtocolName",
2804
+ # protocol_version: "ProtocolVersion",
2805
+ # },
2806
+ # obd_interface: {
2807
+ # name: "ObdInterfaceName", # required
2808
+ # request_message_id: 1, # required
2809
+ # obd_standard: "ObdStandard",
2810
+ # pid_request_interval_seconds: 1,
2811
+ # dtc_request_interval_seconds: 1,
2812
+ # use_extended_ids: false,
2813
+ # has_transmission_ecu: false,
2814
+ # },
2815
+ # },
2816
+ # ],
2817
+ # network_interfaces_to_update: [
2818
+ # {
2819
+ # interface_id: "InterfaceId", # required
2820
+ # type: "CAN_INTERFACE", # required, accepts CAN_INTERFACE, OBD_INTERFACE
2821
+ # can_interface: {
2822
+ # name: "CanInterfaceName", # required
2823
+ # protocol_name: "ProtocolName",
2824
+ # protocol_version: "ProtocolVersion",
2825
+ # },
2826
+ # obd_interface: {
2827
+ # name: "ObdInterfaceName", # required
2828
+ # request_message_id: 1, # required
2829
+ # obd_standard: "ObdStandard",
2830
+ # pid_request_interval_seconds: 1,
2831
+ # dtc_request_interval_seconds: 1,
2832
+ # use_extended_ids: false,
2833
+ # has_transmission_ecu: false,
2834
+ # },
2835
+ # },
2836
+ # ],
2837
+ # network_interfaces_to_remove: ["InterfaceId"],
2838
+ # status: "ACTIVE", # accepts ACTIVE, DRAFT
2839
+ # })
2840
+ #
2841
+ # @example Response structure
2842
+ #
2843
+ # resp.name #=> String
2844
+ # resp.arn #=> String
2845
+ #
2846
+ # @overload update_decoder_manifest(params = {})
2847
+ # @param [Hash] params ({})
2848
+ def update_decoder_manifest(params = {}, options = {})
2849
+ req = build_request(:update_decoder_manifest, params)
2850
+ req.send_request(options)
2851
+ end
2852
+
2853
+ # Updates the description of an existing fleet.
2854
+ #
2855
+ # <note markdown="1"> If the fleet is successfully updated, Amazon Web Services IoT
2856
+ # FleetWise sends back an HTTP 200 response with an empty HTTP body.
2857
+ #
2858
+ # </note>
2859
+ #
2860
+ # @option params [required, String] :fleet_id
2861
+ # The ID of the fleet to update.
2862
+ #
2863
+ # @option params [String] :description
2864
+ # An updated description of the fleet.
2865
+ #
2866
+ # @return [Types::UpdateFleetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2867
+ #
2868
+ # * {Types::UpdateFleetResponse#id #id} => String
2869
+ # * {Types::UpdateFleetResponse#arn #arn} => String
2870
+ #
2871
+ # @example Request syntax with placeholder values
2872
+ #
2873
+ # resp = client.update_fleet({
2874
+ # fleet_id: "fleetId", # required
2875
+ # description: "description",
2876
+ # })
2877
+ #
2878
+ # @example Response structure
2879
+ #
2880
+ # resp.id #=> String
2881
+ # resp.arn #=> String
2882
+ #
2883
+ # @overload update_fleet(params = {})
2884
+ # @param [Hash] params ({})
2885
+ def update_fleet(params = {}, options = {})
2886
+ req = build_request(:update_fleet, params)
2887
+ req.send_request(options)
2888
+ end
2889
+
2890
+ # Updates a vehicle model (model manifest). If created vehicles are
2891
+ # associated with a vehicle model, it can't be updated.
2892
+ #
2893
+ # @option params [required, String] :name
2894
+ # The name of the vehicle model to update.
2895
+ #
2896
+ # @option params [String] :description
2897
+ # A brief description of the vehicle model.
2898
+ #
2899
+ # @option params [Array<String>] :nodes_to_add
2900
+ # A list of `fullyQualifiedName` of nodes, which are a general
2901
+ # abstraction of signals, to add to the vehicle model.
2902
+ #
2903
+ # @option params [Array<String>] :nodes_to_remove
2904
+ # A list of `fullyQualifiedName` of nodes, which are a general
2905
+ # abstraction of signals, to remove from the vehicle model.
2906
+ #
2907
+ # @option params [String] :status
2908
+ # The state of the vehicle model. If the status is `ACTIVE`, the vehicle
2909
+ # model can't be edited. If the status is `DRAFT`, you can edit the
2910
+ # vehicle model.
2911
+ #
2912
+ # @return [Types::UpdateModelManifestResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2913
+ #
2914
+ # * {Types::UpdateModelManifestResponse#name #name} => String
2915
+ # * {Types::UpdateModelManifestResponse#arn #arn} => String
2916
+ #
2917
+ # @example Request syntax with placeholder values
2918
+ #
2919
+ # resp = client.update_model_manifest({
2920
+ # name: "resourceName", # required
2921
+ # description: "description",
2922
+ # nodes_to_add: ["NodePath"],
2923
+ # nodes_to_remove: ["NodePath"],
2924
+ # status: "ACTIVE", # accepts ACTIVE, DRAFT
2925
+ # })
2926
+ #
2927
+ # @example Response structure
2928
+ #
2929
+ # resp.name #=> String
2930
+ # resp.arn #=> String
2931
+ #
2932
+ # @overload update_model_manifest(params = {})
2933
+ # @param [Hash] params ({})
2934
+ def update_model_manifest(params = {}, options = {})
2935
+ req = build_request(:update_model_manifest, params)
2936
+ req.send_request(options)
2937
+ end
2938
+
2939
+ # Updates a signal catalog.
2940
+ #
2941
+ # @option params [required, String] :name
2942
+ # The name of the signal catalog to update.
2943
+ #
2944
+ # @option params [String] :description
2945
+ # A brief description of the signal catalog to update.
2946
+ #
2947
+ # @option params [Array<Types::Node>] :nodes_to_add
2948
+ # A list of information about nodes to add to the signal catalog.
2949
+ #
2950
+ # @option params [Array<Types::Node>] :nodes_to_update
2951
+ # A list of information about nodes to update in the signal catalog.
2952
+ #
2953
+ # @option params [Array<String>] :nodes_to_remove
2954
+ # A list of `fullyQualifiedName` of nodes to remove from the signal
2955
+ # catalog.
2956
+ #
2957
+ # @return [Types::UpdateSignalCatalogResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2958
+ #
2959
+ # * {Types::UpdateSignalCatalogResponse#name #name} => String
2960
+ # * {Types::UpdateSignalCatalogResponse#arn #arn} => String
2961
+ #
2962
+ # @example Request syntax with placeholder values
2963
+ #
2964
+ # resp = client.update_signal_catalog({
2965
+ # name: "resourceName", # required
2966
+ # description: "description",
2967
+ # nodes_to_add: [
2968
+ # {
2969
+ # branch: {
2970
+ # fully_qualified_name: "string", # required
2971
+ # description: "description",
2972
+ # },
2973
+ # sensor: {
2974
+ # fully_qualified_name: "string", # required
2975
+ # 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
2976
+ # description: "description",
2977
+ # unit: "string",
2978
+ # allowed_values: ["string"],
2979
+ # min: 1.0,
2980
+ # max: 1.0,
2981
+ # },
2982
+ # actuator: {
2983
+ # fully_qualified_name: "string", # required
2984
+ # 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
2985
+ # description: "description",
2986
+ # unit: "string",
2987
+ # allowed_values: ["string"],
2988
+ # min: 1.0,
2989
+ # max: 1.0,
2990
+ # assigned_value: "string",
2991
+ # },
2992
+ # attribute: {
2993
+ # fully_qualified_name: "string", # required
2994
+ # 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
2995
+ # description: "description",
2996
+ # unit: "string",
2997
+ # allowed_values: ["string"],
2998
+ # min: 1.0,
2999
+ # max: 1.0,
3000
+ # assigned_value: "string",
3001
+ # default_value: "string",
3002
+ # },
3003
+ # },
3004
+ # ],
3005
+ # nodes_to_update: [
3006
+ # {
3007
+ # branch: {
3008
+ # fully_qualified_name: "string", # required
3009
+ # description: "description",
3010
+ # },
3011
+ # sensor: {
3012
+ # fully_qualified_name: "string", # required
3013
+ # 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
3014
+ # description: "description",
3015
+ # unit: "string",
3016
+ # allowed_values: ["string"],
3017
+ # min: 1.0,
3018
+ # max: 1.0,
3019
+ # },
3020
+ # actuator: {
3021
+ # fully_qualified_name: "string", # required
3022
+ # 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
3023
+ # description: "description",
3024
+ # unit: "string",
3025
+ # allowed_values: ["string"],
3026
+ # min: 1.0,
3027
+ # max: 1.0,
3028
+ # assigned_value: "string",
3029
+ # },
3030
+ # attribute: {
3031
+ # fully_qualified_name: "string", # required
3032
+ # 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
3033
+ # description: "description",
3034
+ # unit: "string",
3035
+ # allowed_values: ["string"],
3036
+ # min: 1.0,
3037
+ # max: 1.0,
3038
+ # assigned_value: "string",
3039
+ # default_value: "string",
3040
+ # },
3041
+ # },
3042
+ # ],
3043
+ # nodes_to_remove: ["NodePath"],
3044
+ # })
3045
+ #
3046
+ # @example Response structure
3047
+ #
3048
+ # resp.name #=> String
3049
+ # resp.arn #=> String
3050
+ #
3051
+ # @overload update_signal_catalog(params = {})
3052
+ # @param [Hash] params ({})
3053
+ def update_signal_catalog(params = {}, options = {})
3054
+ req = build_request(:update_signal_catalog, params)
3055
+ req.send_request(options)
3056
+ end
3057
+
3058
+ # Updates a vehicle.
3059
+ #
3060
+ # @option params [required, String] :vehicle_name
3061
+ # The unique ID of the vehicle to update.
3062
+ #
3063
+ # @option params [String] :model_manifest_arn
3064
+ # The ARN of a vehicle model (model manifest) associated with the
3065
+ # vehicle.
3066
+ #
3067
+ # @option params [String] :decoder_manifest_arn
3068
+ # The ARN of the decoder manifest associated with this vehicle.
3069
+ #
3070
+ # @option params [Hash<String,String>] :attributes
3071
+ # Static information about a vehicle in a key-value pair. For example:
3072
+ #
3073
+ # `"engineType"`\: `"1.3 L R2"`
3074
+ #
3075
+ # @option params [String] :attribute_update_mode
3076
+ # The method the specified attributes will update the existing
3077
+ # attributes on the vehicle. Use`Overwite` to replace the vehicle
3078
+ # attributes with the specified attributes. Or use `Merge` to combine
3079
+ # all attributes.
3080
+ #
3081
+ # This is required if attributes are present in the input.
3082
+ #
3083
+ # @return [Types::UpdateVehicleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3084
+ #
3085
+ # * {Types::UpdateVehicleResponse#vehicle_name #vehicle_name} => String
3086
+ # * {Types::UpdateVehicleResponse#arn #arn} => String
3087
+ #
3088
+ # @example Request syntax with placeholder values
3089
+ #
3090
+ # resp = client.update_vehicle({
3091
+ # vehicle_name: "vehicleName", # required
3092
+ # model_manifest_arn: "arn",
3093
+ # decoder_manifest_arn: "arn",
3094
+ # attributes: {
3095
+ # "attributeName" => "attributeValue",
3096
+ # },
3097
+ # attribute_update_mode: "Overwrite", # accepts Overwrite, Merge
3098
+ # })
3099
+ #
3100
+ # @example Response structure
3101
+ #
3102
+ # resp.vehicle_name #=> String
3103
+ # resp.arn #=> String
3104
+ #
3105
+ # @overload update_vehicle(params = {})
3106
+ # @param [Hash] params ({})
3107
+ def update_vehicle(params = {}, options = {})
3108
+ req = build_request(:update_vehicle, params)
3109
+ req.send_request(options)
3110
+ end
3111
+
3112
+ # @!endgroup
3113
+
3114
+ # @param params ({})
3115
+ # @api private
3116
+ def build_request(operation_name, params = {})
3117
+ handlers = @handlers.for(operation_name)
3118
+ context = Seahorse::Client::RequestContext.new(
3119
+ operation_name: operation_name,
3120
+ operation: config.api.operation(operation_name),
3121
+ client: self,
3122
+ params: params,
3123
+ config: config)
3124
+ context[:gem_name] = 'aws-sdk-iotfleetwise'
3125
+ context[:gem_version] = '1.0.0'
3126
+ Seahorse::Client::Request.new(handlers, context)
3127
+ end
3128
+
3129
+ # @api private
3130
+ # @deprecated
3131
+ def waiter_names
3132
+ []
3133
+ end
3134
+
3135
+ class << self
3136
+
3137
+ # @api private
3138
+ attr_reader :identifier
3139
+
3140
+ # @api private
3141
+ def errors_module
3142
+ Errors
3143
+ end
3144
+
3145
+ end
3146
+ end
3147
+ end