libZSservicesZSamazonka-appsyncZSamazonka-appsync
Copyright(c) 2013-2021 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay <brendan.g.hay+amazonka@gmail.com>
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellNone

Amazonka.AppSync.Types.ApiKey

Description

 
Synopsis

Documentation

data ApiKey Source #

Describes an API key.

Customers invoke AppSync GraphQL API operations with API keys as an identity mechanism. There are two key versions:

da1: This version was introduced at launch in November 2017. These keys always expire after 7 days. Key expiration is managed by Amazon DynamoDB TTL. The keys ceased to be valid after February 21, 2018 and should not be used after that date.

  • ListApiKeys returns the expiration time in milliseconds.
  • CreateApiKey returns the expiration time in milliseconds.
  • UpdateApiKey is not available for this key version.
  • DeleteApiKey deletes the item from the table.
  • Expiration is stored in Amazon DynamoDB as milliseconds. This results in a bug where keys are not automatically deleted because DynamoDB expects the TTL to be stored in seconds. As a one-time action, we will delete these keys from the table after February 21, 2018.

da2: This version was introduced in February 2018 when AppSync added support to extend key expiration.

  • ListApiKeys returns the expiration time and deletion time in seconds.
  • CreateApiKey returns the expiration time and deletion time in seconds and accepts a user-provided expiration time in seconds.
  • UpdateApiKey returns the expiration time and and deletion time in seconds and accepts a user-provided expiration time in seconds. Expired API keys are kept for 60 days after the expiration time. Key expiration time can be updated while the key is not deleted.
  • DeleteApiKey deletes the item from the table.
  • Expiration is stored in Amazon DynamoDB as seconds. After the expiration time, using the key to authenticate will fail. But the key can be reinstated before deletion.
  • Deletion is stored in Amazon DynamoDB as seconds. The key will be deleted after deletion time.

See: newApiKey smart constructor.

Constructors

ApiKey' 

Fields

  • expires :: Maybe Integer

    The time after which the API key expires. The date is represented as seconds since the epoch, rounded down to the nearest hour.

  • deletes :: Maybe Integer

    The time after which the API key is deleted. The date is represented as seconds since the epoch, rounded down to the nearest hour.

  • id :: Maybe Text

    The API key ID.

  • description :: Maybe Text

    A description of the purpose of the API key.

Instances

Instances details
Eq ApiKey Source # 
Instance details

Defined in Amazonka.AppSync.Types.ApiKey

Methods

(==) :: ApiKey -> ApiKey -> Bool #

(/=) :: ApiKey -> ApiKey -> Bool #

Read ApiKey Source # 
Instance details

Defined in Amazonka.AppSync.Types.ApiKey

Show ApiKey Source # 
Instance details

Defined in Amazonka.AppSync.Types.ApiKey

Generic ApiKey Source # 
Instance details

Defined in Amazonka.AppSync.Types.ApiKey

Associated Types

type Rep ApiKey :: Type -> Type #

Methods

from :: ApiKey -> Rep ApiKey x #

to :: Rep ApiKey x -> ApiKey #

NFData ApiKey Source # 
Instance details

Defined in Amazonka.AppSync.Types.ApiKey

Methods

rnf :: ApiKey -> () #

Hashable ApiKey Source # 
Instance details

Defined in Amazonka.AppSync.Types.ApiKey

Methods

hashWithSalt :: Int -> ApiKey -> Int #

hash :: ApiKey -> Int #

FromJSON ApiKey Source # 
Instance details

Defined in Amazonka.AppSync.Types.ApiKey

type Rep ApiKey Source # 
Instance details

Defined in Amazonka.AppSync.Types.ApiKey

type Rep ApiKey = D1 ('MetaData "ApiKey" "Amazonka.AppSync.Types.ApiKey" "libZSservicesZSamazonka-appsyncZSamazonka-appsync" 'False) (C1 ('MetaCons "ApiKey'" 'PrefixI 'True) ((S1 ('MetaSel ('Just "expires") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Integer)) :*: S1 ('MetaSel ('Just "deletes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Integer))) :*: (S1 ('MetaSel ('Just "id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "description") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)))))

newApiKey :: ApiKey Source #

Create a value of ApiKey with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:expires:ApiKey', apiKey_expires - The time after which the API key expires. The date is represented as seconds since the epoch, rounded down to the nearest hour.

$sel:deletes:ApiKey', apiKey_deletes - The time after which the API key is deleted. The date is represented as seconds since the epoch, rounded down to the nearest hour.

$sel:id:ApiKey', apiKey_id - The API key ID.

$sel:description:ApiKey', apiKey_description - A description of the purpose of the API key.

apiKey_expires :: Lens' ApiKey (Maybe Integer) Source #

The time after which the API key expires. The date is represented as seconds since the epoch, rounded down to the nearest hour.

apiKey_deletes :: Lens' ApiKey (Maybe Integer) Source #

The time after which the API key is deleted. The date is represented as seconds since the epoch, rounded down to the nearest hour.

apiKey_id :: Lens' ApiKey (Maybe Text) Source #

The API key ID.

apiKey_description :: Lens' ApiKey (Maybe Text) Source #

A description of the purpose of the API key.