create_key

LocationService.Client.create_key(**kwargs)

Creates an API key resource in your Amazon Web Services account, which lets you grant geo:GetMap* actions for Amazon Location Map resources to the API key bearer.

Warning

The API keys feature is in preview. We may add, change, or remove features before announcing general availability. For more information, see Using API keys.

See also: AWS API Documentation

Request Syntax

response = client.create_key(
    Description='string',
    ExpireTime=datetime(2015, 1, 1),
    KeyName='string',
    NoExpiry=True|False,
    Restrictions={
        'AllowActions': [
            'string',
        ],
        'AllowReferers': [
            'string',
        ],
        'AllowResources': [
            'string',
        ]
    },
    Tags={
        'string': 'string'
    }
)
Parameters
  • Description (string) -- An optional description for the API key resource.
  • ExpireTime (datetime) -- The optional timestamp for when the API key resource will expire in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ . One of NoExpiry or ExpireTime must be set.
  • KeyName (string) --

    [REQUIRED]

    A custom name for the API key resource.

    Requirements:

    • Contain only alphanumeric characters (A–Z, a–z, 0–9), hyphens (-), periods (.), and underscores (_).
    • Must be a unique API key name.
    • No spaces allowed. For example, ExampleAPIKey .
  • NoExpiry (boolean) -- Optionally set to true to set no expiration time for the API key. One of NoExpiry or ExpireTime must be set.
  • Restrictions (dict) --

    [REQUIRED]

    The API key restrictions for the API key resource.

    • AllowActions (list) -- [REQUIRED]

      A list of allowed actions that an API key resource grants permissions to perform

      Note

      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.

      • (string) --
    • AllowReferers (list) --

      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 .
      • (string) --
    • AllowResources (list) -- [REQUIRED]

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

      Note

      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* .
      • (string) --
  • Tags (dict) --

    Applies one or more tags to the map resource. A tag is a key-value pair that helps manage, identify, search, and filter your resources by labelling them.

    Format: "key" : "value"

    Restrictions:

    • Maximum 50 tags per resource
    • Each resource tag must be unique with a maximum of one value.
    • Maximum key length: 128 Unicode characters in UTF-8
    • Maximum value length: 256 Unicode characters in UTF-8
    • Can use alphanumeric characters (A–Z, a–z, 0–9), and the following characters: + - = . _ : / @.
    • Cannot use "aws:" as a prefix for a key.
    • (string) --
      • (string) --
Return type

dict

Returns

Response Syntax

{
    'CreateTime': datetime(2015, 1, 1),
    'Key': 'string',
    'KeyArn': 'string',
    'KeyName': 'string'
}

Response Structure

  • (dict) --

    • CreateTime (datetime) --

      The timestamp for when the API key resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ .

    • Key (string) --

      The key value/string of an API key. This value is used when making API calls to authorize the call. For example, see GetMapGlyphs.

    • KeyArn (string) --

      The Amazon Resource Name (ARN) for the API key resource. Used when you need to specify a resource across all Amazon Web Services.

      • Format example: arn:aws:geo:region:account-id:key/ExampleKey
    • KeyName (string) --

      The name of the API key resource.

Exceptions

  • LocationService.Client.exceptions.InternalServerException
  • LocationService.Client.exceptions.ConflictException
  • LocationService.Client.exceptions.AccessDeniedException
  • LocationService.Client.exceptions.ValidationException
  • LocationService.Client.exceptions.ServiceQuotaExceededException
  • LocationService.Client.exceptions.ThrottlingException