/* * Copyright 2010-2023 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. */ package com.amazonaws.services.geo.model; import java.io.Serializable; /** *
* API Restrictions on the allowed actions, resources, and referers for an API * key resource. *
*/ public class ApiKeyRestrictions implements Serializable { /** ** A list of allowed actions that an API key resource grants permissions to * perform *
*
* Currently, the only valid action is geo:GetMap*
as an input
* to the list. For example, ["geo:GetMap*"]
is valid but
* ["geo:GetMapTile"]
is not.
*
* 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
.
*
* A list of allowed resource ARNs that a API key bearer can perform actions * on *
** For more information about ARN format, see Amazon Resource Names (ARNs). *
** In this preview, you can allow only map resources. *
** Requirements: *
*
* Must be prefixed with arn
.
*
* partition
and service
must not be empty and
* should begin with only alphanumeric characters (A–Z, a–z, 0–9) and
* contain only alphanumeric numbers, hyphens (-) and periods (.).
*
* region
and account-id
can be empty or should
* begin with only alphanumeric characters (A–Z, a–z, 0–9) and contain only
* alphanumeric numbers, hyphens (-) and periods (.).
*
* resource-id
can begin with any character except for forward
* slash (/) and contain any characters after, including forward slashes to
* form a path.
*
* resource-id
can also include wildcard characters, denoted by
* an asterisk (*).
*
* arn
, partition
, service
,
* region
, account-id
and resource-id
* must be delimited by a colon (:).
*
* No spaces allowed. For example,
* arn:aws:geo:region:account-id:map/ExampleMap*
.
*
* A list of allowed actions that an API key resource grants permissions to * perform *
*
* Currently, the only valid action is geo:GetMap*
as an input
* to the list. For example, ["geo:GetMap*"]
is valid but
* ["geo:GetMapTile"]
is not.
*
* A list of allowed actions that an API key resource grants * permissions to perform *
*
* Currently, the only valid action is geo:GetMap*
as
* an input to the list. For example, ["geo:GetMap*"]
* is valid but ["geo:GetMapTile"]
is not.
*
* A list of allowed actions that an API key resource grants permissions to * perform *
*
* Currently, the only valid action is geo:GetMap*
as an input
* to the list. For example, ["geo:GetMap*"]
is valid but
* ["geo:GetMapTile"]
is not.
*
* A list of allowed actions that an API key resource grants * permissions to perform *
*
* Currently, the only valid action is geo:GetMap*
* as an input to the list. For example,
* ["geo:GetMap*"]
is valid but
* ["geo:GetMapTile"]
is not.
*
* A list of allowed actions that an API key resource grants permissions to * perform *
*
* Currently, the only valid action is geo:GetMap*
as an input
* to the list. For example, ["geo:GetMap*"]
is valid but
* ["geo:GetMapTile"]
is not.
*
* Returns a reference to this object so that method calls can be chained * together. * * @param allowActions
* A list of allowed actions that an API key resource grants * permissions to perform *
*
* Currently, the only valid action is geo:GetMap*
* as an input to the list. For example,
* ["geo:GetMap*"]
is valid but
* ["geo:GetMapTile"]
is not.
*
* A list of allowed actions that an API key resource grants permissions to * perform *
*
* Currently, the only valid action is geo:GetMap*
as an input
* to the list. For example, ["geo:GetMap*"]
is valid but
* ["geo:GetMapTile"]
is not.
*
* Returns a reference to this object so that method calls can be chained * together. * * @param allowActions
* A list of allowed actions that an API key resource grants * permissions to perform *
*
* Currently, the only valid action is geo:GetMap*
* as an input to the list. For example,
* ["geo:GetMap*"]
is valid but
* ["geo:GetMapTile"]
is not.
*
* 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
.
*
* 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
.
*
* 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
.
*
* 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
.
*
* 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 a reference to this object so that method calls can be chained * together. * * @param 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
.
*
* 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 a reference to this object so that method calls can be chained * together. * * @param 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
.
*
* A list of allowed resource ARNs that a API key bearer can perform actions * on *
** For more information about ARN format, see Amazon Resource Names (ARNs). *
** In this preview, you can allow only map resources. *
** Requirements: *
*
* Must be prefixed with arn
.
*
* partition
and service
must not be empty and
* should begin with only alphanumeric characters (A–Z, a–z, 0–9) and
* contain only alphanumeric numbers, hyphens (-) and periods (.).
*
* region
and account-id
can be empty or should
* begin with only alphanumeric characters (A–Z, a–z, 0–9) and contain only
* alphanumeric numbers, hyphens (-) and periods (.).
*
* resource-id
can begin with any character except for forward
* slash (/) and contain any characters after, including forward slashes to
* form a path.
*
* resource-id
can also include wildcard characters, denoted by
* an asterisk (*).
*
* arn
, partition
, service
,
* region
, account-id
and resource-id
* must be delimited by a colon (:).
*
* No spaces allowed. For example,
* arn:aws:geo:region:account-id:map/ExampleMap*
.
*
* A list of allowed resource ARNs that a API key bearer can perform * actions on *
** For more information about ARN format, see Amazon Resource Names (ARNs). *
** In this preview, you can allow only map resources. *
** Requirements: *
*
* Must be prefixed with arn
.
*
* partition
and service
must not be empty
* and should begin with only alphanumeric characters (A–Z, a–z,
* 0–9) and contain only alphanumeric numbers, hyphens (-) and
* periods (.).
*
* region
and account-id
can be empty or
* should begin with only alphanumeric characters (A–Z, a–z, 0–9)
* and contain only alphanumeric numbers, hyphens (-) and periods
* (.).
*
* resource-id
can begin with any character except for
* forward slash (/) and contain any characters after, including
* forward slashes to form a path.
*
* resource-id
can also include wildcard characters,
* denoted by an asterisk (*).
*
* arn
, partition
, service
,
* region
, account-id
and
* resource-id
must be delimited by a colon (:).
*
* No spaces allowed. For example,
* arn:aws:geo:region:account-id:map/ExampleMap*
* .
*
* A list of allowed resource ARNs that a API key bearer can perform actions * on *
** For more information about ARN format, see Amazon Resource Names (ARNs). *
** In this preview, you can allow only map resources. *
** Requirements: *
*
* Must be prefixed with arn
.
*
* partition
and service
must not be empty and
* should begin with only alphanumeric characters (A–Z, a–z, 0–9) and
* contain only alphanumeric numbers, hyphens (-) and periods (.).
*
* region
and account-id
can be empty or should
* begin with only alphanumeric characters (A–Z, a–z, 0–9) and contain only
* alphanumeric numbers, hyphens (-) and periods (.).
*
* resource-id
can begin with any character except for forward
* slash (/) and contain any characters after, including forward slashes to
* form a path.
*
* resource-id
can also include wildcard characters, denoted by
* an asterisk (*).
*
* arn
, partition
, service
,
* region
, account-id
and resource-id
* must be delimited by a colon (:).
*
* No spaces allowed. For example,
* arn:aws:geo:region:account-id:map/ExampleMap*
.
*
* A list of allowed resource ARNs that a API key bearer can * perform actions on *
** For more information about ARN format, see Amazon Resource Names (ARNs). *
** In this preview, you can allow only map resources. *
** Requirements: *
*
* Must be prefixed with arn
.
*
* partition
and service
must not be
* empty and should begin with only alphanumeric characters (A–Z,
* a–z, 0–9) and contain only alphanumeric numbers, hyphens (-)
* and periods (.).
*
* region
and account-id
can be empty
* or should begin with only alphanumeric characters (A–Z, a–z,
* 0–9) and contain only alphanumeric numbers, hyphens (-) and
* periods (.).
*
* resource-id
can begin with any character except
* for forward slash (/) and contain any characters after,
* including forward slashes to form a path.
*
* resource-id
can also include wildcard characters,
* denoted by an asterisk (*).
*
* arn
, partition
, service
, region
, account-id
and
* resource-id
must be delimited by a colon (:).
*
* No spaces allowed. For example,
* arn:aws:geo:region:account-id:map/ExampleMap*
* .
*
* A list of allowed resource ARNs that a API key bearer can perform actions * on *
** For more information about ARN format, see Amazon Resource Names (ARNs). *
** In this preview, you can allow only map resources. *
** Requirements: *
*
* Must be prefixed with arn
.
*
* partition
and service
must not be empty and
* should begin with only alphanumeric characters (A–Z, a–z, 0–9) and
* contain only alphanumeric numbers, hyphens (-) and periods (.).
*
* region
and account-id
can be empty or should
* begin with only alphanumeric characters (A–Z, a–z, 0–9) and contain only
* alphanumeric numbers, hyphens (-) and periods (.).
*
* resource-id
can begin with any character except for forward
* slash (/) and contain any characters after, including forward slashes to
* form a path.
*
* resource-id
can also include wildcard characters, denoted by
* an asterisk (*).
*
* arn
, partition
, service
,
* region
, account-id
and resource-id
* must be delimited by a colon (:).
*
* No spaces allowed. For example,
* arn:aws:geo:region:account-id:map/ExampleMap*
.
*
* Returns a reference to this object so that method calls can be chained * together. * * @param allowResources
* A list of allowed resource ARNs that a API key bearer can * perform actions on *
** For more information about ARN format, see Amazon Resource Names (ARNs). *
** In this preview, you can allow only map resources. *
** Requirements: *
*
* Must be prefixed with arn
.
*
* partition
and service
must not be
* empty and should begin with only alphanumeric characters (A–Z,
* a–z, 0–9) and contain only alphanumeric numbers, hyphens (-)
* and periods (.).
*
* region
and account-id
can be empty
* or should begin with only alphanumeric characters (A–Z, a–z,
* 0–9) and contain only alphanumeric numbers, hyphens (-) and
* periods (.).
*
* resource-id
can begin with any character except
* for forward slash (/) and contain any characters after,
* including forward slashes to form a path.
*
* resource-id
can also include wildcard characters,
* denoted by an asterisk (*).
*
* arn
, partition
, service
, region
, account-id
and
* resource-id
must be delimited by a colon (:).
*
* No spaces allowed. For example,
* arn:aws:geo:region:account-id:map/ExampleMap*
* .
*
* A list of allowed resource ARNs that a API key bearer can perform actions * on *
** For more information about ARN format, see Amazon Resource Names (ARNs). *
** In this preview, you can allow only map resources. *
** Requirements: *
*
* Must be prefixed with arn
.
*
* partition
and service
must not be empty and
* should begin with only alphanumeric characters (A–Z, a–z, 0–9) and
* contain only alphanumeric numbers, hyphens (-) and periods (.).
*
* region
and account-id
can be empty or should
* begin with only alphanumeric characters (A–Z, a–z, 0–9) and contain only
* alphanumeric numbers, hyphens (-) and periods (.).
*
* resource-id
can begin with any character except for forward
* slash (/) and contain any characters after, including forward slashes to
* form a path.
*
* resource-id
can also include wildcard characters, denoted by
* an asterisk (*).
*
* arn
, partition
, service
,
* region
, account-id
and resource-id
* must be delimited by a colon (:).
*
* No spaces allowed. For example,
* arn:aws:geo:region:account-id:map/ExampleMap*
.
*
* Returns a reference to this object so that method calls can be chained * together. * * @param allowResources
* A list of allowed resource ARNs that a API key bearer can * perform actions on *
** For more information about ARN format, see Amazon Resource Names (ARNs). *
** In this preview, you can allow only map resources. *
** Requirements: *
*
* Must be prefixed with arn
.
*
* partition
and service
must not be
* empty and should begin with only alphanumeric characters (A–Z,
* a–z, 0–9) and contain only alphanumeric numbers, hyphens (-)
* and periods (.).
*
* region
and account-id
can be empty
* or should begin with only alphanumeric characters (A–Z, a–z,
* 0–9) and contain only alphanumeric numbers, hyphens (-) and
* periods (.).
*
* resource-id
can begin with any character except
* for forward slash (/) and contain any characters after,
* including forward slashes to form a path.
*
* resource-id
can also include wildcard characters,
* denoted by an asterisk (*).
*
* arn
, partition
, service
, region
, account-id
and
* resource-id
must be delimited by a colon (:).
*
* No spaces allowed. For example,
* arn:aws:geo:region:account-id:map/ExampleMap*
* .
*