Class: Aws::LocationService::Client

Inherits:
Seahorse::Client::Base show all
Includes:
ClientStubs
Defined in:
gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb

Overview

An API client for LocationService. To construct a client, you need to configure a :region and :credentials.

client = Aws::LocationService::Client.new(
  region: region_name,
  credentials: credentials,
  # ...
)

For details on configuring region and credentials see the developer guide.

See #initialize for a full list of supported configuration options.

Instance Attribute Summary

Attributes inherited from Seahorse::Client::Base

#config, #handlers

API Operations collapse

Instance Method Summary collapse

Methods included from ClientStubs

#api_requests, #stub_data, #stub_responses

Methods inherited from Seahorse::Client::Base

add_plugin, api, clear_plugins, define, new, #operation_names, plugins, remove_plugin, set_api, set_plugins

Methods included from Seahorse::Client::HandlerBuilder

#handle, #handle_request, #handle_response

Constructor Details

#initialize(options) ⇒ Client

Returns a new instance of Client.

Parameters:

  • options (Hash)

Options Hash (options):

  • :credentials (required, Aws::CredentialProvider)

    Your AWS credentials. This can be an instance of any one of the following classes:

    • Aws::Credentials - Used for configuring static, non-refreshing credentials.

    • Aws::SharedCredentials - Used for loading static credentials from a shared file, such as ~/.aws/config.

    • Aws::AssumeRoleCredentials - Used when you need to assume a role.

    • Aws::AssumeRoleWebIdentityCredentials - Used when you need to assume a role after providing credentials via the web.

    • Aws::SSOCredentials - Used for loading credentials from AWS SSO using an access token generated from aws login.

    • Aws::ProcessCredentials - Used for loading credentials from a process that outputs to stdout.

    • Aws::InstanceProfileCredentials - Used for loading credentials from an EC2 IMDS on an EC2 instance.

    • Aws::ECSCredentials - Used for loading credentials from instances running in ECS.

    • Aws::CognitoIdentityCredentials - Used for loading credentials from the Cognito Identity service.

    When :credentials are not configured directly, the following locations will be searched for credentials:

    • Aws.config[:credentials]
    • The :access_key_id, :secret_access_key, and :session_token options.
    • ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
    • ~/.aws/credentials
    • ~/.aws/config
    • EC2/ECS IMDS instance profile - When used by default, the timeouts are very aggressive. Construct and pass an instance of Aws::InstanceProfileCredentails or Aws::ECSCredentials to enable retries and extended timeouts. Instance profile credential fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED'] to true.
  • :region (required, String)

    The AWS region to connect to. The configured :region is used to determine the service :endpoint. When not passed, a default :region is searched for in the following locations:

    • Aws.config[:region]
    • ENV['AWS_REGION']
    • ENV['AMAZON_REGION']
    • ENV['AWS_DEFAULT_REGION']
    • ~/.aws/credentials
    • ~/.aws/config
  • :access_key_id (String)
  • :active_endpoint_cache (Boolean) — default: false

    When set to true, a thread polling for endpoints will be running in the background every 60 secs (default). Defaults to false.

  • :adaptive_retry_wait_to_fill (Boolean) — default: true

    Used only in adaptive retry mode. When true, the request will sleep until there is sufficent client side capacity to retry the request. When false, the request will raise a RetryCapacityNotAvailableError and will not retry instead of sleeping.

  • :client_side_monitoring (Boolean) — default: false

    When true, client-side metrics will be collected for all API requests from this client.

  • :client_side_monitoring_client_id (String) — default: ""

    Allows you to provide an identifier for this client which will be attached to all generated client side metrics. Defaults to an empty string.

  • :client_side_monitoring_host (String) — default: "127.0.0.1"

    Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client side monitoring agent is running on, where client metrics will be published via UDP.

  • :client_side_monitoring_port (Integer) — default: 31000

    Required for publishing client metrics. The port that the client side monitoring agent is running on, where client metrics will be published via UDP.

  • :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher) — default: Aws::ClientSideMonitoring::Publisher

    Allows you to provide a custom client-side monitoring publisher class. By default, will use the Client Side Monitoring Agent Publisher.

  • :convert_params (Boolean) — default: true

    When true, an attempt is made to coerce request parameters into the required types.

  • :correct_clock_skew (Boolean) — default: true

    Used only in standard and adaptive retry modes. Specifies whether to apply a clock skew correction and retry requests with skewed client clocks.

  • :defaults_mode (String) — default: "legacy"

    See DefaultsModeConfiguration for a list of the accepted modes and the configuration defaults that are included.

  • :disable_host_prefix_injection (Boolean) — default: false

    Set to true to disable SDK automatically adding host prefix to default service endpoint when available.

  • :disable_request_compression (Boolean) — default: false

    When set to 'true' the request body will not be compressed for supported operations.

  • :endpoint (String, URI::HTTPS, URI::HTTP)

    Normally you should not configure the :endpoint option directly. This is normally constructed from the :region option. Configuring :endpoint is normally reserved for connecting to test or custom endpoints. The endpoint should be a URI formatted like:

    'http://example.com'
    'https://example.com'
    'http://example.com:123'
    
  • :endpoint_cache_max_entries (Integer) — default: 1000

    Used for the maximum size limit of the LRU cache storing endpoints data for endpoint discovery enabled operations. Defaults to 1000.

  • :endpoint_cache_max_threads (Integer) — default: 10

    Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.

  • :endpoint_cache_poll_interval (Integer) — default: 60

    When :endpoint_discovery and :active_endpoint_cache is enabled, Use this option to config the time interval in seconds for making requests fetching endpoints information. Defaults to 60 sec.

  • :endpoint_discovery (Boolean) — default: false

    When set to true, endpoint discovery will be enabled for operations when available.

  • :ignore_configured_endpoint_urls (Boolean)

    Setting to true disables use of endpoint URLs provided via environment variables and the shared configuration file.

  • :log_formatter (Aws::Log::Formatter) — default: Aws::Log::Formatter.default

    The log formatter.

  • :log_level (Symbol) — default: :info

    The log level to send messages to the :logger at.

  • :logger (Logger)

    The Logger instance to send log messages to. If this option is not set, logging will be disabled.

  • :max_attempts (Integer) — default: 3

    An integer representing the maximum number attempts that will be made for a single request, including the initial attempt. For example, setting this value to 5 will result in a request being retried up to 4 times. Used in standard and adaptive retry modes.

  • :profile (String) — default: "default"

    Used when loading credentials from the shared credentials file at HOME/.aws/credentials. When not specified, 'default' is used.

  • :request_min_compression_size_bytes (Integer) — default: 10240

    The minimum size in bytes that triggers compression for request bodies. The value must be non-negative integer value between 0 and 10485780 bytes inclusive.

  • :retry_backoff (Proc)

    A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay. This option is only used in the legacy retry mode.

  • :retry_base_delay (Float) — default: 0.3

    The base delay in seconds used by the default backoff function. This option is only used in the legacy retry mode.

  • :retry_jitter (Symbol) — default: :none

    A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number. This option is only used in the legacy retry mode.

    @see https://www.awsarchitectureblog.com/2015/03/backoff.html

  • :retry_limit (Integer) — default: 3

    The maximum number of times to retry failed requests. Only ~ 500 level server errors and certain ~ 400 level client errors are retried. Generally, these are throttling errors, data checksum errors, networking errors, timeout errors, auth errors, endpoint discovery, and errors from expired credentials. This option is only used in the legacy retry mode.

  • :retry_max_delay (Integer) — default: 0

    The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function. This option is only used in the legacy retry mode.

  • :retry_mode (String) — default: "legacy"

    Specifies which retry algorithm to use. Values are:

    • legacy - The pre-existing retry behavior. This is default value if no retry mode is provided.

    • standard - A standardized set of retry rules across the AWS SDKs. This includes support for retry quotas, which limit the number of unsuccessful retries a client can make.

    • adaptive - An experimental retry mode that includes all the functionality of standard mode along with automatic client side throttling. This is a provisional mode that may change behavior in the future.

  • :sdk_ua_app_id (String)

    A unique and opaque application ID that is appended to the User-Agent header as app/sdk_ua_app_id. It should have a maximum length of 50. This variable is sourced from environment variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.

  • :secret_access_key (String)
  • :session_token (String)
  • :stub_responses (Boolean) — default: false

    Causes the client to return stubbed responses. By default fake responses are generated and returned. You can specify the response data to return or errors to raise by calling ClientStubs#stub_responses. See ClientStubs for more information.

    Please note When response stubbing is enabled, no HTTP requests are made, and retries are disabled.

  • :token_provider (Aws::TokenProvider)

    A Bearer Token Provider. This can be an instance of any one of the following classes:

    • Aws::StaticTokenProvider - Used for configuring static, non-refreshing tokens.

    • Aws::SSOTokenProvider - Used for loading tokens from AWS SSO using an access token generated from aws login.

    When :token_provider is not configured directly, the Aws::TokenProviderChain will be used to search for tokens configured for your profile in shared configuration files.

  • :use_dualstack_endpoint (Boolean)

    When set to true, dualstack enabled endpoints (with .aws TLD) will be used if available.

  • :use_fips_endpoint (Boolean)

    When set to true, fips compatible endpoints will be used if available. When a fips region is used, the region is normalized and this config is set to true.

  • :validate_params (Boolean) — default: true

    When true, request parameters are validated before sending the request.

  • :endpoint_provider (Aws::LocationService::EndpointProvider)

    The endpoint provider used to resolve endpoints. Any object that responds to #resolve_endpoint(parameters) where parameters is a Struct similar to Aws::LocationService::EndpointParameters

  • :http_continue_timeout (Float) — default: 1

    The number of seconds to wait for a 100-continue response before sending the request body. This option has no effect unless the request has "Expect" header set to "100-continue". Defaults to nil which disables this behaviour. This value can safely be set per request on the session.

  • :http_idle_timeout (Float) — default: 5

    The number of seconds a connection is allowed to sit idle before it is considered stale. Stale connections are closed and removed from the pool before making a request.

  • :http_open_timeout (Float) — default: 15

    The default number of seconds to wait for response data. This value can safely be set per-request on the session.

  • :http_proxy (URI::HTTP, String)

    A proxy to send requests through. Formatted like 'http://proxy.com:123'.

  • :http_read_timeout (Float) — default: 60

    The default number of seconds to wait for response data. This value can safely be set per-request on the session.

  • :http_wire_trace (Boolean) — default: false

    When true, HTTP debug output will be sent to the :logger.

  • :on_chunk_received (Proc)

    When a Proc object is provided, it will be used as callback when each chunk of the response body is received. It provides three arguments: the chunk, the number of bytes received, and the total number of bytes in the response (or nil if the server did not send a content-length).

  • :on_chunk_sent (Proc)

    When a Proc object is provided, it will be used as callback when each chunk of the request body is sent. It provides three arguments: the chunk, the number of bytes read from the body, and the total number of bytes in the body.

  • :raise_response_errors (Boolean) — default: true

    When true, response errors are raised.

  • :ssl_ca_bundle (String)

    Full path to the SSL certificate authority bundle file that should be used when verifying peer certificates. If you do not pass :ssl_ca_bundle or :ssl_ca_directory the the system default will be used if available.

  • :ssl_ca_directory (String)

    Full path of the directory that contains the unbundled SSL certificate authority files for verifying peer certificates. If you do not pass :ssl_ca_bundle or :ssl_ca_directory the the system default will be used if available.

  • :ssl_ca_store (String)

    Sets the X509::Store to verify peer certificate.

  • :ssl_timeout (Float)

    Sets the SSL timeout in seconds

  • :ssl_verify_peer (Boolean) — default: true

    When true, SSL peer certificates are verified when establishing a connection.



410
411
412
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 410

def initialize(*args)
  super
end

Instance Method Details

#associate_tracker_consumer(params = {}) ⇒ Struct

Creates an association between a geofence collection and a tracker resource. This allows the tracker resource to communicate location data to the linked geofence collection.

You can associate up to five geofence collections to each tracker resource.

Currently not supported — Cross-account configurations, such as creating associations between a tracker resource in one account and a geofence collection in another account.

Examples:

Request syntax with placeholder values


resp = client.associate_tracker_consumer({
  consumer_arn: "Arn", # required
  tracker_name: "ResourceName", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :consumer_arn (required, String)

    The Amazon Resource Name (ARN) for the geofence collection to be associated to tracker resource. Used when you need to specify a resource across all Amazon Web Services.

    • Format example: arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollectionConsumer

    ^

  • :tracker_name (required, String)

    The name of the tracker resource to be associated with a geofence collection.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



456
457
458
459
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 456

def associate_tracker_consumer(params = {}, options = {})
  req = build_request(:associate_tracker_consumer, params)
  req.send_request(options)
end

#batch_delete_device_position_history(params = {}) ⇒ Types::BatchDeleteDevicePositionHistoryResponse

Deletes the position history of one or more devices from a tracker resource.

Examples:

Request syntax with placeholder values


resp = client.batch_delete_device_position_history({
  device_ids: ["Id"], # required
  tracker_name: "ResourceName", # required
})

Response structure


resp.errors #=> Array
resp.errors[0].device_id #=> String
resp.errors[0].error.code #=> String, one of "AccessDeniedError", "ConflictError", "InternalServerError", "ResourceNotFoundError", "ThrottlingError", "ValidationError"
resp.errors[0].error.message #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :device_ids (required, Array<String>)

    Devices whose position history you want to delete.

    • For example, for two devices: “DeviceIds” : [DeviceId1,DeviceId2]

    ^

  • :tracker_name (required, String)

    The name of the tracker resource to delete the device position history from.

Returns:

See Also:



497
498
499
500
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 497

def batch_delete_device_position_history(params = {}, options = {})
  req = build_request(:batch_delete_device_position_history, params)
  req.send_request(options)
end

#batch_delete_geofence(params = {}) ⇒ Types::BatchDeleteGeofenceResponse

Deletes a batch of geofences from a geofence collection.

This operation deletes the resource permanently.

Examples:

Request syntax with placeholder values


resp = client.batch_delete_geofence({
  collection_name: "ResourceName", # required
  geofence_ids: ["Id"], # required
})

Response structure


resp.errors #=> Array
resp.errors[0].error.code #=> String, one of "AccessDeniedError", "ConflictError", "InternalServerError", "ResourceNotFoundError", "ThrottlingError", "ValidationError"
resp.errors[0].error.message #=> String
resp.errors[0].geofence_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :collection_name (required, String)

    The geofence collection storing the geofences to be deleted.

  • :geofence_ids (required, Array<String>)

    The batch of geofences to be deleted.

Returns:

See Also:



536
537
538
539
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 536

def batch_delete_geofence(params = {}, options = {})
  req = build_request(:batch_delete_geofence, params)
  req.send_request(options)
end

#batch_evaluate_geofences(params = {}) ⇒ Types::BatchEvaluateGeofencesResponse

Evaluates device positions against the geofence geometries from a given geofence collection.

This operation always returns an empty response because geofences are asynchronously evaluated. The evaluation determines if the device has entered or exited a geofenced area, and then publishes one of the following events to Amazon EventBridge:

  • ENTER if Amazon Location determines that the tracked device has entered a geofenced area.

  • EXIT if Amazon Location determines that the tracked device has exited a geofenced area.

The last geofence that a device was observed within is tracked for 30 days after the most recent device position update.

Geofence evaluation uses the given device position. It does not account for the optional Accuracy of a DevicePositionUpdate.

The DeviceID is used as a string to represent the device. You do not need to have a Tracker associated with the DeviceID.

Examples:

Request syntax with placeholder values


resp = client.batch_evaluate_geofences({
  collection_name: "ResourceName", # required
  device_position_updates: [ # required
    {
      accuracy: {
        horizontal: 1.0, # required
      },
      device_id: "Id", # required
      position: [1.0], # required
      position_properties: {
        "PropertyMapKeyString" => "PropertyMapValueString",
      },
      sample_time: Time.now, # required
    },
  ],
})

Response structure


resp.errors #=> Array
resp.errors[0].device_id #=> String
resp.errors[0].error.code #=> String, one of "AccessDeniedError", "ConflictError", "InternalServerError", "ResourceNotFoundError", "ThrottlingError", "ValidationError"
resp.errors[0].error.message #=> String
resp.errors[0].sample_time #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :collection_name (required, String)

    The geofence collection used in evaluating the position of devices against its geofences.

  • :device_position_updates (required, Array<Types::DevicePositionUpdate>)

    Contains device details for each device to be evaluated against the given geofence collection.

Returns:

See Also:



613
614
615
616
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 613

def batch_evaluate_geofences(params = {}, options = {})
  req = build_request(:batch_evaluate_geofences, params)
  req.send_request(options)
end

#batch_get_device_position(params = {}) ⇒ Types::BatchGetDevicePositionResponse

Lists the latest device positions for requested devices.

Examples:

Request syntax with placeholder values


resp = client.batch_get_device_position({
  device_ids: ["Id"], # required
  tracker_name: "BatchGetDevicePositionRequestTrackerNameString", # required
})

Response structure


resp.device_positions #=> Array
resp.device_positions[0].accuracy.horizontal #=> Float
resp.device_positions[0].device_id #=> String
resp.device_positions[0].position #=> Array
resp.device_positions[0].position[0] #=> Float
resp.device_positions[0].position_properties #=> Hash
resp.device_positions[0].position_properties["PropertyMapKeyString"] #=> String
resp.device_positions[0].received_time #=> Time
resp.device_positions[0].sample_time #=> Time
resp.errors #=> Array
resp.errors[0].device_id #=> String
resp.errors[0].error.code #=> String, one of "AccessDeniedError", "ConflictError", "InternalServerError", "ResourceNotFoundError", "ThrottlingError", "ValidationError"
resp.errors[0].error.message #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :device_ids (required, Array<String>)

    Devices whose position you want to retrieve.

    • For example, for two devices: device-ids=DeviceId1&device-ids=DeviceId2

    ^

  • :tracker_name (required, String)

    The tracker resource retrieving the device position.

Returns:

See Also:



663
664
665
666
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 663

def batch_get_device_position(params = {}, options = {})
  req = build_request(:batch_get_device_position, params)
  req.send_request(options)
end

#batch_put_geofence(params = {}) ⇒ Types::BatchPutGeofenceResponse

A batch request for storing geofence geometries into a given geofence collection, or updates the geometry of an existing geofence if a geofence ID is included in the request.

Examples:

Request syntax with placeholder values


resp = client.batch_put_geofence({
  collection_name: "ResourceName", # required
  entries: [ # required
    {
      geofence_id: "Id", # required
      geofence_properties: {
        "PropertyMapKeyString" => "PropertyMapValueString",
      },
      geometry: { # required
        circle: {
          center: [1.0], # required
          radius: 1.0, # required
        },
        polygon: [
          [
            [1.0],
          ],
        ],
      },
    },
  ],
})

Response structure


resp.errors #=> Array
resp.errors[0].error.code #=> String, one of "AccessDeniedError", "ConflictError", "InternalServerError", "ResourceNotFoundError", "ThrottlingError", "ValidationError"
resp.errors[0].error.message #=> String
resp.errors[0].geofence_id #=> String
resp.successes #=> Array
resp.successes[0].create_time #=> Time
resp.successes[0].geofence_id #=> String
resp.successes[0].update_time #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :collection_name (required, String)

    The geofence collection storing the geofences.

  • :entries (required, Array<Types::BatchPutGeofenceRequestEntry>)

    The batch of geofences to be stored in a geofence collection.

Returns:

See Also:



723
724
725
726
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 723

def batch_put_geofence(params = {}, options = {})
  req = build_request(:batch_put_geofence, params)
  req.send_request(options)
end

#batch_update_device_position(params = {}) ⇒ Types::BatchUpdateDevicePositionResponse

Uploads position update data for one or more devices to a tracker resource (up to 10 devices per batch). Amazon Location uses the data when it reports the last known device position and position history. Amazon Location retains location data for 30 days.

Position updates are handled based on the PositionFiltering property of the tracker. When PositionFiltering is set to TimeBased, updates are evaluated against linked geofence collections, and location data is stored at a maximum of one position per 30 second interval. If your update frequency is more often than every 30 seconds, only one update per 30 seconds is stored for each unique device ID.

When PositionFiltering is set to DistanceBased filtering, location data is stored and evaluated against linked geofence collections only if the device has moved more than 30 m (98.4 ft).

When PositionFiltering is set to AccuracyBased filtering, location data is stored and evaluated against linked geofence collections only if the device has moved more than the measured accuracy. For example, if two consecutive updates from a device have a horizontal accuracy of 5 m and 10 m, the second update is neither stored or evaluated if the device has moved less than 15 m. If PositionFiltering is set to AccuracyBased filtering, Amazon Location uses the default value \{ "Horizontal": 0\} when accuracy is not provided on a DevicePositionUpdate.

Examples:

Request syntax with placeholder values


resp = client.batch_update_device_position({
  tracker_name: "ResourceName", # required
  updates: [ # required
    {
      accuracy: {
        horizontal: 1.0, # required
      },
      device_id: "Id", # required
      position: [1.0], # required
      position_properties: {
        "PropertyMapKeyString" => "PropertyMapValueString",
      },
      sample_time: Time.now, # required
    },
  ],
})

Response structure


resp.errors #=> Array
resp.errors[0].device_id #=> String
resp.errors[0].error.code #=> String, one of "AccessDeniedError", "ConflictError", "InternalServerError", "ResourceNotFoundError", "ThrottlingError", "ValidationError"
resp.errors[0].error.message #=> String
resp.errors[0].sample_time #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :tracker_name (required, String)

    The name of the tracker resource to update.

  • :updates (required, Array<Types::DevicePositionUpdate>)

    Contains the position update details for each device, up to 10 devices.

Returns:

See Also:



799
800
801
802
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 799

def batch_update_device_position(params = {}, options = {})
  req = build_request(:batch_update_device_position, params)
  req.send_request(options)
end

#calculate_route(params = {}) ⇒ Types::CalculateRouteResponse

Calculates a route given the following required parameters: DeparturePosition and DestinationPosition. Requires that you first create a route calculator resource.

By default, a request that doesn't specify a departure time uses the best time of day to travel with the best traffic conditions when calculating the route.

Additional options include:

  • Specifying a departure time using either DepartureTime or DepartNow. This calculates a route based on predictive traffic data at the given time.

    You can't specify both DepartureTime and DepartNow in a single request. Specifying both parameters returns a validation error.

  • Specifying a travel mode using TravelMode sets the transportation mode used to calculate the routes. This also lets you specify additional route preferences in CarModeOptions if traveling by Car, or TruckModeOptions if traveling by Truck.

    If you specify walking for the travel mode and your data provider is Esri, the start and destination must be within 40km.

Examples:

Request syntax with placeholder values


resp = client.calculate_route({
  arrival_time: Time.now,
  calculator_name: "ResourceName", # required
  car_mode_options: {
    avoid_ferries: false,
    avoid_tolls: false,
  },
  depart_now: false,
  departure_position: [1.0], # required
  departure_time: Time.now,
  destination_position: [1.0], # required
  distance_unit: "Kilometers", # accepts Kilometers, Miles
  include_leg_geometry: false,
  key: "ApiKey",
  optimize_for: "FastestRoute", # accepts FastestRoute, ShortestRoute
  travel_mode: "Car", # accepts Car, Truck, Walking, Bicycle, Motorcycle
  truck_mode_options: {
    avoid_ferries: false,
    avoid_tolls: false,
    dimensions: {
      height: 1.0,
      length: 1.0,
      unit: "Meters", # accepts Meters, Feet
      width: 1.0,
    },
    weight: {
      total: 1.0,
      unit: "Kilograms", # accepts Kilograms, Pounds
    },
  },
  waypoint_positions: [
    [1.0],
  ],
})

Response structure


resp.legs #=> Array
resp.legs[0].distance #=> Float
resp.legs[0].duration_seconds #=> Float
resp.legs[0].end_position #=> Array
resp.legs[0].end_position[0] #=> Float
resp.legs[0].geometry.line_string #=> Array
resp.legs[0].geometry.line_string[0] #=> Array
resp.legs[0].geometry.line_string[0][0] #=> Float
resp.legs[0].start_position #=> Array
resp.legs[0].start_position[0] #=> Float
resp.legs[0].steps #=> Array
resp.legs[0].steps[0].distance #=> Float
resp.legs[0].steps[0].duration_seconds #=> Float
resp.legs[0].steps[0].end_position #=> Array
resp.legs[0].steps[0].end_position[0] #=> Float
resp.legs[0].steps[0].geometry_offset #=> Integer
resp.legs[0].steps[0].start_position #=> Array
resp.legs[0].steps[0].start_position[0] #=> Float
resp.summary.data_source #=> String
resp.summary.distance #=> Float
resp.summary.distance_unit #=> String, one of "Kilometers", "Miles"
resp.summary.duration_seconds #=> Float
resp.summary.route_b_box #=> Array
resp.summary.route_b_box[0] #=> Float

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :arrival_time (Time, DateTime, Date, Integer, String)

    Specifies the desired time of arrival. Uses the given time to calculate the route. Otherwise, the best time of day to travel with the best traffic conditions is used to calculate the route.

    ArrivalTime is not supported Esri.

  • :calculator_name (required, String)

    The name of the route calculator resource that you want to use to calculate the route.

  • :car_mode_options (Types::CalculateRouteCarModeOptions)

    Specifies route preferences when traveling by Car, such as avoiding routes that use ferries or tolls.

    Requirements: TravelMode must be specified as Car.

  • :depart_now (Boolean)

    Sets the time of departure as the current time. Uses the current time to calculate a route. Otherwise, the best time of day to travel with the best traffic conditions is used to calculate the route.

    Default Value: false

    Valid Values: false | true

  • :departure_position (required, Array<Float>)

    The start position for the route. Defined in World Geodetic System (WGS 84) format: [longitude, latitude].

    • For example, [-123.115, 49.285]

    ^

    If you specify a departure that's not located on a road, Amazon Location moves the position to the nearest road. If Esri is the provider for your route calculator, specifying a route that is longer than 400 km returns a 400 RoutesValidationException error.

    Valid Values: [-180 to 180,-90 to 90]

  • :departure_time (Time, DateTime, Date, Integer, String)

    Specifies the desired time of departure. Uses the given time to calculate the route. Otherwise, the best time of day to travel with the best traffic conditions is used to calculate the route.

    • In ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ. For example, 2020–07-2T12:15:20.000Z+01:00

    ^

  • :destination_position (required, Array<Float>)

    The finish position for the route. Defined in World Geodetic System (WGS 84) format: [longitude, latitude].

    • For example, [-122.339, 47.615]

    ^

    If you specify a destination that's not located on a road, Amazon Location moves the position to the nearest road.

    Valid Values: [-180 to 180,-90 to 90]

  • :distance_unit (String)

    Set the unit system to specify the distance.

    Default Value: Kilometers

  • :include_leg_geometry (Boolean)

    Set to include the geometry details in the result for each path between a pair of positions.

    Default Value: false

    Valid Values: false | true

  • :key (String)

    The optional API key to authorize the request.

  • :optimize_for (String)

    Specifies the distance to optimize for when calculating a route.

  • :travel_mode (String)

    Specifies the mode of transport when calculating a route. Used in estimating the speed of travel and road compatibility. You can choose Car, Truck, Walking, Bicycle or Motorcycle as options for the TravelMode.

    Bicycle and Motorcycle are only valid when using Grab as a data provider, and only within Southeast Asia.

    Truck is not available for Grab.

    For more details on the using Grab for routing, including areas of coverage, see GrabMaps in the Amazon Location Service Developer Guide.

    The TravelMode you specify also determines how you specify route preferences:

    • If traveling by Car use the CarModeOptions parameter.

    • If traveling by Truck use the TruckModeOptions parameter.

    Default Value: Car

  • :truck_mode_options (Types::CalculateRouteTruckModeOptions)

    Specifies route preferences when traveling by Truck, such as avoiding routes that use ferries or tolls, and truck specifications to consider when choosing an optimal road.

    Requirements: TravelMode must be specified as Truck.

  • :waypoint_positions (Array<Array>)

    Specifies an ordered list of up to 23 intermediate positions to include along a route between the departure position and destination position.

    • For example, from the DeparturePosition [-123.115, 49.285], the route follows the order that the waypoint positions are given [[-122.757, 49.0021],[-122.349, 47.620]]

    ^

    If you specify a waypoint position that's not located on a road, Amazon Location moves the position to the nearest road.

    Specifying more than 23 waypoints returns a 400 ValidationException error.

    If Esri is the provider for your route calculator, specifying a route that is longer than 400 km returns a 400 RoutesValidationException error.

    Valid Values: [-180 to 180,-90 to 90]

Returns:

See Also:



1086
1087
1088
1089
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 1086

def calculate_route(params = {}, options = {})
  req = build_request(:calculate_route, params)
  req.send_request(options)
end

#calculate_route_matrix(params = {}) ⇒ Types::CalculateRouteMatrixResponse

Calculates a route matrix given the following required parameters: DeparturePositions and DestinationPositions. CalculateRouteMatrix calculates routes and returns the travel time and travel distance from each departure position to each destination position in the request. For example, given departure positions A and B, and destination positions X and Y, CalculateRouteMatrix will return time and distance for routes from A to X, A to Y, B to X, and B to Y (in that order). The number of results returned (and routes calculated) will be the number of DeparturePositions times the number of DestinationPositions.

Your account is charged for each route calculated, not the number of requests.

Requires that you first create a route calculator resource.

By default, a request that doesn't specify a departure time uses the best time of day to travel with the best traffic conditions when calculating routes.

Additional options include:

  • Specifying a departure time using either DepartureTime or DepartNow. This calculates routes based on predictive traffic data at the given time.

    You can't specify both DepartureTime and DepartNow in a single request. Specifying both parameters returns a validation error.

  • Specifying a travel mode using TravelMode sets the transportation mode used to calculate the routes. This also lets you specify additional route preferences in CarModeOptions if traveling by Car, or TruckModeOptions if traveling by Truck.

Examples:

Request syntax with placeholder values


resp = client.calculate_route_matrix({
  calculator_name: "ResourceName", # required
  car_mode_options: {
    avoid_ferries: false,
    avoid_tolls: false,
  },
  depart_now: false,
  departure_positions: [ # required
    [1.0],
  ],
  departure_time: Time.now,
  destination_positions: [ # required
    [1.0],
  ],
  distance_unit: "Kilometers", # accepts Kilometers, Miles
  key: "ApiKey",
  travel_mode: "Car", # accepts Car, Truck, Walking, Bicycle, Motorcycle
  truck_mode_options: {
    avoid_ferries: false,
    avoid_tolls: false,
    dimensions: {
      height: 1.0,
      length: 1.0,
      unit: "Meters", # accepts Meters, Feet
      width: 1.0,
    },
    weight: {
      total: 1.0,
      unit: "Kilograms", # accepts Kilograms, Pounds
    },
  },
})

Response structure


resp.route_matrix #=> Array
resp.route_matrix[0] #=> Array
resp.route_matrix[0][0].distance #=> Float
resp.route_matrix[0][0].duration_seconds #=> Float
resp.route_matrix[0][0].error.code #=> String, one of "RouteNotFound", "RouteTooLong", "PositionsNotFound", "DestinationPositionNotFound", "DeparturePositionNotFound", "OtherValidationError"
resp.route_matrix[0][0].error.message #=> String
resp.snapped_departure_positions #=> Array
resp.snapped_departure_positions[0] #=> Array
resp.snapped_departure_positions[0][0] #=> Float
resp.snapped_destination_positions #=> Array
resp.snapped_destination_positions[0] #=> Array
resp.snapped_destination_positions[0][0] #=> Float
resp.summary.data_source #=> String
resp.summary.distance_unit #=> String, one of "Kilometers", "Miles"
resp.summary.error_count #=> Integer
resp.summary.route_count #=> Integer

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :calculator_name (required, String)

    The name of the route calculator resource that you want to use to calculate the route matrix.

  • :car_mode_options (Types::CalculateRouteCarModeOptions)

    Specifies route preferences when traveling by Car, such as avoiding routes that use ferries or tolls.

    Requirements: TravelMode must be specified as Car.

  • :depart_now (Boolean)

    Sets the time of departure as the current time. Uses the current time to calculate the route matrix. You can't set both DepartureTime and DepartNow. If neither is set, the best time of day to travel with the best traffic conditions is used to calculate the route matrix.

    Default Value: false

    Valid Values: false | true

  • :departure_positions (required, Array<Array>)

    The list of departure (origin) positions for the route matrix. An array of points, each of which is itself a 2-value array defined in WGS 84 format: [longitude, latitude]. For example, [-123.115, 49.285].

    Depending on the data provider selected in the route calculator resource there may be additional restrictions on the inputs you can choose. See Position restrictions in the Amazon Location Service Developer Guide.

    For route calculators that use Esri as the data provider, if you specify a departure that's not located on a road, Amazon Location moves the position to the nearest road. The snapped value is available in the result in SnappedDeparturePositions.

    Valid Values: [-180 to 180,-90 to 90]

  • :departure_time (Time, DateTime, Date, Integer, String)

    Specifies the desired time of departure. Uses the given time to calculate the route matrix. You can't set both DepartureTime and DepartNow. If neither is set, the best time of day to travel with the best traffic conditions is used to calculate the route matrix.

    Setting a departure time in the past returns a 400 ValidationException error.

    • In ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ. For example, 2020–07-2T12:15:20.000Z+01:00

    ^

  • :destination_positions (required, Array<Array>)

    The list of destination positions for the route matrix. An array of points, each of which is itself a 2-value array defined in WGS 84 format: [longitude, latitude]. For example, [-122.339, 47.615]

    Depending on the data provider selected in the route calculator resource there may be additional restrictions on the inputs you can choose. See Position restrictions in the Amazon Location Service Developer Guide.

    For route calculators that use Esri as the data provider, if you specify a destination that's not located on a road, Amazon Location moves the position to the nearest road. The snapped value is available in the result in SnappedDestinationPositions.

    Valid Values: [-180 to 180,-90 to 90]

  • :distance_unit (String)

    Set the unit system to specify the distance.

    Default Value: Kilometers

  • :key (String)

    The optional API key to authorize the request.

  • :travel_mode (String)

    Specifies the mode of transport when calculating a route. Used in estimating the speed of travel and road compatibility.

    The TravelMode you specify also determines how you specify route preferences:

    • If traveling by Car use the CarModeOptions parameter.

    • If traveling by Truck use the TruckModeOptions parameter.

    Bicycle or Motorcycle are only valid when using Grab as a data provider, and only within Southeast Asia.

    Truck is not available for Grab.

    For more information about using Grab as a data provider, see GrabMaps in the Amazon Location Service Developer Guide.

    Default Value: Car

  • :truck_mode_options (Types::CalculateRouteTruckModeOptions)

    Specifies route preferences when traveling by Truck, such as avoiding routes that use ferries or tolls, and truck specifications to consider when choosing an optimal road.

    Requirements: TravelMode must be specified as Truck.

Returns:

See Also:



1338
1339
1340
1341
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 1338

def calculate_route_matrix(params = {}, options = {})
  req = build_request(:calculate_route_matrix, params)
  req.send_request(options)
end

#create_geofence_collection(params = {}) ⇒ Types::CreateGeofenceCollectionResponse

Creates a geofence collection, which manages and stores geofences.

Examples:

Request syntax with placeholder values


resp = client.create_geofence_collection({
  collection_name: "ResourceName", # required
  description: "ResourceDescription",
  kms_key_id: "KmsKeyId",
  pricing_plan: "RequestBasedUsage", # accepts RequestBasedUsage, MobileAssetTracking, MobileAssetManagement
  pricing_plan_data_source: "String",
  tags: {
    "TagKey" => "TagValue",
  },
})

Response structure


resp.collection_arn #=> String
resp.collection_name #=> String
resp.create_time #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :collection_name (required, String)

    A custom name for the geofence collection.

    Requirements:

    • Contain only alphanumeric characters (A–Z, a–z, 0–9), hyphens (-), periods (.), and underscores (_).

    • Must be a unique geofence collection name.

    • No spaces allowed. For example, ExampleGeofenceCollection.

  • :description (String)

    An optional description for the geofence collection.

  • :kms_key_id (String)

    A key identifier for an Amazon Web Services KMS customer managed key. Enter a key ID, key ARN, alias name, or alias ARN.

  • :pricing_plan (String)

    No longer used. If included, the only allowed value is RequestBasedUsage.

  • :pricing_plan_data_source (String)

    This parameter is no longer used.

  • :tags (Hash<String,String>)

    Applies one or more tags to the geofence collection. A tag is a key-value pair helps manage, identify, search, and filter your resources by labelling them.

    Format: "key" : "value"

    Restrictions:

    • Maximum 50 tags per resource

    • Each resource tag must be unique with a maximum of one value.

    • Maximum key length: 128 Unicode characters in UTF-8

    • Maximum value length: 256 Unicode characters in UTF-8

    • Can use alphanumeric characters (A–Z, a–z, 0–9), and the following characters: + - = . _ : / @.

    • Cannot use "aws:" as a prefix for a key.

Returns:

See Also:



1426
1427
1428
1429
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 1426

def create_geofence_collection(params = {}, options = {})
  req = build_request(:create_geofence_collection, params)
  req.send_request(options)
end

#create_key(params = {}) ⇒ Types::CreateKeyResponse

Creates an API key resource in your Amazon Web Services account, which lets you grant actions for Amazon Location resources to the API key bearer.

For more information, see Using API keys.

Examples:

Request syntax with placeholder values


resp = client.create_key({
  description: "ResourceDescription",
  expire_time: Time.now,
  key_name: "ResourceName", # required
  no_expiry: false,
  restrictions: { # required
    allow_actions: ["ApiKeyAction"], # required
    allow_referers: ["RefererPattern"],
    allow_resources: ["GeoArn"], # required
  },
  tags: {
    "TagKey" => "TagValue",
  },
})

Response structure


resp.create_time #=> Time
resp.key #=> String
resp.key_arn #=> String
resp.key_name #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :description (String)

    An optional description for the API key resource.

  • :expire_time (Time, DateTime, Date, Integer, String)

    The optional timestamp for when the API key resource will expire in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ. One of NoExpiry or ExpireTime must be set.

  • :key_name (required, String)

    A custom name for the API key resource.

    Requirements:

    • Contain only alphanumeric characters (A–Z, a–z, 0–9), hyphens (-), periods (.), and underscores (_).

    • Must be a unique API key name.

    • No spaces allowed. For example, ExampleAPIKey.

  • :no_expiry (Boolean)

    Optionally set to true to set no expiration time for the API key. One of NoExpiry or ExpireTime must be set.

  • :restrictions (required, Types::ApiKeyRestrictions)

    The API key restrictions for the API key resource.

  • :tags (Hash<String,String>)

    Applies one or more tags to the map resource. A tag is a key-value pair that helps manage, identify, search, and filter your resources by labelling them.

    Format: "key" : "value"

    Restrictions:

    • Maximum 50 tags per resource

    • Each resource tag must be unique with a maximum of one value.

    • Maximum key length: 128 Unicode characters in UTF-8

    • Maximum value length: 256 Unicode characters in UTF-8

    • Can use alphanumeric characters (A–Z, a–z, 0–9), and the following characters: + - = . _ : / @.

    • Cannot use "aws:" as a prefix for a key.

Returns:

See Also:



1531
1532
1533
1534
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 1531

def create_key(params = {}, options = {})
  req = build_request(:create_key, params)
  req.send_request(options)
end

#create_map(params = {}) ⇒ Types::CreateMapResponse

Creates a map resource in your Amazon Web Services account, which provides map tiles of different styles sourced from global location data providers.

If your application is tracking or routing assets you use in your business, such as delivery vehicles or employees, you must not use Esri as your geolocation provider. See section 82 of the Amazon Web Services service terms for more details.

Examples:

Request syntax with placeholder values


resp = client.create_map({
  configuration: { # required
    custom_layers: ["CustomLayer"],
    political_view: "CountryCode3",
    style: "MapStyle", # required
  },
  description: "ResourceDescription",
  map_name: "ResourceName", # required
  pricing_plan: "RequestBasedUsage", # accepts RequestBasedUsage, MobileAssetTracking, MobileAssetManagement
  tags: {
    "TagKey" => "TagValue",
  },
})

Response structure


resp.create_time #=> Time
resp.map_arn #=> String
resp.map_name #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :configuration (required, Types::MapConfiguration)

    Specifies the MapConfiguration, including the map style, for the map resource that you create. The map style defines the look of maps and the data provider for your map resource.

  • :description (String)

    An optional description for the map resource.

  • :map_name (required, String)

    The name for the map resource.

    Requirements:

    • Must contain only alphanumeric characters (A–Z, a–z, 0–9), hyphens (-), periods (.), and underscores (_).

    • Must be a unique map resource name.

    • No spaces allowed. For example, ExampleMap.

  • :pricing_plan (String)

    No longer used. If included, the only allowed value is RequestBasedUsage.

  • :tags (Hash<String,String>)

    Applies one or more tags to the map resource. A tag is a key-value pair helps manage, identify, search, and filter your resources by labelling them.

    Format: "key" : "value"

    Restrictions:

    • Maximum 50 tags per resource

    • Each resource tag must be unique with a maximum of one value.

    • Maximum key length: 128 Unicode characters in UTF-8

    • Maximum value length: 256 Unicode characters in UTF-8

    • Can use alphanumeric characters (A–Z, a–z, 0–9), and the following characters: + - = . _ : / @.

    • Cannot use "aws:" as a prefix for a key.

Returns:

See Also:



1629
1630
1631
1632
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 1629

def create_map(params = {}, options = {})
  req = build_request(:create_map, params)
  req.send_request(options)
end

#create_place_index(params = {}) ⇒ Types::CreatePlaceIndexResponse

Creates a place index resource in your Amazon Web Services account. Use a place index resource to geocode addresses and other text queries by using the SearchPlaceIndexForText operation, and reverse geocode coordinates by using the SearchPlaceIndexForPosition operation, and enable autosuggestions by using the SearchPlaceIndexForSuggestions operation.

If your application is tracking or routing assets you use in your business, such as delivery vehicles or employees, you must not use Esri as your geolocation provider. See section 82 of the Amazon Web Services service terms for more details.

Examples:

Request syntax with placeholder values


resp = client.create_place_index({
  data_source: "String", # required
  data_source_configuration: {
    intended_use: "SingleUse", # accepts SingleUse, Storage
  },
  description: "ResourceDescription",
  index_name: "ResourceName", # required
  pricing_plan: "RequestBasedUsage", # accepts RequestBasedUsage, MobileAssetTracking, MobileAssetManagement
  tags: {
    "TagKey" => "TagValue",
  },
})

Response structure


resp.create_time #=> Time
resp.index_arn #=> String
resp.index_name #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :data_source (required, String)

    Specifies the geospatial data provider for the new place index.

    This field is case-sensitive. Enter the valid values as shown. For example, entering HERE returns an error.

    Valid values include:

    For additional information , see Data providers on the Amazon Location Service Developer Guide.

  • :data_source_configuration (Types::DataSourceConfiguration)

    Specifies the data storage option requesting Places.

  • :description (String)

    The optional description for the place index resource.

  • :index_name (required, String)

    The name of the place index resource.

    Requirements:

    • Contain only alphanumeric characters (A–Z, a–z, 0–9), hyphens (-), periods (.), and underscores (_).

    • Must be a unique place index resource name.

    • No spaces allowed. For example, ExamplePlaceIndex.

  • :pricing_plan (String)

    No longer used. If included, the only allowed value is RequestBasedUsage.

  • :tags (Hash<String,String>)

    Applies one or more tags to the place index resource. A tag is a key-value pair that helps you manage, identify, search, and filter your resources.

    Format: "key" : "value"

    Restrictions:

    • Maximum 50 tags per resource.

    • Each tag key must be unique and must have exactly one associated value.

    • Maximum key length: 128 Unicode characters in UTF-8.

    • Maximum value length: 256 Unicode characters in UTF-8.

    • Can use alphanumeric characters (A–Z, a–z, 0–9), and the following characters: + - = . _ : / @

    • Cannot use "aws:" as a prefix for a key.

Returns:

See Also:



1770
1771
1772
1773
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 1770

def create_place_index(params = {}, options = {})
  req = build_request(:create_place_index, params)
  req.send_request(options)
end

#create_route_calculator(params = {}) ⇒ Types::CreateRouteCalculatorResponse

Creates a route calculator resource in your Amazon Web Services account.

You can send requests to a route calculator resource to estimate travel time, distance, and get directions. A route calculator sources traffic and road network data from your chosen data provider.

If your application is tracking or routing assets you use in your business, such as delivery vehicles or employees, you must not use Esri as your geolocation provider. See section 82 of the Amazon Web Services service terms for more details.

Examples:

Request syntax with placeholder values


resp = client.create_route_calculator({
  calculator_name: "ResourceName", # required
  data_source: "String", # required
  description: "ResourceDescription",
  pricing_plan: "RequestBasedUsage", # accepts RequestBasedUsage, MobileAssetTracking, MobileAssetManagement
  tags: {
    "TagKey" => "TagValue",
  },
})

Response structure


resp.calculator_arn #=> String
resp.calculator_name #=> String
resp.create_time #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :calculator_name (required, String)

    The name of the route calculator resource.

    Requirements:

    • Can use alphanumeric characters (A–Z, a–z, 0–9) , hyphens (-), periods (.), and underscores (_).

    • Must be a unique Route calculator resource name.

    • No spaces allowed. For example, ExampleRouteCalculator.

  • :data_source (required, String)

    Specifies the data provider of traffic and road network data.

    This field is case-sensitive. Enter the valid values as shown. For example, entering HERE returns an error.

    Valid values include:

    For additional information , see Data providers on the Amazon Location Service Developer Guide.

  • :description (String)

    The optional description for the route calculator resource.

  • :pricing_plan (String)

    No longer used. If included, the only allowed value is RequestBasedUsage.

  • :tags (Hash<String,String>)

    Applies one or more tags to the route calculator resource. A tag is a key-value pair helps manage, identify, search, and filter your resources by labelling them.

    • For example: \{ "tag1" : "value1", "tag2" : "value2"\}

    ^

    Format: "key" : "value"

    Restrictions:

    • Maximum 50 tags per resource

    • Each resource tag must be unique with a maximum of one value.

    • Maximum key length: 128 Unicode characters in UTF-8

    • Maximum value length: 256 Unicode characters in UTF-8

    • Can use alphanumeric characters (A–Z, a–z, 0–9), and the following characters: + - = . _ : / @.

    • Cannot use "aws:" as a prefix for a key.

Returns:

See Also:



1905
1906
1907
1908
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 1905

def create_route_calculator(params = {}, options = {})
  req = build_request(:create_route_calculator, params)
  req.send_request(options)
end

#create_tracker(params = {}) ⇒ Types::CreateTrackerResponse

Creates a tracker resource in your Amazon Web Services account, which lets you retrieve current and historical location of devices.

Examples:

Request syntax with placeholder values


resp = client.create_tracker({
  description: "ResourceDescription",
  event_bridge_enabled: false,
  kms_key_enable_geospatial_queries: false,
  kms_key_id: "KmsKeyId",
  position_filtering: "TimeBased", # accepts TimeBased, DistanceBased, AccuracyBased
  pricing_plan: "RequestBasedUsage", # accepts RequestBasedUsage, MobileAssetTracking, MobileAssetManagement
  pricing_plan_data_source: "String",
  tags: {
    "TagKey" => "TagValue",
  },
  tracker_name: "ResourceName", # required
})

Response structure


resp.create_time #=> Time
resp.tracker_arn #=> String
resp.tracker_name #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :description (String)

    An optional description for the tracker resource.

  • :event_bridge_enabled (Boolean)

    Whether to enable position UPDATE events from this tracker to be sent to EventBridge.

    You do not need enable this feature to get ENTER and EXIT events for geofences with this tracker. Those events are always sent to EventBridge.

  • :kms_key_enable_geospatial_queries (Boolean)

    Enables GeospatialQueries for a tracker that uses a Amazon Web Services KMS customer managed key.

    This parameter is only used if you are using a KMS customer managed key.

    If you wish to encrypt your data using your own KMS customer managed key, then the Bounding Polygon Queries feature will be disabled by default. This is because by using this feature, a representation of your device positions will not be encrypted using the your KMS managed key. The exact device position, however; is still encrypted using your managed key.

    You can choose to opt-in to the Bounding Polygon Quseries feature. This is done by setting the KmsKeyEnableGeospatialQueries parameter to true when creating or updating a Tracker.

  • :kms_key_id (String)

    A key identifier for an Amazon Web Services KMS customer managed key. Enter a key ID, key ARN, alias name, or alias ARN.

  • :position_filtering (String)

    Specifies the position filtering for the tracker resource.

    Valid values:

    • TimeBased - Location updates are evaluated against linked geofence collections, but not every location update is stored. If your update frequency is more often than 30 seconds, only one update per 30 seconds is stored for each unique device ID.

    • DistanceBased - If the device has moved less than 30 m (98.4 ft), location updates are ignored. Location updates within this area are neither evaluated against linked geofence collections, nor stored. This helps control costs by reducing the number of geofence evaluations and historical device positions to paginate through. Distance-based filtering can also reduce the effects of GPS noise when displaying device trajectories on a map.

    • AccuracyBased - If the device has moved less than the measured accuracy, location updates are ignored. For example, if two consecutive updates from a device have a horizontal accuracy of 5 m and 10 m, the second update is ignored if the device has moved less than 15 m. Ignored location updates are neither evaluated against linked geofence collections, nor stored. This can reduce the effects of GPS noise when displaying device trajectories on a map, and can help control your costs by reducing the number of geofence evaluations.

    This field is optional. If not specified, the default value is TimeBased.

  • :pricing_plan (String)

    No longer used. If included, the only allowed value is RequestBasedUsage.

  • :pricing_plan_data_source (String)

    This parameter is no longer used.

  • :tags (Hash<String,String>)

    Applies one or more tags to the tracker resource. A tag is a key-value pair helps manage, identify, search, and filter your resources by labelling them.

    Format: "key" : "value"

    Restrictions:

    • Maximum 50 tags per resource

    • Each resource tag must be unique with a maximum of one value.

    • Maximum key length: 128 Unicode characters in UTF-8

    • Maximum value length: 256 Unicode characters in UTF-8

    • Can use alphanumeric characters (A–Z, a–z, 0–9), and the following characters: + - = . _ : / @.

    • Cannot use "aws:" as a prefix for a key.

  • :tracker_name (required, String)

    The name for the tracker resource.

    Requirements:

    • Contain only alphanumeric characters (A-Z, a-z, 0-9) , hyphens (-), periods (.), and underscores (_).

    • Must be a unique tracker resource name.

    • No spaces allowed. For example, ExampleTracker.

Returns:

See Also:



2062
2063
2064
2065
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 2062

def create_tracker(params = {}, options = {})
  req = build_request(:create_tracker, params)
  req.send_request(options)
end

#delete_geofence_collection(params = {}) ⇒ Struct

Deletes a geofence collection from your Amazon Web Services account.

This operation deletes the resource permanently. If the geofence collection is the target of a tracker resource, the devices will no longer be monitored.

Examples:

Request syntax with placeholder values


resp = client.delete_geofence_collection({
  collection_name: "ResourceName", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :collection_name (required, String)

    The name of the geofence collection to be deleted.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2090
2091
2092
2093
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 2090

def delete_geofence_collection(params = {}, options = {})
  req = build_request(:delete_geofence_collection, params)
  req.send_request(options)
end

#delete_key(params = {}) ⇒ Struct

Deletes the specified API key. The API key must have been deactivated more than 90 days previously.

Examples:

Request syntax with placeholder values


resp = client.delete_key({
  force_delete: false,
  key_name: "ResourceName", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :force_delete (Boolean)

    ForceDelete bypasses an API key's expiry conditions and deletes the key. Set the parameter true to delete the key or to false to not preemptively delete the API key.

    Valid values: true, or false.

    Required: No

    This action is irreversible. Only use ForceDelete if you are certain the key is no longer in use.

  • :key_name (required, String)

    The name of the API key to delete.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2128
2129
2130
2131
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 2128

def delete_key(params = {}, options = {})
  req = build_request(:delete_key, params)
  req.send_request(options)
end

#delete_map(params = {}) ⇒ Struct

Deletes a map resource from your Amazon Web Services account.

This operation deletes the resource permanently. If the map is being used in an application, the map may not render.

Examples:

Request syntax with placeholder values


resp = client.delete_map({
  map_name: "ResourceName", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :map_name (required, String)

    The name of the map resource to be deleted.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2155
2156
2157
2158
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 2155

def delete_map(params = {}, options = {})
  req = build_request(:delete_map, params)
  req.send_request(options)
end

#delete_place_index(params = {}) ⇒ Struct

Deletes a place index resource from your Amazon Web Services account.

This operation deletes the resource permanently.

Examples:

Request syntax with placeholder values


resp = client.delete_place_index({
  index_name: "ResourceName", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :index_name (required, String)

    The name of the place index resource to be deleted.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2181
2182
2183
2184
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 2181

def delete_place_index(params = {}, options = {})
  req = build_request(:delete_place_index, params)
  req.send_request(options)
end

#delete_route_calculator(params = {}) ⇒ Struct

Deletes a route calculator resource from your Amazon Web Services account.

This operation deletes the resource permanently.

Examples:

Request syntax with placeholder values


resp = client.delete_route_calculator({
  calculator_name: "ResourceName", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :calculator_name (required, String)

    The name of the route calculator resource to be deleted.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2208
2209
2210
2211
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 2208

def delete_route_calculator(params = {}, options = {})
  req = build_request(:delete_route_calculator, params)
  req.send_request(options)
end

#delete_tracker(params = {}) ⇒ Struct

Deletes a tracker resource from your Amazon Web Services account.

This operation deletes the resource permanently. If the tracker resource is in use, you may encounter an error. Make sure that the target resource isn't a dependency for your applications.

Examples:

Request syntax with placeholder values


resp = client.delete_tracker({
  tracker_name: "ResourceName", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :tracker_name (required, String)

    The name of the tracker resource to be deleted.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2236
2237
2238
2239
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 2236

def delete_tracker(params = {}, options = {})
  req = build_request(:delete_tracker, params)
  req.send_request(options)
end

#describe_geofence_collection(params = {}) ⇒ Types::DescribeGeofenceCollectionResponse

Retrieves the geofence collection details.

Examples:

Request syntax with placeholder values


resp = client.describe_geofence_collection({
  collection_name: "ResourceName", # required
})

Response structure


resp.collection_arn #=> String
resp.collection_name #=> String
resp.create_time #=> Time
resp.description #=> String
resp.geofence_count #=> Integer
resp.kms_key_id #=> String
resp.pricing_plan #=> String, one of "RequestBasedUsage", "MobileAssetTracking", "MobileAssetManagement"
resp.pricing_plan_data_source #=> String
resp.tags #=> Hash
resp.tags["TagKey"] #=> String
resp.update_time #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :collection_name (required, String)

    The name of the geofence collection.

Returns:

See Also:



2283
2284
2285
2286
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 2283

def describe_geofence_collection(params = {}, options = {})
  req = build_request(:describe_geofence_collection, params)
  req.send_request(options)
end

#describe_key(params = {}) ⇒ Types::DescribeKeyResponse

Retrieves the API key resource details.

Examples:

Request syntax with placeholder values


resp = client.describe_key({
  key_name: "ResourceName", # required
})

Response structure


resp.create_time #=> Time
resp.description #=> String
resp.expire_time #=> Time
resp.key #=> String
resp.key_arn #=> String
resp.key_name #=> String
resp.restrictions.allow_actions #=> Array
resp.restrictions.allow_actions[0] #=> String
resp.restrictions.allow_referers #=> Array
resp.restrictions.allow_referers[0] #=> String
resp.restrictions.allow_resources #=> Array
resp.restrictions.allow_resources[0] #=> String
resp.tags #=> Hash
resp.tags["TagKey"] #=> String
resp.update_time #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :key_name (required, String)

    The name of the API key resource.

Returns:

See Also:



2333
2334
2335
2336
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 2333

def describe_key(params = {}, options = {})
  req = build_request(:describe_key, params)
  req.send_request(options)
end

#describe_map(params = {}) ⇒ Types::DescribeMapResponse

Retrieves the map resource details.

Examples:

Request syntax with placeholder values


resp = client.describe_map({
  map_name: "ResourceName", # required
})

Response structure


resp.configuration.custom_layers #=> Array
resp.configuration.custom_layers[0] #=> String
resp.configuration.political_view #=> String
resp.configuration.style #=> String
resp.create_time #=> Time
resp.data_source #=> String
resp.description #=> String
resp.map_arn #=> String
resp.map_name #=> String
resp.pricing_plan #=> String, one of "RequestBasedUsage", "MobileAssetTracking", "MobileAssetManagement"
resp.tags #=> Hash
resp.tags["TagKey"] #=> String
resp.update_time #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :map_name (required, String)

    The name of the map resource.

Returns:

See Also:



2381
2382
2383
2384
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 2381

def describe_map(params = {}, options = {})
  req = build_request(:describe_map, params)
  req.send_request(options)
end

#describe_place_index(params = {}) ⇒ Types::DescribePlaceIndexResponse

Retrieves the place index resource details.

Examples:

Request syntax with placeholder values


resp = client.describe_place_index({
  index_name: "ResourceName", # required
})

Response structure


resp.create_time #=> Time
resp.data_source #=> String
resp.data_source_configuration.intended_use #=> String, one of "SingleUse", "Storage"
resp.description #=> String
resp.index_arn #=> String
resp.index_name #=> String
resp.pricing_plan #=> String, one of "RequestBasedUsage", "MobileAssetTracking", "MobileAssetManagement"
resp.tags #=> Hash
resp.tags["TagKey"] #=> String
resp.update_time #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :index_name (required, String)

    The name of the place index resource.

Returns:

See Also:



2426
2427
2428
2429
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 2426

def describe_place_index(params = {}, options = {})
  req = build_request(:describe_place_index, params)
  req.send_request(options)
end

#describe_route_calculator(params = {}) ⇒ Types::DescribeRouteCalculatorResponse

Retrieves the route calculator resource details.

Examples:

Request syntax with placeholder values


resp = client.describe_route_calculator({
  calculator_name: "ResourceName", # required
})

Response structure


resp.calculator_arn #=> String
resp.calculator_name #=> String
resp.create_time #=> Time
resp.data_source #=> String
resp.description #=> String
resp.pricing_plan #=> String, one of "RequestBasedUsage", "MobileAssetTracking", "MobileAssetManagement"
resp.tags #=> Hash
resp.tags["TagKey"] #=> String
resp.update_time #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :calculator_name (required, String)

    The name of the route calculator resource.

Returns:

See Also:



2469
2470
2471
2472
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 2469

def describe_route_calculator(params = {}, options = {})
  req = build_request(:describe_route_calculator, params)
  req.send_request(options)
end

#describe_tracker(params = {}) ⇒ Types::DescribeTrackerResponse

Retrieves the tracker resource details.

Examples:

Request syntax with placeholder values


resp = client.describe_tracker({
  tracker_name: "ResourceName", # required
})

Response structure


resp.create_time #=> Time
resp.description #=> String
resp.event_bridge_enabled #=> Boolean
resp.kms_key_enable_geospatial_queries #=> Boolean
resp.kms_key_id #=> String
resp.position_filtering #=> String, one of "TimeBased", "DistanceBased", "AccuracyBased"
resp.pricing_plan #=> String, one of "RequestBasedUsage", "MobileAssetTracking", "MobileAssetManagement"
resp.pricing_plan_data_source #=> String
resp.tags #=> Hash
resp.tags["TagKey"] #=> String
resp.tracker_arn #=> String
resp.tracker_name #=> String
resp.update_time #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :tracker_name (required, String)

    The name of the tracker resource.

Returns:

See Also:



2520
2521
2522
2523
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 2520

def describe_tracker(params = {}, options = {})
  req = build_request(:describe_tracker, params)
  req.send_request(options)
end

#disassociate_tracker_consumer(params = {}) ⇒ Struct

Removes the association between a tracker resource and a geofence collection.

Once you unlink a tracker resource from a geofence collection, the tracker positions will no longer be automatically evaluated against geofences.

Examples:

Request syntax with placeholder values


resp = client.disassociate_tracker_consumer({
  consumer_arn: "Arn", # required
  tracker_name: "ResourceName", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :consumer_arn (required, String)

    The Amazon Resource Name (ARN) for the geofence collection to be disassociated from the tracker resource. Used when you need to specify a resource across all Amazon Web Services.

    • Format example: arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollectionConsumer

    ^

  • :tracker_name (required, String)

    The name of the tracker resource to be dissociated from the consumer.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2560
2561
2562
2563
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 2560

def disassociate_tracker_consumer(params = {}, options = {})
  req = build_request(:disassociate_tracker_consumer, params)
  req.send_request(options)
end

#get_device_position(params = {}) ⇒ Types::GetDevicePositionResponse

Retrieves a device's most recent position according to its sample time.

Device positions are deleted after 30 days.

Examples:

Request syntax with placeholder values


resp = client.get_device_position({
  device_id: "Id", # required
  tracker_name: "ResourceName", # required
})

Response structure


resp.accuracy.horizontal #=> Float
resp.device_id #=> String
resp.position #=> Array
resp.position[0] #=> Float
resp.position_properties #=> Hash
resp.position_properties["PropertyMapKeyString"] #=> String
resp.received_time #=> Time
resp.sample_time #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :device_id (required, String)

    The device whose position you want to retrieve.

  • :tracker_name (required, String)

    The tracker resource receiving the position update.

Returns:

See Also:



2609
2610
2611
2612
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 2609

def get_device_position(params = {}, options = {})
  req = build_request(:get_device_position, params)
  req.send_request(options)
end

#get_device_position_history(params = {}) ⇒ Types::GetDevicePositionHistoryResponse

Retrieves the device position history from a tracker resource within a specified range of time.

Device positions are deleted after 30 days.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.get_device_position_history({
  device_id: "Id", # required
  end_time_exclusive: Time.now,
  max_results: 1,
  next_token: "Token",
  start_time_inclusive: Time.now,
  tracker_name: "ResourceName", # required
})

Response structure


resp.device_positions #=> Array
resp.device_positions[0].accuracy.horizontal #=> Float
resp.device_positions[0].device_id #=> String
resp.device_positions[0].position #=> Array
resp.device_positions[0].position[0] #=> Float
resp.device_positions[0].position_properties #=> Hash
resp.device_positions[0].position_properties["PropertyMapKeyString"] #=> String
resp.device_positions[0].received_time #=> Time
resp.device_positions[0].sample_time #=> Time
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :device_id (required, String)

    The device whose position history you want to retrieve.

  • :end_time_exclusive (Time, DateTime, Date, Integer, String)

    Specify the end time for the position history in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ. By default, the value will be the time that the request is made.

    Requirement:

    • The time specified for EndTimeExclusive must be after the time for StartTimeInclusive.

    ^

  • :max_results (Integer)

    An optional limit for the number of device positions returned in a single call.

    Default value: 100

  • :next_token (String)

    The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page.

    Default value: null

  • :start_time_inclusive (Time, DateTime, Date, Integer, String)

    Specify the start time for the position history in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ. By default, the value will be 24 hours prior to the time that the request is made.

    Requirement:

    • The time specified for StartTimeInclusive must be before EndTimeExclusive.

    ^

  • :tracker_name (required, String)

    The tracker resource receiving the request for the device position history.

Returns:

See Also:



2707
2708
2709
2710
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 2707

def get_device_position_history(params = {}, options = {})
  req = build_request(:get_device_position_history, params)
  req.send_request(options)
end

#get_geofence(params = {}) ⇒ Types::GetGeofenceResponse

Retrieves the geofence details from a geofence collection.

Examples:

Request syntax with placeholder values


resp = client.get_geofence({
  collection_name: "ResourceName", # required
  geofence_id: "Id", # required
})

Response structure


resp.create_time #=> Time
resp.geofence_id #=> String
resp.geofence_properties #=> Hash
resp.geofence_properties["PropertyMapKeyString"] #=> String
resp.geometry.circle.center #=> Array
resp.geometry.circle.center[0] #=> Float
resp.geometry.circle.radius #=> Float
resp.geometry.polygon #=> Array
resp.geometry.polygon[0] #=> Array
resp.geometry.polygon[0][0] #=> Array
resp.geometry.polygon[0][0][0] #=> Float
resp.status #=> String
resp.update_time #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :collection_name (required, String)

    The geofence collection storing the target geofence.

  • :geofence_id (required, String)

    The geofence you're retrieving details for.

Returns:

See Also:



2756
2757
2758
2759
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 2756

def get_geofence(params = {}, options = {})
  req = build_request(:get_geofence, params)
  req.send_request(options)
end

#get_map_glyphs(params = {}) ⇒ Types::GetMapGlyphsResponse

Retrieves glyphs used to display labels on a map.

Examples:

Request syntax with placeholder values


resp = client.get_map_glyphs({
  font_stack: "String", # required
  font_unicode_range: "GetMapGlyphsRequestFontUnicodeRangeString", # required
  key: "ApiKey",
  map_name: "ResourceName", # required
})

Response structure


resp.blob #=> IO
resp.cache_control #=> String
resp.content_type #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :font_stack (required, String)

    A comma-separated list of fonts to load glyphs from in order of preference. For example, Noto Sans Regular, Arial Unicode.

    Valid font stacks for Esri styles:

    • VectorEsriDarkGrayCanvas – Ubuntu Medium Italic | Ubuntu Medium | Ubuntu Italic | Ubuntu Regular | Ubuntu Bold

    • VectorEsriLightGrayCanvas – Ubuntu Italic | Ubuntu Regular | Ubuntu Light | Ubuntu Bold

    • VectorEsriTopographic – Noto Sans Italic | Noto Sans Regular | Noto Sans Bold | Noto Serif Regular | Roboto Condensed Light Italic

    • VectorEsriStreets – Arial Regular | Arial Italic | Arial Bold

    • VectorEsriNavigation – Arial Regular | Arial Italic | Arial Bold | Arial Unicode MS Bold | Arial Unicode MS Regular

    Valid font stacks for HERE Technologies styles:

    • VectorHereContrast – Fira GO Regular | Fira GO Bold

    • VectorHereExplore, VectorHereExploreTruck, HybridHereExploreSatellite – Fira GO Italic | Fira GO Map | Fira GO Map Bold | Noto Sans CJK JP Bold | Noto Sans CJK JP Light | Noto Sans CJK JP Regular

    Valid font stacks for GrabMaps styles:

    • VectorGrabStandardLight, VectorGrabStandardDark – Noto Sans Regular | Noto Sans Medium | Noto Sans Bold

    ^

    Valid font stacks for Open Data styles:

    • VectorOpenDataStandardLight, VectorOpenDataStandardDark, VectorOpenDataVisualizationLight, VectorOpenDataVisualizationDark – Amazon Ember Regular,Noto Sans Regular | Amazon Ember Bold,Noto Sans Bold | Amazon Ember Medium,Noto Sans Medium | Amazon Ember Regular Italic,Noto Sans Italic | Amazon Ember Condensed RC Regular,Noto Sans Regular | Amazon Ember Condensed RC Bold,Noto Sans Bold | Amazon Ember Regular,Noto Sans Regular,Noto Sans Arabic Regular | Amazon Ember Condensed RC Bold,Noto Sans Bold,Noto Sans Arabic Condensed Bold | Amazon Ember Bold,Noto Sans Bold,Noto Sans Arabic Bold | Amazon Ember Regular Italic,Noto Sans Italic,Noto Sans Arabic Regular | Amazon Ember Condensed RC Regular,Noto Sans Regular,Noto Sans Arabic Condensed Regular | Amazon Ember Medium,Noto Sans Medium,Noto Sans Arabic Medium

    ^

    The fonts used by the Open Data map styles are combined fonts that use Amazon Ember for most glyphs but Noto Sans for glyphs unsupported by Amazon Ember.

  • :font_unicode_range (required, String)

    A Unicode range of characters to download glyphs for. Each response will contain 256 characters. For example, 0–255 includes all characters from range U+0000 to 00FF. Must be aligned to multiples of 256.

  • :key (String)

    The optional API key to authorize the request.

  • :map_name (required, String)

    The map resource associated with the glyph file.

Returns:

See Also:



2874
2875
2876
2877
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 2874

def get_map_glyphs(params = {}, options = {}, &block)
  req = build_request(:get_map_glyphs, params)
  req.send_request(options, &block)
end

#get_map_sprites(params = {}) ⇒ Types::GetMapSpritesResponse

Retrieves the sprite sheet corresponding to a map resource. The sprite sheet is a PNG image paired with a JSON document describing the offsets of individual icons that will be displayed on a rendered map.

Examples:

Request syntax with placeholder values


resp = client.get_map_sprites({
  file_name: "GetMapSpritesRequestFileNameString", # required
  key: "ApiKey",
  map_name: "ResourceName", # required
})

Response structure


resp.blob #=> IO
resp.cache_control #=> String
resp.content_type #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :file_name (required, String)

    The name of the sprite file. Use the following file names for the sprite sheet:

    • sprites.png

    • sprites@2x.png for high pixel density displays

    For the JSON document containing image offsets. Use the following file names:

    • sprites.json

    • sprites@2x.json for high pixel density displays

  • :key (String)

    The optional API key to authorize the request.

  • :map_name (required, String)

    The map resource associated with the sprite file.

Returns:

See Also:



2932
2933
2934
2935
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 2932

def get_map_sprites(params = {}, options = {}, &block)
  req = build_request(:get_map_sprites, params)
  req.send_request(options, &block)
end

#get_map_style_descriptor(params = {}) ⇒ Types::GetMapStyleDescriptorResponse

Retrieves the map style descriptor from a map resource.

The style descriptor contains specifications on how features render on a map. For example, what data to display, what order to display the data in, and the style for the data. Style descriptors follow the Mapbox Style Specification.

Examples:

Request syntax with placeholder values


resp = client.get_map_style_descriptor({
  key: "ApiKey",
  map_name: "ResourceName", # required
})

Response structure


resp.blob #=> IO
resp.cache_control #=> String
resp.content_type #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :key (String)

    The optional API key to authorize the request.

  • :map_name (required, String)

    The map resource to retrieve the style descriptor from.

Returns:

See Also:



2977
2978
2979
2980
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 2977

def get_map_style_descriptor(params = {}, options = {}, &block)
  req = build_request(:get_map_style_descriptor, params)
  req.send_request(options, &block)
end

#get_map_tile(params = {}) ⇒ Types::GetMapTileResponse

Retrieves a vector data tile from the map resource. Map tiles are used by clients to render a map. they're addressed using a grid arrangement with an X coordinate, Y coordinate, and Z (zoom) level.

The origin (0, 0) is the top left of the map. Increasing the zoom level by 1 doubles both the X and Y dimensions, so a tile containing data for the entire world at (0/0/0) will be split into 4 tiles at zoom 1 (1/0/0, 1/0/1, 1/1/0, 1/1/1).

Examples:

Request syntax with placeholder values


resp = client.get_map_tile({
  key: "ApiKey",
  map_name: "ResourceName", # required
  x: "GetMapTileRequestXString", # required
  y: "GetMapTileRequestYString", # required
  z: "GetMapTileRequestZString", # required
})

Response structure


resp.blob #=> IO
resp.cache_control #=> String
resp.content_type #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :key (String)

    The optional API key to authorize the request.

  • :map_name (required, String)

    The map resource to retrieve the map tiles from.

  • :x (required, String)

    The X axis value for the map tile.

  • :y (required, String)

    The Y axis value for the map tile.

  • :z (required, String)

    The zoom value for the map tile.

Returns:

See Also:



3036
3037
3038
3039
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 3036

def get_map_tile(params = {}, options = {}, &block)
  req = build_request(:get_map_tile, params)
  req.send_request(options, &block)
end

#get_place(params = {}) ⇒ Types::GetPlaceResponse

Finds a place by its unique ID. A PlaceId is returned by other search operations.

A PlaceId is valid only if all of the following are the same in the original search request and the call to GetPlace.

  • Customer Amazon Web Services account

  • Amazon Web Services Region

  • Data provider specified in the place index resource

Examples:

Request syntax with placeholder values


resp = client.get_place({
  index_name: "ResourceName", # required
  key: "ApiKey",
  language: "LanguageTag",
  place_id: "PlaceId", # required
})

Response structure


resp.place.address_number #=> String
resp.place.categories #=> Array
resp.place.categories[0] #=> String
resp.place.country #=> String
resp.place.geometry.point #=> Array
resp.place.geometry.point[0] #=> Float
resp.place.interpolated #=> Boolean
resp.place.label #=> String
resp.place.municipality #=> String
resp.place.neighborhood #=> String
resp.place.postal_code #=> String
resp.place.region #=> String
resp.place.street #=> String
resp.place.sub_municipality #=> String
resp.place.sub_region #=> String
resp.place.supplemental_categories #=> Array
resp.place.supplemental_categories[0] #=> String
resp.place.time_zone.name #=> String
resp.place.time_zone.offset #=> Integer
resp.place.unit_number #=> String
resp.place.unit_type #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :index_name (required, String)

    The name of the place index resource that you want to use for the search.

  • :key (String)

    The optional API key to authorize the request.

  • :language (String)

    The preferred language used to return results. The value must be a valid BCP 47 language tag, for example, en for English.

    This setting affects the languages used in the results, but not the results themselves. If no language is specified, or not supported for a particular result, the partner automatically chooses a language for the result.

    For an example, we'll use the Greek language. You search for a location around Athens, Greece, with the language parameter set to en. The city in the results will most likely be returned as Athens.

    If you set the language parameter to el, for Greek, then the city in the results will more likely be returned as Αθήνα.

    If the data provider does not have a value for Greek, the result will be in a language that the provider does support.

  • :place_id (required, String)

    The identifier of the place to find.

    While you can use PlaceID in subsequent requests, PlaceID is not intended to be a permanent identifier and the ID can change between consecutive API calls. Please see the following PlaceID behaviour for each data provider:

    • Esri: Place IDs will change every quarter at a minimum. The typical time period for these changes would be March, June, September, and December. Place IDs might also change between the typical quarterly change but that will be much less frequent.

    • HERE: We recommend that you cache data for no longer than a week to keep your data data fresh. You can assume that less than 1% ID shifts will release over release which is approximately 1 - 2 times per week.

    • Grab: Place IDs can expire or become invalid in the following situations.

      • Data operations: The POI may be removed from Grab POI database by Grab Map Ops based on the ground-truth, such as being closed in the real world, being detected as a duplicate POI, or having incorrect information. Grab will synchronize data to the Waypoint environment on weekly basis.

      • Interpolated POI: Interpolated POI is a temporary POI generated in real time when serving a request, and it will be marked as derived in the place.result_type field in the response. The information of interpolated POIs will be retained for at least 30 days, which means that within 30 days, you are able to obtain POI details by Place ID from Place Details API. After 30 days, the interpolated POIs(both Place ID and details) may expire and inaccessible from the Places Details API.

Returns:

See Also:



3167
3168
3169
3170
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 3167

def get_place(params = {}, options = {})
  req = build_request(:get_place, params)
  req.send_request(options)
end

#list_device_positions(params = {}) ⇒ Types::ListDevicePositionsResponse

A batch request to retrieve all device positions.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_device_positions({
  filter_geometry: {
    polygon: [
      [
        [1.0],
      ],
    ],
  },
  max_results: 1,
  next_token: "Token",
  tracker_name: "ResourceName", # required
})

Response structure


resp.data.entries #=> Array
resp.data.entries[0].accuracy.horizontal #=> Float
resp.data.entries[0].device_id #=> String
resp.data.entries[0].position #=> Array
resp.data.entries[0].position[0] #=> Float
resp.data.entries[0].position_properties #=> Hash
resp.data.entries[0].position_properties["PropertyMapKeyString"] #=> String
resp.data.entries[0].sample_time #=> Time
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :filter_geometry (Types::TrackingFilterGeometry)

    The geometry used to filter device positions.

  • :max_results (Integer)

    An optional limit for the number of entries returned in a single call.

    Default value: 100

  • :next_token (String)

    The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page.

    Default value: null

  • :tracker_name (required, String)

    The tracker resource containing the requested devices.

Returns:

See Also:



3229
3230
3231
3232
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 3229

def list_device_positions(params = {}, options = {})
  req = build_request(:list_device_positions, params)
  req.send_request(options)
end

#list_geofence_collections(params = {}) ⇒ Types::ListGeofenceCollectionsResponse

Lists geofence collections in your Amazon Web Services account.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_geofence_collections({
  max_results: 1,
  next_token: "Token",
})

Response structure


resp.data.entries #=> Array
resp.data.entries[0].collection_name #=> String
resp.data.entries[0].create_time #=> Time
resp.data.entries[0].description #=> String
resp.data.entries[0].pricing_plan #=> String, one of "RequestBasedUsage", "MobileAssetTracking", "MobileAssetManagement"
resp.data.entries[0].pricing_plan_data_source #=> String
resp.data.entries[0].update_time #=> Time
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :max_results (Integer)

    An optional limit for the number of resources returned in a single call.

    Default value: 100

  • :next_token (String)

    The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page.

    Default value: null

Returns:

See Also:



3277
3278
3279
3280
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 3277

def list_geofence_collections(params = {}, options = {})
  req = build_request(:list_geofence_collections, params)
  req.send_request(options)
end

#list_geofences(params = {}) ⇒ Types::ListGeofencesResponse

Lists geofences stored in a given geofence collection.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_geofences({
  collection_name: "ResourceName", # required
  max_results: 1,
  next_token: "Token",
})

Response structure


resp.data.entries #=> Array
resp.data.entries[0].create_time #=> Time
resp.data.entries[0].geofence_id #=> String
resp.data.entries[0].geofence_properties #=> Hash
resp.data.entries[0].geofence_properties["PropertyMapKeyString"] #=> String
resp.data.entries[0].geometry.circle.center #=> Array
resp.data.entries[0].geometry.circle.center[0] #=> Float
resp.data.entries[0].geometry.circle.radius #=> Float
resp.data.entries[0].geometry.polygon #=> Array
resp.data.entries[0].geometry.polygon[0] #=> Array
resp.data.entries[0].geometry.polygon[0][0] #=> Array
resp.data.entries[0].geometry.polygon[0][0][0] #=> Float
resp.data.entries[0].status #=> String
resp.data.entries[0].update_time #=> Time
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :collection_name (required, String)

    The name of the geofence collection storing the list of geofences.

  • :max_results (Integer)

    An optional limit for the number of geofences returned in a single call.

    Default value: 100

  • :next_token (String)

    The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page.

    Default value: null

Returns:

See Also:



3336
3337
3338
3339
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 3336

def list_geofences(params = {}, options = {})
  req = build_request(:list_geofences, params)
  req.send_request(options)
end

#list_keys(params = {}) ⇒ Types::ListKeysResponse

Lists API key resources in your Amazon Web Services account.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_keys({
  filter: {
    key_status: "Active", # accepts Active, Expired
  },
  max_results: 1,
  next_token: "Token",
})

Response structure


resp.data.entries #=> Array
resp.data.entries[0].create_time #=> Time
resp.data.entries[0].description #=> String
resp.data.entries[0].expire_time #=> Time
resp.data.entries[0].key_name #=> String
resp.data.entries[0].restrictions.allow_actions #=> Array
resp.data.entries[0].restrictions.allow_actions[0] #=> String
resp.data.entries[0].restrictions.allow_referers #=> Array
resp.data.entries[0].restrictions.allow_referers[0] #=> String
resp.data.entries[0].restrictions.allow_resources #=> Array
resp.data.entries[0].restrictions.allow_resources[0] #=> String
resp.data.entries[0].update_time #=> Time
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :filter (Types::ApiKeyFilter)

    Optionally filter the list to only Active or Expired API keys.

  • :max_results (Integer)

    An optional limit for the number of resources returned in a single call.

    Default value: 100

  • :next_token (String)

    The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page.

    Default value: null

Returns:

See Also:



3395
3396
3397
3398
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 3395

def list_keys(params = {}, options = {})
  req = build_request(:list_keys, params)
  req.send_request(options)
end

#list_maps(params = {}) ⇒ Types::ListMapsResponse

Lists map resources in your Amazon Web Services account.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_maps({
  max_results: 1,
  next_token: "Token",
})

Response structure


resp.data.entries #=> Array
resp.data.entries[0].create_time #=> Time
resp.data.entries[0].data_source #=> String
resp.data.entries[0].description #=> String
resp.data.entries[0].map_name #=> String
resp.data.entries[0].pricing_plan #=> String, one of "RequestBasedUsage", "MobileAssetTracking", "MobileAssetManagement"
resp.data.entries[0].update_time #=> Time
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :max_results (Integer)

    An optional limit for the number of resources returned in a single call.

    Default value: 100

  • :next_token (String)

    The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page.

    Default value: null

Returns:

See Also:



3443
3444
3445
3446
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 3443

def list_maps(params = {}, options = {})
  req = build_request(:list_maps, params)
  req.send_request(options)
end

#list_place_indexes(params = {}) ⇒ Types::ListPlaceIndexesResponse

Lists place index resources in your Amazon Web Services account.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_place_indexes({
  max_results: 1,
  next_token: "Token",
})

Response structure


resp.data.entries #=> Array
resp.data.entries[0].create_time #=> Time
resp.data.entries[0].data_source #=> String
resp.data.entries[0].description #=> String
resp.data.entries[0].index_name #=> String
resp.data.entries[0].pricing_plan #=> String, one of "RequestBasedUsage", "MobileAssetTracking", "MobileAssetManagement"
resp.data.entries[0].update_time #=> Time
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :max_results (Integer)

    An optional limit for the maximum number of results returned in a single call.

    Default value: 100

  • :next_token (String)

    The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page.

    Default value: null

Returns:

See Also:



3491
3492
3493
3494
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 3491

def list_place_indexes(params = {}, options = {})
  req = build_request(:list_place_indexes, params)
  req.send_request(options)
end

#list_route_calculators(params = {}) ⇒ Types::ListRouteCalculatorsResponse

Lists route calculator resources in your Amazon Web Services account.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_route_calculators({
  max_results: 1,
  next_token: "Token",
})

Response structure


resp.data.entries #=> Array
resp.data.entries[0].calculator_name #=> String
resp.data.entries[0].create_time #=> Time
resp.data.entries[0].data_source #=> String
resp.data.entries[0].description #=> String
resp.data.entries[0].pricing_plan #=> String, one of "RequestBasedUsage", "MobileAssetTracking", "MobileAssetManagement"
resp.data.entries[0].update_time #=> Time
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :max_results (Integer)

    An optional maximum number of results returned in a single call.

    Default Value: 100

  • :next_token (String)

    The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page.

    Default Value: null

Returns:

See Also:



3538
3539
3540
3541
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 3538

def list_route_calculators(params = {}, options = {})
  req = build_request(:list_route_calculators, params)
  req.send_request(options)
end

#list_tags_for_resource(params = {}) ⇒ Types::ListTagsForResourceResponse

Returns a list of tags that are applied to the specified Amazon Location resource.

Examples:

Request syntax with placeholder values


resp = client.list_tags_for_resource({
  resource_arn: "Arn", # required
})

Response structure


resp.tags #=> Hash
resp.tags["TagKey"] #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    The Amazon Resource Name (ARN) of the resource whose tags you want to retrieve.

    • Format example: arn:aws:geo:region:account-id:resourcetype/ExampleResource

    ^

Returns:

See Also:



3574
3575
3576
3577
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 3574

def list_tags_for_resource(params = {}, options = {})
  req = build_request(:list_tags_for_resource, params)
  req.send_request(options)
end

#list_tracker_consumers(params = {}) ⇒ Types::ListTrackerConsumersResponse

Lists geofence collections currently associated to the given tracker resource.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_tracker_consumers({
  max_results: 1,
  next_token: "Token",
  tracker_name: "ResourceName", # required
})

Response structure


resp.consumer_arns #=> Array
resp.consumer_arns[0] #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :max_results (Integer)

    An optional limit for the number of resources returned in a single call.

    Default value: 100

  • :next_token (String)

    The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page.

    Default value: null

  • :tracker_name (required, String)

    The tracker resource whose associated geofence collections you want to list.

Returns:

See Also:



3623
3624
3625
3626
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 3623

def list_tracker_consumers(params = {}, options = {})
  req = build_request(:list_tracker_consumers, params)
  req.send_request(options)
end

#list_trackers(params = {}) ⇒ Types::ListTrackersResponse

Lists tracker resources in your Amazon Web Services account.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_trackers({
  max_results: 1,
  next_token: "Token",
})

Response structure


resp.data.entries #=> Array
resp.data.entries[0].create_time #=> Time
resp.data.entries[0].description #=> String
resp.data.entries[0].pricing_plan #=> String, one of "RequestBasedUsage", "MobileAssetTracking", "MobileAssetManagement"
resp.data.entries[0].pricing_plan_data_source #=> String
resp.data.entries[0].tracker_name #=> String
resp.data.entries[0].update_time #=> Time
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :max_results (Integer)

    An optional limit for the number of resources returned in a single call.

    Default value: 100

  • :next_token (String)

    The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page.

    Default value: null

Returns:

See Also:



3671
3672
3673
3674
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 3671

def list_trackers(params = {}, options = {})
  req = build_request(:list_trackers, params)
  req.send_request(options)
end

#put_geofence(params = {}) ⇒ Types::PutGeofenceResponse

Stores a geofence geometry in a given geofence collection, or updates the geometry of an existing geofence if a geofence ID is included in the request.

Examples:

Request syntax with placeholder values


resp = client.put_geofence({
  collection_name: "ResourceName", # required
  geofence_id: "Id", # required
  geofence_properties: {
    "PropertyMapKeyString" => "PropertyMapValueString",
  },
  geometry: { # required
    circle: {
      center: [1.0], # required
      radius: 1.0, # required
    },
    polygon: [
      [
        [1.0],
      ],
    ],
  },
})

Response structure


resp.create_time #=> Time
resp.geofence_id #=> String
resp.update_time #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :collection_name (required, String)

    The geofence collection to store the geofence in.

  • :geofence_id (required, String)

    An identifier for the geofence. For example, ExampleGeofence-1.

  • :geofence_properties (Hash<String,String>)

    Associates one of more properties with the geofence. A property is a key-value pair stored with the geofence and added to any geofence event triggered with that geofence.

    Format: "key" : "value"

  • :geometry (required, Types::GeofenceGeometry)

    Contains the details to specify the position of the geofence. Can be either a polygon or a circle. Including both will return a validation error.

    Each geofence polygon can have a maximum of 1,000 vertices.

Returns:

See Also:



3743
3744
3745
3746
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 3743

def put_geofence(params = {}, options = {})
  req = build_request(:put_geofence, params)
  req.send_request(options)
end

#search_place_index_for_position(params = {}) ⇒ Types::SearchPlaceIndexForPositionResponse

Reverse geocodes a given coordinate and returns a legible address. Allows you to search for Places or points of interest near a given position.

Examples:

Request syntax with placeholder values


resp = client.search_place_index_for_position({
  index_name: "ResourceName", # required
  key: "ApiKey",
  language: "LanguageTag",
  max_results: 1,
  position: [1.0], # required
})

Response structure


resp.results #=> Array
resp.results[0].distance #=> Float
resp.results[0].place.address_number #=> String
resp.results[0].place.categories #=> Array
resp.results[0].place.categories[0] #=> String
resp.results[0].place.country #=> String
resp.results[0].place.geometry.point #=> Array
resp.results[0].place.geometry.point[0] #=> Float
resp.results[0].place.interpolated #=> Boolean
resp.results[0].place.label #=> String
resp.results[0].place.municipality #=> String
resp.results[0].place.neighborhood #=> String
resp.results[0].place.postal_code #=> String
resp.results[0].place.region #=> String
resp.results[0].place.street #=> String
resp.results[0].place.sub_municipality #=> String
resp.results[0].place.sub_region #=> String
resp.results[0].place.supplemental_categories #=> Array
resp.results[0].place.supplemental_categories[0] #=> String
resp.results[0].place.time_zone.name #=> String
resp.results[0].place.time_zone.offset #=> Integer
resp.results[0].place.unit_number #=> String
resp.results[0].place.unit_type #=> String
resp.results[0].place_id #=> String
resp.summary.data_source #=> String
resp.summary.language #=> String
resp.summary.max_results #=> Integer
resp.summary.position #=> Array
resp.summary.position[0] #=> Float

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :index_name (required, String)

    The name of the place index resource you want to use for the search.

  • :key (String)

    The optional API key to authorize the request.

  • :language (String)

    The preferred language used to return results. The value must be a valid BCP 47 language tag, for example, en for English.

    This setting affects the languages used in the results, but not the results themselves. If no language is specified, or not supported for a particular result, the partner automatically chooses a language for the result.

    For an example, we'll use the Greek language. You search for a location around Athens, Greece, with the language parameter set to en. The city in the results will most likely be returned as Athens.

    If you set the language parameter to el, for Greek, then the city in the results will more likely be returned as Αθήνα.

    If the data provider does not have a value for Greek, the result will be in a language that the provider does support.

  • :max_results (Integer)

    An optional parameter. The maximum number of results returned per request.

    Default value: 50

  • :position (required, Array<Float>)

    Specifies the longitude and latitude of the position to query.

    This parameter must contain a pair of numbers. The first number represents the X coordinate, or longitude; the second number represents the Y coordinate, or latitude.

    For example, [-123.1174, 49.2847] represents a position with longitude -123.1174 and latitude 49.2847.

Returns:

See Also:



3853
3854
3855
3856
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 3853

def search_place_index_for_position(params = {}, options = {})
  req = build_request(:search_place_index_for_position, params)
  req.send_request(options)
end

#search_place_index_for_suggestions(params = {}) ⇒ Types::SearchPlaceIndexForSuggestionsResponse

Generates suggestions for addresses and points of interest based on partial or misspelled free-form text. This operation is also known as autocomplete, autosuggest, or fuzzy matching.

Optional parameters let you narrow your search results by bounding box or country, or bias your search toward a specific position on the globe.

You can search for suggested place names near a specified position by using BiasPosition, or filter results within a bounding box by using FilterBBox. These parameters are mutually exclusive; using both BiasPosition and FilterBBox in the same command returns an error.

Examples:

Request syntax with placeholder values


resp = client.search_place_index_for_suggestions({
  bias_position: [1.0],
  filter_b_box: [1.0],
  filter_categories: ["PlaceCategory"],
  filter_countries: ["CountryCode"],
  index_name: "ResourceName", # required
  key: "ApiKey",
  language: "LanguageTag",
  max_results: 1,
  text: "SearchPlaceIndexForSuggestionsRequestTextString", # required
})

Response structure


resp.results #=> Array
resp.results[0].categories #=> Array
resp.results[0].categories[0] #=> String
resp.results[0].place_id #=> String
resp.results[0].supplemental_categories #=> Array
resp.results[0].supplemental_categories[0] #=> String
resp.results[0].text #=> String
resp.summary.bias_position #=> Array
resp.summary.bias_position[0] #=> Float
resp.summary.data_source #=> String
resp.summary.filter_b_box #=> Array
resp.summary.filter_b_box[0] #=> Float
resp.summary.filter_categories #=> Array
resp.summary.filter_categories[0] #=> String
resp.summary.filter_countries #=> Array
resp.summary.filter_countries[0] #=> String
resp.summary.language #=> String
resp.summary.max_results #=> Integer
resp.summary.text #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :bias_position (Array<Float>)

    An optional parameter that indicates a preference for place suggestions that are closer to a specified position.

    If provided, this parameter must contain a pair of numbers. The first number represents the X coordinate, or longitude; the second number represents the Y coordinate, or latitude.

    For example, [-123.1174, 49.2847] represents the position with longitude -123.1174 and latitude 49.2847.

    BiasPosition and FilterBBox are mutually exclusive. Specifying both options results in an error.

  • :filter_b_box (Array<Float>)

    An optional parameter that limits the search results by returning only suggestions within a specified bounding box.

    If provided, this parameter must contain a total of four consecutive numbers in two pairs. The first pair of numbers represents the X and Y coordinates (longitude and latitude, respectively) of the southwest corner of the bounding box; the second pair of numbers represents the X and Y coordinates (longitude and latitude, respectively) of the northeast corner of the bounding box.

    For example, [-12.7935, -37.4835, -12.0684, -36.9542] represents a bounding box where the southwest corner has longitude -12.7935 and latitude -37.4835, and the northeast corner has longitude -12.0684 and latitude -36.9542.

    FilterBBox and BiasPosition are mutually exclusive. Specifying both options results in an error.

  • :filter_categories (Array<String>)

    A list of one or more Amazon Location categories to filter the returned places. If you include more than one category, the results will include results that match any of the categories listed.

    For more information about using categories, including a list of Amazon Location categories, see Categories and filtering, in the Amazon Location Service Developer Guide.

  • :filter_countries (Array<String>)

    An optional parameter that limits the search results by returning only suggestions within the provided list of countries.

    • Use the ISO 3166 3-digit country code. For example, Australia uses three upper-case characters: AUS.

    ^

  • :index_name (required, String)

    The name of the place index resource you want to use for the search.

  • :key (String)

    The optional API key to authorize the request.

  • :language (String)

    The preferred language used to return results. The value must be a valid BCP 47 language tag, for example, en for English.

    This setting affects the languages used in the results. If no language is specified, or not supported for a particular result, the partner automatically chooses a language for the result.

    For an example, we'll use the Greek language. You search for Athens, Gr to get suggestions with the language parameter set to en. The results found will most likely be returned as Athens, Greece.

    If you set the language parameter to el, for Greek, then the result found will more likely be returned as Αθήνα, Ελλάδα.

    If the data provider does not have a value for Greek, the result will be in a language that the provider does support.

  • :max_results (Integer)

    An optional parameter. The maximum number of results returned per request.

    The default: 5

  • :text (required, String)

    The free-form partial text to use to generate place suggestions. For example, eiffel tow.

Returns:

See Also:



4023
4024
4025
4026
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 4023

def search_place_index_for_suggestions(params = {}, options = {})
  req = build_request(:search_place_index_for_suggestions, params)
  req.send_request(options)
end

#search_place_index_for_text(params = {}) ⇒ Types::SearchPlaceIndexForTextResponse

Geocodes free-form text, such as an address, name, city, or region to allow you to search for Places or points of interest.

Optional parameters let you narrow your search results by bounding box or country, or bias your search toward a specific position on the globe.

You can search for places near a given position using BiasPosition, or filter results within a bounding box using FilterBBox. Providing both parameters simultaneously returns an error.

Search results are returned in order of highest to lowest relevance.

Examples:

Request syntax with placeholder values


resp = client.search_place_index_for_text({
  bias_position: [1.0],
  filter_b_box: [1.0],
  filter_categories: ["PlaceCategory"],
  filter_countries: ["CountryCode"],
  index_name: "ResourceName", # required
  key: "ApiKey",
  language: "LanguageTag",
  max_results: 1,
  text: "SearchPlaceIndexForTextRequestTextString", # required
})

Response structure


resp.results #=> Array
resp.results[0].distance #=> Float
resp.results[0].place.address_number #=> String
resp.results[0].place.categories #=> Array
resp.results[0].place.categories[0] #=> String
resp.results[0].place.country #=> String
resp.results[0].place.geometry.point #=> Array
resp.results[0].place.geometry.point[0] #=> Float
resp.results[0].place.interpolated #=> Boolean
resp.results[0].place.label #=> String
resp.results[0].place.municipality #=> String
resp.results[0].place.neighborhood #=> String
resp.results[0].place.postal_code #=> String
resp.results[0].place.region #=> String
resp.results[0].place.street #=> String
resp.results[0].place.sub_municipality #=> String
resp.results[0].place.sub_region #=> String
resp.results[0].place.supplemental_categories #=> Array
resp.results[0].place.supplemental_categories[0] #=> String
resp.results[0].place.time_zone.name #=> String
resp.results[0].place.time_zone.offset #=> Integer
resp.results[0].place.unit_number #=> String
resp.results[0].place.unit_type #=> String
resp.results[0].place_id #=> String
resp.results[0].relevance #=> Float
resp.summary.bias_position #=> Array
resp.summary.bias_position[0] #=> Float
resp.summary.data_source #=> String
resp.summary.filter_b_box #=> Array
resp.summary.filter_b_box[0] #=> Float
resp.summary.filter_categories #=> Array
resp.summary.filter_categories[0] #=> String
resp.summary.filter_countries #=> Array
resp.summary.filter_countries[0] #=> String
resp.summary.language #=> String
resp.summary.max_results #=> Integer
resp.summary.result_b_box #=> Array
resp.summary.result_b_box[0] #=> Float
resp.summary.text #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :bias_position (Array<Float>)

    An optional parameter that indicates a preference for places that are closer to a specified position.

    If provided, this parameter must contain a pair of numbers. The first number represents the X coordinate, or longitude; the second number represents the Y coordinate, or latitude.

    For example, [-123.1174, 49.2847] represents the position with longitude -123.1174 and latitude 49.2847.

    BiasPosition and FilterBBox are mutually exclusive. Specifying both options results in an error.

  • :filter_b_box (Array<Float>)

    An optional parameter that limits the search results by returning only places that are within the provided bounding box.

    If provided, this parameter must contain a total of four consecutive numbers in two pairs. The first pair of numbers represents the X and Y coordinates (longitude and latitude, respectively) of the southwest corner of the bounding box; the second pair of numbers represents the X and Y coordinates (longitude and latitude, respectively) of the northeast corner of the bounding box.

    For example, [-12.7935, -37.4835, -12.0684, -36.9542] represents a bounding box where the southwest corner has longitude -12.7935 and latitude -37.4835, and the northeast corner has longitude -12.0684 and latitude -36.9542.

    FilterBBox and BiasPosition are mutually exclusive. Specifying both options results in an error.

  • :filter_categories (Array<String>)

    A list of one or more Amazon Location categories to filter the returned places. If you include more than one category, the results will include results that match any of the categories listed.

    For more information about using categories, including a list of Amazon Location categories, see Categories and filtering, in the Amazon Location Service Developer Guide.

  • :filter_countries (Array<String>)

    An optional parameter that limits the search results by returning only places that are in a specified list of countries.

    • Valid values include ISO 3166 3-digit country codes. For example, Australia uses three upper-case characters: AUS.

    ^

  • :index_name (required, String)

    The name of the place index resource you want to use for the search.

  • :key (String)

    The optional API key to authorize the request.

  • :language (String)

    The preferred language used to return results. The value must be a valid BCP 47 language tag, for example, en for English.

    This setting affects the languages used in the results, but not the results themselves. If no language is specified, or not supported for a particular result, the partner automatically chooses a language for the result.

    For an example, we'll use the Greek language. You search for Athens, Greece, with the language parameter set to en. The result found will most likely be returned as Athens.

    If you set the language parameter to el, for Greek, then the result found will more likely be returned as Αθήνα.

    If the data provider does not have a value for Greek, the result will be in a language that the provider does support.

  • :max_results (Integer)

    An optional parameter. The maximum number of results returned per request.

    The default: 50

  • :text (required, String)

    The address, name, city, or region to be used in the search in free-form text format. For example, 123 Any Street.

Returns:

See Also:



4214
4215
4216
4217
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 4214

def search_place_index_for_text(params = {}, options = {})
  req = build_request(:search_place_index_for_text, params)
  req.send_request(options)
end

#tag_resource(params = {}) ⇒ Struct

Assigns one or more tags (key-value pairs) to the specified Amazon Location Service resource.

Tags can help you organize and categorize your resources. You can also use them to scope user permissions, by granting a user permission to access or change only resources with certain tag values.

You can use the TagResource operation with an Amazon Location Service resource that already has tags. If you specify a new tag key for the resource, this tag is appended to the tags already associated with the resource. If you specify a tag key that's already associated with the resource, the new tag value that you specify replaces the previous value for that tag.

You can associate up to 50 tags with a resource.

Examples:

Request syntax with placeholder values


resp = client.tag_resource({
  resource_arn: "Arn", # required
  tags: { # required
    "TagKey" => "TagValue",
  },
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    The Amazon Resource Name (ARN) of the resource whose tags you want to update.

    • Format example: arn:aws:geo:region:account-id:resourcetype/ExampleResource

    ^

  • :tags (required, Hash<String,String>)

    Applies one or more tags to specific resource. A tag is a key-value pair that helps you manage, identify, search, and filter your resources.

    Format: "key" : "value"

    Restrictions:

    • Maximum 50 tags per resource.

    • Each tag key must be unique and must have exactly one associated value.

    • Maximum key length: 128 Unicode characters in UTF-8.

    • Maximum value length: 256 Unicode characters in UTF-8.

    • Can use alphanumeric characters (A–Z, a–z, 0–9), and the following characters: + - = . _ : / @

    • Cannot use "aws:" as a prefix for a key.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



4282
4283
4284
4285
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 4282

def tag_resource(params = {}, options = {})
  req = build_request(:tag_resource, params)
  req.send_request(options)
end

#untag_resource(params = {}) ⇒ Struct

Removes one or more tags from the specified Amazon Location resource.

Examples:

Request syntax with placeholder values


resp = client.untag_resource({
  resource_arn: "Arn", # required
  tag_keys: ["String"], # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    The Amazon Resource Name (ARN) of the resource from which you want to remove tags.

    • Format example: arn:aws:geo:region:account-id:resourcetype/ExampleResource

    ^

  • :tag_keys (required, Array<String>)

    The list of tag keys to remove from the specified resource.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



4314
4315
4316
4317
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 4314

def untag_resource(params = {}, options = {})
  req = build_request(:untag_resource, params)
  req.send_request(options)
end

#update_geofence_collection(params = {}) ⇒ Types::UpdateGeofenceCollectionResponse

Updates the specified properties of a given geofence collection.

Examples:

Request syntax with placeholder values


resp = client.update_geofence_collection({
  collection_name: "ResourceName", # required
  description: "ResourceDescription",
  pricing_plan: "RequestBasedUsage", # accepts RequestBasedUsage, MobileAssetTracking, MobileAssetManagement
  pricing_plan_data_source: "String",
})

Response structure


resp.collection_arn #=> String
resp.collection_name #=> String
resp.update_time #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :collection_name (required, String)

    The name of the geofence collection to update.

  • :description (String)

    Updates the description for the geofence collection.

  • :pricing_plan (String)

    No longer used. If included, the only allowed value is RequestBasedUsage.

  • :pricing_plan_data_source (String)

    This parameter is no longer used.

Returns:

See Also:



4359
4360
4361
4362
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 4359

def update_geofence_collection(params = {}, options = {})
  req = build_request(:update_geofence_collection, params)
  req.send_request(options)
end

#update_key(params = {}) ⇒ Types::UpdateKeyResponse

Updates the specified properties of a given API key resource.

Examples:

Request syntax with placeholder values


resp = client.update_key({
  description: "ResourceDescription",
  expire_time: Time.now,
  force_update: false,
  key_name: "ResourceName", # required
  no_expiry: false,
  restrictions: {
    allow_actions: ["ApiKeyAction"], # required
    allow_referers: ["RefererPattern"],
    allow_resources: ["GeoArn"], # required
  },
})

Response structure


resp.key_arn #=> String
resp.key_name #=> String
resp.update_time #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :description (String)

    Updates the description for the API key resource.

  • :expire_time (Time, DateTime, Date, Integer, String)

    Updates the timestamp for when the API key resource will expire in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

  • :force_update (Boolean)

    The boolean flag to be included for updating ExpireTime or Restrictions details.

    Must be set to true to update an API key resource that has been used in the past 7 days.

    False if force update is not preferred

    Default value: False

  • :key_name (required, String)

    The name of the API key resource to update.

  • :no_expiry (Boolean)

    Whether the API key should expire. Set to true to set the API key to have no expiration time.

  • :restrictions (Types::ApiKeyRestrictions)

    Updates the API key restrictions for the API key resource.

Returns:

See Also:



4429
4430
4431
4432
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 4429

def update_key(params = {}, options = {})
  req = build_request(:update_key, params)
  req.send_request(options)
end

#update_map(params = {}) ⇒ Types::UpdateMapResponse

Updates the specified properties of a given map resource.

Examples:

Request syntax with placeholder values


resp = client.update_map({
  configuration_update: {
    custom_layers: ["CustomLayer"],
    political_view: "CountryCode3OrEmpty",
  },
  description: "ResourceDescription",
  map_name: "ResourceName", # required
  pricing_plan: "RequestBasedUsage", # accepts RequestBasedUsage, MobileAssetTracking, MobileAssetManagement
})

Response structure


resp.map_arn #=> String
resp.map_name #=> String
resp.update_time #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :configuration_update (Types::MapConfigurationUpdate)

    Updates the parts of the map configuration that can be updated, including the political view.

  • :description (String)

    Updates the description for the map resource.

  • :map_name (required, String)

    The name of the map resource to update.

  • :pricing_plan (String)

    No longer used. If included, the only allowed value is RequestBasedUsage.

Returns:

See Also:



4478
4479
4480
4481
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 4478

def update_map(params = {}, options = {})
  req = build_request(:update_map, params)
  req.send_request(options)
end

#update_place_index(params = {}) ⇒ Types::UpdatePlaceIndexResponse

Updates the specified properties of a given place index resource.

Examples:

Request syntax with placeholder values


resp = client.update_place_index({
  data_source_configuration: {
    intended_use: "SingleUse", # accepts SingleUse, Storage
  },
  description: "ResourceDescription",
  index_name: "ResourceName", # required
  pricing_plan: "RequestBasedUsage", # accepts RequestBasedUsage, MobileAssetTracking, MobileAssetManagement
})

Response structure


resp.index_arn #=> String
resp.index_name #=> String
resp.update_time #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :data_source_configuration (Types::DataSourceConfiguration)

    Updates the data storage option for the place index resource.

  • :description (String)

    Updates the description for the place index resource.

  • :index_name (required, String)

    The name of the place index resource to update.

  • :pricing_plan (String)

    No longer used. If included, the only allowed value is RequestBasedUsage.

Returns:

See Also:



4525
4526
4527
4528
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 4525

def update_place_index(params = {}, options = {})
  req = build_request(:update_place_index, params)
  req.send_request(options)
end

#update_route_calculator(params = {}) ⇒ Types::UpdateRouteCalculatorResponse

Updates the specified properties for a given route calculator resource.

Examples:

Request syntax with placeholder values


resp = client.update_route_calculator({
  calculator_name: "ResourceName", # required
  description: "ResourceDescription",
  pricing_plan: "RequestBasedUsage", # accepts RequestBasedUsage, MobileAssetTracking, MobileAssetManagement
})

Response structure


resp.calculator_arn #=> String
resp.calculator_name #=> String
resp.update_time #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :calculator_name (required, String)

    The name of the route calculator resource to update.

  • :description (String)

    Updates the description for the route calculator resource.

  • :pricing_plan (String)

    No longer used. If included, the only allowed value is RequestBasedUsage.

Returns:

See Also:



4567
4568
4569
4570
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 4567

def update_route_calculator(params = {}, options = {})
  req = build_request(:update_route_calculator, params)
  req.send_request(options)
end

#update_tracker(params = {}) ⇒ Types::UpdateTrackerResponse

Updates the specified properties of a given tracker resource.

Examples:

Request syntax with placeholder values


resp = client.update_tracker({
  description: "ResourceDescription",
  event_bridge_enabled: false,
  kms_key_enable_geospatial_queries: false,
  position_filtering: "TimeBased", # accepts TimeBased, DistanceBased, AccuracyBased
  pricing_plan: "RequestBasedUsage", # accepts RequestBasedUsage, MobileAssetTracking, MobileAssetManagement
  pricing_plan_data_source: "String",
  tracker_name: "ResourceName", # required
})

Response structure


resp.tracker_arn #=> String
resp.tracker_name #=> String
resp.update_time #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :description (String)

    Updates the description for the tracker resource.

  • :event_bridge_enabled (Boolean)

    Whether to enable position UPDATE events from this tracker to be sent to EventBridge.

    You do not need enable this feature to get ENTER and EXIT events for geofences with this tracker. Those events are always sent to EventBridge.

  • :kms_key_enable_geospatial_queries (Boolean)

    Enables GeospatialQueries for a tracker that uses a Amazon Web Services KMS customer managed key.

    This parameter is only used if you are using a KMS customer managed key.

  • :position_filtering (String)

    Updates the position filtering for the tracker resource.

    Valid values:

    • TimeBased - Location updates are evaluated against linked geofence collections, but not every location update is stored. If your update frequency is more often than 30 seconds, only one update per 30 seconds is stored for each unique device ID.

    • DistanceBased - If the device has moved less than 30 m (98.4 ft), location updates are ignored. Location updates within this distance are neither evaluated against linked geofence collections, nor stored. This helps control costs by reducing the number of geofence evaluations and historical device positions to paginate through. Distance-based filtering can also reduce the effects of GPS noise when displaying device trajectories on a map.

    • AccuracyBased - If the device has moved less than the measured accuracy, location updates are ignored. For example, if two consecutive updates from a device have a horizontal accuracy of 5 m and 10 m, the second update is ignored if the device has moved less than 15 m. Ignored location updates are neither evaluated against linked geofence collections, nor stored. This helps educe the effects of GPS noise when displaying device trajectories on a map, and can help control costs by reducing the number of geofence evaluations.

  • :pricing_plan (String)

    No longer used. If included, the only allowed value is RequestBasedUsage.

  • :pricing_plan_data_source (String)

    This parameter is no longer used.

  • :tracker_name (required, String)

    The name of the tracker resource to update.

Returns:

See Also:



4664
4665
4666
4667
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/client.rb', line 4664

def update_tracker(params = {}, options = {})
  req = build_request(:update_tracker, params)
  req.send_request(options)
end