Class: AWSCDK::Location::CfnAPIKey::APIKeyRestrictionsProperty
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::Location::CfnAPIKey::APIKeyRestrictionsProperty
- Defined in:
- location/cfn_api_key.rb
Overview
API Restrictions on the allowed actions, resources, and referers for an API key resource.
Instance Attribute Summary collapse
-
#allow_actions ⇒ Array<String>
readonly
A list of allowed actions that an API key resource grants permissions to perform.
- #allow_android_apps ⇒ AWSCDK::IResolvable, ... readonly
- #allow_apple_apps ⇒ AWSCDK::IResolvable, ... readonly
-
#allow_referers ⇒ Array<String>?
readonly
An optional list of allowed HTTP referers for which requests must originate from.
-
#allow_resources ⇒ Array<String>
readonly
A list of allowed resource ARNs that a API key bearer can perform actions on.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(allow_actions:, allow_resources:, allow_android_apps: nil, allow_apple_apps: nil, allow_referers: nil) ⇒ APIKeyRestrictionsProperty
constructor
A new instance of APIKeyRestrictionsProperty.
- #to_jsii ⇒ Object
Constructor Details
#initialize(allow_actions:, allow_resources:, allow_android_apps: nil, allow_apple_apps: nil, allow_referers: nil) ⇒ APIKeyRestrictionsProperty
Returns a new instance of APIKeyRestrictionsProperty.
704 705 706 707 708 709 710 711 712 713 714 715 |
# File 'location/cfn_api_key.rb', line 704 def initialize(allow_actions:, allow_resources:, allow_android_apps: nil, allow_apple_apps: nil, allow_referers: nil) @allow_actions = allow_actions Jsii::Type.check_type(@allow_actions, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "allowActions") @allow_resources = allow_resources Jsii::Type.check_type(@allow_resources, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "allowResources") @allow_android_apps = allow_android_apps Jsii::Type.check_type(@allow_android_apps, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbG9jYXRpb24uQ2ZuQVBJS2V5LkFuZHJvaWRBcHBQcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "allowAndroidApps") unless @allow_android_apps.nil? @allow_apple_apps = allow_apple_apps Jsii::Type.check_type(@allow_apple_apps, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbG9jYXRpb24uQ2ZuQVBJS2V5LkFwcGxlQXBwUHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "allowAppleApps") unless @allow_apple_apps.nil? @allow_referers = allow_referers Jsii::Type.check_type(@allow_referers, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "allowReferers") unless @allow_referers.nil? end |
Instance Attribute Details
#allow_actions ⇒ Array<String> (readonly)
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.- Enhanced Maps actions
geo-maps:GetTile- Allows getting map tiles for rendering.geo-maps:GetStaticMap- Allows getting static map images.- Place actions
geo:SearchPlaceIndexForText- Allows finding geo coordinates of a known place.geo:SearchPlaceIndexForPosition- Allows getting nearest address to geo coordinates.geo:SearchPlaceIndexForSuggestions- Allows suggestions based on an incomplete or misspelled query.geo:GetPlace- Allows getting details of a place.- Enhanced Places actions
geo-places:Autcomplete- Allows auto-completion of search text.geo-places:Geocode- Allows finding geo coordinates of a known place.geo-places:GetPlace- Allows getting details of a place.geo-places:ReverseGeocode- Allows getting nearest address to geo coordinates.geo-places:SearchNearby- Allows category based places search around geo coordinates.geo-places:SearchText- Allows place or address search based on free-form text.geo-places:Suggest- Allows suggestions based on an incomplete or misspelled query.- Route actions
geo:CalculateRoute- Allows point to point routing.geo:CalculateRouteMatrix- Allows matrix routing.- Enhanced Routes actions
geo-routes:CalculateIsolines- Allows isoline calculation.geo-routes:CalculateRoutes- Allows point to point routing.geo-routes:CalculateRouteMatrix- Allows matrix routing.geo-routes:OptimizeWaypoints- Allows computing the best sequence of waypoints.geo-routes:SnapToRoads- Allows snapping GPS points to a likely route.
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:GetTile"]is not. Similarly, you cannot use["geo:SearchPlaceIndexFor*"]- you must list each of the Place actions separately.
755 756 757 |
# File 'location/cfn_api_key.rb', line 755 def allow_actions @allow_actions end |
#allow_android_apps ⇒ AWSCDK::IResolvable, ... (readonly)
770 771 772 |
# File 'location/cfn_api_key.rb', line 770 def allow_android_apps @allow_android_apps end |
#allow_apple_apps ⇒ AWSCDK::IResolvable, ... (readonly)
773 774 775 |
# File 'location/cfn_api_key.rb', line 773 def allow_apple_apps @allow_apple_apps end |
#allow_referers ⇒ Array<String>? (readonly)
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.
792 793 794 |
# File 'location/cfn_api_key.rb', line 792 def allow_referers @allow_referers end |
#allow_resources ⇒ Array<String> (readonly)
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, andaccount-idas the key that is being created. - Other than wildcards, you must include the full ARN, including the
arn,partition,service,region,account-idandresource-iddelimited 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) .
767 768 769 |
# File 'location/cfn_api_key.rb', line 767 def allow_resources @allow_resources end |
Class Method Details
.jsii_properties ⇒ Object
794 795 796 797 798 799 800 801 802 |
# File 'location/cfn_api_key.rb', line 794 def self.jsii_properties { :allow_actions => "allowActions", :allow_resources => "allowResources", :allow_android_apps => "allowAndroidApps", :allow_apple_apps => "allowAppleApps", :allow_referers => "allowReferers", } end |
Instance Method Details
#to_jsii ⇒ Object
804 805 806 807 808 809 810 811 812 813 814 |
# File 'location/cfn_api_key.rb', line 804 def to_jsii result = {} result.merge!({ "allowActions" => @allow_actions, "allowResources" => @allow_resources, "allowAndroidApps" => @allow_android_apps, "allowAppleApps" => @allow_apple_apps, "allowReferers" => @allow_referers, }) result.compact end |