Class ApiKey
- java.lang.Object
-
- software.amazon.awssdk.services.appsync.model.ApiKey
-
- All Implemented Interfaces:
Serializable,SdkPojo,ToCopyableBuilder<ApiKey.Builder,ApiKey>
@Generated("software.amazon.awssdk:codegen") public final class ApiKey extends Object implements SdkPojo, Serializable, ToCopyableBuilder<ApiKey.Builder,ApiKey>
Describes an API key.
Customers invoke AppSync GraphQL API operations with API keys as an identity mechanism. There are two key versions:
da1: We introduced this version at launch in November 2017. These keys always expire after 7 days. Amazon DynamoDB TTL manages key expiration. These keys ceased to be valid after February 21, 2018, and they should no longer be used.
-
ListApiKeysreturns the expiration time in milliseconds. -
CreateApiKeyreturns the expiration time in milliseconds. -
UpdateApiKeyis not available for this key version. -
DeleteApiKeydeletes the item from the table. -
Expiration is stored in 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 deleted these keys from the table on February 21, 2018.
da2: We introduced this version in February 2018 when AppSync added support to extend key expiration.
-
ListApiKeysreturns the expiration time and deletion time in seconds. -
CreateApiKeyreturns the expiration time and deletion time in seconds and accepts a user-provided expiration time in seconds. -
UpdateApiKeyreturns 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. You can update the key expiration time as long as the key isn't deleted. -
DeleteApiKeydeletes the item from the table. -
Expiration is stored in DynamoDB as seconds. After the expiration time, using the key to authenticate will fail. However, you can reinstate the key before deletion.
-
Deletion is stored in DynamoDB as seconds. The key is deleted after deletion time.
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceApiKey.Builder
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static ApiKey.Builderbuilder()Longdeletes()The time after which the API key is deleted.Stringdescription()A description of the purpose of the API key.booleanequals(Object obj)booleanequalsBySdkFields(Object obj)Longexpires()The time after which the API key expires.<T> Optional<T>getValueForField(String fieldName, Class<T> clazz)inthashCode()Stringid()The API key ID.List<SdkField<?>>sdkFields()static Class<? extends ApiKey.Builder>serializableBuilderClass()ApiKey.BuildertoBuilder()StringtoString()Returns a string representation of this object.-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder
copy
-
-
-
-
Method Detail
-
id
public final String id()
The API key ID.
- Returns:
- The API key ID.
-
description
public final String description()
A description of the purpose of the API key.
- Returns:
- A description of the purpose of the API key.
-
expires
public final Long expires()
The time after which the API key expires. The date is represented as seconds since the epoch, rounded down to the nearest hour.
- Returns:
- The time after which the API key expires. The date is represented as seconds since the epoch, rounded down to the nearest hour.
-
deletes
public final Long 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.
- Returns:
- The time after which the API key is deleted. The date is represented as seconds since the epoch, rounded down to the nearest hour.
-
toBuilder
public ApiKey.Builder toBuilder()
- Specified by:
toBuilderin interfaceToCopyableBuilder<ApiKey.Builder,ApiKey>
-
builder
public static ApiKey.Builder builder()
-
serializableBuilderClass
public static Class<? extends ApiKey.Builder> serializableBuilderClass()
-
equalsBySdkFields
public final boolean equalsBySdkFields(Object obj)
- Specified by:
equalsBySdkFieldsin interfaceSdkPojo
-
toString
public final String toString()
Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
-
-