/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace LocationService { namespace Model { /** *

API Restrictions on the allowed actions, resources, and referers for an API * key resource.

See Also:

AWS * API Reference

*/ class ApiKeyRestrictions { public: AWS_LOCATIONSERVICE_API ApiKeyRestrictions(); AWS_LOCATIONSERVICE_API ApiKeyRestrictions(Aws::Utils::Json::JsonView jsonValue); AWS_LOCATIONSERVICE_API ApiKeyRestrictions& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_LOCATIONSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

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.

  • 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.

  • 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.

*/ inline const Aws::Vector& GetAllowActions() const{ return m_allowActions; } /** *

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.

  • 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.

  • 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.

*/ inline bool AllowActionsHasBeenSet() const { return m_allowActionsHasBeenSet; } /** *

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.

  • 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.

  • 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.

*/ inline void SetAllowActions(const Aws::Vector& value) { m_allowActionsHasBeenSet = true; m_allowActions = value; } /** *

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.

  • 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.

  • 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.

*/ inline void SetAllowActions(Aws::Vector&& value) { m_allowActionsHasBeenSet = true; m_allowActions = std::move(value); } /** *

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.

  • 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.

  • 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.

*/ inline ApiKeyRestrictions& WithAllowActions(const Aws::Vector& value) { SetAllowActions(value); return *this;} /** *

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.

  • 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.

  • 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.

*/ inline ApiKeyRestrictions& WithAllowActions(Aws::Vector&& value) { SetAllowActions(std::move(value)); return *this;} /** *

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.

  • 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.

  • 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.

*/ inline ApiKeyRestrictions& AddAllowActions(const Aws::String& value) { m_allowActionsHasBeenSet = true; m_allowActions.push_back(value); return *this; } /** *

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.

  • 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.

  • 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.

*/ inline ApiKeyRestrictions& AddAllowActions(Aws::String&& value) { m_allowActionsHasBeenSet = true; m_allowActions.push_back(std::move(value)); return *this; } /** *

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.

  • 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.

  • 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.

*/ inline ApiKeyRestrictions& AddAllowActions(const char* value) { m_allowActionsHasBeenSet = true; m_allowActions.push_back(value); return *this; } /** *

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.

*/ inline const Aws::Vector& GetAllowReferers() const{ return m_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.

*/ inline bool AllowReferersHasBeenSet() const { return m_allowReferersHasBeenSet; } /** *

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.

*/ inline void SetAllowReferers(const Aws::Vector& value) { m_allowReferersHasBeenSet = true; m_allowReferers = value; } /** *

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.

*/ inline void SetAllowReferers(Aws::Vector&& value) { m_allowReferersHasBeenSet = true; m_allowReferers = std::move(value); } /** *

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.

*/ inline ApiKeyRestrictions& WithAllowReferers(const Aws::Vector& value) { SetAllowReferers(value); return *this;} /** *

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.

*/ inline ApiKeyRestrictions& WithAllowReferers(Aws::Vector&& value) { SetAllowReferers(std::move(value)); return *this;} /** *

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.

*/ inline ApiKeyRestrictions& AddAllowReferers(const Aws::String& value) { m_allowReferersHasBeenSet = true; m_allowReferers.push_back(value); return *this; } /** *

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.

*/ inline ApiKeyRestrictions& AddAllowReferers(Aws::String&& value) { m_allowReferersHasBeenSet = true; m_allowReferers.push_back(std::move(value)); return *this; } /** *

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.

*/ inline ApiKeyRestrictions& AddAllowReferers(const char* value) { m_allowReferersHasBeenSet = true; m_allowReferers.push_back(value); return *this; } /** *

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).

*/ inline const Aws::Vector& GetAllowResources() const{ return m_allowResources; } /** *

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).

*/ inline bool AllowResourcesHasBeenSet() const { return m_allowResourcesHasBeenSet; } /** *

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).

*/ inline void SetAllowResources(const Aws::Vector& value) { m_allowResourcesHasBeenSet = true; m_allowResources = value; } /** *

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).

*/ inline void SetAllowResources(Aws::Vector&& value) { m_allowResourcesHasBeenSet = true; m_allowResources = std::move(value); } /** *

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).

*/ inline ApiKeyRestrictions& WithAllowResources(const Aws::Vector& value) { SetAllowResources(value); return *this;} /** *

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).

*/ inline ApiKeyRestrictions& WithAllowResources(Aws::Vector&& value) { SetAllowResources(std::move(value)); return *this;} /** *

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).

*/ inline ApiKeyRestrictions& AddAllowResources(const Aws::String& value) { m_allowResourcesHasBeenSet = true; m_allowResources.push_back(value); return *this; } /** *

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).

*/ inline ApiKeyRestrictions& AddAllowResources(Aws::String&& value) { m_allowResourcesHasBeenSet = true; m_allowResources.push_back(std::move(value)); return *this; } /** *

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).

*/ inline ApiKeyRestrictions& AddAllowResources(const char* value) { m_allowResourcesHasBeenSet = true; m_allowResources.push_back(value); return *this; } private: Aws::Vector m_allowActions; bool m_allowActionsHasBeenSet = false; Aws::Vector m_allowReferers; bool m_allowReferersHasBeenSet = false; Aws::Vector m_allowResources; bool m_allowResourcesHasBeenSet = false; }; } // namespace Model } // namespace LocationService } // namespace Aws