aws-sdk-locationservice 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,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 261326f1d2263dce66a5b56f099c19be743bab324e96f4c884984bf8de28684b
4
+ data.tar.gz: b46f3cb34d5e67798cb0c617db6ea885c07633c47bf6b3ee8018b8e951c374ee
5
+ SHA512:
6
+ metadata.gz: 5881212ab5739faead796ab32c25b597882342c5f53803a239432781ed9bd8fa409cd69a337666377dde5c2889b87384af7b48f2bcc215147c8f64c830c85ee3
7
+ data.tar.gz: f1086bc54e5f4a7eed4fb707228390f780254728db4478883883b3d72d904fcc8edf3eac524b63466c03d48fda5de488d4c45b626cde9a92f5d181f61753d867
@@ -0,0 +1,53 @@
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/master/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+
11
+ require 'aws-sdk-core'
12
+ require 'aws-sigv4'
13
+
14
+ require_relative 'aws-sdk-locationservice/types'
15
+ require_relative 'aws-sdk-locationservice/client_api'
16
+ require_relative 'aws-sdk-locationservice/client'
17
+ require_relative 'aws-sdk-locationservice/errors'
18
+ require_relative 'aws-sdk-locationservice/resource'
19
+ require_relative 'aws-sdk-locationservice/customizations'
20
+
21
+ # This module provides support for Amazon Location Service. This module is available in the
22
+ # `aws-sdk-locationservice` gem.
23
+ #
24
+ # # Client
25
+ #
26
+ # The {Client} class provides one method for each API operation. Operation
27
+ # methods each accept a hash of request parameters and return a response
28
+ # structure.
29
+ #
30
+ # location_service = Aws::LocationService::Client.new
31
+ # resp = location_service.associate_tracker_consumer(params)
32
+ #
33
+ # See {Client} for more information.
34
+ #
35
+ # # Errors
36
+ #
37
+ # Errors returned from Amazon Location Service are defined in the
38
+ # {Errors} module and all extend {Errors::ServiceError}.
39
+ #
40
+ # begin
41
+ # # do stuff
42
+ # rescue Aws::LocationService::Errors::ServiceError
43
+ # # rescues all Amazon Location Service API errors
44
+ # end
45
+ #
46
+ # See {Errors} for more information.
47
+ #
48
+ # @!group service
49
+ module Aws::LocationService
50
+
51
+ GEM_VERSION = '1.0.0'
52
+
53
+ end
@@ -0,0 +1,2140 @@
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/master/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/signature_v4.rb'
31
+ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
32
+
33
+ Aws::Plugins::GlobalConfiguration.add_identifier(:locationservice)
34
+
35
+ module Aws::LocationService
36
+ # An API client for LocationService. To construct a client, you need to configure a `:region` and `:credentials`.
37
+ #
38
+ # client = Aws::LocationService::Client.new(
39
+ # region: region_name,
40
+ # credentials: credentials,
41
+ # # ...
42
+ # )
43
+ #
44
+ # For details on configuring region and credentials see
45
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
46
+ #
47
+ # See {#initialize} for a full list of supported configuration options.
48
+ class Client < Seahorse::Client::Base
49
+
50
+ include Aws::ClientStubs
51
+
52
+ @identifier = :locationservice
53
+
54
+ set_api(ClientApi::API)
55
+
56
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
57
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
58
+ add_plugin(Aws::Plugins::Logging)
59
+ add_plugin(Aws::Plugins::ParamConverter)
60
+ add_plugin(Aws::Plugins::ParamValidator)
61
+ add_plugin(Aws::Plugins::UserAgent)
62
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
63
+ add_plugin(Aws::Plugins::RetryErrors)
64
+ add_plugin(Aws::Plugins::GlobalConfiguration)
65
+ add_plugin(Aws::Plugins::RegionalEndpoint)
66
+ add_plugin(Aws::Plugins::EndpointDiscovery)
67
+ add_plugin(Aws::Plugins::EndpointPattern)
68
+ add_plugin(Aws::Plugins::ResponsePaging)
69
+ add_plugin(Aws::Plugins::StubResponses)
70
+ add_plugin(Aws::Plugins::IdempotencyToken)
71
+ add_plugin(Aws::Plugins::JsonvalueConverter)
72
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
73
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
74
+ add_plugin(Aws::Plugins::TransferEncoding)
75
+ add_plugin(Aws::Plugins::HttpChecksum)
76
+ add_plugin(Aws::Plugins::SignatureV4)
77
+ add_plugin(Aws::Plugins::Protocols::RestJson)
78
+
79
+ # @overload initialize(options)
80
+ # @param [Hash] options
81
+ # @option options [required, Aws::CredentialProvider] :credentials
82
+ # Your AWS credentials. This can be an instance of any one of the
83
+ # following classes:
84
+ #
85
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
86
+ # credentials.
87
+ #
88
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
89
+ # shared file, such as `~/.aws/config`.
90
+ #
91
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
92
+ #
93
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
94
+ # assume a role after providing credentials via the web.
95
+ #
96
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
97
+ # access token generated from `aws login`.
98
+ #
99
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
100
+ # process that outputs to stdout.
101
+ #
102
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
103
+ # from an EC2 IMDS on an EC2 instance.
104
+ #
105
+ # * `Aws::ECSCredentials` - Used for loading credentials from
106
+ # instances running in ECS.
107
+ #
108
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
109
+ # from the Cognito Identity service.
110
+ #
111
+ # When `:credentials` are not configured directly, the following
112
+ # locations will be searched for credentials:
113
+ #
114
+ # * `Aws.config[:credentials]`
115
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
116
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
117
+ # * `~/.aws/credentials`
118
+ # * `~/.aws/config`
119
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
+ # are very aggressive. Construct and pass an instance of
121
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
+ # enable retries and extended timeouts.
123
+ #
124
+ # @option options [required, String] :region
125
+ # The AWS region to connect to. The configured `:region` is
126
+ # used to determine the service `:endpoint`. When not passed,
127
+ # a default `:region` is searched for in the following locations:
128
+ #
129
+ # * `Aws.config[:region]`
130
+ # * `ENV['AWS_REGION']`
131
+ # * `ENV['AMAZON_REGION']`
132
+ # * `ENV['AWS_DEFAULT_REGION']`
133
+ # * `~/.aws/credentials`
134
+ # * `~/.aws/config`
135
+ #
136
+ # @option options [String] :access_key_id
137
+ #
138
+ # @option options [Boolean] :active_endpoint_cache (false)
139
+ # When set to `true`, a thread polling for endpoints will be running in
140
+ # the background every 60 secs (default). Defaults to `false`.
141
+ #
142
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
143
+ # Used only in `adaptive` retry mode. When true, the request will sleep
144
+ # until there is sufficent client side capacity to retry the request.
145
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
146
+ # not retry instead of sleeping.
147
+ #
148
+ # @option options [Boolean] :client_side_monitoring (false)
149
+ # When `true`, client-side metrics will be collected for all API requests from
150
+ # this client.
151
+ #
152
+ # @option options [String] :client_side_monitoring_client_id ("")
153
+ # Allows you to provide an identifier for this client which will be attached to
154
+ # all generated client side metrics. Defaults to an empty string.
155
+ #
156
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
157
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
158
+ # side monitoring agent is running on, where client metrics will be published via UDP.
159
+ #
160
+ # @option options [Integer] :client_side_monitoring_port (31000)
161
+ # Required for publishing client metrics. The port that the client side monitoring
162
+ # agent is running on, where client metrics will be published via UDP.
163
+ #
164
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
165
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
166
+ # will use the Client Side Monitoring Agent Publisher.
167
+ #
168
+ # @option options [Boolean] :convert_params (true)
169
+ # When `true`, an attempt is made to coerce request parameters into
170
+ # the required types.
171
+ #
172
+ # @option options [Boolean] :correct_clock_skew (true)
173
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
174
+ # a clock skew correction and retry requests with skewed client clocks.
175
+ #
176
+ # @option options [Boolean] :disable_host_prefix_injection (false)
177
+ # Set to true to disable SDK automatically adding host prefix
178
+ # to default service endpoint when available.
179
+ #
180
+ # @option options [String] :endpoint
181
+ # The client endpoint is normally constructed from the `:region`
182
+ # option. You should only configure an `:endpoint` when connecting
183
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
184
+ #
185
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
186
+ # Used for the maximum size limit of the LRU cache storing endpoints data
187
+ # for endpoint discovery enabled operations. Defaults to 1000.
188
+ #
189
+ # @option options [Integer] :endpoint_cache_max_threads (10)
190
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
191
+ #
192
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
193
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
194
+ # Use this option to config the time interval in seconds for making
195
+ # requests fetching endpoints information. Defaults to 60 sec.
196
+ #
197
+ # @option options [Boolean] :endpoint_discovery (false)
198
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
199
+ #
200
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
201
+ # The log formatter.
202
+ #
203
+ # @option options [Symbol] :log_level (:info)
204
+ # The log level to send messages to the `:logger` at.
205
+ #
206
+ # @option options [Logger] :logger
207
+ # The Logger instance to send log messages to. If this option
208
+ # is not set, logging will be disabled.
209
+ #
210
+ # @option options [Integer] :max_attempts (3)
211
+ # An integer representing the maximum number attempts that will be made for
212
+ # a single request, including the initial attempt. For example,
213
+ # setting this value to 5 will result in a request being retried up to
214
+ # 4 times. Used in `standard` and `adaptive` retry modes.
215
+ #
216
+ # @option options [String] :profile ("default")
217
+ # Used when loading credentials from the shared credentials file
218
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
219
+ #
220
+ # @option options [Proc] :retry_backoff
221
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
222
+ # This option is only used in the `legacy` retry mode.
223
+ #
224
+ # @option options [Float] :retry_base_delay (0.3)
225
+ # The base delay in seconds used by the default backoff function. This option
226
+ # is only used in the `legacy` retry mode.
227
+ #
228
+ # @option options [Symbol] :retry_jitter (:none)
229
+ # A delay randomiser function used by the default backoff function.
230
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
231
+ # otherwise a Proc that takes and returns a number. This option is only used
232
+ # in the `legacy` retry mode.
233
+ #
234
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
235
+ #
236
+ # @option options [Integer] :retry_limit (3)
237
+ # The maximum number of times to retry failed requests. Only
238
+ # ~ 500 level server errors and certain ~ 400 level client errors
239
+ # are retried. Generally, these are throttling errors, data
240
+ # checksum errors, networking errors, timeout errors, auth errors,
241
+ # endpoint discovery, and errors from expired credentials.
242
+ # This option is only used in the `legacy` retry mode.
243
+ #
244
+ # @option options [Integer] :retry_max_delay (0)
245
+ # The maximum number of seconds to delay between retries (0 for no limit)
246
+ # used by the default backoff function. This option is only used in the
247
+ # `legacy` retry mode.
248
+ #
249
+ # @option options [String] :retry_mode ("legacy")
250
+ # Specifies which retry algorithm to use. Values are:
251
+ #
252
+ # * `legacy` - The pre-existing retry behavior. This is default value if
253
+ # no retry mode is provided.
254
+ #
255
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
256
+ # This includes support for retry quotas, which limit the number of
257
+ # unsuccessful retries a client can make.
258
+ #
259
+ # * `adaptive` - An experimental retry mode that includes all the
260
+ # functionality of `standard` mode along with automatic client side
261
+ # throttling. This is a provisional mode that may change behavior
262
+ # in the future.
263
+ #
264
+ #
265
+ # @option options [String] :secret_access_key
266
+ #
267
+ # @option options [String] :session_token
268
+ #
269
+ # @option options [Boolean] :stub_responses (false)
270
+ # Causes the client to return stubbed responses. By default
271
+ # fake responses are generated and returned. You can specify
272
+ # the response data to return or errors to raise by calling
273
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
274
+ #
275
+ # ** Please note ** When response stubbing is enabled, no HTTP
276
+ # requests are made, and retries are disabled.
277
+ #
278
+ # @option options [Boolean] :validate_params (true)
279
+ # When `true`, request parameters are validated before
280
+ # sending the request.
281
+ #
282
+ # @option options [URI::HTTP,String] :http_proxy A proxy to send
283
+ # requests through. Formatted like 'http://proxy.com:123'.
284
+ #
285
+ # @option options [Float] :http_open_timeout (15) The number of
286
+ # seconds to wait when opening a HTTP session before raising a
287
+ # `Timeout::Error`.
288
+ #
289
+ # @option options [Integer] :http_read_timeout (60) The default
290
+ # number of seconds to wait for response data. This value can
291
+ # safely be set per-request on the session.
292
+ #
293
+ # @option options [Float] :http_idle_timeout (5) The number of
294
+ # seconds a connection is allowed to sit idle before it is
295
+ # considered stale. Stale connections are closed and removed
296
+ # from the pool before making a request.
297
+ #
298
+ # @option options [Float] :http_continue_timeout (1) The number of
299
+ # seconds to wait for a 100-continue response before sending the
300
+ # request body. This option has no effect unless the request has
301
+ # "Expect" header set to "100-continue". Defaults to `nil` which
302
+ # disables this behaviour. This value can safely be set per
303
+ # request on the session.
304
+ #
305
+ # @option options [Boolean] :http_wire_trace (false) When `true`,
306
+ # HTTP debug output will be sent to the `:logger`.
307
+ #
308
+ # @option options [Boolean] :ssl_verify_peer (true) When `true`,
309
+ # SSL peer certificates are verified when establishing a
310
+ # connection.
311
+ #
312
+ # @option options [String] :ssl_ca_bundle Full path to the SSL
313
+ # certificate authority bundle file that should be used when
314
+ # verifying peer certificates. If you do not pass
315
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
316
+ # will be used if available.
317
+ #
318
+ # @option options [String] :ssl_ca_directory Full path of the
319
+ # directory that contains the unbundled SSL certificate
320
+ # authority files for verifying peer certificates. If you do
321
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
322
+ # system default will be used if available.
323
+ #
324
+ def initialize(*args)
325
+ super
326
+ end
327
+
328
+ # @!group API Operations
329
+
330
+ # Creates an association between a geofence collection and a tracker
331
+ # resource. This allows the tracker resource to communicate location
332
+ # data to the linked geofence collection.
333
+ #
334
+ # @option params [required, String] :consumer_arn
335
+ # The Amazon Resource Name (ARN) for the geofence collection to be
336
+ # associated to tracker resource. Used when you need to specify a
337
+ # resource across all AWS.
338
+ #
339
+ # * Format example:
340
+ # `arn:partition:service:region:account-id:resource-type:resource-id`
341
+ #
342
+ # ^
343
+ #
344
+ # @option params [required, String] :tracker_name
345
+ # The name of the tracker resource to be associated with a geofence
346
+ # collection.
347
+ #
348
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
349
+ #
350
+ # @example Request syntax with placeholder values
351
+ #
352
+ # resp = client.associate_tracker_consumer({
353
+ # consumer_arn: "Arn", # required
354
+ # tracker_name: "ResourceName", # required
355
+ # })
356
+ #
357
+ # @see http://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/AssociateTrackerConsumer AWS API Documentation
358
+ #
359
+ # @overload associate_tracker_consumer(params = {})
360
+ # @param [Hash] params ({})
361
+ def associate_tracker_consumer(params = {}, options = {})
362
+ req = build_request(:associate_tracker_consumer, params)
363
+ req.send_request(options)
364
+ end
365
+
366
+ # Deletes a batch of geofences from a geofence collection.
367
+ #
368
+ # <note markdown="1"> This action deletes the resource permanently. You can't undo this
369
+ # action.
370
+ #
371
+ # </note>
372
+ #
373
+ # @option params [required, String] :collection_name
374
+ # The geofence collection storing the geofences to be deleted.
375
+ #
376
+ # @option params [required, Array<String>] :geofence_ids
377
+ # The batch of geofences to be deleted.
378
+ #
379
+ # @return [Types::BatchDeleteGeofenceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
380
+ #
381
+ # * {Types::BatchDeleteGeofenceResponse#errors #errors} => Array&lt;Types::BatchDeleteGeofenceError&gt;
382
+ #
383
+ # @example Request syntax with placeholder values
384
+ #
385
+ # resp = client.batch_delete_geofence({
386
+ # collection_name: "ResourceName", # required
387
+ # geofence_ids: ["Id"], # required
388
+ # })
389
+ #
390
+ # @example Response structure
391
+ #
392
+ # resp.errors #=> Array
393
+ # resp.errors[0].error.code #=> String, one of "AccessDeniedError", "ConflictError", "InternalServerError", "ResourceNotFoundError", "ThrottlingError", "ValidationError"
394
+ # resp.errors[0].error.message #=> String
395
+ # resp.errors[0].geofence_id #=> String
396
+ #
397
+ # @see http://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/BatchDeleteGeofence AWS API Documentation
398
+ #
399
+ # @overload batch_delete_geofence(params = {})
400
+ # @param [Hash] params ({})
401
+ def batch_delete_geofence(params = {}, options = {})
402
+ req = build_request(:batch_delete_geofence, params)
403
+ req.send_request(options)
404
+ end
405
+
406
+ # Used in geofence monitoring. Evaluates device positions against the
407
+ # position of geofences in a given geofence collection.
408
+ #
409
+ # @option params [required, String] :collection_name
410
+ # The geofence collection used in evaluating the position of devices
411
+ # against its geofences.
412
+ #
413
+ # @option params [required, Array<Types::DevicePositionUpdate>] :device_position_updates
414
+ # Contains device details for each device to be evaluated against the
415
+ # given geofence collection.
416
+ #
417
+ # @return [Types::BatchEvaluateGeofencesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
418
+ #
419
+ # * {Types::BatchEvaluateGeofencesResponse#errors #errors} => Array&lt;Types::BatchEvaluateGeofencesError&gt;
420
+ #
421
+ # @example Request syntax with placeholder values
422
+ #
423
+ # resp = client.batch_evaluate_geofences({
424
+ # collection_name: "ResourceName", # required
425
+ # device_position_updates: [ # required
426
+ # {
427
+ # device_id: "Id", # required
428
+ # position: [1.0], # required
429
+ # sample_time: Time.now, # required
430
+ # },
431
+ # ],
432
+ # })
433
+ #
434
+ # @example Response structure
435
+ #
436
+ # resp.errors #=> Array
437
+ # resp.errors[0].device_id #=> String
438
+ # resp.errors[0].error.code #=> String, one of "AccessDeniedError", "ConflictError", "InternalServerError", "ResourceNotFoundError", "ThrottlingError", "ValidationError"
439
+ # resp.errors[0].error.message #=> String
440
+ # resp.errors[0].sample_time #=> Time
441
+ #
442
+ # @see http://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/BatchEvaluateGeofences AWS API Documentation
443
+ #
444
+ # @overload batch_evaluate_geofences(params = {})
445
+ # @param [Hash] params ({})
446
+ def batch_evaluate_geofences(params = {}, options = {})
447
+ req = build_request(:batch_evaluate_geofences, params)
448
+ req.send_request(options)
449
+ end
450
+
451
+ # A batch request to retrieve device positions.
452
+ #
453
+ # <note markdown="1"> The response will return the device positions from the last 24 hours.
454
+ #
455
+ # </note>
456
+ #
457
+ # @option params [required, Array<String>] :device_ids
458
+ # Devices whose position you want to retrieve.
459
+ #
460
+ # * For example, for two devices:
461
+ # `device-ids=DeviceId1&device-ids=DeviceId2`
462
+ #
463
+ # ^
464
+ #
465
+ # @option params [required, String] :tracker_name
466
+ # The tracker resource retrieving the device position.
467
+ #
468
+ # @return [Types::BatchGetDevicePositionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
469
+ #
470
+ # * {Types::BatchGetDevicePositionResponse#device_positions #device_positions} => Array&lt;Types::DevicePosition&gt;
471
+ # * {Types::BatchGetDevicePositionResponse#errors #errors} => Array&lt;Types::BatchGetDevicePositionError&gt;
472
+ #
473
+ # @example Request syntax with placeholder values
474
+ #
475
+ # resp = client.batch_get_device_position({
476
+ # device_ids: ["Id"], # required
477
+ # tracker_name: "BatchGetDevicePositionRequestTrackerNameString", # required
478
+ # })
479
+ #
480
+ # @example Response structure
481
+ #
482
+ # resp.device_positions #=> Array
483
+ # resp.device_positions[0].device_id #=> String
484
+ # resp.device_positions[0].position #=> Array
485
+ # resp.device_positions[0].position[0] #=> Float
486
+ # resp.device_positions[0].received_time #=> Time
487
+ # resp.device_positions[0].sample_time #=> Time
488
+ # resp.errors #=> Array
489
+ # resp.errors[0].device_id #=> String
490
+ # resp.errors[0].error.code #=> String, one of "AccessDeniedError", "ConflictError", "InternalServerError", "ResourceNotFoundError", "ThrottlingError", "ValidationError"
491
+ # resp.errors[0].error.message #=> String
492
+ #
493
+ # @see http://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/BatchGetDevicePosition AWS API Documentation
494
+ #
495
+ # @overload batch_get_device_position(params = {})
496
+ # @param [Hash] params ({})
497
+ def batch_get_device_position(params = {}, options = {})
498
+ req = build_request(:batch_get_device_position, params)
499
+ req.send_request(options)
500
+ end
501
+
502
+ # A batch request for storing geofences into a given geofence
503
+ # collection.
504
+ #
505
+ # @option params [required, String] :collection_name
506
+ # The geofence collection storing the geofences.
507
+ #
508
+ # @option params [required, Array<Types::BatchPutGeofenceRequestEntry>] :entries
509
+ # The batch of geofences to be stored in a geofence collection.
510
+ #
511
+ # @return [Types::BatchPutGeofenceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
512
+ #
513
+ # * {Types::BatchPutGeofenceResponse#errors #errors} => Array&lt;Types::BatchPutGeofenceError&gt;
514
+ # * {Types::BatchPutGeofenceResponse#successes #successes} => Array&lt;Types::BatchPutGeofenceSuccess&gt;
515
+ #
516
+ # @example Request syntax with placeholder values
517
+ #
518
+ # resp = client.batch_put_geofence({
519
+ # collection_name: "ResourceName", # required
520
+ # entries: [ # required
521
+ # {
522
+ # geofence_id: "Id", # required
523
+ # geometry: { # required
524
+ # polygon: [
525
+ # [
526
+ # [1.0],
527
+ # ],
528
+ # ],
529
+ # },
530
+ # },
531
+ # ],
532
+ # })
533
+ #
534
+ # @example Response structure
535
+ #
536
+ # resp.errors #=> Array
537
+ # resp.errors[0].error.code #=> String, one of "AccessDeniedError", "ConflictError", "InternalServerError", "ResourceNotFoundError", "ThrottlingError", "ValidationError"
538
+ # resp.errors[0].error.message #=> String
539
+ # resp.errors[0].geofence_id #=> String
540
+ # resp.successes #=> Array
541
+ # resp.successes[0].create_time #=> Time
542
+ # resp.successes[0].geofence_id #=> String
543
+ # resp.successes[0].update_time #=> Time
544
+ #
545
+ # @see http://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/BatchPutGeofence AWS API Documentation
546
+ #
547
+ # @overload batch_put_geofence(params = {})
548
+ # @param [Hash] params ({})
549
+ def batch_put_geofence(params = {}, options = {})
550
+ req = build_request(:batch_put_geofence, params)
551
+ req.send_request(options)
552
+ end
553
+
554
+ # Uploads a position update for one or more devices to a tracker
555
+ # resource. The data is used for API queries requesting the device
556
+ # position and position history.
557
+ #
558
+ # <note markdown="1"> Limitation — Location data is sampled at a fixed rate of 1 position
559
+ # per 30 second interval, and retained for 1 year before it is deleted.
560
+ #
561
+ # </note>
562
+ #
563
+ # @option params [required, String] :tracker_name
564
+ # The name of the tracker resource to update.
565
+ #
566
+ # @option params [required, Array<Types::DevicePositionUpdate>] :updates
567
+ # Contains the position update details for each device.
568
+ #
569
+ # @return [Types::BatchUpdateDevicePositionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
570
+ #
571
+ # * {Types::BatchUpdateDevicePositionResponse#errors #errors} => Array&lt;Types::BatchUpdateDevicePositionError&gt;
572
+ #
573
+ # @example Request syntax with placeholder values
574
+ #
575
+ # resp = client.batch_update_device_position({
576
+ # tracker_name: "ResourceName", # required
577
+ # updates: [ # required
578
+ # {
579
+ # device_id: "Id", # required
580
+ # position: [1.0], # required
581
+ # sample_time: Time.now, # required
582
+ # },
583
+ # ],
584
+ # })
585
+ #
586
+ # @example Response structure
587
+ #
588
+ # resp.errors #=> Array
589
+ # resp.errors[0].device_id #=> String
590
+ # resp.errors[0].error.code #=> String, one of "AccessDeniedError", "ConflictError", "InternalServerError", "ResourceNotFoundError", "ThrottlingError", "ValidationError"
591
+ # resp.errors[0].error.message #=> String
592
+ # resp.errors[0].sample_time #=> Time
593
+ #
594
+ # @see http://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/BatchUpdateDevicePosition AWS API Documentation
595
+ #
596
+ # @overload batch_update_device_position(params = {})
597
+ # @param [Hash] params ({})
598
+ def batch_update_device_position(params = {}, options = {})
599
+ req = build_request(:batch_update_device_position, params)
600
+ req.send_request(options)
601
+ end
602
+
603
+ # Creates a geofence collection, which manages and stores geofences.
604
+ #
605
+ # @option params [required, String] :collection_name
606
+ # A custom name for the geofence collection.
607
+ #
608
+ # Requirements:
609
+ #
610
+ # * Contain only alphanumeric characters (A–Z, a–z, 0-9), hyphens (-),
611
+ # and underscores (\_).
612
+ #
613
+ # * Must be a unique geofence collection name.
614
+ #
615
+ # * No spaces allowed. For example, `ExampleGeofenceCollection`.
616
+ #
617
+ # @option params [String] :description
618
+ # An optional description for the geofence collection.
619
+ #
620
+ # @option params [required, String] :pricing_plan
621
+ # Specifies the pricing plan for your geofence collection. There's
622
+ # three pricing plan options:
623
+ #
624
+ # * `RequestBasedUsage` — Selects the "Request-Based Usage" pricing
625
+ # plan.
626
+ #
627
+ # * `MobileAssetTracking` — Selects the "Mobile Asset Tracking"
628
+ # pricing plan.
629
+ #
630
+ # * `MobileAssetManagement` — Selects the "Mobile Asset Management"
631
+ # pricing plan.
632
+ #
633
+ # For additional details and restrictions on each pricing plan option,
634
+ # see the [Amazon Location Service pricing page][1].
635
+ #
636
+ #
637
+ #
638
+ # [1]: https://aws.amazon.com/location/pricing/
639
+ #
640
+ # @return [Types::CreateGeofenceCollectionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
641
+ #
642
+ # * {Types::CreateGeofenceCollectionResponse#collection_arn #collection_arn} => String
643
+ # * {Types::CreateGeofenceCollectionResponse#collection_name #collection_name} => String
644
+ # * {Types::CreateGeofenceCollectionResponse#create_time #create_time} => Time
645
+ #
646
+ # @example Request syntax with placeholder values
647
+ #
648
+ # resp = client.create_geofence_collection({
649
+ # collection_name: "ResourceName", # required
650
+ # description: "ResourceDescription",
651
+ # pricing_plan: "RequestBasedUsage", # required, accepts RequestBasedUsage, MobileAssetTracking, MobileAssetManagement
652
+ # })
653
+ #
654
+ # @example Response structure
655
+ #
656
+ # resp.collection_arn #=> String
657
+ # resp.collection_name #=> String
658
+ # resp.create_time #=> Time
659
+ #
660
+ # @see http://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/CreateGeofenceCollection AWS API Documentation
661
+ #
662
+ # @overload create_geofence_collection(params = {})
663
+ # @param [Hash] params ({})
664
+ def create_geofence_collection(params = {}, options = {})
665
+ req = build_request(:create_geofence_collection, params)
666
+ req.send_request(options)
667
+ end
668
+
669
+ # Creates a map resource in your AWS account, which provides map tiles
670
+ # of different styles sourced from global location data providers.
671
+ #
672
+ # <note markdown="1"> By using Maps, you agree that AWS may transmit your API queries to
673
+ # your selected third party provider for processing, which may be
674
+ # outside the AWS region you are currently using. For more information,
675
+ # see the [AWS Service Terms][1] for Amazon Location Service.
676
+ #
677
+ # </note>
678
+ #
679
+ #
680
+ #
681
+ # [1]: https://aws.amazon.com/service-terms/
682
+ #
683
+ # @option params [required, Types::MapConfiguration] :configuration
684
+ # Specifies the map style selected from an available data provider.
685
+ #
686
+ # @option params [String] :description
687
+ # An optional description for the map resource.
688
+ #
689
+ # @option params [required, String] :map_name
690
+ # The name for the map resource.
691
+ #
692
+ # Requirements:
693
+ #
694
+ # * Must contain only alphanumeric characters (A–Z, a–z, 0–9), hyphens
695
+ # (-), and underscores (\_).
696
+ #
697
+ # * Must be a unique map resource name.
698
+ #
699
+ # * No spaces allowed. For example, `ExampleMap`.
700
+ #
701
+ # @option params [required, String] :pricing_plan
702
+ # Specifies the pricing plan for your map resource. There's three
703
+ # pricing plan options:
704
+ #
705
+ # * `RequestBasedUsage` — Selects the "Request-Based Usage" pricing
706
+ # plan.
707
+ #
708
+ # * `MobileAssetTracking` — Selects the "Mobile Asset Tracking"
709
+ # pricing plan.
710
+ #
711
+ # * `MobileAssetManagement` — Selects the "Mobile Asset Management"
712
+ # pricing plan.
713
+ #
714
+ # For additional details and restrictions on each pricing plan option,
715
+ # see the [Amazon Location Service pricing page][1].
716
+ #
717
+ #
718
+ #
719
+ # [1]: https://aws.amazon.com/location/pricing/
720
+ #
721
+ # @return [Types::CreateMapResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
722
+ #
723
+ # * {Types::CreateMapResponse#create_time #create_time} => Time
724
+ # * {Types::CreateMapResponse#map_arn #map_arn} => String
725
+ # * {Types::CreateMapResponse#map_name #map_name} => String
726
+ #
727
+ # @example Request syntax with placeholder values
728
+ #
729
+ # resp = client.create_map({
730
+ # configuration: { # required
731
+ # style: "MapStyle", # required
732
+ # },
733
+ # description: "ResourceDescription",
734
+ # map_name: "ResourceName", # required
735
+ # pricing_plan: "RequestBasedUsage", # required, accepts RequestBasedUsage, MobileAssetTracking, MobileAssetManagement
736
+ # })
737
+ #
738
+ # @example Response structure
739
+ #
740
+ # resp.create_time #=> Time
741
+ # resp.map_arn #=> String
742
+ # resp.map_name #=> String
743
+ #
744
+ # @see http://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/CreateMap AWS API Documentation
745
+ #
746
+ # @overload create_map(params = {})
747
+ # @param [Hash] params ({})
748
+ def create_map(params = {}, options = {})
749
+ req = build_request(:create_map, params)
750
+ req.send_request(options)
751
+ end
752
+
753
+ # Creates a Place index resource in your AWS account, which supports
754
+ # Places functions with geospatial data sourced from your chosen data
755
+ # provider.
756
+ #
757
+ # <note markdown="1"> By using Places, you agree that AWS may transmit your API queries to
758
+ # your selected third party provider for processing, which may be
759
+ # outside the AWS region you are currently using.
760
+ #
761
+ # Because of licensing limitations, you may not use HERE to store
762
+ # results for locations in Japan. For more information, see the [AWS
763
+ # Service Terms][1] for Amazon Location Service.
764
+ #
765
+ # </note>
766
+ #
767
+ #
768
+ #
769
+ # [1]: https://aws.amazon.com/service-terms/
770
+ #
771
+ # @option params [required, String] :data_source
772
+ # Specifies the data provider of geospatial data.
773
+ #
774
+ # @option params [Types::DataSourceConfiguration] :data_source_configuration
775
+ # Specifies the data storage option for requesting Places.
776
+ #
777
+ # @option params [String] :description
778
+ # The optional description for the Place index resource.
779
+ #
780
+ # @option params [required, String] :index_name
781
+ # The name of the Place index resource.
782
+ #
783
+ # Requirements:
784
+ #
785
+ # * Contain only alphanumeric characters (A-Z, a-z, 0-9) , hyphens (-)
786
+ # and underscores (\_) ).
787
+ #
788
+ # * Must be a unique Place index resource name.
789
+ #
790
+ # * No spaces allowed. For example, `ExamplePlaceIndex`.
791
+ #
792
+ # @option params [required, String] :pricing_plan
793
+ # Specifies the pricing plan for your Place index resource. There's
794
+ # three pricing plan options:
795
+ #
796
+ # * `RequestBasedUsage` — Selects the "Request-Based Usage" pricing
797
+ # plan.
798
+ #
799
+ # * `MobileAssetTracking` — Selects the "Mobile Asset Tracking"
800
+ # pricing plan.
801
+ #
802
+ # * `MobileAssetManagement` — Selects the "Mobile Asset Management"
803
+ # pricing plan.
804
+ #
805
+ # For additional details and restrictions on each pricing plan option,
806
+ # see the [Amazon Location Service pricing page][1].
807
+ #
808
+ #
809
+ #
810
+ # [1]: https://aws.amazon.com/location/pricing/
811
+ #
812
+ # @return [Types::CreatePlaceIndexResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
813
+ #
814
+ # * {Types::CreatePlaceIndexResponse#create_time #create_time} => Time
815
+ # * {Types::CreatePlaceIndexResponse#index_arn #index_arn} => String
816
+ # * {Types::CreatePlaceIndexResponse#index_name #index_name} => String
817
+ #
818
+ # @example Request syntax with placeholder values
819
+ #
820
+ # resp = client.create_place_index({
821
+ # data_source: "String", # required
822
+ # data_source_configuration: {
823
+ # intended_use: "SingleUse", # accepts SingleUse, Storage
824
+ # },
825
+ # description: "ResourceDescription",
826
+ # index_name: "ResourceName", # required
827
+ # pricing_plan: "RequestBasedUsage", # required, accepts RequestBasedUsage, MobileAssetTracking, MobileAssetManagement
828
+ # })
829
+ #
830
+ # @example Response structure
831
+ #
832
+ # resp.create_time #=> Time
833
+ # resp.index_arn #=> String
834
+ # resp.index_name #=> String
835
+ #
836
+ # @see http://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/CreatePlaceIndex AWS API Documentation
837
+ #
838
+ # @overload create_place_index(params = {})
839
+ # @param [Hash] params ({})
840
+ def create_place_index(params = {}, options = {})
841
+ req = build_request(:create_place_index, params)
842
+ req.send_request(options)
843
+ end
844
+
845
+ # Creates a tracker resource in your AWS account, which lets you
846
+ # retrieve current and historical location of devices.
847
+ #
848
+ # @option params [String] :description
849
+ # An optional description for the tracker resource.
850
+ #
851
+ # @option params [required, String] :pricing_plan
852
+ # Specifies the pricing plan for your tracker resource. There's three
853
+ # pricing plan options:
854
+ #
855
+ # * `RequestBasedUsage` — Selects the "Request-Based Usage" pricing
856
+ # plan.
857
+ #
858
+ # * `MobileAssetTracking` — Selects the "Mobile Asset Tracking"
859
+ # pricing plan.
860
+ #
861
+ # * `MobileAssetManagement` — Selects the "Mobile Asset Management"
862
+ # pricing plan.
863
+ #
864
+ # For additional details and restrictions on each pricing plan option,
865
+ # see the [Amazon Location Service pricing page][1].
866
+ #
867
+ #
868
+ #
869
+ # [1]: https://aws.amazon.com/location/pricing/
870
+ #
871
+ # @option params [required, String] :tracker_name
872
+ # The name for the tracker resource.
873
+ #
874
+ # Requirements:
875
+ #
876
+ # * Contain only alphanumeric characters (A-Z, a-z, 0-9) , hyphens (-)
877
+ # and underscores (\_).
878
+ #
879
+ # * Must be a unique tracker resource name.
880
+ #
881
+ # * No spaces allowed. For example, `ExampleTracker`.
882
+ #
883
+ # @return [Types::CreateTrackerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
884
+ #
885
+ # * {Types::CreateTrackerResponse#create_time #create_time} => Time
886
+ # * {Types::CreateTrackerResponse#tracker_arn #tracker_arn} => String
887
+ # * {Types::CreateTrackerResponse#tracker_name #tracker_name} => String
888
+ #
889
+ # @example Request syntax with placeholder values
890
+ #
891
+ # resp = client.create_tracker({
892
+ # description: "ResourceDescription",
893
+ # pricing_plan: "RequestBasedUsage", # required, accepts RequestBasedUsage, MobileAssetTracking, MobileAssetManagement
894
+ # tracker_name: "ResourceName", # required
895
+ # })
896
+ #
897
+ # @example Response structure
898
+ #
899
+ # resp.create_time #=> Time
900
+ # resp.tracker_arn #=> String
901
+ # resp.tracker_name #=> String
902
+ #
903
+ # @see http://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/CreateTracker AWS API Documentation
904
+ #
905
+ # @overload create_tracker(params = {})
906
+ # @param [Hash] params ({})
907
+ def create_tracker(params = {}, options = {})
908
+ req = build_request(:create_tracker, params)
909
+ req.send_request(options)
910
+ end
911
+
912
+ # Deletes a geofence collection from your AWS account.
913
+ #
914
+ # <note markdown="1"> This action deletes the resource permanently. You can't undo this
915
+ # action. If the geofence collection is the target of a tracker
916
+ # resource, the devices will no longer be monitored.
917
+ #
918
+ # </note>
919
+ #
920
+ # @option params [required, String] :collection_name
921
+ # The name of the geofence collection to be deleted.
922
+ #
923
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
924
+ #
925
+ # @example Request syntax with placeholder values
926
+ #
927
+ # resp = client.delete_geofence_collection({
928
+ # collection_name: "ResourceName", # required
929
+ # })
930
+ #
931
+ # @see http://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DeleteGeofenceCollection AWS API Documentation
932
+ #
933
+ # @overload delete_geofence_collection(params = {})
934
+ # @param [Hash] params ({})
935
+ def delete_geofence_collection(params = {}, options = {})
936
+ req = build_request(:delete_geofence_collection, params)
937
+ req.send_request(options)
938
+ end
939
+
940
+ # Deletes a map resource from your AWS account.
941
+ #
942
+ # <note markdown="1"> This action deletes the resource permanently. You cannot undo this
943
+ # action. If the map is being used in an application, the map may not
944
+ # render.
945
+ #
946
+ # </note>
947
+ #
948
+ # @option params [required, String] :map_name
949
+ # The name of the map resource to be deleted.
950
+ #
951
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
952
+ #
953
+ # @example Request syntax with placeholder values
954
+ #
955
+ # resp = client.delete_map({
956
+ # map_name: "ResourceName", # required
957
+ # })
958
+ #
959
+ # @see http://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DeleteMap AWS API Documentation
960
+ #
961
+ # @overload delete_map(params = {})
962
+ # @param [Hash] params ({})
963
+ def delete_map(params = {}, options = {})
964
+ req = build_request(:delete_map, params)
965
+ req.send_request(options)
966
+ end
967
+
968
+ # Deletes a Place index resource from your AWS account.
969
+ #
970
+ # <note markdown="1"> This action deletes the resource permanently. You cannot undo this
971
+ # action.
972
+ #
973
+ # </note>
974
+ #
975
+ # @option params [required, String] :index_name
976
+ # The name of the Place index resource to be deleted.
977
+ #
978
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
979
+ #
980
+ # @example Request syntax with placeholder values
981
+ #
982
+ # resp = client.delete_place_index({
983
+ # index_name: "ResourceName", # required
984
+ # })
985
+ #
986
+ # @see http://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DeletePlaceIndex AWS API Documentation
987
+ #
988
+ # @overload delete_place_index(params = {})
989
+ # @param [Hash] params ({})
990
+ def delete_place_index(params = {}, options = {})
991
+ req = build_request(:delete_place_index, params)
992
+ req.send_request(options)
993
+ end
994
+
995
+ # Deletes a tracker resource from your AWS account.
996
+ #
997
+ # <note markdown="1"> This action deletes the resource permanently. You can't undo this
998
+ # action. If the tracker resource is in use, you may encounter an error.
999
+ # Make sure that the target resource is not a dependency for your
1000
+ # applications.
1001
+ #
1002
+ # </note>
1003
+ #
1004
+ # @option params [required, String] :tracker_name
1005
+ # The name of the tracker resource to be deleted.
1006
+ #
1007
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1008
+ #
1009
+ # @example Request syntax with placeholder values
1010
+ #
1011
+ # resp = client.delete_tracker({
1012
+ # tracker_name: "ResourceName", # required
1013
+ # })
1014
+ #
1015
+ # @see http://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DeleteTracker AWS API Documentation
1016
+ #
1017
+ # @overload delete_tracker(params = {})
1018
+ # @param [Hash] params ({})
1019
+ def delete_tracker(params = {}, options = {})
1020
+ req = build_request(:delete_tracker, params)
1021
+ req.send_request(options)
1022
+ end
1023
+
1024
+ # Retrieves the geofence collection details.
1025
+ #
1026
+ # @option params [required, String] :collection_name
1027
+ # The name of the geofence collection.
1028
+ #
1029
+ # @return [Types::DescribeGeofenceCollectionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1030
+ #
1031
+ # * {Types::DescribeGeofenceCollectionResponse#collection_arn #collection_arn} => String
1032
+ # * {Types::DescribeGeofenceCollectionResponse#collection_name #collection_name} => String
1033
+ # * {Types::DescribeGeofenceCollectionResponse#create_time #create_time} => Time
1034
+ # * {Types::DescribeGeofenceCollectionResponse#description #description} => String
1035
+ # * {Types::DescribeGeofenceCollectionResponse#update_time #update_time} => Time
1036
+ #
1037
+ # @example Request syntax with placeholder values
1038
+ #
1039
+ # resp = client.describe_geofence_collection({
1040
+ # collection_name: "ResourceName", # required
1041
+ # })
1042
+ #
1043
+ # @example Response structure
1044
+ #
1045
+ # resp.collection_arn #=> String
1046
+ # resp.collection_name #=> String
1047
+ # resp.create_time #=> Time
1048
+ # resp.description #=> String
1049
+ # resp.update_time #=> Time
1050
+ #
1051
+ # @see http://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DescribeGeofenceCollection AWS API Documentation
1052
+ #
1053
+ # @overload describe_geofence_collection(params = {})
1054
+ # @param [Hash] params ({})
1055
+ def describe_geofence_collection(params = {}, options = {})
1056
+ req = build_request(:describe_geofence_collection, params)
1057
+ req.send_request(options)
1058
+ end
1059
+
1060
+ # Retrieves the map resource details.
1061
+ #
1062
+ # @option params [required, String] :map_name
1063
+ # The name of the map resource.
1064
+ #
1065
+ # @return [Types::DescribeMapResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1066
+ #
1067
+ # * {Types::DescribeMapResponse#configuration #configuration} => Types::MapConfiguration
1068
+ # * {Types::DescribeMapResponse#create_time #create_time} => Time
1069
+ # * {Types::DescribeMapResponse#data_source #data_source} => String
1070
+ # * {Types::DescribeMapResponse#description #description} => String
1071
+ # * {Types::DescribeMapResponse#map_arn #map_arn} => String
1072
+ # * {Types::DescribeMapResponse#map_name #map_name} => String
1073
+ # * {Types::DescribeMapResponse#update_time #update_time} => Time
1074
+ #
1075
+ # @example Request syntax with placeholder values
1076
+ #
1077
+ # resp = client.describe_map({
1078
+ # map_name: "ResourceName", # required
1079
+ # })
1080
+ #
1081
+ # @example Response structure
1082
+ #
1083
+ # resp.configuration.style #=> String
1084
+ # resp.create_time #=> Time
1085
+ # resp.data_source #=> String
1086
+ # resp.description #=> String
1087
+ # resp.map_arn #=> String
1088
+ # resp.map_name #=> String
1089
+ # resp.update_time #=> Time
1090
+ #
1091
+ # @see http://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DescribeMap AWS API Documentation
1092
+ #
1093
+ # @overload describe_map(params = {})
1094
+ # @param [Hash] params ({})
1095
+ def describe_map(params = {}, options = {})
1096
+ req = build_request(:describe_map, params)
1097
+ req.send_request(options)
1098
+ end
1099
+
1100
+ # Retrieves the Place index resource details.
1101
+ #
1102
+ # @option params [required, String] :index_name
1103
+ # The name of the Place index resource.
1104
+ #
1105
+ # @return [Types::DescribePlaceIndexResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1106
+ #
1107
+ # * {Types::DescribePlaceIndexResponse#create_time #create_time} => Time
1108
+ # * {Types::DescribePlaceIndexResponse#data_source #data_source} => String
1109
+ # * {Types::DescribePlaceIndexResponse#data_source_configuration #data_source_configuration} => Types::DataSourceConfiguration
1110
+ # * {Types::DescribePlaceIndexResponse#description #description} => String
1111
+ # * {Types::DescribePlaceIndexResponse#index_arn #index_arn} => String
1112
+ # * {Types::DescribePlaceIndexResponse#index_name #index_name} => String
1113
+ # * {Types::DescribePlaceIndexResponse#update_time #update_time} => Time
1114
+ #
1115
+ # @example Request syntax with placeholder values
1116
+ #
1117
+ # resp = client.describe_place_index({
1118
+ # index_name: "ResourceName", # required
1119
+ # })
1120
+ #
1121
+ # @example Response structure
1122
+ #
1123
+ # resp.create_time #=> Time
1124
+ # resp.data_source #=> String
1125
+ # resp.data_source_configuration.intended_use #=> String, one of "SingleUse", "Storage"
1126
+ # resp.description #=> String
1127
+ # resp.index_arn #=> String
1128
+ # resp.index_name #=> String
1129
+ # resp.update_time #=> Time
1130
+ #
1131
+ # @see http://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DescribePlaceIndex AWS API Documentation
1132
+ #
1133
+ # @overload describe_place_index(params = {})
1134
+ # @param [Hash] params ({})
1135
+ def describe_place_index(params = {}, options = {})
1136
+ req = build_request(:describe_place_index, params)
1137
+ req.send_request(options)
1138
+ end
1139
+
1140
+ # Retrieves the tracker resource details.
1141
+ #
1142
+ # @option params [required, String] :tracker_name
1143
+ # The name of the tracker resource.
1144
+ #
1145
+ # @return [Types::DescribeTrackerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1146
+ #
1147
+ # * {Types::DescribeTrackerResponse#create_time #create_time} => Time
1148
+ # * {Types::DescribeTrackerResponse#description #description} => String
1149
+ # * {Types::DescribeTrackerResponse#tracker_arn #tracker_arn} => String
1150
+ # * {Types::DescribeTrackerResponse#tracker_name #tracker_name} => String
1151
+ # * {Types::DescribeTrackerResponse#update_time #update_time} => Time
1152
+ #
1153
+ # @example Request syntax with placeholder values
1154
+ #
1155
+ # resp = client.describe_tracker({
1156
+ # tracker_name: "ResourceName", # required
1157
+ # })
1158
+ #
1159
+ # @example Response structure
1160
+ #
1161
+ # resp.create_time #=> Time
1162
+ # resp.description #=> String
1163
+ # resp.tracker_arn #=> String
1164
+ # resp.tracker_name #=> String
1165
+ # resp.update_time #=> Time
1166
+ #
1167
+ # @see http://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DescribeTracker AWS API Documentation
1168
+ #
1169
+ # @overload describe_tracker(params = {})
1170
+ # @param [Hash] params ({})
1171
+ def describe_tracker(params = {}, options = {})
1172
+ req = build_request(:describe_tracker, params)
1173
+ req.send_request(options)
1174
+ end
1175
+
1176
+ # Removes the association bewteen a tracker resource and a geofence
1177
+ # collection.
1178
+ #
1179
+ # <note markdown="1"> Once you unlink a tracker resource from a geofence collection, the
1180
+ # tracker positions will no longer be automatically evaluated against
1181
+ # geofences.
1182
+ #
1183
+ # </note>
1184
+ #
1185
+ # @option params [required, String] :consumer_arn
1186
+ # The Amazon Resource Name (ARN) for the geofence collection to be
1187
+ # disassociated from the tracker resource. Used when you need to specify
1188
+ # a resource across all AWS.
1189
+ #
1190
+ # * Format example:
1191
+ # `arn:partition:service:region:account-id:resource-type:resource-id`
1192
+ #
1193
+ # ^
1194
+ #
1195
+ # @option params [required, String] :tracker_name
1196
+ # The name of the tracker resource to be dissociated from the consumer.
1197
+ #
1198
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1199
+ #
1200
+ # @example Request syntax with placeholder values
1201
+ #
1202
+ # resp = client.disassociate_tracker_consumer({
1203
+ # consumer_arn: "Arn", # required
1204
+ # tracker_name: "ResourceName", # required
1205
+ # })
1206
+ #
1207
+ # @see http://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DisassociateTrackerConsumer AWS API Documentation
1208
+ #
1209
+ # @overload disassociate_tracker_consumer(params = {})
1210
+ # @param [Hash] params ({})
1211
+ def disassociate_tracker_consumer(params = {}, options = {})
1212
+ req = build_request(:disassociate_tracker_consumer, params)
1213
+ req.send_request(options)
1214
+ end
1215
+
1216
+ # Retrieves the latest device position.
1217
+ #
1218
+ # <note markdown="1"> Limitation — Device positions are deleted after one year.
1219
+ #
1220
+ # </note>
1221
+ #
1222
+ # @option params [required, String] :device_id
1223
+ # The device whose position you want to retreieve.
1224
+ #
1225
+ # @option params [required, String] :tracker_name
1226
+ # The tracker resource receiving the position update.
1227
+ #
1228
+ # @return [Types::GetDevicePositionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1229
+ #
1230
+ # * {Types::GetDevicePositionResponse#device_id #device_id} => String
1231
+ # * {Types::GetDevicePositionResponse#position #position} => Array&lt;Float&gt;
1232
+ # * {Types::GetDevicePositionResponse#received_time #received_time} => Time
1233
+ # * {Types::GetDevicePositionResponse#sample_time #sample_time} => Time
1234
+ #
1235
+ # @example Request syntax with placeholder values
1236
+ #
1237
+ # resp = client.get_device_position({
1238
+ # device_id: "Id", # required
1239
+ # tracker_name: "ResourceName", # required
1240
+ # })
1241
+ #
1242
+ # @example Response structure
1243
+ #
1244
+ # resp.device_id #=> String
1245
+ # resp.position #=> Array
1246
+ # resp.position[0] #=> Float
1247
+ # resp.received_time #=> Time
1248
+ # resp.sample_time #=> Time
1249
+ #
1250
+ # @see http://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetDevicePosition AWS API Documentation
1251
+ #
1252
+ # @overload get_device_position(params = {})
1253
+ # @param [Hash] params ({})
1254
+ def get_device_position(params = {}, options = {})
1255
+ req = build_request(:get_device_position, params)
1256
+ req.send_request(options)
1257
+ end
1258
+
1259
+ # Retrieves the device position history from a tracker resource within a
1260
+ # specified range of time.
1261
+ #
1262
+ # <note markdown="1"> Limitation — Device positions are deleted after one year.
1263
+ #
1264
+ # </note>
1265
+ #
1266
+ # @option params [required, String] :device_id
1267
+ # The device whose position history you want to retrieve.
1268
+ #
1269
+ # @option params [Time,DateTime,Date,Integer,String] :end_time_exclusive
1270
+ # Specify the end time for the position history in [ ISO 8601][1]
1271
+ # format: `YYYY-MM-DDThh:mm:ss.sssZ`.
1272
+ #
1273
+ # * The given time for `EndTimeExclusive` must be after the time for
1274
+ # `StartTimeInclusive`.
1275
+ #
1276
+ # ^
1277
+ #
1278
+ #
1279
+ #
1280
+ # [1]: https://www.iso.org/iso-8601-date-and-time-format.html
1281
+ #
1282
+ # @option params [String] :next_token
1283
+ # The pagination token specifying which page of results to return in the
1284
+ # response. If no token is provided, the default page is the first page.
1285
+ #
1286
+ # Default value: `null`
1287
+ #
1288
+ # @option params [Time,DateTime,Date,Integer,String] :start_time_inclusive
1289
+ # Specify the start time for the position history in [ ISO 8601][1]
1290
+ # format: `YYYY-MM-DDThh:mm:ss.sssZ`.
1291
+ #
1292
+ # * The given time for `EndTimeExclusive` must be after the time for
1293
+ # `StartTimeInclusive`.
1294
+ #
1295
+ # ^
1296
+ #
1297
+ #
1298
+ #
1299
+ # [1]: https://www.iso.org/iso-8601-date-and-time-format.html
1300
+ #
1301
+ # @option params [required, String] :tracker_name
1302
+ # The tracker resource receiving the request for the device position
1303
+ # history.
1304
+ #
1305
+ # @return [Types::GetDevicePositionHistoryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1306
+ #
1307
+ # * {Types::GetDevicePositionHistoryResponse#device_positions #device_positions} => Array&lt;Types::DevicePosition&gt;
1308
+ # * {Types::GetDevicePositionHistoryResponse#next_token #next_token} => String
1309
+ #
1310
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1311
+ #
1312
+ # @example Request syntax with placeholder values
1313
+ #
1314
+ # resp = client.get_device_position_history({
1315
+ # device_id: "Id", # required
1316
+ # end_time_exclusive: Time.now,
1317
+ # next_token: "Token",
1318
+ # start_time_inclusive: Time.now,
1319
+ # tracker_name: "ResourceName", # required
1320
+ # })
1321
+ #
1322
+ # @example Response structure
1323
+ #
1324
+ # resp.device_positions #=> Array
1325
+ # resp.device_positions[0].device_id #=> String
1326
+ # resp.device_positions[0].position #=> Array
1327
+ # resp.device_positions[0].position[0] #=> Float
1328
+ # resp.device_positions[0].received_time #=> Time
1329
+ # resp.device_positions[0].sample_time #=> Time
1330
+ # resp.next_token #=> String
1331
+ #
1332
+ # @see http://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetDevicePositionHistory AWS API Documentation
1333
+ #
1334
+ # @overload get_device_position_history(params = {})
1335
+ # @param [Hash] params ({})
1336
+ def get_device_position_history(params = {}, options = {})
1337
+ req = build_request(:get_device_position_history, params)
1338
+ req.send_request(options)
1339
+ end
1340
+
1341
+ # Retrieves the geofence details from a geofence collection.
1342
+ #
1343
+ # @option params [required, String] :collection_name
1344
+ # The geofence collection storing the target geofence.
1345
+ #
1346
+ # @option params [required, String] :geofence_id
1347
+ # The geofence you're retrieving details for.
1348
+ #
1349
+ # @return [Types::GetGeofenceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1350
+ #
1351
+ # * {Types::GetGeofenceResponse#create_time #create_time} => Time
1352
+ # * {Types::GetGeofenceResponse#geofence_id #geofence_id} => String
1353
+ # * {Types::GetGeofenceResponse#geometry #geometry} => Types::GeofenceGeometry
1354
+ # * {Types::GetGeofenceResponse#status #status} => String
1355
+ # * {Types::GetGeofenceResponse#update_time #update_time} => Time
1356
+ #
1357
+ # @example Request syntax with placeholder values
1358
+ #
1359
+ # resp = client.get_geofence({
1360
+ # collection_name: "ResourceName", # required
1361
+ # geofence_id: "Id", # required
1362
+ # })
1363
+ #
1364
+ # @example Response structure
1365
+ #
1366
+ # resp.create_time #=> Time
1367
+ # resp.geofence_id #=> String
1368
+ # resp.geometry.polygon #=> Array
1369
+ # resp.geometry.polygon[0] #=> Array
1370
+ # resp.geometry.polygon[0][0] #=> Array
1371
+ # resp.geometry.polygon[0][0][0] #=> Float
1372
+ # resp.status #=> String
1373
+ # resp.update_time #=> Time
1374
+ #
1375
+ # @see http://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetGeofence AWS API Documentation
1376
+ #
1377
+ # @overload get_geofence(params = {})
1378
+ # @param [Hash] params ({})
1379
+ def get_geofence(params = {}, options = {})
1380
+ req = build_request(:get_geofence, params)
1381
+ req.send_request(options)
1382
+ end
1383
+
1384
+ # Retrieves glyphs used to display labels on a map.
1385
+ #
1386
+ # @option params [required, String] :font_stack
1387
+ # A comma-separated list of fonts to load glyphs from in order of
1388
+ # preference.. For example, `Noto Sans, Arial Unicode`.
1389
+ #
1390
+ # @option params [required, String] :font_unicode_range
1391
+ # A Unicode range of characters to download glyphs for. Each response
1392
+ # will contain 256 characters. For example, 0-255 includes all
1393
+ # characters from range `U+0000` to `00FF`. Must be aligned to multiples
1394
+ # of 256.
1395
+ #
1396
+ # @option params [required, String] :map_name
1397
+ # The map resource associated with the glyph file.
1398
+ #
1399
+ # @return [Types::GetMapGlyphsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1400
+ #
1401
+ # * {Types::GetMapGlyphsResponse#blob #blob} => IO
1402
+ # * {Types::GetMapGlyphsResponse#content_type #content_type} => String
1403
+ #
1404
+ # @example Request syntax with placeholder values
1405
+ #
1406
+ # resp = client.get_map_glyphs({
1407
+ # font_stack: "String", # required
1408
+ # font_unicode_range: "GetMapGlyphsRequestFontUnicodeRangeString", # required
1409
+ # map_name: "ResourceName", # required
1410
+ # })
1411
+ #
1412
+ # @example Response structure
1413
+ #
1414
+ # resp.blob #=> IO
1415
+ # resp.content_type #=> String
1416
+ #
1417
+ # @see http://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetMapGlyphs AWS API Documentation
1418
+ #
1419
+ # @overload get_map_glyphs(params = {})
1420
+ # @param [Hash] params ({})
1421
+ def get_map_glyphs(params = {}, options = {}, &block)
1422
+ req = build_request(:get_map_glyphs, params)
1423
+ req.send_request(options, &block)
1424
+ end
1425
+
1426
+ # Retrieves the sprite sheet corresponding to a map resource. The sprite
1427
+ # sheet is a PNG image paired with a JSON document describing the
1428
+ # offsets of individual icons that will be displayed on a rendered map.
1429
+ #
1430
+ # @option params [required, String] :file_name
1431
+ # The name of the sprite file. Use the following file names for the sprite
1432
+ # sheet:
1433
+ #
1434
+ # * `sprites.png`
1435
+ #
1436
+ # * `sprites@2x.png` for high pixel density displays
1437
+ #
1438
+ # For the JSON document contain image offsets. Use the following file
1439
+ # names:
1440
+ #
1441
+ # * `sprites.json`
1442
+ #
1443
+ # * `sprites@2x.json` for high pixel density displays
1444
+ #
1445
+ # @option params [required, String] :map_name
1446
+ # The map resource associated with the sprite file.
1447
+ #
1448
+ # @return [Types::GetMapSpritesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1449
+ #
1450
+ # * {Types::GetMapSpritesResponse#blob #blob} => IO
1451
+ # * {Types::GetMapSpritesResponse#content_type #content_type} => String
1452
+ #
1453
+ # @example Request syntax with placeholder values
1454
+ #
1455
+ # resp = client.get_map_sprites({
1456
+ # file_name: "GetMapSpritesRequestFileNameString", # required
1457
+ # map_name: "ResourceName", # required
1458
+ # })
1459
+ #
1460
+ # @example Response structure
1461
+ #
1462
+ # resp.blob #=> IO
1463
+ # resp.content_type #=> String
1464
+ #
1465
+ # @see http://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetMapSprites AWS API Documentation
1466
+ #
1467
+ # @overload get_map_sprites(params = {})
1468
+ # @param [Hash] params ({})
1469
+ def get_map_sprites(params = {}, options = {}, &block)
1470
+ req = build_request(:get_map_sprites, params)
1471
+ req.send_request(options, &block)
1472
+ end
1473
+
1474
+ # Retrieves the map style descriptor from a map resource.
1475
+ #
1476
+ # The style descriptor contains specifications on how features render on
1477
+ # a map. For example, what data to display, what order to display the
1478
+ # data in, and the style for the data. Style descriptors follow the
1479
+ # Mapbox Style Specification.
1480
+ #
1481
+ # @option params [required, String] :map_name
1482
+ # The map resource to retrieve the style descriptor from.
1483
+ #
1484
+ # @return [Types::GetMapStyleDescriptorResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1485
+ #
1486
+ # * {Types::GetMapStyleDescriptorResponse#blob #blob} => IO
1487
+ # * {Types::GetMapStyleDescriptorResponse#content_type #content_type} => String
1488
+ #
1489
+ # @example Request syntax with placeholder values
1490
+ #
1491
+ # resp = client.get_map_style_descriptor({
1492
+ # map_name: "ResourceName", # required
1493
+ # })
1494
+ #
1495
+ # @example Response structure
1496
+ #
1497
+ # resp.blob #=> IO
1498
+ # resp.content_type #=> String
1499
+ #
1500
+ # @see http://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetMapStyleDescriptor AWS API Documentation
1501
+ #
1502
+ # @overload get_map_style_descriptor(params = {})
1503
+ # @param [Hash] params ({})
1504
+ def get_map_style_descriptor(params = {}, options = {}, &block)
1505
+ req = build_request(:get_map_style_descriptor, params)
1506
+ req.send_request(options, &block)
1507
+ end
1508
+
1509
+ # Retrieves a vector data tile from the map resource. Map tiles are used
1510
+ # by clients to render a map. They are addressed using a grid
1511
+ # arrangement with an X coordinate, Y coordinate, and Z (zoom) level.
1512
+ #
1513
+ # The origin (0, 0) is the top left of the map. Increasing the zoom
1514
+ # level by 1 doubles both the X and Y dimensions, so a tile containing
1515
+ # data for the entire world at (0/0/0) will be split into 4 tiles at
1516
+ # zoom 1 (1/0/0, 1/0/1, 1/1/0, 1/1/1).
1517
+ #
1518
+ # @option params [required, String] :map_name
1519
+ # The map resource to retrieve the map tiles from.
1520
+ #
1521
+ # @option params [required, String] :x
1522
+ # The X axis value for the map tile.
1523
+ #
1524
+ # @option params [required, String] :y
1525
+ # The Y axis value for the map tile.
1526
+ #
1527
+ # @option params [required, String] :z
1528
+ # The zoom value for the map tile.
1529
+ #
1530
+ # @return [Types::GetMapTileResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1531
+ #
1532
+ # * {Types::GetMapTileResponse#blob #blob} => IO
1533
+ # * {Types::GetMapTileResponse#content_type #content_type} => String
1534
+ #
1535
+ # @example Request syntax with placeholder values
1536
+ #
1537
+ # resp = client.get_map_tile({
1538
+ # map_name: "ResourceName", # required
1539
+ # x: "GetMapTileRequestXString", # required
1540
+ # y: "GetMapTileRequestYString", # required
1541
+ # z: "GetMapTileRequestZString", # required
1542
+ # })
1543
+ #
1544
+ # @example Response structure
1545
+ #
1546
+ # resp.blob #=> IO
1547
+ # resp.content_type #=> String
1548
+ #
1549
+ # @see http://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetMapTile AWS API Documentation
1550
+ #
1551
+ # @overload get_map_tile(params = {})
1552
+ # @param [Hash] params ({})
1553
+ def get_map_tile(params = {}, options = {}, &block)
1554
+ req = build_request(:get_map_tile, params)
1555
+ req.send_request(options, &block)
1556
+ end
1557
+
1558
+ # Lists geofence collections in your AWS account.
1559
+ #
1560
+ # @option params [Integer] :max_results
1561
+ # An optional limit for the number of resources returned in a single
1562
+ # call.
1563
+ #
1564
+ # Default value: `100`
1565
+ #
1566
+ # @option params [String] :next_token
1567
+ # The pagination token specifying which page of results to return in the
1568
+ # response. If no token is provided, the default page is the first page.
1569
+ #
1570
+ # Default value: `null`
1571
+ #
1572
+ # @return [Types::ListGeofenceCollectionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1573
+ #
1574
+ # * {Types::ListGeofenceCollectionsResponse#entries #entries} => Array&lt;Types::ListGeofenceCollectionsResponseEntry&gt;
1575
+ # * {Types::ListGeofenceCollectionsResponse#next_token #next_token} => String
1576
+ #
1577
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1578
+ #
1579
+ # @example Request syntax with placeholder values
1580
+ #
1581
+ # resp = client.list_geofence_collections({
1582
+ # max_results: 1,
1583
+ # next_token: "Token",
1584
+ # })
1585
+ #
1586
+ # @example Response structure
1587
+ #
1588
+ # resp.entries #=> Array
1589
+ # resp.entries[0].collection_name #=> String
1590
+ # resp.entries[0].create_time #=> Time
1591
+ # resp.entries[0].description #=> String
1592
+ # resp.entries[0].update_time #=> Time
1593
+ # resp.next_token #=> String
1594
+ #
1595
+ # @see http://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListGeofenceCollections AWS API Documentation
1596
+ #
1597
+ # @overload list_geofence_collections(params = {})
1598
+ # @param [Hash] params ({})
1599
+ def list_geofence_collections(params = {}, options = {})
1600
+ req = build_request(:list_geofence_collections, params)
1601
+ req.send_request(options)
1602
+ end
1603
+
1604
+ # Lists geofences stored in a given geofence collection.
1605
+ #
1606
+ # @option params [required, String] :collection_name
1607
+ # The name of the geofence collection storing the list of geofences.
1608
+ #
1609
+ # @option params [String] :next_token
1610
+ # The pagination token specifying which page of results to return in the
1611
+ # response. If no token is provided, the default page is the first page.
1612
+ #
1613
+ # Default value: `null`
1614
+ #
1615
+ # @return [Types::ListGeofencesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1616
+ #
1617
+ # * {Types::ListGeofencesResponse#entries #entries} => Array&lt;Types::ListGeofenceResponseEntry&gt;
1618
+ # * {Types::ListGeofencesResponse#next_token #next_token} => String
1619
+ #
1620
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1621
+ #
1622
+ # @example Request syntax with placeholder values
1623
+ #
1624
+ # resp = client.list_geofences({
1625
+ # collection_name: "ResourceName", # required
1626
+ # next_token: "Token",
1627
+ # })
1628
+ #
1629
+ # @example Response structure
1630
+ #
1631
+ # resp.entries #=> Array
1632
+ # resp.entries[0].create_time #=> Time
1633
+ # resp.entries[0].geofence_id #=> String
1634
+ # resp.entries[0].geometry.polygon #=> Array
1635
+ # resp.entries[0].geometry.polygon[0] #=> Array
1636
+ # resp.entries[0].geometry.polygon[0][0] #=> Array
1637
+ # resp.entries[0].geometry.polygon[0][0][0] #=> Float
1638
+ # resp.entries[0].status #=> String
1639
+ # resp.entries[0].update_time #=> Time
1640
+ # resp.next_token #=> String
1641
+ #
1642
+ # @see http://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListGeofences AWS API Documentation
1643
+ #
1644
+ # @overload list_geofences(params = {})
1645
+ # @param [Hash] params ({})
1646
+ def list_geofences(params = {}, options = {})
1647
+ req = build_request(:list_geofences, params)
1648
+ req.send_request(options)
1649
+ end
1650
+
1651
+ # Lists map resources in your AWS account.
1652
+ #
1653
+ # @option params [Integer] :max_results
1654
+ # An optional limit for the number of resources returned in a single
1655
+ # call.
1656
+ #
1657
+ # Default value: `100`
1658
+ #
1659
+ # @option params [String] :next_token
1660
+ # The pagination token specifying which page of results to return in the
1661
+ # response. If no token is provided, the default page is the first page.
1662
+ #
1663
+ # Default value: `null`
1664
+ #
1665
+ # @return [Types::ListMapsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1666
+ #
1667
+ # * {Types::ListMapsResponse#entries #entries} => Array&lt;Types::ListMapsResponseEntry&gt;
1668
+ # * {Types::ListMapsResponse#next_token #next_token} => String
1669
+ #
1670
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1671
+ #
1672
+ # @example Request syntax with placeholder values
1673
+ #
1674
+ # resp = client.list_maps({
1675
+ # max_results: 1,
1676
+ # next_token: "Token",
1677
+ # })
1678
+ #
1679
+ # @example Response structure
1680
+ #
1681
+ # resp.entries #=> Array
1682
+ # resp.entries[0].create_time #=> Time
1683
+ # resp.entries[0].data_source #=> String
1684
+ # resp.entries[0].description #=> String
1685
+ # resp.entries[0].map_name #=> String
1686
+ # resp.entries[0].update_time #=> Time
1687
+ # resp.next_token #=> String
1688
+ #
1689
+ # @see http://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListMaps AWS API Documentation
1690
+ #
1691
+ # @overload list_maps(params = {})
1692
+ # @param [Hash] params ({})
1693
+ def list_maps(params = {}, options = {})
1694
+ req = build_request(:list_maps, params)
1695
+ req.send_request(options)
1696
+ end
1697
+
1698
+ # Lists Place index resources in your AWS account.
1699
+ #
1700
+ # @option params [Integer] :max_results
1701
+ # An optional limit for the maximum number of results returned in a
1702
+ # single call.
1703
+ #
1704
+ # Default value: `100`
1705
+ #
1706
+ # @option params [String] :next_token
1707
+ # The pagination token specifying which page of results to return in the
1708
+ # response. If no token is provided, the default page is the first page.
1709
+ #
1710
+ # Default value: `null`
1711
+ #
1712
+ # @return [Types::ListPlaceIndexesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1713
+ #
1714
+ # * {Types::ListPlaceIndexesResponse#entries #entries} => Array&lt;Types::ListPlaceIndexesResponseEntry&gt;
1715
+ # * {Types::ListPlaceIndexesResponse#next_token #next_token} => String
1716
+ #
1717
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1718
+ #
1719
+ # @example Request syntax with placeholder values
1720
+ #
1721
+ # resp = client.list_place_indexes({
1722
+ # max_results: 1,
1723
+ # next_token: "Token",
1724
+ # })
1725
+ #
1726
+ # @example Response structure
1727
+ #
1728
+ # resp.entries #=> Array
1729
+ # resp.entries[0].create_time #=> Time
1730
+ # resp.entries[0].data_source #=> String
1731
+ # resp.entries[0].description #=> String
1732
+ # resp.entries[0].index_name #=> String
1733
+ # resp.entries[0].update_time #=> Time
1734
+ # resp.next_token #=> String
1735
+ #
1736
+ # @see http://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListPlaceIndexes AWS API Documentation
1737
+ #
1738
+ # @overload list_place_indexes(params = {})
1739
+ # @param [Hash] params ({})
1740
+ def list_place_indexes(params = {}, options = {})
1741
+ req = build_request(:list_place_indexes, params)
1742
+ req.send_request(options)
1743
+ end
1744
+
1745
+ # Lists geofence collections currently associated to the given tracker
1746
+ # resource.
1747
+ #
1748
+ # @option params [Integer] :max_results
1749
+ # An optional limit for the number of resources returned in a single
1750
+ # call.
1751
+ #
1752
+ # Default value: `100`
1753
+ #
1754
+ # @option params [String] :next_token
1755
+ # The pagination token specifying which page of results to return in the
1756
+ # response. If no token is provided, the default page is the first page.
1757
+ #
1758
+ # Default value: `null`
1759
+ #
1760
+ # @option params [required, String] :tracker_name
1761
+ # The tracker resource whose associated geofence collections you want to
1762
+ # list.
1763
+ #
1764
+ # @return [Types::ListTrackerConsumersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1765
+ #
1766
+ # * {Types::ListTrackerConsumersResponse#consumer_arns #consumer_arns} => Array&lt;String&gt;
1767
+ # * {Types::ListTrackerConsumersResponse#next_token #next_token} => String
1768
+ #
1769
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1770
+ #
1771
+ # @example Request syntax with placeholder values
1772
+ #
1773
+ # resp = client.list_tracker_consumers({
1774
+ # max_results: 1,
1775
+ # next_token: "Token",
1776
+ # tracker_name: "ResourceName", # required
1777
+ # })
1778
+ #
1779
+ # @example Response structure
1780
+ #
1781
+ # resp.consumer_arns #=> Array
1782
+ # resp.consumer_arns[0] #=> String
1783
+ # resp.next_token #=> String
1784
+ #
1785
+ # @see http://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListTrackerConsumers AWS API Documentation
1786
+ #
1787
+ # @overload list_tracker_consumers(params = {})
1788
+ # @param [Hash] params ({})
1789
+ def list_tracker_consumers(params = {}, options = {})
1790
+ req = build_request(:list_tracker_consumers, params)
1791
+ req.send_request(options)
1792
+ end
1793
+
1794
+ # Lists tracker resources in your AWS account.
1795
+ #
1796
+ # @option params [Integer] :max_results
1797
+ # An optional limit for the number of resources returned in a single
1798
+ # call.
1799
+ #
1800
+ # Default value: `100`
1801
+ #
1802
+ # @option params [String] :next_token
1803
+ # The pagination token specifying which page of results to return in the
1804
+ # response. If no token is provided, the default page is the first page.
1805
+ #
1806
+ # Default value: `null`
1807
+ #
1808
+ # @return [Types::ListTrackersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1809
+ #
1810
+ # * {Types::ListTrackersResponse#entries #entries} => Array&lt;Types::ListTrackersResponseEntry&gt;
1811
+ # * {Types::ListTrackersResponse#next_token #next_token} => String
1812
+ #
1813
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1814
+ #
1815
+ # @example Request syntax with placeholder values
1816
+ #
1817
+ # resp = client.list_trackers({
1818
+ # max_results: 1,
1819
+ # next_token: "Token",
1820
+ # })
1821
+ #
1822
+ # @example Response structure
1823
+ #
1824
+ # resp.entries #=> Array
1825
+ # resp.entries[0].create_time #=> Time
1826
+ # resp.entries[0].description #=> String
1827
+ # resp.entries[0].tracker_name #=> String
1828
+ # resp.entries[0].update_time #=> Time
1829
+ # resp.next_token #=> String
1830
+ #
1831
+ # @see http://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListTrackers AWS API Documentation
1832
+ #
1833
+ # @overload list_trackers(params = {})
1834
+ # @param [Hash] params ({})
1835
+ def list_trackers(params = {}, options = {})
1836
+ req = build_request(:list_trackers, params)
1837
+ req.send_request(options)
1838
+ end
1839
+
1840
+ # Stores a geofence to a given geofence collection, or updates the
1841
+ # geometry of an existing geofence if a geofence ID is included in the
1842
+ # request.
1843
+ #
1844
+ # @option params [required, String] :collection_name
1845
+ # The geofence collection to store the geofence in.
1846
+ #
1847
+ # @option params [required, String] :geofence_id
1848
+ # An identifier for the geofence. For example, `ExampleGeofence-1`.
1849
+ #
1850
+ # @option params [required, Types::GeofenceGeometry] :geometry
1851
+ # Contains the polygon details to specify the position of the geofence.
1852
+ #
1853
+ # @return [Types::PutGeofenceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1854
+ #
1855
+ # * {Types::PutGeofenceResponse#create_time #create_time} => Time
1856
+ # * {Types::PutGeofenceResponse#geofence_id #geofence_id} => String
1857
+ # * {Types::PutGeofenceResponse#update_time #update_time} => Time
1858
+ #
1859
+ # @example Request syntax with placeholder values
1860
+ #
1861
+ # resp = client.put_geofence({
1862
+ # collection_name: "ResourceName", # required
1863
+ # geofence_id: "Id", # required
1864
+ # geometry: { # required
1865
+ # polygon: [
1866
+ # [
1867
+ # [1.0],
1868
+ # ],
1869
+ # ],
1870
+ # },
1871
+ # })
1872
+ #
1873
+ # @example Response structure
1874
+ #
1875
+ # resp.create_time #=> Time
1876
+ # resp.geofence_id #=> String
1877
+ # resp.update_time #=> Time
1878
+ #
1879
+ # @see http://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/PutGeofence AWS API Documentation
1880
+ #
1881
+ # @overload put_geofence(params = {})
1882
+ # @param [Hash] params ({})
1883
+ def put_geofence(params = {}, options = {})
1884
+ req = build_request(:put_geofence, params)
1885
+ req.send_request(options)
1886
+ end
1887
+
1888
+ # Reverse geocodes a given coordinate and returns a legible address.
1889
+ # Allows you to search for Places or points of interest near a given
1890
+ # position.
1891
+ #
1892
+ # <note markdown="1"> By using Places, you agree that AWS may transmit your API queries to
1893
+ # your selected third party provider for processing, which may be
1894
+ # outside the AWS region you are currently using.
1895
+ #
1896
+ # Because of licensing limitations, you may not use HERE to store
1897
+ # results for locations in Japan. For more information, see the [AWS
1898
+ # Service Terms][1] for Amazon Location Service.
1899
+ #
1900
+ # </note>
1901
+ #
1902
+ #
1903
+ #
1904
+ # [1]: https://aws.amazon.com/service-terms/
1905
+ #
1906
+ # @option params [required, String] :index_name
1907
+ # The name of the Place index resource you want to use for the search.
1908
+ #
1909
+ # @option params [Integer] :max_results
1910
+ # An optional paramer. The maximum number of results returned per
1911
+ # request.
1912
+ #
1913
+ # Default value: `50`
1914
+ #
1915
+ # @option params [required, Array<Float>] :position
1916
+ # Specifies a coordinate for the query defined by a longitude, and
1917
+ # latitude.
1918
+ #
1919
+ # * The first position is the X coordinate, or longitude.
1920
+ #
1921
+ # * The second position is the Y coordinate, or latitude.
1922
+ #
1923
+ # For example, `position=xLongitude&position=yLatitude` .
1924
+ #
1925
+ # @return [Types::SearchPlaceIndexForPositionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1926
+ #
1927
+ # * {Types::SearchPlaceIndexForPositionResponse#results #results} => Array&lt;Types::SearchForPositionResult&gt;
1928
+ # * {Types::SearchPlaceIndexForPositionResponse#summary #summary} => Types::SearchPlaceIndexForPositionSummary
1929
+ #
1930
+ # @example Request syntax with placeholder values
1931
+ #
1932
+ # resp = client.search_place_index_for_position({
1933
+ # index_name: "ResourceName", # required
1934
+ # max_results: 1,
1935
+ # position: [1.0], # required
1936
+ # })
1937
+ #
1938
+ # @example Response structure
1939
+ #
1940
+ # resp.results #=> Array
1941
+ # resp.results[0].place.address_number #=> String
1942
+ # resp.results[0].place.country #=> String
1943
+ # resp.results[0].place.geometry.point #=> Array
1944
+ # resp.results[0].place.geometry.point[0] #=> Float
1945
+ # resp.results[0].place.label #=> String
1946
+ # resp.results[0].place.municipality #=> String
1947
+ # resp.results[0].place.neighborhood #=> String
1948
+ # resp.results[0].place.postal_code #=> String
1949
+ # resp.results[0].place.region #=> String
1950
+ # resp.results[0].place.street #=> String
1951
+ # resp.results[0].place.sub_region #=> String
1952
+ # resp.summary.data_source #=> String
1953
+ # resp.summary.max_results #=> Integer
1954
+ # resp.summary.position #=> Array
1955
+ # resp.summary.position[0] #=> Float
1956
+ #
1957
+ # @see http://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/SearchPlaceIndexForPosition AWS API Documentation
1958
+ #
1959
+ # @overload search_place_index_for_position(params = {})
1960
+ # @param [Hash] params ({})
1961
+ def search_place_index_for_position(params = {}, options = {})
1962
+ req = build_request(:search_place_index_for_position, params)
1963
+ req.send_request(options)
1964
+ end
1965
+
1966
+ # Geocodes free-form text, such as an address, name, city, or region to
1967
+ # allow you to search for Places or points of interest.
1968
+ #
1969
+ # Includes the option to apply additional parameters to narrow your list
1970
+ # of results.
1971
+ #
1972
+ # <note markdown="1"> You can search for places near a given position using `BiasPosition`,
1973
+ # or filter results within a bounding box using `FilterBBox`. Providing
1974
+ # both parameters simultaneously returns an error.
1975
+ #
1976
+ # </note>
1977
+ #
1978
+ # <note markdown="1"> By using Places, you agree that AWS may transmit your API queries to
1979
+ # your selected third party provider for processing, which may be
1980
+ # outside the AWS region you are currently using.
1981
+ #
1982
+ # Also, when using HERE as your data provider, you may not (a) use HERE
1983
+ # Places for Asset Management, or (b) select the `Storage` option for
1984
+ # the `IntendedUse` parameter when requesting Places in Japan. For more
1985
+ # information, see the [AWS Service Terms][1] for Amazon Location
1986
+ # Service.
1987
+ #
1988
+ # </note>
1989
+ #
1990
+ #
1991
+ #
1992
+ # [1]: https://aws.amazon.com/service-terms/
1993
+ #
1994
+ # @option params [Array<Float>] :bias_position
1995
+ # Searches for results closest to the given position. An optional
1996
+ # parameter defined by longitude, and latitude.
1997
+ #
1998
+ # * The first `bias` position is the X coordinate, or longitude.
1999
+ #
2000
+ # * The second `bias` position is the Y coordinate, or latitude.
2001
+ #
2002
+ # For example, `bias=xLongitude&bias=yLatitude`.
2003
+ #
2004
+ # @option params [Array<Float>] :filter_b_box
2005
+ # Filters the results by returning only Places within the provided
2006
+ # bounding box. An optional parameter.
2007
+ #
2008
+ # The first 2 `bbox` parameters describe the lower southwest corner:
2009
+ #
2010
+ # * The first `bbox` position is the X coordinate or longitude of the
2011
+ # lower southwest corner.
2012
+ #
2013
+ # * The second `bbox` position is the Y coordinate or latitude of the
2014
+ # lower southwest corner.
2015
+ #
2016
+ # For example, `bbox=xLongitudeSW&bbox=yLatitudeSW`.
2017
+ #
2018
+ # The next `bbox` parameters describe the upper northeast corner:
2019
+ #
2020
+ # * The third `bbox` position is the X coordinate, or longitude of the
2021
+ # upper northeast corner.
2022
+ #
2023
+ # * The fourth `bbox` position is the Y coordinate, or longitude of the
2024
+ # upper northeast corner.
2025
+ #
2026
+ # For example, `bbox=xLongitudeNE&bbox=yLatitudeNE`
2027
+ #
2028
+ # @option params [Array<String>] :filter_countries
2029
+ # Limits the search to the given a list of countries/regions. An
2030
+ # optional parameter.
2031
+ #
2032
+ # * Use the [ISO 3166][1] 3-digit country code. For example, Australia
2033
+ # uses three upper-case characters: `AUS`.
2034
+ #
2035
+ # ^
2036
+ #
2037
+ #
2038
+ #
2039
+ # [1]: https://www.iso.org/iso-3166-country-codes.html
2040
+ #
2041
+ # @option params [required, String] :index_name
2042
+ # The name of the Place index resource you want to use for the search.
2043
+ #
2044
+ # @option params [Integer] :max_results
2045
+ # An optional parameter. The maximum number of results returned per
2046
+ # request.
2047
+ #
2048
+ # The default: `50`
2049
+ #
2050
+ # @option params [required, String] :text
2051
+ # The address, name, city, or region to be used in the search. In
2052
+ # free-form text format. For example, `123 Any Street`.
2053
+ #
2054
+ # @return [Types::SearchPlaceIndexForTextResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2055
+ #
2056
+ # * {Types::SearchPlaceIndexForTextResponse#results #results} => Array&lt;Types::SearchForTextResult&gt;
2057
+ # * {Types::SearchPlaceIndexForTextResponse#summary #summary} => Types::SearchPlaceIndexForTextSummary
2058
+ #
2059
+ # @example Request syntax with placeholder values
2060
+ #
2061
+ # resp = client.search_place_index_for_text({
2062
+ # bias_position: [1.0],
2063
+ # filter_b_box: [1.0],
2064
+ # filter_countries: ["CountryCode"],
2065
+ # index_name: "ResourceName", # required
2066
+ # max_results: 1,
2067
+ # text: "SyntheticSearchPlaceIndexForTextRequestString", # required
2068
+ # })
2069
+ #
2070
+ # @example Response structure
2071
+ #
2072
+ # resp.results #=> Array
2073
+ # resp.results[0].place.address_number #=> String
2074
+ # resp.results[0].place.country #=> String
2075
+ # resp.results[0].place.geometry.point #=> Array
2076
+ # resp.results[0].place.geometry.point[0] #=> Float
2077
+ # resp.results[0].place.label #=> String
2078
+ # resp.results[0].place.municipality #=> String
2079
+ # resp.results[0].place.neighborhood #=> String
2080
+ # resp.results[0].place.postal_code #=> String
2081
+ # resp.results[0].place.region #=> String
2082
+ # resp.results[0].place.street #=> String
2083
+ # resp.results[0].place.sub_region #=> String
2084
+ # resp.summary.bias_position #=> Array
2085
+ # resp.summary.bias_position[0] #=> Float
2086
+ # resp.summary.data_source #=> String
2087
+ # resp.summary.filter_b_box #=> Array
2088
+ # resp.summary.filter_b_box[0] #=> Float
2089
+ # resp.summary.filter_countries #=> Array
2090
+ # resp.summary.filter_countries[0] #=> String
2091
+ # resp.summary.max_results #=> Integer
2092
+ # resp.summary.result_b_box #=> Array
2093
+ # resp.summary.result_b_box[0] #=> Float
2094
+ # resp.summary.text #=> String
2095
+ #
2096
+ # @see http://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/SearchPlaceIndexForText AWS API Documentation
2097
+ #
2098
+ # @overload search_place_index_for_text(params = {})
2099
+ # @param [Hash] params ({})
2100
+ def search_place_index_for_text(params = {}, options = {})
2101
+ req = build_request(:search_place_index_for_text, params)
2102
+ req.send_request(options)
2103
+ end
2104
+
2105
+ # @!endgroup
2106
+
2107
+ # @param params ({})
2108
+ # @api private
2109
+ def build_request(operation_name, params = {})
2110
+ handlers = @handlers.for(operation_name)
2111
+ context = Seahorse::Client::RequestContext.new(
2112
+ operation_name: operation_name,
2113
+ operation: config.api.operation(operation_name),
2114
+ client: self,
2115
+ params: params,
2116
+ config: config)
2117
+ context[:gem_name] = 'aws-sdk-locationservice'
2118
+ context[:gem_version] = '1.0.0'
2119
+ Seahorse::Client::Request.new(handlers, context)
2120
+ end
2121
+
2122
+ # @api private
2123
+ # @deprecated
2124
+ def waiter_names
2125
+ []
2126
+ end
2127
+
2128
+ class << self
2129
+
2130
+ # @api private
2131
+ attr_reader :identifier
2132
+
2133
+ # @api private
2134
+ def errors_module
2135
+ Errors
2136
+ end
2137
+
2138
+ end
2139
+ end
2140
+ end