Values.ApiKeyRestrictionsSourceAPI Restrictions on the allowed actions, resources, and referers for an API key resource.
type nonrec t = {allowActions : ApiKeyRestrictionsAllowActionsList.t;A list of allowed actions that an API key resource grants permissions to perform. You must have at least one action for each type of resource. For example, if you have a place resource, you must include at least one place action. The following are valid values for the actions. Map actions geo:GetMap* - Allows all actions needed for map rendering. geo-maps:GetTile - Allows retrieving map tiles. geo-maps:GetStaticMap - Allows retrieving static map images. geo-maps:* - Allows all actions related to map functionalities. Place actions geo:SearchPlaceIndexForText - Allows geocoding. geo:SearchPlaceIndexForPosition - Allows reverse geocoding. geo:SearchPlaceIndexForSuggestions - Allows generating suggestions from text. GetPlace - Allows finding a place by place ID. geo-places:Geocode - Allows geocoding using place information. geo-places:ReverseGeocode - Allows reverse geocoding from location coordinates. geo-places:SearchNearby - Allows searching for places near a location. geo-places:SearchText - Allows searching for places based on text input. geo-places:Autocomplete - Allows auto-completion of place names based on text input. geo-places:Suggest - Allows generating suggestions for places based on partial input. geo-places:GetPlace - Allows finding a place by its ID. geo-places:* - Allows all actions related to place services. Route actions geo:CalculateRoute - Allows point to point routing. geo:CalculateRouteMatrix - Allows calculating a matrix of routes. geo-routes:CalculateRoutes - Allows calculating multiple routes between points. geo-routes:CalculateRouteMatrix - Allows calculating a matrix of routes between points. geo-routes:CalculateIsolines - Allows calculating isolines for a given area. geo-routes:OptimizeWaypoints - Allows optimizing the order of waypoints in a route. geo-routes:SnapToRoads - Allows snapping a route to the nearest roads. geo-routes:* - Allows all actions related to routing functionalities. You must use these strings exactly. For example, to provide access to map rendering, the only valid action is geo:GetMap* as an input to the list. ["geo:GetMap*"] is valid but ["geo:GetMapTile"] is not. Similarly, you cannot use ["geo:SearchPlaceIndexFor*"] - you must list each of the Place actions separately.
*)allowResources : ApiKeyRestrictionsAllowResourcesList.t;A list of allowed resource ARNs that a API key bearer can perform actions on. The ARN must be the correct ARN for a map, place, or route ARN. You may include wildcards in the resource-id to match multiple resources of the same type. The resources must be in the same partition, region, and account-id as the key that is being created. Other than wildcards, you must include the full ARN, including the arn, partition, service, region, account-id and resource-id delimited by colons (:). No spaces allowed, even with wildcards. For example, arn:aws:geo:region:account-id:map/ExampleMap*. For more information about ARN format, see Amazon Resource Names (ARNs).
*)allowReferers : ApiKeyRestrictionsAllowReferersList.t option;An optional list of allowed HTTP referers for which requests must originate from. Requests using this API key from other domains will not be allowed. Requirements: Contain only alphanumeric characters (A–Z, a–z, 0–9) or any symbols in this list $\-._+!*`(),;/?:@=& May contain a percent (%) if followed by 2 hexadecimal digits (A-F, a-f, 0-9); this is used for URL encoding purposes. May contain wildcard characters question mark (?) and asterisk (*). Question mark (?) will replace any single character (including hexadecimal digits). Asterisk (*) will replace any multiple characters (including multiple hexadecimal digits). No spaces allowed. For example, https://example.com.
*)allowAndroidApps : ApiKeyRestrictionsAllowAndroidAppsList.t option;An optional list of allowed Android applications for which requests must originate from. Requests using this API key from other sources will not be allowed.
*)allowAppleApps : ApiKeyRestrictionsAllowAppleAppsList.t option;An optional list of allowed Apple applications for which requests must originate from. Requests using this API key from other sources will not be allowed.
*)}val make :
?allowReferers:??? ->
?allowAndroidApps:??? ->
?allowAppleApps:??? ->
allowActions:ApiKeyRestrictionsAllowActionsList.t ->
allowResources:ApiKeyRestrictionsAllowResourcesList.t ->
unit ->
tval to_value :
t ->
[> `Structure of
(string
* [> `List of
[> `String of ApiKeyAction.t
| `Structure of
(string * [> `String of AndroidPackageName.t ]) list ]
list ])
list ]