Class CfnAPIKey.ApiKeyRestrictionsProperty.Builder

java.lang.Object
software.amazon.awscdk.services.location.CfnAPIKey.ApiKeyRestrictionsProperty.Builder
All Implemented Interfaces:
software.amazon.jsii.Builder<CfnAPIKey.ApiKeyRestrictionsProperty>
Enclosing interface:
CfnAPIKey.ApiKeyRestrictionsProperty

@Stability(Stable) public static final class CfnAPIKey.ApiKeyRestrictionsProperty.Builder extends Object implements software.amazon.jsii.Builder<CfnAPIKey.ApiKeyRestrictionsProperty>
  • Constructor Details

    • Builder

      public Builder()
  • Method Details

    • allowActions

      @Stability(Stable) public CfnAPIKey.ApiKeyRestrictionsProperty.Builder allowActions(List<String> allowActions)
      Parameters:
      allowActions - A list of allowed actions that an API key resource grants permissions to perform. This parameter is required. 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.
      • Place actions
      • geo:SearchPlaceIndexForText - Allows geocoding.
      • geo:SearchPlaceIndexForPosition - Allows reverse geocoding.
      • geo:SearchPlaceIndexForSuggestions - Allows generating suggestions from text.
      • geo:GetPlace - Allows finding a place by place ID.
      • Route actions
      • geo:CalculateRoute - Allows point to point routing.
      • geo:CalculateRouteMatrix - Allows calculating a matrix of routes.

      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.

      Returns:
      this
    • allowResources

      @Stability(Stable) public CfnAPIKey.ApiKeyRestrictionsProperty.Builder allowResources(List<String> allowResources)
      Parameters:
      allowResources - A list of allowed resource ARNs that a API key bearer can perform actions on. This parameter is required.
      • 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) .

      Returns:
      this
    • allowReferers

      @Stability(Stable) public CfnAPIKey.ApiKeyRestrictionsProperty.Builder allowReferers(List<String> allowReferers)
      Parameters:
      allowReferers - 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 .
      Returns:
      this
    • build

      @Stability(Stable) public CfnAPIKey.ApiKeyRestrictionsProperty build()
      Builds the configured instance.
      Specified by:
      build in interface software.amazon.jsii.Builder<CfnAPIKey.ApiKeyRestrictionsProperty>
      Returns:
      a new instance of CfnAPIKey.ApiKeyRestrictionsProperty
      Throws:
      NullPointerException - if any required attribute was not provided