diff --git a/clients/client-location/src/commands/CalculateRouteCommand.ts b/clients/client-location/src/commands/CalculateRouteCommand.ts index 2ebd55602714..40eb46f0c3c0 100644 --- a/clients/client-location/src/commands/CalculateRouteCommand.ts +++ b/clients/client-location/src/commands/CalculateRouteCommand.ts @@ -117,6 +117,7 @@ export interface CalculateRouteCommandOutput extends CalculateRouteResponse, __M * Unit: "STRING_VALUE", * }, * }, + * Key: "STRING_VALUE", * }; * const command = new CalculateRouteCommand(input); * const response = await client.send(command); diff --git a/clients/client-location/src/commands/CalculateRouteMatrixCommand.ts b/clients/client-location/src/commands/CalculateRouteMatrixCommand.ts index e5573c9a9e90..4e09ecfe5b91 100644 --- a/clients/client-location/src/commands/CalculateRouteMatrixCommand.ts +++ b/clients/client-location/src/commands/CalculateRouteMatrixCommand.ts @@ -123,6 +123,7 @@ export interface CalculateRouteMatrixCommandOutput extends CalculateRouteMatrixR * Unit: "STRING_VALUE", * }, * }, + * Key: "STRING_VALUE", * }; * const command = new CalculateRouteMatrixCommand(input); * const response = await client.send(command); diff --git a/clients/client-location/src/commands/CreateKeyCommand.ts b/clients/client-location/src/commands/CreateKeyCommand.ts index aac2c2544cfc..39f413694029 100644 --- a/clients/client-location/src/commands/CreateKeyCommand.ts +++ b/clients/client-location/src/commands/CreateKeyCommand.ts @@ -37,13 +37,10 @@ export interface CreateKeyCommandOutput extends CreateKeyResponse, __MetadataBea /** * @public *

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

- * - *

The API keys feature is in preview. We may add, change, or remove - * features before announcing general availability. For more information, see - * Using API keys.

- *
+ * actions for Amazon Location resources to the API key bearer.

+ * + *

For more information, see Using API keys.

+ *
* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-location/src/commands/CreateTrackerCommand.ts b/clients/client-location/src/commands/CreateTrackerCommand.ts index 5f459229da62..47d48462af71 100644 --- a/clients/client-location/src/commands/CreateTrackerCommand.ts +++ b/clients/client-location/src/commands/CreateTrackerCommand.ts @@ -54,6 +54,7 @@ export interface CreateTrackerCommandOutput extends CreateTrackerResponse, __Met * "": "STRING_VALUE", * }, * PositionFiltering: "STRING_VALUE", + * EventBridgeEnabled: true || false, * }; * const command = new CreateTrackerCommand(input); * const response = await client.send(command); diff --git a/clients/client-location/src/commands/DescribeKeyCommand.ts b/clients/client-location/src/commands/DescribeKeyCommand.ts index 3356773b6692..d11151cbe22e 100644 --- a/clients/client-location/src/commands/DescribeKeyCommand.ts +++ b/clients/client-location/src/commands/DescribeKeyCommand.ts @@ -37,11 +37,6 @@ export interface DescribeKeyCommandOutput extends DescribeKeyResponse, __Metadat /** * @public *

Retrieves the API key resource details.

- * - *

The API keys feature is in preview. We may add, change, or remove - * features before announcing general availability. For more information, see - * Using API keys.

- *
* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-location/src/commands/DescribeTrackerCommand.ts b/clients/client-location/src/commands/DescribeTrackerCommand.ts index 97d38a70cb56..8889f9bcb19b 100644 --- a/clients/client-location/src/commands/DescribeTrackerCommand.ts +++ b/clients/client-location/src/commands/DescribeTrackerCommand.ts @@ -61,6 +61,7 @@ export interface DescribeTrackerCommandOutput extends DescribeTrackerResponse, _ * // UpdateTime: new Date("TIMESTAMP"), // required * // KmsKeyId: "STRING_VALUE", * // PositionFiltering: "STRING_VALUE", + * // EventBridgeEnabled: true || false, * // }; * * ``` diff --git a/clients/client-location/src/commands/GetPlaceCommand.ts b/clients/client-location/src/commands/GetPlaceCommand.ts index 32853ba79ee6..a16d375e34a0 100644 --- a/clients/client-location/src/commands/GetPlaceCommand.ts +++ b/clients/client-location/src/commands/GetPlaceCommand.ts @@ -14,7 +14,12 @@ import { } from "@smithy/types"; import { LocationClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../LocationClient"; -import { GetPlaceRequest, GetPlaceResponse, GetPlaceResponseFilterSensitiveLog } from "../models/models_0"; +import { + GetPlaceRequest, + GetPlaceRequestFilterSensitiveLog, + GetPlaceResponse, + GetPlaceResponseFilterSensitiveLog, +} from "../models/models_0"; import { de_GetPlaceCommand, se_GetPlaceCommand } from "../protocols/Aws_restJson1"; /** @@ -63,6 +68,7 @@ export interface GetPlaceCommandOutput extends GetPlaceResponse, __MetadataBeare * IndexName: "STRING_VALUE", // required * PlaceId: "STRING_VALUE", // required * Language: "STRING_VALUE", + * Key: "STRING_VALUE", * }; * const command = new GetPlaceCommand(input); * const response = await client.send(command); @@ -172,7 +178,7 @@ export class GetPlaceCommand extends $Command< logger, clientName, commandName, - inputFilterSensitiveLog: (_: any) => _, + inputFilterSensitiveLog: GetPlaceRequestFilterSensitiveLog, outputFilterSensitiveLog: GetPlaceResponseFilterSensitiveLog, }; const { requestHandler } = configuration; diff --git a/clients/client-location/src/commands/ListKeysCommand.ts b/clients/client-location/src/commands/ListKeysCommand.ts index 384d3ed64093..6a03b2351b8c 100644 --- a/clients/client-location/src/commands/ListKeysCommand.ts +++ b/clients/client-location/src/commands/ListKeysCommand.ts @@ -37,11 +37,6 @@ export interface ListKeysCommandOutput extends ListKeysResponse, __MetadataBeare /** * @public *

Lists API key resources in your Amazon Web Services account.

- * - *

The API keys feature is in preview. We may add, change, or remove - * features before announcing general availability. For more information, see - * Using API keys.

- *
* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-location/src/commands/SearchPlaceIndexForPositionCommand.ts b/clients/client-location/src/commands/SearchPlaceIndexForPositionCommand.ts index 95a895ab790a..f9b5e680dc50 100644 --- a/clients/client-location/src/commands/SearchPlaceIndexForPositionCommand.ts +++ b/clients/client-location/src/commands/SearchPlaceIndexForPositionCommand.ts @@ -61,6 +61,7 @@ export interface SearchPlaceIndexForPositionCommandOutput * ], * MaxResults: Number("int"), * Language: "STRING_VALUE", + * Key: "STRING_VALUE", * }; * const command = new SearchPlaceIndexForPositionCommand(input); * const response = await client.send(command); diff --git a/clients/client-location/src/commands/SearchPlaceIndexForSuggestionsCommand.ts b/clients/client-location/src/commands/SearchPlaceIndexForSuggestionsCommand.ts index 2620946826a3..5ed293122757 100644 --- a/clients/client-location/src/commands/SearchPlaceIndexForSuggestionsCommand.ts +++ b/clients/client-location/src/commands/SearchPlaceIndexForSuggestionsCommand.ts @@ -81,6 +81,7 @@ export interface SearchPlaceIndexForSuggestionsCommandOutput * FilterCategories: [ // FilterPlaceCategoryList * "STRING_VALUE", * ], + * Key: "STRING_VALUE", * }; * const command = new SearchPlaceIndexForSuggestionsCommand(input); * const response = await client.send(command); diff --git a/clients/client-location/src/commands/SearchPlaceIndexForTextCommand.ts b/clients/client-location/src/commands/SearchPlaceIndexForTextCommand.ts index e0c969e76033..6b3c5a053625 100644 --- a/clients/client-location/src/commands/SearchPlaceIndexForTextCommand.ts +++ b/clients/client-location/src/commands/SearchPlaceIndexForTextCommand.ts @@ -74,6 +74,7 @@ export interface SearchPlaceIndexForTextCommandOutput extends SearchPlaceIndexFo * FilterCategories: [ // FilterPlaceCategoryList * "STRING_VALUE", * ], + * Key: "STRING_VALUE", * }; * const command = new SearchPlaceIndexForTextCommand(input); * const response = await client.send(command); diff --git a/clients/client-location/src/commands/UpdateKeyCommand.ts b/clients/client-location/src/commands/UpdateKeyCommand.ts index d3572f0ae2b4..1613665e69ad 100644 --- a/clients/client-location/src/commands/UpdateKeyCommand.ts +++ b/clients/client-location/src/commands/UpdateKeyCommand.ts @@ -37,11 +37,6 @@ export interface UpdateKeyCommandOutput extends UpdateKeyResponse, __MetadataBea /** * @public *

Updates the specified properties of a given API key resource.

- * - *

The API keys feature is in preview. We may add, change, or remove - * features before announcing general availability. For more information, see - * Using API keys.

- *
* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-location/src/commands/UpdateTrackerCommand.ts b/clients/client-location/src/commands/UpdateTrackerCommand.ts index 37ad15dfdd20..be02ae03c61c 100644 --- a/clients/client-location/src/commands/UpdateTrackerCommand.ts +++ b/clients/client-location/src/commands/UpdateTrackerCommand.ts @@ -49,6 +49,7 @@ export interface UpdateTrackerCommandOutput extends UpdateTrackerResponse, __Met * PricingPlanDataSource: "STRING_VALUE", * Description: "STRING_VALUE", * PositionFiltering: "STRING_VALUE", + * EventBridgeEnabled: true || false, * }; * const command = new UpdateTrackerCommand(input); * const response = await client.send(command); diff --git a/clients/client-location/src/models/models_0.ts b/clients/client-location/src/models/models_0.ts index d367a115dffa..29a5ea666d35 100644 --- a/clients/client-location/src/models/models_0.ts +++ b/clients/client-location/src/models/models_0.ts @@ -72,59 +72,100 @@ export class ConflictException extends __BaseException { export interface ApiKeyRestrictions { /** *

A list of allowed actions that an API key resource grants permissions to - * perform

- * - *

Currently, the only valid action is geo:GetMap* as an input to the - * list. For example, ["geo:GetMap*"] is valid but - * ["geo:GetMapTile"] is not.

- *
- */ - AllowActions: string[] | undefined; - - /** - *

A list of allowed resource ARNs that a API key bearer can perform actions on

- *

For more information about ARN format, see Amazon Resource Names - * (ARNs).

- * - *

In this preview, you can allow only map resources.

- *
- *

Requirements:

+ * perform. You must have at least one action for each type of resource. For example, + * if you have a place resource, you must include at least one place action.

+ *

The following are valid values for the actions.

* + * + *

You must use these strings exactly. For example, to provide access to map + * rendering, the only valid action is geo:GetMap* as an input to + * the list. ["geo:GetMap*"] is valid but + * ["geo:GetMapTile"] is not. Similarly, you cannot use + * ["geo:SearchPlaceIndexFor*"] - you must list each of the Place + * actions separately.

+ *
+ */ + AllowActions: string[] | undefined; + + /** + *

A list of allowed resource ARNs that a API key bearer can perform actions on.

+ * + *

For more information about ARN format, see Amazon Resource Names + * (ARNs).

*/ AllowResources: string[] | undefined; @@ -1078,8 +1119,11 @@ export interface BatchPutGeofenceRequestEntry { Geometry: GeofenceGeometry | undefined; /** - *

Specifies additional user-defined properties to store with the Geofence. An array - * of key-value pairs.

+ *

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" + *

*/ GeofenceProperties?: Record; } @@ -1541,6 +1585,12 @@ export interface CalculateRouteRequest { *

Requirements: TravelMode must be specified as Truck.

*/ TruckModeOptions?: CalculateRouteTruckModeOptions; + + /** + *

The optional API key to authorize + * the request.

+ */ + Key?: string; } /** @@ -1948,6 +1998,12 @@ export interface CalculateRouteMatrixRequest { *

Requirements: TravelMode must be specified as Truck.

*/ TruckModeOptions?: CalculateRouteTruckModeOptions; + + /** + *

The optional API key to authorize + * the request.

+ */ + Key?: string; } /** @@ -2954,6 +3010,17 @@ export interface CreateTrackerRequest { *

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

*/ PositionFiltering?: PositionFiltering | string; + + /** + *

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.

+ *
+ */ + EventBridgeEnabled?: boolean; } /** @@ -3476,6 +3543,12 @@ export interface DescribeTrackerResponse { *

The position filtering method of the tracker resource.

*/ PositionFiltering?: PositionFiltering | string; + + /** + *

Whether UPDATE events from this tracker in EventBridge are + * enabled. If set to true these events will be sent to EventBridge.

+ */ + EventBridgeEnabled?: boolean; } /** @@ -3694,8 +3767,11 @@ export interface GetGeofenceResponse { UpdateTime: Date | undefined; /** - *

Contains additional user-defined properties stored with the geofence. An array of - * key-value pairs.

+ *

User defined properties of 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" + *

*/ GeofenceProperties?: Record; } @@ -3865,8 +3941,11 @@ export interface ListGeofenceResponseEntry { UpdateTime: Date | undefined; /** - *

Contains additional user-defined properties stored with the geofence. An array of - * key-value pairs.

+ *

User defined properties of 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" + *

*/ GeofenceProperties?: Record; } @@ -3912,8 +3991,11 @@ export interface PutGeofenceRequest { Geometry: GeofenceGeometry | undefined; /** - *

Specifies additional user-defined properties to store with the Geofence. An array - * of key-value pairs.

+ *

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" + *

*/ GeofenceProperties?: Record; } @@ -4447,6 +4529,12 @@ export interface GetPlaceRequest { * that the provider does support.

*/ Language?: string; + + /** + *

The optional API key to authorize + * the request.

+ */ + Key?: string; } /** @@ -5207,6 +5295,12 @@ export interface SearchPlaceIndexForPositionRequest { * that the provider does support.

*/ Language?: string; + + /** + *

The optional API key to authorize + * the request.

+ */ + Key?: string; } /** @@ -5399,6 +5493,12 @@ export interface SearchPlaceIndexForSuggestionsRequest { * Guide.

*/ FilterCategories?: string[]; + + /** + *

The optional API key to authorize + * the request.

+ */ + Key?: string; } /** @@ -5624,6 +5724,12 @@ export interface SearchPlaceIndexForTextRequest { * Guide.

*/ FilterCategories?: string[]; + + /** + *

The optional API key to authorize + * the request.

+ */ + Key?: string; } /** @@ -5937,6 +6043,17 @@ export interface UpdateTrackerRequest { * */ PositionFiltering?: PositionFiltering | string; + + /** + *

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.

+ *
+ */ + EventBridgeEnabled?: boolean; } /** @@ -6071,6 +6188,7 @@ export const CalculateRouteRequestFilterSensitiveLog = (obj: CalculateRouteReque ...(obj.DeparturePosition && { DeparturePosition: SENSITIVE_STRING }), ...(obj.DestinationPosition && { DestinationPosition: SENSITIVE_STRING }), ...(obj.WaypointPositions && { WaypointPositions: SENSITIVE_STRING }), + ...(obj.Key && { Key: SENSITIVE_STRING }), }); /** @@ -6125,6 +6243,7 @@ export const CalculateRouteMatrixRequestFilterSensitiveLog = (obj: CalculateRout ...obj, ...(obj.DeparturePositions && { DeparturePositions: SENSITIVE_STRING }), ...(obj.DestinationPositions && { DestinationPositions: SENSITIVE_STRING }), + ...(obj.Key && { Key: SENSITIVE_STRING }), }); /** @@ -6222,6 +6341,14 @@ export const GetMapTileRequestFilterSensitiveLog = (obj: GetMapTileRequest): any ...(obj.Key && { Key: SENSITIVE_STRING }), }); +/** + * @internal + */ +export const GetPlaceRequestFilterSensitiveLog = (obj: GetPlaceRequest): any => ({ + ...obj, + ...(obj.Key && { Key: SENSITIVE_STRING }), +}); + /** * @internal */ @@ -6269,6 +6396,7 @@ export const ListDevicePositionsResponseFilterSensitiveLog = (obj: ListDevicePos export const SearchPlaceIndexForPositionRequestFilterSensitiveLog = (obj: SearchPlaceIndexForPositionRequest): any => ({ ...obj, ...(obj.Position && { Position: SENSITIVE_STRING }), + ...(obj.Key && { Key: SENSITIVE_STRING }), }); /** @@ -6308,6 +6436,7 @@ export const SearchPlaceIndexForSuggestionsRequestFilterSensitiveLog = ( ...(obj.Text && { Text: SENSITIVE_STRING }), ...(obj.BiasPosition && { BiasPosition: SENSITIVE_STRING }), ...(obj.FilterBBox && { FilterBBox: SENSITIVE_STRING }), + ...(obj.Key && { Key: SENSITIVE_STRING }), }); /** @@ -6340,6 +6469,7 @@ export const SearchPlaceIndexForTextRequestFilterSensitiveLog = (obj: SearchPlac ...(obj.Text && { Text: SENSITIVE_STRING }), ...(obj.BiasPosition && { BiasPosition: SENSITIVE_STRING }), ...(obj.FilterBBox && { FilterBBox: SENSITIVE_STRING }), + ...(obj.Key && { Key: SENSITIVE_STRING }), }); /** diff --git a/clients/client-location/src/protocols/Aws_restJson1.ts b/clients/client-location/src/protocols/Aws_restJson1.ts index 3efa17f779e2..0faca63946a4 100644 --- a/clients/client-location/src/protocols/Aws_restJson1.ts +++ b/clients/client-location/src/protocols/Aws_restJson1.ts @@ -530,6 +530,9 @@ export const se_CalculateRouteCommand = async ( "{CalculatorName}", false ); + const query: any = map({ + key: [, input.Key!], + }); let body: any; body = JSON.stringify( take(input, { @@ -559,6 +562,7 @@ export const se_CalculateRouteCommand = async ( method: "POST", headers, path: resolvedPath, + query, body, }); }; @@ -585,6 +589,9 @@ export const se_CalculateRouteMatrixCommand = async ( "{CalculatorName}", false ); + const query: any = map({ + key: [, input.Key!], + }); let body: any; body = JSON.stringify( take(input, { @@ -612,6 +619,7 @@ export const se_CalculateRouteMatrixCommand = async ( method: "POST", headers, path: resolvedPath, + query, body, }); }; @@ -836,6 +844,7 @@ export const se_CreateTrackerCommand = async ( body = JSON.stringify( take(input, { Description: [], + EventBridgeEnabled: [], KmsKeyId: [], PositionFiltering: [], PricingPlan: [], @@ -1582,6 +1591,7 @@ export const se_GetPlaceCommand = async ( resolvedPath = __resolvedPath(resolvedPath, input, "PlaceId", () => input.PlaceId!, "{PlaceId}", false); const query: any = map({ language: [, input.Language!], + key: [, input.Key!], }); let body: any; let { hostname: resolvedHostname } = await context.endpoint(); @@ -2050,6 +2060,9 @@ export const se_SearchPlaceIndexForPositionCommand = async ( `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/places/v0/indexes/{IndexName}/search/position"; resolvedPath = __resolvedPath(resolvedPath, input, "IndexName", () => input.IndexName!, "{IndexName}", false); + const query: any = map({ + key: [, input.Key!], + }); let body: any; body = JSON.stringify( take(input, { @@ -2072,6 +2085,7 @@ export const se_SearchPlaceIndexForPositionCommand = async ( method: "POST", headers, path: resolvedPath, + query, body, }); }; @@ -2091,6 +2105,9 @@ export const se_SearchPlaceIndexForSuggestionsCommand = async ( `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/places/v0/indexes/{IndexName}/search/suggestions"; resolvedPath = __resolvedPath(resolvedPath, input, "IndexName", () => input.IndexName!, "{IndexName}", false); + const query: any = map({ + key: [, input.Key!], + }); let body: any; body = JSON.stringify( take(input, { @@ -2117,6 +2134,7 @@ export const se_SearchPlaceIndexForSuggestionsCommand = async ( method: "POST", headers, path: resolvedPath, + query, body, }); }; @@ -2136,6 +2154,9 @@ export const se_SearchPlaceIndexForTextCommand = async ( `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/places/v0/indexes/{IndexName}/search/text"; resolvedPath = __resolvedPath(resolvedPath, input, "IndexName", () => input.IndexName!, "{IndexName}", false); + const query: any = map({ + key: [, input.Key!], + }); let body: any; body = JSON.stringify( take(input, { @@ -2162,6 +2183,7 @@ export const se_SearchPlaceIndexForTextCommand = async ( method: "POST", headers, path: resolvedPath, + query, body, }); }; @@ -2473,6 +2495,7 @@ export const se_UpdateTrackerCommand = async ( body = JSON.stringify( take(input, { Description: [], + EventBridgeEnabled: [], PositionFiltering: [], PricingPlan: [], PricingPlanDataSource: [], @@ -4101,6 +4124,7 @@ export const de_DescribeTrackerCommand = async ( const doc = take(data, { CreateTime: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), Description: __expectString, + EventBridgeEnabled: __expectBoolean, KmsKeyId: __expectString, PositionFiltering: __expectString, PricingPlan: __expectString, diff --git a/codegen/sdk-codegen/aws-models/location.json b/codegen/sdk-codegen/aws-models/location.json index fc725650ccd3..9e0786b3de01 100644 --- a/codegen/sdk-codegen/aws-models/location.json +++ b/codegen/sdk-codegen/aws-models/location.json @@ -95,7 +95,7 @@ "AllowActions": { "target": "com.amazonaws.location#ApiKeyActionList", "traits": { - "smithy.api#documentation": "

A list of allowed actions that an API key resource grants permissions to\n perform

\n \n

Currently, the only valid action is geo:GetMap* as an input to the\n list. For example, [\"geo:GetMap*\"] is valid but\n [\"geo:GetMapTile\"] is not.

\n
", + "smithy.api#documentation": "

A list of allowed actions that an API key resource grants permissions to\n perform. You must have at least one action for each type of resource. For example,\n if you have a place resource, you must include at least one place action.

\n

The following are valid values for the actions.

\n
    \n
  • \n

    \n Map actions\n

    \n
      \n
    • \n

      \n geo:GetMap* - Allows all actions needed for map rendering.

      \n
    • \n
    \n
  • \n
  • \n

    \n Place actions\n

    \n
      \n
    • \n

      \n geo:SearchPlaceIndexForText - Allows geocoding.

      \n
    • \n
    • \n

      \n geo:SearchPlaceIndexForPosition - Allows reverse \n geocoding.

      \n
    • \n
    • \n

      \n geo:SearchPlaceIndexForSuggestions - Allows generating\n suggestions from text.

      \n
    • \n
    • \n

      \n GetPlace - Allows finding a place by place ID.

      \n
    • \n
    \n
  • \n
  • \n

    \n Route actions\n

    \n
      \n
    • \n

      \n geo:CalculateRoute - Allows point to point routing.

      \n
    • \n
    • \n

      \n geo:CalculateRouteMatrix - Allows calculating a matrix of\n routes.

      \n
    • \n
    \n
  • \n
\n \n

You must use these strings exactly. For example, to provide access to map \n rendering, the only valid action is geo:GetMap* as an input to \n the list. [\"geo:GetMap*\"] is valid but\n [\"geo:GetMapTile\"] is not. Similarly, you cannot use\n [\"geo:SearchPlaceIndexFor*\"] - you must list each of the Place\n actions separately.

\n
", "smithy.api#length": { "min": 1, "max": 7 @@ -106,7 +106,7 @@ "AllowResources": { "target": "com.amazonaws.location#GeoArnList", "traits": { - "smithy.api#documentation": "

A list of allowed resource ARNs that a API key bearer can perform actions on

\n

For more information about ARN format, see Amazon Resource Names\n (ARNs).

\n \n

In this preview, you can allow only map resources.

\n
\n

Requirements:

\n
    \n
  • \n

    Must be prefixed with arn.

    \n
  • \n
  • \n

    \n partition and service must not be empty and should\n begin with only alphanumeric characters (A–Z, a–z, 0–9) and contain only\n alphanumeric numbers, hyphens (-) and periods (.).

    \n
  • \n
  • \n

    \n region and account-id can be empty or should begin\n with only alphanumeric characters (A–Z, a–z, 0–9) and contain only alphanumeric\n numbers, hyphens (-) and periods (.).

    \n
  • \n
  • \n

    \n resource-id can begin with any character except for forward slash\n (/) and contain any characters after, including forward slashes to form a\n path.

    \n

    \n resource-id can also include wildcard characters, denoted by an\n asterisk (*).

    \n
  • \n
  • \n

    \n arn, partition, service,\n region, account-id and resource-id\n must be delimited by a colon (:).

    \n
  • \n
  • \n

    No spaces allowed. For example,\n arn:aws:geo:region:account-id:map/ExampleMap*.

    \n
  • \n
", + "smithy.api#documentation": "

A list of allowed resource ARNs that a API key bearer can perform actions on.

\n
    \n
  • \n

    The ARN must be the correct ARN for a map, place, or route ARN. You may \n include wildcards in the resource-id to match multiple resources of the \n same type.

    \n
  • \n
  • \n

    The resources must be in the same partition, \n region, and account-id as the key that is being \n created.

    \n
  • \n
  • \n

    Other than wildcards, you must include the full ARN, including the \n arn, partition, service,\n region, account-id and resource-id,\n delimited by colons (:).

    \n
  • \n
  • \n

    No spaces allowed, even with wildcards. For example,\n arn:aws:geo:region:account-id:map/ExampleMap*.

    \n
  • \n
\n

For more information about ARN format, see Amazon Resource Names\n (ARNs).

", "smithy.api#length": { "min": 1, "max": 5 @@ -787,7 +787,7 @@ "GeofenceProperties": { "target": "com.amazonaws.location#PropertyMap", "traits": { - "smithy.api#documentation": "

Specifies additional user-defined properties to store with the Geofence. An array \n of key-value pairs.

" + "smithy.api#documentation": "

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

\n

Format: \"key\" : \"value\"\n

" } } }, @@ -1140,6 +1140,13 @@ "traits": { "smithy.api#documentation": "

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

\n

Requirements: TravelMode must be specified as Truck.

" } + }, + "Key": { + "target": "com.amazonaws.location#ApiKey", + "traits": { + "smithy.api#documentation": "

The optional API key to authorize \n the request.

", + "smithy.api#httpQuery": "key" + } } } }, @@ -1304,6 +1311,13 @@ "traits": { "smithy.api#documentation": "

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

\n

Requirements: TravelMode must be specified as Truck.

" } + }, + "Key": { + "target": "com.amazonaws.location#ApiKey", + "traits": { + "smithy.api#documentation": "

The optional API key to authorize \n the request.

", + "smithy.api#httpQuery": "key" + } } } }, @@ -1633,7 +1647,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates an API key resource in your Amazon Web Services account, which lets you grant\n geo:GetMap* actions for Amazon Location Map resources to the API key\n bearer.

\n \n

The API keys feature is in preview. We may add, change, or remove \n features before announcing general availability. For more information, see\n Using API keys.

\n
", + "smithy.api#documentation": "

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

\n \n

For more information, see Using API keys.

\n
", "smithy.api#endpoint": { "hostPrefix": "metadata." }, @@ -2140,6 +2154,12 @@ "traits": { "smithy.api#documentation": "

Specifies the position filtering for the tracker resource.

\n

Valid values:

\n
    \n
  • \n

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

    \n
  • \n
  • \n

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

    \n
  • \n
  • \n

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

    \n
  • \n
\n

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

" } + }, + "EventBridgeEnabled": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

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

\n \n

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

\n
" + } } } }, @@ -2658,7 +2678,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves the API key resource details.

\n \n

The API keys feature is in preview. We may add, change, or remove \n features before announcing general availability. For more information, see\n Using API keys.

\n
", + "smithy.api#documentation": "

Retrieves the API key resource details.

", "smithy.api#endpoint": { "hostPrefix": "metadata." }, @@ -3225,6 +3245,12 @@ "traits": { "smithy.api#documentation": "

The position filtering method of the tracker resource.

" } + }, + "EventBridgeEnabled": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

Whether UPDATE events from this tracker in EventBridge are\n enabled. If set to true these events will be sent to EventBridge.

" + } } } }, @@ -3852,7 +3878,7 @@ "GeofenceProperties": { "target": "com.amazonaws.location#PropertyMap", "traits": { - "smithy.api#documentation": "

Contains additional user-defined properties stored with the geofence. An array of \n key-value pairs.

" + "smithy.api#documentation": "

User defined properties of the geofence. A property is a key-value\n pair stored with the geofence and added to any geofence event triggered with that\n geofence.

\n

Format: \"key\" : \"value\"\n

" } } } @@ -4312,6 +4338,13 @@ "smithy.api#documentation": "

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

\n

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

\n

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

\n

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

\n

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

", "smithy.api#httpQuery": "language" } + }, + "Key": { + "target": "com.amazonaws.location#ApiKey", + "traits": { + "smithy.api#documentation": "

The optional API key to authorize \n the request.

", + "smithy.api#httpQuery": "key" + } } } }, @@ -4824,7 +4857,7 @@ "GeofenceProperties": { "target": "com.amazonaws.location#PropertyMap", "traits": { - "smithy.api#documentation": "

Contains additional user-defined properties stored with the geofence. An array of \n key-value pairs.

" + "smithy.api#documentation": "

User defined properties of the geofence. A property is a key-value\n pair stored with the geofence and added to any geofence event triggered with that\n geofence.

\n

Format: \"key\" : \"value\"\n

" } } }, @@ -4951,7 +4984,7 @@ } ], "traits": { - "smithy.api#documentation": "

Lists API key resources in your Amazon Web Services account.

\n \n

The API keys feature is in preview. We may add, change, or remove \n features before announcing general availability. For more information, see\n Using API keys.

\n
", + "smithy.api#documentation": "

Lists API key resources in your Amazon Web Services account.

", "smithy.api#endpoint": { "hostPrefix": "metadata." }, @@ -6953,7 +6986,7 @@ "GeofenceProperties": { "target": "com.amazonaws.location#PropertyMap", "traits": { - "smithy.api#documentation": "

Specifies additional user-defined properties to store with the Geofence. An array \n of key-value pairs.

" + "smithy.api#documentation": "

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

\n

Format: \"key\" : \"value\"\n

" } } } @@ -7351,6 +7384,13 @@ "traits": { "smithy.api#documentation": "

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

\n

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

\n

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

\n

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

\n

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

" } + }, + "Key": { + "target": "com.amazonaws.location#ApiKey", + "traits": { + "smithy.api#documentation": "

The optional API key to authorize \n the request.

", + "smithy.api#httpQuery": "key" + } } } }, @@ -7506,6 +7546,13 @@ "traits": { "smithy.api#documentation": "

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

\n

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

" } + }, + "Key": { + "target": "com.amazonaws.location#ApiKey", + "traits": { + "smithy.api#documentation": "

The optional API key to authorize \n the request.

", + "smithy.api#httpQuery": "key" + } } } }, @@ -7681,6 +7728,13 @@ "traits": { "smithy.api#documentation": "

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

\n

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

" } + }, + "Key": { + "target": "com.amazonaws.location#ApiKey", + "traits": { + "smithy.api#documentation": "

The optional API key to authorize \n the request.

", + "smithy.api#httpQuery": "key" + } } } }, @@ -8361,7 +8415,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates the specified properties of a given API key resource.

\n \n

The API keys feature is in preview. We may add, change, or remove \n features before announcing general availability. For more information, see\n Using API keys.

\n
", + "smithy.api#documentation": "

Updates the specified properties of a given API key resource.

", "smithy.api#endpoint": { "hostPrefix": "metadata." }, @@ -8808,6 +8862,12 @@ "traits": { "smithy.api#documentation": "

Updates the position filtering for the tracker resource.

\n

Valid values:

\n
    \n
  • \n

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

    \n
  • \n
  • \n

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

    \n
  • \n
  • \n

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

    \n
  • \n
" } + }, + "EventBridgeEnabled": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

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

\n \n

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

\n
" + } } } },