/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the location-2020-11-19.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.LocationService.Model { /// /// API Restrictions on the allowed actions, resources, and referers for an API key resource. /// public partial class ApiKeyRestrictions { private List _allowActions = new List(); private List _allowReferers = new List(); private List _allowResources = new List(); /// /// Gets and sets the property 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. /// /// ///
[AWSProperty(Required=true, Min=1, Max=7)] public List AllowActions { get { return this._allowActions; } set { this._allowActions = value; } } // Check to see if AllowActions property is set internal bool IsSetAllowActions() { return this._allowActions != null && this._allowActions.Count > 0; } /// /// Gets and sets the property 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. /// ///
///
[AWSProperty(Min=1, Max=5)] public List AllowReferers { get { return this._allowReferers; } set { this._allowReferers = value; } } // Check to see if AllowReferers property is set internal bool IsSetAllowReferers() { return this._allowReferers != null && this._allowReferers.Count > 0; } /// /// Gets and sets the property 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). /// ///
[AWSProperty(Required=true, Min=1, Max=5)] public List AllowResources { get { return this._allowResources; } set { this._allowResources = value; } } // Check to see if AllowResources property is set internal bool IsSetAllowResources() { return this._allowResources != null && this._allowResources.Count > 0; } } }