Module: Aws::LocationService::ClientApi Private

Includes:
Seahorse::Model
Defined in:
lib/aws-sdk-locationservice/client_api.rb

This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.

Constant Summary collapse

AccessDeniedException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AccessDeniedException')
ApiKey =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ApiKey')
ApiKeyAction =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ApiKeyAction')
ApiKeyFilter =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ApiKeyFilter')
ApiKeyRestrictions =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ApiKeyRestrictions')
ApiKeyRestrictionsAllowActionsList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ApiKeyRestrictionsAllowActionsList')
ApiKeyRestrictionsAllowReferersList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ApiKeyRestrictionsAllowReferersList')
ApiKeyRestrictionsAllowResourcesList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ApiKeyRestrictionsAllowResourcesList')
Arn =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Arn')
ArnList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ArnList')
AssociateTrackerConsumerRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AssociateTrackerConsumerRequest')
AssociateTrackerConsumerResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AssociateTrackerConsumerResponse')
Base64EncodedGeobuf =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::BlobShape.new(name: 'Base64EncodedGeobuf')
BatchDeleteDevicePositionHistoryError =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchDeleteDevicePositionHistoryError')
BatchDeleteDevicePositionHistoryErrorList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'BatchDeleteDevicePositionHistoryErrorList')
BatchDeleteDevicePositionHistoryRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchDeleteDevicePositionHistoryRequest')
BatchDeleteDevicePositionHistoryRequestDeviceIdsList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'BatchDeleteDevicePositionHistoryRequestDeviceIdsList')
BatchDeleteDevicePositionHistoryResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchDeleteDevicePositionHistoryResponse')
BatchDeleteGeofenceError =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchDeleteGeofenceError')
BatchDeleteGeofenceErrorList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'BatchDeleteGeofenceErrorList')
BatchDeleteGeofenceRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchDeleteGeofenceRequest')
BatchDeleteGeofenceRequestGeofenceIdsList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'BatchDeleteGeofenceRequestGeofenceIdsList')
BatchDeleteGeofenceResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchDeleteGeofenceResponse')
BatchEvaluateGeofencesError =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchEvaluateGeofencesError')
BatchEvaluateGeofencesErrorList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'BatchEvaluateGeofencesErrorList')
BatchEvaluateGeofencesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchEvaluateGeofencesRequest')
BatchEvaluateGeofencesRequestDevicePositionUpdatesList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'BatchEvaluateGeofencesRequestDevicePositionUpdatesList')
BatchEvaluateGeofencesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchEvaluateGeofencesResponse')
BatchGetDevicePositionError =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchGetDevicePositionError')
BatchGetDevicePositionErrorList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'BatchGetDevicePositionErrorList')
BatchGetDevicePositionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchGetDevicePositionRequest')
BatchGetDevicePositionRequestDeviceIdsList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'BatchGetDevicePositionRequestDeviceIdsList')
BatchGetDevicePositionRequestTrackerNameString =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'BatchGetDevicePositionRequestTrackerNameString')
BatchGetDevicePositionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchGetDevicePositionResponse')
BatchItemError =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchItemError')
BatchItemErrorCode =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'BatchItemErrorCode')
BatchPutGeofenceError =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchPutGeofenceError')
BatchPutGeofenceErrorList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'BatchPutGeofenceErrorList')
BatchPutGeofenceRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchPutGeofenceRequest')
BatchPutGeofenceRequestEntriesList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'BatchPutGeofenceRequestEntriesList')
BatchPutGeofenceRequestEntry =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchPutGeofenceRequestEntry')
BatchPutGeofenceResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchPutGeofenceResponse')
BatchPutGeofenceSuccess =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchPutGeofenceSuccess')
BatchPutGeofenceSuccessList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'BatchPutGeofenceSuccessList')
BatchUpdateDevicePositionError =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchUpdateDevicePositionError')
BatchUpdateDevicePositionErrorList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'BatchUpdateDevicePositionErrorList')
BatchUpdateDevicePositionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchUpdateDevicePositionRequest')
BatchUpdateDevicePositionRequestUpdatesList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'BatchUpdateDevicePositionRequestUpdatesList')
BatchUpdateDevicePositionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchUpdateDevicePositionResponse')
Blob =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::BlobShape.new(name: 'Blob')
Boolean =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::BooleanShape.new(name: 'Boolean')
BoundingBox =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'BoundingBox')
CalculateRouteCarModeOptions =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CalculateRouteCarModeOptions')
CalculateRouteMatrixRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CalculateRouteMatrixRequest')
CalculateRouteMatrixRequestDeparturePositionsList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'CalculateRouteMatrixRequestDeparturePositionsList')
CalculateRouteMatrixRequestDestinationPositionsList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'CalculateRouteMatrixRequestDestinationPositionsList')
CalculateRouteMatrixResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CalculateRouteMatrixResponse')
CalculateRouteMatrixResponseSnappedDeparturePositionsList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'CalculateRouteMatrixResponseSnappedDeparturePositionsList')
CalculateRouteMatrixResponseSnappedDestinationPositionsList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'CalculateRouteMatrixResponseSnappedDestinationPositionsList')
CalculateRouteMatrixSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CalculateRouteMatrixSummary')
CalculateRouteMatrixSummaryErrorCountInteger =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'CalculateRouteMatrixSummaryErrorCountInteger')
CalculateRouteMatrixSummaryRouteCountInteger =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'CalculateRouteMatrixSummaryRouteCountInteger')
CalculateRouteRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CalculateRouteRequest')
CalculateRouteRequestWaypointPositionsList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'CalculateRouteRequestWaypointPositionsList')
CalculateRouteResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CalculateRouteResponse')
CalculateRouteSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CalculateRouteSummary')
CalculateRouteSummaryDistanceDouble =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::FloatShape.new(name: 'CalculateRouteSummaryDistanceDouble')
CalculateRouteSummaryDurationSecondsDouble =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::FloatShape.new(name: 'CalculateRouteSummaryDurationSecondsDouble')
CalculateRouteTruckModeOptions =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CalculateRouteTruckModeOptions')
CellSignals =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CellSignals')
CellSignalsLteCellDetailsList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'CellSignalsLteCellDetailsList')
Circle =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Circle')
ConflictException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ConflictException')
CountryCode3 =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'CountryCode3')
CountryCode3OrEmpty =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'CountryCode3OrEmpty')
CountryCodeList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'CountryCodeList')
CreateGeofenceCollectionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateGeofenceCollectionRequest')
CreateGeofenceCollectionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateGeofenceCollectionResponse')
CreateKeyRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateKeyRequest')
CreateKeyResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateKeyResponse')
CreateMapRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateMapRequest')
CreateMapResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateMapResponse')
CreatePlaceIndexRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreatePlaceIndexRequest')
CreatePlaceIndexResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreatePlaceIndexResponse')
CreateRouteCalculatorRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateRouteCalculatorRequest')
CreateRouteCalculatorResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateRouteCalculatorResponse')
CreateTrackerRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateTrackerRequest')
CreateTrackerResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateTrackerResponse')
CustomLayer =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'CustomLayer')
CustomLayerList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'CustomLayerList')
DataSourceConfiguration =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DataSourceConfiguration')
DeleteGeofenceCollectionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteGeofenceCollectionRequest')
DeleteGeofenceCollectionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteGeofenceCollectionResponse')
DeleteKeyRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteKeyRequest')
DeleteKeyResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteKeyResponse')
DeleteMapRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteMapRequest')
DeleteMapResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteMapResponse')
DeletePlaceIndexRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeletePlaceIndexRequest')
DeletePlaceIndexResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeletePlaceIndexResponse')
DeleteRouteCalculatorRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteRouteCalculatorRequest')
DeleteRouteCalculatorResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteRouteCalculatorResponse')
DeleteTrackerRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteTrackerRequest')
DeleteTrackerResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteTrackerResponse')
DescribeGeofenceCollectionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeGeofenceCollectionRequest')
DescribeGeofenceCollectionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeGeofenceCollectionResponse')
DescribeGeofenceCollectionResponseGeofenceCountInteger =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'DescribeGeofenceCollectionResponseGeofenceCountInteger')
DescribeKeyRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeKeyRequest')
DescribeKeyResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeKeyResponse')
DescribeMapRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeMapRequest')
DescribeMapResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeMapResponse')
DescribePlaceIndexRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribePlaceIndexRequest')
DescribePlaceIndexResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribePlaceIndexResponse')
DescribeRouteCalculatorRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeRouteCalculatorRequest')
DescribeRouteCalculatorResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeRouteCalculatorResponse')
DescribeTrackerRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeTrackerRequest')
DescribeTrackerResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeTrackerResponse')
DevicePosition =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DevicePosition')
DevicePositionList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'DevicePositionList')
DevicePositionUpdate =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DevicePositionUpdate')
DeviceState =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeviceState')
DeviceStateIpv4AddressString =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'DeviceStateIpv4AddressString')
DimensionUnit =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'DimensionUnit')
DisassociateTrackerConsumerRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DisassociateTrackerConsumerRequest')
DisassociateTrackerConsumerResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DisassociateTrackerConsumerResponse')
DistanceUnit =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'DistanceUnit')
Double =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::FloatShape.new(name: 'Double')
Earfcn =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'Earfcn')
EutranCellId =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'EutranCellId')
FilterPlaceCategoryList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'FilterPlaceCategoryList')
ForecastGeofenceEventsDeviceState =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ForecastGeofenceEventsDeviceState')
ForecastGeofenceEventsDeviceStateSpeedDouble =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::FloatShape.new(name: 'ForecastGeofenceEventsDeviceStateSpeedDouble')
ForecastGeofenceEventsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ForecastGeofenceEventsRequest')
ForecastGeofenceEventsRequestMaxResultsInteger =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'ForecastGeofenceEventsRequestMaxResultsInteger')
ForecastGeofenceEventsRequestTimeHorizonMinutesDouble =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::FloatShape.new(name: 'ForecastGeofenceEventsRequestTimeHorizonMinutesDouble')
ForecastGeofenceEventsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ForecastGeofenceEventsResponse')
ForecastedEvent =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ForecastedEvent')
ForecastedEventsList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ForecastedEventsList')
ForecastedGeofenceEventType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ForecastedGeofenceEventType')
GeoArn =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'GeoArn')
GeoArnV2 =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'GeoArnV2')
GeofenceGeometry =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GeofenceGeometry')
GetDevicePositionHistoryRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetDevicePositionHistoryRequest')
GetDevicePositionHistoryRequestMaxResultsInteger =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'GetDevicePositionHistoryRequestMaxResultsInteger')
GetDevicePositionHistoryResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetDevicePositionHistoryResponse')
GetDevicePositionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetDevicePositionRequest')
GetDevicePositionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetDevicePositionResponse')
GetGeofenceRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetGeofenceRequest')
GetGeofenceResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetGeofenceResponse')
GetMapGlyphsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetMapGlyphsRequest')
GetMapGlyphsRequestFontUnicodeRangeString =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'GetMapGlyphsRequestFontUnicodeRangeString')
GetMapGlyphsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetMapGlyphsResponse')
GetMapSpritesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetMapSpritesRequest')
GetMapSpritesRequestFileNameString =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'GetMapSpritesRequestFileNameString')
GetMapSpritesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetMapSpritesResponse')
GetMapStyleDescriptorRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetMapStyleDescriptorRequest')
GetMapStyleDescriptorResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetMapStyleDescriptorResponse')
GetMapTileRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetMapTileRequest')
GetMapTileRequestXString =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'GetMapTileRequestXString')
GetMapTileRequestYString =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'GetMapTileRequestYString')
GetMapTileRequestZString =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'GetMapTileRequestZString')
GetMapTileResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetMapTileResponse')
GetPlaceRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetPlaceRequest')
GetPlaceResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetPlaceResponse')
Id =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Id')
InferredState =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InferredState')
Integer =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'Integer')
IntendedUse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'IntendedUse')
InternalServerException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InternalServerException')
KmsKeyId =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'KmsKeyId')
LanguageTag =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'LanguageTag')
LargeToken =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'LargeToken')
Leg =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Leg')
LegDistanceDouble =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::FloatShape.new(name: 'LegDistanceDouble')
LegDurationSecondsDouble =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::FloatShape.new(name: 'LegDurationSecondsDouble')
LegGeometry =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'LegGeometry')
LegList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'LegList')
LineString =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'LineString')
LinearRing =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'LinearRing')
LinearRings =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'LinearRings')
ListDevicePositionsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListDevicePositionsRequest')
ListDevicePositionsRequestMaxResultsInteger =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'ListDevicePositionsRequestMaxResultsInteger')
ListDevicePositionsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListDevicePositionsResponse')
ListDevicePositionsResponseEntry =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListDevicePositionsResponseEntry')
ListDevicePositionsResponseEntryList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ListDevicePositionsResponseEntryList')
ListGeofenceCollectionsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListGeofenceCollectionsRequest')
ListGeofenceCollectionsRequestMaxResultsInteger =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'ListGeofenceCollectionsRequestMaxResultsInteger')
ListGeofenceCollectionsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListGeofenceCollectionsResponse')
ListGeofenceCollectionsResponseEntry =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListGeofenceCollectionsResponseEntry')
ListGeofenceCollectionsResponseEntryList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ListGeofenceCollectionsResponseEntryList')
ListGeofenceResponseEntry =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListGeofenceResponseEntry')
ListGeofenceResponseEntryList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ListGeofenceResponseEntryList')
ListGeofencesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListGeofencesRequest')
ListGeofencesRequestMaxResultsInteger =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'ListGeofencesRequestMaxResultsInteger')
ListGeofencesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListGeofencesResponse')
ListKeysRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListKeysRequest')
ListKeysRequestMaxResultsInteger =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'ListKeysRequestMaxResultsInteger')
ListKeysResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListKeysResponse')
ListKeysResponseEntry =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListKeysResponseEntry')
ListKeysResponseEntryList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ListKeysResponseEntryList')
ListMapsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListMapsRequest')
ListMapsRequestMaxResultsInteger =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'ListMapsRequestMaxResultsInteger')
ListMapsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListMapsResponse')
ListMapsResponseEntry =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListMapsResponseEntry')
ListMapsResponseEntryList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ListMapsResponseEntryList')
ListPlaceIndexesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListPlaceIndexesRequest')
ListPlaceIndexesRequestMaxResultsInteger =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'ListPlaceIndexesRequestMaxResultsInteger')
ListPlaceIndexesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListPlaceIndexesResponse')
ListPlaceIndexesResponseEntry =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListPlaceIndexesResponseEntry')
ListPlaceIndexesResponseEntryList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ListPlaceIndexesResponseEntryList')
ListRouteCalculatorsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListRouteCalculatorsRequest')
ListRouteCalculatorsRequestMaxResultsInteger =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'ListRouteCalculatorsRequestMaxResultsInteger')
ListRouteCalculatorsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListRouteCalculatorsResponse')
ListRouteCalculatorsResponseEntry =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListRouteCalculatorsResponseEntry')
ListRouteCalculatorsResponseEntryList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ListRouteCalculatorsResponseEntryList')
ListTagsForResourceRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
ListTagsForResourceResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
ListTrackerConsumersRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListTrackerConsumersRequest')
ListTrackerConsumersRequestMaxResultsInteger =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'ListTrackerConsumersRequestMaxResultsInteger')
ListTrackerConsumersResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListTrackerConsumersResponse')
ListTrackersRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListTrackersRequest')
ListTrackersRequestMaxResultsInteger =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'ListTrackersRequestMaxResultsInteger')
ListTrackersResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListTrackersResponse')
ListTrackersResponseEntry =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListTrackersResponseEntry')
ListTrackersResponseEntryList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ListTrackersResponseEntryList')
LteCellDetails =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'LteCellDetails')
LteCellDetailsMccInteger =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'LteCellDetailsMccInteger')
LteCellDetailsMncInteger =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'LteCellDetailsMncInteger')
LteCellDetailsNetworkMeasurementsList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'LteCellDetailsNetworkMeasurementsList')
LteCellDetailsTacInteger =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'LteCellDetailsTacInteger')
LteCellDetailsTimingAdvanceInteger =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'LteCellDetailsTimingAdvanceInteger')
LteLocalId =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'LteLocalId')
LteNetworkMeasurements =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'LteNetworkMeasurements')
MapConfiguration =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'MapConfiguration')
MapConfigurationUpdate =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'MapConfigurationUpdate')
MapStyle =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'MapStyle')
NearestDistance =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::FloatShape.new(name: 'NearestDistance')
OptimizationMode =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'OptimizationMode')
Pci =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'Pci')
Place =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Place')
PlaceCategory =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'PlaceCategory')
PlaceCategoryList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'PlaceCategoryList')
PlaceGeometry =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PlaceGeometry')
PlaceId =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'PlaceId')
PlaceIndexSearchResultLimit =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'PlaceIndexSearchResultLimit')
PlaceSupplementalCategory =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'PlaceSupplementalCategory')
PlaceSupplementalCategoryList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'PlaceSupplementalCategoryList')
Position =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'Position')
PositionFiltering =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'PositionFiltering')
PositionalAccuracy =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PositionalAccuracy')
PositionalAccuracyHorizontalDouble =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::FloatShape.new(name: 'PositionalAccuracyHorizontalDouble')
PricingPlan =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'PricingPlan')
PropertyMap =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::MapShape.new(name: 'PropertyMap')
PropertyMapKeyString =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'PropertyMapKeyString')
PropertyMapValueString =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'PropertyMapValueString')
PutGeofenceRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutGeofenceRequest')
PutGeofenceResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutGeofenceResponse')
RefererPattern =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'RefererPattern')
ResourceDescription =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ResourceDescription')
ResourceName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ResourceName')
ResourceNotFoundException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ResourceNotFoundException')
RouteMatrix =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'RouteMatrix')
RouteMatrixEntry =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RouteMatrixEntry')
RouteMatrixEntryDistanceDouble =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::FloatShape.new(name: 'RouteMatrixEntryDistanceDouble')
RouteMatrixEntryDurationSecondsDouble =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::FloatShape.new(name: 'RouteMatrixEntryDurationSecondsDouble')
RouteMatrixEntryError =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RouteMatrixEntryError')
RouteMatrixErrorCode =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'RouteMatrixErrorCode')
RouteMatrixRow =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'RouteMatrixRow')
Rsrp =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'Rsrp')
Rsrq =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::FloatShape.new(name: 'Rsrq')
SearchForPositionResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SearchForPositionResult')
SearchForPositionResultDistanceDouble =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::FloatShape.new(name: 'SearchForPositionResultDistanceDouble')
SearchForPositionResultList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'SearchForPositionResultList')
SearchForSuggestionsResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SearchForSuggestionsResult')
SearchForSuggestionsResultList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'SearchForSuggestionsResultList')
SearchForTextResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SearchForTextResult')
SearchForTextResultDistanceDouble =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::FloatShape.new(name: 'SearchForTextResultDistanceDouble')
SearchForTextResultList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'SearchForTextResultList')
SearchForTextResultRelevanceDouble =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::FloatShape.new(name: 'SearchForTextResultRelevanceDouble')
SearchPlaceIndexForPositionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SearchPlaceIndexForPositionRequest')
SearchPlaceIndexForPositionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SearchPlaceIndexForPositionResponse')
SearchPlaceIndexForPositionSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SearchPlaceIndexForPositionSummary')
SearchPlaceIndexForSuggestionsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SearchPlaceIndexForSuggestionsRequest')
SearchPlaceIndexForSuggestionsRequestMaxResultsInteger =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'SearchPlaceIndexForSuggestionsRequestMaxResultsInteger')
SearchPlaceIndexForSuggestionsRequestTextString =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'SearchPlaceIndexForSuggestionsRequestTextString')
SearchPlaceIndexForSuggestionsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SearchPlaceIndexForSuggestionsResponse')
SearchPlaceIndexForSuggestionsSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SearchPlaceIndexForSuggestionsSummary')
SearchPlaceIndexForTextRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SearchPlaceIndexForTextRequest')
SearchPlaceIndexForTextRequestTextString =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'SearchPlaceIndexForTextRequestTextString')
SearchPlaceIndexForTextResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SearchPlaceIndexForTextResponse')
SearchPlaceIndexForTextSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SearchPlaceIndexForTextSummary')
SensitiveString =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'SensitiveString')
ServiceQuotaExceededException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ServiceQuotaExceededException')
SpeedUnit =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'SpeedUnit')
Status =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Status')
Step =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Step')
StepDistanceDouble =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::FloatShape.new(name: 'StepDistanceDouble')
StepDurationSecondsDouble =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::FloatShape.new(name: 'StepDurationSecondsDouble')
StepGeometryOffsetInteger =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'StepGeometryOffsetInteger')
StepList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'StepList')
String =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'String')
TagKey =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'TagKey')
TagKeys =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'TagKeys')
TagMap =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::MapShape.new(name: 'TagMap')
TagResourceRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TagResourceRequest')
TagResourceResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TagResourceResponse')
TagValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'TagValue')
ThrottlingException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ThrottlingException')
TimeZone =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TimeZone')
Timestamp =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::TimestampShape.new(name: 'Timestamp', timestampFormat: "iso8601")
Token =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Token')
TrackingFilterGeometry =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TrackingFilterGeometry')
TravelMode =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'TravelMode')
TruckDimensions =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TruckDimensions')
TruckDimensionsHeightDouble =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::FloatShape.new(name: 'TruckDimensionsHeightDouble')
TruckDimensionsLengthDouble =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::FloatShape.new(name: 'TruckDimensionsLengthDouble')
TruckDimensionsWidthDouble =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::FloatShape.new(name: 'TruckDimensionsWidthDouble')
TruckWeight =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TruckWeight')
TruckWeightTotalDouble =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::FloatShape.new(name: 'TruckWeightTotalDouble')
UntagResourceRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UntagResourceRequest')
UntagResourceResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UntagResourceResponse')
UpdateGeofenceCollectionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateGeofenceCollectionRequest')
UpdateGeofenceCollectionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateGeofenceCollectionResponse')
UpdateKeyRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateKeyRequest')
UpdateKeyResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateKeyResponse')
UpdateMapRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateMapRequest')
UpdateMapResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateMapResponse')
UpdatePlaceIndexRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdatePlaceIndexRequest')
UpdatePlaceIndexResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdatePlaceIndexResponse')
UpdateRouteCalculatorRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateRouteCalculatorRequest')
UpdateRouteCalculatorResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateRouteCalculatorResponse')
UpdateTrackerRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateTrackerRequest')
UpdateTrackerResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateTrackerResponse')
Uuid =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Uuid')
ValidationException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ValidationException')
ValidationExceptionField =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ValidationExceptionField')
ValidationExceptionFieldList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ValidationExceptionFieldList')
ValidationExceptionReason =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ValidationExceptionReason')
VehicleWeightUnit =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'VehicleWeightUnit')
VerifyDevicePositionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VerifyDevicePositionRequest')
VerifyDevicePositionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VerifyDevicePositionResponse')
WiFiAccessPoint =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'WiFiAccessPoint')
WiFiAccessPointList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'WiFiAccessPointList')
WiFiAccessPointMacAddressString =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'WiFiAccessPointMacAddressString')
WiFiAccessPointRssInteger =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'WiFiAccessPointRssInteger')
API =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Seahorse::Model::Api.new.tap do |api|

  api.version = "2020-11-19"

  api. = {
    "apiVersion" => "2020-11-19",
    "endpointPrefix" => "geo",
    "protocol" => "rest-json",
    "protocols" => ["rest-json"],
    "serviceFullName" => "Amazon Location Service",
    "serviceId" => "Location",
    "signatureVersion" => "v4",
    "signingName" => "geo",
    "uid" => "location-2020-11-19",
  }

  api.add_operation(:associate_tracker_consumer, Seahorse::Model::Operation.new.tap do |o|
    o.name = "AssociateTrackerConsumer"
    o.http_method = "POST"
    o.http_request_uri = "/tracking/v0/trackers/{TrackerName}/consumers"
    o.endpoint_pattern = {
      "hostPrefix" => "cp.tracking.",
    }
    o.input = Shapes::ShapeRef.new(shape: AssociateTrackerConsumerRequest)
    o.output = Shapes::ShapeRef.new(shape: AssociateTrackerConsumerResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:batch_delete_device_position_history, Seahorse::Model::Operation.new.tap do |o|
    o.name = "BatchDeleteDevicePositionHistory"
    o.http_method = "POST"
    o.http_request_uri = "/tracking/v0/trackers/{TrackerName}/delete-positions"
    o.endpoint_pattern = {
      "hostPrefix" => "tracking.",
    }
    o.input = Shapes::ShapeRef.new(shape: BatchDeleteDevicePositionHistoryRequest)
    o.output = Shapes::ShapeRef.new(shape: BatchDeleteDevicePositionHistoryResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:batch_delete_geofence, Seahorse::Model::Operation.new.tap do |o|
    o.name = "BatchDeleteGeofence"
    o.http_method = "POST"
    o.http_request_uri = "/geofencing/v0/collections/{CollectionName}/delete-geofences"
    o.endpoint_pattern = {
      "hostPrefix" => "geofencing.",
    }
    o.input = Shapes::ShapeRef.new(shape: BatchDeleteGeofenceRequest)
    o.output = Shapes::ShapeRef.new(shape: BatchDeleteGeofenceResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:batch_evaluate_geofences, Seahorse::Model::Operation.new.tap do |o|
    o.name = "BatchEvaluateGeofences"
    o.http_method = "POST"
    o.http_request_uri = "/geofencing/v0/collections/{CollectionName}/positions"
    o.endpoint_pattern = {
      "hostPrefix" => "geofencing.",
    }
    o.input = Shapes::ShapeRef.new(shape: BatchEvaluateGeofencesRequest)
    o.output = Shapes::ShapeRef.new(shape: BatchEvaluateGeofencesResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:batch_get_device_position, Seahorse::Model::Operation.new.tap do |o|
    o.name = "BatchGetDevicePosition"
    o.http_method = "POST"
    o.http_request_uri = "/tracking/v0/trackers/{TrackerName}/get-positions"
    o.endpoint_pattern = {
      "hostPrefix" => "tracking.",
    }
    o.input = Shapes::ShapeRef.new(shape: BatchGetDevicePositionRequest)
    o.output = Shapes::ShapeRef.new(shape: BatchGetDevicePositionResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:batch_put_geofence, Seahorse::Model::Operation.new.tap do |o|
    o.name = "BatchPutGeofence"
    o.http_method = "POST"
    o.http_request_uri = "/geofencing/v0/collections/{CollectionName}/put-geofences"
    o.endpoint_pattern = {
      "hostPrefix" => "geofencing.",
    }
    o.input = Shapes::ShapeRef.new(shape: BatchPutGeofenceRequest)
    o.output = Shapes::ShapeRef.new(shape: BatchPutGeofenceResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:batch_update_device_position, Seahorse::Model::Operation.new.tap do |o|
    o.name = "BatchUpdateDevicePosition"
    o.http_method = "POST"
    o.http_request_uri = "/tracking/v0/trackers/{TrackerName}/positions"
    o.endpoint_pattern = {
      "hostPrefix" => "tracking.",
    }
    o.input = Shapes::ShapeRef.new(shape: BatchUpdateDevicePositionRequest)
    o.output = Shapes::ShapeRef.new(shape: BatchUpdateDevicePositionResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:calculate_route, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CalculateRoute"
    o.http_method = "POST"
    o.http_request_uri = "/routes/v0/calculators/{CalculatorName}/calculate/route"
    o.endpoint_pattern = {
      "hostPrefix" => "routes.",
    }
    o.input = Shapes::ShapeRef.new(shape: CalculateRouteRequest)
    o.output = Shapes::ShapeRef.new(shape: CalculateRouteResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:calculate_route_matrix, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CalculateRouteMatrix"
    o.http_method = "POST"
    o.http_request_uri = "/routes/v0/calculators/{CalculatorName}/calculate/route-matrix"
    o.endpoint_pattern = {
      "hostPrefix" => "routes.",
    }
    o.input = Shapes::ShapeRef.new(shape: CalculateRouteMatrixRequest)
    o.output = Shapes::ShapeRef.new(shape: CalculateRouteMatrixResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:create_geofence_collection, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateGeofenceCollection"
    o.http_method = "POST"
    o.http_request_uri = "/geofencing/v0/collections"
    o.endpoint_pattern = {
      "hostPrefix" => "cp.geofencing.",
    }
    o.input = Shapes::ShapeRef.new(shape: CreateGeofenceCollectionRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateGeofenceCollectionResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:create_key, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateKey"
    o.http_method = "POST"
    o.http_request_uri = "/metadata/v0/keys"
    o.endpoint_pattern = {
      "hostPrefix" => "cp.metadata.",
    }
    o.input = Shapes::ShapeRef.new(shape: CreateKeyRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateKeyResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:create_map, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateMap"
    o.http_method = "POST"
    o.http_request_uri = "/maps/v0/maps"
    o.endpoint_pattern = {
      "hostPrefix" => "cp.maps.",
    }
    o.input = Shapes::ShapeRef.new(shape: CreateMapRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateMapResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:create_place_index, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreatePlaceIndex"
    o.http_method = "POST"
    o.http_request_uri = "/places/v0/indexes"
    o.endpoint_pattern = {
      "hostPrefix" => "cp.places.",
    }
    o.input = Shapes::ShapeRef.new(shape: CreatePlaceIndexRequest)
    o.output = Shapes::ShapeRef.new(shape: CreatePlaceIndexResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:create_route_calculator, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateRouteCalculator"
    o.http_method = "POST"
    o.http_request_uri = "/routes/v0/calculators"
    o.endpoint_pattern = {
      "hostPrefix" => "cp.routes.",
    }
    o.input = Shapes::ShapeRef.new(shape: CreateRouteCalculatorRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateRouteCalculatorResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:create_tracker, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateTracker"
    o.http_method = "POST"
    o.http_request_uri = "/tracking/v0/trackers"
    o.endpoint_pattern = {
      "hostPrefix" => "cp.tracking.",
    }
    o.input = Shapes::ShapeRef.new(shape: CreateTrackerRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateTrackerResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:delete_geofence_collection, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteGeofenceCollection"
    o.http_method = "DELETE"
    o.http_request_uri = "/geofencing/v0/collections/{CollectionName}"
    o.endpoint_pattern = {
      "hostPrefix" => "cp.geofencing.",
    }
    o.input = Shapes::ShapeRef.new(shape: DeleteGeofenceCollectionRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteGeofenceCollectionResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:delete_key, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteKey"
    o.http_method = "DELETE"
    o.http_request_uri = "/metadata/v0/keys/{KeyName}"
    o.endpoint_pattern = {
      "hostPrefix" => "cp.metadata.",
    }
    o.input = Shapes::ShapeRef.new(shape: DeleteKeyRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteKeyResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:delete_map, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteMap"
    o.http_method = "DELETE"
    o.http_request_uri = "/maps/v0/maps/{MapName}"
    o.endpoint_pattern = {
      "hostPrefix" => "cp.maps.",
    }
    o.input = Shapes::ShapeRef.new(shape: DeleteMapRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteMapResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:delete_place_index, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeletePlaceIndex"
    o.http_method = "DELETE"
    o.http_request_uri = "/places/v0/indexes/{IndexName}"
    o.endpoint_pattern = {
      "hostPrefix" => "cp.places.",
    }
    o.input = Shapes::ShapeRef.new(shape: DeletePlaceIndexRequest)
    o.output = Shapes::ShapeRef.new(shape: DeletePlaceIndexResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:delete_route_calculator, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteRouteCalculator"
    o.http_method = "DELETE"
    o.http_request_uri = "/routes/v0/calculators/{CalculatorName}"
    o.endpoint_pattern = {
      "hostPrefix" => "cp.routes.",
    }
    o.input = Shapes::ShapeRef.new(shape: DeleteRouteCalculatorRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteRouteCalculatorResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:delete_tracker, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteTracker"
    o.http_method = "DELETE"
    o.http_request_uri = "/tracking/v0/trackers/{TrackerName}"
    o.endpoint_pattern = {
      "hostPrefix" => "cp.tracking.",
    }
    o.input = Shapes::ShapeRef.new(shape: DeleteTrackerRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteTrackerResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:describe_geofence_collection, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeGeofenceCollection"
    o.http_method = "GET"
    o.http_request_uri = "/geofencing/v0/collections/{CollectionName}"
    o.endpoint_pattern = {
      "hostPrefix" => "cp.geofencing.",
    }
    o.input = Shapes::ShapeRef.new(shape: DescribeGeofenceCollectionRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeGeofenceCollectionResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:describe_key, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeKey"
    o.http_method = "GET"
    o.http_request_uri = "/metadata/v0/keys/{KeyName}"
    o.endpoint_pattern = {
      "hostPrefix" => "cp.metadata.",
    }
    o.input = Shapes::ShapeRef.new(shape: DescribeKeyRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeKeyResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:describe_map, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeMap"
    o.http_method = "GET"
    o.http_request_uri = "/maps/v0/maps/{MapName}"
    o.endpoint_pattern = {
      "hostPrefix" => "cp.maps.",
    }
    o.input = Shapes::ShapeRef.new(shape: DescribeMapRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeMapResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:describe_place_index, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribePlaceIndex"
    o.http_method = "GET"
    o.http_request_uri = "/places/v0/indexes/{IndexName}"
    o.endpoint_pattern = {
      "hostPrefix" => "cp.places.",
    }
    o.input = Shapes::ShapeRef.new(shape: DescribePlaceIndexRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribePlaceIndexResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:describe_route_calculator, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeRouteCalculator"
    o.http_method = "GET"
    o.http_request_uri = "/routes/v0/calculators/{CalculatorName}"
    o.endpoint_pattern = {
      "hostPrefix" => "cp.routes.",
    }
    o.input = Shapes::ShapeRef.new(shape: DescribeRouteCalculatorRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeRouteCalculatorResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:describe_tracker, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeTracker"
    o.http_method = "GET"
    o.http_request_uri = "/tracking/v0/trackers/{TrackerName}"
    o.endpoint_pattern = {
      "hostPrefix" => "cp.tracking.",
    }
    o.input = Shapes::ShapeRef.new(shape: DescribeTrackerRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeTrackerResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:disassociate_tracker_consumer, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DisassociateTrackerConsumer"
    o.http_method = "DELETE"
    o.http_request_uri = "/tracking/v0/trackers/{TrackerName}/consumers/{ConsumerArn}"
    o.endpoint_pattern = {
      "hostPrefix" => "cp.tracking.",
    }
    o.input = Shapes::ShapeRef.new(shape: DisassociateTrackerConsumerRequest)
    o.output = Shapes::ShapeRef.new(shape: DisassociateTrackerConsumerResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:forecast_geofence_events, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ForecastGeofenceEvents"
    o.http_method = "POST"
    o.http_request_uri = "/geofencing/v0/collections/{CollectionName}/forecast-geofence-events"
    o.endpoint_pattern = {
      "hostPrefix" => "geofencing.",
    }
    o.input = Shapes::ShapeRef.new(shape: ForecastGeofenceEventsRequest)
    o.output = Shapes::ShapeRef.new(shape: ForecastGeofenceEventsResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:get_device_position, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetDevicePosition"
    o.http_method = "GET"
    o.http_request_uri = "/tracking/v0/trackers/{TrackerName}/devices/{DeviceId}/positions/latest"
    o.endpoint_pattern = {
      "hostPrefix" => "tracking.",
    }
    o.input = Shapes::ShapeRef.new(shape: GetDevicePositionRequest)
    o.output = Shapes::ShapeRef.new(shape: GetDevicePositionResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:get_device_position_history, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetDevicePositionHistory"
    o.http_method = "POST"
    o.http_request_uri = "/tracking/v0/trackers/{TrackerName}/devices/{DeviceId}/list-positions"
    o.endpoint_pattern = {
      "hostPrefix" => "tracking.",
    }
    o.input = Shapes::ShapeRef.new(shape: GetDevicePositionHistoryRequest)
    o.output = Shapes::ShapeRef.new(shape: GetDevicePositionHistoryResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:get_geofence, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetGeofence"
    o.http_method = "GET"
    o.http_request_uri = "/geofencing/v0/collections/{CollectionName}/geofences/{GeofenceId}"
    o.endpoint_pattern = {
      "hostPrefix" => "geofencing.",
    }
    o.input = Shapes::ShapeRef.new(shape: GetGeofenceRequest)
    o.output = Shapes::ShapeRef.new(shape: GetGeofenceResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:get_map_glyphs, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetMapGlyphs"
    o.http_method = "GET"
    o.http_request_uri = "/maps/v0/maps/{MapName}/glyphs/{FontStack}/{FontUnicodeRange}"
    o.endpoint_pattern = {
      "hostPrefix" => "maps.",
    }
    o.input = Shapes::ShapeRef.new(shape: GetMapGlyphsRequest)
    o.output = Shapes::ShapeRef.new(shape: GetMapGlyphsResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:get_map_sprites, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetMapSprites"
    o.http_method = "GET"
    o.http_request_uri = "/maps/v0/maps/{MapName}/sprites/{FileName}"
    o.endpoint_pattern = {
      "hostPrefix" => "maps.",
    }
    o.input = Shapes::ShapeRef.new(shape: GetMapSpritesRequest)
    o.output = Shapes::ShapeRef.new(shape: GetMapSpritesResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:get_map_style_descriptor, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetMapStyleDescriptor"
    o.http_method = "GET"
    o.http_request_uri = "/maps/v0/maps/{MapName}/style-descriptor"
    o.endpoint_pattern = {
      "hostPrefix" => "maps.",
    }
    o.input = Shapes::ShapeRef.new(shape: GetMapStyleDescriptorRequest)
    o.output = Shapes::ShapeRef.new(shape: GetMapStyleDescriptorResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:get_map_tile, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetMapTile"
    o.http_method = "GET"
    o.http_request_uri = "/maps/v0/maps/{MapName}/tiles/{Z}/{X}/{Y}"
    o.endpoint_pattern = {
      "hostPrefix" => "maps.",
    }
    o.input = Shapes::ShapeRef.new(shape: GetMapTileRequest)
    o.output = Shapes::ShapeRef.new(shape: GetMapTileResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:get_place, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetPlace"
    o.http_method = "GET"
    o.http_request_uri = "/places/v0/indexes/{IndexName}/places/{PlaceId}"
    o.endpoint_pattern = {
      "hostPrefix" => "places.",
    }
    o.input = Shapes::ShapeRef.new(shape: GetPlaceRequest)
    o.output = Shapes::ShapeRef.new(shape: GetPlaceResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:list_device_positions, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListDevicePositions"
    o.http_method = "POST"
    o.http_request_uri = "/tracking/v0/trackers/{TrackerName}/list-positions"
    o.endpoint_pattern = {
      "hostPrefix" => "tracking.",
    }
    o.input = Shapes::ShapeRef.new(shape: ListDevicePositionsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListDevicePositionsResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_geofence_collections, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListGeofenceCollections"
    o.http_method = "POST"
    o.http_request_uri = "/geofencing/v0/list-collections"
    o.endpoint_pattern = {
      "hostPrefix" => "cp.geofencing.",
    }
    o.input = Shapes::ShapeRef.new(shape: ListGeofenceCollectionsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListGeofenceCollectionsResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_geofences, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListGeofences"
    o.http_method = "POST"
    o.http_request_uri = "/geofencing/v0/collections/{CollectionName}/list-geofences"
    o.endpoint_pattern = {
      "hostPrefix" => "geofencing.",
    }
    o.input = Shapes::ShapeRef.new(shape: ListGeofencesRequest)
    o.output = Shapes::ShapeRef.new(shape: ListGeofencesResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_keys, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListKeys"
    o.http_method = "POST"
    o.http_request_uri = "/metadata/v0/list-keys"
    o.endpoint_pattern = {
      "hostPrefix" => "cp.metadata.",
    }
    o.input = Shapes::ShapeRef.new(shape: ListKeysRequest)
    o.output = Shapes::ShapeRef.new(shape: ListKeysResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_maps, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListMaps"
    o.http_method = "POST"
    o.http_request_uri = "/maps/v0/list-maps"
    o.endpoint_pattern = {
      "hostPrefix" => "cp.maps.",
    }
    o.input = Shapes::ShapeRef.new(shape: ListMapsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListMapsResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_place_indexes, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListPlaceIndexes"
    o.http_method = "POST"
    o.http_request_uri = "/places/v0/list-indexes"
    o.endpoint_pattern = {
      "hostPrefix" => "cp.places.",
    }
    o.input = Shapes::ShapeRef.new(shape: ListPlaceIndexesRequest)
    o.output = Shapes::ShapeRef.new(shape: ListPlaceIndexesResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_route_calculators, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListRouteCalculators"
    o.http_method = "POST"
    o.http_request_uri = "/routes/v0/list-calculators"
    o.endpoint_pattern = {
      "hostPrefix" => "cp.routes.",
    }
    o.input = Shapes::ShapeRef.new(shape: ListRouteCalculatorsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListRouteCalculatorsResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_tags_for_resource, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListTagsForResource"
    o.http_method = "GET"
    o.http_request_uri = "/tags/{ResourceArn}"
    o.endpoint_pattern = {
      "hostPrefix" => "cp.metadata.",
    }
    o.input = Shapes::ShapeRef.new(shape: ListTagsForResourceRequest)
    o.output = Shapes::ShapeRef.new(shape: ListTagsForResourceResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:list_tracker_consumers, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListTrackerConsumers"
    o.http_method = "POST"
    o.http_request_uri = "/tracking/v0/trackers/{TrackerName}/list-consumers"
    o.endpoint_pattern = {
      "hostPrefix" => "cp.tracking.",
    }
    o.input = Shapes::ShapeRef.new(shape: ListTrackerConsumersRequest)
    o.output = Shapes::ShapeRef.new(shape: ListTrackerConsumersResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_trackers, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListTrackers"
    o.http_method = "POST"
    o.http_request_uri = "/tracking/v0/list-trackers"
    o.endpoint_pattern = {
      "hostPrefix" => "cp.tracking.",
    }
    o.input = Shapes::ShapeRef.new(shape: ListTrackersRequest)
    o.output = Shapes::ShapeRef.new(shape: ListTrackersResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:put_geofence, Seahorse::Model::Operation.new.tap do |o|
    o.name = "PutGeofence"
    o.http_method = "PUT"
    o.http_request_uri = "/geofencing/v0/collections/{CollectionName}/geofences/{GeofenceId}"
    o.endpoint_pattern = {
      "hostPrefix" => "geofencing.",
    }
    o.input = Shapes::ShapeRef.new(shape: PutGeofenceRequest)
    o.output = Shapes::ShapeRef.new(shape: PutGeofenceResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:search_place_index_for_position, Seahorse::Model::Operation.new.tap do |o|
    o.name = "SearchPlaceIndexForPosition"
    o.http_method = "POST"
    o.http_request_uri = "/places/v0/indexes/{IndexName}/search/position"
    o.endpoint_pattern = {
      "hostPrefix" => "places.",
    }
    o.input = Shapes::ShapeRef.new(shape: SearchPlaceIndexForPositionRequest)
    o.output = Shapes::ShapeRef.new(shape: SearchPlaceIndexForPositionResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:search_place_index_for_suggestions, Seahorse::Model::Operation.new.tap do |o|
    o.name = "SearchPlaceIndexForSuggestions"
    o.http_method = "POST"
    o.http_request_uri = "/places/v0/indexes/{IndexName}/search/suggestions"
    o.endpoint_pattern = {
      "hostPrefix" => "places.",
    }
    o.input = Shapes::ShapeRef.new(shape: SearchPlaceIndexForSuggestionsRequest)
    o.output = Shapes::ShapeRef.new(shape: SearchPlaceIndexForSuggestionsResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:search_place_index_for_text, Seahorse::Model::Operation.new.tap do |o|
    o.name = "SearchPlaceIndexForText"
    o.http_method = "POST"
    o.http_request_uri = "/places/v0/indexes/{IndexName}/search/text"
    o.endpoint_pattern = {
      "hostPrefix" => "places.",
    }
    o.input = Shapes::ShapeRef.new(shape: SearchPlaceIndexForTextRequest)
    o.output = Shapes::ShapeRef.new(shape: SearchPlaceIndexForTextResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
    o.name = "TagResource"
    o.http_method = "POST"
    o.http_request_uri = "/tags/{ResourceArn}"
    o.endpoint_pattern = {
      "hostPrefix" => "cp.metadata.",
    }
    o.input = Shapes::ShapeRef.new(shape: TagResourceRequest)
    o.output = Shapes::ShapeRef.new(shape: TagResourceResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:untag_resource, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UntagResource"
    o.http_method = "DELETE"
    o.http_request_uri = "/tags/{ResourceArn}"
    o.endpoint_pattern = {
      "hostPrefix" => "cp.metadata.",
    }
    o.input = Shapes::ShapeRef.new(shape: UntagResourceRequest)
    o.output = Shapes::ShapeRef.new(shape: UntagResourceResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:update_geofence_collection, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateGeofenceCollection"
    o.http_method = "PATCH"
    o.http_request_uri = "/geofencing/v0/collections/{CollectionName}"
    o.endpoint_pattern = {
      "hostPrefix" => "cp.geofencing.",
    }
    o.input = Shapes::ShapeRef.new(shape: UpdateGeofenceCollectionRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateGeofenceCollectionResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:update_key, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateKey"
    o.http_method = "PATCH"
    o.http_request_uri = "/metadata/v0/keys/{KeyName}"
    o.endpoint_pattern = {
      "hostPrefix" => "cp.metadata.",
    }
    o.input = Shapes::ShapeRef.new(shape: UpdateKeyRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateKeyResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:update_map, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateMap"
    o.http_method = "PATCH"
    o.http_request_uri = "/maps/v0/maps/{MapName}"
    o.endpoint_pattern = {
      "hostPrefix" => "cp.maps.",
    }
    o.input = Shapes::ShapeRef.new(shape: UpdateMapRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateMapResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:update_place_index, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdatePlaceIndex"
    o.http_method = "PATCH"
    o.http_request_uri = "/places/v0/indexes/{IndexName}"
    o.endpoint_pattern = {
      "hostPrefix" => "cp.places.",
    }
    o.input = Shapes::ShapeRef.new(shape: UpdatePlaceIndexRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdatePlaceIndexResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:update_route_calculator, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateRouteCalculator"
    o.http_method = "PATCH"
    o.http_request_uri = "/routes/v0/calculators/{CalculatorName}"
    o.endpoint_pattern = {
      "hostPrefix" => "cp.routes.",
    }
    o.input = Shapes::ShapeRef.new(shape: UpdateRouteCalculatorRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateRouteCalculatorResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:update_tracker, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateTracker"
    o.http_method = "PATCH"
    o.http_request_uri = "/tracking/v0/trackers/{TrackerName}"
    o.endpoint_pattern = {
      "hostPrefix" => "cp.tracking.",
    }
    o.input = Shapes::ShapeRef.new(shape: UpdateTrackerRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateTrackerResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:verify_device_position, Seahorse::Model::Operation.new.tap do |o|
    o.name = "VerifyDevicePosition"
    o.http_method = "POST"
    o.http_request_uri = "/tracking/v0/trackers/{TrackerName}/positions/verify"
    o.endpoint_pattern = {
      "hostPrefix" => "tracking.",
    }
    o.input = Shapes::ShapeRef.new(shape: VerifyDevicePositionRequest)
    o.output = Shapes::ShapeRef.new(shape: VerifyDevicePositionResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)
end